@eco-incorp/sauce 0.99.4 → 0.99.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1302) hide show
  1. package/README.md +105 -63
  2. package/actions/action-program.schema.json +1810 -0
  3. package/actions/dist/abis.d.ts +167 -0
  4. package/actions/dist/abis.d.ts.map +1 -0
  5. package/actions/dist/abis.js +215 -0
  6. package/actions/dist/compile.d.ts +15 -8
  7. package/actions/dist/compile.d.ts.map +1 -1
  8. package/actions/dist/compile.js +11 -33
  9. package/actions/dist/compose.d.ts +46 -0
  10. package/actions/dist/compose.d.ts.map +1 -0
  11. package/actions/dist/compose.js +118 -0
  12. package/actions/dist/emit.d.ts +0 -35
  13. package/actions/dist/emit.d.ts.map +1 -1
  14. package/actions/dist/emit.js +15 -46
  15. package/actions/dist/index.d.ts +11 -8
  16. package/actions/dist/index.d.ts.map +1 -1
  17. package/actions/dist/index.js +6 -4
  18. package/actions/dist/program.d.ts +23 -0
  19. package/actions/dist/program.d.ts.map +1 -0
  20. package/actions/dist/program.js +358 -0
  21. package/actions/dist/registry.d.ts +37 -0
  22. package/actions/dist/registry.d.ts.map +1 -0
  23. package/actions/dist/registry.js +36 -0
  24. package/actions/dist/schema.d.ts +6 -0
  25. package/actions/dist/schema.d.ts.map +1 -0
  26. package/actions/dist/schema.js +166 -0
  27. package/actions/dist/semantics.d.ts +18 -0
  28. package/actions/dist/semantics.d.ts.map +1 -0
  29. package/actions/dist/semantics.js +164 -0
  30. package/actions/dist/spec.d.ts +97 -0
  31. package/actions/dist/spec.d.ts.map +1 -0
  32. package/actions/dist/spec.js +323 -0
  33. package/actions/dist/split-swap.d.ts +35 -0
  34. package/actions/dist/split-swap.d.ts.map +1 -0
  35. package/actions/dist/split-swap.js +175 -0
  36. package/actions/dist/to-quote.d.ts +32 -56
  37. package/actions/dist/to-quote.d.ts.map +1 -1
  38. package/actions/dist/to-quote.js +134 -141
  39. package/actions/dist/to-sauce.d.ts +48 -32
  40. package/actions/dist/to-sauce.d.ts.map +1 -1
  41. package/actions/dist/to-sauce.js +691 -753
  42. package/actions/dist/types.d.ts +227 -335
  43. package/actions/dist/types.d.ts.map +1 -1
  44. package/actions/dist/types.js +12 -3
  45. package/dev-tools/README.md +9 -9
  46. package/dev-tools/artifacts/ISauceRouter.json +1 -1
  47. package/dev-tools/artifacts/Router.json +1 -1
  48. package/dev-tools/scripts/start-fork.sh +1 -1
  49. package/dev-tools/scripts/start-local.sh +5 -1
  50. package/dev-tools/src/svm-local.ts +23 -13
  51. package/docs/README.md +45 -34
  52. package/docs/api/README.md +37 -29
  53. package/docs/api/compiler.md +116 -55
  54. package/docs/api/coverage.md +99 -48
  55. package/docs/api/routes.md +51 -22
  56. package/docs/concepts/architecture.md +83 -116
  57. package/docs/concepts/saucescript.md +27 -23
  58. package/docs/examples/README.md +18 -10
  59. package/docs/examples/action-program.ts +75 -0
  60. package/docs/examples/cross-chain-cascade.sauce.ts +21 -0
  61. package/docs/examples/cross-chain-cascade.ts +43 -0
  62. package/docs/examples/cross-chain-intent.sauce.ts +23 -0
  63. package/docs/examples/cross-chain-intent.ts +49 -0
  64. package/docs/examples/first-intent.ts +7 -10
  65. package/docs/examples/protocol-approval.ts +3 -7
  66. package/docs/guides/actions.md +395 -0
  67. package/docs/guides/builders-and-actions.md +31 -37
  68. package/docs/guides/compiling.md +97 -98
  69. package/docs/guides/intents.md +242 -24
  70. package/docs/guides/nested-intents.md +165 -5
  71. package/docs/guides/protocols-and-tokens.md +15 -7
  72. package/docs/guides/quick-start.md +51 -22
  73. package/docs/guides/solana.md +38 -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 +1 -1
  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/cctp/abis.d.ts +1 -4
  267. package/sdk/dist/protocols/cctp/abis.d.ts.map +1 -1
  268. package/sdk/dist/protocols/cctp/abis.js +3 -1
  269. package/sdk/dist/protocols/cctp/abis.js.map +1 -1
  270. package/sdk/dist/protocols/cctp/addresses.d.ts.map +1 -1
  271. package/sdk/dist/protocols/cctp/addresses.js +3 -0
  272. package/sdk/dist/protocols/cctp/addresses.js.map +1 -1
  273. package/sdk/dist/protocols/chainlink/abis.d.ts +6 -6
  274. package/sdk/dist/protocols/chainlink/abis.js +6 -6
  275. package/sdk/dist/protocols/chainlink/abis.js.map +1 -1
  276. package/sdk/dist/protocols/chainlink/addresses.d.ts.map +1 -1
  277. package/sdk/dist/protocols/chainlink/addresses.js +10 -0
  278. package/sdk/dist/protocols/chainlink/addresses.js.map +1 -1
  279. package/sdk/dist/protocols/chainlink-ccip/abis.d.ts +1 -1
  280. package/sdk/dist/protocols/chainlink-ccip/abis.js +1 -1
  281. package/sdk/dist/protocols/chainlink-ccip/addresses.d.ts.map +1 -1
  282. package/sdk/dist/protocols/chainlink-ccip/addresses.js +9 -0
  283. package/sdk/dist/protocols/chainlink-ccip/addresses.js.map +1 -1
  284. package/sdk/dist/protocols/circle-gateway/abis.d.ts +114 -0
  285. package/sdk/dist/protocols/circle-gateway/abis.d.ts.map +1 -0
  286. package/sdk/dist/protocols/circle-gateway/abis.js +86 -0
  287. package/sdk/dist/protocols/circle-gateway/abis.js.map +1 -0
  288. package/sdk/dist/protocols/circle-gateway/addresses.d.ts +3 -0
  289. package/sdk/dist/protocols/circle-gateway/addresses.d.ts.map +1 -0
  290. package/sdk/dist/protocols/circle-gateway/addresses.js +37 -0
  291. package/sdk/dist/protocols/circle-gateway/addresses.js.map +1 -0
  292. package/sdk/dist/protocols/circle-gateway/functions.d.ts +4 -0
  293. package/sdk/dist/protocols/circle-gateway/functions.d.ts.map +1 -0
  294. package/sdk/dist/protocols/circle-gateway/functions.js +27 -0
  295. package/sdk/dist/protocols/circle-gateway/functions.js.map +1 -0
  296. package/sdk/dist/protocols/circle-gateway/index.d.ts +5 -0
  297. package/sdk/dist/protocols/circle-gateway/index.d.ts.map +1 -0
  298. package/sdk/dist/protocols/circle-gateway/index.js +5 -0
  299. package/sdk/dist/protocols/circle-gateway/index.js.map +1 -0
  300. package/sdk/dist/protocols/circle-gateway/info.d.ts +3 -0
  301. package/sdk/dist/protocols/circle-gateway/info.d.ts.map +1 -0
  302. package/sdk/dist/protocols/circle-gateway/info.js +12 -0
  303. package/sdk/dist/protocols/circle-gateway/info.js.map +1 -0
  304. package/sdk/dist/protocols/compound-v2/abis.d.ts +2 -2
  305. package/sdk/dist/protocols/compound-v2/abis.js +2 -2
  306. package/sdk/dist/protocols/compound-v2/abis.js.map +1 -1
  307. package/sdk/dist/protocols/connext/abis.d.ts +46 -6
  308. package/sdk/dist/protocols/connext/abis.d.ts.map +1 -1
  309. package/sdk/dist/protocols/connext/abis.js +27 -5
  310. package/sdk/dist/protocols/connext/abis.js.map +1 -1
  311. package/sdk/dist/protocols/connext/addresses.d.ts.map +1 -1
  312. package/sdk/dist/protocols/connext/addresses.js +1 -7
  313. package/sdk/dist/protocols/connext/addresses.js.map +1 -1
  314. package/sdk/dist/protocols/connext/functions.d.ts +1 -1
  315. package/sdk/dist/protocols/connext/functions.d.ts.map +1 -1
  316. package/sdk/dist/protocols/connext/functions.js +3 -2
  317. package/sdk/dist/protocols/connext/functions.js.map +1 -1
  318. package/sdk/dist/protocols/curve/abis.d.ts +119 -7
  319. package/sdk/dist/protocols/curve/abis.d.ts.map +1 -1
  320. package/sdk/dist/protocols/curve/abis.js +90 -7
  321. package/sdk/dist/protocols/curve/abis.js.map +1 -1
  322. package/sdk/dist/protocols/debridge/abis.d.ts +7 -7
  323. package/sdk/dist/protocols/debridge/abis.js +5 -5
  324. package/sdk/dist/protocols/debridge/abis.js.map +1 -1
  325. package/sdk/dist/protocols/debridge/addresses.d.ts.map +1 -1
  326. package/sdk/dist/protocols/debridge/addresses.js +11 -0
  327. package/sdk/dist/protocols/debridge/addresses.js.map +1 -1
  328. package/sdk/dist/protocols/eco-routes/abis.d.ts +463 -0
  329. package/sdk/dist/protocols/eco-routes/abis.d.ts.map +1 -0
  330. package/sdk/dist/protocols/eco-routes/abis.js +632 -0
  331. package/sdk/dist/protocols/eco-routes/abis.js.map +1 -0
  332. package/sdk/dist/protocols/eco-routes/addresses.d.ts +9 -0
  333. package/sdk/dist/protocols/eco-routes/addresses.d.ts.map +1 -0
  334. package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts +585 -0
  335. package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts.map +1 -0
  336. package/sdk/dist/protocols/eco-routes/addresses.generated.js +590 -0
  337. package/sdk/dist/protocols/eco-routes/addresses.generated.js.map +1 -0
  338. package/sdk/dist/protocols/eco-routes/addresses.js +21 -0
  339. package/sdk/dist/protocols/eco-routes/addresses.js.map +1 -0
  340. package/sdk/dist/protocols/eco-routes/functions.d.ts +12 -0
  341. package/sdk/dist/protocols/eco-routes/functions.d.ts.map +1 -0
  342. package/sdk/dist/protocols/eco-routes/functions.js +45 -0
  343. package/sdk/dist/protocols/eco-routes/functions.js.map +1 -0
  344. package/sdk/dist/protocols/eco-routes/index.d.ts +6 -0
  345. package/sdk/dist/protocols/eco-routes/index.d.ts.map +1 -0
  346. package/sdk/dist/protocols/eco-routes/index.js +6 -0
  347. package/sdk/dist/protocols/eco-routes/index.js.map +1 -0
  348. package/sdk/dist/protocols/eco-routes/info.d.ts +3 -0
  349. package/sdk/dist/protocols/eco-routes/info.d.ts.map +1 -0
  350. package/sdk/dist/protocols/eco-routes/info.js +12 -0
  351. package/sdk/dist/protocols/eco-routes/info.js.map +1 -0
  352. package/sdk/dist/protocols/eco-routes/lookup.d.ts +82 -0
  353. package/sdk/dist/protocols/eco-routes/lookup.d.ts.map +1 -0
  354. package/sdk/dist/protocols/eco-routes/lookup.js +148 -0
  355. package/sdk/dist/protocols/eco-routes/lookup.js.map +1 -0
  356. package/sdk/dist/protocols/eigenlayer/abis.d.ts +4 -4
  357. package/sdk/dist/protocols/eigenlayer/abis.d.ts.map +1 -1
  358. package/sdk/dist/protocols/eigenlayer/abis.js +5 -4
  359. package/sdk/dist/protocols/eigenlayer/abis.js.map +1 -1
  360. package/sdk/dist/protocols/ens/abis.d.ts +4 -4
  361. package/sdk/dist/protocols/ens/abis.js +4 -4
  362. package/sdk/dist/protocols/etherfi/abis.d.ts +1 -1
  363. package/sdk/dist/protocols/etherfi/abis.d.ts.map +1 -1
  364. package/sdk/dist/protocols/etherfi/abis.js +2 -1
  365. package/sdk/dist/protocols/etherfi/abis.js.map +1 -1
  366. package/sdk/dist/protocols/euler-v2/abis.d.ts +2 -2
  367. package/sdk/dist/protocols/euler-v2/abis.js +2 -2
  368. package/sdk/dist/protocols/euler-v2/abis.js.map +1 -1
  369. package/sdk/dist/protocols/fluid/abis.d.ts +47 -26
  370. package/sdk/dist/protocols/fluid/abis.d.ts.map +1 -1
  371. package/sdk/dist/protocols/fluid/abis.js +39 -18
  372. package/sdk/dist/protocols/fluid/abis.js.map +1 -1
  373. package/sdk/dist/protocols/fluid/functions.d.ts +4 -4
  374. package/sdk/dist/protocols/fluid/functions.d.ts.map +1 -1
  375. package/sdk/dist/protocols/fluid/functions.js +18 -16
  376. package/sdk/dist/protocols/fluid/functions.js.map +1 -1
  377. package/sdk/dist/protocols/gains-network/abis.d.ts +44 -35
  378. package/sdk/dist/protocols/gains-network/abis.d.ts.map +1 -1
  379. package/sdk/dist/protocols/gains-network/abis.js +26 -21
  380. package/sdk/dist/protocols/gains-network/abis.js.map +1 -1
  381. package/sdk/dist/protocols/gains-network/functions.d.ts +3 -3
  382. package/sdk/dist/protocols/gains-network/functions.d.ts.map +1 -1
  383. package/sdk/dist/protocols/gains-network/functions.js +6 -6
  384. package/sdk/dist/protocols/gamma/abis.d.ts +43 -0
  385. package/sdk/dist/protocols/gamma/abis.d.ts.map +1 -1
  386. package/sdk/dist/protocols/gamma/abis.js +30 -0
  387. package/sdk/dist/protocols/gamma/abis.js.map +1 -1
  388. package/sdk/dist/protocols/gamma/addresses.d.ts.map +1 -1
  389. package/sdk/dist/protocols/gamma/addresses.js +2 -7
  390. package/sdk/dist/protocols/gamma/addresses.js.map +1 -1
  391. package/sdk/dist/protocols/gamma/functions.d.ts +1 -0
  392. package/sdk/dist/protocols/gamma/functions.d.ts.map +1 -1
  393. package/sdk/dist/protocols/gamma/functions.js +9 -0
  394. package/sdk/dist/protocols/gamma/functions.js.map +1 -1
  395. package/sdk/dist/protocols/gelato/abis.d.ts +2 -2
  396. package/sdk/dist/protocols/gelato/abis.js +2 -2
  397. package/sdk/dist/protocols/gmx-v1/abis.d.ts +15 -3
  398. package/sdk/dist/protocols/gmx-v1/abis.d.ts.map +1 -1
  399. package/sdk/dist/protocols/gmx-v1/abis.js +5 -3
  400. package/sdk/dist/protocols/gmx-v1/abis.js.map +1 -1
  401. package/sdk/dist/protocols/gmx-v1/functions.d.ts +2 -2
  402. package/sdk/dist/protocols/gmx-v1/functions.d.ts.map +1 -1
  403. package/sdk/dist/protocols/gmx-v1/functions.js +2 -2
  404. package/sdk/dist/protocols/gmx-v2/abis.d.ts +11 -5
  405. package/sdk/dist/protocols/gmx-v2/abis.d.ts.map +1 -1
  406. package/sdk/dist/protocols/gmx-v2/abis.js +7 -4
  407. package/sdk/dist/protocols/gmx-v2/abis.js.map +1 -1
  408. package/sdk/dist/protocols/gmx-v2/addresses.d.ts.map +1 -1
  409. package/sdk/dist/protocols/gmx-v2/addresses.js +3 -1
  410. package/sdk/dist/protocols/gmx-v2/addresses.js.map +1 -1
  411. package/sdk/dist/protocols/gmx-v2/functions.d.ts +1 -1
  412. package/sdk/dist/protocols/gmx-v2/functions.d.ts.map +1 -1
  413. package/sdk/dist/protocols/gmx-v2/functions.js +4 -2
  414. package/sdk/dist/protocols/gmx-v2/functions.js.map +1 -1
  415. package/sdk/dist/protocols/harvest/abis.d.ts +8 -2
  416. package/sdk/dist/protocols/harvest/abis.d.ts.map +1 -1
  417. package/sdk/dist/protocols/harvest/abis.js +2 -2
  418. package/sdk/dist/protocols/harvest/abis.js.map +1 -1
  419. package/sdk/dist/protocols/hegic/abis.d.ts +5 -2
  420. package/sdk/dist/protocols/hegic/abis.d.ts.map +1 -1
  421. package/sdk/dist/protocols/hegic/abis.js +7 -2
  422. package/sdk/dist/protocols/hegic/abis.js.map +1 -1
  423. package/sdk/dist/protocols/hegic/addresses.d.ts.map +1 -1
  424. package/sdk/dist/protocols/hegic/addresses.js +1 -0
  425. package/sdk/dist/protocols/hegic/addresses.js.map +1 -1
  426. package/sdk/dist/protocols/hegic/functions.d.ts +1 -1
  427. package/sdk/dist/protocols/hegic/functions.d.ts.map +1 -1
  428. package/sdk/dist/protocols/hegic/functions.js +3 -3
  429. package/sdk/dist/protocols/hop/addresses.d.ts.map +1 -1
  430. package/sdk/dist/protocols/hop/addresses.js +5 -2
  431. package/sdk/dist/protocols/hop/addresses.js.map +1 -1
  432. package/sdk/dist/protocols/hyperlane/abis.d.ts +5 -5
  433. package/sdk/dist/protocols/hyperlane/abis.js +5 -5
  434. package/sdk/dist/protocols/hyperlane/abis.js.map +1 -1
  435. package/sdk/dist/protocols/hyperlane/addresses.d.ts.map +1 -1
  436. package/sdk/dist/protocols/hyperlane/addresses.js +9 -0
  437. package/sdk/dist/protocols/hyperlane/addresses.js.map +1 -1
  438. package/sdk/dist/protocols/index.d.ts +1 -0
  439. package/sdk/dist/protocols/index.d.ts.map +1 -1
  440. package/sdk/dist/protocols/index.js +13 -0
  441. package/sdk/dist/protocols/index.js.map +1 -1
  442. package/sdk/dist/protocols/kim/abis.d.ts +7 -20
  443. package/sdk/dist/protocols/kim/abis.d.ts.map +1 -1
  444. package/sdk/dist/protocols/kim/abis.js +6 -12
  445. package/sdk/dist/protocols/kim/abis.js.map +1 -1
  446. package/sdk/dist/protocols/kim/functions.d.ts +1 -1
  447. package/sdk/dist/protocols/kim/functions.d.ts.map +1 -1
  448. package/sdk/dist/protocols/kim/functions.js +3 -2
  449. package/sdk/dist/protocols/kim/functions.js.map +1 -1
  450. package/sdk/dist/protocols/kyberswap/abis.d.ts +41 -16
  451. package/sdk/dist/protocols/kyberswap/abis.d.ts.map +1 -1
  452. package/sdk/dist/protocols/kyberswap/abis.js +21 -8
  453. package/sdk/dist/protocols/kyberswap/abis.js.map +1 -1
  454. package/sdk/dist/protocols/kyberswap/addresses.d.ts.map +1 -1
  455. package/sdk/dist/protocols/kyberswap/addresses.js +12 -2
  456. package/sdk/dist/protocols/kyberswap/addresses.js.map +1 -1
  457. package/sdk/dist/protocols/kyberswap-aggregator/addresses.d.ts.map +1 -1
  458. package/sdk/dist/protocols/kyberswap-aggregator/addresses.js +12 -1
  459. package/sdk/dist/protocols/kyberswap-aggregator/addresses.js.map +1 -1
  460. package/sdk/dist/protocols/layerbank/abis.d.ts +81 -24
  461. package/sdk/dist/protocols/layerbank/abis.d.ts.map +1 -1
  462. package/sdk/dist/protocols/layerbank/abis.js +69 -17
  463. package/sdk/dist/protocols/layerbank/abis.js.map +1 -1
  464. package/sdk/dist/protocols/layerbank/addresses.d.ts.map +1 -1
  465. package/sdk/dist/protocols/layerbank/addresses.js +3 -1
  466. package/sdk/dist/protocols/layerbank/addresses.js.map +1 -1
  467. package/sdk/dist/protocols/layerbank/functions.d.ts +4 -4
  468. package/sdk/dist/protocols/layerbank/functions.d.ts.map +1 -1
  469. package/sdk/dist/protocols/layerbank/functions.js +18 -16
  470. package/sdk/dist/protocols/layerbank/functions.js.map +1 -1
  471. package/sdk/dist/protocols/layerzero/abis.d.ts +3 -3
  472. package/sdk/dist/protocols/layerzero/abis.js +3 -3
  473. package/sdk/dist/protocols/layerzero/addresses.d.ts.map +1 -1
  474. package/sdk/dist/protocols/layerzero/addresses.js +11 -1
  475. package/sdk/dist/protocols/layerzero/addresses.js.map +1 -1
  476. package/sdk/dist/protocols/level-finance/abis.d.ts +6 -0
  477. package/sdk/dist/protocols/level-finance/abis.d.ts.map +1 -1
  478. package/sdk/dist/protocols/level-finance/abis.js +2 -0
  479. package/sdk/dist/protocols/level-finance/abis.js.map +1 -1
  480. package/sdk/dist/protocols/level-finance/functions.d.ts +2 -2
  481. package/sdk/dist/protocols/level-finance/functions.d.ts.map +1 -1
  482. package/sdk/dist/protocols/level-finance/functions.js +4 -4
  483. package/sdk/dist/protocols/lifi/abis.d.ts +41 -4
  484. package/sdk/dist/protocols/lifi/abis.d.ts.map +1 -1
  485. package/sdk/dist/protocols/lifi/abis.js +24 -4
  486. package/sdk/dist/protocols/lifi/abis.js.map +1 -1
  487. package/sdk/dist/protocols/lifi/addresses.d.ts.map +1 -1
  488. package/sdk/dist/protocols/lifi/addresses.js +9 -0
  489. package/sdk/dist/protocols/lifi/addresses.js.map +1 -1
  490. package/sdk/dist/protocols/lifi/functions.d.ts +1 -1
  491. package/sdk/dist/protocols/lifi/functions.d.ts.map +1 -1
  492. package/sdk/dist/protocols/lifi/functions.js +5 -2
  493. package/sdk/dist/protocols/lifi/functions.js.map +1 -1
  494. package/sdk/dist/protocols/liquity-v1/abis.d.ts +6 -0
  495. package/sdk/dist/protocols/liquity-v1/abis.d.ts.map +1 -1
  496. package/sdk/dist/protocols/liquity-v1/abis.js +7 -1
  497. package/sdk/dist/protocols/liquity-v1/abis.js.map +1 -1
  498. package/sdk/dist/protocols/liquity-v1/functions.d.ts +1 -1
  499. package/sdk/dist/protocols/liquity-v1/functions.d.ts.map +1 -1
  500. package/sdk/dist/protocols/liquity-v1/functions.js +1 -1
  501. package/sdk/dist/protocols/mantle-meth/abis.d.ts +26 -25
  502. package/sdk/dist/protocols/mantle-meth/abis.d.ts.map +1 -1
  503. package/sdk/dist/protocols/mantle-meth/abis.js +22 -17
  504. package/sdk/dist/protocols/mantle-meth/abis.js.map +1 -1
  505. package/sdk/dist/protocols/mantle-meth/addresses.d.ts.map +1 -1
  506. package/sdk/dist/protocols/mantle-meth/addresses.js +3 -0
  507. package/sdk/dist/protocols/mantle-meth/addresses.js.map +1 -1
  508. package/sdk/dist/protocols/mantle-meth/functions.d.ts +1 -1
  509. package/sdk/dist/protocols/mantle-meth/functions.d.ts.map +1 -1
  510. package/sdk/dist/protocols/mantle-meth/functions.js +4 -4
  511. package/sdk/dist/protocols/maverick/abis.d.ts +9 -0
  512. package/sdk/dist/protocols/maverick/abis.d.ts.map +1 -1
  513. package/sdk/dist/protocols/maverick/abis.js +7 -1
  514. package/sdk/dist/protocols/maverick/abis.js.map +1 -1
  515. package/sdk/dist/protocols/morpho-blue/addresses.d.ts.map +1 -1
  516. package/sdk/dist/protocols/morpho-blue/addresses.js +10 -0
  517. package/sdk/dist/protocols/morpho-blue/addresses.js.map +1 -1
  518. package/sdk/dist/protocols/mux-protocol/abis.d.ts +87 -32
  519. package/sdk/dist/protocols/mux-protocol/abis.d.ts.map +1 -1
  520. package/sdk/dist/protocols/mux-protocol/abis.js +54 -21
  521. package/sdk/dist/protocols/mux-protocol/abis.js.map +1 -1
  522. package/sdk/dist/protocols/mux-protocol/functions.d.ts +2 -2
  523. package/sdk/dist/protocols/mux-protocol/functions.d.ts.map +1 -1
  524. package/sdk/dist/protocols/mux-protocol/functions.js +8 -8
  525. package/sdk/dist/protocols/olympus/abis.d.ts +5 -2
  526. package/sdk/dist/protocols/olympus/abis.d.ts.map +1 -1
  527. package/sdk/dist/protocols/olympus/abis.js +2 -2
  528. package/sdk/dist/protocols/olympus/abis.js.map +1 -1
  529. package/sdk/dist/protocols/oneinch/abis.d.ts +5 -5
  530. package/sdk/dist/protocols/oneinch/abis.d.ts.map +1 -1
  531. package/sdk/dist/protocols/oneinch/abis.js +5 -3
  532. package/sdk/dist/protocols/oneinch/abis.js.map +1 -1
  533. package/sdk/dist/protocols/oneinch/functions.d.ts +1 -1
  534. package/sdk/dist/protocols/oneinch/functions.d.ts.map +1 -1
  535. package/sdk/dist/protocols/oneinch/functions.js +2 -2
  536. package/sdk/dist/protocols/openocean/abis.d.ts +14 -1
  537. package/sdk/dist/protocols/openocean/abis.d.ts.map +1 -1
  538. package/sdk/dist/protocols/openocean/abis.js +11 -1
  539. package/sdk/dist/protocols/openocean/abis.js.map +1 -1
  540. package/sdk/dist/protocols/openocean/functions.d.ts +1 -1
  541. package/sdk/dist/protocols/openocean/functions.d.ts.map +1 -1
  542. package/sdk/dist/protocols/openocean/functions.js +1 -1
  543. package/sdk/dist/protocols/opyn/abis.d.ts +4 -1
  544. package/sdk/dist/protocols/opyn/abis.d.ts.map +1 -1
  545. package/sdk/dist/protocols/opyn/abis.js +1 -1
  546. package/sdk/dist/protocols/opyn/abis.js.map +1 -1
  547. package/sdk/dist/protocols/pancakeswap-v3/abis.d.ts +6 -6
  548. package/sdk/dist/protocols/pancakeswap-v3/abis.js +6 -6
  549. package/sdk/dist/protocols/pancakeswap-v3/abis.js.map +1 -1
  550. package/sdk/dist/protocols/paraswap/abis.d.ts +1 -1
  551. package/sdk/dist/protocols/paraswap/abis.js +1 -1
  552. package/sdk/dist/protocols/pendle/abis.d.ts +288 -6
  553. package/sdk/dist/protocols/pendle/abis.d.ts.map +1 -1
  554. package/sdk/dist/protocols/pendle/abis.js +160 -6
  555. package/sdk/dist/protocols/pendle/abis.js.map +1 -1
  556. package/sdk/dist/protocols/permit2/abis.d.ts +1 -1
  557. package/sdk/dist/protocols/permit2/abis.js +1 -1
  558. package/sdk/dist/protocols/permit2/addresses.d.ts.map +1 -1
  559. package/sdk/dist/protocols/permit2/addresses.js +9 -0
  560. package/sdk/dist/protocols/permit2/addresses.js.map +1 -1
  561. package/sdk/dist/protocols/perpetual-protocol/abis.d.ts +46 -38
  562. package/sdk/dist/protocols/perpetual-protocol/abis.d.ts.map +1 -1
  563. package/sdk/dist/protocols/perpetual-protocol/abis.js +27 -14
  564. package/sdk/dist/protocols/perpetual-protocol/abis.js.map +1 -1
  565. package/sdk/dist/protocols/premia/abis.d.ts +18 -17
  566. package/sdk/dist/protocols/premia/abis.d.ts.map +1 -1
  567. package/sdk/dist/protocols/premia/abis.js +20 -10
  568. package/sdk/dist/protocols/premia/abis.js.map +1 -1
  569. package/sdk/dist/protocols/premia/addresses.d.ts.map +1 -1
  570. package/sdk/dist/protocols/premia/addresses.js +3 -8
  571. package/sdk/dist/protocols/premia/addresses.js.map +1 -1
  572. package/sdk/dist/protocols/premia/functions.d.ts +2 -2
  573. package/sdk/dist/protocols/premia/functions.d.ts.map +1 -1
  574. package/sdk/dist/protocols/premia/functions.js +8 -8
  575. package/sdk/dist/protocols/pyth/abis.d.ts +3 -3
  576. package/sdk/dist/protocols/pyth/abis.d.ts.map +1 -1
  577. package/sdk/dist/protocols/pyth/abis.js +6 -3
  578. package/sdk/dist/protocols/pyth/abis.js.map +1 -1
  579. package/sdk/dist/protocols/reflexer/abis.d.ts +8 -5
  580. package/sdk/dist/protocols/reflexer/abis.d.ts.map +1 -1
  581. package/sdk/dist/protocols/reflexer/abis.js +10 -6
  582. package/sdk/dist/protocols/reflexer/abis.js.map +1 -1
  583. package/sdk/dist/protocols/renzo/abis.d.ts +1 -1
  584. package/sdk/dist/protocols/renzo/abis.js +1 -1
  585. package/sdk/dist/protocols/renzo/abis.js.map +1 -1
  586. package/sdk/dist/protocols/sablier/abis.d.ts +2 -2
  587. package/sdk/dist/protocols/sablier/abis.js +2 -2
  588. package/sdk/dist/protocols/safe/addresses.d.ts.map +1 -1
  589. package/sdk/dist/protocols/safe/addresses.js +10 -0
  590. package/sdk/dist/protocols/safe/addresses.js.map +1 -1
  591. package/sdk/dist/protocols/seaport/abis.d.ts +65 -5
  592. package/sdk/dist/protocols/seaport/abis.d.ts.map +1 -1
  593. package/sdk/dist/protocols/seaport/abis.js +41 -5
  594. package/sdk/dist/protocols/seaport/abis.js.map +1 -1
  595. package/sdk/dist/protocols/seaport/addresses.d.ts.map +1 -1
  596. package/sdk/dist/protocols/seaport/addresses.js +10 -0
  597. package/sdk/dist/protocols/seaport/addresses.js.map +1 -1
  598. package/sdk/dist/protocols/seaport/functions.d.ts +1 -1
  599. package/sdk/dist/protocols/seaport/functions.d.ts.map +1 -1
  600. package/sdk/dist/protocols/seaport/functions.js +1 -0
  601. package/sdk/dist/protocols/seaport/functions.js.map +1 -1
  602. package/sdk/dist/protocols/silo/abis.d.ts +3 -0
  603. package/sdk/dist/protocols/silo/abis.d.ts.map +1 -1
  604. package/sdk/dist/protocols/silo/abis.js +4 -1
  605. package/sdk/dist/protocols/silo/abis.js.map +1 -1
  606. package/sdk/dist/protocols/silo/addresses.d.ts.map +1 -1
  607. package/sdk/dist/protocols/silo/addresses.js +2 -1
  608. package/sdk/dist/protocols/silo/addresses.js.map +1 -1
  609. package/sdk/dist/protocols/silo/functions.d.ts +1 -1
  610. package/sdk/dist/protocols/silo/functions.d.ts.map +1 -1
  611. package/sdk/dist/protocols/silo/functions.js +2 -1
  612. package/sdk/dist/protocols/silo/functions.js.map +1 -1
  613. package/sdk/dist/protocols/socket/abis.d.ts +1 -13
  614. package/sdk/dist/protocols/socket/abis.d.ts.map +1 -1
  615. package/sdk/dist/protocols/socket/abis.js +3 -11
  616. package/sdk/dist/protocols/socket/abis.js.map +1 -1
  617. package/sdk/dist/protocols/socket/functions.d.ts +1 -1
  618. package/sdk/dist/protocols/socket/functions.d.ts.map +1 -1
  619. package/sdk/dist/protocols/socket/functions.js +1 -1
  620. package/sdk/dist/protocols/spookyswap/addresses.d.ts.map +1 -1
  621. package/sdk/dist/protocols/spookyswap/addresses.js +2 -1
  622. package/sdk/dist/protocols/spookyswap/addresses.js.map +1 -1
  623. package/sdk/dist/protocols/squid/abis.d.ts +33 -21
  624. package/sdk/dist/protocols/squid/abis.d.ts.map +1 -1
  625. package/sdk/dist/protocols/squid/abis.js +19 -13
  626. package/sdk/dist/protocols/squid/abis.js.map +1 -1
  627. package/sdk/dist/protocols/squid/functions.d.ts +1 -1
  628. package/sdk/dist/protocols/squid/functions.d.ts.map +1 -1
  629. package/sdk/dist/protocols/squid/functions.js +2 -2
  630. package/sdk/dist/protocols/stargate/abis.d.ts +23 -3
  631. package/sdk/dist/protocols/stargate/abis.d.ts.map +1 -1
  632. package/sdk/dist/protocols/stargate/abis.js +19 -3
  633. package/sdk/dist/protocols/stargate/abis.js.map +1 -1
  634. package/sdk/dist/protocols/superfluid/abis.d.ts +2 -2
  635. package/sdk/dist/protocols/superfluid/abis.js +2 -2
  636. package/sdk/dist/protocols/superfluid/abis.js.map +1 -1
  637. package/sdk/dist/protocols/sushiswap-v2/addresses.d.ts.map +1 -1
  638. package/sdk/dist/protocols/sushiswap-v2/addresses.js +2 -1
  639. package/sdk/dist/protocols/sushiswap-v2/addresses.js.map +1 -1
  640. package/sdk/dist/protocols/swell/abis.d.ts +2 -8
  641. package/sdk/dist/protocols/swell/abis.d.ts.map +1 -1
  642. package/sdk/dist/protocols/swell/abis.js +4 -2
  643. package/sdk/dist/protocols/swell/abis.js.map +1 -1
  644. package/sdk/dist/protocols/swell/functions.d.ts +2 -2
  645. package/sdk/dist/protocols/swell/functions.d.ts.map +1 -1
  646. package/sdk/dist/protocols/swell/functions.js +4 -2
  647. package/sdk/dist/protocols/swell/functions.js.map +1 -1
  648. package/sdk/dist/protocols/synapse/addresses.d.ts.map +1 -1
  649. package/sdk/dist/protocols/synapse/addresses.js +2 -1
  650. package/sdk/dist/protocols/synapse/addresses.js.map +1 -1
  651. package/sdk/dist/protocols/synthetix-v3/abis.d.ts +40 -5
  652. package/sdk/dist/protocols/synthetix-v3/abis.d.ts.map +1 -1
  653. package/sdk/dist/protocols/synthetix-v3/abis.js +27 -5
  654. package/sdk/dist/protocols/synthetix-v3/abis.js.map +1 -1
  655. package/sdk/dist/protocols/synthetix-v3/addresses.d.ts.map +1 -1
  656. package/sdk/dist/protocols/synthetix-v3/addresses.js +2 -1
  657. package/sdk/dist/protocols/synthetix-v3/addresses.js.map +1 -1
  658. package/sdk/dist/protocols/synthra-v3/abis.d.ts +347 -0
  659. package/sdk/dist/protocols/synthra-v3/abis.d.ts.map +1 -0
  660. package/sdk/dist/protocols/synthra-v3/abis.js +242 -0
  661. package/sdk/dist/protocols/synthra-v3/abis.js.map +1 -0
  662. package/sdk/dist/protocols/synthra-v3/addresses.d.ts +3 -0
  663. package/sdk/dist/protocols/synthra-v3/addresses.d.ts.map +1 -0
  664. package/sdk/dist/protocols/synthra-v3/addresses.js +16 -0
  665. package/sdk/dist/protocols/synthra-v3/addresses.js.map +1 -0
  666. package/sdk/dist/protocols/synthra-v3/functions.d.ts +2 -0
  667. package/sdk/dist/protocols/synthra-v3/functions.d.ts.map +1 -0
  668. package/sdk/dist/protocols/synthra-v3/functions.js +9 -0
  669. package/sdk/dist/protocols/synthra-v3/functions.js.map +1 -0
  670. package/sdk/dist/protocols/synthra-v3/index.d.ts +5 -0
  671. package/sdk/dist/protocols/synthra-v3/index.d.ts.map +1 -0
  672. package/sdk/dist/protocols/synthra-v3/index.js +5 -0
  673. package/sdk/dist/protocols/synthra-v3/index.js.map +1 -0
  674. package/sdk/dist/protocols/synthra-v3/info.d.ts +3 -0
  675. package/sdk/dist/protocols/synthra-v3/info.d.ts.map +1 -0
  676. package/sdk/dist/protocols/synthra-v3/info.js +11 -0
  677. package/sdk/dist/protocols/synthra-v3/info.js.map +1 -0
  678. package/sdk/dist/protocols/thales/abis.d.ts +53 -24
  679. package/sdk/dist/protocols/thales/abis.d.ts.map +1 -1
  680. package/sdk/dist/protocols/thales/abis.js +27 -11
  681. package/sdk/dist/protocols/thales/abis.js.map +1 -1
  682. package/sdk/dist/protocols/thales/functions.d.ts +2 -2
  683. package/sdk/dist/protocols/thales/functions.d.ts.map +1 -1
  684. package/sdk/dist/protocols/thales/functions.js +5 -6
  685. package/sdk/dist/protocols/thales/functions.js.map +1 -1
  686. package/sdk/dist/protocols/thruster/abis.d.ts +1 -1
  687. package/sdk/dist/protocols/thruster/abis.js +1 -1
  688. package/sdk/dist/protocols/trader-joe/abis.d.ts +3 -3
  689. package/sdk/dist/protocols/trader-joe/abis.js +2 -2
  690. package/sdk/dist/protocols/trader-joe/abis.js.map +1 -1
  691. package/sdk/dist/protocols/uniswap-v2/addresses.d.ts.map +1 -1
  692. package/sdk/dist/protocols/uniswap-v2/addresses.js +10 -0
  693. package/sdk/dist/protocols/uniswap-v2/addresses.js.map +1 -1
  694. package/sdk/dist/protocols/uniswap-v3/abis.d.ts +127 -8
  695. package/sdk/dist/protocols/uniswap-v3/abis.d.ts.map +1 -1
  696. package/sdk/dist/protocols/uniswap-v3/abis.js +90 -8
  697. package/sdk/dist/protocols/uniswap-v3/abis.js.map +1 -1
  698. package/sdk/dist/protocols/uniswap-v3/addresses.d.ts.map +1 -1
  699. package/sdk/dist/protocols/uniswap-v3/addresses.js +14 -0
  700. package/sdk/dist/protocols/uniswap-v3/addresses.js.map +1 -1
  701. package/sdk/dist/protocols/uniswap-v4/abis.d.ts +27 -15
  702. package/sdk/dist/protocols/uniswap-v4/abis.d.ts.map +1 -1
  703. package/sdk/dist/protocols/uniswap-v4/abis.js +25 -15
  704. package/sdk/dist/protocols/uniswap-v4/abis.js.map +1 -1
  705. package/sdk/dist/protocols/uniswap-v4/addresses.d.ts.map +1 -1
  706. package/sdk/dist/protocols/uniswap-v4/addresses.js +11 -0
  707. package/sdk/dist/protocols/uniswap-v4/addresses.js.map +1 -1
  708. package/sdk/dist/protocols/unitflow-v3/abis.d.ts +104 -0
  709. package/sdk/dist/protocols/unitflow-v3/abis.d.ts.map +1 -0
  710. package/sdk/dist/protocols/unitflow-v3/abis.js +70 -0
  711. package/sdk/dist/protocols/unitflow-v3/abis.js.map +1 -0
  712. package/sdk/dist/protocols/unitflow-v3/addresses.d.ts +3 -0
  713. package/sdk/dist/protocols/unitflow-v3/addresses.d.ts.map +1 -0
  714. package/sdk/dist/protocols/unitflow-v3/addresses.js +19 -0
  715. package/sdk/dist/protocols/unitflow-v3/addresses.js.map +1 -0
  716. package/sdk/dist/protocols/unitflow-v3/functions.d.ts +2 -0
  717. package/sdk/dist/protocols/unitflow-v3/functions.d.ts.map +1 -0
  718. package/sdk/dist/protocols/unitflow-v3/functions.js +9 -0
  719. package/sdk/dist/protocols/unitflow-v3/functions.js.map +1 -0
  720. package/sdk/dist/protocols/unitflow-v3/index.d.ts +5 -0
  721. package/sdk/dist/protocols/unitflow-v3/index.d.ts.map +1 -0
  722. package/sdk/dist/protocols/unitflow-v3/index.js +5 -0
  723. package/sdk/dist/protocols/unitflow-v3/index.js.map +1 -0
  724. package/sdk/dist/protocols/unitflow-v3/info.d.ts +3 -0
  725. package/sdk/dist/protocols/unitflow-v3/info.d.ts.map +1 -0
  726. package/sdk/dist/protocols/unitflow-v3/info.js +12 -0
  727. package/sdk/dist/protocols/unitflow-v3/info.js.map +1 -0
  728. package/sdk/dist/protocols/velodrome/addresses.d.ts.map +1 -1
  729. package/sdk/dist/protocols/velodrome/addresses.js +3 -1
  730. package/sdk/dist/protocols/velodrome/addresses.js.map +1 -1
  731. package/sdk/dist/protocols/venus/abis.d.ts +62 -1
  732. package/sdk/dist/protocols/venus/abis.d.ts.map +1 -1
  733. package/sdk/dist/protocols/venus/abis.js +48 -1
  734. package/sdk/dist/protocols/venus/abis.js.map +1 -1
  735. package/sdk/dist/protocols/vertex/abis.d.ts +16 -9
  736. package/sdk/dist/protocols/vertex/abis.d.ts.map +1 -1
  737. package/sdk/dist/protocols/vertex/abis.js +13 -4
  738. package/sdk/dist/protocols/vertex/abis.js.map +1 -1
  739. package/sdk/dist/protocols/wormhole/abis.d.ts +2 -2
  740. package/sdk/dist/protocols/wormhole/abis.js +2 -2
  741. package/sdk/dist/protocols/wormhole/addresses.d.ts.map +1 -1
  742. package/sdk/dist/protocols/wormhole/addresses.js +9 -0
  743. package/sdk/dist/protocols/wormhole/addresses.js.map +1 -1
  744. package/sdk/dist/protocols/zerolend/addresses.d.ts.map +1 -1
  745. package/sdk/dist/protocols/zerolend/addresses.js +2 -1
  746. package/sdk/dist/protocols/zerolend/addresses.js.map +1 -1
  747. package/sdk/dist/protocols/zerox/addresses.d.ts.map +1 -1
  748. package/sdk/dist/protocols/zerox/addresses.js +2 -1
  749. package/sdk/dist/protocols/zerox/addresses.js.map +1 -1
  750. package/sdk/dist/protocols/zksync-bridge/abis.d.ts +1 -1
  751. package/sdk/dist/protocols/zksync-bridge/abis.js +1 -1
  752. package/sdk/dist/recipes/cctp-transfer.d.ts +17 -6
  753. package/sdk/dist/recipes/cctp-transfer.d.ts.map +1 -1
  754. package/sdk/dist/recipes/cctp-transfer.js +7 -20
  755. package/sdk/dist/recipes/cctp-transfer.js.map +1 -1
  756. package/sdk/dist/recipes/index.d.ts +5 -15
  757. package/sdk/dist/recipes/index.d.ts.map +1 -1
  758. package/sdk/dist/recipes/index.js +19 -36
  759. package/sdk/dist/recipes/index.js.map +1 -1
  760. package/sdk/dist/recipes/settle.sauce.ts +15 -2
  761. package/sdk/dist/routes/chain-exports.generated.d.ts +97 -0
  762. package/sdk/dist/routes/chain-exports.generated.d.ts.map +1 -0
  763. package/sdk/dist/routes/chain-exports.generated.js +91 -0
  764. package/sdk/dist/routes/chain-exports.generated.js.map +1 -0
  765. package/sdk/dist/routes/compile-types.d.ts +3 -0
  766. package/sdk/dist/routes/compile-types.d.ts.map +1 -1
  767. package/sdk/dist/routes/composed.d.ts +13 -0
  768. package/sdk/dist/routes/composed.d.ts.map +1 -0
  769. package/sdk/dist/routes/composed.js +94 -0
  770. package/sdk/dist/routes/composed.js.map +1 -0
  771. package/sdk/dist/routes/encode.d.ts +6 -6
  772. package/sdk/dist/routes/globals.d.ts +19 -4
  773. package/sdk/dist/routes/globals.d.ts.map +1 -1
  774. package/sdk/dist/routes/globals.js +51 -85
  775. package/sdk/dist/routes/globals.js.map +1 -1
  776. package/sdk/dist/routes/index.d.ts +15 -6
  777. package/sdk/dist/routes/index.d.ts.map +1 -1
  778. package/sdk/dist/routes/index.js +17 -5
  779. package/sdk/dist/routes/index.js.map +1 -1
  780. package/sdk/dist/routes/intent-dsl.d.ts +60 -19
  781. package/sdk/dist/routes/intent-dsl.d.ts.map +1 -1
  782. package/sdk/dist/routes/intent-dsl.js +175 -67
  783. package/sdk/dist/routes/intent-dsl.js.map +1 -1
  784. package/sdk/dist/routes/intent-pot.d.ts +49 -0
  785. package/sdk/dist/routes/intent-pot.d.ts.map +1 -0
  786. package/sdk/dist/routes/intent-pot.js +46 -0
  787. package/sdk/dist/routes/intent-pot.js.map +1 -0
  788. package/sdk/dist/routes/intent-sugar.d.ts +97 -0
  789. package/sdk/dist/routes/intent-sugar.d.ts.map +1 -0
  790. package/sdk/dist/routes/intent-sugar.js +615 -0
  791. package/sdk/dist/routes/intent-sugar.js.map +1 -0
  792. package/sdk/dist/routes/nest-dynamic.d.ts +146 -0
  793. package/sdk/dist/routes/nest-dynamic.d.ts.map +1 -0
  794. package/sdk/dist/routes/nest-dynamic.js +308 -0
  795. package/sdk/dist/routes/nest-dynamic.js.map +1 -0
  796. package/sdk/dist/routes/nest.d.ts +16 -5
  797. package/sdk/dist/routes/nest.d.ts.map +1 -1
  798. package/sdk/dist/routes/nest.js +29 -10
  799. package/sdk/dist/routes/nest.js.map +1 -1
  800. package/sdk/dist/routes/portal.d.ts +7 -272
  801. package/sdk/dist/routes/portal.d.ts.map +1 -1
  802. package/sdk/dist/routes/portal.js +13 -92
  803. package/sdk/dist/routes/portal.js.map +1 -1
  804. package/sdk/dist/routes/protocol-rewrite.d.ts.map +1 -1
  805. package/sdk/dist/routes/protocol-rewrite.js +2 -0
  806. package/sdk/dist/routes/protocol-rewrite.js.map +1 -1
  807. package/sdk/dist/routes/rs-compile.d.ts +26 -15
  808. package/sdk/dist/routes/rs-compile.d.ts.map +1 -1
  809. package/sdk/dist/routes/rs-compile.js +57 -169
  810. package/sdk/dist/routes/rs-compile.js.map +1 -1
  811. package/sdk/dist/routes/sauce-route.d.ts +26 -1
  812. package/sdk/dist/routes/sauce-route.d.ts.map +1 -1
  813. package/sdk/dist/routes/sauce-route.js +109 -6
  814. package/sdk/dist/routes/sauce-route.js.map +1 -1
  815. package/sdk/dist/routes/source-globals.generated.d.ts +435 -20
  816. package/sdk/dist/routes/source-globals.generated.d.ts.map +1 -1
  817. package/sdk/dist/routes/template.d.ts +184 -0
  818. package/sdk/dist/routes/template.d.ts.map +1 -0
  819. package/sdk/dist/routes/template.js +338 -0
  820. package/sdk/dist/routes/template.js.map +1 -0
  821. package/sdk/dist/routes/token-registry.d.ts.map +1 -1
  822. package/sdk/dist/routes/token-registry.js +35 -0
  823. package/sdk/dist/routes/token-registry.js.map +1 -1
  824. package/sdk/dist/routes/token-rewrite.d.ts +1 -1
  825. package/sdk/dist/routes/token-rewrite.d.ts.map +1 -1
  826. package/sdk/dist/skills/loader.d.ts +2 -7
  827. package/sdk/dist/skills/loader.d.ts.map +1 -1
  828. package/sdk/dist/skills/loader.js +14 -25
  829. package/sdk/dist/skills/loader.js.map +1 -1
  830. package/sdk/dist/std/token/token.evm.js +56 -15
  831. package/sdk/dist/std/token/token.svm.js +24 -3
  832. package/sdk/dist/svm/accessors.d.ts +3 -3
  833. package/sdk/dist/svm/accessors.js +3 -3
  834. package/sdk/dist/svm/client.d.ts +1 -0
  835. package/sdk/dist/svm/client.d.ts.map +1 -1
  836. package/sdk/dist/svm/client.js +6 -0
  837. package/sdk/dist/svm/client.js.map +1 -1
  838. package/sdk/dist/svm/clusters.d.ts +6 -2
  839. package/sdk/dist/svm/clusters.d.ts.map +1 -1
  840. package/sdk/dist/svm/clusters.js +0 -2
  841. package/sdk/dist/svm/clusters.js.map +1 -1
  842. package/sdk/dist/svm/engine-artifacts.d.ts +24 -13
  843. package/sdk/dist/svm/engine-artifacts.d.ts.map +1 -1
  844. package/sdk/dist/svm/engine-artifacts.js +31 -26
  845. package/sdk/dist/svm/engine-artifacts.js.map +1 -1
  846. package/sdk/dist/svm/engine-public.d.ts.map +1 -1
  847. package/sdk/dist/svm/engine-public.js +2 -1
  848. package/sdk/dist/svm/engine-public.js.map +1 -1
  849. package/sdk/dist/svm/index.d.ts +0 -1
  850. package/sdk/dist/svm/index.d.ts.map +1 -1
  851. package/sdk/dist/svm/index.js +3 -1
  852. package/sdk/dist/svm/index.js.map +1 -1
  853. package/sdk/dist/svm/intent.d.ts.map +1 -1
  854. package/sdk/dist/svm/intent.js +4 -3
  855. package/sdk/dist/svm/intent.js.map +1 -1
  856. package/sdk/dist/svm/loader.d.ts.map +1 -1
  857. package/sdk/dist/svm/loader.js +2 -3
  858. package/sdk/dist/svm/loader.js.map +1 -1
  859. package/sdk/dist/svm/recipes/index.d.ts +57 -4
  860. package/sdk/dist/svm/recipes/index.d.ts.map +1 -1
  861. package/sdk/dist/svm/recipes/index.js +7 -9
  862. package/sdk/dist/svm/recipes/index.js.map +1 -1
  863. package/sdk/dist/svm/venues/alphaq/index.d.ts.map +1 -1
  864. package/sdk/dist/svm/venues/alphaq/index.js +4 -2
  865. package/sdk/dist/svm/venues/alphaq/index.js.map +1 -1
  866. package/sdk/dist/svm/venues/binaryfi/index.d.ts.map +1 -1
  867. package/sdk/dist/svm/venues/binaryfi/index.js +2 -1
  868. package/sdk/dist/svm/venues/binaryfi/index.js.map +1 -1
  869. package/sdk/dist/svm/venues/fluxbeam/index.d.ts.map +1 -1
  870. package/sdk/dist/svm/venues/fluxbeam/index.js +2 -7
  871. package/sdk/dist/svm/venues/fluxbeam/index.js.map +1 -1
  872. package/sdk/dist/svm/venues/jupiter-lend-earn/index.d.ts.map +1 -1
  873. package/sdk/dist/svm/venues/jupiter-lend-earn/index.js +2 -1
  874. package/sdk/dist/svm/venues/jupiter-lend-earn/index.js.map +1 -1
  875. package/sdk/dist/svm/venues/kipseli/index.d.ts.map +1 -1
  876. package/sdk/dist/svm/venues/kipseli/index.js +31 -14
  877. package/sdk/dist/svm/venues/kipseli/index.js.map +1 -1
  878. package/sdk/dist/svm/venues/mercurial/index.d.ts.map +1 -1
  879. package/sdk/dist/svm/venues/mercurial/index.js +2 -7
  880. package/sdk/dist/svm/venues/mercurial/index.js.map +1 -1
  881. package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.d.ts.map +1 -1
  882. package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.js +3 -2
  883. package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.js.map +1 -1
  884. package/sdk/dist/svm/venues/mswap/index.d.ts.map +1 -1
  885. package/sdk/dist/svm/venues/mswap/index.js +2 -2
  886. package/sdk/dist/svm/venues/mswap/index.js.map +1 -1
  887. package/sdk/dist/svm/venues/orca-legacy-token-swap/index.d.ts.map +1 -1
  888. package/sdk/dist/svm/venues/orca-legacy-token-swap/index.js +2 -7
  889. package/sdk/dist/svm/venues/orca-legacy-token-swap/index.js.map +1 -1
  890. package/sdk/dist/svm/venues/saber-stableswap/index.d.ts.map +1 -1
  891. package/sdk/dist/svm/venues/saber-stableswap/index.js +2 -7
  892. package/sdk/dist/svm/venues/saber-stableswap/index.js.map +1 -1
  893. package/sdk/dist/svm/venues/sanctum-infinity/index.js +2 -2
  894. package/sdk/dist/svm/venues/sanctum-infinity/index.js.map +1 -1
  895. package/sdk/dist/svm/venues/sanctum-stake-pool/index.d.ts.map +1 -1
  896. package/sdk/dist/svm/venues/sanctum-stake-pool/index.js +2 -8
  897. package/sdk/dist/svm/venues/sanctum-stake-pool/index.js.map +1 -1
  898. package/sdk/dist/svm/venues/spl-token-swap-forks/index.d.ts.map +1 -1
  899. package/sdk/dist/svm/venues/spl-token-swap-forks/index.js +2 -7
  900. package/sdk/dist/svm/venues/spl-token-swap-forks/index.js.map +1 -1
  901. package/sdk/dist/svm/venues/stabble-common.d.ts.map +1 -1
  902. package/sdk/dist/svm/venues/stabble-common.js +3 -8
  903. package/sdk/dist/svm/venues/stabble-common.js.map +1 -1
  904. package/sdk/dist/svm/verify.d.ts.map +1 -1
  905. package/sdk/dist/svm/verify.js +1 -4
  906. package/sdk/dist/svm/verify.js.map +1 -1
  907. package/sdk/dist/swap/index.d.ts +4 -4
  908. package/sdk/dist/swap/index.d.ts.map +1 -1
  909. package/sdk/dist/swap/index.js +4 -4
  910. package/sdk/dist/swap/index.js.map +1 -1
  911. package/sdk/dist/swap/source.d.ts +0 -7
  912. package/sdk/dist/swap/source.d.ts.map +1 -1
  913. package/sdk/dist/swap/source.js +3 -11
  914. package/sdk/dist/swap/source.js.map +1 -1
  915. package/sdk/dist/token/api.d.ts +8 -9
  916. package/sdk/dist/token/api.d.ts.map +1 -1
  917. package/sdk/dist/token/api.js +4 -5
  918. package/sdk/dist/token/api.js.map +1 -1
  919. package/sdk/dist/token/evm.d.ts +5 -2
  920. package/sdk/dist/token/evm.d.ts.map +1 -1
  921. package/sdk/dist/token/evm.js +24 -13
  922. package/sdk/dist/token/evm.js.map +1 -1
  923. package/sdk/dist/token/index.d.ts +4 -4
  924. package/sdk/dist/token/index.js +4 -4
  925. package/sdk/dist/token/safe.d.ts +17 -0
  926. package/sdk/dist/token/safe.d.ts.map +1 -0
  927. package/sdk/dist/token/safe.js +211 -0
  928. package/sdk/dist/token/safe.js.map +1 -0
  929. package/sdk/dist/token/source.d.ts +0 -4
  930. package/sdk/dist/token/source.d.ts.map +1 -1
  931. package/sdk/dist/token/source.js +7 -10
  932. package/sdk/dist/token/source.js.map +1 -1
  933. package/sdk/dist/verify/decode.d.ts +6 -6
  934. package/sdk/dist/verify/decode.js +7 -7
  935. package/sdk/dist/verify/decode.js.map +1 -1
  936. package/sdk/dist/verify/index.js +2 -2
  937. package/sdk/dist/verify/intent.js +2 -2
  938. package/sdk/dist/verify/vectors.d.ts +1 -1
  939. package/sdk/dist/verify/vectors.d.ts.map +1 -1
  940. package/sdk/dist/verify/vectors.js +2 -2
  941. package/sdk/dist/verify/vectors.js.map +1 -1
  942. package/sdk/dist/verify/wire.d.ts +21 -4
  943. package/sdk/dist/verify/wire.d.ts.map +1 -1
  944. package/sdk/dist/verify/wire.js +21 -4
  945. package/sdk/dist/verify/wire.js.map +1 -1
  946. package/sdk/dist/wasm-compiler.d.ts +31 -0
  947. package/sdk/dist/wasm-compiler.d.ts.map +1 -0
  948. package/sdk/dist/wasm-compiler.js +52 -0
  949. package/sdk/dist/wasm-compiler.js.map +1 -0
  950. package/sdk/src/protocols/aave-v4/AaveV4HubABI.json +67 -0
  951. package/sdk/src/protocols/aave-v4/AaveV4SpokeABI.json +215 -0
  952. package/sdk/src/protocols/aave-v4/abis.ts +139 -0
  953. package/sdk/src/protocols/aave-v4/addresses.ts +66 -0
  954. package/sdk/src/protocols/aave-v4/functions.ts +39 -0
  955. package/sdk/src/protocols/aave-v4/index.ts +4 -0
  956. package/sdk/src/protocols/aave-v4/info.ts +14 -0
  957. package/sdk/src/protocols/across/AcrossHubPoolABI.json +2 -2
  958. package/sdk/src/protocols/across/AcrossSpokePoolABI.json +27 -11
  959. package/sdk/src/protocols/across/abis.ts +16 -8
  960. package/sdk/src/protocols/across/addresses.ts +10 -0
  961. package/sdk/src/protocols/across/functions.ts +2 -2
  962. package/sdk/src/protocols/aerodrome-slipstream/AeroMetarouterABI.json +24 -0
  963. package/sdk/src/protocols/aerodrome-slipstream/SlipstreamCLFactoryABI.json +58 -0
  964. package/sdk/src/protocols/aerodrome-slipstream/SlipstreamPositionManagerABI.json +77 -0
  965. package/sdk/src/protocols/aerodrome-slipstream/abis.ts +74 -0
  966. package/sdk/src/protocols/aerodrome-slipstream/addresses.ts +40 -0
  967. package/sdk/src/protocols/aerodrome-slipstream/functions.ts +8 -0
  968. package/sdk/src/protocols/aerodrome-slipstream/index.ts +4 -0
  969. package/sdk/src/protocols/aerodrome-slipstream/info.ts +14 -0
  970. package/sdk/src/protocols/aevo/DepositContractABI.json +23 -2
  971. package/sdk/src/protocols/aevo/abis.ts +10 -2
  972. package/sdk/src/protocols/aevo/functions.ts +2 -2
  973. package/sdk/src/protocols/alchemix/AlchemistABI.json +1 -1
  974. package/sdk/src/protocols/alchemix/abis.ts +1 -1
  975. package/sdk/src/protocols/ambient/CrocSwapDexABI.json +2 -2
  976. package/sdk/src/protocols/ambient/abis.ts +3 -2
  977. package/sdk/src/protocols/ambient/addresses.ts +2 -1
  978. package/sdk/src/protocols/arrakis/ArrakisRouterABI.json +5 -1
  979. package/sdk/src/protocols/arrakis/ArrakisVaultABI.json +0 -16
  980. package/sdk/src/protocols/arrakis/abis.ts +2 -11
  981. package/sdk/src/protocols/arrakis/functions.ts +2 -1
  982. package/sdk/src/protocols/axelar/AxelarITSABI.json +1 -1
  983. package/sdk/src/protocols/axelar/abis.ts +1 -1
  984. package/sdk/src/protocols/balancer-v2/BalancerV2VaultABI.json +7 -7
  985. package/sdk/src/protocols/balancer-v2/abis.ts +7 -7
  986. package/sdk/src/protocols/cbeth/CbETHABI.json +10 -1
  987. package/sdk/src/protocols/cbeth/abis.ts +6 -2
  988. package/sdk/src/protocols/cctp/TokenMessengerABI.json +30 -9
  989. package/sdk/src/protocols/cctp/abis.ts +3 -1
  990. package/sdk/src/protocols/cctp/addresses.ts +3 -0
  991. package/sdk/src/protocols/chainlink/AggregatorV3ABI.json +3 -3
  992. package/sdk/src/protocols/chainlink/FeedRegistryABI.json +3 -3
  993. package/sdk/src/protocols/chainlink/abis.ts +6 -6
  994. package/sdk/src/protocols/chainlink/addresses.ts +10 -0
  995. package/sdk/src/protocols/chainlink-ccip/CCIPRouterABI.json +1 -1
  996. package/sdk/src/protocols/chainlink-ccip/abis.ts +1 -1
  997. package/sdk/src/protocols/chainlink-ccip/addresses.ts +9 -0
  998. package/sdk/src/protocols/circle-gateway/GatewayMinterABI.json +49 -0
  999. package/sdk/src/protocols/circle-gateway/GatewayWalletABI.json +111 -0
  1000. package/sdk/src/protocols/circle-gateway/abis.ts +86 -0
  1001. package/sdk/src/protocols/circle-gateway/addresses.ts +39 -0
  1002. package/sdk/src/protocols/circle-gateway/functions.ts +28 -0
  1003. package/sdk/src/protocols/circle-gateway/index.ts +4 -0
  1004. package/sdk/src/protocols/circle-gateway/info.ts +14 -0
  1005. package/sdk/src/protocols/compound-v2/CErc20ABI.json +2 -2
  1006. package/sdk/src/protocols/compound-v2/abis.ts +2 -2
  1007. package/sdk/src/protocols/connext/EverclearSpokeABI.json +60 -6
  1008. package/sdk/src/protocols/connext/abis.ts +27 -5
  1009. package/sdk/src/protocols/connext/addresses.ts +1 -7
  1010. package/sdk/src/protocols/connext/functions.ts +3 -2
  1011. package/sdk/src/protocols/curve/CurveRouterNGABI.json +37 -0
  1012. package/sdk/src/protocols/curve/CurveStableSwapABI.json +7 -7
  1013. package/sdk/src/protocols/curve/CurveThreePoolABI.json +117 -0
  1014. package/sdk/src/protocols/curve/abis.ts +91 -7
  1015. package/sdk/src/protocols/debridge/DlnDestinationABI.json +7 -7
  1016. package/sdk/src/protocols/debridge/DlnSourceABI.json +1 -1
  1017. package/sdk/src/protocols/debridge/abis.ts +5 -5
  1018. package/sdk/src/protocols/debridge/addresses.ts +11 -0
  1019. package/sdk/src/protocols/eco-routes/abis.ts +633 -0
  1020. package/sdk/src/protocols/eco-routes/addresses.generated.ts +589 -0
  1021. package/sdk/src/protocols/eco-routes/addresses.ts +27 -0
  1022. package/sdk/src/protocols/eco-routes/functions.ts +45 -0
  1023. package/sdk/src/protocols/eco-routes/index.ts +5 -0
  1024. package/sdk/src/protocols/eco-routes/info.ts +14 -0
  1025. package/sdk/src/protocols/eco-routes/lookup.ts +215 -0
  1026. package/sdk/src/protocols/eigenlayer/DelegationManagerABI.json +2 -2
  1027. package/sdk/src/protocols/eigenlayer/StrategyManagerABI.json +2 -2
  1028. package/sdk/src/protocols/eigenlayer/abis.ts +5 -4
  1029. package/sdk/src/protocols/ens/ENSRegistryABI.json +4 -4
  1030. package/sdk/src/protocols/ens/abis.ts +4 -4
  1031. package/sdk/src/protocols/etherfi/WeETHABI.json +1 -1
  1032. package/sdk/src/protocols/etherfi/abis.ts +2 -1
  1033. package/sdk/src/protocols/euler-v2/EVCABI.json +2 -2
  1034. package/sdk/src/protocols/euler-v2/abis.ts +2 -2
  1035. package/sdk/src/protocols/fluid/FluidLendingABI.json +20 -37
  1036. package/sdk/src/protocols/fluid/FluidVaultABI.json +41 -0
  1037. package/sdk/src/protocols/fluid/abis.ts +41 -18
  1038. package/sdk/src/protocols/fluid/functions.ts +18 -16
  1039. package/sdk/src/protocols/gains-network/DiamondABI.json +49 -37
  1040. package/sdk/src/protocols/gains-network/abis.ts +26 -21
  1041. package/sdk/src/protocols/gains-network/functions.ts +6 -6
  1042. package/sdk/src/protocols/gamma/UniProxyLegacyABI.json +62 -0
  1043. package/sdk/src/protocols/gamma/abis.ts +31 -0
  1044. package/sdk/src/protocols/gamma/addresses.ts +2 -7
  1045. package/sdk/src/protocols/gamma/functions.ts +10 -0
  1046. package/sdk/src/protocols/gelato/GelatoAutomateABI.json +2 -2
  1047. package/sdk/src/protocols/gelato/abis.ts +2 -2
  1048. package/sdk/src/protocols/gmx-v1/PositionRouterABI.json +21 -3
  1049. package/sdk/src/protocols/gmx-v1/abis.ts +5 -3
  1050. package/sdk/src/protocols/gmx-v1/functions.ts +2 -2
  1051. package/sdk/src/protocols/gmx-v2/ExchangeRouterABI.json +13 -5
  1052. package/sdk/src/protocols/gmx-v2/abis.ts +7 -4
  1053. package/sdk/src/protocols/gmx-v2/addresses.ts +3 -1
  1054. package/sdk/src/protocols/gmx-v2/functions.ts +4 -2
  1055. package/sdk/src/protocols/harvest/VaultABI.json +12 -2
  1056. package/sdk/src/protocols/harvest/abis.ts +2 -2
  1057. package/sdk/src/protocols/hegic/HegicABI.json +6 -2
  1058. package/sdk/src/protocols/hegic/abis.ts +7 -2
  1059. package/sdk/src/protocols/hegic/addresses.ts +1 -0
  1060. package/sdk/src/protocols/hegic/functions.ts +3 -3
  1061. package/sdk/src/protocols/hop/addresses.ts +5 -2
  1062. package/sdk/src/protocols/hyperlane/HyperlaneMailboxABI.json +5 -5
  1063. package/sdk/src/protocols/hyperlane/abis.ts +5 -5
  1064. package/sdk/src/protocols/hyperlane/addresses.ts +9 -0
  1065. package/sdk/src/protocols/index.ts +13 -0
  1066. package/sdk/src/protocols/kim/KimRouterABI.json +8 -27
  1067. package/sdk/src/protocols/kim/abis.ts +6 -12
  1068. package/sdk/src/protocols/kim/functions.ts +3 -2
  1069. package/sdk/src/protocols/kyberswap/KyberSwapElasticRouterABI.json +1 -1
  1070. package/sdk/src/protocols/kyberswap/KyberSwapMetaAggregationRouterABI.json +52 -18
  1071. package/sdk/src/protocols/kyberswap/abis.ts +21 -8
  1072. package/sdk/src/protocols/kyberswap/addresses.ts +12 -2
  1073. package/sdk/src/protocols/kyberswap-aggregator/addresses.ts +12 -1
  1074. package/sdk/src/protocols/layerbank/LTokenABI.json +19 -29
  1075. package/sdk/src/protocols/layerbank/LayerBankCoreABI.json +87 -2
  1076. package/sdk/src/protocols/layerbank/abis.ts +69 -17
  1077. package/sdk/src/protocols/layerbank/addresses.ts +3 -1
  1078. package/sdk/src/protocols/layerbank/functions.ts +18 -16
  1079. package/sdk/src/protocols/layerzero/LayerZeroEndpointV2ABI.json +3 -3
  1080. package/sdk/src/protocols/layerzero/abis.ts +3 -3
  1081. package/sdk/src/protocols/layerzero/addresses.ts +11 -1
  1082. package/sdk/src/protocols/level-finance/LiquidityPoolABI.json +8 -0
  1083. package/sdk/src/protocols/level-finance/abis.ts +2 -0
  1084. package/sdk/src/protocols/level-finance/functions.ts +4 -4
  1085. package/sdk/src/protocols/lifi/LiFiDiamondABI.json +54 -4
  1086. package/sdk/src/protocols/lifi/abis.ts +24 -4
  1087. package/sdk/src/protocols/lifi/addresses.ts +9 -0
  1088. package/sdk/src/protocols/lifi/functions.ts +5 -2
  1089. package/sdk/src/protocols/liquity-v1/BorrowerOperationsABI.json +8 -0
  1090. package/sdk/src/protocols/liquity-v1/abis.ts +7 -1
  1091. package/sdk/src/protocols/liquity-v1/functions.ts +1 -1
  1092. package/sdk/src/protocols/mantle-meth/METHABI.json +0 -46
  1093. package/sdk/src/protocols/mantle-meth/METHStakingABI.json +50 -0
  1094. package/sdk/src/protocols/mantle-meth/abis.ts +23 -17
  1095. package/sdk/src/protocols/mantle-meth/addresses.ts +3 -0
  1096. package/sdk/src/protocols/mantle-meth/functions.ts +4 -4
  1097. package/sdk/src/protocols/maverick/MaverickV2FactoryABI.json +8 -0
  1098. package/sdk/src/protocols/maverick/MaverickV2RouterABI.json +4 -0
  1099. package/sdk/src/protocols/maverick/abis.ts +7 -1
  1100. package/sdk/src/protocols/morpho-blue/addresses.ts +10 -0
  1101. package/sdk/src/protocols/mux-protocol/LiquidityPoolABI.json +45 -11
  1102. package/sdk/src/protocols/mux-protocol/OrderBookABI.json +59 -17
  1103. package/sdk/src/protocols/mux-protocol/abis.ts +55 -22
  1104. package/sdk/src/protocols/mux-protocol/functions.ts +8 -8
  1105. package/sdk/src/protocols/olympus/StakingABI.json +8 -3
  1106. package/sdk/src/protocols/olympus/abis.ts +2 -2
  1107. package/sdk/src/protocols/oneinch/AggregationRouterV6ABI.json +5 -5
  1108. package/sdk/src/protocols/oneinch/abis.ts +5 -3
  1109. package/sdk/src/protocols/oneinch/functions.ts +2 -2
  1110. package/sdk/src/protocols/openocean/OpenOceanExchangeV2ABI.json +19 -1
  1111. package/sdk/src/protocols/openocean/abis.ts +11 -1
  1112. package/sdk/src/protocols/openocean/functions.ts +1 -1
  1113. package/sdk/src/protocols/opyn/ControllerABI.json +6 -1
  1114. package/sdk/src/protocols/opyn/abis.ts +1 -1
  1115. package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3FactoryABI.json +1 -1
  1116. package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3NFPMABI.json +3 -3
  1117. package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3SmartRouterABI.json +2 -2
  1118. package/sdk/src/protocols/pancakeswap-v3/abis.ts +6 -6
  1119. package/sdk/src/protocols/paraswap/AugustusV5ABI.json +1 -1
  1120. package/sdk/src/protocols/paraswap/abis.ts +1 -1
  1121. package/sdk/src/protocols/pendle/PendleRouterABI.json +392 -6
  1122. package/sdk/src/protocols/pendle/abis.ts +160 -6
  1123. package/sdk/src/protocols/permit2/Permit2ABI.json +1 -1
  1124. package/sdk/src/protocols/permit2/abis.ts +1 -1
  1125. package/sdk/src/protocols/permit2/addresses.ts +9 -0
  1126. package/sdk/src/protocols/perpetual-protocol/ClearingHouseABI.json +61 -49
  1127. package/sdk/src/protocols/perpetual-protocol/abis.ts +27 -14
  1128. package/sdk/src/protocols/premia/DiamondABI.json +24 -24
  1129. package/sdk/src/protocols/premia/abis.ts +20 -10
  1130. package/sdk/src/protocols/premia/addresses.ts +3 -8
  1131. package/sdk/src/protocols/premia/functions.ts +8 -8
  1132. package/sdk/src/protocols/pyth/PythOracleABI.json +3 -3
  1133. package/sdk/src/protocols/pyth/abis.ts +6 -3
  1134. package/sdk/src/protocols/reflexer/ETHJoinABI.json +5 -1
  1135. package/sdk/src/protocols/reflexer/SAFEEngineABI.json +4 -4
  1136. package/sdk/src/protocols/reflexer/abis.ts +10 -6
  1137. package/sdk/src/protocols/renzo/RestakeManagerABI.json +1 -1
  1138. package/sdk/src/protocols/renzo/abis.ts +1 -1
  1139. package/sdk/src/protocols/sablier/LockupLinearABI.json +2 -2
  1140. package/sdk/src/protocols/sablier/abis.ts +2 -2
  1141. package/sdk/src/protocols/safe/addresses.ts +10 -0
  1142. package/sdk/src/protocols/seaport/SeaportABI.json +87 -5
  1143. package/sdk/src/protocols/seaport/abis.ts +41 -5
  1144. package/sdk/src/protocols/seaport/addresses.ts +10 -0
  1145. package/sdk/src/protocols/seaport/functions.ts +1 -0
  1146. package/sdk/src/protocols/silo/SiloABI.json +4 -0
  1147. package/sdk/src/protocols/silo/abis.ts +4 -1
  1148. package/sdk/src/protocols/silo/addresses.ts +2 -1
  1149. package/sdk/src/protocols/silo/functions.ts +2 -1
  1150. package/sdk/src/protocols/socket/SocketGatewayABI.json +1 -17
  1151. package/sdk/src/protocols/socket/abis.ts +3 -11
  1152. package/sdk/src/protocols/socket/functions.ts +1 -1
  1153. package/sdk/src/protocols/spookyswap/addresses.ts +2 -1
  1154. package/sdk/src/protocols/squid/SquidRouterABI.json +42 -26
  1155. package/sdk/src/protocols/squid/abis.ts +19 -13
  1156. package/sdk/src/protocols/squid/functions.ts +2 -2
  1157. package/sdk/src/protocols/stargate/StargatePoolABI.json +31 -3
  1158. package/sdk/src/protocols/stargate/abis.ts +19 -3
  1159. package/sdk/src/protocols/superfluid/CFAForwarderABI.json +2 -2
  1160. package/sdk/src/protocols/superfluid/abis.ts +2 -2
  1161. package/sdk/src/protocols/sushiswap-v2/addresses.ts +2 -1
  1162. package/sdk/src/protocols/swell/RswETHABI.json +1 -6
  1163. package/sdk/src/protocols/swell/SwETHABI.json +1 -6
  1164. package/sdk/src/protocols/swell/abis.ts +4 -2
  1165. package/sdk/src/protocols/swell/functions.ts +4 -2
  1166. package/sdk/src/protocols/synapse/addresses.ts +2 -1
  1167. package/sdk/src/protocols/synthetix-v3/PerpsMarketProxyABI.json +54 -5
  1168. package/sdk/src/protocols/synthetix-v3/abis.ts +27 -5
  1169. package/sdk/src/protocols/synthetix-v3/addresses.ts +2 -1
  1170. package/sdk/src/protocols/synthra-v3/SynthraV3FactoryABI.json +54 -0
  1171. package/sdk/src/protocols/synthra-v3/SynthraV3NonfungiblePositionManagerABI.json +212 -0
  1172. package/sdk/src/protocols/synthra-v3/SynthraV3QuoterV2ABI.json +55 -0
  1173. package/sdk/src/protocols/synthra-v3/SynthraV3SwapRouter02ABI.json +168 -0
  1174. package/sdk/src/protocols/synthra-v3/abis.ts +244 -0
  1175. package/sdk/src/protocols/synthra-v3/addresses.ts +17 -0
  1176. package/sdk/src/protocols/synthra-v3/functions.ts +8 -0
  1177. package/sdk/src/protocols/synthra-v3/index.ts +4 -0
  1178. package/sdk/src/protocols/synthra-v3/info.ts +13 -0
  1179. package/sdk/src/protocols/thales/PositionalMarketABI.json +16 -0
  1180. package/sdk/src/protocols/thales/SpeedMarketsAMMABI.json +57 -22
  1181. package/sdk/src/protocols/thales/ThalesAMMABI.json +4 -11
  1182. package/sdk/src/protocols/thales/abis.ts +28 -11
  1183. package/sdk/src/protocols/thales/functions.ts +5 -6
  1184. package/sdk/src/protocols/thruster/ThrusterV3SwapRouterABI.json +1 -1
  1185. package/sdk/src/protocols/thruster/abis.ts +1 -1
  1186. package/sdk/src/protocols/trader-joe/LBRouterABI.json +3 -3
  1187. package/sdk/src/protocols/trader-joe/abis.ts +2 -2
  1188. package/sdk/src/protocols/uniswap-v2/addresses.ts +10 -0
  1189. package/sdk/src/protocols/uniswap-v3/UniswapV3FactoryABI.json +2 -2
  1190. package/sdk/src/protocols/uniswap-v3/UniswapV3NonfungiblePositionManagerABI.json +3 -3
  1191. package/sdk/src/protocols/uniswap-v3/UniswapV3QuoterV2ABI.json +1 -1
  1192. package/sdk/src/protocols/uniswap-v3/UniswapV3SwapRouter02ABI.json +168 -0
  1193. package/sdk/src/protocols/uniswap-v3/UniswapV3SwapRouterABI.json +2 -2
  1194. package/sdk/src/protocols/uniswap-v3/abis.ts +91 -8
  1195. package/sdk/src/protocols/uniswap-v3/addresses.ts +14 -0
  1196. package/sdk/src/protocols/uniswap-v4/UniswapV4PoolManagerABI.json +15 -15
  1197. package/sdk/src/protocols/uniswap-v4/UniswapV4UniversalRouterABI.json +16 -0
  1198. package/sdk/src/protocols/uniswap-v4/abis.ts +25 -15
  1199. package/sdk/src/protocols/uniswap-v4/addresses.ts +11 -0
  1200. package/sdk/src/protocols/unitflow-v3/UnitFlowV3FactoryABI.json +46 -0
  1201. package/sdk/src/protocols/unitflow-v3/UnitFlowV3QuoterABI.json +37 -0
  1202. package/sdk/src/protocols/unitflow-v3/UnitFlowV3RouterABI.json +67 -0
  1203. package/sdk/src/protocols/unitflow-v3/abis.ts +71 -0
  1204. package/sdk/src/protocols/unitflow-v3/addresses.ts +20 -0
  1205. package/sdk/src/protocols/unitflow-v3/functions.ts +8 -0
  1206. package/sdk/src/protocols/unitflow-v3/index.ts +4 -0
  1207. package/sdk/src/protocols/unitflow-v3/info.ts +14 -0
  1208. package/sdk/src/protocols/velodrome/addresses.ts +3 -1
  1209. package/sdk/src/protocols/venus/VBNBABI.json +86 -0
  1210. package/sdk/src/protocols/venus/VTokenABI.json +1 -1
  1211. package/sdk/src/protocols/venus/abis.ts +49 -1
  1212. package/sdk/src/protocols/vertex/ClearinghouseABI.json +20 -10
  1213. package/sdk/src/protocols/vertex/EndpointABI.json +1 -1
  1214. package/sdk/src/protocols/vertex/abis.ts +13 -4
  1215. package/sdk/src/protocols/wormhole/WormholeTokenBridgeABI.json +2 -2
  1216. package/sdk/src/protocols/wormhole/abis.ts +2 -2
  1217. package/sdk/src/protocols/wormhole/addresses.ts +9 -0
  1218. package/sdk/src/protocols/zerolend/addresses.ts +2 -1
  1219. package/sdk/src/protocols/zerox/addresses.ts +2 -1
  1220. package/sdk/src/protocols/zksync-bridge/ZkSyncDiamondProxyABI.json +1 -1
  1221. package/sdk/src/protocols/zksync-bridge/abis.ts +1 -1
  1222. package/sdk/src/skills/aave-v4.md +91 -0
  1223. package/sdk/src/skills/across.md +28 -10
  1224. package/sdk/src/skills/aerodrome-slipstream.md +57 -0
  1225. package/sdk/src/skills/aerodrome.md +1 -0
  1226. package/sdk/src/skills/aevo.md +12 -4
  1227. package/sdk/src/skills/ambient.md +2 -2
  1228. package/sdk/src/skills/arrakis.md +3 -3
  1229. package/sdk/src/skills/cbeth.md +2 -2
  1230. package/sdk/src/skills/chainlink-ccip.md +3 -2
  1231. package/sdk/src/skills/chainlink.md +1 -1
  1232. package/sdk/src/skills/circle-gateway.md +98 -0
  1233. package/sdk/src/skills/compound-v2.md +2 -2
  1234. package/sdk/src/skills/connext.md +8 -7
  1235. package/sdk/src/skills/curve.md +17 -2
  1236. package/sdk/src/skills/debridge.md +3 -2
  1237. package/sdk/src/skills/eigenlayer.md +1 -1
  1238. package/sdk/src/skills/etherfi.md +1 -1
  1239. package/sdk/src/skills/fluid.md +46 -39
  1240. package/sdk/src/skills/gains-network.md +13 -21
  1241. package/sdk/src/skills/gamma.md +12 -6
  1242. package/sdk/src/skills/gmx-v1.md +4 -2
  1243. package/sdk/src/skills/gmx-v2.md +6 -2
  1244. package/sdk/src/skills/harvest.md +2 -2
  1245. package/sdk/src/skills/hegic.md +9 -8
  1246. package/sdk/src/skills/hop.md +8 -8
  1247. package/sdk/src/skills/hyperlane.md +4 -3
  1248. package/sdk/src/skills/index.md +84 -77
  1249. package/sdk/src/skills/kim.md +11 -14
  1250. package/sdk/src/skills/kyberswap-aggregator.md +5 -3
  1251. package/sdk/src/skills/kyberswap.md +6 -6
  1252. package/sdk/src/skills/layerbank.md +41 -35
  1253. package/sdk/src/skills/layerzero.md +3 -2
  1254. package/sdk/src/skills/level-finance.md +6 -4
  1255. package/sdk/src/skills/lido.md +5 -5
  1256. package/sdk/src/skills/lifi.md +41 -23
  1257. package/sdk/src/skills/liquity-v1.md +6 -2
  1258. package/sdk/src/skills/loader.ts +15 -25
  1259. package/sdk/src/skills/mantle-meth.md +13 -5
  1260. package/sdk/src/skills/maverick.md +3 -3
  1261. package/sdk/src/skills/morpho-blue.md +1 -1
  1262. package/sdk/src/skills/mux-protocol.md +21 -17
  1263. package/sdk/src/skills/oneinch.md +4 -3
  1264. package/sdk/src/skills/openocean.md +2 -2
  1265. package/sdk/src/skills/opyn.md +1 -1
  1266. package/sdk/src/skills/permit2.md +1 -1
  1267. package/sdk/src/skills/perpetual-protocol.md +2 -2
  1268. package/sdk/src/skills/premia.md +21 -21
  1269. package/sdk/src/skills/reflexer.md +1 -1
  1270. package/sdk/src/skills/renzo.md +1 -1
  1271. package/sdk/src/skills/safe.md +1 -1
  1272. package/sdk/src/skills/seaport.md +3 -2
  1273. package/sdk/src/skills/silo.md +4 -3
  1274. package/sdk/src/skills/socket.md +4 -5
  1275. package/sdk/src/skills/spookyswap.md +2 -2
  1276. package/sdk/src/skills/squid.md +18 -10
  1277. package/sdk/src/skills/stargate.md +1 -1
  1278. package/sdk/src/skills/sushiswap-v2.md +1 -1
  1279. package/sdk/src/skills/swell.md +6 -4
  1280. package/sdk/src/skills/synapse.md +1 -1
  1281. package/sdk/src/skills/synthetix-v3.md +1 -1
  1282. package/sdk/src/skills/synthra-v3.md +57 -0
  1283. package/sdk/src/skills/thales.md +12 -10
  1284. package/sdk/src/skills/trader-joe.md +1 -1
  1285. package/sdk/src/skills/uniswap-v2.md +2 -1
  1286. package/sdk/src/skills/uniswap-v3.md +14 -4
  1287. package/sdk/src/skills/uniswap-v4.md +3 -1
  1288. package/sdk/src/skills/unitflow-v3.md +62 -0
  1289. package/sdk/src/skills/velodrome.md +2 -2
  1290. package/sdk/src/skills/venus.md +10 -2
  1291. package/sdk/src/skills/vertex.md +1 -1
  1292. package/sdk/src/skills/wormhole.md +1 -1
  1293. package/sdk/src/skills/zerolend.md +1 -1
  1294. package/sdk/src/skills/zerox.md +1 -1
  1295. package/sdk/src/skills/zksync-bridge.md +1 -1
  1296. package/actions/dist/megas-swap.d.ts +0 -97
  1297. package/actions/dist/megas-swap.d.ts.map +0 -1
  1298. package/actions/dist/megas-swap.js +0 -286
  1299. package/sdk/dist/routes/globals.generated.d.ts +0 -94
  1300. package/sdk/dist/routes/globals.generated.d.ts.map +0 -1
  1301. package/sdk/dist/routes/globals.generated.js +0 -2
  1302. package/sdk/dist/routes/globals.generated.js.map +0 -1
