@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
@@ -1,84 +1,219 @@
1
1
  /**
2
- * ERC20 token member rewrite -- two rewrites sharing one acorn parse, one shadow computation, and
3
- * one reverse-ordered textual splice over the ORIGINAL source (U4's own technique):
2
+ * ERC-20 token syntax in a route body, lowered before the compiler sees it.
4
3
  *
5
- * U4 (call position): `<Sym>.transfer/.approve/.balanceOf(...)` -> `IERC20.at(<Sym>).<method>(...)`
6
- * sugar (value position): `<holder>.<Sym>` -> `IERC20.at(<addr>n).balanceOf(<holder>)`
4
+ * Two passes, each one acorn parse and one reverse-ordered textual splice over its input:
7
5
  *
8
- * `<Sym>` in both is a name in `tokens` (the chain's resolved token-address map -- see
9
- * `token-registry.ts#resolveTokenMap`, the DEFAULT source; a caller may still pass a bare
10
- * `ReadonlySet<string>` of symbols with no addresses, which runs U4 only -- see the signature doc).
6
+ * `rewriteTokenMembers` — a registry token SYMBOL:
7
+ * writes (call position): `<Sym>.transfer/.approve/.transferFrom(...)` -> `@sauce/token`'s function
8
+ * read (call position): `<Sym>.balanceOf(...)` -> `IERC20.at(<Sym>).balanceOf(...)`
9
+ * sugar (value position): `<holder>.<Sym>` -> `IERC20.at(<addr>n).balanceOf(<holder>)`
11
10
  *
12
- * RECOGNITION IS DISJOINT BY CONSTRUCTION, not by priority ordering: U4 needs `<Sym>` as the member
13
- * chain's HEAD with a REWRITABLE_METHODS member under a CALL parent; the sugar needs `<Sym>` as the
14
- * MEMBER with a non-call, non-lvalue parent and an authorized HOLDER as the object. A token symbol
15
- * can never simultaneously satisfy both shapes for the same node, so the two passes' site lists
16
- * never overlap and can be spliced together with a single reverse-ordered pass. `USDC.balanceOf(x)`
17
- * is U4's (and `token-registry.ts`'s module-eval guard -- no registry symbol may equal a
18
- * REWRITABLE_METHODS name -- is what keeps that permanent); `x.USDC` is the sugar's; `USDC.WETH` is
19
- * neither's (left untouched -- see the sugar's holder-rejection rule below).
11
+ * `rewriteTokenFactory` — the `Token(<addr>)` wrapper, for any address:
12
+ * `Token(<addr>).<write>(...)`, and `t.<write>(...)` on `const t = Token(<addr>)` -> `@sauce/token`
13
+ * `Token(<addr>).<read>(...)`, and `t.<read>(...)` likewise -> `IERC20.at(...)`
20
14
  *
21
- * Shadowing-aware, CONSERVATIVELY, on the TOKEN name only (both rewrites): SauceScript shares scope
22
- * across `if`/`while`/bare-block bodies (the real compiler's `processIfStatement`/
23
- * `processWhileStatement` never push a new scope -- see this repo's CLAUDE.md's repeated shadow-fix
24
- * notes), so a name first `let`/`const`-declared inside a branch is NOT block-scoped away once the
25
- * branch ends. Rather than re-deriving that exact position-sensitive rule, this pass is
26
- * deliberately coarser and still sound: if a name anywhere in the WHOLE program is
27
- * `let`/`const`-declared or is a function parameter, EVERY occurrence of that name anywhere in the
28
- * program is left un-rewritten. The sugar's HOLDER name is deliberately NOT shadow-checked -- a
29
- * local variable IS the intended holder.
15
+ * EVERY WRITE IS OPENZEPPELIN `SafeERC20`. A write lowers to the `@sauce/token` library function
16
+ * of the same name, with the token moved to the front: `USDC.transfer(to, amount)` becomes
17
+ * `transfer(USDC, to, amount)`. That function is the SDK's one implementation of a token write —
18
+ * empty returndata accepted only from an address with code, anything else decoded as a word that
19
+ * must equal 1, and `approve` as `forceApprove` (see `std/token/token.evm.js`). The typed
20
+ * `IERC20.at(t).transfer(...)` this used to emit decodes the ABI's declared `bool`, so it reverted
21
+ * the whole program on a token that returns nothing (USDT) and accepted one that returns `false`.
22
+ * The reads keep the typed binding: a `uint256` is always returned, so there is nothing to check.
30
23
  *
31
- * A method name outside the three-op allowlist (U4), or an unresolvable/rejected holder (sugar), is
32
- * left completely untouched -- it fails closed at compile (an ordinary compile error), never a new
33
- * failure mode this pass introduces. This is the isolation half of the design: a token symbol in
34
- * MEMBER position is indistinguishable from an ordinary struct-field read, so this pass does not
35
- * OWN it and must never clobber a genuine member access.
24
+ * The library is imported under the names in `SAFE_WRITES` (`import { transfer as
25
+ * __sauce_transfer } from "@sauce/token"`), never its own, so a program that declares its own
26
+ * `transfer` keeps it. `tokenImportLines` renders the imports a rewrite needs; the caller prepends
27
+ * them, because both passes run over one source and must share one import block. `@sauce/token`
28
+ * resolves inside the SDK (`embedded/resolve.ts`), so no caller resolver has to serve it.
29
+ *
30
+ * An explicit `IERC20.at(addr).transfer(...)` is NOT this syntax and is left alone: it is the raw
31
+ * ABI call, the escape hatch for a caller who wants exactly that, and it is not `SafeERC20`.
32
+ *
33
+ * RECOGNITION IS DISJOINT BY CONSTRUCTION, not by priority ordering: a symbol write or read needs
34
+ * `<Sym>` as the member chain's HEAD with a REWRITABLE_METHODS member under a CALL parent; the
35
+ * balance sugar needs `<Sym>` as the MEMBER with a non-call, non-lvalue parent and an authorized
36
+ * HOLDER as the object. A token symbol can never satisfy both shapes for the same node, so the site
37
+ * lists never overlap. `USDC.balanceOf(x)` is the read's (and `token-registry.ts`'s module-eval
38
+ * guard -- no registry symbol may equal a REWRITABLE_METHODS name -- keeps that permanent);
39
+ * `x.USDC` is the sugar's; `USDC.WETH` is neither's (left untouched -- see the holder rule below).
40
+ *
41
+ * Shadowing-aware, CONSERVATIVELY, on the TOKEN name only: if a name anywhere in the WHOLE program
42
+ * is bound (`let`/`const`, a parameter, an import, ...), EVERY occurrence of it is left un-rewritten,
43
+ * rather than re-deriving the compiler's own scoping rules. A user who declares `USDC` or `Token`
44
+ * owns the name. The sugar's HOLDER name is deliberately NOT shadow-checked -- a local variable IS
45
+ * the intended holder.
46
+ *
47
+ * A symbol method outside REWRITABLE_METHODS, or an unresolvable holder, is left untouched and fails
48
+ * closed at compile. A `Token(...)` call in any position this module cannot lower is REFUSED with an
49
+ * error naming the spellings that work — never passed through as the typed binding, which would
50
+ * quietly be the unchecked write again.
36
51
  */
