@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
@@ -1,12 +1,10 @@
1
1
  /**
2
2
  * SauceScript SOURCE emission for E4.2's universal deposit/stake/wrap adapter — pure string
3
- * templating over {@link toDeposit}'s normalized output. Imports NO compiler (same posture as
4
- * `sdk/src/swap/source.ts`). See `sdk/src/deposit/index.ts` for the module overview and
5
- * `sdk/src/swap/index.ts` for the E4.1 sibling this composes with. A template's
3
+ * templating over {@link toDeposit}'s normalized output. Imports NO compiler. See
4
+ * `sdk/src/deposit/index.ts` for the module overview. A template's
6
5
  * `./protocols/<slug>/<Export>.json` import and the `./artifacts/IERC20.json` an approval needs are
7
6
  * both served by the route compiler, so compiling one needs no resolver option.
8
7
  */
9
- import { swapCallStatement, swapImportLines } from "../swap/source.js";
10
8
  import { safeApproveStatements } from "../token/safe.js";
11
9
  import { formatBigint } from "./format.js";
12
10
  import { toDeposit } from "./params.js";
@@ -15,7 +13,7 @@ const IERC20_IMPORT = `import { IERC20 } from "./artifacts/IERC20.json";`;
15
13
  function needsIerc20Import(d) {
16
14
  if (d.template.funding === "erc20-approve" && d.approvalPolicy !== "none")
17
15
  return true;
18
- return d.template.funding !== "native-value" && (d.amount === "balance" || d.amount === "delta");
16
+ return d.template.funding !== "native-value" && d.amount === "balance";
19
17
  }
