@eco-incorp/sauce 0.99.4 → 0.99.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1343) hide show
  1. package/README.md +105 -63
  2. package/actions/action-program.schema.json +1810 -0
  3. package/actions/dist/abis.d.ts +167 -0
  4. package/actions/dist/abis.d.ts.map +1 -0
  5. package/actions/dist/abis.js +215 -0
  6. package/actions/dist/compile.d.ts +15 -8
  7. package/actions/dist/compile.d.ts.map +1 -1
  8. package/actions/dist/compile.js +11 -33
  9. package/actions/dist/compose.d.ts +46 -0
  10. package/actions/dist/compose.d.ts.map +1 -0
  11. package/actions/dist/compose.js +118 -0
  12. package/actions/dist/emit.d.ts +0 -35
  13. package/actions/dist/emit.d.ts.map +1 -1
  14. package/actions/dist/emit.js +15 -46
  15. package/actions/dist/index.d.ts +11 -8
  16. package/actions/dist/index.d.ts.map +1 -1
  17. package/actions/dist/index.js +6 -4
  18. package/actions/dist/program.d.ts +23 -0
  19. package/actions/dist/program.d.ts.map +1 -0
  20. package/actions/dist/program.js +358 -0
  21. package/actions/dist/registry.d.ts +37 -0
  22. package/actions/dist/registry.d.ts.map +1 -0
  23. package/actions/dist/registry.js +36 -0
  24. package/actions/dist/schema.d.ts +6 -0
  25. package/actions/dist/schema.d.ts.map +1 -0
  26. package/actions/dist/schema.js +166 -0
  27. package/actions/dist/semantics.d.ts +18 -0
  28. package/actions/dist/semantics.d.ts.map +1 -0
  29. package/actions/dist/semantics.js +164 -0
  30. package/actions/dist/spec.d.ts +97 -0
  31. package/actions/dist/spec.d.ts.map +1 -0
  32. package/actions/dist/spec.js +323 -0
  33. package/actions/dist/split-swap.d.ts +35 -0
  34. package/actions/dist/split-swap.d.ts.map +1 -0
  35. package/actions/dist/split-swap.js +175 -0
  36. package/actions/dist/to-quote.d.ts +32 -56
  37. package/actions/dist/to-quote.d.ts.map +1 -1
  38. package/actions/dist/to-quote.js +134 -141
  39. package/actions/dist/to-sauce.d.ts +48 -32
  40. package/actions/dist/to-sauce.d.ts.map +1 -1
  41. package/actions/dist/to-sauce.js +691 -753
  42. package/actions/dist/types.d.ts +227 -335
  43. package/actions/dist/types.d.ts.map +1 -1
  44. package/actions/dist/types.js +12 -3
  45. package/dev-tools/README.md +9 -9
  46. package/dev-tools/artifacts/ISauceRouter.json +1 -1
  47. package/dev-tools/artifacts/Router.json +1 -1
  48. package/dev-tools/scripts/start-fork.sh +1 -1
  49. package/dev-tools/scripts/start-local.sh +5 -1
  50. package/dev-tools/src/svm-local.ts +23 -13
  51. package/docs/README.md +45 -34
  52. package/docs/api/README.md +37 -29
  53. package/docs/api/compiler.md +116 -55
  54. package/docs/api/coverage.md +99 -48
  55. package/docs/api/routes.md +51 -22
  56. package/docs/concepts/architecture.md +85 -116
  57. package/docs/concepts/saucescript.md +46 -25
  58. package/docs/examples/README.md +18 -10
  59. package/docs/examples/action-program.ts +75 -0
  60. package/docs/examples/cross-chain-cascade.sauce.ts +21 -0
  61. package/docs/examples/cross-chain-cascade.ts +43 -0
  62. package/docs/examples/cross-chain-intent.sauce.ts +23 -0
  63. package/docs/examples/cross-chain-intent.ts +49 -0
  64. package/docs/examples/first-intent.ts +7 -10
  65. package/docs/examples/protocol-approval.ts +3 -7
  66. package/docs/guides/actions.md +395 -0
  67. package/docs/guides/builders-and-actions.md +34 -37
  68. package/docs/guides/compiling.md +99 -98
  69. package/docs/guides/intents.md +273 -25
  70. package/docs/guides/nested-intents.md +165 -5
  71. package/docs/guides/protocols-and-tokens.md +36 -8
  72. package/docs/guides/quick-start.md +51 -22
  73. package/docs/guides/solana.md +38 -40
  74. package/docs/guides/verification.md +70 -31
  75. package/package.json +7 -2
  76. package/sdk/dist/artifacts/ISauceRouter.json +1 -1
  77. package/sdk/dist/artifacts/Router.json +1 -1
  78. package/sdk/dist/artifacts/V12Deployments.json +23 -22
  79. package/sdk/dist/artifacts/V12EngineGate.json +2 -2
  80. package/sdk/dist/artifacts/V12Kitchen.json +1 -1
  81. package/sdk/dist/artifacts/V12Pot.json +1 -1
  82. package/sdk/dist/artifacts/V12RuntimeBytecode.json +1 -1
  83. package/sdk/dist/artifacts/svm/engine-devnet.so +0 -0
  84. package/sdk/dist/artifacts/svm/engine-mainnet.so +0 -0
  85. package/sdk/dist/bytes.d.ts +10 -0
  86. package/sdk/dist/bytes.d.ts.map +1 -0
  87. package/sdk/dist/bytes.js +31 -0
  88. package/sdk/dist/bytes.js.map +1 -0
  89. package/sdk/dist/chains/canonical.d.ts +7 -1
  90. package/sdk/dist/chains/canonical.d.ts.map +1 -1
  91. package/sdk/dist/chains/canonical.js +6 -2
  92. package/sdk/dist/chains/canonical.js.map +1 -1
  93. package/sdk/dist/chains/index.d.ts +16 -2
  94. package/sdk/dist/chains/index.d.ts.map +1 -1
  95. package/sdk/dist/chains/index.js +51 -34
  96. package/sdk/dist/chains/index.js.map +1 -1
  97. package/sdk/dist/compact-arguments.d.ts +4 -1
  98. package/sdk/dist/compact-arguments.d.ts.map +1 -1
  99. package/sdk/dist/compact-arguments.js +25 -4
  100. package/sdk/dist/compact-arguments.js.map +1 -1
  101. package/sdk/dist/compiler.d.ts +13 -1
  102. package/sdk/dist/compiler.d.ts.map +1 -1
  103. package/sdk/dist/compiler.js +5 -6
  104. package/sdk/dist/compiler.js.map +1 -1
  105. package/sdk/dist/core/types.d.ts +18 -2
  106. package/sdk/dist/core/types.d.ts.map +1 -1
  107. package/sdk/dist/deployments/pot.d.ts +39 -0
  108. package/sdk/dist/deployments/pot.d.ts.map +1 -0
  109. package/sdk/dist/deployments/pot.js +48 -0
  110. package/sdk/dist/deployments/pot.js.map +1 -0
  111. package/sdk/dist/deployments/v12-addresses.d.ts +1 -4
  112. package/sdk/dist/deployments/v12-addresses.d.ts.map +1 -1
  113. package/sdk/dist/deployments/v12-addresses.js +7 -21
  114. package/sdk/dist/deployments/v12-addresses.js.map +1 -1
  115. package/sdk/dist/deposit/index.d.ts +5 -5
  116. package/sdk/dist/deposit/index.d.ts.map +1 -1
  117. package/sdk/dist/deposit/index.js +1 -1
  118. package/sdk/dist/deposit/index.js.map +1 -1
  119. package/sdk/dist/deposit/params.d.ts +3 -2
  120. package/sdk/dist/deposit/params.d.ts.map +1 -1
  121. package/sdk/dist/deposit/params.js +40 -3
  122. package/sdk/dist/deposit/params.js.map +1 -1
  123. package/sdk/dist/deposit/source.d.ts +0 -19
  124. package/sdk/dist/deposit/source.d.ts.map +1 -1
  125. package/sdk/dist/deposit/source.js +17 -34
  126. package/sdk/dist/deposit/source.js.map +1 -1
  127. package/sdk/dist/descriptors/accessors.d.ts +2 -2
  128. package/sdk/dist/descriptors/accessors.d.ts.map +1 -1
  129. package/sdk/dist/descriptors/accessors.js +15 -4
  130. package/sdk/dist/descriptors/accessors.js.map +1 -1
  131. package/sdk/dist/descriptors/call.d.ts +8 -13
  132. package/sdk/dist/descriptors/call.d.ts.map +1 -1
  133. package/sdk/dist/descriptors/call.js +7 -19
  134. package/sdk/dist/descriptors/call.js.map +1 -1
  135. package/sdk/dist/descriptors/derive.d.ts +1 -1
  136. package/sdk/dist/descriptors/derive.d.ts.map +1 -1
  137. package/sdk/dist/descriptors/derive.js +1 -1
  138. package/sdk/dist/descriptors/derive.js.map +1 -1
  139. package/sdk/dist/descriptors/index.d.ts +1 -1
  140. package/sdk/dist/descriptors/index.d.ts.map +1 -1
  141. package/sdk/dist/descriptors/index.js +1 -1
  142. package/sdk/dist/descriptors/index.js.map +1 -1
  143. package/sdk/dist/descriptors/links.d.ts +3 -12
  144. package/sdk/dist/descriptors/links.d.ts.map +1 -1
  145. package/sdk/dist/descriptors/links.js +2 -32
  146. package/sdk/dist/descriptors/links.js.map +1 -1
  147. package/sdk/dist/descriptors/query.d.ts +7 -3
  148. package/sdk/dist/descriptors/query.d.ts.map +1 -1
  149. package/sdk/dist/descriptors/query.js +9 -5
  150. package/sdk/dist/descriptors/query.js.map +1 -1
  151. package/sdk/dist/descriptors/registry.d.ts.map +1 -1
  152. package/sdk/dist/descriptors/registry.js +1 -0
  153. package/sdk/dist/descriptors/registry.js.map +1 -1
  154. package/sdk/dist/embedded/recipes.d.ts +3 -0
  155. package/sdk/dist/embedded/recipes.d.ts.map +1 -0
  156. package/sdk/dist/embedded/recipes.js +15 -0
  157. package/sdk/dist/embedded/recipes.js.map +1 -0
  158. package/sdk/dist/embedded/resolve.d.ts +27 -0
  159. package/sdk/dist/embedded/resolve.d.ts.map +1 -0
  160. package/sdk/dist/embedded/resolve.js +99 -0
  161. package/sdk/dist/embedded/resolve.js.map +1 -0
  162. package/sdk/dist/embedded/skills.generated.d.ts +3 -0
  163. package/sdk/dist/embedded/skills.generated.d.ts.map +1 -0
  164. package/sdk/dist/embedded/skills.generated.js +141 -0
  165. package/sdk/dist/embedded/skills.generated.js.map +1 -0
  166. package/sdk/dist/embedded/sources.generated.d.ts +7 -0
  167. package/sdk/dist/embedded/sources.generated.d.ts.map +1 -0
  168. package/sdk/dist/embedded/sources.generated.js +231 -0
  169. package/sdk/dist/embedded/sources.generated.js.map +1 -0
  170. package/sdk/dist/evm/execution-fee.d.ts +30 -0
  171. package/sdk/dist/evm/execution-fee.d.ts.map +1 -0
  172. package/sdk/dist/evm/execution-fee.js +33 -0
  173. package/sdk/dist/evm/execution-fee.js.map +1 -0
  174. package/sdk/dist/index.d.ts +7 -2
  175. package/sdk/dist/index.d.ts.map +1 -1
  176. package/sdk/dist/index.js +16 -10
  177. package/sdk/dist/index.js.map +1 -1
  178. package/sdk/dist/plugin/index.d.ts +4 -3
  179. package/sdk/dist/plugin/index.d.ts.map +1 -1
  180. package/sdk/dist/plugin/index.js +5 -22
  181. package/sdk/dist/plugin/index.js.map +1 -1
  182. package/sdk/dist/protocols/aave-v4/abis.d.ts +201 -0
  183. package/sdk/dist/protocols/aave-v4/abis.d.ts.map +1 -0
  184. package/sdk/dist/protocols/aave-v4/abis.js +139 -0
  185. package/sdk/dist/protocols/aave-v4/abis.js.map +1 -0
  186. package/sdk/dist/protocols/aave-v4/addresses.d.ts +3 -0
  187. package/sdk/dist/protocols/aave-v4/addresses.d.ts.map +1 -0
  188. package/sdk/dist/protocols/aave-v4/addresses.js +65 -0
  189. package/sdk/dist/protocols/aave-v4/addresses.js.map +1 -0
  190. package/sdk/dist/protocols/aave-v4/functions.d.ts +5 -0
  191. package/sdk/dist/protocols/aave-v4/functions.d.ts.map +1 -0
  192. package/sdk/dist/protocols/aave-v4/functions.js +37 -0
  193. package/sdk/dist/protocols/aave-v4/functions.js.map +1 -0
  194. package/sdk/dist/protocols/aave-v4/index.d.ts +5 -0
  195. package/sdk/dist/protocols/aave-v4/index.d.ts.map +1 -0
  196. package/sdk/dist/protocols/aave-v4/index.js +5 -0
  197. package/sdk/dist/protocols/aave-v4/index.js.map +1 -0
  198. package/sdk/dist/protocols/aave-v4/info.d.ts +3 -0
  199. package/sdk/dist/protocols/aave-v4/info.d.ts.map +1 -0
  200. package/sdk/dist/protocols/aave-v4/info.js +12 -0
  201. package/sdk/dist/protocols/aave-v4/info.js.map +1 -0
  202. package/sdk/dist/protocols/across/abis.d.ts +24 -12
  203. package/sdk/dist/protocols/across/abis.d.ts.map +1 -1
  204. package/sdk/dist/protocols/across/abis.js +16 -8
  205. package/sdk/dist/protocols/across/abis.js.map +1 -1
  206. package/sdk/dist/protocols/across/addresses.d.ts.map +1 -1
  207. package/sdk/dist/protocols/across/addresses.js +10 -0
  208. package/sdk/dist/protocols/across/addresses.js.map +1 -1
  209. package/sdk/dist/protocols/across/functions.d.ts +1 -1
  210. package/sdk/dist/protocols/across/functions.d.ts.map +1 -1
  211. package/sdk/dist/protocols/across/functions.js +2 -2
  212. package/sdk/dist/protocols/aerodrome-slipstream/abis.d.ts +112 -0
  213. package/sdk/dist/protocols/aerodrome-slipstream/abis.d.ts.map +1 -0
  214. package/sdk/dist/protocols/aerodrome-slipstream/abis.js +73 -0
  215. package/sdk/dist/protocols/aerodrome-slipstream/abis.js.map +1 -0
  216. package/sdk/dist/protocols/aerodrome-slipstream/addresses.d.ts +3 -0
  217. package/sdk/dist/protocols/aerodrome-slipstream/addresses.d.ts.map +1 -0
  218. package/sdk/dist/protocols/aerodrome-slipstream/addresses.js +39 -0
  219. package/sdk/dist/protocols/aerodrome-slipstream/addresses.js.map +1 -0
  220. package/sdk/dist/protocols/aerodrome-slipstream/functions.d.ts +2 -0
  221. package/sdk/dist/protocols/aerodrome-slipstream/functions.d.ts.map +1 -0
  222. package/sdk/dist/protocols/aerodrome-slipstream/functions.js +9 -0
  223. package/sdk/dist/protocols/aerodrome-slipstream/functions.js.map +1 -0
  224. package/sdk/dist/protocols/aerodrome-slipstream/index.d.ts +5 -0
  225. package/sdk/dist/protocols/aerodrome-slipstream/index.d.ts.map +1 -0
  226. package/sdk/dist/protocols/aerodrome-slipstream/index.js +5 -0
  227. package/sdk/dist/protocols/aerodrome-slipstream/index.js.map +1 -0
  228. package/sdk/dist/protocols/aerodrome-slipstream/info.d.ts +3 -0
  229. package/sdk/dist/protocols/aerodrome-slipstream/info.d.ts.map +1 -0
  230. package/sdk/dist/protocols/aerodrome-slipstream/info.js +12 -0
  231. package/sdk/dist/protocols/aerodrome-slipstream/info.js.map +1 -0
  232. package/sdk/dist/protocols/aevo/abis.d.ts +17 -2
  233. package/sdk/dist/protocols/aevo/abis.d.ts.map +1 -1
  234. package/sdk/dist/protocols/aevo/abis.js +10 -2
  235. package/sdk/dist/protocols/aevo/abis.js.map +1 -1
  236. package/sdk/dist/protocols/aevo/functions.d.ts +1 -1
  237. package/sdk/dist/protocols/aevo/functions.d.ts.map +1 -1
  238. package/sdk/dist/protocols/aevo/functions.js +2 -2
  239. package/sdk/dist/protocols/alchemix/abis.d.ts +1 -1
  240. package/sdk/dist/protocols/alchemix/abis.js +1 -1
  241. package/sdk/dist/protocols/alchemix/abis.js.map +1 -1
  242. package/sdk/dist/protocols/ambient/abis.d.ts +2 -2
  243. package/sdk/dist/protocols/ambient/abis.d.ts.map +1 -1
  244. package/sdk/dist/protocols/ambient/abis.js +3 -2
  245. package/sdk/dist/protocols/ambient/abis.js.map +1 -1
  246. package/sdk/dist/protocols/ambient/addresses.d.ts.map +1 -1
  247. package/sdk/dist/protocols/ambient/addresses.js +2 -1
  248. package/sdk/dist/protocols/ambient/addresses.js.map +1 -1
  249. package/sdk/dist/protocols/arrakis/abis.d.ts +4 -13
  250. package/sdk/dist/protocols/arrakis/abis.d.ts.map +1 -1
  251. package/sdk/dist/protocols/arrakis/abis.js +2 -11
  252. package/sdk/dist/protocols/arrakis/abis.js.map +1 -1
  253. package/sdk/dist/protocols/arrakis/functions.d.ts +1 -1
  254. package/sdk/dist/protocols/arrakis/functions.d.ts.map +1 -1
  255. package/sdk/dist/protocols/arrakis/functions.js +2 -1
  256. package/sdk/dist/protocols/arrakis/functions.js.map +1 -1
  257. package/sdk/dist/protocols/axelar/abis.d.ts +1 -1
  258. package/sdk/dist/protocols/axelar/abis.js +1 -1
  259. package/sdk/dist/protocols/balancer-v2/abis.d.ts +7 -7
  260. package/sdk/dist/protocols/balancer-v2/abis.js +7 -7
  261. package/sdk/dist/protocols/balancer-v2/abis.js.map +1 -1
  262. package/sdk/dist/protocols/cbeth/abis.d.ts +7 -1
  263. package/sdk/dist/protocols/cbeth/abis.d.ts.map +1 -1
  264. package/sdk/dist/protocols/cbeth/abis.js +6 -2
  265. package/sdk/dist/protocols/cbeth/abis.js.map +1 -1
  266. package/sdk/dist/protocols/cbeth/functions.d.ts +2 -2
  267. package/sdk/dist/protocols/cbeth/functions.d.ts.map +1 -1
  268. package/sdk/dist/protocols/cbeth/functions.js +4 -6
  269. package/sdk/dist/protocols/cbeth/functions.js.map +1 -1
  270. package/sdk/dist/protocols/cctp/abis.d.ts +1 -4
  271. package/sdk/dist/protocols/cctp/abis.d.ts.map +1 -1
  272. package/sdk/dist/protocols/cctp/abis.js +3 -1
  273. package/sdk/dist/protocols/cctp/abis.js.map +1 -1
  274. package/sdk/dist/protocols/cctp/addresses.d.ts.map +1 -1
  275. package/sdk/dist/protocols/cctp/addresses.js +3 -0
  276. package/sdk/dist/protocols/cctp/addresses.js.map +1 -1
  277. package/sdk/dist/protocols/chainlink/abis.d.ts +6 -6
  278. package/sdk/dist/protocols/chainlink/abis.js +6 -6
  279. package/sdk/dist/protocols/chainlink/abis.js.map +1 -1
  280. package/sdk/dist/protocols/chainlink/addresses.d.ts.map +1 -1
  281. package/sdk/dist/protocols/chainlink/addresses.js +10 -0
  282. package/sdk/dist/protocols/chainlink/addresses.js.map +1 -1
  283. package/sdk/dist/protocols/chainlink-ccip/abis.d.ts +1 -1
  284. package/sdk/dist/protocols/chainlink-ccip/abis.js +1 -1
  285. package/sdk/dist/protocols/chainlink-ccip/addresses.d.ts.map +1 -1
  286. package/sdk/dist/protocols/chainlink-ccip/addresses.js +9 -0
  287. package/sdk/dist/protocols/chainlink-ccip/addresses.js.map +1 -1
  288. package/sdk/dist/protocols/circle-gateway/abis.d.ts +114 -0
  289. package/sdk/dist/protocols/circle-gateway/abis.d.ts.map +1 -0
  290. package/sdk/dist/protocols/circle-gateway/abis.js +86 -0
  291. package/sdk/dist/protocols/circle-gateway/abis.js.map +1 -0
  292. package/sdk/dist/protocols/circle-gateway/addresses.d.ts +3 -0
  293. package/sdk/dist/protocols/circle-gateway/addresses.d.ts.map +1 -0
  294. package/sdk/dist/protocols/circle-gateway/addresses.js +37 -0
  295. package/sdk/dist/protocols/circle-gateway/addresses.js.map +1 -0
  296. package/sdk/dist/protocols/circle-gateway/functions.d.ts +4 -0
  297. package/sdk/dist/protocols/circle-gateway/functions.d.ts.map +1 -0
  298. package/sdk/dist/protocols/circle-gateway/functions.js +27 -0
  299. package/sdk/dist/protocols/circle-gateway/functions.js.map +1 -0
  300. package/sdk/dist/protocols/circle-gateway/index.d.ts +5 -0
  301. package/sdk/dist/protocols/circle-gateway/index.d.ts.map +1 -0
  302. package/sdk/dist/protocols/circle-gateway/index.js +5 -0
  303. package/sdk/dist/protocols/circle-gateway/index.js.map +1 -0
  304. package/sdk/dist/protocols/circle-gateway/info.d.ts +3 -0
  305. package/sdk/dist/protocols/circle-gateway/info.d.ts.map +1 -0
  306. package/sdk/dist/protocols/circle-gateway/info.js +12 -0
  307. package/sdk/dist/protocols/circle-gateway/info.js.map +1 -0
  308. package/sdk/dist/protocols/compound-v2/abis.d.ts +2 -2
  309. package/sdk/dist/protocols/compound-v2/abis.js +2 -2
  310. package/sdk/dist/protocols/compound-v2/abis.js.map +1 -1
  311. package/sdk/dist/protocols/connext/abis.d.ts +46 -6
  312. package/sdk/dist/protocols/connext/abis.d.ts.map +1 -1
  313. package/sdk/dist/protocols/connext/abis.js +27 -5
  314. package/sdk/dist/protocols/connext/abis.js.map +1 -1
  315. package/sdk/dist/protocols/connext/addresses.d.ts.map +1 -1
  316. package/sdk/dist/protocols/connext/addresses.js +1 -7
  317. package/sdk/dist/protocols/connext/addresses.js.map +1 -1
  318. package/sdk/dist/protocols/connext/functions.d.ts +1 -1
  319. package/sdk/dist/protocols/connext/functions.d.ts.map +1 -1
  320. package/sdk/dist/protocols/connext/functions.js +3 -2
  321. package/sdk/dist/protocols/connext/functions.js.map +1 -1
  322. package/sdk/dist/protocols/crvusd/functions.d.ts +2 -2
  323. package/sdk/dist/protocols/crvusd/functions.d.ts.map +1 -1
  324. package/sdk/dist/protocols/crvusd/functions.js +6 -6
  325. package/sdk/dist/protocols/curve/abis.d.ts +119 -7
  326. package/sdk/dist/protocols/curve/abis.d.ts.map +1 -1
  327. package/sdk/dist/protocols/curve/abis.js +90 -7
  328. package/sdk/dist/protocols/curve/abis.js.map +1 -1
  329. package/sdk/dist/protocols/debridge/abis.d.ts +7 -7
  330. package/sdk/dist/protocols/debridge/abis.js +5 -5
  331. package/sdk/dist/protocols/debridge/abis.js.map +1 -1
  332. package/sdk/dist/protocols/debridge/addresses.d.ts.map +1 -1
  333. package/sdk/dist/protocols/debridge/addresses.js +11 -0
  334. package/sdk/dist/protocols/debridge/addresses.js.map +1 -1
  335. package/sdk/dist/protocols/eco-routes/abis.d.ts +463 -0
  336. package/sdk/dist/protocols/eco-routes/abis.d.ts.map +1 -0
  337. package/sdk/dist/protocols/eco-routes/abis.js +632 -0
  338. package/sdk/dist/protocols/eco-routes/abis.js.map +1 -0
  339. package/sdk/dist/protocols/eco-routes/addresses.d.ts +9 -0
  340. package/sdk/dist/protocols/eco-routes/addresses.d.ts.map +1 -0
  341. package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts +585 -0
  342. package/sdk/dist/protocols/eco-routes/addresses.generated.d.ts.map +1 -0
  343. package/sdk/dist/protocols/eco-routes/addresses.generated.js +590 -0
  344. package/sdk/dist/protocols/eco-routes/addresses.generated.js.map +1 -0
  345. package/sdk/dist/protocols/eco-routes/addresses.js +21 -0
  346. package/sdk/dist/protocols/eco-routes/addresses.js.map +1 -0
  347. package/sdk/dist/protocols/eco-routes/functions.d.ts +12 -0
  348. package/sdk/dist/protocols/eco-routes/functions.d.ts.map +1 -0
  349. package/sdk/dist/protocols/eco-routes/functions.js +45 -0
  350. package/sdk/dist/protocols/eco-routes/functions.js.map +1 -0
  351. package/sdk/dist/protocols/eco-routes/index.d.ts +6 -0
  352. package/sdk/dist/protocols/eco-routes/index.d.ts.map +1 -0
  353. package/sdk/dist/protocols/eco-routes/index.js +6 -0
  354. package/sdk/dist/protocols/eco-routes/index.js.map +1 -0
  355. package/sdk/dist/protocols/eco-routes/info.d.ts +3 -0
  356. package/sdk/dist/protocols/eco-routes/info.d.ts.map +1 -0
  357. package/sdk/dist/protocols/eco-routes/info.js +12 -0
  358. package/sdk/dist/protocols/eco-routes/info.js.map +1 -0
  359. package/sdk/dist/protocols/eco-routes/lookup.d.ts +82 -0
  360. package/sdk/dist/protocols/eco-routes/lookup.d.ts.map +1 -0
  361. package/sdk/dist/protocols/eco-routes/lookup.js +148 -0
  362. package/sdk/dist/protocols/eco-routes/lookup.js.map +1 -0
  363. package/sdk/dist/protocols/eigenlayer/abis.d.ts +4 -4
  364. package/sdk/dist/protocols/eigenlayer/abis.d.ts.map +1 -1
  365. package/sdk/dist/protocols/eigenlayer/abis.js +5 -4
  366. package/sdk/dist/protocols/eigenlayer/abis.js.map +1 -1
  367. package/sdk/dist/protocols/ens/abis.d.ts +4 -4
  368. package/sdk/dist/protocols/ens/abis.js +4 -4
  369. package/sdk/dist/protocols/erc20/functions.d.ts +3 -3
  370. package/sdk/dist/protocols/erc20/functions.d.ts.map +1 -1
  371. package/sdk/dist/protocols/erc20/functions.js +6 -9
  372. package/sdk/dist/protocols/erc20/functions.js.map +1 -1
  373. package/sdk/dist/protocols/etherfi/abis.d.ts +1 -1
  374. package/sdk/dist/protocols/etherfi/abis.d.ts.map +1 -1
  375. package/sdk/dist/protocols/etherfi/abis.js +2 -1
  376. package/sdk/dist/protocols/etherfi/abis.js.map +1 -1
  377. package/sdk/dist/protocols/euler-v2/abis.d.ts +2 -2
  378. package/sdk/dist/protocols/euler-v2/abis.js +2 -2
  379. package/sdk/dist/protocols/euler-v2/abis.js.map +1 -1
  380. package/sdk/dist/protocols/fluid/abis.d.ts +47 -26
  381. package/sdk/dist/protocols/fluid/abis.d.ts.map +1 -1
  382. package/sdk/dist/protocols/fluid/abis.js +39 -18
  383. package/sdk/dist/protocols/fluid/abis.js.map +1 -1
  384. package/sdk/dist/protocols/fluid/functions.d.ts +4 -4
  385. package/sdk/dist/protocols/fluid/functions.d.ts.map +1 -1
  386. package/sdk/dist/protocols/fluid/functions.js +18 -16
  387. package/sdk/dist/protocols/fluid/functions.js.map +1 -1
  388. package/sdk/dist/protocols/frax/functions.d.ts +2 -2
  389. package/sdk/dist/protocols/frax/functions.d.ts.map +1 -1
  390. package/sdk/dist/protocols/frax/functions.js +6 -6
  391. package/sdk/dist/protocols/gains-network/abis.d.ts +44 -35
  392. package/sdk/dist/protocols/gains-network/abis.d.ts.map +1 -1
  393. package/sdk/dist/protocols/gains-network/abis.js +26 -21
  394. package/sdk/dist/protocols/gains-network/abis.js.map +1 -1
  395. package/sdk/dist/protocols/gains-network/functions.d.ts +3 -3
  396. package/sdk/dist/protocols/gains-network/functions.d.ts.map +1 -1
  397. package/sdk/dist/protocols/gains-network/functions.js +6 -6
  398. package/sdk/dist/protocols/gamma/abis.d.ts +43 -0
  399. package/sdk/dist/protocols/gamma/abis.d.ts.map +1 -1
  400. package/sdk/dist/protocols/gamma/abis.js +30 -0
  401. package/sdk/dist/protocols/gamma/abis.js.map +1 -1
  402. package/sdk/dist/protocols/gamma/addresses.d.ts.map +1 -1
  403. package/sdk/dist/protocols/gamma/addresses.js +2 -7
  404. package/sdk/dist/protocols/gamma/addresses.js.map +1 -1
  405. package/sdk/dist/protocols/gamma/functions.d.ts +1 -0
  406. package/sdk/dist/protocols/gamma/functions.d.ts.map +1 -1
  407. package/sdk/dist/protocols/gamma/functions.js +9 -0
  408. package/sdk/dist/protocols/gamma/functions.js.map +1 -1
  409. package/sdk/dist/protocols/gelato/abis.d.ts +2 -2
  410. package/sdk/dist/protocols/gelato/abis.js +2 -2
  411. package/sdk/dist/protocols/gho/functions.d.ts +2 -2
  412. package/sdk/dist/protocols/gho/functions.d.ts.map +1 -1
  413. package/sdk/dist/protocols/gho/functions.js +4 -6
  414. package/sdk/dist/protocols/gho/functions.js.map +1 -1
  415. package/sdk/dist/protocols/gmx-v1/abis.d.ts +15 -3
  416. package/sdk/dist/protocols/gmx-v1/abis.d.ts.map +1 -1
  417. package/sdk/dist/protocols/gmx-v1/abis.js +5 -3
  418. package/sdk/dist/protocols/gmx-v1/abis.js.map +1 -1
  419. package/sdk/dist/protocols/gmx-v1/functions.d.ts +2 -2
  420. package/sdk/dist/protocols/gmx-v1/functions.d.ts.map +1 -1
  421. package/sdk/dist/protocols/gmx-v1/functions.js +2 -2
  422. package/sdk/dist/protocols/gmx-v2/abis.d.ts +11 -5
  423. package/sdk/dist/protocols/gmx-v2/abis.d.ts.map +1 -1
  424. package/sdk/dist/protocols/gmx-v2/abis.js +7 -4
  425. package/sdk/dist/protocols/gmx-v2/abis.js.map +1 -1
  426. package/sdk/dist/protocols/gmx-v2/addresses.d.ts.map +1 -1
  427. package/sdk/dist/protocols/gmx-v2/addresses.js +3 -1
  428. package/sdk/dist/protocols/gmx-v2/addresses.js.map +1 -1
  429. package/sdk/dist/protocols/gmx-v2/functions.d.ts +1 -1
  430. package/sdk/dist/protocols/gmx-v2/functions.d.ts.map +1 -1
  431. package/sdk/dist/protocols/gmx-v2/functions.js +4 -2
  432. package/sdk/dist/protocols/gmx-v2/functions.js.map +1 -1
  433. package/sdk/dist/protocols/harvest/abis.d.ts +8 -2
  434. package/sdk/dist/protocols/harvest/abis.d.ts.map +1 -1
  435. package/sdk/dist/protocols/harvest/abis.js +2 -2
  436. package/sdk/dist/protocols/harvest/abis.js.map +1 -1
  437. package/sdk/dist/protocols/hegic/abis.d.ts +5 -2
  438. package/sdk/dist/protocols/hegic/abis.d.ts.map +1 -1
  439. package/sdk/dist/protocols/hegic/abis.js +7 -2
  440. package/sdk/dist/protocols/hegic/abis.js.map +1 -1
  441. package/sdk/dist/protocols/hegic/addresses.d.ts.map +1 -1
  442. package/sdk/dist/protocols/hegic/addresses.js +1 -0
  443. package/sdk/dist/protocols/hegic/addresses.js.map +1 -1
  444. package/sdk/dist/protocols/hegic/functions.d.ts +1 -1
  445. package/sdk/dist/protocols/hegic/functions.d.ts.map +1 -1
  446. package/sdk/dist/protocols/hegic/functions.js +3 -3
  447. package/sdk/dist/protocols/hop/addresses.d.ts.map +1 -1
  448. package/sdk/dist/protocols/hop/addresses.js +5 -2
  449. package/sdk/dist/protocols/hop/addresses.js.map +1 -1
  450. package/sdk/dist/protocols/hyperlane/abis.d.ts +5 -5
  451. package/sdk/dist/protocols/hyperlane/abis.js +5 -5
  452. package/sdk/dist/protocols/hyperlane/abis.js.map +1 -1
  453. package/sdk/dist/protocols/hyperlane/addresses.d.ts.map +1 -1
  454. package/sdk/dist/protocols/hyperlane/addresses.js +9 -0
  455. package/sdk/dist/protocols/hyperlane/addresses.js.map +1 -1
  456. package/sdk/dist/protocols/index.d.ts +1 -0
  457. package/sdk/dist/protocols/index.d.ts.map +1 -1
  458. package/sdk/dist/protocols/index.js +13 -0
  459. package/sdk/dist/protocols/index.js.map +1 -1
  460. package/sdk/dist/protocols/kim/abis.d.ts +7 -20
  461. package/sdk/dist/protocols/kim/abis.d.ts.map +1 -1
  462. package/sdk/dist/protocols/kim/abis.js +6 -12
  463. package/sdk/dist/protocols/kim/abis.js.map +1 -1
  464. package/sdk/dist/protocols/kim/functions.d.ts +1 -1
  465. package/sdk/dist/protocols/kim/functions.d.ts.map +1 -1
  466. package/sdk/dist/protocols/kim/functions.js +3 -2
  467. package/sdk/dist/protocols/kim/functions.js.map +1 -1
  468. package/sdk/dist/protocols/kyberswap/abis.d.ts +41 -16
  469. package/sdk/dist/protocols/kyberswap/abis.d.ts.map +1 -1
  470. package/sdk/dist/protocols/kyberswap/abis.js +21 -8
  471. package/sdk/dist/protocols/kyberswap/abis.js.map +1 -1
  472. package/sdk/dist/protocols/kyberswap/addresses.d.ts.map +1 -1
  473. package/sdk/dist/protocols/kyberswap/addresses.js +12 -2
  474. package/sdk/dist/protocols/kyberswap/addresses.js.map +1 -1
  475. package/sdk/dist/protocols/kyberswap-aggregator/addresses.d.ts.map +1 -1
  476. package/sdk/dist/protocols/kyberswap-aggregator/addresses.js +12 -1
  477. package/sdk/dist/protocols/kyberswap-aggregator/addresses.js.map +1 -1
  478. package/sdk/dist/protocols/layerbank/abis.d.ts +81 -24
  479. package/sdk/dist/protocols/layerbank/abis.d.ts.map +1 -1
  480. package/sdk/dist/protocols/layerbank/abis.js +69 -17
  481. package/sdk/dist/protocols/layerbank/abis.js.map +1 -1
  482. package/sdk/dist/protocols/layerbank/addresses.d.ts.map +1 -1
  483. package/sdk/dist/protocols/layerbank/addresses.js +3 -1
  484. package/sdk/dist/protocols/layerbank/addresses.js.map +1 -1
  485. package/sdk/dist/protocols/layerbank/functions.d.ts +4 -4
  486. package/sdk/dist/protocols/layerbank/functions.d.ts.map +1 -1
  487. package/sdk/dist/protocols/layerbank/functions.js +18 -16
  488. package/sdk/dist/protocols/layerbank/functions.js.map +1 -1
  489. package/sdk/dist/protocols/layerzero/abis.d.ts +3 -3
  490. package/sdk/dist/protocols/layerzero/abis.js +3 -3
  491. package/sdk/dist/protocols/layerzero/addresses.d.ts.map +1 -1
  492. package/sdk/dist/protocols/layerzero/addresses.js +11 -1
  493. package/sdk/dist/protocols/layerzero/addresses.js.map +1 -1
  494. package/sdk/dist/protocols/level-finance/abis.d.ts +6 -0
  495. package/sdk/dist/protocols/level-finance/abis.d.ts.map +1 -1
  496. package/sdk/dist/protocols/level-finance/abis.js +2 -0
  497. package/sdk/dist/protocols/level-finance/abis.js.map +1 -1
  498. package/sdk/dist/protocols/level-finance/functions.d.ts +2 -2
  499. package/sdk/dist/protocols/level-finance/functions.d.ts.map +1 -1
  500. package/sdk/dist/protocols/level-finance/functions.js +4 -4
  501. package/sdk/dist/protocols/lifi/abis.d.ts +41 -4
  502. package/sdk/dist/protocols/lifi/abis.d.ts.map +1 -1
  503. package/sdk/dist/protocols/lifi/abis.js +24 -4
  504. package/sdk/dist/protocols/lifi/abis.js.map +1 -1
  505. package/sdk/dist/protocols/lifi/addresses.d.ts.map +1 -1
  506. package/sdk/dist/protocols/lifi/addresses.js +9 -0
  507. package/sdk/dist/protocols/lifi/addresses.js.map +1 -1
  508. package/sdk/dist/protocols/lifi/functions.d.ts +1 -1
  509. package/sdk/dist/protocols/lifi/functions.d.ts.map +1 -1
  510. package/sdk/dist/protocols/lifi/functions.js +5 -2
  511. package/sdk/dist/protocols/lifi/functions.js.map +1 -1
  512. package/sdk/dist/protocols/liquity-v1/abis.d.ts +6 -0
  513. package/sdk/dist/protocols/liquity-v1/abis.d.ts.map +1 -1
  514. package/sdk/dist/protocols/liquity-v1/abis.js +7 -1
  515. package/sdk/dist/protocols/liquity-v1/abis.js.map +1 -1
  516. package/sdk/dist/protocols/liquity-v1/functions.d.ts +1 -1
  517. package/sdk/dist/protocols/liquity-v1/functions.d.ts.map +1 -1
  518. package/sdk/dist/protocols/liquity-v1/functions.js +1 -1
  519. package/sdk/dist/protocols/liquity-v2/functions.d.ts +2 -2
  520. package/sdk/dist/protocols/liquity-v2/functions.d.ts.map +1 -1
  521. package/sdk/dist/protocols/liquity-v2/functions.js +4 -6
  522. package/sdk/dist/protocols/liquity-v2/functions.js.map +1 -1
  523. package/sdk/dist/protocols/mantle-meth/abis.d.ts +26 -25
  524. package/sdk/dist/protocols/mantle-meth/abis.d.ts.map +1 -1
  525. package/sdk/dist/protocols/mantle-meth/abis.js +22 -17
  526. package/sdk/dist/protocols/mantle-meth/abis.js.map +1 -1
  527. package/sdk/dist/protocols/mantle-meth/addresses.d.ts.map +1 -1
  528. package/sdk/dist/protocols/mantle-meth/addresses.js +3 -0
  529. package/sdk/dist/protocols/mantle-meth/addresses.js.map +1 -1
  530. package/sdk/dist/protocols/mantle-meth/functions.d.ts +1 -1
  531. package/sdk/dist/protocols/mantle-meth/functions.d.ts.map +1 -1
  532. package/sdk/dist/protocols/mantle-meth/functions.js +4 -4
  533. package/sdk/dist/protocols/maverick/abis.d.ts +9 -0
  534. package/sdk/dist/protocols/maverick/abis.d.ts.map +1 -1
  535. package/sdk/dist/protocols/maverick/abis.js +7 -1
  536. package/sdk/dist/protocols/maverick/abis.js.map +1 -1
  537. package/sdk/dist/protocols/morpho-blue/addresses.d.ts.map +1 -1
  538. package/sdk/dist/protocols/morpho-blue/addresses.js +10 -0
  539. package/sdk/dist/protocols/morpho-blue/addresses.js.map +1 -1
  540. package/sdk/dist/protocols/mux-protocol/abis.d.ts +87 -32
  541. package/sdk/dist/protocols/mux-protocol/abis.d.ts.map +1 -1
  542. package/sdk/dist/protocols/mux-protocol/abis.js +54 -21
  543. package/sdk/dist/protocols/mux-protocol/abis.js.map +1 -1
  544. package/sdk/dist/protocols/mux-protocol/functions.d.ts +2 -2
  545. package/sdk/dist/protocols/mux-protocol/functions.d.ts.map +1 -1
  546. package/sdk/dist/protocols/mux-protocol/functions.js +8 -8
  547. package/sdk/dist/protocols/olympus/abis.d.ts +5 -2
  548. package/sdk/dist/protocols/olympus/abis.d.ts.map +1 -1
  549. package/sdk/dist/protocols/olympus/abis.js +2 -2
  550. package/sdk/dist/protocols/olympus/abis.js.map +1 -1
  551. package/sdk/dist/protocols/oneinch/abis.d.ts +5 -5
  552. package/sdk/dist/protocols/oneinch/abis.d.ts.map +1 -1
  553. package/sdk/dist/protocols/oneinch/abis.js +5 -3
  554. package/sdk/dist/protocols/oneinch/abis.js.map +1 -1
  555. package/sdk/dist/protocols/oneinch/functions.d.ts +1 -1
  556. package/sdk/dist/protocols/oneinch/functions.d.ts.map +1 -1
  557. package/sdk/dist/protocols/oneinch/functions.js +2 -2
  558. package/sdk/dist/protocols/openocean/abis.d.ts +14 -1
  559. package/sdk/dist/protocols/openocean/abis.d.ts.map +1 -1
  560. package/sdk/dist/protocols/openocean/abis.js +11 -1
  561. package/sdk/dist/protocols/openocean/abis.js.map +1 -1
  562. package/sdk/dist/protocols/openocean/functions.d.ts +1 -1
  563. package/sdk/dist/protocols/openocean/functions.d.ts.map +1 -1
  564. package/sdk/dist/protocols/openocean/functions.js +1 -1
  565. package/sdk/dist/protocols/opyn/abis.d.ts +4 -1
  566. package/sdk/dist/protocols/opyn/abis.d.ts.map +1 -1
  567. package/sdk/dist/protocols/opyn/abis.js +1 -1
  568. package/sdk/dist/protocols/opyn/abis.js.map +1 -1
  569. package/sdk/dist/protocols/pancakeswap-v3/abis.d.ts +6 -6
  570. package/sdk/dist/protocols/pancakeswap-v3/abis.js +6 -6
  571. package/sdk/dist/protocols/pancakeswap-v3/abis.js.map +1 -1
  572. package/sdk/dist/protocols/paraswap/abis.d.ts +1 -1
  573. package/sdk/dist/protocols/paraswap/abis.js +1 -1
  574. package/sdk/dist/protocols/pendle/abis.d.ts +288 -6
  575. package/sdk/dist/protocols/pendle/abis.d.ts.map +1 -1
  576. package/sdk/dist/protocols/pendle/abis.js +160 -6
  577. package/sdk/dist/protocols/pendle/abis.js.map +1 -1
  578. package/sdk/dist/protocols/permit2/abis.d.ts +1 -1
  579. package/sdk/dist/protocols/permit2/abis.js +1 -1
  580. package/sdk/dist/protocols/permit2/addresses.d.ts.map +1 -1
  581. package/sdk/dist/protocols/permit2/addresses.js +9 -0
  582. package/sdk/dist/protocols/permit2/addresses.js.map +1 -1
  583. package/sdk/dist/protocols/perpetual-protocol/abis.d.ts +46 -38
  584. package/sdk/dist/protocols/perpetual-protocol/abis.d.ts.map +1 -1
  585. package/sdk/dist/protocols/perpetual-protocol/abis.js +27 -14
  586. package/sdk/dist/protocols/perpetual-protocol/abis.js.map +1 -1
  587. package/sdk/dist/protocols/premia/abis.d.ts +18 -17
  588. package/sdk/dist/protocols/premia/abis.d.ts.map +1 -1
  589. package/sdk/dist/protocols/premia/abis.js +20 -10
  590. package/sdk/dist/protocols/premia/abis.js.map +1 -1
  591. package/sdk/dist/protocols/premia/addresses.d.ts.map +1 -1
  592. package/sdk/dist/protocols/premia/addresses.js +3 -8
  593. package/sdk/dist/protocols/premia/addresses.js.map +1 -1
  594. package/sdk/dist/protocols/premia/functions.d.ts +2 -2
  595. package/sdk/dist/protocols/premia/functions.d.ts.map +1 -1
  596. package/sdk/dist/protocols/premia/functions.js +8 -8
  597. package/sdk/dist/protocols/pyth/abis.d.ts +3 -3
  598. package/sdk/dist/protocols/pyth/abis.d.ts.map +1 -1
  599. package/sdk/dist/protocols/pyth/abis.js +6 -3
  600. package/sdk/dist/protocols/pyth/abis.js.map +1 -1
  601. package/sdk/dist/protocols/reflexer/abis.d.ts +8 -5
  602. package/sdk/dist/protocols/reflexer/abis.d.ts.map +1 -1
  603. package/sdk/dist/protocols/reflexer/abis.js +10 -6
  604. package/sdk/dist/protocols/reflexer/abis.js.map +1 -1
  605. package/sdk/dist/protocols/renzo/abis.d.ts +1 -1
  606. package/sdk/dist/protocols/renzo/abis.js +1 -1
  607. package/sdk/dist/protocols/renzo/abis.js.map +1 -1
  608. package/sdk/dist/protocols/sablier/abis.d.ts +2 -2
  609. package/sdk/dist/protocols/sablier/abis.js +2 -2
  610. package/sdk/dist/protocols/safe/addresses.d.ts.map +1 -1
  611. package/sdk/dist/protocols/safe/addresses.js +10 -0
  612. package/sdk/dist/protocols/safe/addresses.js.map +1 -1
  613. package/sdk/dist/protocols/seaport/abis.d.ts +65 -5
  614. package/sdk/dist/protocols/seaport/abis.d.ts.map +1 -1
  615. package/sdk/dist/protocols/seaport/abis.js +41 -5
  616. package/sdk/dist/protocols/seaport/abis.js.map +1 -1
  617. package/sdk/dist/protocols/seaport/addresses.d.ts.map +1 -1
  618. package/sdk/dist/protocols/seaport/addresses.js +10 -0
  619. package/sdk/dist/protocols/seaport/addresses.js.map +1 -1
  620. package/sdk/dist/protocols/seaport/functions.d.ts +1 -1
  621. package/sdk/dist/protocols/seaport/functions.d.ts.map +1 -1
  622. package/sdk/dist/protocols/seaport/functions.js +1 -0
  623. package/sdk/dist/protocols/seaport/functions.js.map +1 -1
  624. package/sdk/dist/protocols/silo/abis.d.ts +3 -0
  625. package/sdk/dist/protocols/silo/abis.d.ts.map +1 -1
  626. package/sdk/dist/protocols/silo/abis.js +4 -1
  627. package/sdk/dist/protocols/silo/abis.js.map +1 -1
  628. package/sdk/dist/protocols/silo/addresses.d.ts.map +1 -1
  629. package/sdk/dist/protocols/silo/addresses.js +2 -1
  630. package/sdk/dist/protocols/silo/addresses.js.map +1 -1
  631. package/sdk/dist/protocols/silo/functions.d.ts +1 -1
  632. package/sdk/dist/protocols/silo/functions.d.ts.map +1 -1
  633. package/sdk/dist/protocols/silo/functions.js +2 -1
  634. package/sdk/dist/protocols/silo/functions.js.map +1 -1
  635. package/sdk/dist/protocols/socket/abis.d.ts +1 -13
  636. package/sdk/dist/protocols/socket/abis.d.ts.map +1 -1
  637. package/sdk/dist/protocols/socket/abis.js +3 -11
  638. package/sdk/dist/protocols/socket/abis.js.map +1 -1
  639. package/sdk/dist/protocols/socket/functions.d.ts +1 -1
  640. package/sdk/dist/protocols/socket/functions.d.ts.map +1 -1
  641. package/sdk/dist/protocols/socket/functions.js +1 -1
  642. package/sdk/dist/protocols/spookyswap/addresses.d.ts.map +1 -1
  643. package/sdk/dist/protocols/spookyswap/addresses.js +2 -1
  644. package/sdk/dist/protocols/spookyswap/addresses.js.map +1 -1
  645. package/sdk/dist/protocols/squid/abis.d.ts +33 -21
  646. package/sdk/dist/protocols/squid/abis.d.ts.map +1 -1
  647. package/sdk/dist/protocols/squid/abis.js +19 -13
  648. package/sdk/dist/protocols/squid/abis.js.map +1 -1
  649. package/sdk/dist/protocols/squid/functions.d.ts +1 -1
  650. package/sdk/dist/protocols/squid/functions.d.ts.map +1 -1
  651. package/sdk/dist/protocols/squid/functions.js +2 -2
  652. package/sdk/dist/protocols/stargate/abis.d.ts +23 -3
  653. package/sdk/dist/protocols/stargate/abis.d.ts.map +1 -1
  654. package/sdk/dist/protocols/stargate/abis.js +19 -3
  655. package/sdk/dist/protocols/stargate/abis.js.map +1 -1
  656. package/sdk/dist/protocols/superfluid/abis.d.ts +2 -2
  657. package/sdk/dist/protocols/superfluid/abis.js +2 -2
  658. package/sdk/dist/protocols/superfluid/abis.js.map +1 -1
  659. package/sdk/dist/protocols/sushiswap-v2/addresses.d.ts.map +1 -1
  660. package/sdk/dist/protocols/sushiswap-v2/addresses.js +2 -1
  661. package/sdk/dist/protocols/sushiswap-v2/addresses.js.map +1 -1
  662. package/sdk/dist/protocols/swell/abis.d.ts +2 -8
  663. package/sdk/dist/protocols/swell/abis.d.ts.map +1 -1
  664. package/sdk/dist/protocols/swell/abis.js +4 -2
  665. package/sdk/dist/protocols/swell/abis.js.map +1 -1
  666. package/sdk/dist/protocols/swell/functions.d.ts +2 -2
  667. package/sdk/dist/protocols/swell/functions.d.ts.map +1 -1
  668. package/sdk/dist/protocols/swell/functions.js +4 -2
  669. package/sdk/dist/protocols/swell/functions.js.map +1 -1
  670. package/sdk/dist/protocols/synapse/addresses.d.ts.map +1 -1
  671. package/sdk/dist/protocols/synapse/addresses.js +2 -1
  672. package/sdk/dist/protocols/synapse/addresses.js.map +1 -1
  673. package/sdk/dist/protocols/synthetix-v3/abis.d.ts +40 -5
  674. package/sdk/dist/protocols/synthetix-v3/abis.d.ts.map +1 -1
  675. package/sdk/dist/protocols/synthetix-v3/abis.js +27 -5
  676. package/sdk/dist/protocols/synthetix-v3/abis.js.map +1 -1
  677. package/sdk/dist/protocols/synthetix-v3/addresses.d.ts.map +1 -1
  678. package/sdk/dist/protocols/synthetix-v3/addresses.js +2 -1
  679. package/sdk/dist/protocols/synthetix-v3/addresses.js.map +1 -1
  680. package/sdk/dist/protocols/synthra-v3/abis.d.ts +347 -0
  681. package/sdk/dist/protocols/synthra-v3/abis.d.ts.map +1 -0
  682. package/sdk/dist/protocols/synthra-v3/abis.js +242 -0
  683. package/sdk/dist/protocols/synthra-v3/abis.js.map +1 -0
  684. package/sdk/dist/protocols/synthra-v3/addresses.d.ts +3 -0
  685. package/sdk/dist/protocols/synthra-v3/addresses.d.ts.map +1 -0
  686. package/sdk/dist/protocols/synthra-v3/addresses.js +16 -0
  687. package/sdk/dist/protocols/synthra-v3/addresses.js.map +1 -0
  688. package/sdk/dist/protocols/synthra-v3/functions.d.ts +2 -0
  689. package/sdk/dist/protocols/synthra-v3/functions.d.ts.map +1 -0
  690. package/sdk/dist/protocols/synthra-v3/functions.js +9 -0
  691. package/sdk/dist/protocols/synthra-v3/functions.js.map +1 -0
  692. package/sdk/dist/protocols/synthra-v3/index.d.ts +5 -0
  693. package/sdk/dist/protocols/synthra-v3/index.d.ts.map +1 -0
  694. package/sdk/dist/protocols/synthra-v3/index.js +5 -0
  695. package/sdk/dist/protocols/synthra-v3/index.js.map +1 -0
  696. package/sdk/dist/protocols/synthra-v3/info.d.ts +3 -0
  697. package/sdk/dist/protocols/synthra-v3/info.d.ts.map +1 -0
  698. package/sdk/dist/protocols/synthra-v3/info.js +11 -0
  699. package/sdk/dist/protocols/synthra-v3/info.js.map +1 -0
  700. package/sdk/dist/protocols/thales/abis.d.ts +53 -24
  701. package/sdk/dist/protocols/thales/abis.d.ts.map +1 -1
  702. package/sdk/dist/protocols/thales/abis.js +27 -11
  703. package/sdk/dist/protocols/thales/abis.js.map +1 -1
  704. package/sdk/dist/protocols/thales/functions.d.ts +2 -2
  705. package/sdk/dist/protocols/thales/functions.d.ts.map +1 -1
  706. package/sdk/dist/protocols/thales/functions.js +5 -6
  707. package/sdk/dist/protocols/thales/functions.js.map +1 -1
  708. package/sdk/dist/protocols/thruster/abis.d.ts +1 -1
  709. package/sdk/dist/protocols/thruster/abis.js +1 -1
  710. package/sdk/dist/protocols/trader-joe/abis.d.ts +3 -3
  711. package/sdk/dist/protocols/trader-joe/abis.js +2 -2
  712. package/sdk/dist/protocols/trader-joe/abis.js.map +1 -1
  713. package/sdk/dist/protocols/uniswap-v2/addresses.d.ts.map +1 -1
  714. package/sdk/dist/protocols/uniswap-v2/addresses.js +10 -0
  715. package/sdk/dist/protocols/uniswap-v2/addresses.js.map +1 -1
  716. package/sdk/dist/protocols/uniswap-v3/abis.d.ts +127 -8
  717. package/sdk/dist/protocols/uniswap-v3/abis.d.ts.map +1 -1
  718. package/sdk/dist/protocols/uniswap-v3/abis.js +90 -8
  719. package/sdk/dist/protocols/uniswap-v3/abis.js.map +1 -1
  720. package/sdk/dist/protocols/uniswap-v3/addresses.d.ts.map +1 -1
  721. package/sdk/dist/protocols/uniswap-v3/addresses.js +14 -0
  722. package/sdk/dist/protocols/uniswap-v3/addresses.js.map +1 -1
  723. package/sdk/dist/protocols/uniswap-v4/abis.d.ts +27 -15
  724. package/sdk/dist/protocols/uniswap-v4/abis.d.ts.map +1 -1
  725. package/sdk/dist/protocols/uniswap-v4/abis.js +25 -15
  726. package/sdk/dist/protocols/uniswap-v4/abis.js.map +1 -1
  727. package/sdk/dist/protocols/uniswap-v4/addresses.d.ts.map +1 -1
  728. package/sdk/dist/protocols/uniswap-v4/addresses.js +11 -0
  729. package/sdk/dist/protocols/uniswap-v4/addresses.js.map +1 -1
  730. package/sdk/dist/protocols/unitflow-v3/abis.d.ts +104 -0
  731. package/sdk/dist/protocols/unitflow-v3/abis.d.ts.map +1 -0
  732. package/sdk/dist/protocols/unitflow-v3/abis.js +70 -0
  733. package/sdk/dist/protocols/unitflow-v3/abis.js.map +1 -0
  734. package/sdk/dist/protocols/unitflow-v3/addresses.d.ts +3 -0
  735. package/sdk/dist/protocols/unitflow-v3/addresses.d.ts.map +1 -0
  736. package/sdk/dist/protocols/unitflow-v3/addresses.js +19 -0
  737. package/sdk/dist/protocols/unitflow-v3/addresses.js.map +1 -0
  738. package/sdk/dist/protocols/unitflow-v3/functions.d.ts +2 -0
  739. package/sdk/dist/protocols/unitflow-v3/functions.d.ts.map +1 -0
  740. package/sdk/dist/protocols/unitflow-v3/functions.js +9 -0
  741. package/sdk/dist/protocols/unitflow-v3/functions.js.map +1 -0
  742. package/sdk/dist/protocols/unitflow-v3/index.d.ts +5 -0
  743. package/sdk/dist/protocols/unitflow-v3/index.d.ts.map +1 -0
  744. package/sdk/dist/protocols/unitflow-v3/index.js +5 -0
  745. package/sdk/dist/protocols/unitflow-v3/index.js.map +1 -0
  746. package/sdk/dist/protocols/unitflow-v3/info.d.ts +3 -0
  747. package/sdk/dist/protocols/unitflow-v3/info.d.ts.map +1 -0
  748. package/sdk/dist/protocols/unitflow-v3/info.js +12 -0
  749. package/sdk/dist/protocols/unitflow-v3/info.js.map +1 -0
  750. package/sdk/dist/protocols/velodrome/addresses.d.ts.map +1 -1
  751. package/sdk/dist/protocols/velodrome/addresses.js +3 -1
  752. package/sdk/dist/protocols/velodrome/addresses.js.map +1 -1
  753. package/sdk/dist/protocols/venus/abis.d.ts +62 -1
  754. package/sdk/dist/protocols/venus/abis.d.ts.map +1 -1
  755. package/sdk/dist/protocols/venus/abis.js +48 -1
  756. package/sdk/dist/protocols/venus/abis.js.map +1 -1
  757. package/sdk/dist/protocols/vertex/abis.d.ts +16 -9
  758. package/sdk/dist/protocols/vertex/abis.d.ts.map +1 -1
  759. package/sdk/dist/protocols/vertex/abis.js +13 -4
  760. package/sdk/dist/protocols/vertex/abis.js.map +1 -1
  761. package/sdk/dist/protocols/wormhole/abis.d.ts +2 -2
  762. package/sdk/dist/protocols/wormhole/abis.js +2 -2
  763. package/sdk/dist/protocols/wormhole/addresses.d.ts.map +1 -1
  764. package/sdk/dist/protocols/wormhole/addresses.js +9 -0
  765. package/sdk/dist/protocols/wormhole/addresses.js.map +1 -1
  766. package/sdk/dist/protocols/zerolend/addresses.d.ts.map +1 -1
  767. package/sdk/dist/protocols/zerolend/addresses.js +2 -1
  768. package/sdk/dist/protocols/zerolend/addresses.js.map +1 -1
  769. package/sdk/dist/protocols/zerox/addresses.d.ts.map +1 -1
  770. package/sdk/dist/protocols/zerox/addresses.js +2 -1
  771. package/sdk/dist/protocols/zerox/addresses.js.map +1 -1
  772. package/sdk/dist/protocols/zksync-bridge/abis.d.ts +1 -1
  773. package/sdk/dist/protocols/zksync-bridge/abis.js +1 -1
  774. package/sdk/dist/recipes/cctp-split.sauce.ts +3 -1
  775. package/sdk/dist/recipes/cctp-transfer.d.ts +17 -6
  776. package/sdk/dist/recipes/cctp-transfer.d.ts.map +1 -1
  777. package/sdk/dist/recipes/cctp-transfer.js +7 -20
  778. package/sdk/dist/recipes/cctp-transfer.js.map +1 -1
  779. package/sdk/dist/recipes/index.d.ts +5 -15
  780. package/sdk/dist/recipes/index.d.ts.map +1 -1
  781. package/sdk/dist/recipes/index.js +19 -36
  782. package/sdk/dist/recipes/index.js.map +1 -1
  783. package/sdk/dist/recipes/plain-transfer.sauce.ts +3 -0
  784. package/sdk/dist/recipes/settle.sauce.ts +15 -2
  785. package/sdk/dist/routes/ast-walk.d.ts +4 -0
  786. package/sdk/dist/routes/ast-walk.d.ts.map +1 -1
  787. package/sdk/dist/routes/ast-walk.js +9 -2
  788. package/sdk/dist/routes/ast-walk.js.map +1 -1
  789. package/sdk/dist/routes/chain-exports.generated.d.ts +97 -0
  790. package/sdk/dist/routes/chain-exports.generated.d.ts.map +1 -0
  791. package/sdk/dist/routes/chain-exports.generated.js +91 -0
  792. package/sdk/dist/routes/chain-exports.generated.js.map +1 -0
  793. package/sdk/dist/routes/compile-types.d.ts +3 -0
  794. package/sdk/dist/routes/compile-types.d.ts.map +1 -1
  795. package/sdk/dist/routes/composed.d.ts +13 -0
  796. package/sdk/dist/routes/composed.d.ts.map +1 -0
  797. package/sdk/dist/routes/composed.js +94 -0
  798. package/sdk/dist/routes/composed.js.map +1 -0
  799. package/sdk/dist/routes/encode.d.ts +6 -6
  800. package/sdk/dist/routes/globals.d.ts +19 -4
  801. package/sdk/dist/routes/globals.d.ts.map +1 -1
  802. package/sdk/dist/routes/globals.js +51 -85
  803. package/sdk/dist/routes/globals.js.map +1 -1
  804. package/sdk/dist/routes/index.d.ts +17 -8
  805. package/sdk/dist/routes/index.d.ts.map +1 -1
  806. package/sdk/dist/routes/index.js +18 -6
  807. package/sdk/dist/routes/index.js.map +1 -1
  808. package/sdk/dist/routes/intent-dsl.d.ts +60 -19
  809. package/sdk/dist/routes/intent-dsl.d.ts.map +1 -1
  810. package/sdk/dist/routes/intent-dsl.js +175 -67
  811. package/sdk/dist/routes/intent-dsl.js.map +1 -1
  812. package/sdk/dist/routes/intent-pot.d.ts +49 -0
  813. package/sdk/dist/routes/intent-pot.d.ts.map +1 -0
  814. package/sdk/dist/routes/intent-pot.js +46 -0
  815. package/sdk/dist/routes/intent-pot.js.map +1 -0
  816. package/sdk/dist/routes/intent-sugar.d.ts +97 -0
  817. package/sdk/dist/routes/intent-sugar.d.ts.map +1 -0
  818. package/sdk/dist/routes/intent-sugar.js +632 -0
  819. package/sdk/dist/routes/intent-sugar.js.map +1 -0
  820. package/sdk/dist/routes/nest-dynamic.d.ts +146 -0
  821. package/sdk/dist/routes/nest-dynamic.d.ts.map +1 -0
  822. package/sdk/dist/routes/nest-dynamic.js +308 -0
  823. package/sdk/dist/routes/nest-dynamic.js.map +1 -0
  824. package/sdk/dist/routes/nest.d.ts +16 -5
  825. package/sdk/dist/routes/nest.d.ts.map +1 -1
  826. package/sdk/dist/routes/nest.js +29 -10
  827. package/sdk/dist/routes/nest.js.map +1 -1
  828. package/sdk/dist/routes/portal.d.ts +7 -272
  829. package/sdk/dist/routes/portal.d.ts.map +1 -1
  830. package/sdk/dist/routes/portal.js +13 -92
  831. package/sdk/dist/routes/portal.js.map +1 -1
  832. package/sdk/dist/routes/protocol-rewrite.d.ts.map +1 -1
  833. package/sdk/dist/routes/protocol-rewrite.js +2 -0
  834. package/sdk/dist/routes/protocol-rewrite.js.map +1 -1
  835. package/sdk/dist/routes/rs-compile.d.ts +26 -15
  836. package/sdk/dist/routes/rs-compile.d.ts.map +1 -1
  837. package/sdk/dist/routes/rs-compile.js +57 -169
  838. package/sdk/dist/routes/rs-compile.js.map +1 -1
  839. package/sdk/dist/routes/sauce-route.d.ts +26 -1
  840. package/sdk/dist/routes/sauce-route.d.ts.map +1 -1
  841. package/sdk/dist/routes/sauce-route.js +133 -27
  842. package/sdk/dist/routes/sauce-route.js.map +1 -1
  843. package/sdk/dist/routes/source-globals.generated.d.ts +442 -23
  844. package/sdk/dist/routes/source-globals.generated.d.ts.map +1 -1
  845. package/sdk/dist/routes/template.d.ts +184 -0
  846. package/sdk/dist/routes/template.d.ts.map +1 -0
  847. package/sdk/dist/routes/template.js +338 -0
  848. package/sdk/dist/routes/template.js.map +1 -0
  849. package/sdk/dist/routes/token-registry.d.ts.map +1 -1
  850. package/sdk/dist/routes/token-registry.js +41 -1
  851. package/sdk/dist/routes/token-registry.js.map +1 -1
  852. package/sdk/dist/routes/token-rewrite.d.ts +63 -28
  853. package/sdk/dist/routes/token-rewrite.d.ts.map +1 -1
  854. package/sdk/dist/routes/token-rewrite.js +390 -122
  855. package/sdk/dist/routes/token-rewrite.js.map +1 -1
  856. package/sdk/dist/skills/loader.d.ts +2 -7
  857. package/sdk/dist/skills/loader.d.ts.map +1 -1
  858. package/sdk/dist/skills/loader.js +14 -25
  859. package/sdk/dist/skills/loader.js.map +1 -1
  860. package/sdk/dist/std/token/token.evm.js +56 -15
  861. package/sdk/dist/std/token/token.svm.js +24 -3
  862. package/sdk/dist/svm/accessors.d.ts +3 -3
  863. package/sdk/dist/svm/accessors.js +3 -3
  864. package/sdk/dist/svm/client.d.ts +1 -0
  865. package/sdk/dist/svm/client.d.ts.map +1 -1
  866. package/sdk/dist/svm/client.js +6 -0
  867. package/sdk/dist/svm/client.js.map +1 -1
  868. package/sdk/dist/svm/clusters.d.ts +6 -2
  869. package/sdk/dist/svm/clusters.d.ts.map +1 -1
  870. package/sdk/dist/svm/clusters.js +0 -2
  871. package/sdk/dist/svm/clusters.js.map +1 -1
  872. package/sdk/dist/svm/engine-artifacts.d.ts +24 -13
  873. package/sdk/dist/svm/engine-artifacts.d.ts.map +1 -1
  874. package/sdk/dist/svm/engine-artifacts.js +31 -26
  875. package/sdk/dist/svm/engine-artifacts.js.map +1 -1
  876. package/sdk/dist/svm/engine-public.d.ts.map +1 -1
  877. package/sdk/dist/svm/engine-public.js +2 -1
  878. package/sdk/dist/svm/engine-public.js.map +1 -1
  879. package/sdk/dist/svm/index.d.ts +0 -1
  880. package/sdk/dist/svm/index.d.ts.map +1 -1
  881. package/sdk/dist/svm/index.js +3 -1
  882. package/sdk/dist/svm/index.js.map +1 -1
  883. package/sdk/dist/svm/intent.d.ts.map +1 -1
  884. package/sdk/dist/svm/intent.js +4 -3
  885. package/sdk/dist/svm/intent.js.map +1 -1
  886. package/sdk/dist/svm/loader.d.ts.map +1 -1
  887. package/sdk/dist/svm/loader.js +2 -3
  888. package/sdk/dist/svm/loader.js.map +1 -1
  889. package/sdk/dist/svm/recipes/index.d.ts +57 -4
  890. package/sdk/dist/svm/recipes/index.d.ts.map +1 -1
  891. package/sdk/dist/svm/recipes/index.js +7 -9
  892. package/sdk/dist/svm/recipes/index.js.map +1 -1
  893. package/sdk/dist/svm/venues/alphaq/index.d.ts.map +1 -1
  894. package/sdk/dist/svm/venues/alphaq/index.js +4 -2
  895. package/sdk/dist/svm/venues/alphaq/index.js.map +1 -1
  896. package/sdk/dist/svm/venues/binaryfi/index.d.ts.map +1 -1
  897. package/sdk/dist/svm/venues/binaryfi/index.js +2 -1
  898. package/sdk/dist/svm/venues/binaryfi/index.js.map +1 -1
  899. package/sdk/dist/svm/venues/fluxbeam/index.d.ts.map +1 -1
  900. package/sdk/dist/svm/venues/fluxbeam/index.js +2 -7
  901. package/sdk/dist/svm/venues/fluxbeam/index.js.map +1 -1
  902. package/sdk/dist/svm/venues/jupiter-lend-earn/index.d.ts.map +1 -1
  903. package/sdk/dist/svm/venues/jupiter-lend-earn/index.js +2 -1
  904. package/sdk/dist/svm/venues/jupiter-lend-earn/index.js.map +1 -1
  905. package/sdk/dist/svm/venues/kipseli/index.d.ts.map +1 -1
  906. package/sdk/dist/svm/venues/kipseli/index.js +31 -14
  907. package/sdk/dist/svm/venues/kipseli/index.js.map +1 -1
  908. package/sdk/dist/svm/venues/mercurial/index.d.ts.map +1 -1
  909. package/sdk/dist/svm/venues/mercurial/index.js +2 -7
  910. package/sdk/dist/svm/venues/mercurial/index.js.map +1 -1
  911. package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.d.ts.map +1 -1
  912. package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.js +3 -2
  913. package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.js.map +1 -1
  914. package/sdk/dist/svm/venues/mswap/index.d.ts.map +1 -1
  915. package/sdk/dist/svm/venues/mswap/index.js +2 -2
  916. package/sdk/dist/svm/venues/mswap/index.js.map +1 -1
  917. package/sdk/dist/svm/venues/orca-legacy-token-swap/index.d.ts.map +1 -1
  918. package/sdk/dist/svm/venues/orca-legacy-token-swap/index.js +2 -7
  919. package/sdk/dist/svm/venues/orca-legacy-token-swap/index.js.map +1 -1
  920. package/sdk/dist/svm/venues/saber-stableswap/index.d.ts.map +1 -1
  921. package/sdk/dist/svm/venues/saber-stableswap/index.js +2 -7
  922. package/sdk/dist/svm/venues/saber-stableswap/index.js.map +1 -1
  923. package/sdk/dist/svm/venues/sanctum-infinity/index.js +2 -2
  924. package/sdk/dist/svm/venues/sanctum-infinity/index.js.map +1 -1
  925. package/sdk/dist/svm/venues/sanctum-stake-pool/index.d.ts.map +1 -1
  926. package/sdk/dist/svm/venues/sanctum-stake-pool/index.js +2 -8
  927. package/sdk/dist/svm/venues/sanctum-stake-pool/index.js.map +1 -1
  928. package/sdk/dist/svm/venues/spl-token-swap-forks/index.d.ts.map +1 -1
  929. package/sdk/dist/svm/venues/spl-token-swap-forks/index.js +2 -7
  930. package/sdk/dist/svm/venues/spl-token-swap-forks/index.js.map +1 -1
  931. package/sdk/dist/svm/venues/stabble-common.d.ts.map +1 -1
  932. package/sdk/dist/svm/venues/stabble-common.js +3 -8
  933. package/sdk/dist/svm/venues/stabble-common.js.map +1 -1
  934. package/sdk/dist/svm/verify.d.ts.map +1 -1
  935. package/sdk/dist/svm/verify.js +1 -4
  936. package/sdk/dist/svm/verify.js.map +1 -1
  937. package/sdk/dist/swap/index.d.ts +4 -4
  938. package/sdk/dist/swap/index.d.ts.map +1 -1
  939. package/sdk/dist/swap/index.js +4 -4
  940. package/sdk/dist/swap/index.js.map +1 -1
  941. package/sdk/dist/swap/source.d.ts +0 -7
  942. package/sdk/dist/swap/source.d.ts.map +1 -1
  943. package/sdk/dist/swap/source.js +3 -11
  944. package/sdk/dist/swap/source.js.map +1 -1
  945. package/sdk/dist/token/api.d.ts +14 -12
  946. package/sdk/dist/token/api.d.ts.map +1 -1
  947. package/sdk/dist/token/api.js +4 -5
  948. package/sdk/dist/token/api.js.map +1 -1
  949. package/sdk/dist/token/evm.d.ts +5 -2
  950. package/sdk/dist/token/evm.d.ts.map +1 -1
  951. package/sdk/dist/token/evm.js +26 -15
  952. package/sdk/dist/token/evm.js.map +1 -1
  953. package/sdk/dist/token/index.d.ts +7 -7
  954. package/sdk/dist/token/index.js +7 -7
  955. package/sdk/dist/token/safe.d.ts +17 -0
  956. package/sdk/dist/token/safe.d.ts.map +1 -0
  957. package/sdk/dist/token/safe.js +211 -0
  958. package/sdk/dist/token/safe.js.map +1 -0
  959. package/sdk/dist/token/source.d.ts +0 -4
  960. package/sdk/dist/token/source.d.ts.map +1 -1
  961. package/sdk/dist/token/source.js +7 -10
  962. package/sdk/dist/token/source.js.map +1 -1
  963. package/sdk/dist/verify/decode.d.ts +6 -6
  964. package/sdk/dist/verify/decode.js +7 -7
  965. package/sdk/dist/verify/decode.js.map +1 -1
  966. package/sdk/dist/verify/index.js +2 -2
  967. package/sdk/dist/verify/intent.js +2 -2
  968. package/sdk/dist/verify/vectors.d.ts +1 -1
  969. package/sdk/dist/verify/vectors.d.ts.map +1 -1
  970. package/sdk/dist/verify/vectors.js +2 -2
  971. package/sdk/dist/verify/vectors.js.map +1 -1
  972. package/sdk/dist/verify/wire.d.ts +21 -4
  973. package/sdk/dist/verify/wire.d.ts.map +1 -1
  974. package/sdk/dist/verify/wire.js +21 -4
  975. package/sdk/dist/verify/wire.js.map +1 -1
  976. package/sdk/dist/wasm-compiler.d.ts +31 -0
  977. package/sdk/dist/wasm-compiler.d.ts.map +1 -0
  978. package/sdk/dist/wasm-compiler.js +52 -0
  979. package/sdk/dist/wasm-compiler.js.map +1 -0
  980. package/sdk/src/protocols/aave-v4/AaveV4HubABI.json +67 -0
  981. package/sdk/src/protocols/aave-v4/AaveV4SpokeABI.json +215 -0
  982. package/sdk/src/protocols/aave-v4/abis.ts +139 -0
  983. package/sdk/src/protocols/aave-v4/addresses.ts +66 -0
  984. package/sdk/src/protocols/aave-v4/functions.ts +39 -0
  985. package/sdk/src/protocols/aave-v4/index.ts +4 -0
  986. package/sdk/src/protocols/aave-v4/info.ts +14 -0
  987. package/sdk/src/protocols/across/AcrossHubPoolABI.json +2 -2
  988. package/sdk/src/protocols/across/AcrossSpokePoolABI.json +27 -11
  989. package/sdk/src/protocols/across/abis.ts +16 -8
  990. package/sdk/src/protocols/across/addresses.ts +10 -0
  991. package/sdk/src/protocols/across/functions.ts +2 -2
  992. package/sdk/src/protocols/aerodrome-slipstream/AeroMetarouterABI.json +24 -0
  993. package/sdk/src/protocols/aerodrome-slipstream/SlipstreamCLFactoryABI.json +58 -0
  994. package/sdk/src/protocols/aerodrome-slipstream/SlipstreamPositionManagerABI.json +77 -0
  995. package/sdk/src/protocols/aerodrome-slipstream/abis.ts +74 -0
  996. package/sdk/src/protocols/aerodrome-slipstream/addresses.ts +40 -0
  997. package/sdk/src/protocols/aerodrome-slipstream/functions.ts +8 -0
  998. package/sdk/src/protocols/aerodrome-slipstream/index.ts +4 -0
  999. package/sdk/src/protocols/aerodrome-slipstream/info.ts +14 -0
  1000. package/sdk/src/protocols/aevo/DepositContractABI.json +23 -2
  1001. package/sdk/src/protocols/aevo/abis.ts +10 -2
  1002. package/sdk/src/protocols/aevo/functions.ts +2 -2
  1003. package/sdk/src/protocols/alchemix/AlchemistABI.json +1 -1
  1004. package/sdk/src/protocols/alchemix/abis.ts +1 -1
  1005. package/sdk/src/protocols/ambient/CrocSwapDexABI.json +2 -2
  1006. package/sdk/src/protocols/ambient/abis.ts +3 -2
  1007. package/sdk/src/protocols/ambient/addresses.ts +2 -1
  1008. package/sdk/src/protocols/arrakis/ArrakisRouterABI.json +5 -1
  1009. package/sdk/src/protocols/arrakis/ArrakisVaultABI.json +0 -16
  1010. package/sdk/src/protocols/arrakis/abis.ts +2 -11
  1011. package/sdk/src/protocols/arrakis/functions.ts +2 -1
  1012. package/sdk/src/protocols/axelar/AxelarITSABI.json +1 -1
  1013. package/sdk/src/protocols/axelar/abis.ts +1 -1
  1014. package/sdk/src/protocols/balancer-v2/BalancerV2VaultABI.json +7 -7
  1015. package/sdk/src/protocols/balancer-v2/abis.ts +7 -7
  1016. package/sdk/src/protocols/cbeth/CbETHABI.json +10 -1
  1017. package/sdk/src/protocols/cbeth/abis.ts +6 -2
  1018. package/sdk/src/protocols/cbeth/functions.ts +4 -6
  1019. package/sdk/src/protocols/cctp/TokenMessengerABI.json +30 -9
  1020. package/sdk/src/protocols/cctp/abis.ts +3 -1
  1021. package/sdk/src/protocols/cctp/addresses.ts +3 -0
  1022. package/sdk/src/protocols/chainlink/AggregatorV3ABI.json +3 -3
  1023. package/sdk/src/protocols/chainlink/FeedRegistryABI.json +3 -3
  1024. package/sdk/src/protocols/chainlink/abis.ts +6 -6
  1025. package/sdk/src/protocols/chainlink/addresses.ts +10 -0
  1026. package/sdk/src/protocols/chainlink-ccip/CCIPRouterABI.json +1 -1
  1027. package/sdk/src/protocols/chainlink-ccip/abis.ts +1 -1
  1028. package/sdk/src/protocols/chainlink-ccip/addresses.ts +9 -0
  1029. package/sdk/src/protocols/circle-gateway/GatewayMinterABI.json +49 -0
  1030. package/sdk/src/protocols/circle-gateway/GatewayWalletABI.json +111 -0
  1031. package/sdk/src/protocols/circle-gateway/abis.ts +86 -0
  1032. package/sdk/src/protocols/circle-gateway/addresses.ts +39 -0
  1033. package/sdk/src/protocols/circle-gateway/functions.ts +28 -0
  1034. package/sdk/src/protocols/circle-gateway/index.ts +4 -0
  1035. package/sdk/src/protocols/circle-gateway/info.ts +14 -0
  1036. package/sdk/src/protocols/compound-v2/CErc20ABI.json +2 -2
  1037. package/sdk/src/protocols/compound-v2/abis.ts +2 -2
  1038. package/sdk/src/protocols/connext/EverclearSpokeABI.json +60 -6
  1039. package/sdk/src/protocols/connext/abis.ts +27 -5
  1040. package/sdk/src/protocols/connext/addresses.ts +1 -7
  1041. package/sdk/src/protocols/connext/functions.ts +3 -2
  1042. package/sdk/src/protocols/crvusd/functions.ts +6 -6
  1043. package/sdk/src/protocols/curve/CurveRouterNGABI.json +37 -0
  1044. package/sdk/src/protocols/curve/CurveStableSwapABI.json +7 -7
  1045. package/sdk/src/protocols/curve/CurveThreePoolABI.json +117 -0
  1046. package/sdk/src/protocols/curve/abis.ts +91 -7
  1047. package/sdk/src/protocols/debridge/DlnDestinationABI.json +7 -7
  1048. package/sdk/src/protocols/debridge/DlnSourceABI.json +1 -1
  1049. package/sdk/src/protocols/debridge/abis.ts +5 -5
  1050. package/sdk/src/protocols/debridge/addresses.ts +11 -0
  1051. package/sdk/src/protocols/eco-routes/abis.ts +633 -0
  1052. package/sdk/src/protocols/eco-routes/addresses.generated.ts +589 -0
  1053. package/sdk/src/protocols/eco-routes/addresses.ts +27 -0
  1054. package/sdk/src/protocols/eco-routes/functions.ts +45 -0
  1055. package/sdk/src/protocols/eco-routes/index.ts +5 -0
  1056. package/sdk/src/protocols/eco-routes/info.ts +14 -0
  1057. package/sdk/src/protocols/eco-routes/lookup.ts +215 -0
  1058. package/sdk/src/protocols/eigenlayer/DelegationManagerABI.json +2 -2
  1059. package/sdk/src/protocols/eigenlayer/StrategyManagerABI.json +2 -2
  1060. package/sdk/src/protocols/eigenlayer/abis.ts +5 -4
  1061. package/sdk/src/protocols/ens/ENSRegistryABI.json +4 -4
  1062. package/sdk/src/protocols/ens/abis.ts +4 -4
  1063. package/sdk/src/protocols/erc20/functions.ts +6 -9
  1064. package/sdk/src/protocols/etherfi/WeETHABI.json +1 -1
  1065. package/sdk/src/protocols/etherfi/abis.ts +2 -1
  1066. package/sdk/src/protocols/euler-v2/EVCABI.json +2 -2
  1067. package/sdk/src/protocols/euler-v2/abis.ts +2 -2
  1068. package/sdk/src/protocols/fluid/FluidLendingABI.json +20 -37
  1069. package/sdk/src/protocols/fluid/FluidVaultABI.json +41 -0
  1070. package/sdk/src/protocols/fluid/abis.ts +41 -18
  1071. package/sdk/src/protocols/fluid/functions.ts +18 -16
  1072. package/sdk/src/protocols/frax/functions.ts +6 -6
  1073. package/sdk/src/protocols/gains-network/DiamondABI.json +49 -37
  1074. package/sdk/src/protocols/gains-network/abis.ts +26 -21
  1075. package/sdk/src/protocols/gains-network/functions.ts +6 -6
  1076. package/sdk/src/protocols/gamma/UniProxyLegacyABI.json +62 -0
  1077. package/sdk/src/protocols/gamma/abis.ts +31 -0
  1078. package/sdk/src/protocols/gamma/addresses.ts +2 -7
  1079. package/sdk/src/protocols/gamma/functions.ts +10 -0
  1080. package/sdk/src/protocols/gelato/GelatoAutomateABI.json +2 -2
  1081. package/sdk/src/protocols/gelato/abis.ts +2 -2
  1082. package/sdk/src/protocols/gho/functions.ts +4 -6
  1083. package/sdk/src/protocols/gmx-v1/PositionRouterABI.json +21 -3
  1084. package/sdk/src/protocols/gmx-v1/abis.ts +5 -3
  1085. package/sdk/src/protocols/gmx-v1/functions.ts +2 -2
  1086. package/sdk/src/protocols/gmx-v2/ExchangeRouterABI.json +13 -5
  1087. package/sdk/src/protocols/gmx-v2/abis.ts +7 -4
  1088. package/sdk/src/protocols/gmx-v2/addresses.ts +3 -1
  1089. package/sdk/src/protocols/gmx-v2/functions.ts +4 -2
  1090. package/sdk/src/protocols/harvest/VaultABI.json +12 -2
  1091. package/sdk/src/protocols/harvest/abis.ts +2 -2
  1092. package/sdk/src/protocols/hegic/HegicABI.json +6 -2
  1093. package/sdk/src/protocols/hegic/abis.ts +7 -2
  1094. package/sdk/src/protocols/hegic/addresses.ts +1 -0
  1095. package/sdk/src/protocols/hegic/functions.ts +3 -3
  1096. package/sdk/src/protocols/hop/addresses.ts +5 -2
  1097. package/sdk/src/protocols/hyperlane/HyperlaneMailboxABI.json +5 -5
  1098. package/sdk/src/protocols/hyperlane/abis.ts +5 -5
  1099. package/sdk/src/protocols/hyperlane/addresses.ts +9 -0
  1100. package/sdk/src/protocols/index.ts +13 -0
  1101. package/sdk/src/protocols/kim/KimRouterABI.json +8 -27
  1102. package/sdk/src/protocols/kim/abis.ts +6 -12
  1103. package/sdk/src/protocols/kim/functions.ts +3 -2
  1104. package/sdk/src/protocols/kyberswap/KyberSwapElasticRouterABI.json +1 -1
  1105. package/sdk/src/protocols/kyberswap/KyberSwapMetaAggregationRouterABI.json +52 -18
  1106. package/sdk/src/protocols/kyberswap/abis.ts +21 -8
  1107. package/sdk/src/protocols/kyberswap/addresses.ts +12 -2
  1108. package/sdk/src/protocols/kyberswap-aggregator/addresses.ts +12 -1
  1109. package/sdk/src/protocols/layerbank/LTokenABI.json +19 -29
  1110. package/sdk/src/protocols/layerbank/LayerBankCoreABI.json +87 -2
  1111. package/sdk/src/protocols/layerbank/abis.ts +69 -17
  1112. package/sdk/src/protocols/layerbank/addresses.ts +3 -1
  1113. package/sdk/src/protocols/layerbank/functions.ts +18 -16
  1114. package/sdk/src/protocols/layerzero/LayerZeroEndpointV2ABI.json +3 -3
  1115. package/sdk/src/protocols/layerzero/abis.ts +3 -3
  1116. package/sdk/src/protocols/layerzero/addresses.ts +11 -1
  1117. package/sdk/src/protocols/level-finance/LiquidityPoolABI.json +8 -0
  1118. package/sdk/src/protocols/level-finance/abis.ts +2 -0
  1119. package/sdk/src/protocols/level-finance/functions.ts +4 -4
  1120. package/sdk/src/protocols/lifi/LiFiDiamondABI.json +54 -4
  1121. package/sdk/src/protocols/lifi/abis.ts +24 -4
  1122. package/sdk/src/protocols/lifi/addresses.ts +9 -0
  1123. package/sdk/src/protocols/lifi/functions.ts +5 -2
  1124. package/sdk/src/protocols/liquity-v1/BorrowerOperationsABI.json +8 -0
  1125. package/sdk/src/protocols/liquity-v1/abis.ts +7 -1
  1126. package/sdk/src/protocols/liquity-v1/functions.ts +1 -1
  1127. package/sdk/src/protocols/liquity-v2/functions.ts +4 -6
  1128. package/sdk/src/protocols/mantle-meth/METHABI.json +0 -46
  1129. package/sdk/src/protocols/mantle-meth/METHStakingABI.json +50 -0
  1130. package/sdk/src/protocols/mantle-meth/abis.ts +23 -17
  1131. package/sdk/src/protocols/mantle-meth/addresses.ts +3 -0
  1132. package/sdk/src/protocols/mantle-meth/functions.ts +4 -4
  1133. package/sdk/src/protocols/maverick/MaverickV2FactoryABI.json +8 -0
  1134. package/sdk/src/protocols/maverick/MaverickV2RouterABI.json +4 -0
  1135. package/sdk/src/protocols/maverick/abis.ts +7 -1
  1136. package/sdk/src/protocols/morpho-blue/addresses.ts +10 -0
  1137. package/sdk/src/protocols/mux-protocol/LiquidityPoolABI.json +45 -11
  1138. package/sdk/src/protocols/mux-protocol/OrderBookABI.json +59 -17
  1139. package/sdk/src/protocols/mux-protocol/abis.ts +55 -22
  1140. package/sdk/src/protocols/mux-protocol/functions.ts +8 -8
  1141. package/sdk/src/protocols/olympus/StakingABI.json +8 -3
  1142. package/sdk/src/protocols/olympus/abis.ts +2 -2
  1143. package/sdk/src/protocols/oneinch/AggregationRouterV6ABI.json +5 -5
  1144. package/sdk/src/protocols/oneinch/abis.ts +5 -3
  1145. package/sdk/src/protocols/oneinch/functions.ts +2 -2
  1146. package/sdk/src/protocols/openocean/OpenOceanExchangeV2ABI.json +19 -1
  1147. package/sdk/src/protocols/openocean/abis.ts +11 -1
  1148. package/sdk/src/protocols/openocean/functions.ts +1 -1
  1149. package/sdk/src/protocols/opyn/ControllerABI.json +6 -1
  1150. package/sdk/src/protocols/opyn/abis.ts +1 -1
  1151. package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3FactoryABI.json +1 -1
  1152. package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3NFPMABI.json +3 -3
  1153. package/sdk/src/protocols/pancakeswap-v3/PancakeSwapV3SmartRouterABI.json +2 -2
  1154. package/sdk/src/protocols/pancakeswap-v3/abis.ts +6 -6
  1155. package/sdk/src/protocols/paraswap/AugustusV5ABI.json +1 -1
  1156. package/sdk/src/protocols/paraswap/abis.ts +1 -1
  1157. package/sdk/src/protocols/pendle/PendleRouterABI.json +392 -6
  1158. package/sdk/src/protocols/pendle/abis.ts +160 -6
  1159. package/sdk/src/protocols/permit2/Permit2ABI.json +1 -1
  1160. package/sdk/src/protocols/permit2/abis.ts +1 -1
  1161. package/sdk/src/protocols/permit2/addresses.ts +9 -0
  1162. package/sdk/src/protocols/perpetual-protocol/ClearingHouseABI.json +61 -49
  1163. package/sdk/src/protocols/perpetual-protocol/abis.ts +27 -14
  1164. package/sdk/src/protocols/premia/DiamondABI.json +24 -24
  1165. package/sdk/src/protocols/premia/abis.ts +20 -10
  1166. package/sdk/src/protocols/premia/addresses.ts +3 -8
  1167. package/sdk/src/protocols/premia/functions.ts +8 -8
  1168. package/sdk/src/protocols/pyth/PythOracleABI.json +3 -3
  1169. package/sdk/src/protocols/pyth/abis.ts +6 -3
  1170. package/sdk/src/protocols/reflexer/ETHJoinABI.json +5 -1
  1171. package/sdk/src/protocols/reflexer/SAFEEngineABI.json +4 -4
  1172. package/sdk/src/protocols/reflexer/abis.ts +10 -6
  1173. package/sdk/src/protocols/renzo/RestakeManagerABI.json +1 -1
  1174. package/sdk/src/protocols/renzo/abis.ts +1 -1
  1175. package/sdk/src/protocols/sablier/LockupLinearABI.json +2 -2
  1176. package/sdk/src/protocols/sablier/abis.ts +2 -2
  1177. package/sdk/src/protocols/safe/addresses.ts +10 -0
  1178. package/sdk/src/protocols/seaport/SeaportABI.json +87 -5
  1179. package/sdk/src/protocols/seaport/abis.ts +41 -5
  1180. package/sdk/src/protocols/seaport/addresses.ts +10 -0
  1181. package/sdk/src/protocols/seaport/functions.ts +1 -0
  1182. package/sdk/src/protocols/silo/SiloABI.json +4 -0
  1183. package/sdk/src/protocols/silo/abis.ts +4 -1
  1184. package/sdk/src/protocols/silo/addresses.ts +2 -1
  1185. package/sdk/src/protocols/silo/functions.ts +2 -1
  1186. package/sdk/src/protocols/socket/SocketGatewayABI.json +1 -17
  1187. package/sdk/src/protocols/socket/abis.ts +3 -11
  1188. package/sdk/src/protocols/socket/functions.ts +1 -1
  1189. package/sdk/src/protocols/spookyswap/addresses.ts +2 -1
  1190. package/sdk/src/protocols/squid/SquidRouterABI.json +42 -26
  1191. package/sdk/src/protocols/squid/abis.ts +19 -13
  1192. package/sdk/src/protocols/squid/functions.ts +2 -2
  1193. package/sdk/src/protocols/stargate/StargatePoolABI.json +31 -3
  1194. package/sdk/src/protocols/stargate/abis.ts +19 -3
  1195. package/sdk/src/protocols/superfluid/CFAForwarderABI.json +2 -2
  1196. package/sdk/src/protocols/superfluid/abis.ts +2 -2
  1197. package/sdk/src/protocols/sushiswap-v2/addresses.ts +2 -1
  1198. package/sdk/src/protocols/swell/RswETHABI.json +1 -6
  1199. package/sdk/src/protocols/swell/SwETHABI.json +1 -6
  1200. package/sdk/src/protocols/swell/abis.ts +4 -2
  1201. package/sdk/src/protocols/swell/functions.ts +4 -2
  1202. package/sdk/src/protocols/synapse/addresses.ts +2 -1
  1203. package/sdk/src/protocols/synthetix-v3/PerpsMarketProxyABI.json +54 -5
  1204. package/sdk/src/protocols/synthetix-v3/abis.ts +27 -5
  1205. package/sdk/src/protocols/synthetix-v3/addresses.ts +2 -1
  1206. package/sdk/src/protocols/synthra-v3/SynthraV3FactoryABI.json +54 -0
  1207. package/sdk/src/protocols/synthra-v3/SynthraV3NonfungiblePositionManagerABI.json +212 -0
  1208. package/sdk/src/protocols/synthra-v3/SynthraV3QuoterV2ABI.json +55 -0
  1209. package/sdk/src/protocols/synthra-v3/SynthraV3SwapRouter02ABI.json +168 -0
  1210. package/sdk/src/protocols/synthra-v3/abis.ts +244 -0
  1211. package/sdk/src/protocols/synthra-v3/addresses.ts +17 -0
  1212. package/sdk/src/protocols/synthra-v3/functions.ts +8 -0
  1213. package/sdk/src/protocols/synthra-v3/index.ts +4 -0
  1214. package/sdk/src/protocols/synthra-v3/info.ts +13 -0
  1215. package/sdk/src/protocols/thales/PositionalMarketABI.json +16 -0
  1216. package/sdk/src/protocols/thales/SpeedMarketsAMMABI.json +57 -22
  1217. package/sdk/src/protocols/thales/ThalesAMMABI.json +4 -11
  1218. package/sdk/src/protocols/thales/abis.ts +28 -11
  1219. package/sdk/src/protocols/thales/functions.ts +5 -6
  1220. package/sdk/src/protocols/thruster/ThrusterV3SwapRouterABI.json +1 -1
  1221. package/sdk/src/protocols/thruster/abis.ts +1 -1
  1222. package/sdk/src/protocols/trader-joe/LBRouterABI.json +3 -3
  1223. package/sdk/src/protocols/trader-joe/abis.ts +2 -2
  1224. package/sdk/src/protocols/uniswap-v2/addresses.ts +10 -0
  1225. package/sdk/src/protocols/uniswap-v3/UniswapV3FactoryABI.json +2 -2
  1226. package/sdk/src/protocols/uniswap-v3/UniswapV3NonfungiblePositionManagerABI.json +3 -3
  1227. package/sdk/src/protocols/uniswap-v3/UniswapV3QuoterV2ABI.json +1 -1
  1228. package/sdk/src/protocols/uniswap-v3/UniswapV3SwapRouter02ABI.json +168 -0
  1229. package/sdk/src/protocols/uniswap-v3/UniswapV3SwapRouterABI.json +2 -2
  1230. package/sdk/src/protocols/uniswap-v3/abis.ts +91 -8
  1231. package/sdk/src/protocols/uniswap-v3/addresses.ts +14 -0
  1232. package/sdk/src/protocols/uniswap-v4/UniswapV4PoolManagerABI.json +15 -15
  1233. package/sdk/src/protocols/uniswap-v4/UniswapV4UniversalRouterABI.json +16 -0
  1234. package/sdk/src/protocols/uniswap-v4/abis.ts +25 -15
  1235. package/sdk/src/protocols/uniswap-v4/addresses.ts +11 -0
  1236. package/sdk/src/protocols/unitflow-v3/UnitFlowV3FactoryABI.json +46 -0
  1237. package/sdk/src/protocols/unitflow-v3/UnitFlowV3QuoterABI.json +37 -0
  1238. package/sdk/src/protocols/unitflow-v3/UnitFlowV3RouterABI.json +67 -0
  1239. package/sdk/src/protocols/unitflow-v3/abis.ts +71 -0
  1240. package/sdk/src/protocols/unitflow-v3/addresses.ts +20 -0
  1241. package/sdk/src/protocols/unitflow-v3/functions.ts +8 -0
  1242. package/sdk/src/protocols/unitflow-v3/index.ts +4 -0
  1243. package/sdk/src/protocols/unitflow-v3/info.ts +14 -0
  1244. package/sdk/src/protocols/velodrome/addresses.ts +3 -1
  1245. package/sdk/src/protocols/venus/VBNBABI.json +86 -0
  1246. package/sdk/src/protocols/venus/VTokenABI.json +1 -1
  1247. package/sdk/src/protocols/venus/abis.ts +49 -1
  1248. package/sdk/src/protocols/vertex/ClearinghouseABI.json +20 -10
  1249. package/sdk/src/protocols/vertex/EndpointABI.json +1 -1
  1250. package/sdk/src/protocols/vertex/abis.ts +13 -4
  1251. package/sdk/src/protocols/wormhole/WormholeTokenBridgeABI.json +2 -2
  1252. package/sdk/src/protocols/wormhole/abis.ts +2 -2
  1253. package/sdk/src/protocols/wormhole/addresses.ts +9 -0
  1254. package/sdk/src/protocols/zerolend/addresses.ts +2 -1
  1255. package/sdk/src/protocols/zerox/addresses.ts +2 -1
  1256. package/sdk/src/protocols/zksync-bridge/ZkSyncDiamondProxyABI.json +1 -1
  1257. package/sdk/src/protocols/zksync-bridge/abis.ts +1 -1
  1258. package/sdk/src/skills/aave-v4.md +91 -0
  1259. package/sdk/src/skills/across.md +28 -10
  1260. package/sdk/src/skills/aerodrome-slipstream.md +57 -0
  1261. package/sdk/src/skills/aerodrome.md +1 -0
  1262. package/sdk/src/skills/aevo.md +12 -4
  1263. package/sdk/src/skills/ambient.md +2 -2
  1264. package/sdk/src/skills/arrakis.md +3 -3
  1265. package/sdk/src/skills/cbeth.md +6 -8
  1266. package/sdk/src/skills/chainlink-ccip.md +3 -2
  1267. package/sdk/src/skills/chainlink.md +1 -1
  1268. package/sdk/src/skills/circle-gateway.md +98 -0
  1269. package/sdk/src/skills/compound-v2.md +2 -2
  1270. package/sdk/src/skills/connext.md +8 -7
  1271. package/sdk/src/skills/crvusd.md +6 -6
  1272. package/sdk/src/skills/curve.md +17 -2
  1273. package/sdk/src/skills/debridge.md +3 -2
  1274. package/sdk/src/skills/eigenlayer.md +1 -1
  1275. package/sdk/src/skills/erc20.md +8 -10
  1276. package/sdk/src/skills/etherfi.md +1 -1
  1277. package/sdk/src/skills/fluid.md +46 -39
  1278. package/sdk/src/skills/frax.md +6 -6
  1279. package/sdk/src/skills/gains-network.md +13 -21
  1280. package/sdk/src/skills/gamma.md +12 -6
  1281. package/sdk/src/skills/gho.md +4 -6
  1282. package/sdk/src/skills/gmx-v1.md +4 -2
  1283. package/sdk/src/skills/gmx-v2.md +6 -2
  1284. package/sdk/src/skills/harvest.md +2 -2
  1285. package/sdk/src/skills/hegic.md +9 -8
  1286. package/sdk/src/skills/hop.md +8 -8
  1287. package/sdk/src/skills/hyperlane.md +4 -3
  1288. package/sdk/src/skills/index.md +84 -77
  1289. package/sdk/src/skills/kim.md +11 -14
  1290. package/sdk/src/skills/kyberswap-aggregator.md +5 -3
  1291. package/sdk/src/skills/kyberswap.md +6 -6
  1292. package/sdk/src/skills/layerbank.md +41 -35
  1293. package/sdk/src/skills/layerzero.md +3 -2
  1294. package/sdk/src/skills/level-finance.md +6 -4
  1295. package/sdk/src/skills/lido.md +5 -5
  1296. package/sdk/src/skills/lifi.md +41 -23
  1297. package/sdk/src/skills/liquity-v1.md +6 -2
  1298. package/sdk/src/skills/liquity-v2.md +4 -6
  1299. package/sdk/src/skills/loader.ts +15 -25
  1300. package/sdk/src/skills/mantle-meth.md +13 -5
  1301. package/sdk/src/skills/maverick.md +3 -3
  1302. package/sdk/src/skills/morpho-blue.md +1 -1
  1303. package/sdk/src/skills/mux-protocol.md +21 -17
  1304. package/sdk/src/skills/oneinch.md +4 -3
  1305. package/sdk/src/skills/openocean.md +2 -2
  1306. package/sdk/src/skills/opyn.md +1 -1
  1307. package/sdk/src/skills/permit2.md +1 -1
  1308. package/sdk/src/skills/perpetual-protocol.md +2 -2
  1309. package/sdk/src/skills/premia.md +21 -21
  1310. package/sdk/src/skills/reflexer.md +1 -1
  1311. package/sdk/src/skills/renzo.md +1 -1
  1312. package/sdk/src/skills/safe.md +1 -1
  1313. package/sdk/src/skills/seaport.md +3 -2
  1314. package/sdk/src/skills/silo.md +4 -3
  1315. package/sdk/src/skills/socket.md +4 -5
  1316. package/sdk/src/skills/spookyswap.md +2 -2
  1317. package/sdk/src/skills/squid.md +18 -10
  1318. package/sdk/src/skills/stargate.md +1 -1
  1319. package/sdk/src/skills/sushiswap-v2.md +1 -1
  1320. package/sdk/src/skills/swell.md +6 -4
  1321. package/sdk/src/skills/synapse.md +1 -1
  1322. package/sdk/src/skills/synthetix-v3.md +1 -1
  1323. package/sdk/src/skills/synthra-v3.md +57 -0
  1324. package/sdk/src/skills/thales.md +12 -10
  1325. package/sdk/src/skills/trader-joe.md +1 -1
  1326. package/sdk/src/skills/uniswap-v2.md +2 -1
  1327. package/sdk/src/skills/uniswap-v3.md +14 -4
  1328. package/sdk/src/skills/uniswap-v4.md +3 -1
  1329. package/sdk/src/skills/unitflow-v3.md +62 -0
  1330. package/sdk/src/skills/velodrome.md +2 -2
  1331. package/sdk/src/skills/venus.md +10 -2
  1332. package/sdk/src/skills/vertex.md +1 -1
  1333. package/sdk/src/skills/wormhole.md +1 -1
  1334. package/sdk/src/skills/zerolend.md +1 -1
  1335. package/sdk/src/skills/zerox.md +1 -1
  1336. package/sdk/src/skills/zksync-bridge.md +1 -1
  1337. package/actions/dist/megas-swap.d.ts +0 -97
  1338. package/actions/dist/megas-swap.d.ts.map +0 -1
  1339. package/actions/dist/megas-swap.js +0 -286
  1340. package/sdk/dist/routes/globals.generated.d.ts +0 -94
  1341. package/sdk/dist/routes/globals.generated.d.ts.map +0 -1
  1342. package/sdk/dist/routes/globals.generated.js +0 -2
  1343. package/sdk/dist/routes/globals.generated.js.map +0 -1
