@eth-optimism/actions-sdk 0.5.0 → 0.7.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 (815) 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 +62 -23
  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 +2 -2
  95. package/dist/actions/shared/morpho/contracts.d.ts.map +1 -0
  96. package/dist/{lend/providers → actions/shared}/morpho/contracts.js +1 -1
  97. package/dist/{lend/providers → actions/shared}/morpho/contracts.js.map +1 -1
  98. package/dist/{types/lend/contracts.d.ts → actions/shared/morpho/types.d.ts} +2 -2
  99. package/dist/actions/shared/morpho/types.d.ts.map +1 -0
  100. package/dist/actions/shared/morpho/types.js.map +1 -0
  101. package/dist/{swap → actions/swap}/__mocks__/MockSwapProvider.d.ts +7 -6
  102. package/dist/actions/swap/__mocks__/MockSwapProvider.d.ts.map +1 -0
  103. package/dist/{swap → actions/swap}/__mocks__/MockSwapProvider.js +5 -2
  104. package/dist/actions/swap/__mocks__/MockSwapProvider.js.map +1 -0
  105. package/dist/{swap → actions/swap}/core/SwapProvider.d.ts +29 -14
  106. package/dist/actions/swap/core/SwapProvider.d.ts.map +1 -0
  107. package/dist/{swap → actions/swap}/core/SwapProvider.js +58 -39
  108. package/dist/actions/swap/core/SwapProvider.js.map +1 -0
  109. package/dist/actions/swap/core/__tests__/SwapProvider.test.d.ts.map +1 -0
  110. package/dist/{swap → actions/swap}/core/__tests__/SwapProvider.test.js +39 -0
  111. package/dist/actions/swap/core/__tests__/SwapProvider.test.js.map +1 -0
  112. package/dist/{swap → actions/swap}/core/markets.d.ts +3 -3
  113. package/dist/actions/swap/core/markets.d.ts.map +1 -0
  114. package/dist/{swap → actions/swap}/core/markets.js +2 -1
  115. package/dist/actions/swap/core/markets.js.map +1 -0
  116. package/dist/actions/swap/index.d.ts.map +1 -0
  117. package/dist/actions/swap/index.js.map +1 -0
  118. package/dist/actions/swap/namespaces/ActionsSwapNamespace.d.ts.map +1 -0
  119. package/dist/actions/swap/namespaces/ActionsSwapNamespace.js.map +1 -0
  120. package/dist/{swap → actions/swap}/namespaces/BaseSwapNamespace.d.ts +25 -28
  121. package/dist/actions/swap/namespaces/BaseSwapNamespace.d.ts.map +1 -0
  122. package/dist/{swap → actions/swap}/namespaces/BaseSwapNamespace.js +58 -59
  123. package/dist/actions/swap/namespaces/BaseSwapNamespace.js.map +1 -0
  124. package/dist/actions/swap/namespaces/WalletSwapNamespace.d.ts +56 -0
  125. package/dist/actions/swap/namespaces/WalletSwapNamespace.d.ts.map +1 -0
  126. package/dist/{swap → actions/swap}/namespaces/WalletSwapNamespace.js +46 -23
  127. package/dist/actions/swap/namespaces/WalletSwapNamespace.js.map +1 -0
  128. package/dist/actions/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts.map +1 -0
  129. package/dist/{swap → actions/swap}/namespaces/__tests__/BaseSwapNamespace.spec.js +2 -2
  130. package/dist/actions/swap/namespaces/__tests__/BaseSwapNamespace.spec.js.map +1 -0
  131. package/dist/actions/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts.map +1 -0
  132. package/dist/{swap → actions/swap}/namespaces/__tests__/WalletSwapNamespace.spec.js +83 -19
  133. package/dist/actions/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +1 -0
  134. package/dist/{swap → actions/swap}/providers/uniswap/UniswapSwapProvider.d.ts +8 -5
  135. package/dist/actions/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +1 -0
  136. package/dist/{swap → actions/swap}/providers/uniswap/UniswapSwapProvider.js +14 -5
  137. package/dist/actions/swap/providers/uniswap/UniswapSwapProvider.js.map +1 -0
  138. package/dist/actions/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts.map +1 -0
  139. package/dist/{swap → actions/swap}/providers/uniswap/__tests__/UniswapSwapProvider.test.js +1 -1
  140. package/dist/actions/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js.map +1 -0
  141. package/dist/actions/swap/providers/uniswap/__tests__/sdk.test.d.ts.map +1 -0
  142. package/dist/{swap → actions/swap}/providers/uniswap/__tests__/sdk.test.js +47 -1
  143. package/dist/actions/swap/providers/uniswap/__tests__/sdk.test.js.map +1 -0
  144. package/dist/actions/swap/providers/uniswap/abis.d.ts.map +1 -0
  145. package/dist/actions/swap/providers/uniswap/abis.js.map +1 -0
  146. package/dist/{swap → actions/swap}/providers/uniswap/addresses.d.ts +1 -1
  147. package/dist/actions/swap/providers/uniswap/addresses.d.ts.map +1 -0
  148. package/dist/{swap → actions/swap}/providers/uniswap/addresses.js +6 -2
  149. package/dist/actions/swap/providers/uniswap/addresses.js.map +1 -0
  150. package/dist/{swap → actions/swap}/providers/uniswap/encoding.d.ts +3 -3
  151. package/dist/actions/swap/providers/uniswap/encoding.d.ts.map +1 -0
  152. package/dist/{swap → actions/swap}/providers/uniswap/encoding.js +2 -2
  153. package/dist/actions/swap/providers/uniswap/encoding.js.map +1 -0
  154. package/dist/{swap → actions/swap}/providers/uniswap/markets.d.ts +3 -3
  155. package/dist/actions/swap/providers/uniswap/markets.d.ts.map +1 -0
  156. package/dist/{swap → actions/swap}/providers/uniswap/markets.js +1 -1
  157. package/dist/actions/swap/providers/uniswap/markets.js.map +1 -0
  158. package/dist/{swap → actions/swap}/providers/uniswap/types.d.ts +1 -1
  159. package/dist/actions/swap/providers/uniswap/types.d.ts.map +1 -0
  160. package/dist/actions/swap/providers/uniswap/types.js.map +1 -0
  161. package/dist/{swap → actions/swap}/providers/velodrome/VelodromeSwapProvider.d.ts +9 -4
  162. package/dist/actions/swap/providers/velodrome/VelodromeSwapProvider.d.ts.map +1 -0
  163. package/dist/{swap → actions/swap}/providers/velodrome/VelodromeSwapProvider.js +37 -11
  164. package/dist/actions/swap/providers/velodrome/VelodromeSwapProvider.js.map +1 -0
  165. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts.map +1 -0
  166. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js.map +1 -0
  167. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts.map +1 -0
  168. package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js +7 -6
  169. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js.map +1 -0
  170. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts.map +1 -0
  171. package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.test.js +39 -4
  172. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.js.map +1 -0
  173. package/dist/actions/swap/providers/velodrome/__tests__/encoding.cl.test.d.ts.map +1 -0
  174. package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.cl.test.js +22 -1
  175. package/dist/actions/swap/providers/velodrome/__tests__/encoding.cl.test.js.map +1 -0
  176. package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.helpers.d.ts +1 -1
  177. package/dist/actions/swap/providers/velodrome/__tests__/encoding.helpers.d.ts.map +1 -0
  178. package/dist/actions/swap/providers/velodrome/__tests__/encoding.helpers.js.map +1 -0
  179. package/dist/actions/swap/providers/velodrome/__tests__/encoding.v2.test.d.ts.map +1 -0
  180. package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.v2.test.js +25 -1
  181. package/dist/actions/swap/providers/velodrome/__tests__/encoding.v2.test.js.map +1 -0
  182. package/dist/actions/swap/providers/velodrome/abis.d.ts.map +1 -0
  183. package/dist/actions/swap/providers/velodrome/abis.js.map +1 -0
  184. package/dist/{swap → actions/swap}/providers/velodrome/addresses.d.ts +1 -1
  185. package/dist/actions/swap/providers/velodrome/addresses.d.ts.map +1 -0
  186. package/dist/actions/swap/providers/velodrome/addresses.js.map +1 -0
  187. package/dist/{swap → actions/swap}/providers/velodrome/config.d.ts +1 -1
  188. package/dist/actions/swap/providers/velodrome/config.d.ts.map +1 -0
  189. package/dist/{swap → actions/swap}/providers/velodrome/config.js +5 -1
  190. package/dist/actions/swap/providers/velodrome/config.js.map +1 -0
  191. package/dist/{swap → actions/swap}/providers/velodrome/encoding/helpers.d.ts +3 -3
  192. package/dist/actions/swap/providers/velodrome/encoding/helpers.d.ts.map +1 -0
  193. package/dist/{swap → actions/swap}/providers/velodrome/encoding/helpers.js +4 -3
  194. package/dist/actions/swap/providers/velodrome/encoding/helpers.js.map +1 -0
  195. package/dist/{swap → actions/swap}/providers/velodrome/encoding/index.d.ts +0 -1
  196. package/dist/actions/swap/providers/velodrome/encoding/index.d.ts.map +1 -0
  197. package/dist/{swap → actions/swap}/providers/velodrome/encoding/index.js +0 -1
  198. package/dist/actions/swap/providers/velodrome/encoding/index.js.map +1 -0
  199. package/dist/{swap → actions/swap}/providers/velodrome/encoding/poolRouter.d.ts +3 -3
  200. package/dist/actions/swap/providers/velodrome/encoding/poolRouter.d.ts.map +1 -0
  201. package/dist/{swap → actions/swap}/providers/velodrome/encoding/poolRouter.js +2 -1
  202. package/dist/actions/swap/providers/velodrome/encoding/poolRouter.js.map +1 -0
  203. package/dist/{swap → actions/swap}/providers/velodrome/encoding/routers/cl.d.ts +24 -3
  204. package/dist/actions/swap/providers/velodrome/encoding/routers/cl.d.ts.map +1 -0
  205. package/dist/{swap → actions/swap}/providers/velodrome/encoding/routers/cl.js +22 -10
  206. package/dist/actions/swap/providers/velodrome/encoding/routers/cl.js.map +1 -0
  207. package/dist/{swap → actions/swap}/providers/velodrome/encoding/routers/v2.d.ts +23 -3
  208. package/dist/actions/swap/providers/velodrome/encoding/routers/v2.d.ts.map +1 -0
  209. package/dist/{swap → actions/swap}/providers/velodrome/encoding/routers/v2.js +24 -13
  210. package/dist/actions/swap/providers/velodrome/encoding/routers/v2.js.map +1 -0
  211. package/dist/{swap → actions/swap}/providers/velodrome/markets.d.ts +3 -3
  212. package/dist/actions/swap/providers/velodrome/markets.d.ts.map +1 -0
  213. package/dist/{swap → actions/swap}/providers/velodrome/markets.js +4 -3
  214. package/dist/actions/swap/providers/velodrome/markets.js.map +1 -0
  215. package/dist/{swap → actions/swap}/providers/velodrome/types.d.ts +1 -1
  216. package/dist/actions/swap/providers/velodrome/types.d.ts.map +1 -0
  217. package/dist/actions/swap/providers/velodrome/types.js +2 -0
  218. package/dist/actions/swap/providers/velodrome/types.js.map +1 -0
  219. package/dist/actions.d.ts +4 -3
  220. package/dist/actions.d.ts.map +1 -1
  221. package/dist/actions.js +45 -22
  222. package/dist/actions.js.map +1 -1
  223. package/dist/constants/supportedChains.d.ts +5790 -2
  224. package/dist/constants/supportedChains.d.ts.map +1 -1
  225. package/dist/constants/supportedChains.js +66 -20
  226. package/dist/constants/supportedChains.js.map +1 -1
  227. package/dist/core/error/__tests__/errors.test.d.ts +2 -0
  228. package/dist/core/error/__tests__/errors.test.d.ts.map +1 -0
  229. package/dist/core/error/__tests__/errors.test.js +195 -0
  230. package/dist/core/error/__tests__/errors.test.js.map +1 -0
  231. package/dist/core/error/errors.d.ts +155 -15
  232. package/dist/core/error/errors.d.ts.map +1 -1
  233. package/dist/core/error/errors.js +229 -17
  234. package/dist/core/error/errors.js.map +1 -1
  235. package/dist/index.d.ts +10 -6
  236. package/dist/index.d.ts.map +1 -1
  237. package/dist/index.js +9 -5
  238. package/dist/index.js.map +1 -1
  239. package/dist/services/ChainManager.d.ts.map +1 -1
  240. package/dist/services/ChainManager.js +42 -7
  241. package/dist/services/ChainManager.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/{ens → services/nameservices/ens}/EnsNamespace.d.ts +1 -1
  249. package/dist/services/nameservices/ens/EnsNamespace.d.ts.map +1 -0
  250. package/dist/{ens → services/nameservices/ens}/EnsNamespace.js +1 -1
  251. package/dist/services/nameservices/ens/EnsNamespace.js.map +1 -0
  252. package/dist/services/nameservices/ens/__tests__/EnsNamespace.spec.d.ts.map +1 -0
  253. package/dist/{ens → services/nameservices/ens/__tests__}/EnsNamespace.spec.js +2 -2
  254. package/dist/services/nameservices/ens/__tests__/EnsNamespace.spec.js.map +1 -0
  255. package/dist/services/nameservices/ens/__tests__/utils.spec.d.ts +2 -0
  256. package/dist/services/nameservices/ens/__tests__/utils.spec.d.ts.map +1 -0
  257. package/dist/{utils/ens.test.js → services/nameservices/ens/__tests__/utils.spec.js} +3 -3
  258. package/dist/services/nameservices/ens/__tests__/utils.spec.js.map +1 -0
  259. package/dist/services/nameservices/ens/errors.d.ts.map +1 -0
  260. package/dist/services/nameservices/ens/errors.js.map +1 -0
  261. package/dist/{ens → services/nameservices/ens}/index.d.ts +1 -0
  262. package/dist/services/nameservices/ens/index.d.ts.map +1 -0
  263. package/dist/{ens → services/nameservices/ens}/index.js +1 -0
  264. package/dist/services/nameservices/ens/index.js.map +1 -0
  265. package/dist/{ens → services/nameservices/ens}/types.d.ts +1 -1
  266. package/dist/services/nameservices/ens/types.d.ts.map +1 -0
  267. package/dist/services/nameservices/ens/types.js.map +1 -0
  268. package/dist/{utils/ens.d.ts → services/nameservices/ens/utils.d.ts} +3 -3
  269. package/dist/services/nameservices/ens/utils.d.ts.map +1 -0
  270. package/dist/{utils/ens.js → services/nameservices/ens/utils.js} +3 -3
  271. package/dist/services/nameservices/ens/utils.js.map +1 -0
  272. package/dist/services/tokenBalance.d.ts +8 -5
  273. package/dist/services/tokenBalance.d.ts.map +1 -1
  274. package/dist/services/tokenBalance.js +15 -8
  275. package/dist/services/tokenBalance.js.map +1 -1
  276. package/dist/types/actions.d.ts +80 -13
  277. package/dist/types/actions.d.ts.map +1 -1
  278. package/dist/types/actions.js +22 -1
  279. package/dist/types/actions.js.map +1 -1
  280. package/dist/types/asset.d.ts +7 -0
  281. package/dist/types/asset.d.ts.map +1 -1
  282. package/dist/types/common/FilterAssetChain.d.ts +13 -0
  283. package/dist/types/common/FilterAssetChain.d.ts.map +1 -0
  284. package/dist/types/common/FilterAssetChain.js +2 -0
  285. package/dist/types/common/FilterAssetChain.js.map +1 -0
  286. package/dist/types/common/TransactionOptions.d.ts +13 -0
  287. package/dist/types/common/TransactionOptions.d.ts.map +1 -0
  288. package/dist/types/common/TransactionOptions.js +2 -0
  289. package/dist/types/common/TransactionOptions.js.map +1 -0
  290. package/dist/types/common/index.d.ts +3 -0
  291. package/dist/types/common/index.d.ts.map +1 -0
  292. package/dist/types/common/index.js +3 -0
  293. package/dist/types/common/index.js.map +1 -0
  294. package/dist/types/index.d.ts +1 -0
  295. package/dist/types/index.d.ts.map +1 -1
  296. package/dist/types/index.js +1 -0
  297. package/dist/types/index.js.map +1 -1
  298. package/dist/types/lend/base.d.ts +44 -34
  299. package/dist/types/lend/base.d.ts.map +1 -1
  300. package/dist/types/lend/base.js +3 -3
  301. package/dist/types/lend/base.js.map +1 -1
  302. package/dist/types/lend/index.d.ts +0 -1
  303. package/dist/types/lend/index.d.ts.map +1 -1
  304. package/dist/types/lend/index.js +0 -1
  305. package/dist/types/lend/index.js.map +1 -1
  306. package/dist/types/providers.d.ts +22 -8
  307. package/dist/types/providers.d.ts.map +1 -1
  308. package/dist/types/providers.js +12 -1
  309. package/dist/types/providers.js.map +1 -1
  310. package/dist/types/swap/base.d.ts +25 -13
  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__/lendConfig.test.d.ts +2 -0
  321. package/dist/utils/__tests__/lendConfig.test.d.ts.map +1 -0
  322. package/dist/utils/__tests__/lendConfig.test.js +44 -0
  323. package/dist/utils/__tests__/lendConfig.test.js.map +1 -0
  324. package/dist/utils/__tests__/serializers.test.d.ts +2 -0
  325. package/dist/utils/__tests__/serializers.test.d.ts.map +1 -0
  326. package/dist/utils/__tests__/serializers.test.js +43 -0
  327. package/dist/utils/__tests__/serializers.test.js.map +1 -0
  328. package/dist/utils/__tests__/validateAddresses.test.d.ts.map +1 -0
  329. package/dist/utils/{validateAddresses.test.js → __tests__/validateAddresses.test.js} +10 -10
  330. package/dist/utils/__tests__/validateAddresses.test.js.map +1 -0
  331. package/dist/utils/abi/permit2.d.ts +48 -0
  332. package/dist/utils/abi/permit2.d.ts.map +1 -0
  333. package/dist/utils/abi/permit2.js +34 -0
  334. package/dist/utils/abi/permit2.js.map +1 -0
  335. package/dist/utils/approve.d.ts +26 -3
  336. package/dist/utils/approve.d.ts.map +1 -1
  337. package/dist/utils/approve.js +34 -37
  338. package/dist/utils/approve.js.map +1 -1
  339. package/dist/utils/assets.d.ts.map +1 -1
  340. package/dist/utils/assets.js +3 -2
  341. package/dist/utils/assets.js.map +1 -1
  342. package/dist/utils/lendConfig.d.ts +9 -0
  343. package/dist/utils/lendConfig.d.ts.map +1 -0
  344. package/dist/utils/lendConfig.js +12 -0
  345. package/dist/utils/lendConfig.js.map +1 -0
  346. package/dist/utils/serializers.d.ts +16 -0
  347. package/dist/utils/serializers.d.ts.map +1 -0
  348. package/dist/utils/serializers.js +18 -0
  349. package/dist/utils/serializers.js.map +1 -0
  350. package/dist/utils/validation.d.ts +8 -1
  351. package/dist/utils/validation.d.ts.map +1 -1
  352. package/dist/utils/validation.js +28 -8
  353. package/dist/utils/validation.js.map +1 -1
  354. package/dist/wallet/core/error/errors.d.ts +21 -0
  355. package/dist/wallet/core/error/errors.d.ts.map +1 -0
  356. package/dist/wallet/core/error/errors.js +24 -0
  357. package/dist/wallet/core/error/errors.js.map +1 -0
  358. package/dist/wallet/core/namespace/WalletNamespace.d.ts +24 -8
  359. package/dist/wallet/core/namespace/WalletNamespace.d.ts.map +1 -1
  360. package/dist/wallet/core/namespace/WalletNamespace.js +48 -17
  361. package/dist/wallet/core/namespace/WalletNamespace.js.map +1 -1
  362. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js +105 -10
  363. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js.map +1 -1
  364. package/dist/wallet/core/providers/WalletProvider.d.ts +3 -2
  365. package/dist/wallet/core/providers/WalletProvider.d.ts.map +1 -1
  366. package/dist/wallet/core/providers/WalletProvider.js +8 -2
  367. package/dist/wallet/core/providers/WalletProvider.js.map +1 -1
  368. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js +1 -1
  369. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js.map +1 -1
  370. package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.d.ts.map +1 -1
  371. package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js +2 -1
  372. package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js.map +1 -1
  373. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js +1 -1
  374. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js.map +1 -1
  375. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js +1 -1
  376. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js.map +1 -1
  377. package/dist/wallet/core/utils/__tests__/executeTransactionBatch.spec.d.ts +2 -0
  378. package/dist/wallet/core/utils/__tests__/executeTransactionBatch.spec.d.ts.map +1 -0
  379. package/dist/wallet/core/utils/__tests__/executeTransactionBatch.spec.js +31 -0
  380. package/dist/wallet/core/utils/__tests__/executeTransactionBatch.spec.js.map +1 -0
  381. package/dist/wallet/core/utils/__tests__/retryOnStaleRead.spec.d.ts.map +1 -0
  382. package/dist/wallet/core/utils/__tests__/retryOnStaleRead.spec.js.map +1 -0
  383. package/dist/wallet/core/utils/executeTransactionBatch.d.ts +22 -0
  384. package/dist/wallet/core/utils/executeTransactionBatch.d.ts.map +1 -0
  385. package/dist/wallet/core/utils/executeTransactionBatch.js +26 -0
  386. package/dist/wallet/core/utils/executeTransactionBatch.js.map +1 -0
  387. package/dist/wallet/core/utils/retryOnStaleRead.d.ts.map +1 -0
  388. package/dist/wallet/core/utils/retryOnStaleRead.js.map +1 -0
  389. package/dist/wallet/core/wallets/abstract/Wallet.d.ts +17 -8
  390. package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -1
  391. package/dist/wallet/core/wallets/abstract/Wallet.js +24 -12
  392. package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -1
  393. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts +3 -3
  394. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts.map +1 -1
  395. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.js.map +1 -1
  396. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js +41 -2
  397. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js.map +1 -1
  398. package/dist/wallet/core/wallets/eoa/EOAWallet.d.ts +13 -5
  399. package/dist/wallet/core/wallets/eoa/EOAWallet.d.ts.map +1 -1
  400. package/dist/wallet/core/wallets/eoa/EOAWallet.js +17 -12
  401. package/dist/wallet/core/wallets/eoa/EOAWallet.js.map +1 -1
  402. package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.js +37 -20
  403. package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.js.map +1 -1
  404. package/dist/wallet/core/wallets/smart/abstract/SmartWallet.d.ts +1 -1
  405. package/dist/wallet/core/wallets/smart/abstract/SmartWallet.d.ts.map +1 -1
  406. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +1 -1
  407. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -1
  408. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js +2 -2
  409. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -1
  410. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js +1 -1
  411. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js.map +1 -1
  412. package/dist/wallet/node/index.d.ts +1 -0
  413. package/dist/wallet/node/index.d.ts.map +1 -1
  414. package/dist/wallet/node/index.js +1 -0
  415. package/dist/wallet/node/index.js.map +1 -1
  416. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +1 -1
  417. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
  418. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js +1 -1
  419. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js.map +1 -1
  420. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +1 -1
  421. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
  422. package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js +4 -1
  423. package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js.map +1 -1
  424. package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js +2 -1
  425. package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js.map +1 -1
  426. package/dist/wallet/node/wallets/local/LocalWallet.d.ts +24 -0
  427. package/dist/wallet/node/wallets/local/LocalWallet.d.ts.map +1 -0
  428. package/dist/wallet/node/wallets/local/LocalWallet.js +21 -0
  429. package/dist/wallet/node/wallets/local/LocalWallet.js.map +1 -0
  430. package/dist/wallet/node/wallets/local/__tests__/LocalWallet.spec.d.ts +2 -0
  431. package/dist/wallet/node/wallets/local/__tests__/LocalWallet.spec.d.ts.map +1 -0
  432. package/dist/wallet/node/wallets/local/__tests__/LocalWallet.spec.js +52 -0
  433. package/dist/wallet/node/wallets/local/__tests__/LocalWallet.spec.js.map +1 -0
  434. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js +1 -1
  435. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js.map +1 -1
  436. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +1 -1
  437. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
  438. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +1 -1
  439. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
  440. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js +1 -1
  441. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js.map +1 -1
  442. package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.js +2 -1
  443. package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.js.map +1 -1
  444. package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.js +2 -1
  445. package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.js.map +1 -1
  446. package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js +2 -1
  447. package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js.map +1 -1
  448. package/package.json +2 -2
  449. package/src/__tests__/actions.test.ts +3 -1
  450. package/src/{lend → actions/lend}/__mocks__/MockLendProvider.ts +24 -9
  451. package/src/{lend → actions/lend}/__mocks__/mockLendTransaction.ts +2 -2
  452. package/src/{lend → actions/lend}/core/LendProvider.ts +125 -41
  453. package/src/{lend → actions/lend}/core/__tests__/LendProvider.test.ts +82 -3
  454. package/src/actions/lend/index.ts +3 -0
  455. package/src/{lend → actions/lend}/namespaces/BaseLendNamespace.ts +20 -37
  456. package/src/{lend → actions/lend}/namespaces/WalletLendNamespace.ts +15 -22
  457. package/src/{lend → actions/lend}/namespaces/__tests__/ActionsLendNamespace.spec.ts +3 -3
  458. package/src/{lend → actions/lend}/namespaces/__tests__/BaseLendNamespace.spec.ts +3 -3
  459. package/src/{lend → actions/lend}/namespaces/__tests__/WalletLendNamespace.spec.ts +6 -6
  460. package/src/{lend → actions/lend}/providers/aave/AaveLendProvider.ts +65 -73
  461. package/src/{lend → actions/lend}/providers/aave/__tests__/AaveLendProvider.test.ts +7 -7
  462. package/src/{lend → actions/lend}/providers/aave/sdk.ts +15 -9
  463. package/src/{lend → actions/lend}/providers/morpho/MorphoLendProvider.ts +67 -53
  464. package/src/{lend → actions/lend}/providers/morpho/__tests__/MorphoLendProvider.test.ts +79 -5
  465. package/src/{lend → actions/lend}/providers/morpho/__tests__/api.test.ts +3 -3
  466. package/src/{lend → actions/lend}/providers/morpho/__tests__/sdk.test.ts +2 -2
  467. package/src/{lend → actions/lend}/providers/morpho/sdk.ts +23 -12
  468. package/src/actions/lend/utils/markets.ts +62 -0
  469. package/src/actions/shared/BaseNamespace.ts +46 -0
  470. package/src/actions/shared/__tests__/BaseNamespace.spec.ts +58 -0
  471. package/src/{lend/providers → actions/shared}/morpho/contracts.ts +3 -3
  472. package/src/{swap → actions/swap}/__mocks__/MockSwapProvider.ts +6 -2
  473. package/src/{swap → actions/swap}/core/SwapProvider.ts +89 -57
  474. package/src/{swap → actions/swap}/core/__tests__/SwapProvider.test.ts +51 -1
  475. package/src/{swap → actions/swap}/core/markets.ts +2 -1
  476. package/src/actions/swap/index.ts +19 -0
  477. package/src/{swap → actions/swap}/namespaces/ActionsSwapNamespace.ts +1 -1
  478. package/src/{swap → actions/swap}/namespaces/BaseSwapNamespace.ts +92 -90
  479. package/src/{swap → actions/swap}/namespaces/WalletSwapNamespace.ts +60 -34
  480. package/src/{swap → actions/swap}/namespaces/__tests__/BaseSwapNamespace.spec.ts +6 -6
  481. package/src/{swap → actions/swap}/namespaces/__tests__/WalletSwapNamespace.spec.ts +110 -22
  482. package/src/{swap → actions/swap}/providers/uniswap/UniswapSwapProvider.ts +34 -14
  483. package/src/{swap → actions/swap}/providers/uniswap/__tests__/UniswapSwapProvider.test.ts +2 -2
  484. package/src/{swap → actions/swap}/providers/uniswap/__tests__/sdk.test.ts +65 -3
  485. package/src/{swap → actions/swap}/providers/uniswap/addresses.ts +5 -1
  486. package/src/{swap → actions/swap}/providers/uniswap/encoding.ts +3 -3
  487. package/src/{swap → actions/swap}/providers/uniswap/markets.ts +2 -2
  488. package/src/{swap → actions/swap}/providers/velodrome/VelodromeSwapProvider.ts +71 -31
  489. package/src/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.ts +2 -2
  490. package/src/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.ts +8 -7
  491. package/src/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.test.ts +46 -5
  492. package/src/{swap → actions/swap}/providers/velodrome/__tests__/encoding.cl.test.ts +31 -2
  493. package/src/{swap → actions/swap}/providers/velodrome/__tests__/encoding.v2.test.ts +34 -3
  494. package/src/{swap → actions/swap}/providers/velodrome/config.ts +5 -1
  495. package/src/{swap → actions/swap}/providers/velodrome/encoding/helpers.ts +3 -2
  496. package/src/{swap → actions/swap}/providers/velodrome/encoding/index.ts +0 -1
  497. package/src/{swap → actions/swap}/providers/velodrome/encoding/poolRouter.ts +4 -3
  498. package/src/{swap → actions/swap}/providers/velodrome/encoding/routers/cl.ts +31 -23
  499. package/src/{swap → actions/swap}/providers/velodrome/encoding/routers/v2.ts +34 -27
  500. package/src/{swap → actions/swap}/providers/velodrome/markets.ts +4 -3
  501. package/src/actions.ts +68 -37
  502. package/src/constants/supportedChains.ts +81 -21
  503. package/src/core/error/__tests__/errors.test.ts +236 -0
  504. package/src/core/error/errors.ts +319 -22
  505. package/src/index.ts +31 -13
  506. package/src/services/ChainManager.ts +45 -9
  507. package/src/services/{ChainManager.spec.ts → __tests__/ChainManager.spec.ts} +6 -6
  508. package/src/services/{tokenBalance.spec.ts → __tests__/tokenBalance.spec.ts} +56 -1
  509. package/src/{ens → services/nameservices/ens}/EnsNamespace.ts +1 -1
  510. package/src/{ens → services/nameservices/ens/__tests__}/EnsNamespace.spec.ts +6 -4
  511. package/src/{utils/ens.test.ts → services/nameservices/ens/__tests__/utils.spec.ts} +3 -2
  512. package/src/{ens → services/nameservices/ens}/index.ts +5 -0
  513. package/src/{utils/ens.ts → services/nameservices/ens/utils.ts} +3 -3
  514. package/src/services/tokenBalance.ts +16 -7
  515. package/src/types/actions.ts +96 -16
  516. package/src/types/asset.ts +8 -0
  517. package/src/types/common/FilterAssetChain.ts +13 -0
  518. package/src/types/common/TransactionOptions.ts +12 -0
  519. package/src/types/common/index.ts +2 -0
  520. package/src/types/index.ts +1 -0
  521. package/src/types/lend/base.ts +48 -36
  522. package/src/types/lend/index.ts +0 -1
  523. package/src/types/providers.ts +26 -8
  524. package/src/types/swap/base.ts +25 -13
  525. package/src/utils/{approve.test.ts → __tests__/approve.test.ts} +51 -18
  526. package/src/utils/__tests__/lendConfig.test.ts +52 -0
  527. package/src/utils/__tests__/serializers.test.ts +53 -0
  528. package/src/utils/{validateAddresses.test.ts → __tests__/validateAddresses.test.ts} +9 -9
  529. package/src/utils/abi/permit2.ts +33 -0
  530. package/src/utils/approve.ts +48 -37
  531. package/src/utils/assets.ts +6 -6
  532. package/src/utils/lendConfig.ts +17 -0
  533. package/src/utils/serializers.ts +21 -0
  534. package/src/utils/validation.ts +42 -15
  535. package/src/wallet/core/error/errors.ts +30 -0
  536. package/src/wallet/core/namespace/WalletNamespace.ts +82 -20
  537. package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +141 -16
  538. package/src/wallet/core/providers/WalletProvider.ts +12 -3
  539. package/src/wallet/core/providers/__tests__/WalletProvider.spec.ts +1 -1
  540. package/src/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.ts +2 -1
  541. package/src/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.ts +1 -1
  542. package/src/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.ts +1 -1
  543. package/src/wallet/core/utils/__tests__/executeTransactionBatch.spec.ts +42 -0
  544. package/src/{core → wallet/core}/utils/__tests__/retryOnStaleRead.spec.ts +1 -1
  545. package/src/wallet/core/utils/executeTransactionBatch.ts +37 -0
  546. package/src/wallet/core/wallets/abstract/Wallet.ts +29 -15
  547. package/src/wallet/core/wallets/abstract/__mocks__/TestWallet.ts +3 -3
  548. package/src/wallet/core/wallets/abstract/__tests__/Wallet.spec.ts +69 -3
  549. package/src/wallet/core/wallets/eoa/EOAWallet.ts +18 -13
  550. package/src/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.ts +43 -24
  551. package/src/wallet/core/wallets/smart/abstract/SmartWallet.ts +1 -1
  552. package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +3 -3
  553. package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +1 -1
  554. package/src/wallet/node/index.ts +1 -0
  555. package/src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +1 -1
  556. package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +1 -1
  557. package/src/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +1 -1
  558. package/src/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts +4 -1
  559. package/src/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.ts +2 -1
  560. package/src/wallet/node/wallets/local/LocalWallet.ts +48 -0
  561. package/src/wallet/node/wallets/local/__tests__/LocalWallet.spec.ts +65 -0
  562. package/src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts +1 -1
  563. package/src/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +1 -1
  564. package/src/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +1 -1
  565. package/src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts +1 -1
  566. package/src/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.ts +2 -1
  567. package/src/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts +2 -1
  568. package/src/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.ts +2 -1
  569. package/dist/core/asset/__mocks__/mockAsset.d.ts +0 -6
  570. package/dist/core/asset/__mocks__/mockAsset.d.ts.map +0 -1
  571. package/dist/core/asset/__mocks__/mockAsset.js +0 -12
  572. package/dist/core/asset/__mocks__/mockAsset.js.map +0 -1
  573. package/dist/core/utils/__tests__/retryOnStaleRead.spec.d.ts.map +0 -1
  574. package/dist/core/utils/__tests__/retryOnStaleRead.spec.js.map +0 -1
  575. package/dist/core/utils/retryOnStaleRead.d.ts.map +0 -1
  576. package/dist/core/utils/retryOnStaleRead.js.map +0 -1
  577. package/dist/ens/EnsNamespace.d.ts.map +0 -1
  578. package/dist/ens/EnsNamespace.js.map +0 -1
  579. package/dist/ens/EnsNamespace.spec.d.ts.map +0 -1
  580. package/dist/ens/EnsNamespace.spec.js.map +0 -1
  581. package/dist/ens/errors.d.ts.map +0 -1
  582. package/dist/ens/errors.js.map +0 -1
  583. package/dist/ens/index.d.ts.map +0 -1
  584. package/dist/ens/index.js.map +0 -1
  585. package/dist/ens/types.d.ts.map +0 -1
  586. package/dist/ens/types.js.map +0 -1
  587. package/dist/lend/__mocks__/MockLendProvider.d.ts.map +0 -1
  588. package/dist/lend/__mocks__/MockLendProvider.js.map +0 -1
  589. package/dist/lend/__mocks__/MockMarkets.d.ts.map +0 -1
  590. package/dist/lend/__mocks__/MockMarkets.js.map +0 -1
  591. package/dist/lend/__mocks__/mockLendTransaction.d.ts.map +0 -1
  592. package/dist/lend/__mocks__/mockLendTransaction.js.map +0 -1
  593. package/dist/lend/core/LendProvider.d.ts.map +0 -1
  594. package/dist/lend/core/LendProvider.js.map +0 -1
  595. package/dist/lend/core/__tests__/LendProvider.test.d.ts.map +0 -1
  596. package/dist/lend/core/__tests__/LendProvider.test.js.map +0 -1
  597. package/dist/lend/index.d.ts.map +0 -1
  598. package/dist/lend/index.js.map +0 -1
  599. package/dist/lend/namespaces/ActionsLendNamespace.d.ts.map +0 -1
  600. package/dist/lend/namespaces/ActionsLendNamespace.js.map +0 -1
  601. package/dist/lend/namespaces/BaseLendNamespace.d.ts +0 -43
  602. package/dist/lend/namespaces/BaseLendNamespace.d.ts.map +0 -1
  603. package/dist/lend/namespaces/BaseLendNamespace.js.map +0 -1
  604. package/dist/lend/namespaces/WalletLendNamespace.d.ts.map +0 -1
  605. package/dist/lend/namespaces/WalletLendNamespace.js.map +0 -1
  606. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.d.ts.map +0 -1
  607. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js.map +0 -1
  608. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.d.ts.map +0 -1
  609. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js.map +0 -1
  610. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.d.ts.map +0 -1
  611. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js.map +0 -1
  612. package/dist/lend/providers/aave/AaveLendProvider.d.ts.map +0 -1
  613. package/dist/lend/providers/aave/AaveLendProvider.js.map +0 -1
  614. package/dist/lend/providers/aave/__mocks__/mockReserve.d.ts.map +0 -1
  615. package/dist/lend/providers/aave/__mocks__/mockReserve.js.map +0 -1
  616. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.d.ts.map +0 -1
  617. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js.map +0 -1
  618. package/dist/lend/providers/aave/abis/pool.d.ts.map +0 -1
  619. package/dist/lend/providers/aave/abis/pool.js.map +0 -1
  620. package/dist/lend/providers/aave/addresses.d.ts.map +0 -1
  621. package/dist/lend/providers/aave/addresses.js.map +0 -1
  622. package/dist/lend/providers/aave/sdk.d.ts.map +0 -1
  623. package/dist/lend/providers/aave/sdk.js.map +0 -1
  624. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts.map +0 -1
  625. package/dist/lend/providers/morpho/MorphoLendProvider.js.map +0 -1
  626. package/dist/lend/providers/morpho/__mocks__/mockVault.d.ts.map +0 -1
  627. package/dist/lend/providers/morpho/__mocks__/mockVault.js.map +0 -1
  628. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.d.ts.map +0 -1
  629. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js.map +0 -1
  630. package/dist/lend/providers/morpho/__tests__/api.test.d.ts.map +0 -1
  631. package/dist/lend/providers/morpho/__tests__/api.test.js.map +0 -1
  632. package/dist/lend/providers/morpho/__tests__/sdk.test.d.ts.map +0 -1
  633. package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +0 -1
  634. package/dist/lend/providers/morpho/api.d.ts.map +0 -1
  635. package/dist/lend/providers/morpho/api.js.map +0 -1
  636. package/dist/lend/providers/morpho/contracts.d.ts.map +0 -1
  637. package/dist/lend/providers/morpho/sdk.d.ts.map +0 -1
  638. package/dist/lend/providers/morpho/sdk.js.map +0 -1
  639. package/dist/services/ChainManager.spec.d.ts.map +0 -1
  640. package/dist/services/ChainManager.spec.js.map +0 -1
  641. package/dist/services/tokenBalance.spec.d.ts.map +0 -1
  642. package/dist/services/tokenBalance.spec.js.map +0 -1
  643. package/dist/swap/__mocks__/MockSwapProvider.d.ts.map +0 -1
  644. package/dist/swap/__mocks__/MockSwapProvider.js.map +0 -1
  645. package/dist/swap/core/SwapProvider.d.ts.map +0 -1
  646. package/dist/swap/core/SwapProvider.js.map +0 -1
  647. package/dist/swap/core/__tests__/SwapProvider.test.d.ts.map +0 -1
  648. package/dist/swap/core/__tests__/SwapProvider.test.js.map +0 -1
  649. package/dist/swap/core/markets.d.ts.map +0 -1
  650. package/dist/swap/core/markets.js.map +0 -1
  651. package/dist/swap/index.d.ts.map +0 -1
  652. package/dist/swap/index.js.map +0 -1
  653. package/dist/swap/namespaces/ActionsSwapNamespace.d.ts.map +0 -1
  654. package/dist/swap/namespaces/ActionsSwapNamespace.js.map +0 -1
  655. package/dist/swap/namespaces/BaseSwapNamespace.d.ts.map +0 -1
  656. package/dist/swap/namespaces/BaseSwapNamespace.js.map +0 -1
  657. package/dist/swap/namespaces/WalletSwapNamespace.d.ts +0 -35
  658. package/dist/swap/namespaces/WalletSwapNamespace.d.ts.map +0 -1
  659. package/dist/swap/namespaces/WalletSwapNamespace.js.map +0 -1
  660. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts.map +0 -1
  661. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js.map +0 -1
  662. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts.map +0 -1
  663. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +0 -1
  664. package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +0 -1
  665. package/dist/swap/providers/uniswap/UniswapSwapProvider.js.map +0 -1
  666. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts.map +0 -1
  667. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js.map +0 -1
  668. package/dist/swap/providers/uniswap/__tests__/sdk.test.d.ts.map +0 -1
  669. package/dist/swap/providers/uniswap/__tests__/sdk.test.js.map +0 -1
  670. package/dist/swap/providers/uniswap/abis.d.ts.map +0 -1
  671. package/dist/swap/providers/uniswap/abis.js.map +0 -1
  672. package/dist/swap/providers/uniswap/addresses.d.ts.map +0 -1
  673. package/dist/swap/providers/uniswap/addresses.js.map +0 -1
  674. package/dist/swap/providers/uniswap/encoding.d.ts.map +0 -1
  675. package/dist/swap/providers/uniswap/encoding.js.map +0 -1
  676. package/dist/swap/providers/uniswap/markets.d.ts.map +0 -1
  677. package/dist/swap/providers/uniswap/markets.js.map +0 -1
  678. package/dist/swap/providers/uniswap/types.d.ts.map +0 -1
  679. package/dist/swap/providers/uniswap/types.js.map +0 -1
  680. package/dist/swap/providers/velodrome/VelodromeSwapProvider.d.ts.map +0 -1
  681. package/dist/swap/providers/velodrome/VelodromeSwapProvider.js.map +0 -1
  682. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts.map +0 -1
  683. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js.map +0 -1
  684. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts.map +0 -1
  685. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js.map +0 -1
  686. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts.map +0 -1
  687. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.js.map +0 -1
  688. package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.d.ts.map +0 -1
  689. package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.js.map +0 -1
  690. package/dist/swap/providers/velodrome/__tests__/encoding.helpers.d.ts.map +0 -1
  691. package/dist/swap/providers/velodrome/__tests__/encoding.helpers.js.map +0 -1
  692. package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.d.ts.map +0 -1
  693. package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.js.map +0 -1
  694. package/dist/swap/providers/velodrome/abis.d.ts.map +0 -1
  695. package/dist/swap/providers/velodrome/abis.js.map +0 -1
  696. package/dist/swap/providers/velodrome/addresses.d.ts.map +0 -1
  697. package/dist/swap/providers/velodrome/addresses.js.map +0 -1
  698. package/dist/swap/providers/velodrome/config.d.ts.map +0 -1
  699. package/dist/swap/providers/velodrome/config.js.map +0 -1
  700. package/dist/swap/providers/velodrome/encoding/helpers.d.ts.map +0 -1
  701. package/dist/swap/providers/velodrome/encoding/helpers.js.map +0 -1
  702. package/dist/swap/providers/velodrome/encoding/index.d.ts.map +0 -1
  703. package/dist/swap/providers/velodrome/encoding/index.js.map +0 -1
  704. package/dist/swap/providers/velodrome/encoding/poolRouter.d.ts.map +0 -1
  705. package/dist/swap/providers/velodrome/encoding/poolRouter.js.map +0 -1
  706. package/dist/swap/providers/velodrome/encoding/routers/approval.d.ts +0 -15
  707. package/dist/swap/providers/velodrome/encoding/routers/approval.d.ts.map +0 -1
  708. package/dist/swap/providers/velodrome/encoding/routers/approval.js +0 -33
  709. package/dist/swap/providers/velodrome/encoding/routers/approval.js.map +0 -1
  710. package/dist/swap/providers/velodrome/encoding/routers/cl.d.ts.map +0 -1
  711. package/dist/swap/providers/velodrome/encoding/routers/cl.js.map +0 -1
  712. package/dist/swap/providers/velodrome/encoding/routers/v2.d.ts.map +0 -1
  713. package/dist/swap/providers/velodrome/encoding/routers/v2.js.map +0 -1
  714. package/dist/swap/providers/velodrome/markets.d.ts.map +0 -1
  715. package/dist/swap/providers/velodrome/markets.js.map +0 -1
  716. package/dist/swap/providers/velodrome/types.d.ts.map +0 -1
  717. package/dist/swap/providers/velodrome/types.js.map +0 -1
  718. package/dist/types/lend/contracts.d.ts.map +0 -1
  719. package/dist/types/lend/contracts.js +0 -2
  720. package/dist/types/lend/contracts.js.map +0 -1
  721. package/dist/utils/approve.test.d.ts.map +0 -1
  722. package/dist/utils/approve.test.js.map +0 -1
  723. package/dist/utils/assets.test.d.ts.map +0 -1
  724. package/dist/utils/assets.test.js.map +0 -1
  725. package/dist/utils/ens.d.ts.map +0 -1
  726. package/dist/utils/ens.js.map +0 -1
  727. package/dist/utils/ens.test.d.ts +0 -2
  728. package/dist/utils/ens.test.d.ts.map +0 -1
  729. package/dist/utils/ens.test.js.map +0 -1
  730. package/dist/utils/markets.d.ts +0 -17
  731. package/dist/utils/markets.d.ts.map +0 -1
  732. package/dist/utils/markets.js +0 -25
  733. package/dist/utils/markets.js.map +0 -1
  734. package/dist/utils/validateAddresses.test.d.ts.map +0 -1
  735. package/dist/utils/validateAddresses.test.js.map +0 -1
  736. package/src/core/asset/__mocks__/mockAsset.ts +0 -13
  737. package/src/lend/index.ts +0 -3
  738. package/src/swap/index.ts +0 -19
  739. package/src/swap/providers/velodrome/encoding/routers/approval.ts +0 -45
  740. package/src/utils/markets.ts +0 -35
  741. /package/dist/{lend → actions/lend}/core/__tests__/LendProvider.test.d.ts +0 -0
  742. /package/dist/{lend → actions/lend}/index.d.ts +0 -0
  743. /package/dist/{lend → actions/lend}/index.js +0 -0
  744. /package/dist/{lend → actions/lend}/namespaces/ActionsLendNamespace.d.ts +0 -0
  745. /package/dist/{lend → actions/lend}/namespaces/ActionsLendNamespace.js +0 -0
  746. /package/dist/{lend → actions/lend}/namespaces/__tests__/ActionsLendNamespace.spec.d.ts +0 -0
  747. /package/dist/{lend → actions/lend}/namespaces/__tests__/BaseLendNamespace.spec.d.ts +0 -0
  748. /package/dist/{lend → actions/lend}/namespaces/__tests__/WalletLendNamespace.spec.d.ts +0 -0
  749. /package/dist/{lend → actions/lend}/providers/aave/__mocks__/mockReserve.js +0 -0
  750. /package/dist/{lend → actions/lend}/providers/aave/__tests__/AaveLendProvider.test.d.ts +0 -0
  751. /package/dist/{lend → actions/lend}/providers/aave/abis/pool.d.ts +0 -0
  752. /package/dist/{lend → actions/lend}/providers/aave/abis/pool.js +0 -0
  753. /package/dist/{lend → actions/lend}/providers/aave/addresses.d.ts +0 -0
  754. /package/dist/{lend → actions/lend}/providers/aave/addresses.js +0 -0
  755. /package/dist/{lend → actions/lend}/providers/morpho/__mocks__/mockVault.d.ts +0 -0
  756. /package/dist/{lend → actions/lend}/providers/morpho/__mocks__/mockVault.js +0 -0
  757. /package/dist/{lend → actions/lend}/providers/morpho/__tests__/MorphoLendProvider.test.d.ts +0 -0
  758. /package/dist/{lend → actions/lend}/providers/morpho/__tests__/api.test.d.ts +0 -0
  759. /package/dist/{lend → actions/lend}/providers/morpho/__tests__/sdk.test.d.ts +0 -0
  760. /package/dist/{lend → actions/lend}/providers/morpho/api.d.ts +0 -0
  761. /package/dist/{lend → actions/lend}/providers/morpho/api.js +0 -0
  762. /package/dist/{swap/providers/uniswap → actions/shared/morpho}/types.js +0 -0
  763. /package/dist/{swap → actions/swap}/core/__tests__/SwapProvider.test.d.ts +0 -0
  764. /package/dist/{swap → actions/swap}/index.d.ts +0 -0
  765. /package/dist/{swap → actions/swap}/index.js +0 -0
  766. /package/dist/{swap → actions/swap}/namespaces/ActionsSwapNamespace.d.ts +0 -0
  767. /package/dist/{swap → actions/swap}/namespaces/ActionsSwapNamespace.js +0 -0
  768. /package/dist/{swap → actions/swap}/namespaces/__tests__/BaseSwapNamespace.spec.d.ts +0 -0
  769. /package/dist/{swap → actions/swap}/namespaces/__tests__/WalletSwapNamespace.spec.d.ts +0 -0
  770. /package/dist/{swap → actions/swap}/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts +0 -0
  771. /package/dist/{swap → actions/swap}/providers/uniswap/__tests__/sdk.test.d.ts +0 -0
  772. /package/dist/{swap → actions/swap}/providers/uniswap/abis.d.ts +0 -0
  773. /package/dist/{swap → actions/swap}/providers/uniswap/abis.js +0 -0
  774. /package/dist/{swap/providers/velodrome → actions/swap/providers/uniswap}/types.js +0 -0
  775. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts +0 -0
  776. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js +0 -0
  777. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts +0 -0
  778. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts +0 -0
  779. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.cl.test.d.ts +0 -0
  780. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.helpers.js +0 -0
  781. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.v2.test.d.ts +0 -0
  782. /package/dist/{swap → actions/swap}/providers/velodrome/abis.d.ts +0 -0
  783. /package/dist/{swap → actions/swap}/providers/velodrome/abis.js +0 -0
  784. /package/dist/{swap → actions/swap}/providers/velodrome/addresses.js +0 -0
  785. /package/dist/services/{ChainManager.spec.d.ts → __tests__/ChainManager.spec.d.ts} +0 -0
  786. /package/dist/services/{tokenBalance.spec.d.ts → __tests__/tokenBalance.spec.d.ts} +0 -0
  787. /package/dist/{ens → services/nameservices/ens/__tests__}/EnsNamespace.spec.d.ts +0 -0
  788. /package/dist/{ens → services/nameservices/ens}/errors.d.ts +0 -0
  789. /package/dist/{ens → services/nameservices/ens}/errors.js +0 -0
  790. /package/dist/{ens → services/nameservices/ens}/types.js +0 -0
  791. /package/dist/utils/{approve.test.d.ts → __tests__/approve.test.d.ts} +0 -0
  792. /package/dist/utils/{assets.test.d.ts → __tests__/assets.test.d.ts} +0 -0
  793. /package/dist/utils/{validateAddresses.test.d.ts → __tests__/validateAddresses.test.d.ts} +0 -0
  794. /package/dist/{core → wallet/core}/utils/__tests__/retryOnStaleRead.spec.d.ts +0 -0
  795. /package/dist/{core → wallet/core}/utils/__tests__/retryOnStaleRead.spec.js +0 -0
  796. /package/dist/{core → wallet/core}/utils/retryOnStaleRead.d.ts +0 -0
  797. /package/dist/{core → wallet/core}/utils/retryOnStaleRead.js +0 -0
  798. /package/src/{lend → actions/lend}/__mocks__/MockMarkets.ts +0 -0
  799. /package/src/{lend → actions/lend}/namespaces/ActionsLendNamespace.ts +0 -0
  800. /package/src/{lend → actions/lend}/providers/aave/__mocks__/mockReserve.ts +0 -0
  801. /package/src/{lend → actions/lend}/providers/aave/abis/pool.ts +0 -0
  802. /package/src/{lend → actions/lend}/providers/aave/addresses.ts +0 -0
  803. /package/src/{lend → actions/lend}/providers/morpho/__mocks__/mockVault.ts +0 -0
  804. /package/src/{lend → actions/lend}/providers/morpho/api.ts +0 -0
  805. /package/src/{types/lend/contracts.ts → actions/shared/morpho/types.ts} +0 -0
  806. /package/src/{swap → actions/swap}/providers/uniswap/abis.ts +0 -0
  807. /package/src/{swap → actions/swap}/providers/uniswap/types.ts +0 -0
  808. /package/src/{swap → actions/swap}/providers/velodrome/__tests__/encoding.helpers.ts +0 -0
  809. /package/src/{swap → actions/swap}/providers/velodrome/abis.ts +0 -0
  810. /package/src/{swap → actions/swap}/providers/velodrome/addresses.ts +0 -0
  811. /package/src/{swap → actions/swap}/providers/velodrome/types.ts +0 -0
  812. /package/src/{ens → services/nameservices/ens}/errors.ts +0 -0
  813. /package/src/{ens → services/nameservices/ens}/types.ts +0 -0
  814. /package/src/utils/{assets.test.ts → __tests__/assets.test.ts} +0 -0
  815. /package/src/{core → wallet/core}/utils/retryOnStaleRead.ts +0 -0
