@eco-incorp/sauce 0.99.3 → 0.99.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1304) hide show
  1. package/README.md +105 -63
  2. package/actions/action-program.schema.json +1810 -0
  3. package/actions/dist/abis.d.ts +167 -0
  4. package/actions/dist/abis.d.ts.map +1 -0
  5. package/actions/dist/abis.js +215 -0
  6. package/actions/dist/compile.d.ts +15 -8
  7. package/actions/dist/compile.d.ts.map +1 -1
  8. package/actions/dist/compile.js +11 -33
  9. package/actions/dist/compose.d.ts +46 -0
  10. package/actions/dist/compose.d.ts.map +1 -0
  11. package/actions/dist/compose.js +118 -0
  12. package/actions/dist/emit.d.ts +0 -35
  13. package/actions/dist/emit.d.ts.map +1 -1
  14. package/actions/dist/emit.js +15 -46
  15. package/actions/dist/index.d.ts +11 -8
  16. package/actions/dist/index.d.ts.map +1 -1
  17. package/actions/dist/index.js +6 -4
  18. package/actions/dist/program.d.ts +23 -0
  19. package/actions/dist/program.d.ts.map +1 -0
  20. package/actions/dist/program.js +358 -0
  21. package/actions/dist/registry.d.ts +37 -0
  22. package/actions/dist/registry.d.ts.map +1 -0
  23. package/actions/dist/registry.js +36 -0
  24. package/actions/dist/schema.d.ts +6 -0
  25. package/actions/dist/schema.d.ts.map +1 -0
  26. package/actions/dist/schema.js +166 -0
  27. package/actions/dist/semantics.d.ts +18 -0
  28. package/actions/dist/semantics.d.ts.map +1 -0
  29. package/actions/dist/semantics.js +164 -0
  30. package/actions/dist/spec.d.ts +97 -0
  31. package/actions/dist/spec.d.ts.map +1 -0
  32. package/actions/dist/spec.js +323 -0
  33. package/actions/dist/split-swap.d.ts +35 -0
  34. package/actions/dist/split-swap.d.ts.map +1 -0
  35. package/actions/dist/split-swap.js +175 -0
  36. package/actions/dist/to-quote.d.ts +32 -56
  37. package/actions/dist/to-quote.d.ts.map +1 -1
  38. package/actions/dist/to-quote.js +134 -141
  39. package/actions/dist/to-sauce.d.ts +48 -32
  40. package/actions/dist/to-sauce.d.ts.map +1 -1
  41. package/actions/dist/to-sauce.js +691 -753
  42. package/actions/dist/types.d.ts +227 -335
  43. package/actions/dist/types.d.ts.map +1 -1
  44. package/actions/dist/types.js +12 -3
  45. package/dev-tools/README.md +9 -9
  46. package/dev-tools/artifacts/ISauceRouter.json +1 -1
  47. package/dev-tools/artifacts/Router.json +1 -1
  48. package/dev-tools/scripts/start-fork.sh +1 -1
  49. package/dev-tools/scripts/start-local.sh +5 -1
  50. package/dev-tools/src/svm-local.ts +23 -13
  51. package/docs/README.md +45 -34
  52. package/docs/api/README.md +37 -29
  53. package/docs/api/compiler.md +116 -55
  54. package/docs/api/coverage.md +99 -48
  55. package/docs/api/routes.md +51 -22
  56. package/docs/concepts/architecture.md +83 -116
  57. package/docs/concepts/saucescript.md +27 -23
  58. package/docs/examples/README.md +18 -10
  59. package/docs/examples/action-program.ts +75 -0
  60. package/docs/examples/cross-chain-cascade.sauce.ts +21 -0
  61. package/docs/examples/cross-chain-cascade.ts +43 -0
  62. package/docs/examples/cross-chain-intent.sauce.ts +23 -0
  63. package/docs/examples/cross-chain-intent.ts +49 -0
  64. package/docs/examples/first-intent.ts +7 -10
  65. package/docs/examples/protocol-approval.ts +3 -7
  66. package/docs/guides/actions.md +395 -0
  67. package/docs/guides/builders-and-actions.md +31 -37
  68. package/docs/guides/compiling.md +97 -98
  69. package/docs/guides/intents.md +242 -24
  70. package/docs/guides/nested-intents.md +165 -5
  71. package/docs/guides/protocols-and-tokens.md +15 -7
  72. package/docs/guides/quick-start.md +51 -22
  73. package/docs/guides/solana.md +38 -39
  74. package/docs/guides/verification.md +70 -31
  75. package/package.json +7 -2
  76. package/sdk/dist/artifacts/ISauceRouter.json +1 -1
  77. package/sdk/dist/artifacts/Router.json +1 -1
  78. package/sdk/dist/artifacts/V12Deployments.json +23 -22
  79. package/sdk/dist/artifacts/V12EngineGate.json +2 -2
  80. package/sdk/dist/artifacts/V12Kitchen.json +1 -1
  81. package/sdk/dist/artifacts/V12Pot.json +1 -1
  82. package/sdk/dist/artifacts/V12RuntimeBytecode.json +1 -1
  83. package/sdk/dist/artifacts/svm/engine-devnet.so +0 -0
  84. package/sdk/dist/artifacts/svm/engine-mainnet.so +0 -0
  85. package/sdk/dist/artifacts/svm/engine-wire-devnet.json +6 -0
  86. package/sdk/dist/artifacts/svm/engine-wire-mainnet.json +6 -0
  87. package/sdk/dist/bytes.d.ts +10 -0
  88. package/sdk/dist/bytes.d.ts.map +1 -0
  89. package/sdk/dist/bytes.js +31 -0
  90. package/sdk/dist/bytes.js.map +1 -0
  91. package/sdk/dist/chains/canonical.d.ts +7 -1
  92. package/sdk/dist/chains/canonical.d.ts.map +1 -1
  93. package/sdk/dist/chains/canonical.js +6 -2
  94. package/sdk/dist/chains/canonical.js.map +1 -1
  95. package/sdk/dist/chains/index.d.ts +16 -2
  96. package/sdk/dist/chains/index.d.ts.map +1 -1
  97. package/sdk/dist/chains/index.js +51 -34
  98. package/sdk/dist/chains/index.js.map +1 -1
  99. package/sdk/dist/compact-arguments.d.ts +4 -1
  100. package/sdk/dist/compact-arguments.d.ts.map +1 -1
  101. package/sdk/dist/compact-arguments.js +25 -4
  102. package/sdk/dist/compact-arguments.js.map +1 -1
  103. package/sdk/dist/compiler.d.ts +13 -1
  104. package/sdk/dist/compiler.d.ts.map +1 -1
  105. package/sdk/dist/compiler.js +5 -6
  106. package/sdk/dist/compiler.js.map +1 -1
  107. package/sdk/dist/core/types.d.ts +18 -2
  108. package/sdk/dist/core/types.d.ts.map +1 -1
  109. package/sdk/dist/deployments/pot.d.ts +39 -0
  110. package/sdk/dist/deployments/pot.d.ts.map +1 -0
  111. package/sdk/dist/deployments/pot.js +48 -0
  112. package/sdk/dist/deployments/pot.js.map +1 -0
  113. package/sdk/dist/deployments/v12-addresses.d.ts +1 -4
  114. package/sdk/dist/deployments/v12-addresses.d.ts.map +1 -1
  115. package/sdk/dist/deployments/v12-addresses.js +7 -21
  116. package/sdk/dist/deployments/v12-addresses.js.map +1 -1
  117. package/sdk/dist/deposit/index.d.ts +5 -5
  118. package/sdk/dist/deposit/index.d.ts.map +1 -1
  119. package/sdk/dist/deposit/index.js +1 -1
  120. package/sdk/dist/deposit/index.js.map +1 -1
  121. package/sdk/dist/deposit/params.d.ts +3 -2
  122. package/sdk/dist/deposit/params.d.ts.map +1 -1
  123. package/sdk/dist/deposit/params.js +40 -3
  124. package/sdk/dist/deposit/params.js.map +1 -1
  125. package/sdk/dist/deposit/source.d.ts +0 -19
  126. package/sdk/dist/deposit/source.d.ts.map +1 -1
  127. package/sdk/dist/deposit/source.js +17 -34
  128. package/sdk/dist/deposit/source.js.map +1 -1
  129. package/sdk/dist/descriptors/accessors.d.ts +2 -2
  130. package/sdk/dist/descriptors/accessors.d.ts.map +1 -1
  131. package/sdk/dist/descriptors/accessors.js +15 -4
  132. package/sdk/dist/descriptors/accessors.js.map +1 -1
  133. package/sdk/dist/descriptors/call.d.ts +8 -13
  134. package/sdk/dist/descriptors/call.d.ts.map +1 -1
  135. package/sdk/dist/descriptors/call.js +7 -19
  136. package/sdk/dist/descriptors/call.js.map +1 -1
  137. package/sdk/dist/descriptors/derive.d.ts +1 -1
  138. package/sdk/dist/descriptors/derive.d.ts.map +1 -1
  139. package/sdk/dist/descriptors/derive.js +1 -1
  140. package/sdk/dist/descriptors/derive.js.map +1 -1
  141. package/sdk/dist/descriptors/index.d.ts +1 -1
  142. package/sdk/dist/descriptors/index.d.ts.map +1 -1
  143. package/sdk/dist/descriptors/index.js +1 -1
  144. package/sdk/dist/descriptors/index.js.map +1 -1
  145. package/sdk/dist/descriptors/links.d.ts +3 -12
  146. package/sdk/dist/descriptors/links.d.ts.map +1 -1
  147. package/sdk/dist/descriptors/links.js +2 -32
  148. package/sdk/dist/descriptors/links.js.map +1 -1
  149. package/sdk/dist/descriptors/query.d.ts +7 -3
  150. package/sdk/dist/descriptors/query.d.ts.map +1 -1
  151. package/sdk/dist/descriptors/query.js +9 -5
  152. package/sdk/dist/descriptors/query.js.map +1 -1
  153. package/sdk/dist/descriptors/registry.d.ts.map +1 -1
  154. package/sdk/dist/descriptors/registry.js +1 -0
  155. package/sdk/dist/descriptors/registry.js.map +1 -1
  156. package/sdk/dist/embedded/recipes.d.ts +3 -0
  157. package/sdk/dist/embedded/recipes.d.ts.map +1 -0
  158. package/sdk/dist/embedded/recipes.js +15 -0
  159. package/sdk/dist/embedded/recipes.js.map +1 -0
  160. package/sdk/dist/embedded/resolve.d.ts +27 -0
  161. package/sdk/dist/embedded/resolve.d.ts.map +1 -0
  162. package/sdk/dist/embedded/resolve.js +99 -0
  163. package/sdk/dist/embedded/resolve.js.map +1 -0
  164. package/sdk/dist/embedded/skills.generated.d.ts +3 -0
  165. package/sdk/dist/embedded/skills.generated.d.ts.map +1 -0
  166. package/sdk/dist/embedded/skills.generated.js +141 -0
  167. package/sdk/dist/embedded/skills.generated.js.map +1 -0
  168. package/sdk/dist/embedded/sources.generated.d.ts +7 -0
  169. package/sdk/dist/embedded/sources.generated.d.ts.map +1 -0
  170. package/sdk/dist/embedded/sources.generated.js +231 -0
  171. package/sdk/dist/embedded/sources.generated.js.map +1 -0
  172. package/sdk/dist/evm/execution-fee.d.ts +30 -0
  173. package/sdk/dist/evm/execution-fee.d.ts.map +1 -0
  174. package/sdk/dist/evm/execution-fee.js +33 -0
  175. package/sdk/dist/evm/execution-fee.js.map +1 -0
  176. package/sdk/dist/index.d.ts +7 -2
  177. package/sdk/dist/index.d.ts.map +1 -1
  178. package/sdk/dist/index.js +16 -10
  179. package/sdk/dist/index.js.map +1 -1
  180. package/sdk/dist/plugin/index.d.ts +1 -1
  181. package/sdk/dist/plugin/index.d.ts.map +1 -1
  182. package/sdk/dist/plugin/index.js +5 -22
  183. package/sdk/dist/plugin/index.js.map +1 -1
  184. package/sdk/dist/protocols/aave-v4/abis.d.ts +201 -0
  185. package/sdk/dist/protocols/aave-v4/abis.d.ts.map +1 -0
  186. package/sdk/dist/protocols/aave-v4/abis.js +139 -0
  187. package/sdk/dist/protocols/aave-v4/abis.js.map +1 -0
  188. package/sdk/dist/protocols/aave-v4/addresses.d.ts +3 -0
  189. package/sdk/dist/protocols/aave-v4/addresses.d.ts.map +1 -0
  190. package/sdk/dist/protocols/aave-v4/addresses.js +65 -0
  191. package/sdk/dist/protocols/aave-v4/addresses.js.map +1 -0
  192. package/sdk/dist/protocols/aave-v4/functions.d.ts +5 -0
  193. package/sdk/dist/protocols/aave-v4/functions.d.ts.map +1 -0
  194. package/sdk/dist/protocols/aave-v4/functions.js +37 -0
  195. package/sdk/dist/protocols/aave-v4/functions.js.map +1 -0
  196. package/sdk/dist/protocols/aave-v4/index.d.ts +5 -0
  197. package/sdk/dist/protocols/aave-v4/index.d.ts.map +1 -0
  198. package/sdk/dist/protocols/aave-v4/index.js +5 -0
  199. package/sdk/dist/protocols/aave-v4/index.js.map +1 -0
  200. package/sdk/dist/protocols/aave-v4/info.d.ts +3 -0
  201. package/sdk/dist/protocols/aave-v4/info.d.ts.map +1 -0
  202. package/sdk/dist/protocols/aave-v4/info.js +12 -0
  203. package/sdk/dist/protocols/aave-v4/info.js.map +1 -0
  204. package/sdk/dist/protocols/across/abis.d.ts +24 -12
  205. package/sdk/dist/protocols/across/abis.d.ts.map +1 -1
  206. package/sdk/dist/protocols/across/abis.js +16 -8
  207. package/sdk/dist/protocols/across/abis.js.map +1 -1
  208. package/sdk/dist/protocols/across/addresses.d.ts.map +1 -1
  209. package/sdk/dist/protocols/across/addresses.js +10 -0
  210. package/sdk/dist/protocols/across/addresses.js.map +1 -1
  211. package/sdk/dist/protocols/across/functions.d.ts +1 -1
  212. package/sdk/dist/protocols/across/functions.d.ts.map +1 -1
  213. package/sdk/dist/protocols/across/functions.js +2 -2
  214. package/sdk/dist/protocols/aerodrome-slipstream/abis.d.ts +112 -0
  215. package/sdk/dist/protocols/aerodrome-slipstream/abis.d.ts.map +1 -0
  216. package/sdk/dist/protocols/aerodrome-slipstream/abis.js +73 -0
  217. package/sdk/dist/protocols/aerodrome-slipstream/abis.js.map +1 -0
  218. package/sdk/dist/protocols/aerodrome-slipstream/addresses.d.ts +3 -0
  219. package/sdk/dist/protocols/aerodrome-slipstream/addresses.d.ts.map +1 -0
  220. package/sdk/dist/protocols/aerodrome-slipstream/addresses.js +39 -0
  221. package/sdk/dist/protocols/aerodrome-slipstream/addresses.js.map +1 -0
  222. package/sdk/dist/protocols/aerodrome-slipstream/functions.d.ts +2 -0
  223. package/sdk/dist/protocols/aerodrome-slipstream/functions.d.ts.map +1 -0
  224. package/sdk/dist/protocols/aerodrome-slipstream/functions.js +9 -0
  225. package/sdk/dist/protocols/aerodrome-slipstream/functions.js.map +1 -0
  226. package/sdk/dist/protocols/aerodrome-slipstream/index.d.ts +5 -0
  227. package/sdk/dist/protocols/aerodrome-slipstream/index.d.ts.map +1 -0
  228. package/sdk/dist/protocols/aerodrome-slipstream/index.js +5 -0
  229. package/sdk/dist/protocols/aerodrome-slipstream/index.js.map +1 -0
  230. package/sdk/dist/protocols/aerodrome-slipstream/info.d.ts +3 -0
  231. package/sdk/dist/protocols/aerodrome-slipstream/info.d.ts.map +1 -0
  232. package/sdk/dist/protocols/aerodrome-slipstream/info.js +12 -0
  233. package/sdk/dist/protocols/aerodrome-slipstream/info.js.map +1 -0
  234. package/sdk/dist/protocols/aevo/abis.d.ts +17 -2
  235. package/sdk/dist/protocols/aevo/abis.d.ts.map +1 -1
  236. package/sdk/dist/protocols/aevo/abis.js +10 -2
  237. package/sdk/dist/protocols/aevo/abis.js.map +1 -1
  238. package/sdk/dist/protocols/aevo/functions.d.ts +1 -1
  239. package/sdk/dist/protocols/aevo/functions.d.ts.map +1 -1
  240. package/sdk/dist/protocols/aevo/functions.js +2 -2
  241. package/sdk/dist/protocols/alchemix/abis.d.ts +1 -1
  242. package/sdk/dist/protocols/alchemix/abis.js +1 -1
  243. package/sdk/dist/protocols/alchemix/abis.js.map +1 -1
  244. package/sdk/dist/protocols/ambient/abis.d.ts +2 -2
  245. package/sdk/dist/protocols/ambient/abis.d.ts.map +1 -1
  246. package/sdk/dist/protocols/ambient/abis.js +3 -2
  247. package/sdk/dist/protocols/ambient/abis.js.map +1 -1
  248. package/sdk/dist/protocols/ambient/addresses.d.ts.map +1 -1
  249. package/sdk/dist/protocols/ambient/addresses.js +2 -1
  250. package/sdk/dist/protocols/ambient/addresses.js.map +1 -1
  251. package/sdk/dist/protocols/arrakis/abis.d.ts +4 -13
  252. package/sdk/dist/protocols/arrakis/abis.d.ts.map +1 -1
  253. package/sdk/dist/protocols/arrakis/abis.js +2 -11
  254. package/sdk/dist/protocols/arrakis/abis.js.map +1 -1
  255. package/sdk/dist/protocols/arrakis/functions.d.ts +1 -1
  256. package/sdk/dist/protocols/arrakis/functions.d.ts.map +1 -1
  257. package/sdk/dist/protocols/arrakis/functions.js +2 -1
  258. package/sdk/dist/protocols/arrakis/functions.js.map +1 -1
  259. package/sdk/dist/protocols/axelar/abis.d.ts +1 -1
  260. package/sdk/dist/protocols/axelar/abis.js +1 -1
  261. package/sdk/dist/protocols/balancer-v2/abis.d.ts +7 -7
  262. package/sdk/dist/protocols/balancer-v2/abis.js +7 -7
  263. package/sdk/dist/protocols/balancer-v2/abis.js.map +1 -1
  264. package/sdk/dist/protocols/cbeth/abis.d.ts +7 -1
  265. package/sdk/dist/protocols/cbeth/abis.d.ts.map +1 -1
  266. package/sdk/dist/protocols/cbeth/abis.js +6 -2
  267. package/sdk/dist/protocols/cbeth/abis.js.map +1 -1
  268. package/sdk/dist/protocols/cctp/abis.d.ts +1 -4
  269. package/sdk/dist/protocols/cctp/abis.d.ts.map +1 -1
  270. package/sdk/dist/protocols/cctp/abis.js +3 -1
  271. package/sdk/dist/protocols/cctp/abis.js.map +1 -1
  272. package/sdk/dist/protocols/cctp/addresses.d.ts.map +1 -1
  273. package/sdk/dist/protocols/cctp/addresses.js +3 -0
  274. package/sdk/dist/protocols/cctp/addresses.js.map +1 -1
  275. package/sdk/dist/protocols/chainlink/abis.d.ts +6 -6
  276. package/sdk/dist/protocols/chainlink/abis.js +6 -6
  277. package/sdk/dist/protocols/chainlink/abis.js.map +1 -1
  278. package/sdk/dist/protocols/chainlink/addresses.d.ts.map +1 -1
  279. package/sdk/dist/protocols/chainlink/addresses.js +10 -0
  280. package/sdk/dist/protocols/chainlink/addresses.js.map +1 -1
  281. package/sdk/dist/protocols/chainlink-ccip/abis.d.ts +1 -1
  282. package/sdk/dist/protocols/chainlink-ccip/abis.js +1 -1
  283. package/sdk/dist/protocols/chainlink-ccip/addresses.d.ts.map +1 -1
  284. package/sdk/dist/protocols/chainlink-ccip/addresses.js +9 -0
  285. package/sdk/dist/protocols/chainlink-ccip/addresses.js.map +1 -1
  286. package/sdk/dist/protocols/circle-gateway/abis.d.ts +114 -0
  287. package/sdk/dist/protocols/circle-gateway/abis.d.ts.map +1 -0
  288. package/sdk/dist/protocols/circle-gateway/abis.js +86 -0
  289. package/sdk/dist/protocols/circle-gateway/abis.js.map +1 -0
  290. package/sdk/dist/protocols/circle-gateway/addresses.d.ts +3 -0
  291. package/sdk/dist/protocols/circle-gateway/addresses.d.ts.map +1 -0
  292. package/sdk/dist/protocols/circle-gateway/addresses.js +37 -0
  293. package/sdk/dist/protocols/circle-gateway/addresses.js.map +1 -0
  294. package/sdk/dist/protocols/circle-gateway/functions.d.ts +4 -0
  295. package/sdk/dist/protocols/circle-gateway/functions.d.ts.map +1 -0
  296. package/sdk/dist/protocols/circle-gateway/functions.js +27 -0
  297. package/sdk/dist/protocols/circle-gateway/functions.js.map +1 -0
  298. package/sdk/dist/protocols/circle-gateway/index.d.ts +5 -0
  299. package/sdk/dist/protocols/circle-gateway/index.d.ts.map +1 -0
  300. package/sdk/dist/protocols/circle-gateway/index.js +5 -0
  301. package/sdk/dist/protocols/circle-gateway/index.js.map +1 -0
  302. package/sdk/dist/protocols/circle-gateway/info.d.ts +3 -0
  303. package/sdk/dist/protocols/circle-gateway/info.d.ts.map +1 -0
  304. package/sdk/dist/protocols/circle-gateway/info.js +12 -0
  305. package/sdk/dist/protocols/circle-gateway/info.js.map +1 -0
  306. package/sdk/dist/protocols/compound-v2/abis.d.ts +2 -2
  307. package/sdk/dist/protocols/compound-v2/abis.js +2 -2
  308. package/sdk/dist/protocols/compound-v2/abis.js.map +1 -1
  309. package/sdk/dist/protocols/connext/abis.d.ts +46 -6
  310. package/sdk/dist/protocols/connext/abis.d.ts.map +1 -1
  311. package/sdk/dist/protocols/connext/abis.js +27 -5
  312. package/sdk/dist/protocols/connext/abis.js.map +1 -1
  313. package/sdk/dist/protocols/connext/addresses.d.ts.map +1 -1
  314. package/sdk/dist/protocols/connext/addresses.js +1 -7
  315. package/sdk/dist/protocols/connext/addresses.js.map +1 -1
  316. package/sdk/dist/protocols/connext/functions.d.ts +1 -1
  317. package/sdk/dist/protocols/connext/functions.d.ts.map +1 -1
  318. package/sdk/dist/protocols/connext/functions.js +3 -2
  319. package/sdk/dist/protocols/connext/functions.js.map +1 -1
  320. package/sdk/dist/protocols/curve/abis.d.ts +119 -7
  321. package/sdk/dist/protocols/curve/abis.d.ts.map +1 -1
  322. package/sdk/dist/protocols/curve/abis.js +90 -7
  323. package/sdk/dist/protocols/curve/abis.js.map +1 -1
  324. package/sdk/dist/protocols/debridge/abis.d.ts +7 -7
  325. package/sdk/dist/protocols/debridge/abis.js +5 -5
  326. package/sdk/dist/protocols/debridge/abis.js.map +1 -1
  327. package/sdk/dist/protocols/debridge/addresses.d.ts.map +1 -1
  328. package/sdk/dist/protocols/debridge/addresses.js +11 -0
  329. package/sdk/dist/protocols/debridge/addresses.js.map +1 -1
  330. package/sdk/dist/protocols/eco-routes/abis.d.ts +463 -0
  331. package/sdk/dist/protocols/eco-routes/abis.d.ts.map +1 -0
  332. package/sdk/dist/protocols/eco-routes/abis.js +632 -0
  333. package/sdk/dist/protocols/eco-routes/abis.js.map +1 -0
  334. package/sdk/dist/protocols/eco-routes/addresses.d.ts +9 -0
  335. package/sdk/dist/protocols/eco-routes/addresses.d.ts.map +1 -0
  336. package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts +585 -0
  337. package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts.map +1 -0
  338. package/sdk/dist/protocols/eco-routes/addresses.generated.js +590 -0
  339. package/sdk/dist/protocols/eco-routes/addresses.generated.js.map +1 -0
  340. package/sdk/dist/protocols/eco-routes/addresses.js +21 -0
  341. package/sdk/dist/protocols/eco-routes/addresses.js.map +1 -0
  342. package/sdk/dist/protocols/eco-routes/functions.d.ts +12 -0
  343. package/sdk/dist/protocols/eco-routes/functions.d.ts.map +1 -0
  344. package/sdk/dist/protocols/eco-routes/functions.js +45 -0
  345. package/sdk/dist/protocols/eco-routes/functions.js.map +1 -0
  346. package/sdk/dist/protocols/eco-routes/index.d.ts +6 -0
  347. package/sdk/dist/protocols/eco-routes/index.d.ts.map +1 -0
  348. package/sdk/dist/protocols/eco-routes/index.js +6 -0
  349. package/sdk/dist/protocols/eco-routes/index.js.map +1 -0
  350. package/sdk/dist/protocols/eco-routes/info.d.ts +3 -0
  351. package/sdk/dist/protocols/eco-routes/info.d.ts.map +1 -0
  352. package/sdk/dist/protocols/eco-routes/info.js +12 -0
  353. package/sdk/dist/protocols/eco-routes/info.js.map +1 -0
  354. package/sdk/dist/protocols/eco-routes/lookup.d.ts +82 -0
  355. package/sdk/dist/protocols/eco-routes/lookup.d.ts.map +1 -0
  356. package/sdk/dist/protocols/eco-routes/lookup.js +148 -0
  357. package/sdk/dist/protocols/eco-routes/lookup.js.map +1 -0
  358. package/sdk/dist/protocols/eigenlayer/abis.d.ts +4 -4
  359. package/sdk/dist/protocols/eigenlayer/abis.d.ts.map +1 -1
  360. package/sdk/dist/protocols/eigenlayer/abis.js +5 -4
  361. package/sdk/dist/protocols/eigenlayer/abis.js.map +1 -1
  362. package/sdk/dist/protocols/ens/abis.d.ts +4 -4
  363. package/sdk/dist/protocols/ens/abis.js +4 -4
  364. package/sdk/dist/protocols/etherfi/abis.d.ts +1 -1
  365. package/sdk/dist/protocols/etherfi/abis.d.ts.map +1 -1
  366. package/sdk/dist/protocols/etherfi/abis.js +2 -1
  367. package/sdk/dist/protocols/etherfi/abis.js.map +1 -1
  368. package/sdk/dist/protocols/euler-v2/abis.d.ts +2 -2
  369. package/sdk/dist/protocols/euler-v2/abis.js +2 -2
  370. package/sdk/dist/protocols/euler-v2/abis.js.map +1 -1
  371. package/sdk/dist/protocols/fluid/abis.d.ts +47 -26
  372. package/sdk/dist/protocols/fluid/abis.d.ts.map +1 -1
  373. package/sdk/dist/protocols/fluid/abis.js +39 -18
  374. package/sdk/dist/protocols/fluid/abis.js.map +1 -1
  375. package/sdk/dist/protocols/fluid/functions.d.ts +4 -4
  376. package/sdk/dist/protocols/fluid/functions.d.ts.map +1 -1
  377. package/sdk/dist/protocols/fluid/functions.js +18 -16
  378. package/sdk/dist/protocols/fluid/functions.js.map +1 -1
  379. package/sdk/dist/protocols/gains-network/abis.d.ts +44 -35
  380. package/sdk/dist/protocols/gains-network/abis.d.ts.map +1 -1
  381. package/sdk/dist/protocols/gains-network/abis.js +26 -21
  382. package/sdk/dist/protocols/gains-network/abis.js.map +1 -1
  383. package/sdk/dist/protocols/gains-network/functions.d.ts +3 -3
  384. package/sdk/dist/protocols/gains-network/functions.d.ts.map +1 -1
  385. package/sdk/dist/protocols/gains-network/functions.js +6 -6
  386. package/sdk/dist/protocols/gamma/abis.d.ts +43 -0
  387. package/sdk/dist/protocols/gamma/abis.d.ts.map +1 -1
  388. package/sdk/dist/protocols/gamma/abis.js +30 -0
  389. package/sdk/dist/protocols/gamma/abis.js.map +1 -1
  390. package/sdk/dist/protocols/gamma/addresses.d.ts.map +1 -1
  391. package/sdk/dist/protocols/gamma/addresses.js +2 -7
  392. package/sdk/dist/protocols/gamma/addresses.js.map +1 -1
  393. package/sdk/dist/protocols/gamma/functions.d.ts +1 -0
  394. package/sdk/dist/protocols/gamma/functions.d.ts.map +1 -1
  395. package/sdk/dist/protocols/gamma/functions.js +9 -0
  396. package/sdk/dist/protocols/gamma/functions.js.map +1 -1
  397. package/sdk/dist/protocols/gelato/abis.d.ts +2 -2
  398. package/sdk/dist/protocols/gelato/abis.js +2 -2
  399. package/sdk/dist/protocols/gmx-v1/abis.d.ts +15 -3
  400. package/sdk/dist/protocols/gmx-v1/abis.d.ts.map +1 -1
  401. package/sdk/dist/protocols/gmx-v1/abis.js +5 -3
  402. package/sdk/dist/protocols/gmx-v1/abis.js.map +1 -1
  403. package/sdk/dist/protocols/gmx-v1/functions.d.ts +2 -2
  404. package/sdk/dist/protocols/gmx-v1/functions.d.ts.map +1 -1
  405. package/sdk/dist/protocols/gmx-v1/functions.js +2 -2
  406. package/sdk/dist/protocols/gmx-v2/abis.d.ts +11 -5
  407. package/sdk/dist/protocols/gmx-v2/abis.d.ts.map +1 -1
  408. package/sdk/dist/protocols/gmx-v2/abis.js +7 -4
  409. package/sdk/dist/protocols/gmx-v2/abis.js.map +1 -1
  410. package/sdk/dist/protocols/gmx-v2/addresses.d.ts.map +1 -1
  411. package/sdk/dist/protocols/gmx-v2/addresses.js +3 -1
  412. package/sdk/dist/protocols/gmx-v2/addresses.js.map +1 -1
  413. package/sdk/dist/protocols/gmx-v2/functions.d.ts +1 -1
  414. package/sdk/dist/protocols/gmx-v2/functions.d.ts.map +1 -1
  415. package/sdk/dist/protocols/gmx-v2/functions.js +4 -2
  416. package/sdk/dist/protocols/gmx-v2/functions.js.map +1 -1
  417. package/sdk/dist/protocols/harvest/abis.d.ts +8 -2
  418. package/sdk/dist/protocols/harvest/abis.d.ts.map +1 -1
  419. package/sdk/dist/protocols/harvest/abis.js +2 -2
  420. package/sdk/dist/protocols/harvest/abis.js.map +1 -1
  421. package/sdk/dist/protocols/hegic/abis.d.ts +5 -2
  422. package/sdk/dist/protocols/hegic/abis.d.ts.map +1 -1
  423. package/sdk/dist/protocols/hegic/abis.js +7 -2
  424. package/sdk/dist/protocols/hegic/abis.js.map +1 -1
  425. package/sdk/dist/protocols/hegic/addresses.d.ts.map +1 -1
  426. package/sdk/dist/protocols/hegic/addresses.js +1 -0
  427. package/sdk/dist/protocols/hegic/addresses.js.map +1 -1
  428. package/sdk/dist/protocols/hegic/functions.d.ts +1 -1
  429. package/sdk/dist/protocols/hegic/functions.d.ts.map +1 -1
  430. package/sdk/dist/protocols/hegic/functions.js +3 -3
  431. package/sdk/dist/protocols/hop/addresses.d.ts.map +1 -1
  432. package/sdk/dist/protocols/hop/addresses.js +5 -2
  433. package/sdk/dist/protocols/hop/addresses.js.map +1 -1
  434. package/sdk/dist/protocols/hyperlane/abis.d.ts +5 -5
  435. package/sdk/dist/protocols/hyperlane/abis.js +5 -5
  436. package/sdk/dist/protocols/hyperlane/abis.js.map +1 -1
  437. package/sdk/dist/protocols/hyperlane/addresses.d.ts.map +1 -1
  438. package/sdk/dist/protocols/hyperlane/addresses.js +9 -0
  439. package/sdk/dist/protocols/hyperlane/addresses.js.map +1 -1
  440. package/sdk/dist/protocols/index.d.ts +1 -0
  441. package/sdk/dist/protocols/index.d.ts.map +1 -1
  442. package/sdk/dist/protocols/index.js +13 -0
  443. package/sdk/dist/protocols/index.js.map +1 -1
  444. package/sdk/dist/protocols/kim/abis.d.ts +7 -20
  445. package/sdk/dist/protocols/kim/abis.d.ts.map +1 -1
  446. package/sdk/dist/protocols/kim/abis.js +6 -12
  447. package/sdk/dist/protocols/kim/abis.js.map +1 -1
  448. package/sdk/dist/protocols/kim/functions.d.ts +1 -1
  449. package/sdk/dist/protocols/kim/functions.d.ts.map +1 -1
  450. package/sdk/dist/protocols/kim/functions.js +3 -2
  451. package/sdk/dist/protocols/kim/functions.js.map +1 -1
  452. package/sdk/dist/protocols/kyberswap/abis.d.ts +41 -16
  453. package/sdk/dist/protocols/kyberswap/abis.d.ts.map +1 -1
  454. package/sdk/dist/protocols/kyberswap/abis.js +21 -8
  455. package/sdk/dist/protocols/kyberswap/abis.js.map +1 -1
  456. package/sdk/dist/protocols/kyberswap/addresses.d.ts.map +1 -1
  457. package/sdk/dist/protocols/kyberswap/addresses.js +12 -2
  458. package/sdk/dist/protocols/kyberswap/addresses.js.map +1 -1
  459. package/sdk/dist/protocols/kyberswap-aggregator/addresses.d.ts.map +1 -1
  460. package/sdk/dist/protocols/kyberswap-aggregator/addresses.js +12 -1
  461. package/sdk/dist/protocols/kyberswap-aggregator/addresses.js.map +1 -1
  462. package/sdk/dist/protocols/layerbank/abis.d.ts +81 -24
  463. package/sdk/dist/protocols/layerbank/abis.d.ts.map +1 -1
  464. package/sdk/dist/protocols/layerbank/abis.js +69 -17
  465. package/sdk/dist/protocols/layerbank/abis.js.map +1 -1
  466. package/sdk/dist/protocols/layerbank/addresses.d.ts.map +1 -1
  467. package/sdk/dist/protocols/layerbank/addresses.js +3 -1
  468. package/sdk/dist/protocols/layerbank/addresses.js.map +1 -1
  469. package/sdk/dist/protocols/layerbank/functions.d.ts +4 -4
  470. package/sdk/dist/protocols/layerbank/functions.d.ts.map +1 -1
  471. package/sdk/dist/protocols/layerbank/functions.js +18 -16
  472. package/sdk/dist/protocols/layerbank/functions.js.map +1 -1
  473. package/sdk/dist/protocols/layerzero/abis.d.ts +3 -3
  474. package/sdk/dist/protocols/layerzero/abis.js +3 -3
  475. package/sdk/dist/protocols/layerzero/addresses.d.ts.map +1 -1
  476. package/sdk/dist/protocols/layerzero/addresses.js +11 -1
  477. package/sdk/dist/protocols/layerzero/addresses.js.map +1 -1
  478. package/sdk/dist/protocols/level-finance/abis.d.ts +6 -0
  479. package/sdk/dist/protocols/level-finance/abis.d.ts.map +1 -1
  480. package/sdk/dist/protocols/level-finance/abis.js +2 -0
  481. package/sdk/dist/protocols/level-finance/abis.js.map +1 -1
  482. package/sdk/dist/protocols/level-finance/functions.d.ts +2 -2
  483. package/sdk/dist/protocols/level-finance/functions.d.ts.map +1 -1
  484. package/sdk/dist/protocols/level-finance/functions.js +4 -4
  485. package/sdk/dist/protocols/lifi/abis.d.ts +41 -4
  486. package/sdk/dist/protocols/lifi/abis.d.ts.map +1 -1
  487. package/sdk/dist/protocols/lifi/abis.js +24 -4
  488. package/sdk/dist/protocols/lifi/abis.js.map +1 -1
  489. package/sdk/dist/protocols/lifi/addresses.d.ts.map +1 -1
  490. package/sdk/dist/protocols/lifi/addresses.js +9 -0
  491. package/sdk/dist/protocols/lifi/addresses.js.map +1 -1
  492. package/sdk/dist/protocols/lifi/functions.d.ts +1 -1
  493. package/sdk/dist/protocols/lifi/functions.d.ts.map +1 -1
  494. package/sdk/dist/protocols/lifi/functions.js +5 -2
  495. package/sdk/dist/protocols/lifi/functions.js.map +1 -1
  496. package/sdk/dist/protocols/liquity-v1/abis.d.ts +6 -0
  497. package/sdk/dist/protocols/liquity-v1/abis.d.ts.map +1 -1
  498. package/sdk/dist/protocols/liquity-v1/abis.js +7 -1
  499. package/sdk/dist/protocols/liquity-v1/abis.js.map +1 -1
  500. package/sdk/dist/protocols/liquity-v1/functions.d.ts +1 -1
  501. package/sdk/dist/protocols/liquity-v1/functions.d.ts.map +1 -1
  502. package/sdk/dist/protocols/liquity-v1/functions.js +1 -1
  503. package/sdk/dist/protocols/mantle-meth/abis.d.ts +26 -25
  504. package/sdk/dist/protocols/mantle-meth/abis.d.ts.map +1 -1
  505. package/sdk/dist/protocols/mantle-meth/abis.js +22 -17
  506. package/sdk/dist/protocols/mantle-meth/abis.js.map +1 -1
  507. package/sdk/dist/protocols/mantle-meth/addresses.d.ts.map +1 -1
  508. package/sdk/dist/protocols/mantle-meth/addresses.js +3 -0
  509. package/sdk/dist/protocols/mantle-meth/addresses.js.map +1 -1
  510. package/sdk/dist/protocols/mantle-meth/functions.d.ts +1 -1
  511. package/sdk/dist/protocols/mantle-meth/functions.d.ts.map +1 -1
  512. package/sdk/dist/protocols/mantle-meth/functions.js +4 -4
  513. package/sdk/dist/protocols/maverick/abis.d.ts +9 -0
  514. package/sdk/dist/protocols/maverick/abis.d.ts.map +1 -1
  515. package/sdk/dist/protocols/maverick/abis.js +7 -1
  516. package/sdk/dist/protocols/maverick/abis.js.map +1 -1
  517. package/sdk/dist/protocols/morpho-blue/addresses.d.ts.map +1 -1
  518. package/sdk/dist/protocols/morpho-blue/addresses.js +10 -0
  519. package/sdk/dist/protocols/morpho-blue/addresses.js.map +1 -1
  520. package/sdk/dist/protocols/mux-protocol/abis.d.ts +87 -32
  521. package/sdk/dist/protocols/mux-protocol/abis.d.ts.map +1 -1
  522. package/sdk/dist/protocols/mux-protocol/abis.js +54 -21
  523. package/sdk/dist/protocols/mux-protocol/abis.js.map +1 -1
  524. package/sdk/dist/protocols/mux-protocol/functions.d.ts +2 -2
  525. package/sdk/dist/protocols/mux-protocol/functions.d.ts.map +1 -1
  526. package/sdk/dist/protocols/mux-protocol/functions.js +8 -8
  527. package/sdk/dist/protocols/olympus/abis.d.ts +5 -2
  528. package/sdk/dist/protocols/olympus/abis.d.ts.map +1 -1
  529. package/sdk/dist/protocols/olympus/abis.js +2 -2
  530. package/sdk/dist/protocols/olympus/abis.js.map +1 -1
  531. package/sdk/dist/protocols/oneinch/abis.d.ts +5 -5
  532. package/sdk/dist/protocols/oneinch/abis.d.ts.map +1 -1
  533. package/sdk/dist/protocols/oneinch/abis.js +5 -3
  534. package/sdk/dist/protocols/oneinch/abis.js.map +1 -1
  535. package/sdk/dist/protocols/oneinch/functions.d.ts +1 -1
  536. package/sdk/dist/protocols/oneinch/functions.d.ts.map +1 -1
  537. package/sdk/dist/protocols/oneinch/functions.js +2 -2
  538. package/sdk/dist/protocols/openocean/abis.d.ts +14 -1
  539. package/sdk/dist/protocols/openocean/abis.d.ts.map +1 -1
  540. package/sdk/dist/protocols/openocean/abis.js +11 -1
  541. package/sdk/dist/protocols/openocean/abis.js.map +1 -1
  542. package/sdk/dist/protocols/openocean/functions.d.ts +1 -1
  543. package/sdk/dist/protocols/openocean/functions.d.ts.map +1 -1
  544. package/sdk/dist/protocols/openocean/functions.js +1 -1
  545. package/sdk/dist/protocols/opyn/abis.d.ts +4 -1
  546. package/sdk/dist/protocols/opyn/abis.d.ts.map +1 -1
  547. package/sdk/dist/protocols/opyn/abis.js +1 -1
  548. package/sdk/dist/protocols/opyn/abis.js.map +1 -1
  549. package/sdk/dist/protocols/pancakeswap-v3/abis.d.ts +6 -6
  550. package/sdk/dist/protocols/pancakeswap-v3/abis.js +6 -6
  551. package/sdk/dist/protocols/pancakeswap-v3/abis.js.map +1 -1
  552. package/sdk/dist/protocols/paraswap/abis.d.ts +1 -1
  553. package/sdk/dist/protocols/paraswap/abis.js +1 -1
  554. package/sdk/dist/protocols/pendle/abis.d.ts +288 -6
  555. package/sdk/dist/protocols/pendle/abis.d.ts.map +1 -1
  556. package/sdk/dist/protocols/pendle/abis.js +160 -6
  557. package/sdk/dist/protocols/pendle/abis.js.map +1 -1
  558. package/sdk/dist/protocols/permit2/abis.d.ts +1 -1
  559. package/sdk/dist/protocols/permit2/abis.js +1 -1
  560. package/sdk/dist/protocols/permit2/addresses.d.ts.map +1 -1
  561. package/sdk/dist/protocols/permit2/addresses.js +9 -0
  562. package/sdk/dist/protocols/permit2/addresses.js.map +1 -1
  563. package/sdk/dist/protocols/perpetual-protocol/abis.d.ts +46 -38
  564. package/sdk/dist/protocols/perpetual-protocol/abis.d.ts.map +1 -1
  565. package/sdk/dist/protocols/perpetual-protocol/abis.js +27 -14
  566. package/sdk/dist/protocols/perpetual-protocol/abis.js.map +1 -1
  567. package/sdk/dist/protocols/premia/abis.d.ts +18 -17
  568. package/sdk/dist/protocols/premia/abis.d.ts.map +1 -1
  569. package/sdk/dist/protocols/premia/abis.js +20 -10
  570. package/sdk/dist/protocols/premia/abis.js.map +1 -1
  571. package/sdk/dist/protocols/premia/addresses.d.ts.map +1 -1
  572. package/sdk/dist/protocols/premia/addresses.js +3 -8
  573. package/sdk/dist/protocols/premia/addresses.js.map +1 -1
  574. package/sdk/dist/protocols/premia/functions.d.ts +2 -2
  575. package/sdk/dist/protocols/premia/functions.d.ts.map +1 -1
  576. package/sdk/dist/protocols/premia/functions.js +8 -8
  577. package/sdk/dist/protocols/pyth/abis.d.ts +3 -3
  578. package/sdk/dist/protocols/pyth/abis.d.ts.map +1 -1
  579. package/sdk/dist/protocols/pyth/abis.js +6 -3
  580. package/sdk/dist/protocols/pyth/abis.js.map +1 -1
  581. package/sdk/dist/protocols/reflexer/abis.d.ts +8 -5
  582. package/sdk/dist/protocols/reflexer/abis.d.ts.map +1 -1
  583. package/sdk/dist/protocols/reflexer/abis.js +10 -6
  584. package/sdk/dist/protocols/reflexer/abis.js.map +1 -1
  585. package/sdk/dist/protocols/renzo/abis.d.ts +1 -1
  586. package/sdk/dist/protocols/renzo/abis.js +1 -1
  587. package/sdk/dist/protocols/renzo/abis.js.map +1 -1
  588. package/sdk/dist/protocols/sablier/abis.d.ts +2 -2
  589. package/sdk/dist/protocols/sablier/abis.js +2 -2
  590. package/sdk/dist/protocols/safe/addresses.d.ts.map +1 -1
  591. package/sdk/dist/protocols/safe/addresses.js +10 -0
  592. package/sdk/dist/protocols/safe/addresses.js.map +1 -1
  593. package/sdk/dist/protocols/seaport/abis.d.ts +65 -5
  594. package/sdk/dist/protocols/seaport/abis.d.ts.map +1 -1
  595. package/sdk/dist/protocols/seaport/abis.js +41 -5
  596. package/sdk/dist/protocols/seaport/abis.js.map +1 -1
  597. package/sdk/dist/protocols/seaport/addresses.d.ts.map +1 -1
  598. package/sdk/dist/protocols/seaport/addresses.js +10 -0
  599. package/sdk/dist/protocols/seaport/addresses.js.map +1 -1
  600. package/sdk/dist/protocols/seaport/functions.d.ts +1 -1
  601. package/sdk/dist/protocols/seaport/functions.d.ts.map +1 -1
  602. package/sdk/dist/protocols/seaport/functions.js +1 -0
  603. package/sdk/dist/protocols/seaport/functions.js.map +1 -1
  604. package/sdk/dist/protocols/silo/abis.d.ts +3 -0
  605. package/sdk/dist/protocols/silo/abis.d.ts.map +1 -1
  606. package/sdk/dist/protocols/silo/abis.js +4 -1
  607. package/sdk/dist/protocols/silo/abis.js.map +1 -1
  608. package/sdk/dist/protocols/silo/addresses.d.ts.map +1 -1
  609. package/sdk/dist/protocols/silo/addresses.js +2 -1
  610. package/sdk/dist/protocols/silo/addresses.js.map +1 -1
  611. package/sdk/dist/protocols/silo/functions.d.ts +1 -1
  612. package/sdk/dist/protocols/silo/functions.d.ts.map +1 -1
  613. package/sdk/dist/protocols/silo/functions.js +2 -1
  614. package/sdk/dist/protocols/silo/functions.js.map +1 -1
  615. package/sdk/dist/protocols/socket/abis.d.ts +1 -13
  616. package/sdk/dist/protocols/socket/abis.d.ts.map +1 -1
  617. package/sdk/dist/protocols/socket/abis.js +3 -11
  618. package/sdk/dist/protocols/socket/abis.js.map +1 -1
  619. package/sdk/dist/protocols/socket/functions.d.ts +1 -1
  620. package/sdk/dist/protocols/socket/functions.d.ts.map +1 -1
  621. package/sdk/dist/protocols/socket/functions.js +1 -1
  622. package/sdk/dist/protocols/spookyswap/addresses.d.ts.map +1 -1
  623. package/sdk/dist/protocols/spookyswap/addresses.js +2 -1
  624. package/sdk/dist/protocols/spookyswap/addresses.js.map +1 -1
  625. package/sdk/dist/protocols/squid/abis.d.ts +33 -21
  626. package/sdk/dist/protocols/squid/abis.d.ts.map +1 -1
  627. package/sdk/dist/protocols/squid/abis.js +19 -13
  628. package/sdk/dist/protocols/squid/abis.js.map +1 -1
  629. package/sdk/dist/protocols/squid/functions.d.ts +1 -1
  630. package/sdk/dist/protocols/squid/functions.d.ts.map +1 -1
  631. package/sdk/dist/protocols/squid/functions.js +2 -2
  632. package/sdk/dist/protocols/stargate/abis.d.ts +23 -3
  633. package/sdk/dist/protocols/stargate/abis.d.ts.map +1 -1
  634. package/sdk/dist/protocols/stargate/abis.js +19 -3
  635. package/sdk/dist/protocols/stargate/abis.js.map +1 -1
  636. package/sdk/dist/protocols/superfluid/abis.d.ts +2 -2
  637. package/sdk/dist/protocols/superfluid/abis.js +2 -2
  638. package/sdk/dist/protocols/superfluid/abis.js.map +1 -1
  639. package/sdk/dist/protocols/sushiswap-v2/addresses.d.ts.map +1 -1
  640. package/sdk/dist/protocols/sushiswap-v2/addresses.js +2 -1
  641. package/sdk/dist/protocols/sushiswap-v2/addresses.js.map +1 -1
  642. package/sdk/dist/protocols/swell/abis.d.ts +2 -8
  643. package/sdk/dist/protocols/swell/abis.d.ts.map +1 -1
  644. package/sdk/dist/protocols/swell/abis.js +4 -2
  645. package/sdk/dist/protocols/swell/abis.js.map +1 -1
  646. package/sdk/dist/protocols/swell/functions.d.ts +2 -2
  647. package/sdk/dist/protocols/swell/functions.d.ts.map +1 -1
  648. package/sdk/dist/protocols/swell/functions.js +4 -2
  649. package/sdk/dist/protocols/swell/functions.js.map +1 -1
  650. package/sdk/dist/protocols/synapse/addresses.d.ts.map +1 -1
  651. package/sdk/dist/protocols/synapse/addresses.js +2 -1
  652. package/sdk/dist/protocols/synapse/addresses.js.map +1 -1
  653. package/sdk/dist/protocols/synthetix-v3/abis.d.ts +40 -5
  654. package/sdk/dist/protocols/synthetix-v3/abis.d.ts.map +1 -1
  655. package/sdk/dist/protocols/synthetix-v3/abis.js +27 -5
  656. package/sdk/dist/protocols/synthetix-v3/abis.js.map +1 -1
  657. package/sdk/dist/protocols/synthetix-v3/addresses.d.ts.map +1 -1
  658. package/sdk/dist/protocols/synthetix-v3/addresses.js +2 -1
  659. package/sdk/dist/protocols/synthetix-v3/addresses.js.map +1 -1
  660. package/sdk/dist/protocols/synthra-v3/abis.d.ts +347 -0
  661. package/sdk/dist/protocols/synthra-v3/abis.d.ts.map +1 -0
  662. package/sdk/dist/protocols/synthra-v3/abis.js +242 -0
  663. package/sdk/dist/protocols/synthra-v3/abis.js.map +1 -0
  664. package/sdk/dist/protocols/synthra-v3/addresses.d.ts +3 -0
  665. package/sdk/dist/protocols/synthra-v3/addresses.d.ts.map +1 -0
  666. package/sdk/dist/protocols/synthra-v3/addresses.js +16 -0
  667. package/sdk/dist/protocols/synthra-v3/addresses.js.map +1 -0
  668. package/sdk/dist/protocols/synthra-v3/functions.d.ts +2 -0
  669. package/sdk/dist/protocols/synthra-v3/functions.d.ts.map +1 -0
  670. package/sdk/dist/protocols/synthra-v3/functions.js +9 -0
  671. package/sdk/dist/protocols/synthra-v3/functions.js.map +1 -0
  672. package/sdk/dist/protocols/synthra-v3/index.d.ts +5 -0
  673. package/sdk/dist/protocols/synthra-v3/index.d.ts.map +1 -0
  674. package/sdk/dist/protocols/synthra-v3/index.js +5 -0
  675. package/sdk/dist/protocols/synthra-v3/index.js.map +1 -0
  676. package/sdk/dist/protocols/synthra-v3/info.d.ts +3 -0
  677. package/sdk/dist/protocols/synthra-v3/info.d.ts.map +1 -0
  678. package/sdk/dist/protocols/synthra-v3/info.js +11 -0
  679. package/sdk/dist/protocols/synthra-v3/info.js.map +1 -0
  680. package/sdk/dist/protocols/thales/abis.d.ts +53 -24
  681. package/sdk/dist/protocols/thales/abis.d.ts.map +1 -1
  682. package/sdk/dist/protocols/thales/abis.js +27 -11
  683. package/sdk/dist/protocols/thales/abis.js.map +1 -1
  684. package/sdk/dist/protocols/thales/functions.d.ts +2 -2
  685. package/sdk/dist/protocols/thales/functions.d.ts.map +1 -1
  686. package/sdk/dist/protocols/thales/functions.js +5 -6
  687. package/sdk/dist/protocols/thales/functions.js.map +1 -1
  688. package/sdk/dist/protocols/thruster/abis.d.ts +1 -1
  689. package/sdk/dist/protocols/thruster/abis.js +1 -1
  690. package/sdk/dist/protocols/trader-joe/abis.d.ts +3 -3
  691. package/sdk/dist/protocols/trader-joe/abis.js +2 -2
  692. package/sdk/dist/protocols/trader-joe/abis.js.map +1 -1
  693. package/sdk/dist/protocols/uniswap-v2/addresses.d.ts.map +1 -1
  694. package/sdk/dist/protocols/uniswap-v2/addresses.js +10 -0
  695. package/sdk/dist/protocols/uniswap-v2/addresses.js.map +1 -1
  696. package/sdk/dist/protocols/uniswap-v3/abis.d.ts +127 -8
  697. package/sdk/dist/protocols/uniswap-v3/abis.d.ts.map +1 -1
  698. package/sdk/dist/protocols/uniswap-v3/abis.js +90 -8
  699. package/sdk/dist/protocols/uniswap-v3/abis.js.map +1 -1
  700. package/sdk/dist/protocols/uniswap-v3/addresses.d.ts.map +1 -1
  701. package/sdk/dist/protocols/uniswap-v3/addresses.js +14 -0
  702. package/sdk/dist/protocols/uniswap-v3/addresses.js.map +1 -1
  703. package/sdk/dist/protocols/uniswap-v4/abis.d.ts +27 -15
  704. package/sdk/dist/protocols/uniswap-v4/abis.d.ts.map +1 -1
  705. package/sdk/dist/protocols/uniswap-v4/abis.js +25 -15
  706. package/sdk/dist/protocols/uniswap-v4/abis.js.map +1 -1
  707. package/sdk/dist/protocols/uniswap-v4/addresses.d.ts.map +1 -1
  708. package/sdk/dist/protocols/uniswap-v4/addresses.js +11 -0
  709. package/sdk/dist/protocols/uniswap-v4/addresses.js.map +1 -1
  710. package/sdk/dist/protocols/unitflow-v3/abis.d.ts +104 -0
  711. package/sdk/dist/protocols/unitflow-v3/abis.d.ts.map +1 -0
  712. package/sdk/dist/protocols/unitflow-v3/abis.js +70 -0
  713. package/sdk/dist/protocols/unitflow-v3/abis.js.map +1 -0
  714. package/sdk/dist/protocols/unitflow-v3/addresses.d.ts +3 -0
  715. package/sdk/dist/protocols/unitflow-v3/addresses.d.ts.map +1 -0
  716. package/sdk/dist/protocols/unitflow-v3/addresses.js +19 -0
  717. package/sdk/dist/protocols/unitflow-v3/addresses.js.map +1 -0
  718. package/sdk/dist/protocols/unitflow-v3/functions.d.ts +2 -0
  719. package/sdk/dist/protocols/unitflow-v3/functions.d.ts.map +1 -0
  720. package/sdk/dist/protocols/unitflow-v3/functions.js +9 -0
  721. package/sdk/dist/protocols/unitflow-v3/functions.js.map +1 -0
  722. package/sdk/dist/protocols/unitflow-v3/index.d.ts +5 -0
  723. package/sdk/dist/protocols/unitflow-v3/index.d.ts.map +1 -0
  724. package/sdk/dist/protocols/unitflow-v3/index.js +5 -0
  725. package/sdk/dist/protocols/unitflow-v3/index.js.map +1 -0
  726. package/sdk/dist/protocols/unitflow-v3/info.d.ts +3 -0
  727. package/sdk/dist/protocols/unitflow-v3/info.d.ts.map +1 -0
  728. package/sdk/dist/protocols/unitflow-v3/info.js +12 -0
  729. package/sdk/dist/protocols/unitflow-v3/info.js.map +1 -0
  730. package/sdk/dist/protocols/velodrome/addresses.d.ts.map +1 -1
  731. package/sdk/dist/protocols/velodrome/addresses.js +3 -1
  732. package/sdk/dist/protocols/velodrome/addresses.js.map +1 -1
  733. package/sdk/dist/protocols/venus/abis.d.ts +62 -1
  734. package/sdk/dist/protocols/venus/abis.d.ts.map +1 -1
  735. package/sdk/dist/protocols/venus/abis.js +48 -1
  736. package/sdk/dist/protocols/venus/abis.js.map +1 -1
  737. package/sdk/dist/protocols/vertex/abis.d.ts +16 -9
  738. package/sdk/dist/protocols/vertex/abis.d.ts.map +1 -1
  739. package/sdk/dist/protocols/vertex/abis.js +13 -4
  740. package/sdk/dist/protocols/vertex/abis.js.map +1 -1
  741. package/sdk/dist/protocols/wormhole/abis.d.ts +2 -2
  742. package/sdk/dist/protocols/wormhole/abis.js +2 -2
  743. package/sdk/dist/protocols/wormhole/addresses.d.ts.map +1 -1
  744. package/sdk/dist/protocols/wormhole/addresses.js +9 -0
  745. package/sdk/dist/protocols/wormhole/addresses.js.map +1 -1
  746. package/sdk/dist/protocols/zerolend/addresses.d.ts.map +1 -1
  747. package/sdk/dist/protocols/zerolend/addresses.js +2 -1
  748. package/sdk/dist/protocols/zerolend/addresses.js.map +1 -1
  749. package/sdk/dist/protocols/zerox/addresses.d.ts.map +1 -1
  750. package/sdk/dist/protocols/zerox/addresses.js +2 -1
  751. package/sdk/dist/protocols/zerox/addresses.js.map +1 -1
  752. package/sdk/dist/protocols/zksync-bridge/abis.d.ts +1 -1
  753. package/sdk/dist/protocols/zksync-bridge/abis.js +1 -1
  754. package/sdk/dist/recipes/cctp-transfer.d.ts +17 -6
  755. package/sdk/dist/recipes/cctp-transfer.d.ts.map +1 -1
  756. package/sdk/dist/recipes/cctp-transfer.js +7 -20
  757. package/sdk/dist/recipes/cctp-transfer.js.map +1 -1
  758. package/sdk/dist/recipes/index.d.ts +5 -15
  759. package/sdk/dist/recipes/index.d.ts.map +1 -1
  760. package/sdk/dist/recipes/index.js +19 -36
  761. package/sdk/dist/recipes/index.js.map +1 -1
  762. package/sdk/dist/recipes/settle.sauce.ts +15 -2
  763. package/sdk/dist/routes/chain-exports.generated.d.ts +97 -0
  764. package/sdk/dist/routes/chain-exports.generated.d.ts.map +1 -0
  765. package/sdk/dist/routes/chain-exports.generated.js +91 -0
  766. package/sdk/dist/routes/chain-exports.generated.js.map +1 -0
  767. package/sdk/dist/routes/compile-types.d.ts +3 -0
  768. package/sdk/dist/routes/compile-types.d.ts.map +1 -1
  769. package/sdk/dist/routes/composed.d.ts +13 -0
  770. package/sdk/dist/routes/composed.d.ts.map +1 -0
  771. package/sdk/dist/routes/composed.js +94 -0
  772. package/sdk/dist/routes/composed.js.map +1 -0
  773. package/sdk/dist/routes/encode.d.ts +6 -6
  774. package/sdk/dist/routes/globals.d.ts +19 -4
  775. package/sdk/dist/routes/globals.d.ts.map +1 -1
  776. package/sdk/dist/routes/globals.js +51 -85
  777. package/sdk/dist/routes/globals.js.map +1 -1
  778. package/sdk/dist/routes/index.d.ts +15 -6
  779. package/sdk/dist/routes/index.d.ts.map +1 -1
  780. package/sdk/dist/routes/index.js +17 -5
  781. package/sdk/dist/routes/index.js.map +1 -1
  782. package/sdk/dist/routes/intent-dsl.d.ts +60 -19
  783. package/sdk/dist/routes/intent-dsl.d.ts.map +1 -1
  784. package/sdk/dist/routes/intent-dsl.js +175 -67
  785. package/sdk/dist/routes/intent-dsl.js.map +1 -1
  786. package/sdk/dist/routes/intent-pot.d.ts +49 -0
  787. package/sdk/dist/routes/intent-pot.d.ts.map +1 -0
  788. package/sdk/dist/routes/intent-pot.js +46 -0
  789. package/sdk/dist/routes/intent-pot.js.map +1 -0
  790. package/sdk/dist/routes/intent-sugar.d.ts +97 -0
  791. package/sdk/dist/routes/intent-sugar.d.ts.map +1 -0
  792. package/sdk/dist/routes/intent-sugar.js +615 -0
  793. package/sdk/dist/routes/intent-sugar.js.map +1 -0
  794. package/sdk/dist/routes/nest-dynamic.d.ts +146 -0
  795. package/sdk/dist/routes/nest-dynamic.d.ts.map +1 -0
  796. package/sdk/dist/routes/nest-dynamic.js +308 -0
  797. package/sdk/dist/routes/nest-dynamic.js.map +1 -0
  798. package/sdk/dist/routes/nest.d.ts +16 -5
  799. package/sdk/dist/routes/nest.d.ts.map +1 -1
  800. package/sdk/dist/routes/nest.js +29 -10
  801. package/sdk/dist/routes/nest.js.map +1 -1
  802. package/sdk/dist/routes/portal.d.ts +7 -272
  803. package/sdk/dist/routes/portal.d.ts.map +1 -1
  804. package/sdk/dist/routes/portal.js +13 -92
  805. package/sdk/dist/routes/portal.js.map +1 -1
  806. package/sdk/dist/routes/protocol-rewrite.d.ts.map +1 -1
  807. package/sdk/dist/routes/protocol-rewrite.js +2 -0
  808. package/sdk/dist/routes/protocol-rewrite.js.map +1 -1
  809. package/sdk/dist/routes/rs-compile.d.ts +26 -15
  810. package/sdk/dist/routes/rs-compile.d.ts.map +1 -1
  811. package/sdk/dist/routes/rs-compile.js +57 -169
  812. package/sdk/dist/routes/rs-compile.js.map +1 -1
  813. package/sdk/dist/routes/sauce-route.d.ts +26 -1
  814. package/sdk/dist/routes/sauce-route.d.ts.map +1 -1
  815. package/sdk/dist/routes/sauce-route.js +109 -6
  816. package/sdk/dist/routes/sauce-route.js.map +1 -1
  817. package/sdk/dist/routes/source-globals.generated.d.ts +435 -20
  818. package/sdk/dist/routes/source-globals.generated.d.ts.map +1 -1
  819. package/sdk/dist/routes/template.d.ts +184 -0
  820. package/sdk/dist/routes/template.d.ts.map +1 -0
  821. package/sdk/dist/routes/template.js +338 -0
  822. package/sdk/dist/routes/template.js.map +1 -0
  823. package/sdk/dist/routes/token-registry.d.ts.map +1 -1
  824. package/sdk/dist/routes/token-registry.js +35 -0
  825. package/sdk/dist/routes/token-registry.js.map +1 -1
  826. package/sdk/dist/routes/token-rewrite.d.ts +1 -1
  827. package/sdk/dist/routes/token-rewrite.d.ts.map +1 -1
  828. package/sdk/dist/skills/loader.d.ts +2 -7
  829. package/sdk/dist/skills/loader.d.ts.map +1 -1
  830. package/sdk/dist/skills/loader.js +14 -25
  831. package/sdk/dist/skills/loader.js.map +1 -1
  832. package/sdk/dist/std/token/token.evm.js +56 -15
  833. package/sdk/dist/std/token/token.svm.js +24 -3
  834. package/sdk/dist/svm/accessors.d.ts +3 -3
  835. package/sdk/dist/svm/accessors.js +3 -3
  836. package/sdk/dist/svm/client.d.ts +1 -0
  837. package/sdk/dist/svm/client.d.ts.map +1 -1
  838. package/sdk/dist/svm/client.js +6 -0
  839. package/sdk/dist/svm/client.js.map +1 -1
  840. package/sdk/dist/svm/clusters.d.ts +6 -2
  841. package/sdk/dist/svm/clusters.d.ts.map +1 -1
  842. package/sdk/dist/svm/clusters.js +0 -2
  843. package/sdk/dist/svm/clusters.js.map +1 -1
  844. package/sdk/dist/svm/engine-artifacts.d.ts +24 -13
  845. package/sdk/dist/svm/engine-artifacts.d.ts.map +1 -1
  846. package/sdk/dist/svm/engine-artifacts.js +31 -26
  847. package/sdk/dist/svm/engine-artifacts.js.map +1 -1
  848. package/sdk/dist/svm/engine-public.d.ts.map +1 -1
  849. package/sdk/dist/svm/engine-public.js +2 -1
  850. package/sdk/dist/svm/engine-public.js.map +1 -1
  851. package/sdk/dist/svm/index.d.ts +0 -1
  852. package/sdk/dist/svm/index.d.ts.map +1 -1
  853. package/sdk/dist/svm/index.js +3 -1
  854. package/sdk/dist/svm/index.js.map +1 -1
  855. package/sdk/dist/svm/intent.d.ts.map +1 -1
  856. package/sdk/dist/svm/intent.js +4 -3
  857. package/sdk/dist/svm/intent.js.map +1 -1
  858. package/sdk/dist/svm/loader.d.ts.map +1 -1
  859. package/sdk/dist/svm/loader.js +2 -3
  860. package/sdk/dist/svm/loader.js.map +1 -1
  861. package/sdk/dist/svm/recipes/index.d.ts +57 -4
  862. package/sdk/dist/svm/recipes/index.d.ts.map +1 -1
  863. package/sdk/dist/svm/recipes/index.js +7 -9
  864. package/sdk/dist/svm/recipes/index.js.map +1 -1
  865. package/sdk/dist/svm/venues/alphaq/index.d.ts.map +1 -1
  866. package/sdk/dist/svm/venues/alphaq/index.js +4 -2
  867. package/sdk/dist/svm/venues/alphaq/index.js.map +1 -1
  868. package/sdk/dist/svm/venues/binaryfi/index.d.ts.map +1 -1
  869. package/sdk/dist/svm/venues/binaryfi/index.js +2 -1
  870. package/sdk/dist/svm/venues/binaryfi/index.js.map +1 -1
  871. package/sdk/dist/svm/venues/fluxbeam/index.d.ts.map +1 -1
  872. package/sdk/dist/svm/venues/fluxbeam/index.js +2 -7
  873. package/sdk/dist/svm/venues/fluxbeam/index.js.map +1 -1
  874. package/sdk/dist/svm/venues/jupiter-lend-earn/index.d.ts.map +1 -1
  875. package/sdk/dist/svm/venues/jupiter-lend-earn/index.js +2 -1
  876. package/sdk/dist/svm/venues/jupiter-lend-earn/index.js.map +1 -1
  877. package/sdk/dist/svm/venues/kipseli/index.d.ts.map +1 -1
  878. package/sdk/dist/svm/venues/kipseli/index.js +31 -14
  879. package/sdk/dist/svm/venues/kipseli/index.js.map +1 -1
  880. package/sdk/dist/svm/venues/mercurial/index.d.ts.map +1 -1
  881. package/sdk/dist/svm/venues/mercurial/index.js +2 -7
  882. package/sdk/dist/svm/venues/mercurial/index.js.map +1 -1
  883. package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.d.ts.map +1 -1
  884. package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.js +3 -2
  885. package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.js.map +1 -1
  886. package/sdk/dist/svm/venues/mswap/index.d.ts.map +1 -1
  887. package/sdk/dist/svm/venues/mswap/index.js +2 -2
  888. package/sdk/dist/svm/venues/mswap/index.js.map +1 -1
  889. package/sdk/dist/svm/venues/orca-legacy-token-swap/index.d.ts.map +1 -1
  890. package/sdk/dist/svm/venues/orca-legacy-token-swap/index.js +2 -7
  891. package/sdk/dist/svm/venues/orca-legacy-token-swap/index.js.map +1 -1
  892. package/sdk/dist/svm/venues/saber-stableswap/index.d.ts.map +1 -1
  893. package/sdk/dist/svm/venues/saber-stableswap/index.js +2 -7
  894. package/sdk/dist/svm/venues/saber-stableswap/index.js.map +1 -1
  895. package/sdk/dist/svm/venues/sanctum-infinity/index.js +2 -2
  896. package/sdk/dist/svm/venues/sanctum-infinity/index.js.map +1 -1
  897. package/sdk/dist/svm/venues/sanctum-stake-pool/index.d.ts.map +1 -1
  898. package/sdk/dist/svm/venues/sanctum-stake-pool/index.js +2 -8
  899. package/sdk/dist/svm/venues/sanctum-stake-pool/index.js.map +1 -1
  900. package/sdk/dist/svm/venues/spl-token-swap-forks/index.d.ts.map +1 -1
  901. package/sdk/dist/svm/venues/spl-token-swap-forks/index.js +2 -7
  902. package/sdk/dist/svm/venues/spl-token-swap-forks/index.js.map +1 -1
  903. package/sdk/dist/svm/venues/stabble-common.d.ts.map +1 -1
  904. package/sdk/dist/svm/venues/stabble-common.js +3 -8
  905. package/sdk/dist/svm/venues/stabble-common.js.map +1 -1
  906. package/sdk/dist/svm/verify.d.ts.map +1 -1
  907. package/sdk/dist/svm/verify.js +1 -4
  908. package/sdk/dist/svm/verify.js.map +1 -1
  909. package/sdk/dist/swap/index.d.ts +4 -4
  910. package/sdk/dist/swap/index.d.ts.map +1 -1
  911. package/sdk/dist/swap/index.js +4 -4
  912. package/sdk/dist/swap/index.js.map +1 -1
  913. package/sdk/dist/swap/source.d.ts +0 -7
  914. package/sdk/dist/swap/source.d.ts.map +1 -1
  915. package/sdk/dist/swap/source.js +3 -11
  916. package/sdk/dist/swap/source.js.map +1 -1
  917. package/sdk/dist/token/api.d.ts +8 -9
  918. package/sdk/dist/token/api.d.ts.map +1 -1
  919. package/sdk/dist/token/api.js +4 -5
  920. package/sdk/dist/token/api.js.map +1 -1
  921. package/sdk/dist/token/evm.d.ts +5 -2
  922. package/sdk/dist/token/evm.d.ts.map +1 -1
  923. package/sdk/dist/token/evm.js +24 -13
  924. package/sdk/dist/token/evm.js.map +1 -1
  925. package/sdk/dist/token/index.d.ts +4 -4
  926. package/sdk/dist/token/index.js +4 -4
  927. package/sdk/dist/token/safe.d.ts +17 -0
  928. package/sdk/dist/token/safe.d.ts.map +1 -0
  929. package/sdk/dist/token/safe.js +211 -0
  930. package/sdk/dist/token/safe.js.map +1 -0
  931. package/sdk/dist/token/source.d.ts +0 -4
  932. package/sdk/dist/token/source.d.ts.map +1 -1
  933. package/sdk/dist/token/source.js +7 -10
  934. package/sdk/dist/token/source.js.map +1 -1
  935. package/sdk/dist/verify/decode.d.ts +6 -6
  936. package/sdk/dist/verify/decode.js +7 -7
  937. package/sdk/dist/verify/decode.js.map +1 -1
  938. package/sdk/dist/verify/index.js +2 -2
  939. package/sdk/dist/verify/intent.js +2 -2
  940. package/sdk/dist/verify/vectors.d.ts +1 -1
  941. package/sdk/dist/verify/vectors.d.ts.map +1 -1
  942. package/sdk/dist/verify/vectors.js +2 -2
  943. package/sdk/dist/verify/vectors.js.map +1 -1
  944. package/sdk/dist/verify/wire.d.ts +21 -4
  945. package/sdk/dist/verify/wire.d.ts.map +1 -1
  946. package/sdk/dist/verify/wire.js +21 -4
  947. package/sdk/dist/verify/wire.js.map +1 -1
  948. package/sdk/dist/wasm-compiler.d.ts +31 -0
  949. package/sdk/dist/wasm-compiler.d.ts.map +1 -0
  950. package/sdk/dist/wasm-compiler.js +52 -0
  951. package/sdk/dist/wasm-compiler.js.map +1 -0
  952. package/sdk/src/protocols/aave-v4/AaveV4HubABI.json +67 -0
  953. package/sdk/src/protocols/aave-v4/AaveV4SpokeABI.json +215 -0
  954. package/sdk/src/protocols/aave-v4/abis.ts +139 -0
  955. package/sdk/src/protocols/aave-v4/addresses.ts +66 -0
  956. package/sdk/src/protocols/aave-v4/functions.ts +39 -0
  957. package/sdk/src/protocols/aave-v4/index.ts +4 -0
  958. package/sdk/src/protocols/aave-v4/info.ts +14 -0
  959. package/sdk/src/protocols/across/AcrossHubPoolABI.json +2 -2
  960. package/sdk/src/protocols/across/AcrossSpokePoolABI.json +27 -11
  961. package/sdk/src/protocols/across/abis.ts +16 -8
  962. package/sdk/src/protocols/across/addresses.ts +10 -0
  963. package/sdk/src/protocols/across/functions.ts +2 -2
  964. package/sdk/src/protocols/aerodrome-slipstream/AeroMetarouterABI.json +24 -0
  965. package/sdk/src/protocols/aerodrome-slipstream/SlipstreamCLFactoryABI.json +58 -0
  966. package/sdk/src/protocols/aerodrome-slipstream/SlipstreamPositionManagerABI.json +77 -0
  967. package/sdk/src/protocols/aerodrome-slipstream/abis.ts +74 -0
  968. package/sdk/src/protocols/aerodrome-slipstream/addresses.ts +40 -0
  969. package/sdk/src/protocols/aerodrome-slipstream/functions.ts +8 -0
  970. package/sdk/src/protocols/aerodrome-slipstream/index.ts +4 -0
  971. package/sdk/src/protocols/aerodrome-slipstream/info.ts +14 -0
  972. package/sdk/src/protocols/aevo/DepositContractABI.json +23 -2
  973. package/sdk/src/protocols/aevo/abis.ts +10 -2
  974. package/sdk/src/protocols/aevo/functions.ts +2 -2
  975. package/sdk/src/protocols/alchemix/AlchemistABI.json +1 -1
  976. package/sdk/src/protocols/alchemix/abis.ts +1 -1
  977. package/sdk/src/protocols/ambient/CrocSwapDexABI.json +2 -2
  978. package/sdk/src/protocols/ambient/abis.ts +3 -2
  979. package/sdk/src/protocols/ambient/addresses.ts +2 -1
  980. package/sdk/src/protocols/arrakis/ArrakisRouterABI.json +5 -1
  981. package/sdk/src/protocols/arrakis/ArrakisVaultABI.json +0 -16
  982. package/sdk/src/protocols/arrakis/abis.ts +2 -11
  983. package/sdk/src/protocols/arrakis/functions.ts +2 -1
  984. package/sdk/src/protocols/axelar/AxelarITSABI.json +1 -1
  985. package/sdk/src/protocols/axelar/abis.ts +1 -1
  986. package/sdk/src/protocols/balancer-v2/BalancerV2VaultABI.json +7 -7
  987. package/sdk/src/protocols/balancer-v2/abis.ts +7 -7
  988. package/sdk/src/protocols/cbeth/CbETHABI.json +10 -1
  989. package/sdk/src/protocols/cbeth/abis.ts +6 -2
  990. package/sdk/src/protocols/cctp/TokenMessengerABI.json +30 -9
  991. package/sdk/src/protocols/cctp/abis.ts +3 -1
  992. package/sdk/src/protocols/cctp/addresses.ts +3 -0
  993. package/sdk/src/protocols/chainlink/AggregatorV3ABI.json +3 -3
  994. package/sdk/src/protocols/chainlink/FeedRegistryABI.json +3 -3
  995. package/sdk/src/protocols/chainlink/abis.ts +6 -6
  996. package/sdk/src/protocols/chainlink/addresses.ts +10 -0
  997. package/sdk/src/protocols/chainlink-ccip/CCIPRouterABI.json +1 -1
  998. package/sdk/src/protocols/chainlink-ccip/abis.ts +1 -1
  999. package/sdk/src/protocols/chainlink-ccip/addresses.ts +9 -0
  1000. package/sdk/src/protocols/circle-gateway/GatewayMinterABI.json +49 -0
  1001. package/sdk/src/protocols/circle-gateway/GatewayWalletABI.json +111 -0
  1002. package/sdk/src/protocols/circle-gateway/abis.ts +86 -0
  1003. package/sdk/src/protocols/circle-gateway/addresses.ts +39 -0
  1004. package/sdk/src/protocols/circle-gateway/functions.ts +28 -0
  1005. package/sdk/src/protocols/circle-gateway/index.ts +4 -0
  1006. package/sdk/src/protocols/circle-gateway/info.ts +14 -0
  1007. package/sdk/src/protocols/compound-v2/CErc20ABI.json +2 -2
  1008. package/sdk/src/protocols/compound-v2/abis.ts +2 -2
  1009. package/sdk/src/protocols/connext/EverclearSpokeABI.json +60 -6
  1010. package/sdk/src/protocols/connext/abis.ts +27 -5
  1011. package/sdk/src/protocols/connext/addresses.ts +1 -7
  1012. package/sdk/src/protocols/connext/functions.ts +3 -2
  1013. package/sdk/src/protocols/curve/CurveRouterNGABI.json +37 -0
  1014. package/sdk/src/protocols/curve/CurveStableSwapABI.json +7 -7
  1015. package/sdk/src/protocols/curve/CurveThreePoolABI.json +117 -0
  1016. package/sdk/src/protocols/curve/abis.ts +91 -7
  1017. package/sdk/src/protocols/debridge/DlnDestinationABI.json +7 -7
  1018. package/sdk/src/protocols/debridge/DlnSourceABI.json +1 -1
  1019. package/sdk/src/protocols/debridge/abis.ts +5 -5
  1020. package/sdk/src/protocols/debridge/addresses.ts +11 -0
  1021. package/sdk/src/protocols/eco-routes/abis.ts +633 -0
  1022. package/sdk/src/protocols/eco-routes/addresses.generated.ts +589 -0
  1023. package/sdk/src/protocols/eco-routes/addresses.ts +27 -0
  1024. package/sdk/src/protocols/eco-routes/functions.ts +45 -0
  1025. package/sdk/src/protocols/eco-routes/index.ts +5 -0
  1026. package/sdk/src/protocols/eco-routes/info.ts +14 -0
  1027. package/sdk/src/protocols/eco-routes/lookup.ts +215 -0
  1028. package/sdk/src/protocols/eigenlayer/DelegationManagerABI.json +2 -2
  1029. package/sdk/src/protocols/eigenlayer/StrategyManagerABI.json +2 -2
  1030. package/sdk/src/protocols/eigenlayer/abis.ts +5 -4
  1031. package/sdk/src/protocols/ens/ENSRegistryABI.json +4 -4
  1032. package/sdk/src/protocols/ens/abis.ts +4 -4
  1033. package/sdk/src/protocols/etherfi/WeETHABI.json +1 -1
  1034. package/sdk/src/protocols/etherfi/abis.ts +2 -1
  1035. package/sdk/src/protocols/euler-v2/EVCABI.json +2 -2
  1036. package/sdk/src/protocols/euler-v2/abis.ts +2 -2
  1037. package/sdk/src/protocols/fluid/FluidLendingABI.json +20 -37
  1038. package/sdk/src/protocols/fluid/FluidVaultABI.json +41 -0
  1039. package/sdk/src/protocols/fluid/abis.ts +41 -18
  1040. package/sdk/src/protocols/fluid/functions.ts +18 -16
  1041. package/sdk/src/protocols/gains-network/DiamondABI.json +49 -37
  1042. package/sdk/src/protocols/gains-network/abis.ts +26 -21
  1043. package/sdk/src/protocols/gains-network/functions.ts +6 -6
  1044. package/sdk/src/protocols/gamma/UniProxyLegacyABI.json +62 -0
  1045. package/sdk/src/protocols/gamma/abis.ts +31 -0
  1046. package/sdk/src/protocols/gamma/addresses.ts +2 -7
  1047. package/sdk/src/protocols/gamma/functions.ts +10 -0
  1048. package/sdk/src/protocols/gelato/GelatoAutomateABI.json +2 -2
  1049. package/sdk/src/protocols/gelato/abis.ts +2 -2
  1050. package/sdk/src/protocols/gmx-v1/PositionRouterABI.json +21 -3
  1051. package/sdk/src/protocols/gmx-v1/abis.ts +5 -3
  1052. package/sdk/src/protocols/gmx-v1/functions.ts +2 -2
  1053. package/sdk/src/protocols/gmx-v2/ExchangeRouterABI.json +13 -5
  1054. package/sdk/src/protocols/gmx-v2/abis.ts +7 -4
  1055. package/sdk/src/protocols/gmx-v2/addresses.ts +3 -1
  1056. package/sdk/src/protocols/gmx-v2/functions.ts +4 -2
  1057. package/sdk/src/protocols/harvest/VaultABI.json +12 -2
  1058. package/sdk/src/protocols/harvest/abis.ts +2 -2
  1059. package/sdk/src/protocols/hegic/HegicABI.json +6 -2
  1060. package/sdk/src/protocols/hegic/abis.ts +7 -2
  1061. package/sdk/src/protocols/hegic/addresses.ts +1 -0
  1062. package/sdk/src/protocols/hegic/functions.ts +3 -3
  1063. package/sdk/src/protocols/hop/addresses.ts +5 -2
  1064. package/sdk/src/protocols/hyperlane/HyperlaneMailboxABI.json +5 -5
  1065. package/sdk/src/protocols/hyperlane/abis.ts +5 -5
  1066. package/sdk/src/protocols/hyperlane/addresses.ts +9 -0
  1067. package/sdk/src/protocols/index.ts +13 -0
  1068. package/sdk/src/protocols/kim/KimRouterABI.json +8 -27
  1069. package/sdk/src/protocols/kim/abis.ts +6 -12
  1070. package/sdk/src/protocols/kim/functions.ts +3 -2
  1071. package/sdk/src/protocols/kyberswap/KyberSwapElasticRouterABI.json +1 -1
  1072. package/sdk/src/protocols/kyberswap/KyberSwapMetaAggregationRouterABI.json +52 -18
  1073. package/sdk/src/protocols/kyberswap/abis.ts +21 -8
  1074. package/sdk/src/protocols/kyberswap/addresses.ts +12 -2
  1075. package/sdk/src/protocols/kyberswap-aggregator/addresses.ts +12 -1
  1076. package/sdk/src/protocols/layerbank/LTokenABI.json +19 -29
  1077. package/sdk/src/protocols/layerbank/LayerBankCoreABI.json +87 -2
  1078. package/sdk/src/protocols/layerbank/abis.ts +69 -17
  1079. package/sdk/src/protocols/layerbank/addresses.ts +3 -1
  1080. package/sdk/src/protocols/layerbank/functions.ts +18 -16
  1081. package/sdk/src/protocols/layerzero/LayerZeroEndpointV2ABI.json +3 -3
  1082. package/sdk/src/protocols/layerzero/abis.ts +3 -3
  1083. package/sdk/src/protocols/layerzero/addresses.ts +11 -1
  1084. package/sdk/src/protocols/level-finance/LiquidityPoolABI.json +8 -0
  1085. package/sdk/src/protocols/level-finance/abis.ts +2 -0
  1086. package/sdk/src/protocols/level-finance/functions.ts +4 -4
  1087. package/sdk/src/protocols/lifi/LiFiDiamondABI.json +54 -4
  1088. package/sdk/src/protocols/lifi/abis.ts +24 -4
  1089. package/sdk/src/protocols/lifi/addresses.ts +9 -0
  1090. package/sdk/src/protocols/lifi/functions.ts +5 -2
  1091. package/sdk/src/protocols/liquity-v1/BorrowerOperationsABI.json +8 -0
  1092. package/sdk/src/protocols/liquity-v1/abis.ts +7 -1
  1093. package/sdk/src/protocols/liquity-v1/functions.ts +1 -1
  1094. package/sdk/src/protocols/mantle-meth/METHABI.json +0 -46
  1095. package/sdk/src/protocols/mantle-meth/METHStakingABI.json +50 -0
  1096. package/sdk/src/protocols/mantle-meth/abis.ts +23 -17
  1097. package/sdk/src/protocols/mantle-meth/addresses.ts +3 -0
  1098. package/sdk/src/protocols/mantle-meth/functions.ts +4 -4
  1099. package/sdk/src/protocols/maverick/MaverickV2FactoryABI.json +8 -0
  1100. package/sdk/src/protocols/maverick/MaverickV2RouterABI.json +4 -0
  1101. package/sdk/src/protocols/maverick/abis.ts +7 -1
  1102. package/sdk/src/protocols/morpho-blue/addresses.ts +10 -0
  1103. package/sdk/src/protocols/mux-protocol/LiquidityPoolABI.json +45 -11
  1104. package/sdk/src/protocols/mux-protocol/OrderBookABI.json +59 -17
  1105. package/sdk/src/protocols/mux-protocol/abis.ts +55 -22
  1106. package/sdk/src/protocols/mux-protocol/functions.ts +8 -8
  1107. package/sdk/src/protocols/olympus/StakingABI.json +8 -3
  1108. package/sdk/src/protocols/olympus/abis.ts +2 -2
  1109. package/sdk/src/protocols/oneinch/AggregationRouterV6ABI.json +5 -5
  1110. package/sdk/src/protocols/oneinch/abis.ts +5 -3
  1111. package/sdk/src/protocols/oneinch/functions.ts +2 -2
  1112. package/sdk/src/protocols/openocean/OpenOceanExchangeV2ABI.json +19 -1
  1113. package/sdk/src/protocols/openocean/abis.ts +11 -1
  1114. package/sdk/src/protocols/openocean/functions.ts +1 -1
  1115. package/sdk/src/protocols/opyn/ControllerABI.json +6 -1
  1116. package/sdk/src/protocols/opyn/abis.ts +1 -1
  1117. package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3FactoryABI.json +1 -1
  1118. package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3NFPMABI.json +3 -3
  1119. package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3SmartRouterABI.json +2 -2
  1120. package/sdk/src/protocols/pancakeswap-v3/abis.ts +6 -6
  1121. package/sdk/src/protocols/paraswap/AugustusV5ABI.json +1 -1
  1122. package/sdk/src/protocols/paraswap/abis.ts +1 -1
  1123. package/sdk/src/protocols/pendle/PendleRouterABI.json +392 -6
  1124. package/sdk/src/protocols/pendle/abis.ts +160 -6
  1125. package/sdk/src/protocols/permit2/Permit2ABI.json +1 -1
  1126. package/sdk/src/protocols/permit2/abis.ts +1 -1
  1127. package/sdk/src/protocols/permit2/addresses.ts +9 -0
  1128. package/sdk/src/protocols/perpetual-protocol/ClearingHouseABI.json +61 -49
  1129. package/sdk/src/protocols/perpetual-protocol/abis.ts +27 -14
  1130. package/sdk/src/protocols/premia/DiamondABI.json +24 -24
  1131. package/sdk/src/protocols/premia/abis.ts +20 -10
  1132. package/sdk/src/protocols/premia/addresses.ts +3 -8
  1133. package/sdk/src/protocols/premia/functions.ts +8 -8
  1134. package/sdk/src/protocols/pyth/PythOracleABI.json +3 -3
  1135. package/sdk/src/protocols/pyth/abis.ts +6 -3
  1136. package/sdk/src/protocols/reflexer/ETHJoinABI.json +5 -1
  1137. package/sdk/src/protocols/reflexer/SAFEEngineABI.json +4 -4
  1138. package/sdk/src/protocols/reflexer/abis.ts +10 -6
  1139. package/sdk/src/protocols/renzo/RestakeManagerABI.json +1 -1
  1140. package/sdk/src/protocols/renzo/abis.ts +1 -1
  1141. package/sdk/src/protocols/sablier/LockupLinearABI.json +2 -2
  1142. package/sdk/src/protocols/sablier/abis.ts +2 -2
  1143. package/sdk/src/protocols/safe/addresses.ts +10 -0
  1144. package/sdk/src/protocols/seaport/SeaportABI.json +87 -5
  1145. package/sdk/src/protocols/seaport/abis.ts +41 -5
  1146. package/sdk/src/protocols/seaport/addresses.ts +10 -0
  1147. package/sdk/src/protocols/seaport/functions.ts +1 -0
  1148. package/sdk/src/protocols/silo/SiloABI.json +4 -0
  1149. package/sdk/src/protocols/silo/abis.ts +4 -1
  1150. package/sdk/src/protocols/silo/addresses.ts +2 -1
  1151. package/sdk/src/protocols/silo/functions.ts +2 -1
  1152. package/sdk/src/protocols/socket/SocketGatewayABI.json +1 -17
  1153. package/sdk/src/protocols/socket/abis.ts +3 -11
  1154. package/sdk/src/protocols/socket/functions.ts +1 -1
  1155. package/sdk/src/protocols/spookyswap/addresses.ts +2 -1
  1156. package/sdk/src/protocols/squid/SquidRouterABI.json +42 -26
  1157. package/sdk/src/protocols/squid/abis.ts +19 -13
  1158. package/sdk/src/protocols/squid/functions.ts +2 -2
  1159. package/sdk/src/protocols/stargate/StargatePoolABI.json +31 -3
  1160. package/sdk/src/protocols/stargate/abis.ts +19 -3
  1161. package/sdk/src/protocols/superfluid/CFAForwarderABI.json +2 -2
  1162. package/sdk/src/protocols/superfluid/abis.ts +2 -2
  1163. package/sdk/src/protocols/sushiswap-v2/addresses.ts +2 -1
  1164. package/sdk/src/protocols/swell/RswETHABI.json +1 -6
  1165. package/sdk/src/protocols/swell/SwETHABI.json +1 -6
  1166. package/sdk/src/protocols/swell/abis.ts +4 -2
  1167. package/sdk/src/protocols/swell/functions.ts +4 -2
  1168. package/sdk/src/protocols/synapse/addresses.ts +2 -1
  1169. package/sdk/src/protocols/synthetix-v3/PerpsMarketProxyABI.json +54 -5
  1170. package/sdk/src/protocols/synthetix-v3/abis.ts +27 -5
  1171. package/sdk/src/protocols/synthetix-v3/addresses.ts +2 -1
  1172. package/sdk/src/protocols/synthra-v3/SynthraV3FactoryABI.json +54 -0
  1173. package/sdk/src/protocols/synthra-v3/SynthraV3NonfungiblePositionManagerABI.json +212 -0
  1174. package/sdk/src/protocols/synthra-v3/SynthraV3QuoterV2ABI.json +55 -0
  1175. package/sdk/src/protocols/synthra-v3/SynthraV3SwapRouter02ABI.json +168 -0
  1176. package/sdk/src/protocols/synthra-v3/abis.ts +244 -0
  1177. package/sdk/src/protocols/synthra-v3/addresses.ts +17 -0
  1178. package/sdk/src/protocols/synthra-v3/functions.ts +8 -0
  1179. package/sdk/src/protocols/synthra-v3/index.ts +4 -0
  1180. package/sdk/src/protocols/synthra-v3/info.ts +13 -0
  1181. package/sdk/src/protocols/thales/PositionalMarketABI.json +16 -0
  1182. package/sdk/src/protocols/thales/SpeedMarketsAMMABI.json +57 -22
  1183. package/sdk/src/protocols/thales/ThalesAMMABI.json +4 -11
  1184. package/sdk/src/protocols/thales/abis.ts +28 -11
  1185. package/sdk/src/protocols/thales/functions.ts +5 -6
  1186. package/sdk/src/protocols/thruster/ThrusterV3SwapRouterABI.json +1 -1
  1187. package/sdk/src/protocols/thruster/abis.ts +1 -1
  1188. package/sdk/src/protocols/trader-joe/LBRouterABI.json +3 -3
  1189. package/sdk/src/protocols/trader-joe/abis.ts +2 -2
  1190. package/sdk/src/protocols/uniswap-v2/addresses.ts +10 -0
  1191. package/sdk/src/protocols/uniswap-v3/UniswapV3FactoryABI.json +2 -2
  1192. package/sdk/src/protocols/uniswap-v3/UniswapV3NonfungiblePositionManagerABI.json +3 -3
  1193. package/sdk/src/protocols/uniswap-v3/UniswapV3QuoterV2ABI.json +1 -1
  1194. package/sdk/src/protocols/uniswap-v3/UniswapV3SwapRouter02ABI.json +168 -0
  1195. package/sdk/src/protocols/uniswap-v3/UniswapV3SwapRouterABI.json +2 -2
  1196. package/sdk/src/protocols/uniswap-v3/abis.ts +91 -8
  1197. package/sdk/src/protocols/uniswap-v3/addresses.ts +14 -0
  1198. package/sdk/src/protocols/uniswap-v4/UniswapV4PoolManagerABI.json +15 -15
  1199. package/sdk/src/protocols/uniswap-v4/UniswapV4UniversalRouterABI.json +16 -0
  1200. package/sdk/src/protocols/uniswap-v4/abis.ts +25 -15
  1201. package/sdk/src/protocols/uniswap-v4/addresses.ts +11 -0
  1202. package/sdk/src/protocols/unitflow-v3/UnitFlowV3FactoryABI.json +46 -0
  1203. package/sdk/src/protocols/unitflow-v3/UnitFlowV3QuoterABI.json +37 -0
  1204. package/sdk/src/protocols/unitflow-v3/UnitFlowV3RouterABI.json +67 -0
  1205. package/sdk/src/protocols/unitflow-v3/abis.ts +71 -0
  1206. package/sdk/src/protocols/unitflow-v3/addresses.ts +20 -0
  1207. package/sdk/src/protocols/unitflow-v3/functions.ts +8 -0
  1208. package/sdk/src/protocols/unitflow-v3/index.ts +4 -0
  1209. package/sdk/src/protocols/unitflow-v3/info.ts +14 -0
  1210. package/sdk/src/protocols/velodrome/addresses.ts +3 -1
  1211. package/sdk/src/protocols/venus/VBNBABI.json +86 -0
  1212. package/sdk/src/protocols/venus/VTokenABI.json +1 -1
  1213. package/sdk/src/protocols/venus/abis.ts +49 -1
  1214. package/sdk/src/protocols/vertex/ClearinghouseABI.json +20 -10
  1215. package/sdk/src/protocols/vertex/EndpointABI.json +1 -1
  1216. package/sdk/src/protocols/vertex/abis.ts +13 -4
  1217. package/sdk/src/protocols/wormhole/WormholeTokenBridgeABI.json +2 -2
  1218. package/sdk/src/protocols/wormhole/abis.ts +2 -2
  1219. package/sdk/src/protocols/wormhole/addresses.ts +9 -0
  1220. package/sdk/src/protocols/zerolend/addresses.ts +2 -1
  1221. package/sdk/src/protocols/zerox/addresses.ts +2 -1
  1222. package/sdk/src/protocols/zksync-bridge/ZkSyncDiamondProxyABI.json +1 -1
  1223. package/sdk/src/protocols/zksync-bridge/abis.ts +1 -1
  1224. package/sdk/src/skills/aave-v4.md +91 -0
  1225. package/sdk/src/skills/across.md +28 -10
  1226. package/sdk/src/skills/aerodrome-slipstream.md +57 -0
  1227. package/sdk/src/skills/aerodrome.md +1 -0
  1228. package/sdk/src/skills/aevo.md +12 -4
  1229. package/sdk/src/skills/ambient.md +2 -2
  1230. package/sdk/src/skills/arrakis.md +3 -3
  1231. package/sdk/src/skills/cbeth.md +2 -2
  1232. package/sdk/src/skills/chainlink-ccip.md +3 -2
  1233. package/sdk/src/skills/chainlink.md +1 -1
  1234. package/sdk/src/skills/circle-gateway.md +98 -0
  1235. package/sdk/src/skills/compound-v2.md +2 -2
  1236. package/sdk/src/skills/connext.md +8 -7
  1237. package/sdk/src/skills/curve.md +17 -2
  1238. package/sdk/src/skills/debridge.md +3 -2
  1239. package/sdk/src/skills/eigenlayer.md +1 -1
  1240. package/sdk/src/skills/etherfi.md +1 -1
  1241. package/sdk/src/skills/fluid.md +46 -39
  1242. package/sdk/src/skills/gains-network.md +13 -21
  1243. package/sdk/src/skills/gamma.md +12 -6
  1244. package/sdk/src/skills/gmx-v1.md +4 -2
  1245. package/sdk/src/skills/gmx-v2.md +6 -2
  1246. package/sdk/src/skills/harvest.md +2 -2
  1247. package/sdk/src/skills/hegic.md +9 -8
  1248. package/sdk/src/skills/hop.md +8 -8
  1249. package/sdk/src/skills/hyperlane.md +4 -3
  1250. package/sdk/src/skills/index.md +84 -77
  1251. package/sdk/src/skills/kim.md +11 -14
  1252. package/sdk/src/skills/kyberswap-aggregator.md +5 -3
  1253. package/sdk/src/skills/kyberswap.md +6 -6
  1254. package/sdk/src/skills/layerbank.md +41 -35
  1255. package/sdk/src/skills/layerzero.md +3 -2
  1256. package/sdk/src/skills/level-finance.md +6 -4
  1257. package/sdk/src/skills/lido.md +5 -5
  1258. package/sdk/src/skills/lifi.md +41 -23
  1259. package/sdk/src/skills/liquity-v1.md +6 -2
  1260. package/sdk/src/skills/loader.ts +15 -25
  1261. package/sdk/src/skills/mantle-meth.md +13 -5
  1262. package/sdk/src/skills/maverick.md +3 -3
  1263. package/sdk/src/skills/morpho-blue.md +1 -1
  1264. package/sdk/src/skills/mux-protocol.md +21 -17
  1265. package/sdk/src/skills/oneinch.md +4 -3
  1266. package/sdk/src/skills/openocean.md +2 -2
  1267. package/sdk/src/skills/opyn.md +1 -1
  1268. package/sdk/src/skills/permit2.md +1 -1
  1269. package/sdk/src/skills/perpetual-protocol.md +2 -2
  1270. package/sdk/src/skills/premia.md +21 -21
  1271. package/sdk/src/skills/reflexer.md +1 -1
  1272. package/sdk/src/skills/renzo.md +1 -1
  1273. package/sdk/src/skills/safe.md +1 -1
  1274. package/sdk/src/skills/seaport.md +3 -2
  1275. package/sdk/src/skills/silo.md +4 -3
  1276. package/sdk/src/skills/socket.md +4 -5
  1277. package/sdk/src/skills/spookyswap.md +2 -2
  1278. package/sdk/src/skills/squid.md +18 -10
  1279. package/sdk/src/skills/stargate.md +1 -1
  1280. package/sdk/src/skills/sushiswap-v2.md +1 -1
  1281. package/sdk/src/skills/swell.md +6 -4
  1282. package/sdk/src/skills/synapse.md +1 -1
  1283. package/sdk/src/skills/synthetix-v3.md +1 -1
  1284. package/sdk/src/skills/synthra-v3.md +57 -0
  1285. package/sdk/src/skills/thales.md +12 -10
  1286. package/sdk/src/skills/trader-joe.md +1 -1
  1287. package/sdk/src/skills/uniswap-v2.md +2 -1
  1288. package/sdk/src/skills/uniswap-v3.md +14 -4
  1289. package/sdk/src/skills/uniswap-v4.md +3 -1
  1290. package/sdk/src/skills/unitflow-v3.md +62 -0
  1291. package/sdk/src/skills/velodrome.md +2 -2
  1292. package/sdk/src/skills/venus.md +10 -2
  1293. package/sdk/src/skills/vertex.md +1 -1
  1294. package/sdk/src/skills/wormhole.md +1 -1
  1295. package/sdk/src/skills/zerolend.md +1 -1
  1296. package/sdk/src/skills/zerox.md +1 -1
  1297. package/sdk/src/skills/zksync-bridge.md +1 -1
  1298. package/actions/dist/megas-swap.d.ts +0 -97
  1299. package/actions/dist/megas-swap.d.ts.map +0 -1
  1300. package/actions/dist/megas-swap.js +0 -286
  1301. package/sdk/dist/routes/globals.generated.d.ts +0 -94
  1302. package/sdk/dist/routes/globals.generated.d.ts.map +0 -1
  1303. package/sdk/dist/routes/globals.generated.js +0 -2
  1304. package/sdk/dist/routes/globals.generated.js.map +0 -1
