@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.
Files changed (1158) hide show
  1. package/README.md +58 -16
  2. package/actions/action-program.schema.json +480 -379
  3. package/actions/dist/abis.d.ts +19 -18
  4. package/actions/dist/abis.d.ts.map +1 -1
  5. package/actions/dist/abis.js +29 -29
  6. package/actions/dist/compile.d.ts +4 -4
  7. package/actions/dist/compile.d.ts.map +1 -1
  8. package/actions/dist/compile.js +3 -1
  9. package/actions/dist/compose.d.ts +63 -6
  10. package/actions/dist/compose.d.ts.map +1 -1
  11. package/actions/dist/compose.js +100 -16
  12. package/actions/dist/index.d.ts +1 -1
  13. package/actions/dist/index.d.ts.map +1 -1
  14. package/actions/dist/names.d.ts +88 -0
  15. package/actions/dist/names.d.ts.map +1 -0
  16. package/actions/dist/names.js +324 -0
  17. package/actions/dist/program.d.ts.map +1 -1
  18. package/actions/dist/program.js +115 -5
  19. package/actions/dist/registry.d.ts +10 -8
  20. package/actions/dist/registry.d.ts.map +1 -1
  21. package/actions/dist/registry.js +10 -8
  22. package/actions/dist/schema.d.ts.map +1 -1
  23. package/actions/dist/schema.js +99 -12
  24. package/actions/dist/semantics.d.ts +12 -2
  25. package/actions/dist/semantics.d.ts.map +1 -1
  26. package/actions/dist/semantics.js +78 -8
  27. package/actions/dist/spec.d.ts +30 -0
  28. package/actions/dist/spec.d.ts.map +1 -1
  29. package/actions/dist/spec.js +151 -138
  30. package/actions/dist/split-swap.d.ts +10 -5
  31. package/actions/dist/split-swap.d.ts.map +1 -1
  32. package/actions/dist/split-swap.js +48 -7
  33. package/actions/dist/to-quote.d.ts +14 -5
  34. package/actions/dist/to-quote.d.ts.map +1 -1
  35. package/actions/dist/to-quote.js +210 -244
  36. package/actions/dist/to-sauce.d.ts +18 -4
  37. package/actions/dist/to-sauce.d.ts.map +1 -1
  38. package/actions/dist/to-sauce.js +232 -205
  39. package/actions/dist/types.d.ts +245 -147
  40. package/actions/dist/types.d.ts.map +1 -1
  41. package/actions/dist/types.js +4 -0
  42. package/docs/README.md +38 -0
  43. package/docs/api/README.md +37 -23
  44. package/docs/api/compiler.md +53 -12
  45. package/docs/api/contracts.md +105 -0
  46. package/docs/api/coverage.md +80 -57
  47. package/docs/api/router.md +238 -0
  48. package/docs/api/routes.md +31 -22
  49. package/docs/concepts/architecture.md +26 -3
  50. package/docs/concepts/saucescript.md +35 -55
  51. package/docs/examples/README.md +21 -14
  52. package/docs/examples/action-program.ts +51 -35
  53. package/docs/examples/cross-chain-cascade.sauce.ts +4 -0
  54. package/docs/examples/cross-chain-intent.sauce.ts +2 -1
  55. package/docs/examples/evm-execution.ts +2 -4
  56. package/docs/examples/first-intent.ts +7 -2
  57. package/docs/examples/pot-router.ts +19 -0
  58. package/docs/examples/registry-names.ts +52 -0
  59. package/docs/examples/router-route.sauce.ts +31 -0
  60. package/docs/examples/router-route.ts +72 -0
  61. package/docs/examples/router-swap.sauce.ts +16 -0
  62. package/docs/examples/router-swap.ts +47 -0
  63. package/docs/examples/venue-where-deployed.sauce.ts +14 -0
  64. package/docs/guides/actions.md +230 -120
  65. package/docs/guides/builders-and-actions.md +20 -14
  66. package/docs/guides/cli.md +1442 -0
  67. package/docs/guides/compiling.md +19 -7
  68. package/docs/guides/intents.md +228 -15
  69. package/docs/guides/mcp.md +539 -0
  70. package/docs/guides/nested-intents.md +21 -6
  71. package/docs/guides/protocols-and-tokens.md +218 -39
  72. package/docs/guides/quick-start.md +5 -0
  73. package/docs/guides/solana.md +199 -52
  74. package/docs/guides/verification.md +2 -2
  75. package/mcp/dist/config.js +78 -0
  76. package/mcp/dist/config.js.map +1 -0
  77. package/mcp/dist/entry.js +112 -0
  78. package/mcp/dist/entry.js.map +1 -0
  79. package/mcp/dist/files.js +64 -0
  80. package/mcp/dist/files.js.map +1 -0
  81. package/mcp/dist/guard.js +262 -0
  82. package/mcp/dist/guard.js.map +1 -0
  83. package/mcp/dist/http.js +111 -0
  84. package/mcp/dist/http.js.map +1 -0
  85. package/mcp/dist/intents.js +579 -0
  86. package/mcp/dist/intents.js.map +1 -0
  87. package/mcp/dist/prompts.js +153 -0
  88. package/mcp/dist/prompts.js.map +1 -0
  89. package/mcp/dist/reach.js +98 -0
  90. package/mcp/dist/reach.js.map +1 -0
  91. package/mcp/dist/resources.js +154 -0
  92. package/mcp/dist/resources.js.map +1 -0
  93. package/mcp/dist/sdk.js +34 -0
  94. package/mcp/dist/sdk.js.map +1 -0
  95. package/mcp/dist/server.js +119 -0
  96. package/mcp/dist/server.js.map +1 -0
  97. package/mcp/dist/setup.js +189 -0
  98. package/mcp/dist/setup.js.map +1 -0
  99. package/mcp/dist/skilltools.js +520 -0
  100. package/mcp/dist/skilltools.js.map +1 -0
  101. package/mcp/dist/terms.js +93 -0
  102. package/mcp/dist/terms.js.map +1 -0
  103. package/mcp/dist/tools.js +1497 -0
  104. package/mcp/dist/tools.js.map +1 -0
  105. package/mcp/dist/wallets.js +168 -0
  106. package/mcp/dist/wallets.js.map +1 -0
  107. package/package.json +18 -13
  108. package/sdk/dist/artifacts/V12Deployments.json +3 -1
  109. package/sdk/dist/artifacts/V12EngineGate.json +1 -2
  110. package/sdk/dist/artifacts/V12KitchenProxy.json +1 -0
  111. package/sdk/dist/chains/canonical.d.ts +15 -24
  112. package/sdk/dist/chains/canonical.d.ts.map +1 -1
  113. package/sdk/dist/chains/canonical.js +18 -29
  114. package/sdk/dist/chains/canonical.js.map +1 -1
  115. package/sdk/dist/cli/actions.d.ts +29 -0
  116. package/sdk/dist/cli/actions.d.ts.map +1 -0
  117. package/sdk/dist/cli/actions.js +122 -0
  118. package/sdk/dist/cli/actions.js.map +1 -0
  119. package/sdk/dist/cli/args.d.ts +118 -0
  120. package/sdk/dist/cli/args.d.ts.map +1 -0
  121. package/sdk/dist/cli/args.js +354 -0
  122. package/sdk/dist/cli/args.js.map +1 -0
  123. package/sdk/dist/cli/assume.d.ts +51 -0
  124. package/sdk/dist/cli/assume.d.ts.map +1 -0
  125. package/sdk/dist/cli/assume.js +207 -0
  126. package/sdk/dist/cli/assume.js.map +1 -0
  127. package/sdk/dist/cli/chain.d.ts +170 -0
  128. package/sdk/dist/cli/chain.d.ts.map +1 -0
  129. package/sdk/dist/cli/chain.js +457 -0
  130. package/sdk/dist/cli/chain.js.map +1 -0
  131. package/sdk/dist/cli/commands.d.ts +226 -0
  132. package/sdk/dist/cli/commands.d.ts.map +1 -0
  133. package/sdk/dist/cli/commands.js +637 -0
  134. package/sdk/dist/cli/commands.js.map +1 -0
  135. package/sdk/dist/cli/create.d.ts +70 -0
  136. package/sdk/dist/cli/create.d.ts.map +1 -0
  137. package/sdk/dist/cli/create.js +483 -0
  138. package/sdk/dist/cli/create.js.map +1 -0
  139. package/sdk/dist/cli/diagnostics.d.ts +12 -0
  140. package/sdk/dist/cli/diagnostics.d.ts.map +1 -0
  141. package/sdk/dist/cli/diagnostics.js +200 -0
  142. package/sdk/dist/cli/diagnostics.js.map +1 -0
  143. package/sdk/dist/cli/effects.d.ts +71 -0
  144. package/sdk/dist/cli/effects.d.ts.map +1 -0
  145. package/sdk/dist/cli/effects.js +279 -0
  146. package/sdk/dist/cli/effects.js.map +1 -0
  147. package/sdk/dist/cli/fill.d.ts +83 -0
  148. package/sdk/dist/cli/fill.d.ts.map +1 -0
  149. package/sdk/dist/cli/fill.js +734 -0
  150. package/sdk/dist/cli/fill.js.map +1 -0
  151. package/sdk/dist/cli/funding.d.ts +126 -0
  152. package/sdk/dist/cli/funding.d.ts.map +1 -0
  153. package/sdk/dist/cli/funding.js +514 -0
  154. package/sdk/dist/cli/funding.js.map +1 -0
  155. package/sdk/dist/cli/globals.d.ts +16 -0
  156. package/sdk/dist/cli/globals.d.ts.map +1 -0
  157. package/sdk/dist/cli/globals.js +197 -0
  158. package/sdk/dist/cli/globals.js.map +1 -0
  159. package/sdk/dist/cli/init.d.ts +34 -0
  160. package/sdk/dist/cli/init.d.ts.map +1 -0
  161. package/sdk/dist/cli/init.js +181 -0
  162. package/sdk/dist/cli/init.js.map +1 -0
  163. package/sdk/dist/cli/inputs.d.ts +72 -0
  164. package/sdk/dist/cli/inputs.d.ts.map +1 -0
  165. package/sdk/dist/cli/inputs.js +152 -0
  166. package/sdk/dist/cli/inputs.js.map +1 -0
  167. package/sdk/dist/cli/inspect.d.ts +48 -0
  168. package/sdk/dist/cli/inspect.d.ts.map +1 -0
  169. package/sdk/dist/cli/inspect.js +536 -0
  170. package/sdk/dist/cli/inspect.js.map +1 -0
  171. package/sdk/dist/cli/intent-commands.d.ts +71 -0
  172. package/sdk/dist/cli/intent-commands.d.ts.map +1 -0
  173. package/sdk/dist/cli/intent-commands.js +698 -0
  174. package/sdk/dist/cli/intent-commands.js.map +1 -0
  175. package/sdk/dist/cli/intent-svm.d.ts +15 -0
  176. package/sdk/dist/cli/intent-svm.d.ts.map +1 -0
  177. package/sdk/dist/cli/intent-svm.js +222 -0
  178. package/sdk/dist/cli/intent-svm.js.map +1 -0
  179. package/sdk/dist/cli/intents.d.ts +43 -0
  180. package/sdk/dist/cli/intents.d.ts.map +1 -0
  181. package/sdk/dist/cli/intents.js +89 -0
  182. package/sdk/dist/cli/intents.js.map +1 -0
  183. package/sdk/dist/cli/interactive.d.ts +11 -0
  184. package/sdk/dist/cli/interactive.d.ts.map +1 -0
  185. package/sdk/dist/cli/interactive.js +161 -0
  186. package/sdk/dist/cli/interactive.js.map +1 -0
  187. package/sdk/dist/cli/lifecycle-svm.d.ts +109 -0
  188. package/sdk/dist/cli/lifecycle-svm.d.ts.map +1 -0
  189. package/sdk/dist/cli/lifecycle-svm.js +299 -0
  190. package/sdk/dist/cli/lifecycle-svm.js.map +1 -0
  191. package/sdk/dist/cli/lifecycle.d.ts +439 -0
  192. package/sdk/dist/cli/lifecycle.d.ts.map +1 -0
  193. package/sdk/dist/cli/lifecycle.js +1721 -0
  194. package/sdk/dist/cli/lifecycle.js.map +1 -0
  195. package/sdk/dist/cli/main.d.ts +3 -0
  196. package/sdk/dist/cli/main.d.ts.map +1 -0
  197. package/sdk/dist/cli/main.js +8 -0
  198. package/sdk/dist/cli/main.js.map +1 -0
  199. package/sdk/dist/cli/mcp.d.ts +66 -0
  200. package/sdk/dist/cli/mcp.d.ts.map +1 -0
  201. package/sdk/dist/cli/mcp.js +169 -0
  202. package/sdk/dist/cli/mcp.js.map +1 -0
  203. package/sdk/dist/cli/password.d.ts +54 -0
  204. package/sdk/dist/cli/password.d.ts.map +1 -0
  205. package/sdk/dist/cli/password.js +148 -0
  206. package/sdk/dist/cli/password.js.map +1 -0
  207. package/sdk/dist/cli/policy.d.ts +130 -0
  208. package/sdk/dist/cli/policy.d.ts.map +1 -0
  209. package/sdk/dist/cli/policy.js +702 -0
  210. package/sdk/dist/cli/policy.js.map +1 -0
  211. package/sdk/dist/cli/pools.d.ts +140 -0
  212. package/sdk/dist/cli/pools.d.ts.map +1 -0
  213. package/sdk/dist/cli/pools.js +658 -0
  214. package/sdk/dist/cli/pools.js.map +1 -0
  215. package/sdk/dist/cli/price.d.ts +74 -0
  216. package/sdk/dist/cli/price.d.ts.map +1 -0
  217. package/sdk/dist/cli/price.js +321 -0
  218. package/sdk/dist/cli/price.js.map +1 -0
  219. package/sdk/dist/cli/prompt.d.ts +30 -0
  220. package/sdk/dist/cli/prompt.d.ts.map +1 -0
  221. package/sdk/dist/cli/prompt.js +53 -0
  222. package/sdk/dist/cli/prompt.js.map +1 -0
  223. package/sdk/dist/cli/publish.d.ts +48 -0
  224. package/sdk/dist/cli/publish.d.ts.map +1 -0
  225. package/sdk/dist/cli/publish.js +480 -0
  226. package/sdk/dist/cli/publish.js.map +1 -0
  227. package/sdk/dist/cli/receipt.d.ts +35 -0
  228. package/sdk/dist/cli/receipt.d.ts.map +1 -0
  229. package/sdk/dist/cli/receipt.js +63 -0
  230. package/sdk/dist/cli/receipt.js.map +1 -0
  231. package/sdk/dist/cli/rehearse.d.ts +80 -0
  232. package/sdk/dist/cli/rehearse.d.ts.map +1 -0
  233. package/sdk/dist/cli/rehearse.js +265 -0
  234. package/sdk/dist/cli/rehearse.js.map +1 -0
  235. package/sdk/dist/cli/report.d.ts +69 -0
  236. package/sdk/dist/cli/report.d.ts.map +1 -0
  237. package/sdk/dist/cli/report.js +206 -0
  238. package/sdk/dist/cli/report.js.map +1 -0
  239. package/sdk/dist/cli/returned.d.ts +16 -0
  240. package/sdk/dist/cli/returned.d.ts.map +1 -0
  241. package/sdk/dist/cli/returned.js +111 -0
  242. package/sdk/dist/cli/returned.js.map +1 -0
  243. package/sdk/dist/cli/run.d.ts +40 -0
  244. package/sdk/dist/cli/run.d.ts.map +1 -0
  245. package/sdk/dist/cli/run.js +3162 -0
  246. package/sdk/dist/cli/run.js.map +1 -0
  247. package/sdk/dist/cli/signer.d.ts +72 -0
  248. package/sdk/dist/cli/signer.d.ts.map +1 -0
  249. package/sdk/dist/cli/signer.js +243 -0
  250. package/sdk/dist/cli/signer.js.map +1 -0
  251. package/sdk/dist/cli/simulate.d.ts +11 -0
  252. package/sdk/dist/cli/simulate.d.ts.map +1 -0
  253. package/sdk/dist/cli/simulate.js +246 -0
  254. package/sdk/dist/cli/simulate.js.map +1 -0
  255. package/sdk/dist/cli/skills.d.ts +77 -0
  256. package/sdk/dist/cli/skills.d.ts.map +1 -0
  257. package/sdk/dist/cli/skills.js +527 -0
  258. package/sdk/dist/cli/skills.js.map +1 -0
  259. package/sdk/dist/cli/solana.d.ts +183 -0
  260. package/sdk/dist/cli/solana.d.ts.map +1 -0
  261. package/sdk/dist/cli/solana.js +1360 -0
  262. package/sdk/dist/cli/solana.js.map +1 -0
  263. package/sdk/dist/cli/store.d.ts +60 -0
  264. package/sdk/dist/cli/store.d.ts.map +1 -0
  265. package/sdk/dist/cli/store.js +196 -0
  266. package/sdk/dist/cli/store.js.map +1 -0
  267. package/sdk/dist/cli/support.d.ts +144 -0
  268. package/sdk/dist/cli/support.d.ts.map +1 -0
  269. package/sdk/dist/cli/support.js +217 -0
  270. package/sdk/dist/cli/support.js.map +1 -0
  271. package/sdk/dist/cli/svm-effects.d.ts +50 -0
  272. package/sdk/dist/cli/svm-effects.d.ts.map +1 -0
  273. package/sdk/dist/cli/svm-effects.js +196 -0
  274. package/sdk/dist/cli/svm-effects.js.map +1 -0
  275. package/sdk/dist/cli/terminal.d.ts +42 -0
  276. package/sdk/dist/cli/terminal.d.ts.map +1 -0
  277. package/sdk/dist/cli/terminal.js +136 -0
  278. package/sdk/dist/cli/terminal.js.map +1 -0
  279. package/sdk/dist/cli/verify.d.ts +32 -0
  280. package/sdk/dist/cli/verify.d.ts.map +1 -0
  281. package/sdk/dist/cli/verify.js +185 -0
  282. package/sdk/dist/cli/verify.js.map +1 -0
  283. package/sdk/dist/cli/wallet-commands.d.ts +59 -0
  284. package/sdk/dist/cli/wallet-commands.d.ts.map +1 -0
  285. package/sdk/dist/cli/wallet-commands.js +222 -0
  286. package/sdk/dist/cli/wallet-commands.js.map +1 -0
  287. package/sdk/dist/cli/wallet-send.d.ts +38 -0
  288. package/sdk/dist/cli/wallet-send.d.ts.map +1 -0
  289. package/sdk/dist/cli/wallet-send.js +303 -0
  290. package/sdk/dist/cli/wallet-send.js.map +1 -0
  291. package/sdk/dist/cli/wallets.d.ts +79 -0
  292. package/sdk/dist/cli/wallets.d.ts.map +1 -0
  293. package/sdk/dist/cli/wallets.js +297 -0
  294. package/sdk/dist/cli/wallets.js.map +1 -0
  295. package/sdk/dist/deployments/index.d.ts +4 -62
  296. package/sdk/dist/deployments/index.d.ts.map +1 -1
  297. package/sdk/dist/deployments/index.js +4 -84
  298. package/sdk/dist/deployments/index.js.map +1 -1
  299. package/sdk/dist/deployments/pot.d.ts +17 -7
  300. package/sdk/dist/deployments/pot.d.ts.map +1 -1
  301. package/sdk/dist/deployments/pot.js +25 -10
  302. package/sdk/dist/deployments/pot.js.map +1 -1
  303. package/sdk/dist/deployments/releases.d.ts +36 -0
  304. package/sdk/dist/deployments/releases.d.ts.map +1 -0
  305. package/sdk/dist/deployments/releases.js +61 -0
  306. package/sdk/dist/deployments/releases.js.map +1 -0
  307. package/sdk/dist/deployments/releases.json +76 -0
  308. package/sdk/dist/deployments/v12-addresses.d.ts +13 -0
  309. package/sdk/dist/deployments/v12-addresses.d.ts.map +1 -1
  310. package/sdk/dist/deployments/v12-addresses.js +16 -3
  311. package/sdk/dist/deployments/v12-addresses.js.map +1 -1
  312. package/sdk/dist/deposit/index.d.ts +6 -6
  313. package/sdk/dist/deposit/index.d.ts.map +1 -1
  314. package/sdk/dist/deposit/index.js +1 -1
  315. package/sdk/dist/deposit/index.js.map +1 -1
  316. package/sdk/dist/deposit/params.d.ts +4 -4
  317. package/sdk/dist/deposit/params.d.ts.map +1 -1
  318. package/sdk/dist/deposit/params.js +7 -4
  319. package/sdk/dist/deposit/params.js.map +1 -1
  320. package/sdk/dist/deposit/source.d.ts +3 -30
  321. package/sdk/dist/deposit/source.d.ts.map +1 -1
  322. package/sdk/dist/deposit/source.js +7 -83
  323. package/sdk/dist/deposit/source.js.map +1 -1
  324. package/sdk/dist/deposit/templates.d.ts +1 -2
  325. package/sdk/dist/deposit/templates.d.ts.map +1 -1
  326. package/sdk/dist/deposit/templates.js +10 -2
  327. package/sdk/dist/deposit/templates.js.map +1 -1
  328. package/sdk/dist/deposit/types.d.ts +14 -12
  329. package/sdk/dist/deposit/types.d.ts.map +1 -1
  330. package/sdk/dist/deposit/types.js +6 -0
  331. package/sdk/dist/deposit/types.js.map +1 -1
  332. package/sdk/dist/descriptors/accessors.d.ts +38 -35
  333. package/sdk/dist/descriptors/accessors.d.ts.map +1 -1
  334. package/sdk/dist/descriptors/accessors.js +16 -0
  335. package/sdk/dist/descriptors/accessors.js.map +1 -1
  336. package/sdk/dist/descriptors/call.d.ts +66 -14
  337. package/sdk/dist/descriptors/call.d.ts.map +1 -1
  338. package/sdk/dist/descriptors/call.js +94 -13
  339. package/sdk/dist/descriptors/call.js.map +1 -1
  340. package/sdk/dist/descriptors/contracts.generated.d.ts +3393 -0
  341. package/sdk/dist/descriptors/contracts.generated.d.ts.map +1 -0
  342. package/sdk/dist/descriptors/contracts.generated.js +728 -0
  343. package/sdk/dist/descriptors/contracts.generated.js.map +1 -0
  344. package/sdk/dist/descriptors/derive.d.ts +20 -11
  345. package/sdk/dist/descriptors/derive.d.ts.map +1 -1
  346. package/sdk/dist/descriptors/derive.js +68 -30
  347. package/sdk/dist/descriptors/derive.js.map +1 -1
  348. package/sdk/dist/descriptors/index.d.ts +6 -7
  349. package/sdk/dist/descriptors/index.d.ts.map +1 -1
  350. package/sdk/dist/descriptors/index.js +2 -2
  351. package/sdk/dist/descriptors/index.js.map +1 -1
  352. package/sdk/dist/descriptors/links.d.ts +23 -214
  353. package/sdk/dist/descriptors/links.d.ts.map +1 -1
  354. package/sdk/dist/descriptors/links.js +1 -232
  355. package/sdk/dist/descriptors/links.js.map +1 -1
  356. package/sdk/dist/descriptors/query.d.ts +1 -1
  357. package/sdk/dist/descriptors/query.d.ts.map +1 -1
  358. package/sdk/dist/descriptors/query.js +1 -1
  359. package/sdk/dist/descriptors/query.js.map +1 -1
  360. package/sdk/dist/descriptors/registry.d.ts +2 -5
  361. package/sdk/dist/descriptors/registry.d.ts.map +1 -1
  362. package/sdk/dist/descriptors/registry.js +11 -66
  363. package/sdk/dist/descriptors/registry.js.map +1 -1
  364. package/sdk/dist/embedded/resolve.d.ts +4 -4
  365. package/sdk/dist/embedded/resolve.d.ts.map +1 -1
  366. package/sdk/dist/embedded/resolve.js +12 -8
  367. package/sdk/dist/embedded/resolve.js.map +1 -1
  368. package/sdk/dist/embedded/skills.generated.d.ts +1 -1
  369. package/sdk/dist/embedded/skills.generated.d.ts.map +1 -1
  370. package/sdk/dist/embedded/skills.generated.js +137 -136
  371. package/sdk/dist/embedded/skills.generated.js.map +1 -1
  372. package/sdk/dist/embedded/sources.generated.d.ts.map +1 -1
  373. package/sdk/dist/embedded/sources.generated.js +40 -6
  374. package/sdk/dist/embedded/sources.generated.js.map +1 -1
  375. package/sdk/dist/evm/engine.d.ts +813 -10
  376. package/sdk/dist/evm/engine.d.ts.map +1 -1
  377. package/sdk/dist/evm/engine.js +127 -8
  378. package/sdk/dist/evm/engine.js.map +1 -1
  379. package/sdk/dist/index.d.ts +3 -2
  380. package/sdk/dist/index.d.ts.map +1 -1
  381. package/sdk/dist/index.js +6 -2
  382. package/sdk/dist/index.js.map +1 -1
  383. package/sdk/dist/price.d.ts +40 -0
  384. package/sdk/dist/price.d.ts.map +1 -0
  385. package/sdk/dist/price.js +101 -0
  386. package/sdk/dist/price.js.map +1 -0
  387. package/sdk/dist/protocols/aerodrome/abis.d.ts +76 -0
  388. package/sdk/dist/protocols/aerodrome/abis.d.ts.map +1 -1
  389. package/sdk/dist/protocols/aerodrome/abis.js +61 -0
  390. package/sdk/dist/protocols/aerodrome/abis.js.map +1 -1
  391. package/sdk/dist/protocols/aerodrome-slipstream/abis.d.ts +70 -0
  392. package/sdk/dist/protocols/aerodrome-slipstream/abis.d.ts.map +1 -1
  393. package/sdk/dist/protocols/aerodrome-slipstream/abis.js +54 -0
  394. package/sdk/dist/protocols/aerodrome-slipstream/abis.js.map +1 -1
  395. package/sdk/dist/protocols/camelot/abis.d.ts +178 -0
  396. package/sdk/dist/protocols/camelot/abis.d.ts.map +1 -1
  397. package/sdk/dist/protocols/camelot/abis.js +139 -0
  398. package/sdk/dist/protocols/camelot/abis.js.map +1 -1
  399. package/sdk/dist/protocols/eco-routes/abis.d.ts +792 -50
  400. package/sdk/dist/protocols/eco-routes/abis.d.ts.map +1 -1
  401. package/sdk/dist/protocols/eco-routes/abis.js +1058 -49
  402. package/sdk/dist/protocols/eco-routes/abis.js.map +1 -1
  403. package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts +44 -61
  404. package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts.map +1 -1
  405. package/sdk/dist/protocols/eco-routes/addresses.generated.js +45 -62
  406. package/sdk/dist/protocols/eco-routes/addresses.generated.js.map +1 -1
  407. package/sdk/dist/protocols/eco-routes/lookup.d.ts +10 -0
  408. package/sdk/dist/protocols/eco-routes/lookup.d.ts.map +1 -1
  409. package/sdk/dist/protocols/eco-routes/lookup.js +16 -0
  410. package/sdk/dist/protocols/eco-routes/lookup.js.map +1 -1
  411. package/sdk/dist/protocols/maverick/abis.d.ts +77 -0
  412. package/sdk/dist/protocols/maverick/abis.d.ts.map +1 -1
  413. package/sdk/dist/protocols/maverick/abis.js +58 -0
  414. package/sdk/dist/protocols/maverick/abis.js.map +1 -1
  415. package/sdk/dist/protocols/maverick/addresses.d.ts.map +1 -1
  416. package/sdk/dist/protocols/maverick/addresses.js +4 -0
  417. package/sdk/dist/protocols/maverick/addresses.js.map +1 -1
  418. package/sdk/dist/protocols/pancakeswap-v2/abis.d.ts +52 -0
  419. package/sdk/dist/protocols/pancakeswap-v2/abis.d.ts.map +1 -1
  420. package/sdk/dist/protocols/pancakeswap-v2/abis.js +43 -0
  421. package/sdk/dist/protocols/pancakeswap-v2/abis.js.map +1 -1
  422. package/sdk/dist/protocols/pancakeswap-v3/abis.d.ts +73 -0
  423. package/sdk/dist/protocols/pancakeswap-v3/abis.d.ts.map +1 -1
  424. package/sdk/dist/protocols/pancakeswap-v3/abis.js +56 -0
  425. package/sdk/dist/protocols/pancakeswap-v3/abis.js.map +1 -1
  426. package/sdk/dist/protocols/permit2/abis.d.ts +113 -0
  427. package/sdk/dist/protocols/permit2/abis.d.ts.map +1 -1
  428. package/sdk/dist/protocols/permit2/abis.js +63 -0
  429. package/sdk/dist/protocols/permit2/abis.js.map +1 -1
  430. package/sdk/dist/protocols/quickswap/abis.d.ts +148 -0
  431. package/sdk/dist/protocols/quickswap/abis.d.ts.map +1 -1
  432. package/sdk/dist/protocols/quickswap/abis.js +119 -0
  433. package/sdk/dist/protocols/quickswap/abis.js.map +1 -1
  434. package/sdk/dist/protocols/sushiswap-v2/abis.d.ts +52 -0
  435. package/sdk/dist/protocols/sushiswap-v2/abis.d.ts.map +1 -1
  436. package/sdk/dist/protocols/sushiswap-v2/abis.js +42 -0
  437. package/sdk/dist/protocols/sushiswap-v2/abis.js.map +1 -1
  438. package/sdk/dist/protocols/synthra-v3/abis.d.ts +73 -0
  439. package/sdk/dist/protocols/synthra-v3/abis.d.ts.map +1 -1
  440. package/sdk/dist/protocols/synthra-v3/abis.js +55 -0
  441. package/sdk/dist/protocols/synthra-v3/abis.js.map +1 -1
  442. package/sdk/dist/protocols/trader-joe/abis.d.ts +133 -0
  443. package/sdk/dist/protocols/trader-joe/abis.d.ts.map +1 -1
  444. package/sdk/dist/protocols/trader-joe/abis.js +101 -0
  445. package/sdk/dist/protocols/trader-joe/abis.js.map +1 -1
  446. package/sdk/dist/protocols/trader-joe/addresses.d.ts.map +1 -1
  447. package/sdk/dist/protocols/trader-joe/addresses.js +5 -0
  448. package/sdk/dist/protocols/trader-joe/addresses.js.map +1 -1
  449. package/sdk/dist/protocols/uniswap-v2/abis.d.ts +52 -0
  450. package/sdk/dist/protocols/uniswap-v2/abis.d.ts.map +1 -1
  451. package/sdk/dist/protocols/uniswap-v2/abis.js +44 -0
  452. package/sdk/dist/protocols/uniswap-v2/abis.js.map +1 -1
  453. package/sdk/dist/protocols/uniswap-v3/abis.d.ts +73 -0
  454. package/sdk/dist/protocols/uniswap-v3/abis.d.ts.map +1 -1
  455. package/sdk/dist/protocols/uniswap-v3/abis.js +55 -0
  456. package/sdk/dist/protocols/uniswap-v3/abis.js.map +1 -1
  457. package/sdk/dist/protocols/uniswap-v4/abis.d.ts +247 -0
  458. package/sdk/dist/protocols/uniswap-v4/abis.d.ts.map +1 -1
  459. package/sdk/dist/protocols/uniswap-v4/abis.js +167 -0
  460. package/sdk/dist/protocols/uniswap-v4/abis.js.map +1 -1
  461. package/sdk/dist/protocols/uniswap-v4/addresses.d.ts.map +1 -1
  462. package/sdk/dist/protocols/uniswap-v4/addresses.js +50 -0
  463. package/sdk/dist/protocols/uniswap-v4/addresses.js.map +1 -1
  464. package/sdk/dist/protocols/unitflow-v3/abis.d.ts +73 -0
  465. package/sdk/dist/protocols/unitflow-v3/abis.d.ts.map +1 -1
  466. package/sdk/dist/protocols/unitflow-v3/abis.js +56 -0
  467. package/sdk/dist/protocols/unitflow-v3/abis.js.map +1 -1
  468. package/sdk/dist/protocols/velodrome/abis.d.ts +76 -0
  469. package/sdk/dist/protocols/velodrome/abis.d.ts.map +1 -1
  470. package/sdk/dist/protocols/velodrome/abis.js +61 -0
  471. package/sdk/dist/protocols/velodrome/abis.js.map +1 -1
  472. package/sdk/dist/recipes/cctp-split.sauce.ts +2 -2
  473. package/sdk/dist/recipes/plain-transfer.sauce.ts +2 -2
  474. package/sdk/dist/routes/accessor-index.d.ts +2 -2
  475. package/sdk/dist/routes/accessor-index.d.ts.map +1 -1
  476. package/sdk/dist/routes/accessor-index.js +4 -3
  477. package/sdk/dist/routes/accessor-index.js.map +1 -1
  478. package/sdk/dist/routes/ambient.d.ts +5 -0
  479. package/sdk/dist/routes/ambient.d.ts.map +1 -1
  480. package/sdk/dist/routes/ambient.js +20 -0
  481. package/sdk/dist/routes/ambient.js.map +1 -1
  482. package/sdk/dist/routes/ast-walk.d.ts +17 -3
  483. package/sdk/dist/routes/ast-walk.d.ts.map +1 -1
  484. package/sdk/dist/routes/ast-walk.js +24 -2
  485. package/sdk/dist/routes/ast-walk.js.map +1 -1
  486. package/sdk/dist/routes/available.d.ts +43 -0
  487. package/sdk/dist/routes/available.d.ts.map +1 -0
  488. package/sdk/dist/routes/available.js +230 -0
  489. package/sdk/dist/routes/available.js.map +1 -0
  490. package/sdk/dist/routes/builtins.generated.d.ts +180 -0
  491. package/sdk/dist/routes/builtins.generated.d.ts.map +1 -0
  492. package/sdk/dist/routes/builtins.generated.js +2 -0
  493. package/sdk/dist/routes/builtins.generated.js.map +1 -0
  494. package/sdk/dist/routes/chain-exports.generated.d.ts +13 -8
  495. package/sdk/dist/routes/chain-exports.generated.d.ts.map +1 -1
  496. package/sdk/dist/routes/chain-exports.generated.js.map +1 -1
  497. package/sdk/dist/routes/closure.d.ts.map +1 -1
  498. package/sdk/dist/routes/closure.js +13 -26
  499. package/sdk/dist/routes/closure.js.map +1 -1
  500. package/sdk/dist/routes/composed.d.ts.map +1 -1
  501. package/sdk/dist/routes/composed.js +20 -8
  502. package/sdk/dist/routes/composed.js.map +1 -1
  503. package/sdk/dist/routes/encode.d.ts +17 -0
  504. package/sdk/dist/routes/encode.d.ts.map +1 -1
  505. package/sdk/dist/routes/encode.js +14 -11
  506. package/sdk/dist/routes/encode.js.map +1 -1
  507. package/sdk/dist/routes/entry.d.ts +76 -0
  508. package/sdk/dist/routes/entry.d.ts.map +1 -0
  509. package/sdk/dist/routes/entry.js +478 -0
  510. package/sdk/dist/routes/entry.js.map +1 -0
  511. package/sdk/dist/routes/index.d.ts +19 -12
  512. package/sdk/dist/routes/index.d.ts.map +1 -1
  513. package/sdk/dist/routes/index.js +11 -8
  514. package/sdk/dist/routes/index.js.map +1 -1
  515. package/sdk/dist/routes/intent-body.d.ts +97 -0
  516. package/sdk/dist/routes/intent-body.d.ts.map +1 -0
  517. package/sdk/dist/routes/intent-body.js +441 -0
  518. package/sdk/dist/routes/intent-body.js.map +1 -0
  519. package/sdk/dist/routes/intent-dsl.d.ts +21 -6
  520. package/sdk/dist/routes/intent-dsl.d.ts.map +1 -1
  521. package/sdk/dist/routes/intent-dsl.js +34 -17
  522. package/sdk/dist/routes/intent-dsl.js.map +1 -1
  523. package/sdk/dist/routes/intent-sugar.d.ts +77 -4
  524. package/sdk/dist/routes/intent-sugar.d.ts.map +1 -1
  525. package/sdk/dist/routes/intent-sugar.js +318 -129
  526. package/sdk/dist/routes/intent-sugar.js.map +1 -1
  527. package/sdk/dist/routes/intent.d.ts +13 -1
  528. package/sdk/dist/routes/intent.d.ts.map +1 -1
  529. package/sdk/dist/routes/intent.js +37 -1
  530. package/sdk/dist/routes/intent.js.map +1 -1
  531. package/sdk/dist/routes/nest.d.ts +3 -2
  532. package/sdk/dist/routes/nest.d.ts.map +1 -1
  533. package/sdk/dist/routes/nest.js +5 -3
  534. package/sdk/dist/routes/nest.js.map +1 -1
  535. package/sdk/dist/routes/parse.d.ts +6 -0
  536. package/sdk/dist/routes/parse.d.ts.map +1 -0
  537. package/sdk/dist/routes/parse.js +39 -0
  538. package/sdk/dist/routes/parse.js.map +1 -0
  539. package/sdk/dist/routes/portal.d.ts +258 -4
  540. package/sdk/dist/routes/portal.d.ts.map +1 -1
  541. package/sdk/dist/routes/portal.js +588 -9
  542. package/sdk/dist/routes/portal.js.map +1 -1
  543. package/sdk/dist/routes/protocol-rewrite.d.ts +71 -1
  544. package/sdk/dist/routes/protocol-rewrite.d.ts.map +1 -1
  545. package/sdk/dist/routes/protocol-rewrite.js +178 -54
  546. package/sdk/dist/routes/protocol-rewrite.js.map +1 -1
  547. package/sdk/dist/routes/rs-compile.d.ts +25 -22
  548. package/sdk/dist/routes/rs-compile.d.ts.map +1 -1
  549. package/sdk/dist/routes/rs-compile.js +55 -49
  550. package/sdk/dist/routes/rs-compile.js.map +1 -1
  551. package/sdk/dist/routes/sauce-calls.d.ts +26 -12
  552. package/sdk/dist/routes/sauce-calls.d.ts.map +1 -1
  553. package/sdk/dist/routes/sauce-calls.js +16 -23
  554. package/sdk/dist/routes/sauce-calls.js.map +1 -1
  555. package/sdk/dist/routes/sauce-route.d.ts +74 -7
  556. package/sdk/dist/routes/sauce-route.d.ts.map +1 -1
  557. package/sdk/dist/routes/sauce-route.js +225 -75
  558. package/sdk/dist/routes/sauce-route.js.map +1 -1
  559. package/sdk/dist/routes/source-globals.d.ts +107 -0
  560. package/sdk/dist/routes/source-globals.d.ts.map +1 -0
  561. package/sdk/dist/routes/source-globals.generated.d.ts +5523 -933
  562. package/sdk/dist/routes/source-globals.generated.d.ts.map +1 -1
  563. package/sdk/dist/routes/source-globals.generated.js +3 -4
  564. package/sdk/dist/routes/source-globals.generated.js.map +1 -1
  565. package/sdk/dist/routes/source-globals.js +174 -0
  566. package/sdk/dist/routes/source-globals.js.map +1 -0
  567. package/sdk/dist/routes/stock-tokens.d.ts +69 -0
  568. package/sdk/dist/routes/stock-tokens.d.ts.map +1 -0
  569. package/sdk/dist/routes/stock-tokens.generated.d.ts +4 -0
  570. package/sdk/dist/routes/stock-tokens.generated.d.ts.map +1 -0
  571. package/sdk/dist/routes/stock-tokens.generated.js +1836 -0
  572. package/sdk/dist/routes/stock-tokens.generated.js.map +1 -0
  573. package/sdk/dist/routes/stock-tokens.js +65 -0
  574. package/sdk/dist/routes/stock-tokens.js.map +1 -0
  575. package/sdk/dist/routes/token-registry.d.ts +64 -8
  576. package/sdk/dist/routes/token-registry.d.ts.map +1 -1
  577. package/sdk/dist/routes/token-registry.js +202 -32
  578. package/sdk/dist/routes/token-registry.js.map +1 -1
  579. package/sdk/dist/routes/token-rewrite.d.ts +1 -1
  580. package/sdk/dist/routes/token-rewrite.d.ts.map +1 -1
  581. package/sdk/dist/routes/token-rewrite.js +5 -9
  582. package/sdk/dist/routes/token-rewrite.js.map +1 -1
  583. package/sdk/dist/routes/unknown-global.d.ts +32 -0
  584. package/sdk/dist/routes/unknown-global.d.ts.map +1 -0
  585. package/sdk/dist/routes/unknown-global.js +106 -0
  586. package/sdk/dist/routes/unknown-global.js.map +1 -0
  587. package/sdk/dist/routes/vault.d.ts +38 -8
  588. package/sdk/dist/routes/vault.d.ts.map +1 -1
  589. package/sdk/dist/routes/vault.js +47 -8
  590. package/sdk/dist/routes/vault.js.map +1 -1
  591. package/sdk/dist/sauce-script/builtins.d.ts +309 -0
  592. package/sdk/dist/sauce-script/declarations.d.ts +3 -0
  593. package/sdk/dist/sauce-script/declarations.d.ts.map +1 -0
  594. package/sdk/dist/sauce-script/declarations.js +229 -0
  595. package/sdk/dist/sauce-script/declarations.js.map +1 -0
  596. package/sdk/dist/sauce-script/index.d.ts +2714 -0
  597. package/sdk/dist/sauce-script/ts-plugin.cjs +85 -0
  598. package/sdk/dist/skills/loader.d.ts.map +1 -1
  599. package/sdk/dist/skills/loader.js +4 -3
  600. package/sdk/dist/skills/loader.js.map +1 -1
  601. package/sdk/dist/std/router/balancer-v2-vault.abi.json +78 -0
  602. package/sdk/dist/std/router/curve-cryptoswap.abi.json +29 -0
  603. package/sdk/dist/std/router/curve-stableswap.abi.json +29 -0
  604. package/sdk/dist/std/router/dodo-v2-pool.abi.json +39 -0
  605. package/sdk/dist/std/router/lb-pair.abi.json +55 -0
  606. package/sdk/dist/std/router/package.json +7 -0
  607. package/sdk/dist/std/router/router.evm.js +567 -0
  608. package/sdk/dist/std/router/sauce-router.abi.json +202 -0
  609. package/sdk/dist/std/router/uniswap-v2-pair.abi.json +49 -0
  610. package/sdk/dist/std/router/woo-pp-v2.abi.json +42 -0
  611. package/sdk/dist/std/token/permit2.abi.json +226 -0
  612. package/sdk/dist/std/token/token.evm.js +73 -0
  613. package/sdk/dist/std/token/token.svm.js +194 -41
  614. package/sdk/dist/svm/client.d.ts +62 -15
  615. package/sdk/dist/svm/client.d.ts.map +1 -1
  616. package/sdk/dist/svm/client.js +103 -42
  617. package/sdk/dist/svm/client.js.map +1 -1
  618. package/sdk/dist/svm/engine.d.ts +66 -5
  619. package/sdk/dist/svm/engine.d.ts.map +1 -1
  620. package/sdk/dist/svm/engine.js +73 -5
  621. package/sdk/dist/svm/engine.js.map +1 -1
  622. package/sdk/dist/svm/index.d.ts +2 -0
  623. package/sdk/dist/svm/index.d.ts.map +1 -1
  624. package/sdk/dist/svm/index.js +2 -0
  625. package/sdk/dist/svm/index.js.map +1 -1
  626. package/sdk/dist/svm/instructions.d.ts +72 -1
  627. package/sdk/dist/svm/instructions.d.ts.map +1 -1
  628. package/sdk/dist/svm/instructions.js +81 -2
  629. package/sdk/dist/svm/instructions.js.map +1 -1
  630. package/sdk/dist/svm/kitchen.d.ts +20 -1
  631. package/sdk/dist/svm/kitchen.d.ts.map +1 -1
  632. package/sdk/dist/svm/kitchen.js +47 -1
  633. package/sdk/dist/svm/kitchen.js.map +1 -1
  634. package/sdk/dist/svm/portal.d.ts +250 -0
  635. package/sdk/dist/svm/portal.d.ts.map +1 -0
  636. package/sdk/dist/svm/portal.js +462 -0
  637. package/sdk/dist/svm/portal.js.map +1 -0
  638. package/sdk/dist/svm/send.d.ts +18 -2
  639. package/sdk/dist/svm/send.d.ts.map +1 -1
  640. package/sdk/dist/svm/send.js +28 -3
  641. package/sdk/dist/svm/send.js.map +1 -1
  642. package/sdk/dist/svm/token-accounts.d.ts +49 -0
  643. package/sdk/dist/svm/token-accounts.d.ts.map +1 -0
  644. package/sdk/dist/svm/token-accounts.js +58 -0
  645. package/sdk/dist/svm/token-accounts.js.map +1 -0
  646. package/sdk/dist/svm/token-extensions.d.ts +18 -7
  647. package/sdk/dist/svm/token-extensions.d.ts.map +1 -1
  648. package/sdk/dist/svm/token-extensions.js +58 -5
  649. package/sdk/dist/svm/token-extensions.js.map +1 -1
  650. package/sdk/dist/token/evm.js +1 -1
  651. package/sdk/dist/token/index.d.ts +1 -1
  652. package/sdk/dist/token/index.js +1 -1
  653. package/sdk/dist/token/params.js +1 -1
  654. package/sdk/dist/token/source.js +3 -3
  655. package/sdk/dist/token/source.js.map +1 -1
  656. package/sdk/dist/token/types.d.ts +2 -2
  657. package/sdk/dist/token/types.js +2 -2
  658. package/sdk/src/protocols/aerodrome/AerodromePoolABI.json +105 -0
  659. package/sdk/src/protocols/aerodrome/abis.ts +62 -0
  660. package/sdk/src/protocols/aerodrome-slipstream/AerodromeSlipstreamPoolABI.json +96 -0
  661. package/sdk/src/protocols/aerodrome-slipstream/abis.ts +55 -0
  662. package/sdk/src/protocols/camelot/CamelotV2FactoryABI.json +25 -0
  663. package/sdk/src/protocols/camelot/CamelotV2PairABI.json +109 -0
  664. package/sdk/src/protocols/camelot/CamelotV3FactoryABI.json +25 -0
  665. package/sdk/src/protocols/camelot/CamelotV3PoolABI.json +92 -0
  666. package/sdk/src/protocols/camelot/abis.ts +143 -0
  667. package/sdk/src/protocols/eco-routes/PortalABI.json +1448 -0
  668. package/sdk/src/protocols/eco-routes/ProverABI.json +162 -0
  669. package/sdk/src/protocols/eco-routes/abis.ts +1060 -51
  670. package/sdk/src/protocols/eco-routes/addresses.generated.ts +45 -62
  671. package/sdk/src/protocols/eco-routes/lookup.ts +18 -0
  672. package/sdk/src/protocols/maverick/MaverickV2PoolABI.json +107 -0
  673. package/sdk/src/protocols/maverick/abis.ts +59 -0
  674. package/sdk/src/protocols/maverick/addresses.ts +4 -0
  675. package/sdk/src/protocols/pancakeswap-v2/PancakeSwapV2PairABI.json +72 -0
  676. package/sdk/src/protocols/pancakeswap-v2/abis.ts +44 -0
  677. package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3PoolABI.json +100 -0
  678. package/sdk/src/protocols/pancakeswap-v3/abis.ts +57 -0
  679. package/sdk/src/protocols/permit2/Permit2ABI.json +154 -0
  680. package/sdk/src/protocols/permit2/abis.ts +63 -0
  681. package/sdk/src/protocols/quickswap/QuickSwapV2FactoryABI.json +25 -0
  682. package/sdk/src/protocols/quickswap/QuickSwapV2PairABI.json +72 -0
  683. package/sdk/src/protocols/quickswap/QuickSwapV3FactoryABI.json +25 -0
  684. package/sdk/src/protocols/quickswap/QuickSwapV3PoolABI.json +88 -0
  685. package/sdk/src/protocols/quickswap/abis.ts +123 -0
  686. package/sdk/src/protocols/sushiswap-v2/SushiSwapV2PairABI.json +72 -0
  687. package/sdk/src/protocols/sushiswap-v2/abis.ts +43 -0
  688. package/sdk/src/protocols/synthra-v3/SynthraV3PoolABI.json +100 -0
  689. package/sdk/src/protocols/synthra-v3/abis.ts +56 -0
  690. package/sdk/src/protocols/trader-joe/LBPairABI.json +185 -0
  691. package/sdk/src/protocols/trader-joe/abis.ts +102 -0
  692. package/sdk/src/protocols/trader-joe/addresses.ts +5 -0
  693. package/sdk/src/protocols/uniswap-v2/UniswapV2PairABI.json +72 -0
  694. package/sdk/src/protocols/uniswap-v2/abis.ts +45 -0
  695. package/sdk/src/protocols/uniswap-v3/UniswapV3PoolABI.json +100 -0
  696. package/sdk/src/protocols/uniswap-v3/abis.ts +56 -0
  697. package/sdk/src/protocols/uniswap-v4/UniswapV4PoolManagerABI.json +38 -0
  698. package/sdk/src/protocols/uniswap-v4/UniswapV4StateViewABI.json +307 -0
  699. package/sdk/src/protocols/uniswap-v4/abis.ts +168 -0
  700. package/sdk/src/protocols/uniswap-v4/addresses.ts +50 -0
  701. package/sdk/src/protocols/unitflow-v3/UnitFlowV3PoolABI.json +100 -0
  702. package/sdk/src/protocols/unitflow-v3/abis.ts +57 -0
  703. package/sdk/src/protocols/velodrome/VelodromePoolABI.json +105 -0
  704. package/sdk/src/protocols/velodrome/abis.ts +62 -0
  705. package/skills/sauce-actions/SKILL.md +166 -0
  706. package/skills/sauce-actions/examples/swap-and-supply.json +24 -0
  707. package/skills/sauce-actions/examples/swap-by-key.json +15 -0
  708. package/skills/sauce-actions/references/actions.md +731 -0
  709. package/skills/sauce-chains/SKILL.md +137 -0
  710. package/skills/sauce-chains/examples/chains.sauce.ts +25 -0
  711. package/skills/sauce-chains/references/arbitrum.md +158 -0
  712. package/skills/sauce-chains/references/arc.md +107 -0
  713. package/skills/sauce-chains/references/aurora.md +33 -0
  714. package/skills/sauce-chains/references/avalanche.md +106 -0
  715. package/skills/sauce-chains/references/base-stocks.md +77 -0
  716. package/skills/sauce-chains/references/base.md +141 -0
  717. package/skills/sauce-chains/references/berachain.md +33 -0
  718. package/skills/sauce-chains/references/blast.md +60 -0
  719. package/skills/sauce-chains/references/boba.md +33 -0
  720. package/skills/sauce-chains/references/bsc.md +97 -0
  721. package/skills/sauce-chains/references/celo.md +57 -0
  722. package/skills/sauce-chains/references/core.md +33 -0
  723. package/skills/sauce-chains/references/cronos.md +33 -0
  724. package/skills/sauce-chains/references/ethereum-stocks.md +1741 -0
  725. package/skills/sauce-chains/references/ethereum.md +255 -0
  726. package/skills/sauce-chains/references/evmos.md +33 -0
  727. package/skills/sauce-chains/references/fantom.md +61 -0
  728. package/skills/sauce-chains/references/fuse.md +33 -0
  729. package/skills/sauce-chains/references/gnosis.md +57 -0
  730. package/skills/sauce-chains/references/index.md +58 -0
  731. package/skills/sauce-chains/references/ink.md +55 -0
  732. package/skills/sauce-chains/references/kava.md +33 -0
  733. package/skills/sauce-chains/references/klaytn.md +33 -0
  734. package/skills/sauce-chains/references/linea.md +65 -0
  735. package/skills/sauce-chains/references/manta.md +33 -0
  736. package/skills/sauce-chains/references/mantle.md +33 -0
  737. package/skills/sauce-chains/references/metis.md +54 -0
  738. package/skills/sauce-chains/references/mode.md +55 -0
  739. package/skills/sauce-chains/references/monad.md +79 -0
  740. package/skills/sauce-chains/references/moonbeam.md +33 -0
  741. package/skills/sauce-chains/references/opbnb.md +55 -0
  742. package/skills/sauce-chains/references/optimism.md +123 -0
  743. package/skills/sauce-chains/references/plasma.md +35 -0
  744. package/skills/sauce-chains/references/polygon.md +123 -0
  745. package/skills/sauce-chains/references/pulsechain.md +33 -0
  746. package/skills/sauce-chains/references/ronin.md +35 -0
  747. package/skills/sauce-chains/references/scroll.md +62 -0
  748. package/skills/sauce-chains/references/sei.md +55 -0
  749. package/skills/sauce-chains/references/solana.md +53 -0
  750. package/skills/sauce-chains/references/sonic.md +57 -0
  751. package/skills/sauce-chains/references/unichain.md +61 -0
  752. package/skills/sauce-chains/references/zetachain.md +33 -0
  753. package/skills/sauce-chains/references/zksync.md +59 -0
  754. package/skills/sauce-chains/references/zora.md +57 -0
  755. package/skills/sauce-cli/SKILL.md +366 -0
  756. package/skills/sauce-cli/examples/pay.sauce.ts +23 -0
  757. package/skills/sauce-cli/examples/split.sauce.ts +30 -0
  758. package/skills/sauce-distributed-swap/SKILL.md +392 -0
  759. package/skills/sauce-distributed-swap/examples/distributed-swap.mts +251 -0
  760. package/skills/sauce-distributed-swap/examples/distributed-swap.sauce.ts +115 -0
  761. package/skills/sauce-examples/SKILL.md +96 -0
  762. package/skills/sauce-globals/SKILL.md +175 -0
  763. package/skills/sauce-globals/examples/globals.mts +111 -0
  764. package/skills/sauce-globals/examples/globals.sauce.ts +47 -0
  765. package/skills/sauce-globals/references/chains.md +53 -0
  766. package/skills/sauce-globals/references/protocols.md +405 -0
  767. package/skills/sauce-globals/references/stocks.md +1824 -0
  768. package/skills/sauce-globals/references/tokens.md +53 -0
  769. package/skills/sauce-intents/SKILL.md +505 -0
  770. package/skills/sauce-intents/examples/cross-chain.sauce.ts +37 -0
  771. package/skills/sauce-intents/examples/fund-by-transfer.sauce.ts +54 -0
  772. package/skills/sauce-intents/examples/intents.mts +343 -0
  773. package/skills/sauce-intents/examples/swap-on-base.sauce.ts +135 -0
  774. package/skills/sauce-intents/references/portal.md +77 -0
  775. package/skills/sauce-overview/SKILL.md +161 -0
  776. package/skills/sauce-protocols/SKILL.md +118 -0
  777. package/skills/sauce-protocols/examples/protocols.mts +77 -0
  778. package/skills/sauce-protocols/examples/protocols.sauce.ts +27 -0
  779. package/{sdk/src/skills → skills/sauce-protocols/references}/aave-v2.md +35 -17
  780. package/skills/sauce-protocols/references/aave-v3.md +144 -0
  781. package/skills/sauce-protocols/references/aave-v4.md +50 -0
  782. package/skills/sauce-protocols/references/abracadabra.md +72 -0
  783. package/skills/sauce-protocols/references/across.md +73 -0
  784. package/skills/sauce-protocols/references/aerodrome-slipstream.md +50 -0
  785. package/{sdk/src/skills → skills/sauce-protocols/references}/aerodrome.md +43 -24
  786. package/skills/sauce-protocols/references/aevo.md +49 -0
  787. package/{sdk/src/skills → skills/sauce-protocols/references}/alchemix.md +10 -25
  788. package/{sdk/src/skills → skills/sauce-protocols/references}/ambient.md +14 -21
  789. package/{sdk/src/skills → skills/sauce-protocols/references}/arbitrum-bridge.md +11 -14
  790. package/{sdk/src/skills → skills/sauce-protocols/references}/arrakis.md +10 -26
  791. package/skills/sauce-protocols/references/axelar.md +56 -0
  792. package/{sdk/src/skills → skills/sauce-protocols/references}/balancer-v2.md +13 -29
  793. package/{sdk/src/skills → skills/sauce-protocols/references}/base-bridge.md +11 -16
  794. package/{sdk/src/skills → skills/sauce-protocols/references}/baseswap.md +12 -19
  795. package/{sdk/src/skills → skills/sauce-protocols/references}/beefy.md +10 -30
  796. package/{sdk/src/skills → skills/sauce-protocols/references}/benqi.md +11 -21
  797. package/{sdk/src/skills → skills/sauce-protocols/references}/camelot.md +13 -27
  798. package/{sdk/src/skills → skills/sauce-protocols/references}/cbeth.md +10 -22
  799. package/skills/sauce-protocols/references/cctp.md +47 -0
  800. package/{sdk/src/skills → skills/sauce-protocols/references}/celer.md +11 -18
  801. package/{sdk/src/skills → skills/sauce-protocols/references}/chainlink-ccip.md +11 -21
  802. package/skills/sauce-protocols/references/chainlink.md +47 -0
  803. package/{sdk/src/skills → skills/sauce-protocols/references}/circle-gateway.md +12 -38
  804. package/{sdk/src/skills → skills/sauce-protocols/references}/compound-v2.md +11 -25
  805. package/{sdk/src/skills → skills/sauce-protocols/references}/compound-v3.md +43 -27
  806. package/{sdk/src/skills → skills/sauce-protocols/references}/connext.md +11 -15
  807. package/{sdk/src/skills → skills/sauce-protocols/references}/convex.md +10 -28
  808. package/{sdk/src/skills → skills/sauce-protocols/references}/cowswap.md +12 -19
  809. package/{sdk/src/skills → skills/sauce-protocols/references}/crvusd.md +10 -19
  810. package/skills/sauce-protocols/references/curve.md +98 -0
  811. package/{sdk/src/skills → skills/sauce-protocols/references}/debridge.md +11 -33
  812. package/{sdk/src/skills → skills/sauce-protocols/references}/dodo.md +13 -18
  813. package/skills/sauce-protocols/references/eigenlayer.md +48 -0
  814. package/{sdk/src/skills → skills/sauce-protocols/references}/ens.md +10 -26
  815. package/{sdk/src/skills → skills/sauce-protocols/references}/erc20.md +10 -24
  816. package/{sdk/src/skills → skills/sauce-protocols/references}/erc3156.md +10 -13
  817. package/{sdk/src/skills → skills/sauce-protocols/references}/erc4626.md +11 -27
  818. package/{sdk/src/skills → skills/sauce-protocols/references}/ethena.md +10 -27
  819. package/{sdk/src/skills → skills/sauce-protocols/references}/etherfi.md +10 -32
  820. package/{sdk/src/skills → skills/sauce-protocols/references}/euler-v2.md +11 -21
  821. package/{sdk/src/skills → skills/sauce-protocols/references}/fenix.md +12 -18
  822. package/{sdk/src/skills → skills/sauce-protocols/references}/fluid.md +11 -20
  823. package/{sdk/src/skills → skills/sauce-protocols/references}/frax-ether.md +10 -26
  824. package/{sdk/src/skills → skills/sauce-protocols/references}/frax.md +10 -19
  825. package/{sdk/src/skills → skills/sauce-protocols/references}/gains-network.md +11 -28
  826. package/skills/sauce-protocols/references/gamma.md +57 -0
  827. package/{sdk/src/skills → skills/sauce-protocols/references}/gelato.md +12 -20
  828. package/{sdk/src/skills → skills/sauce-protocols/references}/gho.md +10 -19
  829. package/{sdk/src/skills → skills/sauce-protocols/references}/gmx-v1.md +12 -34
  830. package/{sdk/src/skills → skills/sauce-protocols/references}/gmx-v2.md +15 -28
  831. package/skills/sauce-protocols/references/harvest.md +41 -0
  832. package/{sdk/src/skills → skills/sauce-protocols/references}/hegic.md +10 -18
  833. package/{sdk/src/skills → skills/sauce-protocols/references}/hop.md +11 -21
  834. package/{sdk/src/skills → skills/sauce-protocols/references}/hyperlane.md +11 -21
  835. package/skills/sauce-protocols/references/index.md +355 -0
  836. package/{sdk/src/skills → skills/sauce-protocols/references}/instadapp.md +10 -18
  837. package/skills/sauce-protocols/references/kelp.md +46 -0
  838. package/{sdk/src/skills → skills/sauce-protocols/references}/kim.md +12 -18
  839. package/{sdk/src/skills → skills/sauce-protocols/references}/kyberswap-aggregator.md +12 -35
  840. package/skills/sauce-protocols/references/kyberswap.md +72 -0
  841. package/{sdk/src/skills → skills/sauce-protocols/references}/layerbank.md +11 -26
  842. package/{sdk/src/skills → skills/sauce-protocols/references}/layerzero.md +11 -25
  843. package/{sdk/src/skills → skills/sauce-protocols/references}/level-finance.md +10 -24
  844. package/{sdk/src/skills → skills/sauce-protocols/references}/lido.md +10 -28
  845. package/{sdk/src/skills → skills/sauce-protocols/references}/lifi.md +11 -25
  846. package/{sdk/src/skills → skills/sauce-protocols/references}/linea-bridge.md +11 -14
  847. package/{sdk/src/skills → skills/sauce-protocols/references}/liquity-v1.md +10 -21
  848. package/{sdk/src/skills → skills/sauce-protocols/references}/liquity-v2.md +10 -19
  849. package/{sdk/src/skills → skills/sauce-protocols/references}/lynex.md +12 -18
  850. package/skills/sauce-protocols/references/maker.md +57 -0
  851. package/skills/sauce-protocols/references/mantle-meth.md +43 -0
  852. package/{sdk/src/skills → skills/sauce-protocols/references}/maverick.md +13 -25
  853. package/{sdk/src/skills → skills/sauce-protocols/references}/moonwell.md +11 -21
  854. package/{sdk/src/skills → skills/sauce-protocols/references}/morpho-blue.md +44 -21
  855. package/{sdk/src/skills → skills/sauce-protocols/references}/mux-protocol.md +10 -30
  856. package/skills/sauce-protocols/references/olympus.md +39 -0
  857. package/skills/sauce-protocols/references/oneinch.md +81 -0
  858. package/skills/sauce-protocols/references/openocean.md +69 -0
  859. package/{sdk/src/skills → skills/sauce-protocols/references}/optimism-bridge.md +11 -16
  860. package/{sdk/src/skills → skills/sauce-protocols/references}/opyn.md +10 -21
  861. package/{sdk/src/skills → skills/sauce-protocols/references}/pancakeswap-v2.md +39 -41
  862. package/skills/sauce-protocols/references/pancakeswap-v3.md +72 -0
  863. package/skills/sauce-protocols/references/paraswap.md +39 -0
  864. package/{sdk/src/skills → skills/sauce-protocols/references}/pendle.md +47 -29
  865. package/skills/sauce-protocols/references/permit2.md +101 -0
  866. package/skills/sauce-protocols/references/perpetual-protocol.md +53 -0
  867. package/{sdk/src/skills → skills/sauce-protocols/references}/polygon-bridge.md +11 -17
  868. package/{sdk/src/skills → skills/sauce-protocols/references}/premia.md +10 -19
  869. package/{sdk/src/skills → skills/sauce-protocols/references}/puffer.md +10 -21
  870. package/skills/sauce-protocols/references/pyth.md +45 -0
  871. package/{sdk/src/skills → skills/sauce-protocols/references}/quickswap.md +13 -27
  872. package/{sdk/src/skills → skills/sauce-protocols/references}/radiant.md +11 -15
  873. package/{sdk/src/skills → skills/sauce-protocols/references}/ramses.md +12 -18
  874. package/skills/sauce-protocols/references/reflexer.md +52 -0
  875. package/skills/sauce-protocols/references/registry/aave-v2.md +43 -0
  876. package/skills/sauce-protocols/references/registry/aave-v3.md +62 -0
  877. package/skills/sauce-protocols/references/registry/aave-v4.md +80 -0
  878. package/skills/sauce-protocols/references/registry/abracadabra.md +54 -0
  879. package/skills/sauce-protocols/references/registry/across.md +57 -0
  880. package/skills/sauce-protocols/references/registry/aerodrome-slipstream.md +72 -0
  881. package/skills/sauce-protocols/references/registry/aerodrome.md +58 -0
  882. package/skills/sauce-protocols/references/registry/aevo.md +39 -0
  883. package/skills/sauce-protocols/references/registry/alchemix.md +46 -0
  884. package/skills/sauce-protocols/references/registry/ambient.md +40 -0
  885. package/skills/sauce-protocols/references/registry/arbitrum-bridge.md +40 -0
  886. package/skills/sauce-protocols/references/registry/arrakis.md +49 -0
  887. package/skills/sauce-protocols/references/registry/axelar.md +65 -0
  888. package/skills/sauce-protocols/references/registry/balancer-v2.md +50 -0
  889. package/skills/sauce-protocols/references/registry/base-bridge.md +42 -0
  890. package/skills/sauce-protocols/references/registry/baseswap.md +40 -0
  891. package/skills/sauce-protocols/references/registry/beefy.md +51 -0
  892. package/skills/sauce-protocols/references/registry/benqi.md +49 -0
  893. package/skills/sauce-protocols/references/registry/camelot.md +82 -0
  894. package/skills/sauce-protocols/references/registry/cbeth.md +43 -0
  895. package/skills/sauce-protocols/references/registry/cctp.md +48 -0
  896. package/skills/sauce-protocols/references/registry/celer.md +44 -0
  897. package/skills/sauce-protocols/references/registry/chainlink-ccip.md +45 -0
  898. package/skills/sauce-protocols/references/registry/chainlink.md +49 -0
  899. package/skills/sauce-protocols/references/registry/circle-gateway.md +70 -0
  900. package/skills/sauce-protocols/references/registry/compound-v2.md +53 -0
  901. package/skills/sauce-protocols/references/registry/compound-v3.md +52 -0
  902. package/skills/sauce-protocols/references/registry/connext.md +41 -0
  903. package/skills/sauce-protocols/references/registry/convex.md +51 -0
  904. package/skills/sauce-protocols/references/registry/cowswap.md +40 -0
  905. package/skills/sauce-protocols/references/registry/crvusd.md +40 -0
  906. package/skills/sauce-protocols/references/registry/curve.md +81 -0
  907. package/skills/sauce-protocols/references/registry/debridge.md +59 -0
  908. package/skills/sauce-protocols/references/registry/dodo.md +39 -0
  909. package/skills/sauce-protocols/references/registry/eco-routes.md +65 -0
  910. package/skills/sauce-protocols/references/registry/eigenlayer.md +58 -0
  911. package/skills/sauce-protocols/references/registry/ens.md +49 -0
  912. package/skills/sauce-protocols/references/registry/erc20.md +44 -0
  913. package/skills/sauce-protocols/references/registry/erc3156.md +38 -0
  914. package/skills/sauce-protocols/references/registry/erc4626.md +51 -0
  915. package/skills/sauce-protocols/references/registry/ethena.md +50 -0
  916. package/skills/sauce-protocols/references/registry/etherfi.md +57 -0
  917. package/skills/sauce-protocols/references/registry/euler-v2.md +49 -0
  918. package/skills/sauce-protocols/references/registry/fenix.md +39 -0
  919. package/skills/sauce-protocols/references/registry/fluid.md +48 -0
  920. package/skills/sauce-protocols/references/registry/frax-ether.md +49 -0
  921. package/skills/sauce-protocols/references/registry/frax.md +40 -0
  922. package/skills/sauce-protocols/references/registry/gains-network.md +43 -0
  923. package/skills/sauce-protocols/references/registry/gamma.md +56 -0
  924. package/skills/sauce-protocols/references/registry/gelato.md +45 -0
  925. package/skills/sauce-protocols/references/registry/gho.md +40 -0
  926. package/skills/sauce-protocols/references/registry/gmx-v1.md +59 -0
  927. package/skills/sauce-protocols/references/registry/gmx-v2.md +41 -0
  928. package/skills/sauce-protocols/references/registry/harvest.md +44 -0
  929. package/skills/sauce-protocols/references/registry/hegic.md +39 -0
  930. package/skills/sauce-protocols/references/registry/hop.md +49 -0
  931. package/skills/sauce-protocols/references/registry/hyperlane.md +48 -0
  932. package/skills/sauce-protocols/references/registry/instadapp.md +39 -0
  933. package/skills/sauce-protocols/references/registry/kelp.md +47 -0
  934. package/skills/sauce-protocols/references/registry/kim.md +39 -0
  935. package/skills/sauce-protocols/references/registry/kyberswap-aggregator.md +49 -0
  936. package/skills/sauce-protocols/references/registry/kyberswap.md +63 -0
  937. package/skills/sauce-protocols/references/registry/layerbank.md +54 -0
  938. package/skills/sauce-protocols/references/registry/layerzero.md +49 -0
  939. package/skills/sauce-protocols/references/registry/level-finance.md +41 -0
  940. package/skills/sauce-protocols/references/registry/lido.md +51 -0
  941. package/skills/sauce-protocols/references/registry/lifi.md +48 -0
  942. package/skills/sauce-protocols/references/registry/linea-bridge.md +40 -0
  943. package/skills/sauce-protocols/references/registry/liquity-v1.md +42 -0
  944. package/skills/sauce-protocols/references/registry/liquity-v2.md +40 -0
  945. package/skills/sauce-protocols/references/registry/lynex.md +39 -0
  946. package/skills/sauce-protocols/references/registry/maker.md +55 -0
  947. package/skills/sauce-protocols/references/registry/mantle-meth.md +48 -0
  948. package/skills/sauce-protocols/references/registry/maverick.md +60 -0
  949. package/skills/sauce-protocols/references/registry/moonwell.md +49 -0
  950. package/skills/sauce-protocols/references/registry/morpho-blue.md +47 -0
  951. package/skills/sauce-protocols/references/registry/mux-protocol.md +49 -0
  952. package/skills/sauce-protocols/references/registry/olympus.md +42 -0
  953. package/skills/sauce-protocols/references/registry/oneinch.md +45 -0
  954. package/skills/sauce-protocols/references/registry/openocean.md +44 -0
  955. package/skills/sauce-protocols/references/registry/optimism-bridge.md +42 -0
  956. package/skills/sauce-protocols/references/registry/opyn.md +42 -0
  957. package/skills/sauce-protocols/references/registry/pancakeswap-v2.md +71 -0
  958. package/skills/sauce-protocols/references/registry/pancakeswap-v3.md +76 -0
  959. package/skills/sauce-protocols/references/registry/paraswap.md +51 -0
  960. package/skills/sauce-protocols/references/registry/pendle.md +43 -0
  961. package/skills/sauce-protocols/references/registry/permit2.md +50 -0
  962. package/skills/sauce-protocols/references/registry/perpetual-protocol.md +49 -0
  963. package/skills/sauce-protocols/references/registry/polygon-bridge.md +43 -0
  964. package/skills/sauce-protocols/references/registry/premia.md +40 -0
  965. package/skills/sauce-protocols/references/registry/puffer.md +43 -0
  966. package/skills/sauce-protocols/references/registry/pyth.md +40 -0
  967. package/skills/sauce-protocols/references/registry/quickswap.md +80 -0
  968. package/skills/sauce-protocols/references/registry/radiant.md +41 -0
  969. package/skills/sauce-protocols/references/registry/ramses.md +39 -0
  970. package/skills/sauce-protocols/references/registry/reflexer.md +56 -0
  971. package/skills/sauce-protocols/references/registry/renzo.md +47 -0
  972. package/skills/sauce-protocols/references/registry/rocket-pool.md +49 -0
  973. package/skills/sauce-protocols/references/registry/sablier.md +40 -0
  974. package/skills/sauce-protocols/references/registry/safe.md +47 -0
  975. package/skills/sauce-protocols/references/registry/scroll-bridge.md +48 -0
  976. package/skills/sauce-protocols/references/registry/seamless.md +42 -0
  977. package/skills/sauce-protocols/references/registry/seaport.md +44 -0
  978. package/skills/sauce-protocols/references/registry/silo.md +48 -0
  979. package/skills/sauce-protocols/references/registry/socket.md +44 -0
  980. package/skills/sauce-protocols/references/registry/sommelier.md +43 -0
  981. package/skills/sauce-protocols/references/registry/spark.md +42 -0
  982. package/skills/sauce-protocols/references/registry/spookyswap.md +40 -0
  983. package/skills/sauce-protocols/references/registry/squid.md +45 -0
  984. package/skills/sauce-protocols/references/registry/stader.md +47 -0
  985. package/skills/sauce-protocols/references/registry/stargate.md +45 -0
  986. package/skills/sauce-protocols/references/registry/superfluid.md +49 -0
  987. package/skills/sauce-protocols/references/registry/sushiswap-v2.md +71 -0
  988. package/skills/sauce-protocols/references/registry/swell.md +49 -0
  989. package/skills/sauce-protocols/references/registry/synapse.md +46 -0
  990. package/skills/sauce-protocols/references/registry/syncswap.md +38 -0
  991. package/skills/sauce-protocols/references/registry/synthetix-v3.md +48 -0
  992. package/skills/sauce-protocols/references/registry/synthra-v3.md +77 -0
  993. package/skills/sauce-protocols/references/registry/thales.md +51 -0
  994. package/skills/sauce-protocols/references/registry/thena.md +39 -0
  995. package/skills/sauce-protocols/references/registry/thruster.md +38 -0
  996. package/skills/sauce-protocols/references/registry/tokemak.md +45 -0
  997. package/skills/sauce-protocols/references/registry/trader-joe.md +66 -0
  998. package/skills/sauce-protocols/references/registry/uniswap-v2.md +77 -0
  999. package/skills/sauce-protocols/references/registry/uniswap-v3.md +113 -0
  1000. package/skills/sauce-protocols/references/registry/uniswap-v4.md +117 -0
  1001. package/skills/sauce-protocols/references/registry/unitflow-v3.md +65 -0
  1002. package/skills/sauce-protocols/references/registry/velodrome.md +58 -0
  1003. package/skills/sauce-protocols/references/registry/venus.md +62 -0
  1004. package/skills/sauce-protocols/references/registry/vertex.md +46 -0
  1005. package/skills/sauce-protocols/references/registry/wormhole.md +59 -0
  1006. package/skills/sauce-protocols/references/registry/yearn-v3.md +46 -0
  1007. package/skills/sauce-protocols/references/registry/zerolend.md +41 -0
  1008. package/skills/sauce-protocols/references/registry/zerox.md +44 -0
  1009. package/skills/sauce-protocols/references/registry/zksync-bridge.md +40 -0
  1010. package/{sdk/src/skills → skills/sauce-protocols/references}/renzo.md +10 -24
  1011. package/{sdk/src/skills → skills/sauce-protocols/references}/rocket-pool.md +10 -26
  1012. package/{sdk/src/skills → skills/sauce-protocols/references}/sablier.md +10 -27
  1013. package/skills/sauce-protocols/references/safe.md +42 -0
  1014. package/{sdk/src/skills → skills/sauce-protocols/references}/scroll-bridge.md +11 -20
  1015. package/{sdk/src/skills → skills/sauce-protocols/references}/seamless.md +11 -16
  1016. package/skills/sauce-protocols/references/seaport.md +38 -0
  1017. package/{sdk/src/skills → skills/sauce-protocols/references}/silo.md +11 -20
  1018. package/{sdk/src/skills → skills/sauce-protocols/references}/socket.md +11 -18
  1019. package/skills/sauce-protocols/references/sommelier.md +40 -0
  1020. package/{sdk/src/skills → skills/sauce-protocols/references}/spark.md +11 -16
  1021. package/{sdk/src/skills → skills/sauce-protocols/references}/spookyswap.md +12 -19
  1022. package/{sdk/src/skills → skills/sauce-protocols/references}/squid.md +11 -21
  1023. package/skills/sauce-protocols/references/stader.md +39 -0
  1024. package/{sdk/src/skills → skills/sauce-protocols/references}/stargate.md +11 -22
  1025. package/{sdk/src/skills → skills/sauce-protocols/references}/superfluid.md +10 -28
  1026. package/{sdk/src/skills → skills/sauce-protocols/references}/sushiswap-v2.md +38 -43
  1027. package/skills/sauce-protocols/references/swell.md +49 -0
  1028. package/skills/sauce-protocols/references/synapse.md +54 -0
  1029. package/{sdk/src/skills → skills/sauce-protocols/references}/syncswap.md +12 -17
  1030. package/{sdk/src/skills → skills/sauce-protocols/references}/synthetix-v3.md +10 -29
  1031. package/skills/sauce-protocols/references/synthra-v3.md +63 -0
  1032. package/skills/sauce-protocols/references/thales.md +58 -0
  1033. package/{sdk/src/skills → skills/sauce-protocols/references}/thena.md +12 -18
  1034. package/{sdk/src/skills → skills/sauce-protocols/references}/thruster.md +13 -18
  1035. package/skills/sauce-protocols/references/tokemak.md +40 -0
  1036. package/{sdk/src/skills → skills/sauce-protocols/references}/trader-joe.md +13 -26
  1037. package/{sdk/src/skills → skills/sauce-protocols/references}/uniswap-v2.md +46 -44
  1038. package/skills/sauce-protocols/references/uniswap-v3.md +188 -0
  1039. package/skills/sauce-protocols/references/uniswap-v4.md +155 -0
  1040. package/skills/sauce-protocols/references/unitflow-v3.md +63 -0
  1041. package/{sdk/src/skills → skills/sauce-protocols/references}/velodrome.md +12 -24
  1042. package/{sdk/src/skills → skills/sauce-protocols/references}/venus.md +12 -31
  1043. package/skills/sauce-protocols/references/vertex.md +42 -0
  1044. package/skills/sauce-protocols/references/wormhole.md +57 -0
  1045. package/{sdk/src/skills → skills/sauce-protocols/references}/yearn-v3.md +10 -25
  1046. package/{sdk/src/skills → skills/sauce-protocols/references}/zerolend.md +11 -15
  1047. package/skills/sauce-protocols/references/zerox.md +39 -0
  1048. package/{sdk/src/skills → skills/sauce-protocols/references}/zksync-bridge.md +11 -14
  1049. package/skills/sauce-script/SKILL.md +407 -0
  1050. package/skills/sauce-script/examples/IOracle.json +12 -0
  1051. package/skills/sauce-script/examples/saucescript.mts +167 -0
  1052. package/skills/sauce-script/examples/twap.sauce.ts +29 -0
  1053. package/skills/sauce-script/references/builtins.json +823 -0
  1054. package/skills/sauce-script/references/builtins.md +674 -0
  1055. package/skills/sauce-solana/SKILL.md +322 -0
  1056. package/skills/sauce-solana/examples/solana.mts +166 -0
  1057. package/skills/sauce-solana/examples/solana.sauce.ts +45 -0
  1058. package/skills/sauce-solana/examples/token-2022.sauce.ts +38 -0
  1059. package/skills/sauce-swaps/SKILL.md +200 -0
  1060. package/skills/sauce-swaps/examples/swap-leg.sauce.ts +50 -0
  1061. package/skills/sauce-swaps/examples/swaps.mts +124 -0
  1062. package/skills/sauce-typescript/SKILL.md +178 -0
  1063. package/skills/sauce-typescript/examples/actions.mts +100 -0
  1064. package/skills/sauce-typescript/examples/compiler.mts +69 -0
  1065. package/skills/sauce-typescript/examples/cook.mts +65 -0
  1066. package/skills/sauce-typescript/examples/verify.mts +104 -0
  1067. package/dev-tools/README.md +0 -16
  1068. package/dev-tools/artifacts/IERC20.json +0 -1
  1069. package/dev-tools/artifacts/ISauceRouter.json +0 -1
  1070. package/dev-tools/artifacts/IUniswapV3Pool.json +0 -1
  1071. package/dev-tools/artifacts/Router.json +0 -1
  1072. package/dev-tools/hardhat.config.cjs +0 -18
  1073. package/dev-tools/sauce/js/add.js +0 -4
  1074. package/dev-tools/sauce/js/call.js +0 -8
  1075. package/dev-tools/sauce/js/erc20.js +0 -18
  1076. package/dev-tools/sauce/js/example.js +0 -6
  1077. package/dev-tools/sauce/js/fibonacci.js +0 -13
  1078. package/dev-tools/sauce/ts/add.ts +0 -4
  1079. package/dev-tools/sauce/ts/call.ts +0 -8
  1080. package/dev-tools/sauce/ts/erc20.ts +0 -18
  1081. package/dev-tools/sauce/ts/example.ts +0 -6
  1082. package/dev-tools/sauce/ts/fibonacci.ts +0 -13
  1083. package/dev-tools/sauce/ts/saucescript.d.ts +0 -1
  1084. package/dev-tools/sauce/ts/tsconfig.json +0 -12
  1085. package/dev-tools/scripts/deploy.ts +0 -107
  1086. package/dev-tools/scripts/init.js +0 -132
  1087. package/dev-tools/scripts/run.ts +0 -67
  1088. package/dev-tools/scripts/start-fork.sh +0 -92
  1089. package/dev-tools/scripts/start-local.sh +0 -120
  1090. package/dev-tools/scripts/stop-local.sh +0 -40
  1091. package/dev-tools/scripts/sync-artifacts.js +0 -46
  1092. package/dev-tools/scripts/sync-price.ts +0 -58
  1093. package/dev-tools/src/contracts.ts +0 -59
  1094. package/dev-tools/src/runner.ts +0 -355
  1095. package/dev-tools/src/svm-local.ts +0 -305
  1096. package/dev-tools/src/sync-price.ts +0 -217
  1097. package/sdk/dist/deployments/v12.generated.d.ts +0 -95
  1098. package/sdk/dist/deployments/v12.generated.d.ts.map +0 -1
  1099. package/sdk/dist/deployments/v12.generated.js +0 -50
  1100. package/sdk/dist/deployments/v12.generated.js.map +0 -1
  1101. package/sdk/dist/swap/index.d.ts +0 -29
  1102. package/sdk/dist/swap/index.d.ts.map +0 -1
  1103. package/sdk/dist/swap/index.js +0 -27
  1104. package/sdk/dist/swap/index.js.map +0 -1
  1105. package/sdk/dist/swap/params.d.ts +0 -29
  1106. package/sdk/dist/swap/params.d.ts.map +0 -1
  1107. package/sdk/dist/swap/params.js +0 -123
  1108. package/sdk/dist/swap/params.js.map +0 -1
  1109. package/sdk/dist/swap/source.d.ts +0 -30
  1110. package/sdk/dist/swap/source.d.ts.map +0 -1
  1111. package/sdk/dist/swap/source.js +0 -101
  1112. package/sdk/dist/swap/source.js.map +0 -1
  1113. package/sdk/dist/swap/types.d.ts +0 -160
  1114. package/sdk/dist/swap/types.d.ts.map +0 -1
  1115. package/sdk/dist/swap/types.js +0 -106
  1116. package/sdk/dist/swap/types.js.map +0 -1
  1117. package/sdk/src/skills/aave-v3.md +0 -134
  1118. package/sdk/src/skills/aave-v4.md +0 -91
  1119. package/sdk/src/skills/abracadabra.md +0 -93
  1120. package/sdk/src/skills/across.md +0 -90
  1121. package/sdk/src/skills/aerodrome-slipstream.md +0 -57
  1122. package/sdk/src/skills/aevo.md +0 -58
  1123. package/sdk/src/skills/axelar.md +0 -80
  1124. package/sdk/src/skills/chainlink.md +0 -62
  1125. package/sdk/src/skills/curve.md +0 -141
  1126. package/sdk/src/skills/eigenlayer.md +0 -71
  1127. package/sdk/src/skills/gamma.md +0 -79
  1128. package/sdk/src/skills/harvest.md +0 -49
  1129. package/sdk/src/skills/index.md +0 -299
  1130. package/sdk/src/skills/kelp.md +0 -60
  1131. package/sdk/src/skills/kyberswap.md +0 -100
  1132. package/sdk/src/skills/loader.ts +0 -46
  1133. package/sdk/src/skills/maker.md +0 -79
  1134. package/sdk/src/skills/mantle-meth.md +0 -60
  1135. package/sdk/src/skills/olympus.md +0 -46
  1136. package/sdk/src/skills/oneinch.md +0 -64
  1137. package/sdk/src/skills/openocean.md +0 -86
  1138. package/sdk/src/skills/pancakeswap-v3.md +0 -104
  1139. package/sdk/src/skills/paraswap.md +0 -67
  1140. package/sdk/src/skills/permit2.md +0 -73
  1141. package/sdk/src/skills/perpetual-protocol.md +0 -73
  1142. package/sdk/src/skills/pyth.md +0 -58
  1143. package/sdk/src/skills/reflexer.md +0 -73
  1144. package/sdk/src/skills/safe.md +0 -56
  1145. package/sdk/src/skills/seaport.md +0 -65
  1146. package/sdk/src/skills/sommelier.md +0 -47
  1147. package/sdk/src/skills/stader.md +0 -53
  1148. package/sdk/src/skills/swell.md +0 -65
  1149. package/sdk/src/skills/synapse.md +0 -63
  1150. package/sdk/src/skills/synthra-v3.md +0 -57
  1151. package/sdk/src/skills/thales.md +0 -74
  1152. package/sdk/src/skills/tokemak.md +0 -48
  1153. package/sdk/src/skills/uniswap-v3.md +0 -202
  1154. package/sdk/src/skills/uniswap-v4.md +0 -125
  1155. package/sdk/src/skills/unitflow-v3.md +0 -62
  1156. package/sdk/src/skills/vertex.md +0 -55
  1157. package/sdk/src/skills/wormhole.md +0 -76
  1158. package/sdk/src/skills/zerox.md +0 -51
