@eco-incorp/sauce 0.99.5 → 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 (1197) 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 +30 -5
  50. package/docs/concepts/saucescript.md +53 -56
  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 +24 -15
  66. package/docs/guides/cli.md +1442 -0
  67. package/docs/guides/compiling.md +24 -10
  68. package/docs/guides/intents.md +260 -17
  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 +235 -36
  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/plugin/index.d.ts +3 -2
  384. package/sdk/dist/plugin/index.d.ts.map +1 -1
  385. package/sdk/dist/plugin/index.js.map +1 -1
  386. package/sdk/dist/price.d.ts +40 -0
  387. package/sdk/dist/price.d.ts.map +1 -0
  388. package/sdk/dist/price.js +101 -0
  389. package/sdk/dist/price.js.map +1 -0
  390. package/sdk/dist/protocols/aerodrome/abis.d.ts +76 -0
  391. package/sdk/dist/protocols/aerodrome/abis.d.ts.map +1 -1
  392. package/sdk/dist/protocols/aerodrome/abis.js +61 -0
  393. package/sdk/dist/protocols/aerodrome/abis.js.map +1 -1
  394. package/sdk/dist/protocols/aerodrome-slipstream/abis.d.ts +70 -0
  395. package/sdk/dist/protocols/aerodrome-slipstream/abis.d.ts.map +1 -1
  396. package/sdk/dist/protocols/aerodrome-slipstream/abis.js +54 -0
  397. package/sdk/dist/protocols/aerodrome-slipstream/abis.js.map +1 -1
  398. package/sdk/dist/protocols/camelot/abis.d.ts +178 -0
  399. package/sdk/dist/protocols/camelot/abis.d.ts.map +1 -1
  400. package/sdk/dist/protocols/camelot/abis.js +139 -0
  401. package/sdk/dist/protocols/camelot/abis.js.map +1 -1
  402. package/sdk/dist/protocols/cbeth/functions.d.ts +2 -2
  403. package/sdk/dist/protocols/cbeth/functions.d.ts.map +1 -1
  404. package/sdk/dist/protocols/cbeth/functions.js +4 -6
  405. package/sdk/dist/protocols/cbeth/functions.js.map +1 -1
  406. package/sdk/dist/protocols/crvusd/functions.d.ts +2 -2
  407. package/sdk/dist/protocols/crvusd/functions.d.ts.map +1 -1
  408. package/sdk/dist/protocols/crvusd/functions.js +6 -6
  409. package/sdk/dist/protocols/eco-routes/abis.d.ts +792 -50
  410. package/sdk/dist/protocols/eco-routes/abis.d.ts.map +1 -1
  411. package/sdk/dist/protocols/eco-routes/abis.js +1058 -49
  412. package/sdk/dist/protocols/eco-routes/abis.js.map +1 -1
  413. package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts +44 -61
  414. package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts.map +1 -1
  415. package/sdk/dist/protocols/eco-routes/addresses.generated.js +45 -62
  416. package/sdk/dist/protocols/eco-routes/addresses.generated.js.map +1 -1
  417. package/sdk/dist/protocols/eco-routes/lookup.d.ts +10 -0
  418. package/sdk/dist/protocols/eco-routes/lookup.d.ts.map +1 -1
  419. package/sdk/dist/protocols/eco-routes/lookup.js +16 -0
  420. package/sdk/dist/protocols/eco-routes/lookup.js.map +1 -1
  421. package/sdk/dist/protocols/erc20/functions.d.ts +3 -3
  422. package/sdk/dist/protocols/erc20/functions.d.ts.map +1 -1
  423. package/sdk/dist/protocols/erc20/functions.js +6 -9
  424. package/sdk/dist/protocols/erc20/functions.js.map +1 -1
  425. package/sdk/dist/protocols/frax/functions.d.ts +2 -2
  426. package/sdk/dist/protocols/frax/functions.d.ts.map +1 -1
  427. package/sdk/dist/protocols/frax/functions.js +6 -6
  428. package/sdk/dist/protocols/gho/functions.d.ts +2 -2
  429. package/sdk/dist/protocols/gho/functions.d.ts.map +1 -1
  430. package/sdk/dist/protocols/gho/functions.js +4 -6
  431. package/sdk/dist/protocols/gho/functions.js.map +1 -1
  432. package/sdk/dist/protocols/liquity-v2/functions.d.ts +2 -2
  433. package/sdk/dist/protocols/liquity-v2/functions.d.ts.map +1 -1
  434. package/sdk/dist/protocols/liquity-v2/functions.js +4 -6
  435. package/sdk/dist/protocols/liquity-v2/functions.js.map +1 -1
  436. package/sdk/dist/protocols/maverick/abis.d.ts +77 -0
  437. package/sdk/dist/protocols/maverick/abis.d.ts.map +1 -1
  438. package/sdk/dist/protocols/maverick/abis.js +58 -0
  439. package/sdk/dist/protocols/maverick/abis.js.map +1 -1
  440. package/sdk/dist/protocols/maverick/addresses.d.ts.map +1 -1
  441. package/sdk/dist/protocols/maverick/addresses.js +4 -0
  442. package/sdk/dist/protocols/maverick/addresses.js.map +1 -1
  443. package/sdk/dist/protocols/pancakeswap-v2/abis.d.ts +52 -0
  444. package/sdk/dist/protocols/pancakeswap-v2/abis.d.ts.map +1 -1
  445. package/sdk/dist/protocols/pancakeswap-v2/abis.js +43 -0
  446. package/sdk/dist/protocols/pancakeswap-v2/abis.js.map +1 -1
  447. package/sdk/dist/protocols/pancakeswap-v3/abis.d.ts +73 -0
  448. package/sdk/dist/protocols/pancakeswap-v3/abis.d.ts.map +1 -1
  449. package/sdk/dist/protocols/pancakeswap-v3/abis.js +56 -0
  450. package/sdk/dist/protocols/pancakeswap-v3/abis.js.map +1 -1
  451. package/sdk/dist/protocols/permit2/abis.d.ts +113 -0
  452. package/sdk/dist/protocols/permit2/abis.d.ts.map +1 -1
  453. package/sdk/dist/protocols/permit2/abis.js +63 -0
  454. package/sdk/dist/protocols/permit2/abis.js.map +1 -1
  455. package/sdk/dist/protocols/quickswap/abis.d.ts +148 -0
  456. package/sdk/dist/protocols/quickswap/abis.d.ts.map +1 -1
  457. package/sdk/dist/protocols/quickswap/abis.js +119 -0
  458. package/sdk/dist/protocols/quickswap/abis.js.map +1 -1
  459. package/sdk/dist/protocols/sushiswap-v2/abis.d.ts +52 -0
  460. package/sdk/dist/protocols/sushiswap-v2/abis.d.ts.map +1 -1
  461. package/sdk/dist/protocols/sushiswap-v2/abis.js +42 -0
  462. package/sdk/dist/protocols/sushiswap-v2/abis.js.map +1 -1
  463. package/sdk/dist/protocols/synthra-v3/abis.d.ts +73 -0
  464. package/sdk/dist/protocols/synthra-v3/abis.d.ts.map +1 -1
  465. package/sdk/dist/protocols/synthra-v3/abis.js +55 -0
  466. package/sdk/dist/protocols/synthra-v3/abis.js.map +1 -1
  467. package/sdk/dist/protocols/trader-joe/abis.d.ts +133 -0
  468. package/sdk/dist/protocols/trader-joe/abis.d.ts.map +1 -1
  469. package/sdk/dist/protocols/trader-joe/abis.js +101 -0
  470. package/sdk/dist/protocols/trader-joe/abis.js.map +1 -1
  471. package/sdk/dist/protocols/trader-joe/addresses.d.ts.map +1 -1
  472. package/sdk/dist/protocols/trader-joe/addresses.js +5 -0
  473. package/sdk/dist/protocols/trader-joe/addresses.js.map +1 -1
  474. package/sdk/dist/protocols/uniswap-v2/abis.d.ts +52 -0
  475. package/sdk/dist/protocols/uniswap-v2/abis.d.ts.map +1 -1
  476. package/sdk/dist/protocols/uniswap-v2/abis.js +44 -0
  477. package/sdk/dist/protocols/uniswap-v2/abis.js.map +1 -1
  478. package/sdk/dist/protocols/uniswap-v3/abis.d.ts +73 -0
  479. package/sdk/dist/protocols/uniswap-v3/abis.d.ts.map +1 -1
  480. package/sdk/dist/protocols/uniswap-v3/abis.js +55 -0
  481. package/sdk/dist/protocols/uniswap-v3/abis.js.map +1 -1
  482. package/sdk/dist/protocols/uniswap-v4/abis.d.ts +247 -0
  483. package/sdk/dist/protocols/uniswap-v4/abis.d.ts.map +1 -1
  484. package/sdk/dist/protocols/uniswap-v4/abis.js +167 -0
  485. package/sdk/dist/protocols/uniswap-v4/abis.js.map +1 -1
  486. package/sdk/dist/protocols/uniswap-v4/addresses.d.ts.map +1 -1
  487. package/sdk/dist/protocols/uniswap-v4/addresses.js +50 -0
  488. package/sdk/dist/protocols/uniswap-v4/addresses.js.map +1 -1
  489. package/sdk/dist/protocols/unitflow-v3/abis.d.ts +73 -0
  490. package/sdk/dist/protocols/unitflow-v3/abis.d.ts.map +1 -1
  491. package/sdk/dist/protocols/unitflow-v3/abis.js +56 -0
  492. package/sdk/dist/protocols/unitflow-v3/abis.js.map +1 -1
  493. package/sdk/dist/protocols/velodrome/abis.d.ts +76 -0
  494. package/sdk/dist/protocols/velodrome/abis.d.ts.map +1 -1
  495. package/sdk/dist/protocols/velodrome/abis.js +61 -0
  496. package/sdk/dist/protocols/velodrome/abis.js.map +1 -1
  497. package/sdk/dist/recipes/cctp-split.sauce.ts +5 -3
  498. package/sdk/dist/recipes/plain-transfer.sauce.ts +5 -2
  499. package/sdk/dist/routes/accessor-index.d.ts +2 -2
  500. package/sdk/dist/routes/accessor-index.d.ts.map +1 -1
  501. package/sdk/dist/routes/accessor-index.js +4 -3
  502. package/sdk/dist/routes/accessor-index.js.map +1 -1
  503. package/sdk/dist/routes/ambient.d.ts +5 -0
  504. package/sdk/dist/routes/ambient.d.ts.map +1 -1
  505. package/sdk/dist/routes/ambient.js +20 -0
  506. package/sdk/dist/routes/ambient.js.map +1 -1
  507. package/sdk/dist/routes/ast-walk.d.ts +21 -3
  508. package/sdk/dist/routes/ast-walk.d.ts.map +1 -1
  509. package/sdk/dist/routes/ast-walk.js +33 -4
  510. package/sdk/dist/routes/ast-walk.js.map +1 -1
  511. package/sdk/dist/routes/available.d.ts +43 -0
  512. package/sdk/dist/routes/available.d.ts.map +1 -0
  513. package/sdk/dist/routes/available.js +230 -0
  514. package/sdk/dist/routes/available.js.map +1 -0
  515. package/sdk/dist/routes/builtins.generated.d.ts +180 -0
  516. package/sdk/dist/routes/builtins.generated.d.ts.map +1 -0
  517. package/sdk/dist/routes/builtins.generated.js +2 -0
  518. package/sdk/dist/routes/builtins.generated.js.map +1 -0
  519. package/sdk/dist/routes/chain-exports.generated.d.ts +13 -8
  520. package/sdk/dist/routes/chain-exports.generated.d.ts.map +1 -1
  521. package/sdk/dist/routes/chain-exports.generated.js.map +1 -1
  522. package/sdk/dist/routes/closure.d.ts.map +1 -1
  523. package/sdk/dist/routes/closure.js +13 -26
  524. package/sdk/dist/routes/closure.js.map +1 -1
  525. package/sdk/dist/routes/composed.d.ts.map +1 -1
  526. package/sdk/dist/routes/composed.js +20 -8
  527. package/sdk/dist/routes/composed.js.map +1 -1
  528. package/sdk/dist/routes/encode.d.ts +17 -0
  529. package/sdk/dist/routes/encode.d.ts.map +1 -1
  530. package/sdk/dist/routes/encode.js +14 -11
  531. package/sdk/dist/routes/encode.js.map +1 -1
  532. package/sdk/dist/routes/entry.d.ts +76 -0
  533. package/sdk/dist/routes/entry.d.ts.map +1 -0
  534. package/sdk/dist/routes/entry.js +478 -0
  535. package/sdk/dist/routes/entry.js.map +1 -0
  536. package/sdk/dist/routes/index.d.ts +21 -14
  537. package/sdk/dist/routes/index.d.ts.map +1 -1
  538. package/sdk/dist/routes/index.js +12 -9
  539. package/sdk/dist/routes/index.js.map +1 -1
  540. package/sdk/dist/routes/intent-body.d.ts +97 -0
  541. package/sdk/dist/routes/intent-body.d.ts.map +1 -0
  542. package/sdk/dist/routes/intent-body.js +441 -0
  543. package/sdk/dist/routes/intent-body.js.map +1 -0
  544. package/sdk/dist/routes/intent-dsl.d.ts +21 -6
  545. package/sdk/dist/routes/intent-dsl.d.ts.map +1 -1
  546. package/sdk/dist/routes/intent-dsl.js +34 -17
  547. package/sdk/dist/routes/intent-dsl.js.map +1 -1
  548. package/sdk/dist/routes/intent-sugar.d.ts +77 -4
  549. package/sdk/dist/routes/intent-sugar.d.ts.map +1 -1
  550. package/sdk/dist/routes/intent-sugar.js +358 -152
  551. package/sdk/dist/routes/intent-sugar.js.map +1 -1
  552. package/sdk/dist/routes/intent.d.ts +13 -1
  553. package/sdk/dist/routes/intent.d.ts.map +1 -1
  554. package/sdk/dist/routes/intent.js +37 -1
  555. package/sdk/dist/routes/intent.js.map +1 -1
  556. package/sdk/dist/routes/nest.d.ts +3 -2
  557. package/sdk/dist/routes/nest.d.ts.map +1 -1
  558. package/sdk/dist/routes/nest.js +5 -3
  559. package/sdk/dist/routes/nest.js.map +1 -1
  560. package/sdk/dist/routes/parse.d.ts +6 -0
  561. package/sdk/dist/routes/parse.d.ts.map +1 -0
  562. package/sdk/dist/routes/parse.js +39 -0
  563. package/sdk/dist/routes/parse.js.map +1 -0
  564. package/sdk/dist/routes/portal.d.ts +258 -4
  565. package/sdk/dist/routes/portal.d.ts.map +1 -1
  566. package/sdk/dist/routes/portal.js +588 -9
  567. package/sdk/dist/routes/portal.js.map +1 -1
  568. package/sdk/dist/routes/protocol-rewrite.d.ts +71 -1
  569. package/sdk/dist/routes/protocol-rewrite.d.ts.map +1 -1
  570. package/sdk/dist/routes/protocol-rewrite.js +178 -54
  571. package/sdk/dist/routes/protocol-rewrite.js.map +1 -1
  572. package/sdk/dist/routes/rs-compile.d.ts +25 -22
  573. package/sdk/dist/routes/rs-compile.d.ts.map +1 -1
  574. package/sdk/dist/routes/rs-compile.js +55 -49
  575. package/sdk/dist/routes/rs-compile.js.map +1 -1
  576. package/sdk/dist/routes/sauce-calls.d.ts +26 -12
  577. package/sdk/dist/routes/sauce-calls.d.ts.map +1 -1
  578. package/sdk/dist/routes/sauce-calls.js +16 -23
  579. package/sdk/dist/routes/sauce-calls.js.map +1 -1
  580. package/sdk/dist/routes/sauce-route.d.ts +74 -7
  581. package/sdk/dist/routes/sauce-route.d.ts.map +1 -1
  582. package/sdk/dist/routes/sauce-route.js +249 -96
  583. package/sdk/dist/routes/sauce-route.js.map +1 -1
  584. package/sdk/dist/routes/source-globals.d.ts +107 -0
  585. package/sdk/dist/routes/source-globals.d.ts.map +1 -0
  586. package/sdk/dist/routes/source-globals.generated.d.ts +5530 -936
  587. package/sdk/dist/routes/source-globals.generated.d.ts.map +1 -1
  588. package/sdk/dist/routes/source-globals.generated.js +3 -4
  589. package/sdk/dist/routes/source-globals.generated.js.map +1 -1
  590. package/sdk/dist/routes/source-globals.js +174 -0
  591. package/sdk/dist/routes/source-globals.js.map +1 -0
  592. package/sdk/dist/routes/stock-tokens.d.ts +69 -0
  593. package/sdk/dist/routes/stock-tokens.d.ts.map +1 -0
  594. package/sdk/dist/routes/stock-tokens.generated.d.ts +4 -0
  595. package/sdk/dist/routes/stock-tokens.generated.d.ts.map +1 -0
  596. package/sdk/dist/routes/stock-tokens.generated.js +1836 -0
  597. package/sdk/dist/routes/stock-tokens.generated.js.map +1 -0
  598. package/sdk/dist/routes/stock-tokens.js +65 -0
  599. package/sdk/dist/routes/stock-tokens.js.map +1 -0
  600. package/sdk/dist/routes/token-registry.d.ts +64 -8
  601. package/sdk/dist/routes/token-registry.d.ts.map +1 -1
  602. package/sdk/dist/routes/token-registry.js +208 -33
  603. package/sdk/dist/routes/token-registry.js.map +1 -1
  604. package/sdk/dist/routes/token-rewrite.d.ts +63 -28
  605. package/sdk/dist/routes/token-rewrite.d.ts.map +1 -1
  606. package/sdk/dist/routes/token-rewrite.js +387 -123
  607. package/sdk/dist/routes/token-rewrite.js.map +1 -1
  608. package/sdk/dist/routes/unknown-global.d.ts +32 -0
  609. package/sdk/dist/routes/unknown-global.d.ts.map +1 -0
  610. package/sdk/dist/routes/unknown-global.js +106 -0
  611. package/sdk/dist/routes/unknown-global.js.map +1 -0
  612. package/sdk/dist/routes/vault.d.ts +38 -8
  613. package/sdk/dist/routes/vault.d.ts.map +1 -1
  614. package/sdk/dist/routes/vault.js +47 -8
  615. package/sdk/dist/routes/vault.js.map +1 -1
  616. package/sdk/dist/sauce-script/builtins.d.ts +309 -0
  617. package/sdk/dist/sauce-script/declarations.d.ts +3 -0
  618. package/sdk/dist/sauce-script/declarations.d.ts.map +1 -0
  619. package/sdk/dist/sauce-script/declarations.js +229 -0
  620. package/sdk/dist/sauce-script/declarations.js.map +1 -0
  621. package/sdk/dist/sauce-script/index.d.ts +2714 -0
  622. package/sdk/dist/sauce-script/ts-plugin.cjs +85 -0
  623. package/sdk/dist/skills/loader.d.ts.map +1 -1
  624. package/sdk/dist/skills/loader.js +4 -3
  625. package/sdk/dist/skills/loader.js.map +1 -1
  626. package/sdk/dist/std/router/balancer-v2-vault.abi.json +78 -0
  627. package/sdk/dist/std/router/curve-cryptoswap.abi.json +29 -0
  628. package/sdk/dist/std/router/curve-stableswap.abi.json +29 -0
  629. package/sdk/dist/std/router/dodo-v2-pool.abi.json +39 -0
  630. package/sdk/dist/std/router/lb-pair.abi.json +55 -0
  631. package/sdk/dist/std/router/package.json +7 -0
  632. package/sdk/dist/std/router/router.evm.js +567 -0
  633. package/sdk/dist/std/router/sauce-router.abi.json +202 -0
  634. package/sdk/dist/std/router/uniswap-v2-pair.abi.json +49 -0
  635. package/sdk/dist/std/router/woo-pp-v2.abi.json +42 -0
  636. package/sdk/dist/std/token/permit2.abi.json +226 -0
  637. package/sdk/dist/std/token/token.evm.js +73 -0
  638. package/sdk/dist/std/token/token.svm.js +194 -41
  639. package/sdk/dist/svm/client.d.ts +62 -15
  640. package/sdk/dist/svm/client.d.ts.map +1 -1
  641. package/sdk/dist/svm/client.js +103 -42
  642. package/sdk/dist/svm/client.js.map +1 -1
  643. package/sdk/dist/svm/engine.d.ts +66 -5
  644. package/sdk/dist/svm/engine.d.ts.map +1 -1
  645. package/sdk/dist/svm/engine.js +73 -5
  646. package/sdk/dist/svm/engine.js.map +1 -1
  647. package/sdk/dist/svm/index.d.ts +2 -0
  648. package/sdk/dist/svm/index.d.ts.map +1 -1
  649. package/sdk/dist/svm/index.js +2 -0
  650. package/sdk/dist/svm/index.js.map +1 -1
  651. package/sdk/dist/svm/instructions.d.ts +72 -1
  652. package/sdk/dist/svm/instructions.d.ts.map +1 -1
  653. package/sdk/dist/svm/instructions.js +81 -2
  654. package/sdk/dist/svm/instructions.js.map +1 -1
  655. package/sdk/dist/svm/kitchen.d.ts +20 -1
  656. package/sdk/dist/svm/kitchen.d.ts.map +1 -1
  657. package/sdk/dist/svm/kitchen.js +47 -1
  658. package/sdk/dist/svm/kitchen.js.map +1 -1
  659. package/sdk/dist/svm/portal.d.ts +250 -0
  660. package/sdk/dist/svm/portal.d.ts.map +1 -0
  661. package/sdk/dist/svm/portal.js +462 -0
  662. package/sdk/dist/svm/portal.js.map +1 -0
  663. package/sdk/dist/svm/send.d.ts +18 -2
  664. package/sdk/dist/svm/send.d.ts.map +1 -1
  665. package/sdk/dist/svm/send.js +28 -3
  666. package/sdk/dist/svm/send.js.map +1 -1
  667. package/sdk/dist/svm/token-accounts.d.ts +49 -0
  668. package/sdk/dist/svm/token-accounts.d.ts.map +1 -0
  669. package/sdk/dist/svm/token-accounts.js +58 -0
  670. package/sdk/dist/svm/token-accounts.js.map +1 -0
  671. package/sdk/dist/svm/token-extensions.d.ts +18 -7
  672. package/sdk/dist/svm/token-extensions.d.ts.map +1 -1
  673. package/sdk/dist/svm/token-extensions.js +58 -5
  674. package/sdk/dist/svm/token-extensions.js.map +1 -1
  675. package/sdk/dist/token/api.d.ts +7 -4
  676. package/sdk/dist/token/api.d.ts.map +1 -1
  677. package/sdk/dist/token/api.js.map +1 -1
  678. package/sdk/dist/token/evm.js +2 -2
  679. package/sdk/dist/token/index.d.ts +4 -4
  680. package/sdk/dist/token/index.js +4 -4
  681. package/sdk/dist/token/params.js +1 -1
  682. package/sdk/dist/token/source.js +3 -3
  683. package/sdk/dist/token/source.js.map +1 -1
  684. package/sdk/dist/token/types.d.ts +2 -2
  685. package/sdk/dist/token/types.js +2 -2
  686. package/sdk/src/protocols/aerodrome/AerodromePoolABI.json +105 -0
  687. package/sdk/src/protocols/aerodrome/abis.ts +62 -0
  688. package/sdk/src/protocols/aerodrome-slipstream/AerodromeSlipstreamPoolABI.json +96 -0
  689. package/sdk/src/protocols/aerodrome-slipstream/abis.ts +55 -0
  690. package/sdk/src/protocols/camelot/CamelotV2FactoryABI.json +25 -0
  691. package/sdk/src/protocols/camelot/CamelotV2PairABI.json +109 -0
  692. package/sdk/src/protocols/camelot/CamelotV3FactoryABI.json +25 -0
  693. package/sdk/src/protocols/camelot/CamelotV3PoolABI.json +92 -0
  694. package/sdk/src/protocols/camelot/abis.ts +143 -0
  695. package/sdk/src/protocols/cbeth/functions.ts +4 -6
  696. package/sdk/src/protocols/crvusd/functions.ts +6 -6
  697. package/sdk/src/protocols/eco-routes/PortalABI.json +1448 -0
  698. package/sdk/src/protocols/eco-routes/ProverABI.json +162 -0
  699. package/sdk/src/protocols/eco-routes/abis.ts +1060 -51
  700. package/sdk/src/protocols/eco-routes/addresses.generated.ts +45 -62
  701. package/sdk/src/protocols/eco-routes/lookup.ts +18 -0
  702. package/sdk/src/protocols/erc20/functions.ts +6 -9
  703. package/sdk/src/protocols/frax/functions.ts +6 -6
  704. package/sdk/src/protocols/gho/functions.ts +4 -6
  705. package/sdk/src/protocols/liquity-v2/functions.ts +4 -6
  706. package/sdk/src/protocols/maverick/MaverickV2PoolABI.json +107 -0
  707. package/sdk/src/protocols/maverick/abis.ts +59 -0
  708. package/sdk/src/protocols/maverick/addresses.ts +4 -0
  709. package/sdk/src/protocols/pancakeswap-v2/PancakeSwapV2PairABI.json +72 -0
  710. package/sdk/src/protocols/pancakeswap-v2/abis.ts +44 -0
  711. package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3PoolABI.json +100 -0
  712. package/sdk/src/protocols/pancakeswap-v3/abis.ts +57 -0
  713. package/sdk/src/protocols/permit2/Permit2ABI.json +154 -0
  714. package/sdk/src/protocols/permit2/abis.ts +63 -0
  715. package/sdk/src/protocols/quickswap/QuickSwapV2FactoryABI.json +25 -0
  716. package/sdk/src/protocols/quickswap/QuickSwapV2PairABI.json +72 -0
  717. package/sdk/src/protocols/quickswap/QuickSwapV3FactoryABI.json +25 -0
  718. package/sdk/src/protocols/quickswap/QuickSwapV3PoolABI.json +88 -0
  719. package/sdk/src/protocols/quickswap/abis.ts +123 -0
  720. package/sdk/src/protocols/sushiswap-v2/SushiSwapV2PairABI.json +72 -0
  721. package/sdk/src/protocols/sushiswap-v2/abis.ts +43 -0
  722. package/sdk/src/protocols/synthra-v3/SynthraV3PoolABI.json +100 -0
  723. package/sdk/src/protocols/synthra-v3/abis.ts +56 -0
  724. package/sdk/src/protocols/trader-joe/LBPairABI.json +185 -0
  725. package/sdk/src/protocols/trader-joe/abis.ts +102 -0
  726. package/sdk/src/protocols/trader-joe/addresses.ts +5 -0
  727. package/sdk/src/protocols/uniswap-v2/UniswapV2PairABI.json +72 -0
  728. package/sdk/src/protocols/uniswap-v2/abis.ts +45 -0
  729. package/sdk/src/protocols/uniswap-v3/UniswapV3PoolABI.json +100 -0
  730. package/sdk/src/protocols/uniswap-v3/abis.ts +56 -0
  731. package/sdk/src/protocols/uniswap-v4/UniswapV4PoolManagerABI.json +38 -0
  732. package/sdk/src/protocols/uniswap-v4/UniswapV4StateViewABI.json +307 -0
  733. package/sdk/src/protocols/uniswap-v4/abis.ts +168 -0
  734. package/sdk/src/protocols/uniswap-v4/addresses.ts +50 -0
  735. package/sdk/src/protocols/unitflow-v3/UnitFlowV3PoolABI.json +100 -0
  736. package/sdk/src/protocols/unitflow-v3/abis.ts +57 -0
  737. package/sdk/src/protocols/velodrome/VelodromePoolABI.json +105 -0
  738. package/sdk/src/protocols/velodrome/abis.ts +62 -0
  739. package/skills/sauce-actions/SKILL.md +166 -0
  740. package/skills/sauce-actions/examples/swap-and-supply.json +24 -0
  741. package/skills/sauce-actions/examples/swap-by-key.json +15 -0
  742. package/skills/sauce-actions/references/actions.md +731 -0
  743. package/skills/sauce-chains/SKILL.md +137 -0
  744. package/skills/sauce-chains/examples/chains.sauce.ts +25 -0
  745. package/skills/sauce-chains/references/arbitrum.md +158 -0
  746. package/skills/sauce-chains/references/arc.md +107 -0
  747. package/skills/sauce-chains/references/aurora.md +33 -0
  748. package/skills/sauce-chains/references/avalanche.md +106 -0
  749. package/skills/sauce-chains/references/base-stocks.md +77 -0
  750. package/skills/sauce-chains/references/base.md +141 -0
  751. package/skills/sauce-chains/references/berachain.md +33 -0
  752. package/skills/sauce-chains/references/blast.md +60 -0
  753. package/skills/sauce-chains/references/boba.md +33 -0
  754. package/skills/sauce-chains/references/bsc.md +97 -0
  755. package/skills/sauce-chains/references/celo.md +57 -0
  756. package/skills/sauce-chains/references/core.md +33 -0
  757. package/skills/sauce-chains/references/cronos.md +33 -0
  758. package/skills/sauce-chains/references/ethereum-stocks.md +1741 -0
  759. package/skills/sauce-chains/references/ethereum.md +255 -0
  760. package/skills/sauce-chains/references/evmos.md +33 -0
  761. package/skills/sauce-chains/references/fantom.md +61 -0
  762. package/skills/sauce-chains/references/fuse.md +33 -0
  763. package/skills/sauce-chains/references/gnosis.md +57 -0
  764. package/skills/sauce-chains/references/index.md +58 -0
  765. package/skills/sauce-chains/references/ink.md +55 -0
  766. package/skills/sauce-chains/references/kava.md +33 -0
  767. package/skills/sauce-chains/references/klaytn.md +33 -0
  768. package/skills/sauce-chains/references/linea.md +65 -0
  769. package/skills/sauce-chains/references/manta.md +33 -0
  770. package/skills/sauce-chains/references/mantle.md +33 -0
  771. package/skills/sauce-chains/references/metis.md +54 -0
  772. package/skills/sauce-chains/references/mode.md +55 -0
  773. package/skills/sauce-chains/references/monad.md +79 -0
  774. package/skills/sauce-chains/references/moonbeam.md +33 -0
  775. package/skills/sauce-chains/references/opbnb.md +55 -0
  776. package/skills/sauce-chains/references/optimism.md +123 -0
  777. package/skills/sauce-chains/references/plasma.md +35 -0
  778. package/skills/sauce-chains/references/polygon.md +123 -0
  779. package/skills/sauce-chains/references/pulsechain.md +33 -0
  780. package/skills/sauce-chains/references/ronin.md +35 -0
  781. package/skills/sauce-chains/references/scroll.md +62 -0
  782. package/skills/sauce-chains/references/sei.md +55 -0
  783. package/skills/sauce-chains/references/solana.md +53 -0
  784. package/skills/sauce-chains/references/sonic.md +57 -0
  785. package/skills/sauce-chains/references/unichain.md +61 -0
  786. package/skills/sauce-chains/references/zetachain.md +33 -0
  787. package/skills/sauce-chains/references/zksync.md +59 -0
  788. package/skills/sauce-chains/references/zora.md +57 -0
  789. package/skills/sauce-cli/SKILL.md +366 -0
  790. package/skills/sauce-cli/examples/pay.sauce.ts +23 -0
  791. package/skills/sauce-cli/examples/split.sauce.ts +30 -0
  792. package/skills/sauce-distributed-swap/SKILL.md +392 -0
  793. package/skills/sauce-distributed-swap/examples/distributed-swap.mts +251 -0
  794. package/skills/sauce-distributed-swap/examples/distributed-swap.sauce.ts +115 -0
  795. package/skills/sauce-examples/SKILL.md +96 -0
  796. package/skills/sauce-globals/SKILL.md +175 -0
  797. package/skills/sauce-globals/examples/globals.mts +111 -0
  798. package/skills/sauce-globals/examples/globals.sauce.ts +47 -0
  799. package/skills/sauce-globals/references/chains.md +53 -0
  800. package/skills/sauce-globals/references/protocols.md +405 -0
  801. package/skills/sauce-globals/references/stocks.md +1824 -0
  802. package/skills/sauce-globals/references/tokens.md +53 -0
  803. package/skills/sauce-intents/SKILL.md +505 -0
  804. package/skills/sauce-intents/examples/cross-chain.sauce.ts +37 -0
  805. package/skills/sauce-intents/examples/fund-by-transfer.sauce.ts +54 -0
  806. package/skills/sauce-intents/examples/intents.mts +343 -0
  807. package/skills/sauce-intents/examples/swap-on-base.sauce.ts +135 -0
  808. package/skills/sauce-intents/references/portal.md +77 -0
  809. package/skills/sauce-overview/SKILL.md +161 -0
  810. package/skills/sauce-protocols/SKILL.md +118 -0
  811. package/skills/sauce-protocols/examples/protocols.mts +77 -0
  812. package/skills/sauce-protocols/examples/protocols.sauce.ts +27 -0
  813. package/{sdk/src/skills → skills/sauce-protocols/references}/aave-v2.md +35 -17
  814. package/skills/sauce-protocols/references/aave-v3.md +144 -0
  815. package/skills/sauce-protocols/references/aave-v4.md +50 -0
  816. package/skills/sauce-protocols/references/abracadabra.md +72 -0
  817. package/skills/sauce-protocols/references/across.md +73 -0
  818. package/skills/sauce-protocols/references/aerodrome-slipstream.md +50 -0
  819. package/{sdk/src/skills → skills/sauce-protocols/references}/aerodrome.md +43 -24
  820. package/skills/sauce-protocols/references/aevo.md +49 -0
  821. package/{sdk/src/skills → skills/sauce-protocols/references}/alchemix.md +10 -25
  822. package/{sdk/src/skills → skills/sauce-protocols/references}/ambient.md +14 -21
  823. package/{sdk/src/skills → skills/sauce-protocols/references}/arbitrum-bridge.md +11 -14
  824. package/{sdk/src/skills → skills/sauce-protocols/references}/arrakis.md +10 -26
  825. package/skills/sauce-protocols/references/axelar.md +56 -0
  826. package/{sdk/src/skills → skills/sauce-protocols/references}/balancer-v2.md +13 -29
  827. package/{sdk/src/skills → skills/sauce-protocols/references}/base-bridge.md +11 -16
  828. package/{sdk/src/skills → skills/sauce-protocols/references}/baseswap.md +12 -19
  829. package/{sdk/src/skills → skills/sauce-protocols/references}/beefy.md +10 -30
  830. package/{sdk/src/skills → skills/sauce-protocols/references}/benqi.md +11 -21
  831. package/{sdk/src/skills → skills/sauce-protocols/references}/camelot.md +13 -27
  832. package/skills/sauce-protocols/references/cbeth.md +48 -0
  833. package/skills/sauce-protocols/references/cctp.md +47 -0
  834. package/{sdk/src/skills → skills/sauce-protocols/references}/celer.md +11 -18
  835. package/{sdk/src/skills → skills/sauce-protocols/references}/chainlink-ccip.md +11 -21
  836. package/skills/sauce-protocols/references/chainlink.md +47 -0
  837. package/{sdk/src/skills → skills/sauce-protocols/references}/circle-gateway.md +12 -38
  838. package/{sdk/src/skills → skills/sauce-protocols/references}/compound-v2.md +11 -25
  839. package/{sdk/src/skills → skills/sauce-protocols/references}/compound-v3.md +43 -27
  840. package/{sdk/src/skills → skills/sauce-protocols/references}/connext.md +11 -15
  841. package/{sdk/src/skills → skills/sauce-protocols/references}/convex.md +10 -28
  842. package/{sdk/src/skills → skills/sauce-protocols/references}/cowswap.md +12 -19
  843. package/skills/sauce-protocols/references/crvusd.md +49 -0
  844. package/skills/sauce-protocols/references/curve.md +98 -0
  845. package/{sdk/src/skills → skills/sauce-protocols/references}/debridge.md +11 -33
  846. package/{sdk/src/skills → skills/sauce-protocols/references}/dodo.md +13 -18
  847. package/skills/sauce-protocols/references/eigenlayer.md +48 -0
  848. package/{sdk/src/skills → skills/sauce-protocols/references}/ens.md +10 -26
  849. package/{sdk/src/skills → skills/sauce-protocols/references}/erc20.md +18 -34
  850. package/{sdk/src/skills → skills/sauce-protocols/references}/erc3156.md +10 -13
  851. package/{sdk/src/skills → skills/sauce-protocols/references}/erc4626.md +11 -27
  852. package/{sdk/src/skills → skills/sauce-protocols/references}/ethena.md +10 -27
  853. package/{sdk/src/skills → skills/sauce-protocols/references}/etherfi.md +10 -32
  854. package/{sdk/src/skills → skills/sauce-protocols/references}/euler-v2.md +11 -21
  855. package/{sdk/src/skills → skills/sauce-protocols/references}/fenix.md +12 -18
  856. package/{sdk/src/skills → skills/sauce-protocols/references}/fluid.md +11 -20
  857. package/{sdk/src/skills → skills/sauce-protocols/references}/frax-ether.md +10 -26
  858. package/skills/sauce-protocols/references/frax.md +48 -0
  859. package/{sdk/src/skills → skills/sauce-protocols/references}/gains-network.md +11 -28
  860. package/skills/sauce-protocols/references/gamma.md +57 -0
  861. package/{sdk/src/skills → skills/sauce-protocols/references}/gelato.md +12 -20
  862. package/skills/sauce-protocols/references/gho.md +50 -0
  863. package/{sdk/src/skills → skills/sauce-protocols/references}/gmx-v1.md +12 -34
  864. package/{sdk/src/skills → skills/sauce-protocols/references}/gmx-v2.md +15 -28
  865. package/skills/sauce-protocols/references/harvest.md +41 -0
  866. package/{sdk/src/skills → skills/sauce-protocols/references}/hegic.md +10 -18
  867. package/{sdk/src/skills → skills/sauce-protocols/references}/hop.md +11 -21
  868. package/{sdk/src/skills → skills/sauce-protocols/references}/hyperlane.md +11 -21
  869. package/skills/sauce-protocols/references/index.md +355 -0
  870. package/{sdk/src/skills → skills/sauce-protocols/references}/instadapp.md +10 -18
  871. package/skills/sauce-protocols/references/kelp.md +46 -0
  872. package/{sdk/src/skills → skills/sauce-protocols/references}/kim.md +12 -18
  873. package/{sdk/src/skills → skills/sauce-protocols/references}/kyberswap-aggregator.md +12 -35
  874. package/skills/sauce-protocols/references/kyberswap.md +72 -0
  875. package/{sdk/src/skills → skills/sauce-protocols/references}/layerbank.md +11 -26
  876. package/{sdk/src/skills → skills/sauce-protocols/references}/layerzero.md +11 -25
  877. package/{sdk/src/skills → skills/sauce-protocols/references}/level-finance.md +10 -24
  878. package/{sdk/src/skills → skills/sauce-protocols/references}/lido.md +10 -28
  879. package/{sdk/src/skills → skills/sauce-protocols/references}/lifi.md +11 -25
  880. package/{sdk/src/skills → skills/sauce-protocols/references}/linea-bridge.md +11 -14
  881. package/{sdk/src/skills → skills/sauce-protocols/references}/liquity-v1.md +10 -21
  882. package/skills/sauce-protocols/references/liquity-v2.md +48 -0
  883. package/{sdk/src/skills → skills/sauce-protocols/references}/lynex.md +12 -18
  884. package/skills/sauce-protocols/references/maker.md +57 -0
  885. package/skills/sauce-protocols/references/mantle-meth.md +43 -0
  886. package/{sdk/src/skills → skills/sauce-protocols/references}/maverick.md +13 -25
  887. package/{sdk/src/skills → skills/sauce-protocols/references}/moonwell.md +11 -21
  888. package/{sdk/src/skills → skills/sauce-protocols/references}/morpho-blue.md +44 -21
  889. package/{sdk/src/skills → skills/sauce-protocols/references}/mux-protocol.md +10 -30
  890. package/skills/sauce-protocols/references/olympus.md +39 -0
  891. package/skills/sauce-protocols/references/oneinch.md +81 -0
  892. package/skills/sauce-protocols/references/openocean.md +69 -0
  893. package/{sdk/src/skills → skills/sauce-protocols/references}/optimism-bridge.md +11 -16
  894. package/{sdk/src/skills → skills/sauce-protocols/references}/opyn.md +10 -21
  895. package/{sdk/src/skills → skills/sauce-protocols/references}/pancakeswap-v2.md +39 -41
  896. package/skills/sauce-protocols/references/pancakeswap-v3.md +72 -0
  897. package/skills/sauce-protocols/references/paraswap.md +39 -0
  898. package/{sdk/src/skills → skills/sauce-protocols/references}/pendle.md +47 -29
  899. package/skills/sauce-protocols/references/permit2.md +101 -0
  900. package/skills/sauce-protocols/references/perpetual-protocol.md +53 -0
  901. package/{sdk/src/skills → skills/sauce-protocols/references}/polygon-bridge.md +11 -17
  902. package/{sdk/src/skills → skills/sauce-protocols/references}/premia.md +10 -19
  903. package/{sdk/src/skills → skills/sauce-protocols/references}/puffer.md +10 -21
  904. package/skills/sauce-protocols/references/pyth.md +45 -0
  905. package/{sdk/src/skills → skills/sauce-protocols/references}/quickswap.md +13 -27
  906. package/{sdk/src/skills → skills/sauce-protocols/references}/radiant.md +11 -15
  907. package/{sdk/src/skills → skills/sauce-protocols/references}/ramses.md +12 -18
  908. package/skills/sauce-protocols/references/reflexer.md +52 -0
  909. package/skills/sauce-protocols/references/registry/aave-v2.md +43 -0
  910. package/skills/sauce-protocols/references/registry/aave-v3.md +62 -0
  911. package/skills/sauce-protocols/references/registry/aave-v4.md +80 -0
  912. package/skills/sauce-protocols/references/registry/abracadabra.md +54 -0
  913. package/skills/sauce-protocols/references/registry/across.md +57 -0
  914. package/skills/sauce-protocols/references/registry/aerodrome-slipstream.md +72 -0
  915. package/skills/sauce-protocols/references/registry/aerodrome.md +58 -0
  916. package/skills/sauce-protocols/references/registry/aevo.md +39 -0
  917. package/skills/sauce-protocols/references/registry/alchemix.md +46 -0
  918. package/skills/sauce-protocols/references/registry/ambient.md +40 -0
  919. package/skills/sauce-protocols/references/registry/arbitrum-bridge.md +40 -0
  920. package/skills/sauce-protocols/references/registry/arrakis.md +49 -0
  921. package/skills/sauce-protocols/references/registry/axelar.md +65 -0
  922. package/skills/sauce-protocols/references/registry/balancer-v2.md +50 -0
  923. package/skills/sauce-protocols/references/registry/base-bridge.md +42 -0
  924. package/skills/sauce-protocols/references/registry/baseswap.md +40 -0
  925. package/skills/sauce-protocols/references/registry/beefy.md +51 -0
  926. package/skills/sauce-protocols/references/registry/benqi.md +49 -0
  927. package/skills/sauce-protocols/references/registry/camelot.md +82 -0
  928. package/skills/sauce-protocols/references/registry/cbeth.md +43 -0
  929. package/skills/sauce-protocols/references/registry/cctp.md +48 -0
  930. package/skills/sauce-protocols/references/registry/celer.md +44 -0
  931. package/skills/sauce-protocols/references/registry/chainlink-ccip.md +45 -0
  932. package/skills/sauce-protocols/references/registry/chainlink.md +49 -0
  933. package/skills/sauce-protocols/references/registry/circle-gateway.md +70 -0
  934. package/skills/sauce-protocols/references/registry/compound-v2.md +53 -0
  935. package/skills/sauce-protocols/references/registry/compound-v3.md +52 -0
  936. package/skills/sauce-protocols/references/registry/connext.md +41 -0
  937. package/skills/sauce-protocols/references/registry/convex.md +51 -0
  938. package/skills/sauce-protocols/references/registry/cowswap.md +40 -0
  939. package/skills/sauce-protocols/references/registry/crvusd.md +40 -0
  940. package/skills/sauce-protocols/references/registry/curve.md +81 -0
  941. package/skills/sauce-protocols/references/registry/debridge.md +59 -0
  942. package/skills/sauce-protocols/references/registry/dodo.md +39 -0
  943. package/skills/sauce-protocols/references/registry/eco-routes.md +65 -0
  944. package/skills/sauce-protocols/references/registry/eigenlayer.md +58 -0
  945. package/skills/sauce-protocols/references/registry/ens.md +49 -0
  946. package/skills/sauce-protocols/references/registry/erc20.md +44 -0
  947. package/skills/sauce-protocols/references/registry/erc3156.md +38 -0
  948. package/skills/sauce-protocols/references/registry/erc4626.md +51 -0
  949. package/skills/sauce-protocols/references/registry/ethena.md +50 -0
  950. package/skills/sauce-protocols/references/registry/etherfi.md +57 -0
  951. package/skills/sauce-protocols/references/registry/euler-v2.md +49 -0
  952. package/skills/sauce-protocols/references/registry/fenix.md +39 -0
  953. package/skills/sauce-protocols/references/registry/fluid.md +48 -0
  954. package/skills/sauce-protocols/references/registry/frax-ether.md +49 -0
  955. package/skills/sauce-protocols/references/registry/frax.md +40 -0
  956. package/skills/sauce-protocols/references/registry/gains-network.md +43 -0
  957. package/skills/sauce-protocols/references/registry/gamma.md +56 -0
  958. package/skills/sauce-protocols/references/registry/gelato.md +45 -0
  959. package/skills/sauce-protocols/references/registry/gho.md +40 -0
  960. package/skills/sauce-protocols/references/registry/gmx-v1.md +59 -0
  961. package/skills/sauce-protocols/references/registry/gmx-v2.md +41 -0
  962. package/skills/sauce-protocols/references/registry/harvest.md +44 -0
  963. package/skills/sauce-protocols/references/registry/hegic.md +39 -0
  964. package/skills/sauce-protocols/references/registry/hop.md +49 -0
  965. package/skills/sauce-protocols/references/registry/hyperlane.md +48 -0
  966. package/skills/sauce-protocols/references/registry/instadapp.md +39 -0
  967. package/skills/sauce-protocols/references/registry/kelp.md +47 -0
  968. package/skills/sauce-protocols/references/registry/kim.md +39 -0
  969. package/skills/sauce-protocols/references/registry/kyberswap-aggregator.md +49 -0
  970. package/skills/sauce-protocols/references/registry/kyberswap.md +63 -0
  971. package/skills/sauce-protocols/references/registry/layerbank.md +54 -0
  972. package/skills/sauce-protocols/references/registry/layerzero.md +49 -0
  973. package/skills/sauce-protocols/references/registry/level-finance.md +41 -0
  974. package/skills/sauce-protocols/references/registry/lido.md +51 -0
  975. package/skills/sauce-protocols/references/registry/lifi.md +48 -0
  976. package/skills/sauce-protocols/references/registry/linea-bridge.md +40 -0
  977. package/skills/sauce-protocols/references/registry/liquity-v1.md +42 -0
  978. package/skills/sauce-protocols/references/registry/liquity-v2.md +40 -0
  979. package/skills/sauce-protocols/references/registry/lynex.md +39 -0
  980. package/skills/sauce-protocols/references/registry/maker.md +55 -0
  981. package/skills/sauce-protocols/references/registry/mantle-meth.md +48 -0
  982. package/skills/sauce-protocols/references/registry/maverick.md +60 -0
  983. package/skills/sauce-protocols/references/registry/moonwell.md +49 -0
  984. package/skills/sauce-protocols/references/registry/morpho-blue.md +47 -0
  985. package/skills/sauce-protocols/references/registry/mux-protocol.md +49 -0
  986. package/skills/sauce-protocols/references/registry/olympus.md +42 -0
  987. package/skills/sauce-protocols/references/registry/oneinch.md +45 -0
  988. package/skills/sauce-protocols/references/registry/openocean.md +44 -0
  989. package/skills/sauce-protocols/references/registry/optimism-bridge.md +42 -0
  990. package/skills/sauce-protocols/references/registry/opyn.md +42 -0
  991. package/skills/sauce-protocols/references/registry/pancakeswap-v2.md +71 -0
  992. package/skills/sauce-protocols/references/registry/pancakeswap-v3.md +76 -0
  993. package/skills/sauce-protocols/references/registry/paraswap.md +51 -0
  994. package/skills/sauce-protocols/references/registry/pendle.md +43 -0
  995. package/skills/sauce-protocols/references/registry/permit2.md +50 -0
  996. package/skills/sauce-protocols/references/registry/perpetual-protocol.md +49 -0
  997. package/skills/sauce-protocols/references/registry/polygon-bridge.md +43 -0
  998. package/skills/sauce-protocols/references/registry/premia.md +40 -0
  999. package/skills/sauce-protocols/references/registry/puffer.md +43 -0
  1000. package/skills/sauce-protocols/references/registry/pyth.md +40 -0
  1001. package/skills/sauce-protocols/references/registry/quickswap.md +80 -0
  1002. package/skills/sauce-protocols/references/registry/radiant.md +41 -0
  1003. package/skills/sauce-protocols/references/registry/ramses.md +39 -0
  1004. package/skills/sauce-protocols/references/registry/reflexer.md +56 -0
  1005. package/skills/sauce-protocols/references/registry/renzo.md +47 -0
  1006. package/skills/sauce-protocols/references/registry/rocket-pool.md +49 -0
  1007. package/skills/sauce-protocols/references/registry/sablier.md +40 -0
  1008. package/skills/sauce-protocols/references/registry/safe.md +47 -0
  1009. package/skills/sauce-protocols/references/registry/scroll-bridge.md +48 -0
  1010. package/skills/sauce-protocols/references/registry/seamless.md +42 -0
  1011. package/skills/sauce-protocols/references/registry/seaport.md +44 -0
  1012. package/skills/sauce-protocols/references/registry/silo.md +48 -0
  1013. package/skills/sauce-protocols/references/registry/socket.md +44 -0
  1014. package/skills/sauce-protocols/references/registry/sommelier.md +43 -0
  1015. package/skills/sauce-protocols/references/registry/spark.md +42 -0
  1016. package/skills/sauce-protocols/references/registry/spookyswap.md +40 -0
  1017. package/skills/sauce-protocols/references/registry/squid.md +45 -0
  1018. package/skills/sauce-protocols/references/registry/stader.md +47 -0
  1019. package/skills/sauce-protocols/references/registry/stargate.md +45 -0
  1020. package/skills/sauce-protocols/references/registry/superfluid.md +49 -0
  1021. package/skills/sauce-protocols/references/registry/sushiswap-v2.md +71 -0
  1022. package/skills/sauce-protocols/references/registry/swell.md +49 -0
  1023. package/skills/sauce-protocols/references/registry/synapse.md +46 -0
  1024. package/skills/sauce-protocols/references/registry/syncswap.md +38 -0
  1025. package/skills/sauce-protocols/references/registry/synthetix-v3.md +48 -0
  1026. package/skills/sauce-protocols/references/registry/synthra-v3.md +77 -0
  1027. package/skills/sauce-protocols/references/registry/thales.md +51 -0
  1028. package/skills/sauce-protocols/references/registry/thena.md +39 -0
  1029. package/skills/sauce-protocols/references/registry/thruster.md +38 -0
  1030. package/skills/sauce-protocols/references/registry/tokemak.md +45 -0
  1031. package/skills/sauce-protocols/references/registry/trader-joe.md +66 -0
  1032. package/skills/sauce-protocols/references/registry/uniswap-v2.md +77 -0
  1033. package/skills/sauce-protocols/references/registry/uniswap-v3.md +113 -0
  1034. package/skills/sauce-protocols/references/registry/uniswap-v4.md +117 -0
  1035. package/skills/sauce-protocols/references/registry/unitflow-v3.md +65 -0
  1036. package/skills/sauce-protocols/references/registry/velodrome.md +58 -0
  1037. package/skills/sauce-protocols/references/registry/venus.md +62 -0
  1038. package/skills/sauce-protocols/references/registry/vertex.md +46 -0
  1039. package/skills/sauce-protocols/references/registry/wormhole.md +59 -0
  1040. package/skills/sauce-protocols/references/registry/yearn-v3.md +46 -0
  1041. package/skills/sauce-protocols/references/registry/zerolend.md +41 -0
  1042. package/skills/sauce-protocols/references/registry/zerox.md +44 -0
  1043. package/skills/sauce-protocols/references/registry/zksync-bridge.md +40 -0
  1044. package/{sdk/src/skills → skills/sauce-protocols/references}/renzo.md +10 -24
  1045. package/{sdk/src/skills → skills/sauce-protocols/references}/rocket-pool.md +10 -26
  1046. package/{sdk/src/skills → skills/sauce-protocols/references}/sablier.md +10 -27
  1047. package/skills/sauce-protocols/references/safe.md +42 -0
  1048. package/{sdk/src/skills → skills/sauce-protocols/references}/scroll-bridge.md +11 -20
  1049. package/{sdk/src/skills → skills/sauce-protocols/references}/seamless.md +11 -16
  1050. package/skills/sauce-protocols/references/seaport.md +38 -0
  1051. package/{sdk/src/skills → skills/sauce-protocols/references}/silo.md +11 -20
  1052. package/{sdk/src/skills → skills/sauce-protocols/references}/socket.md +11 -18
  1053. package/skills/sauce-protocols/references/sommelier.md +40 -0
  1054. package/{sdk/src/skills → skills/sauce-protocols/references}/spark.md +11 -16
  1055. package/{sdk/src/skills → skills/sauce-protocols/references}/spookyswap.md +12 -19
  1056. package/{sdk/src/skills → skills/sauce-protocols/references}/squid.md +11 -21
  1057. package/skills/sauce-protocols/references/stader.md +39 -0
  1058. package/{sdk/src/skills → skills/sauce-protocols/references}/stargate.md +11 -22
  1059. package/{sdk/src/skills → skills/sauce-protocols/references}/superfluid.md +10 -28
  1060. package/{sdk/src/skills → skills/sauce-protocols/references}/sushiswap-v2.md +38 -43
  1061. package/skills/sauce-protocols/references/swell.md +49 -0
  1062. package/skills/sauce-protocols/references/synapse.md +54 -0
  1063. package/{sdk/src/skills → skills/sauce-protocols/references}/syncswap.md +12 -17
  1064. package/{sdk/src/skills → skills/sauce-protocols/references}/synthetix-v3.md +10 -29
  1065. package/skills/sauce-protocols/references/synthra-v3.md +63 -0
  1066. package/skills/sauce-protocols/references/thales.md +58 -0
  1067. package/{sdk/src/skills → skills/sauce-protocols/references}/thena.md +12 -18
  1068. package/{sdk/src/skills → skills/sauce-protocols/references}/thruster.md +13 -18
  1069. package/skills/sauce-protocols/references/tokemak.md +40 -0
  1070. package/{sdk/src/skills → skills/sauce-protocols/references}/trader-joe.md +13 -26
  1071. package/{sdk/src/skills → skills/sauce-protocols/references}/uniswap-v2.md +46 -44
  1072. package/skills/sauce-protocols/references/uniswap-v3.md +188 -0
  1073. package/skills/sauce-protocols/references/uniswap-v4.md +155 -0
  1074. package/skills/sauce-protocols/references/unitflow-v3.md +63 -0
  1075. package/{sdk/src/skills → skills/sauce-protocols/references}/velodrome.md +12 -24
  1076. package/{sdk/src/skills → skills/sauce-protocols/references}/venus.md +12 -31
  1077. package/skills/sauce-protocols/references/vertex.md +42 -0
  1078. package/skills/sauce-protocols/references/wormhole.md +57 -0
  1079. package/{sdk/src/skills → skills/sauce-protocols/references}/yearn-v3.md +10 -25
  1080. package/{sdk/src/skills → skills/sauce-protocols/references}/zerolend.md +11 -15
  1081. package/skills/sauce-protocols/references/zerox.md +39 -0
  1082. package/{sdk/src/skills → skills/sauce-protocols/references}/zksync-bridge.md +11 -14
  1083. package/skills/sauce-script/SKILL.md +407 -0
  1084. package/skills/sauce-script/examples/IOracle.json +12 -0
  1085. package/skills/sauce-script/examples/saucescript.mts +167 -0
  1086. package/skills/sauce-script/examples/twap.sauce.ts +29 -0
  1087. package/skills/sauce-script/references/builtins.json +823 -0
  1088. package/skills/sauce-script/references/builtins.md +674 -0
  1089. package/skills/sauce-solana/SKILL.md +322 -0
  1090. package/skills/sauce-solana/examples/solana.mts +166 -0
  1091. package/skills/sauce-solana/examples/solana.sauce.ts +45 -0
  1092. package/skills/sauce-solana/examples/token-2022.sauce.ts +38 -0
  1093. package/skills/sauce-swaps/SKILL.md +200 -0
  1094. package/skills/sauce-swaps/examples/swap-leg.sauce.ts +50 -0
  1095. package/skills/sauce-swaps/examples/swaps.mts +124 -0
  1096. package/skills/sauce-typescript/SKILL.md +178 -0
  1097. package/skills/sauce-typescript/examples/actions.mts +100 -0
  1098. package/skills/sauce-typescript/examples/compiler.mts +69 -0
  1099. package/skills/sauce-typescript/examples/cook.mts +65 -0
  1100. package/skills/sauce-typescript/examples/verify.mts +104 -0
  1101. package/dev-tools/README.md +0 -16
  1102. package/dev-tools/artifacts/IERC20.json +0 -1
  1103. package/dev-tools/artifacts/ISauceRouter.json +0 -1
  1104. package/dev-tools/artifacts/IUniswapV3Pool.json +0 -1
  1105. package/dev-tools/artifacts/Router.json +0 -1
  1106. package/dev-tools/hardhat.config.cjs +0 -18
  1107. package/dev-tools/sauce/js/add.js +0 -4
  1108. package/dev-tools/sauce/js/call.js +0 -8
  1109. package/dev-tools/sauce/js/erc20.js +0 -18
  1110. package/dev-tools/sauce/js/example.js +0 -6
  1111. package/dev-tools/sauce/js/fibonacci.js +0 -13
  1112. package/dev-tools/sauce/ts/add.ts +0 -4
  1113. package/dev-tools/sauce/ts/call.ts +0 -8
  1114. package/dev-tools/sauce/ts/erc20.ts +0 -18
  1115. package/dev-tools/sauce/ts/example.ts +0 -6
  1116. package/dev-tools/sauce/ts/fibonacci.ts +0 -13
  1117. package/dev-tools/sauce/ts/saucescript.d.ts +0 -1
  1118. package/dev-tools/sauce/ts/tsconfig.json +0 -12
  1119. package/dev-tools/scripts/deploy.ts +0 -107
  1120. package/dev-tools/scripts/init.js +0 -132
  1121. package/dev-tools/scripts/run.ts +0 -67
  1122. package/dev-tools/scripts/start-fork.sh +0 -92
  1123. package/dev-tools/scripts/start-local.sh +0 -120
  1124. package/dev-tools/scripts/stop-local.sh +0 -40
  1125. package/dev-tools/scripts/sync-artifacts.js +0 -46
  1126. package/dev-tools/scripts/sync-price.ts +0 -58
  1127. package/dev-tools/src/contracts.ts +0 -59
  1128. package/dev-tools/src/runner.ts +0 -355
  1129. package/dev-tools/src/svm-local.ts +0 -305
  1130. package/dev-tools/src/sync-price.ts +0 -217
  1131. package/sdk/dist/deployments/v12.generated.d.ts +0 -95
  1132. package/sdk/dist/deployments/v12.generated.d.ts.map +0 -1
  1133. package/sdk/dist/deployments/v12.generated.js +0 -50
  1134. package/sdk/dist/deployments/v12.generated.js.map +0 -1
  1135. package/sdk/dist/swap/index.d.ts +0 -29
  1136. package/sdk/dist/swap/index.d.ts.map +0 -1
  1137. package/sdk/dist/swap/index.js +0 -27
  1138. package/sdk/dist/swap/index.js.map +0 -1
  1139. package/sdk/dist/swap/params.d.ts +0 -29
  1140. package/sdk/dist/swap/params.d.ts.map +0 -1
  1141. package/sdk/dist/swap/params.js +0 -123
  1142. package/sdk/dist/swap/params.js.map +0 -1
  1143. package/sdk/dist/swap/source.d.ts +0 -30
  1144. package/sdk/dist/swap/source.d.ts.map +0 -1
  1145. package/sdk/dist/swap/source.js +0 -101
  1146. package/sdk/dist/swap/source.js.map +0 -1
  1147. package/sdk/dist/swap/types.d.ts +0 -160
  1148. package/sdk/dist/swap/types.d.ts.map +0 -1
  1149. package/sdk/dist/swap/types.js +0 -106
  1150. package/sdk/dist/swap/types.js.map +0 -1
  1151. package/sdk/src/skills/aave-v3.md +0 -134
  1152. package/sdk/src/skills/aave-v4.md +0 -91
  1153. package/sdk/src/skills/abracadabra.md +0 -93
  1154. package/sdk/src/skills/across.md +0 -90
  1155. package/sdk/src/skills/aerodrome-slipstream.md +0 -57
  1156. package/sdk/src/skills/aevo.md +0 -58
  1157. package/sdk/src/skills/axelar.md +0 -80
  1158. package/sdk/src/skills/cbeth.md +0 -62
  1159. package/sdk/src/skills/chainlink.md +0 -62
  1160. package/sdk/src/skills/crvusd.md +0 -58
  1161. package/sdk/src/skills/curve.md +0 -141
  1162. package/sdk/src/skills/eigenlayer.md +0 -71
  1163. package/sdk/src/skills/frax.md +0 -57
  1164. package/sdk/src/skills/gamma.md +0 -79
  1165. package/sdk/src/skills/gho.md +0 -61
  1166. package/sdk/src/skills/harvest.md +0 -49
  1167. package/sdk/src/skills/index.md +0 -299
  1168. package/sdk/src/skills/kelp.md +0 -60
  1169. package/sdk/src/skills/kyberswap.md +0 -100
  1170. package/sdk/src/skills/liquity-v2.md +0 -59
  1171. package/sdk/src/skills/loader.ts +0 -46
  1172. package/sdk/src/skills/maker.md +0 -79
  1173. package/sdk/src/skills/mantle-meth.md +0 -60
  1174. package/sdk/src/skills/olympus.md +0 -46
  1175. package/sdk/src/skills/oneinch.md +0 -64
  1176. package/sdk/src/skills/openocean.md +0 -86
  1177. package/sdk/src/skills/pancakeswap-v3.md +0 -104
  1178. package/sdk/src/skills/paraswap.md +0 -67
  1179. package/sdk/src/skills/permit2.md +0 -73
  1180. package/sdk/src/skills/perpetual-protocol.md +0 -73
  1181. package/sdk/src/skills/pyth.md +0 -58
  1182. package/sdk/src/skills/reflexer.md +0 -73
  1183. package/sdk/src/skills/safe.md +0 -56
  1184. package/sdk/src/skills/seaport.md +0 -65
  1185. package/sdk/src/skills/sommelier.md +0 -47
  1186. package/sdk/src/skills/stader.md +0 -53
  1187. package/sdk/src/skills/swell.md +0 -65
  1188. package/sdk/src/skills/synapse.md +0 -63
  1189. package/sdk/src/skills/synthra-v3.md +0 -57
  1190. package/sdk/src/skills/thales.md +0 -74
  1191. package/sdk/src/skills/tokemak.md +0 -48
  1192. package/sdk/src/skills/uniswap-v3.md +0 -202
  1193. package/sdk/src/skills/uniswap-v4.md +0 -125
  1194. package/sdk/src/skills/unitflow-v3.md +0 -62
  1195. package/sdk/src/skills/vertex.md +0 -55
  1196. package/sdk/src/skills/wormhole.md +0 -76
  1197. package/sdk/src/skills/zerox.md +0 -51