@@ -0,0 +1,323 @@
1
+ // ---- field kinds ----------------------------------------------------------------------------
2
+ const address = { k: "address" };
3
+ const recipient = { k: "recipient" };
4
+ const remoteRecipient = { k: "remoteRecipient" };
5
+ const uint256 = { k: "uint", bits: 256 };
6
+ const uint128 = { k: "uint", bits: 128 };
7
+ const uint160 = { k: "uint", bits: 160 };
8
+ const bytes = { k: "bytes" };
9
+ const bytes32 = { k: "bytes32" };
10
+ const bool = { k: "bool" };
11
+ const int = (min, max) => ({ k: "int", min, max });
12
+ const uintN = (bits) => int(0, bits >= 53 ? Number.MAX_SAFE_INTEGER : 2 ** bits - 1);
13
+ const seconds = uintN(53);
14
+ const f = (kind, doc) => ({ kind, doc });
15
+ const opt = (kind, doc) => ({ kind, doc, optional: true });
16
+ const RECIPIENT = f(recipient, 'receives the output when no later action spends it; `"self"` keeps it in the Pot');
17
+ const MIN_OUT = f(uint256, "the least output accepted; the venue reverts below it");
18
+ const DEADLINE = f(seconds, "Unix seconds after which the venue reverts");
19
+ const spec = (group, defaults) => (type, summary, calls, fields, extra = {}) => ({ type, group, summary, calls, spends: true, ...defaults, fields, ...extra });
20
+ const swap = spec("swap", { output: "realized" });
21
+ const bridge = spec("bridge", { output: "passThrough" });
22
+ const wrap = spec("wrap", { output: "realized" });
23
+ const stake = spec("stake", { output: "realized" });
24
+ const lending = spec("lending", { output: "passThrough" });
25
+ const token = spec("token", { output: "passThrough" });
26
+ const source = spec("source", { output: "value" });
27
+ const SPECS = [
28
+ // -- swaps ----------------------------------------------------------------------------------
29
+ swap("uniswapV3ExactInput", "Swaps an exact input through one Uniswap V3 pool.", "SwapRouter02.exactInputSingle", {
30
+ router: f(address, "the SwapRouter02"),
31
+ tokenIn: f(address, "the token sold"),
32
+ tokenOut: f(address, "the token bought"),
33
+ fee: f({ k: "enum", values: [100, 500, 3000, 10000] }, "the pool's fee tier, in hundredths of a bip"),
34
+ amountOutMin: MIN_OUT,
35
+ sqrtPriceLimitX96: opt(uint160, "a price limit; absent or 0 for none"),
36
+ recipient: RECIPIENT,
37
+ }),
38
+ swap("uniswapV3ExactInputMultiHop", "Swaps an exact input along a packed Uniswap V3 path.", "SwapRouter02.exactInput", {
39
+ router: f(address, "the SwapRouter02"),
40
+ path: f(bytes, "the packed path: token ++ fee (3 bytes) ++ token ++ …"),
41
+ amountOutMin: MIN_OUT,
42
+ recipient: RECIPIENT,
43
+ }),
44
+ swap("uniswapV4ExactInput", "Swaps an exact ERC-20 input through one Uniswap V4 pool via the Universal Router.", "an ERC-20 transfer to the router, then UniversalRouter.execute (V4_SWAP: swap, settle, take)", {
45
+ router: f(address, "the Universal Router"),
46
+ poolKey: f({
47
+ k: "object",
48
+ fields: {
49
+ currency0: f(address, "the pool's lower currency"),
50
+ currency1: f(address, "the pool's higher currency"),
51
+ fee: f(uintN(24), "the pool fee, in hundredths of a bip"),
52
+ tickSpacing: f(int(1, 32767), "the pool's tick spacing"),
53
+ hooks: f(address, "the pool's hooks contract, or the zero address"),
54
+ },
55
+ }, "the V4 pool key"),
56
+ zeroForOne: f(bool, "true sells currency0 for currency1"),
57
+ amountOutMin: f(uint128, "the least output accepted; the router reverts below it"),
58
+ recipient: RECIPIENT,
59
+ }),
60
+ swap("uniswapV4ExactInputMultiHop", "Swaps an exact ERC-20 input along a Uniswap V4 path via the Universal Router.", "an ERC-20 transfer to the router, then UniversalRouter.execute (V4_SWAP: swap, settle, take)", {
61
+ router: f(address, "the Universal Router"),
62
+ currencyIn: f(address, "the currency sold"),
63
+ path: f({
64
+ k: "array",
65
+ min: 1,
66
+ of: {
67
+ k: "object",
68
+ fields: {
69
+ intermediateCurrency: f(address, "the currency this hop buys"),
70
+ fee: f(uintN(24), "the hop's pool fee"),
71
+ tickSpacing: f(int(1, 32767), "the hop's pool tick spacing"),
72
+ hooks: f(address, "the hop's pool hooks, or the zero address"),
73
+ },
74
+ },
75
+ }, "the hops, in order; the last hop's currency is the output"),
76
+ amountOutMin: f(uint128, "the least output accepted; the router reverts below it"),
77
+ recipient: RECIPIENT,
78
+ }),
79
+ swap("curveSwap", "Swaps through a Curve pool's 4-argument `exchange`; the output is a balance delta.", "pool.exchange(int128,int128,uint256,uint256)", {
80
+ pool: f(address, "the Curve pool"),
81
+ tokenOut: f(address, "the token bought, whose balance delta is the output"),
82
+ i: f(int(0, 7), "the pool index of the coin sold"),
83
+ j: f(int(0, 7), "the pool index of the coin bought"),
84
+ amountOutMin: MIN_OUT,
85
+ recipient: f(recipient, `${RECIPIENT.doc}; the pool pays the Pot, which forwards it with a transfer`),
86
+ }),
87
+ swap("curveRouterNGSwap", "Swaps along a Curve RouterNG route of up to five hops.", "RouterNG.exchange(address[11],uint256[5][5],uint256,uint256,address[5],address)", {
88
+ router: f(address, "the Curve RouterNG"),
89
+ route: f({ k: "array", of: address, min: 1, max: 11 }, "the route; padded to 11 with zero addresses"),
90
+ swapParams: f({
91
+ k: "array",
92
+ min: 1,
93
+ max: 5,
94
+ of: { k: "tuple", of: [int(0, 255), int(0, 255), int(0, 255), int(0, 255), int(0, 255)] },
95
+ }, "per hop: [i, j, swap_type, pool_type, n_coins]; padded to 5 rows"),
96
+ pools: f({ k: "array", of: address, max: 5 }, "a zap pool where a hop needs one; padded to 5"),
97
+ amountOutMin: MIN_OUT,
98
+ recipient: RECIPIENT,
99
+ }),
100
+ swap("balancerV2Swap", "Swaps through one Balancer V2 pool.", "Vault.swap", {
101
+ vault: f(address, "the Balancer V2 Vault"),
102
+ poolId: f(bytes32, "the pool id"),
103
+ tokenIn: f(address, "the token sold"),
104
+ tokenOut: f(address, "the token bought"),
105
+ amountOutMin: MIN_OUT,
106
+ recipient: RECIPIENT,
107
+ deadline: DEADLINE,
108
+ }),
109
+ swap("balancerV2BatchSwap", "Swaps along Balancer V2 pools in one batch; the output is a balance delta.", "Vault.batchSwap", {
110
+ vault: f(address, "the Balancer V2 Vault"),
111
+ steps: f({
112
+ k: "array",
113
+ min: 1,
114
+ of: {
115
+ k: "object",
116
+ fields: {
117
+ poolId: f(bytes32, "the step's pool id"),
118
+ assetInIndex: f(int(0, 255), "index into `assets` of the step's input"),
119
+ assetOutIndex: f(int(0, 255), "index into `assets` of the step's output"),
120
+ amount: f(uint256, "the step's input; 0 spends the previous step's output"),
121
+ },
122
+ },
123
+ }, "the batch's steps; the last step's output asset is the output"),
124
+ assets: f({ k: "array", of: address, min: 2 }, "every asset the steps index"),
125
+ amountOutMin: MIN_OUT,
126
+ recipient: RECIPIENT,
127
+ deadline: DEADLINE,
128
+ }, { spends: false }),
129
+ swap("balancerV3Swap", "Swaps an exact input through one Balancer V3 pool; the router pays the Pot and pulls " +
130
+ "through Permit2.", "Router.swapSingleTokenExactIn", {
131
+ router: f(address, "the Balancer V3 Router"),
132
+ pool: f(address, "the pool"),
133
+ tokenIn: f(address, "the token sold"),
134
+ tokenOut: f(address, "the token bought"),
135
+ amountOutMin: MIN_OUT,
136
+ deadline: DEADLINE,
137
+ wethIsEth: f(bool, "true to pay or receive native ETH for WETH"),
138
+ }),
139
+ swap("uniswapV2Swap", "Swaps an exact input along a Uniswap V2 path; the output is a balance delta.", "UniswapV2Router.swapExactTokensForTokens", {
140
+ router: f(address, "the V2 router"),
141
+ path: f({ k: "array", of: address, min: 2 }, "the token path; the last token is the output"),
142
+ amountOutMin: MIN_OUT,
143
+ recipient: RECIPIENT,
144
+ deadline: DEADLINE,
145
+ }),
146
+ swap("ambientSwap", "Swaps through an Ambient (CrocSwap) pool; the dex pays the Pot, and the output is a balance delta.", "CrocSwapDex.userCmd(1, abi.encode(...))", {
147
+ dex: f(address, "the CrocSwapDex"),
148
+ base: f(address, "the pool's base token (numerically lower)"),
149
+ quote: f(address, "the pool's quote token"),
150
+ poolIdx: f(uintN(53), "the pool type index (420 is the standard pool)"),
151
+ isBuy: f(bool, "true pays base and receives quote"),
152
+ inBaseQty: f(bool, "true when the amount is denominated in the base token"),
153
+ tip: f(uintN(16), "0 accepts the pool's default fee"),
154
+ limitPrice: f(uint128, "the worst acceptable price, as a Q64.64 square-root price"),
155
+ amountOutMin: f(uint128, "the least output accepted; the dex reverts below it"),
156
+ reserveFlags: f(uintN(8), "0x1 settles base from surplus, 0x2 quote"),
157
+ }),
158
+ swap("dodoSwap", "Swaps through DODO pairs via the DODO proxy, which pays the Pot.", "DODOProxy.dodoSwapV2TokenToToken (or dodoSwapV1)", {
159
+ proxy: f(address, "the DODO proxy; approvals go to DODOApprove, not to it"),
160
+ fromToken: f(address, "the token sold"),
161
+ toToken: f(address, "the token bought"),
162
+ pairs: f({ k: "array", of: address, min: 1 }, "the pairs to route through"),
163
+ directions: f(uintN(53), "a bit per pair: 0 sells base, 1 sells quote"),
164
+ amountOutMin: MIN_OUT,
165
+ deadline: DEADLINE,
166
+ version: opt({ k: "enum", values: ["v1", "v2"] }, '"v1" routes legacy Classical pairs through `dodoSwapV1`; default "v2"'),
167
+ }),
168
+ swap("maverickSwap", "Swaps an exact input through one Maverick V2 pool.", "MaverickV2Router.exactInputSingle", {
169
+ router: f(address, "the Maverick V2 router"),
170
+ pool: f(address, "the pool"),
171
+ tokenAIn: f(bool, "true sells the pool's token A"),
172
+ amountOutMin: MIN_OUT,
173
+ recipient: RECIPIENT,
174
+ }),
175
+ swap("maverickMultiHopSwap", "Swaps an exact input along a packed Maverick V2 path.", "MaverickV2Router.exactInputMultiHop", {
176
+ router: f(address, "the Maverick V2 router"),
177
+ path: f(bytes, "per hop, the pool's 20 bytes then one byte: 1 sells token A, 0 token B"),
178
+ amountOutMin: MIN_OUT,
179
+ recipient: RECIPIENT,
180
+ }),
181
+ swap("carbonSwap", "Trades against Carbon strategies by source amount; the controller pays the Pot.", "CarbonController.tradeBySourceAmount", {
182
+ controller: f(address, "the CarbonController"),
183
+ sourceToken: f(address, "the token sold"),
184
+ targetToken: f(address, "the token bought"),
185
+ tradeActions: f({
186
+ k: "array",
187
+ min: 1,
188
+ of: {
189
+ k: "object",
190
+ fields: {
191
+ strategyId: f(uint256, "the strategy"),
192
+ amount: f(uint128, "the source amount traded against it"),
193
+ },
194
+ },
195
+ }, "the source amount per strategy; together they are the trade"),
196
+ amountOutMin: f(uint128, "the least output accepted; the controller reverts below it"),
197
+ deadline: DEADLINE,
198
+ }, { spends: false }),
199
+ swap("fraxswapSwap", "Swaps an exact input along a Fraxswap path; the output is a balance delta.", "FraxswapRouter.swapExactTokensForTokens", {
200
+ router: f(address, "the Fraxswap router"),
201
+ path: f({ k: "array", of: address, min: 2 }, "the token path; the last token is the output"),
202
+ amountOutMin: MIN_OUT,
203
+ recipient: RECIPIENT,
204
+ deadline: DEADLINE,
205
+ }),
206
+ swap("fluidDexT1Swap", "Swaps an exact ERC-20 input through a Fluid DEX T1 pool.", "FluidDexT1.swapIn", {
207
+ pool: f(address, "the pool"),
208
+ swap0to1: f(bool, "true sells token0"),
209
+ amountOutMin: MIN_OUT,
210
+ recipient: RECIPIENT,
211
+ }),
212
+ // -- bridges --------------------------------------------------------------------------------
213
+ bridge("acrossBridge", "Deposits into an Across SpokePool for the same token on the destination, less the relayer fee.", "SpokePool.depositV3", {
214
+ spokePool: f(address, "the origin SpokePool; it pulls the token, so approve it first"),
215
+ token: f(address, "the token bridged (input and output)"),
216
+ destChainId: f(int(1, Number.MAX_SAFE_INTEGER), "the destination chain id"),
217
+ recipient: f(address, "receives on the destination"),
218
+ relayerFee: f(uint256, "kept by the relayer: the destination receives `amount - relayerFee`"),
219
+ quoteTimestamp: f(uintN(32), "the timestamp the fee was quoted at"),
220
+ fillDeadline: f(uintN(32), "Unix seconds by which a relayer must fill"),
221
+ exclusivityDeadline: f(uintN(32), "Unix seconds of relayer exclusivity; 0 for none"),
222
+ message: f(bytes, "delivered with the fill; 0x for none"),
223
+ }),
224
+ bridge("stargateBridge", "Sends through a Stargate V2 ERC-20 pool (taxi), paying the LayerZero fee it quotes.", "StargatePool.quoteSend, then StargatePool.send", {
225
+ pool: f(address, "the StargatePool; it pulls the token, so approve it first"),
226
+ dstEid: f(uintN(32), "the destination's LayerZero endpoint id"),
227
+ recipient: f(remoteRecipient, "receives on the destination"),
228
+ amountOutMin: f(uint256, "the least the destination may receive"),
229
+ }, { value: "the quoted native fee, from the Pot" }),
230
+ bridge("cctpBridge", "Burns USDC through Circle's CCTP V2 TokenMessenger for minting on the destination.", "TokenMessengerV2.depositForBurn", {
231
+ tokenMessenger: f(address, "the CCTP V2 TokenMessenger; it pulls the token, so approve it first"),
232
+ token: f(address, "the burned token (USDC)"),
233
+ destinationDomain: f(uintN(32), "the destination's CCTP domain"),
234
+ recipient: f(remoteRecipient, "receives the mint on the destination"),
235
+ maxFee: opt(uint256, 'the most the transfer may pay in fees, from the amount; default "0"'),
236
+ minFinalityThreshold: opt(uintN(32), "2000 waits for finality (standard, the default); 1000 is fast"),
237
+ }),
238
+ bridge("hyperlaneBridge", "Transfers through a Hyperlane ERC-20 warp route, paying the interchain gas it quotes.", "TokenRouter.quoteGasPayment, then TokenRouter.transferRemote", {
239
+ router: f(address, "the warp route; it pulls the amount plus any fee it charges"),
240
+ destinationDomain: f(uintN(32), "the destination's Hyperlane domain"),
241
+ recipient: f(remoteRecipient, "receives on the destination"),
242
+ }, { value: "the quoted gas payment, from the Pot" }),
243
+ // -- wrapping -------------------------------------------------------------------------------
244
+ wrap("wrapETH", "Wraps native ETH into WETH.", "WETH.deposit", { weth: f(address, "the WETH contract") }, { output: "passThrough", value: "amount" }),
245
+ wrap("unwrapETH", "Unwraps WETH into native ETH.", "WETH.withdraw", { weth: f(address, "the WETH contract") }, { output: "passThrough" }),
246
+ wrap("wrapStETH", "Wraps stETH into wstETH; the output is the wstETH minted.", "wstETH.wrap", {
247
+ wstETH: f(address, "the wstETH contract; it pulls the stETH, so approve it first"),
248
+ }),
249
+ wrap("unwrapStETH", "Unwraps wstETH; the output is the stETH returned.", "wstETH.unwrap", {
250
+ wstETH: f(address, "the wstETH contract"),
251
+ }),
252
+ // -- staking --------------------------------------------------------------------------------
253
+ stake("lidoStake", "Stakes native ETH with Lido; the output is the stETH received.", "stETH.submit", {
254
+ stETH: f(address, "the stETH contract"),
255
+ referral: opt(address, "Lido's referral; default the zero address"),
256
+ }, { value: "amount" }),
257
+ stake("lidoUnstake", "Requests a Lido withdrawal of stETH; the ETH is claimed later with the withdrawal NFT.", "WithdrawalQueueERC721.requestWithdrawals", {
258
+ withdrawalQueue: f(address, "Lido's withdrawal queue; it pulls the stETH, so approve it first"),
259
+ owner: f(recipient, 'receives the withdrawal NFT; `"self"` is the Pot'),
260
+ }, { output: "passThrough" }),
261
+ stake("rocketPoolStake", "Stakes native ETH with Rocket Pool; the output is the rETH received.", "RocketDepositPool.deposit", {
262
+ depositPool: f(address, "the live RocketDepositPool, which upgrades move; read it from RocketStorage"),
263
+ rETH: f(address, "the rETH token, whose balance delta is the output"),
264
+ }, { value: "amount" }),
265
+ stake("rocketPoolUnstake", "Burns rETH; the output is the ETH received.", "rETH.burn", {
266
+ rETH: f(address, "the rETH token"),
267
+ }),
268
+ stake("etherFiStake", "Stakes native ETH with ether.fi; the output is the eETH received.", "LiquidityPool.deposit", {
269
+ liquidityPool: f(address, "the ether.fi LiquidityPool"),
270
+ eETH: f(address, "the eETH token, whose balance delta is the output"),
271
+ }, { value: "amount" }),
272
+ // -- lending --------------------------------------------------------------------------------
273
+ lending("aaveV3Supply", "Supplies a token to Aave V3.", "Pool.supply", {
274
+ pool: f(address, "the Aave V3 Pool; it pulls the token, so approve it first"),
275
+ token: f(address, "the asset supplied"),
276
+ onBehalfOf: f(recipient, 'credited with the position; `"self"` is the Pot'),
277
+ referralCode: opt(uintN(16), "Aave's referral code; default 0"),
278
+ }),
279
+ lending("aaveV3Withdraw", "Withdraws a token from Aave V3; the output is the amount withdrawn.", "Pool.withdraw", {
280
+ pool: f(address, "the Aave V3 Pool"),
281
+ token: f(address, "the asset withdrawn"),
282
+ recipient: f(recipient, 'receives the asset; `"self"` is the Pot'),
283
+ }, { output: "realized" }),
284
+ lending("aaveV3Borrow", "Borrows a token from Aave V3 at the variable rate, the only rate it offers.", "Pool.borrow", {
285
+ pool: f(address, "the Aave V3 Pool"),
286
+ token: f(address, "the asset borrowed"),
287
+ onBehalfOf: f(recipient, 'whose collateral backs the debt; `"self"` is the Pot'),
288
+ referralCode: opt(uintN(16), "Aave's referral code; default 0"),
289
+ }),
290
+ lending("aaveV3Repay", "Repays an Aave V3 variable-rate debt.", "Pool.repay", {
291
+ pool: f(address, "the Aave V3 Pool; it pulls the token, so approve it first"),
292
+ token: f(address, "the asset repaid"),
293
+ onBehalfOf: f(recipient, 'whose debt is repaid; `"self"` is the Pot'),
294
+ }),
295
+ lending("compoundV3Supply", "Supplies a token to a Compound V3 (Comet) market.", "Comet.supply", {
296
+ comet: f(address, "the Comet market; it pulls the token, so approve it first"),
297
+ token: f(address, "the asset supplied"),
298
+ }),
299
+ lending("compoundV3Withdraw", "Withdraws a token from a Compound V3 (Comet) market.", "Comet.withdraw", {
300
+ comet: f(address, "the Comet market"),
301
+ token: f(address, "the asset withdrawn"),
302
+ }),
303
+ // -- tokens ---------------------------------------------------------------------------------
304
+ token("transfer", "Transfers an ERC-20 token.", "ERC-20 transfer, checked like SafeERC20", {
305
+ token: f(address, "the token"),
306
+ recipient: f(recipient, 'the receiver; `"self"` is the Pot'),
307
+ }),
308
+ token("approve", "Approves an ERC-20 spender, resetting a non-zero allowance first.", "ERC-20 approve, checked and reset like SafeERC20.forceApprove", { token: f(address, "the token"), spender: f(address, "the spender") }),
309
+ token("permit2Approve", "Grants a spender a Permit2 allowance; the token must also be approved to Permit2.", "Permit2.approve(address,address,uint160,uint48)", {
310
+ permit2: f(address, "Permit2 (0x000000000022D473030F116dDEE9F6B43aC78BA3)"),
311
+ token: f(address, "the token"),
312
+ spender: f(address, "the spender, such as Balancer V3's router"),
313
+ expiration: f(uintN(48), "Unix seconds after which the allowance lapses"),
314
+ }),
315
+ // -- sources --------------------------------------------------------------------------------
316
+ source("balanceOf", "Reads the Pot's balance of a token; the output is that balance.", "IERC20.balanceOf(pot)", { token: f(address, "the token") }, { spends: false }),
317
+ source("nativeBalance", "Reads the Pot's native balance; the output is that balance.", "ctx.selfBalance()", {}, { spends: false }),
318
+ source("argument", "Declares a runtime argument of the compiled program; the output is the value supplied.", "a `main` parameter", { name: f({ k: "identifier" }, "the argument's name; arguments are encoded in order") }, { spends: false }),
319
+ ];
320
+ /** Every action's specification, by `type`. */
321
+ export const ACTION_SPECS = Object.fromEntries(SPECS.map((s) => [s.type, s]));
322
+ /** Every action `type`, in reference order. */
323
+ export const ACTION_TYPES = SPECS.map((s) => s.type);
@@ -0,0 +1,35 @@
1
+ import { type CompiledProgram } from "./compose.js";
2
+ import { type QuoteOptions } from "./to-quote.js";
3
+ import type { ApproveAction, SwapAction } from "./types.js";
4
+ type Address = `0x${string}`;
5
+ /** A swap of `amount` split greedily, `buckets` slices at a time, across `candidates`. */
6
+ export interface SplitSwap {
7
+ /**
8
+ * The venues to split across. Each is an ordinary swap action without `amount`, `amountRef` or
9
+ * `saveOutputAs` — the split decides its amount — and must have an on-chain quote with a fixed
10
+ * amount offset (every venue but Uniswap V4, Balancer and Carbon). Each delivers to the Pot.
11
+ */
12
+ readonly candidates: readonly SwapAction[];
13
+ /** The total input, a base-10 string divisible by `buckets`. */
14
+ readonly amount: string;
15
+ /** How many equal slices the greedy allocation hands out; at least 1. */
16
+ readonly buckets: number;
17
+ /**
18
+ * The least total output, checked once after every leg — a per-leg floor cannot express it,
19
+ * because a leg's share is decided at runtime. Required: `"0"` waives it deliberately.
20
+ */
21
+ readonly amountOutMin: string;
22
+ /** Approvals to run first, each with an explicit `amount`. */
23
+ readonly approvals?: readonly ApproveAction[];
24
+ /** Sends the total output of `token` to `recipient` at the end; omit to keep it in the Pot. */
25
+ readonly sweep?: {
26
+ readonly token: Address;
27
+ readonly recipient: Address;
28
+ };
29
+ /** The quoter contracts the candidates price through. */
30
+ readonly quoters?: QuoteOptions;
31
+ }
32
+ /** Compiles a split swap into one program. It takes no runtime arguments. */
33
+ export declare function compileSplitSwap(swap: SplitSwap): CompiledProgram;
34
+ export {};
35
+ //# sourceMappingURL=split-swap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-swap.d.ts","sourceRoot":"","sources":["../src/split-swap.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAG9D,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5D,KAAK,OAAO,GAAG,KAAK,MAAM,EAAE,CAAC;AAE7B,0FAA0F;AAC1F,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,UAAU,EAAE,CAAC;IAC3C,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C,+FAA+F;IAC/F,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1E,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;CACjC;AAID,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,eAAe,CAoFjE"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Greedy split routing across several venues, as ONE SauceScript program.
3
+ *
4
+ * Declared functions:
5
+ * quote_i(amount) One per candidate; invokes the venue's quoter with a runtime amount.
6
+ * quote_any(idx, amount) if/else dispatch to the matching quote_i.
7
+ * swap_any(idx, amount) Same dispatch, but executing the swap; returns what it realized.
8
+ * main() The three passes below.
9
+ *
10
+ * Main algorithm (all three passes are real `for` loops — the per-candidate state lives in
11
+ * transient storage keyed by `i`):
12
+ * 1. Init: for i in 0..N-1 { marg[i] = quote_any(i, bucket); }
13
+ * used[i] and total[i] default to 0 (TLOAD of untouched keys).
14
+ * 2. Greedy: for iter in 0..n-1 {
15
+ * for i in 0..N-1 argmax → (bestMarg, bestIdx);
16
+ * used[bestIdx] += 1;
17
+ * total[bestIdx] += marg[bestIdx]; // cached, no call
18
+ * marg[bestIdx] = quote_any(bestIdx, (used[bestIdx]+1)*bucket)
19
+ * - total[bestIdx];
20
+ * }
21
+ * 3. Execute: for i in 0..N-1 if (used[i] > 0) swap_any(i, used[i]*bucket);
22
+ *
23
+ * The compiler's constant folder UNROLLS a loop whose bound it knows, and `N`/`n` are compile-time
24
+ * constants here, so the emitted main is O(N + n·N) instructions.
25
+ */
26
+ import { formatBigint, fn, indent, newEmitter, } from "./emit.js";
27
+ import { contractsFor } from "./abis.js";
28
+ import { compiled } from "./compose.js";
29
+ import { parseActions } from "./program.js";
30
+ import { lowerAction } from "./to-sauce.js";
31
+ import { quoteCall } from "./to-quote.js";
32
+ const UINT_RE = /^(0|[1-9][0-9]*)$/;
33
+ /** Compiles a split swap into one program. It takes no runtime arguments. */
34
+ export function compileSplitSwap(swap) {
35
+ const candidates = parseActions(swap.candidates, "candidates");
36
+ candidates.forEach((candidate, i) => {
37
+ for (const key of ["amount", "amountRef", "saveOutputAs"]) {
38
+ if (candidate[key] !== undefined) {
39
+ throw new Error(`candidates[${i}].${key}: a split-swap candidate's amount is decided by the split; remove it`);
40
+ }
41
+ }
42
+ });
43
+ const approvals = parseActions(swap.approvals ?? [], "approvals");
44
+ approvals.forEach((approval, i) => {
45
+ if (approval.type !== "approve" || approval.amount === undefined) {
46
+ throw new Error(`approvals[${i}]: expected an \`approve\` action with an explicit \`amount\``);
47
+ }
48
+ });
49
+ if (candidates.length === 0)
50
+ throw new Error("a split swap needs at least one candidate");
51
+ const n = swap.buckets;
52
+ if (!Number.isSafeInteger(n) || n < 1) {
53
+ throw new Error(`buckets must be a positive integer, got ${n}`);
54
+ }
55
+ for (const key of ["amount", "amountOutMin"]) {
56
+ if (typeof swap[key] !== "string" || !UINT_RE.test(swap[key])) {
57
+ throw new Error(`${key} must be a base-10 unsigned integer string, got ${JSON.stringify(swap[key])}` +
58
+ (key === "amountOutMin" ? ' — pass "0" to waive the floor deliberately' : ""));
59
+ }
60
+ }
61
+ const amount = BigInt(swap.amount);
62
+ if (amount % BigInt(n) !== 0n) {
63
+ throw new Error(`amount (${amount}) must be divisible by buckets (${n}) — a remainder would stay in the Pot under the approvals`);
64
+ }
65
+ const bucket = amount / BigInt(n);
66
+ if (bucket === 0n)
67
+ throw new Error(`amount (${amount}) must be at least buckets (${n})`);
68
+ const N = candidates.length;
69
+ const emit = newEmitter();
70
+ const bindings = new Set();
71
+ const use = (result) => {
72
+ for (const b of result.bindings)
73
+ bindings.add(b);
74
+ return result;
75
+ };
76
+ const quoteFns = candidates.map((candidate, i) => {
77
+ const dynamic = quoteCall(candidate, bucket, swap.quoters).toSauceDynamic;
78
+ if (!dynamic) {
79
+ throw new Error(`candidates[${i}] (${candidate.type}) has no on-chain quote with a runtime amount, which a split needs`);
80
+ }
81
+ const quote = dynamic(emit, "amount");
82
+ return fn(`quote_${i}`, ["amount: Uint256"], "Uint256", [
83
+ ...quote.stmts,
84
+ `return ${quote.expr};`,
85
+ ]);
86
+ });
87
+ const quoteAny = fn("quote_any", ["idx: Uint256", "amount: Uint256"], "Uint256", [
88
+ ...outOfRangeGuard(N),
89
+ ...returnDispatch(N, (i) => `return quote_${i}(amount);`),
90
+ ]);
91
+ // Every leg is lowered as consumed (`needsOutput`): it delivers to the Pot and returns what it
92
+ // realized, which the execute pass sums for the aggregate floor.
93
+ const swapAny = fn("swap_any", ["idx: Uint256", "amount: Uint256"], "Uint256", [
94
+ ...outOfRangeGuard(N),
95
+ ...blockDispatch(N, (i) => {
96
+ const built = use(lowerAction(emit, candidates[i], "amount", true));
97
+ return [...built.stmts, `return ${built.output};`];
98
+ }),
99
+ ]);
100
+ const main = mainFn(emit, N, n, bucket, swap, approvals, use);
101
+ const source = [...quoteFns, quoteAny, swapAny, main].join("\n\n") + "\n";
102
+ return compiled(source, contractsFor(bindings), []);
103
+ }
104
+ // ─────────────────────────────────────────────────────────────────────────────
105
+ // Dispatchers
106
+ // ─────────────────────────────────────────────────────────────────────────────
107
+ /**
108
+ * Turns an otherwise-silent fall-through (any out-of-range idx would land on branch N-1) into an
109
+ * explicit revert, so callers can't accidentally route an invalid index to the last candidate.
110
+ */
111
+ function outOfRangeGuard(N) {
112
+ return [`if (idx >= ${N}n) { revert(); }`];
113
+ }
114
+ /** `if (idx == 0) return …; … return <last>;` — every path returns. */
115
+ function returnDispatch(N, branch) {
116
+ const early = Array.from({ length: N - 1 }, (_, i) => `if (idx == ${i}n) { ${branch(i)} }`);
117
+ return [...early, branch(N - 1)];
118
+ }
119
+ /** `if (idx == 0) { … } else if … else { <last> }` — exactly one branch runs. */
120
+ function blockDispatch(N, branch) {
121
+ if (N === 1)
122
+ return [...branch(0)];
123
+ const lines = [];
124
+ for (let i = 0; i < N - 1; i++) {
125
+ lines.push(`${i === 0 ? "" : "} else "}if (idx == ${i}n) {`);
126
+ lines.push(indent(branch(i)));
127
+ }
128
+ lines.push("} else {");
129
+ lines.push(indent(branch(N - 1)));
130
+ lines.push("}");
131
+ return lines;
132
+ }
133
+ // ─────────────────────────────────────────────────────────────────────────────
134
+ // main
135
+ // ─────────────────────────────────────────────────────────────────────────────
136
+ function mainFn(emit, N, n, bucket, swap, approvals, use) {
137
+ // Transient-storage key layout (compile-time bases; indexed at runtime):
138
+ // used[i] at key i
139
+ // total[i] at key N + i
140
+ // marg[i] at key 2N + i
141
+ const key = (base, idx) => (base === 0 ? idx : `${base}n + ${idx}`);
142
+ const used = (idx) => `evm.tload(${key(0, idx)})`;
143
+ const total = (idx) => `evm.tload(${key(N, idx)})`;
144
+ const marg = (idx) => `evm.tload(${key(2 * N, idx)})`;
145
+ const bucketExpr = formatBigint(bucket);
146
+ const body = [];
147
+ for (const approval of approvals) {
148
+ body.push(...use(lowerAction(emit, approval, formatBigint(BigInt(approval.amount)), false)).stmts);
149
+ }
150
+ // Init loop: marg[i] = quote_any(i, bucket).
151
+ body.push(`for (let i = 0n; i < ${N}n; i = i + 1n) {`, ` evm.tstore(${key(2 * N, "i")}, quote_any(i, ${bucketExpr}));`, "}");
152
+ // Greedy loop.
153
+ body.push("let bestMarg = 0n;", "let bestIdx = 0n;", `for (let iter = 0n; iter < ${n}n; iter = iter + 1n) {`, " bestMarg = 0n;", " bestIdx = 0n;", ` for (let j = 0n; j < ${N}n; j = j + 1n) {`, ` if (${marg("j")} > bestMarg) {`, ` bestMarg = ${marg("j")};`, " bestIdx = j;", " }", " }",
154
+ // Allocate only when some venue actually pays. With every marginal at zero the argmax leaves
155
+ // bestIdx at 0, so the old code walked used[0] up to n and sent the WHOLE trade to candidate 0.
156
+ " if (bestMarg > 0n) {", ` evm.tstore(${key(0, "bestIdx")}, ${used("bestIdx")} + 1n);`, ` evm.tstore(${key(N, "bestIdx")}, ${total("bestIdx")} + ${marg("bestIdx")});`,
157
+ // The next marginal, CLAMPED. `-` is checked on both engines (compiler/README.md's ledger: the
158
+ // EVM's Math.huff checks add/sub/mul natively), so a quote that comes back below the running
159
+ // total does not wrap — it REVERTS, killing the whole route. Quotes are not guaranteed monotone
160
+ // across sizes: fee tiers are discontinuous, curves are not concave, and an oracle-backed
161
+ // quoter can move between two calls in the same transaction.
162
+ ` let nextQuote = quote_any(bestIdx, (${used("bestIdx")} + 1n) * ${bucketExpr});`, ` let running = ${total("bestIdx")};`, ` evm.tstore(${key(2 * N, "bestIdx")}, nextQuote > running ? nextQuote - running : 0n);`, " }", "}");
163
+ // Execute loop: dispatch the swap for every candidate with used > 0, summing what each returns.
164
+ body.push("let totalOut = 0n;", `for (let k = 0n; k < ${N}n; k = k + 1n) {`, ` if (${used("k")} > 0n) {`, ` totalOut = totalOut + swap_any(k, ${used("k")} * ${bucketExpr});`, " }", "}");
165
+ // The aggregate floor, over the realized sum — see `SplitSwap.amountOutMin`.
166
+ const amountOutMin = BigInt(swap.amountOutMin);
167
+ if (amountOutMin > 0n) {
168
+ body.push(`if (totalOut < ${formatBigint(amountOutMin)}) { revert(); }`);
169
+ }
170
+ if (swap.sweep) {
171
+ const { token, recipient } = swap.sweep;
172
+ body.push(...use(lowerAction(emit, { type: "transfer", token, recipient }, "totalOut", false)).stmts);
173
+ }
174
+ return fn("main", [], "void", body);
175
+ }
@@ -2,69 +2,45 @@ import { type Emitter, type Expr, type Fragment } from "./emit.js";
2
2
  import type { SwapAction } from "./types.js";
