@eco-incorp/sauce 0.99.4 → 0.99.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +105 -63
- package/actions/action-program.schema.json +1810 -0
- package/actions/dist/abis.d.ts +167 -0
- package/actions/dist/abis.d.ts.map +1 -0
- package/actions/dist/abis.js +215 -0
- package/actions/dist/compile.d.ts +15 -8
- package/actions/dist/compile.d.ts.map +1 -1
- package/actions/dist/compile.js +11 -33
- package/actions/dist/compose.d.ts +46 -0
- package/actions/dist/compose.d.ts.map +1 -0
- package/actions/dist/compose.js +118 -0
- package/actions/dist/emit.d.ts +0 -35
- package/actions/dist/emit.d.ts.map +1 -1
- package/actions/dist/emit.js +15 -46
- package/actions/dist/index.d.ts +11 -8
- package/actions/dist/index.d.ts.map +1 -1
- package/actions/dist/index.js +6 -4
- package/actions/dist/program.d.ts +23 -0
- package/actions/dist/program.d.ts.map +1 -0
- package/actions/dist/program.js +358 -0
- package/actions/dist/registry.d.ts +37 -0
- package/actions/dist/registry.d.ts.map +1 -0
- package/actions/dist/registry.js +36 -0
- package/actions/dist/schema.d.ts +6 -0
- package/actions/dist/schema.d.ts.map +1 -0
- package/actions/dist/schema.js +166 -0
- package/actions/dist/semantics.d.ts +18 -0
- package/actions/dist/semantics.d.ts.map +1 -0
- package/actions/dist/semantics.js +164 -0
- package/actions/dist/spec.d.ts +97 -0
- package/actions/dist/spec.d.ts.map +1 -0
- package/actions/dist/spec.js +323 -0
- package/actions/dist/split-swap.d.ts +35 -0
- package/actions/dist/split-swap.d.ts.map +1 -0
- package/actions/dist/split-swap.js +175 -0
- package/actions/dist/to-quote.d.ts +32 -56
- package/actions/dist/to-quote.d.ts.map +1 -1
- package/actions/dist/to-quote.js +134 -141
- package/actions/dist/to-sauce.d.ts +48 -32
- package/actions/dist/to-sauce.d.ts.map +1 -1
- package/actions/dist/to-sauce.js +691 -753
- package/actions/dist/types.d.ts +227 -335
- package/actions/dist/types.d.ts.map +1 -1
- package/actions/dist/types.js +12 -3
- package/dev-tools/README.md +9 -9
- package/dev-tools/artifacts/ISauceRouter.json +1 -1
- package/dev-tools/artifacts/Router.json +1 -1
- package/dev-tools/scripts/start-fork.sh +1 -1
- package/dev-tools/scripts/start-local.sh +5 -1
- package/dev-tools/src/svm-local.ts +23 -13
- package/docs/README.md +45 -34
- package/docs/api/README.md +37 -29
- package/docs/api/compiler.md +116 -55
- package/docs/api/coverage.md +99 -48
- package/docs/api/routes.md +51 -22
- package/docs/concepts/architecture.md +85 -116
- package/docs/concepts/saucescript.md +46 -25
- package/docs/examples/README.md +18 -10
- package/docs/examples/action-program.ts +75 -0
- package/docs/examples/cross-chain-cascade.sauce.ts +21 -0
- package/docs/examples/cross-chain-cascade.ts +43 -0
- package/docs/examples/cross-chain-intent.sauce.ts +23 -0
- package/docs/examples/cross-chain-intent.ts +49 -0
- package/docs/examples/first-intent.ts +7 -10
- package/docs/examples/protocol-approval.ts +3 -7
- package/docs/guides/actions.md +395 -0
- package/docs/guides/builders-and-actions.md +34 -37
- package/docs/guides/compiling.md +99 -98
- package/docs/guides/intents.md +273 -25
- package/docs/guides/nested-intents.md +165 -5
- package/docs/guides/protocols-and-tokens.md +36 -8
- package/docs/guides/quick-start.md +51 -22
- package/docs/guides/solana.md +38 -40
- package/docs/guides/verification.md +70 -31
- package/package.json +7 -2
- package/sdk/dist/artifacts/ISauceRouter.json +1 -1
- package/sdk/dist/artifacts/Router.json +1 -1
- package/sdk/dist/artifacts/V12Deployments.json +23 -22
- package/sdk/dist/artifacts/V12EngineGate.json +2 -2
- package/sdk/dist/artifacts/V12Kitchen.json +1 -1
- package/sdk/dist/artifacts/V12Pot.json +1 -1
- package/sdk/dist/artifacts/V12RuntimeBytecode.json +1 -1
- package/sdk/dist/artifacts/svm/engine-devnet.so +0 -0
- package/sdk/dist/artifacts/svm/engine-mainnet.so +0 -0
- package/sdk/dist/bytes.d.ts +10 -0
- package/sdk/dist/bytes.d.ts.map +1 -0
- package/sdk/dist/bytes.js +31 -0
- package/sdk/dist/bytes.js.map +1 -0
- package/sdk/dist/chains/canonical.d.ts +7 -1
- package/sdk/dist/chains/canonical.d.ts.map +1 -1
- package/sdk/dist/chains/canonical.js +6 -2
- package/sdk/dist/chains/canonical.js.map +1 -1
- package/sdk/dist/chains/index.d.ts +16 -2
- package/sdk/dist/chains/index.d.ts.map +1 -1
- package/sdk/dist/chains/index.js +51 -34
- package/sdk/dist/chains/index.js.map +1 -1
- package/sdk/dist/compact-arguments.d.ts +4 -1
- package/sdk/dist/compact-arguments.d.ts.map +1 -1
- package/sdk/dist/compact-arguments.js +25 -4
- package/sdk/dist/compact-arguments.js.map +1 -1
- package/sdk/dist/compiler.d.ts +13 -1
- package/sdk/dist/compiler.d.ts.map +1 -1
- package/sdk/dist/compiler.js +5 -6
- package/sdk/dist/compiler.js.map +1 -1
- package/sdk/dist/core/types.d.ts +18 -2
- package/sdk/dist/core/types.d.ts.map +1 -1
- package/sdk/dist/deployments/pot.d.ts +39 -0
- package/sdk/dist/deployments/pot.d.ts.map +1 -0
- package/sdk/dist/deployments/pot.js +48 -0
- package/sdk/dist/deployments/pot.js.map +1 -0
- package/sdk/dist/deployments/v12-addresses.d.ts +1 -4
- package/sdk/dist/deployments/v12-addresses.d.ts.map +1 -1
- package/sdk/dist/deployments/v12-addresses.js +7 -21
- package/sdk/dist/deployments/v12-addresses.js.map +1 -1
- package/sdk/dist/deposit/index.d.ts +5 -5
- package/sdk/dist/deposit/index.d.ts.map +1 -1
- package/sdk/dist/deposit/index.js +1 -1
- package/sdk/dist/deposit/index.js.map +1 -1
- package/sdk/dist/deposit/params.d.ts +3 -2
- package/sdk/dist/deposit/params.d.ts.map +1 -1
- package/sdk/dist/deposit/params.js +40 -3
- package/sdk/dist/deposit/params.js.map +1 -1
- package/sdk/dist/deposit/source.d.ts +0 -19
- package/sdk/dist/deposit/source.d.ts.map +1 -1
- package/sdk/dist/deposit/source.js +17 -34
- package/sdk/dist/deposit/source.js.map +1 -1
- package/sdk/dist/descriptors/accessors.d.ts +2 -2
- package/sdk/dist/descriptors/accessors.d.ts.map +1 -1
- package/sdk/dist/descriptors/accessors.js +15 -4
- package/sdk/dist/descriptors/accessors.js.map +1 -1
- package/sdk/dist/descriptors/call.d.ts +8 -13
- package/sdk/dist/descriptors/call.d.ts.map +1 -1
- package/sdk/dist/descriptors/call.js +7 -19
- package/sdk/dist/descriptors/call.js.map +1 -1
- package/sdk/dist/descriptors/derive.d.ts +1 -1
- package/sdk/dist/descriptors/derive.d.ts.map +1 -1
- package/sdk/dist/descriptors/derive.js +1 -1
- package/sdk/dist/descriptors/derive.js.map +1 -1
- package/sdk/dist/descriptors/index.d.ts +1 -1
- package/sdk/dist/descriptors/index.d.ts.map +1 -1
- package/sdk/dist/descriptors/index.js +1 -1
- package/sdk/dist/descriptors/index.js.map +1 -1
- package/sdk/dist/descriptors/links.d.ts +3 -12
- package/sdk/dist/descriptors/links.d.ts.map +1 -1
- package/sdk/dist/descriptors/links.js +2 -32
- package/sdk/dist/descriptors/links.js.map +1 -1
- package/sdk/dist/descriptors/query.d.ts +7 -3
- package/sdk/dist/descriptors/query.d.ts.map +1 -1
- package/sdk/dist/descriptors/query.js +9 -5
- package/sdk/dist/descriptors/query.js.map +1 -1
- package/sdk/dist/descriptors/registry.d.ts.map +1 -1
- package/sdk/dist/descriptors/registry.js +1 -0
- package/sdk/dist/descriptors/registry.js.map +1 -1
- package/sdk/dist/embedded/recipes.d.ts +3 -0
- package/sdk/dist/embedded/recipes.d.ts.map +1 -0
- package/sdk/dist/embedded/recipes.js +15 -0
- package/sdk/dist/embedded/recipes.js.map +1 -0
- package/sdk/dist/embedded/resolve.d.ts +27 -0
- package/sdk/dist/embedded/resolve.d.ts.map +1 -0
- package/sdk/dist/embedded/resolve.js +99 -0
- package/sdk/dist/embedded/resolve.js.map +1 -0
- package/sdk/dist/embedded/skills.generated.d.ts +3 -0
- package/sdk/dist/embedded/skills.generated.d.ts.map +1 -0
- package/sdk/dist/embedded/skills.generated.js +141 -0
- package/sdk/dist/embedded/skills.generated.js.map +1 -0
- package/sdk/dist/embedded/sources.generated.d.ts +7 -0
- package/sdk/dist/embedded/sources.generated.d.ts.map +1 -0
- package/sdk/dist/embedded/sources.generated.js +231 -0
- package/sdk/dist/embedded/sources.generated.js.map +1 -0
- package/sdk/dist/evm/execution-fee.d.ts +30 -0
- package/sdk/dist/evm/execution-fee.d.ts.map +1 -0
- package/sdk/dist/evm/execution-fee.js +33 -0
- package/sdk/dist/evm/execution-fee.js.map +1 -0
- package/sdk/dist/index.d.ts +7 -2
- package/sdk/dist/index.d.ts.map +1 -1
- package/sdk/dist/index.js +16 -10
- package/sdk/dist/index.js.map +1 -1
- package/sdk/dist/plugin/index.d.ts +4 -3
- package/sdk/dist/plugin/index.d.ts.map +1 -1
- package/sdk/dist/plugin/index.js +5 -22
- package/sdk/dist/plugin/index.js.map +1 -1
- package/sdk/dist/protocols/aave-v4/abis.d.ts +201 -0
- package/sdk/dist/protocols/aave-v4/abis.d.ts.map +1 -0
- package/sdk/dist/protocols/aave-v4/abis.js +139 -0
- package/sdk/dist/protocols/aave-v4/abis.js.map +1 -0
- package/sdk/dist/protocols/aave-v4/addresses.d.ts +3 -0
- package/sdk/dist/protocols/aave-v4/addresses.d.ts.map +1 -0
- package/sdk/dist/protocols/aave-v4/addresses.js +65 -0
- package/sdk/dist/protocols/aave-v4/addresses.js.map +1 -0
- package/sdk/dist/protocols/aave-v4/functions.d.ts +5 -0
- package/sdk/dist/protocols/aave-v4/functions.d.ts.map +1 -0
- package/sdk/dist/protocols/aave-v4/functions.js +37 -0
- package/sdk/dist/protocols/aave-v4/functions.js.map +1 -0
- package/sdk/dist/protocols/aave-v4/index.d.ts +5 -0
- package/sdk/dist/protocols/aave-v4/index.d.ts.map +1 -0
- package/sdk/dist/protocols/aave-v4/index.js +5 -0
- package/sdk/dist/protocols/aave-v4/index.js.map +1 -0
- package/sdk/dist/protocols/aave-v4/info.d.ts +3 -0
- package/sdk/dist/protocols/aave-v4/info.d.ts.map +1 -0
- package/sdk/dist/protocols/aave-v4/info.js +12 -0
- package/sdk/dist/protocols/aave-v4/info.js.map +1 -0
- package/sdk/dist/protocols/across/abis.d.ts +24 -12
- package/sdk/dist/protocols/across/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/across/abis.js +16 -8
- package/sdk/dist/protocols/across/abis.js.map +1 -1
- package/sdk/dist/protocols/across/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/across/addresses.js +10 -0
- package/sdk/dist/protocols/across/addresses.js.map +1 -1
- package/sdk/dist/protocols/across/functions.d.ts +1 -1
- package/sdk/dist/protocols/across/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/across/functions.js +2 -2
- package/sdk/dist/protocols/aerodrome-slipstream/abis.d.ts +112 -0
- package/sdk/dist/protocols/aerodrome-slipstream/abis.d.ts.map +1 -0
- package/sdk/dist/protocols/aerodrome-slipstream/abis.js +73 -0
- package/sdk/dist/protocols/aerodrome-slipstream/abis.js.map +1 -0
- package/sdk/dist/protocols/aerodrome-slipstream/addresses.d.ts +3 -0
- package/sdk/dist/protocols/aerodrome-slipstream/addresses.d.ts.map +1 -0
- package/sdk/dist/protocols/aerodrome-slipstream/addresses.js +39 -0
- package/sdk/dist/protocols/aerodrome-slipstream/addresses.js.map +1 -0
- package/sdk/dist/protocols/aerodrome-slipstream/functions.d.ts +2 -0
- package/sdk/dist/protocols/aerodrome-slipstream/functions.d.ts.map +1 -0
- package/sdk/dist/protocols/aerodrome-slipstream/functions.js +9 -0
- package/sdk/dist/protocols/aerodrome-slipstream/functions.js.map +1 -0
- package/sdk/dist/protocols/aerodrome-slipstream/index.d.ts +5 -0
- package/sdk/dist/protocols/aerodrome-slipstream/index.d.ts.map +1 -0
- package/sdk/dist/protocols/aerodrome-slipstream/index.js +5 -0
- package/sdk/dist/protocols/aerodrome-slipstream/index.js.map +1 -0
- package/sdk/dist/protocols/aerodrome-slipstream/info.d.ts +3 -0
- package/sdk/dist/protocols/aerodrome-slipstream/info.d.ts.map +1 -0
- package/sdk/dist/protocols/aerodrome-slipstream/info.js +12 -0
- package/sdk/dist/protocols/aerodrome-slipstream/info.js.map +1 -0
- package/sdk/dist/protocols/aevo/abis.d.ts +17 -2
- package/sdk/dist/protocols/aevo/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/aevo/abis.js +10 -2
- package/sdk/dist/protocols/aevo/abis.js.map +1 -1
- package/sdk/dist/protocols/aevo/functions.d.ts +1 -1
- package/sdk/dist/protocols/aevo/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/aevo/functions.js +2 -2
- package/sdk/dist/protocols/alchemix/abis.d.ts +1 -1
- package/sdk/dist/protocols/alchemix/abis.js +1 -1
- package/sdk/dist/protocols/alchemix/abis.js.map +1 -1
- package/sdk/dist/protocols/ambient/abis.d.ts +2 -2
- package/sdk/dist/protocols/ambient/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/ambient/abis.js +3 -2
- package/sdk/dist/protocols/ambient/abis.js.map +1 -1
- package/sdk/dist/protocols/ambient/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/ambient/addresses.js +2 -1
- package/sdk/dist/protocols/ambient/addresses.js.map +1 -1
- package/sdk/dist/protocols/arrakis/abis.d.ts +4 -13
- package/sdk/dist/protocols/arrakis/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/arrakis/abis.js +2 -11
- package/sdk/dist/protocols/arrakis/abis.js.map +1 -1
- package/sdk/dist/protocols/arrakis/functions.d.ts +1 -1
- package/sdk/dist/protocols/arrakis/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/arrakis/functions.js +2 -1
- package/sdk/dist/protocols/arrakis/functions.js.map +1 -1
- package/sdk/dist/protocols/axelar/abis.d.ts +1 -1
- package/sdk/dist/protocols/axelar/abis.js +1 -1
- package/sdk/dist/protocols/balancer-v2/abis.d.ts +7 -7
- package/sdk/dist/protocols/balancer-v2/abis.js +7 -7
- package/sdk/dist/protocols/balancer-v2/abis.js.map +1 -1
- package/sdk/dist/protocols/cbeth/abis.d.ts +7 -1
- package/sdk/dist/protocols/cbeth/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/cbeth/abis.js +6 -2
- package/sdk/dist/protocols/cbeth/abis.js.map +1 -1
- package/sdk/dist/protocols/cbeth/functions.d.ts +2 -2
- package/sdk/dist/protocols/cbeth/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/cbeth/functions.js +4 -6
- package/sdk/dist/protocols/cbeth/functions.js.map +1 -1
- package/sdk/dist/protocols/cctp/abis.d.ts +1 -4
- package/sdk/dist/protocols/cctp/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/cctp/abis.js +3 -1
- package/sdk/dist/protocols/cctp/abis.js.map +1 -1
- package/sdk/dist/protocols/cctp/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/cctp/addresses.js +3 -0
- package/sdk/dist/protocols/cctp/addresses.js.map +1 -1
- package/sdk/dist/protocols/chainlink/abis.d.ts +6 -6
- package/sdk/dist/protocols/chainlink/abis.js +6 -6
- package/sdk/dist/protocols/chainlink/abis.js.map +1 -1
- package/sdk/dist/protocols/chainlink/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/chainlink/addresses.js +10 -0
- package/sdk/dist/protocols/chainlink/addresses.js.map +1 -1
- package/sdk/dist/protocols/chainlink-ccip/abis.d.ts +1 -1
- package/sdk/dist/protocols/chainlink-ccip/abis.js +1 -1
- package/sdk/dist/protocols/chainlink-ccip/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/chainlink-ccip/addresses.js +9 -0
- package/sdk/dist/protocols/chainlink-ccip/addresses.js.map +1 -1
- package/sdk/dist/protocols/circle-gateway/abis.d.ts +114 -0
- package/sdk/dist/protocols/circle-gateway/abis.d.ts.map +1 -0
- package/sdk/dist/protocols/circle-gateway/abis.js +86 -0
- package/sdk/dist/protocols/circle-gateway/abis.js.map +1 -0
- package/sdk/dist/protocols/circle-gateway/addresses.d.ts +3 -0
- package/sdk/dist/protocols/circle-gateway/addresses.d.ts.map +1 -0
- package/sdk/dist/protocols/circle-gateway/addresses.js +37 -0
- package/sdk/dist/protocols/circle-gateway/addresses.js.map +1 -0
- package/sdk/dist/protocols/circle-gateway/functions.d.ts +4 -0
- package/sdk/dist/protocols/circle-gateway/functions.d.ts.map +1 -0
- package/sdk/dist/protocols/circle-gateway/functions.js +27 -0
- package/sdk/dist/protocols/circle-gateway/functions.js.map +1 -0
- package/sdk/dist/protocols/circle-gateway/index.d.ts +5 -0
- package/sdk/dist/protocols/circle-gateway/index.d.ts.map +1 -0
- package/sdk/dist/protocols/circle-gateway/index.js +5 -0
- package/sdk/dist/protocols/circle-gateway/index.js.map +1 -0
- package/sdk/dist/protocols/circle-gateway/info.d.ts +3 -0
- package/sdk/dist/protocols/circle-gateway/info.d.ts.map +1 -0
- package/sdk/dist/protocols/circle-gateway/info.js +12 -0
- package/sdk/dist/protocols/circle-gateway/info.js.map +1 -0
- package/sdk/dist/protocols/compound-v2/abis.d.ts +2 -2
- package/sdk/dist/protocols/compound-v2/abis.js +2 -2
- package/sdk/dist/protocols/compound-v2/abis.js.map +1 -1
- package/sdk/dist/protocols/connext/abis.d.ts +46 -6
- package/sdk/dist/protocols/connext/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/connext/abis.js +27 -5
- package/sdk/dist/protocols/connext/abis.js.map +1 -1
- package/sdk/dist/protocols/connext/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/connext/addresses.js +1 -7
- package/sdk/dist/protocols/connext/addresses.js.map +1 -1
- package/sdk/dist/protocols/connext/functions.d.ts +1 -1
- package/sdk/dist/protocols/connext/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/connext/functions.js +3 -2
- package/sdk/dist/protocols/connext/functions.js.map +1 -1
- package/sdk/dist/protocols/crvusd/functions.d.ts +2 -2
- package/sdk/dist/protocols/crvusd/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/crvusd/functions.js +6 -6
- package/sdk/dist/protocols/curve/abis.d.ts +119 -7
- package/sdk/dist/protocols/curve/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/curve/abis.js +90 -7
- package/sdk/dist/protocols/curve/abis.js.map +1 -1
- package/sdk/dist/protocols/debridge/abis.d.ts +7 -7
- package/sdk/dist/protocols/debridge/abis.js +5 -5
- package/sdk/dist/protocols/debridge/abis.js.map +1 -1
- package/sdk/dist/protocols/debridge/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/debridge/addresses.js +11 -0
- package/sdk/dist/protocols/debridge/addresses.js.map +1 -1
- package/sdk/dist/protocols/eco-routes/abis.d.ts +463 -0
- package/sdk/dist/protocols/eco-routes/abis.d.ts.map +1 -0
- package/sdk/dist/protocols/eco-routes/abis.js +632 -0
- package/sdk/dist/protocols/eco-routes/abis.js.map +1 -0
- package/sdk/dist/protocols/eco-routes/addresses.d.ts +9 -0
- package/sdk/dist/protocols/eco-routes/addresses.d.ts.map +1 -0
- package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts +585 -0
- package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts.map +1 -0
- package/sdk/dist/protocols/eco-routes/addresses.generated.js +590 -0
- package/sdk/dist/protocols/eco-routes/addresses.generated.js.map +1 -0
- package/sdk/dist/protocols/eco-routes/addresses.js +21 -0
- package/sdk/dist/protocols/eco-routes/addresses.js.map +1 -0
- package/sdk/dist/protocols/eco-routes/functions.d.ts +12 -0
- package/sdk/dist/protocols/eco-routes/functions.d.ts.map +1 -0
- package/sdk/dist/protocols/eco-routes/functions.js +45 -0
- package/sdk/dist/protocols/eco-routes/functions.js.map +1 -0
- package/sdk/dist/protocols/eco-routes/index.d.ts +6 -0
- package/sdk/dist/protocols/eco-routes/index.d.ts.map +1 -0
- package/sdk/dist/protocols/eco-routes/index.js +6 -0
- package/sdk/dist/protocols/eco-routes/index.js.map +1 -0
- package/sdk/dist/protocols/eco-routes/info.d.ts +3 -0
- package/sdk/dist/protocols/eco-routes/info.d.ts.map +1 -0
- package/sdk/dist/protocols/eco-routes/info.js +12 -0
- package/sdk/dist/protocols/eco-routes/info.js.map +1 -0
- package/sdk/dist/protocols/eco-routes/lookup.d.ts +82 -0
- package/sdk/dist/protocols/eco-routes/lookup.d.ts.map +1 -0
- package/sdk/dist/protocols/eco-routes/lookup.js +148 -0
- package/sdk/dist/protocols/eco-routes/lookup.js.map +1 -0
- package/sdk/dist/protocols/eigenlayer/abis.d.ts +4 -4
- package/sdk/dist/protocols/eigenlayer/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/eigenlayer/abis.js +5 -4
- package/sdk/dist/protocols/eigenlayer/abis.js.map +1 -1
- package/sdk/dist/protocols/ens/abis.d.ts +4 -4
- package/sdk/dist/protocols/ens/abis.js +4 -4
- package/sdk/dist/protocols/erc20/functions.d.ts +3 -3
- package/sdk/dist/protocols/erc20/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/erc20/functions.js +6 -9
- package/sdk/dist/protocols/erc20/functions.js.map +1 -1
- package/sdk/dist/protocols/etherfi/abis.d.ts +1 -1
- package/sdk/dist/protocols/etherfi/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/etherfi/abis.js +2 -1
- package/sdk/dist/protocols/etherfi/abis.js.map +1 -1
- package/sdk/dist/protocols/euler-v2/abis.d.ts +2 -2
- package/sdk/dist/protocols/euler-v2/abis.js +2 -2
- package/sdk/dist/protocols/euler-v2/abis.js.map +1 -1
- package/sdk/dist/protocols/fluid/abis.d.ts +47 -26
- package/sdk/dist/protocols/fluid/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/fluid/abis.js +39 -18
- package/sdk/dist/protocols/fluid/abis.js.map +1 -1
- package/sdk/dist/protocols/fluid/functions.d.ts +4 -4
- package/sdk/dist/protocols/fluid/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/fluid/functions.js +18 -16
- package/sdk/dist/protocols/fluid/functions.js.map +1 -1
- package/sdk/dist/protocols/frax/functions.d.ts +2 -2
- package/sdk/dist/protocols/frax/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/frax/functions.js +6 -6
- package/sdk/dist/protocols/gains-network/abis.d.ts +44 -35
- package/sdk/dist/protocols/gains-network/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/gains-network/abis.js +26 -21
- package/sdk/dist/protocols/gains-network/abis.js.map +1 -1
- package/sdk/dist/protocols/gains-network/functions.d.ts +3 -3
- package/sdk/dist/protocols/gains-network/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/gains-network/functions.js +6 -6
- package/sdk/dist/protocols/gamma/abis.d.ts +43 -0
- package/sdk/dist/protocols/gamma/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/gamma/abis.js +30 -0
- package/sdk/dist/protocols/gamma/abis.js.map +1 -1
- package/sdk/dist/protocols/gamma/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/gamma/addresses.js +2 -7
- package/sdk/dist/protocols/gamma/addresses.js.map +1 -1
- package/sdk/dist/protocols/gamma/functions.d.ts +1 -0
- package/sdk/dist/protocols/gamma/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/gamma/functions.js +9 -0
- package/sdk/dist/protocols/gamma/functions.js.map +1 -1
- package/sdk/dist/protocols/gelato/abis.d.ts +2 -2
- package/sdk/dist/protocols/gelato/abis.js +2 -2
- package/sdk/dist/protocols/gho/functions.d.ts +2 -2
- package/sdk/dist/protocols/gho/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/gho/functions.js +4 -6
- package/sdk/dist/protocols/gho/functions.js.map +1 -1
- package/sdk/dist/protocols/gmx-v1/abis.d.ts +15 -3
- package/sdk/dist/protocols/gmx-v1/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/gmx-v1/abis.js +5 -3
- package/sdk/dist/protocols/gmx-v1/abis.js.map +1 -1
- package/sdk/dist/protocols/gmx-v1/functions.d.ts +2 -2
- package/sdk/dist/protocols/gmx-v1/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/gmx-v1/functions.js +2 -2
- package/sdk/dist/protocols/gmx-v2/abis.d.ts +11 -5
- package/sdk/dist/protocols/gmx-v2/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/gmx-v2/abis.js +7 -4
- package/sdk/dist/protocols/gmx-v2/abis.js.map +1 -1
- package/sdk/dist/protocols/gmx-v2/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/gmx-v2/addresses.js +3 -1
- package/sdk/dist/protocols/gmx-v2/addresses.js.map +1 -1
- package/sdk/dist/protocols/gmx-v2/functions.d.ts +1 -1
- package/sdk/dist/protocols/gmx-v2/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/gmx-v2/functions.js +4 -2
- package/sdk/dist/protocols/gmx-v2/functions.js.map +1 -1
- package/sdk/dist/protocols/harvest/abis.d.ts +8 -2
- package/sdk/dist/protocols/harvest/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/harvest/abis.js +2 -2
- package/sdk/dist/protocols/harvest/abis.js.map +1 -1
- package/sdk/dist/protocols/hegic/abis.d.ts +5 -2
- package/sdk/dist/protocols/hegic/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/hegic/abis.js +7 -2
- package/sdk/dist/protocols/hegic/abis.js.map +1 -1
- package/sdk/dist/protocols/hegic/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/hegic/addresses.js +1 -0
- package/sdk/dist/protocols/hegic/addresses.js.map +1 -1
- package/sdk/dist/protocols/hegic/functions.d.ts +1 -1
- package/sdk/dist/protocols/hegic/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/hegic/functions.js +3 -3
- package/sdk/dist/protocols/hop/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/hop/addresses.js +5 -2
- package/sdk/dist/protocols/hop/addresses.js.map +1 -1
- package/sdk/dist/protocols/hyperlane/abis.d.ts +5 -5
- package/sdk/dist/protocols/hyperlane/abis.js +5 -5
- package/sdk/dist/protocols/hyperlane/abis.js.map +1 -1
- package/sdk/dist/protocols/hyperlane/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/hyperlane/addresses.js +9 -0
- package/sdk/dist/protocols/hyperlane/addresses.js.map +1 -1
- package/sdk/dist/protocols/index.d.ts +1 -0
- package/sdk/dist/protocols/index.d.ts.map +1 -1
- package/sdk/dist/protocols/index.js +13 -0
- package/sdk/dist/protocols/index.js.map +1 -1
- package/sdk/dist/protocols/kim/abis.d.ts +7 -20
- package/sdk/dist/protocols/kim/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/kim/abis.js +6 -12
- package/sdk/dist/protocols/kim/abis.js.map +1 -1
- package/sdk/dist/protocols/kim/functions.d.ts +1 -1
- package/sdk/dist/protocols/kim/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/kim/functions.js +3 -2
- package/sdk/dist/protocols/kim/functions.js.map +1 -1
- package/sdk/dist/protocols/kyberswap/abis.d.ts +41 -16
- package/sdk/dist/protocols/kyberswap/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/kyberswap/abis.js +21 -8
- package/sdk/dist/protocols/kyberswap/abis.js.map +1 -1
- package/sdk/dist/protocols/kyberswap/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/kyberswap/addresses.js +12 -2
- package/sdk/dist/protocols/kyberswap/addresses.js.map +1 -1
- package/sdk/dist/protocols/kyberswap-aggregator/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/kyberswap-aggregator/addresses.js +12 -1
- package/sdk/dist/protocols/kyberswap-aggregator/addresses.js.map +1 -1
- package/sdk/dist/protocols/layerbank/abis.d.ts +81 -24
- package/sdk/dist/protocols/layerbank/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/layerbank/abis.js +69 -17
- package/sdk/dist/protocols/layerbank/abis.js.map +1 -1
- package/sdk/dist/protocols/layerbank/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/layerbank/addresses.js +3 -1
- package/sdk/dist/protocols/layerbank/addresses.js.map +1 -1
- package/sdk/dist/protocols/layerbank/functions.d.ts +4 -4
- package/sdk/dist/protocols/layerbank/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/layerbank/functions.js +18 -16
- package/sdk/dist/protocols/layerbank/functions.js.map +1 -1
- package/sdk/dist/protocols/layerzero/abis.d.ts +3 -3
- package/sdk/dist/protocols/layerzero/abis.js +3 -3
- package/sdk/dist/protocols/layerzero/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/layerzero/addresses.js +11 -1
- package/sdk/dist/protocols/layerzero/addresses.js.map +1 -1
- package/sdk/dist/protocols/level-finance/abis.d.ts +6 -0
- package/sdk/dist/protocols/level-finance/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/level-finance/abis.js +2 -0
- package/sdk/dist/protocols/level-finance/abis.js.map +1 -1
- package/sdk/dist/protocols/level-finance/functions.d.ts +2 -2
- package/sdk/dist/protocols/level-finance/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/level-finance/functions.js +4 -4
- package/sdk/dist/protocols/lifi/abis.d.ts +41 -4
- package/sdk/dist/protocols/lifi/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/lifi/abis.js +24 -4
- package/sdk/dist/protocols/lifi/abis.js.map +1 -1
- package/sdk/dist/protocols/lifi/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/lifi/addresses.js +9 -0
- package/sdk/dist/protocols/lifi/addresses.js.map +1 -1
- package/sdk/dist/protocols/lifi/functions.d.ts +1 -1
- package/sdk/dist/protocols/lifi/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/lifi/functions.js +5 -2
- package/sdk/dist/protocols/lifi/functions.js.map +1 -1
- package/sdk/dist/protocols/liquity-v1/abis.d.ts +6 -0
- package/sdk/dist/protocols/liquity-v1/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/liquity-v1/abis.js +7 -1
- package/sdk/dist/protocols/liquity-v1/abis.js.map +1 -1
- package/sdk/dist/protocols/liquity-v1/functions.d.ts +1 -1
- package/sdk/dist/protocols/liquity-v1/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/liquity-v1/functions.js +1 -1
- package/sdk/dist/protocols/liquity-v2/functions.d.ts +2 -2
- package/sdk/dist/protocols/liquity-v2/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/liquity-v2/functions.js +4 -6
- package/sdk/dist/protocols/liquity-v2/functions.js.map +1 -1
- package/sdk/dist/protocols/mantle-meth/abis.d.ts +26 -25
- package/sdk/dist/protocols/mantle-meth/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/mantle-meth/abis.js +22 -17
- package/sdk/dist/protocols/mantle-meth/abis.js.map +1 -1
- package/sdk/dist/protocols/mantle-meth/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/mantle-meth/addresses.js +3 -0
- package/sdk/dist/protocols/mantle-meth/addresses.js.map +1 -1
- package/sdk/dist/protocols/mantle-meth/functions.d.ts +1 -1
- package/sdk/dist/protocols/mantle-meth/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/mantle-meth/functions.js +4 -4
- package/sdk/dist/protocols/maverick/abis.d.ts +9 -0
- package/sdk/dist/protocols/maverick/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/maverick/abis.js +7 -1
- package/sdk/dist/protocols/maverick/abis.js.map +1 -1
- package/sdk/dist/protocols/morpho-blue/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/morpho-blue/addresses.js +10 -0
- package/sdk/dist/protocols/morpho-blue/addresses.js.map +1 -1
- package/sdk/dist/protocols/mux-protocol/abis.d.ts +87 -32
- package/sdk/dist/protocols/mux-protocol/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/mux-protocol/abis.js +54 -21
- package/sdk/dist/protocols/mux-protocol/abis.js.map +1 -1
- package/sdk/dist/protocols/mux-protocol/functions.d.ts +2 -2
- package/sdk/dist/protocols/mux-protocol/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/mux-protocol/functions.js +8 -8
- package/sdk/dist/protocols/olympus/abis.d.ts +5 -2
- package/sdk/dist/protocols/olympus/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/olympus/abis.js +2 -2
- package/sdk/dist/protocols/olympus/abis.js.map +1 -1
- package/sdk/dist/protocols/oneinch/abis.d.ts +5 -5
- package/sdk/dist/protocols/oneinch/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/oneinch/abis.js +5 -3
- package/sdk/dist/protocols/oneinch/abis.js.map +1 -1
- package/sdk/dist/protocols/oneinch/functions.d.ts +1 -1
- package/sdk/dist/protocols/oneinch/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/oneinch/functions.js +2 -2
- package/sdk/dist/protocols/openocean/abis.d.ts +14 -1
- package/sdk/dist/protocols/openocean/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/openocean/abis.js +11 -1
- package/sdk/dist/protocols/openocean/abis.js.map +1 -1
- package/sdk/dist/protocols/openocean/functions.d.ts +1 -1
- package/sdk/dist/protocols/openocean/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/openocean/functions.js +1 -1
- package/sdk/dist/protocols/opyn/abis.d.ts +4 -1
- package/sdk/dist/protocols/opyn/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/opyn/abis.js +1 -1
- package/sdk/dist/protocols/opyn/abis.js.map +1 -1
- package/sdk/dist/protocols/pancakeswap-v3/abis.d.ts +6 -6
- package/sdk/dist/protocols/pancakeswap-v3/abis.js +6 -6
- package/sdk/dist/protocols/pancakeswap-v3/abis.js.map +1 -1
- package/sdk/dist/protocols/paraswap/abis.d.ts +1 -1
- package/sdk/dist/protocols/paraswap/abis.js +1 -1
- package/sdk/dist/protocols/pendle/abis.d.ts +288 -6
- package/sdk/dist/protocols/pendle/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/pendle/abis.js +160 -6
- package/sdk/dist/protocols/pendle/abis.js.map +1 -1
- package/sdk/dist/protocols/permit2/abis.d.ts +1 -1
- package/sdk/dist/protocols/permit2/abis.js +1 -1
- package/sdk/dist/protocols/permit2/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/permit2/addresses.js +9 -0
- package/sdk/dist/protocols/permit2/addresses.js.map +1 -1
- package/sdk/dist/protocols/perpetual-protocol/abis.d.ts +46 -38
- package/sdk/dist/protocols/perpetual-protocol/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/perpetual-protocol/abis.js +27 -14
- package/sdk/dist/protocols/perpetual-protocol/abis.js.map +1 -1
- package/sdk/dist/protocols/premia/abis.d.ts +18 -17
- package/sdk/dist/protocols/premia/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/premia/abis.js +20 -10
- package/sdk/dist/protocols/premia/abis.js.map +1 -1
- package/sdk/dist/protocols/premia/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/premia/addresses.js +3 -8
- package/sdk/dist/protocols/premia/addresses.js.map +1 -1
- package/sdk/dist/protocols/premia/functions.d.ts +2 -2
- package/sdk/dist/protocols/premia/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/premia/functions.js +8 -8
- package/sdk/dist/protocols/pyth/abis.d.ts +3 -3
- package/sdk/dist/protocols/pyth/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/pyth/abis.js +6 -3
- package/sdk/dist/protocols/pyth/abis.js.map +1 -1
- package/sdk/dist/protocols/reflexer/abis.d.ts +8 -5
- package/sdk/dist/protocols/reflexer/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/reflexer/abis.js +10 -6
- package/sdk/dist/protocols/reflexer/abis.js.map +1 -1
- package/sdk/dist/protocols/renzo/abis.d.ts +1 -1
- package/sdk/dist/protocols/renzo/abis.js +1 -1
- package/sdk/dist/protocols/renzo/abis.js.map +1 -1
- package/sdk/dist/protocols/sablier/abis.d.ts +2 -2
- package/sdk/dist/protocols/sablier/abis.js +2 -2
- package/sdk/dist/protocols/safe/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/safe/addresses.js +10 -0
- package/sdk/dist/protocols/safe/addresses.js.map +1 -1
- package/sdk/dist/protocols/seaport/abis.d.ts +65 -5
- package/sdk/dist/protocols/seaport/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/seaport/abis.js +41 -5
- package/sdk/dist/protocols/seaport/abis.js.map +1 -1
- package/sdk/dist/protocols/seaport/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/seaport/addresses.js +10 -0
- package/sdk/dist/protocols/seaport/addresses.js.map +1 -1
- package/sdk/dist/protocols/seaport/functions.d.ts +1 -1
- package/sdk/dist/protocols/seaport/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/seaport/functions.js +1 -0
- package/sdk/dist/protocols/seaport/functions.js.map +1 -1
- package/sdk/dist/protocols/silo/abis.d.ts +3 -0
- package/sdk/dist/protocols/silo/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/silo/abis.js +4 -1
- package/sdk/dist/protocols/silo/abis.js.map +1 -1
- package/sdk/dist/protocols/silo/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/silo/addresses.js +2 -1
- package/sdk/dist/protocols/silo/addresses.js.map +1 -1
- package/sdk/dist/protocols/silo/functions.d.ts +1 -1
- package/sdk/dist/protocols/silo/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/silo/functions.js +2 -1
- package/sdk/dist/protocols/silo/functions.js.map +1 -1
- package/sdk/dist/protocols/socket/abis.d.ts +1 -13
- package/sdk/dist/protocols/socket/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/socket/abis.js +3 -11
- package/sdk/dist/protocols/socket/abis.js.map +1 -1
- package/sdk/dist/protocols/socket/functions.d.ts +1 -1
- package/sdk/dist/protocols/socket/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/socket/functions.js +1 -1
- package/sdk/dist/protocols/spookyswap/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/spookyswap/addresses.js +2 -1
- package/sdk/dist/protocols/spookyswap/addresses.js.map +1 -1
- package/sdk/dist/protocols/squid/abis.d.ts +33 -21
- package/sdk/dist/protocols/squid/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/squid/abis.js +19 -13
- package/sdk/dist/protocols/squid/abis.js.map +1 -1
- package/sdk/dist/protocols/squid/functions.d.ts +1 -1
- package/sdk/dist/protocols/squid/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/squid/functions.js +2 -2
- package/sdk/dist/protocols/stargate/abis.d.ts +23 -3
- package/sdk/dist/protocols/stargate/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/stargate/abis.js +19 -3
- package/sdk/dist/protocols/stargate/abis.js.map +1 -1
- package/sdk/dist/protocols/superfluid/abis.d.ts +2 -2
- package/sdk/dist/protocols/superfluid/abis.js +2 -2
- package/sdk/dist/protocols/superfluid/abis.js.map +1 -1
- package/sdk/dist/protocols/sushiswap-v2/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/sushiswap-v2/addresses.js +2 -1
- package/sdk/dist/protocols/sushiswap-v2/addresses.js.map +1 -1
- package/sdk/dist/protocols/swell/abis.d.ts +2 -8
- package/sdk/dist/protocols/swell/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/swell/abis.js +4 -2
- package/sdk/dist/protocols/swell/abis.js.map +1 -1
- package/sdk/dist/protocols/swell/functions.d.ts +2 -2
- package/sdk/dist/protocols/swell/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/swell/functions.js +4 -2
- package/sdk/dist/protocols/swell/functions.js.map +1 -1
- package/sdk/dist/protocols/synapse/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/synapse/addresses.js +2 -1
- package/sdk/dist/protocols/synapse/addresses.js.map +1 -1
- package/sdk/dist/protocols/synthetix-v3/abis.d.ts +40 -5
- package/sdk/dist/protocols/synthetix-v3/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/synthetix-v3/abis.js +27 -5
- package/sdk/dist/protocols/synthetix-v3/abis.js.map +1 -1
- package/sdk/dist/protocols/synthetix-v3/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/synthetix-v3/addresses.js +2 -1
- package/sdk/dist/protocols/synthetix-v3/addresses.js.map +1 -1
- package/sdk/dist/protocols/synthra-v3/abis.d.ts +347 -0
- package/sdk/dist/protocols/synthra-v3/abis.d.ts.map +1 -0
- package/sdk/dist/protocols/synthra-v3/abis.js +242 -0
- package/sdk/dist/protocols/synthra-v3/abis.js.map +1 -0
- package/sdk/dist/protocols/synthra-v3/addresses.d.ts +3 -0
- package/sdk/dist/protocols/synthra-v3/addresses.d.ts.map +1 -0
- package/sdk/dist/protocols/synthra-v3/addresses.js +16 -0
- package/sdk/dist/protocols/synthra-v3/addresses.js.map +1 -0
- package/sdk/dist/protocols/synthra-v3/functions.d.ts +2 -0
- package/sdk/dist/protocols/synthra-v3/functions.d.ts.map +1 -0
- package/sdk/dist/protocols/synthra-v3/functions.js +9 -0
- package/sdk/dist/protocols/synthra-v3/functions.js.map +1 -0
- package/sdk/dist/protocols/synthra-v3/index.d.ts +5 -0
- package/sdk/dist/protocols/synthra-v3/index.d.ts.map +1 -0
- package/sdk/dist/protocols/synthra-v3/index.js +5 -0
- package/sdk/dist/protocols/synthra-v3/index.js.map +1 -0
- package/sdk/dist/protocols/synthra-v3/info.d.ts +3 -0
- package/sdk/dist/protocols/synthra-v3/info.d.ts.map +1 -0
- package/sdk/dist/protocols/synthra-v3/info.js +11 -0
- package/sdk/dist/protocols/synthra-v3/info.js.map +1 -0
- package/sdk/dist/protocols/thales/abis.d.ts +53 -24
- package/sdk/dist/protocols/thales/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/thales/abis.js +27 -11
- package/sdk/dist/protocols/thales/abis.js.map +1 -1
- package/sdk/dist/protocols/thales/functions.d.ts +2 -2
- package/sdk/dist/protocols/thales/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/thales/functions.js +5 -6
- package/sdk/dist/protocols/thales/functions.js.map +1 -1
- package/sdk/dist/protocols/thruster/abis.d.ts +1 -1
- package/sdk/dist/protocols/thruster/abis.js +1 -1
- package/sdk/dist/protocols/trader-joe/abis.d.ts +3 -3
- package/sdk/dist/protocols/trader-joe/abis.js +2 -2
- package/sdk/dist/protocols/trader-joe/abis.js.map +1 -1
- package/sdk/dist/protocols/uniswap-v2/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/uniswap-v2/addresses.js +10 -0
- package/sdk/dist/protocols/uniswap-v2/addresses.js.map +1 -1
- package/sdk/dist/protocols/uniswap-v3/abis.d.ts +127 -8
- package/sdk/dist/protocols/uniswap-v3/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/uniswap-v3/abis.js +90 -8
- package/sdk/dist/protocols/uniswap-v3/abis.js.map +1 -1
- package/sdk/dist/protocols/uniswap-v3/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/uniswap-v3/addresses.js +14 -0
- package/sdk/dist/protocols/uniswap-v3/addresses.js.map +1 -1
- package/sdk/dist/protocols/uniswap-v4/abis.d.ts +27 -15
- package/sdk/dist/protocols/uniswap-v4/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/uniswap-v4/abis.js +25 -15
- package/sdk/dist/protocols/uniswap-v4/abis.js.map +1 -1
- package/sdk/dist/protocols/uniswap-v4/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/uniswap-v4/addresses.js +11 -0
- package/sdk/dist/protocols/uniswap-v4/addresses.js.map +1 -1
- package/sdk/dist/protocols/unitflow-v3/abis.d.ts +104 -0
- package/sdk/dist/protocols/unitflow-v3/abis.d.ts.map +1 -0
- package/sdk/dist/protocols/unitflow-v3/abis.js +70 -0
- package/sdk/dist/protocols/unitflow-v3/abis.js.map +1 -0
- package/sdk/dist/protocols/unitflow-v3/addresses.d.ts +3 -0
- package/sdk/dist/protocols/unitflow-v3/addresses.d.ts.map +1 -0
- package/sdk/dist/protocols/unitflow-v3/addresses.js +19 -0
- package/sdk/dist/protocols/unitflow-v3/addresses.js.map +1 -0
- package/sdk/dist/protocols/unitflow-v3/functions.d.ts +2 -0
- package/sdk/dist/protocols/unitflow-v3/functions.d.ts.map +1 -0
- package/sdk/dist/protocols/unitflow-v3/functions.js +9 -0
- package/sdk/dist/protocols/unitflow-v3/functions.js.map +1 -0
- package/sdk/dist/protocols/unitflow-v3/index.d.ts +5 -0
- package/sdk/dist/protocols/unitflow-v3/index.d.ts.map +1 -0
- package/sdk/dist/protocols/unitflow-v3/index.js +5 -0
- package/sdk/dist/protocols/unitflow-v3/index.js.map +1 -0
- package/sdk/dist/protocols/unitflow-v3/info.d.ts +3 -0
- package/sdk/dist/protocols/unitflow-v3/info.d.ts.map +1 -0
- package/sdk/dist/protocols/unitflow-v3/info.js +12 -0
- package/sdk/dist/protocols/unitflow-v3/info.js.map +1 -0
- package/sdk/dist/protocols/velodrome/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/velodrome/addresses.js +3 -1
- package/sdk/dist/protocols/velodrome/addresses.js.map +1 -1
- package/sdk/dist/protocols/venus/abis.d.ts +62 -1
- package/sdk/dist/protocols/venus/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/venus/abis.js +48 -1
- package/sdk/dist/protocols/venus/abis.js.map +1 -1
- package/sdk/dist/protocols/vertex/abis.d.ts +16 -9
- package/sdk/dist/protocols/vertex/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/vertex/abis.js +13 -4
- package/sdk/dist/protocols/vertex/abis.js.map +1 -1
- package/sdk/dist/protocols/wormhole/abis.d.ts +2 -2
- package/sdk/dist/protocols/wormhole/abis.js +2 -2
- package/sdk/dist/protocols/wormhole/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/wormhole/addresses.js +9 -0
- package/sdk/dist/protocols/wormhole/addresses.js.map +1 -1
- package/sdk/dist/protocols/zerolend/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/zerolend/addresses.js +2 -1
- package/sdk/dist/protocols/zerolend/addresses.js.map +1 -1
- package/sdk/dist/protocols/zerox/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/zerox/addresses.js +2 -1
- package/sdk/dist/protocols/zerox/addresses.js.map +1 -1
- package/sdk/dist/protocols/zksync-bridge/abis.d.ts +1 -1
- package/sdk/dist/protocols/zksync-bridge/abis.js +1 -1
- package/sdk/dist/recipes/cctp-split.sauce.ts +3 -1
- package/sdk/dist/recipes/cctp-transfer.d.ts +17 -6
- package/sdk/dist/recipes/cctp-transfer.d.ts.map +1 -1
- package/sdk/dist/recipes/cctp-transfer.js +7 -20
- package/sdk/dist/recipes/cctp-transfer.js.map +1 -1
- package/sdk/dist/recipes/index.d.ts +5 -15
- package/sdk/dist/recipes/index.d.ts.map +1 -1
- package/sdk/dist/recipes/index.js +19 -36
- package/sdk/dist/recipes/index.js.map +1 -1
- package/sdk/dist/recipes/plain-transfer.sauce.ts +3 -0
- package/sdk/dist/recipes/settle.sauce.ts +15 -2
- package/sdk/dist/routes/ast-walk.d.ts +4 -0
- package/sdk/dist/routes/ast-walk.d.ts.map +1 -1
- package/sdk/dist/routes/ast-walk.js +9 -2
- package/sdk/dist/routes/ast-walk.js.map +1 -1
- package/sdk/dist/routes/chain-exports.generated.d.ts +97 -0
- package/sdk/dist/routes/chain-exports.generated.d.ts.map +1 -0
- package/sdk/dist/routes/chain-exports.generated.js +91 -0
- package/sdk/dist/routes/chain-exports.generated.js.map +1 -0
- package/sdk/dist/routes/compile-types.d.ts +3 -0
- package/sdk/dist/routes/compile-types.d.ts.map +1 -1
- package/sdk/dist/routes/composed.d.ts +13 -0
- package/sdk/dist/routes/composed.d.ts.map +1 -0
- package/sdk/dist/routes/composed.js +94 -0
- package/sdk/dist/routes/composed.js.map +1 -0
- package/sdk/dist/routes/encode.d.ts +6 -6
- package/sdk/dist/routes/globals.d.ts +19 -4
- package/sdk/dist/routes/globals.d.ts.map +1 -1
- package/sdk/dist/routes/globals.js +51 -85
- package/sdk/dist/routes/globals.js.map +1 -1
- package/sdk/dist/routes/index.d.ts +17 -8
- package/sdk/dist/routes/index.d.ts.map +1 -1
- package/sdk/dist/routes/index.js +18 -6
- package/sdk/dist/routes/index.js.map +1 -1
- package/sdk/dist/routes/intent-dsl.d.ts +60 -19
- package/sdk/dist/routes/intent-dsl.d.ts.map +1 -1
- package/sdk/dist/routes/intent-dsl.js +175 -67
- package/sdk/dist/routes/intent-dsl.js.map +1 -1
- package/sdk/dist/routes/intent-pot.d.ts +49 -0
- package/sdk/dist/routes/intent-pot.d.ts.map +1 -0
- package/sdk/dist/routes/intent-pot.js +46 -0
- package/sdk/dist/routes/intent-pot.js.map +1 -0
- package/sdk/dist/routes/intent-sugar.d.ts +97 -0
- package/sdk/dist/routes/intent-sugar.d.ts.map +1 -0
- package/sdk/dist/routes/intent-sugar.js +632 -0
- package/sdk/dist/routes/intent-sugar.js.map +1 -0
- package/sdk/dist/routes/nest-dynamic.d.ts +146 -0
- package/sdk/dist/routes/nest-dynamic.d.ts.map +1 -0
- package/sdk/dist/routes/nest-dynamic.js +308 -0
- package/sdk/dist/routes/nest-dynamic.js.map +1 -0
- package/sdk/dist/routes/nest.d.ts +16 -5
- package/sdk/dist/routes/nest.d.ts.map +1 -1
- package/sdk/dist/routes/nest.js +29 -10
- package/sdk/dist/routes/nest.js.map +1 -1
- package/sdk/dist/routes/portal.d.ts +7 -272
- package/sdk/dist/routes/portal.d.ts.map +1 -1
- package/sdk/dist/routes/portal.js +13 -92
- package/sdk/dist/routes/portal.js.map +1 -1
- package/sdk/dist/routes/protocol-rewrite.d.ts.map +1 -1
- package/sdk/dist/routes/protocol-rewrite.js +2 -0
- package/sdk/dist/routes/protocol-rewrite.js.map +1 -1
- package/sdk/dist/routes/rs-compile.d.ts +26 -15
- package/sdk/dist/routes/rs-compile.d.ts.map +1 -1
- package/sdk/dist/routes/rs-compile.js +57 -169
- package/sdk/dist/routes/rs-compile.js.map +1 -1
- package/sdk/dist/routes/sauce-route.d.ts +26 -1
- package/sdk/dist/routes/sauce-route.d.ts.map +1 -1
- package/sdk/dist/routes/sauce-route.js +133 -27
- package/sdk/dist/routes/sauce-route.js.map +1 -1
- package/sdk/dist/routes/source-globals.generated.d.ts +442 -23
- package/sdk/dist/routes/source-globals.generated.d.ts.map +1 -1
- package/sdk/dist/routes/template.d.ts +184 -0
- package/sdk/dist/routes/template.d.ts.map +1 -0
- package/sdk/dist/routes/template.js +338 -0
- package/sdk/dist/routes/template.js.map +1 -0
- package/sdk/dist/routes/token-registry.d.ts.map +1 -1
- package/sdk/dist/routes/token-registry.js +41 -1
- package/sdk/dist/routes/token-registry.js.map +1 -1
- package/sdk/dist/routes/token-rewrite.d.ts +63 -28
- package/sdk/dist/routes/token-rewrite.d.ts.map +1 -1
- package/sdk/dist/routes/token-rewrite.js +390 -122
- package/sdk/dist/routes/token-rewrite.js.map +1 -1
- package/sdk/dist/skills/loader.d.ts +2 -7
- package/sdk/dist/skills/loader.d.ts.map +1 -1
- package/sdk/dist/skills/loader.js +14 -25
- package/sdk/dist/skills/loader.js.map +1 -1
- package/sdk/dist/std/token/token.evm.js +56 -15
- package/sdk/dist/std/token/token.svm.js +24 -3
- package/sdk/dist/svm/accessors.d.ts +3 -3
- package/sdk/dist/svm/accessors.js +3 -3
- package/sdk/dist/svm/client.d.ts +1 -0
- package/sdk/dist/svm/client.d.ts.map +1 -1
- package/sdk/dist/svm/client.js +6 -0
- package/sdk/dist/svm/client.js.map +1 -1
- package/sdk/dist/svm/clusters.d.ts +6 -2
- package/sdk/dist/svm/clusters.d.ts.map +1 -1
- package/sdk/dist/svm/clusters.js +0 -2
- package/sdk/dist/svm/clusters.js.map +1 -1
- package/sdk/dist/svm/engine-artifacts.d.ts +24 -13
- package/sdk/dist/svm/engine-artifacts.d.ts.map +1 -1
- package/sdk/dist/svm/engine-artifacts.js +31 -26
- package/sdk/dist/svm/engine-artifacts.js.map +1 -1
- package/sdk/dist/svm/engine-public.d.ts.map +1 -1
- package/sdk/dist/svm/engine-public.js +2 -1
- package/sdk/dist/svm/engine-public.js.map +1 -1
- package/sdk/dist/svm/index.d.ts +0 -1
- package/sdk/dist/svm/index.d.ts.map +1 -1
- package/sdk/dist/svm/index.js +3 -1
- package/sdk/dist/svm/index.js.map +1 -1
- package/sdk/dist/svm/intent.d.ts.map +1 -1
- package/sdk/dist/svm/intent.js +4 -3
- package/sdk/dist/svm/intent.js.map +1 -1
- package/sdk/dist/svm/loader.d.ts.map +1 -1
- package/sdk/dist/svm/loader.js +2 -3
- package/sdk/dist/svm/loader.js.map +1 -1
- package/sdk/dist/svm/recipes/index.d.ts +57 -4
- package/sdk/dist/svm/recipes/index.d.ts.map +1 -1
- package/sdk/dist/svm/recipes/index.js +7 -9
- package/sdk/dist/svm/recipes/index.js.map +1 -1
- package/sdk/dist/svm/venues/alphaq/index.d.ts.map +1 -1
- package/sdk/dist/svm/venues/alphaq/index.js +4 -2
- package/sdk/dist/svm/venues/alphaq/index.js.map +1 -1
- package/sdk/dist/svm/venues/binaryfi/index.d.ts.map +1 -1
- package/sdk/dist/svm/venues/binaryfi/index.js +2 -1
- package/sdk/dist/svm/venues/binaryfi/index.js.map +1 -1
- package/sdk/dist/svm/venues/fluxbeam/index.d.ts.map +1 -1
- package/sdk/dist/svm/venues/fluxbeam/index.js +2 -7
- package/sdk/dist/svm/venues/fluxbeam/index.js.map +1 -1
- package/sdk/dist/svm/venues/jupiter-lend-earn/index.d.ts.map +1 -1
- package/sdk/dist/svm/venues/jupiter-lend-earn/index.js +2 -1
- package/sdk/dist/svm/venues/jupiter-lend-earn/index.js.map +1 -1
- package/sdk/dist/svm/venues/kipseli/index.d.ts.map +1 -1
- package/sdk/dist/svm/venues/kipseli/index.js +31 -14
- package/sdk/dist/svm/venues/kipseli/index.js.map +1 -1
- package/sdk/dist/svm/venues/mercurial/index.d.ts.map +1 -1
- package/sdk/dist/svm/venues/mercurial/index.js +2 -7
- package/sdk/dist/svm/venues/mercurial/index.js.map +1 -1
- package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.d.ts.map +1 -1
- package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.js +3 -2
- package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.js.map +1 -1
- package/sdk/dist/svm/venues/mswap/index.d.ts.map +1 -1
- package/sdk/dist/svm/venues/mswap/index.js +2 -2
- package/sdk/dist/svm/venues/mswap/index.js.map +1 -1
- package/sdk/dist/svm/venues/orca-legacy-token-swap/index.d.ts.map +1 -1
- package/sdk/dist/svm/venues/orca-legacy-token-swap/index.js +2 -7
- package/sdk/dist/svm/venues/orca-legacy-token-swap/index.js.map +1 -1
- package/sdk/dist/svm/venues/saber-stableswap/index.d.ts.map +1 -1
- package/sdk/dist/svm/venues/saber-stableswap/index.js +2 -7
- package/sdk/dist/svm/venues/saber-stableswap/index.js.map +1 -1
- package/sdk/dist/svm/venues/sanctum-infinity/index.js +2 -2
- package/sdk/dist/svm/venues/sanctum-infinity/index.js.map +1 -1
- package/sdk/dist/svm/venues/sanctum-stake-pool/index.d.ts.map +1 -1
- package/sdk/dist/svm/venues/sanctum-stake-pool/index.js +2 -8
- package/sdk/dist/svm/venues/sanctum-stake-pool/index.js.map +1 -1
- package/sdk/dist/svm/venues/spl-token-swap-forks/index.d.ts.map +1 -1
- package/sdk/dist/svm/venues/spl-token-swap-forks/index.js +2 -7
- package/sdk/dist/svm/venues/spl-token-swap-forks/index.js.map +1 -1
- package/sdk/dist/svm/venues/stabble-common.d.ts.map +1 -1
- package/sdk/dist/svm/venues/stabble-common.js +3 -8
- package/sdk/dist/svm/venues/stabble-common.js.map +1 -1
- package/sdk/dist/svm/verify.d.ts.map +1 -1
- package/sdk/dist/svm/verify.js +1 -4
- package/sdk/dist/svm/verify.js.map +1 -1
- package/sdk/dist/swap/index.d.ts +4 -4
- package/sdk/dist/swap/index.d.ts.map +1 -1
- package/sdk/dist/swap/index.js +4 -4
- package/sdk/dist/swap/index.js.map +1 -1
- package/sdk/dist/swap/source.d.ts +0 -7
- package/sdk/dist/swap/source.d.ts.map +1 -1
- package/sdk/dist/swap/source.js +3 -11
- package/sdk/dist/swap/source.js.map +1 -1
- package/sdk/dist/token/api.d.ts +14 -12
- package/sdk/dist/token/api.d.ts.map +1 -1
- package/sdk/dist/token/api.js +4 -5
- package/sdk/dist/token/api.js.map +1 -1
- package/sdk/dist/token/evm.d.ts +5 -2
- package/sdk/dist/token/evm.d.ts.map +1 -1
- package/sdk/dist/token/evm.js +26 -15
- package/sdk/dist/token/evm.js.map +1 -1
- package/sdk/dist/token/index.d.ts +7 -7
- package/sdk/dist/token/index.js +7 -7
- package/sdk/dist/token/safe.d.ts +17 -0
- package/sdk/dist/token/safe.d.ts.map +1 -0
- package/sdk/dist/token/safe.js +211 -0
- package/sdk/dist/token/safe.js.map +1 -0
- package/sdk/dist/token/source.d.ts +0 -4
- package/sdk/dist/token/source.d.ts.map +1 -1
- package/sdk/dist/token/source.js +7 -10
- package/sdk/dist/token/source.js.map +1 -1
- package/sdk/dist/verify/decode.d.ts +6 -6
- package/sdk/dist/verify/decode.js +7 -7
- package/sdk/dist/verify/decode.js.map +1 -1
- package/sdk/dist/verify/index.js +2 -2
- package/sdk/dist/verify/intent.js +2 -2
- package/sdk/dist/verify/vectors.d.ts +1 -1
- package/sdk/dist/verify/vectors.d.ts.map +1 -1
- package/sdk/dist/verify/vectors.js +2 -2
- package/sdk/dist/verify/vectors.js.map +1 -1
- package/sdk/dist/verify/wire.d.ts +21 -4
- package/sdk/dist/verify/wire.d.ts.map +1 -1
- package/sdk/dist/verify/wire.js +21 -4
- package/sdk/dist/verify/wire.js.map +1 -1
- package/sdk/dist/wasm-compiler.d.ts +31 -0
- package/sdk/dist/wasm-compiler.d.ts.map +1 -0
- package/sdk/dist/wasm-compiler.js +52 -0
- package/sdk/dist/wasm-compiler.js.map +1 -0
- package/sdk/src/protocols/aave-v4/AaveV4HubABI.json +67 -0
- package/sdk/src/protocols/aave-v4/AaveV4SpokeABI.json +215 -0
- package/sdk/src/protocols/aave-v4/abis.ts +139 -0
- package/sdk/src/protocols/aave-v4/addresses.ts +66 -0
- package/sdk/src/protocols/aave-v4/functions.ts +39 -0
- package/sdk/src/protocols/aave-v4/index.ts +4 -0
- package/sdk/src/protocols/aave-v4/info.ts +14 -0
- package/sdk/src/protocols/across/AcrossHubPoolABI.json +2 -2
- package/sdk/src/protocols/across/AcrossSpokePoolABI.json +27 -11
- package/sdk/src/protocols/across/abis.ts +16 -8
- package/sdk/src/protocols/across/addresses.ts +10 -0
- package/sdk/src/protocols/across/functions.ts +2 -2
- package/sdk/src/protocols/aerodrome-slipstream/AeroMetarouterABI.json +24 -0
- package/sdk/src/protocols/aerodrome-slipstream/SlipstreamCLFactoryABI.json +58 -0
- package/sdk/src/protocols/aerodrome-slipstream/SlipstreamPositionManagerABI.json +77 -0
- package/sdk/src/protocols/aerodrome-slipstream/abis.ts +74 -0
- package/sdk/src/protocols/aerodrome-slipstream/addresses.ts +40 -0
- package/sdk/src/protocols/aerodrome-slipstream/functions.ts +8 -0
- package/sdk/src/protocols/aerodrome-slipstream/index.ts +4 -0
- package/sdk/src/protocols/aerodrome-slipstream/info.ts +14 -0
- package/sdk/src/protocols/aevo/DepositContractABI.json +23 -2
- package/sdk/src/protocols/aevo/abis.ts +10 -2
- package/sdk/src/protocols/aevo/functions.ts +2 -2
- package/sdk/src/protocols/alchemix/AlchemistABI.json +1 -1
- package/sdk/src/protocols/alchemix/abis.ts +1 -1
- package/sdk/src/protocols/ambient/CrocSwapDexABI.json +2 -2
- package/sdk/src/protocols/ambient/abis.ts +3 -2
- package/sdk/src/protocols/ambient/addresses.ts +2 -1
- package/sdk/src/protocols/arrakis/ArrakisRouterABI.json +5 -1
- package/sdk/src/protocols/arrakis/ArrakisVaultABI.json +0 -16
- package/sdk/src/protocols/arrakis/abis.ts +2 -11
- package/sdk/src/protocols/arrakis/functions.ts +2 -1
- package/sdk/src/protocols/axelar/AxelarITSABI.json +1 -1
- package/sdk/src/protocols/axelar/abis.ts +1 -1
- package/sdk/src/protocols/balancer-v2/BalancerV2VaultABI.json +7 -7
- package/sdk/src/protocols/balancer-v2/abis.ts +7 -7
- package/sdk/src/protocols/cbeth/CbETHABI.json +10 -1
- package/sdk/src/protocols/cbeth/abis.ts +6 -2
- package/sdk/src/protocols/cbeth/functions.ts +4 -6
- package/sdk/src/protocols/cctp/TokenMessengerABI.json +30 -9
- package/sdk/src/protocols/cctp/abis.ts +3 -1
- package/sdk/src/protocols/cctp/addresses.ts +3 -0
- package/sdk/src/protocols/chainlink/AggregatorV3ABI.json +3 -3
- package/sdk/src/protocols/chainlink/FeedRegistryABI.json +3 -3
- package/sdk/src/protocols/chainlink/abis.ts +6 -6
- package/sdk/src/protocols/chainlink/addresses.ts +10 -0
- package/sdk/src/protocols/chainlink-ccip/CCIPRouterABI.json +1 -1
- package/sdk/src/protocols/chainlink-ccip/abis.ts +1 -1
- package/sdk/src/protocols/chainlink-ccip/addresses.ts +9 -0
- package/sdk/src/protocols/circle-gateway/GatewayMinterABI.json +49 -0
- package/sdk/src/protocols/circle-gateway/GatewayWalletABI.json +111 -0
- package/sdk/src/protocols/circle-gateway/abis.ts +86 -0
- package/sdk/src/protocols/circle-gateway/addresses.ts +39 -0
- package/sdk/src/protocols/circle-gateway/functions.ts +28 -0
- package/sdk/src/protocols/circle-gateway/index.ts +4 -0
- package/sdk/src/protocols/circle-gateway/info.ts +14 -0
- package/sdk/src/protocols/compound-v2/CErc20ABI.json +2 -2
- package/sdk/src/protocols/compound-v2/abis.ts +2 -2
- package/sdk/src/protocols/connext/EverclearSpokeABI.json +60 -6
- package/sdk/src/protocols/connext/abis.ts +27 -5
- package/sdk/src/protocols/connext/addresses.ts +1 -7
- package/sdk/src/protocols/connext/functions.ts +3 -2
- package/sdk/src/protocols/crvusd/functions.ts +6 -6
- package/sdk/src/protocols/curve/CurveRouterNGABI.json +37 -0
- package/sdk/src/protocols/curve/CurveStableSwapABI.json +7 -7
- package/sdk/src/protocols/curve/CurveThreePoolABI.json +117 -0
- package/sdk/src/protocols/curve/abis.ts +91 -7
- package/sdk/src/protocols/debridge/DlnDestinationABI.json +7 -7
- package/sdk/src/protocols/debridge/DlnSourceABI.json +1 -1
- package/sdk/src/protocols/debridge/abis.ts +5 -5
- package/sdk/src/protocols/debridge/addresses.ts +11 -0
- package/sdk/src/protocols/eco-routes/abis.ts +633 -0
- package/sdk/src/protocols/eco-routes/addresses.generated.ts +589 -0
- package/sdk/src/protocols/eco-routes/addresses.ts +27 -0
- package/sdk/src/protocols/eco-routes/functions.ts +45 -0
- package/sdk/src/protocols/eco-routes/index.ts +5 -0
- package/sdk/src/protocols/eco-routes/info.ts +14 -0
- package/sdk/src/protocols/eco-routes/lookup.ts +215 -0
- package/sdk/src/protocols/eigenlayer/DelegationManagerABI.json +2 -2
- package/sdk/src/protocols/eigenlayer/StrategyManagerABI.json +2 -2
- package/sdk/src/protocols/eigenlayer/abis.ts +5 -4
- package/sdk/src/protocols/ens/ENSRegistryABI.json +4 -4
- package/sdk/src/protocols/ens/abis.ts +4 -4
- package/sdk/src/protocols/erc20/functions.ts +6 -9
- package/sdk/src/protocols/etherfi/WeETHABI.json +1 -1
- package/sdk/src/protocols/etherfi/abis.ts +2 -1
- package/sdk/src/protocols/euler-v2/EVCABI.json +2 -2
- package/sdk/src/protocols/euler-v2/abis.ts +2 -2
- package/sdk/src/protocols/fluid/FluidLendingABI.json +20 -37
- package/sdk/src/protocols/fluid/FluidVaultABI.json +41 -0
- package/sdk/src/protocols/fluid/abis.ts +41 -18
- package/sdk/src/protocols/fluid/functions.ts +18 -16
- package/sdk/src/protocols/frax/functions.ts +6 -6
- package/sdk/src/protocols/gains-network/DiamondABI.json +49 -37
- package/sdk/src/protocols/gains-network/abis.ts +26 -21
- package/sdk/src/protocols/gains-network/functions.ts +6 -6
- package/sdk/src/protocols/gamma/UniProxyLegacyABI.json +62 -0
- package/sdk/src/protocols/gamma/abis.ts +31 -0
- package/sdk/src/protocols/gamma/addresses.ts +2 -7
- package/sdk/src/protocols/gamma/functions.ts +10 -0
- package/sdk/src/protocols/gelato/GelatoAutomateABI.json +2 -2
- package/sdk/src/protocols/gelato/abis.ts +2 -2
- package/sdk/src/protocols/gho/functions.ts +4 -6
- package/sdk/src/protocols/gmx-v1/PositionRouterABI.json +21 -3
- package/sdk/src/protocols/gmx-v1/abis.ts +5 -3
- package/sdk/src/protocols/gmx-v1/functions.ts +2 -2
- package/sdk/src/protocols/gmx-v2/ExchangeRouterABI.json +13 -5
- package/sdk/src/protocols/gmx-v2/abis.ts +7 -4
- package/sdk/src/protocols/gmx-v2/addresses.ts +3 -1
- package/sdk/src/protocols/gmx-v2/functions.ts +4 -2
- package/sdk/src/protocols/harvest/VaultABI.json +12 -2
- package/sdk/src/protocols/harvest/abis.ts +2 -2
- package/sdk/src/protocols/hegic/HegicABI.json +6 -2
- package/sdk/src/protocols/hegic/abis.ts +7 -2
- package/sdk/src/protocols/hegic/addresses.ts +1 -0
- package/sdk/src/protocols/hegic/functions.ts +3 -3
- package/sdk/src/protocols/hop/addresses.ts +5 -2
- package/sdk/src/protocols/hyperlane/HyperlaneMailboxABI.json +5 -5
- package/sdk/src/protocols/hyperlane/abis.ts +5 -5
- package/sdk/src/protocols/hyperlane/addresses.ts +9 -0
- package/sdk/src/protocols/index.ts +13 -0
- package/sdk/src/protocols/kim/KimRouterABI.json +8 -27
- package/sdk/src/protocols/kim/abis.ts +6 -12
- package/sdk/src/protocols/kim/functions.ts +3 -2
- package/sdk/src/protocols/kyberswap/KyberSwapElasticRouterABI.json +1 -1
- package/sdk/src/protocols/kyberswap/KyberSwapMetaAggregationRouterABI.json +52 -18
- package/sdk/src/protocols/kyberswap/abis.ts +21 -8
- package/sdk/src/protocols/kyberswap/addresses.ts +12 -2
- package/sdk/src/protocols/kyberswap-aggregator/addresses.ts +12 -1
- package/sdk/src/protocols/layerbank/LTokenABI.json +19 -29
- package/sdk/src/protocols/layerbank/LayerBankCoreABI.json +87 -2
- package/sdk/src/protocols/layerbank/abis.ts +69 -17
- package/sdk/src/protocols/layerbank/addresses.ts +3 -1
- package/sdk/src/protocols/layerbank/functions.ts +18 -16
- package/sdk/src/protocols/layerzero/LayerZeroEndpointV2ABI.json +3 -3
- package/sdk/src/protocols/layerzero/abis.ts +3 -3
- package/sdk/src/protocols/layerzero/addresses.ts +11 -1
- package/sdk/src/protocols/level-finance/LiquidityPoolABI.json +8 -0
- package/sdk/src/protocols/level-finance/abis.ts +2 -0
- package/sdk/src/protocols/level-finance/functions.ts +4 -4
- package/sdk/src/protocols/lifi/LiFiDiamondABI.json +54 -4
- package/sdk/src/protocols/lifi/abis.ts +24 -4
- package/sdk/src/protocols/lifi/addresses.ts +9 -0
- package/sdk/src/protocols/lifi/functions.ts +5 -2
- package/sdk/src/protocols/liquity-v1/BorrowerOperationsABI.json +8 -0
- package/sdk/src/protocols/liquity-v1/abis.ts +7 -1
- package/sdk/src/protocols/liquity-v1/functions.ts +1 -1
- package/sdk/src/protocols/liquity-v2/functions.ts +4 -6
- package/sdk/src/protocols/mantle-meth/METHABI.json +0 -46
- package/sdk/src/protocols/mantle-meth/METHStakingABI.json +50 -0
- package/sdk/src/protocols/mantle-meth/abis.ts +23 -17
- package/sdk/src/protocols/mantle-meth/addresses.ts +3 -0
- package/sdk/src/protocols/mantle-meth/functions.ts +4 -4
- package/sdk/src/protocols/maverick/MaverickV2FactoryABI.json +8 -0
- package/sdk/src/protocols/maverick/MaverickV2RouterABI.json +4 -0
- package/sdk/src/protocols/maverick/abis.ts +7 -1
- package/sdk/src/protocols/morpho-blue/addresses.ts +10 -0
- package/sdk/src/protocols/mux-protocol/LiquidityPoolABI.json +45 -11
- package/sdk/src/protocols/mux-protocol/OrderBookABI.json +59 -17
- package/sdk/src/protocols/mux-protocol/abis.ts +55 -22
- package/sdk/src/protocols/mux-protocol/functions.ts +8 -8
- package/sdk/src/protocols/olympus/StakingABI.json +8 -3
- package/sdk/src/protocols/olympus/abis.ts +2 -2
- package/sdk/src/protocols/oneinch/AggregationRouterV6ABI.json +5 -5
- package/sdk/src/protocols/oneinch/abis.ts +5 -3
- package/sdk/src/protocols/oneinch/functions.ts +2 -2
- package/sdk/src/protocols/openocean/OpenOceanExchangeV2ABI.json +19 -1
- package/sdk/src/protocols/openocean/abis.ts +11 -1
- package/sdk/src/protocols/openocean/functions.ts +1 -1
- package/sdk/src/protocols/opyn/ControllerABI.json +6 -1
- package/sdk/src/protocols/opyn/abis.ts +1 -1
- package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3FactoryABI.json +1 -1
- package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3NFPMABI.json +3 -3
- package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3SmartRouterABI.json +2 -2
- package/sdk/src/protocols/pancakeswap-v3/abis.ts +6 -6
- package/sdk/src/protocols/paraswap/AugustusV5ABI.json +1 -1
- package/sdk/src/protocols/paraswap/abis.ts +1 -1
- package/sdk/src/protocols/pendle/PendleRouterABI.json +392 -6
- package/sdk/src/protocols/pendle/abis.ts +160 -6
- package/sdk/src/protocols/permit2/Permit2ABI.json +1 -1
- package/sdk/src/protocols/permit2/abis.ts +1 -1
- package/sdk/src/protocols/permit2/addresses.ts +9 -0
- package/sdk/src/protocols/perpetual-protocol/ClearingHouseABI.json +61 -49
- package/sdk/src/protocols/perpetual-protocol/abis.ts +27 -14
- package/sdk/src/protocols/premia/DiamondABI.json +24 -24
- package/sdk/src/protocols/premia/abis.ts +20 -10
- package/sdk/src/protocols/premia/addresses.ts +3 -8
- package/sdk/src/protocols/premia/functions.ts +8 -8
- package/sdk/src/protocols/pyth/PythOracleABI.json +3 -3
- package/sdk/src/protocols/pyth/abis.ts +6 -3
- package/sdk/src/protocols/reflexer/ETHJoinABI.json +5 -1
- package/sdk/src/protocols/reflexer/SAFEEngineABI.json +4 -4
- package/sdk/src/protocols/reflexer/abis.ts +10 -6
- package/sdk/src/protocols/renzo/RestakeManagerABI.json +1 -1
- package/sdk/src/protocols/renzo/abis.ts +1 -1
- package/sdk/src/protocols/sablier/LockupLinearABI.json +2 -2
- package/sdk/src/protocols/sablier/abis.ts +2 -2
- package/sdk/src/protocols/safe/addresses.ts +10 -0
- package/sdk/src/protocols/seaport/SeaportABI.json +87 -5
- package/sdk/src/protocols/seaport/abis.ts +41 -5
- package/sdk/src/protocols/seaport/addresses.ts +10 -0
- package/sdk/src/protocols/seaport/functions.ts +1 -0
- package/sdk/src/protocols/silo/SiloABI.json +4 -0
- package/sdk/src/protocols/silo/abis.ts +4 -1
- package/sdk/src/protocols/silo/addresses.ts +2 -1
- package/sdk/src/protocols/silo/functions.ts +2 -1
- package/sdk/src/protocols/socket/SocketGatewayABI.json +1 -17
- package/sdk/src/protocols/socket/abis.ts +3 -11
- package/sdk/src/protocols/socket/functions.ts +1 -1
- package/sdk/src/protocols/spookyswap/addresses.ts +2 -1
- package/sdk/src/protocols/squid/SquidRouterABI.json +42 -26
- package/sdk/src/protocols/squid/abis.ts +19 -13
- package/sdk/src/protocols/squid/functions.ts +2 -2
- package/sdk/src/protocols/stargate/StargatePoolABI.json +31 -3
- package/sdk/src/protocols/stargate/abis.ts +19 -3
- package/sdk/src/protocols/superfluid/CFAForwarderABI.json +2 -2
- package/sdk/src/protocols/superfluid/abis.ts +2 -2
- package/sdk/src/protocols/sushiswap-v2/addresses.ts +2 -1
- package/sdk/src/protocols/swell/RswETHABI.json +1 -6
- package/sdk/src/protocols/swell/SwETHABI.json +1 -6
- package/sdk/src/protocols/swell/abis.ts +4 -2
- package/sdk/src/protocols/swell/functions.ts +4 -2
- package/sdk/src/protocols/synapse/addresses.ts +2 -1
- package/sdk/src/protocols/synthetix-v3/PerpsMarketProxyABI.json +54 -5
- package/sdk/src/protocols/synthetix-v3/abis.ts +27 -5
- package/sdk/src/protocols/synthetix-v3/addresses.ts +2 -1
- package/sdk/src/protocols/synthra-v3/SynthraV3FactoryABI.json +54 -0
- package/sdk/src/protocols/synthra-v3/SynthraV3NonfungiblePositionManagerABI.json +212 -0
- package/sdk/src/protocols/synthra-v3/SynthraV3QuoterV2ABI.json +55 -0
- package/sdk/src/protocols/synthra-v3/SynthraV3SwapRouter02ABI.json +168 -0
- package/sdk/src/protocols/synthra-v3/abis.ts +244 -0
- package/sdk/src/protocols/synthra-v3/addresses.ts +17 -0
- package/sdk/src/protocols/synthra-v3/functions.ts +8 -0
- package/sdk/src/protocols/synthra-v3/index.ts +4 -0
- package/sdk/src/protocols/synthra-v3/info.ts +13 -0
- package/sdk/src/protocols/thales/PositionalMarketABI.json +16 -0
- package/sdk/src/protocols/thales/SpeedMarketsAMMABI.json +57 -22
- package/sdk/src/protocols/thales/ThalesAMMABI.json +4 -11
- package/sdk/src/protocols/thales/abis.ts +28 -11
- package/sdk/src/protocols/thales/functions.ts +5 -6
- package/sdk/src/protocols/thruster/ThrusterV3SwapRouterABI.json +1 -1
- package/sdk/src/protocols/thruster/abis.ts +1 -1
- package/sdk/src/protocols/trader-joe/LBRouterABI.json +3 -3
- package/sdk/src/protocols/trader-joe/abis.ts +2 -2
- package/sdk/src/protocols/uniswap-v2/addresses.ts +10 -0
- package/sdk/src/protocols/uniswap-v3/UniswapV3FactoryABI.json +2 -2
- package/sdk/src/protocols/uniswap-v3/UniswapV3NonfungiblePositionManagerABI.json +3 -3
- package/sdk/src/protocols/uniswap-v3/UniswapV3QuoterV2ABI.json +1 -1
- package/sdk/src/protocols/uniswap-v3/UniswapV3SwapRouter02ABI.json +168 -0
- package/sdk/src/protocols/uniswap-v3/UniswapV3SwapRouterABI.json +2 -2
- package/sdk/src/protocols/uniswap-v3/abis.ts +91 -8
- package/sdk/src/protocols/uniswap-v3/addresses.ts +14 -0
- package/sdk/src/protocols/uniswap-v4/UniswapV4PoolManagerABI.json +15 -15
- package/sdk/src/protocols/uniswap-v4/UniswapV4UniversalRouterABI.json +16 -0
- package/sdk/src/protocols/uniswap-v4/abis.ts +25 -15
- package/sdk/src/protocols/uniswap-v4/addresses.ts +11 -0
- package/sdk/src/protocols/unitflow-v3/UnitFlowV3FactoryABI.json +46 -0
- package/sdk/src/protocols/unitflow-v3/UnitFlowV3QuoterABI.json +37 -0
- package/sdk/src/protocols/unitflow-v3/UnitFlowV3RouterABI.json +67 -0
- package/sdk/src/protocols/unitflow-v3/abis.ts +71 -0
- package/sdk/src/protocols/unitflow-v3/addresses.ts +20 -0
- package/sdk/src/protocols/unitflow-v3/functions.ts +8 -0
- package/sdk/src/protocols/unitflow-v3/index.ts +4 -0
- package/sdk/src/protocols/unitflow-v3/info.ts +14 -0
- package/sdk/src/protocols/velodrome/addresses.ts +3 -1
- package/sdk/src/protocols/venus/VBNBABI.json +86 -0
- package/sdk/src/protocols/venus/VTokenABI.json +1 -1
- package/sdk/src/protocols/venus/abis.ts +49 -1
- package/sdk/src/protocols/vertex/ClearinghouseABI.json +20 -10
- package/sdk/src/protocols/vertex/EndpointABI.json +1 -1
- package/sdk/src/protocols/vertex/abis.ts +13 -4
- package/sdk/src/protocols/wormhole/WormholeTokenBridgeABI.json +2 -2
- package/sdk/src/protocols/wormhole/abis.ts +2 -2
- package/sdk/src/protocols/wormhole/addresses.ts +9 -0
- package/sdk/src/protocols/zerolend/addresses.ts +2 -1
- package/sdk/src/protocols/zerox/addresses.ts +2 -1
- package/sdk/src/protocols/zksync-bridge/ZkSyncDiamondProxyABI.json +1 -1
- package/sdk/src/protocols/zksync-bridge/abis.ts +1 -1
- package/sdk/src/skills/aave-v4.md +91 -0
- package/sdk/src/skills/across.md +28 -10
- package/sdk/src/skills/aerodrome-slipstream.md +57 -0
- package/sdk/src/skills/aerodrome.md +1 -0
- package/sdk/src/skills/aevo.md +12 -4
- package/sdk/src/skills/ambient.md +2 -2
- package/sdk/src/skills/arrakis.md +3 -3
- package/sdk/src/skills/cbeth.md +6 -8
- package/sdk/src/skills/chainlink-ccip.md +3 -2
- package/sdk/src/skills/chainlink.md +1 -1
- package/sdk/src/skills/circle-gateway.md +98 -0
- package/sdk/src/skills/compound-v2.md +2 -2
- package/sdk/src/skills/connext.md +8 -7
- package/sdk/src/skills/crvusd.md +6 -6
- package/sdk/src/skills/curve.md +17 -2
- package/sdk/src/skills/debridge.md +3 -2
- package/sdk/src/skills/eigenlayer.md +1 -1
- package/sdk/src/skills/erc20.md +8 -10
- package/sdk/src/skills/etherfi.md +1 -1
- package/sdk/src/skills/fluid.md +46 -39
- package/sdk/src/skills/frax.md +6 -6
- package/sdk/src/skills/gains-network.md +13 -21
- package/sdk/src/skills/gamma.md +12 -6
- package/sdk/src/skills/gho.md +4 -6
- package/sdk/src/skills/gmx-v1.md +4 -2
- package/sdk/src/skills/gmx-v2.md +6 -2
- package/sdk/src/skills/harvest.md +2 -2
- package/sdk/src/skills/hegic.md +9 -8
- package/sdk/src/skills/hop.md +8 -8
- package/sdk/src/skills/hyperlane.md +4 -3
- package/sdk/src/skills/index.md +84 -77
- package/sdk/src/skills/kim.md +11 -14
- package/sdk/src/skills/kyberswap-aggregator.md +5 -3
- package/sdk/src/skills/kyberswap.md +6 -6
- package/sdk/src/skills/layerbank.md +41 -35
- package/sdk/src/skills/layerzero.md +3 -2
- package/sdk/src/skills/level-finance.md +6 -4
- package/sdk/src/skills/lido.md +5 -5
- package/sdk/src/skills/lifi.md +41 -23
- package/sdk/src/skills/liquity-v1.md +6 -2
- package/sdk/src/skills/liquity-v2.md +4 -6
- package/sdk/src/skills/loader.ts +15 -25
- package/sdk/src/skills/mantle-meth.md +13 -5
- package/sdk/src/skills/maverick.md +3 -3
- package/sdk/src/skills/morpho-blue.md +1 -1
- package/sdk/src/skills/mux-protocol.md +21 -17
- package/sdk/src/skills/oneinch.md +4 -3
- package/sdk/src/skills/openocean.md +2 -2
- package/sdk/src/skills/opyn.md +1 -1
- package/sdk/src/skills/permit2.md +1 -1
- package/sdk/src/skills/perpetual-protocol.md +2 -2
- package/sdk/src/skills/premia.md +21 -21
- package/sdk/src/skills/reflexer.md +1 -1
- package/sdk/src/skills/renzo.md +1 -1
- package/sdk/src/skills/safe.md +1 -1
- package/sdk/src/skills/seaport.md +3 -2
- package/sdk/src/skills/silo.md +4 -3
- package/sdk/src/skills/socket.md +4 -5
- package/sdk/src/skills/spookyswap.md +2 -2
- package/sdk/src/skills/squid.md +18 -10
- package/sdk/src/skills/stargate.md +1 -1
- package/sdk/src/skills/sushiswap-v2.md +1 -1
- package/sdk/src/skills/swell.md +6 -4
- package/sdk/src/skills/synapse.md +1 -1
- package/sdk/src/skills/synthetix-v3.md +1 -1
- package/sdk/src/skills/synthra-v3.md +57 -0
- package/sdk/src/skills/thales.md +12 -10
- package/sdk/src/skills/trader-joe.md +1 -1
- package/sdk/src/skills/uniswap-v2.md +2 -1
- package/sdk/src/skills/uniswap-v3.md +14 -4
- package/sdk/src/skills/uniswap-v4.md +3 -1
- package/sdk/src/skills/unitflow-v3.md +62 -0
- package/sdk/src/skills/velodrome.md +2 -2
- package/sdk/src/skills/venus.md +10 -2
- package/sdk/src/skills/vertex.md +1 -1
- package/sdk/src/skills/wormhole.md +1 -1
- package/sdk/src/skills/zerolend.md +1 -1
- package/sdk/src/skills/zerox.md +1 -1
- package/sdk/src/skills/zksync-bridge.md +1 -1
- package/actions/dist/megas-swap.d.ts +0 -97
- package/actions/dist/megas-swap.d.ts.map +0 -1
- package/actions/dist/megas-swap.js +0 -286
- package/sdk/dist/routes/globals.generated.d.ts +0 -94
- package/sdk/dist/routes/globals.generated.d.ts.map +0 -1
- package/sdk/dist/routes/globals.generated.js +0 -2
- package/sdk/dist/routes/globals.generated.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent-sugar.js","sourceRoot":"","sources":["../../src/routes/intent-sugar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { type ByteTemplate, type PlaceholderSpec } from "./template.js";
|
|
2
|
+
import type { AddressInput, Hex, Intent } from "./types.js";
|
|
3
|
+
export { WAD } from "./template.js";
|
|
4
|
+
export type { AmountSource, ByteTemplate, PlaceholderSpec, TemplateSlot } from "./template.js";
|
|
5
|
+
/**
|
|
6
|
+
* The canonical 32-byte sentinels a caller writes into a child intent wherever a runtime amount
|
|
7
|
+
* belongs — one ABI word each, which is every amount field on the EVM path (`reward.tokens[].amount`,
|
|
8
|
+
* `route.tokens[].amount`, `nativeAmount`, and any `uint256` inside a `route.calls[].data` the
|
|
9
|
+
* caller encodes itself).
|
|
10
|
+
*
|
|
11
|
+
* The tag `0x5acef00d` in the high bytes and a one-byte discriminant in the low byte make these
|
|
12
|
+
* ~1.5e77 — far outside any token amount — and structurally unmistakable in a trace. They are only a
|
|
13
|
+
* DEFAULT, though, not a magic value the splice recognises: `splitByPlaceholders` matches whatever
|
|
14
|
+
* sentinel the caller declares, and every match is counted and checked, so a collision fails loudly
|
|
15
|
+
* rather than corrupting a field.
|
|
16
|
+
*/
|
|
17
|
+
export declare const AMOUNT_IN_PLACEHOLDER: bigint;
|
|
18
|
+
/** @see AMOUNT_IN_PLACEHOLDER */
|
|
19
|
+
export declare const AMOUNT_OUT_PLACEHOLDER: bigint;
|
|
20
|
+
/**
|
|
21
|
+
* The u64-sized twins, for a child whose DESTINATION is Solana: `encodeRouteSvm` Borsh-encodes
|
|
22
|
+
* `route.tokens[].amount` as a `u64` and `assertU64` REJECTS the 32-byte sentinels above outright,
|
|
23
|
+
* so a route-side amount on that leg needs one of these plus `width: 8, littleEndian: true`. The
|
|
24
|
+
* reward side of the same intent still uses the 32-byte sentinels — the reward is escrowed on the
|
|
25
|
+
* EVM source chain and ABI-encoded, whatever the destination is. That asymmetry is `encode.ts`'s,
|
|
26
|
+
* not this module's: `hashIntent` already encodes route and reward for different chain kinds.
|
|
27
|
+
*/
|
|
28
|
+
export declare const AMOUNT_IN_PLACEHOLDER_U64: bigint;
|
|
29
|
+
/** @see AMOUNT_IN_PLACEHOLDER_U64 */
|
|
30
|
+
export declare const AMOUNT_OUT_PLACEHOLDER_U64: bigint;
|
|
31
|
+
/**
|
|
32
|
+
* Where the one runtime number comes from.
|
|
33
|
+
*
|
|
34
|
+
* - `erc20Balance` — `IERC20.at(token).balanceOf(ctx.self())`, i.e. what the parent's earlier calls
|
|
35
|
+
* left in the Pot. The default shape, and `IntentChainer`'s only one.
|
|
36
|
+
* - `nativeBalance` — `ctx.selfBalance()`, for a native-in cascade.
|
|
37
|
+
* - `expression` — verbatim SauceScript, the escape hatch for a program that ALREADY holds the
|
|
38
|
+
* number in a local (a swap's own return value, when these statements are inlined into the
|
|
39
|
+
* parent's own body rather than compiled as their own `cook()`). Not validated: whatever is
|
|
40
|
+
* written here is what compiles.
|
|
41
|
+
*/
|
|
42
|
+
export type AmountMeasurement = {
|
|
43
|
+
readonly kind: "erc20Balance";
|
|
44
|
+
readonly token: AddressInput;
|
|
45
|
+
} | {
|
|
46
|
+
readonly kind: "nativeBalance";
|
|
47
|
+
} | {
|
|
48
|
+
readonly kind: "expression";
|
|
49
|
+
readonly expression: string;
|
|
50
|
+
};
|
|
51
|
+
export interface DynamicChildOptions {
|
|
52
|
+
/** The Portal the child is published on — the parent's own `route.portal`, since the child's
|
|
53
|
+
* source chain IS the parent's execution chain (`nest.ts`'s module doc has the grounding). */
|
|
54
|
+
readonly portal: AddressInput;
|
|
55
|
+
readonly measure: AmountMeasurement;
|
|
56
|
+
/** WAD-denominated: `amountOut = ceil(amountIn * scale / WAD)`. Defaults to `WAD` (identity, so
|
|
57
|
+
* `amountOut === amountIn`). Carries BOTH the decimals conversion (`1e30` for 6 -> 18 decimals,
|
|
58
|
+
* `1e6` for 18 -> 6) and the proportional margin. */
|
|
59
|
+
readonly scale?: bigint;
|
|
60
|
+
/**
|
|
61
|
+
* Reject a measurement below this floor, reverting the parent's whole fulfillment. Defaults to
|
|
62
|
+
* `1n` — `IntentChainer.ZeroAmount`'s behaviour, and the right default: publishing a child funded
|
|
63
|
+
* with nothing burns the parent for nothing, and the revert is free because it unwinds the same
|
|
64
|
+
* transaction that produced the balance. Pass `0n` to opt out entirely.
|
|
65
|
+
*/
|
|
66
|
+
readonly minAmountIn?: bigint;
|
|
67
|
+
/** Passed through to `publishAndFund`. Defaults to `false` — a partially funded child is a
|
|
68
|
+
* stalled cascade (same default as `nest.ts`'s publishAndFund mode). */
|
|
69
|
+
readonly allowPartial?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Which sentinels to cut the encoded child at. Defaults to both canonical 32-byte placeholders
|
|
72
|
+
* with no declared occurrence count. Supply this explicitly to PIN the counts (strongly
|
|
73
|
+
* recommended — see `PlaceholderSpec.occurrences`), to apply a per-slot scale, or to template a
|
|
74
|
+
* narrower/little-endian field such as a Borsh `u64`.
|
|
75
|
+
*/
|
|
76
|
+
readonly placeholders?: readonly PlaceholderSpec[];
|
|
77
|
+
/**
|
|
78
|
+
* `"auto"` (default) emits one `approve(portal, amount)` per DISTINCT reward token before the
|
|
79
|
+
* publish — the Portal pulls reward legs with `safeTransferFrom(funder = msg.sender)`, and
|
|
80
|
+
* `msg.sender` here is the Pot, so without this the funding silently moves nothing and the call
|
|
81
|
+
* reverts on `InsufficientFunds`. `"none"` emits nothing, for a caller that approved elsewhere.
|
|
82
|
+
*/
|
|
83
|
+
readonly approve?: "auto" | "none";
|
|
84
|
+
/** Overrides the native value forwarded to `publishAndFund`. Defaults to `reward.nativeAmount` —
|
|
85
|
+
* exactly, never rounded up; see the module doc's note on `Refund.excessNative`. */
|
|
86
|
+
readonly value?: bigint;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* The child's `publishAndFund` calldata, cut into literal segments and slots.
|
|
90
|
+
*
|
|
91
|
+
* Built by `portal.ts#publishAndFundTx` — the SAME encoder the static path uses, so a dynamic child
|
|
92
|
+
* and the concrete intent it renders to are bytes-identical by construction rather than by a second
|
|
93
|
+
* implementation agreeing. That is also what makes the off-chain check in `renderDynamicChild`
|
|
94
|
+
* meaningful: it compares this module's output against an encoder neither this module nor the test
|
|
95
|
+
* re-implements.
|
|
96
|
+
*/
|
|
97
|
+
export declare function dynamicChildTemplate(child: Intent, opts: DynamicChildOptions): ByteTemplate;
|
|
98
|
+
/**
|
|
99
|
+
* The exact calldata the emitted program would build for a given measurement — the off-chain twin
|
|
100
|
+
* of the on-chain concatenation, and the only way to check this codegen without an engine. Pair it
|
|
101
|
+
* with `publishAndFundTx` on the equivalent CONCRETE child and the two must be byte-identical.
|
|
102
|
+
*/
|
|
103
|
+
export declare function renderDynamicChild(child: Intent, opts: DynamicChildOptions, amountIn: bigint): Hex;
|
|
104
|
+
/**
|
|
105
|
+
* Asserts the child really is dynamic. `nest.ts#assertStaticChild` documents itself as "the SEAM
|
|
106
|
+
* where an S6 runtime-computed child will be rejected here, rather than silently mis-encoded by
|
|
107
|
+
* treating a placeholder as a real amount" — this is the other side of that seam, and it fails for
|
|
108
|
+
* the mirror-image reason: a child routed through THIS path with no sentinel anywhere would compile,
|
|
109
|
+
* publish, and fund a completely static intent while the program dutifully measured a balance and
|
|
110
|
+
* used it for nothing.
|
|
111
|
+
*/
|
|
112
|
+
export declare function assertDynamicChild(child: Intent, index: number, opts: DynamicChildOptions): void;
|
|
113
|
+
/**
|
|
114
|
+
* The SauceScript statements ONE dynamic child contributes to a program: measure, floor-check,
|
|
115
|
+
* derive, approve, render, publish. `index` namespaces every local (`d<index>_…`) so several
|
|
116
|
+
* children merge into one program scope without colliding — the same discipline
|
|
117
|
+
* `nest.ts#nestedTransferStatements` uses.
|
|
118
|
+
*
|
|
119
|
+
* Emitted in exactly this order, and the order is load-bearing: the approve must precede the
|
|
120
|
+
* publish (the Portal pulls during it), and every guard must precede the approve (so a rejected
|
|
121
|
+
* measurement costs nothing and leaves no allowance behind).
|
|
122
|
+
*/
|
|
123
|
+
export declare function dynamicChildStatements(child: Intent, index: number, opts: DynamicChildOptions): readonly string[];
|
|
124
|
+
/** One `{ child, opts }` pair per dynamic child, merged (in this array's order) into ONE program. */
|
|
125
|
+
export interface DynamicNestEntry {
|
|
126
|
+
readonly child: Intent;
|
|
127
|
+
readonly opts: DynamicChildOptions;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Merges every entry's `dynamicChildStatements` into ONE `function main(){...}` program, shaped
|
|
131
|
+
* exactly like `nest.ts#nestedTransferProgram` so `intent-dsl.ts` slots it the same way: one extra
|
|
132
|
+
* `cook()` call in the parent's `route.calls`. `imports` is surfaced separately so a caller
|
|
133
|
+
* splicing the statements into its own program merges it rather than re-deriving it.
|
|
134
|
+
*
|
|
135
|
+
* WHY A SEPARATE COOK RATHER THAN APPENDED TO THE PARENT'S OWN BODY: the measurement is the Pot's
|
|
136
|
+
* BALANCE, which persists across calls, so a later cook sees exactly what an earlier one earned.
|
|
137
|
+
* That keeps the parent's own program untouched — the caller's body is compiled from the caller's
|
|
138
|
+
* source, byte for byte, with nothing injected. A caller who wants the two fused (to measure a
|
|
139
|
+
* swap's own RETURN value instead of a balance) inlines `dynamicChildStatements` with
|
|
140
|
+
* `measure: { kind: "expression", … }` into their own body instead.
|
|
141
|
+
*/
|
|
142
|
+
export declare function dynamicChildProgram(entries: readonly DynamicNestEntry[]): {
|
|
143
|
+
readonly source: string;
|
|
144
|
+
readonly imports: readonly string[];
|
|
145
|
+
};
|
|
146
|
+
//# sourceMappingURL=nest-dynamic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nest-dynamic.d.ts","sourceRoot":"","sources":["../../src/routes/nest-dynamic.ts"],"names":[],"mappings":"AAiEA,OAAO,EAOL,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAoB,MAAM,YAAY,CAAC;AAE9E,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE/F;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,QAA2C,CAAC;AAC9E,iCAAiC;AACjC,eAAO,MAAM,sBAAsB,QAA2C,CAAC;AAE/E;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,QAA+B,CAAC;AACtE,qCAAqC;AACrC,eAAO,MAAM,0BAA0B,QAA+B,CAAC;AAEvE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GAC/D;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAClC;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC;mGAC+F;IAC/F,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC;;0DAEsD;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;6EACyE;IACzE,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC;yFACqF;IACrF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AASD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAG3F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,MAAM,GACf,GAAG,CAGL;AAqCD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAiBhG;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,mBAAmB,GACxB,SAAS,MAAM,EAAE,CAsHnB;AAED,qGAAqG;AACrG,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,GAAG;IACzE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC,CAcA"}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* eco-routes V2 DYNAMIC nesting — a child intent CREATED ON-CHAIN, from an amount nobody knew when
|
|
3
|
+
* the parent was signed.
|
|
4
|
+
*
|
|
5
|
+
* `nest.ts` is the static twin and opens with the reason this file exists: "A STATIC child (every
|
|
6
|
+
* reward field known off-chain) needs no on-chain struct construction and no Sauce-program
|
|
7
|
+
* involvement at all". The converse is what a real cascade needs and what that path cannot express:
|
|
8
|
+
* the child's reward IS the output of a swap that runs earlier in the SAME fulfillment, so its
|
|
9
|
+
* amount does not exist until the parent is already executing. You cannot pre-encode a number you
|
|
10
|
+
* have not measured.
|
|
11
|
+
*
|
|
12
|
+
* WHAT THIS DOES INSTEAD, in the parent's own Sauce program, on the parent's destination chain:
|
|
13
|
+
*
|
|
14
|
+
* 1. MEASURE — read the Pot's balance of the token the earlier calls produced (`ctx.self()` is the
|
|
15
|
+
* Pot; see CLAUDE.md's engine notes). This is the one runtime measurement in the whole flow,
|
|
16
|
+
* exactly as `IntentChainer._measure` describes it.
|
|
17
|
+
* 2. DERIVE — `amountOut = ceil(amountIn * scale / WAD)`. A delivery obligation is generally not
|
|
18
|
+
* the measured input: `scale` carries both the decimals conversion and the proportional margin.
|
|
19
|
+
* 3. RENDER — concatenate the child's precompiled `publishAndFund` calldata around those two
|
|
20
|
+
* numbers (`template.ts`), which is only possible because an ABI word splice moves nothing
|
|
21
|
+
* after it.
|
|
22
|
+
* 4. CALL — `evm.call(portal, value, rendered)`. One call, no intermediary.
|
|
23
|
+
*
|
|
24
|
+
* NO CHAINER CONTRACT IS IN THE PATH, deliberately (2026-09-25 USER DIRECTIVE: "Chainer contracts in
|
|
25
|
+
* routes and routes-svm are just examples of how it should work. we don't need to use them. We can
|
|
26
|
+
* precompile sauce for nested intents and then template the bytes on the fly with numbers same way
|
|
27
|
+
* chainer does it."). `../eco-routes/contracts/chain/IntentChainer.sol` and `IntentTemplate.sol`
|
|
28
|
+
* were read as the REFERENCE DESIGN — the `Template { segments, items }` shape, the single
|
|
29
|
+
* measurement, the WAD-scaled `amountOut`, the ceil rounding, the `minAmountIn` floor — and none of
|
|
30
|
+
* it is called. There is nothing to deploy and nothing to trust beyond the Portal itself.
|
|
31
|
+
*
|
|
32
|
+
* WHY THIS IS SAFE WITHOUT ACCESS CONTROL — the same anchor `IntentChainer`'s NatSpec names, one
|
|
33
|
+
* layer down. The whole child (its route bytes, its `reward.creator`, its prover) is baked into the
|
|
34
|
+
* bytecode of a program that rides inside `parent.route.calls[k].data`, which
|
|
35
|
+
* `keccak256(abi.encode(route))` covers, which the `intentHash` `Inbox` re-derives covers. A solver
|
|
36
|
+
* choosing to fulfill the parent cannot alter the child it is publishing; it can only decline.
|
|
37
|
+
*
|
|
38
|
+
* WHAT IS DELIBERATELY NOT DEFENDED AGAINST, stated so it is a choice and not an oversight:
|
|
39
|
+
*
|
|
40
|
+
* - A DONATED BALANCE rides along. The measurement is the Pot's CURRENT balance, not a delta
|
|
41
|
+
* against a baseline — the same accepted property `svm/recipes/settle.sauce.ts` and
|
|
42
|
+
* `nest.ts`'s transfer mode already carry, and the same one `IntentChainer` accepts. Do not add
|
|
43
|
+
* baseline machinery here without changing those too.
|
|
44
|
+
* - A RESIDUAL ALLOWANCE. `IntentSource._fundToken` pulls
|
|
45
|
+
* `min(remaining, allowance(funder, portal), balanceOf(funder))`, so a fully funded leg consumes
|
|
46
|
+
* the approval exactly; a PARTIALLY funded one (`allowPartial: true`, or a short balance) leaves
|
|
47
|
+
* the remainder approved to the Portal. The Portal can only ever spend it into a vault, so this
|
|
48
|
+
* is untidy rather than dangerous, and resetting would cost a second call on every cascade.
|
|
49
|
+
* - NATIVE OVER-SEND. `publishAndFund` ends in `Refund.excessNative()`, which forwards the
|
|
50
|
+
* Portal's ENTIRE balance to `msg.sender` — here the Pot. That is the hazard that made
|
|
51
|
+
* `IntentChainer` refuse to be payable at all, but its `msg.sender` was a shared, solver-driven
|
|
52
|
+
* contract; ours is the Pot executing this very program. `Refund.excessNative` also swallows a
|
|
53
|
+
* failed send rather than reverting, so a Pot with no payable fallback loses the excess instead
|
|
54
|
+
* of bricking the fulfillment. The emitted `value` is therefore exactly `reward.nativeAmount`,
|
|
55
|
+
* never rounded up.
|
|
56
|
+
*
|
|
57
|
+
* Pure SOURCE text, no compiler import — same posture as `nest.ts`. `intent-dsl.ts` owns the
|
|
58
|
+
* `compile()` seam.
|
|
59
|
+
*/
|
|
60
|
+
import { denormalizeToEvm } from "./encode.js";
|
|
61
|
+
import { formatBigint } from "../deposit/format.js";
|
|
62
|
+
import { toAddressBigint } from "../token/params.js";
|
|
63
|
+
import { ERC20_IMPORT_LINE } from "../token/evm.js";
|
|
64
|
+
import { safeApproveStatements } from "../token/safe.js";
|
|
65
|
+
import { publishAndFundTx } from "./portal.js";
|
|
66
|
+
import { emitTemplate, renderTemplate, scaleAmount, splitByPlaceholders, maxScalableBase, WAD, } from "./template.js";
|
|
67
|
+
export { WAD } from "./template.js";
|
|
68
|
+
/**
|
|
69
|
+
* The canonical 32-byte sentinels a caller writes into a child intent wherever a runtime amount
|
|
70
|
+
* belongs — one ABI word each, which is every amount field on the EVM path (`reward.tokens[].amount`,
|
|
71
|
+
* `route.tokens[].amount`, `nativeAmount`, and any `uint256` inside a `route.calls[].data` the
|
|
72
|
+
* caller encodes itself).
|
|
73
|
+
*
|
|
74
|
+
* The tag `0x5acef00d` in the high bytes and a one-byte discriminant in the low byte make these
|
|
75
|
+
* ~1.5e77 — far outside any token amount — and structurally unmistakable in a trace. They are only a
|
|
76
|
+
* DEFAULT, though, not a magic value the splice recognises: `splitByPlaceholders` matches whatever
|
|
77
|
+
* sentinel the caller declares, and every match is counted and checked, so a collision fails loudly
|
|
78
|
+
* rather than corrupting a field.
|
|
79
|
+
*/
|
|
80
|
+
export const AMOUNT_IN_PLACEHOLDER = BigInt(`0x5acef00d${"00".repeat(27)}01`);
|
|
81
|
+
/** @see AMOUNT_IN_PLACEHOLDER */
|
|
82
|
+
export const AMOUNT_OUT_PLACEHOLDER = BigInt(`0x5acef00d${"00".repeat(27)}02`);
|
|
83
|
+
/**
|
|
84
|
+
* The u64-sized twins, for a child whose DESTINATION is Solana: `encodeRouteSvm` Borsh-encodes
|
|
85
|
+
* `route.tokens[].amount` as a `u64` and `assertU64` REJECTS the 32-byte sentinels above outright,
|
|
86
|
+
* so a route-side amount on that leg needs one of these plus `width: 8, littleEndian: true`. The
|
|
87
|
+
* reward side of the same intent still uses the 32-byte sentinels — the reward is escrowed on the
|
|
88
|
+
* EVM source chain and ABI-encoded, whatever the destination is. That asymmetry is `encode.ts`'s,
|
|
89
|
+
* not this module's: `hashIntent` already encodes route and reward for different chain kinds.
|
|
90
|
+
*/
|
|
91
|
+
export const AMOUNT_IN_PLACEHOLDER_U64 = BigInt("0x5acef00d00000001");
|
|
92
|
+
/** @see AMOUNT_IN_PLACEHOLDER_U64 */
|
|
93
|
+
export const AMOUNT_OUT_PLACEHOLDER_U64 = BigInt("0x5acef00d00000002");
|
|
94
|
+
function defaultPlaceholders() {
|
|
95
|
+
return [
|
|
96
|
+
{ value: AMOUNT_IN_PLACEHOLDER, source: "amountIn" },
|
|
97
|
+
{ value: AMOUNT_OUT_PLACEHOLDER, source: "amountOut" },
|
|
98
|
+
];
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* The child's `publishAndFund` calldata, cut into literal segments and slots.
|
|
102
|
+
*
|
|
103
|
+
* Built by `portal.ts#publishAndFundTx` — the SAME encoder the static path uses, so a dynamic child
|
|
104
|
+
* and the concrete intent it renders to are bytes-identical by construction rather than by a second
|
|
105
|
+
* implementation agreeing. That is also what makes the off-chain check in `renderDynamicChild`
|
|
106
|
+
* meaningful: it compares this module's output against an encoder neither this module nor the test
|
|
107
|
+
* re-implements.
|
|
108
|
+
*/
|
|
109
|
+
export function dynamicChildTemplate(child, opts) {
|
|
110
|
+
const tx = publishAndFundTx(child, opts.allowPartial ?? false, { portal: opts.portal });
|
|
111
|
+
return splitByPlaceholders(tx.data, opts.placeholders ?? defaultPlaceholders());
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* The exact calldata the emitted program would build for a given measurement — the off-chain twin
|
|
115
|
+
* of the on-chain concatenation, and the only way to check this codegen without an engine. Pair it
|
|
116
|
+
* with `publishAndFundTx` on the equivalent CONCRETE child and the two must be byte-identical.
|
|
117
|
+
*/
|
|
118
|
+
export function renderDynamicChild(child, opts, amountIn) {
|
|
119
|
+
const scale = opts.scale ?? WAD;
|
|
120
|
+
return renderTemplate(dynamicChildTemplate(child, opts), amountIn, scaleAmount(amountIn, scale));
|
|
121
|
+
}
|
|
122
|
+
function evmTokenLiteral(token) {
|
|
123
|
+
return formatBigint(BigInt(denormalizeToEvm(token)));
|
|
124
|
+
}
|
|
125
|
+
/** Every distinct sentinel the caller declared, so a reward leg's amount can be recognised as
|
|
126
|
+
* templated rather than literal. */
|
|
127
|
+
function placeholderIndexOf(amount, placeholders) {
|
|
128
|
+
const i = placeholders.findIndex((p) => p.value === amount);
|
|
129
|
+
return i === -1 ? undefined : i;
|
|
130
|
+
}
|
|
131
|
+
/** The local a given placeholder's value lands in, found by matching its (source, scale) against
|
|
132
|
+
* the slots `emitTemplate` named — never re-derived, so the approve and the reward tuple can never
|
|
133
|
+
* disagree about the number. */
|
|
134
|
+
function localForPlaceholder(spec, template, slotVars) {
|
|
135
|
+
const scale = spec.scale ?? WAD;
|
|
136
|
+
const i = template.slots.findIndex((s) => s.source === spec.source && s.scale === scale);
|
|
137
|
+
if (i === -1) {
|
|
138
|
+
// Unreachable via `dynamicChildStatements` (every slot comes from a declared placeholder), but
|
|
139
|
+
// a wrong local name here would approve or forward a different number than the bytes carry.
|
|
140
|
+
throw new Error(`nest-dynamic: no template slot renders (${spec.source}, scale ${scale}) — cannot name the local ` +
|
|
141
|
+
`holding that amount.`);
|
|
142
|
+
}
|
|
143
|
+
return slotVars[i];
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Asserts the child really is dynamic. `nest.ts#assertStaticChild` documents itself as "the SEAM
|
|
147
|
+
* where an S6 runtime-computed child will be rejected here, rather than silently mis-encoded by
|
|
148
|
+
* treating a placeholder as a real amount" — this is the other side of that seam, and it fails for
|
|
149
|
+
* the mirror-image reason: a child routed through THIS path with no sentinel anywhere would compile,
|
|
150
|
+
* publish, and fund a completely static intent while the program dutifully measured a balance and
|
|
151
|
+
* used it for nothing.
|
|
152
|
+
*/
|
|
153
|
+
export function assertDynamicChild(child, index, opts) {
|
|
154
|
+
// Building the template IS the check: `splitByPlaceholders` throws when a declared sentinel matched
|
|
155
|
+
// nothing. What it cannot know is WHY that is interesting here, so its diagnostic is wrapped rather
|
|
156
|
+
// than re-derived -- the cause keeps the byte-level detail (which sentinel, how long the payload
|
|
157
|
+
// was) while this message names the decision the caller has to revisit.
|
|
158
|
+
try {
|
|
159
|
+
dynamicChildTemplate(child, opts);
|
|
160
|
+
}
|
|
161
|
+
catch (cause) {
|
|
162
|
+
const placeholders = opts.placeholders ?? defaultPlaceholders();
|
|
163
|
+
throw new Error(`assertDynamicChild: child[${index}] does not carry all ${placeholders.length} declared ` +
|
|
164
|
+
`placeholder(s), so there is nothing for a measurement to fill. Either write the sentinels into ` +
|
|
165
|
+
`the child's amount fields, or nest it with via: "publishAndFund"/"transfer" — a fully static ` +
|
|
166
|
+
`child routed through here would measure a balance and use it for nothing.`, { cause });
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* The SauceScript statements ONE dynamic child contributes to a program: measure, floor-check,
|
|
171
|
+
* derive, approve, render, publish. `index` namespaces every local (`d<index>_…`) so several
|
|
172
|
+
* children merge into one program scope without colliding — the same discipline
|
|
173
|
+
* `nest.ts#nestedTransferStatements` uses.
|
|
174
|
+
*
|
|
175
|
+
* Emitted in exactly this order, and the order is load-bearing: the approve must precede the
|
|
176
|
+
* publish (the Portal pulls during it), and every guard must precede the approve (so a rejected
|
|
177
|
+
* measurement costs nothing and leaves no allowance behind).
|
|
178
|
+
*/
|
|
179
|
+
export function dynamicChildStatements(child, index, opts) {
|
|
180
|
+
assertDynamicChild(child, index, opts);
|
|
181
|
+
const placeholders = opts.placeholders ?? defaultPlaceholders();
|
|
182
|
+
const template = dynamicChildTemplate(child, opts);
|
|
183
|
+
const scale = opts.scale ?? WAD;
|
|
184
|
+
if (scale <= 0n) {
|
|
185
|
+
throw new Error(`dynamicChildStatements: child[${index}] scale must be positive (a zero scale obliges the solver ` +
|
|
186
|
+
`to deliver nothing while collecting the whole escrow), got ${scale}`);
|
|
187
|
+
}
|
|
188
|
+
const minAmountIn = opts.minAmountIn ?? 1n;
|
|
189
|
+
const portalLiteral = formatBigint(toAddressBigint(opts.portal, "portal"));
|
|
190
|
+
const prefix = `d${index}_`;
|
|
191
|
+
const inVar = `${prefix}in`;
|
|
192
|
+
const statements = [];
|
|
193
|
+
// 1. MEASURE.
|
|
194
|
+
switch (opts.measure.kind) {
|
|
195
|
+
case "erc20Balance":
|
|
196
|
+
statements.push(`const ${inVar} = IERC20.at(${formatBigint(toAddressBigint(opts.measure.token, "measure.token"))}).balanceOf(ctx.self());`);
|
|
197
|
+
break;
|
|
198
|
+
case "nativeBalance":
|
|
199
|
+
statements.push(`const ${inVar} = ctx.selfBalance();`);
|
|
200
|
+
break;
|
|
201
|
+
case "expression":
|
|
202
|
+
statements.push(`const ${inVar} = ${opts.measure.expression};`);
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
// 2. FLOOR. Before anything is derived or approved, so a rejected measurement leaves no trace.
|
|
206
|
+
if (minAmountIn > 0n) {
|
|
207
|
+
statements.push(`if (${inVar} < ${formatBigint(minAmountIn)}) { throw 'sauce: measured amount below floor'; }`);
|
|
208
|
+
}
|
|
209
|
+
// 3. DERIVE. The identity scale needs no arithmetic and no local at all -- `amountOut` IS the
|
|
210
|
+
// measurement -- which keeps the common case free of the overflow guard below entirely.
|
|
211
|
+
let outVar = inVar;
|
|
212
|
+
if (scale !== WAD) {
|
|
213
|
+
outVar = `${prefix}out`;
|
|
214
|
+
statements.push(`if (${inVar} > ${formatBigint(maxScalableBase(scale))}) { throw 'sauce: measured amount overflows scale'; }`, `const ${outVar} = (${inVar} * ${formatBigint(scale)} + ${formatBigint(WAD - 1n)}) / ${formatBigint(WAD)};`);
|
|
215
|
+
}
|
|
216
|
+
// 4. RENDER.
|
|
217
|
+
const emitted = emitTemplate(template, { prefix, amountInVar: inVar, amountOutVar: outVar });
|
|
218
|
+
statements.push(...emitted.statements);
|
|
219
|
+
// 5. APPROVE, one per DISTINCT reward token. A token whose legs are all literal approves the
|
|
220
|
+
// LARGEST of them, never their sum, for the reason `portal.ts#approvalTxs` states: `_fundToken`
|
|
221
|
+
// compares each leg against the vault's TOTAL balance and short-circuits, so the largest leg is
|
|
222
|
+
// the binding allowance. A token with exactly one leg, and that leg templated, approves the local
|
|
223
|
+
// holding the rendered amount. Anything else -- a templated leg alongside another leg in the same
|
|
224
|
+
// token -- has no single correct allowance to emit without runtime max arithmetic, and is
|
|
225
|
+
// rejected rather than guessed at.
|
|
226
|
+
//
|
|
227
|
+
// Issued through `token/safe.ts`, NOT as `IERC20.at(t).approve(...)`. The vendored IERC20
|
|
228
|
+
// declares a `bool` return, the compiler lowers that to call-then-decode even though nothing
|
|
229
|
+
// reads it, and decoding from empty returndata reverts on this engine -- so a USDT reward used to
|
|
230
|
+
// revert the entire parent fulfilment. The raw call avoids that decode and the emitted SafeERC20
|
|
231
|
+
// check then judges the result itself. A token that genuinely refuses the approve still reverts,
|
|
232
|
+
// because `evm.call` propagates it.
|
|
233
|
+
if ((opts.approve ?? "auto") === "auto") {
|
|
234
|
+
const byToken = new Map();
|
|
235
|
+
for (const t of child.reward.tokens) {
|
|
236
|
+
const key = evmTokenLiteral(t.token);
|
|
237
|
+
const group = byToken.get(key) ?? { literal: key, amounts: [] };
|
|
238
|
+
group.amounts.push(t.amount);
|
|
239
|
+
byToken.set(key, group);
|
|
240
|
+
}
|
|
241
|
+
const portalWord = { literal: toAddressBigint(opts.portal, "portal") };
|
|
242
|
+
let approveIndex = 0;
|
|
243
|
+
for (const [key, group] of byToken) {
|
|
244
|
+
const approvePrefix = `${prefix}${approveIndex++}`;
|
|
245
|
+
const templated = group.amounts
|
|
246
|
+
.map((a) => placeholderIndexOf(a, placeholders))
|
|
247
|
+
.filter((i) => i !== undefined);
|
|
248
|
+
if (templated.length === 0) {
|
|
249
|
+
const max = group.amounts.reduce((a, b) => (b > a ? b : a), 0n);
|
|
250
|
+
statements.push(...safeApproveStatements(approvePrefix, key, portalWord, { literal: max }));
|
|
251
|
+
continue;
|
|
252
|
+
}
|
|
253
|
+
if (group.amounts.length !== 1) {
|
|
254
|
+
throw new Error(`dynamicChildStatements: child[${index}]'s reward has ${group.amounts.length} legs in token ` +
|
|
255
|
+
`${key} and at least one is templated — there is no single allowance to approve without ` +
|
|
256
|
+
`runtime max arithmetic. Collapse them into one leg, or pass approve: "none" and emit the ` +
|
|
257
|
+
`approval yourself.`);
|
|
258
|
+
}
|
|
259
|
+
const local = localForPlaceholder(placeholders[templated[0]], template, emitted.slotVars);
|
|
260
|
+
statements.push(...safeApproveStatements(approvePrefix, key, portalWord, { local }));
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
// 6. PUBLISH. `value` is the reward's own declared native amount -- templated too when the caller
|
|
264
|
+
// made it a placeholder, so the forwarded ETH and the encoded `reward.nativeAmount` are the same
|
|
265
|
+
// number by construction rather than by two agreeing derivations.
|
|
266
|
+
let valueExpr;
|
|
267
|
+
if (opts.value !== undefined) {
|
|
268
|
+
valueExpr = formatBigint(opts.value);
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
const nativeSpec = placeholderIndexOf(child.reward.nativeAmount, placeholders);
|
|
272
|
+
valueExpr =
|
|
273
|
+
nativeSpec === undefined
|
|
274
|
+
? formatBigint(child.reward.nativeAmount)
|
|
275
|
+
: localForPlaceholder(placeholders[nativeSpec], template, emitted.slotVars);
|
|
276
|
+
}
|
|
277
|
+
statements.push(`evm.call(${portalLiteral}, ${valueExpr}, ${emitted.dataVar});`);
|
|
278
|
+
return statements;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Merges every entry's `dynamicChildStatements` into ONE `function main(){...}` program, shaped
|
|
282
|
+
* exactly like `nest.ts#nestedTransferProgram` so `intent-dsl.ts` slots it the same way: one extra
|
|
283
|
+
* `cook()` call in the parent's `route.calls`. `imports` is surfaced separately so a caller
|
|
284
|
+
* splicing the statements into its own program merges it rather than re-deriving it.
|
|
285
|
+
*
|
|
286
|
+
* WHY A SEPARATE COOK RATHER THAN APPENDED TO THE PARENT'S OWN BODY: the measurement is the Pot's
|
|
287
|
+
* BALANCE, which persists across calls, so a later cook sees exactly what an earlier one earned.
|
|
288
|
+
* That keeps the parent's own program untouched — the caller's body is compiled from the caller's
|
|
289
|
+
* source, byte for byte, with nothing injected. A caller who wants the two fused (to measure a
|
|
290
|
+
* swap's own RETURN value instead of a balance) inlines `dynamicChildStatements` with
|
|
291
|
+
* `measure: { kind: "expression", … }` into their own body instead.
|
|
292
|
+
*/
|
|
293
|
+
export function dynamicChildProgram(entries) {
|
|
294
|
+
if (entries.length === 0) {
|
|
295
|
+
throw new Error("dynamicChildProgram: no entries — nothing to compile");
|
|
296
|
+
}
|
|
297
|
+
const statements = entries.flatMap((e, i) => dynamicChildStatements(e.child, i, e.opts));
|
|
298
|
+
// Sniffed from the emitted text rather than re-derived from the options on purpose: a caller's own
|
|
299
|
+
// `measure: { kind: "expression" }` may name `IERC20.at(...)` itself, and an options-derived check
|
|
300
|
+
// would miss that and emit a program referencing an unimported binding. The statements are what
|
|
301
|
+
// actually compiles, so they are what decides.
|
|
302
|
+
const needsErc20 = statements.some((s) => s.includes("IERC20.at("));
|
|
303
|
+
const imports = needsErc20 ? [ERC20_IMPORT_LINE] : [];
|
|
304
|
+
const body = statements.join("\n");
|
|
305
|
+
const source = `${imports.length > 0 ? `${imports.join("\n")}\n` : ""}function main() {\n${body}\n}`;
|
|
306
|
+
return { source, imports };
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=nest-dynamic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nest-dynamic.js","sourceRoot":"","sources":["../../src/routes/nest-dynamic.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,8 +53,13 @@ export declare function assertStaticChild(_child: Intent): void;
|
|
|
53
53
|
* instead of splicing a runtime `publishAndFund` — see `nestedTransferStatements`/
|
|
54
54
|
* `nestedTransferProgram` below for the codegen, and this file's module doc for the on-chain grounding
|
|
55
55
|
* (balance-based payout, no funded-flag gate, no publication requirement).
|
|
56
|
+
*
|
|
57
|
+
* `"dynamic"` is the one mode whose child is NOT static: its amounts are placeholders until the
|
|
58
|
+
* parent runs, and `nest-dynamic.ts` (not this file) emits the program that measures, derives and
|
|
59
|
+
* splices them. Everything here still applies to it EXCEPT the two invariants that read a child's
|
|
60
|
+
* amounts as numbers — see `assertNestingInvariants`'s 3 and 5.
|
|
56
61
|
*/
|
|
57
|
-
export type NestVia = "transfer" | "publishAndFund";
|
|
62
|
+
export type NestVia = "transfer" | "publishAndFund" | "dynamic";
|
|
58
63
|
export interface NestChild {
|
|
59
64
|
readonly intent: Intent;
|
|
60
65
|
/** Opt-out of invariant 5's funding-coverage check for this one child: the legitimate case where
|
|
@@ -107,7 +112,11 @@ export interface AssertNestingInvariantsArgs {
|
|
|
107
112
|
* 1. EVM parent — `parentChain.kind === "evm"`. The Solana Portal PROGRAM is not in eco-routes on
|
|
108
113
|
* `main` (zero `.rs`); a child's OWN destination may still be `svm`.
|
|
109
114
|
* 2. Source match — every child's `sourceChainId` equals the parent's destination chain id.
|
|
110
|
-
* 3. Static child — `assertStaticChild` per child (the S6 seam).
|
|
115
|
+
* 3. Static child — `assertStaticChild` per child (the S6 seam). SKIPPED for a `via: "dynamic"`
|
|
116
|
+
* child, which is the case that seam was reserved for: its reward amounts are deliberately
|
|
117
|
+
* placeholders. `nest-dynamic.ts#assertDynamicChild` is its mirror-image check (a child routed
|
|
118
|
+
* there with NO placeholder is the error), and it runs at codegen time, where the options that
|
|
119
|
+
* say which sentinels to look for are in scope.
|
|
111
120
|
* 4. Deadlines INCREASE with depth — `child.route.deadline >= parentRoute.deadline` AND
|
|
112
121
|
* `child.reward.deadline >= parentRoute.deadline`. The child publishes DURING the parent's
|
|
113
122
|
* fulfillment, which `Inbox._fulfill` allows right up to the parent's own `route.deadline`
|
|
@@ -120,6 +129,9 @@ export interface AssertNestingInvariantsArgs {
|
|
|
120
129
|
* the (balance-based) funding, so there is nothing static left to compare against
|
|
121
130
|
* `parentRoute.tokens`/`nativeAmount`. See `intent-dsl.ts`'s T5 for the one native-only coverage
|
|
122
131
|
* check that DOES still apply to a transfer child (only when it opts into `fundNativeFromRoute`).
|
|
132
|
+
* A `via: "dynamic"` child is skipped for a STRONGER reason than a transfer one: its reward
|
|
133
|
+
* amount is a ~1.5e77 sentinel, so summing it would not merely be uninformative, it would fail
|
|
134
|
+
* every parent. The funding is the runtime measurement, bounded by the Pot's own balance.
|
|
123
135
|
* 6. No duplicate intent hash — `normalizeRoute` defaults `salt` to 32 zero bytes, so two
|
|
124
136
|
* structurally identical children silently collapse into the SAME intent. A repeat `intentHash`
|
|
125
137
|
* anywhere in `children` throws, pointing at `options.salt`.
|
|
@@ -142,13 +154,12 @@ export interface TransferNestEntry {
|
|
|
142
154
|
/**
|
|
143
155
|
* Merges every entry's `nestedTransferStatements` into ONE `function main(){...}` Sauce program —
|
|
144
156
|
* `intent-dsl.ts` is the only caller that ever `compile()`s this text, keeping the compiler
|
|
145
|
-
* dependency out of this pure module entirely. `imports
|
|
146
|
-
*
|
|
157
|
+
* dependency out of this pure module entirely. `imports` is surfaced separately so a caller
|
|
158
|
+
* splicing these statements into its own program can merge them rather than re-deriving what this
|
|
147
159
|
* program needs.
|
|
148
160
|
*/
|
|
149
161
|
export declare function nestedTransferProgram(entries: readonly TransferNestEntry[]): {
|
|
150
162
|
readonly source: string;
|
|
151
163
|
readonly imports: readonly string[];
|
|
152
|
-
readonly baseDirs: readonly string[];
|
|
153
164
|
};
|
|
154
165
|
//# sourceMappingURL=nest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nest.d.ts","sourceRoot":"","sources":["../../src/routes/nest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAO7D,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAoB,MAAM,YAAY,CAAC;AAE3F,qGAAqG;AACrG,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,SAAS,SAAS,EAAE,CAK9F;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED
|
|
1
|
+
{"version":3,"file":"nest.d.ts","sourceRoot":"","sources":["../../src/routes/nest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAO7D,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAoB,MAAM,YAAY,CAAC;AAE3F,qGAAqG;AACrG,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,SAAS,SAAS,EAAE,CAK9F;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,gBAAgB,GAAG,SAAS,CAAC;AAEhE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;oFAIgF;IAChF,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,8FAA8F;IAC9F,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;8FAC8F;AAC9F,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GAC3D;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC;AAEhE,wDAAwD;AACxD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,eAAe,EAAE,oBAAoB,CAAC;IAC/C;uGACmG;IACnG,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB;6EACyE;IACzE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;iGAC6F;IAC7F,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,2BAA2B;IAC1C;wBACoB;IACpB,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC;qDACiD;IACjD,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;CACzC;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,GAAG,IAAI,CAoG/E;AA2DD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,oBAAoB,GACzB,SAAS,MAAM,EAAE,CA0EnB;AAED;0CAC0C;AAC1C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,GAAG;IAC5E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC,CAOA"}
|