@eth-optimism/actions-sdk 0.4.0 → 0.6.0

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 (770) hide show
  1. package/dist/__tests__/actions.test.js +1 -1
  2. package/dist/__tests__/actions.test.js.map +1 -1
  3. package/dist/{lend → actions/lend}/__mocks__/MockLendProvider.d.ts +6 -6
  4. package/dist/actions/lend/__mocks__/MockLendProvider.d.ts.map +1 -0
  5. package/dist/{lend → actions/lend}/__mocks__/MockLendProvider.js +20 -7
  6. package/dist/actions/lend/__mocks__/MockLendProvider.js.map +1 -0
  7. package/dist/{lend → actions/lend}/__mocks__/MockMarkets.d.ts +1 -1
  8. package/dist/actions/lend/__mocks__/MockMarkets.d.ts.map +1 -0
  9. package/dist/{lend → actions/lend}/__mocks__/MockMarkets.js +1 -1
  10. package/dist/actions/lend/__mocks__/MockMarkets.js.map +1 -0
  11. package/dist/{lend → actions/lend}/__mocks__/mockLendTransaction.d.ts +2 -2
  12. package/dist/actions/lend/__mocks__/mockLendTransaction.d.ts.map +1 -0
  13. package/dist/{lend → actions/lend}/__mocks__/mockLendTransaction.js +1 -1
  14. package/dist/actions/lend/__mocks__/mockLendTransaction.js.map +1 -0
  15. package/dist/{lend → actions/lend}/core/LendProvider.d.ts +38 -22
  16. package/dist/actions/lend/core/LendProvider.d.ts.map +1 -0
  17. package/dist/{lend → actions/lend}/core/LendProvider.js +61 -22
  18. package/dist/actions/lend/core/LendProvider.js.map +1 -0
  19. package/dist/actions/lend/core/__tests__/LendProvider.test.d.ts.map +1 -0
  20. package/dist/{lend → actions/lend}/core/__tests__/LendProvider.test.js +57 -3
  21. package/dist/actions/lend/core/__tests__/LendProvider.test.js.map +1 -0
  22. package/dist/actions/lend/index.d.ts.map +1 -0
  23. package/dist/actions/lend/index.js.map +1 -0
  24. package/dist/actions/lend/namespaces/ActionsLendNamespace.d.ts.map +1 -0
  25. package/dist/actions/lend/namespaces/ActionsLendNamespace.js.map +1 -0
  26. package/dist/actions/lend/namespaces/BaseLendNamespace.d.ts +33 -0
  27. package/dist/actions/lend/namespaces/BaseLendNamespace.d.ts.map +1 -0
  28. package/dist/{lend → actions/lend}/namespaces/BaseLendNamespace.js +11 -24
  29. package/dist/actions/lend/namespaces/BaseLendNamespace.js.map +1 -0
  30. package/dist/{lend → actions/lend}/namespaces/WalletLendNamespace.d.ts +8 -11
  31. package/dist/actions/lend/namespaces/WalletLendNamespace.d.ts.map +1 -0
  32. package/dist/{lend → actions/lend}/namespaces/WalletLendNamespace.js +13 -15
  33. package/dist/actions/lend/namespaces/WalletLendNamespace.js.map +1 -0
  34. package/dist/actions/lend/namespaces/__tests__/ActionsLendNamespace.spec.d.ts.map +1 -0
  35. package/dist/{lend → actions/lend}/namespaces/__tests__/ActionsLendNamespace.spec.js +1 -1
  36. package/dist/actions/lend/namespaces/__tests__/ActionsLendNamespace.spec.js.map +1 -0
  37. package/dist/actions/lend/namespaces/__tests__/BaseLendNamespace.spec.d.ts.map +1 -0
  38. package/dist/{lend → actions/lend}/namespaces/__tests__/BaseLendNamespace.spec.js +2 -2
  39. package/dist/actions/lend/namespaces/__tests__/BaseLendNamespace.spec.js.map +1 -0
  40. package/dist/actions/lend/namespaces/__tests__/WalletLendNamespace.spec.d.ts.map +1 -0
  41. package/dist/{lend → actions/lend}/namespaces/__tests__/WalletLendNamespace.spec.js +5 -5
  42. package/dist/actions/lend/namespaces/__tests__/WalletLendNamespace.spec.js.map +1 -0
  43. package/dist/{lend → actions/lend}/providers/aave/AaveLendProvider.d.ts +18 -20
  44. package/dist/actions/lend/providers/aave/AaveLendProvider.d.ts.map +1 -0
  45. package/dist/{lend → actions/lend}/providers/aave/AaveLendProvider.js +56 -54
  46. package/dist/actions/lend/providers/aave/AaveLendProvider.js.map +1 -0
  47. package/dist/{lend → actions/lend}/providers/aave/__mocks__/mockReserve.d.ts +1 -1
  48. package/dist/actions/lend/providers/aave/__mocks__/mockReserve.d.ts.map +1 -0
  49. package/dist/actions/lend/providers/aave/__mocks__/mockReserve.js.map +1 -0
  50. package/dist/actions/lend/providers/aave/__tests__/AaveLendProvider.test.d.ts.map +1 -0
  51. package/dist/{lend → actions/lend}/providers/aave/__tests__/AaveLendProvider.test.js +4 -4
  52. package/dist/actions/lend/providers/aave/__tests__/AaveLendProvider.test.js.map +1 -0
  53. package/dist/actions/lend/providers/aave/abis/pool.d.ts.map +1 -0
  54. package/dist/actions/lend/providers/aave/abis/pool.js.map +1 -0
  55. package/dist/actions/lend/providers/aave/addresses.d.ts.map +1 -0
  56. package/dist/actions/lend/providers/aave/addresses.js.map +1 -0
  57. package/dist/{lend → actions/lend}/providers/aave/sdk.d.ts +4 -4
  58. package/dist/actions/lend/providers/aave/sdk.d.ts.map +1 -0
  59. package/dist/{lend → actions/lend}/providers/aave/sdk.js +10 -5
  60. package/dist/actions/lend/providers/aave/sdk.js.map +1 -0
  61. package/dist/{lend → actions/lend}/providers/morpho/MorphoLendProvider.d.ts +18 -14
  62. package/dist/actions/lend/providers/morpho/MorphoLendProvider.d.ts.map +1 -0
  63. package/dist/{lend → actions/lend}/providers/morpho/MorphoLendProvider.js +48 -44
  64. package/dist/actions/lend/providers/morpho/MorphoLendProvider.js.map +1 -0
  65. package/dist/actions/lend/providers/morpho/__mocks__/mockVault.d.ts.map +1 -0
  66. package/dist/actions/lend/providers/morpho/__mocks__/mockVault.js.map +1 -0
  67. package/dist/actions/lend/providers/morpho/__tests__/MorphoLendProvider.test.d.ts.map +1 -0
  68. package/dist/{lend → actions/lend}/providers/morpho/__tests__/MorphoLendProvider.test.js +58 -3
  69. package/dist/actions/lend/providers/morpho/__tests__/MorphoLendProvider.test.js.map +1 -0
  70. package/dist/actions/lend/providers/morpho/__tests__/api.test.d.ts.map +1 -0
  71. package/dist/{lend → actions/lend}/providers/morpho/__tests__/api.test.js +2 -2
  72. package/dist/actions/lend/providers/morpho/__tests__/api.test.js.map +1 -0
  73. package/dist/actions/lend/providers/morpho/__tests__/sdk.test.d.ts.map +1 -0
  74. package/dist/{lend → actions/lend}/providers/morpho/__tests__/sdk.test.js +1 -1
  75. package/dist/actions/lend/providers/morpho/__tests__/sdk.test.js.map +1 -0
  76. package/dist/actions/lend/providers/morpho/api.d.ts.map +1 -0
  77. package/dist/actions/lend/providers/morpho/api.js.map +1 -0
  78. package/dist/{lend → actions/lend}/providers/morpho/sdk.d.ts +4 -4
  79. package/dist/actions/lend/providers/morpho/sdk.d.ts.map +1 -0
  80. package/dist/{lend → actions/lend}/providers/morpho/sdk.js +18 -7
  81. package/dist/actions/lend/providers/morpho/sdk.js.map +1 -0
  82. package/dist/actions/lend/utils/markets.d.ts +26 -0
  83. package/dist/actions/lend/utils/markets.d.ts.map +1 -0
  84. package/dist/actions/lend/utils/markets.js +44 -0
  85. package/dist/actions/lend/utils/markets.js.map +1 -0
  86. package/dist/actions/shared/BaseNamespace.d.ts +29 -0
  87. package/dist/actions/shared/BaseNamespace.d.ts.map +1 -0
  88. package/dist/actions/shared/BaseNamespace.js +31 -0
  89. package/dist/actions/shared/BaseNamespace.js.map +1 -0
  90. package/dist/actions/shared/__tests__/BaseNamespace.spec.d.ts +2 -0
  91. package/dist/actions/shared/__tests__/BaseNamespace.spec.d.ts.map +1 -0
  92. package/dist/actions/shared/__tests__/BaseNamespace.spec.js +42 -0
  93. package/dist/actions/shared/__tests__/BaseNamespace.spec.js.map +1 -0
  94. package/dist/{lend/providers → actions/shared}/morpho/contracts.d.ts +1 -1
  95. package/dist/actions/shared/morpho/contracts.d.ts.map +1 -0
  96. package/dist/{lend/providers → actions/shared}/morpho/contracts.js.map +1 -1
  97. package/dist/{types/lend/contracts.d.ts → actions/shared/morpho/types.d.ts} +2 -2
  98. package/dist/actions/shared/morpho/types.d.ts.map +1 -0
  99. package/dist/actions/shared/morpho/types.js.map +1 -0
  100. package/dist/{swap → actions/swap}/__mocks__/MockSwapProvider.d.ts +7 -6
  101. package/dist/actions/swap/__mocks__/MockSwapProvider.d.ts.map +1 -0
  102. package/dist/{swap → actions/swap}/__mocks__/MockSwapProvider.js +5 -2
  103. package/dist/actions/swap/__mocks__/MockSwapProvider.js.map +1 -0
  104. package/dist/{swap → actions/swap}/core/SwapProvider.d.ts +33 -18
  105. package/dist/actions/swap/core/SwapProvider.d.ts.map +1 -0
  106. package/dist/{swap → actions/swap}/core/SwapProvider.js +59 -44
  107. package/dist/actions/swap/core/SwapProvider.js.map +1 -0
  108. package/dist/actions/swap/core/__tests__/SwapProvider.test.d.ts.map +1 -0
  109. package/dist/{swap → actions/swap}/core/__tests__/SwapProvider.test.js +39 -0
  110. package/dist/actions/swap/core/__tests__/SwapProvider.test.js.map +1 -0
  111. package/dist/{swap → actions/swap}/core/markets.d.ts +3 -3
  112. package/dist/actions/swap/core/markets.d.ts.map +1 -0
  113. package/dist/{swap → actions/swap}/core/markets.js +2 -1
  114. package/dist/actions/swap/core/markets.js.map +1 -0
  115. package/dist/actions/swap/index.d.ts.map +1 -0
  116. package/dist/actions/swap/index.js.map +1 -0
  117. package/dist/actions/swap/namespaces/ActionsSwapNamespace.d.ts.map +1 -0
  118. package/dist/actions/swap/namespaces/ActionsSwapNamespace.js.map +1 -0
  119. package/dist/{swap → actions/swap}/namespaces/BaseSwapNamespace.d.ts +27 -28
  120. package/dist/actions/swap/namespaces/BaseSwapNamespace.d.ts.map +1 -0
  121. package/dist/{swap → actions/swap}/namespaces/BaseSwapNamespace.js +73 -69
  122. package/dist/actions/swap/namespaces/BaseSwapNamespace.js.map +1 -0
  123. package/dist/actions/swap/namespaces/WalletSwapNamespace.d.ts +56 -0
  124. package/dist/actions/swap/namespaces/WalletSwapNamespace.d.ts.map +1 -0
  125. package/dist/actions/swap/namespaces/WalletSwapNamespace.js +109 -0
  126. package/dist/actions/swap/namespaces/WalletSwapNamespace.js.map +1 -0
  127. package/dist/actions/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts.map +1 -0
  128. package/dist/{swap → actions/swap}/namespaces/__tests__/BaseSwapNamespace.spec.js +6 -6
  129. package/dist/actions/swap/namespaces/__tests__/BaseSwapNamespace.spec.js.map +1 -0
  130. package/dist/actions/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts.map +1 -0
  131. package/dist/{swap → actions/swap}/namespaces/__tests__/WalletSwapNamespace.spec.js +83 -19
  132. package/dist/actions/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +1 -0
  133. package/dist/{swap → actions/swap}/providers/uniswap/UniswapSwapProvider.d.ts +9 -5
  134. package/dist/actions/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +1 -0
  135. package/dist/{swap → actions/swap}/providers/uniswap/UniswapSwapProvider.js +14 -5
  136. package/dist/actions/swap/providers/uniswap/UniswapSwapProvider.js.map +1 -0
  137. package/dist/actions/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts.map +1 -0
  138. package/dist/{swap → actions/swap}/providers/uniswap/__tests__/UniswapSwapProvider.test.js +1 -1
  139. package/dist/actions/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js.map +1 -0
  140. package/dist/actions/swap/providers/uniswap/__tests__/sdk.test.d.ts.map +1 -0
  141. package/dist/{swap → actions/swap}/providers/uniswap/__tests__/sdk.test.js +47 -1
  142. package/dist/actions/swap/providers/uniswap/__tests__/sdk.test.js.map +1 -0
  143. package/dist/actions/swap/providers/uniswap/abis.d.ts.map +1 -0
  144. package/dist/actions/swap/providers/uniswap/abis.js.map +1 -0
  145. package/dist/{swap → actions/swap}/providers/uniswap/addresses.d.ts +1 -1
  146. package/dist/actions/swap/providers/uniswap/addresses.d.ts.map +1 -0
  147. package/dist/{swap → actions/swap}/providers/uniswap/addresses.js +6 -2
  148. package/dist/actions/swap/providers/uniswap/addresses.js.map +1 -0
  149. package/dist/{swap → actions/swap}/providers/uniswap/encoding.d.ts +3 -3
  150. package/dist/actions/swap/providers/uniswap/encoding.d.ts.map +1 -0
  151. package/dist/{swap → actions/swap}/providers/uniswap/encoding.js +2 -2
  152. package/dist/actions/swap/providers/uniswap/encoding.js.map +1 -0
  153. package/dist/{swap → actions/swap}/providers/uniswap/markets.d.ts +3 -3
  154. package/dist/actions/swap/providers/uniswap/markets.d.ts.map +1 -0
  155. package/dist/{swap → actions/swap}/providers/uniswap/markets.js +1 -1
  156. package/dist/actions/swap/providers/uniswap/markets.js.map +1 -0
  157. package/dist/{swap → actions/swap}/providers/uniswap/types.d.ts +1 -1
  158. package/dist/actions/swap/providers/uniswap/types.d.ts.map +1 -0
  159. package/dist/actions/swap/providers/uniswap/types.js.map +1 -0
  160. package/dist/{swap → actions/swap}/providers/velodrome/VelodromeSwapProvider.d.ts +10 -4
  161. package/dist/actions/swap/providers/velodrome/VelodromeSwapProvider.d.ts.map +1 -0
  162. package/dist/{swap → actions/swap}/providers/velodrome/VelodromeSwapProvider.js +37 -11
  163. package/dist/actions/swap/providers/velodrome/VelodromeSwapProvider.js.map +1 -0
  164. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts.map +1 -0
  165. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js.map +1 -0
  166. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts.map +1 -0
  167. package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js +7 -6
  168. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js.map +1 -0
  169. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts.map +1 -0
  170. package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.test.js +40 -4
  171. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.js.map +1 -0
  172. package/dist/actions/swap/providers/velodrome/__tests__/encoding.cl.test.d.ts.map +1 -0
  173. package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.cl.test.js +22 -1
  174. package/dist/actions/swap/providers/velodrome/__tests__/encoding.cl.test.js.map +1 -0
  175. package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.helpers.d.ts +1 -1
  176. package/dist/actions/swap/providers/velodrome/__tests__/encoding.helpers.d.ts.map +1 -0
  177. package/dist/actions/swap/providers/velodrome/__tests__/encoding.helpers.js.map +1 -0
  178. package/dist/actions/swap/providers/velodrome/__tests__/encoding.v2.test.d.ts.map +1 -0
  179. package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.v2.test.js +25 -1
  180. package/dist/actions/swap/providers/velodrome/__tests__/encoding.v2.test.js.map +1 -0
  181. package/dist/actions/swap/providers/velodrome/abis.d.ts.map +1 -0
  182. package/dist/actions/swap/providers/velodrome/abis.js.map +1 -0
  183. package/dist/{swap → actions/swap}/providers/velodrome/addresses.d.ts +1 -1
  184. package/dist/actions/swap/providers/velodrome/addresses.d.ts.map +1 -0
  185. package/dist/actions/swap/providers/velodrome/addresses.js.map +1 -0
  186. package/dist/{swap → actions/swap}/providers/velodrome/config.d.ts +1 -1
  187. package/dist/actions/swap/providers/velodrome/config.d.ts.map +1 -0
  188. package/dist/{swap → actions/swap}/providers/velodrome/config.js +5 -1
  189. package/dist/actions/swap/providers/velodrome/config.js.map +1 -0
  190. package/dist/{swap → actions/swap}/providers/velodrome/encoding/helpers.d.ts +3 -3
  191. package/dist/actions/swap/providers/velodrome/encoding/helpers.d.ts.map +1 -0
  192. package/dist/{swap → actions/swap}/providers/velodrome/encoding/helpers.js +4 -3
  193. package/dist/actions/swap/providers/velodrome/encoding/helpers.js.map +1 -0
  194. package/dist/{swap → actions/swap}/providers/velodrome/encoding/index.d.ts +0 -1
  195. package/dist/actions/swap/providers/velodrome/encoding/index.d.ts.map +1 -0
  196. package/dist/{swap → actions/swap}/providers/velodrome/encoding/index.js +0 -1
  197. package/dist/actions/swap/providers/velodrome/encoding/index.js.map +1 -0
  198. package/dist/{swap → actions/swap}/providers/velodrome/encoding/poolRouter.d.ts +3 -3
  199. package/dist/actions/swap/providers/velodrome/encoding/poolRouter.d.ts.map +1 -0
  200. package/dist/{swap → actions/swap}/providers/velodrome/encoding/poolRouter.js +2 -1
  201. package/dist/actions/swap/providers/velodrome/encoding/poolRouter.js.map +1 -0
  202. package/dist/{swap → actions/swap}/providers/velodrome/encoding/routers/cl.d.ts +24 -3
  203. package/dist/actions/swap/providers/velodrome/encoding/routers/cl.d.ts.map +1 -0
  204. package/dist/{swap → actions/swap}/providers/velodrome/encoding/routers/cl.js +22 -10
  205. package/dist/actions/swap/providers/velodrome/encoding/routers/cl.js.map +1 -0
  206. package/dist/{swap → actions/swap}/providers/velodrome/encoding/routers/v2.d.ts +23 -3
  207. package/dist/actions/swap/providers/velodrome/encoding/routers/v2.d.ts.map +1 -0
  208. package/dist/{swap → actions/swap}/providers/velodrome/encoding/routers/v2.js +24 -13
  209. package/dist/actions/swap/providers/velodrome/encoding/routers/v2.js.map +1 -0
  210. package/dist/{swap → actions/swap}/providers/velodrome/markets.d.ts +3 -3
  211. package/dist/actions/swap/providers/velodrome/markets.d.ts.map +1 -0
  212. package/dist/{swap → actions/swap}/providers/velodrome/markets.js +4 -3
  213. package/dist/actions/swap/providers/velodrome/markets.js.map +1 -0
  214. package/dist/{swap → actions/swap}/providers/velodrome/types.d.ts +1 -1
  215. package/dist/actions/swap/providers/velodrome/types.d.ts.map +1 -0
  216. package/dist/actions/swap/providers/velodrome/types.js +2 -0
  217. package/dist/actions/swap/providers/velodrome/types.js.map +1 -0
  218. package/dist/actions.d.ts +12 -2
  219. package/dist/actions.d.ts.map +1 -1
  220. package/dist/actions.js +56 -22
  221. package/dist/actions.js.map +1 -1
  222. package/dist/core/error/__tests__/errors.test.d.ts +2 -0
  223. package/dist/core/error/__tests__/errors.test.d.ts.map +1 -0
  224. package/dist/core/error/__tests__/errors.test.js +195 -0
  225. package/dist/core/error/__tests__/errors.test.js.map +1 -0
  226. package/dist/core/error/errors.d.ts +131 -15
  227. package/dist/core/error/errors.d.ts.map +1 -1
  228. package/dist/core/error/errors.js +201 -17
  229. package/dist/core/error/errors.js.map +1 -1
  230. package/dist/index.d.ts +7 -3
  231. package/dist/index.d.ts.map +1 -1
  232. package/dist/index.js +6 -2
  233. package/dist/index.js.map +1 -1
  234. package/dist/services/ChainManager.d.ts +7 -0
  235. package/dist/services/ChainManager.d.ts.map +1 -1
  236. package/dist/services/ChainManager.js +35 -7
  237. package/dist/services/ChainManager.js.map +1 -1
  238. package/dist/services/__mocks__/MockChainManager.d.ts +1 -0
  239. package/dist/services/__mocks__/MockChainManager.d.ts.map +1 -1
  240. package/dist/services/__mocks__/MockChainManager.js +5 -0
  241. package/dist/services/__mocks__/MockChainManager.js.map +1 -1
  242. package/dist/services/__tests__/ChainManager.spec.d.ts.map +1 -0
  243. package/dist/services/{ChainManager.spec.js → __tests__/ChainManager.spec.js} +7 -7
  244. package/dist/services/__tests__/ChainManager.spec.js.map +1 -0
  245. package/dist/services/__tests__/tokenBalance.spec.d.ts.map +1 -0
  246. package/dist/services/{tokenBalance.spec.js → __tests__/tokenBalance.spec.js} +42 -5
  247. package/dist/services/__tests__/tokenBalance.spec.js.map +1 -0
  248. package/dist/services/nameservices/ens/EnsNamespace.d.ts +57 -0
  249. package/dist/services/nameservices/ens/EnsNamespace.d.ts.map +1 -0
  250. package/dist/services/nameservices/ens/EnsNamespace.js +158 -0
  251. package/dist/services/nameservices/ens/EnsNamespace.js.map +1 -0
  252. package/dist/services/nameservices/ens/__tests__/EnsNamespace.spec.d.ts +2 -0
  253. package/dist/services/nameservices/ens/__tests__/EnsNamespace.spec.d.ts.map +1 -0
  254. package/dist/services/nameservices/ens/__tests__/EnsNamespace.spec.js +144 -0
  255. package/dist/services/nameservices/ens/__tests__/EnsNamespace.spec.js.map +1 -0
  256. package/dist/services/nameservices/ens/__tests__/utils.spec.d.ts +2 -0
  257. package/dist/services/nameservices/ens/__tests__/utils.spec.d.ts.map +1 -0
  258. package/dist/services/nameservices/ens/__tests__/utils.spec.js +75 -0
  259. package/dist/services/nameservices/ens/__tests__/utils.spec.js.map +1 -0
  260. package/dist/services/nameservices/ens/errors.d.ts +24 -0
  261. package/dist/services/nameservices/ens/errors.d.ts.map +1 -0
  262. package/dist/services/nameservices/ens/errors.js +35 -0
  263. package/dist/services/nameservices/ens/errors.js.map +1 -0
  264. package/dist/services/nameservices/ens/index.d.ts +5 -0
  265. package/dist/services/nameservices/ens/index.d.ts.map +1 -0
  266. package/dist/services/nameservices/ens/index.js +5 -0
  267. package/dist/services/nameservices/ens/index.js.map +1 -0
  268. package/dist/services/nameservices/ens/types.d.ts +63 -0
  269. package/dist/services/nameservices/ens/types.d.ts.map +1 -0
  270. package/dist/services/nameservices/ens/types.js +14 -0
  271. package/dist/services/nameservices/ens/types.js.map +1 -0
  272. package/dist/services/nameservices/ens/utils.d.ts +25 -0
  273. package/dist/services/nameservices/ens/utils.d.ts.map +1 -0
  274. package/dist/services/nameservices/ens/utils.js +53 -0
  275. package/dist/services/nameservices/ens/utils.js.map +1 -0
  276. package/dist/services/tokenBalance.d.ts +8 -5
  277. package/dist/services/tokenBalance.d.ts.map +1 -1
  278. package/dist/services/tokenBalance.js +15 -8
  279. package/dist/services/tokenBalance.js.map +1 -1
  280. package/dist/types/actions.d.ts +69 -7
  281. package/dist/types/actions.d.ts.map +1 -1
  282. package/dist/types/asset.d.ts +7 -0
  283. package/dist/types/asset.d.ts.map +1 -1
  284. package/dist/types/common/FilterAssetChain.d.ts +13 -0
  285. package/dist/types/common/FilterAssetChain.d.ts.map +1 -0
  286. package/dist/types/common/FilterAssetChain.js +2 -0
  287. package/dist/types/common/FilterAssetChain.js.map +1 -0
  288. package/dist/types/common/TransactionOptions.d.ts +13 -0
  289. package/dist/types/common/TransactionOptions.d.ts.map +1 -0
  290. package/dist/types/common/TransactionOptions.js +2 -0
  291. package/dist/types/common/TransactionOptions.js.map +1 -0
  292. package/dist/types/common/index.d.ts +3 -0
  293. package/dist/types/common/index.d.ts.map +1 -0
  294. package/dist/types/common/index.js +3 -0
  295. package/dist/types/common/index.js.map +1 -0
  296. package/dist/types/index.d.ts +1 -0
  297. package/dist/types/index.d.ts.map +1 -1
  298. package/dist/types/index.js +1 -0
  299. package/dist/types/index.js.map +1 -1
  300. package/dist/types/lend/base.d.ts +44 -34
  301. package/dist/types/lend/base.d.ts.map +1 -1
  302. package/dist/types/lend/base.js +3 -3
  303. package/dist/types/lend/base.js.map +1 -1
  304. package/dist/types/lend/index.d.ts +0 -1
  305. package/dist/types/lend/index.d.ts.map +1 -1
  306. package/dist/types/lend/index.js +0 -1
  307. package/dist/types/lend/index.js.map +1 -1
  308. package/dist/types/providers.d.ts +2 -2
  309. package/dist/types/providers.d.ts.map +1 -1
  310. package/dist/types/swap/base.d.ts +29 -16
  311. package/dist/types/swap/base.d.ts.map +1 -1
  312. package/dist/types/swap/base.js +3 -3
  313. package/dist/types/swap/base.js.map +1 -1
  314. package/dist/utils/__tests__/approve.test.d.ts.map +1 -0
  315. package/dist/utils/{approve.test.js → __tests__/approve.test.js} +40 -18
  316. package/dist/utils/__tests__/approve.test.js.map +1 -0
  317. package/dist/utils/__tests__/assets.test.d.ts.map +1 -0
  318. package/dist/utils/{assets.test.js → __tests__/assets.test.js} +2 -2
  319. package/dist/utils/__tests__/assets.test.js.map +1 -0
  320. package/dist/utils/__tests__/serializers.test.d.ts +2 -0
  321. package/dist/utils/__tests__/serializers.test.d.ts.map +1 -0
  322. package/dist/utils/__tests__/serializers.test.js +43 -0
  323. package/dist/utils/__tests__/serializers.test.js.map +1 -0
  324. package/dist/utils/__tests__/validateAddresses.test.d.ts.map +1 -0
  325. package/dist/utils/{validateAddresses.test.js → __tests__/validateAddresses.test.js} +10 -10
  326. package/dist/utils/__tests__/validateAddresses.test.js.map +1 -0
  327. package/dist/utils/abi/permit2.d.ts +48 -0
  328. package/dist/utils/abi/permit2.d.ts.map +1 -0
  329. package/dist/utils/abi/permit2.js +34 -0
  330. package/dist/utils/abi/permit2.js.map +1 -0
  331. package/dist/utils/approve.d.ts +26 -3
  332. package/dist/utils/approve.d.ts.map +1 -1
  333. package/dist/utils/approve.js +34 -37
  334. package/dist/utils/approve.js.map +1 -1
  335. package/dist/utils/assets.d.ts.map +1 -1
  336. package/dist/utils/assets.js +3 -2
  337. package/dist/utils/assets.js.map +1 -1
  338. package/dist/utils/serializers.d.ts +16 -0
  339. package/dist/utils/serializers.d.ts.map +1 -0
  340. package/dist/utils/serializers.js +18 -0
  341. package/dist/utils/serializers.js.map +1 -0
  342. package/dist/utils/validation.d.ts +13 -1
  343. package/dist/utils/validation.d.ts.map +1 -1
  344. package/dist/utils/validation.js +38 -8
  345. package/dist/utils/validation.js.map +1 -1
  346. package/dist/wallet/core/error/errors.d.ts +21 -0
  347. package/dist/wallet/core/error/errors.d.ts.map +1 -0
  348. package/dist/wallet/core/error/errors.js +24 -0
  349. package/dist/wallet/core/error/errors.js.map +1 -0
  350. package/dist/wallet/core/namespace/WalletNamespace.d.ts +24 -8
  351. package/dist/wallet/core/namespace/WalletNamespace.d.ts.map +1 -1
  352. package/dist/wallet/core/namespace/WalletNamespace.js +48 -17
  353. package/dist/wallet/core/namespace/WalletNamespace.js.map +1 -1
  354. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js +105 -10
  355. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js.map +1 -1
  356. package/dist/wallet/core/providers/WalletProvider.d.ts +3 -2
  357. package/dist/wallet/core/providers/WalletProvider.d.ts.map +1 -1
  358. package/dist/wallet/core/providers/WalletProvider.js +8 -2
  359. package/dist/wallet/core/providers/WalletProvider.js.map +1 -1
  360. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js +1 -1
  361. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js.map +1 -1
  362. package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.d.ts.map +1 -1
  363. package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js +2 -1
  364. package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js.map +1 -1
  365. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js +1 -1
  366. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js.map +1 -1
  367. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js +1 -1
  368. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js.map +1 -1
  369. package/dist/wallet/core/utils/__tests__/executeTransactionBatch.spec.d.ts +2 -0
  370. package/dist/wallet/core/utils/__tests__/executeTransactionBatch.spec.d.ts.map +1 -0
  371. package/dist/wallet/core/utils/__tests__/executeTransactionBatch.spec.js +31 -0
  372. package/dist/wallet/core/utils/__tests__/executeTransactionBatch.spec.js.map +1 -0
  373. package/dist/wallet/core/utils/__tests__/retryOnStaleRead.spec.d.ts.map +1 -0
  374. package/dist/wallet/core/utils/__tests__/retryOnStaleRead.spec.js.map +1 -0
  375. package/dist/wallet/core/utils/executeTransactionBatch.d.ts +22 -0
  376. package/dist/wallet/core/utils/executeTransactionBatch.d.ts.map +1 -0
  377. package/dist/wallet/core/utils/executeTransactionBatch.js +26 -0
  378. package/dist/wallet/core/utils/executeTransactionBatch.js.map +1 -0
  379. package/dist/wallet/core/utils/retryOnStaleRead.d.ts.map +1 -0
  380. package/dist/wallet/core/utils/retryOnStaleRead.js.map +1 -0
  381. package/dist/wallet/core/wallets/abstract/Wallet.d.ts +8 -8
  382. package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -1
  383. package/dist/wallet/core/wallets/abstract/Wallet.js +15 -12
  384. package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -1
  385. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts +3 -3
  386. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts.map +1 -1
  387. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.js.map +1 -1
  388. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js +28 -2
  389. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js.map +1 -1
  390. package/dist/wallet/core/wallets/eoa/EOAWallet.d.ts +1 -1
  391. package/dist/wallet/core/wallets/eoa/EOAWallet.d.ts.map +1 -1
  392. package/dist/wallet/core/wallets/eoa/EOAWallet.js.map +1 -1
  393. package/dist/wallet/core/wallets/smart/abstract/SmartWallet.d.ts +1 -1
  394. package/dist/wallet/core/wallets/smart/abstract/SmartWallet.d.ts.map +1 -1
  395. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +1 -1
  396. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -1
  397. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js +2 -2
  398. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -1
  399. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js +1 -1
  400. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js.map +1 -1
  401. package/dist/wallet/node/index.d.ts +1 -0
  402. package/dist/wallet/node/index.d.ts.map +1 -1
  403. package/dist/wallet/node/index.js +1 -0
  404. package/dist/wallet/node/index.js.map +1 -1
  405. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +1 -1
  406. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
  407. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js +1 -1
  408. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js.map +1 -1
  409. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +1 -1
  410. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
  411. package/dist/wallet/node/wallets/local/LocalWallet.d.ts +24 -0
  412. package/dist/wallet/node/wallets/local/LocalWallet.d.ts.map +1 -0
  413. package/dist/wallet/node/wallets/local/LocalWallet.js +21 -0
  414. package/dist/wallet/node/wallets/local/LocalWallet.js.map +1 -0
  415. package/dist/wallet/node/wallets/local/__tests__/LocalWallet.spec.d.ts +2 -0
  416. package/dist/wallet/node/wallets/local/__tests__/LocalWallet.spec.d.ts.map +1 -0
  417. package/dist/wallet/node/wallets/local/__tests__/LocalWallet.spec.js +51 -0
  418. package/dist/wallet/node/wallets/local/__tests__/LocalWallet.spec.js.map +1 -0
  419. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js +1 -1
  420. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js.map +1 -1
  421. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +1 -1
  422. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
  423. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +1 -1
  424. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
  425. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js +1 -1
  426. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js.map +1 -1
  427. package/package.json +2 -2
  428. package/src/__tests__/actions.test.ts +3 -1
  429. package/src/{lend → actions/lend}/__mocks__/MockLendProvider.ts +24 -9
  430. package/src/{lend → actions/lend}/__mocks__/mockLendTransaction.ts +2 -2
  431. package/src/{lend → actions/lend}/core/LendProvider.ts +123 -39
  432. package/src/{lend → actions/lend}/core/__tests__/LendProvider.test.ts +82 -3
  433. package/src/actions/lend/index.ts +3 -0
  434. package/src/{lend → actions/lend}/namespaces/BaseLendNamespace.ts +20 -37
  435. package/src/{lend → actions/lend}/namespaces/WalletLendNamespace.ts +15 -22
  436. package/src/{lend → actions/lend}/namespaces/__tests__/ActionsLendNamespace.spec.ts +3 -3
  437. package/src/{lend → actions/lend}/namespaces/__tests__/BaseLendNamespace.spec.ts +3 -3
  438. package/src/{lend → actions/lend}/namespaces/__tests__/WalletLendNamespace.spec.ts +6 -6
  439. package/src/{lend → actions/lend}/providers/aave/AaveLendProvider.ts +65 -73
  440. package/src/{lend → actions/lend}/providers/aave/__tests__/AaveLendProvider.test.ts +7 -7
  441. package/src/{lend → actions/lend}/providers/aave/sdk.ts +15 -9
  442. package/src/{lend → actions/lend}/providers/morpho/MorphoLendProvider.ts +67 -53
  443. package/src/{lend → actions/lend}/providers/morpho/__tests__/MorphoLendProvider.test.ts +79 -5
  444. package/src/{lend → actions/lend}/providers/morpho/__tests__/api.test.ts +3 -3
  445. package/src/{lend → actions/lend}/providers/morpho/__tests__/sdk.test.ts +2 -2
  446. package/src/{lend → actions/lend}/providers/morpho/sdk.ts +23 -12
  447. package/src/actions/lend/utils/markets.ts +62 -0
  448. package/src/actions/shared/BaseNamespace.ts +46 -0
  449. package/src/actions/shared/__tests__/BaseNamespace.spec.ts +58 -0
  450. package/src/{lend/providers → actions/shared}/morpho/contracts.ts +2 -2
  451. package/src/{swap → actions/swap}/__mocks__/MockSwapProvider.ts +6 -2
  452. package/src/{swap → actions/swap}/core/SwapProvider.ts +99 -65
  453. package/src/{swap → actions/swap}/core/__tests__/SwapProvider.test.ts +51 -1
  454. package/src/{swap → actions/swap}/core/markets.ts +2 -1
  455. package/src/actions/swap/index.ts +19 -0
  456. package/src/{swap → actions/swap}/namespaces/ActionsSwapNamespace.ts +1 -1
  457. package/src/{swap → actions/swap}/namespaces/BaseSwapNamespace.ts +127 -109
  458. package/src/actions/swap/namespaces/WalletSwapNamespace.ts +154 -0
  459. package/src/{swap → actions/swap}/namespaces/__tests__/BaseSwapNamespace.spec.ts +10 -6
  460. package/src/{swap → actions/swap}/namespaces/__tests__/WalletSwapNamespace.spec.ts +110 -22
  461. package/src/{swap → actions/swap}/providers/uniswap/UniswapSwapProvider.ts +37 -15
  462. package/src/{swap → actions/swap}/providers/uniswap/__tests__/UniswapSwapProvider.test.ts +2 -2
  463. package/src/{swap → actions/swap}/providers/uniswap/__tests__/sdk.test.ts +65 -3
  464. package/src/{swap → actions/swap}/providers/uniswap/addresses.ts +5 -1
  465. package/src/{swap → actions/swap}/providers/uniswap/encoding.ts +3 -3
  466. package/src/{swap → actions/swap}/providers/uniswap/markets.ts +2 -2
  467. package/src/{swap → actions/swap}/providers/velodrome/VelodromeSwapProvider.ts +74 -32
  468. package/src/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.ts +2 -2
  469. package/src/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.ts +8 -7
  470. package/src/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.test.ts +47 -5
  471. package/src/{swap → actions/swap}/providers/velodrome/__tests__/encoding.cl.test.ts +31 -2
  472. package/src/{swap → actions/swap}/providers/velodrome/__tests__/encoding.v2.test.ts +34 -3
  473. package/src/{swap → actions/swap}/providers/velodrome/config.ts +5 -1
  474. package/src/{swap → actions/swap}/providers/velodrome/encoding/helpers.ts +3 -2
  475. package/src/{swap → actions/swap}/providers/velodrome/encoding/index.ts +0 -1
  476. package/src/{swap → actions/swap}/providers/velodrome/encoding/poolRouter.ts +4 -3
  477. package/src/{swap → actions/swap}/providers/velodrome/encoding/routers/cl.ts +31 -23
  478. package/src/{swap → actions/swap}/providers/velodrome/encoding/routers/v2.ts +34 -27
  479. package/src/{swap → actions/swap}/providers/velodrome/markets.ts +4 -3
  480. package/src/actions.ts +82 -36
  481. package/src/core/error/__tests__/errors.test.ts +236 -0
  482. package/src/core/error/errors.ts +282 -22
  483. package/src/index.ts +25 -10
  484. package/src/services/ChainManager.ts +36 -9
  485. package/src/services/__mocks__/MockChainManager.ts +8 -0
  486. package/src/services/{ChainManager.spec.ts → __tests__/ChainManager.spec.ts} +6 -6
  487. package/src/services/{tokenBalance.spec.ts → __tests__/tokenBalance.spec.ts} +56 -1
  488. package/src/services/nameservices/ens/EnsNamespace.ts +210 -0
  489. package/src/services/nameservices/ens/__tests__/EnsNamespace.spec.ts +173 -0
  490. package/src/services/nameservices/ens/__tests__/utils.spec.ts +105 -0
  491. package/src/services/nameservices/ens/errors.ts +45 -0
  492. package/src/services/nameservices/ens/index.ts +17 -0
  493. package/src/services/nameservices/ens/types.ts +76 -0
  494. package/src/services/nameservices/ens/utils.ts +85 -0
  495. package/src/services/tokenBalance.ts +16 -7
  496. package/src/types/actions.ts +72 -7
  497. package/src/types/asset.ts +8 -0
  498. package/src/types/common/FilterAssetChain.ts +13 -0
  499. package/src/types/common/TransactionOptions.ts +12 -0
  500. package/src/types/common/index.ts +2 -0
  501. package/src/types/index.ts +1 -0
  502. package/src/types/lend/base.ts +48 -36
  503. package/src/types/lend/index.ts +0 -1
  504. package/src/types/providers.ts +2 -2
  505. package/src/types/swap/base.ts +29 -16
  506. package/src/utils/{approve.test.ts → __tests__/approve.test.ts} +51 -18
  507. package/src/utils/__tests__/serializers.test.ts +53 -0
  508. package/src/utils/{validateAddresses.test.ts → __tests__/validateAddresses.test.ts} +9 -9
  509. package/src/utils/abi/permit2.ts +33 -0
  510. package/src/utils/approve.ts +48 -37
  511. package/src/utils/assets.ts +6 -6
  512. package/src/utils/serializers.ts +21 -0
  513. package/src/utils/validation.ts +53 -15
  514. package/src/wallet/core/error/errors.ts +30 -0
  515. package/src/wallet/core/namespace/WalletNamespace.ts +82 -20
  516. package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +141 -16
  517. package/src/wallet/core/providers/WalletProvider.ts +12 -3
  518. package/src/wallet/core/providers/__tests__/WalletProvider.spec.ts +1 -1
  519. package/src/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.ts +2 -1
  520. package/src/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.ts +1 -1
  521. package/src/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.ts +1 -1
  522. package/src/wallet/core/utils/__tests__/executeTransactionBatch.spec.ts +42 -0
  523. package/src/{core → wallet/core}/utils/__tests__/retryOnStaleRead.spec.ts +1 -1
  524. package/src/wallet/core/utils/executeTransactionBatch.ts +37 -0
  525. package/src/wallet/core/wallets/abstract/Wallet.ts +19 -14
  526. package/src/wallet/core/wallets/abstract/__mocks__/TestWallet.ts +3 -3
  527. package/src/wallet/core/wallets/abstract/__tests__/Wallet.spec.ts +54 -3
  528. package/src/wallet/core/wallets/eoa/EOAWallet.ts +1 -1
  529. package/src/wallet/core/wallets/smart/abstract/SmartWallet.ts +1 -1
  530. package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +3 -3
  531. package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +1 -1
  532. package/src/wallet/node/index.ts +1 -0
  533. package/src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +1 -1
  534. package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +1 -1
  535. package/src/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +1 -1
  536. package/src/wallet/node/wallets/local/LocalWallet.ts +48 -0
  537. package/src/wallet/node/wallets/local/__tests__/LocalWallet.spec.ts +64 -0
  538. package/src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts +1 -1
  539. package/src/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +1 -1
  540. package/src/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +1 -1
  541. package/src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts +1 -1
  542. package/dist/core/asset/__mocks__/mockAsset.d.ts +0 -6
  543. package/dist/core/asset/__mocks__/mockAsset.d.ts.map +0 -1
  544. package/dist/core/asset/__mocks__/mockAsset.js +0 -12
  545. package/dist/core/asset/__mocks__/mockAsset.js.map +0 -1
  546. package/dist/core/utils/__tests__/retryOnStaleRead.spec.d.ts.map +0 -1
  547. package/dist/core/utils/__tests__/retryOnStaleRead.spec.js.map +0 -1
  548. package/dist/core/utils/retryOnStaleRead.d.ts.map +0 -1
  549. package/dist/core/utils/retryOnStaleRead.js.map +0 -1
  550. package/dist/lend/__mocks__/MockLendProvider.d.ts.map +0 -1
  551. package/dist/lend/__mocks__/MockLendProvider.js.map +0 -1
  552. package/dist/lend/__mocks__/MockMarkets.d.ts.map +0 -1
  553. package/dist/lend/__mocks__/MockMarkets.js.map +0 -1
  554. package/dist/lend/__mocks__/mockLendTransaction.d.ts.map +0 -1
  555. package/dist/lend/__mocks__/mockLendTransaction.js.map +0 -1
  556. package/dist/lend/core/LendProvider.d.ts.map +0 -1
  557. package/dist/lend/core/LendProvider.js.map +0 -1
  558. package/dist/lend/core/__tests__/LendProvider.test.d.ts.map +0 -1
  559. package/dist/lend/core/__tests__/LendProvider.test.js.map +0 -1
  560. package/dist/lend/index.d.ts.map +0 -1
  561. package/dist/lend/index.js.map +0 -1
  562. package/dist/lend/namespaces/ActionsLendNamespace.d.ts.map +0 -1
  563. package/dist/lend/namespaces/ActionsLendNamespace.js.map +0 -1
  564. package/dist/lend/namespaces/BaseLendNamespace.d.ts +0 -43
  565. package/dist/lend/namespaces/BaseLendNamespace.d.ts.map +0 -1
  566. package/dist/lend/namespaces/BaseLendNamespace.js.map +0 -1
  567. package/dist/lend/namespaces/WalletLendNamespace.d.ts.map +0 -1
  568. package/dist/lend/namespaces/WalletLendNamespace.js.map +0 -1
  569. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.d.ts.map +0 -1
  570. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js.map +0 -1
  571. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.d.ts.map +0 -1
  572. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js.map +0 -1
  573. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.d.ts.map +0 -1
  574. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js.map +0 -1
  575. package/dist/lend/providers/aave/AaveLendProvider.d.ts.map +0 -1
  576. package/dist/lend/providers/aave/AaveLendProvider.js.map +0 -1
  577. package/dist/lend/providers/aave/__mocks__/mockReserve.d.ts.map +0 -1
  578. package/dist/lend/providers/aave/__mocks__/mockReserve.js.map +0 -1
  579. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.d.ts.map +0 -1
  580. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js.map +0 -1
  581. package/dist/lend/providers/aave/abis/pool.d.ts.map +0 -1
  582. package/dist/lend/providers/aave/abis/pool.js.map +0 -1
  583. package/dist/lend/providers/aave/addresses.d.ts.map +0 -1
  584. package/dist/lend/providers/aave/addresses.js.map +0 -1
  585. package/dist/lend/providers/aave/sdk.d.ts.map +0 -1
  586. package/dist/lend/providers/aave/sdk.js.map +0 -1
  587. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts.map +0 -1
  588. package/dist/lend/providers/morpho/MorphoLendProvider.js.map +0 -1
  589. package/dist/lend/providers/morpho/__mocks__/mockVault.d.ts.map +0 -1
  590. package/dist/lend/providers/morpho/__mocks__/mockVault.js.map +0 -1
  591. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.d.ts.map +0 -1
  592. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js.map +0 -1
  593. package/dist/lend/providers/morpho/__tests__/api.test.d.ts.map +0 -1
  594. package/dist/lend/providers/morpho/__tests__/api.test.js.map +0 -1
  595. package/dist/lend/providers/morpho/__tests__/sdk.test.d.ts.map +0 -1
  596. package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +0 -1
  597. package/dist/lend/providers/morpho/api.d.ts.map +0 -1
  598. package/dist/lend/providers/morpho/api.js.map +0 -1
  599. package/dist/lend/providers/morpho/contracts.d.ts.map +0 -1
  600. package/dist/lend/providers/morpho/sdk.d.ts.map +0 -1
  601. package/dist/lend/providers/morpho/sdk.js.map +0 -1
  602. package/dist/services/ChainManager.spec.d.ts.map +0 -1
  603. package/dist/services/ChainManager.spec.js.map +0 -1
  604. package/dist/services/tokenBalance.spec.d.ts.map +0 -1
  605. package/dist/services/tokenBalance.spec.js.map +0 -1
  606. package/dist/swap/__mocks__/MockSwapProvider.d.ts.map +0 -1
  607. package/dist/swap/__mocks__/MockSwapProvider.js.map +0 -1
  608. package/dist/swap/core/SwapProvider.d.ts.map +0 -1
  609. package/dist/swap/core/SwapProvider.js.map +0 -1
  610. package/dist/swap/core/__tests__/SwapProvider.test.d.ts.map +0 -1
  611. package/dist/swap/core/__tests__/SwapProvider.test.js.map +0 -1
  612. package/dist/swap/core/markets.d.ts.map +0 -1
  613. package/dist/swap/core/markets.js.map +0 -1
  614. package/dist/swap/index.d.ts.map +0 -1
  615. package/dist/swap/index.js.map +0 -1
  616. package/dist/swap/namespaces/ActionsSwapNamespace.d.ts.map +0 -1
  617. package/dist/swap/namespaces/ActionsSwapNamespace.js.map +0 -1
  618. package/dist/swap/namespaces/BaseSwapNamespace.d.ts.map +0 -1
  619. package/dist/swap/namespaces/BaseSwapNamespace.js.map +0 -1
  620. package/dist/swap/namespaces/WalletSwapNamespace.d.ts +0 -34
  621. package/dist/swap/namespaces/WalletSwapNamespace.d.ts.map +0 -1
  622. package/dist/swap/namespaces/WalletSwapNamespace.js +0 -84
  623. package/dist/swap/namespaces/WalletSwapNamespace.js.map +0 -1
  624. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts.map +0 -1
  625. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js.map +0 -1
  626. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts.map +0 -1
  627. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +0 -1
  628. package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +0 -1
  629. package/dist/swap/providers/uniswap/UniswapSwapProvider.js.map +0 -1
  630. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts.map +0 -1
  631. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js.map +0 -1
  632. package/dist/swap/providers/uniswap/__tests__/sdk.test.d.ts.map +0 -1
  633. package/dist/swap/providers/uniswap/__tests__/sdk.test.js.map +0 -1
  634. package/dist/swap/providers/uniswap/abis.d.ts.map +0 -1
  635. package/dist/swap/providers/uniswap/abis.js.map +0 -1
  636. package/dist/swap/providers/uniswap/addresses.d.ts.map +0 -1
  637. package/dist/swap/providers/uniswap/addresses.js.map +0 -1
  638. package/dist/swap/providers/uniswap/encoding.d.ts.map +0 -1
  639. package/dist/swap/providers/uniswap/encoding.js.map +0 -1
  640. package/dist/swap/providers/uniswap/markets.d.ts.map +0 -1
  641. package/dist/swap/providers/uniswap/markets.js.map +0 -1
  642. package/dist/swap/providers/uniswap/types.d.ts.map +0 -1
  643. package/dist/swap/providers/uniswap/types.js.map +0 -1
  644. package/dist/swap/providers/velodrome/VelodromeSwapProvider.d.ts.map +0 -1
  645. package/dist/swap/providers/velodrome/VelodromeSwapProvider.js.map +0 -1
  646. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts.map +0 -1
  647. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js.map +0 -1
  648. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts.map +0 -1
  649. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js.map +0 -1
  650. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts.map +0 -1
  651. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.js.map +0 -1
  652. package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.d.ts.map +0 -1
  653. package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.js.map +0 -1
  654. package/dist/swap/providers/velodrome/__tests__/encoding.helpers.d.ts.map +0 -1
  655. package/dist/swap/providers/velodrome/__tests__/encoding.helpers.js.map +0 -1
  656. package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.d.ts.map +0 -1
  657. package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.js.map +0 -1
  658. package/dist/swap/providers/velodrome/abis.d.ts.map +0 -1
  659. package/dist/swap/providers/velodrome/abis.js.map +0 -1
  660. package/dist/swap/providers/velodrome/addresses.d.ts.map +0 -1
  661. package/dist/swap/providers/velodrome/addresses.js.map +0 -1
  662. package/dist/swap/providers/velodrome/config.d.ts.map +0 -1
  663. package/dist/swap/providers/velodrome/config.js.map +0 -1
  664. package/dist/swap/providers/velodrome/encoding/helpers.d.ts.map +0 -1
  665. package/dist/swap/providers/velodrome/encoding/helpers.js.map +0 -1
  666. package/dist/swap/providers/velodrome/encoding/index.d.ts.map +0 -1
  667. package/dist/swap/providers/velodrome/encoding/index.js.map +0 -1
  668. package/dist/swap/providers/velodrome/encoding/poolRouter.d.ts.map +0 -1
  669. package/dist/swap/providers/velodrome/encoding/poolRouter.js.map +0 -1
  670. package/dist/swap/providers/velodrome/encoding/routers/approval.d.ts +0 -15
  671. package/dist/swap/providers/velodrome/encoding/routers/approval.d.ts.map +0 -1
  672. package/dist/swap/providers/velodrome/encoding/routers/approval.js +0 -33
  673. package/dist/swap/providers/velodrome/encoding/routers/approval.js.map +0 -1
  674. package/dist/swap/providers/velodrome/encoding/routers/cl.d.ts.map +0 -1
  675. package/dist/swap/providers/velodrome/encoding/routers/cl.js.map +0 -1
  676. package/dist/swap/providers/velodrome/encoding/routers/v2.d.ts.map +0 -1
  677. package/dist/swap/providers/velodrome/encoding/routers/v2.js.map +0 -1
  678. package/dist/swap/providers/velodrome/markets.d.ts.map +0 -1
  679. package/dist/swap/providers/velodrome/markets.js.map +0 -1
  680. package/dist/swap/providers/velodrome/types.d.ts.map +0 -1
  681. package/dist/swap/providers/velodrome/types.js.map +0 -1
  682. package/dist/types/lend/contracts.d.ts.map +0 -1
  683. package/dist/types/lend/contracts.js +0 -2
  684. package/dist/types/lend/contracts.js.map +0 -1
  685. package/dist/utils/approve.test.d.ts.map +0 -1
  686. package/dist/utils/approve.test.js.map +0 -1
  687. package/dist/utils/assets.test.d.ts.map +0 -1
  688. package/dist/utils/assets.test.js.map +0 -1
  689. package/dist/utils/markets.d.ts +0 -17
  690. package/dist/utils/markets.d.ts.map +0 -1
  691. package/dist/utils/markets.js +0 -25
  692. package/dist/utils/markets.js.map +0 -1
  693. package/dist/utils/validateAddresses.test.d.ts.map +0 -1
  694. package/dist/utils/validateAddresses.test.js.map +0 -1
  695. package/src/core/asset/__mocks__/mockAsset.ts +0 -13
  696. package/src/lend/index.ts +0 -3
  697. package/src/swap/index.ts +0 -19
  698. package/src/swap/namespaces/WalletSwapNamespace.ts +0 -121
  699. package/src/swap/providers/velodrome/encoding/routers/approval.ts +0 -45
  700. package/src/utils/markets.ts +0 -35
  701. /package/dist/{lend → actions/lend}/core/__tests__/LendProvider.test.d.ts +0 -0
  702. /package/dist/{lend → actions/lend}/index.d.ts +0 -0
  703. /package/dist/{lend → actions/lend}/index.js +0 -0
  704. /package/dist/{lend → actions/lend}/namespaces/ActionsLendNamespace.d.ts +0 -0
  705. /package/dist/{lend → actions/lend}/namespaces/ActionsLendNamespace.js +0 -0
  706. /package/dist/{lend → actions/lend}/namespaces/__tests__/ActionsLendNamespace.spec.d.ts +0 -0
  707. /package/dist/{lend → actions/lend}/namespaces/__tests__/BaseLendNamespace.spec.d.ts +0 -0
  708. /package/dist/{lend → actions/lend}/namespaces/__tests__/WalletLendNamespace.spec.d.ts +0 -0
  709. /package/dist/{lend → actions/lend}/providers/aave/__mocks__/mockReserve.js +0 -0
  710. /package/dist/{lend → actions/lend}/providers/aave/__tests__/AaveLendProvider.test.d.ts +0 -0
  711. /package/dist/{lend → actions/lend}/providers/aave/abis/pool.d.ts +0 -0
  712. /package/dist/{lend → actions/lend}/providers/aave/abis/pool.js +0 -0
  713. /package/dist/{lend → actions/lend}/providers/aave/addresses.d.ts +0 -0
  714. /package/dist/{lend → actions/lend}/providers/aave/addresses.js +0 -0
  715. /package/dist/{lend → actions/lend}/providers/morpho/__mocks__/mockVault.d.ts +0 -0
  716. /package/dist/{lend → actions/lend}/providers/morpho/__mocks__/mockVault.js +0 -0
  717. /package/dist/{lend → actions/lend}/providers/morpho/__tests__/MorphoLendProvider.test.d.ts +0 -0
  718. /package/dist/{lend → actions/lend}/providers/morpho/__tests__/api.test.d.ts +0 -0
  719. /package/dist/{lend → actions/lend}/providers/morpho/__tests__/sdk.test.d.ts +0 -0
  720. /package/dist/{lend → actions/lend}/providers/morpho/api.d.ts +0 -0
  721. /package/dist/{lend → actions/lend}/providers/morpho/api.js +0 -0
  722. /package/dist/{lend/providers → actions/shared}/morpho/contracts.js +0 -0
  723. /package/dist/{swap/providers/uniswap → actions/shared/morpho}/types.js +0 -0
  724. /package/dist/{swap → actions/swap}/core/__tests__/SwapProvider.test.d.ts +0 -0
  725. /package/dist/{swap → actions/swap}/index.d.ts +0 -0
  726. /package/dist/{swap → actions/swap}/index.js +0 -0
  727. /package/dist/{swap → actions/swap}/namespaces/ActionsSwapNamespace.d.ts +0 -0
  728. /package/dist/{swap → actions/swap}/namespaces/ActionsSwapNamespace.js +0 -0
  729. /package/dist/{swap → actions/swap}/namespaces/__tests__/BaseSwapNamespace.spec.d.ts +0 -0
  730. /package/dist/{swap → actions/swap}/namespaces/__tests__/WalletSwapNamespace.spec.d.ts +0 -0
  731. /package/dist/{swap → actions/swap}/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts +0 -0
  732. /package/dist/{swap → actions/swap}/providers/uniswap/__tests__/sdk.test.d.ts +0 -0
  733. /package/dist/{swap → actions/swap}/providers/uniswap/abis.d.ts +0 -0
  734. /package/dist/{swap → actions/swap}/providers/uniswap/abis.js +0 -0
  735. /package/dist/{swap/providers/velodrome → actions/swap/providers/uniswap}/types.js +0 -0
  736. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts +0 -0
  737. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js +0 -0
  738. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts +0 -0
  739. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts +0 -0
  740. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.cl.test.d.ts +0 -0
  741. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.helpers.js +0 -0
  742. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.v2.test.d.ts +0 -0
  743. /package/dist/{swap → actions/swap}/providers/velodrome/abis.d.ts +0 -0
  744. /package/dist/{swap → actions/swap}/providers/velodrome/abis.js +0 -0
  745. /package/dist/{swap → actions/swap}/providers/velodrome/addresses.js +0 -0
  746. /package/dist/services/{ChainManager.spec.d.ts → __tests__/ChainManager.spec.d.ts} +0 -0
  747. /package/dist/services/{tokenBalance.spec.d.ts → __tests__/tokenBalance.spec.d.ts} +0 -0
  748. /package/dist/utils/{approve.test.d.ts → __tests__/approve.test.d.ts} +0 -0
  749. /package/dist/utils/{assets.test.d.ts → __tests__/assets.test.d.ts} +0 -0
  750. /package/dist/utils/{validateAddresses.test.d.ts → __tests__/validateAddresses.test.d.ts} +0 -0
  751. /package/dist/{core → wallet/core}/utils/__tests__/retryOnStaleRead.spec.d.ts +0 -0
  752. /package/dist/{core → wallet/core}/utils/__tests__/retryOnStaleRead.spec.js +0 -0
  753. /package/dist/{core → wallet/core}/utils/retryOnStaleRead.d.ts +0 -0
  754. /package/dist/{core → wallet/core}/utils/retryOnStaleRead.js +0 -0
  755. /package/src/{lend → actions/lend}/__mocks__/MockMarkets.ts +0 -0
  756. /package/src/{lend → actions/lend}/namespaces/ActionsLendNamespace.ts +0 -0
  757. /package/src/{lend → actions/lend}/providers/aave/__mocks__/mockReserve.ts +0 -0
  758. /package/src/{lend → actions/lend}/providers/aave/abis/pool.ts +0 -0
  759. /package/src/{lend → actions/lend}/providers/aave/addresses.ts +0 -0
  760. /package/src/{lend → actions/lend}/providers/morpho/__mocks__/mockVault.ts +0 -0
  761. /package/src/{lend → actions/lend}/providers/morpho/api.ts +0 -0
  762. /package/src/{types/lend/contracts.ts → actions/shared/morpho/types.ts} +0 -0
  763. /package/src/{swap → actions/swap}/providers/uniswap/abis.ts +0 -0
  764. /package/src/{swap → actions/swap}/providers/uniswap/types.ts +0 -0
  765. /package/src/{swap → actions/swap}/providers/velodrome/__tests__/encoding.helpers.ts +0 -0
  766. /package/src/{swap → actions/swap}/providers/velodrome/abis.ts +0 -0
  767. /package/src/{swap → actions/swap}/providers/velodrome/addresses.ts +0 -0
  768. /package/src/{swap → actions/swap}/providers/velodrome/types.ts +0 -0
  769. /package/src/utils/{assets.test.ts → __tests__/assets.test.ts} +0 -0
  770. /package/src/{core → wallet/core}/utils/retryOnStaleRead.ts +0 -0