@@ -0,0 +1,395 @@
1
+ # Actions
2
+
3
+ [Documentation](../README.md) · [Intents](intents.md) · [Nested intents](nested-intents.md) · [Compiling](compiling.md)
4
+
5
+ An **action** is one protocol operation written as data: swap on a Uniswap V3 pool, supply to Aave, bridge through Across, wrap ETH. An **action program** is an ordered list of actions for one chain. `@eco-incorp/sauce/actions` compiles it into one Sauce program that executes, atomically, in a Pot on that chain — directly, or as the destination route of an Eco intent.
6
+
7
+ A program is plain JSON. You can write it by hand, store it, sign it, generate it from a service in any language, and validate it against the published [JSON Schema](../../actions/action-program.schema.json) before it reaches TypeScript.
8
+
9
+ ```json
10
+ {
11
+ "version": 1,
12
+ "chainId": 1,
13
+ "actions": [
14
+ {
15
+ "type": "wrapETH",
16
+ "amount": "1000000000000000000",
17
+ "weth": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
18
+ },
19
+ {
20
+ "type": "approve",
21
+ "token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
22
+ "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45"
23
+ },
24
+ {
25
+ "type": "uniswapV3ExactInput",
26
+ "router": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",
27
+ "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
28
+ "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
29
+ "fee": 500,
30
+ "amountOutMin": "3000000000",
31
+ "recipient": "self",
32
+ "saveOutputAs": "usdc"
33
+ },
34
+ {
35
+ "type": "approve",
36
+ "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
37
+ "spender": "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2"
38
+ },
39
+ {
40
+ "type": "aaveV3Supply",
41
+ "pool": "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2",
42
+ "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
43
+ "onBehalfOf": "0x3000000000000000000000000000000000000001",
44
+ "amountRef": "usdc"
45
+ }
46
+ ]
47
+ }
48
+ ```
49
+
50
+ This wraps 1 ETH, approves the router for exactly what was wrapped, swaps it for USDC into the executing Pot, approves Aave for whatever the swap returned, and supplies it on the owner's behalf. Only the first action names an amount: each approve and the swap spend the previous action's output, and the supply spends the output saved as `usdc`.
51
+
52
+ ## Compile and run a program
53
+
54
+ ```ts
55
+ import { compileProgram, parseProgram } from "@eco-incorp/sauce/actions";
56
+ import { v12Pot } from "@eco-incorp/sauce/evm/engine";
57
+ import { bytesToHex, type Address } from "viem";
58
+
59
+ export function cookProgram(json: string, engine: Address) {
60
+ const program = parseProgram(json); // throws, listing every problem with its path
61
+ const { bytecode, source } = compileProgram(program);
62
+ console.log(source); // the SauceScript that will execute
63
+
64
+ return v12Pot.encodeCook(engine, bytesToHex(bytecode));
65
+ }
66
+ ```
67
+
68
+ Send the resulting calldata to the Pot from its owner, with the Kitchen's execution fee. The Pot is the account whose balances the program uses — its ETH pays for `wrapETH` above — so fund it before the program runs. See [compiling programs](compiling.md) for the execution boundary. The [action-program example](../examples/action-program.ts) runs end to end offline.
69
+
70
+ | Export | Does |
71
+ | ----------------------------------- | -------------------------------------------------------------------------------------------- |
72
+ | `parseProgram(json)` | Validates a program; throws a `ProgramError` listing every problem with its path |
73
+ | `serializeProgram(program, space?)` | Writes canonical JSON |
74
+ | `programSchema()` | Returns the JSON Schema |
75
+ | `compileProgram(program, options?)` | Compiles standalone: bytecode, source, and a payload for [runtime amounts](#runtime-amounts) |
76
+ | `programIntent(program, options)` | Opens the program as an [intent route](#turn-a-program-into-an-intent) on its chain |
77
+ | `quoteAction(action, quoters?)` | Builds the `eth_call` that [prices a swap](#quotes-and-split-swaps) |
78
+ | `compileSplitSwap(splitSwap)` | Compiles a swap [split across venues](#quotes-and-split-swaps) by on-chain quotes |
79
+
80
+ `compileProgram` and `programIntent` validate the program too, so a typed program that skipped `parseProgram` is held to the same rules.
81
+
82
+ ## The JSON format
83
+
84
+ A program is `{ "version": 1, "chainId": <chain>, "actions": [ … ] }`. Every action runs in one transaction on `chainId`; a bridge's destination is one of its own fields, not a second place the program runs. Each action is an object whose `type` selects its fields; the [reference](#supported-actions) lists every type, and the schema lists every field with its documentation. A `$schema` key is allowed and ignored.
85
+
86
+ | Value | Encoding |
87
+ | ------------------------------------------------------------- | ---------------------------------------------------------------------------- |
88
+ | Amounts, prices, fees, strategy ids | Base-10 string: `"1000000"`. No sign, exponent, or leading zeros. |
89
+ | Addresses | `0x` + 40 hex digits. Mixed case must be a valid EIP-55 checksum. |
90
+ | Recipients on this chain (`recipient`, `onBehalfOf`, `owner`) | An address, or `"self"` for the executing Pot. |
91
+ | Recipients on another chain (a bridge's `recipient`) | An address, or a 32-byte account (`0x` + 64 hex digits) for a non-EVM chain. |
92
+ | Byte strings (`path`, `message`) | `0x` + an even number of hex digits. |
93
+ | 32-byte values (`poolId`) | `0x` + 64 hex digits. |
94
+ | Fee tiers, indices, domains, endpoint ids, Unix-second times | JSON integers. |
95
+
96
+ JSON numbers cannot represent integers above 2^53, so the parser rejects an amount written as a number instead of rounding it. Each amount must also fit the width of the field it becomes: a Uniswap V4 `amountOutMin` is a `uint128`, and a larger value is an error rather than a silently truncated one.
97
+
98
+ The same words mean the same thing on every action: `amount` is what it spends, `amountOutMin` is the least output it accepts before the venue reverts, and `recipient` receives its output.
99
+
100
+ ### Validation and errors
101
+
102
+ `parseProgram(input)` takes the JSON text or a parsed value, checks it, and returns a fresh program with its keys in canonical order. It fills in nothing: an optional field left out stays out. It throws a `ProgramError` whose `issues` list every problem, each with a path:
103
+
104
+ ```text
105
+ invalid action program (2 issues):
106
+ actions[0].amount: expected a base-10 string, got the JSON number 1000000 — JSON numbers lose precision above 2^53, so amounts are strings: write "1000000"
107
+ actions[1].amuont: unknown field — did you mean `amount`? (allowed: type, amount, router, …)
108
+ ```
109
+
110
+ `serializeProgram(program)` writes canonical JSON, so two equal programs serialize to the same text, and `parseProgram(serializeProgram(p))` equals `p`.
111
+
112
+ ### The schema
113
+
114
+ The schema ships in the package as `@eco-incorp/sauce/actions/action-program.schema.json` (JSON Schema draft 2020-12), and `programSchema()` returns the same document. It is generated from the table the parser reads, so a document the schema rejects is always rejected by the parser.
115
+
116
+ The schema cannot express three rules, which the parser enforces and the schema's description states: EIP-55 checksums, exact numeric ranges (the schema bounds digit counts), and the chaining rules below. Validate with the schema at the edge of your system, and parse before compiling.
117
+
118
+ ## Chaining amounts
119
+
120
+ An action that spends an amount takes it from, in order:
121
+
122
+ 1. its `amount`;
123
+ 2. `amountRef`, naming the output an **earlier** action saved with `saveOutputAs`;
124
+ 3. otherwise, the **previous** action's output.
125
+
126
+ Setting both `amount` and `amountRef` is an error, as is an `amountRef` to a name no earlier action saved, or a first action with no amount. Saving a second output under a name reassigns it. Two actions carry their amounts in their own fields and take neither: `balancerV2BatchSwap` (`steps[].amount`) and `carbonSwap` (`tradeActions[].amount`).
127
+
128
+ An action's output is one of:
129
+
130
+ - **received** — what it delivered to the Pot: a swap's proceeds, the staking or wrapped token minted, the ETH from burning rETH, the amount an Aave withdrawal returned. Where the venue's return value is that amount the program reads it; where it is not (an array, shares, nothing) the program measures the Pot's balance before and after.
131
+ - **its amount** — the amount the action spent, unchanged: transfers, approvals, supplies, borrows, repayments, bridges, WETH wrapping.
132
+ - **the value read** — for a source action.
133
+
134
+ When a later action spends an output, the action delivers it to the Pot so it can be spent, whatever its `recipient` says. An action whose output nothing spends pays its own `recipient`. Use `"recipient": "self"` to keep an unspent output in the Pot, for example for a [dynamic child](#fund-a-child-from-a-measured-amount).
135
+
136
+ ### Source actions
137
+
138
+ Three actions produce a value and move nothing:
139
+
140
+ - `balanceOf` reads the Pot's balance of `token` when the program reaches it, so the next action spends whatever is actually there.
141
+ - `nativeBalance` reads the Pot's native balance.
142
+ - `argument` declares a runtime parameter; see [runtime amounts](#runtime-amounts).
143
+
144
+ A source action whose value nothing reads is an error.
145
+
146
+ ```json
147
+ [
148
+ { "type": "balanceOf", "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" },
149
+ {
150
+ "type": "transfer",
151
+ "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
152
+ "recipient": "0x3000000000000000000000000000000000000001"
153
+ }
154
+ ]
155
+ ```
156
+
157
+ ## Turn a program into an intent
158
+
159
+ `programIntent(program, options)` opens the program as the route of an Eco intent on the program's own `chainId`. It is `Base(body, options)` with the program as the body; its ABI bindings are merged into `options.compile.contracts`, and a caller binding of the same name with a different ABI is an error.
160
+
161
+ ```ts
162
+ import { programIntent, type ActionProgram } from "@eco-incorp/sauce/actions";
163
+ import type { routes } from "@eco-incorp/sauce";
164
+
165
+ export function buildActionIntent(
166
+ program: ActionProgram,
167
+ options: routes.IntentOptions,
168
+ reward: routes.RewardArg,
169
+ ) {
170
+ return programIntent(program, options).reward(reward);
171
+ }
172
+ ```
173
+
174
+ Everything in [creating an intent](intents.md) applies: the Pot must be owned by the destination Portal's Executor, delivered route tokens arrive in the Executor and need a precall to reach the Pot, and every cook pays the Kitchen fee.
175
+
176
+ ### Fund a child from a measured amount
177
+
178
+ A program's output is only known once it runs. [Dynamic nesting](nested-intents.md#create-the-child-on-chain-from-a-measured-amount) publishes a child intent funded from what the parent's Pot holds after its program ran, so the pattern is:
179
+
180
+ 1. The parent program keeps its output in the Pot (`"recipient": "self"`).
181
+ 2. `.nest(child, { via: "dynamic", measure: { kind: "erc20Balance", token } })` measures that balance.
182
+ 3. The child program starts with `balanceOf`, so it spends exactly what was delivered rather than an amount written before the parent ran.
183
+
184
+ ```ts
185
+ import { programIntent, type ActionProgram } from "@eco-incorp/sauce/actions";
186
+ import { routes } from "@eco-incorp/sauce";
187
+ import { encodeFunctionData, parseAbi, type Address } from "viem";
188
+
189
+ const { AMOUNT_IN_PLACEHOLDER, AMOUNT_OUT_PLACEHOLDER } = routes;
190
+
191
+ export function buildCascade(
192
+ parentProgram: ActionProgram, // e.g. a Base swap into USDC with "recipient": "self"
193
+ childProgram: ActionProgram, // e.g. balanceOf USDC on Arbitrum, an approve, then aaveV3Supply
194
+ parentOptions: routes.IntentOptions,
195
+ childOptions: routes.IntentOptions & { pot: Address },
196
+ usdcBase: Address,
197
+ usdcArbitrum: Address,
198
+ parentReward: routes.SauceRewardSpec,
199
+ childReward: Omit<routes.SauceRewardSpec, "tokens">,
200
+ ) {
201
+ // The Executor receives the child's tokens; move them into the Pot the child program runs in.
202
+ const toPot = encodeFunctionData({
203
+ abi: parseAbi(["function transfer(address,uint256)"]),
204
+ functionName: "transfer",
205
+ args: [childOptions.pot, AMOUNT_OUT_PLACEHOLDER],
206
+ });
207
+ const child = programIntent(childProgram, {
208
+ ...childOptions,
209
+ tokens: [{ token: usdcArbitrum, amount: AMOUNT_OUT_PLACEHOLDER }],
210
+ precalls: [{ target: usdcArbitrum, data: toPot }],
211
+ }).reward({ ...childReward, tokens: [{ token: usdcBase, amount: AMOUNT_IN_PLACEHOLDER }] });
212
+
213
+ return programIntent(parentProgram, parentOptions)
214
+ .nest(child, {
215
+ via: "dynamic",
216
+ measure: { kind: "erc20Balance", token: usdcBase },
217
+ placeholders: [
218
+ { value: AMOUNT_IN_PLACEHOLDER, source: "amountIn", occurrences: 1 },
219
+ // The route's token amount and the precall that moves it.
220
+ { value: AMOUNT_OUT_PLACEHOLDER, source: "amountOut", occurrences: 2 },
221
+ ],
222
+ })
223
+ .reward(parentReward);
224
+ }
225
+ ```
226
+
227
+ The measurement is the Pot's balance after the parent program, not the program's own output figure: another action, or a donation, that leaves the same token in the Pot is measured too. The rest of the nested-intents guide — scale, floors, hash recovery — applies unchanged.
228
+
229
+ ## Runtime amounts
230
+
231
+ An `argument` action makes an amount a parameter of the compiled program instead of a value fixed at compile time, so one program serves every amount. The program's bytecode, and its hash, stay the same; the amounts travel as argument bytes appended to it.
232
+
233
+ ```ts
234
+ import { compileProgram } from "@eco-incorp/sauce/actions";
235
+
236
+ export function reusableApproval(token: `0x${string}`, spender: `0x${string}`) {
237
+ const compiled = compileProgram({
238
+ version: 1,
239
+ chainId: 1,
240
+ actions: [
241
+ { type: "argument", name: "amount" },
242
+ { type: "approve", token, spender },
243
+ ],
244
+ });
245
+
246
+ // The `program` argument of Pot.cook, for two different amounts, from one compile.
247
+ return [compiled.payload({ amount: 5n }), compiled.payload({ amount: "900000" })];
248
+ }
249
+ ```
250
+
251
+ Arguments are ABI-v1 by default: each is a 32-byte word, and `argumentOffset(name)` is where it starts in the payload. With `compileProgram(program, { compactArgs: true })` they are compact-v1, which is smaller; pass `{ scalarWidth: 32 }` to `payload` to encode every number at a fixed width, so `argumentOffset(name, { scalarWidth: 32 })` locates it. A fixed offset is what lets a caller splice a number measured later into a payload built earlier. The [compiler guide](compiling.md#pass-arguments-with-compact-v1) describes both encodings.
252
+
253
+ An intent route is compiled without arguments, so `programIntent` refuses a program that has them. Inside an intent, read a runtime amount on-chain with `balanceOf` instead.
254
+
255
+ ## Quotes and split swaps
256
+
257
+ `quoteAction(action, quoters)` returns the `eth_call` that prices a swap action at its own `amount` — `{ to, data, decode }`. Send it with a JSON-RPC client and pass the result to `decode` for the output amount. It needs no balance or allowance. Venues that price through a separate contract take its address in `quoters`: `uniswapV3Quoter` (QuoterV2), `uniswapV4Quoter`, `maverickQuoter`, `ambientImpact` (CrocImpact) and `fluidDexResolver`. Send the Balancer V3 quote from the zero address: its Vault answers a query only outside a transaction.
258
+
259
+ `compileSplitSwap({ candidates, amount, buckets, amountOutMin, approvals, sweep, quoters })` compiles one program that divides `amount` into `buckets` equal slices and hands each, in turn, to the candidate whose on-chain quote pays most for it, then executes every candidate's share. Candidates are ordinary swap actions without an amount; each delivers to the Pot. `amountOutMin` bounds the total output, checked once after every leg, and `"0"` waives it explicitly. A candidate must have an on-chain quote with a runtime amount, which every swap has except Uniswap V4, Balancer and Carbon.
260
+
261
+ ## What the compiled program does
262
+
263
+ Each action becomes an ABI-bound call, `IBinding.at(address).method(...)`, the same form an SDK route body compiles to; the compiler derives the selector and argument encoding from the ABI. Inspect the result with `compileProgram(program).source`:
264
+
265
+ ```js
266
+ const amt1 = ISwapRouter02.at(0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45n).exactInputSingle({
267
+ tokenIn: 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2n,
268
+ tokenOut: 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48n,
269
+ fee: 500n,
270
+ recipient: ctx.self(),
271
+ amountIn: t_out1,
272
+ amountOutMinimum: 3000000000n,
273
+ sqrtPriceLimitX96: 0n,
274
+ });
275
+ let v_usdc = amt1;
276
+ ```
277
+
278
+ - ABIs come from the SDK's protocol registry wherever it declares the exact function an action calls, and from a fragment in the actions package otherwise.
279
+ - A binding decodes only the outputs an action reads.
280
+ - ERC-20 `transfer` and `approve` follow OpenZeppelin `SafeERC20`, through the lowering every SDK token write uses. Tokens such as USDT return no `bool`, and decoding empty return data reverts, so the call is raw, with the amount spliced into calldata encoded ahead of time; its returndata must then be empty from a contract, or decode as an ABI word equal to `1`. A token that returns `false` or fewer than 32 bytes, or an address with no code, reverts the program. `approve` first reads the allowance and resets a non-zero one to zero, as `forceApprove` does, because USDT refuses to change one non-zero allowance to another.
281
+ - A call carrying native value (`wrapETH`, the staking deposits, the Stargate and Hyperlane fees) is a raw `evm.call`, because a bound call cannot attach value. Its selector comes from the same ABI fragment. The bridges' fees are quoted on-chain, just before the call that pays them, and come from the Pot's balance.
282
+ - Binding names start with `I` and contain no underscore, so they cannot collide with the route compiler's protocol namespaces or its own `IERC20`.
283
+
284
+ ## Supported actions
285
+
286
+ Every action below is executed in CI against the deployed Ethereum contracts it names, through the released engine and a real Pot, replayed from mainnet state at a pinned block — and its calldata is compared byte for byte with the intended Solidity call. "Output" is what a later action spends; see [chaining amounts](#chaining-amounts).
287
+
288
+ ### Swaps
289
+
290
+ | Action | Calls | Output |
291
+ | ----------------------------- | --------------------------------------------------------------------------------- | -------- |
292
+ | `uniswapV3ExactInput` | SwapRouter02 `exactInputSingle` | received |
293
+ | `uniswapV3ExactInputMultiHop` | SwapRouter02 `exactInput` | received |
294
+ | `uniswapV4ExactInput` | ERC-20 `transfer` to the Universal Router, then `execute` (swap, settle, take) | received |
295
+ | `uniswapV4ExactInputMultiHop` | The same, along a path | received |
296
+ | `curveSwap` | Pool `exchange(int128,int128,uint256,uint256)` | received |
297
+ | `curveRouterNGSwap` | RouterNG `exchange(address[11],uint256[5][5],uint256,uint256,address[5],address)` | received |
298
+ | `balancerV2Swap` | Vault `swap` | received |
299
+ | `balancerV2BatchSwap` | Vault `batchSwap` | received |
300
+ | `balancerV3Swap` | Router `swapSingleTokenExactIn`, pulling through Permit2 | received |
301
+ | `uniswapV2Swap` | Router `swapExactTokensForTokens` | received |
302
+ | `ambientSwap` | CrocSwapDex `userCmd(1, …)` | received |
303
+ | `dodoSwap` | DODO proxy `dodoSwapV2TokenToToken`, or `dodoSwapV1` with `"version": "v1"` | received |
304
+ | `maverickSwap` | Maverick V2 router `exactInputSingle` | received |
305
+ | `maverickMultiHopSwap` | Maverick V2 router `exactInputMultiHop` | received |
306
+ | `carbonSwap` | CarbonController `tradeBySourceAmount` | received |
307
+ | `fraxswapSwap` | Router `swapExactTokensForTokens` | received |
308
+ | `fluidDexT1Swap` | Pool `swapIn` | received |
309
+
310
+ ### Bridges
311
+
312
+ | Action | Calls | Output |
313
+ | ----------------- | -------------------------------------------------------- | ---------- |
314
+ | `acrossBridge` | SpokePool `depositV3`, the same token on the destination | its amount |
315
+ | `stargateBridge` | Stargate V2 pool `quoteSend`, then `send` (taxi) | its amount |
316
+ | `cctpBridge` | CCTP V2 TokenMessenger `depositForBurn` | its amount |
317
+ | `hyperlaneBridge` | Warp route `quoteGasPayment`, then `transferRemote` | its amount |
318
+
319
+ ### Wrapping and staking
320
+
321
+ | Action | Calls | Output |
322
+ | ------------------- | ---------------------------------------------------------- | ---------- |
323
+ | `wrapETH` | WETH `deposit`, with the amount as value | its amount |
324
+ | `unwrapETH` | WETH `withdraw` | its amount |
325
+ | `wrapStETH` | wstETH `wrap` | received |
326
+ | `unwrapStETH` | wstETH `unwrap` | received |
327
+ | `lidoStake` | stETH `submit`, with the amount as value | received |
328
+ | `lidoUnstake` | WithdrawalQueueERC721 `requestWithdrawals` | its amount |
329
+ | `rocketPoolStake` | RocketDepositPool `deposit`, with the amount as value | received |
330
+ | `rocketPoolUnstake` | rETH `burn` | received |
331
+ | `etherFiStake` | ether.fi LiquidityPool `deposit`, with the amount as value | received |
332
+
333
+ ### Lending
334
+
335
+ | Action | Calls | Output |
336
+ | -------------------- | ----------------------------- | ---------- |
337
+ | `aaveV3Supply` | Pool `supply` | its amount |
338
+ | `aaveV3Withdraw` | Pool `withdraw` | received |
339
+ | `aaveV3Borrow` | Pool `borrow` (variable rate) | its amount |
340
+ | `aaveV3Repay` | Pool `repay` (variable rate) | its amount |
341
+ | `compoundV3Supply` | Comet `supply` | its amount |
342
+ | `compoundV3Withdraw` | Comet `withdraw` | its amount |
343
+
344
+ ### Tokens and sources
345
+
346
+ | Action | Calls | Output |
347
+ | ---------------- | ------------------------------------------------------- | -------------- |
348
+ | `transfer` | ERC-20 `transfer`, checked like `SafeERC20` | its amount |
349
+ | `approve` | ERC-20 `approve`, reset and checked like `forceApprove` | its amount |
350
+ | `permit2Approve` | Permit2 `approve(address,address,uint160,uint48)` | its amount |
351
+ | `balanceOf` | ERC-20 `balanceOf(Pot)` | the value read |
352
+ | `nativeBalance` | The Pot's native balance | the value read |
353
+ | `argument` | A runtime parameter of the program | the value read |
354
+
355
+ ### Notes
356
+
357
+ - **Approvals.** A venue that pulls from the Pot needs an approval first; the field docs in the schema say which. DODO pulls through its DODOApprove contract, not the proxy. Balancer V3's router pulls through Permit2: `approve` the token to Permit2, then `permit2Approve` the router. A Hyperlane warp route that charges a fee pulls the amount plus the fee, so approve more than the amount.
358
+ - **Uniswap V4** transfers the input to the Universal Router and settles from the router's balance, so the input must be an ERC-20; native ETH input is not supported.
359
+ - **Curve `curveSwap`** calls the pool's 4-argument `exchange`, which older pools implement without a return value; the pool pays the Pot, which forwards the balance delta to `recipient`.
360
+ - **Balancer V2 batch** amounts are per step: a later step's `"0"` spends the previous step's output.
361
+ - **Across** deposits from the Pot, which is refunded if no relayer fills; the relayer keeps `relayerFee`, so the destination receives `amount - relayerFee`. `quoteTimestamp` must be within the SpokePool's quote buffer of the block time, and `fillDeadline` within its fill buffer.
362
+ - **Stargate** sends in taxi mode and refunds the Pot. **CCTP** lets anyone relay the mint (`destinationCaller` is zero); `maxFee` defaults to `"0"` and `minFinalityThreshold` to 2000, a standard transfer.
363
+ - **Lido withdrawals** mint the withdrawal NFT to `owner`, which claims the ETH once Lido finalizes it.
364
+ - **Rocket Pool** upgrades move the deposit pool: read the live address from RocketStorage. rETH refuses to move in the block it was minted in, so a program cannot stake and then transfer or burn the same rETH.
365
+ - **Maverick** V2's router is `0x62e31802c6145A2D5E842EeD8efe01fC224422fA` on Ethereum. A multi-hop `path` is, per hop, the pool's 20 bytes followed by one byte for `tokenAIn`.
366
+ - **Fluid DEX T1** takes no native value from this action, so it sells the pool's ERC-20 side (for the wstETH/ETH pool, wstETH for ETH), pulling it by allowance.
367
+
368
+ ### On Arc
369
+
370
+ Arc (`chainId` 5042) pays gas in USDC, which is also the ERC-20 at
371
+ `0x3600000000000000000000000000000000000000`: one balance, 18 decimals natively and 6 through the
372
+ ERC-20 ([details](../api/coverage.md#arc-usdc-is-the-native-coin)). Actions take every address and
373
+ domain as a field, so nothing here is per chain, but a program on Arc is checked for what that
374
+ changes:
375
+
376
+ - `wrapETH`, `unwrapETH`, `lidoStake`, `rocketPoolStake` and `etherFiStake` are rejected: Arc has no
377
+ native ETH and no canonical wrapped native. Its registry `WETH` is bridged ETH. So is
378
+ `balancerV3Swap` with `wethIsEth: true`.
379
+ - A `nativeBalance` that a token action spends is rejected: it is 10¹² times the same balance read
380
+ by `balanceOf` of `0x3600…0000`. Read that instead.
381
+ - The Hyperlane fee is native value, so on Arc it is USDC, paid from the balance the bridged USDC
382
+ also comes from. A `hyperlaneBridge` of the Pot's whole USDC balance cannot also pay its fee:
383
+ bridge less. Hyperlane's CCTP-backed USDC warp route on Arc,
384
+ `0x16BF93e259ee7f7074453a2948379C35C6851b71`, quoted about 0.054 USDC to Base on 2026-09-28.
385
+
386
+ What the registry has on Arc for these actions: Uniswap V2, V3 and V4 (`uniswapV2Swap`,
387
+ `uniswapV3ExactInput`, `uniswapV4ExactInput` and their multi-hop forms), CCTP (`cctpBridge`; Arc is
388
+ domain 26), Across (`acrossBridge`, ERC-20 deposits; Arc's SpokePool has no wrapped native token), and
389
+ Permit2. It has no Arc deployment of Curve, Balancer, DODO, Maverick, Fluid, Carbon, Fraxswap,
390
+ Ambient, Aave V3, Compound V3, Stargate, Lido, Rocket Pool or ether.fi. The CI runs above replay
391
+ Ethereum; no action is executed against Arc.
392
+
393
+ ## TypeScript types
394
+
395
+ Every type is the JSON it describes. `ActionProgram` is the document, `Action` the union of every action, `ActionType` its `type`, and each action has its own interface (`UniswapV3ExactInputAction`, `AaveV3SupplyAction`, …), grouped as `SwapAction`, `BridgeAction`, `WrapAction`, `StakeAction`, `LendingAction`, `TokenAction` and `SourceAction`. A program typed in TypeScript is already valid input for `serializeProgram`, and `parseProgram` returns the same shape it accepts.
@@ -1,8 +1,14 @@
1
- # Builders and actions
1
+ # Builders
2
2
 
3
3
  [Documentation](../README.md) · [Protocol calls](protocols-and-tokens.md) · [Compiler](../api/compiler.md)
4
4
 
5
- The SDK provides host-language builders for applications that construct programs from data. Token, swap, and deposit builders produce SauceScript source. The actions package accepts a sequence of routing actions and can produce either source or compiled EVM bytecode. None of these builders selects a market route or submits a transaction.
5
+ Sometimes a program is not something you write — it is something your application assembles from
6
+ data it already has: a token and an amount, a pool and a direction, a vault and a deposit. The
7
+ builders on this page take that data and emit SauceScript source you compile like any other program.
8
+
9
+ They emit source. They do not pick a market route, quote a price, or send anything. The ABIs that
10
+ source imports ship inside the SDK, and route compilation serves them itself, so the output compiles
11
+ with no resolver option.
6
12
 
7
13
  ## Token operations
8
14
 
@@ -19,12 +25,26 @@ export function compileTokenTransfer(
19
25
  ) {
20
26
  const operation = token.Token.transfer({ token: asset, to: recipient, amount });
21
27
  const program = operation.toSauceScript("evm");
22
- return routes.compileSauceRoute("base", program.source, execution, {
23
- baseDirs: [...program.baseDirs],
24
- });
28
+ return routes.compileSauceRoute("base", program.source, execution);
25
29
  }
26
30
  ```
27
31
 
32
+ Every token WRITE these builders emit — and every one the SDK emits anywhere — carries OpenZeppelin
33
+ `SafeERC20` semantics. The call goes out as raw calldata, so nothing decodes a `bool` a token like
34
+ USDT never returns, and the result is then checked: empty returndata is accepted only from an
35
+ address that has code, and anything else must decode as an ABI word equal to `1`. A token that
36
+ returns `false` reverts rather than passing silently, and so do a write to an address with no code
37
+ and a return shorter than one ABI word. `approve` adds `forceApprove`'s reset — it reads the current
38
+ allowance and zeroes it first when it is non-zero, which USDT requires and a shared Pot makes
39
+ likely. The `@sauce/token` functions a program calls directly (`transfer`, `transferFrom`,
40
+ `approve`) behave the same way, and so does the route-body syntax — `USDC.transfer(...)`,
41
+ `Token(address).approve(...)` — which compiles to those functions. Only an ABI binding you write
42
+ yourself, `IERC20.at(address).transfer(...)`, is the raw unchecked call; see
43
+ [protocols and tokens](protocols-and-tokens.md#writes-follow-safeerc20).
44
+
45
+ The visible consequence is that a literal amount is encoded into the calldata rather than appearing
46
+ as a decimal in the emitted source.
47
+
28
48
  `TokenCall.toCall()` instead returns `{ target, data, value }` for a fixed EVM call. Values that require runtime state, such as `amount: "balance"` or balance owner `"self"`, must be compiled. `.statement(target)` emits a transfer/approval statement; `.expression(target)` emits a balance read. `Token.program(specs, { target })` combines several operations into one program.
29
49
 
30
50
  Use `Token.approve({ token, spender, amount })` for approvals and `Token.balanceOf({ token, owner })` for reads. SVM specs name account references instead of ERC-20 addresses; see [Solana](solana.md).
@@ -37,9 +57,7 @@ Use `Token.approve({ token, spender, amount })` for approvals and `Token.balance
37
57
  import { routes, swap } from "@eco-incorp/sauce";
38
58
 
39
59
  export function compileSwap(spec: swap.SwapSourceSpec, execution: routes.SauceEvmExecutionInput) {
40
- return routes.compileSauceRoute("base", swap.swapSource(spec), execution, {
41
- baseDirs: [...swap.SWAP_BASE_DIRS],
42
- });
60
+ return routes.compileSauceRoute("base", swap.swapSource(spec), execution);
43
61
  }
44
62
  ```
45
63
 
@@ -67,42 +85,21 @@ export function compileSupply(
67
85
  token: asset,
68
86
  amount,
69
87
  });
70
- return routes.compileSauceRoute("base", source, execution, {
71
- baseDirs: [...deposit.DEPOSIT_BASE_DIRS],
72
- });
88
+ return routes.compileSauceRoute("base", source, execution);
73
89
  }
74
90
  ```
75
91
 
76
92
  The default approval policy is `"exact"`; `"none"` assumes an existing allowance, and `"max"` grants the maximum allowance. The default beneficiary is the executing contract where the protocol supports it. Native-funded templates require value in the executing Pot and use a call carrying native value.
77
93
 
78
- `amount: "balance"` reads the executing Pot's balance: native ETH for native-funded templates, the WETH `target` for unwrapping, or the supplied `token` for other templates. `deposit.swapThenDepositSource(...)` composes swaps and deposits and also supports `amount: "delta"` for the increase in that balance across the swap block. Standalone deposit source cannot use `"delta"` because it lacks the pre-swap snapshot. Use `deposit.COMPOSED_BASE_DIRS` when compiling composed source.
94
+ `amount: "balance"` reads the executing Pot's balance: native ETH for native-funded templates, the WETH `target` for unwrapping, or the supplied `token` for other templates. `deposit.swapThenDepositSource(...)` composes swaps and deposits and also supports `amount: "delta"` for the increase in that balance across the swap block. Standalone deposit source cannot use `"delta"` because it lacks the pre-swap snapshot.
95
+
96
+ On Arc the native coin is USDC at 18 decimals, and it is also the 6-decimal ERC-20 at `0x3600…0000`; a native-funded template's `"balance"` is that 18-decimal figure. Arc has no canonical wrapped native, so the `weth` templates have nothing to target there: `toDeposit` rejects Arc's `USDC` and its registry tokens, whose `WETH` is bridged ETH, as a `weth` target. See [Arc: USDC is the native coin](../api/coverage.md#arc-usdc-is-the-native-coin).
79
97
 
80
98
  For Aave/Spark withdrawals, use a fixed underlying-asset amount or `amount: "max"` to withdraw the full position. `"balance"` and `"delta"` read the underlying token held by the Pot, not its supplied position, and should not size a withdrawal.
81
99
 
82
100
  ## Routing actions
83
101
 
84
- Import actions from the published package's `/actions` subpath:
85
-
86
- ```ts
87
- import { actionsToSauce, actionsToSauceSource } from "@eco-incorp/sauce/actions";
88
- import type { RoutingAction } from "@eco-incorp/sauce/actions";
89
-
90
- export function buildRoutingProgram(actions: readonly RoutingAction[]) {
91
- return {
92
- source: actionsToSauceSource(actions),
93
- bytecode: actionsToSauce(actions),
94
- };
95
- }
96
- ```
97
-
98
- Action variants cover protocol swaps, bridges, wrapping, staking, lending, transfers, and approvals. Each discriminated action specifies concrete addresses and protocol parameters. Keep all actions in a program compatible with the chain where it executes; a `chainId` field does not turn a program into cross-chain execution.
99
-
100
- Amount resolution uses this precedence:
101
-
102
- 1. An explicit amount on the action.
103
- 2. `amountRef`, naming a previously saved output.
104
- 3. The immediately preceding action's output, for implicit chaining.
105
-
106
- Set `saveOutputAs` on an action to name its output for later reuse. Saving an output or implicitly chaining the next action can direct the output to the executing Pot and capture it once. Independent actions retain their configured recipients. Quote helpers such as `actionToQuote` construct protocol quote calls; the application performs and interprets the RPC simulation.
107
-
108
- `actionsToSauce` returns a single `Uint8Array`. To put already compiled EVM bytecode into a route, convert it to hex (for example, with Viem's `bytesToHex`) and use `routes.buildSauceEvmCall({ pot, engine, program })`; see the [Routes API](../api/routes.md). To produce an Eco cross-chain intent, build the destination program and use the [intent builder](intents.md).
102
+ Higher-level routing actions — swaps, bridges, wraps, stakes, and the chaining between them — live
103
+ behind the package's `/actions` subpath and are documented in [Actions](actions.md). An action
104
+ program is plain JSON that compiles to one program; `programIntent(program, options)` makes it
105
+ the route of an [intent](intents.md) directly.