@eco-incorp/sauce 0.99.6 → 0.99.8
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 +58 -16
- package/actions/action-program.schema.json +480 -379
- package/actions/dist/abis.d.ts +19 -18
- package/actions/dist/abis.d.ts.map +1 -1
- package/actions/dist/abis.js +29 -29
- package/actions/dist/compile.d.ts +4 -4
- package/actions/dist/compile.d.ts.map +1 -1
- package/actions/dist/compile.js +3 -1
- package/actions/dist/compose.d.ts +63 -6
- package/actions/dist/compose.d.ts.map +1 -1
- package/actions/dist/compose.js +100 -16
- package/actions/dist/index.d.ts +1 -1
- package/actions/dist/index.d.ts.map +1 -1
- package/actions/dist/names.d.ts +88 -0
- package/actions/dist/names.d.ts.map +1 -0
- package/actions/dist/names.js +334 -0
- package/actions/dist/program.d.ts.map +1 -1
- package/actions/dist/program.js +115 -5
- package/actions/dist/registry.d.ts +10 -8
- package/actions/dist/registry.d.ts.map +1 -1
- package/actions/dist/registry.js +10 -8
- package/actions/dist/schema.d.ts.map +1 -1
- package/actions/dist/schema.js +99 -12
- package/actions/dist/semantics.d.ts +12 -2
- package/actions/dist/semantics.d.ts.map +1 -1
- package/actions/dist/semantics.js +78 -8
- package/actions/dist/spec.d.ts +30 -0
- package/actions/dist/spec.d.ts.map +1 -1
- package/actions/dist/spec.js +151 -138
- package/actions/dist/split-swap.d.ts +10 -5
- package/actions/dist/split-swap.d.ts.map +1 -1
- package/actions/dist/split-swap.js +48 -7
- package/actions/dist/to-quote.d.ts +14 -5
- package/actions/dist/to-quote.d.ts.map +1 -1
- package/actions/dist/to-quote.js +210 -244
- package/actions/dist/to-sauce.d.ts +18 -4
- package/actions/dist/to-sauce.d.ts.map +1 -1
- package/actions/dist/to-sauce.js +232 -205
- package/actions/dist/types.d.ts +245 -147
- package/actions/dist/types.d.ts.map +1 -1
- package/actions/dist/types.js +4 -0
- package/docs/README.md +38 -0
- package/docs/api/README.md +37 -23
- package/docs/api/compiler.md +53 -12
- package/docs/api/contracts.md +105 -0
- package/docs/api/coverage.md +96 -57
- package/docs/api/router.md +238 -0
- package/docs/api/routes.md +31 -22
- package/docs/concepts/architecture.md +26 -3
- package/docs/concepts/saucescript.md +35 -55
- package/docs/examples/README.md +21 -14
- package/docs/examples/action-program.ts +51 -35
- package/docs/examples/cross-chain-cascade.sauce.ts +4 -0
- package/docs/examples/cross-chain-intent.sauce.ts +2 -1
- package/docs/examples/evm-execution.ts +2 -4
- package/docs/examples/first-intent.ts +7 -2
- package/docs/examples/pot-router.ts +19 -0
- package/docs/examples/registry-names.ts +52 -0
- package/docs/examples/router-route.sauce.ts +31 -0
- package/docs/examples/router-route.ts +72 -0
- package/docs/examples/router-swap.sauce.ts +16 -0
- package/docs/examples/router-swap.ts +47 -0
- package/docs/examples/venue-where-deployed.sauce.ts +14 -0
- package/docs/guides/actions.md +230 -120
- package/docs/guides/builders-and-actions.md +20 -14
- package/docs/guides/cli.md +1446 -0
- package/docs/guides/compiling.md +19 -7
- package/docs/guides/intents.md +228 -15
- package/docs/guides/mcp.md +540 -0
- package/docs/guides/nested-intents.md +21 -6
- package/docs/guides/protocols-and-tokens.md +218 -39
- package/docs/guides/quick-start.md +5 -0
- package/docs/guides/solana.md +199 -52
- package/docs/guides/verification.md +2 -2
- package/mcp/dist/config.js +78 -0
- package/mcp/dist/config.js.map +1 -0
- package/mcp/dist/entry.js +112 -0
- package/mcp/dist/entry.js.map +1 -0
- package/mcp/dist/files.js +64 -0
- package/mcp/dist/files.js.map +1 -0
- package/mcp/dist/guard.js +262 -0
- package/mcp/dist/guard.js.map +1 -0
- package/mcp/dist/http.js +111 -0
- package/mcp/dist/http.js.map +1 -0
- package/mcp/dist/intents.js +579 -0
- package/mcp/dist/intents.js.map +1 -0
- package/mcp/dist/prompts.js +153 -0
- package/mcp/dist/prompts.js.map +1 -0
- package/mcp/dist/reach.js +98 -0
- package/mcp/dist/reach.js.map +1 -0
- package/mcp/dist/resources.js +154 -0
- package/mcp/dist/resources.js.map +1 -0
- package/mcp/dist/sdk.js +34 -0
- package/mcp/dist/sdk.js.map +1 -0
- package/mcp/dist/server.js +119 -0
- package/mcp/dist/server.js.map +1 -0
- package/mcp/dist/setup.js +189 -0
- package/mcp/dist/setup.js.map +1 -0
- package/mcp/dist/skilltools.js +520 -0
- package/mcp/dist/skilltools.js.map +1 -0
- package/mcp/dist/terms.js +93 -0
- package/mcp/dist/terms.js.map +1 -0
- package/mcp/dist/tools.js +1499 -0
- package/mcp/dist/tools.js.map +1 -0
- package/mcp/dist/wallets.js +168 -0
- package/mcp/dist/wallets.js.map +1 -0
- package/package.json +18 -13
- package/sdk/dist/artifacts/V12Deployments.json +3 -1
- package/sdk/dist/artifacts/V12EngineGate.json +1 -2
- package/sdk/dist/artifacts/V12KitchenProxy.json +1 -0
- package/sdk/dist/chains/canonical.d.ts +15 -24
- package/sdk/dist/chains/canonical.d.ts.map +1 -1
- package/sdk/dist/chains/canonical.js +18 -29
- package/sdk/dist/chains/canonical.js.map +1 -1
- package/sdk/dist/cli/actions.d.ts +29 -0
- package/sdk/dist/cli/actions.d.ts.map +1 -0
- package/sdk/dist/cli/actions.js +122 -0
- package/sdk/dist/cli/actions.js.map +1 -0
- package/sdk/dist/cli/args.d.ts +118 -0
- package/sdk/dist/cli/args.d.ts.map +1 -0
- package/sdk/dist/cli/args.js +354 -0
- package/sdk/dist/cli/args.js.map +1 -0
- package/sdk/dist/cli/assume.d.ts +51 -0
- package/sdk/dist/cli/assume.d.ts.map +1 -0
- package/sdk/dist/cli/assume.js +207 -0
- package/sdk/dist/cli/assume.js.map +1 -0
- package/sdk/dist/cli/chain.d.ts +173 -0
- package/sdk/dist/cli/chain.d.ts.map +1 -0
- package/sdk/dist/cli/chain.js +462 -0
- package/sdk/dist/cli/chain.js.map +1 -0
- package/sdk/dist/cli/commands.d.ts +226 -0
- package/sdk/dist/cli/commands.d.ts.map +1 -0
- package/sdk/dist/cli/commands.js +637 -0
- package/sdk/dist/cli/commands.js.map +1 -0
- package/sdk/dist/cli/create.d.ts +70 -0
- package/sdk/dist/cli/create.d.ts.map +1 -0
- package/sdk/dist/cli/create.js +483 -0
- package/sdk/dist/cli/create.js.map +1 -0
- package/sdk/dist/cli/diagnostics.d.ts +12 -0
- package/sdk/dist/cli/diagnostics.d.ts.map +1 -0
- package/sdk/dist/cli/diagnostics.js +225 -0
- package/sdk/dist/cli/diagnostics.js.map +1 -0
- package/sdk/dist/cli/effects.d.ts +71 -0
- package/sdk/dist/cli/effects.d.ts.map +1 -0
- package/sdk/dist/cli/effects.js +279 -0
- package/sdk/dist/cli/effects.js.map +1 -0
- package/sdk/dist/cli/fill.d.ts +83 -0
- package/sdk/dist/cli/fill.d.ts.map +1 -0
- package/sdk/dist/cli/fill.js +734 -0
- package/sdk/dist/cli/fill.js.map +1 -0
- package/sdk/dist/cli/funding.d.ts +126 -0
- package/sdk/dist/cli/funding.d.ts.map +1 -0
- package/sdk/dist/cli/funding.js +514 -0
- package/sdk/dist/cli/funding.js.map +1 -0
- package/sdk/dist/cli/globals.d.ts +16 -0
- package/sdk/dist/cli/globals.d.ts.map +1 -0
- package/sdk/dist/cli/globals.js +219 -0
- package/sdk/dist/cli/globals.js.map +1 -0
- package/sdk/dist/cli/init.d.ts +34 -0
- package/sdk/dist/cli/init.d.ts.map +1 -0
- package/sdk/dist/cli/init.js +181 -0
- package/sdk/dist/cli/init.js.map +1 -0
- package/sdk/dist/cli/inputs.d.ts +72 -0
- package/sdk/dist/cli/inputs.d.ts.map +1 -0
- package/sdk/dist/cli/inputs.js +152 -0
- package/sdk/dist/cli/inputs.js.map +1 -0
- package/sdk/dist/cli/inspect.d.ts +48 -0
- package/sdk/dist/cli/inspect.d.ts.map +1 -0
- package/sdk/dist/cli/inspect.js +536 -0
- package/sdk/dist/cli/inspect.js.map +1 -0
- package/sdk/dist/cli/intent-commands.d.ts +71 -0
- package/sdk/dist/cli/intent-commands.d.ts.map +1 -0
- package/sdk/dist/cli/intent-commands.js +698 -0
- package/sdk/dist/cli/intent-commands.js.map +1 -0
- package/sdk/dist/cli/intent-svm.d.ts +15 -0
- package/sdk/dist/cli/intent-svm.d.ts.map +1 -0
- package/sdk/dist/cli/intent-svm.js +222 -0
- package/sdk/dist/cli/intent-svm.js.map +1 -0
- package/sdk/dist/cli/intents.d.ts +43 -0
- package/sdk/dist/cli/intents.d.ts.map +1 -0
- package/sdk/dist/cli/intents.js +89 -0
- package/sdk/dist/cli/intents.js.map +1 -0
- package/sdk/dist/cli/interactive.d.ts +11 -0
- package/sdk/dist/cli/interactive.d.ts.map +1 -0
- package/sdk/dist/cli/interactive.js +161 -0
- package/sdk/dist/cli/interactive.js.map +1 -0
- package/sdk/dist/cli/lifecycle-svm.d.ts +109 -0
- package/sdk/dist/cli/lifecycle-svm.d.ts.map +1 -0
- package/sdk/dist/cli/lifecycle-svm.js +299 -0
- package/sdk/dist/cli/lifecycle-svm.js.map +1 -0
- package/sdk/dist/cli/lifecycle.d.ts +439 -0
- package/sdk/dist/cli/lifecycle.d.ts.map +1 -0
- package/sdk/dist/cli/lifecycle.js +1721 -0
- package/sdk/dist/cli/lifecycle.js.map +1 -0
- package/sdk/dist/cli/main.d.ts +3 -0
- package/sdk/dist/cli/main.d.ts.map +1 -0
- package/sdk/dist/cli/main.js +8 -0
- package/sdk/dist/cli/main.js.map +1 -0
- package/sdk/dist/cli/mcp.d.ts +66 -0
- package/sdk/dist/cli/mcp.d.ts.map +1 -0
- package/sdk/dist/cli/mcp.js +169 -0
- package/sdk/dist/cli/mcp.js.map +1 -0
- package/sdk/dist/cli/password.d.ts +54 -0
- package/sdk/dist/cli/password.d.ts.map +1 -0
- package/sdk/dist/cli/password.js +148 -0
- package/sdk/dist/cli/password.js.map +1 -0
- package/sdk/dist/cli/policy.d.ts +130 -0
- package/sdk/dist/cli/policy.d.ts.map +1 -0
- package/sdk/dist/cli/policy.js +702 -0
- package/sdk/dist/cli/policy.js.map +1 -0
- package/sdk/dist/cli/pools.d.ts +140 -0
- package/sdk/dist/cli/pools.d.ts.map +1 -0
- package/sdk/dist/cli/pools.js +658 -0
- package/sdk/dist/cli/pools.js.map +1 -0
- package/sdk/dist/cli/price.d.ts +74 -0
- package/sdk/dist/cli/price.d.ts.map +1 -0
- package/sdk/dist/cli/price.js +321 -0
- package/sdk/dist/cli/price.js.map +1 -0
- package/sdk/dist/cli/prompt.d.ts +30 -0
- package/sdk/dist/cli/prompt.d.ts.map +1 -0
- package/sdk/dist/cli/prompt.js +53 -0
- package/sdk/dist/cli/prompt.js.map +1 -0
- package/sdk/dist/cli/publish.d.ts +48 -0
- package/sdk/dist/cli/publish.d.ts.map +1 -0
- package/sdk/dist/cli/publish.js +480 -0
- package/sdk/dist/cli/publish.js.map +1 -0
- package/sdk/dist/cli/receipt.d.ts +35 -0
- package/sdk/dist/cli/receipt.d.ts.map +1 -0
- package/sdk/dist/cli/receipt.js +63 -0
- package/sdk/dist/cli/receipt.js.map +1 -0
- package/sdk/dist/cli/rehearse.d.ts +80 -0
- package/sdk/dist/cli/rehearse.d.ts.map +1 -0
- package/sdk/dist/cli/rehearse.js +265 -0
- package/sdk/dist/cli/rehearse.js.map +1 -0
- package/sdk/dist/cli/report.d.ts +69 -0
- package/sdk/dist/cli/report.d.ts.map +1 -0
- package/sdk/dist/cli/report.js +206 -0
- package/sdk/dist/cli/report.js.map +1 -0
- package/sdk/dist/cli/returned.d.ts +16 -0
- package/sdk/dist/cli/returned.d.ts.map +1 -0
- package/sdk/dist/cli/returned.js +111 -0
- package/sdk/dist/cli/returned.js.map +1 -0
- package/sdk/dist/cli/run.d.ts +40 -0
- package/sdk/dist/cli/run.d.ts.map +1 -0
- package/sdk/dist/cli/run.js +3163 -0
- package/sdk/dist/cli/run.js.map +1 -0
- package/sdk/dist/cli/signer.d.ts +72 -0
- package/sdk/dist/cli/signer.d.ts.map +1 -0
- package/sdk/dist/cli/signer.js +243 -0
- package/sdk/dist/cli/signer.js.map +1 -0
- package/sdk/dist/cli/simulate.d.ts +11 -0
- package/sdk/dist/cli/simulate.d.ts.map +1 -0
- package/sdk/dist/cli/simulate.js +246 -0
- package/sdk/dist/cli/simulate.js.map +1 -0
- package/sdk/dist/cli/skills.d.ts +77 -0
- package/sdk/dist/cli/skills.d.ts.map +1 -0
- package/sdk/dist/cli/skills.js +527 -0
- package/sdk/dist/cli/skills.js.map +1 -0
- package/sdk/dist/cli/solana.d.ts +184 -0
- package/sdk/dist/cli/solana.d.ts.map +1 -0
- package/sdk/dist/cli/solana.js +1370 -0
- package/sdk/dist/cli/solana.js.map +1 -0
- package/sdk/dist/cli/store.d.ts +60 -0
- package/sdk/dist/cli/store.d.ts.map +1 -0
- package/sdk/dist/cli/store.js +196 -0
- package/sdk/dist/cli/store.js.map +1 -0
- package/sdk/dist/cli/support.d.ts +144 -0
- package/sdk/dist/cli/support.d.ts.map +1 -0
- package/sdk/dist/cli/support.js +217 -0
- package/sdk/dist/cli/support.js.map +1 -0
- package/sdk/dist/cli/svm-effects.d.ts +50 -0
- package/sdk/dist/cli/svm-effects.d.ts.map +1 -0
- package/sdk/dist/cli/svm-effects.js +196 -0
- package/sdk/dist/cli/svm-effects.js.map +1 -0
- package/sdk/dist/cli/terminal.d.ts +42 -0
- package/sdk/dist/cli/terminal.d.ts.map +1 -0
- package/sdk/dist/cli/terminal.js +136 -0
- package/sdk/dist/cli/terminal.js.map +1 -0
- package/sdk/dist/cli/verify.d.ts +32 -0
- package/sdk/dist/cli/verify.d.ts.map +1 -0
- package/sdk/dist/cli/verify.js +185 -0
- package/sdk/dist/cli/verify.js.map +1 -0
- package/sdk/dist/cli/wallet-commands.d.ts +59 -0
- package/sdk/dist/cli/wallet-commands.d.ts.map +1 -0
- package/sdk/dist/cli/wallet-commands.js +222 -0
- package/sdk/dist/cli/wallet-commands.js.map +1 -0
- package/sdk/dist/cli/wallet-send.d.ts +38 -0
- package/sdk/dist/cli/wallet-send.d.ts.map +1 -0
- package/sdk/dist/cli/wallet-send.js +303 -0
- package/sdk/dist/cli/wallet-send.js.map +1 -0
- package/sdk/dist/cli/wallets.d.ts +79 -0
- package/sdk/dist/cli/wallets.d.ts.map +1 -0
- package/sdk/dist/cli/wallets.js +297 -0
- package/sdk/dist/cli/wallets.js.map +1 -0
- package/sdk/dist/deployments/index.d.ts +4 -62
- package/sdk/dist/deployments/index.d.ts.map +1 -1
- package/sdk/dist/deployments/index.js +4 -84
- package/sdk/dist/deployments/index.js.map +1 -1
- package/sdk/dist/deployments/pot.d.ts +17 -7
- package/sdk/dist/deployments/pot.d.ts.map +1 -1
- package/sdk/dist/deployments/pot.js +25 -10
- package/sdk/dist/deployments/pot.js.map +1 -1
- package/sdk/dist/deployments/releases.d.ts +36 -0
- package/sdk/dist/deployments/releases.d.ts.map +1 -0
- package/sdk/dist/deployments/releases.js +61 -0
- package/sdk/dist/deployments/releases.js.map +1 -0
- package/sdk/dist/deployments/releases.json +76 -0
- package/sdk/dist/deployments/v12-addresses.d.ts +13 -0
- package/sdk/dist/deployments/v12-addresses.d.ts.map +1 -1
- package/sdk/dist/deployments/v12-addresses.js +16 -3
- package/sdk/dist/deployments/v12-addresses.js.map +1 -1
- package/sdk/dist/deposit/index.d.ts +6 -6
- 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 +4 -4
- package/sdk/dist/deposit/params.d.ts.map +1 -1
- package/sdk/dist/deposit/params.js +7 -4
- package/sdk/dist/deposit/params.js.map +1 -1
- package/sdk/dist/deposit/source.d.ts +3 -30
- package/sdk/dist/deposit/source.d.ts.map +1 -1
- package/sdk/dist/deposit/source.js +7 -83
- package/sdk/dist/deposit/source.js.map +1 -1
- package/sdk/dist/deposit/templates.d.ts +1 -2
- package/sdk/dist/deposit/templates.d.ts.map +1 -1
- package/sdk/dist/deposit/templates.js +10 -2
- package/sdk/dist/deposit/templates.js.map +1 -1
- package/sdk/dist/deposit/types.d.ts +14 -12
- package/sdk/dist/deposit/types.d.ts.map +1 -1
- package/sdk/dist/deposit/types.js +6 -0
- package/sdk/dist/deposit/types.js.map +1 -1
- package/sdk/dist/descriptors/accessors.d.ts +38 -35
- package/sdk/dist/descriptors/accessors.d.ts.map +1 -1
- package/sdk/dist/descriptors/accessors.js +16 -0
- package/sdk/dist/descriptors/accessors.js.map +1 -1
- package/sdk/dist/descriptors/call.d.ts +66 -14
- package/sdk/dist/descriptors/call.d.ts.map +1 -1
- package/sdk/dist/descriptors/call.js +94 -13
- package/sdk/dist/descriptors/call.js.map +1 -1
- package/sdk/dist/descriptors/contracts.generated.d.ts +3393 -0
- package/sdk/dist/descriptors/contracts.generated.d.ts.map +1 -0
- package/sdk/dist/descriptors/contracts.generated.js +728 -0
- package/sdk/dist/descriptors/contracts.generated.js.map +1 -0
- package/sdk/dist/descriptors/derive.d.ts +20 -11
- package/sdk/dist/descriptors/derive.d.ts.map +1 -1
- package/sdk/dist/descriptors/derive.js +68 -30
- package/sdk/dist/descriptors/derive.js.map +1 -1
- package/sdk/dist/descriptors/index.d.ts +6 -7
- package/sdk/dist/descriptors/index.d.ts.map +1 -1
- package/sdk/dist/descriptors/index.js +2 -2
- package/sdk/dist/descriptors/index.js.map +1 -1
- package/sdk/dist/descriptors/links.d.ts +23 -214
- package/sdk/dist/descriptors/links.d.ts.map +1 -1
- package/sdk/dist/descriptors/links.js +1 -232
- package/sdk/dist/descriptors/links.js.map +1 -1
- package/sdk/dist/descriptors/query.d.ts +1 -1
- package/sdk/dist/descriptors/query.d.ts.map +1 -1
- package/sdk/dist/descriptors/query.js +1 -1
- package/sdk/dist/descriptors/query.js.map +1 -1
- package/sdk/dist/descriptors/registry.d.ts +2 -5
- package/sdk/dist/descriptors/registry.d.ts.map +1 -1
- package/sdk/dist/descriptors/registry.js +11 -66
- package/sdk/dist/descriptors/registry.js.map +1 -1
- package/sdk/dist/embedded/resolve.d.ts +4 -4
- package/sdk/dist/embedded/resolve.d.ts.map +1 -1
- package/sdk/dist/embedded/resolve.js +12 -8
- package/sdk/dist/embedded/resolve.js.map +1 -1
- package/sdk/dist/embedded/skills.generated.d.ts +1 -1
- package/sdk/dist/embedded/skills.generated.d.ts.map +1 -1
- package/sdk/dist/embedded/skills.generated.js +137 -136
- package/sdk/dist/embedded/skills.generated.js.map +1 -1
- package/sdk/dist/embedded/sources.generated.d.ts.map +1 -1
- package/sdk/dist/embedded/sources.generated.js +40 -6
- package/sdk/dist/embedded/sources.generated.js.map +1 -1
- package/sdk/dist/evm/engine.d.ts +813 -10
- package/sdk/dist/evm/engine.d.ts.map +1 -1
- package/sdk/dist/evm/engine.js +127 -8
- package/sdk/dist/evm/engine.js.map +1 -1
- package/sdk/dist/index.d.ts +3 -2
- package/sdk/dist/index.d.ts.map +1 -1
- package/sdk/dist/index.js +6 -2
- package/sdk/dist/index.js.map +1 -1
- package/sdk/dist/price.d.ts +40 -0
- package/sdk/dist/price.d.ts.map +1 -0
- package/sdk/dist/price.js +101 -0
- package/sdk/dist/price.js.map +1 -0
- package/sdk/dist/protocols/aerodrome/abis.d.ts +76 -0
- package/sdk/dist/protocols/aerodrome/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/aerodrome/abis.js +61 -0
- package/sdk/dist/protocols/aerodrome/abis.js.map +1 -1
- package/sdk/dist/protocols/aerodrome-slipstream/abis.d.ts +70 -0
- package/sdk/dist/protocols/aerodrome-slipstream/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/aerodrome-slipstream/abis.js +54 -0
- package/sdk/dist/protocols/aerodrome-slipstream/abis.js.map +1 -1
- package/sdk/dist/protocols/camelot/abis.d.ts +178 -0
- package/sdk/dist/protocols/camelot/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/camelot/abis.js +139 -0
- package/sdk/dist/protocols/camelot/abis.js.map +1 -1
- package/sdk/dist/protocols/eco-routes/abis.d.ts +792 -50
- package/sdk/dist/protocols/eco-routes/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/eco-routes/abis.js +1058 -49
- package/sdk/dist/protocols/eco-routes/abis.js.map +1 -1
- package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts +44 -61
- package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts.map +1 -1
- package/sdk/dist/protocols/eco-routes/addresses.generated.js +45 -62
- package/sdk/dist/protocols/eco-routes/addresses.generated.js.map +1 -1
- package/sdk/dist/protocols/eco-routes/lookup.d.ts +10 -0
- package/sdk/dist/protocols/eco-routes/lookup.d.ts.map +1 -1
- package/sdk/dist/protocols/eco-routes/lookup.js +16 -0
- package/sdk/dist/protocols/eco-routes/lookup.js.map +1 -1
- package/sdk/dist/protocols/maverick/abis.d.ts +77 -0
- package/sdk/dist/protocols/maverick/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/maverick/abis.js +58 -0
- package/sdk/dist/protocols/maverick/abis.js.map +1 -1
- package/sdk/dist/protocols/maverick/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/maverick/addresses.js +4 -0
- package/sdk/dist/protocols/maverick/addresses.js.map +1 -1
- package/sdk/dist/protocols/pancakeswap-v2/abis.d.ts +52 -0
- package/sdk/dist/protocols/pancakeswap-v2/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/pancakeswap-v2/abis.js +43 -0
- package/sdk/dist/protocols/pancakeswap-v2/abis.js.map +1 -1
- package/sdk/dist/protocols/pancakeswap-v3/abis.d.ts +73 -0
- package/sdk/dist/protocols/pancakeswap-v3/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/pancakeswap-v3/abis.js +56 -0
- package/sdk/dist/protocols/pancakeswap-v3/abis.js.map +1 -1
- package/sdk/dist/protocols/permit2/abis.d.ts +113 -0
- package/sdk/dist/protocols/permit2/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/permit2/abis.js +63 -0
- package/sdk/dist/protocols/permit2/abis.js.map +1 -1
- package/sdk/dist/protocols/quickswap/abis.d.ts +148 -0
- package/sdk/dist/protocols/quickswap/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/quickswap/abis.js +119 -0
- package/sdk/dist/protocols/quickswap/abis.js.map +1 -1
- package/sdk/dist/protocols/sushiswap-v2/abis.d.ts +52 -0
- package/sdk/dist/protocols/sushiswap-v2/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/sushiswap-v2/abis.js +42 -0
- package/sdk/dist/protocols/sushiswap-v2/abis.js.map +1 -1
- package/sdk/dist/protocols/synthra-v3/abis.d.ts +73 -0
- package/sdk/dist/protocols/synthra-v3/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/synthra-v3/abis.js +55 -0
- package/sdk/dist/protocols/synthra-v3/abis.js.map +1 -1
- package/sdk/dist/protocols/trader-joe/abis.d.ts +133 -0
- package/sdk/dist/protocols/trader-joe/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/trader-joe/abis.js +101 -0
- package/sdk/dist/protocols/trader-joe/abis.js.map +1 -1
- package/sdk/dist/protocols/trader-joe/addresses.d.ts.map +1 -1
- package/sdk/dist/protocols/trader-joe/addresses.js +5 -0
- package/sdk/dist/protocols/trader-joe/addresses.js.map +1 -1
- package/sdk/dist/protocols/uniswap-v2/abis.d.ts +52 -0
- package/sdk/dist/protocols/uniswap-v2/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/uniswap-v2/abis.js +44 -0
- package/sdk/dist/protocols/uniswap-v2/abis.js.map +1 -1
- package/sdk/dist/protocols/uniswap-v3/abis.d.ts +73 -0
- package/sdk/dist/protocols/uniswap-v3/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/uniswap-v3/abis.js +55 -0
- package/sdk/dist/protocols/uniswap-v3/abis.js.map +1 -1
- package/sdk/dist/protocols/uniswap-v4/abis.d.ts +247 -0
- package/sdk/dist/protocols/uniswap-v4/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/uniswap-v4/abis.js +167 -0
- 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 +50 -0
- package/sdk/dist/protocols/uniswap-v4/addresses.js.map +1 -1
- package/sdk/dist/protocols/unitflow-v3/abis.d.ts +73 -0
- package/sdk/dist/protocols/unitflow-v3/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/unitflow-v3/abis.js +56 -0
- package/sdk/dist/protocols/unitflow-v3/abis.js.map +1 -1
- package/sdk/dist/protocols/velodrome/abis.d.ts +76 -0
- package/sdk/dist/protocols/velodrome/abis.d.ts.map +1 -1
- package/sdk/dist/protocols/velodrome/abis.js +61 -0
- package/sdk/dist/protocols/velodrome/abis.js.map +1 -1
- package/sdk/dist/recipes/cctp-split.sauce.ts +2 -2
- package/sdk/dist/recipes/plain-transfer.sauce.ts +2 -2
- package/sdk/dist/routes/accessor-index.d.ts +2 -2
- package/sdk/dist/routes/accessor-index.d.ts.map +1 -1
- package/sdk/dist/routes/accessor-index.js +4 -3
- package/sdk/dist/routes/accessor-index.js.map +1 -1
- package/sdk/dist/routes/ambient.d.ts +5 -0
- package/sdk/dist/routes/ambient.d.ts.map +1 -1
- package/sdk/dist/routes/ambient.js +20 -0
- package/sdk/dist/routes/ambient.js.map +1 -1
- package/sdk/dist/routes/ast-walk.d.ts +17 -3
- package/sdk/dist/routes/ast-walk.d.ts.map +1 -1
- package/sdk/dist/routes/ast-walk.js +24 -2
- package/sdk/dist/routes/ast-walk.js.map +1 -1
- package/sdk/dist/routes/available.d.ts +43 -0
- package/sdk/dist/routes/available.d.ts.map +1 -0
- package/sdk/dist/routes/available.js +230 -0
- package/sdk/dist/routes/available.js.map +1 -0
- package/sdk/dist/routes/builtins.generated.d.ts +180 -0
- package/sdk/dist/routes/builtins.generated.d.ts.map +1 -0
- package/sdk/dist/routes/builtins.generated.js +2 -0
- package/sdk/dist/routes/builtins.generated.js.map +1 -0
- package/sdk/dist/routes/chain-exports.generated.d.ts +13 -8
- package/sdk/dist/routes/chain-exports.generated.d.ts.map +1 -1
- package/sdk/dist/routes/chain-exports.generated.js.map +1 -1
- package/sdk/dist/routes/closure.d.ts.map +1 -1
- package/sdk/dist/routes/closure.js +13 -26
- package/sdk/dist/routes/closure.js.map +1 -1
- package/sdk/dist/routes/composed.d.ts.map +1 -1
- package/sdk/dist/routes/composed.js +20 -8
- package/sdk/dist/routes/composed.js.map +1 -1
- package/sdk/dist/routes/encode.d.ts +17 -0
- package/sdk/dist/routes/encode.d.ts.map +1 -1
- package/sdk/dist/routes/encode.js +14 -11
- package/sdk/dist/routes/encode.js.map +1 -1
- package/sdk/dist/routes/entry.d.ts +76 -0
- package/sdk/dist/routes/entry.d.ts.map +1 -0
- package/sdk/dist/routes/entry.js +478 -0
- package/sdk/dist/routes/entry.js.map +1 -0
- package/sdk/dist/routes/index.d.ts +19 -12
- package/sdk/dist/routes/index.d.ts.map +1 -1
- package/sdk/dist/routes/index.js +11 -8
- package/sdk/dist/routes/index.js.map +1 -1
- package/sdk/dist/routes/intent-body.d.ts +97 -0
- package/sdk/dist/routes/intent-body.d.ts.map +1 -0
- package/sdk/dist/routes/intent-body.js +441 -0
- package/sdk/dist/routes/intent-body.js.map +1 -0
- package/sdk/dist/routes/intent-dsl.d.ts +21 -6
- package/sdk/dist/routes/intent-dsl.d.ts.map +1 -1
- package/sdk/dist/routes/intent-dsl.js +34 -17
- package/sdk/dist/routes/intent-dsl.js.map +1 -1
- package/sdk/dist/routes/intent-sugar.d.ts +77 -4
- package/sdk/dist/routes/intent-sugar.d.ts.map +1 -1
- package/sdk/dist/routes/intent-sugar.js +318 -129
- package/sdk/dist/routes/intent-sugar.js.map +1 -1
- package/sdk/dist/routes/intent.d.ts +13 -1
- package/sdk/dist/routes/intent.d.ts.map +1 -1
- package/sdk/dist/routes/intent.js +37 -1
- package/sdk/dist/routes/intent.js.map +1 -1
- package/sdk/dist/routes/nest.d.ts +3 -2
- package/sdk/dist/routes/nest.d.ts.map +1 -1
- package/sdk/dist/routes/nest.js +5 -3
- package/sdk/dist/routes/nest.js.map +1 -1
- package/sdk/dist/routes/parse.d.ts +6 -0
- package/sdk/dist/routes/parse.d.ts.map +1 -0
- package/sdk/dist/routes/parse.js +39 -0
- package/sdk/dist/routes/parse.js.map +1 -0
- package/sdk/dist/routes/portal.d.ts +258 -4
- package/sdk/dist/routes/portal.d.ts.map +1 -1
- package/sdk/dist/routes/portal.js +588 -9
- package/sdk/dist/routes/portal.js.map +1 -1
- package/sdk/dist/routes/protocol-rewrite.d.ts +71 -1
- package/sdk/dist/routes/protocol-rewrite.d.ts.map +1 -1
- package/sdk/dist/routes/protocol-rewrite.js +178 -54
- package/sdk/dist/routes/protocol-rewrite.js.map +1 -1
- package/sdk/dist/routes/rs-compile.d.ts +25 -22
- package/sdk/dist/routes/rs-compile.d.ts.map +1 -1
- package/sdk/dist/routes/rs-compile.js +55 -49
- package/sdk/dist/routes/rs-compile.js.map +1 -1
- package/sdk/dist/routes/sauce-calls.d.ts +26 -12
- package/sdk/dist/routes/sauce-calls.d.ts.map +1 -1
- package/sdk/dist/routes/sauce-calls.js +16 -23
- package/sdk/dist/routes/sauce-calls.js.map +1 -1
- package/sdk/dist/routes/sauce-route.d.ts +74 -7
- package/sdk/dist/routes/sauce-route.d.ts.map +1 -1
- package/sdk/dist/routes/sauce-route.js +225 -75
- package/sdk/dist/routes/sauce-route.js.map +1 -1
- package/sdk/dist/routes/source-globals.d.ts +107 -0
- package/sdk/dist/routes/source-globals.d.ts.map +1 -0
- package/sdk/dist/routes/source-globals.generated.d.ts +5601 -933
- package/sdk/dist/routes/source-globals.generated.d.ts.map +1 -1
- package/sdk/dist/routes/source-globals.generated.js +3 -4
- package/sdk/dist/routes/source-globals.generated.js.map +1 -1
- package/sdk/dist/routes/source-globals.js +175 -0
- package/sdk/dist/routes/source-globals.js.map +1 -0
- package/sdk/dist/routes/stock-tokens.d.ts +89 -0
- package/sdk/dist/routes/stock-tokens.d.ts.map +1 -0
- package/sdk/dist/routes/stock-tokens.generated.d.ts +7 -0
- package/sdk/dist/routes/stock-tokens.generated.d.ts.map +1 -0
- package/sdk/dist/routes/stock-tokens.generated.js +3664 -0
- package/sdk/dist/routes/stock-tokens.generated.js.map +1 -0
- package/sdk/dist/routes/stock-tokens.js +89 -0
- package/sdk/dist/routes/stock-tokens.js.map +1 -0
- package/sdk/dist/routes/token-registry.d.ts +68 -8
- package/sdk/dist/routes/token-registry.d.ts.map +1 -1
- package/sdk/dist/routes/token-registry.js +218 -32
- package/sdk/dist/routes/token-registry.js.map +1 -1
- package/sdk/dist/routes/token-rewrite.d.ts +1 -1
- package/sdk/dist/routes/token-rewrite.d.ts.map +1 -1
- package/sdk/dist/routes/token-rewrite.js +5 -9
- package/sdk/dist/routes/token-rewrite.js.map +1 -1
- package/sdk/dist/routes/unknown-global.d.ts +32 -0
- package/sdk/dist/routes/unknown-global.d.ts.map +1 -0
- package/sdk/dist/routes/unknown-global.js +106 -0
- package/sdk/dist/routes/unknown-global.js.map +1 -0
- package/sdk/dist/routes/vault.d.ts +38 -8
- package/sdk/dist/routes/vault.d.ts.map +1 -1
- package/sdk/dist/routes/vault.js +47 -8
- package/sdk/dist/routes/vault.js.map +1 -1
- package/sdk/dist/sauce-script/builtins.d.ts +309 -0
- package/sdk/dist/sauce-script/declarations.d.ts +3 -0
- package/sdk/dist/sauce-script/declarations.d.ts.map +1 -0
- package/sdk/dist/sauce-script/declarations.js +229 -0
- package/sdk/dist/sauce-script/declarations.js.map +1 -0
- package/sdk/dist/sauce-script/index.d.ts +2714 -0
- package/sdk/dist/sauce-script/ts-plugin.cjs +85 -0
- package/sdk/dist/skills/loader.d.ts.map +1 -1
- package/sdk/dist/skills/loader.js +4 -3
- package/sdk/dist/skills/loader.js.map +1 -1
- package/sdk/dist/std/router/balancer-v2-vault.abi.json +78 -0
- package/sdk/dist/std/router/curve-cryptoswap.abi.json +29 -0
- package/sdk/dist/std/router/curve-stableswap.abi.json +29 -0
- package/sdk/dist/std/router/dodo-v2-pool.abi.json +39 -0
- package/sdk/dist/std/router/lb-pair.abi.json +55 -0
- package/sdk/dist/std/router/package.json +7 -0
- package/sdk/dist/std/router/router.evm.js +567 -0
- package/sdk/dist/std/router/sauce-router.abi.json +202 -0
- package/sdk/dist/std/router/uniswap-v2-pair.abi.json +49 -0
- package/sdk/dist/std/router/woo-pp-v2.abi.json +42 -0
- package/sdk/dist/std/token/permit2.abi.json +226 -0
- package/sdk/dist/std/token/token.evm.js +73 -0
- package/sdk/dist/std/token/token.svm.js +194 -41
- package/sdk/dist/svm/client.d.ts +62 -15
- package/sdk/dist/svm/client.d.ts.map +1 -1
- package/sdk/dist/svm/client.js +103 -42
- package/sdk/dist/svm/client.js.map +1 -1
- package/sdk/dist/svm/engine.d.ts +66 -5
- package/sdk/dist/svm/engine.d.ts.map +1 -1
- package/sdk/dist/svm/engine.js +73 -5
- package/sdk/dist/svm/engine.js.map +1 -1
- package/sdk/dist/svm/index.d.ts +2 -0
- package/sdk/dist/svm/index.d.ts.map +1 -1
- package/sdk/dist/svm/index.js +2 -0
- package/sdk/dist/svm/index.js.map +1 -1
- package/sdk/dist/svm/instructions.d.ts +72 -1
- package/sdk/dist/svm/instructions.d.ts.map +1 -1
- package/sdk/dist/svm/instructions.js +81 -2
- package/sdk/dist/svm/instructions.js.map +1 -1
- package/sdk/dist/svm/kitchen.d.ts +20 -1
- package/sdk/dist/svm/kitchen.d.ts.map +1 -1
- package/sdk/dist/svm/kitchen.js +47 -1
- package/sdk/dist/svm/kitchen.js.map +1 -1
- package/sdk/dist/svm/portal.d.ts +250 -0
- package/sdk/dist/svm/portal.d.ts.map +1 -0
- package/sdk/dist/svm/portal.js +462 -0
- package/sdk/dist/svm/portal.js.map +1 -0
- package/sdk/dist/svm/send.d.ts +18 -2
- package/sdk/dist/svm/send.d.ts.map +1 -1
- package/sdk/dist/svm/send.js +28 -3
- package/sdk/dist/svm/send.js.map +1 -1
- package/sdk/dist/svm/token-accounts.d.ts +49 -0
- package/sdk/dist/svm/token-accounts.d.ts.map +1 -0
- package/sdk/dist/svm/token-accounts.js +58 -0
- package/sdk/dist/svm/token-accounts.js.map +1 -0
- package/sdk/dist/svm/token-extensions.d.ts +18 -7
- package/sdk/dist/svm/token-extensions.d.ts.map +1 -1
- package/sdk/dist/svm/token-extensions.js +58 -5
- package/sdk/dist/svm/token-extensions.js.map +1 -1
- package/sdk/dist/token/evm.js +1 -1
- package/sdk/dist/token/index.d.ts +1 -1
- package/sdk/dist/token/index.js +1 -1
- package/sdk/dist/token/params.js +1 -1
- package/sdk/dist/token/source.js +3 -3
- package/sdk/dist/token/source.js.map +1 -1
- package/sdk/dist/token/types.d.ts +2 -2
- package/sdk/dist/token/types.js +2 -2
- package/sdk/src/protocols/aerodrome/AerodromePoolABI.json +105 -0
- package/sdk/src/protocols/aerodrome/abis.ts +62 -0
- package/sdk/src/protocols/aerodrome-slipstream/AerodromeSlipstreamPoolABI.json +96 -0
- package/sdk/src/protocols/aerodrome-slipstream/abis.ts +55 -0
- package/sdk/src/protocols/camelot/CamelotV2FactoryABI.json +25 -0
- package/sdk/src/protocols/camelot/CamelotV2PairABI.json +109 -0
- package/sdk/src/protocols/camelot/CamelotV3FactoryABI.json +25 -0
- package/sdk/src/protocols/camelot/CamelotV3PoolABI.json +92 -0
- package/sdk/src/protocols/camelot/abis.ts +143 -0
- package/sdk/src/protocols/eco-routes/PortalABI.json +1448 -0
- package/sdk/src/protocols/eco-routes/ProverABI.json +162 -0
- package/sdk/src/protocols/eco-routes/abis.ts +1060 -51
- package/sdk/src/protocols/eco-routes/addresses.generated.ts +45 -62
- package/sdk/src/protocols/eco-routes/lookup.ts +18 -0
- package/sdk/src/protocols/maverick/MaverickV2PoolABI.json +107 -0
- package/sdk/src/protocols/maverick/abis.ts +59 -0
- package/sdk/src/protocols/maverick/addresses.ts +4 -0
- package/sdk/src/protocols/pancakeswap-v2/PancakeSwapV2PairABI.json +72 -0
- package/sdk/src/protocols/pancakeswap-v2/abis.ts +44 -0
- package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3PoolABI.json +100 -0
- package/sdk/src/protocols/pancakeswap-v3/abis.ts +57 -0
- package/sdk/src/protocols/permit2/Permit2ABI.json +154 -0
- package/sdk/src/protocols/permit2/abis.ts +63 -0
- package/sdk/src/protocols/quickswap/QuickSwapV2FactoryABI.json +25 -0
- package/sdk/src/protocols/quickswap/QuickSwapV2PairABI.json +72 -0
- package/sdk/src/protocols/quickswap/QuickSwapV3FactoryABI.json +25 -0
- package/sdk/src/protocols/quickswap/QuickSwapV3PoolABI.json +88 -0
- package/sdk/src/protocols/quickswap/abis.ts +123 -0
- package/sdk/src/protocols/sushiswap-v2/SushiSwapV2PairABI.json +72 -0
- package/sdk/src/protocols/sushiswap-v2/abis.ts +43 -0
- package/sdk/src/protocols/synthra-v3/SynthraV3PoolABI.json +100 -0
- package/sdk/src/protocols/synthra-v3/abis.ts +56 -0
- package/sdk/src/protocols/trader-joe/LBPairABI.json +185 -0
- package/sdk/src/protocols/trader-joe/abis.ts +102 -0
- package/sdk/src/protocols/trader-joe/addresses.ts +5 -0
- package/sdk/src/protocols/uniswap-v2/UniswapV2PairABI.json +72 -0
- package/sdk/src/protocols/uniswap-v2/abis.ts +45 -0
- package/sdk/src/protocols/uniswap-v3/UniswapV3PoolABI.json +100 -0
- package/sdk/src/protocols/uniswap-v3/abis.ts +56 -0
- package/sdk/src/protocols/uniswap-v4/UniswapV4PoolManagerABI.json +38 -0
- package/sdk/src/protocols/uniswap-v4/UniswapV4StateViewABI.json +307 -0
- package/sdk/src/protocols/uniswap-v4/abis.ts +168 -0
- package/sdk/src/protocols/uniswap-v4/addresses.ts +50 -0
- package/sdk/src/protocols/unitflow-v3/UnitFlowV3PoolABI.json +100 -0
- package/sdk/src/protocols/unitflow-v3/abis.ts +57 -0
- package/sdk/src/protocols/velodrome/VelodromePoolABI.json +105 -0
- package/sdk/src/protocols/velodrome/abis.ts +62 -0
- package/skills/sauce-actions/SKILL.md +166 -0
- package/skills/sauce-actions/examples/swap-and-supply.json +24 -0
- package/skills/sauce-actions/examples/swap-by-key.json +15 -0
- package/skills/sauce-actions/references/actions.md +731 -0
- package/skills/sauce-chains/SKILL.md +137 -0
- package/skills/sauce-chains/examples/chains.sauce.ts +25 -0
- package/skills/sauce-chains/references/arbitrum.md +158 -0
- package/skills/sauce-chains/references/arc.md +107 -0
- package/skills/sauce-chains/references/aurora.md +33 -0
- package/skills/sauce-chains/references/avalanche.md +106 -0
- package/skills/sauce-chains/references/base-stocks.md +77 -0
- package/skills/sauce-chains/references/base.md +141 -0
- package/skills/sauce-chains/references/berachain.md +33 -0
- package/skills/sauce-chains/references/blast.md +60 -0
- package/skills/sauce-chains/references/boba.md +33 -0
- package/skills/sauce-chains/references/bsc.md +97 -0
- package/skills/sauce-chains/references/celo.md +57 -0
- package/skills/sauce-chains/references/core.md +33 -0
- package/skills/sauce-chains/references/cronos.md +33 -0
- package/skills/sauce-chains/references/ethereum-stocks.md +1741 -0
- package/skills/sauce-chains/references/ethereum.md +255 -0
- package/skills/sauce-chains/references/evmos.md +33 -0
- package/skills/sauce-chains/references/fantom.md +61 -0
- package/skills/sauce-chains/references/fuse.md +33 -0
- package/skills/sauce-chains/references/gnosis.md +57 -0
- package/skills/sauce-chains/references/index.md +58 -0
- package/skills/sauce-chains/references/ink.md +55 -0
- package/skills/sauce-chains/references/kava.md +33 -0
- package/skills/sauce-chains/references/klaytn.md +33 -0
- package/skills/sauce-chains/references/linea.md +65 -0
- package/skills/sauce-chains/references/manta.md +33 -0
- package/skills/sauce-chains/references/mantle.md +33 -0
- package/skills/sauce-chains/references/metis.md +54 -0
- package/skills/sauce-chains/references/mode.md +55 -0
- package/skills/sauce-chains/references/monad.md +79 -0
- package/skills/sauce-chains/references/moonbeam.md +33 -0
- package/skills/sauce-chains/references/opbnb.md +55 -0
- package/skills/sauce-chains/references/optimism.md +123 -0
- package/skills/sauce-chains/references/plasma.md +35 -0
- package/skills/sauce-chains/references/polygon.md +123 -0
- package/skills/sauce-chains/references/pulsechain.md +33 -0
- package/skills/sauce-chains/references/ronin.md +35 -0
- package/skills/sauce-chains/references/scroll.md +62 -0
- package/skills/sauce-chains/references/sei.md +55 -0
- package/skills/sauce-chains/references/solana-stocks.md +1812 -0
- package/skills/sauce-chains/references/solana.md +56 -0
- package/skills/sauce-chains/references/sonic.md +57 -0
- package/skills/sauce-chains/references/unichain.md +61 -0
- package/skills/sauce-chains/references/zetachain.md +33 -0
- package/skills/sauce-chains/references/zksync.md +59 -0
- package/skills/sauce-chains/references/zora.md +57 -0
- package/skills/sauce-cli/SKILL.md +366 -0
- package/skills/sauce-cli/examples/pay.sauce.ts +23 -0
- package/skills/sauce-cli/examples/split.sauce.ts +30 -0
- package/skills/sauce-distributed-swap/SKILL.md +392 -0
- package/skills/sauce-distributed-swap/examples/distributed-swap.mts +251 -0
- package/skills/sauce-distributed-swap/examples/distributed-swap.sauce.ts +115 -0
- package/skills/sauce-examples/SKILL.md +96 -0
- package/skills/sauce-globals/SKILL.md +213 -0
- package/skills/sauce-globals/examples/globals.mts +111 -0
- package/skills/sauce-globals/examples/globals.sauce.ts +47 -0
- package/skills/sauce-globals/references/chains.md +53 -0
- package/skills/sauce-globals/references/protocols.md +405 -0
- package/skills/sauce-globals/references/stocks.md +3635 -0
- package/skills/sauce-globals/references/tokens.md +53 -0
- package/skills/sauce-intents/SKILL.md +505 -0
- package/skills/sauce-intents/examples/cross-chain.sauce.ts +37 -0
- package/skills/sauce-intents/examples/fund-by-transfer.sauce.ts +54 -0
- package/skills/sauce-intents/examples/intents.mts +343 -0
- package/skills/sauce-intents/examples/swap-on-base.sauce.ts +135 -0
- package/skills/sauce-intents/references/portal.md +77 -0
- package/skills/sauce-overview/SKILL.md +161 -0
- package/skills/sauce-protocols/SKILL.md +118 -0
- package/skills/sauce-protocols/examples/protocols.mts +77 -0
- package/skills/sauce-protocols/examples/protocols.sauce.ts +27 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/aave-v2.md +35 -17
- package/skills/sauce-protocols/references/aave-v3.md +144 -0
- package/skills/sauce-protocols/references/aave-v4.md +50 -0
- package/skills/sauce-protocols/references/abracadabra.md +72 -0
- package/skills/sauce-protocols/references/across.md +73 -0
- package/skills/sauce-protocols/references/aerodrome-slipstream.md +50 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/aerodrome.md +43 -24
- package/skills/sauce-protocols/references/aevo.md +49 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/alchemix.md +10 -25
- package/{sdk/src/skills → skills/sauce-protocols/references}/ambient.md +14 -21
- package/{sdk/src/skills → skills/sauce-protocols/references}/arbitrum-bridge.md +11 -14
- package/{sdk/src/skills → skills/sauce-protocols/references}/arrakis.md +10 -26
- package/skills/sauce-protocols/references/axelar.md +56 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/balancer-v2.md +13 -29
- package/{sdk/src/skills → skills/sauce-protocols/references}/base-bridge.md +11 -16
- package/{sdk/src/skills → skills/sauce-protocols/references}/baseswap.md +12 -19
- package/{sdk/src/skills → skills/sauce-protocols/references}/beefy.md +10 -30
- package/{sdk/src/skills → skills/sauce-protocols/references}/benqi.md +11 -21
- package/{sdk/src/skills → skills/sauce-protocols/references}/camelot.md +13 -27
- package/{sdk/src/skills → skills/sauce-protocols/references}/cbeth.md +10 -22
- package/skills/sauce-protocols/references/cctp.md +47 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/celer.md +11 -18
- package/{sdk/src/skills → skills/sauce-protocols/references}/chainlink-ccip.md +11 -21
- package/skills/sauce-protocols/references/chainlink.md +47 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/circle-gateway.md +12 -38
- package/{sdk/src/skills → skills/sauce-protocols/references}/compound-v2.md +11 -25
- package/{sdk/src/skills → skills/sauce-protocols/references}/compound-v3.md +43 -27
- package/{sdk/src/skills → skills/sauce-protocols/references}/connext.md +11 -15
- package/{sdk/src/skills → skills/sauce-protocols/references}/convex.md +10 -28
- package/{sdk/src/skills → skills/sauce-protocols/references}/cowswap.md +12 -19
- package/{sdk/src/skills → skills/sauce-protocols/references}/crvusd.md +10 -19
- package/skills/sauce-protocols/references/curve.md +98 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/debridge.md +11 -33
- package/{sdk/src/skills → skills/sauce-protocols/references}/dodo.md +13 -18
- package/skills/sauce-protocols/references/eigenlayer.md +48 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/ens.md +10 -26
- package/{sdk/src/skills → skills/sauce-protocols/references}/erc20.md +10 -24
- package/{sdk/src/skills → skills/sauce-protocols/references}/erc3156.md +10 -13
- package/{sdk/src/skills → skills/sauce-protocols/references}/erc4626.md +11 -27
- package/{sdk/src/skills → skills/sauce-protocols/references}/ethena.md +10 -27
- package/{sdk/src/skills → skills/sauce-protocols/references}/etherfi.md +10 -32
- package/{sdk/src/skills → skills/sauce-protocols/references}/euler-v2.md +11 -21
- package/{sdk/src/skills → skills/sauce-protocols/references}/fenix.md +12 -18
- package/{sdk/src/skills → skills/sauce-protocols/references}/fluid.md +11 -20
- package/{sdk/src/skills → skills/sauce-protocols/references}/frax-ether.md +10 -26
- package/{sdk/src/skills → skills/sauce-protocols/references}/frax.md +10 -19
- package/{sdk/src/skills → skills/sauce-protocols/references}/gains-network.md +11 -28
- package/skills/sauce-protocols/references/gamma.md +57 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/gelato.md +12 -20
- package/{sdk/src/skills → skills/sauce-protocols/references}/gho.md +10 -19
- package/{sdk/src/skills → skills/sauce-protocols/references}/gmx-v1.md +12 -34
- package/{sdk/src/skills → skills/sauce-protocols/references}/gmx-v2.md +15 -28
- package/skills/sauce-protocols/references/harvest.md +41 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/hegic.md +10 -18
- package/{sdk/src/skills → skills/sauce-protocols/references}/hop.md +11 -21
- package/{sdk/src/skills → skills/sauce-protocols/references}/hyperlane.md +11 -21
- package/skills/sauce-protocols/references/index.md +355 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/instadapp.md +10 -18
- package/skills/sauce-protocols/references/kelp.md +46 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/kim.md +12 -18
- package/{sdk/src/skills → skills/sauce-protocols/references}/kyberswap-aggregator.md +12 -35
- package/skills/sauce-protocols/references/kyberswap.md +72 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/layerbank.md +11 -26
- package/{sdk/src/skills → skills/sauce-protocols/references}/layerzero.md +11 -25
- package/{sdk/src/skills → skills/sauce-protocols/references}/level-finance.md +10 -24
- package/{sdk/src/skills → skills/sauce-protocols/references}/lido.md +10 -28
- package/{sdk/src/skills → skills/sauce-protocols/references}/lifi.md +11 -25
- package/{sdk/src/skills → skills/sauce-protocols/references}/linea-bridge.md +11 -14
- package/{sdk/src/skills → skills/sauce-protocols/references}/liquity-v1.md +10 -21
- package/{sdk/src/skills → skills/sauce-protocols/references}/liquity-v2.md +10 -19
- package/{sdk/src/skills → skills/sauce-protocols/references}/lynex.md +12 -18
- package/skills/sauce-protocols/references/maker.md +57 -0
- package/skills/sauce-protocols/references/mantle-meth.md +43 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/maverick.md +13 -25
- package/{sdk/src/skills → skills/sauce-protocols/references}/moonwell.md +11 -21
- package/{sdk/src/skills → skills/sauce-protocols/references}/morpho-blue.md +44 -21
- package/{sdk/src/skills → skills/sauce-protocols/references}/mux-protocol.md +10 -30
- package/skills/sauce-protocols/references/olympus.md +39 -0
- package/skills/sauce-protocols/references/oneinch.md +81 -0
- package/skills/sauce-protocols/references/openocean.md +69 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/optimism-bridge.md +11 -16
- package/{sdk/src/skills → skills/sauce-protocols/references}/opyn.md +10 -21
- package/{sdk/src/skills → skills/sauce-protocols/references}/pancakeswap-v2.md +39 -41
- package/skills/sauce-protocols/references/pancakeswap-v3.md +72 -0
- package/skills/sauce-protocols/references/paraswap.md +39 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/pendle.md +47 -29
- package/skills/sauce-protocols/references/permit2.md +101 -0
- package/skills/sauce-protocols/references/perpetual-protocol.md +53 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/polygon-bridge.md +11 -17
- package/{sdk/src/skills → skills/sauce-protocols/references}/premia.md +10 -19
- package/{sdk/src/skills → skills/sauce-protocols/references}/puffer.md +10 -21
- package/skills/sauce-protocols/references/pyth.md +45 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/quickswap.md +13 -27
- package/{sdk/src/skills → skills/sauce-protocols/references}/radiant.md +11 -15
- package/{sdk/src/skills → skills/sauce-protocols/references}/ramses.md +12 -18
- package/skills/sauce-protocols/references/reflexer.md +52 -0
- package/skills/sauce-protocols/references/registry/aave-v2.md +43 -0
- package/skills/sauce-protocols/references/registry/aave-v3.md +62 -0
- package/skills/sauce-protocols/references/registry/aave-v4.md +80 -0
- package/skills/sauce-protocols/references/registry/abracadabra.md +54 -0
- package/skills/sauce-protocols/references/registry/across.md +57 -0
- package/skills/sauce-protocols/references/registry/aerodrome-slipstream.md +72 -0
- package/skills/sauce-protocols/references/registry/aerodrome.md +58 -0
- package/skills/sauce-protocols/references/registry/aevo.md +39 -0
- package/skills/sauce-protocols/references/registry/alchemix.md +46 -0
- package/skills/sauce-protocols/references/registry/ambient.md +40 -0
- package/skills/sauce-protocols/references/registry/arbitrum-bridge.md +40 -0
- package/skills/sauce-protocols/references/registry/arrakis.md +49 -0
- package/skills/sauce-protocols/references/registry/axelar.md +65 -0
- package/skills/sauce-protocols/references/registry/balancer-v2.md +50 -0
- package/skills/sauce-protocols/references/registry/base-bridge.md +42 -0
- package/skills/sauce-protocols/references/registry/baseswap.md +40 -0
- package/skills/sauce-protocols/references/registry/beefy.md +51 -0
- package/skills/sauce-protocols/references/registry/benqi.md +49 -0
- package/skills/sauce-protocols/references/registry/camelot.md +82 -0
- package/skills/sauce-protocols/references/registry/cbeth.md +43 -0
- package/skills/sauce-protocols/references/registry/cctp.md +48 -0
- package/skills/sauce-protocols/references/registry/celer.md +44 -0
- package/skills/sauce-protocols/references/registry/chainlink-ccip.md +45 -0
- package/skills/sauce-protocols/references/registry/chainlink.md +49 -0
- package/skills/sauce-protocols/references/registry/circle-gateway.md +70 -0
- package/skills/sauce-protocols/references/registry/compound-v2.md +53 -0
- package/skills/sauce-protocols/references/registry/compound-v3.md +52 -0
- package/skills/sauce-protocols/references/registry/connext.md +41 -0
- package/skills/sauce-protocols/references/registry/convex.md +51 -0
- package/skills/sauce-protocols/references/registry/cowswap.md +40 -0
- package/skills/sauce-protocols/references/registry/crvusd.md +40 -0
- package/skills/sauce-protocols/references/registry/curve.md +81 -0
- package/skills/sauce-protocols/references/registry/debridge.md +59 -0
- package/skills/sauce-protocols/references/registry/dodo.md +39 -0
- package/skills/sauce-protocols/references/registry/eco-routes.md +65 -0
- package/skills/sauce-protocols/references/registry/eigenlayer.md +58 -0
- package/skills/sauce-protocols/references/registry/ens.md +49 -0
- package/skills/sauce-protocols/references/registry/erc20.md +44 -0
- package/skills/sauce-protocols/references/registry/erc3156.md +38 -0
- package/skills/sauce-protocols/references/registry/erc4626.md +51 -0
- package/skills/sauce-protocols/references/registry/ethena.md +50 -0
- package/skills/sauce-protocols/references/registry/etherfi.md +57 -0
- package/skills/sauce-protocols/references/registry/euler-v2.md +49 -0
- package/skills/sauce-protocols/references/registry/fenix.md +39 -0
- package/skills/sauce-protocols/references/registry/fluid.md +48 -0
- package/skills/sauce-protocols/references/registry/frax-ether.md +49 -0
- package/skills/sauce-protocols/references/registry/frax.md +40 -0
- package/skills/sauce-protocols/references/registry/gains-network.md +43 -0
- package/skills/sauce-protocols/references/registry/gamma.md +56 -0
- package/skills/sauce-protocols/references/registry/gelato.md +45 -0
- package/skills/sauce-protocols/references/registry/gho.md +40 -0
- package/skills/sauce-protocols/references/registry/gmx-v1.md +59 -0
- package/skills/sauce-protocols/references/registry/gmx-v2.md +41 -0
- package/skills/sauce-protocols/references/registry/harvest.md +44 -0
- package/skills/sauce-protocols/references/registry/hegic.md +39 -0
- package/skills/sauce-protocols/references/registry/hop.md +49 -0
- package/skills/sauce-protocols/references/registry/hyperlane.md +48 -0
- package/skills/sauce-protocols/references/registry/instadapp.md +39 -0
- package/skills/sauce-protocols/references/registry/kelp.md +47 -0
- package/skills/sauce-protocols/references/registry/kim.md +39 -0
- package/skills/sauce-protocols/references/registry/kyberswap-aggregator.md +49 -0
- package/skills/sauce-protocols/references/registry/kyberswap.md +63 -0
- package/skills/sauce-protocols/references/registry/layerbank.md +54 -0
- package/skills/sauce-protocols/references/registry/layerzero.md +49 -0
- package/skills/sauce-protocols/references/registry/level-finance.md +41 -0
- package/skills/sauce-protocols/references/registry/lido.md +51 -0
- package/skills/sauce-protocols/references/registry/lifi.md +48 -0
- package/skills/sauce-protocols/references/registry/linea-bridge.md +40 -0
- package/skills/sauce-protocols/references/registry/liquity-v1.md +42 -0
- package/skills/sauce-protocols/references/registry/liquity-v2.md +40 -0
- package/skills/sauce-protocols/references/registry/lynex.md +39 -0
- package/skills/sauce-protocols/references/registry/maker.md +55 -0
- package/skills/sauce-protocols/references/registry/mantle-meth.md +48 -0
- package/skills/sauce-protocols/references/registry/maverick.md +60 -0
- package/skills/sauce-protocols/references/registry/moonwell.md +49 -0
- package/skills/sauce-protocols/references/registry/morpho-blue.md +47 -0
- package/skills/sauce-protocols/references/registry/mux-protocol.md +49 -0
- package/skills/sauce-protocols/references/registry/olympus.md +42 -0
- package/skills/sauce-protocols/references/registry/oneinch.md +45 -0
- package/skills/sauce-protocols/references/registry/openocean.md +44 -0
- package/skills/sauce-protocols/references/registry/optimism-bridge.md +42 -0
- package/skills/sauce-protocols/references/registry/opyn.md +42 -0
- package/skills/sauce-protocols/references/registry/pancakeswap-v2.md +71 -0
- package/skills/sauce-protocols/references/registry/pancakeswap-v3.md +76 -0
- package/skills/sauce-protocols/references/registry/paraswap.md +51 -0
- package/skills/sauce-protocols/references/registry/pendle.md +43 -0
- package/skills/sauce-protocols/references/registry/permit2.md +50 -0
- package/skills/sauce-protocols/references/registry/perpetual-protocol.md +49 -0
- package/skills/sauce-protocols/references/registry/polygon-bridge.md +43 -0
- package/skills/sauce-protocols/references/registry/premia.md +40 -0
- package/skills/sauce-protocols/references/registry/puffer.md +43 -0
- package/skills/sauce-protocols/references/registry/pyth.md +40 -0
- package/skills/sauce-protocols/references/registry/quickswap.md +80 -0
- package/skills/sauce-protocols/references/registry/radiant.md +41 -0
- package/skills/sauce-protocols/references/registry/ramses.md +39 -0
- package/skills/sauce-protocols/references/registry/reflexer.md +56 -0
- package/skills/sauce-protocols/references/registry/renzo.md +47 -0
- package/skills/sauce-protocols/references/registry/rocket-pool.md +49 -0
- package/skills/sauce-protocols/references/registry/sablier.md +40 -0
- package/skills/sauce-protocols/references/registry/safe.md +47 -0
- package/skills/sauce-protocols/references/registry/scroll-bridge.md +48 -0
- package/skills/sauce-protocols/references/registry/seamless.md +42 -0
- package/skills/sauce-protocols/references/registry/seaport.md +44 -0
- package/skills/sauce-protocols/references/registry/silo.md +48 -0
- package/skills/sauce-protocols/references/registry/socket.md +44 -0
- package/skills/sauce-protocols/references/registry/sommelier.md +43 -0
- package/skills/sauce-protocols/references/registry/spark.md +42 -0
- package/skills/sauce-protocols/references/registry/spookyswap.md +40 -0
- package/skills/sauce-protocols/references/registry/squid.md +45 -0
- package/skills/sauce-protocols/references/registry/stader.md +47 -0
- package/skills/sauce-protocols/references/registry/stargate.md +45 -0
- package/skills/sauce-protocols/references/registry/superfluid.md +49 -0
- package/skills/sauce-protocols/references/registry/sushiswap-v2.md +71 -0
- package/skills/sauce-protocols/references/registry/swell.md +49 -0
- package/skills/sauce-protocols/references/registry/synapse.md +46 -0
- package/skills/sauce-protocols/references/registry/syncswap.md +38 -0
- package/skills/sauce-protocols/references/registry/synthetix-v3.md +48 -0
- package/skills/sauce-protocols/references/registry/synthra-v3.md +77 -0
- package/skills/sauce-protocols/references/registry/thales.md +51 -0
- package/skills/sauce-protocols/references/registry/thena.md +39 -0
- package/skills/sauce-protocols/references/registry/thruster.md +38 -0
- package/skills/sauce-protocols/references/registry/tokemak.md +45 -0
- package/skills/sauce-protocols/references/registry/trader-joe.md +66 -0
- package/skills/sauce-protocols/references/registry/uniswap-v2.md +77 -0
- package/skills/sauce-protocols/references/registry/uniswap-v3.md +113 -0
- package/skills/sauce-protocols/references/registry/uniswap-v4.md +117 -0
- package/skills/sauce-protocols/references/registry/unitflow-v3.md +65 -0
- package/skills/sauce-protocols/references/registry/velodrome.md +58 -0
- package/skills/sauce-protocols/references/registry/venus.md +62 -0
- package/skills/sauce-protocols/references/registry/vertex.md +46 -0
- package/skills/sauce-protocols/references/registry/wormhole.md +59 -0
- package/skills/sauce-protocols/references/registry/yearn-v3.md +46 -0
- package/skills/sauce-protocols/references/registry/zerolend.md +41 -0
- package/skills/sauce-protocols/references/registry/zerox.md +44 -0
- package/skills/sauce-protocols/references/registry/zksync-bridge.md +40 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/renzo.md +10 -24
- package/{sdk/src/skills → skills/sauce-protocols/references}/rocket-pool.md +10 -26
- package/{sdk/src/skills → skills/sauce-protocols/references}/sablier.md +10 -27
- package/skills/sauce-protocols/references/safe.md +42 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/scroll-bridge.md +11 -20
- package/{sdk/src/skills → skills/sauce-protocols/references}/seamless.md +11 -16
- package/skills/sauce-protocols/references/seaport.md +38 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/silo.md +11 -20
- package/{sdk/src/skills → skills/sauce-protocols/references}/socket.md +11 -18
- package/skills/sauce-protocols/references/sommelier.md +40 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/spark.md +11 -16
- package/{sdk/src/skills → skills/sauce-protocols/references}/spookyswap.md +12 -19
- package/{sdk/src/skills → skills/sauce-protocols/references}/squid.md +11 -21
- package/skills/sauce-protocols/references/stader.md +39 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/stargate.md +11 -22
- package/{sdk/src/skills → skills/sauce-protocols/references}/superfluid.md +10 -28
- package/{sdk/src/skills → skills/sauce-protocols/references}/sushiswap-v2.md +38 -43
- package/skills/sauce-protocols/references/swell.md +49 -0
- package/skills/sauce-protocols/references/synapse.md +54 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/syncswap.md +12 -17
- package/{sdk/src/skills → skills/sauce-protocols/references}/synthetix-v3.md +10 -29
- package/skills/sauce-protocols/references/synthra-v3.md +63 -0
- package/skills/sauce-protocols/references/thales.md +58 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/thena.md +12 -18
- package/{sdk/src/skills → skills/sauce-protocols/references}/thruster.md +13 -18
- package/skills/sauce-protocols/references/tokemak.md +40 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/trader-joe.md +13 -26
- package/{sdk/src/skills → skills/sauce-protocols/references}/uniswap-v2.md +46 -44
- package/skills/sauce-protocols/references/uniswap-v3.md +188 -0
- package/skills/sauce-protocols/references/uniswap-v4.md +155 -0
- package/skills/sauce-protocols/references/unitflow-v3.md +63 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/velodrome.md +12 -24
- package/{sdk/src/skills → skills/sauce-protocols/references}/venus.md +12 -31
- package/skills/sauce-protocols/references/vertex.md +42 -0
- package/skills/sauce-protocols/references/wormhole.md +57 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/yearn-v3.md +10 -25
- package/{sdk/src/skills → skills/sauce-protocols/references}/zerolend.md +11 -15
- package/skills/sauce-protocols/references/zerox.md +39 -0
- package/{sdk/src/skills → skills/sauce-protocols/references}/zksync-bridge.md +11 -14
- package/skills/sauce-script/SKILL.md +407 -0
- package/skills/sauce-script/examples/IOracle.json +12 -0
- package/skills/sauce-script/examples/saucescript.mts +167 -0
- package/skills/sauce-script/examples/twap.sauce.ts +29 -0
- package/skills/sauce-script/references/builtins.json +823 -0
- package/skills/sauce-script/references/builtins.md +674 -0
- package/skills/sauce-solana/SKILL.md +324 -0
- package/skills/sauce-solana/examples/solana.mts +166 -0
- package/skills/sauce-solana/examples/solana.sauce.ts +45 -0
- package/skills/sauce-solana/examples/token-2022.sauce.ts +38 -0
- package/skills/sauce-swaps/SKILL.md +200 -0
- package/skills/sauce-swaps/examples/swap-leg.sauce.ts +50 -0
- package/skills/sauce-swaps/examples/swaps.mts +124 -0
- package/skills/sauce-typescript/SKILL.md +178 -0
- package/skills/sauce-typescript/examples/actions.mts +100 -0
- package/skills/sauce-typescript/examples/compiler.mts +69 -0
- package/skills/sauce-typescript/examples/cook.mts +65 -0
- package/skills/sauce-typescript/examples/verify.mts +104 -0
- package/dev-tools/README.md +0 -16
- package/dev-tools/artifacts/IERC20.json +0 -1
- package/dev-tools/artifacts/ISauceRouter.json +0 -1
- package/dev-tools/artifacts/IUniswapV3Pool.json +0 -1
- package/dev-tools/artifacts/Router.json +0 -1
- package/dev-tools/hardhat.config.cjs +0 -18
- package/dev-tools/sauce/js/add.js +0 -4
- package/dev-tools/sauce/js/call.js +0 -8
- package/dev-tools/sauce/js/erc20.js +0 -18
- package/dev-tools/sauce/js/example.js +0 -6
- package/dev-tools/sauce/js/fibonacci.js +0 -13
- package/dev-tools/sauce/ts/add.ts +0 -4
- package/dev-tools/sauce/ts/call.ts +0 -8
- package/dev-tools/sauce/ts/erc20.ts +0 -18
- package/dev-tools/sauce/ts/example.ts +0 -6
- package/dev-tools/sauce/ts/fibonacci.ts +0 -13
- package/dev-tools/sauce/ts/saucescript.d.ts +0 -1
- package/dev-tools/sauce/ts/tsconfig.json +0 -12
- package/dev-tools/scripts/deploy.ts +0 -107
- package/dev-tools/scripts/init.js +0 -132
- package/dev-tools/scripts/run.ts +0 -67
- package/dev-tools/scripts/start-fork.sh +0 -92
- package/dev-tools/scripts/start-local.sh +0 -120
- package/dev-tools/scripts/stop-local.sh +0 -40
- package/dev-tools/scripts/sync-artifacts.js +0 -46
- package/dev-tools/scripts/sync-price.ts +0 -58
- package/dev-tools/src/contracts.ts +0 -59
- package/dev-tools/src/runner.ts +0 -355
- package/dev-tools/src/svm-local.ts +0 -305
- package/dev-tools/src/sync-price.ts +0 -217
- package/sdk/dist/deployments/v12.generated.d.ts +0 -95
- package/sdk/dist/deployments/v12.generated.d.ts.map +0 -1
- package/sdk/dist/deployments/v12.generated.js +0 -50
- package/sdk/dist/deployments/v12.generated.js.map +0 -1
- package/sdk/dist/swap/index.d.ts +0 -29
- package/sdk/dist/swap/index.d.ts.map +0 -1
- package/sdk/dist/swap/index.js +0 -27
- package/sdk/dist/swap/index.js.map +0 -1
- package/sdk/dist/swap/params.d.ts +0 -29
- package/sdk/dist/swap/params.d.ts.map +0 -1
- package/sdk/dist/swap/params.js +0 -123
- package/sdk/dist/swap/params.js.map +0 -1
- package/sdk/dist/swap/source.d.ts +0 -30
- package/sdk/dist/swap/source.d.ts.map +0 -1
- package/sdk/dist/swap/source.js +0 -101
- package/sdk/dist/swap/source.js.map +0 -1
- package/sdk/dist/swap/types.d.ts +0 -160
- package/sdk/dist/swap/types.d.ts.map +0 -1
- package/sdk/dist/swap/types.js +0 -106
- package/sdk/dist/swap/types.js.map +0 -1
- package/sdk/src/skills/aave-v3.md +0 -134
- package/sdk/src/skills/aave-v4.md +0 -91
- package/sdk/src/skills/abracadabra.md +0 -93
- package/sdk/src/skills/across.md +0 -90
- package/sdk/src/skills/aerodrome-slipstream.md +0 -57
- package/sdk/src/skills/aevo.md +0 -58
- package/sdk/src/skills/axelar.md +0 -80
- package/sdk/src/skills/chainlink.md +0 -62
- package/sdk/src/skills/curve.md +0 -141
- package/sdk/src/skills/eigenlayer.md +0 -71
- package/sdk/src/skills/gamma.md +0 -79
- package/sdk/src/skills/harvest.md +0 -49
- package/sdk/src/skills/index.md +0 -299
- package/sdk/src/skills/kelp.md +0 -60
- package/sdk/src/skills/kyberswap.md +0 -100
- package/sdk/src/skills/loader.ts +0 -46
- package/sdk/src/skills/maker.md +0 -79
- package/sdk/src/skills/mantle-meth.md +0 -60
- package/sdk/src/skills/olympus.md +0 -46
- package/sdk/src/skills/oneinch.md +0 -64
- package/sdk/src/skills/openocean.md +0 -86
- package/sdk/src/skills/pancakeswap-v3.md +0 -104
- package/sdk/src/skills/paraswap.md +0 -67
- package/sdk/src/skills/permit2.md +0 -73
- package/sdk/src/skills/perpetual-protocol.md +0 -73
- package/sdk/src/skills/pyth.md +0 -58
- package/sdk/src/skills/reflexer.md +0 -73
- package/sdk/src/skills/safe.md +0 -56
- package/sdk/src/skills/seaport.md +0 -65
- package/sdk/src/skills/sommelier.md +0 -47
- package/sdk/src/skills/stader.md +0 -53
- package/sdk/src/skills/swell.md +0 -65
- package/sdk/src/skills/synapse.md +0 -63
- package/sdk/src/skills/synthra-v3.md +0 -57
- package/sdk/src/skills/thales.md +0 -74
- package/sdk/src/skills/tokemak.md +0 -48
- package/sdk/src/skills/uniswap-v3.md +0 -202
- package/sdk/src/skills/uniswap-v4.md +0 -125
- package/sdk/src/skills/unitflow-v3.md +0 -62
- package/sdk/src/skills/vertex.md +0 -55
- package/sdk/src/skills/wormhole.md +0 -76
- package/sdk/src/skills/zerox.md +0 -51
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* SauceScript SOURCE emission for E4.2's universal deposit/stake/wrap adapter — pure string
|
|
3
|
-
* templating over {@link toDeposit}'s normalized output. Imports NO compiler
|
|
4
|
-
* `sdk/src/
|
|
5
|
-
* `sdk/src/swap/index.ts` for the E4.1 sibling this composes with. A template's
|
|
3
|
+
* templating over {@link toDeposit}'s normalized output. Imports NO compiler. See
|
|
4
|
+
* `sdk/src/deposit/index.ts` for the module overview. A template's
|
|
6
5
|
* `./protocols/<slug>/<Export>.json` import and the `./artifacts/IERC20.json` an approval needs are
|
|
7
6
|
* both served by the route compiler, so compiling one needs no resolver option.
|
|
8
7
|
*/
|
|
9
|
-
import { swapCallStatement, swapImportLines } from "../swap/source.js";
|
|
10
8
|
import { safeApproveStatements } from "../token/safe.js";
|
|
11
9
|
import { formatBigint } from "./format.js";
|
|
12
10
|
import { toDeposit } from "./params.js";
|
|
@@ -15,7 +13,7 @@ const IERC20_IMPORT = `import { IERC20 } from "./artifacts/IERC20.json";`;
|
|
|
15
13
|
function needsIerc20Import(d) {
|
|
16
14
|
if (d.template.funding === "erc20-approve" && d.approvalPolicy !== "none")
|
|
17
15
|
return true;
|
|
18
|
-
return d.template.funding !== "native-value" &&
|
|
16
|
+
return d.template.funding !== "native-value" && d.amount === "balance";
|
|
19
17
|
}
|
|
20
18
|
function balanceExpression(deposit) {
|
|
21
19
|
if (deposit.template.funding === "native-value")
|
|
@@ -46,12 +44,8 @@ function approveLines(d, amountExpr, varSuffix = "") {
|
|
|
46
44
|
}
|
|
47
45
|
/** Resolves `d.amount` (a literal, or `"balance"`/`"max"`) into an amount EXPRESSION, plus any
|
|
48
46
|
* binding statement(s) that must precede it (a `"balance"` read is bound once to a const so both
|
|
49
|
-
* the approve line and the protocol call reuse the SAME value).
|
|
50
|
-
* needs a pre-swap snapshot, which only `swapThenDepositSource` can provide. */
|
|
47
|
+
* the approve line and the protocol call reuse the SAME value). */
|
|
51
48
|
function resolveAmountExpr(d, varSuffix) {
|
|
52
|
-
if (d.amount === "delta") {
|
|
53
|
-
throw new Error(`depositCallStatement: amount "delta" is only meaningful inside swapThenDepositSource (it needs a pre-swap balance snapshot) — ${d.template.protocol}:${d.template.action}`);
|
|
54
|
-
}
|
|
55
49
|
if (d.amount === "max") {
|
|
56
50
|
return { pre: [], amountExpr: formatBigint(MAX_UINT256) };
|
|
57
51
|
}
|
|
@@ -85,8 +79,8 @@ export function depositCallStatement(spec, varSuffix = "") {
|
|
|
85
79
|
return lines.join("\n");
|
|
86
80
|
}
|
|
87
81
|
/** The import lines a `depositSource(specs)` program needs: each resolved template's own
|
|
88
|
-
* `imports`, plus `IERC20` iff any spec needs an approval or an ERC20 balance
|
|
89
|
-
* exact line, in first-seen order
|
|
82
|
+
* `imports`, plus `IERC20` iff any spec needs an approval or an ERC20 balance read. De-duped by
|
|
83
|
+
* exact line, in first-seen order, with `IERC20` first. */
|
|
90
84
|
export function depositImportLines(specs) {
|
|
91
85
|
const list = Array.isArray(specs) ? specs : [specs];
|
|
92
86
|
const lines = [];
|
|
@@ -117,7 +111,7 @@ function indentBlock(text) {
|
|
|
117
111
|
/**
|
|
118
112
|
* A complete, compilable `function main() { ... }` program: one deposit statement block per spec,
|
|
119
113
|
* in the given order, inside ONE function. See `sdk/src/deposit/index.ts` for the compile →
|
|
120
|
-
* `routes.buildSauceEvmCall` seam
|
|
114
|
+
* `routes.buildSauceEvmCall` seam.
|
|
121
115
|
*/
|
|
122
116
|
export function depositSource(spec, opts = {}) {
|
|
123
117
|
const specs = Array.isArray(spec) ? spec : [spec];
|
|
@@ -128,74 +122,4 @@ export function depositSource(spec, opts = {}) {
|
|
|
128
122
|
const body = specs.map((s, i) => indentBlock(depositCallStatement(s, String(i)))).join("\n");
|
|
129
123
|
return [...importLines, "", `function ${fnName}() {`, body, "}", ""].join("\n");
|
|
130
124
|
}
|
|
131
|
-
/**
|
|
132
|
-
* The E4.1/E4.2 composition seam: **one cook = one program** (`V12Pot.cook` takes exactly one) — a
|
|
133
|
-
* swap-then-deposit is ONE `main()` with the swap statements followed by the deposit statements, not
|
|
134
|
-
* two cooks. Mirrors the `swapAndSupply` recipe's own shape:
|
|
135
|
-
* `outToken.approve(aavePool, swapDelta); IAavePool.at(aavePool).supply(tokenOut, swapDelta,
|
|
136
|
-
* beneficiary, 0);`.
|
|
137
|
-
*
|
|
138
|
-
* A deposit spec with `amount: "delta"` is bracketed around the WHOLE swap block: a balance
|
|
139
|
-
* snapshot (`IERC20.balanceOf`/`ctx.selfBalance()`, per the template's funding kind) is taken before
|
|
140
|
-
* the swap statements and again after, and the deposit uses `post - pre` — the exact
|
|
141
|
-
* `swapAndSupply` idiom ("never sweep pre-existing tokenOut dust", since a cook may run in a shared
|
|
142
|
-
* runtime context). `amount: "balance"`/a concrete literal are unaffected and just run after the
|
|
143
|
-
* swap block, per `depositCallStatement`'s own rules.
|
|
144
|
-
*
|
|
145
|
-
* Import lines are unioned (not concatenated) — `swapImportLines` ∪ `depositImportLines`, de-duped
|
|
146
|
-
* by exact line, so a program needing `IERC20` from both sides emits it exactly once (the compiler
|
|
147
|
-
* throws `Conflicting ABIs registered` for two DIFFERENT ABIs bound to the same local name, but is
|
|
148
|
-
* idempotent for the identical import line repeated).
|
|
149
|
-
*/
|
|
150
|
-
export function swapThenDepositSource(swaps, deposits, opts = {}) {
|
|
151
|
-
const swapList = Array.isArray(swaps) ? swaps : [swaps];
|
|
152
|
-
const depositList = Array.isArray(deposits) ? deposits : [deposits];
|
|
153
|
-
if (swapList.length === 0)
|
|
154
|
-
throw new Error("swapThenDepositSource: at least one swap spec is required");
|
|
155
|
-
if (depositList.length === 0) {
|
|
156
|
-
throw new Error("swapThenDepositSource: at least one deposit spec is required");
|
|
157
|
-
}
|
|
158
|
-
const importLines = [];
|
|
159
|
-
const seen = new Set();
|
|
160
|
-
for (const line of [
|
|
161
|
-
...swapImportLines(swapList),
|
|
162
|
-
...depositImportLines(depositList),
|
|
163
|
-
...(opts.imports ?? []),
|
|
164
|
-
]) {
|
|
165
|
-
if (!seen.has(line)) {
|
|
166
|
-
seen.add(line);
|
|
167
|
-
importLines.push(line);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
const swapBlock = swapList.map(swapCallStatement).join("\n");
|
|
171
|
-
const preLines = [];
|
|
172
|
-
const postLines = [];
|
|
173
|
-
const deltaAmountExprs = new Map();
|
|
174
|
-
depositList.forEach((d, i) => {
|
|
175
|
-
if (d.amount !== "delta")
|
|
176
|
-
return;
|
|
177
|
-
const normalized = toDeposit({ ...d, amount: 0n });
|
|
178
|
-
const varBase = `deposit${i}`;
|
|
179
|
-
const balance = balanceExpression(normalized);
|
|
180
|
-
preLines.push(`const ${varBase}Pre = ${balance};`);
|
|
181
|
-
postLines.push(`const ${varBase}Post = ${balance};`);
|
|
182
|
-
postLines.push(`const ${varBase}Amt = ${varBase}Post - ${varBase}Pre;`);
|
|
183
|
-
deltaAmountExprs.set(i, `${varBase}Amt`);
|
|
184
|
-
});
|
|
185
|
-
const depositBlocks = depositList.map((d, i) => {
|
|
186
|
-
const deltaExpr = deltaAmountExprs.get(i);
|
|
187
|
-
if (deltaExpr === undefined)
|
|
188
|
-
return depositCallStatement(d, String(i));
|
|
189
|
-
const normalized = toDeposit({ ...d, amount: 0n });
|
|
190
|
-
const lines = [
|
|
191
|
-
...approveLines(normalized, deltaExpr, String(i)),
|
|
192
|
-
...normalized.template.emit(normalized, deltaExpr, String(i)),
|
|
193
|
-
];
|
|
194
|
-
return lines.join("\n");
|
|
195
|
-
});
|
|
196
|
-
const bodyLines = [...preLines, swapBlock, ...postLines, ...depositBlocks].filter((l) => l.length > 0);
|
|
197
|
-
const fnName = opts.functionName ?? "main";
|
|
198
|
-
const body = indentBlock(bodyLines.join("\n"));
|
|
199
|
-
return [...importLines, "", `function ${fnName}() {`, body, "}", ""].join("\n");
|
|
200
|
-
}
|
|
201
125
|
//# sourceMappingURL=source.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/deposit/source.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/deposit/source.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,7 @@ import type { DepositTemplate } from "./types.js";
|
|
|
2
2
|
export type DepositKey = "weth:wrap" | "weth:unwrap" | "aave-v3:supply" | "aave-v3:withdraw" | "spark:supply" | "spark:withdraw" | "compound-v3:supply" | "euler-v2:deposit" | "erc4626:deposit" | "lido:stake" | "lido:wrap";
|
|
3
3
|
export declare const DEPOSIT_TEMPLATES: Readonly<Record<DepositKey, DepositTemplate>>;
|
|
4
4
|
/** Looks up a template by `protocol:action`, throwing (and listing every registered key) rather
|
|
5
|
-
* than letting a caller emit a program that would misbehave on-chain
|
|
6
|
-
* `toSwapParams`'s guard on `UndispatchablePoolType`. */
|
|
5
|
+
* than letting a caller emit a program that would misbehave on-chain. */
|
|
7
6
|
export declare function depositTemplateFor(protocol: string, action: string): DepositTemplate;
|
|
8
7
|
export declare function listDepositTemplates(): readonly DepositTemplate[];
|
|
9
8
|
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/deposit/templates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/deposit/templates.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAe,eAAe,EAAqC,MAAM,YAAY,CAAC;AAqElG,MAAM,MAAM,UAAU,GAClB,WAAW,GACX,aAAa,GACb,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,gBAAgB,GAChB,oBAAoB,GACpB,kBAAkB,GAClB,iBAAiB,GACjB,YAAY,GACZ,WAAW,CAAC;AAqDhB,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,CAgJ3E,CAAC;AAEF;0EAC0E;AAC1E,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAUpF;AAED,wBAAgB,oBAAoB,IAAI,SAAS,eAAe,EAAE,CAEjE"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* E4.2's per-protocol deposit-template registry — the heart of the universal deposit/stake/wrap
|
|
3
|
+
* adapter. See `sdk/src/deposit/index.ts` for the module overview, which protocols were included
|
|
4
|
+
* vs skipped and why, and the native-vs-ERC20 design note.
|
|
5
|
+
*
|
|
6
|
+
* Every ABI-backed template's `signature` is transcribed from the vendored `abis.ts` as-const array
|
|
7
|
+
* named in its `source` field; `sdk/test/deposit.test.ts`'s "registry drift" suite re-derives that
|
|
8
|
+
* signature from the ABI itself and fails if the two ever disagree.
|
|
9
|
+
*/
|
|
1
10
|
import { toExactBigInt } from "../numeric.js";
|
|
2
11
|
import { formatAddressField, formatBigint } from "./format.js";
|
|
3
12
|
function uintExtra(bits, defaultValue = 0n) {
|
|
@@ -228,8 +237,7 @@ export const DEPOSIT_TEMPLATES = {
|
|
|
228
237
|
},
|
|
229
238
|
};
|
|
230
239
|
/** Looks up a template by `protocol:action`, throwing (and listing every registered key) rather
|
|
231
|
-
* than letting a caller emit a program that would misbehave on-chain
|
|
232
|
-
* `toSwapParams`'s guard on `UndispatchablePoolType`. */
|
|
240
|
+
* than letting a caller emit a program that would misbehave on-chain. */
|
|
233
241
|
export function depositTemplateFor(protocol, action) {
|
|
234
242
|
const key = `${protocol}:${action}`;
|
|
235
243
|
const template = DEPOSIT_TEMPLATES[key];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/deposit/templates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/deposit/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,16 @@
|
|
|
2
2
|
* `@eco-incorp/sauce`'s `deposit` module — E4.2, the universal deposit/stake/wrap adapter.
|
|
3
3
|
*
|
|
4
4
|
* Types + the per-protocol template registry shape. See `sdk/src/deposit/index.ts` for the
|
|
5
|
-
* module-level overview
|
|
6
|
-
* — `Address`/`AddressInput`/`AmountInput` are re-used from there, not re-declared.
|
|
5
|
+
* module-level overview.
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
/** A 20-byte EVM address, as an ordinary `0x`-prefixed hex string. */
|
|
8
|
+
export type Address = `0x${string}`;
|
|
9
|
+
/** A `0x`-prefixed hex byte string. */
|
|
10
|
+
export type Hex = `0x${string}`;
|
|
11
|
+
/** Anything the builders accept for an address-shaped field. */
|
|
12
|
+
export type AddressInput = Address | bigint;
|
|
13
|
+
/** Anything the builders accept for a numeric-shaped field. */
|
|
14
|
+
export type AmountInput = bigint | number | string;
|
|
10
15
|
/**
|
|
11
16
|
* How a template's protocol call pulls in the token amount being deposited.
|
|
12
17
|
*
|
|
@@ -64,20 +69,17 @@ export interface DepositSpec {
|
|
|
64
69
|
*
|
|
65
70
|
* - `amount: "balance"` — emit a RUNTIME balance read instead of a baked-in literal (`IERC20.
|
|
66
71
|
* balanceOf(ctx.self())` on `token` or the WETH unwrap `target`, `ctx.selfBalance()` for a
|
|
67
|
-
* native-funded template) — the shape
|
|
68
|
-
*
|
|
69
|
-
* compile time) output.
|
|
70
|
-
* - `amount: "delta"` — only meaningful inside `swapThenDepositSource` (it needs a pre-swap balance
|
|
71
|
-
* snapshot to compute against); `depositCallStatement`/`depositSource` alone reject it.
|
|
72
|
+
* native-funded template) — the shape a program needs when the deposit amount is only known when
|
|
73
|
+
* it runs, such as what an earlier swap delivered.
|
|
72
74
|
* - `amount: "max"` — only accepted on a template with `allowsMaxAmount: true` (Aave/Spark
|
|
73
75
|
* `withdraw`'s documented `type(uint256).max` withdraw-all sentinel); rejected everywhere else.
|
|
74
76
|
*/
|
|
75
77
|
export type DepositSourceSpec = DepositSpec | (Omit<DepositSpec, "amount"> & {
|
|
76
|
-
amount: "balance" | "
|
|
78
|
+
amount: "balance" | "max";
|
|
77
79
|
});
|
|
78
80
|
/**
|
|
79
81
|
* A {@link DepositSpec}, fully normalized — bigint scalars (+ the `"self"` sentinel for a defaulted
|
|
80
|
-
* `beneficiary
|
|
82
|
+
* `beneficiary`), plus the resolved {@link DepositTemplate}.
|
|
81
83
|
* `amount` stays a passthrough of whatever `toDeposit` was handed for the runtime-amount shapes
|
|
82
84
|
* (`"balance"` etc.) so a caller can tell a concrete deposit from a source-only one apart.
|
|
83
85
|
*/
|
|
@@ -85,7 +87,7 @@ export interface NormalizedDeposit {
|
|
|
85
87
|
template: DepositTemplate;
|
|
86
88
|
target: bigint;
|
|
87
89
|
token: bigint | null;
|
|
88
|
-
amount: bigint | "balance" | "
|
|
90
|
+
amount: bigint | "balance" | "max";
|
|
89
91
|
beneficiary: bigint | "self" | null;
|
|
90
92
|
approvalPolicy: ApprovalPolicy;
|
|
91
93
|
extra: Readonly<Record<string, bigint>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/deposit/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/deposit/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@eco-incorp/sauce`'s `deposit` module — E4.2, the universal deposit/stake/wrap adapter.
|
|
3
|
+
*
|
|
4
|
+
* Types + the per-protocol template registry shape. See `sdk/src/deposit/index.ts` for the
|
|
5
|
+
* module-level overview.
|
|
6
|
+
*/
|
|
1
7
|
export {};
|
|
2
8
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/deposit/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/deposit/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* `requireContract` (query.ts) and `DESCRIPTORS` (registry.ts) — not a
|
|
2
|
+
* The native accessor tree: `chainContracts(chainRef)` builds the lazy `Chain -> Protocol -> Contract
|
|
3
|
+
* -> method` object a chain export (`Base`) or `contracts.on(ref)` carries. A walk over
|
|
4
|
+
* `describeContract`/`requireContract` (query.ts) and `DESCRIPTORS` (registry.ts) — not a
|
|
6
5
|
* reimplementation of either.
|
|
7
6
|
*
|
|
8
|
-
* Every namespace and leaf is a memoising GETTER (`Object.defineProperty`,
|
|
9
|
-
*
|
|
10
|
-
* the
|
|
11
|
-
*
|
|
7
|
+
* Every namespace and leaf is a memoising GETTER (`Object.defineProperty`, never eager
|
|
8
|
+
* construction/spread) so nothing is built until touched: 41 chains times every registry contract,
|
|
9
|
+
* built eagerly on the SDK's import path, would be real cost.
|
|
10
|
+
*
|
|
11
|
+
* The TYPE of the tree, `ChainContracts`, is generated with the table (`contracts.generated.ts`):
|
|
12
|
+
* every contract typed from its ABI, so `Base.UniswapV3.QuoterV2.quoteExactInputSingle(...)` takes
|
|
13
|
+
* the ABI's arguments and its `read(client)` resolves to the ABI's outputs.
|
|
12
14
|
*/
|
|
13
|
-
import type { Address,
|
|
15
|
+
import type { Abi, AbiStateMutability, Address, ContractFunctionArgs, ContractFunctionName } from "viem";
|
|
14
16
|
import { type CanonicalChain, type ChainRef, type ChainSlug } from "../chains/canonical.js";
|
|
17
|
+
import { type ContractCall } from "./call.js";
|
|
18
|
+
import type { ChainContracts } from "./contracts.generated.js";
|
|
15
19
|
import type { ContractCoverage, ContractDescriptor, DescriptorMethod } from "./types.js";
|
|
16
|
-
|
|
20
|
+
export type { ChainContracts };
|
|
17
21
|
/**
|
|
18
|
-
* One leaf: a
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* signature below) — they are derived from the descriptor's real ABI at
|
|
22
|
-
* BUILD time, so `Base.UniswapV4.UniversalRouter.execute(...)` resolves a
|
|
23
|
-
* real method and `.exactIn` is `undefined`, matching E2.2's "surface what
|
|
24
|
-
* exists, invent nothing" stance.
|
|
22
|
+
* One leaf's own properties: a (protocol, contract) on a specific chain. Its methods are separate
|
|
23
|
+
* (`ContractMethods`): {@link Contract} is the two together. A type rather than an interface, so a
|
|
24
|
+
* contract typed from its ABI is assignable to the untyped {@link Contract}.
|
|
25
25
|
*/
|
|
26
|
-
export
|
|
26
|
+
export type ContractAccessor<TAbi extends Abi = Abi> = {
|
|
27
27
|
readonly descriptor: ContractDescriptor;
|
|
28
28
|
readonly chain: CanonicalChain;
|
|
29
29
|
/** `undefined` when this contract has no address on `chain` (a hole), or for an unbound `kind:"interface"`. */
|
|
@@ -31,27 +31,30 @@ export interface ContractAccessor {
|
|
|
31
31
|
readonly available: boolean;
|
|
32
32
|
readonly chains: readonly ChainSlug[];
|
|
33
33
|
readonly coverage: ContractCoverage;
|
|
34
|
-
readonly abi:
|
|
34
|
+
readonly abi: TAbi;
|
|
35
35
|
readonly methods: readonly DescriptorMethod[];
|
|
36
36
|
/** Rebinds this accessor to a specific instance address — REQUIRED for `kind:"interface"`, an optional override otherwise. */
|
|
37
|
-
at(address: Address):
|
|
37
|
+
at(address: Address): Contract<TAbi>;
|
|
38
|
+
};
|
|
39
|
+
/** The names of `TAbi`'s functions with one of the mutabilities `M`. */
|
|
40
|
+
export type FunctionNameOf<TAbi extends Abi, M extends AbiStateMutability = AbiStateMutability> = Extract<TAbi[number], {
|
|
41
|
+
readonly type: "function";
|
|
42
|
+
readonly stateMutability: M;
|
|
43
|
+
}>["name"];
|
|
44
|
+
/** One ABI method: takes the ABI's arguments and returns the call, typed from the ABI. */
|
|
45
|
+
export type ContractMethod<TAbi extends Abi, TName extends ContractFunctionName<TAbi>> = <const TArgs extends ContractFunctionArgs<TAbi, AbiStateMutability, TName> & readonly unknown[]>(...args: TArgs) => ContractCall<TAbi, TName, TArgs>;
|
|
46
|
+
/** Every function of `TAbi`, by its ABI name. An untyped ABI has an index of `unknown` instead. */
|
|
47
|
+
export type ContractMethods<TAbi extends Abi> = Abi extends TAbi ? {
|
|
38
48
|
readonly [method: string]: unknown;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
* The whole typed tree `chainContracts(...)` returns — chain-INDEPENDENT by
|
|
42
|
-
* design (per-chain address presence is runtime data, not literally typed;
|
|
43
|
-
* see the design doc's `ChainContracts` note), so it instantiates once
|
|
44
|
-
* regardless of how many chain globals intersect it.
|
|
45
|
-
*/
|
|
46
|
-
export type ChainContracts = {
|
|
47
|
-
readonly [P in ProtocolSlug as PascalOf<P>]: {
|
|
48
|
-
readonly [C in ContractNameOf<P>]: ContractAccessor;
|
|
49
|
-
};
|
|
50
|
-
} & {
|
|
51
|
-
readonly [F in FamilyKey]: {
|
|
52
|
-
readonly [C in FamilyContracts<F>]: ContractAccessor;
|
|
53
|
-
};
|
|
49
|
+
} : {
|
|
50
|
+
readonly [N in FunctionNameOf<TAbi> & ContractFunctionName<TAbi>]: ContractMethod<TAbi, N>;
|
|
54
51
|
};
|
|
52
|
+
/** A contract with an ABI: its accessor properties and its methods. */
|
|
53
|
+
export type Contract<TAbi extends Abi = Abi> = ContractAccessor<TAbi> & ContractMethods<TAbi>;
|
|
54
|
+
/** A contract the registry has an address for and no ABI: `.address` and `.available`, no methods. */
|
|
55
|
+
export type AddressOnlyContract = ContractAccessor<readonly []>;
|
|
56
|
+
/** An ABI with no fixed address: bind a deployment with `.at(address)` to call it. */
|
|
57
|
+
export type InterfaceContract<TAbi extends Abi> = ContractAccessor<TAbi>;
|
|
55
58
|
/**
|
|
56
59
|
* Builds the whole lazy tree for one resolved chain. Every canonical
|
|
57
60
|
* protocol namespace is memoised once per `chainContracts` call, so a family
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessors.d.ts","sourceRoot":"","sources":["../../src/descriptors/accessors.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"accessors.d.ts","sourceRoot":"","sources":["../../src/descriptors/accessors.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,19 @@ import { pascalOfSlug } from "../routes/builder.js";
|
|
|
3
3
|
import { makeContractCall } from "./call.js";
|
|
4
4
|
import { addressOn, methodOf, requireContract } from "./query.js";
|
|
5
5
|
import { DESCRIPTORS } from "./registry.js";
|
|
6
|
+
/** The accessor's own properties: a method of the same name would shadow one, which the generator
|
|
7
|
+
* refuses and `buildAccessor` re-checks. */
|
|
8
|
+
const ACCESSOR_PROPERTIES = new Set([
|
|
9
|
+
"descriptor",
|
|
10
|
+
"chain",
|
|
11
|
+
"address",
|
|
12
|
+
"available",
|
|
13
|
+
"chains",
|
|
14
|
+
"coverage",
|
|
15
|
+
"abi",
|
|
16
|
+
"methods",
|
|
17
|
+
"at",
|
|
18
|
+
]);
|
|
6
19
|
function buildAccessor(descriptor, chain, addressOverride) {
|
|
7
20
|
const isInterface = descriptor.kind === "interface";
|
|
8
21
|
const resolvedAddress = addressOverride ?? (isInterface ? undefined : addressOn(descriptor, chain));
|
|
@@ -27,6 +40,9 @@ function buildAccessor(descriptor, chain, addressOverride) {
|
|
|
27
40
|
byName.set(method.name, [...(byName.get(method.name) ?? []), method]);
|
|
28
41
|
}
|
|
29
42
|
for (const [name, overloads] of byName) {
|
|
43
|
+
if (ACCESSOR_PROPERTIES.has(name)) {
|
|
44
|
+
throw new Error(`${descriptor.protocol}.${descriptor.contract}.${name} would shadow the accessor's own '${name}'`);
|
|
45
|
+
}
|
|
30
46
|
base[name] = (...args) => {
|
|
31
47
|
const method = overloads.length === 1 ? overloads[0] : methodOf(descriptor, name, args.length);
|
|
32
48
|
if (method === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessors.js","sourceRoot":"","sources":["../../src/descriptors/accessors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accessors.js","sourceRoot":"","sources":["../../src/descriptors/accessors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `ContractCall` — the
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* builders, which `toSauceScript` below deliberately mirrors.
|
|
2
|
+
* `ContractCall` — the value a `Base.<Proto>.<Contract>.<method>(...)` leaf produces. Building one is
|
|
3
|
+
* synchronous and reads nothing: the same posture as `deposit/source.ts`'s pure param-templating
|
|
4
|
+
* call builders, which `toSauceScript` below deliberately mirrors.
|
|
6
5
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
6
|
+
* Its viem helpers run the call against a client the CALLER passes — the SDK embeds no endpoint and
|
|
7
|
+
* reads no environment:
|
|
8
|
+
* - `read(publicClient)` — an `eth_call` through viem's `readContract`, decoded from the ABI's
|
|
9
|
+
* outputs: a view's value, or what a state-changing method would return, with nothing sent
|
|
10
|
+
* (Uniswap's QuoterV2 quotes are `nonpayable` and meant to be read this way);
|
|
11
|
+
* - `simulate(publicClient, { account })` — a state-changing method as `account`, through
|
|
12
|
+
* `simulateContract`;
|
|
13
|
+
* - `write(walletClient)` — sends a state-changing method, through `writeContract`.
|
|
14
|
+
* viem's actions are loaded on the first such call, never when a call is built. Each checks first
|
|
15
|
+
* that the client is on the call's chain: the address is that chain's deployment, so the same
|
|
16
|
+
* calldata anywhere else calls something else, or nothing.
|
|
17
|
+
*
|
|
18
|
+
* The `typeFidelity: "widened"` gate lives here, not in accessors.ts: every production path (`data`,
|
|
19
|
+
* `encode`, `toCall`, `toSauceScript` and the viem helpers) funnels through `assertFidelity`, so a
|
|
20
|
+
* descriptor marked widened can never silently hand out calldata that will not hit the deployed
|
|
21
|
+
* contract. No shipped descriptor is marked any more: the registry declares every contract's
|
|
22
|
+
* deployed types, and `test/registry-abi.test.ts` pins them to the deployed code. The gate and its
|
|
23
|
+
* `allowWidened` opt-out stay because they are public API.
|
|
15
24
|
*/
|
|
16
|
-
import { type Address, type Hex } from "viem";
|
|
25
|
+
import { type Abi, type AbiStateMutability, type Account, type Address, type Client, type ContractFunctionArgs, type ContractFunctionName, type Hash, type Hex, type ContractFunctionReturnType, type SimulateContractReturnType } from "viem";
|
|
17
26
|
import type { CanonicalChain } from "../chains/canonical.js";
|
|
18
27
|
import type { ContractDescriptor, DescriptorMethod } from "./types.js";
|
|
19
28
|
export interface EncodeOptions {
|
|
@@ -26,7 +35,42 @@ export interface SauceScriptOptions {
|
|
|
26
35
|
/** Local binding name for the `.json` import. Defaults to the descriptor's `contract` name. */
|
|
27
36
|
readonly binding?: string;
|
|
28
37
|
}
|
|
29
|
-
export interface
|
|
38
|
+
export interface SimulateOptions {
|
|
39
|
+
/** The sender the call is simulated as. */
|
|
40
|
+
readonly account: Account | Address;
|
|
41
|
+
/** Native value sent with a payable method. Defaults to 0n. */
|
|
42
|
+
readonly value?: bigint;
|
|
43
|
+
}
|
|
44
|
+
export interface WriteOptions {
|
|
45
|
+
/** The sender. Defaults to the wallet client's own account. */
|
|
46
|
+
readonly account?: Account | Address;
|
|
47
|
+
/** Native value sent with a payable method. Defaults to 0n. */
|
|
48
|
+
readonly value?: bigint;
|
|
49
|
+
}
|
|
50
|
+
type ReadMutability = "pure" | "view";
|
|
51
|
+
type WriteMutability = "nonpayable" | "payable";
|
|
52
|
+
/** The names of `TAbi`'s functions with one of the mutabilities `M` — `never` when it has none,
|
|
53
|
+
* where viem's `ContractFunctionName` widens to `string`. */
|
|
54
|
+
type NamesOf<TAbi extends Abi, M extends AbiStateMutability> = Extract<TAbi[number], {
|
|
55
|
+
readonly type: "function";
|
|
56
|
+
readonly stateMutability: M;
|
|
57
|
+
}>["name"];
|
|
58
|
+
/** What `read` resolves to: the method's ABI outputs, decoded by viem. */
|
|
59
|
+
export type ReadResult<TAbi extends Abi, TName extends string, TArgs> = TName extends ContractFunctionName<TAbi> ? TArgs extends ContractFunctionArgs<TAbi, AbiStateMutability, TName> ? ContractFunctionReturnType<TAbi, AbiStateMutability, TName, TArgs> : unknown : unknown;
|
|
60
|
+
/** What `simulate` resolves to: viem's `{ result, request }`, `result` decoded from the outputs. */
|
|
61
|
+
export type SimulateResult<TAbi extends Abi, TName extends string, TArgs> = TName extends NamesOf<TAbi, WriteMutability> & ContractFunctionName<TAbi, WriteMutability> ? TArgs extends ContractFunctionArgs<TAbi, WriteMutability, TName> ? SimulateContractReturnType<TAbi, TName, TArgs> : SimulateContractReturnType : SimulateContractReturnType;
|
|
62
|
+
export interface ReadActions<TAbi extends Abi, TName extends string, TArgs> {
|
|
63
|
+
/** Runs the method as an `eth_call` through `client` and decodes its outputs. Sends nothing. */
|
|
64
|
+
read(client: Client): Promise<ReadResult<TAbi, TName, TArgs>>;
|
|
65
|
+
}
|
|
66
|
+
export interface WriteActions<TAbi extends Abi, TName extends string, TArgs> {
|
|
67
|
+
/** Simulates a state-changing method through `client`, as `options.account`. */
|
|
68
|
+
simulate(client: Client, options: SimulateOptions): Promise<SimulateResult<TAbi, TName, TArgs>>;
|
|
69
|
+
/** Sends a state-changing method through a wallet `client`; resolves to the transaction hash. */
|
|
70
|
+
write(client: Client, options?: WriteOptions): Promise<Hash>;
|
|
71
|
+
}
|
|
72
|
+
/** Every field of a call, whatever its method's mutability. */
|
|
73
|
+
export interface ContractCallBase {
|
|
30
74
|
readonly chain: CanonicalChain;
|
|
31
75
|
readonly protocol: string;
|
|
32
76
|
readonly contract: string;
|
|
@@ -51,5 +95,13 @@ export interface ContractCall {
|
|
|
51
95
|
readonly source: string;
|
|
52
96
|
};
|
|
53
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* A call to one registry method, typed from the method's ABI where the accessor knows it
|
|
100
|
+
* (`Base.UniswapV3.QuoterV2.quoteExactInputSingle(...)`). Every call has `read`; a state-changing
|
|
101
|
+
* one also has `simulate` and `write`. Untyped (`ContractCall`), it carries all three, and
|
|
102
|
+
* `simulate`/`write` on a view or pure method throw.
|
|
103
|
+
*/
|
|
104
|
+
export type ContractCall<TAbi extends Abi = Abi, TName extends string = string, TArgs = readonly unknown[]> = ContractCallBase & ReadActions<TAbi, TName, TArgs> & (Abi extends TAbi ? WriteActions<TAbi, TName, TArgs> : TName extends NamesOf<TAbi, ReadMutability> ? unknown : WriteActions<TAbi, TName, TArgs>);
|
|
54
105
|
export declare function makeContractCall(descriptor: ContractDescriptor, chain: CanonicalChain, address: Address, method: DescriptorMethod, args: readonly unknown[]): ContractCall;
|
|
106
|
+
export {};
|
|
55
107
|
//# sourceMappingURL=call.d.ts.map
|