@@ -1,10 +1,12 @@
1
- import { passthroughResolver } from '../../utils/ens.js';
1
+ import { BaseNamespace } from '../../shared/BaseNamespace.js';
2
+ import { MarketNotAllowedError, MarketNotFoundError, ProviderNotConfiguredError, } from '../../../core/error/errors.js';
3
+ import { passthroughResolver, } from '../../../services/nameservices/ens/utils.js';
2
4
  /**
3
5
  * Base swap namespace with shared read-only operations
4
6
  */
5
- export class BaseSwapNamespace {
7
+ export class BaseSwapNamespace extends BaseNamespace {
6
8
  constructor(providers, resolveRecipient, settings) {
7
- this.providers = providers;
9
+ super(providers);
8
10
  this.settings = settings;
9
11
  this.resolveRecipient = resolveRecipient ?? passthroughResolver;
10
12
  }
@@ -30,42 +32,7 @@ export class BaseSwapNamespace {
30
32
  return this.resolveProvider(undefined, resolved.assetIn, resolved.assetOut, resolved.chainId).getQuote(resolved);
31
33
  }
32
34
  /**
33
- * Fetch quotes from all eligible providers in parallel and return the best.
34
- * @param params - Quote parameters
35
- * @returns The quote with the highest amountOut
36
- * @throws If no provider returns a valid quote
37
- */
38
- async getBestQuote(params) {
39
- const quotes = await this.fetchAllQuotes(params);
40
- let best = null;
41
- for (const quote of quotes) {
42
- if (!best || quote.amountOutRaw > best.amountOutRaw) {
43
- best = quote;
44
- }
45
- }
46
- if (!best) {
47
- throw new Error(`All providers failed to quote ${params.assetIn.metadata.symbol}/${params.assetOut.metadata.symbol}`);
48
- }
49
- return best;
50
- }
51
- /**
52
- * Fetch quotes from all eligible providers in parallel.
53
- * Providers that don't support the pair or fail to quote are silently skipped.
54
- * @param params - Quote parameters
55
- * @returns Array of successful quotes (may be empty if all providers fail)
56
- */
57
- async fetchAllQuotes(params) {
58
- const eligible = this.getAllProviders().filter((p) => p.isMarketSupported(params.assetIn, params.assetOut, params.chainId));
59
- if (eligible.length === 0) {
60
- throw new Error(`No provider supports ${params.assetIn.metadata.symbol}/${params.assetOut.metadata.symbol} on chain ${params.chainId}`);
61
- }
62
- const results = await Promise.allSettled(eligible.map((p) => p.getQuote(params)));
63
- return results
64
- .filter((r) => r.status === 'fulfilled')
65
- .map((r) => r.value);
66
- }
67
- /**
68
- * Fetch quotes from all eligible providers in parallel.
35
+ * Fetch quotes from all providers with the wallet address as recipient.
69
36
  * Unlike getQuote(), returns all successful quotes instead of just the best.
70
37
  * If an explicit provider is specified, returns a single-element array from that provider.
71
38
  * @param params - Quote parameters (assets, amounts, chain, optional provider)
@@ -96,7 +63,7 @@ export class BaseSwapNamespace {
96
63
  if (provider) {
97
64
  const named = this.providers[provider];
98
65
  if (!named) {
99
- throw new Error(`Swap provider "${provider}" not configured`);
66
+ throw new ProviderNotConfiguredError({ provider });
100
67
  }
101
68
  return named.getMarket(params);
102
69
  }
@@ -108,7 +75,10 @@ export class BaseSwapNamespace {
108
75
  continue;
109
76
  }
110
77
  }
111
- throw new Error(`Market with poolId ${params.poolId} not found on chain ${params.chainId}`);
78
+ throw new MarketNotFoundError({
79
+ chainId: params.chainId,
80
+ poolId: params.poolId,
81
+ });
112
82
  }
113
83
  /**
114
84
  * Get available swap markets across all providers
@@ -119,22 +89,6 @@ export class BaseSwapNamespace {
119
89
  const results = await Promise.all(this.getAllProviders().map((p) => p.getMarkets(params)));
120
90
  return results.flat();
121
91
  }
122
- /**
123
- * Get all supported chain IDs across all providers
124
- */
125
- supportedChainIds() {
126
- const chainIds = new Set();
127
- for (const provider of this.getAllProviders()) {
128
- for (const chainId of provider.supportedChainIds()) {
129
- chainIds.add(chainId);
130
- }
131
- }
132
- return Array.from(chainIds);
133
- }
134
- // SwapProviders keys are optional (uniswap?, velodrome?, etc.) so filter out unconfigured ones
135
- getAllProviders() {
136
- return Object.values(this.providers).filter((p) => p !== undefined);
137
- }
138
92
  /**
139
93
  * Resolve which provider handles a request.
140
94
  *
@@ -148,13 +102,13 @@ export class BaseSwapNamespace {
148
102
  resolveProvider(provider, assetIn, assetOut, chainId) {
149
103
  const allProviders = this.getAllProviders();
150
104
  if (allProviders.length === 0) {
151
- throw new Error('No swap provider configured');
105
+ throw new ProviderNotConfiguredError({ provider: 'swap' });
152
106
  }
153
107
  // 1. Explicit provider param
154
108
  if (provider) {
155
109
  const named = this.providers[provider];
156
110
  if (!named) {
157
- throw new Error(`Swap provider "${provider}" not configured`);
111
+ throw new ProviderNotConfiguredError({ provider });
158
112
  }
159
113
  return named;
160
114
  }
@@ -182,5 +136,50 @@ export class BaseSwapNamespace {
182
136
  }
183
137
  return allProviders[0];
184
138
  }
139
+ /**
140
+ * Fetch quotes from all eligible providers in parallel and return the best.
141
+ * @param params - Quote parameters
142
+ * @returns The quote with the highest amountOut
143
+ * @throws If no provider returns a valid quote
144
+ */
145
+ async getBestQuote(params) {
146
+ const quotes = await this.fetchAllQuotes(params);
147
+ let best = null;
148
+ for (const quote of quotes) {
149
+ if (!best || quote.amountOutRaw > best.amountOutRaw) {
150
+ best = quote;
151
+ }
152
+ }
153
+ if (!best) {
154
+ throw new MarketNotAllowedError({
155
+ assetInSymbol: params.assetIn.metadata.symbol,
156
+ assetOutSymbol: params.assetOut.metadata.symbol,
157
+ chainId: params.chainId,
158
+ reason: 'All providers failed to quote this pair',
159
+ });
160
+ }
161
+ return best;
162
+ }
163
+ /**
164
+ * Fetch quotes from all eligible providers in parallel.
165
+ * Providers that don't support the pair or fail to quote are silently skipped.
166
+ * @param params - Quote parameters
167
+ * @returns Array of successful quotes (may be empty if all providers fail)
168
+ */
169
+ async fetchAllQuotes(params) {
170
+ const eligible = this.getAllProviders().filter((p) => p.isMarketSupported(params.assetIn, params.assetOut, params.chainId));
171
+ if (eligible.length === 0) {
172
+ throw new MarketNotAllowedError({
173
+ assetInSymbol: params.assetIn.metadata.symbol,
174
+ assetOutSymbol: params.assetOut.metadata.symbol,
175
+ chainId: params.chainId,
176
+ reason: 'No configured provider supports this pair on this chain',
177
+ });
178
+ }
179
+ const results = await Promise.allSettled(eligible.map((p) => p.getQuote(params)));
180
+ return results
181
+ .filter((r) => r.status === 'fulfilled')
182
+ .map((r) => r.value);
183
+ }
185
184
  }
186
185
  //# sourceMappingURL=BaseSwapNamespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseSwapNamespace.js","sourceRoot":"","sources":["../../../../src/actions/swap/namespaces/BaseSwapNamespace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { BaseSwapNamespace } from './BaseSwapNamespace.js';
2
+ import type { RecipientResolver } from '../../../services/nameservices/ens/utils.js';
3
+ import type { SwapSettings } from '../../../types/actions.js';
4
+ import type { SwapProviders, SwapQuote, SwapQuoteParams, SwapReceipt, WalletSwapParams } from '../../../types/swap/index.js';
5
+ import type { Wallet } from '../../../wallet/core/wallets/abstract/Wallet.js';
6
+ /**
7
+ * Wallet swap namespace with full operations including signing.
8
+ * Provides getQuote() for pricing and execute() for swapping tokens.
9
+ */
10
+ export declare class WalletSwapNamespace extends BaseSwapNamespace {
11
+ private readonly wallet;
12
+ constructor(providers: SwapProviders, wallet: Wallet, resolveRecipient?: RecipientResolver, settings?: SwapSettings);
13
+ /**
14
+ * Get a swap quote with the wallet address as recipient.
15
+ * Ensures calldata is encoded for the real wallet, not a placeholder.
16
+ */
17
+ getQuote(params: SwapQuoteParams): Promise<SwapQuote>;
18
+ /**
19
+ * Get quotes from all providers with the wallet address as recipient.
20
+ */
21
+ getQuotes(params: SwapQuoteParams): Promise<SwapQuote[]>;
22
+ /**
23
+ * Execute a token swap.
24
+ * Accepts either raw params (re-quotes internally) or a pre-built SwapQuote
25
+ * (skips re-quoting). When a pre-built quote is passed, its recipient must
26
+ * equal this wallet's address — otherwise the calldata would route output
27
+ * tokens to a different address (a real risk on Velodrome v2/leaf paths
28
+ * where the recipient is encoded directly into the swap call). Re-quote via
29
+ * `wallet.swap.getQuote(...)` to bind the quote to this wallet.
30
+ * @param params - Swap parameters or a pre-built SwapQuote from getQuote()
31
+ * @returns Swap receipt with transaction details
32
+ * @throws If `params` is a SwapQuote whose recipient differs from this wallet
33
+ */
34
+ execute(params: WalletSwapParams | SwapQuote): Promise<SwapReceipt>;
35
+ /**
36
+ * Validate that a pre-built quote is bound to this wallet. Throws when the
37
+ * quote's recipient differs from `wallet.address` — silently swapping
38
+ * recipients would route output tokens to the wrong address on routers that
39
+ * encode the recipient directly into calldata (e.g. Velodrome v2/leaf).
40
+ */
41
+ private requireQuoteForThisWallet;
42
+ /**
43
+ * Inject `walletAddress` (needed for validation and on-chain allowance
44
+ * checks) and resolve any ENS recipient so providers only ever receive an
45
+ * `Address`.
46
+ */
47
+ private resolveRawParams;
48
+ private buildReceipt;
49
+ /**
50
+ * Send a swap transaction, collecting any token/Permit2 approvals ahead
51
+ * of the swap call. Defers to `executeTransactionBatch` for the actual
52
+ * 1-vs-N send/sendBatch dispatch.
53
+ */
54
+ private dispatch;
55
+ }
56
+ //# sourceMappingURL=WalletSwapNamespace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletSwapNamespace.d.ts","sourceRoot":"","sources":["../../../../src/actions/swap/namespaces/WalletSwapNamespace.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAA;AAIlF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,WAAW,EAEX,gBAAgB,EACjB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAA;AAEtE;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,iBAAiB;IAGtD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADvB,SAAS,EAAE,aAAa,EACP,MAAM,EAAE,MAAM,EAC/B,gBAAgB,CAAC,EAAE,iBAAiB,EACpC,QAAQ,CAAC,EAAE,YAAY;IAKzB;;;OAGG;IACY,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAOpE;;OAEG;IACY,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAOvE;;;;;;;;;;;OAWG;IACG,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAkBzE;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;;;OAIG;YACW,gBAAgB;IAY9B,OAAO,CAAC,YAAY;IAiBpB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;CAajB"}
@@ -1,5 +1,8 @@
1
+ import { isAddressEqual } from 'viem';
1
2
  import { QUOTE_DISCRIMINATOR } from '../core/SwapProvider.js';
2
3
  import { BaseSwapNamespace } from './BaseSwapNamespace.js';
4
+ import { QuoteRecipientMismatchError } from '../../../core/error/errors.js';
5
+ import { executeTransactionBatch } from '../../../wallet/core/utils/executeTransactionBatch.js';
3
6
  /**
4
7
  * Wallet swap namespace with full operations including signing.
5
8
  * Provides getQuote() for pricing and execute() for swapping tokens.
@@ -30,26 +33,52 @@ export class WalletSwapNamespace extends BaseSwapNamespace {
30
33
  }
31
34
  /**
32
35
  * Execute a token swap.
33
- * Accepts either raw params (re-quotes internally) or a pre-built SwapQuote (skips re-quoting).
36
+ * Accepts either raw params (re-quotes internally) or a pre-built SwapQuote
37
+ * (skips re-quoting). When a pre-built quote is passed, its recipient must
38
+ * equal this wallet's address — otherwise the calldata would route output
39
+ * tokens to a different address (a real risk on Velodrome v2/leaf paths
40
+ * where the recipient is encoded directly into the swap call). Re-quote via
41
+ * `wallet.swap.getQuote(...)` to bind the quote to this wallet.
34
42
  * @param params - Swap parameters or a pre-built SwapQuote from getQuote()
35
43
  * @returns Swap receipt with transaction details
44
+ * @throws If `params` is a SwapQuote whose recipient differs from this wallet
36
45
  */
37
46
  async execute(params) {
38
- // Inject walletAddress — raw params need it for validation,
39
- // quotes need it for on-chain allowance checks during approval building.
40
- // Resolve ENS recipient here so providers only ever receive an Address.
41
47
  const executeParams = QUOTE_DISCRIMINATOR in params
42
- ? { ...params, recipient: this.wallet.address }
43
- : {
44
- ...params,
45
- walletAddress: this.wallet.address,
46
- recipient: await this.resolveRecipient(params.recipient),
47
- };
48
+ ? this.requireQuoteForThisWallet(params)
49
+ : await this.resolveRawParams(params);
48
50
  const provider = this.resolveProvider(params.provider, params.assetIn, params.assetOut, params.chainId);
49
51
  const swapTx = await provider.execute(executeParams);
50
- const receipt = await this.executeTransaction(swapTx, params.chainId);
52
+ const receipt = await this.dispatch(swapTx, params.chainId);
51
53
  return this.buildReceipt(swapTx, receipt);
52
54
  }
55
+ /**
56
+ * Validate that a pre-built quote is bound to this wallet. Throws when the
57
+ * quote's recipient differs from `wallet.address` — silently swapping
58
+ * recipients would route output tokens to the wrong address on routers that
59
+ * encode the recipient directly into calldata (e.g. Velodrome v2/leaf).
60
+ */
61
+ requireQuoteForThisWallet(quote) {
62
+ if (!isAddressEqual(quote.recipient, this.wallet.address)) {
63
+ throw new QuoteRecipientMismatchError({
64
+ quoteRecipient: quote.recipient,
65
+ walletAddress: this.wallet.address,
66
+ });
67
+ }
68
+ return quote;
69
+ }
70
+ /**
71
+ * Inject `walletAddress` (needed for validation and on-chain allowance
72
+ * checks) and resolve any ENS recipient so providers only ever receive an
73
+ * `Address`.
74
+ */
75
+ async resolveRawParams(params) {
76
+ return {
77
+ ...params,
78
+ walletAddress: this.wallet.address,
79
+ recipient: await this.resolveRecipient(params.recipient ?? this.wallet.address),
80
+ };
81
+ }
53
82
  buildReceipt(swapTx, receipt) {
54
83
  return {
55
84
  receipt,
@@ -64,26 +93,20 @@ export class WalletSwapNamespace extends BaseSwapNamespace {
64
93
  };
65
94
  }
66
95
  /**
67
- * Execute swap transaction with approval batching
96
+ * Send a swap transaction, collecting any token/Permit2 approvals ahead
97
+ * of the swap call. Defers to `executeTransactionBatch` for the actual
98
+ * 1-vs-N send/sendBatch dispatch.
68
99
  */
69
- async executeTransaction(swapTx, chainId) {
100
+ dispatch(swapTx, chainId) {
70
101
  const { transactionData } = swapTx;
71
102
  const txs = [];
72
- // Add token approval if needed
73
- if (transactionData.tokenApproval) {
103
+ if (transactionData.tokenApproval)
74
104
  txs.push(transactionData.tokenApproval);
75
- }
76
- // Add Permit2 approval if needed
77
105
  if (transactionData.permit2Approval) {
78
106
  txs.push(transactionData.permit2Approval);
79
107
  }
80
- // Add main swap transaction
81
108
  txs.push(transactionData.swap);
82
- // Execute as batch if multiple transactions, otherwise single
83
- if (txs.length > 1) {
84
- return this.wallet.sendBatch(txs, chainId);
85
- }
86
- return this.wallet.send(transactionData.swap, chainId);
109
+ return executeTransactionBatch(this.wallet, txs, chainId);
87
110
  }
88
111
  }
89
112
  //# sourceMappingURL=WalletSwapNamespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletSwapNamespace.js","sourceRoot":"","sources":["../../../../src/actions/swap/namespaces/WalletSwapNamespace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseSwapNamespace.spec.d.ts","sourceRoot":"","sources":["../../../../../src/actions/swap/namespaces/__tests__/BaseSwapNamespace.spec.ts"],"names":[],"mappings":""}
@@ -1,7 +1,7 @@
1
1
  import { describe, expect, it } from 'vitest';
2
- import { MockChainManager } from '../../../services/__mocks__/MockChainManager.js';
3
2
  import { createMockSwapProvider, MockSwapProvider, } from '../../__mocks__/MockSwapProvider.js';
4
3
  import { ActionsSwapNamespace } from '../ActionsSwapNamespace.js';
4
+ import { MockChainManager } from '../../../../services/__mocks__/MockChainManager.js';
5
5
  describe('BaseSwapNamespace', () => {
6
6
  const USDC = {
7
7
  type: 'erc20',
@@ -36,7 +36,7 @@ describe('BaseSwapNamespace', () => {
36
36
  assetOut: ETH,
37
37
  amountIn: 100,
38
38
  chainId: 84532,
39
- })).rejects.toThrow('No swap provider configured');
39
+ })).rejects.toThrow("A 'swap' provider is not configured");
40
40
  });
