@eco-incorp/sauce 0.99.6 → 0.99.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1159) 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 +334 -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 +96 -57
  47. package/docs/api/router.md +238 -0
  48. package/docs/api/routes.md +31 -22
  49. package/docs/concepts/architecture.md +26 -3
  50. package/docs/concepts/saucescript.md +35 -55
  51. package/docs/examples/README.md +21 -14
  52. package/docs/examples/action-program.ts +51 -35
  53. package/docs/examples/cross-chain-cascade.sauce.ts +4 -0
  54. package/docs/examples/cross-chain-intent.sauce.ts +2 -1
  55. package/docs/examples/evm-execution.ts +2 -4
  56. package/docs/examples/first-intent.ts +7 -2
  57. package/docs/examples/pot-router.ts +19 -0
  58. package/docs/examples/registry-names.ts +52 -0
  59. package/docs/examples/router-route.sauce.ts +31 -0
  60. package/docs/examples/router-route.ts +72 -0
  61. package/docs/examples/router-swap.sauce.ts +16 -0
  62. package/docs/examples/router-swap.ts +47 -0
  63. package/docs/examples/venue-where-deployed.sauce.ts +14 -0
  64. package/docs/guides/actions.md +230 -120
  65. package/docs/guides/builders-and-actions.md +20 -14
  66. package/docs/guides/cli.md +1446 -0
  67. package/docs/guides/compiling.md +19 -7
  68. package/docs/guides/intents.md +228 -15
  69. package/docs/guides/mcp.md +540 -0
  70. package/docs/guides/nested-intents.md +21 -6
  71. package/docs/guides/protocols-and-tokens.md +218 -39
  72. package/docs/guides/quick-start.md +5 -0
  73. package/docs/guides/solana.md +199 -52
  74. package/docs/guides/verification.md +2 -2
  75. package/mcp/dist/config.js +78 -0
  76. package/mcp/dist/config.js.map +1 -0
  77. package/mcp/dist/entry.js +112 -0
  78. package/mcp/dist/entry.js.map +1 -0
  79. package/mcp/dist/files.js +64 -0
  80. package/mcp/dist/files.js.map +1 -0
  81. package/mcp/dist/guard.js +262 -0
  82. package/mcp/dist/guard.js.map +1 -0
  83. package/mcp/dist/http.js +111 -0
  84. package/mcp/dist/http.js.map +1 -0
  85. package/mcp/dist/intents.js +579 -0
  86. package/mcp/dist/intents.js.map +1 -0
  87. package/mcp/dist/prompts.js +153 -0
  88. package/mcp/dist/prompts.js.map +1 -0
  89. package/mcp/dist/reach.js +98 -0
  90. package/mcp/dist/reach.js.map +1 -0
  91. package/mcp/dist/resources.js +154 -0
  92. package/mcp/dist/resources.js.map +1 -0
  93. package/mcp/dist/sdk.js +34 -0
  94. package/mcp/dist/sdk.js.map +1 -0
  95. package/mcp/dist/server.js +119 -0
  96. package/mcp/dist/server.js.map +1 -0
  97. package/mcp/dist/setup.js +189 -0
  98. package/mcp/dist/setup.js.map +1 -0
  99. package/mcp/dist/skilltools.js +520 -0
  100. package/mcp/dist/skilltools.js.map +1 -0
  101. package/mcp/dist/terms.js +93 -0
  102. package/mcp/dist/terms.js.map +1 -0
  103. package/mcp/dist/tools.js +1499 -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 +173 -0
  128. package/sdk/dist/cli/chain.d.ts.map +1 -0
  129. package/sdk/dist/cli/chain.js +462 -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 +225 -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 +219 -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 +3163 -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 +184 -0
  260. package/sdk/dist/cli/solana.d.ts.map +1 -0
  261. package/sdk/dist/cli/solana.js +1370 -0
  262. package/sdk/dist/cli/solana.js.map +1 -0
  263. package/sdk/dist/cli/store.d.ts +60 -0
  264. package/sdk/dist/cli/store.d.ts.map +1 -0
  265. package/sdk/dist/cli/store.js +196 -0
  266. package/sdk/dist/cli/store.js.map +1 -0
  267. package/sdk/dist/cli/support.d.ts +144 -0
  268. package/sdk/dist/cli/support.d.ts.map +1 -0
  269. package/sdk/dist/cli/support.js +217 -0
  270. package/sdk/dist/cli/support.js.map +1 -0
  271. package/sdk/dist/cli/svm-effects.d.ts +50 -0
  272. package/sdk/dist/cli/svm-effects.d.ts.map +1 -0
  273. package/sdk/dist/cli/svm-effects.js +196 -0
  274. package/sdk/dist/cli/svm-effects.js.map +1 -0
  275. package/sdk/dist/cli/terminal.d.ts +42 -0
  276. package/sdk/dist/cli/terminal.d.ts.map +1 -0
  277. package/sdk/dist/cli/terminal.js +136 -0
  278. package/sdk/dist/cli/terminal.js.map +1 -0
  279. package/sdk/dist/cli/verify.d.ts +32 -0
  280. package/sdk/dist/cli/verify.d.ts.map +1 -0
  281. package/sdk/dist/cli/verify.js +185 -0
  282. package/sdk/dist/cli/verify.js.map +1 -0
  283. package/sdk/dist/cli/wallet-commands.d.ts +59 -0
  284. package/sdk/dist/cli/wallet-commands.d.ts.map +1 -0
  285. package/sdk/dist/cli/wallet-commands.js +222 -0
  286. package/sdk/dist/cli/wallet-commands.js.map +1 -0
  287. package/sdk/dist/cli/wallet-send.d.ts +38 -0
  288. package/sdk/dist/cli/wallet-send.d.ts.map +1 -0
  289. package/sdk/dist/cli/wallet-send.js +303 -0
  290. package/sdk/dist/cli/wallet-send.js.map +1 -0
  291. package/sdk/dist/cli/wallets.d.ts +79 -0
  292. package/sdk/dist/cli/wallets.d.ts.map +1 -0
  293. package/sdk/dist/cli/wallets.js +297 -0
  294. package/sdk/dist/cli/wallets.js.map +1 -0
  295. package/sdk/dist/deployments/index.d.ts +4 -62
  296. package/sdk/dist/deployments/index.d.ts.map +1 -1
  297. package/sdk/dist/deployments/index.js +4 -84
  298. package/sdk/dist/deployments/index.js.map +1 -1
  299. package/sdk/dist/deployments/pot.d.ts +17 -7
  300. package/sdk/dist/deployments/pot.d.ts.map +1 -1
  301. package/sdk/dist/deployments/pot.js +25 -10
  302. package/sdk/dist/deployments/pot.js.map +1 -1
  303. package/sdk/dist/deployments/releases.d.ts +36 -0
  304. package/sdk/dist/deployments/releases.d.ts.map +1 -0
  305. package/sdk/dist/deployments/releases.js +61 -0
  306. package/sdk/dist/deployments/releases.js.map +1 -0
  307. package/sdk/dist/deployments/releases.json +76 -0
  308. package/sdk/dist/deployments/v12-addresses.d.ts +13 -0
  309. package/sdk/dist/deployments/v12-addresses.d.ts.map +1 -1
  310. package/sdk/dist/deployments/v12-addresses.js +16 -3
  311. package/sdk/dist/deployments/v12-addresses.js.map +1 -1
  312. package/sdk/dist/deposit/index.d.ts +6 -6
  313. package/sdk/dist/deposit/index.d.ts.map +1 -1
  314. package/sdk/dist/deposit/index.js +1 -1
  315. package/sdk/dist/deposit/index.js.map +1 -1
  316. package/sdk/dist/deposit/params.d.ts +4 -4
  317. package/sdk/dist/deposit/params.d.ts.map +1 -1
  318. package/sdk/dist/deposit/params.js +7 -4
  319. package/sdk/dist/deposit/params.js.map +1 -1
  320. package/sdk/dist/deposit/source.d.ts +3 -30
  321. package/sdk/dist/deposit/source.d.ts.map +1 -1
  322. package/sdk/dist/deposit/source.js +7 -83
  323. package/sdk/dist/deposit/source.js.map +1 -1
  324. package/sdk/dist/deposit/templates.d.ts +1 -2
  325. package/sdk/dist/deposit/templates.d.ts.map +1 -1
  326. package/sdk/dist/deposit/templates.js +10 -2
  327. package/sdk/dist/deposit/templates.js.map +1 -1
  328. package/sdk/dist/deposit/types.d.ts +14 -12
  329. package/sdk/dist/deposit/types.d.ts.map +1 -1
  330. package/sdk/dist/deposit/types.js +6 -0
  331. package/sdk/dist/deposit/types.js.map +1 -1
  332. package/sdk/dist/descriptors/accessors.d.ts +38 -35
  333. package/sdk/dist/descriptors/accessors.d.ts.map +1 -1
  334. package/sdk/dist/descriptors/accessors.js +16 -0
  335. package/sdk/dist/descriptors/accessors.js.map +1 -1
  336. package/sdk/dist/descriptors/call.d.ts +66 -14
  337. package/sdk/dist/descriptors/call.d.ts.map +1 -1
  338. package/sdk/dist/descriptors/call.js +94 -13
  339. package/sdk/dist/descriptors/call.js.map +1 -1
  340. package/sdk/dist/descriptors/contracts.generated.d.ts +3393 -0
  341. package/sdk/dist/descriptors/contracts.generated.d.ts.map +1 -0
  342. package/sdk/dist/descriptors/contracts.generated.js +728 -0
  343. package/sdk/dist/descriptors/contracts.generated.js.map +1 -0
  344. package/sdk/dist/descriptors/derive.d.ts +20 -11
  345. package/sdk/dist/descriptors/derive.d.ts.map +1 -1
  346. package/sdk/dist/descriptors/derive.js +68 -30
  347. package/sdk/dist/descriptors/derive.js.map +1 -1
  348. package/sdk/dist/descriptors/index.d.ts +6 -7
  349. package/sdk/dist/descriptors/index.d.ts.map +1 -1
  350. package/sdk/dist/descriptors/index.js +2 -2
  351. package/sdk/dist/descriptors/index.js.map +1 -1
  352. package/sdk/dist/descriptors/links.d.ts +23 -214
  353. package/sdk/dist/descriptors/links.d.ts.map +1 -1
  354. package/sdk/dist/descriptors/links.js +1 -232
  355. package/sdk/dist/descriptors/links.js.map +1 -1
  356. package/sdk/dist/descriptors/query.d.ts +1 -1
  357. package/sdk/dist/descriptors/query.d.ts.map +1 -1
  358. package/sdk/dist/descriptors/query.js +1 -1
  359. package/sdk/dist/descriptors/query.js.map +1 -1
  360. package/sdk/dist/descriptors/registry.d.ts +2 -5
  361. package/sdk/dist/descriptors/registry.d.ts.map +1 -1
  362. package/sdk/dist/descriptors/registry.js +11 -66
  363. package/sdk/dist/descriptors/registry.js.map +1 -1
  364. package/sdk/dist/embedded/resolve.d.ts +4 -4
  365. package/sdk/dist/embedded/resolve.d.ts.map +1 -1
  366. package/sdk/dist/embedded/resolve.js +12 -8
  367. package/sdk/dist/embedded/resolve.js.map +1 -1
  368. package/sdk/dist/embedded/skills.generated.d.ts +1 -1
  369. package/sdk/dist/embedded/skills.generated.d.ts.map +1 -1
  370. package/sdk/dist/embedded/skills.generated.js +137 -136
  371. package/sdk/dist/embedded/skills.generated.js.map +1 -1
  372. package/sdk/dist/embedded/sources.generated.d.ts.map +1 -1
  373. package/sdk/dist/embedded/sources.generated.js +40 -6
  374. package/sdk/dist/embedded/sources.generated.js.map +1 -1
  375. package/sdk/dist/evm/engine.d.ts +813 -10
  376. package/sdk/dist/evm/engine.d.ts.map +1 -1
  377. package/sdk/dist/evm/engine.js +127 -8
  378. package/sdk/dist/evm/engine.js.map +1 -1
  379. package/sdk/dist/index.d.ts +3 -2
  380. package/sdk/dist/index.d.ts.map +1 -1
  381. package/sdk/dist/index.js +6 -2
  382. package/sdk/dist/index.js.map +1 -1
  383. package/sdk/dist/price.d.ts +40 -0
  384. package/sdk/dist/price.d.ts.map +1 -0
  385. package/sdk/dist/price.js +101 -0
  386. package/sdk/dist/price.js.map +1 -0
  387. package/sdk/dist/protocols/aerodrome/abis.d.ts +76 -0
  388. package/sdk/dist/protocols/aerodrome/abis.d.ts.map +1 -1
  389. package/sdk/dist/protocols/aerodrome/abis.js +61 -0
  390. package/sdk/dist/protocols/aerodrome/abis.js.map +1 -1
  391. package/sdk/dist/protocols/aerodrome-slipstream/abis.d.ts +70 -0
  392. package/sdk/dist/protocols/aerodrome-slipstream/abis.d.ts.map +1 -1
  393. package/sdk/dist/protocols/aerodrome-slipstream/abis.js +54 -0
  394. package/sdk/dist/protocols/aerodrome-slipstream/abis.js.map +1 -1
  395. package/sdk/dist/protocols/camelot/abis.d.ts +178 -0
  396. package/sdk/dist/protocols/camelot/abis.d.ts.map +1 -1
  397. package/sdk/dist/protocols/camelot/abis.js +139 -0
  398. package/sdk/dist/protocols/camelot/abis.js.map +1 -1
  399. package/sdk/dist/protocols/eco-routes/abis.d.ts +792 -50
  400. package/sdk/dist/protocols/eco-routes/abis.d.ts.map +1 -1
  401. package/sdk/dist/protocols/eco-routes/abis.js +1058 -49
  402. package/sdk/dist/protocols/eco-routes/abis.js.map +1 -1
  403. package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts +44 -61
  404. package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts.map +1 -1
  405. package/sdk/dist/protocols/eco-routes/addresses.generated.js +45 -62
  406. package/sdk/dist/protocols/eco-routes/addresses.generated.js.map +1 -1
  407. package/sdk/dist/protocols/eco-routes/lookup.d.ts +10 -0
  408. package/sdk/dist/protocols/eco-routes/lookup.d.ts.map +1 -1
  409. package/sdk/dist/protocols/eco-routes/lookup.js +16 -0
  410. package/sdk/dist/protocols/eco-routes/lookup.js.map +1 -1
  411. package/sdk/dist/protocols/maverick/abis.d.ts +77 -0
  412. package/sdk/dist/protocols/maverick/abis.d.ts.map +1 -1
  413. package/sdk/dist/protocols/maverick/abis.js +58 -0
  414. package/sdk/dist/protocols/maverick/abis.js.map +1 -1
  415. package/sdk/dist/protocols/maverick/addresses.d.ts.map +1 -1
  416. package/sdk/dist/protocols/maverick/addresses.js +4 -0
  417. package/sdk/dist/protocols/maverick/addresses.js.map +1 -1
  418. package/sdk/dist/protocols/pancakeswap-v2/abis.d.ts +52 -0
  419. package/sdk/dist/protocols/pancakeswap-v2/abis.d.ts.map +1 -1
  420. package/sdk/dist/protocols/pancakeswap-v2/abis.js +43 -0
  421. package/sdk/dist/protocols/pancakeswap-v2/abis.js.map +1 -1
  422. package/sdk/dist/protocols/pancakeswap-v3/abis.d.ts +73 -0
  423. package/sdk/dist/protocols/pancakeswap-v3/abis.d.ts.map +1 -1
  424. package/sdk/dist/protocols/pancakeswap-v3/abis.js +56 -0
  425. package/sdk/dist/protocols/pancakeswap-v3/abis.js.map +1 -1
  426. package/sdk/dist/protocols/permit2/abis.d.ts +113 -0
  427. package/sdk/dist/protocols/permit2/abis.d.ts.map +1 -1
  428. package/sdk/dist/protocols/permit2/abis.js +63 -0
  429. package/sdk/dist/protocols/permit2/abis.js.map +1 -1
  430. package/sdk/dist/protocols/quickswap/abis.d.ts +148 -0
  431. package/sdk/dist/protocols/quickswap/abis.d.ts.map +1 -1
  432. package/sdk/dist/protocols/quickswap/abis.js +119 -0
  433. package/sdk/dist/protocols/quickswap/abis.js.map +1 -1
  434. package/sdk/dist/protocols/sushiswap-v2/abis.d.ts +52 -0
  435. package/sdk/dist/protocols/sushiswap-v2/abis.d.ts.map +1 -1
  436. package/sdk/dist/protocols/sushiswap-v2/abis.js +42 -0
  437. package/sdk/dist/protocols/sushiswap-v2/abis.js.map +1 -1
  438. package/sdk/dist/protocols/synthra-v3/abis.d.ts +73 -0
  439. package/sdk/dist/protocols/synthra-v3/abis.d.ts.map +1 -1
  440. package/sdk/dist/protocols/synthra-v3/abis.js +55 -0
  441. package/sdk/dist/protocols/synthra-v3/abis.js.map +1 -1
  442. package/sdk/dist/protocols/trader-joe/abis.d.ts +133 -0
  443. package/sdk/dist/protocols/trader-joe/abis.d.ts.map +1 -1
  444. package/sdk/dist/protocols/trader-joe/abis.js +101 -0
  445. package/sdk/dist/protocols/trader-joe/abis.js.map +1 -1
  446. package/sdk/dist/protocols/trader-joe/addresses.d.ts.map +1 -1
  447. package/sdk/dist/protocols/trader-joe/addresses.js +5 -0
  448. package/sdk/dist/protocols/trader-joe/addresses.js.map +1 -1
  449. package/sdk/dist/protocols/uniswap-v2/abis.d.ts +52 -0
  450. package/sdk/dist/protocols/uniswap-v2/abis.d.ts.map +1 -1
  451. package/sdk/dist/protocols/uniswap-v2/abis.js +44 -0
  452. package/sdk/dist/protocols/uniswap-v2/abis.js.map +1 -1
  453. package/sdk/dist/protocols/uniswap-v3/abis.d.ts +73 -0
  454. package/sdk/dist/protocols/uniswap-v3/abis.d.ts.map +1 -1
  455. package/sdk/dist/protocols/uniswap-v3/abis.js +55 -0
  456. package/sdk/dist/protocols/uniswap-v3/abis.js.map +1 -1
  457. package/sdk/dist/protocols/uniswap-v4/abis.d.ts +247 -0
  458. package/sdk/dist/protocols/uniswap-v4/abis.d.ts.map +1 -1
  459. package/sdk/dist/protocols/uniswap-v4/abis.js +167 -0
  460. package/sdk/dist/protocols/uniswap-v4/abis.js.map +1 -1
  461. package/sdk/dist/protocols/uniswap-v4/addresses.d.ts.map +1 -1
  462. package/sdk/dist/protocols/uniswap-v4/addresses.js +50 -0
  463. package/sdk/dist/protocols/uniswap-v4/addresses.js.map +1 -1
  464. package/sdk/dist/protocols/unitflow-v3/abis.d.ts +73 -0
  465. package/sdk/dist/protocols/unitflow-v3/abis.d.ts.map +1 -1
  466. package/sdk/dist/protocols/unitflow-v3/abis.js +56 -0
  467. package/sdk/dist/protocols/unitflow-v3/abis.js.map +1 -1
  468. package/sdk/dist/protocols/velodrome/abis.d.ts +76 -0
  469. package/sdk/dist/protocols/velodrome/abis.d.ts.map +1 -1
  470. package/sdk/dist/protocols/velodrome/abis.js +61 -0
  471. package/sdk/dist/protocols/velodrome/abis.js.map +1 -1
  472. package/sdk/dist/recipes/cctp-split.sauce.ts +2 -2
  473. package/sdk/dist/recipes/plain-transfer.sauce.ts +2 -2
  474. package/sdk/dist/routes/accessor-index.d.ts +2 -2
  475. package/sdk/dist/routes/accessor-index.d.ts.map +1 -1
  476. package/sdk/dist/routes/accessor-index.js +4 -3
  477. package/sdk/dist/routes/accessor-index.js.map +1 -1
  478. package/sdk/dist/routes/ambient.d.ts +5 -0
  479. package/sdk/dist/routes/ambient.d.ts.map +1 -1
  480. package/sdk/dist/routes/ambient.js +20 -0
  481. package/sdk/dist/routes/ambient.js.map +1 -1
  482. package/sdk/dist/routes/ast-walk.d.ts +17 -3
  483. package/sdk/dist/routes/ast-walk.d.ts.map +1 -1
  484. package/sdk/dist/routes/ast-walk.js +24 -2
  485. package/sdk/dist/routes/ast-walk.js.map +1 -1
  486. package/sdk/dist/routes/available.d.ts +43 -0
  487. package/sdk/dist/routes/available.d.ts.map +1 -0
  488. package/sdk/dist/routes/available.js +230 -0
  489. package/sdk/dist/routes/available.js.map +1 -0
  490. package/sdk/dist/routes/builtins.generated.d.ts +180 -0
  491. package/sdk/dist/routes/builtins.generated.d.ts.map +1 -0
  492. package/sdk/dist/routes/builtins.generated.js +2 -0
  493. package/sdk/dist/routes/builtins.generated.js.map +1 -0
  494. package/sdk/dist/routes/chain-exports.generated.d.ts +13 -8
  495. package/sdk/dist/routes/chain-exports.generated.d.ts.map +1 -1
  496. package/sdk/dist/routes/chain-exports.generated.js.map +1 -1
  497. package/sdk/dist/routes/closure.d.ts.map +1 -1
  498. package/sdk/dist/routes/closure.js +13 -26
  499. package/sdk/dist/routes/closure.js.map +1 -1
  500. package/sdk/dist/routes/composed.d.ts.map +1 -1
  501. package/sdk/dist/routes/composed.js +20 -8
  502. package/sdk/dist/routes/composed.js.map +1 -1
  503. package/sdk/dist/routes/encode.d.ts +17 -0
  504. package/sdk/dist/routes/encode.d.ts.map +1 -1
  505. package/sdk/dist/routes/encode.js +14 -11
  506. package/sdk/dist/routes/encode.js.map +1 -1
  507. package/sdk/dist/routes/entry.d.ts +76 -0
  508. package/sdk/dist/routes/entry.d.ts.map +1 -0
  509. package/sdk/dist/routes/entry.js +478 -0
  510. package/sdk/dist/routes/entry.js.map +1 -0
  511. package/sdk/dist/routes/index.d.ts +19 -12
  512. package/sdk/dist/routes/index.d.ts.map +1 -1
  513. package/sdk/dist/routes/index.js +11 -8
  514. package/sdk/dist/routes/index.js.map +1 -1
  515. package/sdk/dist/routes/intent-body.d.ts +97 -0
  516. package/sdk/dist/routes/intent-body.d.ts.map +1 -0
  517. package/sdk/dist/routes/intent-body.js +441 -0
  518. package/sdk/dist/routes/intent-body.js.map +1 -0
  519. package/sdk/dist/routes/intent-dsl.d.ts +21 -6
  520. package/sdk/dist/routes/intent-dsl.d.ts.map +1 -1
  521. package/sdk/dist/routes/intent-dsl.js +34 -17
  522. package/sdk/dist/routes/intent-dsl.js.map +1 -1
  523. package/sdk/dist/routes/intent-sugar.d.ts +77 -4
  524. package/sdk/dist/routes/intent-sugar.d.ts.map +1 -1
  525. package/sdk/dist/routes/intent-sugar.js +318 -129
  526. package/sdk/dist/routes/intent-sugar.js.map +1 -1
  527. package/sdk/dist/routes/intent.d.ts +13 -1
  528. package/sdk/dist/routes/intent.d.ts.map +1 -1
  529. package/sdk/dist/routes/intent.js +37 -1
  530. package/sdk/dist/routes/intent.js.map +1 -1
  531. package/sdk/dist/routes/nest.d.ts +3 -2
  532. package/sdk/dist/routes/nest.d.ts.map +1 -1
  533. package/sdk/dist/routes/nest.js +5 -3
  534. package/sdk/dist/routes/nest.js.map +1 -1
  535. package/sdk/dist/routes/parse.d.ts +6 -0
  536. package/sdk/dist/routes/parse.d.ts.map +1 -0
  537. package/sdk/dist/routes/parse.js +39 -0
  538. package/sdk/dist/routes/parse.js.map +1 -0
  539. package/sdk/dist/routes/portal.d.ts +258 -4
  540. package/sdk/dist/routes/portal.d.ts.map +1 -1
  541. package/sdk/dist/routes/portal.js +588 -9
  542. package/sdk/dist/routes/portal.js.map +1 -1
  543. package/sdk/dist/routes/protocol-rewrite.d.ts +71 -1
  544. package/sdk/dist/routes/protocol-rewrite.d.ts.map +1 -1
  545. package/sdk/dist/routes/protocol-rewrite.js +178 -54
  546. package/sdk/dist/routes/protocol-rewrite.js.map +1 -1
  547. package/sdk/dist/routes/rs-compile.d.ts +25 -22
  548. package/sdk/dist/routes/rs-compile.d.ts.map +1 -1
  549. package/sdk/dist/routes/rs-compile.js +55 -49
  550. package/sdk/dist/routes/rs-compile.js.map +1 -1
  551. package/sdk/dist/routes/sauce-calls.d.ts +26 -12
  552. package/sdk/dist/routes/sauce-calls.d.ts.map +1 -1
  553. package/sdk/dist/routes/sauce-calls.js +16 -23
  554. package/sdk/dist/routes/sauce-calls.js.map +1 -1
  555. package/sdk/dist/routes/sauce-route.d.ts +74 -7
  556. package/sdk/dist/routes/sauce-route.d.ts.map +1 -1
  557. package/sdk/dist/routes/sauce-route.js +225 -75
  558. package/sdk/dist/routes/sauce-route.js.map +1 -1
  559. package/sdk/dist/routes/source-globals.d.ts +107 -0
  560. package/sdk/dist/routes/source-globals.d.ts.map +1 -0
  561. package/sdk/dist/routes/source-globals.generated.d.ts +5601 -933
  562. package/sdk/dist/routes/source-globals.generated.d.ts.map +1 -1
  563. package/sdk/dist/routes/source-globals.generated.js +3 -4
  564. package/sdk/dist/routes/source-globals.generated.js.map +1 -1
  565. package/sdk/dist/routes/source-globals.js +175 -0
  566. package/sdk/dist/routes/source-globals.js.map +1 -0
  567. package/sdk/dist/routes/stock-tokens.d.ts +89 -0
  568. package/sdk/dist/routes/stock-tokens.d.ts.map +1 -0
  569. package/sdk/dist/routes/stock-tokens.generated.d.ts +7 -0
  570. package/sdk/dist/routes/stock-tokens.generated.d.ts.map +1 -0
  571. package/sdk/dist/routes/stock-tokens.generated.js +3664 -0
  572. package/sdk/dist/routes/stock-tokens.generated.js.map +1 -0
  573. package/sdk/dist/routes/stock-tokens.js +89 -0
  574. package/sdk/dist/routes/stock-tokens.js.map +1 -0
  575. package/sdk/dist/routes/token-registry.d.ts +68 -8
  576. package/sdk/dist/routes/token-registry.d.ts.map +1 -1
  577. package/sdk/dist/routes/token-registry.js +218 -32
  578. package/sdk/dist/routes/token-registry.js.map +1 -1
  579. package/sdk/dist/routes/token-rewrite.d.ts +1 -1
  580. package/sdk/dist/routes/token-rewrite.d.ts.map +1 -1
  581. package/sdk/dist/routes/token-rewrite.js +5 -9
  582. package/sdk/dist/routes/token-rewrite.js.map +1 -1
  583. package/sdk/dist/routes/unknown-global.d.ts +32 -0
  584. package/sdk/dist/routes/unknown-global.d.ts.map +1 -0
  585. package/sdk/dist/routes/unknown-global.js +106 -0
  586. package/sdk/dist/routes/unknown-global.js.map +1 -0
  587. package/sdk/dist/routes/vault.d.ts +38 -8
  588. package/sdk/dist/routes/vault.d.ts.map +1 -1
  589. package/sdk/dist/routes/vault.js +47 -8
  590. package/sdk/dist/routes/vault.js.map +1 -1
  591. package/sdk/dist/sauce-script/builtins.d.ts +309 -0
  592. package/sdk/dist/sauce-script/declarations.d.ts +3 -0
  593. package/sdk/dist/sauce-script/declarations.d.ts.map +1 -0
  594. package/sdk/dist/sauce-script/declarations.js +229 -0
  595. package/sdk/dist/sauce-script/declarations.js.map +1 -0
  596. package/sdk/dist/sauce-script/index.d.ts +2714 -0
  597. package/sdk/dist/sauce-script/ts-plugin.cjs +85 -0
  598. package/sdk/dist/skills/loader.d.ts.map +1 -1
  599. package/sdk/dist/skills/loader.js +4 -3
  600. package/sdk/dist/skills/loader.js.map +1 -1
  601. package/sdk/dist/std/router/balancer-v2-vault.abi.json +78 -0
  602. package/sdk/dist/std/router/curve-cryptoswap.abi.json +29 -0
  603. package/sdk/dist/std/router/curve-stableswap.abi.json +29 -0
  604. package/sdk/dist/std/router/dodo-v2-pool.abi.json +39 -0
  605. package/sdk/dist/std/router/lb-pair.abi.json +55 -0
  606. package/sdk/dist/std/router/package.json +7 -0
  607. package/sdk/dist/std/router/router.evm.js +567 -0
  608. package/sdk/dist/std/router/sauce-router.abi.json +202 -0
  609. package/sdk/dist/std/router/uniswap-v2-pair.abi.json +49 -0
  610. package/sdk/dist/std/router/woo-pp-v2.abi.json +42 -0
  611. package/sdk/dist/std/token/permit2.abi.json +226 -0
  612. package/sdk/dist/std/token/token.evm.js +73 -0
  613. package/sdk/dist/std/token/token.svm.js +194 -41
  614. package/sdk/dist/svm/client.d.ts +62 -15
  615. package/sdk/dist/svm/client.d.ts.map +1 -1
  616. package/sdk/dist/svm/client.js +103 -42
  617. package/sdk/dist/svm/client.js.map +1 -1
  618. package/sdk/dist/svm/engine.d.ts +66 -5
  619. package/sdk/dist/svm/engine.d.ts.map +1 -1
  620. package/sdk/dist/svm/engine.js +73 -5
  621. package/sdk/dist/svm/engine.js.map +1 -1
  622. package/sdk/dist/svm/index.d.ts +2 -0
  623. package/sdk/dist/svm/index.d.ts.map +1 -1
  624. package/sdk/dist/svm/index.js +2 -0
  625. package/sdk/dist/svm/index.js.map +1 -1
  626. package/sdk/dist/svm/instructions.d.ts +72 -1
  627. package/sdk/dist/svm/instructions.d.ts.map +1 -1
  628. package/sdk/dist/svm/instructions.js +81 -2
  629. package/sdk/dist/svm/instructions.js.map +1 -1
  630. package/sdk/dist/svm/kitchen.d.ts +20 -1
  631. package/sdk/dist/svm/kitchen.d.ts.map +1 -1
  632. package/sdk/dist/svm/kitchen.js +47 -1
  633. package/sdk/dist/svm/kitchen.js.map +1 -1
  634. package/sdk/dist/svm/portal.d.ts +250 -0
  635. package/sdk/dist/svm/portal.d.ts.map +1 -0
  636. package/sdk/dist/svm/portal.js +462 -0
  637. package/sdk/dist/svm/portal.js.map +1 -0
  638. package/sdk/dist/svm/send.d.ts +18 -2
  639. package/sdk/dist/svm/send.d.ts.map +1 -1
  640. package/sdk/dist/svm/send.js +28 -3
  641. package/sdk/dist/svm/send.js.map +1 -1
  642. package/sdk/dist/svm/token-accounts.d.ts +49 -0
  643. package/sdk/dist/svm/token-accounts.d.ts.map +1 -0
  644. package/sdk/dist/svm/token-accounts.js +58 -0
  645. package/sdk/dist/svm/token-accounts.js.map +1 -0
  646. package/sdk/dist/svm/token-extensions.d.ts +18 -7
  647. package/sdk/dist/svm/token-extensions.d.ts.map +1 -1
  648. package/sdk/dist/svm/token-extensions.js +58 -5
  649. package/sdk/dist/svm/token-extensions.js.map +1 -1
  650. package/sdk/dist/token/evm.js +1 -1
  651. package/sdk/dist/token/index.d.ts +1 -1
  652. package/sdk/dist/token/index.js +1 -1
  653. package/sdk/dist/token/params.js +1 -1
  654. package/sdk/dist/token/source.js +3 -3
  655. package/sdk/dist/token/source.js.map +1 -1
  656. package/sdk/dist/token/types.d.ts +2 -2
  657. package/sdk/dist/token/types.js +2 -2
  658. package/sdk/src/protocols/aerodrome/AerodromePoolABI.json +105 -0
  659. package/sdk/src/protocols/aerodrome/abis.ts +62 -0
  660. package/sdk/src/protocols/aerodrome-slipstream/AerodromeSlipstreamPoolABI.json +96 -0
  661. package/sdk/src/protocols/aerodrome-slipstream/abis.ts +55 -0
  662. package/sdk/src/protocols/camelot/CamelotV2FactoryABI.json +25 -0
  663. package/sdk/src/protocols/camelot/CamelotV2PairABI.json +109 -0
  664. package/sdk/src/protocols/camelot/CamelotV3FactoryABI.json +25 -0
  665. package/sdk/src/protocols/camelot/CamelotV3PoolABI.json +92 -0
  666. package/sdk/src/protocols/camelot/abis.ts +143 -0
  667. package/sdk/src/protocols/eco-routes/PortalABI.json +1448 -0
  668. package/sdk/src/protocols/eco-routes/ProverABI.json +162 -0
  669. package/sdk/src/protocols/eco-routes/abis.ts +1060 -51
  670. package/sdk/src/protocols/eco-routes/addresses.generated.ts +45 -62
  671. package/sdk/src/protocols/eco-routes/lookup.ts +18 -0
  672. package/sdk/src/protocols/maverick/MaverickV2PoolABI.json +107 -0
  673. package/sdk/src/protocols/maverick/abis.ts +59 -0
  674. package/sdk/src/protocols/maverick/addresses.ts +4 -0
  675. package/sdk/src/protocols/pancakeswap-v2/PancakeSwapV2PairABI.json +72 -0
  676. package/sdk/src/protocols/pancakeswap-v2/abis.ts +44 -0
  677. package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3PoolABI.json +100 -0
  678. package/sdk/src/protocols/pancakeswap-v3/abis.ts +57 -0
  679. package/sdk/src/protocols/permit2/Permit2ABI.json +154 -0
  680. package/sdk/src/protocols/permit2/abis.ts +63 -0
  681. package/sdk/src/protocols/quickswap/QuickSwapV2FactoryABI.json +25 -0
  682. package/sdk/src/protocols/quickswap/QuickSwapV2PairABI.json +72 -0
  683. package/sdk/src/protocols/quickswap/QuickSwapV3FactoryABI.json +25 -0
  684. package/sdk/src/protocols/quickswap/QuickSwapV3PoolABI.json +88 -0
  685. package/sdk/src/protocols/quickswap/abis.ts +123 -0
  686. package/sdk/src/protocols/sushiswap-v2/SushiSwapV2PairABI.json +72 -0
  687. package/sdk/src/protocols/sushiswap-v2/abis.ts +43 -0
  688. package/sdk/src/protocols/synthra-v3/SynthraV3PoolABI.json +100 -0
  689. package/sdk/src/protocols/synthra-v3/abis.ts +56 -0
  690. package/sdk/src/protocols/trader-joe/LBPairABI.json +185 -0
  691. package/sdk/src/protocols/trader-joe/abis.ts +102 -0
  692. package/sdk/src/protocols/trader-joe/addresses.ts +5 -0
  693. package/sdk/src/protocols/uniswap-v2/UniswapV2PairABI.json +72 -0
  694. package/sdk/src/protocols/uniswap-v2/abis.ts +45 -0
  695. package/sdk/src/protocols/uniswap-v3/UniswapV3PoolABI.json +100 -0
  696. package/sdk/src/protocols/uniswap-v3/abis.ts +56 -0
  697. package/sdk/src/protocols/uniswap-v4/UniswapV4PoolManagerABI.json +38 -0
  698. package/sdk/src/protocols/uniswap-v4/UniswapV4StateViewABI.json +307 -0
  699. package/sdk/src/protocols/uniswap-v4/abis.ts +168 -0
  700. package/sdk/src/protocols/uniswap-v4/addresses.ts +50 -0
  701. package/sdk/src/protocols/unitflow-v3/UnitFlowV3PoolABI.json +100 -0
  702. package/sdk/src/protocols/unitflow-v3/abis.ts +57 -0
  703. package/sdk/src/protocols/velodrome/VelodromePoolABI.json +105 -0
  704. package/sdk/src/protocols/velodrome/abis.ts +62 -0
  705. package/skills/sauce-actions/SKILL.md +166 -0
  706. package/skills/sauce-actions/examples/swap-and-supply.json +24 -0
  707. package/skills/sauce-actions/examples/swap-by-key.json +15 -0
  708. package/skills/sauce-actions/references/actions.md +731 -0
  709. package/skills/sauce-chains/SKILL.md +137 -0
  710. package/skills/sauce-chains/examples/chains.sauce.ts +25 -0
  711. package/skills/sauce-chains/references/arbitrum.md +158 -0
  712. package/skills/sauce-chains/references/arc.md +107 -0
  713. package/skills/sauce-chains/references/aurora.md +33 -0
  714. package/skills/sauce-chains/references/avalanche.md +106 -0
  715. package/skills/sauce-chains/references/base-stocks.md +77 -0
  716. package/skills/sauce-chains/references/base.md +141 -0
  717. package/skills/sauce-chains/references/berachain.md +33 -0
  718. package/skills/sauce-chains/references/blast.md +60 -0
  719. package/skills/sauce-chains/references/boba.md +33 -0
  720. package/skills/sauce-chains/references/bsc.md +97 -0
  721. package/skills/sauce-chains/references/celo.md +57 -0
  722. package/skills/sauce-chains/references/core.md +33 -0
  723. package/skills/sauce-chains/references/cronos.md +33 -0
  724. package/skills/sauce-chains/references/ethereum-stocks.md +1741 -0
  725. package/skills/sauce-chains/references/ethereum.md +255 -0
  726. package/skills/sauce-chains/references/evmos.md +33 -0
  727. package/skills/sauce-chains/references/fantom.md +61 -0
  728. package/skills/sauce-chains/references/fuse.md +33 -0
  729. package/skills/sauce-chains/references/gnosis.md +57 -0
  730. package/skills/sauce-chains/references/index.md +58 -0
  731. package/skills/sauce-chains/references/ink.md +55 -0
  732. package/skills/sauce-chains/references/kava.md +33 -0
  733. package/skills/sauce-chains/references/klaytn.md +33 -0
  734. package/skills/sauce-chains/references/linea.md +65 -0
  735. package/skills/sauce-chains/references/manta.md +33 -0
  736. package/skills/sauce-chains/references/mantle.md +33 -0
  737. package/skills/sauce-chains/references/metis.md +54 -0
  738. package/skills/sauce-chains/references/mode.md +55 -0
  739. package/skills/sauce-chains/references/monad.md +79 -0
  740. package/skills/sauce-chains/references/moonbeam.md +33 -0
  741. package/skills/sauce-chains/references/opbnb.md +55 -0
  742. package/skills/sauce-chains/references/optimism.md +123 -0
  743. package/skills/sauce-chains/references/plasma.md +35 -0
  744. package/skills/sauce-chains/references/polygon.md +123 -0
  745. package/skills/sauce-chains/references/pulsechain.md +33 -0
  746. package/skills/sauce-chains/references/ronin.md +35 -0
  747. package/skills/sauce-chains/references/scroll.md +62 -0
  748. package/skills/sauce-chains/references/sei.md +55 -0
  749. package/skills/sauce-chains/references/solana-stocks.md +1812 -0
  750. package/skills/sauce-chains/references/solana.md +56 -0
  751. package/skills/sauce-chains/references/sonic.md +57 -0
  752. package/skills/sauce-chains/references/unichain.md +61 -0
  753. package/skills/sauce-chains/references/zetachain.md +33 -0
  754. package/skills/sauce-chains/references/zksync.md +59 -0
  755. package/skills/sauce-chains/references/zora.md +57 -0
  756. package/skills/sauce-cli/SKILL.md +366 -0
  757. package/skills/sauce-cli/examples/pay.sauce.ts +23 -0
  758. package/skills/sauce-cli/examples/split.sauce.ts +30 -0
  759. package/skills/sauce-distributed-swap/SKILL.md +392 -0
  760. package/skills/sauce-distributed-swap/examples/distributed-swap.mts +251 -0
  761. package/skills/sauce-distributed-swap/examples/distributed-swap.sauce.ts +115 -0
  762. package/skills/sauce-examples/SKILL.md +96 -0
  763. package/skills/sauce-globals/SKILL.md +213 -0
  764. package/skills/sauce-globals/examples/globals.mts +111 -0
  765. package/skills/sauce-globals/examples/globals.sauce.ts +47 -0
  766. package/skills/sauce-globals/references/chains.md +53 -0
  767. package/skills/sauce-globals/references/protocols.md +405 -0
  768. package/skills/sauce-globals/references/stocks.md +3635 -0
  769. package/skills/sauce-globals/references/tokens.md +53 -0
  770. package/skills/sauce-intents/SKILL.md +505 -0
  771. package/skills/sauce-intents/examples/cross-chain.sauce.ts +37 -0
  772. package/skills/sauce-intents/examples/fund-by-transfer.sauce.ts +54 -0
  773. package/skills/sauce-intents/examples/intents.mts +343 -0
  774. package/skills/sauce-intents/examples/swap-on-base.sauce.ts +135 -0
  775. package/skills/sauce-intents/references/portal.md +77 -0
  776. package/skills/sauce-overview/SKILL.md +161 -0
  777. package/skills/sauce-protocols/SKILL.md +118 -0
  778. package/skills/sauce-protocols/examples/protocols.mts +77 -0
  779. package/skills/sauce-protocols/examples/protocols.sauce.ts +27 -0
  780. package/{sdk/src/skills → skills/sauce-protocols/references}/aave-v2.md +35 -17
  781. package/skills/sauce-protocols/references/aave-v3.md +144 -0
  782. package/skills/sauce-protocols/references/aave-v4.md +50 -0
  783. package/skills/sauce-protocols/references/abracadabra.md +72 -0
  784. package/skills/sauce-protocols/references/across.md +73 -0
  785. package/skills/sauce-protocols/references/aerodrome-slipstream.md +50 -0
  786. package/{sdk/src/skills → skills/sauce-protocols/references}/aerodrome.md +43 -24
  787. package/skills/sauce-protocols/references/aevo.md +49 -0
  788. package/{sdk/src/skills → skills/sauce-protocols/references}/alchemix.md +10 -25
  789. package/{sdk/src/skills → skills/sauce-protocols/references}/ambient.md +14 -21
  790. package/{sdk/src/skills → skills/sauce-protocols/references}/arbitrum-bridge.md +11 -14
  791. package/{sdk/src/skills → skills/sauce-protocols/references}/arrakis.md +10 -26
  792. package/skills/sauce-protocols/references/axelar.md +56 -0
  793. package/{sdk/src/skills → skills/sauce-protocols/references}/balancer-v2.md +13 -29
  794. package/{sdk/src/skills → skills/sauce-protocols/references}/base-bridge.md +11 -16
  795. package/{sdk/src/skills → skills/sauce-protocols/references}/baseswap.md +12 -19
  796. package/{sdk/src/skills → skills/sauce-protocols/references}/beefy.md +10 -30
  797. package/{sdk/src/skills → skills/sauce-protocols/references}/benqi.md +11 -21
  798. package/{sdk/src/skills → skills/sauce-protocols/references}/camelot.md +13 -27
  799. package/{sdk/src/skills → skills/sauce-protocols/references}/cbeth.md +10 -22
  800. package/skills/sauce-protocols/references/cctp.md +47 -0
  801. package/{sdk/src/skills → skills/sauce-protocols/references}/celer.md +11 -18
  802. package/{sdk/src/skills → skills/sauce-protocols/references}/chainlink-ccip.md +11 -21
  803. package/skills/sauce-protocols/references/chainlink.md +47 -0
  804. package/{sdk/src/skills → skills/sauce-protocols/references}/circle-gateway.md +12 -38
  805. package/{sdk/src/skills → skills/sauce-protocols/references}/compound-v2.md +11 -25
  806. package/{sdk/src/skills → skills/sauce-protocols/references}/compound-v3.md +43 -27
  807. package/{sdk/src/skills → skills/sauce-protocols/references}/connext.md +11 -15
  808. package/{sdk/src/skills → skills/sauce-protocols/references}/convex.md +10 -28
  809. package/{sdk/src/skills → skills/sauce-protocols/references}/cowswap.md +12 -19
  810. package/{sdk/src/skills → skills/sauce-protocols/references}/crvusd.md +10 -19
  811. package/skills/sauce-protocols/references/curve.md +98 -0
  812. package/{sdk/src/skills → skills/sauce-protocols/references}/debridge.md +11 -33
  813. package/{sdk/src/skills → skills/sauce-protocols/references}/dodo.md +13 -18
  814. package/skills/sauce-protocols/references/eigenlayer.md +48 -0
  815. package/{sdk/src/skills → skills/sauce-protocols/references}/ens.md +10 -26
  816. package/{sdk/src/skills → skills/sauce-protocols/references}/erc20.md +10 -24
  817. package/{sdk/src/skills → skills/sauce-protocols/references}/erc3156.md +10 -13
  818. package/{sdk/src/skills → skills/sauce-protocols/references}/erc4626.md +11 -27
  819. package/{sdk/src/skills → skills/sauce-protocols/references}/ethena.md +10 -27
  820. package/{sdk/src/skills → skills/sauce-protocols/references}/etherfi.md +10 -32
  821. package/{sdk/src/skills → skills/sauce-protocols/references}/euler-v2.md +11 -21
  822. package/{sdk/src/skills → skills/sauce-protocols/references}/fenix.md +12 -18
  823. package/{sdk/src/skills → skills/sauce-protocols/references}/fluid.md +11 -20
  824. package/{sdk/src/skills → skills/sauce-protocols/references}/frax-ether.md +10 -26
  825. package/{sdk/src/skills → skills/sauce-protocols/references}/frax.md +10 -19
  826. package/{sdk/src/skills → skills/sauce-protocols/references}/gains-network.md +11 -28
  827. package/skills/sauce-protocols/references/gamma.md +57 -0
  828. package/{sdk/src/skills → skills/sauce-protocols/references}/gelato.md +12 -20
  829. package/{sdk/src/skills → skills/sauce-protocols/references}/gho.md +10 -19
  830. package/{sdk/src/skills → skills/sauce-protocols/references}/gmx-v1.md +12 -34
  831. package/{sdk/src/skills → skills/sauce-protocols/references}/gmx-v2.md +15 -28
  832. package/skills/sauce-protocols/references/harvest.md +41 -0
  833. package/{sdk/src/skills → skills/sauce-protocols/references}/hegic.md +10 -18
  834. package/{sdk/src/skills → skills/sauce-protocols/references}/hop.md +11 -21
  835. package/{sdk/src/skills → skills/sauce-protocols/references}/hyperlane.md +11 -21
  836. package/skills/sauce-protocols/references/index.md +355 -0
  837. package/{sdk/src/skills → skills/sauce-protocols/references}/instadapp.md +10 -18
  838. package/skills/sauce-protocols/references/kelp.md +46 -0
  839. package/{sdk/src/skills → skills/sauce-protocols/references}/kim.md +12 -18
  840. package/{sdk/src/skills → skills/sauce-protocols/references}/kyberswap-aggregator.md +12 -35
  841. package/skills/sauce-protocols/references/kyberswap.md +72 -0
  842. package/{sdk/src/skills → skills/sauce-protocols/references}/layerbank.md +11 -26
  843. package/{sdk/src/skills → skills/sauce-protocols/references}/layerzero.md +11 -25
  844. package/{sdk/src/skills → skills/sauce-protocols/references}/level-finance.md +10 -24
  845. package/{sdk/src/skills → skills/sauce-protocols/references}/lido.md +10 -28
  846. package/{sdk/src/skills → skills/sauce-protocols/references}/lifi.md +11 -25
  847. package/{sdk/src/skills → skills/sauce-protocols/references}/linea-bridge.md +11 -14
  848. package/{sdk/src/skills → skills/sauce-protocols/references}/liquity-v1.md +10 -21
  849. package/{sdk/src/skills → skills/sauce-protocols/references}/liquity-v2.md +10 -19
  850. package/{sdk/src/skills → skills/sauce-protocols/references}/lynex.md +12 -18
  851. package/skills/sauce-protocols/references/maker.md +57 -0
  852. package/skills/sauce-protocols/references/mantle-meth.md +43 -0
  853. package/{sdk/src/skills → skills/sauce-protocols/references}/maverick.md +13 -25
  854. package/{sdk/src/skills → skills/sauce-protocols/references}/moonwell.md +11 -21
  855. package/{sdk/src/skills → skills/sauce-protocols/references}/morpho-blue.md +44 -21
  856. package/{sdk/src/skills → skills/sauce-protocols/references}/mux-protocol.md +10 -30
  857. package/skills/sauce-protocols/references/olympus.md +39 -0
  858. package/skills/sauce-protocols/references/oneinch.md +81 -0
  859. package/skills/sauce-protocols/references/openocean.md +69 -0
  860. package/{sdk/src/skills → skills/sauce-protocols/references}/optimism-bridge.md +11 -16
  861. package/{sdk/src/skills → skills/sauce-protocols/references}/opyn.md +10 -21
  862. package/{sdk/src/skills → skills/sauce-protocols/references}/pancakeswap-v2.md +39 -41
  863. package/skills/sauce-protocols/references/pancakeswap-v3.md +72 -0
  864. package/skills/sauce-protocols/references/paraswap.md +39 -0
  865. package/{sdk/src/skills → skills/sauce-protocols/references}/pendle.md +47 -29
  866. package/skills/sauce-protocols/references/permit2.md +101 -0
  867. package/skills/sauce-protocols/references/perpetual-protocol.md +53 -0
  868. package/{sdk/src/skills → skills/sauce-protocols/references}/polygon-bridge.md +11 -17
  869. package/{sdk/src/skills → skills/sauce-protocols/references}/premia.md +10 -19
  870. package/{sdk/src/skills → skills/sauce-protocols/references}/puffer.md +10 -21
  871. package/skills/sauce-protocols/references/pyth.md +45 -0
  872. package/{sdk/src/skills → skills/sauce-protocols/references}/quickswap.md +13 -27
  873. package/{sdk/src/skills → skills/sauce-protocols/references}/radiant.md +11 -15
  874. package/{sdk/src/skills → skills/sauce-protocols/references}/ramses.md +12 -18
  875. package/skills/sauce-protocols/references/reflexer.md +52 -0
  876. package/skills/sauce-protocols/references/registry/aave-v2.md +43 -0
  877. package/skills/sauce-protocols/references/registry/aave-v3.md +62 -0
  878. package/skills/sauce-protocols/references/registry/aave-v4.md +80 -0
  879. package/skills/sauce-protocols/references/registry/abracadabra.md +54 -0
  880. package/skills/sauce-protocols/references/registry/across.md +57 -0
  881. package/skills/sauce-protocols/references/registry/aerodrome-slipstream.md +72 -0
  882. package/skills/sauce-protocols/references/registry/aerodrome.md +58 -0
  883. package/skills/sauce-protocols/references/registry/aevo.md +39 -0
  884. package/skills/sauce-protocols/references/registry/alchemix.md +46 -0
  885. package/skills/sauce-protocols/references/registry/ambient.md +40 -0
  886. package/skills/sauce-protocols/references/registry/arbitrum-bridge.md +40 -0
  887. package/skills/sauce-protocols/references/registry/arrakis.md +49 -0
  888. package/skills/sauce-protocols/references/registry/axelar.md +65 -0
  889. package/skills/sauce-protocols/references/registry/balancer-v2.md +50 -0
  890. package/skills/sauce-protocols/references/registry/base-bridge.md +42 -0
  891. package/skills/sauce-protocols/references/registry/baseswap.md +40 -0
  892. package/skills/sauce-protocols/references/registry/beefy.md +51 -0
  893. package/skills/sauce-protocols/references/registry/benqi.md +49 -0
  894. package/skills/sauce-protocols/references/registry/camelot.md +82 -0
  895. package/skills/sauce-protocols/references/registry/cbeth.md +43 -0
  896. package/skills/sauce-protocols/references/registry/cctp.md +48 -0
  897. package/skills/sauce-protocols/references/registry/celer.md +44 -0
  898. package/skills/sauce-protocols/references/registry/chainlink-ccip.md +45 -0
  899. package/skills/sauce-protocols/references/registry/chainlink.md +49 -0
  900. package/skills/sauce-protocols/references/registry/circle-gateway.md +70 -0
  901. package/skills/sauce-protocols/references/registry/compound-v2.md +53 -0
  902. package/skills/sauce-protocols/references/registry/compound-v3.md +52 -0
  903. package/skills/sauce-protocols/references/registry/connext.md +41 -0
  904. package/skills/sauce-protocols/references/registry/convex.md +51 -0
  905. package/skills/sauce-protocols/references/registry/cowswap.md +40 -0
  906. package/skills/sauce-protocols/references/registry/crvusd.md +40 -0
  907. package/skills/sauce-protocols/references/registry/curve.md +81 -0
  908. package/skills/sauce-protocols/references/registry/debridge.md +59 -0
  909. package/skills/sauce-protocols/references/registry/dodo.md +39 -0
  910. package/skills/sauce-protocols/references/registry/eco-routes.md +65 -0
  911. package/skills/sauce-protocols/references/registry/eigenlayer.md +58 -0
  912. package/skills/sauce-protocols/references/registry/ens.md +49 -0
  913. package/skills/sauce-protocols/references/registry/erc20.md +44 -0
  914. package/skills/sauce-protocols/references/registry/erc3156.md +38 -0
  915. package/skills/sauce-protocols/references/registry/erc4626.md +51 -0
  916. package/skills/sauce-protocols/references/registry/ethena.md +50 -0
  917. package/skills/sauce-protocols/references/registry/etherfi.md +57 -0
  918. package/skills/sauce-protocols/references/registry/euler-v2.md +49 -0
  919. package/skills/sauce-protocols/references/registry/fenix.md +39 -0
  920. package/skills/sauce-protocols/references/registry/fluid.md +48 -0
  921. package/skills/sauce-protocols/references/registry/frax-ether.md +49 -0
  922. package/skills/sauce-protocols/references/registry/frax.md +40 -0
  923. package/skills/sauce-protocols/references/registry/gains-network.md +43 -0
  924. package/skills/sauce-protocols/references/registry/gamma.md +56 -0
  925. package/skills/sauce-protocols/references/registry/gelato.md +45 -0
  926. package/skills/sauce-protocols/references/registry/gho.md +40 -0
  927. package/skills/sauce-protocols/references/registry/gmx-v1.md +59 -0
  928. package/skills/sauce-protocols/references/registry/gmx-v2.md +41 -0
  929. package/skills/sauce-protocols/references/registry/harvest.md +44 -0
  930. package/skills/sauce-protocols/references/registry/hegic.md +39 -0
  931. package/skills/sauce-protocols/references/registry/hop.md +49 -0
  932. package/skills/sauce-protocols/references/registry/hyperlane.md +48 -0
  933. package/skills/sauce-protocols/references/registry/instadapp.md +39 -0
  934. package/skills/sauce-protocols/references/registry/kelp.md +47 -0
  935. package/skills/sauce-protocols/references/registry/kim.md +39 -0
  936. package/skills/sauce-protocols/references/registry/kyberswap-aggregator.md +49 -0
  937. package/skills/sauce-protocols/references/registry/kyberswap.md +63 -0
  938. package/skills/sauce-protocols/references/registry/layerbank.md +54 -0
  939. package/skills/sauce-protocols/references/registry/layerzero.md +49 -0
  940. package/skills/sauce-protocols/references/registry/level-finance.md +41 -0
  941. package/skills/sauce-protocols/references/registry/lido.md +51 -0
  942. package/skills/sauce-protocols/references/registry/lifi.md +48 -0
  943. package/skills/sauce-protocols/references/registry/linea-bridge.md +40 -0
  944. package/skills/sauce-protocols/references/registry/liquity-v1.md +42 -0
  945. package/skills/sauce-protocols/references/registry/liquity-v2.md +40 -0
  946. package/skills/sauce-protocols/references/registry/lynex.md +39 -0
  947. package/skills/sauce-protocols/references/registry/maker.md +55 -0
  948. package/skills/sauce-protocols/references/registry/mantle-meth.md +48 -0
  949. package/skills/sauce-protocols/references/registry/maverick.md +60 -0
  950. package/skills/sauce-protocols/references/registry/moonwell.md +49 -0
  951. package/skills/sauce-protocols/references/registry/morpho-blue.md +47 -0
  952. package/skills/sauce-protocols/references/registry/mux-protocol.md +49 -0
  953. package/skills/sauce-protocols/references/registry/olympus.md +42 -0
  954. package/skills/sauce-protocols/references/registry/oneinch.md +45 -0
  955. package/skills/sauce-protocols/references/registry/openocean.md +44 -0
  956. package/skills/sauce-protocols/references/registry/optimism-bridge.md +42 -0
  957. package/skills/sauce-protocols/references/registry/opyn.md +42 -0
  958. package/skills/sauce-protocols/references/registry/pancakeswap-v2.md +71 -0
  959. package/skills/sauce-protocols/references/registry/pancakeswap-v3.md +76 -0
  960. package/skills/sauce-protocols/references/registry/paraswap.md +51 -0
  961. package/skills/sauce-protocols/references/registry/pendle.md +43 -0
  962. package/skills/sauce-protocols/references/registry/permit2.md +50 -0
  963. package/skills/sauce-protocols/references/registry/perpetual-protocol.md +49 -0
  964. package/skills/sauce-protocols/references/registry/polygon-bridge.md +43 -0
  965. package/skills/sauce-protocols/references/registry/premia.md +40 -0
  966. package/skills/sauce-protocols/references/registry/puffer.md +43 -0
  967. package/skills/sauce-protocols/references/registry/pyth.md +40 -0
  968. package/skills/sauce-protocols/references/registry/quickswap.md +80 -0
  969. package/skills/sauce-protocols/references/registry/radiant.md +41 -0
  970. package/skills/sauce-protocols/references/registry/ramses.md +39 -0
  971. package/skills/sauce-protocols/references/registry/reflexer.md +56 -0
  972. package/skills/sauce-protocols/references/registry/renzo.md +47 -0
  973. package/skills/sauce-protocols/references/registry/rocket-pool.md +49 -0
  974. package/skills/sauce-protocols/references/registry/sablier.md +40 -0
  975. package/skills/sauce-protocols/references/registry/safe.md +47 -0
  976. package/skills/sauce-protocols/references/registry/scroll-bridge.md +48 -0
  977. package/skills/sauce-protocols/references/registry/seamless.md +42 -0
  978. package/skills/sauce-protocols/references/registry/seaport.md +44 -0
  979. package/skills/sauce-protocols/references/registry/silo.md +48 -0
  980. package/skills/sauce-protocols/references/registry/socket.md +44 -0
  981. package/skills/sauce-protocols/references/registry/sommelier.md +43 -0
  982. package/skills/sauce-protocols/references/registry/spark.md +42 -0
  983. package/skills/sauce-protocols/references/registry/spookyswap.md +40 -0
  984. package/skills/sauce-protocols/references/registry/squid.md +45 -0
  985. package/skills/sauce-protocols/references/registry/stader.md +47 -0
  986. package/skills/sauce-protocols/references/registry/stargate.md +45 -0
  987. package/skills/sauce-protocols/references/registry/superfluid.md +49 -0
  988. package/skills/sauce-protocols/references/registry/sushiswap-v2.md +71 -0
  989. package/skills/sauce-protocols/references/registry/swell.md +49 -0
  990. package/skills/sauce-protocols/references/registry/synapse.md +46 -0
  991. package/skills/sauce-protocols/references/registry/syncswap.md +38 -0
  992. package/skills/sauce-protocols/references/registry/synthetix-v3.md +48 -0
  993. package/skills/sauce-protocols/references/registry/synthra-v3.md +77 -0
  994. package/skills/sauce-protocols/references/registry/thales.md +51 -0
  995. package/skills/sauce-protocols/references/registry/thena.md +39 -0
  996. package/skills/sauce-protocols/references/registry/thruster.md +38 -0
  997. package/skills/sauce-protocols/references/registry/tokemak.md +45 -0
  998. package/skills/sauce-protocols/references/registry/trader-joe.md +66 -0
  999. package/skills/sauce-protocols/references/registry/uniswap-v2.md +77 -0
  1000. package/skills/sauce-protocols/references/registry/uniswap-v3.md +113 -0
  1001. package/skills/sauce-protocols/references/registry/uniswap-v4.md +117 -0
  1002. package/skills/sauce-protocols/references/registry/unitflow-v3.md +65 -0
  1003. package/skills/sauce-protocols/references/registry/velodrome.md +58 -0
  1004. package/skills/sauce-protocols/references/registry/venus.md +62 -0
  1005. package/skills/sauce-protocols/references/registry/vertex.md +46 -0
  1006. package/skills/sauce-protocols/references/registry/wormhole.md +59 -0
  1007. package/skills/sauce-protocols/references/registry/yearn-v3.md +46 -0
  1008. package/skills/sauce-protocols/references/registry/zerolend.md +41 -0
  1009. package/skills/sauce-protocols/references/registry/zerox.md +44 -0
  1010. package/skills/sauce-protocols/references/registry/zksync-bridge.md +40 -0
  1011. package/{sdk/src/skills → skills/sauce-protocols/references}/renzo.md +10 -24
  1012. package/{sdk/src/skills → skills/sauce-protocols/references}/rocket-pool.md +10 -26
  1013. package/{sdk/src/skills → skills/sauce-protocols/references}/sablier.md +10 -27
  1014. package/skills/sauce-protocols/references/safe.md +42 -0
  1015. package/{sdk/src/skills → skills/sauce-protocols/references}/scroll-bridge.md +11 -20
  1016. package/{sdk/src/skills → skills/sauce-protocols/references}/seamless.md +11 -16
  1017. package/skills/sauce-protocols/references/seaport.md +38 -0
  1018. package/{sdk/src/skills → skills/sauce-protocols/references}/silo.md +11 -20
  1019. package/{sdk/src/skills → skills/sauce-protocols/references}/socket.md +11 -18
  1020. package/skills/sauce-protocols/references/sommelier.md +40 -0
  1021. package/{sdk/src/skills → skills/sauce-protocols/references}/spark.md +11 -16
  1022. package/{sdk/src/skills → skills/sauce-protocols/references}/spookyswap.md +12 -19
  1023. package/{sdk/src/skills → skills/sauce-protocols/references}/squid.md +11 -21
  1024. package/skills/sauce-protocols/references/stader.md +39 -0
  1025. package/{sdk/src/skills → skills/sauce-protocols/references}/stargate.md +11 -22
  1026. package/{sdk/src/skills → skills/sauce-protocols/references}/superfluid.md +10 -28
  1027. package/{sdk/src/skills → skills/sauce-protocols/references}/sushiswap-v2.md +38 -43
  1028. package/skills/sauce-protocols/references/swell.md +49 -0
  1029. package/skills/sauce-protocols/references/synapse.md +54 -0
  1030. package/{sdk/src/skills → skills/sauce-protocols/references}/syncswap.md +12 -17
  1031. package/{sdk/src/skills → skills/sauce-protocols/references}/synthetix-v3.md +10 -29
  1032. package/skills/sauce-protocols/references/synthra-v3.md +63 -0
  1033. package/skills/sauce-protocols/references/thales.md +58 -0
  1034. package/{sdk/src/skills → skills/sauce-protocols/references}/thena.md +12 -18
  1035. package/{sdk/src/skills → skills/sauce-protocols/references}/thruster.md +13 -18
  1036. package/skills/sauce-protocols/references/tokemak.md +40 -0
  1037. package/{sdk/src/skills → skills/sauce-protocols/references}/trader-joe.md +13 -26
  1038. package/{sdk/src/skills → skills/sauce-protocols/references}/uniswap-v2.md +46 -44
  1039. package/skills/sauce-protocols/references/uniswap-v3.md +188 -0
  1040. package/skills/sauce-protocols/references/uniswap-v4.md +155 -0
  1041. package/skills/sauce-protocols/references/unitflow-v3.md +63 -0
  1042. package/{sdk/src/skills → skills/sauce-protocols/references}/velodrome.md +12 -24
  1043. package/{sdk/src/skills → skills/sauce-protocols/references}/venus.md +12 -31
  1044. package/skills/sauce-protocols/references/vertex.md +42 -0
  1045. package/skills/sauce-protocols/references/wormhole.md +57 -0
  1046. package/{sdk/src/skills → skills/sauce-protocols/references}/yearn-v3.md +10 -25
  1047. package/{sdk/src/skills → skills/sauce-protocols/references}/zerolend.md +11 -15
  1048. package/skills/sauce-protocols/references/zerox.md +39 -0
  1049. package/{sdk/src/skills → skills/sauce-protocols/references}/zksync-bridge.md +11 -14
  1050. package/skills/sauce-script/SKILL.md +407 -0
  1051. package/skills/sauce-script/examples/IOracle.json +12 -0
  1052. package/skills/sauce-script/examples/saucescript.mts +167 -0
  1053. package/skills/sauce-script/examples/twap.sauce.ts +29 -0
  1054. package/skills/sauce-script/references/builtins.json +823 -0
  1055. package/skills/sauce-script/references/builtins.md +674 -0
  1056. package/skills/sauce-solana/SKILL.md +324 -0
  1057. package/skills/sauce-solana/examples/solana.mts +166 -0
  1058. package/skills/sauce-solana/examples/solana.sauce.ts +45 -0
  1059. package/skills/sauce-solana/examples/token-2022.sauce.ts +38 -0
  1060. package/skills/sauce-swaps/SKILL.md +200 -0
  1061. package/skills/sauce-swaps/examples/swap-leg.sauce.ts +50 -0
  1062. package/skills/sauce-swaps/examples/swaps.mts +124 -0
  1063. package/skills/sauce-typescript/SKILL.md +178 -0
  1064. package/skills/sauce-typescript/examples/actions.mts +100 -0
  1065. package/skills/sauce-typescript/examples/compiler.mts +69 -0
  1066. package/skills/sauce-typescript/examples/cook.mts +65 -0
  1067. package/skills/sauce-typescript/examples/verify.mts +104 -0
  1068. package/dev-tools/README.md +0 -16
  1069. package/dev-tools/artifacts/IERC20.json +0 -1
  1070. package/dev-tools/artifacts/ISauceRouter.json +0 -1
  1071. package/dev-tools/artifacts/IUniswapV3Pool.json +0 -1
  1072. package/dev-tools/artifacts/Router.json +0 -1
  1073. package/dev-tools/hardhat.config.cjs +0 -18
  1074. package/dev-tools/sauce/js/add.js +0 -4
  1075. package/dev-tools/sauce/js/call.js +0 -8
  1076. package/dev-tools/sauce/js/erc20.js +0 -18
  1077. package/dev-tools/sauce/js/example.js +0 -6
  1078. package/dev-tools/sauce/js/fibonacci.js +0 -13
  1079. package/dev-tools/sauce/ts/add.ts +0 -4
  1080. package/dev-tools/sauce/ts/call.ts +0 -8
  1081. package/dev-tools/sauce/ts/erc20.ts +0 -18
  1082. package/dev-tools/sauce/ts/example.ts +0 -6
  1083. package/dev-tools/sauce/ts/fibonacci.ts +0 -13
  1084. package/dev-tools/sauce/ts/saucescript.d.ts +0 -1
  1085. package/dev-tools/sauce/ts/tsconfig.json +0 -12
  1086. package/dev-tools/scripts/deploy.ts +0 -107
  1087. package/dev-tools/scripts/init.js +0 -132
  1088. package/dev-tools/scripts/run.ts +0 -67
  1089. package/dev-tools/scripts/start-fork.sh +0 -92
  1090. package/dev-tools/scripts/start-local.sh +0 -120
  1091. package/dev-tools/scripts/stop-local.sh +0 -40
  1092. package/dev-tools/scripts/sync-artifacts.js +0 -46
  1093. package/dev-tools/scripts/sync-price.ts +0 -58
  1094. package/dev-tools/src/contracts.ts +0 -59
  1095. package/dev-tools/src/runner.ts +0 -355
  1096. package/dev-tools/src/svm-local.ts +0 -305
  1097. package/dev-tools/src/sync-price.ts +0 -217
  1098. package/sdk/dist/deployments/v12.generated.d.ts +0 -95
  1099. package/sdk/dist/deployments/v12.generated.d.ts.map +0 -1
  1100. package/sdk/dist/deployments/v12.generated.js +0 -50
  1101. package/sdk/dist/deployments/v12.generated.js.map +0 -1
  1102. package/sdk/dist/swap/index.d.ts +0 -29
  1103. package/sdk/dist/swap/index.d.ts.map +0 -1
  1104. package/sdk/dist/swap/index.js +0 -27
  1105. package/sdk/dist/swap/index.js.map +0 -1
  1106. package/sdk/dist/swap/params.d.ts +0 -29
  1107. package/sdk/dist/swap/params.d.ts.map +0 -1
  1108. package/sdk/dist/swap/params.js +0 -123
  1109. package/sdk/dist/swap/params.js.map +0 -1
  1110. package/sdk/dist/swap/source.d.ts +0 -30
  1111. package/sdk/dist/swap/source.d.ts.map +0 -1
  1112. package/sdk/dist/swap/source.js +0 -101
  1113. package/sdk/dist/swap/source.js.map +0 -1
  1114. package/sdk/dist/swap/types.d.ts +0 -160
  1115. package/sdk/dist/swap/types.d.ts.map +0 -1
  1116. package/sdk/dist/swap/types.js +0 -106
  1117. package/sdk/dist/swap/types.js.map +0 -1
  1118. package/sdk/src/skills/aave-v3.md +0 -134
  1119. package/sdk/src/skills/aave-v4.md +0 -91
  1120. package/sdk/src/skills/abracadabra.md +0 -93
  1121. package/sdk/src/skills/across.md +0 -90
  1122. package/sdk/src/skills/aerodrome-slipstream.md +0 -57
  1123. package/sdk/src/skills/aevo.md +0 -58
  1124. package/sdk/src/skills/axelar.md +0 -80
  1125. package/sdk/src/skills/chainlink.md +0 -62
  1126. package/sdk/src/skills/curve.md +0 -141
  1127. package/sdk/src/skills/eigenlayer.md +0 -71
  1128. package/sdk/src/skills/gamma.md +0 -79
  1129. package/sdk/src/skills/harvest.md +0 -49
  1130. package/sdk/src/skills/index.md +0 -299
  1131. package/sdk/src/skills/kelp.md +0 -60
  1132. package/sdk/src/skills/kyberswap.md +0 -100
  1133. package/sdk/src/skills/loader.ts +0 -46
  1134. package/sdk/src/skills/maker.md +0 -79
  1135. package/sdk/src/skills/mantle-meth.md +0 -60
  1136. package/sdk/src/skills/olympus.md +0 -46
  1137. package/sdk/src/skills/oneinch.md +0 -64
  1138. package/sdk/src/skills/openocean.md +0 -86
  1139. package/sdk/src/skills/pancakeswap-v3.md +0 -104
  1140. package/sdk/src/skills/paraswap.md +0 -67
  1141. package/sdk/src/skills/permit2.md +0 -73
  1142. package/sdk/src/skills/perpetual-protocol.md +0 -73
  1143. package/sdk/src/skills/pyth.md +0 -58
  1144. package/sdk/src/skills/reflexer.md +0 -73
  1145. package/sdk/src/skills/safe.md +0 -56
  1146. package/sdk/src/skills/seaport.md +0 -65
  1147. package/sdk/src/skills/sommelier.md +0 -47
  1148. package/sdk/src/skills/stader.md +0 -53
  1149. package/sdk/src/skills/swell.md +0 -65
  1150. package/sdk/src/skills/synapse.md +0 -63
  1151. package/sdk/src/skills/synthra-v3.md +0 -57
  1152. package/sdk/src/skills/thales.md +0 -74
  1153. package/sdk/src/skills/tokemak.md +0 -48
  1154. package/sdk/src/skills/uniswap-v3.md +0 -202
  1155. package/sdk/src/skills/uniswap-v4.md +0 -125
  1156. package/sdk/src/skills/unitflow-v3.md +0 -62
  1157. package/sdk/src/skills/vertex.md +0 -55
  1158. package/sdk/src/skills/wormhole.md +0 -76
  1159. package/sdk/src/skills/zerox.md +0 -51
