@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
@@ -8,8 +8,8 @@ import {
8
8
  getMockAuthorizationContext,
9
9
  } from '@/__mocks__/MockPrivyClient.js'
10
10
  import { getRandomAddress } from '@/__mocks__/utils.js'
11
+ import { createMockLendProvider } from '@/actions/lend/__mocks__/MockLendProvider.js'
11
12
  import type { SupportedChainId } from '@/constants/supportedChains.js'
12
- import { createMockLendProvider } from '@/lend/__mocks__/MockLendProvider.js'
13
13
  import { MockChainManager } from '@/services/__mocks__/MockChainManager.js'
14
14
  import type { ChainManager } from '@/services/ChainManager.js'
15
15
  import { DefaultSmartWalletProvider } from '@/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js'
@@ -1,3 +1,4 @@
1
+ import { ProviderNotConfiguredError } from '@/core/error/errors.js'
1
2
  import type { HostedProviderFactory } from '@/wallet/core/providers/hosted/types/index.js'
2
3
 
3
4
  /**
@@ -29,7 +30,7 @@ export abstract class HostedWalletProviderRegistry<
29
30
  const factory = this.registry.get(type) as
30
31
  | HostedProviderFactory<TType, TInstanceMap[TType], TConfigMap[TType]>
31
32
  | undefined
32
- if (!factory) throw new Error(`Unknown hosted wallet provider: ${type}`)
33
+ if (!factory) throw new ProviderNotConfiguredError({ provider: type })
33
34
  return factory
34
35
  }
35
36
 
@@ -84,7 +84,7 @@ describe('HostedWalletProviderRegistry', () => {
84
84
  const registry = new TestHostedWalletProviderRegistry()
85
85
  // @ts-expect-error: testing runtime error for unknown type
86
86
  expect(() => registry.getFactory('unknown')).toThrow(
87
- 'Unknown hosted wallet provider: unknown',
87
+ "A 'unknown' provider is not configured",
88
88
  )
89
89
  })
90
90
  })
@@ -15,8 +15,8 @@ import type {
15
15
  import { beforeEach, describe, expect, it, vi } from 'vitest'
16
16
 
17
17
  import { getRandomAddress } from '@/__mocks__/utils.js'
18
+ import { createMockLendProvider } from '@/actions/lend/__mocks__/MockLendProvider.js'
18
19
  import type { SupportedChainId } from '@/constants/supportedChains.js'
19
- import { createMockLendProvider } from '@/lend/__mocks__/MockLendProvider.js'
20
20
  import { MockChainManager } from '@/services/__mocks__/MockChainManager.js'
21
21
  import type { ChainManager } from '@/services/ChainManager.js'
22
22
  import { DefaultSmartWalletProvider } from '@/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js'
@@ -0,0 +1,42 @@
1
+ import type { Address } from 'viem'
2
+ import { beforeEach, describe, expect, it, vi } from 'vitest'
3
+
4
+ import type { TransactionData } from '@/types/transaction.js'
5
+ import { executeTransactionBatch } from '@/wallet/core/utils/executeTransactionBatch.js'
6
+ import type { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
7
+
8
+ const CHAIN_ID = 10 as const
9
+ const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000' as Address
10
+ const TX_A: TransactionData = { to: ZERO_ADDRESS, data: '0xaa', value: 0n }
11
+ const TX_B: TransactionData = { to: ZERO_ADDRESS, data: '0xbb', value: 0n }
12
+
13
+ describe('executeTransactionBatch', () => {
14
+ let wallet: Wallet
15
+
16
+ beforeEach(() => {
17
+ wallet = {
18
+ send: vi.fn().mockResolvedValue({ kind: 'single' }),
19
+ sendBatch: vi.fn().mockResolvedValue({ kind: 'batch' }),
20
+ } as unknown as Wallet
21
+ })
22
+
23
+ it('throws when the transaction list is empty', async () => {
24
+ await expect(executeTransactionBatch(wallet, [], CHAIN_ID)).rejects.toThrow(
25
+ /empty/,
26
+ )
27
+ })
28
+
29
+ it('calls wallet.send for a single transaction', async () => {
30
+ const result = await executeTransactionBatch(wallet, [TX_A], CHAIN_ID)
31
+ expect(wallet.send).toHaveBeenCalledWith(TX_A, CHAIN_ID)
32
+ expect(wallet.sendBatch).not.toHaveBeenCalled()
33
+ expect(result).toEqual({ kind: 'single' })
34
+ })
35
+
36
+ it('calls wallet.sendBatch for multiple transactions', async () => {
37
+ const result = await executeTransactionBatch(wallet, [TX_A, TX_B], CHAIN_ID)
38
+ expect(wallet.sendBatch).toHaveBeenCalledWith([TX_A, TX_B], CHAIN_ID)
39
+ expect(wallet.send).not.toHaveBeenCalled()
40
+ expect(result).toEqual({ kind: 'batch' })
41
+ })
42
+ })
@@ -1,6 +1,6 @@
1
1
  import { describe, expect, it, vi } from 'vitest'
2
2
 
3
- import { retryOnStaleRead } from '@/core/utils/retryOnStaleRead.js'
3
+ import { retryOnStaleRead } from '@/wallet/core/utils/retryOnStaleRead.js'
4
4
 
5
5
  describe('retryOnStaleRead', () => {
6
6
  it('returns immediately when value is fresh', async () => {
@@ -0,0 +1,37 @@
1
+ import type { SupportedChainId } from '@/constants/supportedChains.js'
2
+ import type { TransactionData } from '@/types/transaction.js'
3
+ import type {
4
+ BatchTransactionReturnType,
5
+ TransactionReturnType,
6
+ } from '@/wallet/core/wallets/abstract/types/index.js'
7
+ import type { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
8
+
9
+ /**
10
+ * Dispatch a list of transactions to a wallet.
11
+ * @description Single-element → `wallet.send()`; multi-element →
12
+ * `wallet.sendBatch()`. An empty list is a programming error and throws.
13
+ *
14
+ * Shared by every wallet-signing namespace (WalletLendNamespace,
15
+ * WalletSwapNamespace, WalletBorrowNamespace, …). Implemented as a
16
+ * module-level helper rather than a base class so namespaces can inherit
17
+ * from their domain-specific base (BaseLendNamespace etc.) without a
18
+ * multi-inheritance bind.
19
+ * @param wallet - The wallet that signs and sends the transactions
20
+ * @param transactions - Non-empty list of transactions to dispatch
21
+ * @param chainId - Target chain for the transactions
22
+ * @returns Receipt(s) from the underlying send / sendBatch call
23
+ * @throws Error if `transactions` is empty
24
+ */
25
+ export async function executeTransactionBatch(
26
+ wallet: Wallet,
27
+ transactions: readonly TransactionData[],
28
+ chainId: SupportedChainId,
29
+ ): Promise<TransactionReturnType | BatchTransactionReturnType> {
30
+ if (transactions.length === 0) {
31
+ throw new Error('executeTransactionBatch: empty transaction list')
32
+ }
33
+ if (transactions.length === 1) {
34
+ return wallet.send(transactions[0], chainId)
35
+ }
36
+ return wallet.sendBatch(transactions, chainId)
37
+ }
@@ -1,15 +1,16 @@
1
1
  import type { Address, LocalAccount } from 'viem'
