@eth-optimism/actions-sdk 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (778) hide show
  1. package/dist/__tests__/actions.test.js +1 -1
  2. package/dist/__tests__/actions.test.js.map +1 -1
  3. package/dist/{lend → actions/lend}/__mocks__/MockLendProvider.d.ts +6 -6
  4. package/dist/actions/lend/__mocks__/MockLendProvider.d.ts.map +1 -0
  5. package/dist/{lend → actions/lend}/__mocks__/MockLendProvider.js +20 -7
  6. package/dist/actions/lend/__mocks__/MockLendProvider.js.map +1 -0
  7. package/dist/{lend → actions/lend}/__mocks__/MockMarkets.d.ts +1 -1
  8. package/dist/actions/lend/__mocks__/MockMarkets.d.ts.map +1 -0
  9. package/dist/{lend → actions/lend}/__mocks__/MockMarkets.js +1 -1
  10. package/dist/actions/lend/__mocks__/MockMarkets.js.map +1 -0
  11. package/dist/{lend → actions/lend}/__mocks__/mockLendTransaction.d.ts +2 -2
  12. package/dist/actions/lend/__mocks__/mockLendTransaction.d.ts.map +1 -0
  13. package/dist/{lend → actions/lend}/__mocks__/mockLendTransaction.js +1 -1
  14. package/dist/actions/lend/__mocks__/mockLendTransaction.js.map +1 -0
  15. package/dist/{lend → actions/lend}/core/LendProvider.d.ts +38 -22
  16. package/dist/actions/lend/core/LendProvider.d.ts.map +1 -0
  17. package/dist/{lend → actions/lend}/core/LendProvider.js +61 -22
  18. package/dist/actions/lend/core/LendProvider.js.map +1 -0
  19. package/dist/actions/lend/core/__tests__/LendProvider.test.d.ts.map +1 -0
  20. package/dist/{lend → actions/lend}/core/__tests__/LendProvider.test.js +57 -3
  21. package/dist/actions/lend/core/__tests__/LendProvider.test.js.map +1 -0
  22. package/dist/actions/lend/index.d.ts.map +1 -0
  23. package/dist/actions/lend/index.js.map +1 -0
  24. package/dist/actions/lend/namespaces/ActionsLendNamespace.d.ts.map +1 -0
  25. package/dist/actions/lend/namespaces/ActionsLendNamespace.js.map +1 -0
  26. package/dist/actions/lend/namespaces/BaseLendNamespace.d.ts +33 -0
  27. package/dist/actions/lend/namespaces/BaseLendNamespace.d.ts.map +1 -0
  28. package/dist/{lend → actions/lend}/namespaces/BaseLendNamespace.js +11 -24
  29. package/dist/actions/lend/namespaces/BaseLendNamespace.js.map +1 -0
  30. package/dist/{lend → actions/lend}/namespaces/WalletLendNamespace.d.ts +8 -11
  31. package/dist/actions/lend/namespaces/WalletLendNamespace.d.ts.map +1 -0
  32. package/dist/{lend → actions/lend}/namespaces/WalletLendNamespace.js +13 -15
  33. package/dist/actions/lend/namespaces/WalletLendNamespace.js.map +1 -0
  34. package/dist/actions/lend/namespaces/__tests__/ActionsLendNamespace.spec.d.ts.map +1 -0
  35. package/dist/{lend → actions/lend}/namespaces/__tests__/ActionsLendNamespace.spec.js +1 -1
  36. package/dist/actions/lend/namespaces/__tests__/ActionsLendNamespace.spec.js.map +1 -0
  37. package/dist/actions/lend/namespaces/__tests__/BaseLendNamespace.spec.d.ts.map +1 -0
  38. package/dist/{lend → actions/lend}/namespaces/__tests__/BaseLendNamespace.spec.js +2 -2
  39. package/dist/actions/lend/namespaces/__tests__/BaseLendNamespace.spec.js.map +1 -0
  40. package/dist/actions/lend/namespaces/__tests__/WalletLendNamespace.spec.d.ts.map +1 -0
  41. package/dist/{lend → actions/lend}/namespaces/__tests__/WalletLendNamespace.spec.js +5 -5
  42. package/dist/actions/lend/namespaces/__tests__/WalletLendNamespace.spec.js.map +1 -0
  43. package/dist/{lend → actions/lend}/providers/aave/AaveLendProvider.d.ts +18 -20
  44. package/dist/actions/lend/providers/aave/AaveLendProvider.d.ts.map +1 -0
  45. package/dist/{lend → actions/lend}/providers/aave/AaveLendProvider.js +56 -54
  46. package/dist/actions/lend/providers/aave/AaveLendProvider.js.map +1 -0
  47. package/dist/{lend → actions/lend}/providers/aave/__mocks__/mockReserve.d.ts +1 -1
  48. package/dist/actions/lend/providers/aave/__mocks__/mockReserve.d.ts.map +1 -0
  49. package/dist/actions/lend/providers/aave/__mocks__/mockReserve.js.map +1 -0
  50. package/dist/actions/lend/providers/aave/__tests__/AaveLendProvider.test.d.ts.map +1 -0
  51. package/dist/{lend → actions/lend}/providers/aave/__tests__/AaveLendProvider.test.js +4 -4
  52. package/dist/actions/lend/providers/aave/__tests__/AaveLendProvider.test.js.map +1 -0
  53. package/dist/actions/lend/providers/aave/abis/pool.d.ts.map +1 -0
  54. package/dist/actions/lend/providers/aave/abis/pool.js.map +1 -0
  55. package/dist/actions/lend/providers/aave/addresses.d.ts.map +1 -0
  56. package/dist/actions/lend/providers/aave/addresses.js.map +1 -0
  57. package/dist/{lend → actions/lend}/providers/aave/sdk.d.ts +4 -4
  58. package/dist/actions/lend/providers/aave/sdk.d.ts.map +1 -0
  59. package/dist/{lend → actions/lend}/providers/aave/sdk.js +10 -5
  60. package/dist/actions/lend/providers/aave/sdk.js.map +1 -0
  61. package/dist/{lend → actions/lend}/providers/morpho/MorphoLendProvider.d.ts +18 -14
  62. package/dist/actions/lend/providers/morpho/MorphoLendProvider.d.ts.map +1 -0
  63. package/dist/{lend → actions/lend}/providers/morpho/MorphoLendProvider.js +48 -44
  64. package/dist/actions/lend/providers/morpho/MorphoLendProvider.js.map +1 -0
  65. package/dist/actions/lend/providers/morpho/__mocks__/mockVault.d.ts.map +1 -0
  66. package/dist/actions/lend/providers/morpho/__mocks__/mockVault.js.map +1 -0
  67. package/dist/actions/lend/providers/morpho/__tests__/MorphoLendProvider.test.d.ts.map +1 -0
  68. package/dist/{lend → actions/lend}/providers/morpho/__tests__/MorphoLendProvider.test.js +58 -3
  69. package/dist/actions/lend/providers/morpho/__tests__/MorphoLendProvider.test.js.map +1 -0
  70. package/dist/actions/lend/providers/morpho/__tests__/api.test.d.ts.map +1 -0
  71. package/dist/{lend → actions/lend}/providers/morpho/__tests__/api.test.js +2 -2
  72. package/dist/actions/lend/providers/morpho/__tests__/api.test.js.map +1 -0
  73. package/dist/actions/lend/providers/morpho/__tests__/sdk.test.d.ts.map +1 -0
  74. package/dist/{lend → actions/lend}/providers/morpho/__tests__/sdk.test.js +1 -1
  75. package/dist/actions/lend/providers/morpho/__tests__/sdk.test.js.map +1 -0
  76. package/dist/actions/lend/providers/morpho/api.d.ts.map +1 -0
  77. package/dist/actions/lend/providers/morpho/api.js.map +1 -0
  78. package/dist/{lend → actions/lend}/providers/morpho/sdk.d.ts +4 -4
  79. package/dist/actions/lend/providers/morpho/sdk.d.ts.map +1 -0
  80. package/dist/{lend → actions/lend}/providers/morpho/sdk.js +18 -7
  81. package/dist/actions/lend/providers/morpho/sdk.js.map +1 -0
  82. package/dist/actions/lend/utils/markets.d.ts +26 -0
  83. package/dist/actions/lend/utils/markets.d.ts.map +1 -0
  84. package/dist/actions/lend/utils/markets.js +44 -0
  85. package/dist/actions/lend/utils/markets.js.map +1 -0
  86. package/dist/actions/shared/BaseNamespace.d.ts +29 -0
  87. package/dist/actions/shared/BaseNamespace.d.ts.map +1 -0
  88. package/dist/actions/shared/BaseNamespace.js +31 -0
  89. package/dist/actions/shared/BaseNamespace.js.map +1 -0
  90. package/dist/actions/shared/__tests__/BaseNamespace.spec.d.ts +2 -0
  91. package/dist/actions/shared/__tests__/BaseNamespace.spec.d.ts.map +1 -0
  92. package/dist/actions/shared/__tests__/BaseNamespace.spec.js +42 -0
  93. package/dist/actions/shared/__tests__/BaseNamespace.spec.js.map +1 -0
  94. package/dist/{lend/providers → actions/shared}/morpho/contracts.d.ts +1 -1
  95. package/dist/actions/shared/morpho/contracts.d.ts.map +1 -0
  96. package/dist/{lend/providers → actions/shared}/morpho/contracts.js.map +1 -1
  97. package/dist/{types/lend/contracts.d.ts → actions/shared/morpho/types.d.ts} +2 -2
  98. package/dist/actions/shared/morpho/types.d.ts.map +1 -0
  99. package/dist/actions/shared/morpho/types.js.map +1 -0
  100. package/dist/{swap → actions/swap}/__mocks__/MockSwapProvider.d.ts +7 -6
  101. package/dist/actions/swap/__mocks__/MockSwapProvider.d.ts.map +1 -0
  102. package/dist/{swap → actions/swap}/__mocks__/MockSwapProvider.js +5 -2
  103. package/dist/actions/swap/__mocks__/MockSwapProvider.js.map +1 -0
  104. package/dist/{swap → actions/swap}/core/SwapProvider.d.ts +29 -14
  105. package/dist/actions/swap/core/SwapProvider.d.ts.map +1 -0
  106. package/dist/{swap → actions/swap}/core/SwapProvider.js +57 -38
  107. package/dist/actions/swap/core/SwapProvider.js.map +1 -0
  108. package/dist/actions/swap/core/__tests__/SwapProvider.test.d.ts.map +1 -0
  109. package/dist/{swap → actions/swap}/core/__tests__/SwapProvider.test.js +39 -0
  110. package/dist/actions/swap/core/__tests__/SwapProvider.test.js.map +1 -0
  111. package/dist/{swap → actions/swap}/core/markets.d.ts +3 -3
  112. package/dist/actions/swap/core/markets.d.ts.map +1 -0
  113. package/dist/{swap → actions/swap}/core/markets.js +2 -1
  114. package/dist/actions/swap/core/markets.js.map +1 -0
  115. package/dist/actions/swap/index.d.ts.map +1 -0
  116. package/dist/actions/swap/index.js.map +1 -0
  117. package/dist/actions/swap/namespaces/ActionsSwapNamespace.d.ts.map +1 -0
  118. package/dist/actions/swap/namespaces/ActionsSwapNamespace.js.map +1 -0
  119. package/dist/{swap → actions/swap}/namespaces/BaseSwapNamespace.d.ts +25 -28
  120. package/dist/actions/swap/namespaces/BaseSwapNamespace.d.ts.map +1 -0
  121. package/dist/{swap → actions/swap}/namespaces/BaseSwapNamespace.js +58 -59
  122. package/dist/actions/swap/namespaces/BaseSwapNamespace.js.map +1 -0
  123. package/dist/actions/swap/namespaces/WalletSwapNamespace.d.ts +56 -0
  124. package/dist/actions/swap/namespaces/WalletSwapNamespace.d.ts.map +1 -0
  125. package/dist/{swap → actions/swap}/namespaces/WalletSwapNamespace.js +43 -23
  126. package/dist/actions/swap/namespaces/WalletSwapNamespace.js.map +1 -0
  127. package/dist/actions/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts.map +1 -0
  128. package/dist/{swap → actions/swap}/namespaces/__tests__/BaseSwapNamespace.spec.js +2 -2
  129. package/dist/actions/swap/namespaces/__tests__/BaseSwapNamespace.spec.js.map +1 -0
  130. package/dist/actions/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts.map +1 -0
  131. package/dist/{swap → actions/swap}/namespaces/__tests__/WalletSwapNamespace.spec.js +83 -19
  132. package/dist/actions/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +1 -0
  133. package/dist/{swap → actions/swap}/providers/uniswap/UniswapSwapProvider.d.ts +8 -5
  134. package/dist/actions/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +1 -0
  135. package/dist/{swap → actions/swap}/providers/uniswap/UniswapSwapProvider.js +14 -5
  136. package/dist/actions/swap/providers/uniswap/UniswapSwapProvider.js.map +1 -0
  137. package/dist/actions/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts.map +1 -0
  138. package/dist/{swap → actions/swap}/providers/uniswap/__tests__/UniswapSwapProvider.test.js +1 -1
  139. package/dist/actions/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js.map +1 -0
  140. package/dist/actions/swap/providers/uniswap/__tests__/sdk.test.d.ts.map +1 -0
  141. package/dist/{swap → actions/swap}/providers/uniswap/__tests__/sdk.test.js +47 -1
  142. package/dist/actions/swap/providers/uniswap/__tests__/sdk.test.js.map +1 -0
  143. package/dist/actions/swap/providers/uniswap/abis.d.ts.map +1 -0
  144. package/dist/actions/swap/providers/uniswap/abis.js.map +1 -0
  145. package/dist/{swap → actions/swap}/providers/uniswap/addresses.d.ts +1 -1
  146. package/dist/actions/swap/providers/uniswap/addresses.d.ts.map +1 -0
  147. package/dist/{swap → actions/swap}/providers/uniswap/addresses.js +6 -2
  148. package/dist/actions/swap/providers/uniswap/addresses.js.map +1 -0
  149. package/dist/{swap → actions/swap}/providers/uniswap/encoding.d.ts +3 -3
  150. package/dist/actions/swap/providers/uniswap/encoding.d.ts.map +1 -0
  151. package/dist/{swap → actions/swap}/providers/uniswap/encoding.js +2 -2
  152. package/dist/actions/swap/providers/uniswap/encoding.js.map +1 -0
  153. package/dist/{swap → actions/swap}/providers/uniswap/markets.d.ts +3 -3
  154. package/dist/actions/swap/providers/uniswap/markets.d.ts.map +1 -0
  155. package/dist/{swap → actions/swap}/providers/uniswap/markets.js +1 -1
  156. package/dist/actions/swap/providers/uniswap/markets.js.map +1 -0
  157. package/dist/{swap → actions/swap}/providers/uniswap/types.d.ts +1 -1
  158. package/dist/actions/swap/providers/uniswap/types.d.ts.map +1 -0
  159. package/dist/actions/swap/providers/uniswap/types.js.map +1 -0
  160. package/dist/{swap → actions/swap}/providers/velodrome/VelodromeSwapProvider.d.ts +9 -4
  161. package/dist/actions/swap/providers/velodrome/VelodromeSwapProvider.d.ts.map +1 -0
  162. package/dist/{swap → actions/swap}/providers/velodrome/VelodromeSwapProvider.js +37 -11
  163. package/dist/actions/swap/providers/velodrome/VelodromeSwapProvider.js.map +1 -0
  164. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts.map +1 -0
  165. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js.map +1 -0
  166. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts.map +1 -0
  167. package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js +7 -6
  168. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js.map +1 -0
  169. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts.map +1 -0
  170. package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.test.js +39 -4
  171. package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.js.map +1 -0
  172. package/dist/actions/swap/providers/velodrome/__tests__/encoding.cl.test.d.ts.map +1 -0
  173. package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.cl.test.js +22 -1
  174. package/dist/actions/swap/providers/velodrome/__tests__/encoding.cl.test.js.map +1 -0
  175. package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.helpers.d.ts +1 -1
  176. package/dist/actions/swap/providers/velodrome/__tests__/encoding.helpers.d.ts.map +1 -0
  177. package/dist/actions/swap/providers/velodrome/__tests__/encoding.helpers.js.map +1 -0
  178. package/dist/actions/swap/providers/velodrome/__tests__/encoding.v2.test.d.ts.map +1 -0
  179. package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.v2.test.js +25 -1
  180. package/dist/actions/swap/providers/velodrome/__tests__/encoding.v2.test.js.map +1 -0
  181. package/dist/actions/swap/providers/velodrome/abis.d.ts.map +1 -0
  182. package/dist/actions/swap/providers/velodrome/abis.js.map +1 -0
  183. package/dist/{swap → actions/swap}/providers/velodrome/addresses.d.ts +1 -1
  184. package/dist/actions/swap/providers/velodrome/addresses.d.ts.map +1 -0
  185. package/dist/actions/swap/providers/velodrome/addresses.js.map +1 -0
  186. package/dist/{swap → actions/swap}/providers/velodrome/config.d.ts +1 -1
  187. package/dist/actions/swap/providers/velodrome/config.d.ts.map +1 -0
  188. package/dist/{swap → actions/swap}/providers/velodrome/config.js +5 -1
  189. package/dist/actions/swap/providers/velodrome/config.js.map +1 -0
  190. package/dist/{swap → actions/swap}/providers/velodrome/encoding/helpers.d.ts +3 -3
  191. package/dist/actions/swap/providers/velodrome/encoding/helpers.d.ts.map +1 -0
  192. package/dist/{swap → actions/swap}/providers/velodrome/encoding/helpers.js +4 -3
  193. package/dist/actions/swap/providers/velodrome/encoding/helpers.js.map +1 -0
  194. package/dist/{swap → actions/swap}/providers/velodrome/encoding/index.d.ts +0 -1
  195. package/dist/actions/swap/providers/velodrome/encoding/index.d.ts.map +1 -0
  196. package/dist/{swap → actions/swap}/providers/velodrome/encoding/index.js +0 -1
  197. package/dist/actions/swap/providers/velodrome/encoding/index.js.map +1 -0
  198. package/dist/{swap → actions/swap}/providers/velodrome/encoding/poolRouter.d.ts +3 -3
  199. package/dist/actions/swap/providers/velodrome/encoding/poolRouter.d.ts.map +1 -0
  200. package/dist/{swap → actions/swap}/providers/velodrome/encoding/poolRouter.js +2 -1
  201. package/dist/actions/swap/providers/velodrome/encoding/poolRouter.js.map +1 -0
  202. package/dist/{swap → actions/swap}/providers/velodrome/encoding/routers/cl.d.ts +24 -3
  203. package/dist/actions/swap/providers/velodrome/encoding/routers/cl.d.ts.map +1 -0
  204. package/dist/{swap → actions/swap}/providers/velodrome/encoding/routers/cl.js +22 -10
  205. package/dist/actions/swap/providers/velodrome/encoding/routers/cl.js.map +1 -0
  206. package/dist/{swap → actions/swap}/providers/velodrome/encoding/routers/v2.d.ts +23 -3
  207. package/dist/actions/swap/providers/velodrome/encoding/routers/v2.d.ts.map +1 -0
  208. package/dist/{swap → actions/swap}/providers/velodrome/encoding/routers/v2.js +24 -13
  209. package/dist/actions/swap/providers/velodrome/encoding/routers/v2.js.map +1 -0
  210. package/dist/{swap → actions/swap}/providers/velodrome/markets.d.ts +3 -3
  211. package/dist/actions/swap/providers/velodrome/markets.d.ts.map +1 -0
  212. package/dist/{swap → actions/swap}/providers/velodrome/markets.js +4 -3
  213. package/dist/actions/swap/providers/velodrome/markets.js.map +1 -0
  214. package/dist/{swap → actions/swap}/providers/velodrome/types.d.ts +1 -1
  215. package/dist/actions/swap/providers/velodrome/types.d.ts.map +1 -0
  216. package/dist/actions/swap/providers/velodrome/types.js +2 -0
  217. package/dist/actions/swap/providers/velodrome/types.js.map +1 -0
  218. package/dist/actions.d.ts +4 -3
  219. package/dist/actions.d.ts.map +1 -1
  220. package/dist/actions.js +45 -22
  221. package/dist/actions.js.map +1 -1
  222. package/dist/core/error/__tests__/errors.test.d.ts +2 -0
  223. package/dist/core/error/__tests__/errors.test.d.ts.map +1 -0
  224. package/dist/core/error/__tests__/errors.test.js +195 -0
  225. package/dist/core/error/__tests__/errors.test.js.map +1 -0
  226. package/dist/core/error/errors.d.ts +131 -15
  227. package/dist/core/error/errors.d.ts.map +1 -1
  228. package/dist/core/error/errors.js +201 -17
  229. package/dist/core/error/errors.js.map +1 -1
  230. package/dist/index.d.ts +7 -5
  231. package/dist/index.d.ts.map +1 -1
  232. package/dist/index.js +6 -4
  233. package/dist/index.js.map +1 -1
  234. package/dist/services/ChainManager.d.ts.map +1 -1
  235. package/dist/services/ChainManager.js +26 -7
  236. package/dist/services/ChainManager.js.map +1 -1
  237. package/dist/services/__tests__/ChainManager.spec.d.ts.map +1 -0
  238. package/dist/services/{ChainManager.spec.js → __tests__/ChainManager.spec.js} +7 -7
  239. package/dist/services/__tests__/ChainManager.spec.js.map +1 -0
  240. package/dist/services/__tests__/tokenBalance.spec.d.ts.map +1 -0
  241. package/dist/services/{tokenBalance.spec.js → __tests__/tokenBalance.spec.js} +42 -5
  242. package/dist/services/__tests__/tokenBalance.spec.js.map +1 -0
  243. package/dist/{ens → services/nameservices/ens}/EnsNamespace.d.ts +1 -1
  244. package/dist/services/nameservices/ens/EnsNamespace.d.ts.map +1 -0
  245. package/dist/{ens → services/nameservices/ens}/EnsNamespace.js +1 -1
  246. package/dist/services/nameservices/ens/EnsNamespace.js.map +1 -0
  247. package/dist/services/nameservices/ens/__tests__/EnsNamespace.spec.d.ts.map +1 -0
  248. package/dist/{ens → services/nameservices/ens/__tests__}/EnsNamespace.spec.js +2 -2
  249. package/dist/services/nameservices/ens/__tests__/EnsNamespace.spec.js.map +1 -0
  250. package/dist/services/nameservices/ens/__tests__/utils.spec.d.ts +2 -0
  251. package/dist/services/nameservices/ens/__tests__/utils.spec.d.ts.map +1 -0
  252. package/dist/{utils/ens.test.js → services/nameservices/ens/__tests__/utils.spec.js} +3 -3
  253. package/dist/services/nameservices/ens/__tests__/utils.spec.js.map +1 -0
  254. package/dist/services/nameservices/ens/errors.d.ts.map +1 -0
  255. package/dist/services/nameservices/ens/errors.js.map +1 -0
  256. package/dist/{ens → services/nameservices/ens}/index.d.ts +1 -0
  257. package/dist/services/nameservices/ens/index.d.ts.map +1 -0
  258. package/dist/{ens → services/nameservices/ens}/index.js +1 -0
  259. package/dist/services/nameservices/ens/index.js.map +1 -0
  260. package/dist/{ens → services/nameservices/ens}/types.d.ts +1 -1
  261. package/dist/services/nameservices/ens/types.d.ts.map +1 -0
  262. package/dist/services/nameservices/ens/types.js.map +1 -0
  263. package/dist/{utils/ens.d.ts → services/nameservices/ens/utils.d.ts} +3 -3
  264. package/dist/services/nameservices/ens/utils.d.ts.map +1 -0
  265. package/dist/{utils/ens.js → services/nameservices/ens/utils.js} +3 -3
  266. package/dist/services/nameservices/ens/utils.js.map +1 -0
  267. package/dist/services/tokenBalance.d.ts +8 -5
  268. package/dist/services/tokenBalance.d.ts.map +1 -1
  269. package/dist/services/tokenBalance.js +15 -8
  270. package/dist/services/tokenBalance.js.map +1 -1
  271. package/dist/types/actions.d.ts +69 -7
  272. package/dist/types/actions.d.ts.map +1 -1
  273. package/dist/types/asset.d.ts +7 -0
  274. package/dist/types/asset.d.ts.map +1 -1
  275. package/dist/types/common/FilterAssetChain.d.ts +13 -0
  276. package/dist/types/common/FilterAssetChain.d.ts.map +1 -0
  277. package/dist/types/common/FilterAssetChain.js +2 -0
  278. package/dist/types/common/FilterAssetChain.js.map +1 -0
  279. package/dist/types/common/TransactionOptions.d.ts +13 -0
  280. package/dist/types/common/TransactionOptions.d.ts.map +1 -0
  281. package/dist/types/common/TransactionOptions.js +2 -0
  282. package/dist/types/common/TransactionOptions.js.map +1 -0
  283. package/dist/types/common/index.d.ts +3 -0
  284. package/dist/types/common/index.d.ts.map +1 -0
  285. package/dist/types/common/index.js +3 -0
  286. package/dist/types/common/index.js.map +1 -0
  287. package/dist/types/index.d.ts +1 -0
  288. package/dist/types/index.d.ts.map +1 -1
  289. package/dist/types/index.js +1 -0
  290. package/dist/types/index.js.map +1 -1
  291. package/dist/types/lend/base.d.ts +44 -34
  292. package/dist/types/lend/base.d.ts.map +1 -1
  293. package/dist/types/lend/base.js +3 -3
  294. package/dist/types/lend/base.js.map +1 -1
  295. package/dist/types/lend/index.d.ts +0 -1
  296. package/dist/types/lend/index.d.ts.map +1 -1
  297. package/dist/types/lend/index.js +0 -1
  298. package/dist/types/lend/index.js.map +1 -1
  299. package/dist/types/providers.d.ts +2 -2
  300. package/dist/types/providers.d.ts.map +1 -1
  301. package/dist/types/swap/base.d.ts +25 -13
  302. package/dist/types/swap/base.d.ts.map +1 -1
  303. package/dist/types/swap/base.js +3 -3
  304. package/dist/types/swap/base.js.map +1 -1
  305. package/dist/utils/__tests__/approve.test.d.ts.map +1 -0
  306. package/dist/utils/{approve.test.js → __tests__/approve.test.js} +40 -18
  307. package/dist/utils/__tests__/approve.test.js.map +1 -0
  308. package/dist/utils/__tests__/assets.test.d.ts.map +1 -0
  309. package/dist/utils/{assets.test.js → __tests__/assets.test.js} +2 -2
  310. package/dist/utils/__tests__/assets.test.js.map +1 -0
  311. package/dist/utils/__tests__/serializers.test.d.ts +2 -0
  312. package/dist/utils/__tests__/serializers.test.d.ts.map +1 -0
  313. package/dist/utils/__tests__/serializers.test.js +43 -0
  314. package/dist/utils/__tests__/serializers.test.js.map +1 -0
  315. package/dist/utils/__tests__/validateAddresses.test.d.ts.map +1 -0
  316. package/dist/utils/{validateAddresses.test.js → __tests__/validateAddresses.test.js} +10 -10
  317. package/dist/utils/__tests__/validateAddresses.test.js.map +1 -0
  318. package/dist/utils/abi/permit2.d.ts +48 -0
  319. package/dist/utils/abi/permit2.d.ts.map +1 -0
  320. package/dist/utils/abi/permit2.js +34 -0
  321. package/dist/utils/abi/permit2.js.map +1 -0
  322. package/dist/utils/approve.d.ts +26 -3
  323. package/dist/utils/approve.d.ts.map +1 -1
  324. package/dist/utils/approve.js +34 -37
  325. package/dist/utils/approve.js.map +1 -1
  326. package/dist/utils/assets.d.ts.map +1 -1
  327. package/dist/utils/assets.js +3 -2
  328. package/dist/utils/assets.js.map +1 -1
  329. package/dist/utils/serializers.d.ts +16 -0
  330. package/dist/utils/serializers.d.ts.map +1 -0
  331. package/dist/utils/serializers.js +18 -0
  332. package/dist/utils/serializers.js.map +1 -0
  333. package/dist/utils/validation.d.ts +8 -1
  334. package/dist/utils/validation.d.ts.map +1 -1
  335. package/dist/utils/validation.js +28 -8
  336. package/dist/utils/validation.js.map +1 -1
  337. package/dist/wallet/core/error/errors.d.ts +21 -0
  338. package/dist/wallet/core/error/errors.d.ts.map +1 -0
  339. package/dist/wallet/core/error/errors.js +24 -0
  340. package/dist/wallet/core/error/errors.js.map +1 -0
  341. package/dist/wallet/core/namespace/WalletNamespace.d.ts +24 -8
  342. package/dist/wallet/core/namespace/WalletNamespace.d.ts.map +1 -1
  343. package/dist/wallet/core/namespace/WalletNamespace.js +48 -17
  344. package/dist/wallet/core/namespace/WalletNamespace.js.map +1 -1
  345. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js +105 -10
  346. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js.map +1 -1
  347. package/dist/wallet/core/providers/WalletProvider.d.ts +3 -2
  348. package/dist/wallet/core/providers/WalletProvider.d.ts.map +1 -1
  349. package/dist/wallet/core/providers/WalletProvider.js +8 -2
  350. package/dist/wallet/core/providers/WalletProvider.js.map +1 -1
  351. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js +1 -1
  352. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js.map +1 -1
  353. package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.d.ts.map +1 -1
  354. package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js +2 -1
  355. package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js.map +1 -1
  356. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js +1 -1
  357. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js.map +1 -1
  358. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js +1 -1
  359. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js.map +1 -1
  360. package/dist/wallet/core/utils/__tests__/executeTransactionBatch.spec.d.ts +2 -0
  361. package/dist/wallet/core/utils/__tests__/executeTransactionBatch.spec.d.ts.map +1 -0
  362. package/dist/wallet/core/utils/__tests__/executeTransactionBatch.spec.js +31 -0
  363. package/dist/wallet/core/utils/__tests__/executeTransactionBatch.spec.js.map +1 -0
  364. package/dist/wallet/core/utils/__tests__/retryOnStaleRead.spec.d.ts.map +1 -0
  365. package/dist/wallet/core/utils/__tests__/retryOnStaleRead.spec.js.map +1 -0
  366. package/dist/wallet/core/utils/executeTransactionBatch.d.ts +22 -0
  367. package/dist/wallet/core/utils/executeTransactionBatch.d.ts.map +1 -0
  368. package/dist/wallet/core/utils/executeTransactionBatch.js +26 -0
  369. package/dist/wallet/core/utils/executeTransactionBatch.js.map +1 -0
  370. package/dist/wallet/core/utils/retryOnStaleRead.d.ts.map +1 -0
  371. package/dist/wallet/core/utils/retryOnStaleRead.js.map +1 -0
  372. package/dist/wallet/core/wallets/abstract/Wallet.d.ts +8 -8
  373. package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -1
  374. package/dist/wallet/core/wallets/abstract/Wallet.js +13 -12
  375. package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -1
  376. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts +3 -3
  377. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts.map +1 -1
  378. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.js.map +1 -1
  379. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js +28 -2
  380. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js.map +1 -1
  381. package/dist/wallet/core/wallets/eoa/EOAWallet.d.ts +1 -1
  382. package/dist/wallet/core/wallets/eoa/EOAWallet.d.ts.map +1 -1
  383. package/dist/wallet/core/wallets/eoa/EOAWallet.js.map +1 -1
  384. package/dist/wallet/core/wallets/smart/abstract/SmartWallet.d.ts +1 -1
  385. package/dist/wallet/core/wallets/smart/abstract/SmartWallet.d.ts.map +1 -1
  386. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +1 -1
  387. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -1
  388. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js +2 -2
  389. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -1
  390. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js +1 -1
  391. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js.map +1 -1
  392. package/dist/wallet/node/index.d.ts +1 -0
  393. package/dist/wallet/node/index.d.ts.map +1 -1
  394. package/dist/wallet/node/index.js +1 -0
  395. package/dist/wallet/node/index.js.map +1 -1
  396. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +1 -1
  397. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
  398. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js +1 -1
  399. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js.map +1 -1
  400. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +1 -1
  401. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
  402. package/dist/wallet/node/wallets/local/LocalWallet.d.ts +24 -0
  403. package/dist/wallet/node/wallets/local/LocalWallet.d.ts.map +1 -0
  404. package/dist/wallet/node/wallets/local/LocalWallet.js +21 -0
  405. package/dist/wallet/node/wallets/local/LocalWallet.js.map +1 -0
  406. package/dist/wallet/node/wallets/local/__tests__/LocalWallet.spec.d.ts +2 -0
  407. package/dist/wallet/node/wallets/local/__tests__/LocalWallet.spec.d.ts.map +1 -0
  408. package/dist/wallet/node/wallets/local/__tests__/LocalWallet.spec.js +51 -0
  409. package/dist/wallet/node/wallets/local/__tests__/LocalWallet.spec.js.map +1 -0
  410. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js +1 -1
  411. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js.map +1 -1
  412. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +1 -1
  413. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
  414. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +1 -1
  415. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
  416. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js +1 -1
  417. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js.map +1 -1
  418. package/package.json +2 -2
  419. package/src/__tests__/actions.test.ts +3 -1
  420. package/src/{lend → actions/lend}/__mocks__/MockLendProvider.ts +24 -9
  421. package/src/{lend → actions/lend}/__mocks__/mockLendTransaction.ts +2 -2
  422. package/src/{lend → actions/lend}/core/LendProvider.ts +123 -39
  423. package/src/{lend → actions/lend}/core/__tests__/LendProvider.test.ts +82 -3
  424. package/src/actions/lend/index.ts +3 -0
  425. package/src/{lend → actions/lend}/namespaces/BaseLendNamespace.ts +20 -37
  426. package/src/{lend → actions/lend}/namespaces/WalletLendNamespace.ts +15 -22
  427. package/src/{lend → actions/lend}/namespaces/__tests__/ActionsLendNamespace.spec.ts +3 -3
  428. package/src/{lend → actions/lend}/namespaces/__tests__/BaseLendNamespace.spec.ts +3 -3
  429. package/src/{lend → actions/lend}/namespaces/__tests__/WalletLendNamespace.spec.ts +6 -6
  430. package/src/{lend → actions/lend}/providers/aave/AaveLendProvider.ts +65 -73
  431. package/src/{lend → actions/lend}/providers/aave/__tests__/AaveLendProvider.test.ts +7 -7
  432. package/src/{lend → actions/lend}/providers/aave/sdk.ts +15 -9
  433. package/src/{lend → actions/lend}/providers/morpho/MorphoLendProvider.ts +67 -53
  434. package/src/{lend → actions/lend}/providers/morpho/__tests__/MorphoLendProvider.test.ts +79 -5
  435. package/src/{lend → actions/lend}/providers/morpho/__tests__/api.test.ts +3 -3
  436. package/src/{lend → actions/lend}/providers/morpho/__tests__/sdk.test.ts +2 -2
  437. package/src/{lend → actions/lend}/providers/morpho/sdk.ts +23 -12
  438. package/src/actions/lend/utils/markets.ts +62 -0
  439. package/src/actions/shared/BaseNamespace.ts +46 -0
  440. package/src/actions/shared/__tests__/BaseNamespace.spec.ts +58 -0
  441. package/src/{lend/providers → actions/shared}/morpho/contracts.ts +2 -2
  442. package/src/{swap → actions/swap}/__mocks__/MockSwapProvider.ts +6 -2
  443. package/src/{swap → actions/swap}/core/SwapProvider.ts +88 -55
  444. package/src/{swap → actions/swap}/core/__tests__/SwapProvider.test.ts +51 -1
  445. package/src/{swap → actions/swap}/core/markets.ts +2 -1
  446. package/src/actions/swap/index.ts +19 -0
  447. package/src/{swap → actions/swap}/namespaces/ActionsSwapNamespace.ts +1 -1
  448. package/src/{swap → actions/swap}/namespaces/BaseSwapNamespace.ts +92 -90
  449. package/src/actions/swap/namespaces/WalletSwapNamespace.ts +154 -0
  450. package/src/{swap → actions/swap}/namespaces/__tests__/BaseSwapNamespace.spec.ts +6 -6
  451. package/src/{swap → actions/swap}/namespaces/__tests__/WalletSwapNamespace.spec.ts +110 -22
  452. package/src/{swap → actions/swap}/providers/uniswap/UniswapSwapProvider.ts +34 -14
  453. package/src/{swap → actions/swap}/providers/uniswap/__tests__/UniswapSwapProvider.test.ts +2 -2
  454. package/src/{swap → actions/swap}/providers/uniswap/__tests__/sdk.test.ts +65 -3
  455. package/src/{swap → actions/swap}/providers/uniswap/addresses.ts +5 -1
  456. package/src/{swap → actions/swap}/providers/uniswap/encoding.ts +3 -3
  457. package/src/{swap → actions/swap}/providers/uniswap/markets.ts +2 -2
  458. package/src/{swap → actions/swap}/providers/velodrome/VelodromeSwapProvider.ts +71 -31
  459. package/src/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.ts +2 -2
  460. package/src/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.ts +8 -7
  461. package/src/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.test.ts +46 -5
  462. package/src/{swap → actions/swap}/providers/velodrome/__tests__/encoding.cl.test.ts +31 -2
  463. package/src/{swap → actions/swap}/providers/velodrome/__tests__/encoding.v2.test.ts +34 -3
  464. package/src/{swap → actions/swap}/providers/velodrome/config.ts +5 -1
  465. package/src/{swap → actions/swap}/providers/velodrome/encoding/helpers.ts +3 -2
  466. package/src/{swap → actions/swap}/providers/velodrome/encoding/index.ts +0 -1
  467. package/src/{swap → actions/swap}/providers/velodrome/encoding/poolRouter.ts +4 -3
  468. package/src/{swap → actions/swap}/providers/velodrome/encoding/routers/cl.ts +31 -23
  469. package/src/{swap → actions/swap}/providers/velodrome/encoding/routers/v2.ts +34 -27
  470. package/src/{swap → actions/swap}/providers/velodrome/markets.ts +4 -3
  471. package/src/actions.ts +68 -37
  472. package/src/core/error/__tests__/errors.test.ts +236 -0
  473. package/src/core/error/errors.ts +282 -22
  474. package/src/index.ts +18 -12
  475. package/src/services/ChainManager.ts +26 -9
  476. package/src/services/{ChainManager.spec.ts → __tests__/ChainManager.spec.ts} +6 -6
  477. package/src/services/{tokenBalance.spec.ts → __tests__/tokenBalance.spec.ts} +56 -1
  478. package/src/{ens → services/nameservices/ens}/EnsNamespace.ts +1 -1
  479. package/src/{ens → services/nameservices/ens/__tests__}/EnsNamespace.spec.ts +6 -4
  480. package/src/{utils/ens.test.ts → services/nameservices/ens/__tests__/utils.spec.ts} +3 -2
  481. package/src/{ens → services/nameservices/ens}/index.ts +5 -0
  482. package/src/{utils/ens.ts → services/nameservices/ens/utils.ts} +3 -3
  483. package/src/services/tokenBalance.ts +16 -7
  484. package/src/types/actions.ts +72 -7
  485. package/src/types/asset.ts +8 -0
  486. package/src/types/common/FilterAssetChain.ts +13 -0
  487. package/src/types/common/TransactionOptions.ts +12 -0
  488. package/src/types/common/index.ts +2 -0
  489. package/src/types/index.ts +1 -0
  490. package/src/types/lend/base.ts +48 -36
  491. package/src/types/lend/index.ts +0 -1
  492. package/src/types/providers.ts +2 -2
  493. package/src/types/swap/base.ts +25 -13
  494. package/src/utils/{approve.test.ts → __tests__/approve.test.ts} +51 -18
  495. package/src/utils/__tests__/serializers.test.ts +53 -0
  496. package/src/utils/{validateAddresses.test.ts → __tests__/validateAddresses.test.ts} +9 -9
  497. package/src/utils/abi/permit2.ts +33 -0
  498. package/src/utils/approve.ts +48 -37
  499. package/src/utils/assets.ts +6 -6
  500. package/src/utils/serializers.ts +21 -0
  501. package/src/utils/validation.ts +42 -15
  502. package/src/wallet/core/error/errors.ts +30 -0
  503. package/src/wallet/core/namespace/WalletNamespace.ts +82 -20
  504. package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +141 -16
  505. package/src/wallet/core/providers/WalletProvider.ts +12 -3
  506. package/src/wallet/core/providers/__tests__/WalletProvider.spec.ts +1 -1
  507. package/src/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.ts +2 -1
  508. package/src/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.ts +1 -1
  509. package/src/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.ts +1 -1
  510. package/src/wallet/core/utils/__tests__/executeTransactionBatch.spec.ts +42 -0
  511. package/src/{core → wallet/core}/utils/__tests__/retryOnStaleRead.spec.ts +1 -1
  512. package/src/wallet/core/utils/executeTransactionBatch.ts +37 -0
  513. package/src/wallet/core/wallets/abstract/Wallet.ts +17 -15
  514. package/src/wallet/core/wallets/abstract/__mocks__/TestWallet.ts +3 -3
  515. package/src/wallet/core/wallets/abstract/__tests__/Wallet.spec.ts +54 -3
  516. package/src/wallet/core/wallets/eoa/EOAWallet.ts +1 -1
  517. package/src/wallet/core/wallets/smart/abstract/SmartWallet.ts +1 -1
  518. package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +3 -3
  519. package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +1 -1
  520. package/src/wallet/node/index.ts +1 -0
  521. package/src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +1 -1
  522. package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +1 -1
  523. package/src/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +1 -1
  524. package/src/wallet/node/wallets/local/LocalWallet.ts +48 -0
  525. package/src/wallet/node/wallets/local/__tests__/LocalWallet.spec.ts +64 -0
  526. package/src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts +1 -1
  527. package/src/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +1 -1
  528. package/src/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +1 -1
  529. package/src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts +1 -1
  530. package/dist/core/asset/__mocks__/mockAsset.d.ts +0 -6
  531. package/dist/core/asset/__mocks__/mockAsset.d.ts.map +0 -1
  532. package/dist/core/asset/__mocks__/mockAsset.js +0 -12
  533. package/dist/core/asset/__mocks__/mockAsset.js.map +0 -1
  534. package/dist/core/utils/__tests__/retryOnStaleRead.spec.d.ts.map +0 -1
  535. package/dist/core/utils/__tests__/retryOnStaleRead.spec.js.map +0 -1
  536. package/dist/core/utils/retryOnStaleRead.d.ts.map +0 -1
  537. package/dist/core/utils/retryOnStaleRead.js.map +0 -1
  538. package/dist/ens/EnsNamespace.d.ts.map +0 -1
  539. package/dist/ens/EnsNamespace.js.map +0 -1
  540. package/dist/ens/EnsNamespace.spec.d.ts.map +0 -1
  541. package/dist/ens/EnsNamespace.spec.js.map +0 -1
  542. package/dist/ens/errors.d.ts.map +0 -1
  543. package/dist/ens/errors.js.map +0 -1
  544. package/dist/ens/index.d.ts.map +0 -1
  545. package/dist/ens/index.js.map +0 -1
  546. package/dist/ens/types.d.ts.map +0 -1
  547. package/dist/ens/types.js.map +0 -1
  548. package/dist/lend/__mocks__/MockLendProvider.d.ts.map +0 -1
  549. package/dist/lend/__mocks__/MockLendProvider.js.map +0 -1
  550. package/dist/lend/__mocks__/MockMarkets.d.ts.map +0 -1
  551. package/dist/lend/__mocks__/MockMarkets.js.map +0 -1
  552. package/dist/lend/__mocks__/mockLendTransaction.d.ts.map +0 -1
  553. package/dist/lend/__mocks__/mockLendTransaction.js.map +0 -1
  554. package/dist/lend/core/LendProvider.d.ts.map +0 -1
  555. package/dist/lend/core/LendProvider.js.map +0 -1
  556. package/dist/lend/core/__tests__/LendProvider.test.d.ts.map +0 -1
  557. package/dist/lend/core/__tests__/LendProvider.test.js.map +0 -1
  558. package/dist/lend/index.d.ts.map +0 -1
  559. package/dist/lend/index.js.map +0 -1
  560. package/dist/lend/namespaces/ActionsLendNamespace.d.ts.map +0 -1
  561. package/dist/lend/namespaces/ActionsLendNamespace.js.map +0 -1
  562. package/dist/lend/namespaces/BaseLendNamespace.d.ts +0 -43
  563. package/dist/lend/namespaces/BaseLendNamespace.d.ts.map +0 -1
  564. package/dist/lend/namespaces/BaseLendNamespace.js.map +0 -1
  565. package/dist/lend/namespaces/WalletLendNamespace.d.ts.map +0 -1
  566. package/dist/lend/namespaces/WalletLendNamespace.js.map +0 -1
  567. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.d.ts.map +0 -1
  568. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js.map +0 -1
  569. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.d.ts.map +0 -1
  570. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js.map +0 -1
  571. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.d.ts.map +0 -1
  572. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js.map +0 -1
  573. package/dist/lend/providers/aave/AaveLendProvider.d.ts.map +0 -1
  574. package/dist/lend/providers/aave/AaveLendProvider.js.map +0 -1
  575. package/dist/lend/providers/aave/__mocks__/mockReserve.d.ts.map +0 -1
  576. package/dist/lend/providers/aave/__mocks__/mockReserve.js.map +0 -1
  577. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.d.ts.map +0 -1
  578. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js.map +0 -1
  579. package/dist/lend/providers/aave/abis/pool.d.ts.map +0 -1
  580. package/dist/lend/providers/aave/abis/pool.js.map +0 -1
  581. package/dist/lend/providers/aave/addresses.d.ts.map +0 -1
  582. package/dist/lend/providers/aave/addresses.js.map +0 -1
  583. package/dist/lend/providers/aave/sdk.d.ts.map +0 -1
  584. package/dist/lend/providers/aave/sdk.js.map +0 -1
  585. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts.map +0 -1
  586. package/dist/lend/providers/morpho/MorphoLendProvider.js.map +0 -1
  587. package/dist/lend/providers/morpho/__mocks__/mockVault.d.ts.map +0 -1
  588. package/dist/lend/providers/morpho/__mocks__/mockVault.js.map +0 -1
  589. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.d.ts.map +0 -1
  590. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js.map +0 -1
  591. package/dist/lend/providers/morpho/__tests__/api.test.d.ts.map +0 -1
  592. package/dist/lend/providers/morpho/__tests__/api.test.js.map +0 -1
  593. package/dist/lend/providers/morpho/__tests__/sdk.test.d.ts.map +0 -1
  594. package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +0 -1
  595. package/dist/lend/providers/morpho/api.d.ts.map +0 -1
  596. package/dist/lend/providers/morpho/api.js.map +0 -1
  597. package/dist/lend/providers/morpho/contracts.d.ts.map +0 -1
  598. package/dist/lend/providers/morpho/sdk.d.ts.map +0 -1
  599. package/dist/lend/providers/morpho/sdk.js.map +0 -1
  600. package/dist/services/ChainManager.spec.d.ts.map +0 -1
  601. package/dist/services/ChainManager.spec.js.map +0 -1
  602. package/dist/services/tokenBalance.spec.d.ts.map +0 -1
  603. package/dist/services/tokenBalance.spec.js.map +0 -1
  604. package/dist/swap/__mocks__/MockSwapProvider.d.ts.map +0 -1
  605. package/dist/swap/__mocks__/MockSwapProvider.js.map +0 -1
  606. package/dist/swap/core/SwapProvider.d.ts.map +0 -1
  607. package/dist/swap/core/SwapProvider.js.map +0 -1
  608. package/dist/swap/core/__tests__/SwapProvider.test.d.ts.map +0 -1
  609. package/dist/swap/core/__tests__/SwapProvider.test.js.map +0 -1
  610. package/dist/swap/core/markets.d.ts.map +0 -1
  611. package/dist/swap/core/markets.js.map +0 -1
  612. package/dist/swap/index.d.ts.map +0 -1
  613. package/dist/swap/index.js.map +0 -1
  614. package/dist/swap/namespaces/ActionsSwapNamespace.d.ts.map +0 -1
  615. package/dist/swap/namespaces/ActionsSwapNamespace.js.map +0 -1
  616. package/dist/swap/namespaces/BaseSwapNamespace.d.ts.map +0 -1
  617. package/dist/swap/namespaces/BaseSwapNamespace.js.map +0 -1
  618. package/dist/swap/namespaces/WalletSwapNamespace.d.ts +0 -35
  619. package/dist/swap/namespaces/WalletSwapNamespace.d.ts.map +0 -1
  620. package/dist/swap/namespaces/WalletSwapNamespace.js.map +0 -1
  621. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts.map +0 -1
  622. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js.map +0 -1
  623. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts.map +0 -1
  624. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +0 -1
  625. package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +0 -1
  626. package/dist/swap/providers/uniswap/UniswapSwapProvider.js.map +0 -1
  627. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts.map +0 -1
  628. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js.map +0 -1
  629. package/dist/swap/providers/uniswap/__tests__/sdk.test.d.ts.map +0 -1
  630. package/dist/swap/providers/uniswap/__tests__/sdk.test.js.map +0 -1
  631. package/dist/swap/providers/uniswap/abis.d.ts.map +0 -1
  632. package/dist/swap/providers/uniswap/abis.js.map +0 -1
  633. package/dist/swap/providers/uniswap/addresses.d.ts.map +0 -1
  634. package/dist/swap/providers/uniswap/addresses.js.map +0 -1
  635. package/dist/swap/providers/uniswap/encoding.d.ts.map +0 -1
  636. package/dist/swap/providers/uniswap/encoding.js.map +0 -1
  637. package/dist/swap/providers/uniswap/markets.d.ts.map +0 -1
  638. package/dist/swap/providers/uniswap/markets.js.map +0 -1
  639. package/dist/swap/providers/uniswap/types.d.ts.map +0 -1
  640. package/dist/swap/providers/uniswap/types.js.map +0 -1
  641. package/dist/swap/providers/velodrome/VelodromeSwapProvider.d.ts.map +0 -1
  642. package/dist/swap/providers/velodrome/VelodromeSwapProvider.js.map +0 -1
  643. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts.map +0 -1
  644. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js.map +0 -1
  645. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts.map +0 -1
  646. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js.map +0 -1
  647. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts.map +0 -1
  648. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.js.map +0 -1
  649. package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.d.ts.map +0 -1
  650. package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.js.map +0 -1
  651. package/dist/swap/providers/velodrome/__tests__/encoding.helpers.d.ts.map +0 -1
  652. package/dist/swap/providers/velodrome/__tests__/encoding.helpers.js.map +0 -1
  653. package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.d.ts.map +0 -1
  654. package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.js.map +0 -1
  655. package/dist/swap/providers/velodrome/abis.d.ts.map +0 -1
  656. package/dist/swap/providers/velodrome/abis.js.map +0 -1
  657. package/dist/swap/providers/velodrome/addresses.d.ts.map +0 -1
  658. package/dist/swap/providers/velodrome/addresses.js.map +0 -1
  659. package/dist/swap/providers/velodrome/config.d.ts.map +0 -1
  660. package/dist/swap/providers/velodrome/config.js.map +0 -1
  661. package/dist/swap/providers/velodrome/encoding/helpers.d.ts.map +0 -1
  662. package/dist/swap/providers/velodrome/encoding/helpers.js.map +0 -1
  663. package/dist/swap/providers/velodrome/encoding/index.d.ts.map +0 -1
  664. package/dist/swap/providers/velodrome/encoding/index.js.map +0 -1
  665. package/dist/swap/providers/velodrome/encoding/poolRouter.d.ts.map +0 -1
  666. package/dist/swap/providers/velodrome/encoding/poolRouter.js.map +0 -1
  667. package/dist/swap/providers/velodrome/encoding/routers/approval.d.ts +0 -15
  668. package/dist/swap/providers/velodrome/encoding/routers/approval.d.ts.map +0 -1
  669. package/dist/swap/providers/velodrome/encoding/routers/approval.js +0 -33
  670. package/dist/swap/providers/velodrome/encoding/routers/approval.js.map +0 -1
  671. package/dist/swap/providers/velodrome/encoding/routers/cl.d.ts.map +0 -1
  672. package/dist/swap/providers/velodrome/encoding/routers/cl.js.map +0 -1
  673. package/dist/swap/providers/velodrome/encoding/routers/v2.d.ts.map +0 -1
  674. package/dist/swap/providers/velodrome/encoding/routers/v2.js.map +0 -1
  675. package/dist/swap/providers/velodrome/markets.d.ts.map +0 -1
  676. package/dist/swap/providers/velodrome/markets.js.map +0 -1
  677. package/dist/swap/providers/velodrome/types.d.ts.map +0 -1
  678. package/dist/swap/providers/velodrome/types.js.map +0 -1
  679. package/dist/types/lend/contracts.d.ts.map +0 -1
  680. package/dist/types/lend/contracts.js +0 -2
  681. package/dist/types/lend/contracts.js.map +0 -1
  682. package/dist/utils/approve.test.d.ts.map +0 -1
  683. package/dist/utils/approve.test.js.map +0 -1
  684. package/dist/utils/assets.test.d.ts.map +0 -1
  685. package/dist/utils/assets.test.js.map +0 -1
  686. package/dist/utils/ens.d.ts.map +0 -1
  687. package/dist/utils/ens.js.map +0 -1
  688. package/dist/utils/ens.test.d.ts +0 -2
  689. package/dist/utils/ens.test.d.ts.map +0 -1
  690. package/dist/utils/ens.test.js.map +0 -1
  691. package/dist/utils/markets.d.ts +0 -17
  692. package/dist/utils/markets.d.ts.map +0 -1
  693. package/dist/utils/markets.js +0 -25
  694. package/dist/utils/markets.js.map +0 -1
  695. package/dist/utils/validateAddresses.test.d.ts.map +0 -1
  696. package/dist/utils/validateAddresses.test.js.map +0 -1
  697. package/src/core/asset/__mocks__/mockAsset.ts +0 -13
  698. package/src/lend/index.ts +0 -3
  699. package/src/swap/index.ts +0 -19
  700. package/src/swap/namespaces/WalletSwapNamespace.ts +0 -129
  701. package/src/swap/providers/velodrome/encoding/routers/approval.ts +0 -45
  702. package/src/utils/markets.ts +0 -35
  703. /package/dist/{lend → actions/lend}/core/__tests__/LendProvider.test.d.ts +0 -0
  704. /package/dist/{lend → actions/lend}/index.d.ts +0 -0
  705. /package/dist/{lend → actions/lend}/index.js +0 -0
  706. /package/dist/{lend → actions/lend}/namespaces/ActionsLendNamespace.d.ts +0 -0
  707. /package/dist/{lend → actions/lend}/namespaces/ActionsLendNamespace.js +0 -0
  708. /package/dist/{lend → actions/lend}/namespaces/__tests__/ActionsLendNamespace.spec.d.ts +0 -0
  709. /package/dist/{lend → actions/lend}/namespaces/__tests__/BaseLendNamespace.spec.d.ts +0 -0
  710. /package/dist/{lend → actions/lend}/namespaces/__tests__/WalletLendNamespace.spec.d.ts +0 -0
  711. /package/dist/{lend → actions/lend}/providers/aave/__mocks__/mockReserve.js +0 -0
  712. /package/dist/{lend → actions/lend}/providers/aave/__tests__/AaveLendProvider.test.d.ts +0 -0
  713. /package/dist/{lend → actions/lend}/providers/aave/abis/pool.d.ts +0 -0
  714. /package/dist/{lend → actions/lend}/providers/aave/abis/pool.js +0 -0
  715. /package/dist/{lend → actions/lend}/providers/aave/addresses.d.ts +0 -0
  716. /package/dist/{lend → actions/lend}/providers/aave/addresses.js +0 -0
  717. /package/dist/{lend → actions/lend}/providers/morpho/__mocks__/mockVault.d.ts +0 -0
  718. /package/dist/{lend → actions/lend}/providers/morpho/__mocks__/mockVault.js +0 -0
  719. /package/dist/{lend → actions/lend}/providers/morpho/__tests__/MorphoLendProvider.test.d.ts +0 -0
  720. /package/dist/{lend → actions/lend}/providers/morpho/__tests__/api.test.d.ts +0 -0
  721. /package/dist/{lend → actions/lend}/providers/morpho/__tests__/sdk.test.d.ts +0 -0
  722. /package/dist/{lend → actions/lend}/providers/morpho/api.d.ts +0 -0
  723. /package/dist/{lend → actions/lend}/providers/morpho/api.js +0 -0
  724. /package/dist/{lend/providers → actions/shared}/morpho/contracts.js +0 -0
  725. /package/dist/{swap/providers/uniswap → actions/shared/morpho}/types.js +0 -0
  726. /package/dist/{swap → actions/swap}/core/__tests__/SwapProvider.test.d.ts +0 -0
  727. /package/dist/{swap → actions/swap}/index.d.ts +0 -0
  728. /package/dist/{swap → actions/swap}/index.js +0 -0
  729. /package/dist/{swap → actions/swap}/namespaces/ActionsSwapNamespace.d.ts +0 -0
  730. /package/dist/{swap → actions/swap}/namespaces/ActionsSwapNamespace.js +0 -0
  731. /package/dist/{swap → actions/swap}/namespaces/__tests__/BaseSwapNamespace.spec.d.ts +0 -0
  732. /package/dist/{swap → actions/swap}/namespaces/__tests__/WalletSwapNamespace.spec.d.ts +0 -0
  733. /package/dist/{swap → actions/swap}/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts +0 -0
  734. /package/dist/{swap → actions/swap}/providers/uniswap/__tests__/sdk.test.d.ts +0 -0
  735. /package/dist/{swap → actions/swap}/providers/uniswap/abis.d.ts +0 -0
  736. /package/dist/{swap → actions/swap}/providers/uniswap/abis.js +0 -0
  737. /package/dist/{swap/providers/velodrome → actions/swap/providers/uniswap}/types.js +0 -0
  738. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts +0 -0
  739. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js +0 -0
  740. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts +0 -0
  741. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts +0 -0
  742. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.cl.test.d.ts +0 -0
  743. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.helpers.js +0 -0
  744. /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.v2.test.d.ts +0 -0
  745. /package/dist/{swap → actions/swap}/providers/velodrome/abis.d.ts +0 -0
  746. /package/dist/{swap → actions/swap}/providers/velodrome/abis.js +0 -0
  747. /package/dist/{swap → actions/swap}/providers/velodrome/addresses.js +0 -0
  748. /package/dist/services/{ChainManager.spec.d.ts → __tests__/ChainManager.spec.d.ts} +0 -0
  749. /package/dist/services/{tokenBalance.spec.d.ts → __tests__/tokenBalance.spec.d.ts} +0 -0
  750. /package/dist/{ens → services/nameservices/ens/__tests__}/EnsNamespace.spec.d.ts +0 -0
  751. /package/dist/{ens → services/nameservices/ens}/errors.d.ts +0 -0
  752. /package/dist/{ens → services/nameservices/ens}/errors.js +0 -0
  753. /package/dist/{ens → services/nameservices/ens}/types.js +0 -0
  754. /package/dist/utils/{approve.test.d.ts → __tests__/approve.test.d.ts} +0 -0
  755. /package/dist/utils/{assets.test.d.ts → __tests__/assets.test.d.ts} +0 -0
  756. /package/dist/utils/{validateAddresses.test.d.ts → __tests__/validateAddresses.test.d.ts} +0 -0
  757. /package/dist/{core → wallet/core}/utils/__tests__/retryOnStaleRead.spec.d.ts +0 -0
  758. /package/dist/{core → wallet/core}/utils/__tests__/retryOnStaleRead.spec.js +0 -0
  759. /package/dist/{core → wallet/core}/utils/retryOnStaleRead.d.ts +0 -0
  760. /package/dist/{core → wallet/core}/utils/retryOnStaleRead.js +0 -0
  761. /package/src/{lend → actions/lend}/__mocks__/MockMarkets.ts +0 -0
  762. /package/src/{lend → actions/lend}/namespaces/ActionsLendNamespace.ts +0 -0
  763. /package/src/{lend → actions/lend}/providers/aave/__mocks__/mockReserve.ts +0 -0
  764. /package/src/{lend → actions/lend}/providers/aave/abis/pool.ts +0 -0
  765. /package/src/{lend → actions/lend}/providers/aave/addresses.ts +0 -0
  766. /package/src/{lend → actions/lend}/providers/morpho/__mocks__/mockVault.ts +0 -0
  767. /package/src/{lend → actions/lend}/providers/morpho/api.ts +0 -0
  768. /package/src/{types/lend/contracts.ts → actions/shared/morpho/types.ts} +0 -0
  769. /package/src/{swap → actions/swap}/providers/uniswap/abis.ts +0 -0
  770. /package/src/{swap → actions/swap}/providers/uniswap/types.ts +0 -0
  771. /package/src/{swap → actions/swap}/providers/velodrome/__tests__/encoding.helpers.ts +0 -0
  772. /package/src/{swap → actions/swap}/providers/velodrome/abis.ts +0 -0
  773. /package/src/{swap → actions/swap}/providers/velodrome/addresses.ts +0 -0
  774. /package/src/{swap → actions/swap}/providers/velodrome/types.ts +0 -0
  775. /package/src/{ens → services/nameservices/ens}/errors.ts +0 -0
  776. /package/src/{ens → services/nameservices/ens}/types.ts +0 -0
  777. /package/src/utils/{assets.test.ts → __tests__/assets.test.ts} +0 -0
  778. /package/src/{core → wallet/core}/utils/retryOnStaleRead.ts +0 -0