@@ -0,0 +1,167 @@
1
+ /**
2
+ * The ABI bindings action programs call through — one `Binding.at(address).method(...)` per call,
3
+ * the shape SDK route bodies use.
4
+ *
5
+ * WHERE EACH ABI COMES FROM. The SDK's protocol registry (`sdk/src/protocols/<slug>/abis.ts`) is
6
+ * used whenever it declares the exact function an action calls. "Exact" is checked, not assumed:
7
+ * `sdk()` below looks the function up by its canonical signature and throws if the registry spells
8
+ * it differently, because a different spelling is a different selector — a function the contract
9
+ * does not have. The registry's own suite (`sdk/test/registry-abi.test.ts`) pins each of its
10
+ * functions to the deployed contracts. Where the registry has no such function — the contract is
11
+ * not in it, or it declares another overload — the binding declares its fragment here and says why
12
+ * next to it.
13
+ *
14
+ * WHY OUTPUTS ARE DROPPED. A binding decodes every output its ABI declares, even one the program
15
+ * never reads, and decoding from empty return data reverts. 3pool-era Curve pools return nothing
16
+ * from `exchange`, so declaring that output would revert a swap that succeeded. The rule here is
17
+ * therefore: declare an output only when an action reads it. Every other method is bound
18
+ * output-free — the call must succeed, and nothing is decoded. ERC-20 `approve`/`transfer` are not
19
+ * bindings at all: tokens such as USDT return nothing from them, and they go through the SDK's own
20
+ * `SafeERC20` lowering, `token/safe` (see `to-sauce.ts#Lowering.erc20Write`).
21
+ *
22
+ * WHY SOME CALLS ARE STILL RAW. A binding call cannot attach native value, and the compiler has no
23
+ * calldata builtin besides `abi.encode`. So a payable call carrying ETH (`WETH.deposit`, Lido
24
+ * `submit`, a bridge fee) stays `evm.call(target, value, selector ++ abi.encode(args))`, with the
25
+ * selector taken from the same ABI fragment a binding would use — see `valueCall` in `to-sauce.ts`.
26
+ */
27
+ import { type AbiFunction, type Hex } from "viem";
28
+ /** A parsed ABI in the shape the compiler's `inlineContracts` and the SDK's `compile.contracts` take. */
29
+ export interface ActionContract {
30
+ readonly abi: AbiFunction[];
31
+ }
32
+ /** ABI bindings by the name the emitted source uses for them. */
33
+ export type ActionContracts = Record<string, ActionContract>;
34
+ /** Where a binding's methods come from — kept per method, because some bindings mix both. */
35
+ export type MethodSource = {
36
+ readonly kind: "sdk";
37
+ readonly protocol: string;
38
+ readonly abiExport: string;
39
+ } | {
40
+ readonly kind: "local";
41
+ readonly reason: string;
42
+ };
43
+ export interface BoundMethod {
44
+ readonly fn: AbiFunction;
45
+ readonly source: MethodSource;
46
+ }
47
+ /** The canonical `name(type,...)` signature, tuples expanded — the string a selector hashes. */
48
+ export declare function canonicalSignature(fn: Pick<AbiFunction, "name" | "inputs">): string;
49
+ /**
50
+ * The registry function with exactly `signature`, from `abi` (the `abiExport` of `protocol`), as a
51
+ * plain copy. Throws when the registry has no such function — the signal that it changed under the
52
+ * action. The bindings below and the quotes in `to-quote.ts` both take registry ABIs through it.
53
+ */
54
+ export declare function registryFunction(protocol: string, abiExport: string, abi: readonly unknown[], signature: string): AbiFunction;
55
+ /**
56
+ * Every binding, by the name emitted source calls it. The names start with `I` and contain no `_`,
57
+ * so none can collide with an SDK protocol namespace (`AaveV3`, `Erc20`), a chain accessor (`Base`)
58
+ * or a name the route rewrite synthesizes (`IAaveV3_Pool`) — `abis.unit.test.ts` checks all three.
59
+ */
60
+ declare const CATALOG: {
61
+ IErc20: () => {
62
+ balanceOf: BoundMethod;
63
+ };
64
+ IWeth9: () => {
65
+ withdraw: BoundMethod;
66
+ deposit: BoundMethod;
67
+ };
68
+ ISwapRouter02: () => {
69
+ exactInputSingle: BoundMethod;
70
+ exactInput: BoundMethod;
71
+ };
72
+ IUniversalRouter: () => {
73
+ execute: BoundMethod;
74
+ };
75
+ ICurvePool: () => {
76
+ exchange: BoundMethod;
77
+ };
78
+ ICurveRouterNG: () => {
79
+ exchange: BoundMethod;
80
+ };
81
+ IBalancerV2Vault: () => {
82
+ swap: BoundMethod;
83
+ batchSwap: BoundMethod;
84
+ };
85
+ IBalancerV3Router: () => {
86
+ swapSingleTokenExactIn: BoundMethod;
87
+ };
88
+ IUniswapV2Router: () => {
89
+ swapExactTokensForTokens: BoundMethod;
90
+ };
91
+ ICrocSwapDex: () => {
92
+ userCmd: BoundMethod;
93
+ };
94
+ IDodoProxy: () => {
95
+ dodoSwapV2TokenToToken: BoundMethod;
96
+ dodoSwapV1: BoundMethod;
97
+ };
98
+ IMaverickV2Router: () => {
99
+ exactInputSingle: BoundMethod;
100
+ exactInputMultiHop: BoundMethod;
101
+ };
102
+ ICarbonController: () => {
103
+ tradeBySourceAmount: BoundMethod;
104
+ };
105
+ IFluidDexT1: () => {
106
+ swapIn: BoundMethod;
107
+ };
108
+ IWstEth: () => {
109
+ wrap: BoundMethod;
110
+ unwrap: BoundMethod;
111
+ };
112
+ ILido: () => {
113
+ submit: BoundMethod;
114
+ };
115
+ ILidoWithdrawalQueue: () => {
116
+ requestWithdrawals: BoundMethod;
117
+ };
118
+ IRocketDepositPool: () => {
119
+ deposit: BoundMethod;
120
+ };
121
+ IRocketTokenReth: () => {
122
+ burn: BoundMethod;
123
+ };
124
+ IEtherFiLiquidityPool: () => {
125
+ deposit: BoundMethod;
126
+ };
127
+ IAaveV3Pool: () => {
128
+ supply: BoundMethod;
129
+ withdraw: BoundMethod;
130
+ borrow: BoundMethod;
131
+ repay: BoundMethod;
132
+ };
133
+ ICometMarket: () => {
134
+ supply: BoundMethod;
135
+ withdraw: BoundMethod;
136
+ };
137
+ IAcrossSpokePool: () => {
138
+ depositV3: BoundMethod;
139
+ };
140
+ IStargatePool: () => {
141
+ quoteSend: BoundMethod;
142
+ send: BoundMethod;
143
+ };
144
+ ICctpTokenMessenger: () => {
145
+ depositForBurn: BoundMethod;
146
+ };
147
+ IWarpRoute: () => {
148
+ quoteGasPayment: BoundMethod;
149
+ transferRemote: BoundMethod;
150
+ };
151
+ IPermit2: () => {
152
+ approve: BoundMethod;
153
+ };
154
+ };
155
+ export type BindingName = keyof typeof CATALOG;
156
+ type MethodsOf<B extends BindingName> = ReturnType<(typeof CATALOG)[B]>;
157
+ export type MethodName<B extends BindingName> = keyof MethodsOf<B> & string;
158
+ /** A binding's methods, resolved (and registry-checked) on first use. */
159
+ export declare function bindingMethods(binding: BindingName): Readonly<Record<string, BoundMethod>>;
160
+ /** Every binding name, for tests and documentation. */
161
+ export declare const BINDING_NAMES: BindingName[];
162
+ /** The 4-byte selector of a binding's method, from the same fragment the binding compiles with. */
163
+ export declare function methodSelector<B extends BindingName>(binding: B, method: MethodName<B>): Hex;
164
+ /** The `contracts` map a program naming `bindings` compiles with. */
165
+ export declare function contractsFor(bindings: Iterable<BindingName>): ActionContracts;
166
+ export {};
167
+ //# sourceMappingURL=abis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../src/abis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAGL,KAAK,WAAW,EAEhB,KAAK,GAAG,EACT,MAAM,MAAM,CAAC;AASd,yGAAyG;AACzG,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED,iEAAiE;AACjE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE7D,6FAA6F;AAC7F,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/E;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B;AAED,gGAAgG;AAChG,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,MAAM,CAEnF;AAgBD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,SAAS,OAAO,EAAE,EACvB,SAAS,EAAE,MAAM,GAChB,WAAW,CAgBb;AAyBD;;;;GAIG;AACH,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6OgD,CAAC;AAE9D,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,OAAO,CAAC;AAC/C,KAAK,SAAS,CAAC,CAAC,SAAS,WAAW,IAAI,UAAU,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,WAAW,IAAI,MAAM,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AAI5E,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAQ1F;AAED,uDAAuD;AACvD,eAAO,MAAM,aAAa,EAA2B,WAAW,EAAE,CAAC;AAEnE,mGAAmG;AACnG,wBAAgB,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAE5F;AAED,qEAAqE;AACrE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,eAAe,CAO7E"}
@@ -0,0 +1,215 @@
1
+ /**
2
+ * The ABI bindings action programs call through — one `Binding.at(address).method(...)` per call,
3
+ * the shape SDK route bodies use.
4
+ *
5
+ * WHERE EACH ABI COMES FROM. The SDK's protocol registry (`sdk/src/protocols/<slug>/abis.ts`) is
6
+ * used whenever it declares the exact function an action calls. "Exact" is checked, not assumed:
7
+ * `sdk()` below looks the function up by its canonical signature and throws if the registry spells
8
+ * it differently, because a different spelling is a different selector — a function the contract
9
+ * does not have. The registry's own suite (`sdk/test/registry-abi.test.ts`) pins each of its
10
+ * functions to the deployed contracts. Where the registry has no such function — the contract is
11
+ * not in it, or it declares another overload — the binding declares its fragment here and says why
12
+ * next to it.
13
+ *
14
+ * WHY OUTPUTS ARE DROPPED. A binding decodes every output its ABI declares, even one the program
15
+ * never reads, and decoding from empty return data reverts. 3pool-era Curve pools return nothing
16
+ * from `exchange`, so declaring that output would revert a swap that succeeded. The rule here is
17
+ * therefore: declare an output only when an action reads it. Every other method is bound
18
+ * output-free — the call must succeed, and nothing is decoded. ERC-20 `approve`/`transfer` are not
19
+ * bindings at all: tokens such as USDT return nothing from them, and they go through the SDK's own
20
+ * `SafeERC20` lowering, `token/safe` (see `to-sauce.ts#Lowering.erc20Write`).
21
+ *
22
+ * WHY SOME CALLS ARE STILL RAW. A binding call cannot attach native value, and the compiler has no
23
+ * calldata builtin besides `abi.encode`. So a payable call carrying ETH (`WETH.deposit`, Lido
24
+ * `submit`, a bridge fee) stays `evm.call(target, value, selector ++ abi.encode(args))`, with the
25
+ * selector taken from the same ABI fragment a binding would use — see `valueCall` in `to-sauce.ts`.
26
+ */
27
+ import { parseAbiItem, toFunctionSelector, } from "viem";
28
+ import { AaveV3PoolABI, AcrossSpokePoolABI, BalancerV2VaultABI, CometABI } from "./registry.js";
29
+ import { CrocSwapDexABI, CurveRouterNGABI, CurveThreePoolABI, DODOV2ProxyABI } from "./registry.js";
30
+ import { ERC20ABI, LidoABI, LiquidityPoolABI, MaverickV2RouterABI } from "./registry.js";
31
+ import { Permit2ABI, RETHABI, RocketDepositPoolABI, StargatePoolABI } from "./registry.js";
32
+ import { TokenMessengerABI, UniswapV2RouterABI, UniswapV3SwapRouter02ABI } from "./registry.js";
33
+ import { UniswapV4UniversalRouterABI, WstETHABI } from "./registry.js";
34
+ /** The canonical `name(type,...)` signature, tuples expanded — the string a selector hashes. */
35
+ export function canonicalSignature(fn) {
36
+ return `${fn.name}(${fn.inputs.map(canonicalType).join(",")})`;
37
+ }
38
+ function canonicalType(param) {
39
+ if (!param.type.startsWith("tuple"))
40
+ return param.type;
41
+ const components = param.components ?? [];
42
+ return `(${components.map(canonicalType).join(",")})${param.type.slice("tuple".length)}`;
43
+ }
44
+ /** A deep, mutable copy — the registry's ABIs are `as const`, and the compiler gets plain JSON. */
45
+ function plain(value) {
46
+ return JSON.parse(JSON.stringify(value));
47
+ }
48
+ /**
49
+ * The registry function with exactly `signature`, from `abi` (the `abiExport` of `protocol`), as a
50
+ * plain copy. Throws when the registry has no such function — the signal that it changed under the
51
+ * action. The bindings below and the quotes in `to-quote.ts` both take registry ABIs through it.
52
+ */
53
+ export function registryFunction(protocol, abiExport, abi, signature) {
54
+ const found = abi.find((item) => item.type === "function" && canonicalSignature(item) === signature);
55
+ if (found === undefined) {
56
+ const spelled = abi
57
+ .filter((item) => item.type === "function" && item.name === signature.split("(")[0])
58
+ .map(canonicalSignature);
59
+ throw new Error(`actions: the SDK registry's ${protocol} ${abiExport} has no \`${signature}\`` +
60
+ (spelled.length > 0 ? ` (it declares ${spelled.join(", ")})` : "") +
61
+ " — the action would call a function the contract does not have.");
62
+ }
63
+ return plain(found);
64
+ }
65
+ /** A binding method from the registry, its outputs dropped unless an action reads them. */
66
+ function sdk(protocol, abiExport, abi, signature, outputs) {
67
+ const fn = registryFunction(protocol, abiExport, abi, signature);
68
+ if (outputs === "drop")
69
+ fn.outputs = [];
70
+ return { fn, source: { kind: "sdk", protocol, abiExport } };
71
+ }
72
+ /** A fragment declared here, in viem's human-readable form, with the reason the registry's is not used. */
73
+ function local(signature, reason) {
74
+ const fn = parseAbiItem(signature);
75
+ return { fn: plain(fn), source: { kind: "local", reason } };
76
+ }
77
+ const NOT_IN_REGISTRY = "not in the SDK protocol registry";
78
+ /**
79
+ * Every binding, by the name emitted source calls it. The names start with `I` and contain no `_`,
80
+ * so none can collide with an SDK protocol namespace (`AaveV3`, `Erc20`), a chain accessor (`Base`)
81
+ * or a name the route rewrite synthesizes (`IAaveV3_Pool`) — `abis.unit.test.ts` checks all three.
82
+ */
83
+ const CATALOG = {
84
+ // Only the read: `approve`/`transfer` go through `token/safe`, which decodes no output.
85
+ IErc20: () => ({
86
+ balanceOf: sdk("erc20", "ERC20ABI", ERC20ABI, "balanceOf(address)", "keep"),
87
+ }),
88
+ IWeth9: () => ({
89
+ withdraw: local("function withdraw(uint256 wad)", `WETH9 is ${NOT_IN_REGISTRY}`),
90
+ deposit: local("function deposit() payable", `WETH9 is ${NOT_IN_REGISTRY}`),
91
+ }),
92
+ // Both return the amount they swapped out, which is the action's output.
93
+ ISwapRouter02: () => ({
94
+ exactInputSingle: sdk("uniswap-v3", "UniswapV3SwapRouter02ABI", UniswapV3SwapRouter02ABI, "exactInputSingle((address,address,uint24,address,uint256,uint256,uint160))", "keep"),
95
+ exactInput: sdk("uniswap-v3", "UniswapV3SwapRouter02ABI", UniswapV3SwapRouter02ABI, "exactInput((bytes,address,uint256,uint256))", "keep"),
96
+ }),
97
+ IUniversalRouter: () => ({
98
+ // The deadline-free overload: these actions carry no deadline. It returns nothing.
99
+ execute: sdk("uniswap-v4", "UniswapV4UniversalRouterABI", UniswapV4UniversalRouterABI, "execute(bytes,bytes[])", "drop"),
100
+ }),
101
+ ICurvePool: () => ({
102
+ // 3pool's `exchange` returns nothing, and a StableSwap-NG pool's `uint256` return is simply not
103
+ // decoded: this output-free spelling suits every 4-argument pool. The output is a balance delta.
104
+ exchange: sdk("curve", "CurveThreePoolABI", CurveThreePoolABI, "exchange(int128,int128,uint256,uint256)", "drop"),
105
+ }),
106
+ ICurveRouterNG: () => ({
107
+ // The six-argument overload, which takes a receiver. Its return is the amount received.
108
+ exchange: sdk("curve", "CurveRouterNGABI", CurveRouterNGABI, "exchange(address[11],uint256[5][5],uint256,uint256,address[5],address)", "keep"),
109
+ }),
110
+ IBalancerV2Vault: () => ({
111
+ swap: sdk("balancer-v2", "BalancerV2VaultABI", BalancerV2VaultABI, "swap((bytes32,uint8,address,address,uint256,bytes),(address,bool,address,bool),uint256,uint256)", "keep"),
112
+ // Its output is measured as a balance delta, so the `int256[]` deltas it returns are not decoded.
113
+ batchSwap: sdk("balancer-v2", "BalancerV2VaultABI", BalancerV2VaultABI, "batchSwap(uint8,(bytes32,uint256,uint256,uint256,bytes)[],address[],(address,bool,address,bool),int256[],uint256)", "drop"),
114
+ }),
115
+ IBalancerV3Router: () => ({
116
+ swapSingleTokenExactIn: local("function swapSingleTokenExactIn(address pool, address tokenIn, address tokenOut, uint256 exactAmountIn, uint256 minAmountOut, uint256 deadline, bool wethIsEth, bytes userData) payable returns (uint256 amountOut)", `Balancer V3 is ${NOT_IN_REGISTRY}`),
117
+ }),
118
+ IUniswapV2Router: () => ({
119
+ // Fraxswap's router is UniswapV2-compatible for this function, so `fraxswapSwap` binds it too.
120
+ swapExactTokensForTokens: sdk("uniswap-v2", "UniswapV2RouterABI", UniswapV2RouterABI, "swapExactTokensForTokens(uint256,uint256,address[],address,uint256)", "drop"),
121
+ }),
122
+ ICrocSwapDex: () => ({
123
+ userCmd: sdk("ambient", "CrocSwapDexABI", CrocSwapDexABI, "userCmd(uint16,bytes)", "drop"),
124
+ }),
125
+ IDodoProxy: () => ({
126
+ dodoSwapV2TokenToToken: sdk("dodo", "DODOV2ProxyABI", DODOV2ProxyABI, "dodoSwapV2TokenToToken(address,address,uint256,uint256,address[],uint256,bool,uint256)", "keep"),
127
+ dodoSwapV1: local("function dodoSwapV1(address fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, address[] dodoPairs, uint256 directions, bool isIncentive, uint256 deadLine) payable returns (uint256 returnAmount)", "the registry declares only the proxy's V2 entry point"),
128
+ }),
129
+ IMaverickV2Router: () => ({
130
+ // The registry and the previous raw call both read the first return word as the output.
131
+ exactInputSingle: sdk("maverick", "MaverickV2RouterABI", MaverickV2RouterABI, "exactInputSingle(address,address,bool,uint256,uint256)", "keep"),
132
+ exactInputMultiHop: local("function exactInputMultiHop(address recipient, bytes path, uint256 amountIn, uint256 amountOutMinimum) payable returns (uint256 amountOut)", "the registry declares only the single-pool entry point"),
133
+ }),
134
+ ICarbonController: () => ({
135
+ tradeBySourceAmount: local("function tradeBySourceAmount(address sourceToken, address targetToken, (uint256 strategyId, uint128 amount)[] tradeActions, uint256 deadline, uint128 minReturn) payable returns (uint128)", `Carbon is ${NOT_IN_REGISTRY}`),
136
+ }),
137
+ IFluidDexT1: () => ({
138
+ swapIn: local("function swapIn(bool swap0to1, uint256 amountIn, uint256 amountOutMin, address to) payable returns (uint256 amountOut)", "the registry's fluid entry covers lending, not the DEX"),
139
+ }),
140
+ IWstEth: () => ({
141
+ // Both return the amount they minted or released, which is the action's output.
142
+ wrap: sdk("lido", "WstETHABI", WstETHABI, "wrap(uint256)", "keep"),
143
+ unwrap: sdk("lido", "WstETHABI", WstETHABI, "unwrap(uint256)", "keep"),
144
+ }),
145
+ ILido: () => ({
146
+ submit: sdk("lido", "LidoABI", LidoABI, "submit(address)", "drop"),
147
+ }),
148
+ ILidoWithdrawalQueue: () => ({
149
+ requestWithdrawals: local("function requestWithdrawals(uint256[] amounts, address owner)", `Lido's withdrawal queue is ${NOT_IN_REGISTRY}`),
150
+ }),
151
+ IRocketDepositPool: () => ({
152
+ deposit: sdk("rocket-pool", "RocketDepositPoolABI", RocketDepositPoolABI, "deposit()", "drop"),
153
+ }),
154
+ IRocketTokenReth: () => ({
155
+ burn: sdk("rocket-pool", "RETHABI", RETHABI, "burn(uint256)", "drop"),
156
+ }),
157
+ IEtherFiLiquidityPool: () => ({
158
+ deposit: sdk("etherfi", "LiquidityPoolABI", LiquidityPoolABI, "deposit()", "drop"),
159
+ }),
160
+ IAaveV3Pool: () => ({
161
+ supply: sdk("aave-v3", "PoolABI", AaveV3PoolABI, "supply(address,uint256,address,uint16)", "keep"),
162
+ withdraw: sdk("aave-v3", "PoolABI", AaveV3PoolABI, "withdraw(address,uint256,address)", "keep"),
163
+ borrow: sdk("aave-v3", "PoolABI", AaveV3PoolABI, "borrow(address,uint256,uint256,uint16,address)", "keep"),
164
+ repay: sdk("aave-v3", "PoolABI", AaveV3PoolABI, "repay(address,uint256,uint256,address)", "drop"),
165
+ }),
166
+ ICometMarket: () => ({
167
+ supply: sdk("compound-v3", "CometABI", CometABI, "supply(address,uint256)", "keep"),
168
+ withdraw: sdk("compound-v3", "CometABI", CometABI, "withdraw(address,uint256)", "keep"),
169
+ }),
170
+ IAcrossSpokePool: () => ({
171
+ depositV3: sdk("across", "AcrossSpokePoolABI", AcrossSpokePoolABI, "depositV3(address,address,address,address,uint256,uint256,uint256,address,uint32,uint32,uint32,bytes)", "keep"),
172
+ }),
173
+ IStargatePool: () => ({
174
+ quoteSend: local("function quoteSend((uint32 dstEid, bytes32 to, uint256 amountLD, uint256 minAmountLD, bytes extraOptions, bytes composeMsg, bytes oftCmd) sendParam, bool payInLzToken) view returns ((uint256 nativeFee, uint256 lzTokenFee) fee)", "the registry's StargatePoolABI declares `send` but not `quoteSend`"),
175
+ // The receipts it returns are never read, so they are not decoded.
176
+ send: sdk("stargate", "StargatePoolABI", StargatePoolABI, "send((uint32,bytes32,uint256,uint256,bytes,bytes,bytes),(uint256,uint256),address)", "drop"),
177
+ }),
178
+ ICctpTokenMessenger: () => ({
179
+ depositForBurn: sdk("cctp", "TokenMessengerABI", TokenMessengerABI, "depositForBurn(uint256,uint32,bytes32,address,bytes32,uint256,uint32)", "drop"),
180
+ }),
181
+ IWarpRoute: () => {
182
+ const reason = "the registry's hyperlane entry is the Mailbox, not a warp route";
183
+ return {
184
+ quoteGasPayment: local("function quoteGasPayment(uint32 destinationDomain) view returns (uint256)", reason),
185
+ transferRemote: local("function transferRemote(uint32 destination, bytes32 recipient, uint256 amountOrId) payable", `${reason}; the message id it returns is never read`),
186
+ };
187
+ },
188
+ IPermit2: () => ({
189
+ approve: sdk("permit2", "Permit2ABI", Permit2ABI, "approve(address,address,uint160,uint48)", "drop"),
190
+ }),
191
+ };
192
+ const resolved = new Map();
193
+ /** A binding's methods, resolved (and registry-checked) on first use. */
194
+ export function bindingMethods(binding) {
195
+ let methods = resolved.get(binding);
196
+ if (methods === undefined) {
197
+ methods = CATALOG[binding]();
198
+ resolved.set(binding, methods);
199
+ }
200
+ return methods;
201
+ }
202
+ /** Every binding name, for tests and documentation. */
203
+ export const BINDING_NAMES = Object.keys(CATALOG);
204
+ /** The 4-byte selector of a binding's method, from the same fragment the binding compiles with. */
205
+ export function methodSelector(binding, method) {
206
+ return toFunctionSelector(bindingMethods(binding)[method].fn);
207
+ }
208
+ /** The `contracts` map a program naming `bindings` compiles with. */
209
+ export function contractsFor(bindings) {
210
+ const out = {};
211
+ for (const binding of [...new Set(bindings)].sort()) {
212
+ out[binding] = { abi: Object.values(bindingMethods(binding)).map((m) => plain(m.fn)) };
213
+ }
214
+ return out;
215
+ }
@@ -1,12 +1,19 @@
1
1
  /**
2
- * This package's one compiler seam — the published `@eco-incorp/sauce-compiler` wasm package,
3
- * depended on under the alias `sauce-compiler`.
2
+ * This package's one compiler seam — the SDK's own (`sdk/src/wasm-compiler.ts`), so an actions
3
+ * compile shares the SDK's wasm instance and its `ready()`: in a browser, `await ready()` from
4
+ * `@eco-incorp/sauce` or `@eco-incorp/sauce/compiler` once, and every compile here works.
4
5
  *
5
- * The programs these generators emit import nothing (no ABI artifact, no sibling module: every
6
- * call is a raw `evm.call` over a selector this package computes itself), so the resolver only ever
7
- * has to serve the entry — no `baseDirs`, no `resolvePackage`, no `contracts`. That is the whole
8
- * reason this is 30 lines rather than a copy of `sdk/src/routes/rs-compile.ts`.
6
+ * A generated program imports no module: its ABI bindings are handed to the compiler in memory as
7
+ * `inlineContracts`, so the resolver only ever serves the entry — no caller modules, no
8
+ * `resolvePackage`. That is why this is not the SDK's `routes/rs-compile.ts`, which also resolves
9
+ * the SDK's own stdlib and a caller's files.
9
10
  */