@@ -0,0 +1,731 @@
1
+ <!-- Generated from the actions JSON Schema the package ships: every action `sauce actions` takes. Do not edit. -->
2
+
3
+ # Every action
4
+
5
+ A sequence of protocol actions that compiles to one Sauce program executing on one chain. Amounts are base-10 strings. A token is a registry symbol ("USDC", or a tokenized stock's, its issuer's ticker: "SPCXc") or an address, and a protocol contract a namespace reference ("UniswapV3.Factory") or an address; a name resolves on the chain the program is compiled for, so a document with no chainId compiles for any chain where its names exist. Beyond this schema, a program must satisfy: every address with mixed-case hex carries a valid EIP-55 checksum; every amount fits its declared width; a first action that takes an amount sets `amount`; an amountRef names a saveOutputAs set by an earlier action, and is not combined with `amount`; argument names are unique; the value of every balanceOf/nativeBalance/argument action is read; and every token symbol and namespace reference exists on the chain it is compiled for.
6
+
7
+ ## The document
8
+
9
+ | Field | Value | Required | Meaning |
10
+ | --- | --- | --- | --- |
11
+ | `$schema` | string | no | The schema this document declares; ignored. |
12
+ | `version` | `1` | yes | |
13
+ | `chainId` | chain id, an integer ≥ 1 | no | The chain the document is written for; compiling it for another is refused. Leave it out of a document that names its tokens and contracts: it then compiles for any chain where those names exist, the chain chosen when it is compiled. |
14
+ | `actions` | array of action (at least 1) | yes | The actions, in execution order. |
15
+
16
+ ## Values
17
+
18
+ | Value | Takes |
19
+ | --- | --- |
20
+ | token | A token: a registry symbol, or an address. |
21
+ | token or `"native"` | A token: a registry symbol, an address, or "native" for the native currency, which the venue keys as the zero address. |
22
+ | contract | A protocol contract: a namespace reference, or an address. |
23
+ | token or contract | A contract that is also a token (WETH, wstETH): a registry symbol, a namespace reference, or an address. |
24
+ | address | An address: 0x + 40 hex digits. A mixed-case address must carry a valid EIP-55 checksum. |
25
+ | address or `"self"` | An address, or "self" for the executing Pot. |
26
+ | address or 32-byte account | An address, or a 32-byte account on a non-EVM destination (0x + 64 hex digits). |
27
+ | hex bytes | 0x-prefixed hex bytes, an even number of digits. |
28
+ | 32 bytes | 32 bytes: 0x + 64 hex digits. |
29
+ | name | A name that becomes a local variable in the emitted SauceScript. |
30
+ | base-10 integer string | Digits only: no sign, exponent or leading zeros. `uint<N>` is the width it must fit. |
31
+
32
+ ## The actions
33
+
34
+ | Action | Does |
35
+ | --- | --- |
36
+ | [`uniswapV2Swap`](#uniswapv2swap) | Swaps through one Uniswap V2 pair (or a fork's), priced from its reserves and paid by a push. |
37
+ | [`uniswapV3Swap`](#uniswapv3swap) | Swaps through one Uniswap V3 pool (or a fork's), through the Pot's Router, which answers its callback. |
38
+ | [`uniswapV4Swap`](#uniswapv4swap) | Swaps through one Uniswap V4 pool, named by its key, through the Pot's Router, which settles with the PoolManager. |
39
+ | [`curveSwap`](#curveswap) | Swaps through a Curve pool's 4-argument `exchange`, approving exactly the input; the output is a balance delta. |
40
+ | [`balancerV2Swap`](#balancerv2swap) | Swaps through one Balancer V2 pool, approving the Vault for exactly the input. |
41
+ | [`dodoV2Swap`](#dodov2swap) | Swaps through one DODO V2 pool (DVM, DPP or DSP), paid by a push. |
42
+ | [`traderJoeLBSwap`](#traderjoelbswap) | Swaps through one Trader Joe Liquidity Book pair, paid by a push. |
43
+ | [`woofiSwap`](#woofiswap) | Swaps through WOOFi's WooPPV2, paid by a push. |
44
+ | [`maverickV2Swap`](#maverickv2swap) | Swaps through one Maverick V2 pool, through the Pot's Router, which pays what the pool asks for. |
45
+ | [`curveRouterNGSwap`](#curverouterngswap) | Swaps along a Curve RouterNG route of up to five hops. |
46
+ | [`balancerV2BatchSwap`](#balancerv2batchswap) | Swaps along Balancer V2 pools in one batch; the output is a balance delta. |
47
+ | [`balancerV3Swap`](#balancerv3swap) | Swaps an exact input through one Balancer V3 pool; the router pays the Pot and pulls through Permit2. |
48
+ | [`ambientSwap`](#ambientswap) | Swaps through an Ambient (CrocSwap) pool; the dex pays the Pot, and the output is a balance delta. |
49
+ | [`dodoV1Swap`](#dodov1swap) | Swaps through legacy DODO V1 (Classical) pairs via the DODO proxy, which pays the Pot. |
50
+ | [`carbonSwap`](#carbonswap) | Trades against Carbon strategies by source amount; the controller pays the Pot. |
51
+ | [`fraxswapSwap`](#fraxswapswap) | Swaps an exact input along a Fraxswap path; the output is a balance delta. |
52
+ | [`fluidDexT1Swap`](#fluiddext1swap) | Swaps an exact ERC-20 input through a Fluid DEX T1 pool. |
53
+ | [`acrossBridge`](#acrossbridge) | Deposits into an Across SpokePool for the same token on the destination, less the relayer fee. |
54
+ | [`stargateBridge`](#stargatebridge) | Sends through a Stargate V2 ERC-20 pool (taxi), paying the LayerZero fee it quotes. |
55
+ | [`cctpBridge`](#cctpbridge) | Burns USDC through Circle's CCTP V2 TokenMessenger for minting on the destination. |
56
+ | [`hyperlaneBridge`](#hyperlanebridge) | Transfers through a Hyperlane ERC-20 warp route, paying the interchain gas it quotes. |
57
+ | [`wrapETH`](#wrapeth) | Wraps native ETH into WETH. |
58
+ | [`unwrapETH`](#unwrapeth) | Unwraps WETH into native ETH. |
59
+ | [`wrapStETH`](#wrapsteth) | Wraps stETH into wstETH; the output is the wstETH minted. |
60
+ | [`unwrapStETH`](#unwrapsteth) | Unwraps wstETH; the output is the stETH returned. |
61
+ | [`lidoStake`](#lidostake) | Stakes native ETH with Lido; the output is the stETH received. |
62
+ | [`lidoUnstake`](#lidounstake) | Requests a Lido withdrawal of stETH; the ETH is claimed later with the withdrawal NFT. |
63
+ | [`rocketPoolStake`](#rocketpoolstake) | Stakes native ETH with Rocket Pool; the output is the rETH received. |
64
+ | [`rocketPoolUnstake`](#rocketpoolunstake) | Burns rETH; the output is the ETH received. |
65
+ | [`etherFiStake`](#etherfistake) | Stakes native ETH with ether.fi; the output is the eETH received. |
66
+ | [`aaveV3Supply`](#aavev3supply) | Supplies a token to Aave V3. |
67
+ | [`aaveV3Withdraw`](#aavev3withdraw) | Withdraws a token from Aave V3; the output is the amount withdrawn. |
68
+ | [`aaveV3Borrow`](#aavev3borrow) | Borrows a token from Aave V3 at the variable rate, the only rate it offers. |
69
+ | [`aaveV3Repay`](#aavev3repay) | Repays an Aave V3 variable-rate debt. |
70
+ | [`compoundV3Supply`](#compoundv3supply) | Supplies a token to a Compound V3 (Comet) market. |
71
+ | [`compoundV3Withdraw`](#compoundv3withdraw) | Withdraws a token from a Compound V3 (Comet) market. |
72
+ | [`transfer`](#transfer) | Transfers an ERC-20 token. |
73
+ | [`approve`](#approve) | Approves an ERC-20 spender, resetting a non-zero allowance first. |
74
+ | [`permit2Approve`](#permit2approve) | Grants a spender a Permit2 allowance; the token must also be approved to Permit2. |
75
+ | [`balanceOf`](#balanceof) | Reads the Pot's balance of a token; the output is that balance. |
76
+ | [`nativeBalance`](#nativebalance) | Reads the Pot's native balance; the output is that balance. |
77
+ | [`argument`](#argument) | Declares a runtime argument of the compiled program; the output is the value supplied. |
78
+
79
+ ### uniswapV2Swap
80
+
81
+ Swaps through one Uniswap V2 pair (or a fork's), priced from its reserves and paid by a push. Calls @sauce/router uniswapV2: pair.getReserves, an ERC-20 transfer to the pair, pair.swap. Give exactly one of: pool; factory.
82
+
83
+ It names its pool one of 2 ways: `pool`, or `factory`.
84
+
85
+ | Field | Value | Required | Meaning |
86
+ | --- | --- | --- | --- |
87
+ | `type` | `"uniswapV2Swap"` | yes | the action |
88
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
89
+ | `pool` | contract | one form (above) | the pair; or leave it out and give `factory` |
90
+ | `factory` | contract | one form (above) | instead of `pool`: a Uniswap V2-style factory ("UniswapV2.Factory"), whose getPair(tokenIn, tokenOut) is the pair; the program reads it from the factory on chain and reverts if there is none |
91
+ | `tokenIn` | token | yes | the token sold, pushed to the pair |
92
+ | `tokenOut` | token | yes | the token bought; the direction is the pair's sort order |
93
+ | `feePpm` | integer 0–999999 | no | the pair's LP fee in parts per million; absent or 0 is 3000 (0.30%), PancakeSwap V2 is 2500 |
94
+ | `amountOutMin` | base-10 integer string, uint256 | yes | the least output accepted; the venue reverts below it |
95
+ | `recipient` | address or `"self"` | yes | receives the output when no later action spends it; `"self"` keeps it in the Pot |
96
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
97
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
98
+
99
+ ### uniswapV3Swap
100
+
101
+ Swaps through one Uniswap V3 pool (or a fork's), through the Pot's Router, which answers its callback. Calls @sauce/router uniswapV3: Router.swapV3. Give exactly one of: pool; factory + fee; factory + tickSpacing.
102
+
103
+ It names its pool one of 3 ways: `pool`, or `factory` + `fee`, or `factory` + `tickSpacing`.
104
+
105
+ | Field | Value | Required | Meaning |
106
+ | --- | --- | --- | --- |
107
+ | `type` | `"uniswapV3Swap"` | yes | the action |
108
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
109
+ | `pool` | contract | one form (above) | the pool; or leave it out and give `factory` with `fee` or `tickSpacing` |
110
+ | `factory` | contract | one form (above) | instead of `pool`: the factory whose getPool(tokenIn, tokenOut, key) is the pool — a Uniswap V3-style factory with `fee` ("UniswapV3.Factory", "PancakeswapV3.Factory"), or Aerodrome Slipstream's with `tickSpacing` ("AerodromeSlipstream.CLFactory"); the program reads it from the factory on chain and reverts if there is none |
111
+ | `fee` | integer 0–16777215 | one form (above) | with `factory`: the pool's fee tier, in hundredths of a bip (500 is 0.05%) |
112
+ | `tickSpacing` | integer 1–8388607 | one form (above) | with a Slipstream `factory`: the pool's tick spacing |
113
+ | `tokenIn` | token | yes | the token sold |
114
+ | `tokenOut` | token | yes | the token bought |
115
+ | `sqrtPriceLimitX96` | base-10 integer string, uint160 | no | a price at which the swap stops, leaving the rest of the input in the Pot; absent or 0 for none |
116
+ | `amountOutMin` | base-10 integer string, uint256 | yes | the least output accepted; the venue reverts below it |
117
+ | `recipient` | address or `"self"` | yes | receives the output when no later action spends it; `"self"` keeps it in the Pot |
118
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
119
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
120
+
121
+ ### uniswapV4Swap
122
+
123
+ Swaps through one Uniswap V4 pool, named by its key, through the Pot's Router, which settles with the PoolManager. Calls @sauce/router uniswapV4: Router.swapV4.
124
+
125
+ | Field | Value | Required | Meaning |
126
+ | --- | --- | --- | --- |
127
+ | `type` | `"uniswapV4Swap"` | yes | the action |
128
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
129
+ | `poolManager` | contract | yes | the PoolManager ("UniswapV4.PoolManager") |
130
+ | `tokenIn` | token or `"native"` | yes | the token sold; "native" is the native currency |
131
+ | `tokenOut` | token or `"native"` | yes | the token bought; "native" is the native currency |
132
+ | `fee` | integer 0–16777215 | yes | the pool key's fee, in hundredths of a bip |
133
+ | `tickSpacing` | integer 1–32767 | yes | the pool key's tick spacing |
134
+ | `hooks` | contract | no | the pool key's hooks contract; absent for a pool with none |
135
+ | `sqrtPriceLimitX96` | base-10 integer string, uint160 | no | a price at which the swap stops, leaving the rest of the input in the Pot; absent or 0 for none |
136
+ | `amountOutMin` | base-10 integer string, uint256 | yes | the least output accepted; the venue reverts below it |
137
+ | `recipient` | address or `"self"` | yes | receives the output when no later action spends it; `"self"` keeps it in the Pot |
138
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
139
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
140
+
141
+ ### curveSwap
142
+
143
+ Swaps through a Curve pool's 4-argument `exchange`, approving exactly the input; the output is a balance delta. Calls @sauce/router curve: an exact ERC-20 approval, then pool.exchange(int128|uint256 i, j, dx, min_dy).
144
+
145
+ | Field | Value | Required | Meaning |
146
+ | --- | --- | --- | --- |
147
+ | `type` | `"curveSwap"` | yes | the action |
148
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
149
+ | `pool` | contract | yes | the Curve pool |
150
+ | `tokenIn` | token | yes | the token sold, approved to the pool for exactly the amount |
151
+ | `tokenOut` | token | yes | the token bought, whose balance delta is the output |
152
+ | `i` | integer 0–7 | yes | the pool index of the coin sold |
153
+ | `j` | integer 0–7 | yes | the pool index of the coin bought |
154
+ | `indexType` | `"int128"` or `"uint256"` | yes | the pool's index type: int128 for StableSwap and NG pools, uint256 for CryptoSwap |
155
+ | `amountOutMin` | base-10 integer string, uint256 | yes | the least output accepted; the venue reverts below it |
156
+ | `recipient` | address or `"self"` | yes | receives the output when no later action spends it; `"self"` keeps it in the Pot; the pool pays the Pot, which forwards it with a transfer |
157
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
158
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
159
+
160
+ ### balancerV2Swap
161
+
162
+ Swaps through one Balancer V2 pool, approving the Vault for exactly the input. Calls @sauce/router balancerV2: an exact ERC-20 approval, then Vault.swap (GIVEN_IN).
163
+
164
+ | Field | Value | Required | Meaning |
165
+ | --- | --- | --- | --- |
166
+ | `type` | `"balancerV2Swap"` | yes | the action |
167
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
168
+ | `vault` | contract | yes | the Balancer V2 Vault |
169
+ | `poolId` | 32 bytes | yes | the pool id |
170
+ | `tokenIn` | token | yes | the token sold, approved to the Vault for exactly the amount |
171
+ | `tokenOut` | token | yes | the token bought |
172
+ | `amountOutMin` | base-10 integer string, uint256 | yes | the least output accepted; the venue reverts below it |
173
+ | `recipient` | address or `"self"` | yes | receives the output when no later action spends it; `"self"` keeps it in the Pot |
174
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
175
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
176
+
177
+ ### dodoV2Swap
178
+
179
+ Swaps through one DODO V2 pool (DVM, DPP or DSP), paid by a push. Calls @sauce/router dodoV2: an ERC-20 transfer to the pool, then sellBase(to) or sellQuote(to).
180
+
181
+ | Field | Value | Required | Meaning |
182
+ | --- | --- | --- | --- |
183
+ | `type` | `"dodoV2Swap"` | yes | the action |
184
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
185
+ | `pool` | contract | yes | the pool |
186
+ | `tokenIn` | token | yes | the token sold, pushed to the pool |
187
+ | `tokenOut` | token | yes | the token bought |
188
+ | `baseToken` | token | yes | the pool's base token; tokenIn and tokenOut must be base and quote |
189
+ | `quoteToken` | token | yes | the pool's quote token |
190
+ | `amountOutMin` | base-10 integer string, uint256 | yes | the least output accepted; the venue reverts below it |
191
+ | `recipient` | address or `"self"` | yes | receives the output when no later action spends it; `"self"` keeps it in the Pot |
192
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
193
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
194
+
195
+ ### traderJoeLBSwap
196
+
197
+ Swaps through one Trader Joe Liquidity Book pair, paid by a push. Calls @sauce/router traderJoeLB: an ERC-20 transfer to the pair, then pair.swap(swapForY, to). Give exactly one of: pool; factory + binStep. Give tokenX + tokenY together or not at all.
198
+
199
+ It names its pool one of 2 ways: `pool`, or `factory` + `binStep`.
200
+ Give `tokenX` and `tokenY` together or not at all.
201
+
202
+ | Field | Value | Required | Meaning |
203
+ | --- | --- | --- | --- |
204
+ | `type` | `"traderJoeLBSwap"` | yes | the action |
205
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
206
+ | `pool` | contract | one form (above) | the pair; or leave it out and give `factory` with `binStep` |
207
+ | `factory` | contract | one form (above) | instead of `pool`: the LBFactory ("TraderJoe.LBFactory"), whose getLBPairInformation(tokenIn, tokenOut, binStep) names the pair; the program reads it from the factory on chain and reverts if there is none |
208
+ | `binStep` | integer 1–65535 | one form (above) | with `factory`: the pair's bin step |
209
+ | `tokenIn` | token | yes | the token sold, pushed to the pair |
210
+ | `tokenOut` | token | yes | the token bought |
211
+ | `tokenX` | token | no | the pair's token X; tokenIn and tokenOut must be X and Y. Leave tokenX and tokenY out to read them from the pair |
212
+ | `tokenY` | token | no | the pair's token Y |
213
+ | `amountOutMin` | base-10 integer string, uint256 | yes | the least output accepted; the venue reverts below it |
214
+ | `recipient` | address or `"self"` | yes | receives the output when no later action spends it; `"self"` keeps it in the Pot |
215
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
216
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
217
+
218
+ ### woofiSwap
219
+
220
+ Swaps through WOOFi's WooPPV2, paid by a push. Calls @sauce/router woofi: an ERC-20 transfer to the pool, then WooPPV2.swap.
221
+
222
+ | Field | Value | Required | Meaning |
223
+ | --- | --- | --- | --- |
224
+ | `type` | `"woofiSwap"` | yes | the action |
225
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
226
+ | `pool` | contract | yes | the WooPPV2 itself, not the WooRouterV2 |
227
+ | `tokenIn` | token | yes | the token sold, pushed to the pool |
228
+ | `tokenOut` | token | yes | the token bought |
229
+ | `amountOutMin` | base-10 integer string, uint256 | yes | the least output accepted, as the pool's own minToAmount; required and positive, because the pool prices from an oracle |
230
+ | `recipient` | address or `"self"` | yes | receives the output when no later action spends it; `"self"` keeps it in the Pot |
231
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
232
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
233
+
234
+ ### maverickV2Swap
235
+
236
+ Swaps through one Maverick V2 pool, through the Pot's Router, which pays what the pool asks for. Calls @sauce/router maverickV2: Router.swap.
237
+
238
+ | Field | Value | Required | Meaning |
239
+ | --- | --- | --- | --- |
240
+ | `type` | `"maverickV2Swap"` | yes | the action |
241
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
242
+ | `pool` | contract | yes | the pool |
243
+ | `tokenIn` | token | yes | the token sold |
244
+ | `tokenOut` | token | yes | the token bought |
245
+ | `amountOutMin` | base-10 integer string, uint256 | yes | the least output accepted; the venue reverts below it |
246
+ | `recipient` | address or `"self"` | yes | receives the output when no later action spends it; `"self"` keeps it in the Pot |
247
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
248
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
249
+
250
+ ### curveRouterNGSwap
251
+
252
+ Swaps along a Curve RouterNG route of up to five hops. Calls RouterNG.exchange(address[11],uint256[5][5],uint256,uint256,address[5],address).
253
+
254
+ | Field | Value | Required | Meaning |
255
+ | --- | --- | --- | --- |
256
+ | `type` | `"curveRouterNGSwap"` | yes | the action |
257
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
258
+ | `router` | contract | yes | the Curve RouterNG |
259
+ | `route` | array of token or contract (at least 1, at most 11) | yes | the route, tokens and pools alternating; padded to 11 with zero addresses |
260
+ | `swapParams` | array of [integer 0–255, integer 0–255, integer 0–255, integer 0–255, integer 0–255] (at least 1, at most 5) | yes | per hop: [i, j, swap_type, pool_type, n_coins]; padded to 5 rows |
261
+ | `pools` | array of contract (at most 5) | yes | a zap pool where a hop needs one; padded to 5 |
262
+ | `amountOutMin` | base-10 integer string, uint256 | yes | the least output accepted; the venue reverts below it |
263
+ | `recipient` | address or `"self"` | yes | receives the output when no later action spends it; `"self"` keeps it in the Pot |
264
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
265
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
266
+
267
+ ### balancerV2BatchSwap
268
+
269
+ Swaps along Balancer V2 pools in one batch; the output is a balance delta. Calls Vault.batchSwap.
270
+
271
+ | Field | Value | Required | Meaning |
272
+ | --- | --- | --- | --- |
273
+ | `type` | `"balancerV2BatchSwap"` | yes | the action |
274
+ | `vault` | contract | yes | the Balancer V2 Vault |
275
+ | `steps` | array of objects (below) (at least 1) | yes | the batch's steps; the last step's output asset is the output |
276
+ | `assets` | array of token or `"native"` (at least 2) | yes | every asset the steps index; "native" is the native currency |
277
+ | `amountOutMin` | base-10 integer string, uint256 | yes | the least output accepted; the venue reverts below it |
278
+ | `recipient` | address or `"self"` | yes | receives the output when no later action spends it; `"self"` keeps it in the Pot |
279
+ | `deadline` | integer ≥ 0 | yes | Unix seconds after which the venue reverts |
280
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
281
+
282
+ Each `steps` entry:
283
+
284
+ | Field | Value | Required | Meaning |
285
+ | --- | --- | --- | --- |
286
+ | `poolId` | 32 bytes | yes | the step's pool id |
287
+ | `assetInIndex` | integer 0–255 | yes | index into `assets` of the step's input |
288
+ | `assetOutIndex` | integer 0–255 | yes | index into `assets` of the step's output |
289
+ | `amount` | base-10 integer string, uint256 | yes | the step's input; 0 spends the previous step's output |
290
+
291
+ ### balancerV3Swap
292
+
293
+ Swaps an exact input through one Balancer V3 pool; the router pays the Pot and pulls through Permit2. Calls Router.swapSingleTokenExactIn.
294
+
295
+ | Field | Value | Required | Meaning |
296
+ | --- | --- | --- | --- |
297
+ | `type` | `"balancerV3Swap"` | yes | the action |
298
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
299
+ | `router` | contract | yes | the Balancer V3 Router |
300
+ | `pool` | contract | yes | the pool |
301
+ | `tokenIn` | token | yes | the token sold |
302
+ | `tokenOut` | token | yes | the token bought |
303
+ | `amountOutMin` | base-10 integer string, uint256 | yes | the least output accepted; the venue reverts below it |
304
+ | `deadline` | integer ≥ 0 | yes | Unix seconds after which the venue reverts |
305
+ | `wethIsEth` | true or false | yes | true to pay or receive native ETH for WETH |
306
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
307
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
308
+
309
+ ### ambientSwap
310
+
311
+ Swaps through an Ambient (CrocSwap) pool; the dex pays the Pot, and the output is a balance delta. Calls CrocSwapDex.userCmd(1, abi.encode(...)).
312
+
313
+ | Field | Value | Required | Meaning |
314
+ | --- | --- | --- | --- |
315
+ | `type` | `"ambientSwap"` | yes | the action |
316
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
317
+ | `dex` | contract | yes | the CrocSwapDex |
318
+ | `base` | token or `"native"` | yes | the pool's base token (numerically lower) |
319
+ | `quote` | token | yes | the pool's quote token |
320
+ | `poolIdx` | integer ≥ 0 | yes | the pool type index (420 is the standard pool) |
321
+ | `isBuy` | true or false | yes | true pays base and receives quote |
322
+ | `inBaseQty` | true or false | yes | true when the amount is denominated in the base token |
323
+ | `tip` | integer 0–65535 | yes | 0 accepts the pool's default fee |
324
+ | `limitPrice` | base-10 integer string, uint128 | yes | the worst acceptable price, as a Q64.64 square-root price |
325
+ | `amountOutMin` | base-10 integer string, uint128 | yes | the least output accepted; the dex reverts below it |
326
+ | `reserveFlags` | integer 0–255 | yes | 0x1 settles base from surplus, 0x2 quote |
327
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
328
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
329
+
330
+ ### dodoV1Swap
331
+
332
+ Swaps through legacy DODO V1 (Classical) pairs via the DODO proxy, which pays the Pot. Calls DODOProxy.dodoSwapV1.
333
+
334
+ | Field | Value | Required | Meaning |
335
+ | --- | --- | --- | --- |
336
+ | `type` | `"dodoV1Swap"` | yes | the action |
337
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
338
+ | `proxy` | contract | yes | the DODO proxy; approvals go to DODOApprove, not to it |
339
+ | `tokenIn` | token | yes | the token sold |
340
+ | `tokenOut` | token | yes | the token bought |
341
+ | `pairs` | array of contract (at least 1) | yes | the V1 pairs to route through |
342
+ | `directions` | integer ≥ 0 | yes | a bit per pair: 0 sells base, 1 sells quote |
343
+ | `amountOutMin` | base-10 integer string, uint256 | yes | the least output accepted; the venue reverts below it |
344
+ | `deadline` | integer ≥ 0 | yes | Unix seconds after which the venue reverts |
345
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
346
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
347
+
348
+ ### carbonSwap
349
+
350
+ Trades against Carbon strategies by source amount; the controller pays the Pot. Calls CarbonController.tradeBySourceAmount.
351
+
352
+ | Field | Value | Required | Meaning |
353
+ | --- | --- | --- | --- |
354
+ | `type` | `"carbonSwap"` | yes | the action |
355
+ | `controller` | contract | yes | the CarbonController |
356
+ | `sourceToken` | token | yes | the token sold |
357
+ | `targetToken` | token | yes | the token bought |
358
+ | `tradeActions` | array of objects (below) (at least 1) | yes | the source amount per strategy; together they are the trade |
359
+ | `amountOutMin` | base-10 integer string, uint128 | yes | the least output accepted; the controller reverts below it |
360
+ | `deadline` | integer ≥ 0 | yes | Unix seconds after which the venue reverts |
361
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
362
+
363
+ Each `tradeActions` entry:
364
+
365
+ | Field | Value | Required | Meaning |
366
+ | --- | --- | --- | --- |
367
+ | `strategyId` | base-10 integer string, uint256 | yes | the strategy |
368
+ | `amount` | base-10 integer string, uint128 | yes | the source amount traded against it |
369
+
370
+ ### fraxswapSwap
371
+
372
+ Swaps an exact input along a Fraxswap path; the output is a balance delta. Calls FraxswapRouter.swapExactTokensForTokens.
373
+
374
+ | Field | Value | Required | Meaning |
375
+ | --- | --- | --- | --- |
376
+ | `type` | `"fraxswapSwap"` | yes | the action |
377
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
378
+ | `router` | contract | yes | the Fraxswap router |
379
+ | `path` | array of token (at least 2) | yes | the token path; the last token is the output |
380
+ | `amountOutMin` | base-10 integer string, uint256 | yes | the least output accepted; the venue reverts below it |
381
+ | `recipient` | address or `"self"` | yes | receives the output when no later action spends it; `"self"` keeps it in the Pot |
382
+ | `deadline` | integer ≥ 0 | yes | Unix seconds after which the venue reverts |
383
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
384
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
385
+
386
+ ### fluidDexT1Swap
387
+
388
+ Swaps an exact ERC-20 input through a Fluid DEX T1 pool. Calls FluidDexT1.swapIn.
389
+
390
+ | Field | Value | Required | Meaning |
391
+ | --- | --- | --- | --- |
392
+ | `type` | `"fluidDexT1Swap"` | yes | the action |
393
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
394
+ | `pool` | contract | yes | the pool |
395
+ | `swap0to1` | true or false | yes | true sells token0 |
396
+ | `amountOutMin` | base-10 integer string, uint256 | yes | the least output accepted; the venue reverts below it |
397
+ | `recipient` | address or `"self"` | yes | receives the output when no later action spends it; `"self"` keeps it in the Pot |
398
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
399
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
400
+
401
+ ### acrossBridge
402
+
403
+ Deposits into an Across SpokePool for the same token on the destination, less the relayer fee. Calls SpokePool.depositV3.
404
+
405
+ | Field | Value | Required | Meaning |
406
+ | --- | --- | --- | --- |
407
+ | `type` | `"acrossBridge"` | yes | the action |
408
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
409
+ | `spokePool` | contract | yes | the origin SpokePool; it pulls the token, so approve it first |
410
+ | `token` | token | yes | the token bridged (input and output) |
411
+ | `destChainId` | integer ≥ 1 | yes | the destination chain id |
412
+ | `recipient` | address | yes | receives on the destination |
413
+ | `relayerFee` | base-10 integer string, uint256 | yes | kept by the relayer: the destination receives `amount - relayerFee` |
414
+ | `quoteTimestamp` | integer 0–4294967295 | yes | the timestamp the fee was quoted at |
415
+ | `fillDeadline` | integer 0–4294967295 | yes | Unix seconds by which a relayer must fill |
416
+ | `exclusivityDeadline` | integer 0–4294967295 | yes | Unix seconds of relayer exclusivity; 0 for none |
417
+ | `message` | hex bytes | yes | delivered with the fill; 0x for none |
418
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
419
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
420
+
421
+ ### stargateBridge
422
+
423
+ Sends through a Stargate V2 ERC-20 pool (taxi), paying the LayerZero fee it quotes. Calls StargatePool.quoteSend, then StargatePool.send.
424
+
425
+ | Field | Value | Required | Meaning |
426
+ | --- | --- | --- | --- |
427
+ | `type` | `"stargateBridge"` | yes | the action |
428
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
429
+ | `pool` | contract | yes | the StargatePool; it pulls the token, so approve it first |
430
+ | `dstEid` | integer 0–4294967295 | yes | the destination's LayerZero endpoint id |
431
+ | `recipient` | address or 32-byte account | yes | receives on the destination |
432
+ | `amountOutMin` | base-10 integer string, uint256 | yes | the least the destination may receive |
433
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
434
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
435
+
436
+ ### cctpBridge
437
+
438
+ Burns USDC through Circle's CCTP V2 TokenMessenger for minting on the destination. Calls TokenMessengerV2.depositForBurn.
439
+
440
+ | Field | Value | Required | Meaning |
441
+ | --- | --- | --- | --- |
442
+ | `type` | `"cctpBridge"` | yes | the action |
443
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
444
+ | `tokenMessenger` | contract | yes | the CCTP V2 TokenMessenger; it pulls the token, so approve it first |
445
+ | `token` | token | yes | the burned token (USDC) |
446
+ | `destinationDomain` | integer 0–4294967295 | yes | the destination's CCTP domain |
447
+ | `recipient` | address or 32-byte account | yes | receives the mint on the destination |
448
+ | `maxFee` | base-10 integer string, uint256 | no | the most the transfer may pay in fees, from the amount; default "0" |
449
+ | `minFinalityThreshold` | integer 0–4294967295 | no | 2000 waits for finality (standard, the default); 1000 is fast |
450
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
451
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
452
+
453
+ ### hyperlaneBridge
454
+
455
+ Transfers through a Hyperlane ERC-20 warp route, paying the interchain gas it quotes. Calls TokenRouter.quoteGasPayment, then TokenRouter.transferRemote.
456
+
457
+ | Field | Value | Required | Meaning |
458
+ | --- | --- | --- | --- |
459
+ | `type` | `"hyperlaneBridge"` | yes | the action |
460
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
461
+ | `router` | contract | yes | the warp route; it pulls the amount plus any fee it charges |
462
+ | `destinationDomain` | integer 0–4294967295 | yes | the destination's Hyperlane domain |
463
+ | `recipient` | address or 32-byte account | yes | receives on the destination |
464
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
465
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
466
+
467
+ ### wrapETH
468
+
469
+ Wraps native ETH into WETH. Calls WETH.deposit.
470
+
471
+ | Field | Value | Required | Meaning |
472
+ | --- | --- | --- | --- |
473
+ | `type` | `"wrapETH"` | yes | the action |
474
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
475
+ | `weth` | token or contract | yes | the WETH contract ("WETH") |
476
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
477
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
478
+
479
+ ### unwrapETH
480
+
481
+ Unwraps WETH into native ETH. Calls WETH.withdraw.
482
+
483
+ | Field | Value | Required | Meaning |
484
+ | --- | --- | --- | --- |
485
+ | `type` | `"unwrapETH"` | yes | the action |
486
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
487
+ | `weth` | token or contract | yes | the WETH contract ("WETH") |
488
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
489
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
490
+
491
+ ### wrapStETH
492
+
493
+ Wraps stETH into wstETH; the output is the wstETH minted. Calls wstETH.wrap.
494
+
495
+ | Field | Value | Required | Meaning |
496
+ | --- | --- | --- | --- |
497
+ | `type` | `"wrapStETH"` | yes | the action |
498
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
499
+ | `wstETH` | token or contract | yes | the wstETH contract; it pulls the stETH, so approve it first |
500
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
501
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
502
+
503
+ ### unwrapStETH
504
+
505
+ Unwraps wstETH; the output is the stETH returned. Calls wstETH.unwrap.
506
+
507
+ | Field | Value | Required | Meaning |
508
+ | --- | --- | --- | --- |
509
+ | `type` | `"unwrapStETH"` | yes | the action |
510
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
511
+ | `wstETH` | token or contract | yes | the wstETH contract |
512
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
513
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
514
+
515
+ ### lidoStake
516
+
517
+ Stakes native ETH with Lido; the output is the stETH received. Calls stETH.submit.
518
+
519
+ | Field | Value | Required | Meaning |
520
+ | --- | --- | --- | --- |
521
+ | `type` | `"lidoStake"` | yes | the action |
522
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
523
+ | `stETH` | token or contract | yes | the stETH contract |
524
+ | `referral` | address | no | Lido's referral; default the zero address |
525
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
526
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
527
+
528
+ ### lidoUnstake
529
+
530
+ Requests a Lido withdrawal of stETH; the ETH is claimed later with the withdrawal NFT. Calls WithdrawalQueueERC721.requestWithdrawals.
531
+
532
+ | Field | Value | Required | Meaning |
533
+ | --- | --- | --- | --- |
534
+ | `type` | `"lidoUnstake"` | yes | the action |
535
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
536
+ | `withdrawalQueue` | contract | yes | Lido's withdrawal queue; it pulls the stETH, so approve it first |
537
+ | `owner` | address or `"self"` | yes | receives the withdrawal NFT; `"self"` is the Pot |
538
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
539
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
540
+
541
+ ### rocketPoolStake
542
+
543
+ Stakes native ETH with Rocket Pool; the output is the rETH received. Calls RocketDepositPool.deposit.
544
+
545
+ | Field | Value | Required | Meaning |
546
+ | --- | --- | --- | --- |
547
+ | `type` | `"rocketPoolStake"` | yes | the action |
548
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
549
+ | `depositPool` | contract | yes | the live RocketDepositPool, which upgrades move; read it from RocketStorage |
550
+ | `rETH` | token or contract | yes | the rETH token, whose balance delta is the output |
551
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
552
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
553
+
554
+ ### rocketPoolUnstake
555
+
556
+ Burns rETH; the output is the ETH received. Calls rETH.burn.
557
+
558
+ | Field | Value | Required | Meaning |
559
+ | --- | --- | --- | --- |
560
+ | `type` | `"rocketPoolUnstake"` | yes | the action |
561
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
562
+ | `rETH` | token or contract | yes | the rETH token |
563
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
564
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
565
+
566
+ ### etherFiStake
567
+
568
+ Stakes native ETH with ether.fi; the output is the eETH received. Calls LiquidityPool.deposit.
569
+
570
+ | Field | Value | Required | Meaning |
571
+ | --- | --- | --- | --- |
572
+ | `type` | `"etherFiStake"` | yes | the action |
573
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
574
+ | `liquidityPool` | contract | yes | the ether.fi LiquidityPool |
575
+ | `eETH` | token or contract | yes | the eETH token, whose balance delta is the output |
576
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
577
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
578
+
579
+ ### aaveV3Supply
580
+
581
+ Supplies a token to Aave V3. Calls Pool.supply.
582
+
583
+ | Field | Value | Required | Meaning |
584
+ | --- | --- | --- | --- |
585
+ | `type` | `"aaveV3Supply"` | yes | the action |
586
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
587
+ | `pool` | contract | yes | the Aave V3 Pool; it pulls the token, so approve it first |
588
+ | `token` | token | yes | the asset supplied |
589
+ | `onBehalfOf` | address or `"self"` | yes | credited with the position; `"self"` is the Pot |
590
+ | `referralCode` | integer 0–65535 | no | Aave's referral code; default 0 |
591
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
592
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
593
+
594
+ ### aaveV3Withdraw
595
+
596
+ Withdraws a token from Aave V3; the output is the amount withdrawn. Calls Pool.withdraw.
597
+
598
+ | Field | Value | Required | Meaning |
599
+ | --- | --- | --- | --- |
600
+ | `type` | `"aaveV3Withdraw"` | yes | the action |
601
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
602
+ | `pool` | contract | yes | the Aave V3 Pool |
603
+ | `token` | token | yes | the asset withdrawn |
604
+ | `recipient` | address or `"self"` | yes | receives the asset; `"self"` is the Pot |
605
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
606
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
607
+
608
+ ### aaveV3Borrow
609
+
610
+ Borrows a token from Aave V3 at the variable rate, the only rate it offers. Calls Pool.borrow.
611
+
612
+ | Field | Value | Required | Meaning |
613
+ | --- | --- | --- | --- |
614
+ | `type` | `"aaveV3Borrow"` | yes | the action |
615
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
616
+ | `pool` | contract | yes | the Aave V3 Pool |
617
+ | `token` | token | yes | the asset borrowed |
618
+ | `onBehalfOf` | address or `"self"` | yes | whose collateral backs the debt; `"self"` is the Pot |
619
+ | `referralCode` | integer 0–65535 | no | Aave's referral code; default 0 |
620
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
621
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
622
+
623
+ ### aaveV3Repay
624
+
625
+ Repays an Aave V3 variable-rate debt. Calls Pool.repay.
626
+
627
+ | Field | Value | Required | Meaning |
628
+ | --- | --- | --- | --- |
629
+ | `type` | `"aaveV3Repay"` | yes | the action |
630
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
631
+ | `pool` | contract | yes | the Aave V3 Pool; it pulls the token, so approve it first |
632
+ | `token` | token | yes | the asset repaid |
633
+ | `onBehalfOf` | address or `"self"` | yes | whose debt is repaid; `"self"` is the Pot |
634
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
635
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
636
+
637
+ ### compoundV3Supply
638
+
639
+ Supplies a token to a Compound V3 (Comet) market. Calls Comet.supply.
640
+
641
+ | Field | Value | Required | Meaning |
642
+ | --- | --- | --- | --- |
643
+ | `type` | `"compoundV3Supply"` | yes | the action |
644
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
645
+ | `comet` | contract | yes | the Comet market; it pulls the token, so approve it first |
646
+ | `token` | token | yes | the asset supplied |
647
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
648
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
649
+
650
+ ### compoundV3Withdraw
651
+
652
+ Withdraws a token from a Compound V3 (Comet) market. Calls Comet.withdraw.
653
+
654
+ | Field | Value | Required | Meaning |
655
+ | --- | --- | --- | --- |
656
+ | `type` | `"compoundV3Withdraw"` | yes | the action |
657
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
658
+ | `comet` | contract | yes | the Comet market |
659
+ | `token` | token | yes | the asset withdrawn |
660
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
661
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
662
+
663
+ ### transfer
664
+
665
+ Transfers an ERC-20 token. Calls ERC-20 transfer, checked like SafeERC20.
666
+
667
+ | Field | Value | Required | Meaning |
668
+ | --- | --- | --- | --- |
669
+ | `type` | `"transfer"` | yes | the action |
670
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
671
+ | `token` | token | yes | the token |
672
+ | `recipient` | address or `"self"` | yes | the receiver; `"self"` is the Pot |
673
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
674
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
675
+
676
+ ### approve
677
+
678
+ Approves an ERC-20 spender, resetting a non-zero allowance first. Calls ERC-20 approve, checked and reset like SafeERC20.forceApprove.
679
+
680
+ | Field | Value | Required | Meaning |
681
+ | --- | --- | --- | --- |
682
+ | `type` | `"approve"` | yes | the action |
683
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
684
+ | `token` | token | yes | the token |
685
+ | `spender` | contract | yes | the spender |
686
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
687
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
688
+
689
+ ### permit2Approve
690
+
691
+ Grants a spender a Permit2 allowance; the token must also be approved to Permit2. Calls Permit2.approve(address,address,uint160,uint48).
692
+
693
+ | Field | Value | Required | Meaning |
694
+ | --- | --- | --- | --- |
695
+ | `type` | `"permit2Approve"` | yes | the action |
696
+ | `amount` | base-10 integer string, uint256 | no | The amount this action spends. Omit it (and amountRef) to spend the previous action's output. |
697
+ | `permit2` | contract | yes | Permit2 ("Permit2.Permit2") |
698
+ | `token` | token | yes | the token |
699
+ | `spender` | contract | yes | the spender, such as Balancer V3's router |
700
+ | `expiration` | integer 0–281474976710655 | yes | Unix seconds after which the allowance lapses |
701
+ | `amountRef` | name | no | Spend the output an earlier action saved under this name. |
702
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
703
+
704
+ ### balanceOf
705
+
706
+ Reads the Pot's balance of a token; the output is that balance. Calls IERC20.balanceOf(pot).
707
+
708
+ | Field | Value | Required | Meaning |
709
+ | --- | --- | --- | --- |
710
+ | `type` | `"balanceOf"` | yes | the action |
711
+ | `token` | token | yes | the token |
712
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
713
+
714
+ ### nativeBalance
715
+
716
+ Reads the Pot's native balance; the output is that balance. Calls ctx.selfBalance().
717
+
718
+ | Field | Value | Required | Meaning |
719
+ | --- | --- | --- | --- |
720
+ | `type` | `"nativeBalance"` | yes | the action |
721
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |
722
+
723
+ ### argument
724
+
725
+ Declares a runtime argument of the compiled program; the output is the value supplied. Calls a `main` parameter.
726
+
727
+ | Field | Value | Required | Meaning |
728
+ | --- | --- | --- | --- |
729
+ | `type` | `"argument"` | yes | the action |
730
+ | `name` | name | yes | the argument's name; arguments are encoded in order |
731
+ | `saveOutputAs` | name | no | Save this action's output under a name later actions can reference. |