@@ -2,17 +2,16 @@
2
2
  * Where a Sauce Pot lives, without asking a chain.
3
3
  *
4
4
  * A Pot is CREATE2 from the Kitchen, so its address is a pure function of its OWNER and a salt —
5
- * `V12Deployments.json` ships the deployer and init-code hash that complete the formula, and
6
- * `V12EngineGate.json` records the Kitchen the released engine will accept Pots from. Nothing here
7
- * reads the network.
5
+ * `V12Deployments.json` ships the deployer (the Kitchen proxy) and the init-code hash that complete
6
+ * the formula, both from the kitchen release's own `addresses.json`; the sync refuses a Kitchen or a
7
+ * hash that is not the one the released engine gates on. Nothing here reads the network.
8
8
  *
9
9
  * DERIVING IS NOT DEPLOYING. The address exists as arithmetic the moment you know the owner; the
10
10
  * contract exists once somebody has called the Kitchen's `deployPot`, a permissionless call per
11
11
  * (owner, salt) that `sauceEvmDeployPotCall` encodes. Nothing the SDK builds makes that call: an
12
12
  * intent's Pot must exist before it is fulfilled, and the solver deploys it (`routes/intent-pot.ts`).
13
13
  */
14
- import { encodeAbiParameters, getAddress, getCreate2Address, keccak256 } from "viem";
15
- import gate from "../artifacts/V12EngineGate.json" with { type: "json" };
14
+ import { encodeAbiParameters, getAddress, getCreate2Address, keccak256, stringToBytes, } from "viem";
16
15
  import { v12PotDerivation } from "./v12-addresses.js";