@@ -1,10 +1,21 @@
1
1
  import type { Address } from 'viem'
2
2
  import { parseUnits } from 'viem'
3
3
 
4
+ import { validateMarketAsset } from '@/actions/lend/utils/markets.js'
4
5
  import type { SupportedChainId } from '@/constants/supportedChains.js'
5
6
  import { ACTIONS_SUPPORTED_CHAIN_IDS } from '@/constants/supportedChains.js'
7
+ import {
8
+ AddressRequiredError,
9
+ AssetMetadataRequiredError,
10
+ MarketIdRequiredError,
11
+ MarketNotAllowedError,
12
+ } from '@/core/error/errors.js'
6
13
  import type { ChainManager } from '@/services/ChainManager.js'
7
- import type { LendProviderConfig } from '@/types/actions.js'
14
+ import type {
15
+ ApprovalMode,
16
+ LendProviderConfig,
17
+ LendSettings,
18
+ } from '@/types/actions.js'
8
19
  import type { Asset } from '@/types/asset.js'
9
20
  import type {
10
21
  ClosePositionParams,
@@ -16,15 +27,27 @@ import type {
16
27
  LendMarketConfig,
17
28
  LendMarketId,
18
29
  LendMarketPosition,
30
+ LendOpenPosition,
19
31
  LendOpenPositionInternalParams,
20
32
  LendOpenPositionParams,
21
33
  LendTransaction,
22
34
  TransactionData,
23
35
  } from '@/types/lend/index.js'
24
- import { buildErc20ApprovalTx } from '@/utils/approve.js'
25
- import { validateMarketAsset } from '@/utils/markets.js'
36
+ import {
37
+ buildErc20ApprovalTx,
38
+ resolveApprovalMode,
39
+ resolveErc20ApprovalAmount,
40
+ } from '@/utils/approve.js'
41
+ import { isNativeAsset } from '@/utils/assets.js'
26
42
  import { validateChainSupported } from '@/utils/validation.js'
27
43
 
44
+ /** Inputs for the base class's ERC-20 lend approval helper. */
45
+ interface BuildLendApprovalParams {
46
+ position: LendOpenPosition
47
+ approvalMode: ApprovalMode
48
+ amountWei: bigint
49
+ }
50
+
28
51
  /**
29
52
  * Lending provider abstract class
30
53
  * @description Base class for lending provider implementations
@@ -35,6 +58,9 @@ export abstract class LendProvider<
35
58
  /** Lending provider configuration */
36
59
  protected readonly _config: TConfig
37
60
 
61
+ /** Shared lend settings (defaults applied across all lend providers) */
62
+ protected readonly _settings: LendSettings
63
+
38
64
  /** Chain manager for blockchain interactions */
39
65
  protected readonly chainManager: ChainManager
40
66
 
@@ -42,9 +68,15 @@ export abstract class LendProvider<
42
68
  * Create a new lending provider
43
69
  * @param config - Provider-specific lending configuration
44
70
  * @param chainManager - Chain manager for blockchain interactions
71
+ * @param settings - Shared lend settings applied across all providers
45
72
  */
46
- protected constructor(config: TConfig, chainManager: ChainManager) {
73
+ protected constructor(
74
+ config: TConfig,
75
+ chainManager: ChainManager,
76
+ settings?: LendSettings,
77
+ ) {
47
78
  this._config = config
79
+ this._settings = settings ?? {}
48
80
  this.chainManager = chainManager
49
81
  }
50
82
 
@@ -52,14 +84,6 @@ export abstract class LendProvider<
52
84
  return this._config
53
85
  }
54
86
 
55
- /**
56
- * Chain IDs supported by the underlying protocol.
57
- * @description Each provider implements this to declare the chains its protocol
58
- * is deployed on, without any SDK-level or developer-config filtering.
59
- * @returns Array of chain IDs the protocol natively supports
60
- */
61
- abstract protocolSupportedChainIds(): number[]
62
-
63
87
  /**
64
88
  * Effective supported chain IDs.
65
89
  * @description Intersection of the protocol's supported chains,
@@ -67,12 +91,12 @@ export abstract class LendProvider<
67
91
  * All validation in public methods uses this set.
68
92
  * @returns Array of chain IDs usable through this provider instance
69
93
  */
70
- supportedChainIds(): number[] {
94
+ supportedChainIds(): SupportedChainId[] {
71
95
  const configuredChains = this.chainManager.getSupportedChains()
72
96
  return this.protocolSupportedChainIds().filter(
73
- (id) =>
97
+ (id): id is SupportedChainId =>
74
98
  (ACTIONS_SUPPORTED_CHAIN_IDS as readonly number[]).includes(id) &&
75
- (configuredChains as number[]).includes(id),
99
+ (configuredChains as readonly number[]).includes(id),
76
100
  )
77
101
  }
78
102
 
@@ -86,7 +110,7 @@ export abstract class LendProvider<
86
110
  */
87
111
  async openPosition(params: LendOpenPositionParams): Promise<LendTransaction> {
88
112
  if (!params.walletAddress) {
89
- throw new Error('walletAddress is required')
113
+ throw new AddressRequiredError('walletAddress')
90
114
  }
91
115
 
92
116
  this.validateConfigSupported(params.marketId)
@@ -97,11 +121,36 @@ export abstract class LendProvider<
97
121
  params.asset.metadata.decimals,
98
122
  )
99
123
 
100
- return this._openPosition({
124
+ const position = await this._openPosition({
101
125
  ...params,
102
126
  amountWei,
103
127
  walletAddress: params.walletAddress,
104
128
  })
129
+
130
+ // Native deposits send ETH inline as msg.value; no approval is needed.
131
+ // ERC-20 deposits resolve approval mode and build an approve(spender, amount) tx.
132
+ const approval = isNativeAsset(params.asset)
133
+ ? undefined
134
+ : this.buildLendApproval({
135
+ position,
136
+ approvalMode: resolveApprovalMode(
137
+ params.approvalMode,
138
+ this._config.approvalMode,
139
+ this._settings.approvalMode,
140
+ ),
141
+ amountWei,
142
+ })
143
+
144
+ return {
145
+ amount: amountWei,
146
+ assetAddress: position.assetAddress,
147
+ marketId: params.marketId.address,
148
+ apy: position.apy,
149
+ transactionData: {
150
+ ...(approval ? { approval } : {}),
151
+ position: position.transaction,
152
+ },
153
+ }
105
154
  }
106
155
 
107
156
  /**
@@ -155,13 +204,13 @@ export abstract class LendProvider<
155
204
  ): Promise<LendMarketPosition> {
156
205
  // For now, require marketId (asset-only and empty params not yet supported)
157
206
  if (!marketId) {
158
- throw new Error(
159
- 'marketId is required. Querying all positions or by asset is not yet supported.',
207
+ throw new MarketIdRequiredError(
208
+ 'Querying all positions or by asset is not yet supported.',
160
209
  )
161
210
  }
162
211
 
163
212
  if (asset) {
164
- throw new Error(
213
+ throw new MarketIdRequiredError(
165
214
  'Filtering by asset is not yet supported. Please provide only marketId.',
166
215
  )
167
216
  }
@@ -182,7 +231,7 @@ export abstract class LendProvider<
182
231
  */
183
232
  async closePosition(params: ClosePositionParams): Promise<LendTransaction> {
184
233
  if (!params.walletAddress) {
185
- throw new Error('walletAddress is required')
234
+ throw new AddressRequiredError('walletAddress')
186
235
  }
187
236
 
188
237
  this.validateConfigSupported(params.marketId)
@@ -198,7 +247,7 @@ export abstract class LendProvider<
198
247
 
199
248
  const assetMetadata = params.asset?.metadata
200
249
  if (!assetMetadata) {
201
- throw new Error('Asset metadata is required for decimal conversion')
250
+ throw new AssetMetadataRequiredError('decimal conversion')
202
251
  }
203
252
 
204
253
  // Convert human-readable amount to wei using the asset's decimals
@@ -222,7 +271,7 @@ export abstract class LendProvider<
222
271
  * @returns true if chain is supported, false otherwise
223
272
  */
224
273
  protected isChainSupported(chainId: number): boolean {
225
- return this.supportedChainIds().includes(chainId)
274
+ return (this.supportedChainIds() as readonly number[]).includes(chainId)
226
275
  }
227
276
 
228
277
  /**
@@ -248,10 +297,46 @@ export abstract class LendProvider<
248
297
  )
249
298
 
250
299
  if (!foundMarket) {
300
+ throw new MarketNotAllowedError({
301
+ address: marketId.address,
302
+ chainId: marketId.chainId,
303
+ reason: 'Market is not in the market allowlist',
304
+ })
305
+ }
306
+ }
307
+
308
+ /**
309
+ * Build an ERC20 approval transaction
310
+ * @param tokenAddress - Address of the token to approve
311
+ * @param spender - Address to approve spending for
312
+ * @param amount - Amount to approve
313
+ * @returns Transaction data for the approval
314
+ */
315
+ protected buildApprovalTx(
316
+ tokenAddress: Address,
317
+ spender: Address,
318
+ amount: bigint,
319
+ ): TransactionData {
320
+ return buildErc20ApprovalTx(tokenAddress, spender, amount)
321
+ }
322
+
323
+ /**
324
+ * Build the approval transaction for an ERC-20 lend deposit. Caller is
325
+ * expected to skip this for native deposits.
326
+ * @throws if the provider's `_openPosition` result is missing `spender`
327
+ */
328
+ private buildLendApproval(params: BuildLendApprovalParams): TransactionData {
329
+ const { position, approvalMode, amountWei } = params
330
+ if (!position.spender) {
251
331
  throw new Error(
252
- `Market ${marketId.address} on chain ${marketId.chainId} is not in the market allowlist`,
332
+ `LendOpenPosition.spender is required for ERC-20 deposits (assetAddress: ${position.assetAddress})`,
253
333
  )
254
334
  }
335
+ return buildErc20ApprovalTx(
336
+ position.assetAddress,
337
+ position.spender,
338
+ resolveErc20ApprovalAmount(approvalMode, amountWei),
339
+ )
255
340
  }
256
341
 
257
342
  /**
@@ -273,31 +358,30 @@ export abstract class LendProvider<
273
358
  }
274
359
 
275
360
  /**
276
- * Build an ERC20 approval transaction
277
- * @param tokenAddress - Address of the token to approve
278
- * @param spender - Address to approve spending for
279
- * @param amount - Amount to approve
280
- * @returns Transaction data for the approval
361
+ * Abstract methods that must be implemented by providers
281
362
  */
282
- protected buildApprovalTx(
283
- tokenAddress: Address,
284
- spender: Address,
285
- amount: bigint,
286
- ): TransactionData {
287
- return buildErc20ApprovalTx(tokenAddress, spender, amount)
288
- }
289
363
 
290
364
  /**
291
- * Abstract methods that must be implemented by providers
365
+ * Chain IDs supported by the underlying protocol.
366
+ * @description Each provider implements this to declare the chains its protocol
367
+ * is deployed on, without any SDK-level or developer-config filtering.
368
+ * @returns Array of chain IDs the protocol natively supports
292
369
  */
370
+ abstract protocolSupportedChainIds(): number[]
293
371
 
294
372
  /**
295
- * Provider implementation of openPosition method
373
+ * Describe a deposit for opening a lending position. Providers describe
374
+ * **what** needs to happen (the spender that needs allowance + the deposit
375
+ * calldata + APY snapshot); the base class owns **how** the approval is
376
+ * built (amount sized via `approvalMode`, native deposits skipped, etc.).
377
+ *
378
+ * Return `spender: undefined` for native-asset deposits where value is sent
379
+ * inline as `msg.value` and no ERC-20 approval is required.
296
380
  * @description Must be implemented by providers
297
381
  */
298
382
  protected abstract _openPosition(
299
383
  params: LendOpenPositionInternalParams,
300
- ): Promise<LendTransaction>
384
+ ): Promise<LendOpenPosition>
301
385
 
302
386
  /**
303
387
  * Provider implementation of getMarket method
@@ -2,8 +2,14 @@ import type { Address } from 'viem'
2
2
  import { describe, expect, it } from 'vitest'
3
3
 
4
4
  import { MockUSDCAsset } from '@/__mocks__/MockAssets.js'
5
- import { MockLendProvider } from '@/lend/__mocks__/MockLendProvider.js'
6
- import type { LendMarketConfig, LendMarketId } from '@/types/lend/index.js'
5
+ import { MockLendProvider } from '@/actions/lend/__mocks__/MockLendProvider.js'
6
+ import { LendProvider } from '@/actions/lend/core/LendProvider.js'
7
+ import type {
8
+ LendMarketConfig,
9
+ LendMarketId,
10
+ LendOpenPositionParams,
11
+ LendTransaction,
12
+ } from '@/types/lend/index.js'
7
13
  import { validateChainSupported } from '@/utils/validation.js'
8
14
 
9
15
  // Test helper class that exposes protected validation methods as public
@@ -161,12 +167,85 @@ describe('LendProvider', () => {
161
167
  })
162
168
 
163
169
  expect(result.amount).toBe(1000000000n)
164
- expect(result.asset).toBe('0x123')
170
+ expect(result.assetAddress).toBe('0x123')
165
171
  expect(result.marketId).toBe('0x1234')
166
172
  expect(result.apy).toBe(0.05)
167
173
  })
168
174
  })
169
175
 
176
+ describe('approvalMode resolution', () => {
177
+ const mockAsset = {
178
+ address: {
179
+ 84532: '0x1111111111111111111111111111111111111111' as Address,
180
+ },
181
+ metadata: { symbol: 'USDC', name: 'USD Coin', decimals: 6 },
182
+ type: 'erc20' as const,
183
+ }
184
+ const baseParams = {
185
+ amount: 1000,
186
+ asset: mockAsset,
187
+ marketId: {
188
+ address: '0x2222222222222222222222222222222222222222' as Address,
189
+ chainId: 84532,
190
+ } as LendMarketId,
191
+ walletAddress: '0x3333333333333333333333333333333333333333' as Address,
192
+ }
193
+
194
+ // MockLendProvider replaces `openPosition` with a vi.fn() in its
195
+ // constructor. To exercise the real base-class flow (which builds the
196
+ // approval tx around `_openPosition`'s output), call through the prototype.
197
+ const callBaseOpenPosition = (
198
+ provider: MockLendProvider,
199
+ params: LendOpenPositionParams,
200
+ ): Promise<LendTransaction> =>
201
+ LendProvider.prototype.openPosition.call(
202
+ provider,
203
+ params,
204
+ ) as Promise<LendTransaction>
205
+
206
+ // Last 32 bytes of approve(spender, amount) hold `amount`.
207
+ const approvalAmountHex = (result: LendTransaction): string =>
208
+ (result.transactionData.approval?.data ?? '').slice(-64)
209
+
210
+ // 1000 USDC at 6 decimals = 1_000_000_000 = 0x3b9aca00
211
+ const EXACT_AMOUNT_HEX = '3b9aca00'
212
+ const MAX_UINT256_HEX = 'f'.repeat(64)
213
+
214
+ it('defaults to "exact" — approval encodes the required amount', async () => {
215
+ const provider = new MockLendProvider()
216
+ const result = await callBaseOpenPosition(provider, baseParams)
217
+ expect(approvalAmountHex(result).replace(/^0+/, '')).toBe(
218
+ EXACT_AMOUNT_HEX,
219
+ )
220
+ })
221
+
222
+ it('honours per-call "max" override — approval uses maxUint256', async () => {
223
+ const provider = new MockLendProvider()
224
+ const result = await callBaseOpenPosition(provider, {
225
+ ...baseParams,
226
+ approvalMode: 'max',
227
+ })
228
+ expect(approvalAmountHex(result)).toBe(MAX_UINT256_HEX)
229
+ })
230
+
231
+ it('honours per-provider config approvalMode default', async () => {
232
+ const provider = new MockLendProvider({ approvalMode: 'max' })
233
+ const result = await callBaseOpenPosition(provider, baseParams)
234
+ expect(approvalAmountHex(result)).toBe(MAX_UINT256_HEX)
235
+ })
236
+
237
+ it('per-call override beats per-provider config', async () => {
238
+ const provider = new MockLendProvider({ approvalMode: 'max' })
239
+ const result = await callBaseOpenPosition(provider, {
240
+ ...baseParams,
241
+ approvalMode: 'exact',
242
+ })
243
+ expect(approvalAmountHex(result).replace(/^0+/, '')).toBe(
244
+ EXACT_AMOUNT_HEX,
245
+ )
246
+ })
247
+ })
248
+
170
249
  describe('supportedChainIds', () => {
171
250
  it('should return array of supported chain IDs', () => {
172
251
  const provider = new MockLendProvider()
@@ -0,0 +1,3 @@
1
+ export { LendProvider } from '@/actions/lend/core/LendProvider.js'
2
+ export { AaveLendProvider } from '@/actions/lend/providers/aave/AaveLendProvider.js'
3
+ export { MorphoLendProvider } from '@/actions/lend/providers/morpho/MorphoLendProvider.js'
@@ -1,5 +1,8 @@
1
- import type { AaveLendProvider } from '@/lend/providers/aave/AaveLendProvider.js'
2
- import type { MorphoLendProvider } from '@/lend/providers/morpho/MorphoLendProvider.js'
1
+ import type { LendProvider } from '@/actions/lend/core/LendProvider.js'
2
+ import { findMarketInAllowlist } from '@/actions/lend/utils/markets.js'
3
+ import { BaseNamespace } from '@/actions/shared/BaseNamespace.js'
4
+ import { ProviderNotConfiguredError } from '@/core/error/errors.js'
5
+ import type { LendProviderConfig } from '@/types/actions.js'
3
6
  import type {
4
7
  GetLendMarketParams,
5
8
  GetLendMarketsParams,
@@ -10,13 +13,16 @@ import type { LendProviders } from '@/types/providers.js'
10
13
 
11
14
  export type { LendProviders } from '@/types/providers.js'
12
15
 
16
+ type ConfiguredLendProvider = LendProvider<LendProviderConfig>
17
+
13
18
  /**
14
19
  * Base Lend Namespace
15
- * @description Shared lending operations for Actions and Wallet namespaces
20
+ * @description Shared lending operations for Actions and Wallet namespaces.
16
21
  */
17
- export abstract class BaseLendNamespace {
18
- constructor(protected readonly providers: LendProviders) {}
19
-
22
+ export abstract class BaseLendNamespace extends BaseNamespace<
23
+ ConfiguredLendProvider,
24
+ LendProviders
25
+ > {
20
26
  /**
21
27
  * Get all markets across all configured providers
22
28
  * @param params - Optional filtering parameters
@@ -39,27 +45,6 @@ export abstract class BaseLendNamespace {
39
45
  return provider.getMarket(params)
40
46
  }
41
47
 
42
- /**
43
- * Get supported chain IDs across all providers
44
- * @returns Array of unique chain IDs supported by any provider
45
- */
46
- supportedChainIds(): number[] {
47
- const allChains = this.getAllProviders().flatMap((p) =>
48
- p.supportedChainIds(),
49
- )
50
- return [...new Set(allChains)]
51
- }
52
-
53
- /**
54
- * Get all configured providers
55
- * @returns Array of configured providers
56
- */
57
- protected getAllProviders(): Array<MorphoLendProvider | AaveLendProvider> {
58
- return [this.providers.morpho, this.providers.aave].filter(
59
- Boolean,
60
- ) as Array<MorphoLendProvider | AaveLendProvider>
61
- }
62
-
63
48
  /**
64
49
  * Route a market to the correct provider
65
50
  * @param marketId - Market identifier to route
@@ -68,18 +53,16 @@ export abstract class BaseLendNamespace {
68
53
  */
69
54
  protected getProviderForMarket(
70
55
  marketId: LendMarketId,
71
- ): MorphoLendProvider | AaveLendProvider {
56
+ ): ConfiguredLendProvider {
72
57
  for (const provider of this.getAllProviders()) {
73
- const market = provider.config.marketAllowlist?.find(
74
- (m: LendMarketId) =>
75
- m.address.toLowerCase() === marketId.address.toLowerCase() &&
76
- m.chainId === marketId.chainId,
77
- )
78
- if (market) return provider
58
+ if (findMarketInAllowlist(provider.config.marketAllowlist, marketId)) {
59
+ return provider
60
+ }
79
61
  }
80
62
 
81
- throw new Error(
82
- `No provider configured for market ${marketId.address} on chain ${marketId.chainId}`,
83
- )
63
+ throw new ProviderNotConfiguredError({
64
+ provider: marketId.address,
65
+ details: `No provider configured for market on chain ${marketId.chainId}`,
66
+ })
84
67
  }
85
68
  }
@@ -1,4 +1,6 @@
1
+ import { BaseLendNamespace } from '@/actions/lend/namespaces/BaseLendNamespace.js'
1
2
  import type { SupportedChainId } from '@/constants/supportedChains.js'
3
+ import { MarketIdRequiredError } from '@/core/error/errors.js'
2
4
  import type {
3
5
  ClosePositionParams,
4
6
  GetPositionParams,
@@ -7,10 +9,10 @@ import type {
7
9
  LendTransaction,
8
10
  LendTransactionReceipt,
9
11
  } from '@/types/lend/index.js'
12
+ import type { LendProviders } from '@/types/providers.js'
13
+ import { executeTransactionBatch } from '@/wallet/core/utils/executeTransactionBatch.js'
10
14
  import type { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
11
15
 
12
- import { BaseLendNamespace, type LendProviders } from './BaseLendNamespace.js'
13
-
14
16
  /**
15
17
  * Wallet Lend Namespace
16
18
  * @description Full lending operations available on wallet.lend
@@ -27,8 +29,6 @@ export class WalletLendNamespace extends BaseLendNamespace {
27
29
  * Open a lending position
28
30
  * @description Signs and sends a lend transaction from the wallet for the given amount and asset
29
31
  * @param params - Lending position parameters
30
- * @param params.marketId - Market identifier to open position in
31
- * @param params.amount - Amount to lend
32
32
  * @returns Promise resolving to transaction receipt
33
33
  */
34
34
  async openPosition(
@@ -41,19 +41,17 @@ export class WalletLendNamespace extends BaseLendNamespace {
41
41
  walletAddress: this.wallet.address,
42
42
  })
43
43
 
44
- return this.executeTransaction(lendTransaction, params.marketId.chainId)
44
+ return this.dispatch(lendTransaction, params.marketId.chainId)
45
45
  }
46
46
 
47
47
  /**
48
48
  * Get position information for this wallet
49
49
  * @param params - Position query parameters
50
- * @param params.marketId - Market identifier (required)
51
- * @param params.asset - Asset filter (not yet supported)
52
50
  * @returns Promise resolving to position information
53
51
  */
54
52
  async getPosition(params: GetPositionParams): Promise<LendMarketPosition> {
55
53
  if (!params.marketId) {
56
- throw new Error('marketId is required')
54
+ throw new MarketIdRequiredError()
57
55
  }
58
56
 
59
57
  const provider = this.getProviderForMarket(params.marketId)
@@ -68,8 +66,6 @@ export class WalletLendNamespace extends BaseLendNamespace {
68
66
  /**
69
67
  * Close a lending position (withdraw from market)
70
68
  * @param params - Position closing parameters
71
- * @param params.marketId - Market identifier to close position in
72
- * @param params.amount - Amount to withdraw
73
69
  * @returns Promise resolving to transaction receipt
74
70
  */
75
71
  async closePosition(
@@ -82,25 +78,22 @@ export class WalletLendNamespace extends BaseLendNamespace {
82
78
  walletAddress: this.wallet.address,
83
79
  })
84
80
 
85
- return this.executeTransaction(closeTransaction, params.marketId.chainId)
81
+ return this.dispatch(closeTransaction, params.marketId.chainId)
86
82
  }
87
83
 
88
84
  /**
89
- * Execute a lend transaction with optional approval batching
85
+ * Send a lend transaction, batching an ERC-20 approval ahead of the
86
+ * position call when one was provided by the provider. Defers to
87
+ * `executeTransactionBatch` for the actual 1-vs-N send/sendBatch dispatch.
90
88
  */
91
- private async executeTransaction(
89
+ private dispatch(
92
90
  transaction: LendTransaction,
93
91
  chainId: SupportedChainId,
94
92
  ): Promise<LendTransactionReceipt> {
95
93
  const { transactionData } = transaction
96
-
97
- if (transactionData.approval) {
98
- return this.wallet.sendBatch(
99
- [transactionData.approval, transactionData.position],
100
- chainId,
101
- )
102
- }
103
-
104
- return this.wallet.send(transactionData.position, chainId)
94
+ const txs = transactionData.approval
95
+ ? [transactionData.approval, transactionData.position]
96
+ : [transactionData.position]
97
+ return executeTransactionBatch(this.wallet, txs, chainId)
105
98
  }
106
99
  }
@@ -2,9 +2,9 @@ import type { Address } from 'viem'
2
2
  import { beforeEach, describe, expect, it, vi } from 'vitest'
3
3
 
4
4
  import { getRandomAddress } from '@/__mocks__/utils.js'
5
- import type { MockLendProvider } from '@/lend/__mocks__/MockLendProvider.js'
6
- import { createMockLendProvider } from '@/lend/__mocks__/MockLendProvider.js'
7
- import { ActionsLendNamespace } from '@/lend/namespaces/ActionsLendNamespace.js'
5
+ import type { MockLendProvider } from '@/actions/lend/__mocks__/MockLendProvider.js'
6
+ import { createMockLendProvider } from '@/actions/lend/__mocks__/MockLendProvider.js'
7
+ import { ActionsLendNamespace } from '@/actions/lend/namespaces/ActionsLendNamespace.js'
8
8
 
9
9
  describe('ActionsLendNamespace', () => {
10
10
  let mockProvider: MockLendProvider
@@ -2,12 +2,12 @@ import type { Address } from 'viem'
2
2
  import { beforeEach, describe, expect, it, vi } from 'vitest'
3
3
 
4
4
  import { getRandomAddress } from '@/__mocks__/utils.js'
5
- import type { MockLendProvider } from '@/lend/__mocks__/MockLendProvider.js'
5
+ import type { MockLendProvider } from '@/actions/lend/__mocks__/MockLendProvider.js'
6
6
  import {
7
7
  createMockLendProvider,
8
8
  MockLendProvider as MockLendProviderClass,
9
- } from '@/lend/__mocks__/MockLendProvider.js'
10
- import { BaseLendNamespace } from '@/lend/namespaces/BaseLendNamespace.js'
9
+ } from '@/actions/lend/__mocks__/MockLendProvider.js'
10
+ import { BaseLendNamespace } from '@/actions/lend/namespaces/BaseLendNamespace.js'
11
11
  import { MockChainManager } from '@/services/__mocks__/MockChainManager.js'
12
12
  import type { ChainManager } from '@/services/ChainManager.js'
13
13
 
@@ -3,9 +3,9 @@ import type { WaitForUserOperationReceiptReturnType } from 'viem/account-abstrac
3
3
  import { beforeEach, describe, expect, it, vi } from 'vitest'
4
4
 
5
5
  import { getRandomAddress } from '@/__mocks__/utils.js'
6
- import type { MockLendProvider } from '@/lend/__mocks__/MockLendProvider.js'
7
- import { createMockLendProvider } from '@/lend/__mocks__/MockLendProvider.js'
8
- import { WalletLendNamespace } from '@/lend/namespaces/WalletLendNamespace.js'
6
+ import type { MockLendProvider } from '@/actions/lend/__mocks__/MockLendProvider.js'
7
+ import { createMockLendProvider } from '@/actions/lend/__mocks__/MockLendProvider.js'
8
+ import { WalletLendNamespace } from '@/actions/lend/namespaces/WalletLendNamespace.js'
9
9
  import type { TransactionData } from '@/types/lend/index.js'
10
10
  import { createMock as createSmartWalletMock } from '@/wallet/core/wallets/smart/abstract/__mocks__/SmartWallet.js'
11
11
  import type { SmartWallet } from '@/wallet/core/wallets/smart/abstract/SmartWallet.js'
@@ -121,7 +121,7 @@ describe('WalletLendNamespace', () => {
121
121
  const marketId = mockMarketId
122
122
  const mockTransaction = {
123
123
  amount: 1000000000n,
124
- asset: mockAsset.address[130],
124
+ assetAddress: mockAsset.address[130] as Address,
125
125
  marketId: marketId.address,
126
126
  apy: 0.05,
127
127
  transactionData: {
@@ -169,7 +169,7 @@ describe('WalletLendNamespace', () => {
169
169
 
170
170
  const mockTransaction = {
171
171
  amount: 100n,
172
- asset: getRandomAddress(),
172
+ assetAddress: getRandomAddress(),
173
173
  marketId: closeParams.marketId.address,
174
174
  apy: 0.05,
175
175
  transactionData: {
@@ -234,7 +234,7 @@ describe('WalletLendNamespace', () => {
234
234
  }
235
235
  const mockTransaction = {
236
236
  amount: 1000000000n,
237
- asset: mockAsset.address[130],
237
+ assetAddress: mockAsset.address[130] as Address,
238
238
  marketId: marketId.address,
239
239
  apy: 0.05,
240
240
  timestamp: Date.now(),