2
2
 
3
+ import { WalletLendNamespace } from '@/actions/lend/namespaces/WalletLendNamespace.js'
4
+ import { WalletSwapNamespace } from '@/actions/swap/namespaces/WalletSwapNamespace.js'
3
5
  import type { SupportedChainId } from '@/constants/supportedChains.js'
4
- import { EnsNamespace } from '@/ens/index.js'
5
- import { WalletLendNamespace } from '@/lend/namespaces/WalletLendNamespace.js'
6
6
  import type { ChainManager } from '@/services/ChainManager.js'
7
+ import { EnsNamespace } from '@/services/nameservices/ens/index.js'
7
8
  import { fetchERC20Balance, fetchETHBalance } from '@/services/tokenBalance.js'
8
- import { WalletSwapNamespace } from '@/swap/namespaces/WalletSwapNamespace.js'
9
9
  import type { SwapSettings } from '@/types/actions.js'
10
- import type { Asset, TokenBalance } from '@/types/asset.js'
10
+ import type { Asset, BalanceFetchOptions, TokenBalance } from '@/types/asset.js'
11
11
  import type { LendProviders, SwapProviders } from '@/types/providers.js'
12
12
  import type { TransactionData } from '@/types/transaction.js'
13
+ import { validateBalanceFetchOptions } from '@/utils/validation.js'
13
14
  import type {
14
15
  BatchTransactionReturnType,
15
16
  TransactionReturnType,
@@ -84,18 +85,31 @@ export abstract class Wallet {
84
85
  }
85
86
 
86
87
  /**
87
- * Get asset balances across all supported chains
88
- * @description Fetches ETH and ERC20 token balances for this wallet across all supported networks.
89
- * Uses the configured supported assets from ActionsConfig.assets if provided.
90
- * @returns Promise resolving to array of token balances with chain breakdown
88
+ * Check whether a wallet namespace (`lend`, `swap`) is configured on this
89
+ * wallet. Useful for callers that branch on capability instead of catching
90
+ * a `TypeError` from `wallet.lend!.openPosition(...)` later. Returns `false`
91
+ * when the namespace is undefined (no providers were registered for it).
92
+ * @param namespace - Wallet namespace name to probe.
93
+ * @returns `true` when the namespace is configured.
91
94
  */
92
- async getBalance(): Promise<TokenBalance[]> {
93
- const tokenBalancePromises = this.supportedAssets.map(async (asset) => {
94
- return fetchERC20Balance(this.chainManager, this.address, asset)
95
- })
96
- const ethBalancePromise = fetchETHBalance(this.chainManager, this.address)
95
+ has(namespace: 'lend' | 'swap'): boolean {
96
+ return this[namespace] !== undefined
97
+ }
97
98
 
98
- return Promise.all([ethBalancePromise, ...tokenBalancePromises])
99
+ /**
100
+ * Get asset balances across the requested chains (or all supported chains).
101
+ * @description Fetches ETH and ERC20 token balances for this wallet. By default queries every chain returned by the SDK's `ChainManager`. Pass `options.chainIds` to restrict the query to a subset of those chains; each id is validated against the configured chains and an `InvalidParamsError` / `ChainNotSupportedError` is thrown for unusable input. Uses the configured supported assets from `ActionsConfig.assets` if provided.
102
+ * @param options - Optional `chainIds` filter
103
+ * @returns Promise resolving to array of token balances with chain breakdown
104
+ */
105
+ async getBalance(options?: BalanceFetchOptions): Promise<TokenBalance[]> {
106
+ validateBalanceFetchOptions(options, this.chainManager)
107
+ return Promise.all([
108
+ fetchETHBalance(this.chainManager, this.address, options),
109
+ ...this.supportedAssets.map((asset) =>
110
+ fetchERC20Balance(this.chainManager, this.address, asset, options),
111
+ ),
112
+ ])
99
113
  }
100
114
 
101
115
  /**
@@ -163,7 +177,7 @@ export abstract class Wallet {
163
177
  * @returns Promise resolving to the transaction hash
164
178
  */
165
179
  abstract sendBatch(
166
- transactionData: TransactionData[],
180
+ transactionData: readonly TransactionData[],
167
181
  chainId: SupportedChainId,
168
182
  ): Promise<BatchTransactionReturnType>
169
183
  }
@@ -1,9 +1,9 @@
1
1
  import type { Address, LocalAccount, WalletClient } from 'viem'
2
2
 
3
+ import type { LendProvider } from '@/actions/lend/core/LendProvider.js'
4
+ import type { SwapProvider } from '@/actions/swap/core/SwapProvider.js'
3
5
  import type { SupportedChainId } from '@/constants/supportedChains.js'
4
- import type { LendProvider } from '@/lend/core/LendProvider.js'
5
6
  import type { ChainManager } from '@/services/ChainManager.js'
6
- import type { SwapProvider } from '@/swap/core/SwapProvider.js'
7
7
  import type { LendProviderConfig, SwapProviderConfig } from '@/types/actions.js'
8
8
  import type { Asset } from '@/types/asset.js'
9
9
  import type { TransactionData } from '@/types/lend/index.js'
@@ -44,7 +44,7 @@ export class TestWallet extends Wallet {
44
44
  }
45
45
 
46
46
  async sendBatch(
47
- _transactionData: TransactionData[],
47
+ _transactionData: readonly TransactionData[],
48
48
  _chainId: SupportedChainId,
49
49
  ): Promise<EOATransactionReceipt[]> {
50
50
  return [] as unknown as EOATransactionReceipt[]
@@ -1,10 +1,14 @@
1
1
  import type { LocalAccount } from 'viem'
2
- import { unichain } from 'viem/chains'
2
+ import { base, optimism, unichain } from 'viem/chains'
3
3
  import { beforeEach, describe, expect, it, vi } from 'vitest'
4
4
 
5
5
  import { getRandomAddress } from '@/__mocks__/utils.js'
6
+ import type { WalletLendNamespace } from '@/actions/lend/namespaces/WalletLendNamespace.js'
6
7
  import { ETH, USDC } from '@/constants/assets.js'
7
- import type { WalletLendNamespace } from '@/lend/namespaces/WalletLendNamespace.js'
8
+ import {
9
+ ChainNotSupportedError,
10
+ InvalidParamsError,
11
+ } from '@/core/error/errors.js'
8
12
  import { MockChainManager } from '@/services/__mocks__/MockChainManager.js'
9
13
  import type { ChainManager } from '@/services/ChainManager.js'
10
14
  import { fetchERC20Balance, fetchETHBalance } from '@/services/tokenBalance.js'
@@ -36,7 +40,11 @@ describe('Wallet (base)', () => {
36
40
 
37
41
  expect(result).toBeTruthy()
38
42
  expect(fetchETHBalance).toHaveBeenCalledTimes(1)
39
- expect(fetchETHBalance).toHaveBeenCalledWith(chainManager, address)
43
+ expect(fetchETHBalance).toHaveBeenCalledWith(
44
+ chainManager,
45
+ address,
46
+ undefined,
47
+ )
40
48
  // No supportedAssets configured, so no ERC20 balance fetches
41
49
  expect(fetchERC20Balance).toHaveBeenCalledTimes(0)
42
50
  })
@@ -67,6 +75,49 @@ describe('Wallet (base)', () => {
67
75
  await expect(wallet.getBalance()).rejects.toThrow('rpc error')
68
76
  })
69
77
 
78
+ it('getBalance forwards chainIds to fetchers when provided', async () => {
79
+ const multiCm = new MockChainManager({
80
+ supportedChains: [optimism.id, base.id, unichain.id],
81
+ }) as unknown as ChainManager
82
+ const wallet = new TestWallet(
83
+ multiCm,
84
+ address,
85
+ signer,
86
+ undefined,
87
+ undefined,
88
+ [ETH, USDC],
89
+ )
90
+
91
+ await wallet.getBalance({ chainIds: [base.id] })
92
+
93
+ expect(fetchETHBalance).toHaveBeenCalledWith(multiCm, address, {
94
+ chainIds: [base.id],
95
+ })
96
+ expect(fetchERC20Balance).toHaveBeenCalledTimes(2)
97
+ for (const call of vi.mocked(fetchERC20Balance).mock.calls) {
98
+ expect(call[3]).toEqual({ chainIds: [base.id] })
99
+ }
100
+ })
101
+
102
+ it('getBalance throws ChainNotSupportedError for chains outside the manager', async () => {
103
+ const wallet = new TestWallet(chainManager, address, signer)
104
+
105
+ await expect(
106
+ wallet.getBalance({ chainIds: [base.id] }),
107
+ ).rejects.toBeInstanceOf(ChainNotSupportedError)
108
+ expect(fetchETHBalance).not.toHaveBeenCalled()
109
+ expect(fetchERC20Balance).not.toHaveBeenCalled()
110
+ })
111
+
112
+ it('getBalance throws InvalidParamsError when chainIds is empty', async () => {
113
+ const wallet = new TestWallet(chainManager, address, signer)
114
+
115
+ await expect(wallet.getBalance({ chainIds: [] })).rejects.toBeInstanceOf(
116
+ InvalidParamsError,
117
+ )
118
+ expect(fetchETHBalance).not.toHaveBeenCalled()
119
+ })
120
+
70
121
  it('has lend namespace available for inheritance', () => {
71
122
  const wallet = new TestWallet(chainManager, address, signer)
72
123
 
@@ -74,4 +125,19 @@ describe('Wallet (base)', () => {
74
125
  expect(wallet.lend).toBeDefined()
75
126
  expect(wallet.lend).toEqual({})
76
127
  })
128
+
129
+ describe('has', () => {
130
+ it("returns false for a namespace that wasn't configured", () => {
131
+ const wallet = new TestWallet(chainManager, address, signer)
132
+ expect(wallet.has('lend')).toBe(false)
133
+ expect(wallet.has('swap')).toBe(false)
134
+ })
135
+
136
+ it('returns true once a namespace has been attached', () => {
137
+ const wallet = new TestWallet(chainManager, address, signer)
138
+ wallet.lend = {} as WalletLendNamespace
139
+ expect(wallet.has('lend')).toBe(true)
140
+ expect(wallet.has('swap')).toBe(false)
141
+ })
142
+ })
77
143
  })
@@ -5,7 +5,7 @@ import type {
5
5
  LocalAccount,
6
6
  WalletClient,
7
7
  } from 'viem'
8
- import { createWalletClient } from 'viem'
8
+ import { createWalletClient, nonceManager } from 'viem'
9
9
 
10
10
  import type { SupportedChainId } from '@/constants/supportedChains.js'
11
11
  import type { TransactionData } from '@/types/lend/index.js'
@@ -23,8 +23,10 @@ export abstract class EOAWallet extends Wallet {
23
23
  /**
24
24
  * Create a WalletClient for this EOA wallet.
25
25
  *
26
- * Creates a viem-compatible WalletClient configured with this wallet's account
27
- * and the specified chain. Supports fallback transport for multiple RPC URLs.
26
+ * Attaches viem's default `nonceManager` to the signer so back-to-back
27
+ * `sendTransaction` calls receive sequential nonces without re-fetching
28
+ * `eth_getTransactionCount('pending')` per tx. This avoids races on
29
+ * load-balanced RPCs where pending state lags by one block.
28
30
  * @param chainId - The chain ID to create the wallet client for
29
31
  * @returns Promise resolving to a WalletClient configured for the specified chain
30
32
  */
@@ -39,8 +41,11 @@ export abstract class EOAWallet extends Wallet {
39
41
  []
40
42
  >
41
43
  > {
44
+ const account: LocalAccount = this.signer.nonceManager
45
+ ? this.signer
46
+ : { ...this.signer, nonceManager }
42
47
  return createWalletClient({
43
- account: this.signer,
48
+ account,
44
49
  chain: this.chainManager.getChain(chainId),
45
50
  transport: this.chainManager.getTransportForChain(chainId),
46
51
  })
@@ -70,25 +75,25 @@ export abstract class EOAWallet extends Wallet {
70
75
  /**
71
76
  * Send multiple transactions sequentially from this EOA wallet.
72
77
  *
73
- * Executes transactions one at a time in order, waiting for 2 confirmations
74
- * between each to ensure nonce updates. Returns an array of receipts.
78
+ * Each transaction is awaited to inclusion (one confirmation) via `send()`
79
+ * before the next is signed. The `nonceManager` attached in `walletClient()`
80
+ * keeps nonces in sequence locally, so the wait does not need extra
81
+ * confirmations to guarantee nonce monotonicity.
82
+ *
83
+ * Note: this method assumes a sequencer-ordered chain (e.g. OP-stack L2s).
84
+ * On chains with deeper reorg risk, consider an additional confirmations
85
+ * pass at the call site.
75
86
  * @param transactionData - Array of transactions to send
76
87
  * @param chainId - Chain to send the transactions on
77
88
  * @returns Promise resolving to array of transaction receipts (one per transaction)
78
89
  */
79
90
  async sendBatch(
80
- transactionData: TransactionData[],
91
+ transactionData: readonly TransactionData[],
81
92
  chainId: SupportedChainId,
82
93
  ): Promise<EOATransactionReceipt[]> {
83
94
  const receipts: EOATransactionReceipt[] = []
84
95
  for (const tx of transactionData) {
85
96
  const receipt = await this.send(tx, chainId)
86
- const publicClient = this.chainManager.getPublicClient(chainId)
87
- // wait an extra confirmation so give time for nonce to be updated
88
- await publicClient.waitForTransactionReceipt({
89
- hash: receipt.transactionHash,
90
- confirmations: 2,
91
- })
92
97
  receipts.push(receipt)
93
98
  }
94
99
  return receipts
@@ -120,10 +120,44 @@ describe('EOAWallet', () => {
120
120
 
121
121
  expect(createWalletClient).toHaveBeenCalledOnce()
122
122
  const callArgs = vi.mocked(createWalletClient).mock.calls[0][0]
123
- expect(callArgs.account).toBe(mockLocalAccount)
123
+ expect(callArgs.account).toMatchObject({
124
+ address: mockLocalAccount.address,
125
+ })
124
126
  expect(callArgs.chain).toBe(unichain)
125
127
  expect(walletClient).toBe(mockWalletClient)
126
128
  })
129
+
130
+ it('attaches a nonce manager so back-to-back sends get sequential nonces', async () => {
131
+ await wallet.walletClient(unichain.id)
132
+
133
+ const callArgs = vi.mocked(createWalletClient).mock.calls[0][0]
134
+ const account = callArgs.account as { nonceManager?: unknown }
135
+ expect(account.nonceManager).toMatchObject({
136
+ consume: expect.any(Function),
137
+ increment: expect.any(Function),
138
+ get: expect.any(Function),
139
+ reset: expect.any(Function),
140
+ })
141
+ })
142
+
143
+ it('respects a nonce manager already set on the signer', async () => {
144
+ const customNonceManager = {
145
+ consume: vi.fn(),
146
+ increment: vi.fn(),
147
+ get: vi.fn(),
148
+ reset: vi.fn(),
149
+ }
150
+ ;(mockLocalAccount as LocalAccount).nonceManager =
151
+ customNonceManager as unknown as LocalAccount['nonceManager']
152
+
153
+ await wallet.walletClient(unichain.id)
154
+
155
+ const callArgs = vi.mocked(createWalletClient).mock.calls[0][0]
156
+ const account = callArgs.account as { nonceManager?: unknown }
157
+ expect(account.nonceManager).toBe(customNonceManager)
158
+
159
+ delete (mockLocalAccount as LocalAccount).nonceManager
160
+ })
127
161
  })
128
162
 
129
163
  describe('send', () => {
@@ -191,13 +225,12 @@ describe('EOAWallet', () => {
191
225
  .mockResolvedValueOnce(mockReceipt2.transactionHash)
192
226
  .mockResolvedValueOnce(mockReceipt3.transactionHash)
193
227
 
228
+ // sendBatch performs exactly one inclusion wait per transaction (the
229
+ // wait inside `send()`). One mock per tx.
194
230
  vi.mocked(mockPublicClient.waitForTransactionReceipt)
195
231
  .mockResolvedValueOnce(mockReceipt)
196
- .mockResolvedValueOnce(mockReceipt)
197
- .mockResolvedValueOnce(mockReceipt2)
198
232
  .mockResolvedValueOnce(mockReceipt2)
199
233
  .mockResolvedValueOnce(mockReceipt3)
200
- .mockResolvedValueOnce(mockReceipt3)
201
234
  })
202
235
 
203
236
  it('should send multiple transactions sequentially', async () => {
@@ -226,33 +259,19 @@ describe('EOAWallet', () => {
226
259
  )
227
260
  })
228
261
 
229
- it('should wait for extra confirmations after each transaction', async () => {
262
+ it('waits for exactly one confirmation per transaction', async () => {
230
263
  await wallet.sendBatch(
231
264
  [mockTransactionData1, mockTransactionData2],
232
265
  unichain.id,
233
266
  )
234
267
 
235
- // Should be called twice per transaction:
236
- // 1. Initial wait in send()
237
- // 2. Extra confirmation wait (confirmations: 2) in sendBatch()
268
+ // One inclusion wait per tx, via `send()`.
238
269
  expect(mockPublicClient.waitForTransactionReceipt).toHaveBeenCalledTimes(
239
- 4,
270
+ 2,
240
271
  )
241
-
242
- // Check that extra confirmation wait was called with confirmations: 2
243
272
  expect(
244
273
  mockPublicClient.waitForTransactionReceipt,
245
- ).toHaveBeenNthCalledWith(2, {
246
- hash: mockReceipt.transactionHash,
247
- confirmations: 2,
248
- })
249
-
250
- expect(
251
- mockPublicClient.waitForTransactionReceipt,
252
- ).toHaveBeenNthCalledWith(4, {
253
- hash: mockReceipt2.transactionHash,
254
- confirmations: 2,
255
- })
274
+ ).not.toHaveBeenCalledWith(expect.objectContaining({ confirmations: 2 }))
256
275
  })
257
276
 
258
277
  it('should get public client for each transaction', async () => {
@@ -261,8 +280,8 @@ describe('EOAWallet', () => {
261
280
  unichain.id,
262
281
  )
263
282
 
264
- // Called twice per transaction (once in send, once for extra confirmation)
265
- expect(mockChainManager.getPublicClient).toHaveBeenCalledTimes(4)
283
+ // One getPublicClient call per transaction (via send()).
284
+ expect(mockChainManager.getPublicClient).toHaveBeenCalledTimes(2)
266
285
  expect(mockChainManager.getPublicClient).toHaveBeenCalledWith(unichain.id)
267
286
  })
268
287
 
@@ -33,7 +33,7 @@ export abstract class SmartWallet extends Wallet {
33
33
  * @param chainId
34
34
  */
35
35
  abstract sendBatch(
36
- transactionData: TransactionData[],
36
+ transactionData: readonly TransactionData[],
37
37
  chainId: SupportedChainId,
38
38
  ): Promise<WaitForUserOperationReceiptReturnType>
39
39
 
@@ -11,13 +11,13 @@ import type { WaitForUserOperationReceiptReturnType } from 'viem/account-abstrac
11
11
  import { toCoinbaseSmartAccount } from 'viem/account-abstraction'
12
12
 
13
13
  import type { SupportedChainId } from '@/constants/supportedChains.js'
14
- import { TransactionConfirmedButRevertedError } from '@/core/error/errors.js'
15
- import { retryOnStaleRead } from '@/core/utils/retryOnStaleRead.js'
16
14
  import type { ChainManager } from '@/services/ChainManager.js'
17
15
  import type { Asset } from '@/types/asset.js'
18
16
  import type { LendProviders, SwapProviders } from '@/types/providers.js'
19
17
  import type { TransactionData } from '@/types/transaction.js'
20
18
  import { parseAssetAmount } from '@/utils/assets.js'
19
+ import { TransactionConfirmedButRevertedError } from '@/wallet/core/error/errors.js'
20
+ import { retryOnStaleRead } from '@/wallet/core/utils/retryOnStaleRead.js'
21
21
  import { SmartWallet } from '@/wallet/core/wallets/smart/abstract/SmartWallet.js'
22
22
  import type { Signer } from '@/wallet/core/wallets/smart/abstract/types/index.js'
23
23
  import {
@@ -218,7 +218,7 @@ export class DefaultSmartWallet extends SmartWallet {
218
218
  * @returns Promise resolving to the transaction hash
219
219
  */
220
220
  async sendBatch(
221
- transactionData: TransactionData[],
221
+ transactionData: readonly TransactionData[],
222
222
  chainId: SupportedChainId,
223
223
  ): Promise<WaitForUserOperationReceiptReturnType> {
224
224
  const account = await this.getCoinbaseSmartAccount(chainId)
@@ -9,7 +9,7 @@ import { baseSepolia, unichain } from 'viem/chains'
9
9
  import { beforeEach, describe, expect, it, vi } from 'vitest'
10
10
 
11
11
  import { getRandomAddress } from '@/__mocks__/utils.js'
12
- import { createMockLendProvider } from '@/lend/__mocks__/MockLendProvider.js'
12
+ import { createMockLendProvider } from '@/actions/lend/__mocks__/MockLendProvider.js'
13
13
  import { MockChainManager } from '@/services/__mocks__/MockChainManager.js'
14
14
  import type { ChainManager } from '@/services/ChainManager.js'
15
15
  import type { LendProviderConfig } from '@/types/actions.js'
@@ -5,3 +5,4 @@ export type {
5
5
  NodeProviderTypes,
6
6
  } from '@/wallet/node/providers/hosted/types/index.js'
7
7
  export { PrivyWallet } from '@/wallet/node/wallets/hosted/privy/PrivyWallet.js'
8
+ export { LocalWallet } from '@/wallet/node/wallets/local/LocalWallet.js'
@@ -9,7 +9,7 @@ import {
9
9
  getMockAuthorizationContext,
10
10
  } from '@/__mocks__/MockPrivyClient.js'
11
11
  import { getRandomAddress } from '@/__mocks__/utils.js'
12
- import { createMockLendProvider } from '@/lend/__mocks__/MockLendProvider.js'
12
+ import { createMockLendProvider } from '@/actions/lend/__mocks__/MockLendProvider.js'
13
13
  import { MockChainManager } from '@/services/__mocks__/MockChainManager.js'
14
14
  import type { ChainManager } from '@/services/ChainManager.js'
15
15
  import { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
@@ -98,7 +98,7 @@ describe('NodeHostedWalletProviderRegistry', () => {
98
98
  const registry = new NodeHostedWalletProviderRegistry()
99
99
  // @ts-expect-error: testing runtime error for unknown type
100
100
  expect(() => registry.getFactory('unknown')).toThrow(
101
- 'Unknown hosted wallet provider: unknown',
101
+ "A 'unknown' provider is not configured",
102
102
  )
103
103
  })
104
104
  })
@@ -3,7 +3,7 @@ import type { LocalAccount } from 'viem'
3
3
  import { unichain } from 'viem/chains'
4
4
  import { describe, expect, it, vi } from 'vitest'
5
5
 
6
- import { createMockLendProvider } from '@/lend/__mocks__/MockLendProvider.js'
6
+ import { createMockLendProvider } from '@/actions/lend/__mocks__/MockLendProvider.js'
7
7
  import { MockChainManager } from '@/services/__mocks__/MockChainManager.js'
8
8
  import type { ChainManager } from '@/services/ChainManager.js'
9
9
  import { TurnkeyHostedWalletProvider } from '@/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js'
@@ -115,7 +115,10 @@ describe('PrivyWallet', () => {
115
115
 
116
116
  expect(createWalletClient).toHaveBeenCalledOnce()
117
117
  const callArgs = vi.mocked(createWalletClient).mock.calls[0][0]
118
- expect(callArgs.account).toBe(mockLocalAccount)
118
+ expect(callArgs.account).toMatchObject({
119
+ address: mockLocalAccount.address,
120
+ })
121
+ expect(callArgs.account).toHaveProperty('nonceManager')
119
122
  expect(callArgs.chain).toBe(mockChainManager.getChain(unichain.id))
120
123
  expect(walletClient).toBe(mockWalletClient)
121
124
  })
@@ -97,7 +97,8 @@ describe('TurnkeyWallet', () => {
97
97
 
98
98
  expect(createWalletClient).toHaveBeenCalledOnce()
99
99
  const args = vi.mocked(createWalletClient).mock.calls[0][0]
100
- expect(args.account).toBe(mockLocalAccount)
100
+ expect(args.account).toMatchObject({ address: mockLocalAccount.address })
101
+ expect(args.account).toHaveProperty('nonceManager')
101
102
  expect(args.chain).toBe(mockChainManager.getChain(unichain.id))
102
103
  expect(walletClient).toBe(mockWalletClient)
103
104
  })