@@ -2,47 +2,96 @@ import { bytesToHex } from "viem";
2
2
  import { requireChain } from "../chains/canonical.js";
3
3
  import { buildSauceEvmCall, buildSauceSvmCall } from "./sauce-calls.js";
4
4
  import { compileWithRs } from "./rs-compile.js";
5
- import { rewriteTokenFactory, rewriteTokenMembers } from "./token-rewrite.js";
5
+ import { rewriteTokenFactory, rewriteTokenMembers, tokenImportLines, } from "./token-rewrite.js";
6
6
  import { resolveTokenMap } from "./token-registry.js";
7
7
  import { rewriteProtocolAccessors } from "./protocol-rewrite.js";
8
+ import { rewriteAvailability } from "./available.js";
9
+ import { unknownGlobalError } from "./unknown-global.js";
8
10
  import { pascalOfSlug } from "./accessors.js";
9
11
  import { encodeCompactArguments } from "../compact-arguments.js";
10
12
  import { v12KitchenAddress } from "../deployments/index.js";
13
+ import { chainAmbient, chainDefines, sharedChainDefines } from "./ambient.js";
11
14
  import { denormalizeToEvm } from "./encode.js";
12
15
  import { toUniversalAddress } from "./normalize.js";
13
16
  import { childCaptureSentinel } from "./intent-sugar.js";