37
52
  import * as acorn from "acorn";
38
- import { walk, collectDeclaredNames } from "./ast-walk.js";
53
+ import { walk, collectDeclaredNames, countDeclarations } from "./ast-walk.js";
39
54
  import { formatBigint } from "../deposit/format.js";
55
+ import { ERC20_IMPORT_LINE } from "../token/evm.js";
40
56
  import { isChainKey, resolveNamespace } from "./accessor-index.js";
57
+ /**
58
+ * The ERC-20 writes the token syntax offers: each lowers to the `@sauce/token` function of the same
59
+ * name, imported under `local`, with the token as its first argument ahead of `params`.
60
+ */
61
+ export const SAFE_WRITES = {
62
+ transfer: { local: "__sauce_transfer", params: ["to", "amount"] },
63
+ approve: { local: "__sauce_approve", params: ["spender", "amount"] },
64
+ transferFrom: { local: "__sauce_transferFrom", params: ["from", "to", "amount"] },
65
+ };
66
+ /** Every method the SYMBOL syntax lowers: the writes, plus the one read it has always offered. */
41
67
  export const REWRITABLE_METHODS = new Set([
42
68
  "transfer",
43
69
  "approve",
70
+ "transferFrom",
44
71
  "balanceOf",
45
72
  ]);