17
16
  /**
18
17
  * The salt of the one Pot every intent on a chain shares: zero.
@@ -28,16 +27,32 @@ import { v12PotDerivation } from "./v12-addresses.js";
28
27
  * for the production Portal.
29
28
  */
30
29
  export const SAUCE_INTENT_POT_SALT = `0x${"00".repeat(32)}`;
31
- /** The Kitchen the released engine accepts Pots from — the one its gate re-derives against. */
32
- export const v12GateKitchen = () => getAddress(gate.kitchen);
30
+ /**
31
+ * The salt of the Pot an owner names `label`: `keccak256(utf8(label))`.
32
+ *
33
+ * An owner has one Pot per salt. The zero salt ({@link SAUCE_INTENT_POT_SALT}) is the convention
34
+ * for the one Pot an owner has by default — the one the solver deploys and every intent derives —
35
+ * and a label names any other: `v12PredictPot(owner, potSalt("treasury"))`. Hashing gives any label
36
+ * a full 32-byte salt, the same everywhere: the `sauce` command's `--salt treasury` is this. An
37
+ * exact salt needs no helper; pass the 32 bytes to `v12PredictPot` as they are.
38
+ */
39
+ export function potSalt(label) {
40
+ if (label === "") {
41
+ throw new Error("potSalt: a label names a Pot, so it cannot be empty — the default Pot's salt is " +
42
+ "SAUCE_INTENT_POT_SALT");
43
+ }
44
+ return keccak256(stringToBytes(label));
45
+ }
33
46
  /**
34
47
  * `CREATE2(kitchen, keccak256(abi.encode(owner, salt)), initCodeHash)` — the formula
35
- * `V12Deployments.json` records, applied.
48
+ * `V12Deployments.json` records, applied. `kitchen` defaults to the pinned release's Kitchen proxy,
49
+ * the Pots' deployer; the init-code hash is always the pinned release's, never a constant here.
36
50
  *
37
51
  * Chain-independent, like every CREATE2 address: the same owner and salt give the same Pot on every
38
- * chain the Kitchen is deployed at that address on.
52
+ * chain the Kitchen is deployed at that address on. A Kitchen upgrade that moves the init-code hash
53
+ * moves every Pot minted after it — the reason this reads the hash from the release.
39
54
  */