@@ -0,0 +1,85 @@
1
+ import type { Address, PublicClient } from 'viem'
2
+ import { isAddress, isAddressEqual, zeroAddress } from 'viem'
3
+ import { normalize } from 'viem/ens'
4
+
5
+ import {
6
+ EnsNotConfiguredError,
7
+ EnsResolutionError,
8
+ EnsRpcError,
9
+ } from '@/services/nameservices/ens/errors.js'
10
+ import type { EnsName } from '@/services/nameservices/ens/types.js'
11
+
12
+ export { type EnsName, isEnsName } from '@/services/nameservices/ens/types.js'
13
+
14
+ /** Resolves an ENS name or address to a checksummed hex Address, or returns undefined. */
15
+ export type RecipientResolver = (
16
+ recipient: Address | EnsName | undefined,
17
+ ) => Promise<Address | undefined>
18
+
19
+ /** Pass-through resolver used when no ENS resolution is configured. Throws on ENS names. */
20
+ export const passthroughResolver: RecipientResolver = (r) => {
21
+ if (r !== undefined && !isAddress(r, { strict: false })) {
22
+ throw new Error(`ENS resolution is not configured; received "${r}"`)
23
+ }
24
+ return Promise.resolve(r as Address | undefined)
25
+ }
26
+
27
+ /**
28
+ * Low-level utility to resolve an ENS name or hex address to a checksummed hex address.
29
+ * Use this when you manage your own viem PublicClient (e.g. inside providers or scripts).
30
+ *
31
+ * If you have an {@link Actions} instance, prefer `actions.ens.getAddress()` instead —
32
+ * it handles client lookup and fallback automatically from your chain configuration.
33
+ *
34
+ * Hex addresses (0x...) are returned as-is after format validation.
35
+ * ENS names require a mainnet public client for on-chain resolution.
36
+ * @param input - Hex address (0x...) or ENS name (e.g. "vitalik.eth")
37
+ * @param mainnetClient - Public client connected to Ethereum mainnet (required for ENS names)
38
+ * @returns Resolved hex address
39
+ * @throws {EnsNotConfiguredError} If mainnet client is not provided
40
+ * @throws {EnsResolutionError} If the name is invalid or cannot be resolved
41
+ * @throws {EnsRpcError} If the RPC call fails
42
+ */
43
+ export async function resolveAddress(
44
+ input: Address | EnsName,
45
+ mainnetClient?: PublicClient,
46
+ ): Promise<Address> {
47
+ if (isAddress(input, { strict: false })) return input
48
+
49
+ if (!mainnetClient) throw new EnsNotConfiguredError()
50
+
51
+ const normalized = (() => {
52
+ try {
53
+ return normalize(input)
54
+ } catch (cause) {
55
+ throw new EnsResolutionError(
56
+ `Invalid address or ENS name: "${input}"`,
57
+ input,
58
+ { cause },
59
+ )
60
+ }
61
+ })()
62
+
63
+ const resolved = await mainnetClient
64
+ .getEnsAddress({ name: normalized })
65
+ .catch((cause: unknown) => {
66
+ throw new EnsRpcError(
67
+ `ENS resolution failed for "${input}": RPC error`,
68
+ input,
69
+ { cause },
70
+ )
71
+ })
72
+
73
+ if (!resolved)
74
+ throw new EnsResolutionError(
75
+ `ENS name "${input}" could not be resolved`,
76
+ input,
77
+ )
78
+ if (isAddressEqual(resolved, zeroAddress)) {
79
+ throw new EnsResolutionError(
80
+ `ENS name "${input}" resolved to the zero address`,
81
+ input,
82
+ )
83
+ }
84
+ return resolved
85
+ }
@@ -4,20 +4,24 @@ import { erc20Abi, formatEther, formatUnits } from 'viem'
4
4
  import { ETH } from '@/constants/assets.js'