73
+ const isSafeWrite = (method) => Object.hasOwn(SAFE_WRITES, method);
74
+ /** The package every write is lowered to. */
75
+ const STD_TOKEN = "@sauce/token";
76
+ /**
77
+ * The import lines a rewritten source needs, for the caller to prepend. The order is fixed, so a
78
+ * given program always gets the same text and so the same bytecode.
79
+ */
80
+ export function tokenImportLines({ writes, erc20 }) {
81
+ const lines = [];
82
+ if (erc20)
83
+ lines.push(ERC20_IMPORT_LINE);
84
+ const used = Object.keys(SAFE_WRITES).filter((write) => writes.has(write));
85
+ if (used.length > 0) {
86
+ const names = used.map((write) => `${write} as ${SAFE_WRITES[write].local}`).join(", ");
87
+ lines.push(`import { ${names} } from "${STD_TOKEN}";`);
88
+ }
89
+ return lines;
90
+ }
91
+ /** Splice from the end backward so earlier offsets stay valid. The ranges never overlap: a write
92
+ * only replaces the text BEFORE its first argument, so a site nested inside the arguments is
93
+ * spliced independently. */
94
+ function applySplices(source, splices) {
95
+ let out = source;
96
+ for (const site of [...splices].sort((a, b) => b.start - a.start)) {
97
+ out = out.slice(0, site.start) + site.replacement + out.slice(site.end);
98
+ }
99
+ return out;
100
+ }
101
+ function parse(source) {
102
+ // sourceType "module": a source may already carry its own `import` lines.
103
+ return acorn.parse(source, { ecmaVersion: "latest", sourceType: "module" });
104
+ }
105
+ /** A child node the node's type guarantees is there (`id` on a declarator, `left` on an
106
+ * assignment, ...). */
107
+ function child(node, key) {
108
+ return node[key];
109
+ }
46
110
  function tokenAddressOf(tokens, symbol) {
47
111
  return tokens instanceof Map ? tokens.get(symbol) : undefined;
48
112
  }
