@eco-incorp/sauce 0.99.6 → 0.99.7
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 +324 -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 +80 -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 +1442 -0
- package/docs/guides/compiling.md +19 -7
- package/docs/guides/intents.md +228 -15
- package/docs/guides/mcp.md +539 -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 +1497 -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 +170 -0
- package/sdk/dist/cli/chain.d.ts.map +1 -0
- package/sdk/dist/cli/chain.js +457 -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 +200 -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 +197 -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 +3162 -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 +183 -0
- package/sdk/dist/cli/solana.d.ts.map +1 -0
- package/sdk/dist/cli/solana.js +1360 -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 +5523 -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 +174 -0
- package/sdk/dist/routes/source-globals.js.map +1 -0
- package/sdk/dist/routes/stock-tokens.d.ts +69 -0
- package/sdk/dist/routes/stock-tokens.d.ts.map +1 -0
- package/sdk/dist/routes/stock-tokens.generated.d.ts +4 -0
- package/sdk/dist/routes/stock-tokens.generated.d.ts.map +1 -0
- package/sdk/dist/routes/stock-tokens.generated.js +1836 -0
- package/sdk/dist/routes/stock-tokens.generated.js.map +1 -0
- package/sdk/dist/routes/stock-tokens.js +65 -0
- package/sdk/dist/routes/stock-tokens.js.map +1 -0
- package/sdk/dist/routes/token-registry.d.ts +64 -8
- package/sdk/dist/routes/token-registry.d.ts.map +1 -1
- package/sdk/dist/routes/token-registry.js +202 -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.md +53 -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 +175 -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 +1824 -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 +322 -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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/svm/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,aAAa,CAAC;AAWrB,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,SAAS,EACT,QAAQ,EACR,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/svm/client.ts"],"names":[],"mappings":"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"}
|
package/sdk/dist/svm/engine.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* SVM engine wire constants for the RELEASED engine — the only engine this repo has.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* `
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* The engine answers two kinds of cook. The Kitchen-mediated pair (`execute`,
|
|
5
|
+
* `executeFromAccount`) is gated: only a Kitchen cook, which signs the acting Pot, reaches them. The
|
|
6
|
+
* direct paid trio (`cookAndPay`, `cookAndPayFromAccount`, `cookAndPayFromAccountPinned`) is called
|
|
7
|
+
* by the transaction itself and charges the Kitchen's execution fee before the interpreter runs;
|
|
8
|
+
* `instructions.ts` builds them. `closeAccount` is the third legacy instruction. Staging code
|
|
9
|
+
* buffers and Pots belong to the kitchen (`kitchen.ts`). The pre-release engine's buffer surface, the
|
|
10
|
+
* `engine-abi.json` describing it and the vendored binary that ran it are all deleted, so nothing
|
|
11
|
+
* here describes a buffer header, a staging discriminator or a payload flag.
|
|
9
12
|
*/
|
|
10
13
|
/**
|
|
11
14
|
* The Kitchen-mediated engine instruction discriminators.
|
|
@@ -21,6 +24,64 @@ export declare const EXECUTE_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
|
21
24
|
export declare const EXECUTE_FROM_ACCOUNT_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
22
25
|
/** `closeAccount` — the third instruction, previously unrepresented here. */
|
|
23
26
|
export declare const CLOSE_ACCOUNT_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
27
|
+
/**
|
|
28
|
+
* The direct paid cooks: `sha256("global:<name>")[..8]`, as the engine declares them, and asserted
|
|
29
|
+
* against the release's wire artifact by `engine-wire-drift.test.ts` like the pair above.
|
|
30
|
+
*
|
|
31
|
+
* `cookAndPay` carries `max_execution_fee` (u64 LE) and then the bytecode; `cookAndPayFromAccount`
|
|
32
|
+
* the fee cap alone, the program being account 0's data; `cookAndPayFromAccountPinned` the fee cap
|
|
33
|
+
* and the SHA-256 that account 0's whole data must hash to. None carries a Pot gate header.
|
|
34
|
+
*/
|
|
35
|
+
export declare const COOK_AND_PAY_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
36
|
+
export declare const COOK_AND_PAY_FROM_ACCOUNT_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
37
|
+
export declare const COOK_AND_PAY_FROM_ACCOUNT_PINNED_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
38
|
+
/**
|
|
39
|
+
* The engine's `Custom(n)` fault codes, by name — what a failed engine instruction's
|
|
40
|
+
* `InstructionError` carries. `Revert` (0) is a program's own `throw`/`require`, its payload the
|
|
41
|
+
* return data; every other code is the engine refusing. The direct cooks add the fee faults
|
|
42
|
+
* (`InvalidFeeConfig` … `ExecutionFeeExceedsMaximum`) and `CodeHashMismatch`; a legacy instruction
|
|
43
|
+
* sent by anything but a Kitchen cook is `NotCookedByKitchen`.
|
|
44
|
+
*
|
|
45
|
+
* The release's wire artifact publishes the same table; `engine-wire-drift.test.ts` asserts this
|
|
46
|
+
* one equals it, so a renumbered fault fails there rather than being named wrongly.
|
|
47
|
+
*/
|
|
48
|
+
export declare const ENGINE_FAULTS: {
|
|
49
|
+
readonly AccountDataTooSmall: 63;
|
|
50
|
+
readonly AccountIndexOutOfBounds: 60;
|
|
51
|
+
readonly AccountNotFound: 61;
|
|
52
|
+
readonly AccountNotSigner: 66;
|
|
53
|
+
readonly AccountNotWritable: 62;
|
|
54
|
+
readonly BytecodeOutOfBounds: 12;
|
|
55
|
+
readonly CodeHashMismatch: 72;
|
|
56
|
+
readonly DataTooLarge: 41;
|
|
57
|
+
readonly DivisionByZero: 50;
|
|
58
|
+
readonly ExecutionFeeExceedsMaximum: 84;
|
|
59
|
+
readonly ExecutionFeeNotPaid: 82;
|
|
60
|
+
readonly ExpectedDescriptor: 30;
|
|
61
|
+
readonly ExpectedScalar: 31;
|
|
62
|
+
readonly HeapFull: 40;
|
|
63
|
+
readonly IndexOutOfBounds: 42;
|
|
64
|
+
readonly InvalidArrayElement: 14;
|
|
65
|
+
readonly InvalidDescriptor: 32;
|
|
66
|
+
readonly InvalidFeeConfig: 80;
|
|
67
|
+
readonly InvalidFeePayer: 81;
|
|
68
|
+
readonly InvalidInstruction: 11;
|
|
69
|
+
readonly InvalidOpcode: 10;
|
|
70
|
+
readonly InvalidStackSlot: 13;
|
|
71
|
+
readonly InvalidSystemProgram: 83;
|
|
72
|
+
readonly InvokeFailed: 64;
|
|
73
|
+
readonly NotCookedByKitchen: 67;
|
|
74
|
+
readonly Overflow: 51;
|
|
75
|
+
readonly Revert: 0;
|
|
76
|
+
readonly SeedTooLong: 71;
|
|
77
|
+
readonly StackOverflow: 20;
|
|
78
|
+
readonly StackUnderflow: 21;
|
|
79
|
+
readonly SysvarUnavailable: 65;
|
|
80
|
+
readonly TooManySeeds: 70;
|
|
81
|
+
};
|
|
82
|
+
export type EngineFault = keyof typeof ENGINE_FAULTS;
|
|
83
|
+
/** The fault a `Custom(code)` from the engine names, or `undefined` for a code it does not use. */
|
|
84
|
+
export declare function engineFaultName(code: number): EngineFault | undefined;
|
|
24
85
|
/**
|
|
25
86
|
* The 256 KiB BPF heap frame every execute transaction MUST request:
|
|
26
87
|
* interpreter memory (operand stack, heap, frames) lives above the default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/svm/engine.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/svm/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,yBAEhC,CAAC;AACH,eAAO,MAAM,kCAAkC,yBAE7C,CAAC;AACH,6EAA6E;AAC7E,eAAO,MAAM,2BAA2B,yBAEtC,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,yBAAyD,CAAC;AACjG,eAAO,MAAM,uCAAuC,yBAElD,CAAC;AACH,eAAO,MAAM,8CAA8C,yBAEzD,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiChB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,aAAa,CAAC;AAOrD,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAErE;AAID;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,SAAU,CAAC;AAExC,4FAA4F;AAC5F,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAM/C,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,mBAAmB,UAAY,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC"}
|
package/sdk/dist/svm/engine.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* SVM engine wire constants for the RELEASED engine — the only engine this repo has.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* `
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* The engine answers two kinds of cook. The Kitchen-mediated pair (`execute`,
|
|
5
|
+
* `executeFromAccount`) is gated: only a Kitchen cook, which signs the acting Pot, reaches them. The
|
|
6
|
+
* direct paid trio (`cookAndPay`, `cookAndPayFromAccount`, `cookAndPayFromAccountPinned`) is called
|
|
7
|
+
* by the transaction itself and charges the Kitchen's execution fee before the interpreter runs;
|
|
8
|
+
* `instructions.ts` builds them. `closeAccount` is the third legacy instruction. Staging code
|
|
9
|
+
* buffers and Pots belong to the kitchen (`kitchen.ts`). The pre-release engine's buffer surface, the
|
|
10
|
+
* `engine-abi.json` describing it and the vendored binary that ran it are all deleted, so nothing
|
|
11
|
+
* here describes a buffer header, a staging discriminator or a payload flag.
|
|
9
12
|
*/
|
|
10
13
|
// ── wire contract (declared here, asserted against the release's wire artifact — see below) ──
|
|
11
14
|
/**
|
|
@@ -28,6 +31,71 @@ export const EXECUTE_FROM_ACCOUNT_DISCRIMINATOR = new Uint8Array([
|
|
|
28
31
|
export const CLOSE_ACCOUNT_DISCRIMINATOR = new Uint8Array([
|
|
29
32
|
0x7d, 0xff, 0x95, 0x0e, 0x6e, 0x22, 0x48, 0x18,
|
|
30
33
|
]);
|
|
34
|
+
/**
|
|
35
|
+
* The direct paid cooks: `sha256("global:<name>")[..8]`, as the engine declares them, and asserted
|
|
36
|
+
* against the release's wire artifact by `engine-wire-drift.test.ts` like the pair above.
|
|
37
|
+
*
|
|
38
|
+
* `cookAndPay` carries `max_execution_fee` (u64 LE) and then the bytecode; `cookAndPayFromAccount`
|
|
39
|
+
* the fee cap alone, the program being account 0's data; `cookAndPayFromAccountPinned` the fee cap
|
|
40
|
+
* and the SHA-256 that account 0's whole data must hash to. None carries a Pot gate header.
|
|
41
|
+
*/
|
|
42
|
+
export const COOK_AND_PAY_DISCRIMINATOR = new Uint8Array([147, 140, 71, 21, 126, 197, 212, 249]);
|
|
43
|
+
export const COOK_AND_PAY_FROM_ACCOUNT_DISCRIMINATOR = new Uint8Array([
|
|
44
|
+
68, 213, 224, 101, 123, 129, 48, 6,
|
|
45
|
+
]);
|
|
46
|
+
export const COOK_AND_PAY_FROM_ACCOUNT_PINNED_DISCRIMINATOR = new Uint8Array([
|
|
47
|
+
141, 234, 73, 26, 238, 82, 64, 47,
|
|
48
|
+
]);
|
|
49
|
+
/**
|
|
50
|
+
* The engine's `Custom(n)` fault codes, by name — what a failed engine instruction's
|
|
51
|
+
* `InstructionError` carries. `Revert` (0) is a program's own `throw`/`require`, its payload the
|
|
52
|
+
* return data; every other code is the engine refusing. The direct cooks add the fee faults
|
|
53
|
+
* (`InvalidFeeConfig` … `ExecutionFeeExceedsMaximum`) and `CodeHashMismatch`; a legacy instruction
|
|
54
|
+
* sent by anything but a Kitchen cook is `NotCookedByKitchen`.
|
|
55
|
+
*
|
|
56
|
+
* The release's wire artifact publishes the same table; `engine-wire-drift.test.ts` asserts this
|
|
57
|
+
* one equals it, so a renumbered fault fails there rather than being named wrongly.
|
|
58
|
+
*/
|
|
59
|
+
export const ENGINE_FAULTS = {
|
|
60
|
+
AccountDataTooSmall: 63,
|
|
61
|
+
AccountIndexOutOfBounds: 60,
|
|
62
|
+
AccountNotFound: 61,
|
|
63
|
+
AccountNotSigner: 66,
|
|
64
|
+
AccountNotWritable: 62,
|
|
65
|
+
BytecodeOutOfBounds: 12,
|
|
66
|
+
CodeHashMismatch: 72,
|
|
67
|
+
DataTooLarge: 41,
|
|
68
|
+
DivisionByZero: 50,
|
|
69
|
+
ExecutionFeeExceedsMaximum: 84,
|
|
70
|
+
ExecutionFeeNotPaid: 82,
|
|
71
|
+
ExpectedDescriptor: 30,
|
|
72
|
+
ExpectedScalar: 31,
|
|
73
|
+
HeapFull: 40,
|
|
74
|
+
IndexOutOfBounds: 42,
|
|
75
|
+
InvalidArrayElement: 14,
|
|
76
|
+
InvalidDescriptor: 32,
|
|
77
|
+
InvalidFeeConfig: 80,
|
|
78
|
+
InvalidFeePayer: 81,
|
|
79
|
+
InvalidInstruction: 11,
|
|
80
|
+
InvalidOpcode: 10,
|
|
81
|
+
InvalidStackSlot: 13,
|
|
82
|
+
InvalidSystemProgram: 83,
|
|
83
|
+
InvokeFailed: 64,
|
|
84
|
+
NotCookedByKitchen: 67,
|
|
85
|
+
Overflow: 51,
|
|
86
|
+
Revert: 0,
|
|
87
|
+
SeedTooLong: 71,
|
|
88
|
+
StackOverflow: 20,
|
|
89
|
+
StackUnderflow: 21,
|
|
90
|
+
SysvarUnavailable: 65,
|
|
91
|
+
TooManySeeds: 70,
|
|
92
|
+
};
|
|
93
|
+
/** `ENGINE_FAULTS` inverted, once. Each code names one fault (`instructions.test.ts` asserts it). */
|
|
94
|
+
const FAULT_BY_CODE = new Map(Object.keys(ENGINE_FAULTS).map((name) => [ENGINE_FAULTS[name], name]));
|
|
95
|
+
/** The fault a `Custom(code)` from the engine names, or `undefined` for a code it does not use. */
|
|
96
|
+
export function engineFaultName(code) {
|
|
97
|
+
return FAULT_BY_CODE.get(code);
|
|
98
|
+
}
|
|
31
99
|
// ── interpreter memory (BPF heap frame) ──
|
|
32
100
|
/**
|
|
33
101
|
* The 256 KiB BPF heap frame every execute transaction MUST request:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/svm/engine.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/svm/engine.ts"],"names":[],"mappings":"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"}
|
package/sdk/dist/svm/index.d.ts
CHANGED
|
@@ -16,7 +16,9 @@ export * from "./cpi-probe.js";
|
|
|
16
16
|
export * from "./loader.js";
|
|
17
17
|
export * from "./token-program.js";
|
|
18
18
|
export * from "./token-extensions.js";
|
|
19
|
+
export * from "./token-accounts.js";
|
|
19
20
|
export * from "./venues/index.js";
|
|
20
21
|
export * from "./recipes/index.js";
|
|
21
22
|
export * from "./accessors.js";
|
|
23
|
+
export * from "./portal.js";
|
|
22
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/svm/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAC;AAI5B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/svm/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAC;AAI5B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
|
package/sdk/dist/svm/index.js
CHANGED
|
@@ -21,7 +21,9 @@ export * from "./cpi-probe.js";
|
|
|
21
21
|
export * from "./loader.js";
|
|
22
22
|
export * from "./token-program.js";
|
|
23
23
|
export * from "./token-extensions.js";
|
|
24
|
+
export * from "./token-accounts.js";
|
|
24
25
|
export * from "./venues/index.js";
|
|
25
26
|
export * from "./recipes/index.js";
|
|
26
27
|
export * from "./accessors.js";
|
|
28
|
+
export * from "./portal.js";
|
|
27
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/svm/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,2EAA2E;AAC3E,cAAc,aAAa,CAAC;AAC5B,qGAAqG;AACrG,yFAAyF;AACzF,oDAAoD;AACpD,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/svm/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,2EAA2E;AAC3E,cAAc,aAAa,CAAC;AAC5B,qGAAqG;AACrG,yFAAyF;AACzF,oDAAoD;AACpD,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Address, Instruction } from "@solana/kit";
|
|
1
|
+
import type { AccountLookupMeta, AccountMeta, Address, Instruction } from "@solana/kit";
|
|
2
2
|
import type { ResolvedAccountMeta } from "./resolve.js";
|
|
3
3
|
export interface ExecuteInstructionInput {
|
|
4
4
|
programId: Address;
|
|
@@ -41,4 +41,75 @@ export declare function buildExecuteFromAccountInstruction({ programId, code, ac
|
|
|
41
41
|
* loud one.
|
|
42
42
|
*/
|
|
43
43
|
export declare function assertNoExecutePin(expectedSha256: Uint8Array | undefined): void;
|
|
44
|
+
/** One account of a direct cook's tail: the program's own accounts, at their natural indices. */
|
|
45
|
+
type DirectTailAccount = AccountLookupMeta | AccountMeta;
|
|
46
|
+
/**
|
|
47
|
+
* What a direct cook pays with — the three accounts the engine reads LAST and strips before the
|
|
48
|
+
* program sees its tail, so bytecode indices and `MSG_SENDER` keep their meanings.
|
|
49
|
+
*/
|
|
50
|
+
export interface DirectCookPayment {
|
|
51
|
+
/** `deriveExecutionFeeConfigPda(kitchen)`: the canonical Kitchen fee config, which is also the
|
|
52
|
+
* treasury the fee is paid into. The engine re-derives it against the Kitchen id baked into it,
|
|
53
|
+
* so any other account is `InvalidFeeConfig`. Attached writable, as a positive fee needs. */
|
|
54
|
+
feeConfig: Address;
|
|
55
|
+
/** Who pays the fee: a writable signer the System Program owns, holding no data — the engine
|
|
56
|
+
* moves the fee with a System `transfer` from it. Stripped from the tail, so a program that also
|
|
57
|
+
* needs this key as a signer attaches it there too. */
|
|
58
|
+
feePayer: Address;
|
|
59
|
+
/** What the caller consents to pay, in lamports. The engine refuses a configured fee above it
|
|
60
|
+
* (`ExecutionFeeExceedsMaximum`) before paying or running anything. */
|
|
61
|
+
maxExecutionFee: bigint;
|
|
62
|
+
}
|
|
63
|
+
export interface CookAndPayInput extends DirectCookPayment {
|
|
64
|
+
/** The engine the transaction calls — the interpreter that runs, and the instruction's program. */
|
|
65
|
+
engineProgram: Address;
|
|
66
|
+
bytecode: Uint8Array;
|
|
67
|
+
/** The program's own accounts, at their natural indices (index 0 is the first). */
|
|
68
|
+
tail?: readonly DirectTailAccount[];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* `cookAndPay` — the engine called directly, bytecode inline, paying the Kitchen's execution fee
|
|
72
|
+
* itself: `[discriminator | max_execution_fee u64 LE | bytecode]`.
|
|
73
|
+
*
|
|
74
|
+
* No Kitchen, so no Pot: nothing signs for one, and the program acts with the signatures the
|
|
75
|
+
* transaction gave its tail — the wallet that signs is the authority a token transfer names. In
|
|
76
|
+
* exchange the program's own CPIs start one level higher on the invoke stack than under a Kitchen
|
|
77
|
+
* cook, which CPIs the engine.
|
|
78
|
+
*
|
|
79
|
+
* Needs the same RequestHeapFrame as every cook — see `buildHeapFramePrepend`.
|
|
80
|
+
*/
|
|
81
|
+
export declare function buildCookAndPayInstruction({ engineProgram, bytecode, tail, ...payment }: CookAndPayInput): Instruction;
|
|
82
|
+
export interface CookAndPayFromAccountInput extends DirectCookPayment {
|
|
83
|
+
engineProgram: Address;
|
|
84
|
+
/** The account whose data IS the program: read verbatim, whoever owns it. A Kitchen-staged code
|
|
85
|
+
* account (`deriveCodePda`) is one; so is any other account holding bytecode. */
|
|
86
|
+
code: Address;
|
|
87
|
+
tail?: readonly DirectTailAccount[];
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* `cookAndPayFromAccount` — the staged direct cook: `[discriminator | max_execution_fee u64 LE]`,
|
|
91
|
+
* the program being the code account's data.
|
|
92
|
+
*
|
|
93
|
+
* **Unpinned.** The engine checks nothing about the code account — not its owner, not a finalized
|
|
94
|
+
* flag, not a digest — and runs it with the tail's signatures. Whoever can change those bytes before
|
|
95
|
+
* the transaction lands chooses what the signer's authority is used for. Prefer
|
|
96
|
+
* `buildCookAndPayFromAccountPinnedInstruction` unless the account is one only the signer controls.
|
|
97
|
+
*/
|
|
98
|
+
export declare function buildCookAndPayFromAccountInstruction({ engineProgram, code, tail, ...payment }: CookAndPayFromAccountInput): Instruction;
|
|
99
|
+
export interface CookAndPayFromAccountPinnedInput extends CookAndPayFromAccountInput {
|
|
100
|
+
/** SHA-256 of the code account's ENTIRE data. For a finalized Kitchen code buffer that is the
|
|
101
|
+
* digest it was finalized with (`finalize_code_buffer` shrinks the account to exactly the
|
|
102
|
+
* program), and so the sha256 of the staged bytes. */
|
|
103
|
+
expectedSha256: Uint8Array;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* `cookAndPayFromAccountPinned` — the staged direct cook, pinned:
|
|
107
|
+
* `[discriminator | max_execution_fee u64 LE | expected_sha256]`.
|
|
108
|
+
*
|
|
109
|
+
* The engine hashes all of the code account's data and refuses a mismatch (`CodeHashMismatch`)
|
|
110
|
+
* before it validates or pays the fee, then runs the bytes it hashed under the same borrow — so
|
|
111
|
+
* the program that runs is the program the caller signed for.
|
|
112
|
+
*/
|
|
113
|
+
export declare function buildCookAndPayFromAccountPinnedInstruction({ expectedSha256, engineProgram, code, tail, ...payment }: CookAndPayFromAccountPinnedInput): Instruction;
|
|
114
|
+
export {};
|
|
44
115
|
//# sourceMappingURL=instructions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/svm/instructions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/svm/instructions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQxF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAmBxD,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAC1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,QAAQ,EACR,QAAQ,GACT,EAAE,uBAAuB,GAAG,WAAW,CAQvC;AAED,MAAM,WAAW,kCAAkC;IACjD,SAAS,EAAE,OAAO,CAAC;IACnB,qFAAqF;IACrF,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAC1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,kCAAkC,CAAC,EACjD,SAAS,EACT,IAAI,EACJ,QAAQ,GACT,EAAE,kCAAkC,GAAG,WAAW,CAQlD;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAU/E;AAID,iGAAiG;AACjG,KAAK,iBAAiB,GAAG,iBAAiB,GAAG,WAAW,CAAC;AAiBzD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;kGAE8F;IAC9F,SAAS,EAAE,OAAO,CAAC;IACnB;;4DAEwD;IACxD,QAAQ,EAAE,OAAO,CAAC;IAClB;4EACwE;IACxE,eAAe,EAAE,MAAM,CAAC;CACzB;AAiBD,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,mGAAmG;IACnG,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,UAAU,CAAC;IACrB,mFAAmF;IACnF,IAAI,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,aAAa,EACb,QAAQ,EACR,IAAS,EACT,GAAG,OAAO,EACX,EAAE,eAAe,GAAG,WAAW,CAQ/B;AAED,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;IACnE,aAAa,EAAE,OAAO,CAAC;IACvB;sFACkF;IAClF,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACrC;AAED;;;;;;;;GAQG;AACH,wBAAgB,qCAAqC,CAAC,EACpD,aAAa,EACb,IAAI,EACJ,IAAS,EACT,GAAG,OAAO,EACX,EAAE,0BAA0B,GAAG,WAAW,CAW1C;AAED,MAAM,WAAW,gCAAiC,SAAQ,0BAA0B;IAClF;;2DAEuD;IACvD,cAAc,EAAE,UAAU,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,2CAA2C,CAAC,EAC1D,cAAc,EACd,aAAa,EACb,IAAI,EACJ,IAAS,EACT,GAAG,OAAO,EACX,EAAE,gCAAgC,GAAG,WAAW,CAehD"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AccountRole } from "@solana/kit";
|
|
2
|
-
import { EXECUTE_DISCRIMINATOR, EXECUTE_FROM_ACCOUNT_DISCRIMINATOR } from "./engine.js";
|
|
2
|
+
import { COOK_AND_PAY_DISCRIMINATOR, COOK_AND_PAY_FROM_ACCOUNT_DISCRIMINATOR, COOK_AND_PAY_FROM_ACCOUNT_PINNED_DISCRIMINATOR, EXECUTE_DISCRIMINATOR, EXECUTE_FROM_ACCOUNT_DISCRIMINATOR, } from "./engine.js";
|
|
3
|
+
import { assertEngineRunsCompiler } from "../deployments/releases.js";
|
|
3
4
|
function withDiscriminator(discriminator, ...parts) {
|
|
4
5
|
const total = discriminator.length + parts.reduce((n, p) => n + p.length, 0);
|
|
5
6
|
const data = new Uint8Array(total);
|
|
@@ -21,6 +22,7 @@ function withDiscriminator(discriminator, ...parts) {
|
|
|
21
22
|
* buildHeapFramePrepend.
|
|
22
23
|
*/
|
|
23
24
|
export function buildExecuteInstruction({ programId, bytecode, accounts, }) {
|
|
25
|
+
assertEngineRunsCompiler("svm", programId);
|
|
24
26
|
return {
|
|
25
27
|
programAddress: programId,
|
|
26
28
|
accounts: [...accounts],
|
|
@@ -37,6 +39,7 @@ export function buildExecuteInstruction({ programId, bytecode, accounts, }) {
|
|
|
37
39
|
* staged bytes hash to it. Needs RequestHeapFrame, like `execute` — see `buildHeapFramePrepend`.
|
|
38
40
|
*/
|
|
39
41
|
export function buildExecuteFromAccountInstruction({ programId, code, accounts, }) {
|
|
42
|
+
assertEngineRunsCompiler("svm", programId);
|
|
40
43
|
return {
|
|
41
44
|
programAddress: programId,
|
|
42
45
|
accounts: [{ address: code, role: AccountRole.READONLY }, ...accounts],
|
|
@@ -58,6 +61,82 @@ export function assertNoExecutePin(expectedSha256) {
|
|
|
58
61
|
throw new Error("expectedSha256 cannot be enforced: the released v12 SVM engine's `execute_from_account` takes " +
|
|
59
62
|
"no instruction payload, so there is nowhere to carry a pin. Pin the CONTENT at staging time " +
|
|
60
63
|
"instead — `buildFinalizeCodeBufferInstruction({ expectedSha256 })`, which the kitchen checks " +
|
|
61
|
-
"on chain — and omit this field here."
|
|
64
|
+
"on chain — and omit this field here. A direct engine cook does take one: " +
|
|
65
|
+
'`buildCookAndPayFromAccountPinnedInstruction`, or the client with `via: "engine"`.');
|
|
66
|
+
}
|
|
67
|
+
const SYSTEM_PROGRAM = "11111111111111111111111111111111";
|
|
68
|
+
const U64_MAX = (1n << 64n) - 1n;
|
|
69
|
+
function feeCap(maxExecutionFee) {
|
|
70
|
+
if (typeof maxExecutionFee !== "bigint" || maxExecutionFee < 0n || maxExecutionFee > U64_MAX) {
|
|
71
|
+
throw new Error(`maxExecutionFee must be a u64 of lamports (a bigint in 0..=2^64-1), got ${String(maxExecutionFee)}`);
|
|
72
|
+
}
|
|
73
|
+
const bytes = new Uint8Array(8);
|
|
74
|
+
new DataView(bytes.buffer).setBigUint64(0, maxExecutionFee, true);
|
|
75
|
+
return bytes;
|
|
76
|
+
}
|
|
77
|
+
/** `[...head, ...tail, feePayer (writable signer), System Program, feeConfig (writable)]`. */
|
|
78
|
+
function directAccounts(head, tail, { feeConfig, feePayer }) {
|
|
79
|
+
return [
|
|
80
|
+
...head,
|
|
81
|
+
...tail,
|
|
82
|
+
{ address: feePayer, role: AccountRole.WRITABLE_SIGNER },
|
|
83
|
+
{ address: SYSTEM_PROGRAM, role: AccountRole.READONLY },
|
|
84
|
+
{ address: feeConfig, role: AccountRole.WRITABLE },
|
|
85
|
+
];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* `cookAndPay` — the engine called directly, bytecode inline, paying the Kitchen's execution fee
|
|
89
|
+
* itself: `[discriminator | max_execution_fee u64 LE | bytecode]`.
|
|
90
|
+
*
|
|
91
|
+
* No Kitchen, so no Pot: nothing signs for one, and the program acts with the signatures the
|
|
92
|
+
* transaction gave its tail — the wallet that signs is the authority a token transfer names. In
|
|
93
|
+
* exchange the program's own CPIs start one level higher on the invoke stack than under a Kitchen
|
|
94
|
+
* cook, which CPIs the engine.
|
|
95
|
+
*
|
|
96
|
+
* Needs the same RequestHeapFrame as every cook — see `buildHeapFramePrepend`.
|
|
97
|
+
*/
|
|
98
|
+
export function buildCookAndPayInstruction({ engineProgram, bytecode, tail = [], ...payment }) {
|
|
99
|
+
assertEngineRunsCompiler("svm", engineProgram);
|
|
100
|
+
return {
|
|
101
|
+
programAddress: engineProgram,
|
|
102
|
+
accounts: directAccounts([], tail, payment),
|
|
103
|
+
data: withDiscriminator(COOK_AND_PAY_DISCRIMINATOR, feeCap(payment.maxExecutionFee), bytecode),
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* `cookAndPayFromAccount` — the staged direct cook: `[discriminator | max_execution_fee u64 LE]`,
|
|
108
|
+
* the program being the code account's data.
|
|
109
|
+
*
|
|
110
|
+
* **Unpinned.** The engine checks nothing about the code account — not its owner, not a finalized
|
|
111
|
+
* flag, not a digest — and runs it with the tail's signatures. Whoever can change those bytes before
|
|
112
|
+
* the transaction lands chooses what the signer's authority is used for. Prefer
|
|
113
|
+
* `buildCookAndPayFromAccountPinnedInstruction` unless the account is one only the signer controls.
|
|
114
|
+
*/
|
|
115
|
+
export function buildCookAndPayFromAccountInstruction({ engineProgram, code, tail = [], ...payment }) {
|
|
116
|
+
assertEngineRunsCompiler("svm", engineProgram);
|
|
117
|
+
return {
|
|
118
|
+
programAddress: engineProgram,
|
|
119
|
+
accounts: directAccounts([{ address: code, role: AccountRole.READONLY }], tail, payment),
|
|
120
|
+
data: withDiscriminator(COOK_AND_PAY_FROM_ACCOUNT_DISCRIMINATOR, feeCap(payment.maxExecutionFee)),
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* `cookAndPayFromAccountPinned` — the staged direct cook, pinned:
|
|
125
|
+
* `[discriminator | max_execution_fee u64 LE | expected_sha256]`.
|
|
126
|
+
*
|
|
127
|
+
* The engine hashes all of the code account's data and refuses a mismatch (`CodeHashMismatch`)
|
|
128
|
+
* before it validates or pays the fee, then runs the bytes it hashed under the same borrow — so
|
|
129
|
+
* the program that runs is the program the caller signed for.
|
|
130
|
+
*/
|
|
131
|
+
export function buildCookAndPayFromAccountPinnedInstruction({ expectedSha256, engineProgram, code, tail = [], ...payment }) {
|
|
132
|
+
if (!(expectedSha256 instanceof Uint8Array) || expectedSha256.length !== 32) {
|
|
133
|
+
throw new Error("expectedSha256 must be exactly 32 bytes");
|
|
134
|
+
}
|
|
135
|
+
assertEngineRunsCompiler("svm", engineProgram);
|
|
136
|
+
return {
|
|
137
|
+
programAddress: engineProgram,
|
|
138
|
+
accounts: directAccounts([{ address: code, role: AccountRole.READONLY }], tail, payment),
|
|
139
|
+
data: withDiscriminator(COOK_AND_PAY_FROM_ACCOUNT_PINNED_DISCRIMINATOR, feeCap(payment.maxExecutionFee), expectedSha256),
|
|
140
|
+
};
|
|
62
141
|
}
|
|
63
142
|
//# sourceMappingURL=instructions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/svm/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/svm/instructions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AccountLookupMeta, AccountMeta, Address, Instruction } from "@solana/kit";
|
|
1
|
+
import type { AccountLookupMeta, AccountMeta, Address, GetAccountInfoApi, Instruction, Rpc } from "@solana/kit";
|
|
2
2
|
/** One entry of a program's own account tail, in the shape a kit `Instruction` carries. */
|
|
3
3
|
export type TailAccount = AccountLookupMeta | AccountMeta;
|
|
4
4
|
/** The kitchen's own `#[constant]`s, from the same IDL. */
|
|
@@ -32,6 +32,25 @@ export declare function derivePotPda(kitchen: Address, owner: Address, salt: Uin
|
|
|
32
32
|
* it writable even when the configured fee is zero.
|
|
33
33
|
*/
|
|
34
34
|
export declare function deriveExecutionFeeConfigPda(kitchen: Address): Promise<KitchenPda>;
|
|
35
|
+
/**
|
|
36
|
+
* The Anchor account discriminator of `ExecutionFeeConfig`, `sha256("account:ExecutionFeeConfig")
|
|
37
|
+
* [..8]` — the release IDL's own, which `engine-wire-drift.test.ts` asserts, and the bytes the
|
|
38
|
+
* engine's direct cooks check before trusting the account.
|
|
39
|
+
*/
|
|
40
|
+
export declare const EXECUTION_FEE_CONFIG_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
41
|
+
/**
|
|
42
|
+
* The fee in an `ExecutionFeeConfig` account's data: 8 discriminator bytes, then the fee as a u64
|
|
43
|
+
* LE — exactly 16 bytes, the length the engine requires too. Anything else throws: a lookalike
|
|
44
|
+
* account is not a fee of zero.
|
|
45
|
+
*/
|
|
46
|
+
export declare function decodeExecutionFeeConfig(data: Uint8Array): bigint;
|
|
47
|
+
/**
|
|
48
|
+
* The Kitchen's execution fee in lamports, read from its `["execution_fee"]` config — what a cook
|
|
49
|
+
* through the Kitchen and a direct engine cook both pay. Throws when the config is absent, is not
|
|
50
|
+
* owned by `kitchen`, or does not decode: every cook is refused on chain then, so there is no fee to
|
|
51
|
+
* report.
|
|
52
|
+
*/
|
|
53
|
+
export declare function fetchExecutionFee(rpc: Rpc<GetAccountInfoApi>, kitchen: Address): Promise<bigint>;
|
|
35
54
|
/**
|
|
36
55
|
* A program's `ProgramData` under the upgradeable loader: `[program]`.
|
|
37
56
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kitchen.d.ts","sourceRoot":"","sources":["../../src/svm/kitchen.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"kitchen.d.ts","sourceRoot":"","sources":["../../src/svm/kitchen.ts"],"names":[],"mappings":"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"}
|
package/sdk/dist/svm/kitchen.js
CHANGED
|
@@ -26,8 +26,14 @@
|
|
|
26
26
|
* enter the engine's account list, so bytecode indices and `MSG_SENDER` keep their meanings. A zero
|
|
27
27
|
* configured fee performs no transfer at all; the config must still exist and be writable, because
|
|
28
28
|
* an absent one is a failure rather than a free cook.
|
|
29
|
+
*
|
|
30
|
+
* The same config prices the engine's DIRECT cooks (`buildCookAndPayInstruction` and the staged
|
|
31
|
+
* pair, in `instructions.ts`): the engine reads this account itself, re-derived against the Kitchen
|
|
32
|
+
* id it bakes in, and pays the fee into it. One fee and one treasury, whichever way a program runs;
|
|
33
|
+
* `fetchExecutionFee` reads it for either.
|
|
29
34
|
*/
|
|
30
|
-
import { getAddressEncoder, getProgramDerivedAddress, AccountRole } from "@solana/kit";
|
|
35
|
+
import { getAddressEncoder, getBase64Encoder, getProgramDerivedAddress, AccountRole, } from "@solana/kit";
|
|
36
|
+
import { assertEngineRunsCompiler } from "../deployments/releases.js";
|
|
31
37
|
/** Anchor discriminators, verbatim from the release's `kitchen-idl.json`. */
|
|
32
38
|
const DISCRIMINATOR = {
|
|
33
39
|
closeCodeBuffer: new Uint8Array([195, 203, 47, 242, 198, 177, 247, 6]),
|
|
@@ -138,6 +144,44 @@ export async function deriveExecutionFeeConfigPda(kitchen) {
|
|
|
138
144
|
});
|
|
139
145
|
return { address, bump };
|
|
140
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* The Anchor account discriminator of `ExecutionFeeConfig`, `sha256("account:ExecutionFeeConfig")
|
|
149
|
+
* [..8]` — the release IDL's own, which `engine-wire-drift.test.ts` asserts, and the bytes the
|
|
150
|
+
* engine's direct cooks check before trusting the account.
|
|
151
|
+
*/
|
|
152
|
+
export const EXECUTION_FEE_CONFIG_DISCRIMINATOR = new Uint8Array([
|
|
153
|
+
60, 73, 184, 44, 4, 104, 241, 138,
|
|
154
|
+
]);
|
|
155
|
+
/**
|
|
156
|
+
* The fee in an `ExecutionFeeConfig` account's data: 8 discriminator bytes, then the fee as a u64
|
|
157
|
+
* LE — exactly 16 bytes, the length the engine requires too. Anything else throws: a lookalike
|
|
158
|
+
* account is not a fee of zero.
|
|
159
|
+
*/
|
|
160
|
+
export function decodeExecutionFeeConfig(data) {
|
|
161
|
+
if (data.length !== 16 ||
|
|
162
|
+
!EXECUTION_FEE_CONFIG_DISCRIMINATOR.every((byte, index) => data[index] === byte)) {
|
|
163
|
+
throw new Error(`not a Kitchen ExecutionFeeConfig: expected 16 bytes starting with its discriminator, got ${data.length} bytes`);
|
|
164
|
+
}
|
|
165
|
+
return new DataView(data.buffer, data.byteOffset, data.byteLength).getBigUint64(8, true);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* The Kitchen's execution fee in lamports, read from its `["execution_fee"]` config — what a cook
|
|
169
|
+
* through the Kitchen and a direct engine cook both pay. Throws when the config is absent, is not
|
|
170
|
+
* owned by `kitchen`, or does not decode: every cook is refused on chain then, so there is no fee to
|
|
171
|
+
* report.
|
|
172
|
+
*/
|
|
173
|
+
export async function fetchExecutionFee(rpc, kitchen) {
|
|
174
|
+
const { address: feeConfig } = await deriveExecutionFeeConfigPda(kitchen);
|
|
175
|
+
const { value } = await rpc.getAccountInfo(feeConfig, { encoding: "base64" }).send();
|
|
176
|
+
if (value === null) {
|
|
177
|
+
throw new Error(`the Kitchen ${kitchen} has no execution-fee config (${feeConfig}) on this cluster, so every ` +
|
|
178
|
+
"cook there is refused: is the Kitchen deployed and initialized?");
|
|
179
|
+
}
|
|
180
|
+
if (value.owner !== kitchen) {
|
|
181
|
+
throw new Error(`the execution-fee config ${feeConfig} is owned by ${value.owner}, not the Kitchen ${kitchen}`);
|
|
182
|
+
}
|
|
183
|
+
return decodeExecutionFeeConfig(new Uint8Array(getBase64Encoder().encode(value.data[0])));
|
|
184
|
+
}
|
|
141
185
|
/**
|
|
142
186
|
* A program's `ProgramData` under the upgradeable loader: `[program]`.
|
|
143
187
|
*
|
|
@@ -219,6 +263,7 @@ function executionFeeAccounts(feeConfig, feePayer) {
|
|
|
219
263
|
*/
|
|
220
264
|
export function buildCookInstruction({ kitchen, owner, engineProgram, potSalt, pot, feeConfig, bytecode, maxExecutionFee, feePayer = owner, tail = [], }) {
|
|
221
265
|
assertLength(potSalt, SALT_BYTES, "a pot salt");
|
|
266
|
+
assertEngineRunsCompiler("svm", engineProgram);
|
|
222
267
|
return {
|
|
223
268
|
programAddress: kitchen,
|
|
224
269
|
accounts: [
|
|
@@ -238,6 +283,7 @@ export function buildCookInstruction({ kitchen, owner, engineProgram, potSalt, p
|
|
|
238
283
|
*/
|
|
239
284
|
export function buildCookFromAccountInstruction({ kitchen, owner, codeBuffer, code, engineProgram, potSalt, pot, feeConfig, pin, maxExecutionFee, feePayer = owner, tail = [], }) {
|
|
240
285
|
assertLength(potSalt, SALT_BYTES, "a pot salt");
|
|
286
|
+
assertEngineRunsCompiler("svm", engineProgram);
|
|
241
287
|
return {
|
|
242
288
|
programAddress: kitchen,
|
|
243
289
|
accounts: [
|