UNPKG

@lifi/composer-sdk

Version:

Public Composer SDK for building and submitting flows

41 lines 1.3 kB
import { createFlowBuilderCore } from "./authoring/FlowBuilderCore.js"; import { createComposeClient } from "./client.js"; import { bindGeneratedOps } from "./generated/operations.generated.js"; import { buildRun } from "./run/inputs.js"; const createComposeSdk = (options) => { const composeClient = createComposeClient(options); const request = (flowDoc, run) => ({ flow: flowDoc, run: buildRun({ inputs: run.inputs, preconditions: run.preconditions, signer: run.signer, assumptions: run.assumptions, referrer: run.referrer, integratorFeeBps: run.integratorFeeBps, maxPriceImpactBps: run.maxPriceImpactBps, sweepTo: run.sweepTo, simulationPolicy: run.simulationPolicy, checkOnChainAllowances: run.checkOnChainAllowances }) }); const flow = (chainId, opts) => { const core = createFlowBuilderCore(chainId, opts); const builder = Object.assign(core, bindGeneratedOps(core)); const compile = async (run) => { const flowDoc = builder.build(); const req = request(flowDoc, run); return composeClient.compile(req); }; return Object.assign(builder, { compile }); }; return { client: composeClient, flow, request }; }; export { createComposeSdk }; //# sourceMappingURL=sdk.js.map