49
- // -- U4: <Sym>.transfer/.approve/.balanceOf(...) in CALL position ---------------------------------
50
- function collectMemberCallSites(program, tokens, shadowed) {
113
+ /** `<object>.<method>(...)`, non-computed and non-optional, or `undefined` for any other node. */
114
+ function methodCall(node) {
115
+ if (node.type !== "CallExpression" || node.optional)
116
+ return undefined;
117
+ const callee = node.callee;
118
+ if (!callee || callee.type !== "MemberExpression")
119
+ return undefined;
120
+ if (callee.computed)
121
+ return undefined;
122
+ if (callee.optional)
123
+ return undefined;
124
+ const object = callee.object;
125
+ const property = callee.property;
126
+ if (!object || property?.type !== "Identifier")
127
+ return undefined;
128
+ return {
129
+ call: node,
130
+ callee,
131
+ object,
132
+ method: property.name,
133
+ };
134
+ }
135
+ /** Every call that is a whole statement on its own — the only place a write can stand. */
136
+ function statementCalls(program) {
137
+ const calls = new Set();
138
+ walk(program, (n) => {
139
+ if (n.type === "ExpressionStatement")
140
+ calls.add(child(n, "expression"));
141
+ });
142
+ return calls;
143
+ }
144
+ /**
145
+ * A write's arguments, checked against the ERC-20 signature so a wrong count is reported in the
146
+ * terms the caller wrote rather than as the library function's arity.
147
+ *
148
+ * Also refuses a write whose result is read. The typed call returned the ABI's `bool`; a SafeERC20
149
+ * write returns nothing, because it reverts the program unless the token accepted it — there is no
150
+ * `false` left to report. Left to the compiler, this would fail on a `: void` function the caller
151
+ * never wrote.
152
+ */
153
+ function writeArguments(call, method, receiver, statements) {
154
+ const spelling = `\`${receiver}.${method}(...)\``;
155
+ if (!statements.has(call)) {
156
+ throw new Error(`${spelling} returns nothing, so its result cannot be used: a token write has SafeERC20 ` +
157
+ "semantics and reverts the program unless the token accepted it. Call it as a statement.");
158
+ }
159
+ const args = call.arguments ?? [];
160
+ const { params } = SAFE_WRITES[method];
161
+ if (args.length !== params.length || args.some((arg) => arg.type === "SpreadElement")) {
162
+ throw new Error(`${spelling} takes ${params.length} arguments (${params.join(", ")}), got ${args.length}.`);
163
+ }
164
+ return args;
165
+ }
166
+ /** A name the lowering imports under is the SDK's; a program that declares it cannot also get it. */
167
+ function assertLocalsFree(declared, writes) {
168
+ for (const write of writes) {
169
+ const { local } = SAFE_WRITES[write];
170
+ if (declared.has(local)) {
171
+ throw new Error(`\`${local}\` is reserved: a token's \`.${write}(...)\` is lowered to \`${STD_TOKEN}\`'s ` +
172
+ `\`${write}\`, imported under that name. Rename your \`${local}\`.`);
173
+ }
174
+ }
175
+ }
176
+ /** `<receiver>.<write>(a, b)` -> `<local>(<receiver>, a, b)`, for a receiver that is a name. */
177
+ function nameWriteSplice(site, name, statements) {
178
+ const method = site.method;
179
+ const [first] = writeArguments(site.call, method, name, statements);
180
+ return {
181
+ start: site.callee.start,
182
+ end: first.start,
183
+ replacement: `${SAFE_WRITES[method].local}(${name}, `,
184
+ };
185
+ }
186
+ // -- <Sym>.<method>(...) in CALL position --------------------------------------------------------
187
+ /** The symbol call sites, split by what they lower to: `writes` records each `@sauce/token` write
188
+ * used, and `reads` counts the sites left on the typed `IERC20` binding. */
189
+ function collectMemberCallSites(program, tokens, shadowed, writes) {
51
190
  const sites = [];
191
+ const statements = statementCalls(program);
192
+ let reads = 0;
52
193
  walk(program, (n) => {
53
- if (n.type !== "CallExpression")
54
- return;
55
- const callee = n.callee;
56
- if (!callee || callee.type !== "MemberExpression")
57
- return;
58
- const object = callee.object;
59
- const property = callee.property;
60
- const computed = callee.computed;
61
- if (computed)
62
- return; // `TOKEN["transfer"]` is out of scope for this narrow rewrite
63
- if (!object || object.type !== "Identifier")
194
+ const site = methodCall(n);
195
+ if (!site || site.object.type !== "Identifier")
64
196
  return;
65
- if (!property || property.type !== "Identifier")
66
- return;
67
- const symbol = object.name;
68
- const method = property.name;
197
+ const symbol = site.object.name;
69
198
  if (!tokens.has(symbol))
70
199
  return;
71
200
  if (shadowed.has(symbol))
72
201
  return;
73
- if (!REWRITABLE_METHODS.has(method))
202
+ if (!REWRITABLE_METHODS.has(site.method))
203
+ return;
204
+ if (isSafeWrite(site.method)) {
205
+ sites.push(nameWriteSplice(site, symbol, statements));
206
+ writes.add(site.method);
74
207
  return;
208
+ }
75
209
  sites.push({
76
- start: callee.start,
77
- end: callee.end,
78
- replacement: `IERC20.at(${symbol}).${method}`,
210
+ start: site.callee.start,
211
+ end: site.callee.end,
212
+ replacement: `IERC20.at(${symbol}).${site.method}`,
79
213
  });
214
+ reads++;
80
215
  });
81
- return sites;
216
+ return { sites, reads };
82
217
  }
83
218
  // -- balance sugar: <holder>.<Sym> in VALUE position -----------------------------------------------
84
219
  const HEX_ADDRESS_LITERAL_RE = /^0x[0-9a-fA-F]{40}n?$/;
@@ -174,101 +309,234 @@ function collectBalanceSites(program, tokens, shadowed, excluded, source) {
174
309
  });
175
310
  return sites;