5
5
  import type { SupportedChainId } from '@/constants/supportedChains.js'
6
6
  import type { ChainManager } from '@/services/ChainManager.js'
7
- import type { Asset, TokenBalance } from '@/types/asset.js'
7
+ import type { Asset, BalanceFetchOptions, TokenBalance } from '@/types/asset.js'
8
8
 
9
9
  /**
10
- * Fetch ETH balance across all supported chains
10
+ * Fetch ETH balance across the requested chains (or all supported chains).
11
11
  * @param chainManager - The chain manager
12
12
  * @param walletAddress - The wallet address
13
+ * @param options - Optional `chainIds` filter (caller-validated)
13
14
  * @returns Promise resolving to ETH balance
14
15
  */
15
16
  export async function fetchETHBalance(
16
17
  chainManager: ChainManager,
17
18
  walletAddress: Address,
19
+ options?: BalanceFetchOptions,
18
20
  ): Promise<TokenBalance> {
19
- const supportedChains = chainManager.getSupportedChains()
20
- const chainBalancePromises = supportedChains.map(async (chainId) => {
21
+ const targetChains = [
22
+ ...new Set(options?.chainIds ?? chainManager.getSupportedChains()),
23
+ ]
24
+ const chainBalancePromises = targetChains.map(async (chainId) => {
21
25
  const publicClient = chainManager.getPublicClient(chainId)
22
26
  const balanceRaw = await publicClient.getBalance({
23
27
  address: walletAddress,
@@ -48,15 +52,20 @@ export async function fetchETHBalance(
48
52
  }
49
53
 
50
54
  /**
51
- * Fetch total balance for this asset across all supported chains
55
+ * Fetch total balance for this asset across the requested chains (or all
56
+ * supported chains). Chains where the asset has no configured address are
57
+ * silently skipped, matching the unfiltered behavior.
52
58
  */
53
59
  export async function fetchERC20Balance(
54
60
  chainManager: ChainManager,
55
61
  walletAddress: Address,
56
62
  asset: Asset,
63
+ options?: BalanceFetchOptions,
57
64
  ): Promise<TokenBalance> {
58
- const supportedChains = chainManager.getSupportedChains()
59
- const chainsWithToken = supportedChains.filter(
65
+ const targetChains = [
66
+ ...new Set(options?.chainIds ?? chainManager.getSupportedChains()),
67
+ ]
68
+ const chainsWithToken = targetChains.filter(
60
69
  (chainId) => asset.address[chainId],
61
70
  )
62
71
 
@@ -1,5 +1,6 @@
1
- import type { UniswapSwapProviderConfig } from '@/swap/providers/uniswap/types.js'
2
- import type { VelodromeSwapProviderConfig } from '@/swap/providers/velodrome/types.js'
1
+ import type { UniswapSwapProviderConfig } from '@/actions/swap/providers/uniswap/types.js'
2
+ import type { VelodromeSwapProviderConfig } from '@/actions/swap/providers/velodrome/types.js'
3
+ import type { ChainManager } from '@/services/ChainManager.js'
3
4
  import type { Asset } from '@/types/asset.js'
4
5
  import type { ChainConfig } from '@/types/chain.js'
5
6
  import type { LendProviderConfig } from '@/types/lend/index.js'
@@ -18,11 +19,28 @@ type RequireAtLeastOne<T> = {
18
19
  }[keyof T]
19
20
 
20
21
  /**
21
- * Lending configuration at least one provider must be configured
22
+ * Shared lend settings applied across all providers.
23
+ * Provider-level values override these when set.
24
+ */
25
+ export interface LendSettings {
26
+ /**
27
+ * Default approval-amount strategy for ERC-20 → market approvals on supply.
28
+ * Per-call params override this; provider-level config overrides it for a
29
+ * single provider.
30
+ */
31
+ approvalMode?: ApprovalMode
32
+ }
33
+
34
+ /**
35
+ * Lending configuration — at least one provider must be configured.
36
+ * Shared settings go in `settings`; per-provider settings go under the provider key.
22
37
  */
23
38
  export type LendConfig = RequireAtLeastOne<{
24
39
  [K in keyof LendProviders]: LendProviderConfig
25
- }>
40
+ }> & {
41
+ /** Shared settings applied across all lend providers */
42
+ settings?: LendSettings
43
+ }
26
44
 
27
45
  /** Names of available swap providers — derived from SwapProviders registry */
28
46
  export type SwapProviderName = keyof SwapProviders
@@ -54,6 +72,12 @@ export interface SwapSettings {
54
72
  routing?: SwapRoutingStrategy
55
73
  /** Provider to prefer when routing produces a tie, or to always use when no routing strategy is set. */
56
74
  defaultProvider?: SwapProviderName
75
+ /**
76
+ * Default approval-amount strategy for swap approvals (Permit2 outer +
77
+ * inner). Per-call params override this; provider-level config overrides it
78
+ * for a single provider.
79
+ */
80
+ approvalMode?: ApprovalMode
57
81
  }
58
82
 
59
83
  /**
@@ -91,6 +115,44 @@ export interface AssetsConfig {
91
115
  block?: Asset[]
92
116
  }
93
117
 
118
+ /**
119
+ * Shared dependencies derived from `ActionsConfig` at SDK construction time.
120
+ * @description Immutable bundle of resolved providers and services that the
121
+ * Actions SDK threads through its internal namespaces. Consumers that need
122
+ * provider references should receive an `ActionsContext` rather than a raw
123
+ * `ActionsConfig` — the providers in the context are already constructed and
124
+ * hold their own per-provider configuration (market allowlists, slippage
125
+ * defaults, etc.).
126
+ */
127
+ export interface ActionsContext {
128
+ /** Chain manager wrapping the configured chains */
129
+ chainManager: ChainManager
130
+ /** Configured lend provider instances (each holds its own config) */
131
+ lendProviders: LendProviders
132
+ /** Configured swap provider instances (each holds its own config) */
133
+ swapProviders: SwapProviders
134
+ /** Resolved supported asset list (allowlist minus blocklist) */
135
+ supportedAssets: Asset[]
136
+ /** Shared swap settings applied across swap providers */
137
+ swapSettings?: SwapSettings
138
+ }
139
+
140
+ /**
141
+ * Approval amount strategy used when the SDK needs to grant a contract
142
+ * permission to spend the user's tokens (Permit2, Aave Pool, Morpho vault, ...).
143
+ *
144
+ * `"exact"` approves exactly the amount required for the current operation.
145
+ * Each subsequent operation needs its own approval transaction.
146
+ *
147
+ * `"max"` approves `maxUint256` for ERC-20 spenders / `maxUint160` for
148
+ * Permit2's inner allowance. Subsequent operations skip the re-approval
149
+ * round trip until the underlying allowance is consumed or expires.
150
+ *
151
+ * Default is `"exact"` for safety. Demo / dogfood configs typically opt into
152
+ * `"max"` to avoid an extra approval tx per swap or supply.
153
+ */
154
+ export type ApprovalMode = 'exact' | 'max'
155
+
94
156
  /**
95
157
  * Actions SDK configuration
96
158
  * @description Configuration object for initializing the Actions SDK
@@ -113,14 +175,17 @@ export interface ActionsConfig<
113
175
 
114
176
  /**
115
177
  * Wallet configuration
116
- * @description Configuration for wallet providers
178
+ * @description Configuration for wallet providers. `hostedWalletConfig` is
179
+ * optional; when omitted, `wallet.toActionsWallet` accepts only a viem
180
+ * `LocalAccount` and `wallet.createSigner` / `wallet.hostedWalletProvider`
181
+ * are not available.
117
182
  */
118
183
  export type WalletConfig<
119
184
  THostedProviderType extends string,
120
185
  TConfigMap extends { [K in THostedProviderType]: unknown },
121
186
  > = {
122
- /** Hosted wallet configuration */
123
- hostedWalletConfig: HostedWalletConfig<THostedProviderType, TConfigMap>
187
+ /** Hosted wallet configuration (optional) */
188
+ hostedWalletConfig?: HostedWalletConfig<THostedProviderType, TConfigMap>
124
189
  /** Smart wallet configuration for ERC-4337 infrastructure */
125
190
  smartWalletConfig: SmartWalletConfig
126
191
  }
@@ -35,3 +35,11 @@ export interface TokenBalance {
35
35
  >
36
36
  >
37
37
  }
38
+
39
+ /**
40
+ * Options accepted by the SDK's balance fetch surface (`Wallet.getBalance` and the underlying `fetchETHBalance` / `fetchERC20Balance` helpers).
41
+ * @property chainIds - Subset of supported chain ids to query. When omitted, all supported chains are queried. `Wallet.getBalance` validates this list via `validateChainIds`; the service helpers themselves trust their input.
42
+ */
43
+ export interface BalanceFetchOptions {
44
+ chainIds?: readonly SupportedChainId[]
45
+ }
@@ -0,0 +1,13 @@
1
+ import type { SupportedChainId } from '@/constants/supportedChains.js'
2
+ import type { Asset } from '@/types/asset.js'
3
+
4
+ /**
5
+ * Common filter parameters shared across SDK list queries (Lend, Swap, Borrow, …).
6
+ * @description Base interface for filtering by asset and/or chain.
7
+ */
8
+ export interface FilterAssetChain {
9
+ /** Optional asset to filter by */
10
+ asset?: Asset
11
+ /** Optional chain ID to filter by */
12
+ chainId?: SupportedChainId
13
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Transaction-level options shared across SDK domains (Lend, Swap, Borrow, …).
3
+ * @description Optional per-call overrides for transaction execution.
4
+ */
5
+ export interface TransactionOptions {
6
+ /** Deadline for transaction (timestamp) */
7
+ deadline?: number
8
+ /** Gas limit override */
9
+ gasLimit?: bigint
10
+ /** Gas price override */
11
+ gasPrice?: bigint
12
+ }
@@ -0,0 +1,2 @@
1
+ export * from '@/types/common/FilterAssetChain.js'
2
+ export * from '@/types/common/TransactionOptions.js'
@@ -1,6 +1,7 @@
1
1
  export * from '@/types/actions.js'
2
2
  export * from '@/types/asset.js'
3
3
  export * from '@/types/chain.js'
4
+ export * from '@/types/common/index.js'
4
5
  export * from '@/types/lend/index.js'
5
6
  export * from '@/types/swap/index.js'
6
7
  export * from '@/types/transaction.js'
@@ -1,8 +1,12 @@
1
1
  import type { Address } from 'viem'
2
2
 
3
3
  import type { SupportedChainId } from '@/constants/supportedChains.js'
4
- import type { LendProviderName } from '@/types/actions.js'
4
+ import type { ApprovalMode, LendProviderName } from '@/types/actions.js'
5
5
  import type { Asset } from '@/types/asset.js'
6
+ import type {
7
+ FilterAssetChain,
8
+ TransactionOptions,
9
+ } from '@/types/common/index.js'
6
10
  // Import and re-export shared transaction type for backwards compatibility
7
11
  import type { TransactionData } from '@/types/transaction.js'
8
12
  import type {
@@ -10,9 +14,9 @@ import type {
10
14
  TransactionReturnType,
11
15
  } from '@/wallet/core/wallets/abstract/types/index.js'
12
16
 
13
- export { LendProvider } from '@/lend/core/LendProvider.js'
14
- export { ActionsLendNamespace } from '@/lend/namespaces/ActionsLendNamespace.js'
15
- export { WalletLendNamespace } from '@/lend/namespaces/WalletLendNamespace.js'
17
+ export { LendProvider } from '@/actions/lend/core/LendProvider.js'
18
+ export { ActionsLendNamespace } from '@/actions/lend/namespaces/ActionsLendNamespace.js'
19
+ export { WalletLendNamespace } from '@/actions/lend/namespaces/WalletLendNamespace.js'
16
20
  export type { TransactionData }
17
21
 
18
22
  /**
@@ -68,8 +72,8 @@ export interface LendTransaction {
68
72
  hash?: string
69
73
  /** Amount lent */
70
74
  amount: bigint
71
- /** Asset address */
72
- asset: Address
75
+ /** Underlying ERC-20 address (the wrapped form for native deposits) */
76
+ assetAddress: Address
73
77
  /** Market ID */
74
78
  marketId: string
75
79
  /** Estimated APY at time of lending */
@@ -186,19 +190,6 @@ export interface LendMarket {
186
190
  metadata: LendMarketMetadata
187
191
  }
188
192
 
189
- /**
190
- * Lending options
191
- * @description Configuration options for lending operations
192
- */
193
- export interface LendOptions {
194
- /** Deadline for transaction (timestamp) */
195
- deadline?: number
196
- /** Gas limit override */
197
- gasLimit?: bigint
198
- /** Gas price override */
199
- gasPrice?: bigint
200
- }
201
-
202
193
  /**
203
194
  * Individual lending provider configuration
204
195
  * @description Configuration for a single lending provider
@@ -208,6 +199,8 @@ export interface LendProviderConfig {
208
199
  marketAllowlist?: LendMarketConfig[]
209
200
  /** Blocklist of markets to exclude from lending */
210
201
  marketBlocklist?: LendMarketConfig[]
202
+ /** Approval-amount strategy override for this provider. Overrides `LendSettings.approvalMode`. */
203
+ approvalMode?: ApprovalMode
211
204
  }
212
205
 
213
206
  /**
@@ -238,7 +231,12 @@ export interface LendOpenPositionBaseParams {
238
231
  /** Wallet address for receiving shares and as owner (auto-populated by WalletLendNamespace) */
239
232
  walletAddress?: Address
240
233
  /** Optional lending configuration */
241
- options?: LendOptions
234
+ options?: TransactionOptions
235
+ /**
236
+ * Override the wallet-level approval-amount strategy for this single supply.
237
+ * Falls back to `ActionsConfig.wallet.approvalMode` and finally to `"exact"`.
238
+ */
239
+ approvalMode?: ApprovalMode
242
240
  }
243
241
 
244
242
  /**
@@ -255,7 +253,7 @@ export interface LendOpenPositionParams extends LendOpenPositionBaseParams {
255
253
  */
256
254
  export interface LendOpenPositionInternalParams extends Omit<
257
255
  LendOpenPositionBaseParams,
258
- 'walletAddress'
256
+ 'walletAddress' | 'approvalMode'
259
257
  > {
260
258
  /** Amount to lend in wei */
261
259
  amountWei: bigint
@@ -263,6 +261,31 @@ export interface LendOpenPositionInternalParams extends Omit<
263
261
  walletAddress: Address
264
262
  }
265
263
 
264
+ /**
265
+ * Provider-supplied description of a lend open-position operation. The base
266
+ * `LendProvider` consumes this to build the surrounding `LendTransaction`,
267
+ * including the ERC-20 approval transaction (if any). Providers describe
268
+ * **what** the deposit looks like; the base derives **how** the approval is
269
+ * built from `params.asset` (native vs. ERC-20).
270
+ *
271
+ * For native-asset deposits, omit `spender` — the base reads `params.asset.type`
272
+ * and skips approval construction entirely. For ERC-20 deposits, `spender` is
273
+ * required and the base will throw if it's missing.
274
+ */
275
+ export interface LendOpenPosition {
276
+ /** Underlying ERC-20 address being deposited (the wrapped form for native deposits). */
277
+ assetAddress: Address
278
+ /**
279
+ * ERC-20 spender that needs allowance to pull `params.amountWei` from the
280
+ * wallet. Required for ERC-20 deposits; omit for native deposits.
281
+ */
282
+ spender?: Address
283
+ /** The deposit transaction itself (provider-specific calldata; `value` set for native). */
284
+ transaction: TransactionData
285
+ /** APY snapshot at the time the description was built. */
286
+ apy: number
287
+ }
288
+
266
289
  /**
267
290
  * Parameters for withdraw operation (internal)
268
291
  * @description Internal parameters required for withdrawing assets
@@ -277,7 +300,7 @@ export interface LendClosePositionParams {
277
300
  /** Wallet address for receiving assets and as owner */
278
301
  walletAddress: Address
279
302
  /** Optional withdrawal configuration */
280
- options?: LendOptions
303
+ options?: TransactionOptions
281
304
  }
282
305
 
283
306
  /**
@@ -294,7 +317,7 @@ export interface ClosePositionParams {
294
317
  /** Wallet address for receiving assets and as owner (auto-populated by WalletLendNamespace) */
295
318
  walletAddress?: Address
296
319
  /** Optional withdrawal configuration */
297
- options?: LendOptions
320
+ options?: TransactionOptions
298
321
  }
299
322
 
300
323
  /**
@@ -308,17 +331,6 @@ export interface GetPositionParams {
308
331
  asset?: Asset
309
332
  }
310
333
 
311
- /**
312
- * Common filter parameters for asset and chain
313
- * @description Base interface for filtering by asset and/or chain
314
- */
315
- export interface FilterAssetChain {
316
- /** Optional asset to filter by */
317
- asset?: Asset
318
- /** Optional chain ID to filter by */
319
- chainId?: SupportedChainId
320
- }
321
-
322
334
  /**
323
335
  * Parameters for getting lending markets
324
336
  * @description Parameters for filtering lending markets
@@ -347,11 +359,11 @@ export interface LendProviderMethods {
347
359
  /**
348
360
  * Provider implementation of openPosition method
349
361
  * @param params - Open position operation parameters
350
- * @returns Promise resolving to transaction data
362
+ * @returns Promise resolving to a `LendOpenPosition` description
351
363
  */
352
364
  _openPosition(
353
365
  params: LendOpenPositionInternalParams,
354
- ): Promise<TransactionData>
366
+ ): Promise<LendOpenPosition>
355
367
 
356
368
  /**
357
369
  * Provider implementation of closePosition method
@@ -1,3 +1,2 @@
1
1
  export * from '@/types/lend/base.js'
2
- export * from '@/types/lend/contracts.js'
3
2
  export * from '@/types/lend/morpho.js'
@@ -1,5 +1,5 @@
1
- import type { LendProvider } from '@/lend/core/LendProvider.js'
2
- import type { SwapProvider } from '@/swap/core/SwapProvider.js'
1
+ import type { LendProvider } from '@/actions/lend/core/LendProvider.js'
2
+ import type { SwapProvider } from '@/actions/swap/core/SwapProvider.js'
3
3
  import type { LendProviderConfig } from '@/types/lend/index.js'
4
4
  import type { SwapProviderConfig } from '@/types/swap/index.js'
5
5
 
@@ -1,7 +1,8 @@
1
1
  import type { Address, Hex } from 'viem'
2
2
 
3
3
  import type { SupportedChainId } from '@/constants/supportedChains.js'
4
- import type { SwapProviderName } from '@/types/actions.js'
4
+ import type { EnsName } from '@/services/nameservices/ens/types.js'
5
+ import type { ApprovalMode, SwapProviderName } from '@/types/actions.js'
5
6
  import type { Asset } from '@/types/asset.js'
6
7
  import type { TransactionData } from '@/types/transaction.js'
7
8
  import type {
@@ -9,9 +10,9 @@ import type {
9
10
  TransactionReturnType,
10
11
  } from '@/wallet/core/wallets/abstract/types/index.js'
11
12
 
12
- export { SwapProvider } from '@/swap/core/SwapProvider.js'
13
- export { ActionsSwapNamespace } from '@/swap/namespaces/ActionsSwapNamespace.js'
14
- export { WalletSwapNamespace } from '@/swap/namespaces/WalletSwapNamespace.js'
13
+ export { SwapProvider } from '@/actions/swap/core/SwapProvider.js'
14
+ export { ActionsSwapNamespace } from '@/actions/swap/namespaces/ActionsSwapNamespace.js'
15
+ export { WalletSwapNamespace } from '@/actions/swap/namespaces/WalletSwapNamespace.js'
15
16
  export type { SwapProviders } from '@/types/providers.js'
16
17
 
17
18
  /**
@@ -29,6 +30,8 @@ export interface SwapProviderConfig {
29
30
  marketAllowlist?: SwapMarketConfig[]
30
31
  /** Blocklist of swap markets to exclude */
31
32
  marketBlocklist?: SwapMarketConfig[]
33
+ /** Approval-amount strategy override for this provider. Overrides `SwapSettings.approvalMode`. */
34
+ approvalMode?: ApprovalMode
32
35
  }
33
36
 
34
37
  /**
@@ -88,10 +91,15 @@ export interface WalletSwapParams {
88
91
  slippage?: number
89
92
  /** Transaction deadline as Unix timestamp. Defaults to now + 1 minute. */
90
93
  deadline?: number
91
- /** Recipient address. Defaults to wallet address. */
92
- recipient?: Address
94
+ /** Recipient address or ENS name (e.g. "vitalik.eth"). Defaults to wallet address. */
95
+ recipient?: Address | EnsName
93
96
  /** Explicitly select a swap provider. Overrides routing config. */
94
97
  provider?: SwapProviderName
98
+ /**
99
+ * Override the wallet-level approval-amount strategy for this single swap.
100
+ * Falls back to `ActionsConfig.wallet.approvalMode` and finally to `"exact"`.
101
+ */
102
+ approvalMode?: ApprovalMode
95
103
  }
96
104
 
97
105
  /**
@@ -116,6 +124,8 @@ export interface ResolvedSwapParams {
116
124
  recipient: Address
117
125
  walletAddress: Address
118
126
  chainId: SupportedChainId
127
+ /** Resolved approval-amount strategy (per-call → wallet config → "exact"). */
128
+ approvalMode: ApprovalMode
119
129
  }
120
130
 
121
131
  /**
@@ -156,8 +166,8 @@ export interface SwapQuoteParams {
156
166
  slippage?: number
157
167
  /** Transaction deadline as Unix timestamp */
158
168
  deadline?: number
159
- /** Recipient address */
160
- recipient?: Address
169
+ /** Recipient address or ENS name (e.g. "vitalik.eth"). Defaults to wallet address. */
170
+ recipient?: Address | EnsName
161
171
  /** Explicitly select a swap provider */
162
172
  provider?: SwapProviderName
163
173
  }
@@ -238,17 +248,20 @@ export interface SwapQuote {
238
248
  /** Estimated gas cost as raw bigint (native decimals) */
239
249
  gasEstimate?: bigint
240
250
  /**
241
- * Wallet address that will execute this quote.
242
- * Set by WalletSwapNamespace before execution not available on price-only quotes.
243
- * Used to check existing on-chain allowances and skip redundant approvals.
251
+ * Recipient address baked into execution.swapCalldata at quote time.
252
+ * Required. To execute a quote on a wallet, the quote must have been
253
+ * generated for that wallet (recipient === wallet.address); otherwise
254
+ * WalletSwapNamespace.execute throws. Re-quote via wallet.swap.getQuote
255
+ * when the executor differs from the quote's recipient.
244
256
  */
245
- recipient?: Address
257
+ recipient: Address
246
258
  /**
247
- * The recipient address baked into execution.swapCalldata at quote time.
248
- * If recipient differs from quotedRecipient at execute time, calldata is re-encoded
249
- * with the correct recipient to prevent tokens from being sent to the wrong address.
259
+ * Per-call override for the approval-amount strategy. When set, the provider
260
+ * uses this for the swap's approvals instead of the wallet-level config
261
+ * default. When unset, the provider falls back to the wallet's
262
+ * `approvalMode` config and finally to `"exact"`.
250
263
  */
251
- quotedRecipient: Address
264
+ approvalMode?: ApprovalMode
252
265
  }
253
266
 
254
267
  /**