14
17
  import { resolveIntentPot } from "./intent-pot.js";
15
18
  import { CANONICAL_CHAINS } from "../chains/canonical.js";
16
19
  import { ecoRoutesPortal, ecoRoutesProver, } from "../protocols/eco-routes/lookup.js";
17
- import { rewriteIntentSugar } from "./intent-sugar.js";
18
- import { ERC20_IMPORT_LINE } from "../token/evm.js";
19
- /**
20
- * A source is treated as already containing an entry program whenever it
21
- * contains a top-level-looking `function main(` anywhere not immediately preceded by a word
22
- * character or `.` (so `foo.main(` or `xmain(` don't false-positive); anything else is wrapped as a
23
- * `function main() { ... }` body.
24
- */
25
- const MAIN_FN_RE = /(^|[^.\w])function\s+main\s*\(/;
26
- export function wrapSauceBody(sauce) {
27
- if (MAIN_FN_RE.test(sauce))
28
- return sauce;
29
- return `function main() {\n${sauce}\n}`;
30
- }
20
+ import { rewriteIntentSugar, } from "./intent-sugar.js";
21
+ import { mainParams } from "./entry.js";
31
22
  /** Accessor name -> chain, for every canonical chain. `Base(() => ...)` in a program opens an
32
23
  * intent for exactly the chains `import { Base }` gives a caller, so the two cannot diverge. */
33
24
  let chainAccessorCache;
34
- function chainAccessorNames() {
25
+ export function chainAccessorNames() {
35
26
  chainAccessorCache ??= new Map(CANONICAL_CHAINS.map((chain) => [pascalOfSlug(chain.slug), chain]));
36
27
  return chainAccessorCache;
37
28
  }
38
- /** Every name the program can read as a compile-time scalar: the chain's token symbols and the
39
- * caller's own defines, with the caller winning — the same precedence the compiler applies. */
40
- function compileTimeValues(chain, options) {
29
+ /** What a nested level resolves its chain-scoped names with: its own chain's registry values and
30
+ * nothing a caller supplied for another chain. */
31
+ const NESTED_SCOPE = { chainDefines: (chain) => sharedChainDefines(chain) };
32
+ /**
33
+ * The options and scope a level on `destination` gets, when a program compiled for `enclosing`
34
+ * names it: an intent's body there, its delivery, and the program that body compiles to.
35
+ *
36
+ * NAMES ARE SCOPED PER CHAIN, the way protocol accessors already are (they fold in each chain's own
37
+ * literal address). A token symbol, `chainId` or a protocol define means the chain its part runs on.
38
+ * So everything the caller supplied under a chain-scoped name — a `defines` entry named like one of
39
+ * the enclosing chain's values or the destination's, and every `tokens` override — belongs to the
40
+ * program it was supplied for, and is dropped for the level on another chain. That level takes its
41
+ * own chain's values instead. What the caller named that no chain uses (`RECIPIENT`) holds at every
42
+ * depth.
43
+ *
44
+ * Name-based, not value-based: it does not matter whether a `USDC` define came from
45
+ * `chainDefines(base)` or was chosen by hand. It was a Base name in either case. This is what closes
46
+ * both ways Base's USDC reached an Arbitrum body: `openRoute` folding its chain's values into
47
+ * `defines`, and a direct caller passing them there itself.
48
+ *
49
+ * A level on the SAME chain keeps the enclosing options: its names are the ones they were given for.
50
+ */
51
+ function levelOn(enclosing, destination, options, scope) {
52
+ if (destination.id === enclosing.id)
53
+ return { options, scope };
54
+ const chainScoped = new Set([
55
+ ...Object.keys(scope.chainDefines?.(enclosing) ?? {}),
56
+ ...Object.keys(definesOf(enclosing, options.tokens)),
57
+ ...Object.keys(sharedChainDefines(destination)),
58
+ ]);
59
+ const defines = options.defines === undefined
60
+ ? undefined
61
+ : Object.fromEntries(Object.entries(options.defines).filter(([name]) => !chainScoped.has(name)));
62
+ return { options: { ...options, defines, tokens: undefined }, scope: NESTED_SCOPE };
63
+ }
64
+ /** A chain's defines with `tokens` over its registry's: the chain's own, built once, with none. */
65
+ function definesOf(chain, tokens) {
66
+ return tokens === undefined ? sharedChainDefines(chain) : chainDefines(chain, { tokens });
67
+ }
68
+ /** The chain's defines a compile starts from: its token map, then its scope's values, merged once
69
+ * for each pair of them. A chain's own map and values are one object each on every compile
70
+ * (`resolveTokenMap`, `sharedChainDefines`), so their merge is kept, by both. */
71
+ const baseDefinesCache = new WeakMap();
72
+ const NO_SCOPE = {};
73
+ function baseDefines(tokenMap, scoped) {
74
+ const byScope = baseDefinesCache.get(tokenMap) ?? new WeakMap();
75
+ baseDefinesCache.set(tokenMap, byScope);
76
+ let merged = byScope.get(scoped ?? NO_SCOPE);
77
+ if (merged === undefined) {
78
+ merged = Object.freeze({ ...Object.fromEntries(tokenMap), ...scoped });
79
+ byScope.set(scoped ?? NO_SCOPE, merged);
80
+ }
81
+ return merged;
82
+ }
83
+ /** Every name the program can read as a compile-time scalar on `chain`: the chain's token symbols,
84
+ * then its chain-scoped values when a scope supplies them, then the caller's own defines, with
85
+ * the caller winning — the same precedence the compiler applies. */
86
+ function compileTimeValues(chain, options, scope) {
41
87
  const values = new Map();
42
88
  for (const [symbol, address] of resolveTokenMap(chain, options.tokens)) {
43
89
  values.set(symbol, address);
44
90
  }
45
- for (const [name, value] of Object.entries(options.defines ?? {})) {
91
+ for (const [name, value] of Object.entries({
92
+ ...scope.chainDefines?.(chain),
93
+ ...options.defines,
94
+ })) {
46
95
  if (typeof value === "bigint")
47
96
  values.set(name, value);
48
97
  else if (typeof value === "number")
@@ -56,16 +105,17 @@ function compileTimeValues(chain, options) {
56
105
  * Compiles a closure body as a program for its own destination chain, and wraps it in the `cook`
57
106
  * the child's route will call.
58
107
  *
59
- * RE-ENTERS `compileSauceRoute`, which is what makes this general rather than a special case: the
108
+ * RE-ENTERS the route compile, which is what makes this general rather than a special case: the
60
109
  * child gets that chain's token and protocol rewrites, and the intent lowering runs again inside
61
- * it, so an intent opened within an intent is lowered by the same code at every depth.
110
+ * it, so an intent opened within an intent is lowered by the same code at every depth. It is handed
111
+ * the options and scope `levelOn` gives its chain, so its chain-scoped names are its own chain's.
62
112
  *
63
113
  * Captured values arrive as compact-v1 entry arguments at a DECLARED width. Minimal encoding would
64
114
  * move the payload's length with the values, leaving nothing at a fixed offset to splice; a
65
115
  * declared width keeps exactly one encoding per value and a constant length, which is the property
66
116
  * `compact-arguments.ts`'s `scalarWidth` exists for.
67
117
  */
68
- function compileIntentChild(destination, childSource, captures, destinationPortal, options) {
118
+ function compileIntentChild(destination, childSource, captures, destinationPortal, options, scope) {
69
119
  const intents = options.intents ?? {};
70
120
  // DERIVED, not asked for. A Pot is CREATE2 from the Kitchen over its owner and a salt; the owner a
71
121
  // route call must cook as is the Executor of the Portal this child's route RECORDS, itself that
@@ -80,7 +130,7 @@ function compileIntentChild(destination, childSource, captures, destinationPorta
80
130
  `executes. Read it before building with \`destinationExecutionFee()\` from ` +
81
131
  `\`@eco-incorp/sauce\`, or \`Kitchen.executionFee()\` at ${v12KitchenAddress()}.`);
82
132
  }
83
- const compiled = compileSauceRoute(destination, childSource, { pot, engine, value: intents.executionFee }, { ...options, compactArgs: captures.length > 0 });
133
+ const compiled = compileScopedRoute(destination, childSource, { pot, engine, value: intents.executionFee }, { ...options, compactArgs: captures.length > 0 }, scope);
84
134
  let program = bytesToHex(compiled.compiled.bytecode[0]);
85
135
  const captureSentinels = [];
86
136
  if (captures.length > 0) {
@@ -112,11 +162,92 @@ function defaultTargetFor(kind) {
112
162
  return kind === "svm" ? "svm" : "v12";
113
163
  }
114
164
  /**
115
- * Compiles `sauce` (a complete `function main(){...}` program, or a bare body auto-wrapped by
116
- * {@link wrapSauceBody}) for `destination`'s `ChainKind`, and slots the result into exactly one
165
+ * Compiles `sauce` for `destination`'s `ChainKind`, and slots the result into exactly one
117
166
  * `CallInput` via the existing `buildSauceEvmCall`/`buildSauceSvmCall` fork — never a new encoder.
167
+ *
168
+ * `sauce` is a SauceScript file: a module declaring `function main`, or a script whose top-level
169
+ * statements run as the entry. It reaches the compiler as written, apart from the SDK's rewrites.
170
+ * A value-returning or early-exiting program declares `main`, since a top-level `return` is not
171
+ * SauceScript.
118
172
  */
119
173
  export function compileSauceRoute(destination, sauce, execution, options = {}) {
174
+ return compileScopedRoute(destination, sauce, execution, options, {});
175
+ }
176
+ /**
177
+ * {@link compileSauceRoute} with a {@link RouteScope} — `openRoute`'s entry, and every nested
178
+ * intent's. Not exported from the package.
179
+ */
180
+ export function compileScopedRoute(destination, sauce, execution, options, scope) {
181
+ const { chain, compiled, source } = compileForChain(destination, sauce, options, scope);
182
+ const bytecodeHex = bytesToHex(compiled.bytecode[0]);
183
+ if (chain.kind === "svm") {
184
+ const svmExecution = execution;
185
+ if (svmExecution.code === undefined) {
186
+ throw new Error("compileSauceRoute: an svm route requires execution.code — a finalized code account this " +
187
+ "module did NOT stage. Stage it through the kitchen (create/grow/write/finalize) and pass " +
188
+ "the CODE account; see kitchen.ts. It must hold exactly the bytecode this call returns in " +
189
+ "`compiled.bytecode[0]`.");
190
+ }
191
+ // Passed through UNPINNED, and no route call can be otherwise: the released engine's
192
+ // `execute_from_account` has no payload to carry a pin. The kitchen's `cook_from_account` does
193
+ // enforce one, but the STAGING caller issues that — a different transaction, by the party that
194
+ // already controlled the bytes — so it is not a guarantee this call's consumer inherits.
195
+ const call = buildSauceSvmCall(svmExecution);
196
+ return { calls: [call], compiled, source };
197
+ }
198
+ const evmExecution = execution;
199
+ const call = buildSauceEvmCall({
200
+ pot: evmExecution.pot,
201
+ engine: evmExecution.engine,
202
+ program: bytecodeHex,
203
+ value: evmExecution.value,
204
+ });
205
+ return { calls: [call], compiled, source };
206
+ }
207
+ /**
208
+ * Compiles a standalone program for `chain`: a program that runs directly on a Pot, rather than
209
+ * the destination half of an intent.
210
+ *
211
+ * It gets everything `openRoute` gives a route body except the intent around it: the chain's
212
+ * ambient bundle (`chainId`, protocol addresses and token symbols as compile-time values scoped to
213
+ * this chain, and the `@sauce/token` functions with no import), the token and protocol syntax, and
214
+ * intents the program itself opens (`Arbitrum(() => { ... }).reward({ ... })`, which take their deadline and
215
+ * creator from `options.intents`). So one source compiles, unchanged, for any chain whose names it
216
+ * uses. `main` may declare typed runtime parameters; `entryParams` reports them and
217
+ * `encodeEntryArguments` encodes values for them.
218
+ */
219
+ export function compileSauceProgram(chain, sauce, options = {}) {
220
+ const resolved = requireChain(chain);
221
+ // The bundle `openRoute` compiles a route body with, in the same two halves. The ambient MODULES
222
+ // join the caller's. The chain-scoped NAMES travel as a scope for this program's chain, never in
223
+ // `defines`, so an intent the program opens on another chain gets that chain's own (`levelOn`),
224
+ // and `defines` stays exactly what the caller wrote.
225
+ const ambient = Array.from(new Set([...chainAmbient(resolved), ...(options.ambient ?? [])]));
226
+ const scope = {
227
+ chainDefines: (on) => definesOf(on, options.tokens),
228
+ };
229
+ const program = compileForChain(resolved, sauce, { ...options, ambient: ambient.length > 0 ? ambient : options.ambient }, scope);
230
+ const entryParams = mainParams(program.source).filter((param) => resolved.kind !== "svm" || !/^Account\b/.test(param.type));
231
+ return {
232
+ chain: resolved,
233
+ bytecode: program.compiled.bytecode[0],
234
+ entryEncoding: program.entryEncoding,
235
+ ...(program.compiled.entrySchema === undefined
236
+ ? {}
237
+ : { entrySchema: program.compiled.entrySchema }),
238
+ entryParams,
239
+ ...(program.manifest === undefined ? {} : { manifest: program.manifest }),
240
+ intents: program.intents,
241
+ source: program.source,
242
+ };
243
+ }
244
+ /**
245
+ * The compile half of {@link compileSauceRoute} and {@link compileSauceProgram}: every rewrite and
246
+ * the compile, for `destination`, with no execution — no Pot, engine or staged code account,
247
+ * because the bytecode depends on none of them — and none of the chain's ambient bundle beyond what
248
+ * `scope` supplies, which `compileSauceRoute` deliberately leaves to its caller.
249
+ */
250
+ function compileForChain(destination, sauce, options, scope) {
120
251
  const chain = requireChain(destination);
121
252
  const target = options.target ?? defaultTargetFor(chain.kind);
122
253
  if (chain.kind === "svm" && target !== "svm") {
@@ -126,67 +257,95 @@ export function compileSauceRoute(destination, sauce, execution, options = {}) {
126
257
  throw new Error(`compileSauceRoute: destination '${chain.slug}' is evm but options.target is 'svm'`);
127
258
  }
128
259
  // The registry-resolved token map (registry defaults + options.tokens overrides, per-key -- see
129
- // token-registry.ts#resolveTokenMap). Computed unconditionally: for an evm chain the registry may
130
- // already supply symbols even with no caller options.tokens at all; for an svm chain/id the
131
- // registry itself has no rows (no TOKEN_REGISTRY key is ever an svm chain id), so this reduces to
132
- // "only options.tokens, if any" -- preserving the existing svm-throws-on-any-rewrite behavior.
260
+ // token-registry.ts#resolveTokenMap). Computed unconditionally: the registry may supply symbols
261
+ // with no caller options.tokens at all -- an evm chain's token addresses, an svm chain's mint keys.
262
+ // On svm they are values only: the token syntax below still throws there, by name.
133
263
  const tokenMap = resolveTokenMap(chain, options.tokens);
134
- let source = wrapSauceBody(sauce);
135
- // The intent sugar runs FIRST, on the source as written. It reads `USDC` and `RECIPIENT` as
136
- // compile-time values itself, so a token rewrite that had already turned `USDC.transfer(...)`
137
- // into `IERC20.at(...).transfer(...)` would leave it nothing it recognises. What it leaves behind
138
- // is ordinary `evm.call` statements, which every later pass is free to walk over.
264
+ // The source is the program, as written: a module with a `main`, or a script whose top-level
265
+ // statements are the entry. The compiler tells the two apart; nothing here has to.
266
+ let source = sauce;
267
+ // `available(...)` FIRST: it removes the branches that name a contract or token this chain lacks,
268
+ // before any other pass resolves a name in them (see available.ts). A closure body is left for its
269
+ // own chain's compile.
270
+ source = rewriteAvailability(source, chain, tokenMap).source;
271
+ // The intent sugar runs next, on the source as written but for decided `available(...)`
272
+ // branches. It reads `USDC` and `RECIPIENT` as compile-time values itself, so a token rewrite
273
+ // that had already turned `USDC.transfer(...)` into `__sauce_transfer(USDC, ...)` would leave it
274
+ // nothing it recognises. What it leaves behind is ordinary `evm.call` statements, which every
275
+ // later pass is free to walk over.
139
276
  const sugar = rewriteIntentSugar(source, {
140
277
  source: chain,
141
278
  chains: chainAccessorNames(),
142
- definesFor: (destination) => compileTimeValues(destination, options),
279
+ // This chain's values for this chain — the program's own names and the reward it funds — and
280
+ // each other chain's own for a body there: see `levelOn`.
281
+ definesFor: (destination) => {
282
+ const level = levelOn(chain, destination, options, scope);
283
+ return compileTimeValues(destination, level.options, level.scope);
284
+ },
143
285
  portalOf: (destination) => ecoRoutesPortal(destination, options.intents),
144
286
  proverFor: (from, to) => ecoRoutesProver(from, to, options.intents),
145
287
  defaults: options.intents ?? {},
146
- compileChild: (destination, childSource, captures, destinationPortal) => compileIntentChild(destination, childSource, captures, destinationPortal, options),
288
+ compileChild: (destination, childSource, captures, destinationPortal) => {
289
+ const level = levelOn(chain, destination, options, scope);
290
+ return compileIntentChild(destination, childSource, captures, destinationPortal, level.options, level.scope);
291
+ },
147
292
  });
148
293
  source = sugar.source;
149
294
  let contracts = options.contracts;
150
295
  // Seed the resolved token map into defines UNDERNEATH the caller's own options.defines -- closes
151
- // a latent gap where a direct compileSauceRoute(..., { tokens }) call emitted a bare
152
- // `IERC20.at(USDC)` (the symbol, not a literal) with no `USDC` define at all. Idempotent with
153
- // openRoute's own ambient-defines merge (ambient.ts#chainDefines resolves the SAME registry), so
154
- // this is a no-op when reached via openRoute and a genuine fix for a direct caller.
155
- const defines = tokenMap.size > 0 ? { ...Object.fromEntries(tokenMap), ...options.defines } : options.defines;
296
+ // a latent gap where a direct compileSauceRoute(..., { tokens }) call emitted a bare `USDC`
297
+ // token argument (the symbol, not a literal) with no `USDC` define at all. Then THIS chain's
298
+ // scoped values, when `openRoute` supplied a scope (ambient.ts#chainDefines resolves the SAME
299
+ // registry, so the token symbols agree), and the caller's own defines over both.
300
+ const scoped = scope.chainDefines?.(chain);
301
+ // The chain's values are one frozen object for a chain's own map and scope (`baseDefines`), handed
302
+ // over as they are when the caller adds none, so the compile adapter converts them once.
303
+ const chainValues = tokenMap.size > 0 || scoped !== undefined ? baseDefines(tokenMap, scoped) : undefined;
304
+ const defines = chainValues === undefined
305
+ ? options.defines
306
+ : options.defines === undefined || Object.keys(options.defines).length === 0
307
+ ? chainValues
308
+ : { ...chainValues, ...options.defines };
156
309
  // ORDER IS LOAD-BEARING: the token pass (member and balance syntax) runs BEFORE the protocol-accessor
157
310
  // pass. The accessor pass's `self` sugar rewrites a bare `self` Identifier -> `ctx.self()`
158
311
  // textually; if it ran first, `self.USDC` would become `ctx.self().USDC` and the balance
159
312
  // sugar's holder would no longer be a bare Identifier, silently losing the site. Safe in the
160
- // other direction: the accessor pass cannot claim IERC20.at(...)'s output (neither a namespace
161
- // nor a chain key, and its call sits mid-chain, which `decomposeMemberChain` declines), and its
313
+ // other direction: the accessor pass cannot claim the token pass's output (`__sauce_<write>(...)`
314
+ // is a bare call, and `IERC20` is neither a namespace nor a chain key and its call sits
315
+ // mid-chain, which `decomposeMemberChain` declines), and its
162
316
  // synthesized-binding collision check cannot trip on `IERC20` (`pascalOfSlug("erc20")` yields
163
317
  // `IErc20_*`, not `IERC20`); the sugar's own `ctx.self()` output is immune to the accessor
164
318
  // pass's self-sugar too (`self` there is a member PROPERTY, which its exclusion set already
165
319
  // covers). See routes-token-rewrite.test.ts's composition test for the regression lock.
166
- // Two ERC20 rewrites both lower to `IERC20.at(...)`: the `<Sym>.transfer(...)` symbol sugar
167
- // (when the chain has resolved token symbols) and the `Token(addr)` global wrapper (always —
168
- // it takes an arbitrary address, not a registry symbol). Whichever fires, the `IERC20` import is
169
- // injected ONCE (the SDK serves its ABI); on svm either is the same EVM-only error.
320
+ // Two ERC20 rewrites: the `<Sym>.transfer(...)` symbol syntax (when the chain has resolved token
321
+ // symbols) and the `Token(addr)` global wrapper (always — it takes an arbitrary address, not a
322
+ // registry symbol). Both lower a WRITE to `@sauce/token`'s SafeERC20 function and a READ to the
323
+ // typed `IERC20.at(...)` binding, so their imports are collected across both and injected ONCE
324
+ // (the SDK serves both modules itself); on svm either is the same EVM-only error.
325
+ const writes = new Set();
326
+ let erc20 = false;
170
327
  let tokenRewrote = false;
171
- if (tokenMap.size > 0) {
172
- const rewritten = rewriteTokenMembers(source, tokenMap);
173
- if (rewritten.rewrote) {
174
- source = rewritten.source;
175
- tokenRewrote = true;
176
- }
177
- }
178
- const factory = rewriteTokenFactory(source);
179
- if (factory.rewrote) {
180
- source = factory.source;
328
+ const absorb = (rewritten) => {
329
+ if (!rewritten.rewrote)
330
+ return;
331
+ source = rewritten.source;
181
332
  tokenRewrote = true;
182
- }
333
+ for (const write of rewritten.writes)
334
+ writes.add(write);
335
+ erc20 ||= rewritten.erc20;
336
+ };
337
+ if (tokenMap.size > 0)
338
+ absorb(rewriteTokenMembers(source, tokenMap));
339
+ absorb(rewriteTokenFactory(source));
183
340
  if (tokenRewrote) {
184
341
  if (chain.kind === "svm") {
185
342
  throw new Error(`compileSauceRoute: destination '${chain.slug}' is svm — the ERC20 token rewrite ` +
186
- "(`Token(addr)` / `<Sym>.transfer(...)`) is EVM-only; an SVM route needs the SPL " +
187
- "account-plan `Token` emitter (see token/api.ts) instead.");
343
+ "(`Token(addr)` / `<Sym>.transfer(...)` / `self.<Sym>`) is EVM-only. On svm a token " +
344
+ "symbol is the mint, a value for the @sauce/token functions with the accounts as " +
345
+ "Account parameters: `transfer(USDC, tokenProgram, source, dest, authority, amount)`, " +
346
+ "`balanceOf(USDC, account)`; or the SPL account-plan `Token` emitter (see token/api.ts).");
188
347
  }
189
- source = `${ERC20_IMPORT_LINE}\n${source}`;
348
+ source = [...tokenImportLines({ writes, erc20 }), source].join("\n");
190
349
  }
191
350
  if (options.accessors !== false) {
192
351
  const accessorOpts = typeof options.accessors === "object" ? options.accessors : {};
@@ -203,42 +362,36 @@ export function compileSauceRoute(destination, sauce, execution, options = {}) {
203
362
  contracts = { ...contracts, ...rewrittenAccessors.contracts };
204
363
  }
205
364
  }
206
- const compiled = compileWithRs({
207
- source,
208
- target,
209
- resolve: options.resolve,
210
- resolvePackage: options.resolvePackage,
211
- defines,
212
- contracts,
213
- ambient: options.ambient,
214
- compactArgs: options.compactArgs,
215
- });
365
+ let rs;
366
+ try {
367
+ rs = compileWithRs({
368
+ source,
369
+ target,
370
+ resolve: options.resolve,
371
+ resolvePackage: options.resolvePackage,
372
+ defines,
373
+ ...(chainValues === undefined ? {} : { baseDefines: chainValues }),
374
+ contracts,
375
+ ambient: options.ambient,
376
+ compactArgs: options.compactArgs,
377
+ });
378
+ }
379
+ catch (error) {
380
+ // A token or protocol name the chain does not have, reported as one rather than as the call
381
+ // the compiler could not lower. Asked only of a program the compiler refused.
382
+ throw (unknownGlobalError(source, chain, {
383
+ defines: Object.keys(defines ?? {}),
384
+ contracts: Object.keys(contracts ?? {}),
385
+ tokens: tokenMap.keys(),
386
+ }, error) ?? error);
387
+ }
388
+ const { manifest, entryEncoding, ...compiled } = rs;
216
389
  if (compiled.bytecode.length === 0) {
217
390
  throw new Error("compileSauceRoute: compile() produced zero bytecode segments");
218
391
  }
219
- const bytecodeHex = bytesToHex(compiled.bytecode[0]);
220
- if (chain.kind === "svm") {
221
- const svmExecution = execution;
222
- if (svmExecution.code === undefined) {
223
- throw new Error("compileSauceRoute: an svm route requires execution.code — a finalized code account this " +
224
- "module did NOT stage. Stage it through the kitchen (create/grow/write/finalize) and pass " +
225
- "the CODE account; see kitchen.ts. It must hold exactly the bytecode this call returns in " +
226
- "`compiled.bytecode[0]`.");
227
- }
228
- // Passed through UNPINNED, and no route call can be otherwise: the released engine's
229
- // `execute_from_account` has no payload to carry a pin. The kitchen's `cook_from_account` does
230
- // enforce one, but the STAGING caller issues that — a different transaction, by the party that
231
- // already controlled the bytes — so it is not a guarantee this call's consumer inherits.
232
- const call = buildSauceSvmCall(svmExecution);
233
- return { calls: [call], compiled, source };
234
- }
235
- const evmExecution = execution;
236
- const call = buildSauceEvmCall({
237
- pot: evmExecution.pot,
238
- engine: evmExecution.engine,
239
- program: bytecodeHex,
240
- value: evmExecution.value,
241
- });
242
- return { calls: [call], compiled, source };
392
+ const { intents } = sugar;
393
+ return manifest === undefined
394
+ ? { chain, compiled, source, entryEncoding, intents }
395
+ : { chain, compiled, source, entryEncoding, manifest, intents };
243
396
  }
244
397
  //# sourceMappingURL=sauce-route.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sauce-route.js","sourceRoot":"","sources":["../../src/routes/sauce-route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sauce-route.js","sourceRoot":"","sources":["../../src/routes/sauce-route.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * The names a SauceScript program compiled for one chain may use without declaring them — its
3
+ * token symbols, protocol namespaces, chain names, defines and ambient-module functions — listed
4
+ * from the same registries and resolvers the compile path reads, so a name listed here is one the
5
+ * compile accepts on that chain, and its address is the one the program gets.
6
+ *
7
+ * - **tokens**: `token-registry.ts`'s rows for the chain, the symbols `<Sym>.transfer(...)` and a
8
+ * bare `USDC` resolve. On Solana they are the cluster's mints: a bare `USDC` is the mint's 32-byte
9
+ * key, and the token syntax is EVM-only.
10
+ * - **protocols**: every `<Protocol>[.<Contract>]` reference the protocol-accessor rewrite resolves
11
+ * on the chain — through `resolveProtocolContract`, the rewrite's own resolver, not a copy of its
12
+ * rules — with each contract's address and vendored methods. A family alias (`Uniswap` for
13
+ * `UniswapV4`) lists the contracts it names unambiguously.
14
+ * - **chains**: the chain names a program opens an intent with (`Arbitrum(() => { … })`) or
15
+ * qualifies an accessor by (`Base.Uniswap.UniversalRouter`).
16
+ * - **defines**: `chainDefines(chain)`, verbatim — the scalars every program on the chain reads.
17
+ * - **modules**: `chainAmbient(chain)`'s modules and the functions each exports for the chain's
18
+ * target, read from the SDK's embedded copy of their source.
19
+ *
20
+ * `source-globals.generated.ts` declares the same names as TYPES, across every chain at once;
21
+ * this is the per-chain, runtime view. Reads nothing but in-memory registries, so it runs in a
22
+ * browser.
23
+ */
24
+ import { type CanonicalChain, type ChainRef } from "../chains/canonical.js";
25
+ import type { StateMutability } from "../descriptors/types.js";
26
+ import type { StockToken } from "./token-registry.js";
27
+ export interface SourceToken {
28
+ readonly symbol: string;
29
+ /** The value the symbol is in a program: an EVM token's address, a Solana mint's 32-byte key. */
30
+ readonly address: `0x${string}`;
31
+ readonly decimals: number;
32
+ /** On Solana, the mint's base58 address. */
33
+ readonly mint?: string;
34
+ /** A tokenized stock's issuer, name and underlying ticker (`stock-tokens.ts`). */
35
+ readonly stock?: StockToken;
36
+ /** On Solana, the program that owns the mint, legacy SPL Token or Token-2022, in base58. */
37
+ readonly tokenProgram?: string;
38
+ }
39
+ export interface SourceMethod {
40
+ readonly name: string;
41
+ /** Canonical signature, e.g. `exactInputSingle((address,address,uint24,address,uint256,uint256,uint160))`. */
42
+ readonly signature: string;
43
+ /** The call as a program writes it, every parameter and struct field named:
44
+ * `exactInputSingle(params: { tokenIn: address, … }): (amountOut: uint256)`. */
45
+ readonly declaration: string;
46
+ readonly stateMutability: StateMutability;
47
+ }
48
+ export interface SourceContract {
49
+ readonly name: string;
50
+ readonly address: `0x${string}`;
51
+ /** The protocol slug the contract belongs to — another protocol's, under a family alias. */
52
+ readonly protocol: string;
53
+ /** True for the one contract a bare `<Protocol>.<method>(...)` calls. */
54
+ readonly default: boolean;
55
+ readonly methods: readonly SourceMethod[];
56
+ }
57
+ export interface SourceNamespace {
58
+ /** The name a program writes: `UniswapV4`, or a family alias such as `Uniswap`. */
59
+ readonly namespace: string;
60
+ readonly kind: "protocol" | "family";
61
+ /** The protocol slug (`uniswap-v4`); for a family, its members' slugs. */
62
+ readonly protocols: readonly string[];
63
+ /** The protocol's display name; for a family, its members' names joined. */
64
+ readonly name: string;
65
+ readonly contracts: readonly SourceContract[];
66
+ }
67
+ /**
68
+ * A contract the registry knows only by its ABI — an interface, with no fixed address — which a
69
+ * program binds to an address it gives: `Erc4626.Vault.at(vault).totalAssets()`.
70
+ */
71
+ export interface SourceInterface {
72
+ /** The namespace a program writes: `Erc4626`. */
73
+ readonly namespace: string;
74
+ /** The contract: `Vault`. */
75
+ readonly name: string;
76
+ /** The protocol slug it belongs to. */
77
+ readonly protocol: string;
78
+ /** The protocol's display name. */
79
+ readonly protocolName: string;
80
+ readonly methods: readonly SourceMethod[];
81
+ }
82
+ export interface SourceChainName {
83
+ /** What a program writes: `Base`, `Arbitrum`. */
84
+ readonly key: string;
85
+ readonly slug: string;
86
+ readonly id: number;
87
+ readonly kind: CanonicalChain["kind"];
88
+ }
89
+ export interface SourceModule {
90
+ /** The import specifier, e.g. `@sauce/token`, though none is needed: it is ambient. */
91
+ readonly specifier: string;
92
+ /** Each exported function's signature as the module declares it for the chain's target. */
93
+ readonly functions: readonly string[];
94
+ }
95
+ export interface SourceGlobals {
96
+ readonly chain: SourceChainName;
97
+ readonly tokens: readonly SourceToken[];
98
+ readonly protocols: readonly SourceNamespace[];
99
+ /** The interfaces a program binds to an address of its own (EVM chains): the same on each. */
100
+ readonly interfaces: readonly SourceInterface[];
101
+ readonly chains: readonly SourceChainName[];
102
+ readonly defines: Readonly<Record<string, bigint | boolean | number>>;
103
+ readonly modules: readonly SourceModule[];
104
+ }
105
+ /** Every name a program compiled for `chain` may use without declaring it. */
106
+ export declare function sourceGlobals(chain: ChainRef): SourceGlobals;
107
+ //# sourceMappingURL=source-globals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-globals.d.ts","sourceRoot":"","sources":["../../src/routes/source-globals.ts"],"names":[],"mappings":"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"}