176
311
  }
177
- // -- Token(addr) factory: Token(<expr>) -> IERC20.at(<expr>) in ANY position ----------------------
312
+ // -- Token(addr): the wrapper, in call-receiver and binding position ------------------------------
178
313
  /** The DSL's global token WRAPPER name. */
179
314
  export const TOKEN_FACTORY_NAME = "Token";
315
+ function isFactoryCall(node) {
316
+ if (node.type !== "CallExpression" || node.optional)
317
+ return false;
318
+ const callee = node.callee;
319
+ return (callee?.type === "Identifier" &&
320
+ callee.name === TOKEN_FACTORY_NAME);
321
+ }
322
+ /** The single address argument of a `Token(...)` call. */
323
+ function factoryArgument(call) {
324
+ const args = call.arguments ?? [];
325
+ if (args.length !== 1 || args[0].type === "SpreadElement") {
326
+ throw new Error(`\`${TOKEN_FACTORY_NAME}(...)\` takes one argument, the token's address; got ${args.length}.`);
327
+ }
328
+ return args[0];
329
+ }
330
+ /** The refusal for a `Token(...)` this module cannot lower, naming the spellings that work. */
331
+ function refuseFactory(what) {
332
+ return new Error(`${what}. \`${TOKEN_FACTORY_NAME}(addr)\` is supported as the receiver of a call ` +
333
+ `(\`${TOKEN_FACTORY_NAME}(addr).transfer(to, amount)\`) or bound once to a local that is only ` +
334
+ `ever called (\`const t = ${TOKEN_FACTORY_NAME}(addr); t.approve(spender, amount)\`). Those, ` +
335
+ `\`<SYMBOL>.transfer(...)\` and \`${STD_TOKEN}\`'s \`transfer(token, to, amount)\` are the ` +
336
+ "token writes with SafeERC20 semantics; `IERC20.at(addr).transfer(...)` is the raw, " +
337
+ "unchecked ABI call.");
338
+ }
180
339
  /**
181
- * Rewrites every `Token(<expr>)` call to `IERC20.at(<expr>)` — the DSL's global token WRAPPER, the
182
- * `Token(addr)` sibling of the `<Sym>.transfer(...)` sugar above. This is what makes
183
- * `Token(addr).approve(spender, amt)` and `let t = Token(addr); t.approve(...)` compile in a route
184
- * body with no import: only the callee `Token` is replaced, so the result is the ordinary
185
- * `IERC20.at(addr)` binding the compiler already supports — it never sees a method call on a
186
- * `Token(...)` result (which the compiler's M1 subset rejects). Fires on ANY argument (a literal, a
187
- * variable, an ambient `USDC` define), so — unlike the symbol sugar — it does NOT depend on the
188
- * token-symbol map, and works on every EVM chain including registry-less ones.
340
+ * The `t.<method>(...)` calls of `const t = Token(...)`, or a refusal when `t` is anything other
341
+ * than one binding used only that way.
189
342
  *
190
- * Shadow-safe: a user who declares their own `Token` anywhere in the program owns the name, and
191
- * EVERY `Token(...)` call is then left untouched — the same conservative whole-program rule the
192
- * symbol rewrite applies. `collectDeclaredNames` decides that, and it covers every binding form,
193
- * `import { Token }` and `class Token` included: an imported `Token` is the user's own by any
194
- * reading, and rewriting past it would silently redirect their call to an ERC20 they never named.
195
- * Purely textual, acorn-range-driven, like the rest of this module.
343
+ * The conditions are what make replacing the binding's VALUE with the address sound: declared
344
+ * exactly once in the whole program (so every `t` is this `t`), never assigned, and never read
345
+ * except as a call receiver (so nothing sees the value change from a contract binding to an
346
+ * address). Whole-program, like the shadow rule, rather than scope-exact: over-refusing is an error
347
+ * a caller can act on, while under-refusing would lower a call on some other `t`.
348
+ */
349
+ function bindingCalls(program, declarator, name, declarations) {
350
+ const at = `\`${name} = ${TOKEN_FACTORY_NAME}(...)\``;
351
+ if ((declarations.get(name) ?? 0) !== 1) {
352
+ throw refuseFactory(`${at}: \`${name}\` is declared more than once`);
353
+ }
354
+ const receivers = new Map();
355
+ // Identifiers that are a NAME rather than a read of the variable: the declaration itself, a
356
+ // member property (`x.t`), and a non-shorthand object key (`{ t: 1 }`).
357
+ const names = new Set([child(declarator, "id")]);
358
+ const assigned = new Set();
359
+ walk(program, (n) => {
360
+ const site = methodCall(n);
361
+ if (site?.object.type === "Identifier" && site.object.name === name) {
362
+ receivers.set(site.object, site);
363
+ }
364
+ if (n.type === "MemberExpression" && !n.computed) {
365
+ names.add(child(n, "property"));
366
+ }
367
+ if (n.type === "Property") {
368
+ const { computed, shorthand } = n;
369
+ if (!computed && !shorthand)
370
+ names.add(child(n, "key"));
371
+ }
372
+ if (n.type === "AssignmentExpression")
373
+ walk(child(n, "left"), (m) => assigned.add(m));
374
+ if (n.type === "UpdateExpression")
375
+ assigned.add(child(n, "argument"));
376
+ });
377
+ walk(program, (n) => {
378
+ if (n.type !== "Identifier" || n.name !== name)
379
+ return;
380
+ if (names.has(n) || receivers.has(n))
381
+ return;
382
+ throw refuseFactory(assigned.has(n)
383
+ ? `${at}: \`${name}\` is reassigned`
384
+ : `${at}: \`${name}\` is used other than as \`${name}.<method>(...)\``);
385
+ });
386
+ return [...receivers.values()];
387
+ }
388
+ /**
389
+ * Lowers every `Token(<expr>)` — the DSL's global token WRAPPER, the any-address sibling of the
390
+ * symbol syntax above. It fires on ANY argument (a literal, a variable, an ambient `USDC` define),
391
+ * so it does not depend on the token-symbol map and works on every EVM chain.
392
+ *
393
+ * Two positions are lowered, and the compiler never sees a method call on a `Token(...)` result
394
+ * (which its M1 subset rejects):
395
+ *
396
+ * - `Token(a).<write>(x, y)` -> `<local>(a, x, y)`, the `@sauce/token` write; `Token(a).<read>(x)`
397
+ * -> `IERC20.at(a).<read>(x)`.
398
+ * - `const t = Token(a)` -> `const t = a`, with each `t.<method>(...)` lowered the same way, by
399
+ * name. The binding now holds the ADDRESS, evaluated once where it was, so a later change to
400
+ * whatever `a` read cannot reach the calls. See `bindingCalls` for when a binding qualifies.
401
+ *
402
+ * Any other `Token(...)` — an argument, a return value, a reassigned or passed-around binding — is
403
+ * refused rather than left as the typed binding, which would be the unchecked write again.
404
+ *
405
+ * Shadow-safe: a user who binds `Token` anywhere in the program owns the name, and EVERY
406
+ * `Token(...)` is then left untouched — the same whole-program rule the symbol rewrite applies,
407
+ * covering every binding form, `import { Token }` and `class Token` included.
196
408
  */
