@eco-incorp/sauce 0.99.3 → 0.99.5

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 (1304) hide show
  1. package/README.md +105 -63
  2. package/actions/action-program.schema.json +1810 -0
  3. package/actions/dist/abis.d.ts +167 -0
  4. package/actions/dist/abis.d.ts.map +1 -0
  5. package/actions/dist/abis.js +215 -0
  6. package/actions/dist/compile.d.ts +15 -8
  7. package/actions/dist/compile.d.ts.map +1 -1
  8. package/actions/dist/compile.js +11 -33
  9. package/actions/dist/compose.d.ts +46 -0
  10. package/actions/dist/compose.d.ts.map +1 -0
  11. package/actions/dist/compose.js +118 -0
  12. package/actions/dist/emit.d.ts +0 -35
  13. package/actions/dist/emit.d.ts.map +1 -1
  14. package/actions/dist/emit.js +15 -46
  15. package/actions/dist/index.d.ts +11 -8
  16. package/actions/dist/index.d.ts.map +1 -1
  17. package/actions/dist/index.js +6 -4
  18. package/actions/dist/program.d.ts +23 -0
  19. package/actions/dist/program.d.ts.map +1 -0
  20. package/actions/dist/program.js +358 -0
  21. package/actions/dist/registry.d.ts +37 -0
  22. package/actions/dist/registry.d.ts.map +1 -0
  23. package/actions/dist/registry.js +36 -0
  24. package/actions/dist/schema.d.ts +6 -0
  25. package/actions/dist/schema.d.ts.map +1 -0
  26. package/actions/dist/schema.js +166 -0
  27. package/actions/dist/semantics.d.ts +18 -0
  28. package/actions/dist/semantics.d.ts.map +1 -0
  29. package/actions/dist/semantics.js +164 -0
  30. package/actions/dist/spec.d.ts +97 -0
  31. package/actions/dist/spec.d.ts.map +1 -0
  32. package/actions/dist/spec.js +323 -0
  33. package/actions/dist/split-swap.d.ts +35 -0
  34. package/actions/dist/split-swap.d.ts.map +1 -0
  35. package/actions/dist/split-swap.js +175 -0
  36. package/actions/dist/to-quote.d.ts +32 -56
  37. package/actions/dist/to-quote.d.ts.map +1 -1
  38. package/actions/dist/to-quote.js +134 -141
  39. package/actions/dist/to-sauce.d.ts +48 -32
  40. package/actions/dist/to-sauce.d.ts.map +1 -1
  41. package/actions/dist/to-sauce.js +691 -753
  42. package/actions/dist/types.d.ts +227 -335
  43. package/actions/dist/types.d.ts.map +1 -1
  44. package/actions/dist/types.js +12 -3
  45. package/dev-tools/README.md +9 -9
  46. package/dev-tools/artifacts/ISauceRouter.json +1 -1
  47. package/dev-tools/artifacts/Router.json +1 -1
  48. package/dev-tools/scripts/start-fork.sh +1 -1
  49. package/dev-tools/scripts/start-local.sh +5 -1
  50. package/dev-tools/src/svm-local.ts +23 -13
  51. package/docs/README.md +45 -34
  52. package/docs/api/README.md +37 -29
  53. package/docs/api/compiler.md +116 -55
  54. package/docs/api/coverage.md +99 -48
  55. package/docs/api/routes.md +51 -22
  56. package/docs/concepts/architecture.md +83 -116
  57. package/docs/concepts/saucescript.md +27 -23
  58. package/docs/examples/README.md +18 -10
  59. package/docs/examples/action-program.ts +75 -0
  60. package/docs/examples/cross-chain-cascade.sauce.ts +21 -0
  61. package/docs/examples/cross-chain-cascade.ts +43 -0
  62. package/docs/examples/cross-chain-intent.sauce.ts +23 -0
  63. package/docs/examples/cross-chain-intent.ts +49 -0
  64. package/docs/examples/first-intent.ts +7 -10
  65. package/docs/examples/protocol-approval.ts +3 -7
  66. package/docs/guides/actions.md +395 -0
  67. package/docs/guides/builders-and-actions.md +31 -37
  68. package/docs/guides/compiling.md +97 -98
  69. package/docs/guides/intents.md +242 -24
  70. package/docs/guides/nested-intents.md +165 -5
  71. package/docs/guides/protocols-and-tokens.md +15 -7
  72. package/docs/guides/quick-start.md +51 -22
  73. package/docs/guides/solana.md +38 -39
  74. package/docs/guides/verification.md +70 -31
  75. package/package.json +7 -2
  76. package/sdk/dist/artifacts/ISauceRouter.json +1 -1
  77. package/sdk/dist/artifacts/Router.json +1 -1
  78. package/sdk/dist/artifacts/V12Deployments.json +23 -22
  79. package/sdk/dist/artifacts/V12EngineGate.json +2 -2
  80. package/sdk/dist/artifacts/V12Kitchen.json +1 -1
  81. package/sdk/dist/artifacts/V12Pot.json +1 -1
  82. package/sdk/dist/artifacts/V12RuntimeBytecode.json +1 -1
  83. package/sdk/dist/artifacts/svm/engine-devnet.so +0 -0
  84. package/sdk/dist/artifacts/svm/engine-mainnet.so +0 -0
  85. package/sdk/dist/artifacts/svm/engine-wire-devnet.json +6 -0
  86. package/sdk/dist/artifacts/svm/engine-wire-mainnet.json +6 -0
  87. package/sdk/dist/bytes.d.ts +10 -0
  88. package/sdk/dist/bytes.d.ts.map +1 -0
  89. package/sdk/dist/bytes.js +31 -0
  90. package/sdk/dist/bytes.js.map +1 -0
  91. package/sdk/dist/chains/canonical.d.ts +7 -1
  92. package/sdk/dist/chains/canonical.d.ts.map +1 -1
  93. package/sdk/dist/chains/canonical.js +6 -2
  94. package/sdk/dist/chains/canonical.js.map +1 -1
  95. package/sdk/dist/chains/index.d.ts +16 -2
  96. package/sdk/dist/chains/index.d.ts.map +1 -1
  97. package/sdk/dist/chains/index.js +51 -34
  98. package/sdk/dist/chains/index.js.map +1 -1
  99. package/sdk/dist/compact-arguments.d.ts +4 -1
  100. package/sdk/dist/compact-arguments.d.ts.map +1 -1
  101. package/sdk/dist/compact-arguments.js +25 -4
  102. package/sdk/dist/compact-arguments.js.map +1 -1
  103. package/sdk/dist/compiler.d.ts +13 -1
  104. package/sdk/dist/compiler.d.ts.map +1 -1
  105. package/sdk/dist/compiler.js +5 -6
  106. package/sdk/dist/compiler.js.map +1 -1
  107. package/sdk/dist/core/types.d.ts +18 -2
  108. package/sdk/dist/core/types.d.ts.map +1 -1
  109. package/sdk/dist/deployments/pot.d.ts +39 -0
  110. package/sdk/dist/deployments/pot.d.ts.map +1 -0
  111. package/sdk/dist/deployments/pot.js +48 -0
  112. package/sdk/dist/deployments/pot.js.map +1 -0
  113. package/sdk/dist/deployments/v12-addresses.d.ts +1 -4
  114. package/sdk/dist/deployments/v12-addresses.d.ts.map +1 -1
  115. package/sdk/dist/deployments/v12-addresses.js +7 -21
  116. package/sdk/dist/deployments/v12-addresses.js.map +1 -1
  117. package/sdk/dist/deposit/index.d.ts +5 -5
  118. package/sdk/dist/deposit/index.d.ts.map +1 -1
  119. package/sdk/dist/deposit/index.js +1 -1
  120. package/sdk/dist/deposit/index.js.map +1 -1
  121. package/sdk/dist/deposit/params.d.ts +3 -2
  122. package/sdk/dist/deposit/params.d.ts.map +1 -1
  123. package/sdk/dist/deposit/params.js +40 -3
  124. package/sdk/dist/deposit/params.js.map +1 -1
  125. package/sdk/dist/deposit/source.d.ts +0 -19
  126. package/sdk/dist/deposit/source.d.ts.map +1 -1
  127. package/sdk/dist/deposit/source.js +17 -34
  128. package/sdk/dist/deposit/source.js.map +1 -1
  129. package/sdk/dist/descriptors/accessors.d.ts +2 -2
  130. package/sdk/dist/descriptors/accessors.d.ts.map +1 -1
  131. package/sdk/dist/descriptors/accessors.js +15 -4
  132. package/sdk/dist/descriptors/accessors.js.map +1 -1
  133. package/sdk/dist/descriptors/call.d.ts +8 -13
  134. package/sdk/dist/descriptors/call.d.ts.map +1 -1
  135. package/sdk/dist/descriptors/call.js +7 -19
  136. package/sdk/dist/descriptors/call.js.map +1 -1
  137. package/sdk/dist/descriptors/derive.d.ts +1 -1
  138. package/sdk/dist/descriptors/derive.d.ts.map +1 -1
  139. package/sdk/dist/descriptors/derive.js +1 -1
  140. package/sdk/dist/descriptors/derive.js.map +1 -1
  141. package/sdk/dist/descriptors/index.d.ts +1 -1
  142. package/sdk/dist/descriptors/index.d.ts.map +1 -1
  143. package/sdk/dist/descriptors/index.js +1 -1
  144. package/sdk/dist/descriptors/index.js.map +1 -1
  145. package/sdk/dist/descriptors/links.d.ts +3 -12
  146. package/sdk/dist/descriptors/links.d.ts.map +1 -1
  147. package/sdk/dist/descriptors/links.js +2 -32
  148. package/sdk/dist/descriptors/links.js.map +1 -1
  149. package/sdk/dist/descriptors/query.d.ts +7 -3
  150. package/sdk/dist/descriptors/query.d.ts.map +1 -1
  151. package/sdk/dist/descriptors/query.js +9 -5
  152. package/sdk/dist/descriptors/query.js.map +1 -1
  153. package/sdk/dist/descriptors/registry.d.ts.map +1 -1
  154. package/sdk/dist/descriptors/registry.js +1 -0
  155. package/sdk/dist/descriptors/registry.js.map +1 -1
  156. package/sdk/dist/embedded/recipes.d.ts +3 -0
  157. package/sdk/dist/embedded/recipes.d.ts.map +1 -0
  158. package/sdk/dist/embedded/recipes.js +15 -0
  159. package/sdk/dist/embedded/recipes.js.map +1 -0
  160. package/sdk/dist/embedded/resolve.d.ts +27 -0
  161. package/sdk/dist/embedded/resolve.d.ts.map +1 -0
  162. package/sdk/dist/embedded/resolve.js +99 -0
  163. package/sdk/dist/embedded/resolve.js.map +1 -0
  164. package/sdk/dist/embedded/skills.generated.d.ts +3 -0
  165. package/sdk/dist/embedded/skills.generated.d.ts.map +1 -0
  166. package/sdk/dist/embedded/skills.generated.js +141 -0
  167. package/sdk/dist/embedded/skills.generated.js.map +1 -0
  168. package/sdk/dist/embedded/sources.generated.d.ts +7 -0
  169. package/sdk/dist/embedded/sources.generated.d.ts.map +1 -0
  170. package/sdk/dist/embedded/sources.generated.js +231 -0
  171. package/sdk/dist/embedded/sources.generated.js.map +1 -0
  172. package/sdk/dist/evm/execution-fee.d.ts +30 -0
  173. package/sdk/dist/evm/execution-fee.d.ts.map +1 -0
  174. package/sdk/dist/evm/execution-fee.js +33 -0
  175. package/sdk/dist/evm/execution-fee.js.map +1 -0
  176. package/sdk/dist/index.d.ts +7 -2
  177. package/sdk/dist/index.d.ts.map +1 -1
  178. package/sdk/dist/index.js +16 -10
  179. package/sdk/dist/index.js.map +1 -1
  180. package/sdk/dist/plugin/index.d.ts +1 -1
  181. package/sdk/dist/plugin/index.d.ts.map +1 -1
  182. package/sdk/dist/plugin/index.js +5 -22
  183. package/sdk/dist/plugin/index.js.map +1 -1
  184. package/sdk/dist/protocols/aave-v4/abis.d.ts +201 -0
  185. package/sdk/dist/protocols/aave-v4/abis.d.ts.map +1 -0
  186. package/sdk/dist/protocols/aave-v4/abis.js +139 -0
  187. package/sdk/dist/protocols/aave-v4/abis.js.map +1 -0
  188. package/sdk/dist/protocols/aave-v4/addresses.d.ts +3 -0
  189. package/sdk/dist/protocols/aave-v4/addresses.d.ts.map +1 -0
  190. package/sdk/dist/protocols/aave-v4/addresses.js +65 -0
  191. package/sdk/dist/protocols/aave-v4/addresses.js.map +1 -0
  192. package/sdk/dist/protocols/aave-v4/functions.d.ts +5 -0
  193. package/sdk/dist/protocols/aave-v4/functions.d.ts.map +1 -0
  194. package/sdk/dist/protocols/aave-v4/functions.js +37 -0
  195. package/sdk/dist/protocols/aave-v4/functions.js.map +1 -0
  196. package/sdk/dist/protocols/aave-v4/index.d.ts +5 -0
  197. package/sdk/dist/protocols/aave-v4/index.d.ts.map +1 -0
  198. package/sdk/dist/protocols/aave-v4/index.js +5 -0
  199. package/sdk/dist/protocols/aave-v4/index.js.map +1 -0
  200. package/sdk/dist/protocols/aave-v4/info.d.ts +3 -0
  201. package/sdk/dist/protocols/aave-v4/info.d.ts.map +1 -0
  202. package/sdk/dist/protocols/aave-v4/info.js +12 -0
  203. package/sdk/dist/protocols/aave-v4/info.js.map +1 -0
  204. package/sdk/dist/protocols/across/abis.d.ts +24 -12
  205. package/sdk/dist/protocols/across/abis.d.ts.map +1 -1
  206. package/sdk/dist/protocols/across/abis.js +16 -8
  207. package/sdk/dist/protocols/across/abis.js.map +1 -1
  208. package/sdk/dist/protocols/across/addresses.d.ts.map +1 -1
  209. package/sdk/dist/protocols/across/addresses.js +10 -0
  210. package/sdk/dist/protocols/across/addresses.js.map +1 -1
  211. package/sdk/dist/protocols/across/functions.d.ts +1 -1
  212. package/sdk/dist/protocols/across/functions.d.ts.map +1 -1
  213. package/sdk/dist/protocols/across/functions.js +2 -2
  214. package/sdk/dist/protocols/aerodrome-slipstream/abis.d.ts +112 -0
  215. package/sdk/dist/protocols/aerodrome-slipstream/abis.d.ts.map +1 -0
  216. package/sdk/dist/protocols/aerodrome-slipstream/abis.js +73 -0
  217. package/sdk/dist/protocols/aerodrome-slipstream/abis.js.map +1 -0
  218. package/sdk/dist/protocols/aerodrome-slipstream/addresses.d.ts +3 -0
  219. package/sdk/dist/protocols/aerodrome-slipstream/addresses.d.ts.map +1 -0
  220. package/sdk/dist/protocols/aerodrome-slipstream/addresses.js +39 -0
  221. package/sdk/dist/protocols/aerodrome-slipstream/addresses.js.map +1 -0
  222. package/sdk/dist/protocols/aerodrome-slipstream/functions.d.ts +2 -0
  223. package/sdk/dist/protocols/aerodrome-slipstream/functions.d.ts.map +1 -0
  224. package/sdk/dist/protocols/aerodrome-slipstream/functions.js +9 -0
  225. package/sdk/dist/protocols/aerodrome-slipstream/functions.js.map +1 -0
  226. package/sdk/dist/protocols/aerodrome-slipstream/index.d.ts +5 -0
  227. package/sdk/dist/protocols/aerodrome-slipstream/index.d.ts.map +1 -0
  228. package/sdk/dist/protocols/aerodrome-slipstream/index.js +5 -0
  229. package/sdk/dist/protocols/aerodrome-slipstream/index.js.map +1 -0
  230. package/sdk/dist/protocols/aerodrome-slipstream/info.d.ts +3 -0
  231. package/sdk/dist/protocols/aerodrome-slipstream/info.d.ts.map +1 -0
  232. package/sdk/dist/protocols/aerodrome-slipstream/info.js +12 -0
  233. package/sdk/dist/protocols/aerodrome-slipstream/info.js.map +1 -0
  234. package/sdk/dist/protocols/aevo/abis.d.ts +17 -2
  235. package/sdk/dist/protocols/aevo/abis.d.ts.map +1 -1
  236. package/sdk/dist/protocols/aevo/abis.js +10 -2
  237. package/sdk/dist/protocols/aevo/abis.js.map +1 -1
  238. package/sdk/dist/protocols/aevo/functions.d.ts +1 -1
  239. package/sdk/dist/protocols/aevo/functions.d.ts.map +1 -1
  240. package/sdk/dist/protocols/aevo/functions.js +2 -2
  241. package/sdk/dist/protocols/alchemix/abis.d.ts +1 -1
  242. package/sdk/dist/protocols/alchemix/abis.js +1 -1
  243. package/sdk/dist/protocols/alchemix/abis.js.map +1 -1
  244. package/sdk/dist/protocols/ambient/abis.d.ts +2 -2
  245. package/sdk/dist/protocols/ambient/abis.d.ts.map +1 -1
  246. package/sdk/dist/protocols/ambient/abis.js +3 -2
  247. package/sdk/dist/protocols/ambient/abis.js.map +1 -1
  248. package/sdk/dist/protocols/ambient/addresses.d.ts.map +1 -1
  249. package/sdk/dist/protocols/ambient/addresses.js +2 -1
  250. package/sdk/dist/protocols/ambient/addresses.js.map +1 -1
  251. package/sdk/dist/protocols/arrakis/abis.d.ts +4 -13
  252. package/sdk/dist/protocols/arrakis/abis.d.ts.map +1 -1
  253. package/sdk/dist/protocols/arrakis/abis.js +2 -11
  254. package/sdk/dist/protocols/arrakis/abis.js.map +1 -1
  255. package/sdk/dist/protocols/arrakis/functions.d.ts +1 -1
  256. package/sdk/dist/protocols/arrakis/functions.d.ts.map +1 -1
  257. package/sdk/dist/protocols/arrakis/functions.js +2 -1
  258. package/sdk/dist/protocols/arrakis/functions.js.map +1 -1
  259. package/sdk/dist/protocols/axelar/abis.d.ts +1 -1
  260. package/sdk/dist/protocols/axelar/abis.js +1 -1
  261. package/sdk/dist/protocols/balancer-v2/abis.d.ts +7 -7
  262. package/sdk/dist/protocols/balancer-v2/abis.js +7 -7
  263. package/sdk/dist/protocols/balancer-v2/abis.js.map +1 -1
  264. package/sdk/dist/protocols/cbeth/abis.d.ts +7 -1
  265. package/sdk/dist/protocols/cbeth/abis.d.ts.map +1 -1
  266. package/sdk/dist/protocols/cbeth/abis.js +6 -2
  267. package/sdk/dist/protocols/cbeth/abis.js.map +1 -1
  268. package/sdk/dist/protocols/cctp/abis.d.ts +1 -4
  269. package/sdk/dist/protocols/cctp/abis.d.ts.map +1 -1
  270. package/sdk/dist/protocols/cctp/abis.js +3 -1
  271. package/sdk/dist/protocols/cctp/abis.js.map +1 -1
  272. package/sdk/dist/protocols/cctp/addresses.d.ts.map +1 -1
  273. package/sdk/dist/protocols/cctp/addresses.js +3 -0
  274. package/sdk/dist/protocols/cctp/addresses.js.map +1 -1
  275. package/sdk/dist/protocols/chainlink/abis.d.ts +6 -6
  276. package/sdk/dist/protocols/chainlink/abis.js +6 -6
  277. package/sdk/dist/protocols/chainlink/abis.js.map +1 -1
  278. package/sdk/dist/protocols/chainlink/addresses.d.ts.map +1 -1
  279. package/sdk/dist/protocols/chainlink/addresses.js +10 -0
  280. package/sdk/dist/protocols/chainlink/addresses.js.map +1 -1
  281. package/sdk/dist/protocols/chainlink-ccip/abis.d.ts +1 -1
  282. package/sdk/dist/protocols/chainlink-ccip/abis.js +1 -1
  283. package/sdk/dist/protocols/chainlink-ccip/addresses.d.ts.map +1 -1
  284. package/sdk/dist/protocols/chainlink-ccip/addresses.js +9 -0
  285. package/sdk/dist/protocols/chainlink-ccip/addresses.js.map +1 -1
  286. package/sdk/dist/protocols/circle-gateway/abis.d.ts +114 -0
  287. package/sdk/dist/protocols/circle-gateway/abis.d.ts.map +1 -0
  288. package/sdk/dist/protocols/circle-gateway/abis.js +86 -0
  289. package/sdk/dist/protocols/circle-gateway/abis.js.map +1 -0
  290. package/sdk/dist/protocols/circle-gateway/addresses.d.ts +3 -0
  291. package/sdk/dist/protocols/circle-gateway/addresses.d.ts.map +1 -0
  292. package/sdk/dist/protocols/circle-gateway/addresses.js +37 -0
  293. package/sdk/dist/protocols/circle-gateway/addresses.js.map +1 -0
  294. package/sdk/dist/protocols/circle-gateway/functions.d.ts +4 -0
  295. package/sdk/dist/protocols/circle-gateway/functions.d.ts.map +1 -0
  296. package/sdk/dist/protocols/circle-gateway/functions.js +27 -0
  297. package/sdk/dist/protocols/circle-gateway/functions.js.map +1 -0
  298. package/sdk/dist/protocols/circle-gateway/index.d.ts +5 -0
  299. package/sdk/dist/protocols/circle-gateway/index.d.ts.map +1 -0
  300. package/sdk/dist/protocols/circle-gateway/index.js +5 -0
  301. package/sdk/dist/protocols/circle-gateway/index.js.map +1 -0
  302. package/sdk/dist/protocols/circle-gateway/info.d.ts +3 -0
  303. package/sdk/dist/protocols/circle-gateway/info.d.ts.map +1 -0
  304. package/sdk/dist/protocols/circle-gateway/info.js +12 -0
  305. package/sdk/dist/protocols/circle-gateway/info.js.map +1 -0
  306. package/sdk/dist/protocols/compound-v2/abis.d.ts +2 -2
  307. package/sdk/dist/protocols/compound-v2/abis.js +2 -2
  308. package/sdk/dist/protocols/compound-v2/abis.js.map +1 -1
  309. package/sdk/dist/protocols/connext/abis.d.ts +46 -6
  310. package/sdk/dist/protocols/connext/abis.d.ts.map +1 -1
  311. package/sdk/dist/protocols/connext/abis.js +27 -5
  312. package/sdk/dist/protocols/connext/abis.js.map +1 -1
  313. package/sdk/dist/protocols/connext/addresses.d.ts.map +1 -1
  314. package/sdk/dist/protocols/connext/addresses.js +1 -7
  315. package/sdk/dist/protocols/connext/addresses.js.map +1 -1
  316. package/sdk/dist/protocols/connext/functions.d.ts +1 -1
  317. package/sdk/dist/protocols/connext/functions.d.ts.map +1 -1
  318. package/sdk/dist/protocols/connext/functions.js +3 -2
  319. package/sdk/dist/protocols/connext/functions.js.map +1 -1
  320. package/sdk/dist/protocols/curve/abis.d.ts +119 -7
  321. package/sdk/dist/protocols/curve/abis.d.ts.map +1 -1
  322. package/sdk/dist/protocols/curve/abis.js +90 -7
  323. package/sdk/dist/protocols/curve/abis.js.map +1 -1
  324. package/sdk/dist/protocols/debridge/abis.d.ts +7 -7
  325. package/sdk/dist/protocols/debridge/abis.js +5 -5
  326. package/sdk/dist/protocols/debridge/abis.js.map +1 -1
  327. package/sdk/dist/protocols/debridge/addresses.d.ts.map +1 -1
  328. package/sdk/dist/protocols/debridge/addresses.js +11 -0
  329. package/sdk/dist/protocols/debridge/addresses.js.map +1 -1
  330. package/sdk/dist/protocols/eco-routes/abis.d.ts +463 -0
  331. package/sdk/dist/protocols/eco-routes/abis.d.ts.map +1 -0
  332. package/sdk/dist/protocols/eco-routes/abis.js +632 -0
  333. package/sdk/dist/protocols/eco-routes/abis.js.map +1 -0
  334. package/sdk/dist/protocols/eco-routes/addresses.d.ts +9 -0
  335. package/sdk/dist/protocols/eco-routes/addresses.d.ts.map +1 -0
  336. package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts +585 -0
  337. package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts.map +1 -0
  338. package/sdk/dist/protocols/eco-routes/addresses.generated.js +590 -0
  339. package/sdk/dist/protocols/eco-routes/addresses.generated.js.map +1 -0
  340. package/sdk/dist/protocols/eco-routes/addresses.js +21 -0
  341. package/sdk/dist/protocols/eco-routes/addresses.js.map +1 -0
  342. package/sdk/dist/protocols/eco-routes/functions.d.ts +12 -0
  343. package/sdk/dist/protocols/eco-routes/functions.d.ts.map +1 -0
  344. package/sdk/dist/protocols/eco-routes/functions.js +45 -0
  345. package/sdk/dist/protocols/eco-routes/functions.js.map +1 -0
  346. package/sdk/dist/protocols/eco-routes/index.d.ts +6 -0
  347. package/sdk/dist/protocols/eco-routes/index.d.ts.map +1 -0
  348. package/sdk/dist/protocols/eco-routes/index.js +6 -0
  349. package/sdk/dist/protocols/eco-routes/index.js.map +1 -0
  350. package/sdk/dist/protocols/eco-routes/info.d.ts +3 -0
  351. package/sdk/dist/protocols/eco-routes/info.d.ts.map +1 -0
  352. package/sdk/dist/protocols/eco-routes/info.js +12 -0
  353. package/sdk/dist/protocols/eco-routes/info.js.map +1 -0
  354. package/sdk/dist/protocols/eco-routes/lookup.d.ts +82 -0
  355. package/sdk/dist/protocols/eco-routes/lookup.d.ts.map +1 -0
  356. package/sdk/dist/protocols/eco-routes/lookup.js +148 -0
  357. package/sdk/dist/protocols/eco-routes/lookup.js.map +1 -0
  358. package/sdk/dist/protocols/eigenlayer/abis.d.ts +4 -4
  359. package/sdk/dist/protocols/eigenlayer/abis.d.ts.map +1 -1
  360. package/sdk/dist/protocols/eigenlayer/abis.js +5 -4
  361. package/sdk/dist/protocols/eigenlayer/abis.js.map +1 -1
  362. package/sdk/dist/protocols/ens/abis.d.ts +4 -4
  363. package/sdk/dist/protocols/ens/abis.js +4 -4
  364. package/sdk/dist/protocols/etherfi/abis.d.ts +1 -1
  365. package/sdk/dist/protocols/etherfi/abis.d.ts.map +1 -1
  366. package/sdk/dist/protocols/etherfi/abis.js +2 -1
  367. package/sdk/dist/protocols/etherfi/abis.js.map +1 -1
  368. package/sdk/dist/protocols/euler-v2/abis.d.ts +2 -2
  369. package/sdk/dist/protocols/euler-v2/abis.js +2 -2
  370. package/sdk/dist/protocols/euler-v2/abis.js.map +1 -1
  371. package/sdk/dist/protocols/fluid/abis.d.ts +47 -26
  372. package/sdk/dist/protocols/fluid/abis.d.ts.map +1 -1
  373. package/sdk/dist/protocols/fluid/abis.js +39 -18
  374. package/sdk/dist/protocols/fluid/abis.js.map +1 -1
  375. package/sdk/dist/protocols/fluid/functions.d.ts +4 -4
  376. package/sdk/dist/protocols/fluid/functions.d.ts.map +1 -1
  377. package/sdk/dist/protocols/fluid/functions.js +18 -16
  378. package/sdk/dist/protocols/fluid/functions.js.map +1 -1
  379. package/sdk/dist/protocols/gains-network/abis.d.ts +44 -35
  380. package/sdk/dist/protocols/gains-network/abis.d.ts.map +1 -1
  381. package/sdk/dist/protocols/gains-network/abis.js +26 -21
  382. package/sdk/dist/protocols/gains-network/abis.js.map +1 -1
  383. package/sdk/dist/protocols/gains-network/functions.d.ts +3 -3
  384. package/sdk/dist/protocols/gains-network/functions.d.ts.map +1 -1
  385. package/sdk/dist/protocols/gains-network/functions.js +6 -6
  386. package/sdk/dist/protocols/gamma/abis.d.ts +43 -0
  387. package/sdk/dist/protocols/gamma/abis.d.ts.map +1 -1
  388. package/sdk/dist/protocols/gamma/abis.js +30 -0
  389. package/sdk/dist/protocols/gamma/abis.js.map +1 -1
  390. package/sdk/dist/protocols/gamma/addresses.d.ts.map +1 -1
  391. package/sdk/dist/protocols/gamma/addresses.js +2 -7
  392. package/sdk/dist/protocols/gamma/addresses.js.map +1 -1
  393. package/sdk/dist/protocols/gamma/functions.d.ts +1 -0
  394. package/sdk/dist/protocols/gamma/functions.d.ts.map +1 -1
  395. package/sdk/dist/protocols/gamma/functions.js +9 -0
  396. package/sdk/dist/protocols/gamma/functions.js.map +1 -1
  397. package/sdk/dist/protocols/gelato/abis.d.ts +2 -2
  398. package/sdk/dist/protocols/gelato/abis.js +2 -2
  399. package/sdk/dist/protocols/gmx-v1/abis.d.ts +15 -3
  400. package/sdk/dist/protocols/gmx-v1/abis.d.ts.map +1 -1
  401. package/sdk/dist/protocols/gmx-v1/abis.js +5 -3
  402. package/sdk/dist/protocols/gmx-v1/abis.js.map +1 -1
  403. package/sdk/dist/protocols/gmx-v1/functions.d.ts +2 -2
  404. package/sdk/dist/protocols/gmx-v1/functions.d.ts.map +1 -1
  405. package/sdk/dist/protocols/gmx-v1/functions.js +2 -2
  406. package/sdk/dist/protocols/gmx-v2/abis.d.ts +11 -5
  407. package/sdk/dist/protocols/gmx-v2/abis.d.ts.map +1 -1
  408. package/sdk/dist/protocols/gmx-v2/abis.js +7 -4
  409. package/sdk/dist/protocols/gmx-v2/abis.js.map +1 -1
  410. package/sdk/dist/protocols/gmx-v2/addresses.d.ts.map +1 -1
  411. package/sdk/dist/protocols/gmx-v2/addresses.js +3 -1
  412. package/sdk/dist/protocols/gmx-v2/addresses.js.map +1 -1
  413. package/sdk/dist/protocols/gmx-v2/functions.d.ts +1 -1
  414. package/sdk/dist/protocols/gmx-v2/functions.d.ts.map +1 -1
  415. package/sdk/dist/protocols/gmx-v2/functions.js +4 -2
  416. package/sdk/dist/protocols/gmx-v2/functions.js.map +1 -1
  417. package/sdk/dist/protocols/harvest/abis.d.ts +8 -2
  418. package/sdk/dist/protocols/harvest/abis.d.ts.map +1 -1
  419. package/sdk/dist/protocols/harvest/abis.js +2 -2
  420. package/sdk/dist/protocols/harvest/abis.js.map +1 -1
  421. package/sdk/dist/protocols/hegic/abis.d.ts +5 -2
  422. package/sdk/dist/protocols/hegic/abis.d.ts.map +1 -1
  423. package/sdk/dist/protocols/hegic/abis.js +7 -2
  424. package/sdk/dist/protocols/hegic/abis.js.map +1 -1
  425. package/sdk/dist/protocols/hegic/addresses.d.ts.map +1 -1
  426. package/sdk/dist/protocols/hegic/addresses.js +1 -0
  427. package/sdk/dist/protocols/hegic/addresses.js.map +1 -1
  428. package/sdk/dist/protocols/hegic/functions.d.ts +1 -1
  429. package/sdk/dist/protocols/hegic/functions.d.ts.map +1 -1
  430. package/sdk/dist/protocols/hegic/functions.js +3 -3
  431. package/sdk/dist/protocols/hop/addresses.d.ts.map +1 -1
  432. package/sdk/dist/protocols/hop/addresses.js +5 -2
  433. package/sdk/dist/protocols/hop/addresses.js.map +1 -1
  434. package/sdk/dist/protocols/hyperlane/abis.d.ts +5 -5
  435. package/sdk/dist/protocols/hyperlane/abis.js +5 -5
  436. package/sdk/dist/protocols/hyperlane/abis.js.map +1 -1
  437. package/sdk/dist/protocols/hyperlane/addresses.d.ts.map +1 -1
  438. package/sdk/dist/protocols/hyperlane/addresses.js +9 -0
  439. package/sdk/dist/protocols/hyperlane/addresses.js.map +1 -1
  440. package/sdk/dist/protocols/index.d.ts +1 -0
  441. package/sdk/dist/protocols/index.d.ts.map +1 -1
  442. package/sdk/dist/protocols/index.js +13 -0
  443. package/sdk/dist/protocols/index.js.map +1 -1
  444. package/sdk/dist/protocols/kim/abis.d.ts +7 -20
  445. package/sdk/dist/protocols/kim/abis.d.ts.map +1 -1
  446. package/sdk/dist/protocols/kim/abis.js +6 -12
  447. package/sdk/dist/protocols/kim/abis.js.map +1 -1
  448. package/sdk/dist/protocols/kim/functions.d.ts +1 -1
  449. package/sdk/dist/protocols/kim/functions.d.ts.map +1 -1
  450. package/sdk/dist/protocols/kim/functions.js +3 -2
  451. package/sdk/dist/protocols/kim/functions.js.map +1 -1
  452. package/sdk/dist/protocols/kyberswap/abis.d.ts +41 -16
  453. package/sdk/dist/protocols/kyberswap/abis.d.ts.map +1 -1
  454. package/sdk/dist/protocols/kyberswap/abis.js +21 -8
  455. package/sdk/dist/protocols/kyberswap/abis.js.map +1 -1
  456. package/sdk/dist/protocols/kyberswap/addresses.d.ts.map +1 -1
  457. package/sdk/dist/protocols/kyberswap/addresses.js +12 -2
  458. package/sdk/dist/protocols/kyberswap/addresses.js.map +1 -1
  459. package/sdk/dist/protocols/kyberswap-aggregator/addresses.d.ts.map +1 -1
  460. package/sdk/dist/protocols/kyberswap-aggregator/addresses.js +12 -1
  461. package/sdk/dist/protocols/kyberswap-aggregator/addresses.js.map +1 -1
  462. package/sdk/dist/protocols/layerbank/abis.d.ts +81 -24
  463. package/sdk/dist/protocols/layerbank/abis.d.ts.map +1 -1
  464. package/sdk/dist/protocols/layerbank/abis.js +69 -17
  465. package/sdk/dist/protocols/layerbank/abis.js.map +1 -1
  466. package/sdk/dist/protocols/layerbank/addresses.d.ts.map +1 -1
  467. package/sdk/dist/protocols/layerbank/addresses.js +3 -1
  468. package/sdk/dist/protocols/layerbank/addresses.js.map +1 -1
  469. package/sdk/dist/protocols/layerbank/functions.d.ts +4 -4
  470. package/sdk/dist/protocols/layerbank/functions.d.ts.map +1 -1
  471. package/sdk/dist/protocols/layerbank/functions.js +18 -16
  472. package/sdk/dist/protocols/layerbank/functions.js.map +1 -1
  473. package/sdk/dist/protocols/layerzero/abis.d.ts +3 -3
  474. package/sdk/dist/protocols/layerzero/abis.js +3 -3
  475. package/sdk/dist/protocols/layerzero/addresses.d.ts.map +1 -1
  476. package/sdk/dist/protocols/layerzero/addresses.js +11 -1
  477. package/sdk/dist/protocols/layerzero/addresses.js.map +1 -1
  478. package/sdk/dist/protocols/level-finance/abis.d.ts +6 -0
  479. package/sdk/dist/protocols/level-finance/abis.d.ts.map +1 -1
  480. package/sdk/dist/protocols/level-finance/abis.js +2 -0
  481. package/sdk/dist/protocols/level-finance/abis.js.map +1 -1
  482. package/sdk/dist/protocols/level-finance/functions.d.ts +2 -2
  483. package/sdk/dist/protocols/level-finance/functions.d.ts.map +1 -1
  484. package/sdk/dist/protocols/level-finance/functions.js +4 -4
  485. package/sdk/dist/protocols/lifi/abis.d.ts +41 -4
  486. package/sdk/dist/protocols/lifi/abis.d.ts.map +1 -1
  487. package/sdk/dist/protocols/lifi/abis.js +24 -4
  488. package/sdk/dist/protocols/lifi/abis.js.map +1 -1
  489. package/sdk/dist/protocols/lifi/addresses.d.ts.map +1 -1
  490. package/sdk/dist/protocols/lifi/addresses.js +9 -0
  491. package/sdk/dist/protocols/lifi/addresses.js.map +1 -1
  492. package/sdk/dist/protocols/lifi/functions.d.ts +1 -1
  493. package/sdk/dist/protocols/lifi/functions.d.ts.map +1 -1
  494. package/sdk/dist/protocols/lifi/functions.js +5 -2
  495. package/sdk/dist/protocols/lifi/functions.js.map +1 -1
  496. package/sdk/dist/protocols/liquity-v1/abis.d.ts +6 -0
  497. package/sdk/dist/protocols/liquity-v1/abis.d.ts.map +1 -1
  498. package/sdk/dist/protocols/liquity-v1/abis.js +7 -1
  499. package/sdk/dist/protocols/liquity-v1/abis.js.map +1 -1
  500. package/sdk/dist/protocols/liquity-v1/functions.d.ts +1 -1
  501. package/sdk/dist/protocols/liquity-v1/functions.d.ts.map +1 -1
  502. package/sdk/dist/protocols/liquity-v1/functions.js +1 -1
  503. package/sdk/dist/protocols/mantle-meth/abis.d.ts +26 -25
  504. package/sdk/dist/protocols/mantle-meth/abis.d.ts.map +1 -1
  505. package/sdk/dist/protocols/mantle-meth/abis.js +22 -17
  506. package/sdk/dist/protocols/mantle-meth/abis.js.map +1 -1
  507. package/sdk/dist/protocols/mantle-meth/addresses.d.ts.map +1 -1
  508. package/sdk/dist/protocols/mantle-meth/addresses.js +3 -0
  509. package/sdk/dist/protocols/mantle-meth/addresses.js.map +1 -1
  510. package/sdk/dist/protocols/mantle-meth/functions.d.ts +1 -1
  511. package/sdk/dist/protocols/mantle-meth/functions.d.ts.map +1 -1
  512. package/sdk/dist/protocols/mantle-meth/functions.js +4 -4
  513. package/sdk/dist/protocols/maverick/abis.d.ts +9 -0
  514. package/sdk/dist/protocols/maverick/abis.d.ts.map +1 -1
  515. package/sdk/dist/protocols/maverick/abis.js +7 -1
  516. package/sdk/dist/protocols/maverick/abis.js.map +1 -1
  517. package/sdk/dist/protocols/morpho-blue/addresses.d.ts.map +1 -1
  518. package/sdk/dist/protocols/morpho-blue/addresses.js +10 -0
  519. package/sdk/dist/protocols/morpho-blue/addresses.js.map +1 -1
  520. package/sdk/dist/protocols/mux-protocol/abis.d.ts +87 -32
  521. package/sdk/dist/protocols/mux-protocol/abis.d.ts.map +1 -1
  522. package/sdk/dist/protocols/mux-protocol/abis.js +54 -21
  523. package/sdk/dist/protocols/mux-protocol/abis.js.map +1 -1
  524. package/sdk/dist/protocols/mux-protocol/functions.d.ts +2 -2
  525. package/sdk/dist/protocols/mux-protocol/functions.d.ts.map +1 -1
  526. package/sdk/dist/protocols/mux-protocol/functions.js +8 -8
  527. package/sdk/dist/protocols/olympus/abis.d.ts +5 -2
  528. package/sdk/dist/protocols/olympus/abis.d.ts.map +1 -1
  529. package/sdk/dist/protocols/olympus/abis.js +2 -2
  530. package/sdk/dist/protocols/olympus/abis.js.map +1 -1
  531. package/sdk/dist/protocols/oneinch/abis.d.ts +5 -5
  532. package/sdk/dist/protocols/oneinch/abis.d.ts.map +1 -1
  533. package/sdk/dist/protocols/oneinch/abis.js +5 -3
  534. package/sdk/dist/protocols/oneinch/abis.js.map +1 -1
  535. package/sdk/dist/protocols/oneinch/functions.d.ts +1 -1
  536. package/sdk/dist/protocols/oneinch/functions.d.ts.map +1 -1
  537. package/sdk/dist/protocols/oneinch/functions.js +2 -2
  538. package/sdk/dist/protocols/openocean/abis.d.ts +14 -1
  539. package/sdk/dist/protocols/openocean/abis.d.ts.map +1 -1
  540. package/sdk/dist/protocols/openocean/abis.js +11 -1
  541. package/sdk/dist/protocols/openocean/abis.js.map +1 -1
  542. package/sdk/dist/protocols/openocean/functions.d.ts +1 -1
  543. package/sdk/dist/protocols/openocean/functions.d.ts.map +1 -1
  544. package/sdk/dist/protocols/openocean/functions.js +1 -1
  545. package/sdk/dist/protocols/opyn/abis.d.ts +4 -1
  546. package/sdk/dist/protocols/opyn/abis.d.ts.map +1 -1
  547. package/sdk/dist/protocols/opyn/abis.js +1 -1
  548. package/sdk/dist/protocols/opyn/abis.js.map +1 -1
  549. package/sdk/dist/protocols/pancakeswap-v3/abis.d.ts +6 -6
  550. package/sdk/dist/protocols/pancakeswap-v3/abis.js +6 -6
  551. package/sdk/dist/protocols/pancakeswap-v3/abis.js.map +1 -1
  552. package/sdk/dist/protocols/paraswap/abis.d.ts +1 -1
  553. package/sdk/dist/protocols/paraswap/abis.js +1 -1
  554. package/sdk/dist/protocols/pendle/abis.d.ts +288 -6
  555. package/sdk/dist/protocols/pendle/abis.d.ts.map +1 -1
  556. package/sdk/dist/protocols/pendle/abis.js +160 -6
  557. package/sdk/dist/protocols/pendle/abis.js.map +1 -1
  558. package/sdk/dist/protocols/permit2/abis.d.ts +1 -1
  559. package/sdk/dist/protocols/permit2/abis.js +1 -1
  560. package/sdk/dist/protocols/permit2/addresses.d.ts.map +1 -1
  561. package/sdk/dist/protocols/permit2/addresses.js +9 -0
  562. package/sdk/dist/protocols/permit2/addresses.js.map +1 -1
  563. package/sdk/dist/protocols/perpetual-protocol/abis.d.ts +46 -38
  564. package/sdk/dist/protocols/perpetual-protocol/abis.d.ts.map +1 -1
  565. package/sdk/dist/protocols/perpetual-protocol/abis.js +27 -14
  566. package/sdk/dist/protocols/perpetual-protocol/abis.js.map +1 -1
  567. package/sdk/dist/protocols/premia/abis.d.ts +18 -17
  568. package/sdk/dist/protocols/premia/abis.d.ts.map +1 -1
  569. package/sdk/dist/protocols/premia/abis.js +20 -10
  570. package/sdk/dist/protocols/premia/abis.js.map +1 -1
  571. package/sdk/dist/protocols/premia/addresses.d.ts.map +1 -1
  572. package/sdk/dist/protocols/premia/addresses.js +3 -8
  573. package/sdk/dist/protocols/premia/addresses.js.map +1 -1
  574. package/sdk/dist/protocols/premia/functions.d.ts +2 -2
  575. package/sdk/dist/protocols/premia/functions.d.ts.map +1 -1
  576. package/sdk/dist/protocols/premia/functions.js +8 -8
  577. package/sdk/dist/protocols/pyth/abis.d.ts +3 -3
  578. package/sdk/dist/protocols/pyth/abis.d.ts.map +1 -1
  579. package/sdk/dist/protocols/pyth/abis.js +6 -3
  580. package/sdk/dist/protocols/pyth/abis.js.map +1 -1
  581. package/sdk/dist/protocols/reflexer/abis.d.ts +8 -5
  582. package/sdk/dist/protocols/reflexer/abis.d.ts.map +1 -1
  583. package/sdk/dist/protocols/reflexer/abis.js +10 -6
  584. package/sdk/dist/protocols/reflexer/abis.js.map +1 -1
  585. package/sdk/dist/protocols/renzo/abis.d.ts +1 -1
  586. package/sdk/dist/protocols/renzo/abis.js +1 -1
  587. package/sdk/dist/protocols/renzo/abis.js.map +1 -1
  588. package/sdk/dist/protocols/sablier/abis.d.ts +2 -2
  589. package/sdk/dist/protocols/sablier/abis.js +2 -2
  590. package/sdk/dist/protocols/safe/addresses.d.ts.map +1 -1
  591. package/sdk/dist/protocols/safe/addresses.js +10 -0
  592. package/sdk/dist/protocols/safe/addresses.js.map +1 -1
  593. package/sdk/dist/protocols/seaport/abis.d.ts +65 -5
  594. package/sdk/dist/protocols/seaport/abis.d.ts.map +1 -1
  595. package/sdk/dist/protocols/seaport/abis.js +41 -5
  596. package/sdk/dist/protocols/seaport/abis.js.map +1 -1
  597. package/sdk/dist/protocols/seaport/addresses.d.ts.map +1 -1
  598. package/sdk/dist/protocols/seaport/addresses.js +10 -0
  599. package/sdk/dist/protocols/seaport/addresses.js.map +1 -1
  600. package/sdk/dist/protocols/seaport/functions.d.ts +1 -1
  601. package/sdk/dist/protocols/seaport/functions.d.ts.map +1 -1
  602. package/sdk/dist/protocols/seaport/functions.js +1 -0
  603. package/sdk/dist/protocols/seaport/functions.js.map +1 -1
  604. package/sdk/dist/protocols/silo/abis.d.ts +3 -0
  605. package/sdk/dist/protocols/silo/abis.d.ts.map +1 -1
  606. package/sdk/dist/protocols/silo/abis.js +4 -1
  607. package/sdk/dist/protocols/silo/abis.js.map +1 -1
  608. package/sdk/dist/protocols/silo/addresses.d.ts.map +1 -1
  609. package/sdk/dist/protocols/silo/addresses.js +2 -1
  610. package/sdk/dist/protocols/silo/addresses.js.map +1 -1
  611. package/sdk/dist/protocols/silo/functions.d.ts +1 -1
  612. package/sdk/dist/protocols/silo/functions.d.ts.map +1 -1
  613. package/sdk/dist/protocols/silo/functions.js +2 -1
  614. package/sdk/dist/protocols/silo/functions.js.map +1 -1
  615. package/sdk/dist/protocols/socket/abis.d.ts +1 -13
  616. package/sdk/dist/protocols/socket/abis.d.ts.map +1 -1
  617. package/sdk/dist/protocols/socket/abis.js +3 -11
  618. package/sdk/dist/protocols/socket/abis.js.map +1 -1
  619. package/sdk/dist/protocols/socket/functions.d.ts +1 -1
  620. package/sdk/dist/protocols/socket/functions.d.ts.map +1 -1
  621. package/sdk/dist/protocols/socket/functions.js +1 -1
  622. package/sdk/dist/protocols/spookyswap/addresses.d.ts.map +1 -1
  623. package/sdk/dist/protocols/spookyswap/addresses.js +2 -1
  624. package/sdk/dist/protocols/spookyswap/addresses.js.map +1 -1
  625. package/sdk/dist/protocols/squid/abis.d.ts +33 -21
  626. package/sdk/dist/protocols/squid/abis.d.ts.map +1 -1
  627. package/sdk/dist/protocols/squid/abis.js +19 -13
  628. package/sdk/dist/protocols/squid/abis.js.map +1 -1
  629. package/sdk/dist/protocols/squid/functions.d.ts +1 -1
  630. package/sdk/dist/protocols/squid/functions.d.ts.map +1 -1
  631. package/sdk/dist/protocols/squid/functions.js +2 -2
  632. package/sdk/dist/protocols/stargate/abis.d.ts +23 -3
  633. package/sdk/dist/protocols/stargate/abis.d.ts.map +1 -1
  634. package/sdk/dist/protocols/stargate/abis.js +19 -3
  635. package/sdk/dist/protocols/stargate/abis.js.map +1 -1
  636. package/sdk/dist/protocols/superfluid/abis.d.ts +2 -2
  637. package/sdk/dist/protocols/superfluid/abis.js +2 -2
  638. package/sdk/dist/protocols/superfluid/abis.js.map +1 -1
  639. package/sdk/dist/protocols/sushiswap-v2/addresses.d.ts.map +1 -1
  640. package/sdk/dist/protocols/sushiswap-v2/addresses.js +2 -1
  641. package/sdk/dist/protocols/sushiswap-v2/addresses.js.map +1 -1
  642. package/sdk/dist/protocols/swell/abis.d.ts +2 -8
  643. package/sdk/dist/protocols/swell/abis.d.ts.map +1 -1
  644. package/sdk/dist/protocols/swell/abis.js +4 -2
  645. package/sdk/dist/protocols/swell/abis.js.map +1 -1
  646. package/sdk/dist/protocols/swell/functions.d.ts +2 -2
  647. package/sdk/dist/protocols/swell/functions.d.ts.map +1 -1
  648. package/sdk/dist/protocols/swell/functions.js +4 -2
  649. package/sdk/dist/protocols/swell/functions.js.map +1 -1
  650. package/sdk/dist/protocols/synapse/addresses.d.ts.map +1 -1
  651. package/sdk/dist/protocols/synapse/addresses.js +2 -1
  652. package/sdk/dist/protocols/synapse/addresses.js.map +1 -1
  653. package/sdk/dist/protocols/synthetix-v3/abis.d.ts +40 -5
  654. package/sdk/dist/protocols/synthetix-v3/abis.d.ts.map +1 -1
  655. package/sdk/dist/protocols/synthetix-v3/abis.js +27 -5
  656. package/sdk/dist/protocols/synthetix-v3/abis.js.map +1 -1
  657. package/sdk/dist/protocols/synthetix-v3/addresses.d.ts.map +1 -1
  658. package/sdk/dist/protocols/synthetix-v3/addresses.js +2 -1
  659. package/sdk/dist/protocols/synthetix-v3/addresses.js.map +1 -1
  660. package/sdk/dist/protocols/synthra-v3/abis.d.ts +347 -0
  661. package/sdk/dist/protocols/synthra-v3/abis.d.ts.map +1 -0
  662. package/sdk/dist/protocols/synthra-v3/abis.js +242 -0
  663. package/sdk/dist/protocols/synthra-v3/abis.js.map +1 -0
  664. package/sdk/dist/protocols/synthra-v3/addresses.d.ts +3 -0
  665. package/sdk/dist/protocols/synthra-v3/addresses.d.ts.map +1 -0
  666. package/sdk/dist/protocols/synthra-v3/addresses.js +16 -0
  667. package/sdk/dist/protocols/synthra-v3/addresses.js.map +1 -0
  668. package/sdk/dist/protocols/synthra-v3/functions.d.ts +2 -0
  669. package/sdk/dist/protocols/synthra-v3/functions.d.ts.map +1 -0
  670. package/sdk/dist/protocols/synthra-v3/functions.js +9 -0
  671. package/sdk/dist/protocols/synthra-v3/functions.js.map +1 -0
  672. package/sdk/dist/protocols/synthra-v3/index.d.ts +5 -0
  673. package/sdk/dist/protocols/synthra-v3/index.d.ts.map +1 -0
  674. package/sdk/dist/protocols/synthra-v3/index.js +5 -0
  675. package/sdk/dist/protocols/synthra-v3/index.js.map +1 -0
  676. package/sdk/dist/protocols/synthra-v3/info.d.ts +3 -0
  677. package/sdk/dist/protocols/synthra-v3/info.d.ts.map +1 -0
  678. package/sdk/dist/protocols/synthra-v3/info.js +11 -0
  679. package/sdk/dist/protocols/synthra-v3/info.js.map +1 -0
  680. package/sdk/dist/protocols/thales/abis.d.ts +53 -24
  681. package/sdk/dist/protocols/thales/abis.d.ts.map +1 -1
  682. package/sdk/dist/protocols/thales/abis.js +27 -11
  683. package/sdk/dist/protocols/thales/abis.js.map +1 -1
  684. package/sdk/dist/protocols/thales/functions.d.ts +2 -2
  685. package/sdk/dist/protocols/thales/functions.d.ts.map +1 -1
  686. package/sdk/dist/protocols/thales/functions.js +5 -6
  687. package/sdk/dist/protocols/thales/functions.js.map +1 -1
  688. package/sdk/dist/protocols/thruster/abis.d.ts +1 -1
  689. package/sdk/dist/protocols/thruster/abis.js +1 -1
  690. package/sdk/dist/protocols/trader-joe/abis.d.ts +3 -3
  691. package/sdk/dist/protocols/trader-joe/abis.js +2 -2
  692. package/sdk/dist/protocols/trader-joe/abis.js.map +1 -1
  693. package/sdk/dist/protocols/uniswap-v2/addresses.d.ts.map +1 -1
  694. package/sdk/dist/protocols/uniswap-v2/addresses.js +10 -0
  695. package/sdk/dist/protocols/uniswap-v2/addresses.js.map +1 -1
  696. package/sdk/dist/protocols/uniswap-v3/abis.d.ts +127 -8
  697. package/sdk/dist/protocols/uniswap-v3/abis.d.ts.map +1 -1
  698. package/sdk/dist/protocols/uniswap-v3/abis.js +90 -8
  699. package/sdk/dist/protocols/uniswap-v3/abis.js.map +1 -1
  700. package/sdk/dist/protocols/uniswap-v3/addresses.d.ts.map +1 -1
  701. package/sdk/dist/protocols/uniswap-v3/addresses.js +14 -0
  702. package/sdk/dist/protocols/uniswap-v3/addresses.js.map +1 -1
  703. package/sdk/dist/protocols/uniswap-v4/abis.d.ts +27 -15
  704. package/sdk/dist/protocols/uniswap-v4/abis.d.ts.map +1 -1
  705. package/sdk/dist/protocols/uniswap-v4/abis.js +25 -15
  706. package/sdk/dist/protocols/uniswap-v4/abis.js.map +1 -1
  707. package/sdk/dist/protocols/uniswap-v4/addresses.d.ts.map +1 -1
  708. package/sdk/dist/protocols/uniswap-v4/addresses.js +11 -0
  709. package/sdk/dist/protocols/uniswap-v4/addresses.js.map +1 -1
  710. package/sdk/dist/protocols/unitflow-v3/abis.d.ts +104 -0
  711. package/sdk/dist/protocols/unitflow-v3/abis.d.ts.map +1 -0
  712. package/sdk/dist/protocols/unitflow-v3/abis.js +70 -0
  713. package/sdk/dist/protocols/unitflow-v3/abis.js.map +1 -0
  714. package/sdk/dist/protocols/unitflow-v3/addresses.d.ts +3 -0
  715. package/sdk/dist/protocols/unitflow-v3/addresses.d.ts.map +1 -0
  716. package/sdk/dist/protocols/unitflow-v3/addresses.js +19 -0
  717. package/sdk/dist/protocols/unitflow-v3/addresses.js.map +1 -0
  718. package/sdk/dist/protocols/unitflow-v3/functions.d.ts +2 -0
  719. package/sdk/dist/protocols/unitflow-v3/functions.d.ts.map +1 -0
  720. package/sdk/dist/protocols/unitflow-v3/functions.js +9 -0
  721. package/sdk/dist/protocols/unitflow-v3/functions.js.map +1 -0
  722. package/sdk/dist/protocols/unitflow-v3/index.d.ts +5 -0
  723. package/sdk/dist/protocols/unitflow-v3/index.d.ts.map +1 -0
  724. package/sdk/dist/protocols/unitflow-v3/index.js +5 -0
  725. package/sdk/dist/protocols/unitflow-v3/index.js.map +1 -0
  726. package/sdk/dist/protocols/unitflow-v3/info.d.ts +3 -0
  727. package/sdk/dist/protocols/unitflow-v3/info.d.ts.map +1 -0
  728. package/sdk/dist/protocols/unitflow-v3/info.js +12 -0
  729. package/sdk/dist/protocols/unitflow-v3/info.js.map +1 -0
  730. package/sdk/dist/protocols/velodrome/addresses.d.ts.map +1 -1
  731. package/sdk/dist/protocols/velodrome/addresses.js +3 -1
  732. package/sdk/dist/protocols/velodrome/addresses.js.map +1 -1
  733. package/sdk/dist/protocols/venus/abis.d.ts +62 -1
  734. package/sdk/dist/protocols/venus/abis.d.ts.map +1 -1
  735. package/sdk/dist/protocols/venus/abis.js +48 -1
  736. package/sdk/dist/protocols/venus/abis.js.map +1 -1
  737. package/sdk/dist/protocols/vertex/abis.d.ts +16 -9
  738. package/sdk/dist/protocols/vertex/abis.d.ts.map +1 -1
  739. package/sdk/dist/protocols/vertex/abis.js +13 -4
  740. package/sdk/dist/protocols/vertex/abis.js.map +1 -1
  741. package/sdk/dist/protocols/wormhole/abis.d.ts +2 -2
  742. package/sdk/dist/protocols/wormhole/abis.js +2 -2
  743. package/sdk/dist/protocols/wormhole/addresses.d.ts.map +1 -1
  744. package/sdk/dist/protocols/wormhole/addresses.js +9 -0
  745. package/sdk/dist/protocols/wormhole/addresses.js.map +1 -1
  746. package/sdk/dist/protocols/zerolend/addresses.d.ts.map +1 -1
  747. package/sdk/dist/protocols/zerolend/addresses.js +2 -1
  748. package/sdk/dist/protocols/zerolend/addresses.js.map +1 -1
  749. package/sdk/dist/protocols/zerox/addresses.d.ts.map +1 -1
  750. package/sdk/dist/protocols/zerox/addresses.js +2 -1
  751. package/sdk/dist/protocols/zerox/addresses.js.map +1 -1
  752. package/sdk/dist/protocols/zksync-bridge/abis.d.ts +1 -1
  753. package/sdk/dist/protocols/zksync-bridge/abis.js +1 -1
  754. package/sdk/dist/recipes/cctp-transfer.d.ts +17 -6
  755. package/sdk/dist/recipes/cctp-transfer.d.ts.map +1 -1
  756. package/sdk/dist/recipes/cctp-transfer.js +7 -20
  757. package/sdk/dist/recipes/cctp-transfer.js.map +1 -1
  758. package/sdk/dist/recipes/index.d.ts +5 -15
  759. package/sdk/dist/recipes/index.d.ts.map +1 -1
  760. package/sdk/dist/recipes/index.js +19 -36
  761. package/sdk/dist/recipes/index.js.map +1 -1
  762. package/sdk/dist/recipes/settle.sauce.ts +15 -2
  763. package/sdk/dist/routes/chain-exports.generated.d.ts +97 -0
  764. package/sdk/dist/routes/chain-exports.generated.d.ts.map +1 -0
  765. package/sdk/dist/routes/chain-exports.generated.js +91 -0
  766. package/sdk/dist/routes/chain-exports.generated.js.map +1 -0
  767. package/sdk/dist/routes/compile-types.d.ts +3 -0
  768. package/sdk/dist/routes/compile-types.d.ts.map +1 -1
  769. package/sdk/dist/routes/composed.d.ts +13 -0
  770. package/sdk/dist/routes/composed.d.ts.map +1 -0
  771. package/sdk/dist/routes/composed.js +94 -0
  772. package/sdk/dist/routes/composed.js.map +1 -0
  773. package/sdk/dist/routes/encode.d.ts +6 -6
  774. package/sdk/dist/routes/globals.d.ts +19 -4
  775. package/sdk/dist/routes/globals.d.ts.map +1 -1
  776. package/sdk/dist/routes/globals.js +51 -85
  777. package/sdk/dist/routes/globals.js.map +1 -1
  778. package/sdk/dist/routes/index.d.ts +15 -6
  779. package/sdk/dist/routes/index.d.ts.map +1 -1
  780. package/sdk/dist/routes/index.js +17 -5
  781. package/sdk/dist/routes/index.js.map +1 -1
  782. package/sdk/dist/routes/intent-dsl.d.ts +60 -19
  783. package/sdk/dist/routes/intent-dsl.d.ts.map +1 -1
  784. package/sdk/dist/routes/intent-dsl.js +175 -67
  785. package/sdk/dist/routes/intent-dsl.js.map +1 -1
  786. package/sdk/dist/routes/intent-pot.d.ts +49 -0
  787. package/sdk/dist/routes/intent-pot.d.ts.map +1 -0
  788. package/sdk/dist/routes/intent-pot.js +46 -0
  789. package/sdk/dist/routes/intent-pot.js.map +1 -0
  790. package/sdk/dist/routes/intent-sugar.d.ts +97 -0
  791. package/sdk/dist/routes/intent-sugar.d.ts.map +1 -0
  792. package/sdk/dist/routes/intent-sugar.js +615 -0
  793. package/sdk/dist/routes/intent-sugar.js.map +1 -0
  794. package/sdk/dist/routes/nest-dynamic.d.ts +146 -0
  795. package/sdk/dist/routes/nest-dynamic.d.ts.map +1 -0
  796. package/sdk/dist/routes/nest-dynamic.js +308 -0
  797. package/sdk/dist/routes/nest-dynamic.js.map +1 -0
  798. package/sdk/dist/routes/nest.d.ts +16 -5
  799. package/sdk/dist/routes/nest.d.ts.map +1 -1
  800. package/sdk/dist/routes/nest.js +29 -10
  801. package/sdk/dist/routes/nest.js.map +1 -1
  802. package/sdk/dist/routes/portal.d.ts +7 -272
  803. package/sdk/dist/routes/portal.d.ts.map +1 -1
  804. package/sdk/dist/routes/portal.js +13 -92
  805. package/sdk/dist/routes/portal.js.map +1 -1
  806. package/sdk/dist/routes/protocol-rewrite.d.ts.map +1 -1
  807. package/sdk/dist/routes/protocol-rewrite.js +2 -0
  808. package/sdk/dist/routes/protocol-rewrite.js.map +1 -1
  809. package/sdk/dist/routes/rs-compile.d.ts +26 -15
  810. package/sdk/dist/routes/rs-compile.d.ts.map +1 -1
  811. package/sdk/dist/routes/rs-compile.js +57 -169
  812. package/sdk/dist/routes/rs-compile.js.map +1 -1
  813. package/sdk/dist/routes/sauce-route.d.ts +26 -1
  814. package/sdk/dist/routes/sauce-route.d.ts.map +1 -1
  815. package/sdk/dist/routes/sauce-route.js +109 -6
  816. package/sdk/dist/routes/sauce-route.js.map +1 -1
  817. package/sdk/dist/routes/source-globals.generated.d.ts +435 -20
  818. package/sdk/dist/routes/source-globals.generated.d.ts.map +1 -1
  819. package/sdk/dist/routes/template.d.ts +184 -0
  820. package/sdk/dist/routes/template.d.ts.map +1 -0
  821. package/sdk/dist/routes/template.js +338 -0
  822. package/sdk/dist/routes/template.js.map +1 -0
  823. package/sdk/dist/routes/token-registry.d.ts.map +1 -1
  824. package/sdk/dist/routes/token-registry.js +35 -0
  825. package/sdk/dist/routes/token-registry.js.map +1 -1
  826. package/sdk/dist/routes/token-rewrite.d.ts +1 -1
  827. package/sdk/dist/routes/token-rewrite.d.ts.map +1 -1
  828. package/sdk/dist/skills/loader.d.ts +2 -7
  829. package/sdk/dist/skills/loader.d.ts.map +1 -1
  830. package/sdk/dist/skills/loader.js +14 -25
  831. package/sdk/dist/skills/loader.js.map +1 -1
  832. package/sdk/dist/std/token/token.evm.js +56 -15
  833. package/sdk/dist/std/token/token.svm.js +24 -3
  834. package/sdk/dist/svm/accessors.d.ts +3 -3
  835. package/sdk/dist/svm/accessors.js +3 -3
  836. package/sdk/dist/svm/client.d.ts +1 -0
  837. package/sdk/dist/svm/client.d.ts.map +1 -1
  838. package/sdk/dist/svm/client.js +6 -0
  839. package/sdk/dist/svm/client.js.map +1 -1
  840. package/sdk/dist/svm/clusters.d.ts +6 -2
  841. package/sdk/dist/svm/clusters.d.ts.map +1 -1
  842. package/sdk/dist/svm/clusters.js +0 -2
  843. package/sdk/dist/svm/clusters.js.map +1 -1
  844. package/sdk/dist/svm/engine-artifacts.d.ts +24 -13
  845. package/sdk/dist/svm/engine-artifacts.d.ts.map +1 -1
  846. package/sdk/dist/svm/engine-artifacts.js +31 -26
  847. package/sdk/dist/svm/engine-artifacts.js.map +1 -1
  848. package/sdk/dist/svm/engine-public.d.ts.map +1 -1
  849. package/sdk/dist/svm/engine-public.js +2 -1
  850. package/sdk/dist/svm/engine-public.js.map +1 -1
  851. package/sdk/dist/svm/index.d.ts +0 -1
  852. package/sdk/dist/svm/index.d.ts.map +1 -1
  853. package/sdk/dist/svm/index.js +3 -1
  854. package/sdk/dist/svm/index.js.map +1 -1
  855. package/sdk/dist/svm/intent.d.ts.map +1 -1
  856. package/sdk/dist/svm/intent.js +4 -3
  857. package/sdk/dist/svm/intent.js.map +1 -1
  858. package/sdk/dist/svm/loader.d.ts.map +1 -1
  859. package/sdk/dist/svm/loader.js +2 -3
  860. package/sdk/dist/svm/loader.js.map +1 -1
  861. package/sdk/dist/svm/recipes/index.d.ts +57 -4
  862. package/sdk/dist/svm/recipes/index.d.ts.map +1 -1
  863. package/sdk/dist/svm/recipes/index.js +7 -9
  864. package/sdk/dist/svm/recipes/index.js.map +1 -1
  865. package/sdk/dist/svm/venues/alphaq/index.d.ts.map +1 -1
  866. package/sdk/dist/svm/venues/alphaq/index.js +4 -2
  867. package/sdk/dist/svm/venues/alphaq/index.js.map +1 -1
  868. package/sdk/dist/svm/venues/binaryfi/index.d.ts.map +1 -1
  869. package/sdk/dist/svm/venues/binaryfi/index.js +2 -1
  870. package/sdk/dist/svm/venues/binaryfi/index.js.map +1 -1
  871. package/sdk/dist/svm/venues/fluxbeam/index.d.ts.map +1 -1
  872. package/sdk/dist/svm/venues/fluxbeam/index.js +2 -7
  873. package/sdk/dist/svm/venues/fluxbeam/index.js.map +1 -1
  874. package/sdk/dist/svm/venues/jupiter-lend-earn/index.d.ts.map +1 -1
  875. package/sdk/dist/svm/venues/jupiter-lend-earn/index.js +2 -1
  876. package/sdk/dist/svm/venues/jupiter-lend-earn/index.js.map +1 -1
  877. package/sdk/dist/svm/venues/kipseli/index.d.ts.map +1 -1
  878. package/sdk/dist/svm/venues/kipseli/index.js +31 -14
  879. package/sdk/dist/svm/venues/kipseli/index.js.map +1 -1
  880. package/sdk/dist/svm/venues/mercurial/index.d.ts.map +1 -1
  881. package/sdk/dist/svm/venues/mercurial/index.js +2 -7
  882. package/sdk/dist/svm/venues/mercurial/index.js.map +1 -1
  883. package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.d.ts.map +1 -1
  884. package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.js +3 -2
  885. package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.js.map +1 -1
  886. package/sdk/dist/svm/venues/mswap/index.d.ts.map +1 -1
  887. package/sdk/dist/svm/venues/mswap/index.js +2 -2
  888. package/sdk/dist/svm/venues/mswap/index.js.map +1 -1
  889. package/sdk/dist/svm/venues/orca-legacy-token-swap/index.d.ts.map +1 -1
  890. package/sdk/dist/svm/venues/orca-legacy-token-swap/index.js +2 -7
  891. package/sdk/dist/svm/venues/orca-legacy-token-swap/index.js.map +1 -1
  892. package/sdk/dist/svm/venues/saber-stableswap/index.d.ts.map +1 -1
  893. package/sdk/dist/svm/venues/saber-stableswap/index.js +2 -7
  894. package/sdk/dist/svm/venues/saber-stableswap/index.js.map +1 -1
  895. package/sdk/dist/svm/venues/sanctum-infinity/index.js +2 -2
  896. package/sdk/dist/svm/venues/sanctum-infinity/index.js.map +1 -1
  897. package/sdk/dist/svm/venues/sanctum-stake-pool/index.d.ts.map +1 -1
  898. package/sdk/dist/svm/venues/sanctum-stake-pool/index.js +2 -8
  899. package/sdk/dist/svm/venues/sanctum-stake-pool/index.js.map +1 -1
  900. package/sdk/dist/svm/venues/spl-token-swap-forks/index.d.ts.map +1 -1
  901. package/sdk/dist/svm/venues/spl-token-swap-forks/index.js +2 -7
  902. package/sdk/dist/svm/venues/spl-token-swap-forks/index.js.map +1 -1
  903. package/sdk/dist/svm/venues/stabble-common.d.ts.map +1 -1
  904. package/sdk/dist/svm/venues/stabble-common.js +3 -8
  905. package/sdk/dist/svm/venues/stabble-common.js.map +1 -1
  906. package/sdk/dist/svm/verify.d.ts.map +1 -1
  907. package/sdk/dist/svm/verify.js +1 -4
  908. package/sdk/dist/svm/verify.js.map +1 -1
  909. package/sdk/dist/swap/index.d.ts +4 -4
  910. package/sdk/dist/swap/index.d.ts.map +1 -1
  911. package/sdk/dist/swap/index.js +4 -4
  912. package/sdk/dist/swap/index.js.map +1 -1
  913. package/sdk/dist/swap/source.d.ts +0 -7
  914. package/sdk/dist/swap/source.d.ts.map +1 -1
  915. package/sdk/dist/swap/source.js +3 -11
  916. package/sdk/dist/swap/source.js.map +1 -1
  917. package/sdk/dist/token/api.d.ts +8 -9
  918. package/sdk/dist/token/api.d.ts.map +1 -1
  919. package/sdk/dist/token/api.js +4 -5
  920. package/sdk/dist/token/api.js.map +1 -1
  921. package/sdk/dist/token/evm.d.ts +5 -2
  922. package/sdk/dist/token/evm.d.ts.map +1 -1
  923. package/sdk/dist/token/evm.js +24 -13
  924. package/sdk/dist/token/evm.js.map +1 -1
  925. package/sdk/dist/token/index.d.ts +4 -4
  926. package/sdk/dist/token/index.js +4 -4
  927. package/sdk/dist/token/safe.d.ts +17 -0
  928. package/sdk/dist/token/safe.d.ts.map +1 -0
  929. package/sdk/dist/token/safe.js +211 -0
  930. package/sdk/dist/token/safe.js.map +1 -0
  931. package/sdk/dist/token/source.d.ts +0 -4
  932. package/sdk/dist/token/source.d.ts.map +1 -1
  933. package/sdk/dist/token/source.js +7 -10
  934. package/sdk/dist/token/source.js.map +1 -1
  935. package/sdk/dist/verify/decode.d.ts +6 -6
  936. package/sdk/dist/verify/decode.js +7 -7
  937. package/sdk/dist/verify/decode.js.map +1 -1
  938. package/sdk/dist/verify/index.js +2 -2
  939. package/sdk/dist/verify/intent.js +2 -2
  940. package/sdk/dist/verify/vectors.d.ts +1 -1
  941. package/sdk/dist/verify/vectors.d.ts.map +1 -1
  942. package/sdk/dist/verify/vectors.js +2 -2
  943. package/sdk/dist/verify/vectors.js.map +1 -1
  944. package/sdk/dist/verify/wire.d.ts +21 -4
  945. package/sdk/dist/verify/wire.d.ts.map +1 -1
  946. package/sdk/dist/verify/wire.js +21 -4
  947. package/sdk/dist/verify/wire.js.map +1 -1
  948. package/sdk/dist/wasm-compiler.d.ts +31 -0
  949. package/sdk/dist/wasm-compiler.d.ts.map +1 -0
  950. package/sdk/dist/wasm-compiler.js +52 -0
  951. package/sdk/dist/wasm-compiler.js.map +1 -0
  952. package/sdk/src/protocols/aave-v4/AaveV4HubABI.json +67 -0
  953. package/sdk/src/protocols/aave-v4/AaveV4SpokeABI.json +215 -0
  954. package/sdk/src/protocols/aave-v4/abis.ts +139 -0
  955. package/sdk/src/protocols/aave-v4/addresses.ts +66 -0
  956. package/sdk/src/protocols/aave-v4/functions.ts +39 -0
  957. package/sdk/src/protocols/aave-v4/index.ts +4 -0
  958. package/sdk/src/protocols/aave-v4/info.ts +14 -0
  959. package/sdk/src/protocols/across/AcrossHubPoolABI.json +2 -2
  960. package/sdk/src/protocols/across/AcrossSpokePoolABI.json +27 -11
  961. package/sdk/src/protocols/across/abis.ts +16 -8
  962. package/sdk/src/protocols/across/addresses.ts +10 -0
  963. package/sdk/src/protocols/across/functions.ts +2 -2
  964. package/sdk/src/protocols/aerodrome-slipstream/AeroMetarouterABI.json +24 -0
  965. package/sdk/src/protocols/aerodrome-slipstream/SlipstreamCLFactoryABI.json +58 -0
  966. package/sdk/src/protocols/aerodrome-slipstream/SlipstreamPositionManagerABI.json +77 -0
  967. package/sdk/src/protocols/aerodrome-slipstream/abis.ts +74 -0
  968. package/sdk/src/protocols/aerodrome-slipstream/addresses.ts +40 -0
  969. package/sdk/src/protocols/aerodrome-slipstream/functions.ts +8 -0
  970. package/sdk/src/protocols/aerodrome-slipstream/index.ts +4 -0
  971. package/sdk/src/protocols/aerodrome-slipstream/info.ts +14 -0
  972. package/sdk/src/protocols/aevo/DepositContractABI.json +23 -2
  973. package/sdk/src/protocols/aevo/abis.ts +10 -2
  974. package/sdk/src/protocols/aevo/functions.ts +2 -2
  975. package/sdk/src/protocols/alchemix/AlchemistABI.json +1 -1
  976. package/sdk/src/protocols/alchemix/abis.ts +1 -1
  977. package/sdk/src/protocols/ambient/CrocSwapDexABI.json +2 -2
  978. package/sdk/src/protocols/ambient/abis.ts +3 -2
  979. package/sdk/src/protocols/ambient/addresses.ts +2 -1
  980. package/sdk/src/protocols/arrakis/ArrakisRouterABI.json +5 -1
  981. package/sdk/src/protocols/arrakis/ArrakisVaultABI.json +0 -16
  982. package/sdk/src/protocols/arrakis/abis.ts +2 -11
  983. package/sdk/src/protocols/arrakis/functions.ts +2 -1
  984. package/sdk/src/protocols/axelar/AxelarITSABI.json +1 -1
  985. package/sdk/src/protocols/axelar/abis.ts +1 -1
  986. package/sdk/src/protocols/balancer-v2/BalancerV2VaultABI.json +7 -7
  987. package/sdk/src/protocols/balancer-v2/abis.ts +7 -7
  988. package/sdk/src/protocols/cbeth/CbETHABI.json +10 -1
  989. package/sdk/src/protocols/cbeth/abis.ts +6 -2
  990. package/sdk/src/protocols/cctp/TokenMessengerABI.json +30 -9
  991. package/sdk/src/protocols/cctp/abis.ts +3 -1
  992. package/sdk/src/protocols/cctp/addresses.ts +3 -0
  993. package/sdk/src/protocols/chainlink/AggregatorV3ABI.json +3 -3
  994. package/sdk/src/protocols/chainlink/FeedRegistryABI.json +3 -3
  995. package/sdk/src/protocols/chainlink/abis.ts +6 -6
  996. package/sdk/src/protocols/chainlink/addresses.ts +10 -0
  997. package/sdk/src/protocols/chainlink-ccip/CCIPRouterABI.json +1 -1
  998. package/sdk/src/protocols/chainlink-ccip/abis.ts +1 -1
  999. package/sdk/src/protocols/chainlink-ccip/addresses.ts +9 -0
  1000. package/sdk/src/protocols/circle-gateway/GatewayMinterABI.json +49 -0
  1001. package/sdk/src/protocols/circle-gateway/GatewayWalletABI.json +111 -0
  1002. package/sdk/src/protocols/circle-gateway/abis.ts +86 -0
  1003. package/sdk/src/protocols/circle-gateway/addresses.ts +39 -0
  1004. package/sdk/src/protocols/circle-gateway/functions.ts +28 -0
  1005. package/sdk/src/protocols/circle-gateway/index.ts +4 -0
  1006. package/sdk/src/protocols/circle-gateway/info.ts +14 -0
  1007. package/sdk/src/protocols/compound-v2/CErc20ABI.json +2 -2
  1008. package/sdk/src/protocols/compound-v2/abis.ts +2 -2
  1009. package/sdk/src/protocols/connext/EverclearSpokeABI.json +60 -6
  1010. package/sdk/src/protocols/connext/abis.ts +27 -5
  1011. package/sdk/src/protocols/connext/addresses.ts +1 -7
  1012. package/sdk/src/protocols/connext/functions.ts +3 -2
  1013. package/sdk/src/protocols/curve/CurveRouterNGABI.json +37 -0
  1014. package/sdk/src/protocols/curve/CurveStableSwapABI.json +7 -7
  1015. package/sdk/src/protocols/curve/CurveThreePoolABI.json +117 -0
  1016. package/sdk/src/protocols/curve/abis.ts +91 -7
  1017. package/sdk/src/protocols/debridge/DlnDestinationABI.json +7 -7
  1018. package/sdk/src/protocols/debridge/DlnSourceABI.json +1 -1
  1019. package/sdk/src/protocols/debridge/abis.ts +5 -5
  1020. package/sdk/src/protocols/debridge/addresses.ts +11 -0
  1021. package/sdk/src/protocols/eco-routes/abis.ts +633 -0
  1022. package/sdk/src/protocols/eco-routes/addresses.generated.ts +589 -0
  1023. package/sdk/src/protocols/eco-routes/addresses.ts +27 -0
  1024. package/sdk/src/protocols/eco-routes/functions.ts +45 -0
  1025. package/sdk/src/protocols/eco-routes/index.ts +5 -0
  1026. package/sdk/src/protocols/eco-routes/info.ts +14 -0
  1027. package/sdk/src/protocols/eco-routes/lookup.ts +215 -0
  1028. package/sdk/src/protocols/eigenlayer/DelegationManagerABI.json +2 -2
  1029. package/sdk/src/protocols/eigenlayer/StrategyManagerABI.json +2 -2
  1030. package/sdk/src/protocols/eigenlayer/abis.ts +5 -4
  1031. package/sdk/src/protocols/ens/ENSRegistryABI.json +4 -4
  1032. package/sdk/src/protocols/ens/abis.ts +4 -4
  1033. package/sdk/src/protocols/etherfi/WeETHABI.json +1 -1
  1034. package/sdk/src/protocols/etherfi/abis.ts +2 -1
  1035. package/sdk/src/protocols/euler-v2/EVCABI.json +2 -2
  1036. package/sdk/src/protocols/euler-v2/abis.ts +2 -2
  1037. package/sdk/src/protocols/fluid/FluidLendingABI.json +20 -37
  1038. package/sdk/src/protocols/fluid/FluidVaultABI.json +41 -0
  1039. package/sdk/src/protocols/fluid/abis.ts +41 -18
  1040. package/sdk/src/protocols/fluid/functions.ts +18 -16
  1041. package/sdk/src/protocols/gains-network/DiamondABI.json +49 -37
  1042. package/sdk/src/protocols/gains-network/abis.ts +26 -21
  1043. package/sdk/src/protocols/gains-network/functions.ts +6 -6
  1044. package/sdk/src/protocols/gamma/UniProxyLegacyABI.json +62 -0
  1045. package/sdk/src/protocols/gamma/abis.ts +31 -0
  1046. package/sdk/src/protocols/gamma/addresses.ts +2 -7
  1047. package/sdk/src/protocols/gamma/functions.ts +10 -0
  1048. package/sdk/src/protocols/gelato/GelatoAutomateABI.json +2 -2
  1049. package/sdk/src/protocols/gelato/abis.ts +2 -2
  1050. package/sdk/src/protocols/gmx-v1/PositionRouterABI.json +21 -3
  1051. package/sdk/src/protocols/gmx-v1/abis.ts +5 -3
  1052. package/sdk/src/protocols/gmx-v1/functions.ts +2 -2
  1053. package/sdk/src/protocols/gmx-v2/ExchangeRouterABI.json +13 -5
  1054. package/sdk/src/protocols/gmx-v2/abis.ts +7 -4
  1055. package/sdk/src/protocols/gmx-v2/addresses.ts +3 -1
  1056. package/sdk/src/protocols/gmx-v2/functions.ts +4 -2
  1057. package/sdk/src/protocols/harvest/VaultABI.json +12 -2
  1058. package/sdk/src/protocols/harvest/abis.ts +2 -2
  1059. package/sdk/src/protocols/hegic/HegicABI.json +6 -2
  1060. package/sdk/src/protocols/hegic/abis.ts +7 -2
  1061. package/sdk/src/protocols/hegic/addresses.ts +1 -0
  1062. package/sdk/src/protocols/hegic/functions.ts +3 -3
  1063. package/sdk/src/protocols/hop/addresses.ts +5 -2
  1064. package/sdk/src/protocols/hyperlane/HyperlaneMailboxABI.json +5 -5
  1065. package/sdk/src/protocols/hyperlane/abis.ts +5 -5
  1066. package/sdk/src/protocols/hyperlane/addresses.ts +9 -0
  1067. package/sdk/src/protocols/index.ts +13 -0
  1068. package/sdk/src/protocols/kim/KimRouterABI.json +8 -27
  1069. package/sdk/src/protocols/kim/abis.ts +6 -12
  1070. package/sdk/src/protocols/kim/functions.ts +3 -2
  1071. package/sdk/src/protocols/kyberswap/KyberSwapElasticRouterABI.json +1 -1
  1072. package/sdk/src/protocols/kyberswap/KyberSwapMetaAggregationRouterABI.json +52 -18
  1073. package/sdk/src/protocols/kyberswap/abis.ts +21 -8
  1074. package/sdk/src/protocols/kyberswap/addresses.ts +12 -2
  1075. package/sdk/src/protocols/kyberswap-aggregator/addresses.ts +12 -1
  1076. package/sdk/src/protocols/layerbank/LTokenABI.json +19 -29
  1077. package/sdk/src/protocols/layerbank/LayerBankCoreABI.json +87 -2
  1078. package/sdk/src/protocols/layerbank/abis.ts +69 -17
  1079. package/sdk/src/protocols/layerbank/addresses.ts +3 -1
  1080. package/sdk/src/protocols/layerbank/functions.ts +18 -16
  1081. package/sdk/src/protocols/layerzero/LayerZeroEndpointV2ABI.json +3 -3
  1082. package/sdk/src/protocols/layerzero/abis.ts +3 -3
  1083. package/sdk/src/protocols/layerzero/addresses.ts +11 -1
  1084. package/sdk/src/protocols/level-finance/LiquidityPoolABI.json +8 -0
  1085. package/sdk/src/protocols/level-finance/abis.ts +2 -0
  1086. package/sdk/src/protocols/level-finance/functions.ts +4 -4
  1087. package/sdk/src/protocols/lifi/LiFiDiamondABI.json +54 -4
  1088. package/sdk/src/protocols/lifi/abis.ts +24 -4
  1089. package/sdk/src/protocols/lifi/addresses.ts +9 -0
  1090. package/sdk/src/protocols/lifi/functions.ts +5 -2
  1091. package/sdk/src/protocols/liquity-v1/BorrowerOperationsABI.json +8 -0
  1092. package/sdk/src/protocols/liquity-v1/abis.ts +7 -1
  1093. package/sdk/src/protocols/liquity-v1/functions.ts +1 -1
  1094. package/sdk/src/protocols/mantle-meth/METHABI.json +0 -46
  1095. package/sdk/src/protocols/mantle-meth/METHStakingABI.json +50 -0
  1096. package/sdk/src/protocols/mantle-meth/abis.ts +23 -17
  1097. package/sdk/src/protocols/mantle-meth/addresses.ts +3 -0
  1098. package/sdk/src/protocols/mantle-meth/functions.ts +4 -4
  1099. package/sdk/src/protocols/maverick/MaverickV2FactoryABI.json +8 -0
  1100. package/sdk/src/protocols/maverick/MaverickV2RouterABI.json +4 -0
  1101. package/sdk/src/protocols/maverick/abis.ts +7 -1
  1102. package/sdk/src/protocols/morpho-blue/addresses.ts +10 -0
  1103. package/sdk/src/protocols/mux-protocol/LiquidityPoolABI.json +45 -11
  1104. package/sdk/src/protocols/mux-protocol/OrderBookABI.json +59 -17
  1105. package/sdk/src/protocols/mux-protocol/abis.ts +55 -22
  1106. package/sdk/src/protocols/mux-protocol/functions.ts +8 -8
  1107. package/sdk/src/protocols/olympus/StakingABI.json +8 -3
  1108. package/sdk/src/protocols/olympus/abis.ts +2 -2
  1109. package/sdk/src/protocols/oneinch/AggregationRouterV6ABI.json +5 -5
  1110. package/sdk/src/protocols/oneinch/abis.ts +5 -3
  1111. package/sdk/src/protocols/oneinch/functions.ts +2 -2
  1112. package/sdk/src/protocols/openocean/OpenOceanExchangeV2ABI.json +19 -1
  1113. package/sdk/src/protocols/openocean/abis.ts +11 -1
  1114. package/sdk/src/protocols/openocean/functions.ts +1 -1
  1115. package/sdk/src/protocols/opyn/ControllerABI.json +6 -1
  1116. package/sdk/src/protocols/opyn/abis.ts +1 -1
  1117. package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3FactoryABI.json +1 -1
  1118. package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3NFPMABI.json +3 -3
  1119. package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3SmartRouterABI.json +2 -2
  1120. package/sdk/src/protocols/pancakeswap-v3/abis.ts +6 -6
  1121. package/sdk/src/protocols/paraswap/AugustusV5ABI.json +1 -1
  1122. package/sdk/src/protocols/paraswap/abis.ts +1 -1
  1123. package/sdk/src/protocols/pendle/PendleRouterABI.json +392 -6
  1124. package/sdk/src/protocols/pendle/abis.ts +160 -6
  1125. package/sdk/src/protocols/permit2/Permit2ABI.json +1 -1
  1126. package/sdk/src/protocols/permit2/abis.ts +1 -1
  1127. package/sdk/src/protocols/permit2/addresses.ts +9 -0
  1128. package/sdk/src/protocols/perpetual-protocol/ClearingHouseABI.json +61 -49
  1129. package/sdk/src/protocols/perpetual-protocol/abis.ts +27 -14
  1130. package/sdk/src/protocols/premia/DiamondABI.json +24 -24
  1131. package/sdk/src/protocols/premia/abis.ts +20 -10
  1132. package/sdk/src/protocols/premia/addresses.ts +3 -8
  1133. package/sdk/src/protocols/premia/functions.ts +8 -8
  1134. package/sdk/src/protocols/pyth/PythOracleABI.json +3 -3
  1135. package/sdk/src/protocols/pyth/abis.ts +6 -3
  1136. package/sdk/src/protocols/reflexer/ETHJoinABI.json +5 -1
  1137. package/sdk/src/protocols/reflexer/SAFEEngineABI.json +4 -4
  1138. package/sdk/src/protocols/reflexer/abis.ts +10 -6
  1139. package/sdk/src/protocols/renzo/RestakeManagerABI.json +1 -1
  1140. package/sdk/src/protocols/renzo/abis.ts +1 -1
  1141. package/sdk/src/protocols/sablier/LockupLinearABI.json +2 -2
  1142. package/sdk/src/protocols/sablier/abis.ts +2 -2
  1143. package/sdk/src/protocols/safe/addresses.ts +10 -0
  1144. package/sdk/src/protocols/seaport/SeaportABI.json +87 -5
  1145. package/sdk/src/protocols/seaport/abis.ts +41 -5
  1146. package/sdk/src/protocols/seaport/addresses.ts +10 -0
  1147. package/sdk/src/protocols/seaport/functions.ts +1 -0
  1148. package/sdk/src/protocols/silo/SiloABI.json +4 -0
  1149. package/sdk/src/protocols/silo/abis.ts +4 -1
  1150. package/sdk/src/protocols/silo/addresses.ts +2 -1
  1151. package/sdk/src/protocols/silo/functions.ts +2 -1
  1152. package/sdk/src/protocols/socket/SocketGatewayABI.json +1 -17
  1153. package/sdk/src/protocols/socket/abis.ts +3 -11
  1154. package/sdk/src/protocols/socket/functions.ts +1 -1
  1155. package/sdk/src/protocols/spookyswap/addresses.ts +2 -1
  1156. package/sdk/src/protocols/squid/SquidRouterABI.json +42 -26
  1157. package/sdk/src/protocols/squid/abis.ts +19 -13
  1158. package/sdk/src/protocols/squid/functions.ts +2 -2
  1159. package/sdk/src/protocols/stargate/StargatePoolABI.json +31 -3
  1160. package/sdk/src/protocols/stargate/abis.ts +19 -3
  1161. package/sdk/src/protocols/superfluid/CFAForwarderABI.json +2 -2
  1162. package/sdk/src/protocols/superfluid/abis.ts +2 -2
  1163. package/sdk/src/protocols/sushiswap-v2/addresses.ts +2 -1
  1164. package/sdk/src/protocols/swell/RswETHABI.json +1 -6
  1165. package/sdk/src/protocols/swell/SwETHABI.json +1 -6
  1166. package/sdk/src/protocols/swell/abis.ts +4 -2
  1167. package/sdk/src/protocols/swell/functions.ts +4 -2
  1168. package/sdk/src/protocols/synapse/addresses.ts +2 -1
  1169. package/sdk/src/protocols/synthetix-v3/PerpsMarketProxyABI.json +54 -5
  1170. package/sdk/src/protocols/synthetix-v3/abis.ts +27 -5
  1171. package/sdk/src/protocols/synthetix-v3/addresses.ts +2 -1
  1172. package/sdk/src/protocols/synthra-v3/SynthraV3FactoryABI.json +54 -0
  1173. package/sdk/src/protocols/synthra-v3/SynthraV3NonfungiblePositionManagerABI.json +212 -0
  1174. package/sdk/src/protocols/synthra-v3/SynthraV3QuoterV2ABI.json +55 -0
  1175. package/sdk/src/protocols/synthra-v3/SynthraV3SwapRouter02ABI.json +168 -0
  1176. package/sdk/src/protocols/synthra-v3/abis.ts +244 -0
  1177. package/sdk/src/protocols/synthra-v3/addresses.ts +17 -0
  1178. package/sdk/src/protocols/synthra-v3/functions.ts +8 -0
  1179. package/sdk/src/protocols/synthra-v3/index.ts +4 -0
  1180. package/sdk/src/protocols/synthra-v3/info.ts +13 -0
  1181. package/sdk/src/protocols/thales/PositionalMarketABI.json +16 -0
  1182. package/sdk/src/protocols/thales/SpeedMarketsAMMABI.json +57 -22
  1183. package/sdk/src/protocols/thales/ThalesAMMABI.json +4 -11
  1184. package/sdk/src/protocols/thales/abis.ts +28 -11
  1185. package/sdk/src/protocols/thales/functions.ts +5 -6
  1186. package/sdk/src/protocols/thruster/ThrusterV3SwapRouterABI.json +1 -1
  1187. package/sdk/src/protocols/thruster/abis.ts +1 -1
  1188. package/sdk/src/protocols/trader-joe/LBRouterABI.json +3 -3
  1189. package/sdk/src/protocols/trader-joe/abis.ts +2 -2
  1190. package/sdk/src/protocols/uniswap-v2/addresses.ts +10 -0
  1191. package/sdk/src/protocols/uniswap-v3/UniswapV3FactoryABI.json +2 -2
  1192. package/sdk/src/protocols/uniswap-v3/UniswapV3NonfungiblePositionManagerABI.json +3 -3
  1193. package/sdk/src/protocols/uniswap-v3/UniswapV3QuoterV2ABI.json +1 -1
  1194. package/sdk/src/protocols/uniswap-v3/UniswapV3SwapRouter02ABI.json +168 -0
  1195. package/sdk/src/protocols/uniswap-v3/UniswapV3SwapRouterABI.json +2 -2
  1196. package/sdk/src/protocols/uniswap-v3/abis.ts +91 -8
  1197. package/sdk/src/protocols/uniswap-v3/addresses.ts +14 -0
  1198. package/sdk/src/protocols/uniswap-v4/UniswapV4PoolManagerABI.json +15 -15
  1199. package/sdk/src/protocols/uniswap-v4/UniswapV4UniversalRouterABI.json +16 -0
  1200. package/sdk/src/protocols/uniswap-v4/abis.ts +25 -15
  1201. package/sdk/src/protocols/uniswap-v4/addresses.ts +11 -0
  1202. package/sdk/src/protocols/unitflow-v3/UnitFlowV3FactoryABI.json +46 -0
  1203. package/sdk/src/protocols/unitflow-v3/UnitFlowV3QuoterABI.json +37 -0
  1204. package/sdk/src/protocols/unitflow-v3/UnitFlowV3RouterABI.json +67 -0
  1205. package/sdk/src/protocols/unitflow-v3/abis.ts +71 -0
  1206. package/sdk/src/protocols/unitflow-v3/addresses.ts +20 -0
  1207. package/sdk/src/protocols/unitflow-v3/functions.ts +8 -0
  1208. package/sdk/src/protocols/unitflow-v3/index.ts +4 -0
  1209. package/sdk/src/protocols/unitflow-v3/info.ts +14 -0
  1210. package/sdk/src/protocols/velodrome/addresses.ts +3 -1
  1211. package/sdk/src/protocols/venus/VBNBABI.json +86 -0
  1212. package/sdk/src/protocols/venus/VTokenABI.json +1 -1
  1213. package/sdk/src/protocols/venus/abis.ts +49 -1
  1214. package/sdk/src/protocols/vertex/ClearinghouseABI.json +20 -10
  1215. package/sdk/src/protocols/vertex/EndpointABI.json +1 -1
  1216. package/sdk/src/protocols/vertex/abis.ts +13 -4
  1217. package/sdk/src/protocols/wormhole/WormholeTokenBridgeABI.json +2 -2
  1218. package/sdk/src/protocols/wormhole/abis.ts +2 -2
  1219. package/sdk/src/protocols/wormhole/addresses.ts +9 -0
  1220. package/sdk/src/protocols/zerolend/addresses.ts +2 -1
  1221. package/sdk/src/protocols/zerox/addresses.ts +2 -1
  1222. package/sdk/src/protocols/zksync-bridge/ZkSyncDiamondProxyABI.json +1 -1
  1223. package/sdk/src/protocols/zksync-bridge/abis.ts +1 -1
  1224. package/sdk/src/skills/aave-v4.md +91 -0
  1225. package/sdk/src/skills/across.md +28 -10
  1226. package/sdk/src/skills/aerodrome-slipstream.md +57 -0
  1227. package/sdk/src/skills/aerodrome.md +1 -0
  1228. package/sdk/src/skills/aevo.md +12 -4
  1229. package/sdk/src/skills/ambient.md +2 -2
  1230. package/sdk/src/skills/arrakis.md +3 -3
  1231. package/sdk/src/skills/cbeth.md +2 -2
  1232. package/sdk/src/skills/chainlink-ccip.md +3 -2
  1233. package/sdk/src/skills/chainlink.md +1 -1
  1234. package/sdk/src/skills/circle-gateway.md +98 -0
  1235. package/sdk/src/skills/compound-v2.md +2 -2
  1236. package/sdk/src/skills/connext.md +8 -7
  1237. package/sdk/src/skills/curve.md +17 -2
  1238. package/sdk/src/skills/debridge.md +3 -2
  1239. package/sdk/src/skills/eigenlayer.md +1 -1
  1240. package/sdk/src/skills/etherfi.md +1 -1
  1241. package/sdk/src/skills/fluid.md +46 -39
  1242. package/sdk/src/skills/gains-network.md +13 -21
  1243. package/sdk/src/skills/gamma.md +12 -6
  1244. package/sdk/src/skills/gmx-v1.md +4 -2
  1245. package/sdk/src/skills/gmx-v2.md +6 -2
  1246. package/sdk/src/skills/harvest.md +2 -2
  1247. package/sdk/src/skills/hegic.md +9 -8
  1248. package/sdk/src/skills/hop.md +8 -8
  1249. package/sdk/src/skills/hyperlane.md +4 -3
  1250. package/sdk/src/skills/index.md +84 -77
  1251. package/sdk/src/skills/kim.md +11 -14
  1252. package/sdk/src/skills/kyberswap-aggregator.md +5 -3
  1253. package/sdk/src/skills/kyberswap.md +6 -6
  1254. package/sdk/src/skills/layerbank.md +41 -35
  1255. package/sdk/src/skills/layerzero.md +3 -2
  1256. package/sdk/src/skills/level-finance.md +6 -4
  1257. package/sdk/src/skills/lido.md +5 -5
  1258. package/sdk/src/skills/lifi.md +41 -23
  1259. package/sdk/src/skills/liquity-v1.md +6 -2
  1260. package/sdk/src/skills/loader.ts +15 -25
  1261. package/sdk/src/skills/mantle-meth.md +13 -5
  1262. package/sdk/src/skills/maverick.md +3 -3
  1263. package/sdk/src/skills/morpho-blue.md +1 -1
  1264. package/sdk/src/skills/mux-protocol.md +21 -17
  1265. package/sdk/src/skills/oneinch.md +4 -3
  1266. package/sdk/src/skills/openocean.md +2 -2
  1267. package/sdk/src/skills/opyn.md +1 -1
  1268. package/sdk/src/skills/permit2.md +1 -1
  1269. package/sdk/src/skills/perpetual-protocol.md +2 -2
  1270. package/sdk/src/skills/premia.md +21 -21
  1271. package/sdk/src/skills/reflexer.md +1 -1
  1272. package/sdk/src/skills/renzo.md +1 -1
  1273. package/sdk/src/skills/safe.md +1 -1
  1274. package/sdk/src/skills/seaport.md +3 -2
  1275. package/sdk/src/skills/silo.md +4 -3
  1276. package/sdk/src/skills/socket.md +4 -5
  1277. package/sdk/src/skills/spookyswap.md +2 -2
  1278. package/sdk/src/skills/squid.md +18 -10
  1279. package/sdk/src/skills/stargate.md +1 -1
  1280. package/sdk/src/skills/sushiswap-v2.md +1 -1
  1281. package/sdk/src/skills/swell.md +6 -4
  1282. package/sdk/src/skills/synapse.md +1 -1
  1283. package/sdk/src/skills/synthetix-v3.md +1 -1
  1284. package/sdk/src/skills/synthra-v3.md +57 -0
  1285. package/sdk/src/skills/thales.md +12 -10
  1286. package/sdk/src/skills/trader-joe.md +1 -1
  1287. package/sdk/src/skills/uniswap-v2.md +2 -1
  1288. package/sdk/src/skills/uniswap-v3.md +14 -4
  1289. package/sdk/src/skills/uniswap-v4.md +3 -1
  1290. package/sdk/src/skills/unitflow-v3.md +62 -0
  1291. package/sdk/src/skills/velodrome.md +2 -2
  1292. package/sdk/src/skills/venus.md +10 -2
  1293. package/sdk/src/skills/vertex.md +1 -1
  1294. package/sdk/src/skills/wormhole.md +1 -1
  1295. package/sdk/src/skills/zerolend.md +1 -1
  1296. package/sdk/src/skills/zerox.md +1 -1
  1297. package/sdk/src/skills/zksync-bridge.md +1 -1
  1298. package/actions/dist/megas-swap.d.ts +0 -97
  1299. package/actions/dist/megas-swap.d.ts.map +0 -1
  1300. package/actions/dist/megas-swap.js +0 -286
  1301. package/sdk/dist/routes/globals.generated.d.ts +0 -94
  1302. package/sdk/dist/routes/globals.generated.d.ts.map +0 -1
  1303. package/sdk/dist/routes/globals.generated.js +0 -2
  1304. package/sdk/dist/routes/globals.generated.js.map +0 -1