40
- export function v12PredictPot(owner, salt = SAUCE_INTENT_POT_SALT, kitchen = v12GateKitchen()) {
55
+ export function v12PredictPot(owner, salt = SAUCE_INTENT_POT_SALT, kitchen = getAddress(v12PotDerivation().deployer)) {
41
56
  const derivation = v12PotDerivation();
42
57
  return getCreate2Address({
43
58
  from: kitchen,
@@ -1 +1 @@
1
- {"version":3,"file":"pot.js","sourceRoot":"","sources":["../../src/deployments/pot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAY,MAAM,MAAM,CAAC;AAE/F,OAAO,IAAI,MAAM,iCAAiC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;AAEjE,+FAA+F;AAC/F,MAAM,CAAC,MAAM,cAAc,GAAG,GAAQ,EAAE,CAAC,UAAU,CAAE,IAA4B,CAAC,OAAO,CAAQ,CAAC;AAElG;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAU,EACV,OAAY,qBAAqB,EACjC,UAAe,cAAc,EAAE;IAE/B,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IAEtC,OAAO,iBAAiB,CAAC;QACvB,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,UAAU,CAAC,YAAmB;QAC5C,IAAI,EAAE,SAAS,CACb,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAC3F;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"pot.js","sourceRoot":"","sources":["../../src/deployments/pot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,aAAa,GAEd,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;AAEjE;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,kFAAkF;YAChF,uBAAuB,CAC1B,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAU,EACV,OAAY,qBAAqB,EACjC,UAAe,UAAU,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAQ;IAE7D,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IAEtC,OAAO,iBAAiB,CAAC;QACvB,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,UAAU,CAAC,YAAmB;QAC5C,IAAI,EAAE,SAAS,CACb,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAC3F;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,36 @@
1
+ /** The four independently released v12 components the SDK pins. */
2
+ export type V12Component = "v12-evm" | "kitchen-evm" | "v12-svm" | "kitchen-svm";
3
+ /** One pinned release: its version, the digest of each asset the sync takes from it (`null` until
4
+ * the release exists), and — for the two engines — the engine's own identity. */
5
+ export interface V12ReleasePin {
6
+ readonly version: string;
7
+ readonly assets: Readonly<Record<string, string | null>>;
8
+ /** The EVM engine's address or the SVM engine's program id; `null` until the release says. */
9
+ readonly engine?: string | null;
10
+ }
11
+ /** One compiler version and the four releases its output pairs with. */
12
+ export interface V12ReleaseSet {
13
+ readonly compiler: string;
14
+ readonly "v12-evm": V12ReleasePin & {
15
+ readonly engine: string | null;
16
+ };
17
+ readonly "kitchen-evm": V12ReleasePin;
18
+ readonly "v12-svm": V12ReleasePin & {
19
+ readonly engine: string | null;
20
+ };
21
+ readonly "kitchen-svm": V12ReleasePin;
22
+ }
23
+ /** Every release set the SDK knows, oldest first. */
24
+ export declare const V12_RELEASE_SETS: readonly V12ReleaseSet[];
25
+ /** The compiler version this SDK compiles with — the one its pinned engines were synced for. */
26
+ export declare const sdkCompilerVersion: () => string;
27
+ /** The release set for `compiler` (default: this SDK's), or a throw naming the known ones. */
28
+ export declare function v12ReleaseSet(compiler?: string): V12ReleaseSet;
29
+ /**
30
+ * Throws if `engine` is an engine a release set names for a compiler other than `compiler`
31
+ * (default: this SDK's). An engine no set names passes — there is nothing to check it against.
32
+ *
33
+ * @param target `"evm"` for an engine address, `"svm"` for an engine program id.
34
+ */
35
+ export declare function assertEngineRunsCompiler(target: "evm" | "svm", engine: string, compiler?: string): void;
36
+ //# sourceMappingURL=releases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"releases.d.ts","sourceRoot":"","sources":["../../src/deployments/releases.ts"],"names":[],"mappings":"AAqBA,mEAAmE;AACnE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,aAAa,CAAC;AAEjF;kFACkF;AAClF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IACzD,8FAA8F;IAC9F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,wEAAwE;AACxE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,aAAa,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACvE,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,aAAa,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACvE,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;CACvC;AAED,qDAAqD;AACrD,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EAE3C,CAAC;AAEX,gGAAgG;AAChG,eAAO,MAAM,kBAAkB,QAAO,MAAyC,CAAC;AAEhF,8FAA8F;AAC9F,wBAAgB,aAAa,CAAC,QAAQ,GAAE,MAA6B,GAAG,aAAa,CAUpF;AAQD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,KAAK,GAAG,KAAK,EACrB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAA6B,GACtC,IAAI,CAqBN"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Which v12 engine runs which compiler's output — ONE table, keyed by exact versions.
3
+ *
4
+ * Compiler output and engines are compatible in both directions or not at all. Compiler 2.4.0's EVM
5
+ * programs carry `ABI_ENCODE` type lists a v12-evm 1.0.x engine reads as instructions, and its SVM
6
+ * programs rely on the untyped stack of v12-svm 1.3.0; 2.3.x output must not reach the new engines
7
+ * either. The ISA label cannot tell them apart — v12-svm 1.2.0 and 1.3.0 both report
8
+ * `stack-compact-v2` — so the pairing is by exact package version, recorded in `releases.json`.
9
+ *
10
+ * The same rows drive `sync-engine-artifacts`, which fetches the row of the installed compiler, so
11
+ * the artifacts on disk pair with the compiler that runs. What this module adds is the refusal at
12
+ * call-build time: every SDK builder that names an engine — `v12Pot.encodeCook`, the SVM engine and
13
+ * Kitchen cook instructions — calls {@link assertEngineRunsCompiler} first.
14
+ *
15
+ * An engine no row names (a local deployment, a fork's own) is not refused: the SDK cannot tell
16
+ * what it is. A row's engine is known from its release's `addresses.json` — the EVM address is
17
+ * CREATE3 from the version and so known before the release, the SVM program id only after it.
18
+ */
19
+ import table from "./releases.json" with { type: "json" };
20
+ import { v12DeployedAddresses } from "./v12-addresses.js";
21
+ /** Every release set the SDK knows, oldest first. */
22
+ export const V12_RELEASE_SETS = table.releases;
23
+ /** The compiler version this SDK compiles with — the one its pinned engines were synced for. */
24
+ export const sdkCompilerVersion = () => v12DeployedAddresses().compiler;
25
+ /** The release set for `compiler` (default: this SDK's), or a throw naming the known ones. */
26
+ export function v12ReleaseSet(compiler = sdkCompilerVersion()) {
27
+ const set = V12_RELEASE_SETS.find((row) => row.compiler === compiler);
28
+ if (set === undefined) {
29
+ throw new Error(`no v12 release set pairs with compiler ${compiler} — the known ones are for ` +
30
+ `${V12_RELEASE_SETS.map((row) => row.compiler).join(", ")} (deployments/releases.json)`);
31
+ }
32
+ return set;
33
+ }
34
+ const ENGINE = { evm: "v12-evm", svm: "v12-svm" };
35
+ /** EVM addresses compare case-insensitively; SVM program ids are base58 and compare exactly. */
36
+ const sameEngine = (target, a, b) => target === "evm" ? a.toLowerCase() === b.toLowerCase() : a === b;
37
+ /**
38
+ * Throws if `engine` is an engine a release set names for a compiler other than `compiler`
39
+ * (default: this SDK's). An engine no set names passes — there is nothing to check it against.
40
+ *
41
+ * @param target `"evm"` for an engine address, `"svm"` for an engine program id.
42
+ */
43
+ export function assertEngineRunsCompiler(target, engine, compiler = sdkCompilerVersion()) {
44
+ const component = ENGINE[target];
45
+ const naming = V12_RELEASE_SETS.filter((row) => {
46
+ const known = row[component].engine;
47
+ return known !== null && sameEngine(target, known, engine);
48
+ });
49
+ if (naming.length === 0 || naming.some((row) => row.compiler === compiler))
50
+ return;
51
+ const { version } = naming[0][component];
52
+ const runs = naming.map((row) => row.compiler).join(", ");
53
+ const own = V12_RELEASE_SETS.find((row) => row.compiler === compiler)?.[component];
54
+ const instead = own === undefined
55
+ ? `No release set pairs with compiler ${compiler} at all.`
56
+ : `Compiler ${compiler} output runs on ${component} ${own.version}` +
57
+ (own.engine === null ? " (not released yet)." : ` (${own.engine}).`);
58
+ throw new Error(`${engine} is ${component} ${version}, which runs compiler ${runs} output; this program is ` +
59
+ `compiler ${compiler}'s. ${instead}`);
60
+ }
61
+ //# sourceMappingURL=releases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"releases.js","sourceRoot":"","sources":["../../src/deployments/releases.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ {
2
+ "$comment": [
3
+ "Every release-dependent value the SDK pins, in one place: one row per compiler version, naming the four v12 releases that compiler's output pairs with and the digest of every asset the sync takes from them.",
4
+ "Pairing is by EXACT package version, never by ISA revision: v12-svm 1.2.0 and 1.3.0 report the same `stack-compact-v2`, yet compiler 2.4.0 output fails on the first and 2.3.x output must not reach the second.",
5
+ "`sync-engine-artifacts` takes the row whose `compiler` is the installed compiler and fetches exactly those releases, so the artifacts on disk always pair with the compiler that runs. `deployments/releases.ts` refuses, at call-build time, an engine a row names for a DIFFERENT compiler.",
6
+ "To bump: add or edit the row (versions), run the sync, paste the digests and engine ids it reports. A null digest or engine id means the release is not out yet; the sync refuses a row that still has one."
7
+ ],
8
+ "releases": [
9
+ {
10
+ "compiler": "2.3.0",
11
+ "v12-evm": {
12
+ "version": "1.0.1",
13
+ "engine": "0x9745fdfaB1be84a0003f0472A842A0b91E5A323c",
14
+ "assets": {
15
+ "runtime.creation.hex": "0xac489233c18aeaacdefc8429dd3b15aa24762ed3b6aac3854dbd457ea5186972"
16
+ }
17
+ },
18
+ "kitchen-evm": {
19
+ "version": "1.0.0",
20
+ "assets": {
21
+ "abis.json": "3310065f6f4c752888ffbc351ef40f0d9dcdfbb877b8ee33c851d08bb174f912"
22
+ }
23
+ },
24
+ "v12-svm": {
25
+ "version": "1.2.0",
26
+ "engine": "HB8b1oD5PB2ptkLH6EV56Rr9RHevutEfvG2YdA7an6rK",
27
+ "assets": {
28
+ "engine-devnet.so": "5e9a164ce9163f5a28018526053e9c78359c922671f9480b7eb730f6eef9fa01",
29
+ "engine-mainnet.so": "9ad752e1beb58428d66e99f00d86c24fa1c8744b2de91908ade249a90235caf9",
30
+ "engine-wire-devnet.json": "316b7ea4e63d030396a475f55f76a2b46aceaac82186def44d80b6752b6fcdad",
31
+ "engine-wire-mainnet.json": "f9e47b4329c2cd7bae6a5624a60c48d5fe13404c03fea925048fa0ae7c76168d"
32
+ }
33
+ },
34
+ "kitchen-svm": {
35
+ "version": "1.0.0",
36
+ "assets": {
37
+ "kitchen.so": "7b6af3c5b52a56567c2617d634b7403566b4aa5d6fb5dacd958430d84a15466f",
38
+ "kitchen-idl.json": "17d07f64d849ec67a40c5633f58530d84af33e8918300b196b8148728517aab5"
39
+ }
40
+ }
41
+ },
42
+ {
43
+ "compiler": "2.4.0",
44
+ "v12-evm": {
45
+ "version": "1.1.0",
46
+ "engine": "0x6785455AA479AA99D59357d7c9Fe14cba626F175",
47
+ "assets": {
48
+ "runtime.creation.hex": "0x6ce9ae16441f3566789c569695fbf086f6469b19122249a975eafbca129274be"
49
+ }
50
+ },
51
+ "kitchen-evm": {
52
+ "version": "1.1.0",
53
+ "assets": {
54
+ "abis.json": "0cf29af5c11222f2842f0425895f905ea8c7b4338171c8a046aff5cc13fa9b19"
55
+ }
56
+ },
57
+ "v12-svm": {
58
+ "version": "1.3.0",
59
+ "engine": "2HH8xZ7ZN8SSDD8B3ALYANTVKBbMKGxTzjX7LTzvtSzT",
60
+ "assets": {
61
+ "engine-devnet.so": "728cbfff88b01dc80cd9f4b422b6f29037689ec20e09887121b5bdebf2bee0a7",
62
+ "engine-mainnet.so": "78b3f0d231e0303464df87699cce68027ac07cac9cfa0a5843cc5a7f4fdc323b",
63
+ "engine-wire-devnet.json": "316b7ea4e63d030396a475f55f76a2b46aceaac82186def44d80b6752b6fcdad",
64
+ "engine-wire-mainnet.json": "f9e47b4329c2cd7bae6a5624a60c48d5fe13404c03fea925048fa0ae7c76168d"
65
+ }
66
+ },
67
+ "kitchen-svm": {
68
+ "version": "1.0.0",
69
+ "assets": {
70
+ "kitchen.so": "7b6af3c5b52a56567c2617d634b7403566b4aa5d6fb5dacd958430d84a15466f",
71
+ "kitchen-idl.json": "17d07f64d849ec67a40c5633f58530d84af33e8918300b196b8148728517aab5"
72
+ }
73
+ }
74
+ }
75
+ ]
76
+ }
@@ -7,6 +7,7 @@ export interface V12EvmContractRef {
7
7
  derivation?: string;
8
8
  /** Present on the Kitchen — it is a UUPS proxy. */
9
9
  proxyKind?: string;
10
+ /** The Kitchen proxy's and the Router's fixed-address generation. */
10
11
  generation?: number;
11
12
  note?: string;
12
13
  }
@@ -26,6 +27,9 @@ export interface V12SvmProgramRef {
26
27
  }
27
28
  /** The assembled `V12Deployments.json`: release addresses and per-component provenance. */
28
29
  export interface V12DeployedAddresses {
30
+ /** The compiler version these releases were synced for: the row of `releases.json` they come
31
+ * from. Every program this SDK compiles is that compiler's output. */
32
+ compiler: string;
29
33
  /** Legacy EVM Kitchen version; use `releases` for per-component versions. */
30
34
  version: string;
31
35
  /** Legacy EVM Kitchen commit; use `releases` for per-component commits. */
@@ -69,6 +73,15 @@ export declare const v12DeployedVersion: () => string;
69
73
  export declare const v12EngineAddress: () => string;
70
74
  /** The current EVM Router address. */
71
75
  export declare const v12RouterAddress: () => string;
76
+ /**
77
+ * The pinned Kitchen's Router generation — the Router every Pot minted from it starts on.
78
+ *
79
+ * A Pot minted earlier keeps its own Router until its owner moves it, so this is a Pot's generation
80
+ * only once `potRouterUpdate(client, pot)` returns nothing. The generation decides which pools'
81
+ * callbacks a Pot's Router answers: a `@sauce/router` swap on a Synthra V3 or UnitFlow V3 pool needs
82
+ * generation 3, and reverts on an earlier one.
83
+ */
84
+ export declare function v12RouterGeneration(): number;
72
85
  /** The current EVM Kitchen (UUPS proxy) address — mints Pots and gates every cook. */
73
86
  export declare const v12KitchenAddress: () => string;
74
87
  /** The current EVM Kitchen implementation address (behind the proxy). */
@@ -1 +1 @@
1
- {"version":3,"file":"v12-addresses.d.ts","sourceRoot":"","sources":["../../src/deployments/v12-addresses.ts"],"names":[],"mappings":"AAiBA,oGAAoG;AACpG,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,2GAA2G;AAC3G,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,iDAAiD;AACjD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,2FAA2F;AAC3F,MAAM,WAAW,oBAAoB;IACnC,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CACd,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,aAAa,EACrD;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CACpC,CAAC;IACF,GAAG,EAAE;QACH,gBAAgB,EAAE,IAAI,CAAC;QACvB,oEAAoE;QACpE,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE;YACT,iEAAiE;YACjE,MAAM,EAAE,iBAAiB,CAAC;YAC1B,4DAA4D;YAC5D,MAAM,EAAE,iBAAiB,CAAC;YAC1B,gEAAgE;YAChE,OAAO,EAAE,iBAAiB,CAAC;YAC3B,mDAAmD;YACnD,qBAAqB,EAAE,iBAAiB,CAAC;SAC1C,CAAC;QACF,GAAG,EAAE,gBAAgB,CAAC;KACvB,CAAC;IACF,GAAG,EAAE;QACH,kBAAkB,EAAE,IAAI,CAAC;QACzB,QAAQ,EAAE;YACR,8EAA8E;YAC9E,MAAM,EAAE,gBAAgB,CAAC;YACzB,sDAAsD;YACtD,OAAO,EAAE,gBAAgB,CAAC;SAC3B,CAAC;KACH,CAAC;CACH;AAED,4CAA4C;AAC5C,wBAAgB,oBAAoB,IAAI,oBAAoB,CAE3D;AAED,4FAA4F;AAC5F,eAAO,MAAM,kBAAkB,QAAO,MAAwC,CAAC;AAE/E,4DAA4D;AAC5D,eAAO,MAAM,gBAAgB,QAAO,MAA6D,CAAC;AAElG,sCAAsC;AACtC,eAAO,MAAM,gBAAgB,QAAO,MAA6D,CAAC;AAElG,sFAAsF;AACtF,eAAO,MAAM,iBAAiB,QAAO,MAA8D,CAAC;AAEpG,yEAAyE;AACzE,eAAO,MAAM,+BAA+B,QAAO,MACiB,CAAC;AAErE,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,QAAO,gBAAkD,CAAC;AAEvF,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,QAAO,MACa,CAAC;AAEvD,iEAAiE;AACjE,eAAO,MAAM,sBAAsB,QAAO,MACa,CAAC"}
1
+ {"version":3,"file":"v12-addresses.d.ts","sourceRoot":"","sources":["../../src/deployments/v12-addresses.ts"],"names":[],"mappings":"AAeA,oGAAoG;AACpG,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,2GAA2G;AAC3G,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,iDAAiD;AACjD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,2FAA2F;AAC3F,MAAM,WAAW,oBAAoB;IACnC;2EACuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CACd,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,aAAa,EACrD;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CACpC,CAAC;IACF,GAAG,EAAE;QACH,gBAAgB,EAAE,IAAI,CAAC;QACvB,oEAAoE;QACpE,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE;YACT,iEAAiE;YACjE,MAAM,EAAE,iBAAiB,CAAC;YAC1B,4DAA4D;YAC5D,MAAM,EAAE,iBAAiB,CAAC;YAC1B,gEAAgE;YAChE,OAAO,EAAE,iBAAiB,CAAC;YAC3B,mDAAmD;YACnD,qBAAqB,EAAE,iBAAiB,CAAC;SAC1C,CAAC;QACF,GAAG,EAAE,gBAAgB,CAAC;KACvB,CAAC;IACF,GAAG,EAAE;QACH,kBAAkB,EAAE,IAAI,CAAC;QACzB,QAAQ,EAAE;YACR,8EAA8E;YAC9E,MAAM,EAAE,gBAAgB,CAAC;YACzB,sDAAsD;YACtD,OAAO,EAAE,gBAAgB,CAAC;SAC3B,CAAC;KACH,CAAC;CACH;AAED,4CAA4C;AAC5C,wBAAgB,oBAAoB,IAAI,oBAAoB,CAE3D;AAED,4FAA4F;AAC5F,eAAO,MAAM,kBAAkB,QAAO,MAAwC,CAAC;AAE/E,4DAA4D;AAC5D,eAAO,MAAM,gBAAgB,QAAO,MAA6D,CAAC;AAElG,sCAAsC;AACtC,eAAO,MAAM,gBAAgB,QAAO,MAA6D,CAAC;AAElG;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAS5C;AAED,sFAAsF;AACtF,eAAO,MAAM,iBAAiB,QAAO,MAA8D,CAAC;AAEpG,yEAAyE;AACzE,eAAO,MAAM,+BAA+B,QAAO,MACiB,CAAC;AAErE,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,QAAO,gBAAkD,CAAC;AAEvF,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,QAAO,MACa,CAAC;AAEvD,iEAAiE;AACjE,eAAO,MAAM,sBAAsB,QAAO,MACa,CAAC"}
@@ -9,9 +9,7 @@
9
9
  *
10
10
  * These are the deterministic addresses — CREATE3 on EVM, a fixed/derived keypair on SVM — so they are
11
11
  * `chainIndependent` / `clusterIndependent`: one address set, the same everywhere it is deployed. They
12
- * are ADDRESSES, not liveness. The legacy chain roster does not attest that these release versions
13
- * are deployed; check code/programs on the target chain before use. These supersede the legacy
14
- * ADDRESSES — `v12.generated.ts` records the pre-`cook` stack, and its Kitchen/Router are not these.
12
+ * are ADDRESSES, not liveness: check code/programs on the target chain before use.
15
13
  */
16
14
  import deployments from "../artifacts/V12Deployments.json" with { type: "json" };
17
15
  /** The assembled release-address record. */
@@ -24,6 +22,21 @@ export const v12DeployedVersion = () => v12DeployedAddresses().version;
24
22
  export const v12EngineAddress = () => v12DeployedAddresses().evm.contracts.engine.address;
25
23
  /** The current EVM Router address. */
26
24
  export const v12RouterAddress = () => v12DeployedAddresses().evm.contracts.router.address;
25
+ /**
26
+ * The pinned Kitchen's Router generation — the Router every Pot minted from it starts on.
27
+ *
28
+ * A Pot minted earlier keeps its own Router until its owner moves it, so this is a Pot's generation
29
+ * only once `potRouterUpdate(client, pot)` returns nothing. The generation decides which pools'
30
+ * callbacks a Pot's Router answers: a `@sauce/router` swap on a Synthra V3 or UnitFlow V3 pool needs
31
+ * generation 3, and reverts on an earlier one.
32
+ */
33
+ export function v12RouterGeneration() {
34
+ const { generation } = v12DeployedAddresses().evm.contracts.router;
35
+ if (generation === undefined) {
36
+ throw new Error("V12Deployments.json records no Router generation — re-run `sync-engine-artifacts`");
37
+ }
38
+ return generation;
39
+ }
27
40
  /** The current EVM Kitchen (UUPS proxy) address — mints Pots and gates every cook. */
28
41
  export const v12KitchenAddress = () => v12DeployedAddresses().evm.contracts.kitchen.address;
29
42
  /** The current EVM Kitchen implementation address (behind the proxy). */
@@ -1 +1 @@
1
- {"version":3,"file":"v12-addresses.js","sourceRoot":"","sources":["../../src/deployments/v12-addresses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,WAAW,MAAM,kCAAkC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAqEjF,4CAA4C;AAC5C,MAAM,UAAU,oBAAoB;IAClC,OAAO,WAAmC,CAAC;AAC7C,CAAC;AAED,4FAA4F;AAC5F,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC;AAE/E,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAW,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;AAElG,sCAAsC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAW,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;AAElG,sFAAsF;AACtF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAW,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;AAEpG,yEAAyE;AACzE,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAW,EAAE,CAC1D,oBAAoB,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,OAAO,CAAC;AAErE,mFAAmF;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAqB,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;AAEvF,yFAAyF;AACzF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAW,EAAE,CAChD,oBAAoB,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;AAEvD,iEAAiE;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAW,EAAE,CACjD,oBAAoB,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC"}
1
+ {"version":3,"file":"v12-addresses.js","sourceRoot":"","sources":["../../src/deployments/v12-addresses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,WAAW,MAAM,kCAAkC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAyEjF,4CAA4C;AAC5C,MAAM,UAAU,oBAAoB;IAClC,OAAO,WAAmC,CAAC;AAC7C,CAAC;AAED,4FAA4F;AAC5F,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC;AAE/E,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAW,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;AAElG,sCAAsC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAW,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;AAElG;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,EAAE,UAAU,EAAE,GAAG,oBAAoB,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;IACnE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,sFAAsF;AACtF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAW,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;AAEpG,yEAAyE;AACzE,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAW,EAAE,CAC1D,oBAAoB,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,OAAO,CAAC;AAErE,mFAAmF;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAqB,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;AAEvF,yFAAyF;AACzF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAW,EAAE,CAChD,oBAAoB,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;AAEvD,iEAAiE;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAW,EAAE,CACjD,oBAAoB,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC"}
@@ -11,8 +11,9 @@
11
11
  *
12
12
  * Compile generated source with `routes.compileSauceRoute`, supplying both `pot` and `engine`.
13
13
  * The route compiler serves the protocol and ERC-20 ABIs the program imports, and supplies a `void`
14
- * annotation for a falling-through entry. `swapThenDepositSource` combines swaps and deposits in
15
- * one program, compiled the same way.
14
+ * annotation for a falling-through entry. To deposit what a swap delivered, compile an action
15
+ * program (`@eco-incorp/sauce/actions`), whose swap output feeds the next action, or splice
16
+ * `depositCallStatement` with `amount: "balance"` after a call into `@sauce/router`.
16
17
  *
17
18
  * Query `listDepositTemplates()` for supported protocol/action pairs. Templates include Aave and
18
19
  * Spark supply/withdrawal, Compound V3 supply, Euler/ERC-4626 deposits, Lido operations, and WETH
@@ -21,8 +22,7 @@
21
22
  * The default approval policy is `exact`; `none` skips the approval and `max` grants the maximum
22
23
  * allowance. Approvals persist after the cook. The default beneficiary is `ctx.self()` when the
23
24
  * template supports a beneficiary. Runtime `balance` reads native ETH for native-funded templates,
24
- * WETH at `target` for unwrapping, or the supplied `token` otherwise. `delta` measures that same
25
- * balance against the pre-swap snapshot provided by `swapThenDepositSource`.
25
+ * WETH at `target` for unwrapping, or the supplied `token` otherwise.
26
26
  * For Aave/Spark withdrawals, use fixed amounts or `amount: "max"`: the runtime balance is the
27
27
  * underlying token held by the Pot, not its supplied position.
28
28
  *
@@ -32,6 +32,6 @@ export type { Address, AddressInput, AmountInput, Hex, ApprovalPolicy, Beneficia
32
32
  export { DEPOSIT_TEMPLATES, depositTemplateFor, listDepositTemplates } from "./templates.js";
33
33
  export type { DepositKey } from "./templates.js";
34
34
  export { toDeposit } from "./params.js";
35
- export { depositCallStatement, depositImportLines, depositSource, swapThenDepositSource, } from "./source.js";
36
- export type { DepositSourceOptions, SwapThenDepositOptions } from "./source.js";
35
+ export { depositCallStatement, depositImportLines, depositSource } from "./source.js";
36
+ export type { DepositSourceOptions } from "./source.js";
37
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/deposit/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,YAAY,EACV,OAAO,EACP,YAAY,EACZ,WAAW,EACX,GAAG,EACH,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,OAAO,EACP,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC7F,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/deposit/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,YAAY,EACV,OAAO,EACP,YAAY,EACZ,WAAW,EACX,GAAG,EACH,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,OAAO,EACP,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC7F,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACtF,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { DEPOSIT_TEMPLATES, depositTemplateFor, listDepositTemplates } from "./templates.js";
2
2
  export { toDeposit } from "./params.js";
3
- export { depositCallStatement, depositImportLines, depositSource, swapThenDepositSource, } from "./source.js";
3
+ export { depositCallStatement, depositImportLines, depositSource } from "./source.js";
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/deposit/index.ts"],"names":[],"mappings":"AA8CA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAG7F,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/deposit/index.ts"],"names":[],"mappings":"AA8CA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAG7F,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -4,9 +4,9 @@ import type { DepositSpec, NormalizedDeposit } from "./types.js";
4
4
  * into a fully normalized {@link NormalizedDeposit} — plain bigints (+ the `"self"` sentinel for a
5
5
  * defaulted `beneficiary`), with its resolved {@link DepositTemplate} attached.
6
6
  *
7
- * `spec.amount` may be `"balance" | "delta" | "max"` — see {@link DepositSourceSpec} — in which case
8
- * it passes through unresolved (the caller, `depositCallStatement`/`swapThenDepositSource`, decides
9
- * the actual amount EXPRESSION; this function only validates every OTHER field and, for `"max"`,
7
+ * `spec.amount` may be `"balance" | "max"` — see {@link DepositSourceSpec} — in which case it
8
+ * passes through unresolved (the caller, `depositCallStatement`, decides the actual amount
9
+ * EXPRESSION; this function only validates every OTHER field and, for `"max"`,
10
10
  * checks `allowsMaxAmount`).
11
11
  *
12
12
  * Throws (never emits a program that would misbehave on-chain) for: an unknown `protocol:action`;
@@ -19,6 +19,6 @@ import type { DepositSpec, NormalizedDeposit } from "./types.js";
19
19
  * own `ExtraFieldSpec.normalize` throws for an out-of-range extra value.
20
20
  */
21
21
  export declare function toDeposit(spec: DepositSpec | (Omit<DepositSpec, "amount"> & {
22
- amount: "balance" | "delta" | "max";
22
+ amount: "balance" | "max";
23
23
  })): NormalizedDeposit;
24
24
  //# sourceMappingURL=params.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/deposit/params.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAkB,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA6CjF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,KAAK,CAAA;CAAE,CAAC,GAC1F,iBAAiB,CAuEnB"}
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/deposit/params.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAIV,WAAW,EACX,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAkDpB;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,EAAE,SAAS,GAAG,KAAK,CAAA;CAAE,CAAC,GAChF,iBAAiB,CAuEnB"}
@@ -47,6 +47,9 @@ function toBigIntStrict(value, label) {
47
47
  return value;
48
48
  if (typeof value === "number")
49
49
  return toExactBigInt(value, label);
50
+ if (!/^(0x[0-9a-fA-F]+|[0-9]+)$/.test(value)) {
51
+ throw new Error(`toDeposit: ${label} ${JSON.stringify(value)} is not an integer, "balance" or "max"`);
52
+ }
50
53
  return BigInt(value);
51
54
  }
52
55
  /**
@@ -54,9 +57,9 @@ function toBigIntStrict(value, label) {
54
57
  * into a fully normalized {@link NormalizedDeposit} — plain bigints (+ the `"self"` sentinel for a
55
58
  * defaulted `beneficiary`), with its resolved {@link DepositTemplate} attached.
56
59
  *
57
- * `spec.amount` may be `"balance" | "delta" | "max"` — see {@link DepositSourceSpec} — in which case
58
- * it passes through unresolved (the caller, `depositCallStatement`/`swapThenDepositSource`, decides
59
- * the actual amount EXPRESSION; this function only validates every OTHER field and, for `"max"`,
60
+ * `spec.amount` may be `"balance" | "max"` — see {@link DepositSourceSpec} — in which case it
61
+ * passes through unresolved (the caller, `depositCallStatement`, decides the actual amount
62
+ * EXPRESSION; this function only validates every OTHER field and, for `"max"`,
60
63
  * checks `allowsMaxAmount`).
61
64
  *
62
65
  * Throws (never emits a program that would misbehave on-chain) for: an unknown `protocol:action`;
@@ -86,7 +89,7 @@ export function toDeposit(spec) {
86
89
  if (template.beneficiary === "unsupported" && spec.beneficiary !== undefined) {
87
90
  throw new Error(`toDeposit: ${spec.protocol}:${spec.action} does not support a beneficiary — it always credits msg.sender; passing one would silently be ignored on-chain`);
88
91
  }
89
- const amount = spec.amount === "balance" || spec.amount === "delta" || spec.amount === "max"
92
+ const amount = spec.amount === "balance" || spec.amount === "max"
90
93
  ? spec.amount
91
94
  : toBigIntStrict(spec.amount, "amount");
92
95
  if (amount === "max" && !template.allowsMaxAmount) {
@@ -1 +1 @@
1
- {"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/deposit/params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/deposit/params.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import type { SwapSourceSpec } from "../swap/types.js";
2
1
  import type { DepositSourceSpec } from "./types.js";
3
2
  /**
4
3
  * One deposit's full statement block (any `"balance"` binding line, the approve line if
@@ -9,8 +8,8 @@ import type { DepositSourceSpec } from "./types.js";
9
8
  */
10
9
  export declare function depositCallStatement(spec: DepositSourceSpec, varSuffix?: string): string;
11
10
  /** The import lines a `depositSource(specs)` program needs: each resolved template's own
12
- * `imports`, plus `IERC20` iff any spec needs an approval or an ERC20 balance/delta read. De-duped by
13
- * exact line, in first-seen order (`IERC20` first, matching `swap`'s own ordering convention). */
11
+ * `imports`, plus `IERC20` iff any spec needs an approval or an ERC20 balance read. De-duped by
12
+ * exact line, in first-seen order, with `IERC20` first. */
14
13
  export declare function depositImportLines(specs: DepositSourceSpec | readonly DepositSourceSpec[]): readonly string[];
15
14
  export interface DepositSourceOptions {
16
15
  /** Defaults to `"main"`. */
@@ -21,33 +20,7 @@ export interface DepositSourceOptions {
21
20
  /**
22
21
  * A complete, compilable `function main() { ... }` program: one deposit statement block per spec,
23
22
  * in the given order, inside ONE function. See `sdk/src/deposit/index.ts` for the compile →
24
- * `routes.buildSauceEvmCall` seam (identical to `swap`'s).
23
+ * `routes.buildSauceEvmCall` seam.
25
24
  */
26
25
  export declare function depositSource(spec: DepositSourceSpec | readonly DepositSourceSpec[], opts?: DepositSourceOptions): string;
27
- export interface SwapThenDepositOptions {
28
- /** Defaults to `"main"`. */
29
- functionName?: string;
30
- /** Extra import lines spliced in verbatim, ahead of the generated `main`/`functionName` body. */
31
- imports?: readonly string[];
32
- }
33
- /**
34
- * The E4.1/E4.2 composition seam: **one cook = one program** (`V12Pot.cook` takes exactly one) — a
35
- * swap-then-deposit is ONE `main()` with the swap statements followed by the deposit statements, not
36
- * two cooks. Mirrors the `swapAndSupply` recipe's own shape:
37
- * `outToken.approve(aavePool, swapDelta); IAavePool.at(aavePool).supply(tokenOut, swapDelta,
38
- * beneficiary, 0);`.
39
- *
40
- * A deposit spec with `amount: "delta"` is bracketed around the WHOLE swap block: a balance
41
- * snapshot (`IERC20.balanceOf`/`ctx.selfBalance()`, per the template's funding kind) is taken before
42
- * the swap statements and again after, and the deposit uses `post - pre` — the exact
43
- * `swapAndSupply` idiom ("never sweep pre-existing tokenOut dust", since a cook may run in a shared
44
- * runtime context). `amount: "balance"`/a concrete literal are unaffected and just run after the
45
- * swap block, per `depositCallStatement`'s own rules.
46
- *
47
- * Import lines are unioned (not concatenated) — `swapImportLines` ∪ `depositImportLines`, de-duped
48
- * by exact line, so a program needing `IERC20` from both sides emits it exactly once (the compiler
49
- * throws `Conflicting ABIs registered` for two DIFFERENT ABIs bound to the same local name, but is
50
- * idempotent for the identical import line repeated).
51
- */
52
- export declare function swapThenDepositSource(swaps: SwapSourceSpec | readonly SwapSourceSpec[], deposits: DepositSourceSpec | readonly DepositSourceSpec[], opts?: SwapThenDepositOptions): string;
53
26
  //# sourceMappingURL=source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/deposit/source.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,KAAK,EAAe,iBAAiB,EAAqB,MAAM,YAAY,CAAC;AA0EpF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,SAAS,SAAK,GAAG,MAAM,CASpF;AAED;;mGAEmG;AACnG,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,iBAAiB,GAAG,SAAS,iBAAiB,EAAE,GACtD,SAAS,MAAM,EAAE,CAqBnB;AAED,MAAM,WAAW,oBAAoB;IACnC,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iGAAiG;IACjG,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AASD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,iBAAiB,GAAG,SAAS,iBAAiB,EAAE,EACtD,IAAI,GAAE,oBAAyB,GAC9B,MAAM,CASR;AAED,MAAM,WAAW,sBAAsB;IACrC,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iGAAiG;IACjG,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,GAAG,SAAS,cAAc,EAAE,EACjD,QAAQ,EAAE,iBAAiB,GAAG,SAAS,iBAAiB,EAAE,EAC1D,IAAI,GAAE,sBAA2B,GAChC,MAAM,CAwDR"}
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/deposit/source.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAqB,MAAM,YAAY,CAAC;AAoEvE;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,SAAS,SAAK,GAAG,MAAM,CASpF;AAED;;4DAE4D;AAC5D,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,iBAAiB,GAAG,SAAS,iBAAiB,EAAE,GACtD,SAAS,MAAM,EAAE,CAqBnB;AAED,MAAM,WAAW,oBAAoB;IACnC,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iGAAiG;IACjG,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AASD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,iBAAiB,GAAG,SAAS,iBAAiB,EAAE,EACtD,IAAI,GAAE,oBAAyB,GAC9B,MAAM,CASR"}