41
41
  });
42
42
  describe('getQuote with price routing', () => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseSwapNamespace.spec.js","sourceRoot":"","sources":["../../../../../src/actions/swap/namespaces/__tests__/BaseSwapNamespace.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletSwapNamespace.spec.d.ts","sourceRoot":"","sources":["../../../../../src/actions/swap/namespaces/__tests__/WalletSwapNamespace.spec.ts"],"names":[],"mappings":""}
@@ -96,6 +96,36 @@ describe('WalletSwapNamespace', () => {
96
96
  walletAddress: mockWalletAddress,
97
97
  }));
98
98
  });
99
+ it('defaults recipient to wallet address when omitted', async () => {
100
+ const provider = createMockSwapProvider();
101
+ const wallet = createMockWallet();
102
+ const namespace = new WalletSwapNamespace({ uniswap: provider }, wallet);
103
+ await namespace.execute({
104
+ amountIn: 100,
105
+ assetIn: USDC,
106
+ assetOut: ETH,
107
+ chainId: 84532,
108
+ });
109
+ expect(provider.mockExecute).toHaveBeenCalledWith(expect.objectContaining({
110
+ recipient: mockWalletAddress,
111
+ }));
112
+ });
113
+ it('preserves explicit recipient over wallet address', async () => {
114
+ const provider = createMockSwapProvider();
115
+ const wallet = createMockWallet();
116
+ const namespace = new WalletSwapNamespace({ uniswap: provider }, wallet);
117
+ const customRecipient = '0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA';
118
+ await namespace.execute({
119
+ amountIn: 100,
120
+ assetIn: USDC,
121
+ assetOut: ETH,
122
+ chainId: 84532,
123
+ recipient: customRecipient,
124
+ });
125
+ expect(provider.mockExecute).toHaveBeenCalledWith(expect.objectContaining({
126
+ recipient: customRecipient,
127
+ }));
128
+ });
99
129
  it('throws when no provider configured', async () => {
100
130
  const wallet = createMockWallet();
101
131
  const namespace = new WalletSwapNamespace({}, wallet);
@@ -104,7 +134,7 @@ describe('WalletSwapNamespace', () => {
104
134
  assetIn: USDC,
105
135
  assetOut: ETH,
106
136
  chainId: 84532,
107
- })).rejects.toThrow('No swap provider configured');
137
+ })).rejects.toThrow("A 'swap' provider is not configured");
108
138
  });