@@ -0,0 +1,615 @@
1
+ /**
2
+ * `Chain(() => { ... }).reward({ ... })` — creating an Eco intent from inside a Sauce program,
3
+ * with no import, no Portal, no selector and no approve written by hand.
4
+ *
5
+ * ```js
6
+ * function main() {
7
+ * const amount = USDC.balanceOf(ctx.self());
8
+ * Base(() => {
9
+ * USDC.transfer(RECIPIENT, amount);
10
+ * }).reward({ tokens: [{ token: USDC, amount }] });
11
+ * }
12
+ * ```
13
+ *
14
+ * WHAT THIS IS. A source rewrite, run before the compiler ever sees the program — the same class of
15
+ * thing as `token-rewrite.ts`'s `Token(x)` -> `IERC20.at(x)`, and for the same reason: the compiler
16
+ * has no notion of a closure, a chain, or an intent, and does not need one. By the time it runs, the
17
+ * expression above has become ordinary statements it already supports.
18
+ *
19
+ * WHAT `amount` IS. It is a local of the ENCLOSING program, whose value exists only while that
20
+ * program runs. So the child intent cannot be encoded with it — it is encoded with a sentinel in its
21
+ * place, cut there, and the program splices the local in at run time (`template.ts`). Every captured
22
+ * variable is one slot. This is the identical mechanism `nest-dynamic.ts` uses for a measured
23
+ * balance; a capture is just a value that arrives by a different route.
24
+ *
25
+ * WHAT IS LOWERED, AND WHAT IS REFUSED. Each statement of the closure becomes one entry in the
26
+ * child's `route.calls` — which is what an eco-routes route IS, a list of calls, so the mapping is
27
+ * the natural one rather than a convention. A statement that is not one call (a loop, a balance
28
+ * read, arithmetic) has no entry to become and is REFUSED, by name, pointing at the explicit
29
+ * compiled-program form. An identifier that is neither a compile-time value nor an enclosing local
30
+ * is refused the same way. Nothing here guesses: the failure mode this exists to avoid is a
31
+ * plausible-looking intent carrying a number nobody chose.
32
+ *
33
+ * WHERE THE ADDRESSES COME FROM. The Portal on each side, and the prover for the pair, are looked up
34
+ * in the SDK's eco-routes deployment registry (`protocols/eco-routes`). A caller supplies what has
35
+ * no correct default — deadlines, and a creator when the refund must not go to the executing Pot.
36
+ */
37
+ import { parse } from "acorn";
38
+ import { encodeFunctionData } from "viem";
39
+ import { ERC20ABI } from "../protocols/erc20/abis.js";
40
+ import { safeApproveStatements } from "../token/safe.js";
41
+ import { collectDeclaredNames, walk } from "./ast-walk.js";
42
+ import { denormalizeToEvm } from "./encode.js";
43
+ import { normalizeReward, normalizeRoute, toUniversalAddress } from "./normalize.js";
44
+ import { publishAndFundTx } from "./portal.js";
45
+ import { emitTemplate, splitByPlaceholders } from "./template.js";
46
+ /**
47
+ * One sentinel per captured variable.
48
+ *
49
+ * TWENTY bytes, not thirty-two, and that is the load-bearing detail: a capture can be an amount OR
50
+ * an address, and the same value has to be a legal argument in both positions when viem encodes the
51
+ * call. An address-shaped sentinel is legal as a `uint256` too, while the reverse is not. In the
52
+ * encoded payload it occupies a full left-padded word either way, which is exactly what
53
+ * `.toBytesBe(32)` splices back in.
54
+ *
55
+ * The `0x5acecab7` tag makes a stray one obvious in a trace and the trailing index keeps them
56
+ * distinct. `splitByPlaceholders` counts every occurrence, so a collision with a real value fails
57
+ * loudly rather than quietly overwriting a field.
58
+ */
59
+ const CAPTURE_TAG = "5acecab7";
60
+ /** The sentinel a captured value occupies in a CHILD PROGRAM's argument tail. A separate tag from
61
+ * the route-call one so the two can never be mistaken for each other in a payload carrying both. */
62
+ const CHILD_CAPTURE_TAG = "5aceb10c";
63
+ export const childCaptureSentinel = (index) => BigInt(`0x${CHILD_CAPTURE_TAG}${"00".repeat(14)}${index.toString(16).padStart(4, "0")}`);
64
+ const captureSentinel = (index) => BigInt(`0x${CAPTURE_TAG}${"00".repeat(14)}${index.toString(16).padStart(4, "0")}`);
65
+ class SugarError extends Error {
66
+ }
67
+ const fail = (message) => {
68
+ throw new SugarError(`intent sugar: ${message}`);
69
+ };
70
+ function literalOf(node) {
71
+ if (node.type === "Literal") {
72
+ const value = node.value;
73
+ if (typeof value === "bigint")
74
+ return value;
75
+ if (typeof value === "number" && Number.isSafeInteger(value))
76
+ return BigInt(value);
77
+ if (typeof value === "boolean")
78
+ return value ? 1n : 0n;
79
+ }
80
+ if (node.type === "UnaryExpression" && node.operator === "-") {
81
+ fail("a negative literal is not a valid address or amount");
82
+ }
83
+ return undefined;
84
+ }
85
+ function makeResolver(defines, outerLocals) {
86
+ return (node, what) => {
87
+ const direct = literalOf(node);
88
+ if (direct !== undefined)
89
+ return { literal: direct };
90
+ if (node.type === "Identifier") {
91
+ const name = node.name;
92
+ const define = defines.get(name);
93
+ if (define !== undefined)
94
+ return { literal: define };
95
+ if (outerLocals.has(name))
96
+ return { capture: name };
97
+ return fail(`${what} refers to '${name}', which is neither a compile-time value nor a variable of the ` +
98
+ `enclosing program. Declare it with \`const ${name} = ...\` before the intent, or supply ` +
99
+ `it as a compile-time define.`);
100
+ }
101
+ return fail(`${what} is a ${node.type}, which cannot be resolved when the intent is built. Use a literal, ` +
102
+ `a compile-time define, or a variable of the enclosing program.`);
103
+ };
104
+ }
105
+ /** Whether every statement is a plain token write, which lowers to direct `route.calls` entries and
106
+ * needs no program, no Pot and no Kitchen fee. Anything else — a swap, control flow, a nested
107
+ * intent — takes the general path. */
108
+ function isDirectCallBody(body, defines) {
109
+ return (body.length > 0 &&
110
+ body.every((statement) => {
111
+ try {
112
+ lowerStatement(statement, () => ({ literal: 0n }), defines);
113
+ return true;
114
+ }
115
+ catch {
116
+ return false;
117
+ }
118
+ }));
119
+ }
120
+ /** `USDC.transfer(to, amount)` or `Token(addr).transfer(to, amount)` -> one call. */
121
+ function lowerStatement(statement, resolve, defines) {
122
+ if (statement.type !== "ExpressionStatement") {
123
+ return fail(`a \`${statement.type}\` cannot become a route call. An intent's body is a list of calls, so ` +
124
+ `each statement must be one — for logic that runs on the destination, compile a program and ` +
125
+ `nest it instead.`);
126
+ }
127
+ const call = statement.expression;
128
+ if (call === undefined || call.type !== "CallExpression") {
129
+ return fail("every statement in an intent body must be a call");
130
+ }
131
+ const callee = call.callee;
132
+ if (callee === undefined || callee.type !== "MemberExpression") {
133
+ return fail("an intent body's call must name a token or contract method");
134
+ }
135
+ const property = callee.property;
136
+ const method = property?.type === "Identifier" ? property.name : "";
137
+ if (method === "reward") {
138
+ return fail("an intent cannot be opened inside another intent's body. The inner one would have to be " +
139
+ "published by the outer one's solver, on the destination chain, which is a second execution " +
140
+ 'rather than a call. Build the cascade with `.nest(child, { via: "dynamic" })` on the ' +
141
+ "TypeScript builder, which compiles a program for that second execution.");
142
+ }
143
+ if (method !== "transfer" && method !== "approve") {
144
+ return fail(`\`.${method || "?"}(...)\` is not a method this lowering knows. Supported today: ` +
145
+ `\`transfer\` and \`approve\` on a token.`);
146
+ }
147
+ const object = callee.object;
148
+ let target;
149
+ if (object.type === "Identifier") {
150
+ const name = object.name;
151
+ const address = defines.get(name);
152
+ if (address === undefined) {
153
+ return fail(`'${name}' is not a token this chain registers. Use a registered symbol, or ` +
154
+ `\`Token(address)\` with a literal or define.`);
155
+ }
156
+ target = address;
157
+ }
158
+ else if (object.type === "CallExpression" &&
159
+ object.callee?.type === "Identifier" &&
160
+ object.callee.name === "Token") {
161
+ const inner = (object.arguments ?? [])[0];
162
+ if (inner === undefined)
163
+ return fail("`Token()` needs an address");
164
+ const value = resolve(inner, "the token address");
165
+ if (!("literal" in value)) {
166
+ return fail("a token address must be known when the intent is built, not captured at run time");
167
+ }
168
+ target = value.literal;
169
+ }
170
+ else {
171
+ return fail("an intent body's call must be on a token symbol or `Token(address)`");
172
+ }
173
+ const args = (call.arguments ?? []).map((argument, i) => resolve(argument, `argument ${i + 1} of \`.${method}(...)\``));
174
+ if (args.length !== 2) {
175
+ return fail(`\`.${method}(...)\` takes two arguments, got ${args.length}`);
176
+ }
177
+ return { target, method, args };
178
+ }
179
+ /**
180
+ * The enclosing program's variables a closure body reads.
181
+ *
182
+ * Whole-program `outerLocals` minus everything the closure declares itself, minus names the
183
+ * destination resolves (tokens, protocols, `ctx`, `abi`…). Conservative in the safe direction: a
184
+ * name wrongly treated as a capture becomes an unused program parameter, while one wrongly left out
185
+ * becomes an undeclared variable the compiler rejects by name.
186
+ */
187
+ function collectCaptures(body, outerLocals, defines) {
188
+ const declared = new Set();
189
+ const read = [];
190
+ for (const statement of body) {
191
+ walk(statement, (node) => {
192
+ if (node.type === "VariableDeclarator") {
193
+ const id = node.id;
194
+ if (id?.type === "Identifier")
195
+ declared.add(id.name);
196
+ }
197
+ });
198
+ }
199
+ for (const statement of body) {
200
+ walk(statement, (node) => {
201
+ if (node.type !== "Identifier")
202
+ return;
203
+ const name = node.name;
204
+ if (declared.has(name) || defines.has(name))
205
+ return;
206
+ if (!outerLocals.has(name))
207
+ return;
208
+ if (!read.includes(name))
209
+ read.push(name);
210
+ });
211
+ }
212
+ return read;
213
+ }
214
+ /** Is this identifier a PROPERTY (`a.b`) rather than a value read? Those are never captures. */
215
+ function stripMemberProperties(body) {
216
+ const properties = new Set();
217
+ for (const statement of body) {
218
+ walk(statement, (node) => {
219
+ if (node.type !== "MemberExpression")
220
+ return;
221
+ if (node.computed === true)
222
+ return;
223
+ const property = node.property;
224
+ if (property?.type === "Identifier") {
225
+ properties.add(property.name);
226
+ }
227
+ });
228
+ }
229
+ return properties;
230
+ }
231
+ function lowerReward(node, resolve) {
232
+ if (node.type !== "ObjectExpression") {
233
+ return fail("`.reward(...)` takes an object, e.g. `{ tokens: [{ token: USDC, amount }] }`");
234
+ }
235
+ let tokens = [];
236
+ let nativeAmount;
237
+ for (const property of node.properties ?? []) {
238
+ const key = property.key;
239
+ const name = key?.type === "Identifier" ? key.name : "";
240
+ const value = property.value;
241
+ if (name === "tokens") {
242
+ if (value.type !== "ArrayExpression")
243
+ return fail("`reward.tokens` must be an array");
244
+ tokens = (value.elements ?? []).map((element) => {
245
+ if (element === null || element.type !== "ObjectExpression") {
246
+ return fail("each `reward.tokens` entry must be `{ token, amount }`");
247
+ }
248
+ let token;
249
+ let amount;
250
+ for (const field of element.properties ?? []) {
251
+ const fieldKey = field.key;
252
+ const fieldName = fieldKey?.type === "Identifier" ? fieldKey.name : "";
253
+ // `{ token: USDC, amount }` -- shorthand's value IS the identifier.
254
+ const fieldValue = field.value;
255
+ if (fieldName === "token") {
256
+ const resolved = resolve(fieldValue, "`reward.tokens[].token`");
257
+ if (!("literal" in resolved)) {
258
+ return fail("a reward token address must be known when the intent is built");
259
+ }
260
+ token = resolved.literal;
261
+ }
262
+ else if (fieldName === "amount") {
263
+ amount = resolve(fieldValue, "`reward.tokens[].amount`");
264
+ }
265
+ else {
266
+ return fail(`\`reward.tokens[].${fieldName}\` is not a field of a token amount`);
267
+ }
268
+ }
269
+ if (token === undefined || amount === undefined) {
270
+ return fail("each `reward.tokens` entry needs both `token` and `amount`");
271
+ }
272
+ return { token, amount };
273
+ });
274
+ }
275
+ else if (name === "nativeAmount") {
276
+ nativeAmount = resolve(value, "`reward.nativeAmount`");
277
+ }
278
+ else {
279
+ return fail(`\`reward.${name}\` is not settable here. Deadlines, creator and prover come from the ` +
280
+ `route's own options so every intent in a program agrees on them.`);
281
+ }
282
+ }
283
+ if (tokens.length === 0 && nativeAmount === undefined) {
284
+ return fail("`.reward(...)` must offer something — `tokens`, `nativeAmount`, or both");
285
+ }
286
+ return { tokens, nativeAmount };
287
+ }
288
+ /** `{ tokens: [{ token, amount }] }` — what the solver delivers to run the intent. Same shape as a
289
+ * reward leg, and deliberately the same parser, since the fields mean the same things. */
290
+ function lowerDelivery(node, resolve) {
291
+ if (node.type !== "ObjectExpression") {
292
+ return fail("an intent's second argument is `{ tokens: [{ token, amount }] }`");
293
+ }
294
+ const spec = lowerReward(node, resolve);
295
+ if (spec.nativeAmount !== undefined) {
296
+ return fail("`nativeAmount` belongs to the reward, not to what the solver delivers");
297
+ }
298
+ return spec.tokens;
299
+ }
300
+ function collectSites(program, context) {
301
+ const sites = [];
302
+ walk(program, (node) => {
303
+ if (node.type !== "CallExpression")
304
+ return;
305
+ const callee = node.callee;
306
+ if (callee?.type !== "MemberExpression")
307
+ return;
308
+ const property = callee.property;
309
+ if (property?.type !== "Identifier")
310
+ return;
311
+ if (property.name !== "reward")
312
+ return;
313
+ const opener = callee.object;
314
+ if (opener?.type !== "CallExpression")
315
+ return;
316
+ const chainNode = opener.callee;
317
+ if (chainNode?.type !== "Identifier")
318
+ return;
319
+ const chainName = chainNode.name;
320
+ const chain = context.chains.get(chainName);
321
+ if (chain === undefined)
322
+ return;
323
+ const openerArgs = opener.arguments ?? [];
324
+ const closure = openerArgs[0];
325
+ if (openerArgs.length < 1 ||
326
+ openerArgs.length > 2 ||
327
+ closure === undefined ||
328
+ closure.type !== "ArrowFunctionExpression") {
329
+ fail(`\`${chainName}(...)\` opens an intent: \`() => { ... }\`, optionally followed by ` +
330
+ `\`{ tokens: [...] }\` naming what the solver must deliver to run it.`);
331
+ }
332
+ if ((closure.params ?? []).length > 0) {
333
+ fail("an intent body takes no parameters — values come from the enclosing program");
334
+ }
335
+ const closureBody = closure.body;
336
+ if (closureBody.type !== "BlockStatement") {
337
+ fail("an intent body must be a block: `() => { ... }`");
338
+ }
339
+ const rewardArgs = node.arguments ?? [];
340
+ if (rewardArgs.length !== 1)
341
+ fail("`.reward(...)` takes exactly one argument");
342
+ // A site inside another site's closure is not its own site: the OUTER lowering walks that
343
+ // closure and reports it, with a message about nesting rather than about a stray `.reward`.
344
+ if (sites.some((s) => node.start > s.start && node.end < s.end))
345
+ return;
346
+ sites.push({
347
+ start: node.start,
348
+ end: node.end,
349
+ chain,
350
+ body: closureBody.body ?? [],
351
+ bodyStart: closureBody.start,
352
+ bodyEnd: closureBody.end,
353
+ reward: rewardArgs[0],
354
+ delivery: openerArgs[1],
355
+ });
356
+ });
357
+ return sites;
358
+ }
359
+ // ---------------------------------------------------------------------------
360
+ // The rewrite
361
+ // ---------------------------------------------------------------------------
362
+ const addressHex = (value) => `0x${value.toString(16).padStart(40, "0")}`;
363
+ /** Lowers every `Chain(() => { ... }).reward({ ... })` in `source`. Purely textual surgery driven by
364
+ * acorn ranges, so everything else survives byte for byte. */
365
+ export function rewriteIntentSugar(source, context) {
366
+ // Every route compile comes through here, and most programs have no sugar, so skip the parse
367
+ // when a site is impossible. A site is a call whose callee's property is the identifier
368
+ // `reward`, and an identifier appears in the text either literally or through a `\u` escape
369
+ // (`.\u0072eward(`). With neither in the source there is nothing to find, so this only ever
370
+ // skips a program `collectSites` would find nothing in. A syntax error in one is still reported:
371
+ // the token and protocol rewrites after this parse every program.
372
+ if (!source.includes("reward") && !source.includes("\\u")) {
373
+ return { source, rewrote: false, intents: [] };
374
+ }
375
+ const program = parse(source, {
376
+ ecmaVersion: "latest",
377
+ sourceType: "module",
378
+ });
379
+ const sites = collectSites(program, context);
380
+ if (sites.length === 0)
381
+ return { source, rewrote: false, intents: [] };
382
+ // Every name the program binds anywhere. A capture must be one of them, and the enclosing
383
+ // program's locals are what this set is -- deliberately whole-program rather than scope-accurate,
384
+ // matching `token-rewrite.ts`'s posture, because SauceScript shares scope across blocks anyway.
385
+ const outerLocals = collectDeclaredNames(program);
386
+ const intents = [];
387
+ const replacements = [];
388
+ sites.forEach((site, index) => {
389
+ const prefix = `i${index}_`;
390
+ const captures = [];
391
+ const placeholders = [];
392
+ /**
393
+ * A capture spliced into an ENCODED FIELD -- a route call's argument, a reward amount. One
394
+ * sentinel per variable, reused wherever that variable appears.
395
+ *
396
+ * Keyed by its own map rather than by `captures`, which is the reported list and also collects
397
+ * the program-argument captures below. Sharing one registry meant a variable already seen there
398
+ * returned its sentinel without ever registering a placeholder for it, and the sentinel shipped
399
+ * unspliced inside a real reward.
400
+ */
401
+ const routeCaptureIndex = new Map();
402
+ const sentinelFor = (value) => {
403
+ if ("literal" in value)
404
+ return value.literal;
405
+ let at = routeCaptureIndex.get(value.capture);
406
+ if (at === undefined) {
407
+ at = routeCaptureIndex.size;
408
+ routeCaptureIndex.set(value.capture, at);
409
+ placeholders.push({ value: captureSentinel(at), source: value.capture });
410
+ if (!captures.includes(value.capture))
411
+ captures.push(value.capture);
412
+ }
413
+ return captureSentinel(at);
414
+ };
415
+ // Resolved against the DESTINATION's registry: `USDC` in this closure is the destination's
416
+ // USDC, because that is the chain the calls run on.
417
+ const defines = context.definesFor(site.chain);
418
+ const resolve = makeResolver(defines, outerLocals);
419
+ /**
420
+ * What the solver delivers to the destination Executor so this intent can run.
421
+ *
422
+ * Distinct from the reward, which is what the solver COLLECTS on the source chain for doing it.
423
+ * Given explicitly as a second argument; for a body of plain token writes it is derived instead,
424
+ * because there it is not a judgement call — a `transfer` of N moves N, so N is what has to
425
+ * arrive. A program's needs cannot be read off its source, so the general path asks.
426
+ */
427
+ const explicitDelivery = site.delivery === undefined ? undefined : lowerDelivery(site.delivery, resolve);
428
+ // TWO SHAPES, chosen by what the closure actually contains.
429
+ //
430
+ // A body of nothing but token writes needs no program: each statement is already one route
431
+ // call, which is cheaper than a cook and needs neither a Pot nor a Kitchen fee. Anything else --
432
+ // a swap, a condition, a loop, an intent of its own -- is a program, compiled for the
433
+ // destination and run through its Pot. The second shape is strictly more general; the first is
434
+ // kept because it is free.
435
+ const simple = isDirectCallBody(site.body, defines);
436
+ // The Portal the child's route records. Resolved once, here, because it is also what the Pot's
437
+ // owner is derived from: a route recording one Portal is run by that Portal's Executor.
438
+ const destinationPortal = context.defaults.destinationPortal ?? context.portalOf(site.chain);
439
+ const derivedDelivery = [];
440
+ const calls = [];
441
+ const captureWords = [];
442
+ if (!simple) {
443
+ const properties = stripMemberProperties(site.body);
444
+ const captured = collectCaptures(site.body, outerLocals, defines).filter((name) => !properties.has(name));
445
+ // Captured values reach the program as ENTRY ARGUMENTS. They cannot be folded in: their
446
+ // values do not exist when it is compiled. Declared as `main`'s parameters, encoded
447
+ // compact-v1 at a declared width so the payload's length does not move with them, and spliced
448
+ // by the parent at a fixed offset -- which is the property `scalarWidth` exists for.
449
+ // UNTYPED parameters on purpose: the rewrite passes downstream are acorn-based and cannot
450
+ // parse an annotation. `rs-compile.ts#ensureTypedMainParams` adds them at the compile seam,
451
+ // after every rewrite has run -- the same staging `ensureVoidMain` already uses.
452
+ const childSource = `function main(${captured.join(", ")}) {\n${source.slice(site.bodyStart + 1, site.bodyEnd - 1)}\n}`;
453
+ const child = context.compileChild(site.chain, childSource, captured, destinationPortal);
454
+ captured.forEach((name, i) => {
455
+ captureWords.push({ name, sentinel: child.captureSentinels[i] });
456
+ });
457
+ // Delivered tokens land on the Executor; the program runs in the Pot, so move them first.
458
+ for (const token of explicitDelivery ?? []) {
459
+ calls.push({
460
+ target: addressHex(token.token),
461
+ data: encodeFunctionData({
462
+ abi: ERC20ABI,
463
+ functionName: "transfer",
464
+ args: [child.call.target, sentinelFor(token.amount)],
465
+ }),
466
+ value: 0n,
467
+ });
468
+ }
469
+ calls.push(child.call);
470
+ }
471
+ for (const statement of simple ? site.body : []) {
472
+ const lowered = lowerStatement(statement, resolve, defines);
473
+ // A `transfer` moves tokens the Executor must have been given; an `approve` moves nothing.
474
+ if (lowered.method === "transfer" && explicitDelivery === undefined) {
475
+ derivedDelivery.push({ token: lowered.target, amount: lowered.args[1] });
476
+ }
477
+ calls.push({
478
+ target: addressHex(lowered.target),
479
+ // Encoded by viem against the ERC-20 ABI, so the selector and the word layout are the
480
+ // encoder's rather than this file's. A captured argument goes in as its sentinel, which is
481
+ // address-shaped and therefore legal in either position.
482
+ data: encodeFunctionData({
483
+ abi: ERC20ABI,
484
+ functionName: lowered.method,
485
+ args: [addressHex(sentinelFor(lowered.args[0])), sentinelFor(lowered.args[1])],
486
+ }),
487
+ value: 0n,
488
+ });
489
+ }
490
+ // A capture the PROGRAM reads is a slot too: its sentinel sits in the argument tail of the cook
491
+ // calldata above, which the parent splices exactly as it splices a reward amount.
492
+ // A program capture gets its OWN placeholder even when the same variable is already spliced
493
+ // into a route call or the reward: the two sit at different offsets in the payload, under
494
+ // different sentinels, and both have to be filled. Skipping one because its NAME had been seen
495
+ // would leave a sentinel in the program's argument tail -- a child that runs with 0x5aceb10c…
496
+ // as its amount, which is exactly the silent-wrong-number failure this design exists to avoid.
497
+ for (const { name, sentinel } of captureWords) {
498
+ placeholders.push({ value: sentinel, source: name });
499
+ if (!captures.includes(name))
500
+ captures.push(name);
501
+ }
502
+ const reward = lowerReward(site.reward, resolve);
503
+ const { defaults } = context;
504
+ const rewardDeadline = defaults.rewardDeadline ?? requireDeadline(defaults);
505
+ const child = {
506
+ destination: BigInt(site.chain.id),
507
+ sourceChainId: BigInt(context.source.id),
508
+ route: normalizeRoute({
509
+ salt: defaults.salt,
510
+ deadline: requireDeadline(defaults),
511
+ portal: destinationPortal,
512
+ // Native the route's own calls need: the Kitchen fee, once per cook.
513
+ nativeAmount: calls.reduce((sum, call) => sum + call.value, 0n),
514
+ // What the SOLVER delivers to run this intent, which is a different thing from the reward
515
+ // it collects for doing so.
516
+ tokens: (explicitDelivery ?? derivedDelivery).map((t) => ({
517
+ token: addressHex(t.token),
518
+ amount: sentinelFor(t.amount),
519
+ })),
520
+ calls,
521
+ }),
522
+ reward: normalizeReward({
523
+ deadline: rewardDeadline,
524
+ // The executing Pot is the default refund recipient: the program funded this reward, so
525
+ // that is where an unclaimed one belongs unless the caller says otherwise.
526
+ creator: requireCreator(defaults),
527
+ prover: defaults.prover ?? context.proverFor(context.source, site.chain),
528
+ nativeAmount: reward.nativeAmount === undefined ? 0n : sentinelFor(reward.nativeAmount),
529
+ tokens: reward.tokens.map((t) => ({
530
+ token: addressHex(t.token),
531
+ amount: sentinelFor(t.amount),
532
+ })),
533
+ }),
534
+ };
535
+ const sourcePortal = defaults.sourcePortal ?? context.portalOf(context.source);
536
+ const tx = publishAndFundTx(child, defaults.allowPartial ?? false, { portal: sourcePortal });
537
+ const template = splitByPlaceholders(tx.data, placeholders);
538
+ // Every sentinel must have become a slot. `splitByPlaceholders` guarantees that for the ones it
539
+ // was TOLD about; this catches the other direction — a sentinel written into the payload whose
540
+ // placeholder was never declared, which leaves it in the literal segments and ships an intent
541
+ // carrying `0x5acecab7…` where an amount belongs. That happened once, silently, which is why it
542
+ // is checked rather than reasoned about.
543
+ for (const segment of template.segments) {
544
+ for (const tag of [CAPTURE_TAG, CHILD_CAPTURE_TAG]) {
545
+ if (segment.includes(tag)) {
546
+ throw new SugarError(`intent sugar: a capture sentinel (0x${tag}) survived into the encoded intent — some ` +
547
+ `captured value was written into the payload without a slot to fill it. This is a bug ` +
548
+ `in the lowering, not in the program.`);
549
+ }
550
+ }
551
+ }
552
+ const locals = Object.fromEntries(captures.map((name) => [name, name]));
553
+ const emitted = emitTemplate(template, { prefix, locals });
554
+ const statements = [...emitted.statements];
555
+ // One approve per distinct reward token, so the Portal can pull the escrow from this Pot.
556
+ // Through `token/safe.ts`: the ERC-20 ABI's `bool` return is decoded even when discarded and a
557
+ // token like USDT returns nothing, so the call goes out raw and the SafeERC20 check judges the
558
+ // result. That helper also resets a standing allowance first -- which matters here more than
559
+ // anywhere, because one Pot publishes every intent on this chain and the previous one's
560
+ // leftover allowance is exactly what USDT refuses to overwrite.
561
+ const portalWord = {
562
+ literal: BigInt(denormalizeToEvm(toUniversalAddress(sourcePortal))),
563
+ };
564
+ const approved = new Set();
565
+ reward.tokens.forEach((t, i) => {
566
+ const token = addressHex(t.token);
567
+ if (approved.has(token))
568
+ return;
569
+ approved.add(token);
570
+ const amount = "literal" in t.amount ? { literal: t.amount.literal } : { local: t.amount.capture };
571
+ statements.push(...safeApproveStatements(`${prefix}${i}`, `${BigInt(t.token)}n`, portalWord, amount));
572
+ });
573
+ statements.push(`evm.call(${BigInt(denormalizeToEvm(toUniversalAddress(sourcePortal)))}n, 0n, ${emitted.dataVar});`);
574
+ intents.push({ intent: child, captures, destination: site.chain });
575
+ replacements.push({
576
+ start: site.start,
577
+ end: site.end,
578
+ text: statements.join("\n").replace(/;$/, ""),
579
+ });
580
+ });
581
+ // Splice from the end backward so earlier offsets stay valid. Each site is an ExpressionStatement's
582
+ // expression, so the trailing `;` in the source terminates the last emitted statement.
583
+ let out = source;
584
+ for (const replacement of [...replacements].sort((a, b) => b.start - a.start)) {
585
+ out = out.slice(0, replacement.start) + replacement.text + out.slice(replacement.end);
586
+ }
587
+ return { source: out, rewrote: true, intents };
588
+ }
589
+ /**
590
+ * The reward's creator — who may reclaim it once `rewardDeadline` passes.
591
+ *
592
+ * There is no correct default. The executing Pot is the obvious candidate and is the wrong one: it
593
+ * is owned by the Portal's Executor, which every solver can drive, so a refund landing there is a
594
+ * refund anybody can take. `openRoute` fills this from the enclosing intent's own `creator`, which
595
+ * is both correct and invisible in the common case; a direct `compileSauceRoute` caller supplies it.
596
+ */
597
+ /** The route and reward deadlines. No default exists: too early and the intent is unfulfillable,
598
+ * too late and the reward is locked up. */
599
+ function requireDeadline(defaults) {
600
+ if (defaults.deadline === undefined) {
601
+ return fail("the intent needs a `deadline` — the absolute Unix second by which it must be fulfilled. Set " +
602
+ "`IntentOptions.deadline`, or `intents.deadline` in the compile options.");
603
+ }
604
+ return defaults.deadline;
605
+ }
606
+ function requireCreator(defaults) {
607
+ if (defaults.creator === undefined) {
608
+ return fail("the reward needs a `creator` — the address that can reclaim it after the deadline. It has no " +
609
+ "safe default: the executing Pot is driven by every solver, so a refund there is a refund " +
610
+ "anyone can take. Set `IntentOptions.creator`, or `intents.creator` in the compile options.");
611
+ }
612
+ return defaults.creator;
613
+ }
614
+ export { SugarError };
615
+ //# sourceMappingURL=intent-sugar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-sugar.js","sourceRoot":"","sources":["../../src/routes/intent-sugar.ts"],"names":[],"mappings":"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"}