20
18
  function balanceExpression(deposit) {
21
19
  if (deposit.template.funding === "native-value")
@@ -46,12 +44,8 @@ function approveLines(d, amountExpr, varSuffix = "") {
46
44
  }
47
45
  /** Resolves `d.amount` (a literal, or `"balance"`/`"max"`) into an amount EXPRESSION, plus any
48
46
  * binding statement(s) that must precede it (a `"balance"` read is bound once to a const so both
49
- * the approve line and the protocol call reuse the SAME value). Rejects `"delta"` — that shape
50
- * needs a pre-swap snapshot, which only `swapThenDepositSource` can provide. */
47
+ * the approve line and the protocol call reuse the SAME value). */
51
48
  function resolveAmountExpr(d, varSuffix) {
52
- if (d.amount === "delta") {
53
- throw new Error(`depositCallStatement: amount "delta" is only meaningful inside swapThenDepositSource (it needs a pre-swap balance snapshot) — ${d.template.protocol}:${d.template.action}`);
54
- }
55
49
  if (d.amount === "max") {
56
50
  return { pre: [], amountExpr: formatBigint(MAX_UINT256) };
57
51
  }
@@ -85,8 +79,8 @@ export function depositCallStatement(spec, varSuffix = "") {
85
79
  return lines.join("\n");
86
80
  }
87
81
  /** The import lines a `depositSource(specs)` program needs: each resolved template's own
88
- * `imports`, plus `IERC20` iff any spec needs an approval or an ERC20 balance/delta read. De-duped by
89
- * exact line, in first-seen order (`IERC20` first, matching `swap`'s own ordering convention). */
82
+ * `imports`, plus `IERC20` iff any spec needs an approval or an ERC20 balance read. De-duped by
83
+ * exact line, in first-seen order, with `IERC20` first. */
90
84
  export function depositImportLines(specs) {
91
85
  const list = Array.isArray(specs) ? specs : [specs];
92
86
  const lines = [];
@@ -117,7 +111,7 @@ function indentBlock(text) {
117
111
  /**
118
112
  * A complete, compilable `function main() { ... }` program: one deposit statement block per spec,
119
113
  * in the given order, inside ONE function. See `sdk/src/deposit/index.ts` for the compile →
120
- * `routes.buildSauceEvmCall` seam (identical to `swap`'s).
114
+ * `routes.buildSauceEvmCall` seam.
121
115
  */
122
116
  export function depositSource(spec, opts = {}) {
123
117
  const specs = Array.isArray(spec) ? spec : [spec];
@@ -128,74 +122,4 @@ export function depositSource(spec, opts = {}) {
128
122
  const body = specs.map((s, i) => indentBlock(depositCallStatement(s, String(i)))).join("\n");
129
123
  return [...importLines, "", `function ${fnName}() {`, body, "}", ""].join("\n");
130
124
  }
131
- /**
132
- * The E4.1/E4.2 composition seam: **one cook = one program** (`V12Pot.cook` takes exactly one) — a
133
- * swap-then-deposit is ONE `main()` with the swap statements followed by the deposit statements, not
134
- * two cooks. Mirrors the `swapAndSupply` recipe's own shape:
135
- * `outToken.approve(aavePool, swapDelta); IAavePool.at(aavePool).supply(tokenOut, swapDelta,
136
- * beneficiary, 0);`.
137
- *
138
- * A deposit spec with `amount: "delta"` is bracketed around the WHOLE swap block: a balance
139
- * snapshot (`IERC20.balanceOf`/`ctx.selfBalance()`, per the template's funding kind) is taken before
140
- * the swap statements and again after, and the deposit uses `post - pre` — the exact
141
- * `swapAndSupply` idiom ("never sweep pre-existing tokenOut dust", since a cook may run in a shared
142
- * runtime context). `amount: "balance"`/a concrete literal are unaffected and just run after the
143
- * swap block, per `depositCallStatement`'s own rules.
144
- *
145
- * Import lines are unioned (not concatenated) — `swapImportLines` ∪ `depositImportLines`, de-duped
146
- * by exact line, so a program needing `IERC20` from both sides emits it exactly once (the compiler
147
- * throws `Conflicting ABIs registered` for two DIFFERENT ABIs bound to the same local name, but is
148
- * idempotent for the identical import line repeated).
149
- */
150
- export function swapThenDepositSource(swaps, deposits, opts = {}) {
151
- const swapList = Array.isArray(swaps) ? swaps : [swaps];
152
- const depositList = Array.isArray(deposits) ? deposits : [deposits];
153
- if (swapList.length === 0)
154
- throw new Error("swapThenDepositSource: at least one swap spec is required");
155
- if (depositList.length === 0) {
156
- throw new Error("swapThenDepositSource: at least one deposit spec is required");
157
- }
158
- const importLines = [];
159
- const seen = new Set();
160
- for (const line of [
161
- ...swapImportLines(swapList),
162
- ...depositImportLines(depositList),
163
- ...(opts.imports ?? []),
164
- ]) {
165
- if (!seen.has(line)) {
166
- seen.add(line);
167
- importLines.push(line);
168
- }
169
- }
170
- const swapBlock = swapList.map(swapCallStatement).join("\n");
171
- const preLines = [];
172
- const postLines = [];
173
- const deltaAmountExprs = new Map();
174
- depositList.forEach((d, i) => {
175
- if (d.amount !== "delta")
176
- return;
177
- const normalized = toDeposit({ ...d, amount: 0n });
178
- const varBase = `deposit${i}`;
179
- const balance = balanceExpression(normalized);
180
- preLines.push(`const ${varBase}Pre = ${balance};`);
181
- postLines.push(`const ${varBase}Post = ${balance};`);
182
- postLines.push(`const ${varBase}Amt = ${varBase}Post - ${varBase}Pre;`);
183
- deltaAmountExprs.set(i, `${varBase}Amt`);
184
- });
185
- const depositBlocks = depositList.map((d, i) => {
186
- const deltaExpr = deltaAmountExprs.get(i);
187
- if (deltaExpr === undefined)
188
- return depositCallStatement(d, String(i));
189
- const normalized = toDeposit({ ...d, amount: 0n });
190
- const lines = [
191
- ...approveLines(normalized, deltaExpr, String(i)),
192
- ...normalized.template.emit(normalized, deltaExpr, String(i)),
193
- ];
194
- return lines.join("\n");
195
- });
196
- const bodyLines = [...preLines, swapBlock, ...postLines, ...depositBlocks].filter((l) => l.length > 0);
197
- const fnName = opts.functionName ?? "main";
198
- const body = indentBlock(bodyLines.join("\n"));
199
- return [...importLines, "", `function ${fnName}() {`, body, "}", ""].join("\n");
200
- }
201
125
  //# sourceMappingURL=source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/deposit/source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/deposit/source.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,7 @@ import type { DepositTemplate } from "./types.js";
2
2
  export type DepositKey = "weth:wrap" | "weth:unwrap" | "aave-v3:supply" | "aave-v3:withdraw" | "spark:supply" | "spark:withdraw" | "compound-v3:supply" | "euler-v2:deposit" | "erc4626:deposit" | "lido:stake" | "lido:wrap";
3
3
  export declare const DEPOSIT_TEMPLATES: Readonly<Record<DepositKey, DepositTemplate>>;
4
4
  /** Looks up a template by `protocol:action`, throwing (and listing every registered key) rather
5
- * than letting a caller emit a program that would misbehave on-chain — same posture as
6
- * `toSwapParams`'s guard on `UndispatchablePoolType`. */
5
+ * than letting a caller emit a program that would misbehave on-chain. */
7
6
  export declare function depositTemplateFor(protocol: string, action: string): DepositTemplate;
8
7
  export declare function listDepositTemplates(): readonly DepositTemplate[];
9
8
  //# sourceMappingURL=templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/deposit/templates.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAqC,MAAM,YAAY,CAAC;AAqErF,MAAM,MAAM,UAAU,GAClB,WAAW,GACX,aAAa,GACb,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,gBAAgB,GAChB,oBAAoB,GACpB,kBAAkB,GAClB,iBAAiB,GACjB,YAAY,GACZ,WAAW,CAAC;AAqDhB,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,CAgJ3E,CAAC;AAEF;;0DAE0D;AAC1D,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAUpF;AAED,wBAAgB,oBAAoB,IAAI,SAAS,eAAe,EAAE,CAEjE"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/deposit/templates.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAe,eAAe,EAAqC,MAAM,YAAY,CAAC;AAqElG,MAAM,MAAM,UAAU,GAClB,WAAW,GACX,aAAa,GACb,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,gBAAgB,GAChB,oBAAoB,GACpB,kBAAkB,GAClB,iBAAiB,GACjB,YAAY,GACZ,WAAW,CAAC;AAqDhB,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,CAgJ3E,CAAC;AAEF;0EAC0E;AAC1E,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAUpF;AAED,wBAAgB,oBAAoB,IAAI,SAAS,eAAe,EAAE,CAEjE"}
@@ -1,3 +1,12 @@
1
+ /**
2
+ * E4.2's per-protocol deposit-template registry — the heart of the universal deposit/stake/wrap
3
+ * adapter. See `sdk/src/deposit/index.ts` for the module overview, which protocols were included
4
+ * vs skipped and why, and the native-vs-ERC20 design note.
5
+ *
6
+ * Every ABI-backed template's `signature` is transcribed from the vendored `abis.ts` as-const array
7
+ * named in its `source` field; `sdk/test/deposit.test.ts`'s "registry drift" suite re-derives that
8
+ * signature from the ABI itself and fails if the two ever disagree.
9
+ */
1
10
  import { toExactBigInt } from "../numeric.js";
2
11
  import { formatAddressField, formatBigint } from "./format.js";
3
12
  function uintExtra(bits, defaultValue = 0n) {
@@ -228,8 +237,7 @@ export const DEPOSIT_TEMPLATES = {
228
237
  },
229
238
  };
230
239
  /** Looks up a template by `protocol:action`, throwing (and listing every registered key) rather
231
- * than letting a caller emit a program that would misbehave on-chain — same posture as
232
- * `toSwapParams`'s guard on `UndispatchablePoolType`. */
240
+ * than letting a caller emit a program that would misbehave on-chain. */
233
241
  export function depositTemplateFor(protocol, action) {
234
242
  const key = `${protocol}:${action}`;
235
243
  const template = DEPOSIT_TEMPLATES[key];
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/deposit/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/deposit/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG/D,SAAS,SAAS,CAAC,IAAY,EAAE,YAAY,GAAG,EAAE;IAChD,MAAM,GAAG,GAAG,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO;QACL,YAAY;QACZ,SAAS,CAAC,KAAkB,EAAE,SAAiB;YAC7C,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtF,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,oBAAoB,IAAI,cAAc,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;YACtF,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,YAAY,GAAG,EAAE;IACrC,OAAO;QACL,YAAY;QACZ,SAAS,CAAC,KAAkB,EAAE,SAAiB;YAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,qCAAqC,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,CAAoB;IACxC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAClG,OAAO,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAoB;IAC9C,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC;AAED;;yGAEyG;AACzG,MAAM,qBAAqB,GAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY;AACvF,MAAM,sBAAsB,GAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,oBAAoB;AAChG,MAAM,oBAAoB,GAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,kBAAkB;AAE5F,SAAS,YAAY,CAAC,KAAwB;IAC5C,OAAO,QAAQ,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;AAChF,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CACpB,IAAY,EACZ,SAAiB,EACjB,QAA2B,EAC3B,QAA4B;IAE5B,MAAM,IAAI,GAAG,GAAG,IAAI,GAAG,SAAS,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,SAAS,IAAI,MAAM,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;IAE1D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,sBAAsB,QAAQ,IAAI,EAAE,CAAC;AACnG,CAAC;AAeD,SAAS,sBAAsB,CAC7B,QAA6B,EAC7B,UAAkB;IAElB,MAAM,OAAO,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IACpE,OAAO;QACL,QAAQ;QACR,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,QAAQ,UAAU,EAAE,UAAU,EAAE;QAC/D,SAAS,EAAE,wCAAwC;QACnD,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,WAAW;QACxB,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,CAAC,YAAY,OAAO,wBAAwB,QAAQ,IAAI,UAAU,SAAS,CAAC;QACrF,OAAO;QACP,MAAM,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QAC3C,IAAI,CAAC,CAAC,EAAE,UAAU;YAChB,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YAC1D,OAAO;gBACL,GAAG,OAAO,OAAO,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,KAAK,kBAAkB,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI;aAC7H,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAA6B,EAC7B,UAAkB;IAElB,MAAM,OAAO,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IACpE,OAAO;QACL,QAAQ;QACR,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,QAAQ,UAAU,EAAE,UAAU,EAAE;QAC/D,SAAS,EAAE,mCAAmC;QAC9C,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,WAAW;QACxB,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE,CAAC,YAAY,OAAO,wBAAwB,QAAQ,IAAI,UAAU,SAAS,CAAC;QACrF,OAAO;QACP,MAAM,EAAE,EAAE;QACV,IAAI,CAAC,CAAC,EAAE,UAAU;YAChB,OAAO;gBACL,GAAG,OAAO,OAAO,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,KAAK,kBAAkB,CAAC,CAAC,CAAC,IAAI;aAClH,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAkD;IAC9E,gBAAgB,EAAE,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9D,kBAAkB,EAAE,wBAAwB,CAAC,SAAS,EAAE,SAAS,CAAC;IAClE,cAAc,EAAE,sBAAsB,CAAC,OAAO,EAAE,cAAc,CAAC;IAC/D,gBAAgB,EAAE,wBAAwB,CAAC,OAAO,EAAE,cAAc,CAAC;IAEnE,oBAAoB,EAAE;QACpB,QAAQ,EAAE,aAAa;QACvB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,EAAE,MAAM,EAAE,+BAA+B,EAAE,UAAU,EAAE,UAAU,EAAE;QAC3E,SAAS,EAAE,mCAAmC;QAC9C,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,WAAW;QACxB,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,CAAC,iEAAiE,CAAC;QAC5E,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,EAAE;QACV,IAAI,CAAC,CAAC,EAAE,UAAU;YAChB,OAAO;gBACL,aAAa,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,kBAAkB,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI;aAC9G,CAAC;QACJ,CAAC;KACF;IAED,kBAAkB,EAAE;QAClB,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,EAAE,MAAM,EAAE,4BAA4B,EAAE,UAAU,EAAE,WAAW,EAAE;QACzE,SAAS,EAAE,0BAA0B;QACrC,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,WAAW;QACxB,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,CAAC,gEAAgE,CAAC;QAC3E,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,EAAE;QACV,IAAI,CAAC,CAAC,EAAE,UAAU;YAChB,OAAO;gBACL,cAAc,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,UAAU,KAAK,kBAAkB,CAAC,CAAC,CAAC,IAAI;aAC1F,CAAC;QACJ,CAAC;KACF;IAED,iBAAiB,EAAE;QACjB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,EAAE,MAAM,EAAE,2BAA2B,EAAE,UAAU,EAAE,UAAU,EAAE;QACvE,SAAS,EAAE,0BAA0B;QACrC,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,WAAW;QACxB,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,CAAC,oEAAoE,CAAC;QAC/E,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE,EAAE;QACV,IAAI,CAAC,CAAC,EAAE,UAAU;YAChB,OAAO;gBACL,oBAAoB,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,UAAU,KAAK,kBAAkB,CAAC,CAAC,CAAC,IAAI;aAChG,CAAC;QACJ,CAAC;KACF;IAED,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,UAAU,EAAE,WAAW,EAAE;QACrE,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,aAAa;QAC1B,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,CAAC,4DAA4D,CAAC;QACvE,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,EAAE;QACV,IAAI,CAAC,CAAC,EAAE,UAAU;YAChB,OAAO,CAAC,cAAc,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,UAAU,IAAI,CAAC,CAAC;QACxE,CAAC;KACF;IAED,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,UAAU,EAAE,SAAS,EAAE;QACnE,SAAS,EAAE,iBAAiB;QAC5B,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,cAAc;QACvB,WAAW,EAAE,aAAa;QAC1B,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE;QACtC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS;YAC3B,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;YACxC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAClC,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,YAAY,CAAC,QAAQ,CAAC,CACvB,CAAC;YACF,OAAO,CAAC,IAAI,EAAE,YAAY,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC;QAChF,CAAC;KACF;IAED,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,cAAc;QACvB,WAAW,EAAE,aAAa;QAC1B,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,EAAE;QACV,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS;YAC3B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC;YAC3F,OAAO,CAAC,IAAI,EAAE,YAAY,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC;QAChF,CAAC;KACF;IAED,aAAa,EAAE;QACb,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,aAAa;QAC1B,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,EAAE;QACV,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS;YAC3B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAClC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,UAAU,CACX,CAAC;YACF,OAAO,CAAC,IAAI,EAAE,YAAY,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;QACrE,CAAC;KACF;CACF,CAAC;AAEF;0EAC0E;AAC1E,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,MAAc;IACjE,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,MAAM,EAAgB,CAAC;IAClD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,IAAI,KAAK,CACb,2DAA2D,GAAG,aAAa,KAAK,EAAE,CACnF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC1C,CAAC"}
@@ -2,11 +2,16 @@
2
2
  * `@eco-incorp/sauce`'s `deposit` module — E4.2, the universal deposit/stake/wrap adapter.
3
3
  *
4
4
  * Types + the per-protocol template registry shape. See `sdk/src/deposit/index.ts` for the
5
- * module-level overview, and `sdk/src/swap/types.ts` (E4.1) for the sibling module this one mirrors
6
- * — `Address`/`AddressInput`/`AmountInput` are re-used from there, not re-declared.
5
+ * module-level overview.
7
6
  */
8
- export type { Address, AddressInput, AmountInput, Hex } from "../swap/types.js";
9
- import type { AddressInput, AmountInput } from "../swap/types.js";
7
+ /** A 20-byte EVM address, as an ordinary `0x`-prefixed hex string. */
8
+ export type Address = `0x${string}`;
9
+ /** A `0x`-prefixed hex byte string. */
10
+ export type Hex = `0x${string}`;
11
+ /** Anything the builders accept for an address-shaped field. */
12
+ export type AddressInput = Address | bigint;
13
+ /** Anything the builders accept for a numeric-shaped field. */
14
+ export type AmountInput = bigint | number | string;
10
15
  /**
11
16
  * How a template's protocol call pulls in the token amount being deposited.
12
17
  *
@@ -64,20 +69,17 @@ export interface DepositSpec {
64
69
  *
65
70
  * - `amount: "balance"` — emit a RUNTIME balance read instead of a baked-in literal (`IERC20.
66
71
  * balanceOf(ctx.self())` on `token` or the WETH unwrap `target`, `ctx.selfBalance()` for a
67
- * native-funded template) — the shape
68
- * a swap-then-deposit program needs when the deposit amount is an earlier leg's (unknown at
69
- * compile time) output.
70
- * - `amount: "delta"` — only meaningful inside `swapThenDepositSource` (it needs a pre-swap balance
71
- * snapshot to compute against); `depositCallStatement`/`depositSource` alone reject it.
72
+ * native-funded template) — the shape a program needs when the deposit amount is only known when
73
+ * it runs, such as what an earlier swap delivered.
72
74
  * - `amount: "max"` — only accepted on a template with `allowsMaxAmount: true` (Aave/Spark
73
75
  * `withdraw`'s documented `type(uint256).max` withdraw-all sentinel); rejected everywhere else.
74
76
  */
75
77
  export type DepositSourceSpec = DepositSpec | (Omit<DepositSpec, "amount"> & {
76
- amount: "balance" | "delta" | "max";
78
+ amount: "balance" | "max";
77
79
  });
78
80
  /**
79
81
  * A {@link DepositSpec}, fully normalized — bigint scalars (+ the `"self"` sentinel for a defaulted
80
- * `beneficiary`, matching `SwapParams`'s own convention), plus the resolved {@link DepositTemplate}.
82
+ * `beneficiary`), plus the resolved {@link DepositTemplate}.
81
83
  * `amount` stays a passthrough of whatever `toDeposit` was handed for the runtime-amount shapes
82
84
  * (`"balance"` etc.) so a caller can tell a concrete deposit from a source-only one apart.
83
85
  */
@@ -85,7 +87,7 @@ export interface NormalizedDeposit {
85
87
  template: DepositTemplate;
86
88
  target: bigint;
87
89
  token: bigint | null;
88
- amount: bigint | "balance" | "delta" | "max";
90
+ amount: bigint | "balance" | "max";
89
91
  beneficiary: bigint | "self" | null;
90
92
  approvalPolicy: ApprovalPolicy;
91
93
  extra: Readonly<Record<string, bigint>>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/deposit/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/deposit/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sEAAsE;AACtE,MAAM,MAAM,OAAO,GAAG,KAAK,MAAM,EAAE,CAAC;AAEpC,uCAAuC;AACvC,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,EAAE,CAAC;AAEhC,gEAAgE;AAChE,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5C,+DAA+D;AAC/D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,OAAO,GAAG,eAAe,GAAG,cAAc,GAAG,MAAM,CAAC;AAEhE,gGAAgG;AAChG,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,aAAa,CAAC;AAE7D,gFAAgF;AAChF,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAEtD,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,iGAAiG;IACjG,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1D;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B;yFACqF;IACrF,QAAQ,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,MAAM,EAAE,MAAM,CAAC;IACf,mGAAmG;IACnG,MAAM,EAAE,YAAY,CAAC;IACrB,kFAAkF;IAClF,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,4FAA4F;IAC5F,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,yDAAyD;IACzD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,wEAAwE;IACxE,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;CAC/C;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,GAC3B,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,EAAE,SAAS,GAAG,KAAK,CAAA;CAAE,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;IACnC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;iDAC6C;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;wCACoC;IACpC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjF,iGAAiG;IACjG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,oGAAoG;IACpG,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC;kDAC8C;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;6BACyB;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAC1D;;;;;;;;;;OAUG;IACH,IAAI,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;CACtF;AAED,8FAA8F;AAC9F,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB"}
@@ -1,2 +1,8 @@
1
+ /**
2
+ * `@eco-incorp/sauce`'s `deposit` module — E4.2, the universal deposit/stake/wrap adapter.
3
+ *
4
+ * Types + the per-protocol template registry shape. See `sdk/src/deposit/index.ts` for the
5
+ * module-level overview.
6
+ */
1
7
  export {};
2
8
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/deposit/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/deposit/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -1,29 +1,29 @@
1
1
  /**
2
- * The E2.3 native accessor tree: `chainContracts(chainRef)` builds the lazy
3
- * `Chain -> Protocol -> Contract -> method` object a chain global (`Base`)
4
- * or `contracts.on(ref)` exposes. A walk over `describeContract`/
5
- * `requireContract` (query.ts) and `DESCRIPTORS` (registry.ts) — not a
2
+ * The native accessor tree: `chainContracts(chainRef)` builds the lazy `Chain -> Protocol -> Contract
3
+ * -> method` object a chain export (`Base`) or `contracts.on(ref)` carries. A walk over
4
+ * `describeContract`/`requireContract` (query.ts) and `DESCRIPTORS` (registry.ts) — not a
6
5
  * reimplementation of either.
7
6
  *
8
- * Every namespace and leaf is a memoising GETTER (`Object.defineProperty`,
9
- * never eager construction/spread) so nothing is built until touched — see
10
- * the design doc's laziness note for why that matters (39 chains x ~29
11
- * contracts eagerly built on the SDK's import path would be real cost).
7
+ * Every namespace and leaf is a memoising GETTER (`Object.defineProperty`, never eager
8
+ * construction/spread) so nothing is built until touched: 41 chains times every registry contract,
9
+ * built eagerly on the SDK's import path, would be real cost.
10
+ *
11
+ * The TYPE of the tree, `ChainContracts`, is generated with the table (`contracts.generated.ts`):
12
+ * every contract typed from its ABI, so `Base.UniswapV3.QuoterV2.quoteExactInputSingle(...)` takes
13
+ * the ABI's arguments and its `read(client)` resolves to the ABI's outputs.
12
14
  */
13
- import type { Address, Abi } from "viem";
15
+ import type { Abi, AbiStateMutability, Address, ContractFunctionArgs, ContractFunctionName } from "viem";
14
16
  import { type CanonicalChain, type ChainRef, type ChainSlug } from "../chains/canonical.js";
17
+ import { type ContractCall } from "./call.js";
18
+ import type { ChainContracts } from "./contracts.generated.js";
15
19
  import type { ContractCoverage, ContractDescriptor, DescriptorMethod } from "./types.js";
16
- import type { FamilyContracts, FamilyKey, ContractNameOf, PascalOf, ProtocolSlug } from "./names.js";
20
+ export type { ChainContracts };
17
21
  /**
18
- * One leaf: a bound (protocol, contract) on a specific chain, plus every
19
- * real ABI method as a callable producing a `ContractCall`. Method names are
20
- * NOT part of the static type (kept loose as `unknown` via the index
21
- * signature below) — they are derived from the descriptor's real ABI at
22
- * BUILD time, so `Base.UniswapV4.UniversalRouter.execute(...)` resolves a
23
- * real method and `.exactIn` is `undefined`, matching E2.2's "surface what
24
- * exists, invent nothing" stance.
22
+ * One leaf's own properties: a (protocol, contract) on a specific chain. Its methods are separate
23
+ * (`ContractMethods`): {@link Contract} is the two together. A type rather than an interface, so a
24
+ * contract typed from its ABI is assignable to the untyped {@link Contract}.
25
25
  */
26
- export interface ContractAccessor {
26
+ export type ContractAccessor<TAbi extends Abi = Abi> = {
27
27
  readonly descriptor: ContractDescriptor;
28
28
  readonly chain: CanonicalChain;
29
29
  /** `undefined` when this contract has no address on `chain` (a hole), or for an unbound `kind:"interface"`. */
@@ -31,27 +31,30 @@ export interface ContractAccessor {
31
31
  readonly available: boolean;
32
32
  readonly chains: readonly ChainSlug[];
33
33
  readonly coverage: ContractCoverage;
34
- readonly abi: Abi;
34
+ readonly abi: TAbi;
35
35
  readonly methods: readonly DescriptorMethod[];
36
36
  /** Rebinds this accessor to a specific instance address — REQUIRED for `kind:"interface"`, an optional override otherwise. */
37
- at(address: Address): ContractAccessor;
37
+ at(address: Address): Contract<TAbi>;
38
+ };
39
+ /** The names of `TAbi`'s functions with one of the mutabilities `M`. */
40
+ export type FunctionNameOf<TAbi extends Abi, M extends AbiStateMutability = AbiStateMutability> = Extract<TAbi[number], {
41
+ readonly type: "function";
42
+ readonly stateMutability: M;
43
+ }>["name"];
44
+ /** One ABI method: takes the ABI's arguments and returns the call, typed from the ABI. */
45
+ export type ContractMethod<TAbi extends Abi, TName extends ContractFunctionName<TAbi>> = <const TArgs extends ContractFunctionArgs<TAbi, AbiStateMutability, TName> & readonly unknown[]>(...args: TArgs) => ContractCall<TAbi, TName, TArgs>;
46
+ /** Every function of `TAbi`, by its ABI name. An untyped ABI has an index of `unknown` instead. */
47
+ export type ContractMethods<TAbi extends Abi> = Abi extends TAbi ? {
38
48
  readonly [method: string]: unknown;
39
- }
40
- /**
41
- * The whole typed tree `chainContracts(...)` returns — chain-INDEPENDENT by
42
- * design (per-chain address presence is runtime data, not literally typed;
43
- * see the design doc's `ChainContracts` note), so it instantiates once
44
- * regardless of how many chain globals intersect it.
45
- */
46
- export type ChainContracts = {
47
- readonly [P in ProtocolSlug as PascalOf<P>]: {
48
- readonly [C in ContractNameOf<P>]: ContractAccessor;
49
- };
50
- } & {
51
- readonly [F in FamilyKey]: {
52
- readonly [C in FamilyContracts<F>]: ContractAccessor;
53
- };
49
+ } : {
50
+ readonly [N in FunctionNameOf<TAbi> & ContractFunctionName<TAbi>]: ContractMethod<TAbi, N>;
54
51
  };
52
+ /** A contract with an ABI: its accessor properties and its methods. */
53
+ export type Contract<TAbi extends Abi = Abi> = ContractAccessor<TAbi> & ContractMethods<TAbi>;
54
+ /** A contract the registry has an address for and no ABI: `.address` and `.available`, no methods. */
55
+ export type AddressOnlyContract = ContractAccessor<readonly []>;
56
+ /** An ABI with no fixed address: bind a deployment with `.at(address)` to call it. */
57
+ export type InterfaceContract<TAbi extends Abi> = ContractAccessor<TAbi>;
55
58
  /**
56
59
  * Builds the whole lazy tree for one resolved chain. Every canonical
57
60
  * protocol namespace is memoised once per `chainContracts` call, so a family
@@ -1 +1 @@
1
- {"version":3,"file":"accessors.d.ts","sourceRoot":"","sources":["../../src/descriptors/accessors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,SAAS,EACf,MAAM,wBAAwB,CAAC;AAKhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EACT,cAAc,EACd,QAAQ,EACR,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,+GAA+G;IAC/G,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,8HAA8H;IAC9H,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAAC;IACvC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,CAAC,IAAI,YAAY,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG;QAC3C,QAAQ,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,gBAAgB;KACpD;CACF,GAAG;IACF,QAAQ,EAAE,CAAC,IAAI,SAAS,GAAG;QAAE,QAAQ,EAAE,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,gBAAgB;KAAE;CACpF,CAAC;AAmGF;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,CA4FjE;AAED;wFACwF;AACxF,wBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAErD"}
1
+ {"version":3,"file":"accessors.d.ts","sourceRoot":"","sources":["../../src/descriptors/accessors.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,19 @@ import { pascalOfSlug } from "../routes/builder.js";
3
3
  import { makeContractCall } from "./call.js";
4
4
  import { addressOn, methodOf, requireContract } from "./query.js";
5
5
  import { DESCRIPTORS } from "./registry.js";
6
+ /** The accessor's own properties: a method of the same name would shadow one, which the generator
7
+ * refuses and `buildAccessor` re-checks. */
8
+ const ACCESSOR_PROPERTIES = new Set([
9
+ "descriptor",
10
+ "chain",
11
+ "address",
12
+ "available",
13
+ "chains",
14
+ "coverage",
15
+ "abi",
16
+ "methods",
17
+ "at",
18
+ ]);
6
19
  function buildAccessor(descriptor, chain, addressOverride) {
7
20
  const isInterface = descriptor.kind === "interface";
8
21
  const resolvedAddress = addressOverride ?? (isInterface ? undefined : addressOn(descriptor, chain));
@@ -27,6 +40,9 @@ function buildAccessor(descriptor, chain, addressOverride) {
27
40
  byName.set(method.name, [...(byName.get(method.name) ?? []), method]);
28
41
  }
29
42
  for (const [name, overloads] of byName) {
43
+ if (ACCESSOR_PROPERTIES.has(name)) {
44
+ throw new Error(`${descriptor.protocol}.${descriptor.contract}.${name} would shadow the accessor's own '${name}'`);
45
+ }
30
46
  base[name] = (...args) => {
31
47
  const method = overloads.length === 1 ? overloads[0] : methodOf(descriptor, name, args.length);
32
48
  if (method === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"accessors.js","sourceRoot":"","sources":["../../src/descriptors/accessors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessors.js","sourceRoot":"","sources":["../../src/descriptors/accessors.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,28 @@
1
1
  /**
2
- * `ContractCall` — the inert value a `Base.<Proto>.<Contract>.<method>(...)`
3
- * leaf produces. Synchronous, no RPC, no compiler import: the same posture
4
- * as `swap/source.ts`/`deposit/source.ts`'s pure param-templating call
5
- * builders, which `toSauceScript` below deliberately mirrors.
2
+ * `ContractCall` — the value a `Base.<Proto>.<Contract>.<method>(...)` leaf produces. Building one is
3
+ * synchronous and reads nothing: the same posture as `deposit/source.ts`'s pure param-templating
4
+ * call builders, which `toSauceScript` below deliberately mirrors.
6
5
  *
7
- * The `typeFidelity: "widened"` gate lives here, not in accessors.ts: every
8
- * production path (`data`, `encode`, `toCall`, `toSauceScript`) funnels
9
- * through `assertFidelity`, so a descriptor marked widened can never silently
10
- * hand out calldata that will not hit the deployed contract. No shipped
11
- * descriptor is marked any more: the registry declares every contract's
12
- * deployed types, and `test/registry-abi.test.ts` pins them to the deployed
13
- * code. The gate and its `allowWidened` opt-out stay because they are public
14
- * API.
6
+ * Its viem helpers run the call against a client the CALLER passes — the SDK embeds no endpoint and
7
+ * reads no environment:
8
+ * - `read(publicClient)` — an `eth_call` through viem's `readContract`, decoded from the ABI's
9
+ * outputs: a view's value, or what a state-changing method would return, with nothing sent
10
+ * (Uniswap's QuoterV2 quotes are `nonpayable` and meant to be read this way);
11
+ * - `simulate(publicClient, { account })` — a state-changing method as `account`, through
12
+ * `simulateContract`;
13
+ * - `write(walletClient)` — sends a state-changing method, through `writeContract`.
14
+ * viem's actions are loaded on the first such call, never when a call is built. Each checks first
15
+ * that the client is on the call's chain: the address is that chain's deployment, so the same
16
+ * calldata anywhere else calls something else, or nothing.
17
+ *
18
+ * The `typeFidelity: "widened"` gate lives here, not in accessors.ts: every production path (`data`,
19
+ * `encode`, `toCall`, `toSauceScript` and the viem helpers) funnels through `assertFidelity`, so a
20
+ * descriptor marked widened can never silently hand out calldata that will not hit the deployed
21
+ * contract. No shipped descriptor is marked any more: the registry declares every contract's
22
+ * deployed types, and `test/registry-abi.test.ts` pins them to the deployed code. The gate and its
23
+ * `allowWidened` opt-out stay because they are public API.
15
24
  */
16
- import { type Address, type Hex } from "viem";
25
+ import { type Abi, type AbiStateMutability, type Account, type Address, type Client, type ContractFunctionArgs, type ContractFunctionName, type Hash, type Hex, type ContractFunctionReturnType, type SimulateContractReturnType } from "viem";
17
26
  import type { CanonicalChain } from "../chains/canonical.js";
18
27
  import type { ContractDescriptor, DescriptorMethod } from "./types.js";
19
28
  export interface EncodeOptions {
@@ -26,7 +35,42 @@ export interface SauceScriptOptions {
26
35
  /** Local binding name for the `.json` import. Defaults to the descriptor's `contract` name. */
27
36
  readonly binding?: string;
28
37
  }
29
- export interface ContractCall {
38
+ export interface SimulateOptions {
39
+ /** The sender the call is simulated as. */
40
+ readonly account: Account | Address;
41
+ /** Native value sent with a payable method. Defaults to 0n. */
42
+ readonly value?: bigint;
43
+ }
44
+ export interface WriteOptions {
45
+ /** The sender. Defaults to the wallet client's own account. */
46
+ readonly account?: Account | Address;
47
+ /** Native value sent with a payable method. Defaults to 0n. */
48
+ readonly value?: bigint;
49
+ }
50
+ type ReadMutability = "pure" | "view";
51
+ type WriteMutability = "nonpayable" | "payable";
52
+ /** The names of `TAbi`'s functions with one of the mutabilities `M` — `never` when it has none,
53
+ * where viem's `ContractFunctionName` widens to `string`. */
54
+ type NamesOf<TAbi extends Abi, M extends AbiStateMutability> = Extract<TAbi[number], {
55
+ readonly type: "function";
56
+ readonly stateMutability: M;
57
+ }>["name"];
58
+ /** What `read` resolves to: the method's ABI outputs, decoded by viem. */
59
+ export type ReadResult<TAbi extends Abi, TName extends string, TArgs> = TName extends ContractFunctionName<TAbi> ? TArgs extends ContractFunctionArgs<TAbi, AbiStateMutability, TName> ? ContractFunctionReturnType<TAbi, AbiStateMutability, TName, TArgs> : unknown : unknown;
60
+ /** What `simulate` resolves to: viem's `{ result, request }`, `result` decoded from the outputs. */
61
+ export type SimulateResult<TAbi extends Abi, TName extends string, TArgs> = TName extends NamesOf<TAbi, WriteMutability> & ContractFunctionName<TAbi, WriteMutability> ? TArgs extends ContractFunctionArgs<TAbi, WriteMutability, TName> ? SimulateContractReturnType<TAbi, TName, TArgs> : SimulateContractReturnType : SimulateContractReturnType;
62
+ export interface ReadActions<TAbi extends Abi, TName extends string, TArgs> {
63
+ /** Runs the method as an `eth_call` through `client` and decodes its outputs. Sends nothing. */
64
+ read(client: Client): Promise<ReadResult<TAbi, TName, TArgs>>;
65
+ }
66
+ export interface WriteActions<TAbi extends Abi, TName extends string, TArgs> {
67
+ /** Simulates a state-changing method through `client`, as `options.account`. */
68
+ simulate(client: Client, options: SimulateOptions): Promise<SimulateResult<TAbi, TName, TArgs>>;
69
+ /** Sends a state-changing method through a wallet `client`; resolves to the transaction hash. */
70
+ write(client: Client, options?: WriteOptions): Promise<Hash>;
71
+ }
72
+ /** Every field of a call, whatever its method's mutability. */
73
+ export interface ContractCallBase {
30
74
  readonly chain: CanonicalChain;
31
75
  readonly protocol: string;
32
76
  readonly contract: string;
@@ -51,5 +95,13 @@ export interface ContractCall {
51
95
  readonly source: string;
52
96
  };
53
97
  }
98
+ /**
99
+ * A call to one registry method, typed from the method's ABI where the accessor knows it
100
+ * (`Base.UniswapV3.QuoterV2.quoteExactInputSingle(...)`). Every call has `read`; a state-changing
101
+ * one also has `simulate` and `write`. Untyped (`ContractCall`), it carries all three, and
102
+ * `simulate`/`write` on a view or pure method throw.
103
+ */
104
+ export type ContractCall<TAbi extends Abi = Abi, TName extends string = string, TArgs = readonly unknown[]> = ContractCallBase & ReadActions<TAbi, TName, TArgs> & (Abi extends TAbi ? WriteActions<TAbi, TName, TArgs> : TName extends NamesOf<TAbi, ReadMutability> ? unknown : WriteActions<TAbi, TName, TArgs>);
54
105
  export declare function makeContractCall(descriptor: ContractDescriptor, chain: CanonicalChain, address: Address, method: DescriptorMethod, args: readonly unknown[]): ContractCall;
106
+ export {};
55
107
  //# sourceMappingURL=call.d.ts.map