109
139
  it('executes swap from a SwapQuote (skips re-quoting)', async () => {
110
140
  const provider = createMockSwapProvider();
@@ -138,7 +168,7 @@ describe('WalletSwapNamespace', () => {
138
168
  chainId: 84532,
139
169
  });
140
170
  // Quote should have wallet address as the encoded recipient
141
- expect(quote.quotedRecipient).toBe(mockWalletAddress);
171
+ expect(quote.recipient).toBe(mockWalletAddress);
142
172
  });
143
173
  it('preserves explicit recipient over wallet address', async () => {
144
174
  const provider = createMockSwapProvider();
@@ -152,49 +182,83 @@ describe('WalletSwapNamespace', () => {
152
182
  chainId: 84532,
153
183
  recipient: customRecipient,
154
184
  });
155
- expect(quote.quotedRecipient).toBe(customRecipient);
185
+ expect(quote.recipient).toBe(customRecipient);
156
186
  });
157
187
  });
158
188
  describe('execute with recipient mismatch', () => {
159
- it('re-encodes when quote recipient differs from wallet', async () => {
189
+ it('throws when quote.recipient does not match wallet.address', async () => {
160
190
  const provider = createMockSwapProvider();
161
191
  const wallet = createMockWallet();
162
192
  const namespace = new WalletSwapNamespace({ uniswap: provider }, wallet);
163
- // Get quote without wallet (simulates ActionsSwapNamespace quote)
193
+ // Get quote without wallet (simulates ActionsSwapNamespace quote — recipient
194
+ // defaults to UNIVERSAL_ROUTER_MSG_SENDER, not the executing wallet)
164
195
  const quote = await provider.getQuote({
165
196
  assetIn: USDC,
166
197
  assetOut: ETH,
167
198
  amountIn: 100,
168
199
  chainId: 84532,
169
- // No recipient — uses placeholder
170
200
  });
171
- // quotedRecipient should be the placeholder, not the wallet
172
- expect(quote.quotedRecipient).not.toBe(mockWalletAddress);
173
- // Execute through wallet namespace should re-quote with correct recipient
174
- const result = await namespace.execute(quote);
175
- expect(result.price).toBeDefined();
176
- // Provider's getQuote should have been called twice:
177
- // 1) original quote, 2) re-quote with wallet address
178
- expect(provider.mockGetQuote).toHaveBeenCalledTimes(2);
201
+ expect(quote.recipient).not.toBe(mockWalletAddress);
202
+ await expect(namespace.execute(quote)).rejects.toThrow(/generated for a different recipient/i);
203
+ // Provider's getQuote was called once (the original); execute did not re-quote.
204
+ expect(provider.mockGetQuote).toHaveBeenCalledTimes(1);
205
+ });
206
+ it('throws on a quote built for a different wallet address', async () => {
207
+ const provider = createMockSwapProvider();
208
+ const wallet = createMockWallet();
209
+ const namespace = new WalletSwapNamespace({ uniswap: provider }, wallet);
210
+ const otherWallet = '0x9999999999999999999999999999999999999999';
211
+ const quote = await provider.getQuote({
212
+ assetIn: USDC,
213
+ assetOut: ETH,
214
+ amountIn: 100,
215
+ chainId: 84532,
216
+ recipient: otherWallet,
217
+ });
218
+ expect(quote.recipient).toBe(otherWallet);
219
+ await expect(namespace.execute(quote)).rejects.toThrow(/generated for a different recipient/i);
179
220
  });
180
- it('skips re-encode when quote already has correct recipient', async () => {
221
+ it('executes when quote.recipient equals wallet.address', async () => {
181
222
  const provider = createMockSwapProvider();
182
223
  const wallet = createMockWallet();
183
224
  const namespace = new WalletSwapNamespace({ uniswap: provider }, wallet);
184
- // Get quote through wallet namespace (has correct recipient)
185
225
  const quote = await namespace.getQuote({
186
226
  assetIn: USDC,
187
227
  assetOut: ETH,
188
228
  amountIn: 100,
189
229
  chainId: 84532,
190
230
  });
191
- expect(quote.quotedRecipient).toBe(mockWalletAddress);
192
- // Execute — should NOT re-quote
231
+ expect(quote.recipient).toBe(mockWalletAddress);
193
232
  const result = await namespace.execute(quote);
194
233
  expect(result.price).toBeDefined();
195
- // getQuote called only once (the original)
234
+ // Single getQuote call no re-quote, no re-encode.
196
235
  expect(provider.mockGetQuote).toHaveBeenCalledTimes(1);
197
236
  });
237
+ it('executes when quote.recipient differs only in case from wallet.address', async () => {
238
+ // Address with hex letters so case actually changes the string. The
239
+ // wallet uses checksummed casing; the quote uses lowercase. Without
240
+ // `isAddressEqual` the strict `!==` would falsely reject.
241
+ const checksummedAddress = '0xAbCdEf1234567890aBcDeF1234567890ABcDeF12';
242
+ const lowercaseAddress = checksummedAddress.toLowerCase();
243
+ const provider = createMockSwapProvider();
244
+ const wallet = {
245
+ address: checksummedAddress,
246
+ send: vi.fn().mockResolvedValue({ transactionHash: '0xtx1' }),
247
+ sendBatch: vi.fn().mockResolvedValue({ transactionHash: '0xtx2' }),
248
+ };
249
+ const namespace = new WalletSwapNamespace({ uniswap: provider }, wallet);
250
+ const quote = await provider.getQuote({
251
+ assetIn: USDC,
252
+ assetOut: ETH,
253
+ amountIn: 100,
254
+ chainId: 84532,
255
+ recipient: lowercaseAddress,
256
+ });
257
+ expect(quote.recipient).toBe(lowercaseAddress);
258
+ expect(quote.recipient).not.toBe(checksummedAddress);
259
+ const result = await namespace.execute(quote);
260
+ expect(result.price).toBeDefined();
261
+ });
198
262
  });
199
263
  describe('inherits read-only methods', () => {
200
264
  it('has getMarkets method from BaseSwapNamespace', async () => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletSwapNamespace.spec.js","sourceRoot":"","sources":["../../../../../src/actions/swap/namespaces/__tests__/WalletSwapNamespace.spec.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,20 @@
1
- import type { SupportedChainId } from '../../../constants/supportedChains.js';
2
- import type { SwapQuoteParamsResolved } from '../../../ens/types.js';
3
1
  import { SwapProvider } from '../../core/SwapProvider.js';
4
2
  import type { UniswapSwapProviderConfig } from './types.js';
5
- import type { GetSwapMarketParams, GetSwapMarketsParams, ResolvedSwapParams, SwapMarket, SwapQuote, SwapTransaction } from '../../../types/swap/index.js';
3
+ import type { SupportedChainId } from '../../../../constants/supportedChains.js';
4
+ import type { ChainManager } from '../../../../services/ChainManager.js';
5
+ import type { SwapQuoteParamsResolved } from '../../../../services/nameservices/ens/types.js';
6
+ import type { SwapSettings } from '../../../../types/actions.js';
7
+ import type { GetSwapMarketParams, GetSwapMarketsParams, ResolvedSwapParams, SwapMarket, SwapQuote, SwapTransaction } from '../../../../types/swap/index.js';
6
8
  /**
7
9
  * Uniswap V4 swap provider using Universal Router and Permit2 approvals.
8
10
  */
9
11
  export declare class UniswapSwapProvider extends SwapProvider<UniswapSwapProviderConfig> {
12
+ constructor(config: UniswapSwapProviderConfig, chainManager: ChainManager, settings?: SwapSettings);
10
13
  protocolSupportedChainIds(): SupportedChainId[];
11
14
  protected _execute(params: ResolvedSwapParams): Promise<SwapTransaction>;
12
15
  protected _buildApprovals(quote: SwapQuote): Promise<{
13
- tokenApproval: import("../../../index.js").TransactionData | undefined;
14
- permit2Approval: import("../../../index.js").TransactionData | undefined;
16
+ tokenApproval: import("../../../../index.js").TransactionData | undefined;
17
+ permit2Approval: import("../../../../index.js").TransactionData | undefined;
15
18
  }>;
16
19
  protected _getQuote(params: SwapQuoteParamsResolved): Promise<SwapQuote>;
17
20
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UniswapSwapProvider.d.ts","sourceRoot":"","sources":["../../../../../src/actions/swap/providers/uniswap/UniswapSwapProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAalE,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,2CAA2C,CAAA;AAElD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAI9B;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY,CAAC,yBAAyB,CAAC;gBAE5E,MAAM,EAAE,yBAAyB,EACjC,YAAY,EAAE,YAAY,EAC1B,QAAQ,CAAC,EAAE,YAAY;IAKzB,yBAAyB,IAAI,gBAAgB,EAAE;cAI/B,QAAQ,CACtB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC;cAyBX,eAAe,CAAC,KAAK,EAAE,SAAS;;;;cAyBhC,SAAS,CACvB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,SAAS,CAAC;IAgFrB;;;;;OAKG;cACa,UAAU,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAS5E;;;;OAIG;cACa,WAAW,CACzB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC;IASxB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;CAe7B"}