@eco-incorp/sauce 0.99.4 → 0.99.6

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