197
409
  export function rewriteTokenFactory(source) {
410
+ const none = {
411
+ source,
412
+ rewrote: false,
413
+ sites: 0,
414
+ writes: new Set(),
415
+ erc20: false,
416
+ };
198
417
  // Cheap bail before parsing: no `Token` token, nothing to do (a mention in a comment/string still
199
418
  // parses, but that is rare and the parse is cheap).
200
- if (!source.includes(TOKEN_FACTORY_NAME)) {
201
- return { source, rewrote: false, sites: 0 };
202
- }
203
- const program = acorn.parse(source, {
204
- ecmaVersion: "latest",
205
- sourceType: "module",
419
+ if (!source.includes(TOKEN_FACTORY_NAME))
420
+ return none;
421
+ const program = parse(source);
422
+ const declarations = countDeclarations(program);
423
+ if (declarations.has(TOKEN_FACTORY_NAME))
424
+ return none;
425
+ const factories = new Set();
426
+ walk(program, (n) => {
427
+ if (isFactoryCall(n))
428
+ factories.add(n);
206
429
  });
207
- // A locally-declared `Token` shadows the global wrapper — skip the whole program, conservatively.
208
- // Every binding form counts, which is `collectDeclaredNames`'s whole job; this used to add its own
209
- // `FunctionDeclaration` walk on top and still missed `import { Token }` and `class Token`.
210
- if (collectDeclaredNames(program).has(TOKEN_FACTORY_NAME)) {
211
- return { source, rewrote: false, sites: 0 };
212
- }
213
- const sites = [];
430
+ if (factories.size === 0)
431
+ return none;
432
+ const splices = [];
433
+ const writes = new Set();
434
+ let erc20 = false;
435
+ const lowered = new Set();
436
+ const statements = statementCalls(program);
437
+ // `Token(a).<method>(...)`.
214
438
  walk(program, (n) => {
215
- if (n.type !== "CallExpression")
439
+ const site = methodCall(n);
440
+ if (!site || !factories.has(site.object))
216
441
  return;
217
- const callee = n.callee;
218
- if (!callee || callee.type !== "Identifier")
442
+ const address = factoryArgument(site.object);
443
+ lowered.add(site.object);
444
+ if (isSafeWrite(site.method)) {
445
+ const [first] = writeArguments(site.call, site.method, `${TOKEN_FACTORY_NAME}(...)`, statements);
446
+ // `Token(` -> `<local>(` and `).<method>(` -> `, `, leaving the address and the arguments in
447
+ // place so a rewrite inside either splices on its own.
448
+ splices.push({
449
+ start: site.object.start,
450
+ end: address.start,
451
+ replacement: `${SAFE_WRITES[site.method].local}(`,
452
+ }, { start: address.end, end: first.start, replacement: ", " });
453
+ writes.add(site.method);
219
454
  return;
220
- if (callee.name !== TOKEN_FACTORY_NAME)
455
+ }
456
+ const callee = child(site.object, "callee");
457
+ splices.push({ start: callee.start, end: callee.end, replacement: "IERC20.at" });
458
+ erc20 = true;
459
+ });
460
+ // `const t = Token(a)`, then only `t.<method>(...)`.
461
+ walk(program, (n) => {
462
+ if (n.type !== "VariableDeclarator")
221
463
  return;
222
- // Replace ONLY the callee identifier: `Token(<args>)` -> `IERC20.at(<args>)`. The args and the
223
- // surrounding `.approve(...)`/binding are left for the compiler.
224
- sites.push({ start: callee.start, end: callee.end, replacement: "IERC20.at" });
464
+ const init = n.init;
465
+ if (!init || !factories.has(init))
466
+ return;
467
+ const id = child(n, "id");
468
+ if (id.type !== "Identifier") {
469
+ throw refuseFactory(`A \`${TOKEN_FACTORY_NAME}(...)\` is destructured`);
470
+ }
471
+ const name = id.name;
472
+ const address = factoryArgument(init);
473
+ const calls = bindingCalls(program, n, name, declarations);
474
+ lowered.add(init);
475
+ splices.push({ start: init.start, end: address.start, replacement: "" }, { start: address.end, end: init.end, replacement: "" });
476
+ for (const site of calls) {
477
+ if (isSafeWrite(site.method)) {
478
+ splices.push(nameWriteSplice(site, name, statements));
479
+ writes.add(site.method);
480
+ continue;
481
+ }
482
+ splices.push({
483
+ start: site.object.start,
484
+ end: site.object.end,
485
+ replacement: `IERC20.at(${name})`,
486
+ });
487
+ erc20 = true;
488
+ }
225
489
  });
226
- if (sites.length === 0)
227
- return { source, rewrote: false, sites: 0 };
228
- const ordered = [...sites].sort((a, b) => b.start - a.start);
229
- let out = source;
230
- for (const site of ordered) {
231
- out = out.slice(0, site.start) + site.replacement + out.slice(site.end);
490
+ for (const call of factories) {
491
+ if (!lowered.has(call)) {
492
+ throw refuseFactory(`\`${source.slice(call.start, call.end)}\` is used as a value, not called or bound`);
493
+ }
232
494
  }
233
- return { source: out, rewrote: true, sites: sites.length };
495
+ assertLocalsFree(new Set(declarations.keys()), writes);
496
+ return {
497
+ source: applySplices(source, splices),
498
+ rewrote: true,
499
+ sites: factories.size,
500
+ writes,
501
+ erc20,
502
+ };
234
503
  }
235
504
  /**
236
- * Rewrites every `<Sym>.transfer/.approve/.balanceOf(...)` call (U4) and every `<holder>.<Sym>`
237
- * value-position read (balance sugar) whose `<Sym>` is in `tokens` (and not shadowed anywhere in
238
- * `source`) — see the module doc for the full disjointness argument. Purely textual surgery over
239
- * the ORIGINAL source, driven by acorn ranges — never a re-print of the AST, so everything else
240
- * (formatting, comments, unrelated code) survives byte-for-byte.
505
+ * Rewrites every `<Sym>.<method>(...)` call and every `<holder>.<Sym>` value-position read whose
506
+ * `<Sym>` is in `tokens` (and not shadowed anywhere in `source`) — see the module doc for the
507
+ * lowering and the disjointness argument. Purely textual surgery over the ORIGINAL source, driven by
508
+ * acorn ranges — never a re-print of the AST, so everything else (formatting, comments, unrelated
509
+ * code) survives byte-for-byte. Prepend `tokenImportLines(result)` before compiling the result.
241
510
  */
242
511
  export function rewriteTokenMembers(source, tokens) {
243
- if (tokens.size === 0) {
244
- return { source, rewrote: false, memberSites: 0, balanceSites: 0 };
245
- }
246
- // sourceType: "module" -- this pass now runs by DEFAULT (the registry provides addresses even
247
- // with no caller-supplied tokens), so it must tolerate a source that already carries a leading
248
- // `import { IERC20 } from "./artifacts/IERC20.json";` line, e.g. `nest.ts#nestedTransferProgram`.
249
- const program = acorn.parse(source, {
250
- ecmaVersion: "latest",
251
- sourceType: "module",
252
- });
512
+ const none = {
513
+ source,
514
+ rewrote: false,
515
+ memberSites: 0,
516
+ balanceSites: 0,
517
+ writes: new Set(),
518
+ erc20: false,
519
+ };
520
+ if (tokens.size === 0)
521
+ return none;
522
+ const program = parse(source);
253
523
  const shadowed = collectDeclaredNames(program);
254
- const memberSites = collectMemberCallSites(program, tokens, shadowed);
524
+ const writes = new Set();
525
+ const members = collectMemberCallSites(program, tokens, shadowed, writes);
255
526
  const exclusions = collectValuePositionExclusions(program);
256
527
  const balanceSites = collectBalanceSites(program, tokens, shadowed, exclusions, source);
257
- const allSites = [...memberSites, ...balanceSites];
258
- if (allSites.length === 0) {
259
- return { source, rewrote: false, memberSites: 0, balanceSites: 0 };
260
- }
261
- // Splice from the end backward so earlier offsets stay valid.
262
- const ordered = [...allSites].sort((a, b) => b.start - a.start);
263
- let out = source;
264
- for (const site of ordered) {
265
- out = out.slice(0, site.start) + site.replacement + out.slice(site.end);
266
- }
528
+ const allSites = [...members.sites, ...balanceSites];
529
+ if (allSites.length === 0)
530
+ return none;
531
+ assertLocalsFree(shadowed, writes);
267
532
  return {
268
- source: out,
533
+ source: applySplices(source, allSites),
269
534
  rewrote: true,
270
- memberSites: memberSites.length,
535
+ memberSites: members.sites.length,
271
536
  balanceSites: balanceSites.length,
537
+ writes,
538
+ // A symbol read and the balance sugar both name the typed binding; a write does not.
539
+ erc20: members.reads > 0 || balanceSites.length > 0,
272
540
  };
273
541
  }
274
542
  //# sourceMappingURL=token-rewrite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-rewrite.js","sourceRoot":"","sources":["../../src/routes/token-rewrite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-rewrite.js","sourceRoot":"","sources":["../../src/routes/token-rewrite.ts"],"names":[],"mappings":"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"}