10
- /** Compiles a generated SauceScript program for the EVM. */
11
- export declare function compileEvm(source: string): Uint8Array;
11
+ import type { CompileResult } from "sauce-compiler";
12
+ import type { ActionContracts } from "./abis.js";
13
+ export interface EvmCompileOptions {
14
+ /** Encode `main`'s arguments compact-v1 instead of ABI-v1. */
15
+ readonly compactArgs?: boolean;
16
+ }
17
+ /** Compiles a generated SauceScript program, and the ABI bindings it names, for the EVM. */
18
+ export declare function compileEvm(source: string, contracts?: ActionContracts, options?: EvmCompileOptions): CompileResult;
12
19
  //# sourceMappingURL=compile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA8BH,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAQrD"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAKpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAIjD,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,4FAA4F;AAC5F,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,eAAoB,EAC/B,OAAO,GAAE,iBAAsB,GAC9B,aAAa,CAaf"}
@@ -1,38 +1,16 @@
1
- /**
2
- * This package's one compiler seam — the published `@eco-incorp/sauce-compiler` wasm package,
3
- * depended on under the alias `sauce-compiler`.
4
- *
5
- * The programs these generators emit import nothing (no ABI artifact, no sibling module: every
6
- * call is a raw `evm.call` over a selector this package computes itself), so the resolver only ever
7
- * has to serve the entry — no `baseDirs`, no `resolvePackage`, no `contracts`. That is the whole
8
- * reason this is 30 lines rather than a copy of `sdk/src/routes/rs-compile.ts`.
9
- */
10
- import { createRequire } from "node:module";
1
+ // By relative path into the SDK's build, like `registry.ts`: in the published tarball `actions/dist`
2
+ // and `sdk/dist` are siblings.
3
+ import { compile } from "../../sdk/dist/wasm-compiler.js";
11
4
  const ENTRY = "main.js";