3
3
  type Address = `0x${string}`;
4
4
  type Hex = `0x${string}`;
5
- /** Result of compiling a swap action into a quote call. */
6
- export interface QuoteCall {
7
- /** Contract to call via eth_call */
8
- to: Address;
9
- /** ABI-encoded calldata */
10
- data: Hex;
11
- /** Decode the raw eth_call result into the output amount */
12
- decode: (result: Hex) => bigint;
13
- /**
14
- * Emit the SauceScript that performs the on-chain quote call, plus the expression yielding the
15
- * output amount. Every quote extracts to a single uint256 regardless of the underlying return
16
- * shape.
17
- *
18
- * Absent when the protocol's quote cannot run on-chain at all, so its presence is the signal that
19
- * emitting it produces a program that can execute. Callers must check for it.
20
- *
21
- * BREAKING: took and returned a `Saucer`; takes an `Emitter` and returns a source [`Fragment`].
22
- */
23
- toSauce?: (emit: Emitter) => Fragment;
5
+ /** A quote as an `eth_call`: send `data` to `to`, and `decode` the result into the output amount. */
6
+ export interface Quote {
7
+ readonly to: Address;
8
+ readonly data: Hex;
9
+ decode(result: Hex): bigint;
10
+ }
11
+ /** A quote, plus its on-chain forms where the protocol's quoter can run inside a transaction. */
12
+ export interface QuoteCall extends Quote {
13
+ /** The quote as SauceScript statements, leaving the output amount as their expression. */
14
+ readonly toSauce?: (emit: Emitter) => Fragment;
24
15
  /**
25
- * Runtime-amount variant: splices `amountExpr` into the calldata at the
26
- * protocol's fixed amount offset and returns the uint256 output expression.
27
- *
28
- * Only present for protocols whose quote calldata has the input amount at
29
- * a fixed 32-byte offset (UniV3, Curve, BalV3, Maverick, Clipper, DODO,
30
- * Integral, FluidT1, UniV2/Fraxswap routers). Callers that need
31
- * runtime-parameterised quoting (e.g. split routing) must check for this
32
- * field and error out if absent.
33
- *
34
- * BREAKING: took and returned `Saucer`s; takes an `Emitter` plus a SauceScript amount
35
- * EXPRESSION, and returns a source [`Fragment`].
16
+ * The same, with the input amount a runtime expression spliced in at the quote's fixed amount
17
+ * offset — what the split swap needs. Absent where the amount has no fixed offset.
36
18
  */
37
- toSauceDynamic?: (emit: Emitter, amountExpr: Expr) => Fragment;
19
+ readonly toSauceDynamic?: (emit: Emitter, amountExpr: Expr) => Fragment;
38
20
  }
39
21
  /**
40
- * External contract addresses needed for quoting protocols that use a
41
- * separate quoter / resolver / impact contract.
22
+ * The quoter contracts for venues that price through one rather than through the pool or router
23
+ * the action names.
42
24
  */
43
- export interface QuoteOpts {
44
- /** UniswapV3 QuoterV2 address (required for uniswapV3 actions) */
45
- quoterV3?: Address;
46
- /** UniswapV4 V4Quoter address (required for uniswapV4 actions) */
47
- quoterV4?: Address;
48
- /** Maverick V2 MaverickV2Quoter address (required for maverick actions) */
49
- quoterMaverick?: Address;
50
- /** Ambient CrocImpact address (required for ambient actions) */
51
- impact?: Address;
52
- /** Integral TwapRelayer address (required for integral actions) */
53
- relayer?: Address;
54
- /** Fluid DexReservesResolver address (required for fluidDexT1 actions) */
55
- fluidResolver?: Address;
56
- /** Fluid DexLiteResolver address (required for fluidDexLite actions) */
57
- fluidLiteResolver?: Address;
25
+ export interface QuoteOptions {
26
+ /** Uniswap's QuoterV2, for `uniswapV3ExactInput` and `uniswapV3ExactInputMultiHop`. */
27
+ readonly uniswapV3Quoter?: Address;
28
+ /** Uniswap's V4Quoter, for `uniswapV4ExactInput` and `uniswapV4ExactInputMultiHop`. */
29
+ readonly uniswapV4Quoter?: Address;
30
+ /** The MaverickV2Quoter, for `maverickSwap` and `maverickMultiHopSwap`. */
31
+ readonly maverickQuoter?: Address;
32
+ /** Ambient's CrocImpact, for `ambientSwap`. */
33
+ readonly ambientImpact?: Address;
34
+ /** Fluid's DexReservesResolver, for `fluidDexT1Swap`. */
35
+ readonly fluidDexResolver?: Address;
58
36
  }
59
37
  /**
60
- * Compile a swap action into calldata for quoting the output amount via `eth_call`.
61
- *
62
- * Every supported action resolves to a view or revert-simulation call that
63
- * does **not** require token balance or approvals.
64
- *
65
- * Some protocols use a separate quoter/resolver contract. Pass the relevant
66
- * address in {@link QuoteOpts} when quoting those protocols.
38
+ * The `eth_call` that prices `action` at its own `amount` (a Carbon trade or a Balancer batch at
39
+ * the amounts it carries). None needs a balance or an allowance. Venues that price through a
40
+ * separate quoter take its address from `options`.
67
41
  */
68
- export declare function actionToQuote(action: SwapAction, amountIn: bigint, opts?: QuoteOpts): QuoteCall;
42
+ export declare function quoteAction(action: SwapAction, options?: QuoteOptions): Quote;
43
+ /** The quote for `action` at `amountIn`, with its on-chain forms where there are any. */
44
+ export declare function quoteCall(action: SwapAction, amountIn: bigint, opts?: QuoteOptions): QuoteCall;
69
45
  export {};
70
46
  //# sourceMappingURL=to-quote.d.ts.map