12
- let compileFn;
13
- /** Lazily loads the wasm module — only paid once something actually compiles. */
14
- function load() {
15
- if (compileFn)
16
- return compileFn;
17
- // Required via `createRequire`, not `import`: the package's `node` condition is a CommonJS build
18
- // that reads its sibling `.wasm` off disk at load, and Node's own CJS loader is the one that
19
- // resolves that sibling. Mirrors `sdk/src/routes/rs-compile.ts`.
20
- let mod;
21
- try {
22
- mod = createRequire(import.meta.url)("sauce-compiler");
23
- }
24
- catch (cause) {
25
- throw new Error("the SauceScript compiler (`sauce-compiler` -> the published @eco-incorp/sauce-compiler) failed to load.", { cause });
26
- }
27
- compileFn = mod.compile;
28
- return compileFn;
29
- }
30
- /** Compiles a generated SauceScript program for the EVM. */
31
- export function compileEvm(source) {
32
- const bytes = Buffer.from(source, "utf8");
33
- return load()({
5
+ /** Compiles a generated SauceScript program, and the ABI bindings it names, for the EVM. */
6
+ export function compileEvm(source, contracts = {}, options = {}) {
7
+ const bytes = new TextEncoder().encode(source);
8
+ const inlineContracts = Object.entries(contracts).map(([name, { abi }]) => [name, JSON.stringify(abi)]);
9
+ return compile({
34
10
  target: "evm",
35
11
  entry: ENTRY,
36
12
  resolve: (path) => (path === ENTRY ? bytes : undefined),
37
- }).bytecode;
13
+ inlineContracts: inlineContracts.length > 0 ? inlineContracts : undefined,
14
+ compactArgs: options.compactArgs,
15
+ });
38
16
  }
@@ -0,0 +1,46 @@
1
+ import { type IntentOptions, type PendingSauceRoute } from "../../sdk/dist/routes/index.js";
2
+ import type { ActionContracts } from "./abis.js";
3
+ import type { ActionProgram } from "./types.js";
4
+ export interface CompileOptions {
5
+ /** Encode the runtime arguments compact-v1 instead of ABI-v1. Default `false`. */
6
+ readonly compactArgs?: boolean;
7
+ }
8
+ /** Runtime argument values, by `argument` name. Each is a uint256. */
9
+ export type ArgumentValues = Readonly<Record<string, bigint | number | string>>;
10
+ export interface ArgumentEncoding {
11
+ /**
12
+ * Compact-v1 only: encode every argument in exactly this many bytes (1..32) instead of the
13
+ * minimal width, so each sits at a fixed offset whatever its value.
14
+ */
15
+ readonly scalarWidth?: number;
16
+ }
17
+ export interface CompiledProgram {
18
+ readonly bytecode: Uint8Array;
19
+ /** The SauceScript that was compiled. */
20
+ readonly source: string;
21
+ /** The `argument` names, in the order `main` takes them. Empty when there are none. */
22
+ readonly parameters: readonly string[];
23
+ readonly entryEncoding: "abi-v1" | "compact-v1";
24
+ /** The compact-v1 argument schema; present with `compactArgs`. */
25
+ readonly entrySchema?: Uint8Array;
26
+ /** `bytecode` followed by the encoded arguments — the `program` a Pot's `cook(engine, program)` takes. */
27
+ payload(values?: ArgumentValues, encoding?: ArgumentEncoding): Uint8Array;
28
+ /**
29
+ * Where argument `name`'s big-endian value starts in `payload(...)`, for splicing a number into
30
+ * a payload built earlier: its 32-byte word under ABI-v1, its `scalarWidth` bytes under
31
+ * compact-v1 (which requires a `scalarWidth`).
32
+ */
33
+ argumentOffset(name: string, encoding?: ArgumentEncoding): number;
34
+ }
35
+ /** Compiles an action program standalone. Its `argument` actions become runtime arguments. */
36
+ export declare function compileProgram(program: ActionProgram, options?: CompileOptions): CompiledProgram;
37
+ /** Compiles generated source into a `CompiledProgram`. */
38
+ export declare function compiled(source: string, contracts: ActionContracts, parameters: readonly string[], options?: CompileOptions): CompiledProgram;
39
+ /**
40
+ * An action program as an Eco intent route on the program's own chain:
41
+ * `programIntent(program, options).reward(reward)` is `Base(body, options).reward(reward)` with the
42
+ * program as the body. Moving value to another chain is a bridge action inside the program, or a
43
+ * nested intent (`.nest(...)`) on the returned route.
44
+ */
45
+ export declare function programIntent(program: ActionProgram, options: IntentOptions): PendingSauceRoute;
46
+ //# sourceMappingURL=compose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":"AAkBA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAEvB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAIjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,sEAAsE;AACtE,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;AAEhF,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uFAAuF;IACvF,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,QAAQ,GAAG,YAAY,CAAC;IAChD,kEAAkE;IAClE,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAClC,0GAA0G;IAC1G,OAAO,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC;IAC1E;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;CACnE;AAED,8FAA8F;AAC9F,wBAAgB,cAAc,CAC5B,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,cAAmB,GAC3B,eAAe,CAIjB;AAED,0DAA0D;AAC1D,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,GAAE,cAAmB,GAC3B,eAAe,CAmEjB;AA8BD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,GAAG,iBAAiB,CAQ/F"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * An action program, compiled standalone or opened as an Eco intent route.
3
+ *
4
+ * STANDALONE (`compileProgram`). One compiled program; its `argument` actions are `main`
5
+ * parameters, so the same bytecode serves every amount and the amounts travel as argument bytes
6
+ * appended to it. ABI-v1 arguments are 32-byte words; compact-v1 arguments are smaller, and with a
7
+ * declared `scalarWidth` each sits at a fixed offset (`argumentOffset`), which is what lets a caller
8
+ * splice a number measured at runtime into an otherwise precompiled payload.
9
+ *
10
+ * INTENT (`programIntent`). The program is the route body on its own chain: the SDK compiles it
11
+ * there, puts its cook in the route, and `.reward(...)` / `.nest(...)` work on it like on any other.
12
+ * A route body takes no runtime arguments, so an amount only known at execution comes from a
13
+ * `balanceOf` action instead — which is also how a child of a dynamic `.nest()` spends exactly what
14
+ * its parent delivered.
15
+ */
16
+ import { concatBytes, encodeAbiParameters, hexToBytes } from "viem";
17
+ import { encodeCompactArguments } from "../../sdk/dist/compact-arguments.js";
18
+ import { openRoute, } from "../../sdk/dist/routes/index.js";
19
+ import { compileEvm } from "./compile.js";
20
+ import { parseProgram } from "./program.js";
21
+ import { lowerActions, renderProgram, renderRouteBody } from "./to-sauce.js";
22
+ /** Compiles an action program standalone. Its `argument` actions become runtime arguments. */
23
+ export function compileProgram(program, options = {}) {
24
+ const lowered = lowerActions(parseProgram(program).actions);
25
+ return compiled(renderProgram(lowered), lowered.contracts, lowered.parameters, options);
26
+ }
27
+ /** Compiles generated source into a `CompiledProgram`. */
28
+ export function compiled(source, contracts, parameters, options = {}) {
29
+ const result = compileEvm(source, contracts, { compactArgs: options.compactArgs });
30
+ const { bytecode } = result;
31
+ const positional = (values = {}) => {
32
+ const unknown = Object.keys(values).filter((name) => !parameters.includes(name));
33
+ if (unknown.length > 0) {
34
+ throw new Error(`no argument named ${unknown.map((n) => `'${n}'`).join(", ")}` +
35
+ ` (the program takes ${parameters.length === 0 ? "none" : parameters.map((p) => `'${p}'`).join(", ")})`);
36
+ }
37
+ return parameters.map((name) => {
38
+ const value = values[name];
39
+ if (value === undefined)
40
+ throw new Error(`missing a value for argument '${name}'`);
41
+ const scalar = BigInt(value);
42
+ if (scalar < 0n || scalar >= 1n << 256n) {
43
+ throw new Error(`argument '${name}' must be a uint256, got ${value}`);
44
+ }
45
+ return scalar;
46
+ });
47
+ };
48
+ const encodeArguments = (values, encoding = {}) => {
49
+ const args = positional(values);
50
+ if (result.entryEncoding === "compact-v1") {
51
+ return encodeCompactArguments(result.entrySchema, args, {
52
+ scalarWidth: encoding.scalarWidth,
53
+ });
54
+ }
55
+ if (encoding.scalarWidth !== undefined) {
56
+ throw new Error("`scalarWidth` applies to compact-v1 arguments; compile with `compactArgs`");
57
+ }
58
+ if (args.length === 0)
59
+ return new Uint8Array();
60
+ return hexToBytes(encodeAbiParameters(args.map(() => ({ type: "uint256" })), args));
61
+ };
62
+ return {
63
+ bytecode,
64
+ source,
65
+ parameters,
66
+ entryEncoding: result.entryEncoding,
67
+ entrySchema: result.entrySchema,
68
+ payload: (values, encoding) => concatBytes([bytecode, encodeArguments(values, encoding)]),
69
+ argumentOffset(name, encoding = {}) {
70
+ const index = parameters.indexOf(name);
71
+ if (index < 0)
72
+ throw new Error(`no argument named '${name}'`);
73
+ if (result.entryEncoding === "abi-v1")
74
+ return bytecode.length + 32 * index;
75
+ const width = encoding.scalarWidth;
76
+ if (width === undefined) {
77
+ throw new Error("a compact-v1 argument has a fixed offset only under a `scalarWidth`");
78
+ }
79
+ // "SA" + version (1) + flags (0), then per scalar a one-byte width and its value bytes.
80
+ return bytecode.length + 4 + index * (1 + width) + 1;
81
+ },
82
+ };
83
+ }
84
+ /**
85
+ * Merges the action bindings into `compile.contracts`, refusing a same-named binding with a
86
+ * different ABI rather than letting one silently shadow the other.
87
+ */
88
+ function withContracts(compile, contracts) {
89
+ const existing = compile?.contracts ?? {};
90
+ for (const [name, { abi }] of Object.entries(contracts)) {
91
+ const other = existing[name];
92
+ if (other !== undefined && JSON.stringify(other.abi) !== JSON.stringify(abi)) {
93
+ throw new Error(`compile.contracts already binds '${name}' to a different ABI — an action program binds ` +
94
+ "its contracts under I-prefixed names such as this one; rename yours");
95
+ }
96
+ }
97
+ return {
98
+ ...compile,
99
+ contracts: {
100
+ ...existing,
101
+ ...contracts,
102
+ },
103
+ };
104
+ }
105
+ /**
106
+ * An action program as an Eco intent route on the program's own chain:
107
+ * `programIntent(program, options).reward(reward)` is `Base(body, options).reward(reward)` with the
108
+ * program as the body. Moving value to another chain is a bridge action inside the program, or a
109
+ * nested intent (`.nest(...)`) on the returned route.
110
+ */
111
+ export function programIntent(program, options) {
112
+ const { chainId, actions } = parseProgram(program);
113
+ const lowered = lowerActions(actions);
114
+ return openRoute(chainId, renderRouteBody(lowered), {
115
+ ...options,
116
+ compile: withContracts(options.compile, lowered.contracts),
117
+ });
118
+ }