@eth-optimism/actions-sdk 0.0.4 → 0.2.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 (395) hide show
  1. package/LICENSE +1 -1
  2. package/dist/__mocks__/MockAssets.d.ts.map +1 -0
  3. package/dist/__mocks__/MockAssets.js.map +1 -0
  4. package/dist/__mocks__/MockPrivyClient.d.ts.map +1 -0
  5. package/dist/__mocks__/MockPrivyClient.js.map +1 -0
  6. package/dist/__mocks__/utils.d.ts.map +1 -0
  7. package/dist/__mocks__/utils.js.map +1 -0
  8. package/dist/__tests__/actions.test.d.ts.map +1 -0
  9. package/dist/{actions.test.js → __tests__/actions.test.js} +35 -85
  10. package/dist/__tests__/actions.test.js.map +1 -0
  11. package/dist/actions.d.ts +19 -7
  12. package/dist/actions.d.ts.map +1 -1
  13. package/dist/actions.js +49 -19
  14. package/dist/actions.js.map +1 -1
  15. package/dist/constants/assets.d.ts +19 -0
  16. package/dist/constants/assets.d.ts.map +1 -1
  17. package/dist/constants/assets.js +84 -6
  18. package/dist/constants/assets.js.map +1 -1
  19. package/dist/constants/supportedChains.d.ts +1 -1
  20. package/dist/constants/supportedChains.d.ts.map +1 -1
  21. package/dist/constants/supportedChains.js +7 -3
  22. package/dist/constants/supportedChains.js.map +1 -1
  23. package/dist/core/asset/__mocks__/mockAsset.js +1 -1
  24. package/dist/core/asset/__mocks__/mockAsset.js.map +1 -1
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +1 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/{test → lend/__mocks__}/MockLendProvider.d.ts +9 -7
  30. package/dist/lend/__mocks__/MockLendProvider.d.ts.map +1 -0
  31. package/dist/{test → lend/__mocks__}/MockLendProvider.js +20 -21
  32. package/dist/lend/__mocks__/MockLendProvider.js.map +1 -0
  33. package/dist/{test → lend/__mocks__}/MockMarkets.d.ts +1 -1
  34. package/dist/lend/__mocks__/MockMarkets.d.ts.map +1 -0
  35. package/dist/{test → lend/__mocks__}/MockMarkets.js +1 -1
  36. package/dist/lend/__mocks__/MockMarkets.js.map +1 -0
  37. package/dist/lend/__mocks__/mockLendTransaction.d.ts +3 -12
  38. package/dist/lend/__mocks__/mockLendTransaction.d.ts.map +1 -1
  39. package/dist/lend/__mocks__/mockLendTransaction.js +3 -19
  40. package/dist/lend/__mocks__/mockLendTransaction.js.map +1 -1
  41. package/dist/lend/core/LendProvider.d.ts +16 -3
  42. package/dist/lend/core/LendProvider.d.ts.map +1 -1
  43. package/dist/lend/core/LendProvider.js +23 -2
  44. package/dist/lend/core/LendProvider.js.map +1 -1
  45. package/dist/lend/core/__tests__/LendProvider.test.js +20 -50
  46. package/dist/lend/core/__tests__/LendProvider.test.js.map +1 -1
  47. package/dist/lend/index.d.ts +1 -0
  48. package/dist/lend/index.d.ts.map +1 -1
  49. package/dist/lend/index.js +1 -0
  50. package/dist/lend/index.js.map +1 -1
  51. package/dist/lend/namespaces/ActionsLendNamespace.d.ts +2 -9
  52. package/dist/lend/namespaces/ActionsLendNamespace.d.ts.map +1 -1
  53. package/dist/lend/namespaces/ActionsLendNamespace.js +2 -11
  54. package/dist/lend/namespaces/ActionsLendNamespace.js.map +1 -1
  55. package/dist/lend/namespaces/BaseLendNamespace.d.ts +47 -0
  56. package/dist/lend/namespaces/BaseLendNamespace.d.ts.map +1 -0
  57. package/dist/lend/namespaces/BaseLendNamespace.js +58 -0
  58. package/dist/lend/namespaces/BaseLendNamespace.js.map +1 -0
  59. package/dist/lend/namespaces/WalletLendNamespace.d.ts +8 -9
  60. package/dist/lend/namespaces/WalletLendNamespace.d.ts.map +1 -1
  61. package/dist/lend/namespaces/WalletLendNamespace.js +24 -31
  62. package/dist/lend/namespaces/WalletLendNamespace.js.map +1 -1
  63. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js +25 -17
  64. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js.map +1 -1
  65. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.d.ts +2 -0
  66. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.d.ts.map +1 -0
  67. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js +110 -0
  68. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js.map +1 -0
  69. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js +37 -21
  70. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js.map +1 -1
  71. package/dist/lend/providers/aave/AaveLendProvider.d.ts +74 -0
  72. package/dist/lend/providers/aave/AaveLendProvider.d.ts.map +1 -0
  73. package/dist/lend/providers/aave/AaveLendProvider.js +290 -0
  74. package/dist/lend/providers/aave/AaveLendProvider.js.map +1 -0
  75. package/dist/lend/providers/aave/__mocks__/mockReserve.d.ts +11 -0
  76. package/dist/lend/providers/aave/__mocks__/mockReserve.d.ts.map +1 -0
  77. package/dist/lend/providers/aave/__mocks__/mockReserve.js +80 -0
  78. package/dist/lend/providers/aave/__mocks__/mockReserve.js.map +1 -0
  79. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.d.ts +2 -0
  80. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.d.ts.map +1 -0
  81. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js +315 -0
  82. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js.map +1 -0
  83. package/dist/lend/providers/aave/abis/pool.d.ts +153 -0
  84. package/dist/lend/providers/aave/abis/pool.d.ts.map +1 -0
  85. package/dist/lend/providers/aave/abis/pool.js +79 -0
  86. package/dist/lend/providers/aave/abis/pool.js.map +1 -0
  87. package/dist/lend/providers/aave/addresses.d.ts +57 -0
  88. package/dist/lend/providers/aave/addresses.d.ts.map +1 -0
  89. package/dist/lend/providers/aave/addresses.js +83 -0
  90. package/dist/lend/providers/aave/addresses.js.map +1 -0
  91. package/dist/lend/providers/aave/sdk.d.ts +57 -0
  92. package/dist/lend/providers/aave/sdk.d.ts.map +1 -0
  93. package/dist/lend/providers/aave/sdk.js +201 -0
  94. package/dist/lend/providers/aave/sdk.js.map +1 -0
  95. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts +4 -4
  96. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts.map +1 -1
  97. package/dist/lend/providers/morpho/MorphoLendProvider.js +13 -28
  98. package/dist/lend/providers/morpho/MorphoLendProvider.js.map +1 -1
  99. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js +6 -57
  100. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js.map +1 -1
  101. package/dist/lend/providers/morpho/__tests__/api.test.js +248 -54
  102. package/dist/lend/providers/morpho/__tests__/api.test.js.map +1 -1
  103. package/dist/lend/providers/morpho/__tests__/sdk.test.js +1 -0
  104. package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +1 -1
  105. package/dist/lend/providers/morpho/contracts.d.ts +19 -0
  106. package/dist/lend/providers/morpho/contracts.d.ts.map +1 -0
  107. package/dist/lend/providers/morpho/contracts.js +32 -0
  108. package/dist/lend/providers/morpho/contracts.js.map +1 -0
  109. package/dist/lend/providers/morpho/sdk.d.ts +4 -3
  110. package/dist/lend/providers/morpho/sdk.d.ts.map +1 -1
  111. package/dist/lend/providers/morpho/sdk.js +168 -71
  112. package/dist/lend/providers/morpho/sdk.js.map +1 -1
  113. package/dist/services/ChainManager.d.ts +1 -1
  114. package/dist/{test → services/__mocks__}/MockChainManager.d.ts +1 -1
  115. package/dist/services/__mocks__/MockChainManager.d.ts.map +1 -0
  116. package/dist/services/__mocks__/MockChainManager.js.map +1 -0
  117. package/dist/services/tokenBalance.d.ts.map +1 -1
  118. package/dist/services/tokenBalance.js +4 -5
  119. package/dist/services/tokenBalance.js.map +1 -1
  120. package/dist/services/tokenBalance.spec.js +2 -2
  121. package/dist/services/tokenBalance.spec.js.map +1 -1
  122. package/dist/supported/tokens.d.ts +4 -4
  123. package/dist/supported/tokens.d.ts.map +1 -1
  124. package/dist/supported/tokens.js +5 -56
  125. package/dist/supported/tokens.js.map +1 -1
  126. package/dist/types/actions.d.ts +26 -2
  127. package/dist/types/actions.d.ts.map +1 -1
  128. package/dist/types/asset.d.ts +3 -3
  129. package/dist/types/asset.d.ts.map +1 -1
  130. package/dist/types/lend/base.d.ts +10 -28
  131. package/dist/types/lend/base.d.ts.map +1 -1
  132. package/dist/types/lend/contracts.d.ts +17 -0
  133. package/dist/types/lend/contracts.d.ts.map +1 -0
  134. package/dist/types/lend/contracts.js +2 -0
  135. package/dist/types/lend/contracts.js.map +1 -0
  136. package/dist/types/lend/index.d.ts +1 -0
  137. package/dist/types/lend/index.d.ts.map +1 -1
  138. package/dist/types/lend/index.js +1 -0
  139. package/dist/types/lend/index.js.map +1 -1
  140. package/dist/utils/assets.d.ts +7 -1
  141. package/dist/utils/assets.d.ts.map +1 -1
  142. package/dist/utils/assets.js +12 -1
  143. package/dist/utils/assets.js.map +1 -1
  144. package/dist/utils/assets.test.js +1 -1
  145. package/dist/utils/assets.test.js.map +1 -1
  146. package/dist/utils/constants.d.ts +5 -0
  147. package/dist/utils/constants.d.ts.map +1 -0
  148. package/dist/utils/constants.js +5 -0
  149. package/dist/utils/constants.js.map +1 -0
  150. package/dist/wallet/core/namespace/WalletNamespace.d.ts.map +1 -1
  151. package/dist/wallet/core/namespace/WalletNamespace.js.map +1 -1
  152. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js +13 -13
  153. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js.map +1 -1
  154. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js +12 -12
  155. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js.map +1 -1
  156. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts +12 -3
  157. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts.map +1 -1
  158. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js +3 -2
  159. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js.map +1 -1
  160. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js +2 -2
  161. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js.map +1 -1
  162. package/dist/wallet/core/providers/hosted/types/index.d.ts +8 -2
  163. package/dist/wallet/core/providers/hosted/types/index.d.ts.map +1 -1
  164. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts +14 -6
  165. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts.map +1 -1
  166. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js +10 -6
  167. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js.map +1 -1
  168. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js +39 -16
  169. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js.map +1 -1
  170. package/dist/wallet/core/wallets/abstract/Wallet.d.ts +19 -7
  171. package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -1
  172. package/dist/wallet/core/wallets/abstract/Wallet.js +9 -7
  173. package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -1
  174. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js +2 -2
  175. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js.map +1 -1
  176. package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.js +2 -2
  177. package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.js.map +1 -1
  178. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +9 -3
  179. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -1
  180. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js +4 -4
  181. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -1
  182. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js +4 -4
  183. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js.map +1 -1
  184. package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.js +1 -1
  185. package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.js.map +1 -1
  186. package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.js +1 -1
  187. package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.js.map +1 -1
  188. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +10 -3
  189. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
  190. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js +5 -3
  191. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
  192. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +7 -6
  193. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
  194. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts.map +1 -1
  195. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js +5 -4
  196. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js.map +1 -1
  197. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js +2 -2
  198. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js.map +1 -1
  199. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +9 -2
  200. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
  201. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +6 -3
  202. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
  203. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +5 -4
  204. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
  205. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts +10 -3
  206. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
  207. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js +5 -4
  208. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js.map +1 -1
  209. package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js +3 -3
  210. package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js.map +1 -1
  211. package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.js +2 -2
  212. package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.js.map +1 -1
  213. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts +8 -2
  214. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
  215. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
  216. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
  217. package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js +2 -2
  218. package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js.map +1 -1
  219. package/dist/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js +1 -1
  220. package/dist/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js.map +1 -1
  221. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts +6 -2
  222. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts.map +1 -1
  223. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js +3 -3
  224. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js.map +1 -1
  225. package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.d.ts.map +1 -1
  226. package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.js +1 -1
  227. package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.js.map +1 -1
  228. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js +22 -7
  229. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js.map +1 -1
  230. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +6 -2
  231. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
  232. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js +3 -3
  233. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
  234. package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.d.ts.map +1 -1
  235. package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.js +1 -1
  236. package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.js.map +1 -1
  237. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +8 -4
  238. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
  239. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +6 -2
  240. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
  241. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +3 -3
  242. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
  243. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +7 -4
  244. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
  245. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js +6 -6
  246. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js.map +1 -1
  247. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js +1 -1
  248. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js.map +1 -1
  249. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts +6 -2
  250. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts.map +1 -1
  251. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js +3 -3
  252. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js.map +1 -1
  253. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts +6 -0
  254. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts.map +1 -1
  255. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.js.map +1 -1
  256. package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.js +2 -2
  257. package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.js.map +1 -1
  258. package/dist/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.js +1 -1
  259. package/dist/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.js.map +1 -1
  260. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts +6 -2
  261. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
  262. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js +3 -3
  263. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js.map +1 -1
  264. package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.js +2 -2
  265. package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.js.map +1 -1
  266. package/dist/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.js +1 -1
  267. package/dist/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.js.map +1 -1
  268. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts +6 -2
  269. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
  270. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
  271. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
  272. package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js +2 -2
  273. package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js.map +1 -1
  274. package/dist/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js +1 -1
  275. package/dist/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js.map +1 -1
  276. package/package.json +4 -1
  277. package/src/{test → __mocks__}/MockPrivyClient.ts +1 -1
  278. package/src/{actions.test.ts → __tests__/actions.test.ts} +34 -95
  279. package/src/actions.ts +82 -26
  280. package/src/constants/assets.ts +92 -8
  281. package/src/constants/supportedChains.ts +10 -2
  282. package/src/core/asset/__mocks__/mockAsset.ts +1 -1
  283. package/src/index.ts +2 -3
  284. package/src/{test → lend/__mocks__}/MockLendProvider.ts +24 -27
  285. package/src/{test → lend/__mocks__}/MockMarkets.ts +1 -1
  286. package/src/lend/__mocks__/mockLendTransaction.ts +4 -26
  287. package/src/lend/core/LendProvider.ts +40 -7
  288. package/src/lend/core/__tests__/LendProvider.test.ts +21 -63
  289. package/src/lend/index.ts +1 -0
  290. package/src/lend/namespaces/ActionsLendNamespace.ts +2 -21
  291. package/src/lend/namespaces/BaseLendNamespace.ts +89 -0
  292. package/src/lend/namespaces/WalletLendNamespace.ts +39 -55
  293. package/src/lend/namespaces/__tests__/ActionsLendNamespace.spec.ts +29 -22
  294. package/src/lend/namespaces/__tests__/BaseLendNamespace.spec.ts +137 -0
  295. package/src/lend/namespaces/__tests__/WalletLendNamespace.spec.ts +61 -26
  296. package/src/lend/providers/aave/AaveLendProvider.ts +395 -0
  297. package/src/lend/providers/aave/__mocks__/mockReserve.ts +84 -0
  298. package/src/lend/providers/aave/__tests__/AaveLendProvider.test.ts +419 -0
  299. package/src/lend/providers/aave/abis/pool.ts +81 -0
  300. package/src/lend/providers/aave/addresses.ts +95 -0
  301. package/src/lend/providers/aave/sdk.ts +307 -0
  302. package/src/lend/providers/morpho/MorphoLendProvider.ts +23 -44
  303. package/src/lend/providers/morpho/__tests__/MorphoLendProvider.test.ts +13 -85
  304. package/src/lend/providers/morpho/__tests__/api.test.ts +277 -51
  305. package/src/lend/providers/morpho/__tests__/sdk.test.ts +1 -0
  306. package/src/lend/providers/morpho/contracts.ts +37 -0
  307. package/src/lend/providers/morpho/sdk.ts +235 -87
  308. package/src/services/tokenBalance.spec.ts +2 -2
  309. package/src/services/tokenBalance.ts +6 -7
  310. package/src/supported/tokens.ts +6 -57
  311. package/src/types/actions.ts +30 -2
  312. package/src/types/asset.ts +3 -3
  313. package/src/types/lend/base.ts +14 -33
  314. package/src/types/lend/contracts.ts +18 -0
  315. package/src/types/lend/index.ts +1 -0
  316. package/src/utils/assets.test.ts +1 -1
  317. package/src/utils/assets.ts +15 -1
  318. package/src/utils/constants.ts +4 -0
  319. package/src/wallet/core/namespace/WalletNamespace.ts +2 -4
  320. package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +15 -15
  321. package/src/wallet/core/providers/__tests__/WalletProvider.spec.ts +14 -14
  322. package/src/wallet/core/providers/hosted/abstract/HostedWalletProvider.ts +15 -4
  323. package/src/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.ts +3 -3
  324. package/src/wallet/core/providers/hosted/types/index.ts +8 -2
  325. package/src/wallet/core/providers/smart/default/DefaultSmartWalletProvider.ts +24 -9
  326. package/src/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.ts +45 -55
  327. package/src/wallet/core/wallets/abstract/Wallet.ts +25 -17
  328. package/src/wallet/core/wallets/abstract/__tests__/Wallet.spec.ts +2 -2
  329. package/src/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.ts +2 -2
  330. package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +17 -10
  331. package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +7 -10
  332. package/src/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.ts +1 -1
  333. package/src/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.ts +1 -1
  334. package/src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts +13 -5
  335. package/src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +8 -8
  336. package/src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts +6 -4
  337. package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +3 -3
  338. package/src/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +13 -4
  339. package/src/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +5 -5
  340. package/src/wallet/node/wallets/hosted/privy/PrivyWallet.ts +18 -6
  341. package/src/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts +4 -4
  342. package/src/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts +2 -2
  343. package/src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts +16 -5
  344. package/src/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.ts +2 -2
  345. package/src/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.ts +1 -1
  346. package/src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts +8 -4
  347. package/src/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.ts +1 -1
  348. package/src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts +31 -17
  349. package/src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts +8 -4
  350. package/src/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.ts +1 -1
  351. package/src/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +10 -11
  352. package/src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +8 -4
  353. package/src/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +7 -8
  354. package/src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts +6 -6
  355. package/src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts +5 -7
  356. package/src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts +12 -5
  357. package/src/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.ts +6 -0
  358. package/src/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.ts +2 -2
  359. package/src/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.ts +1 -1
  360. package/src/wallet/react/wallets/hosted/privy/PrivyWallet.ts +12 -5
  361. package/src/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts +2 -2
  362. package/src/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts +1 -1
  363. package/src/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.ts +12 -5
  364. package/src/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.ts +2 -2
  365. package/src/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.ts +1 -1
  366. package/dist/actions.test.d.ts.map +0 -1
  367. package/dist/actions.test.js.map +0 -1
  368. package/dist/constants/config.d.ts +0 -10
  369. package/dist/constants/config.d.ts.map +0 -1
  370. package/dist/constants/config.js +0 -10
  371. package/dist/constants/config.js.map +0 -1
  372. package/dist/test/MockAssets.d.ts.map +0 -1
  373. package/dist/test/MockAssets.js.map +0 -1
  374. package/dist/test/MockChainManager.d.ts.map +0 -1
  375. package/dist/test/MockChainManager.js.map +0 -1
  376. package/dist/test/MockLendProvider.d.ts.map +0 -1
  377. package/dist/test/MockLendProvider.js.map +0 -1
  378. package/dist/test/MockMarkets.d.ts.map +0 -1
  379. package/dist/test/MockMarkets.js.map +0 -1
  380. package/dist/test/MockPrivyClient.d.ts.map +0 -1
  381. package/dist/test/MockPrivyClient.js.map +0 -1
  382. package/dist/test/utils.d.ts.map +0 -1
  383. package/dist/test/utils.js.map +0 -1
  384. package/src/constants/config.ts +0 -9
  385. /package/dist/{test → __mocks__}/MockAssets.d.ts +0 -0
  386. /package/dist/{test → __mocks__}/MockAssets.js +0 -0
  387. /package/dist/{test → __mocks__}/MockPrivyClient.d.ts +0 -0
  388. /package/dist/{test → __mocks__}/MockPrivyClient.js +0 -0
  389. /package/dist/{test → __mocks__}/utils.d.ts +0 -0
  390. /package/dist/{test → __mocks__}/utils.js +0 -0
  391. /package/dist/{actions.test.d.ts → __tests__/actions.test.d.ts} +0 -0
  392. /package/dist/{test → services/__mocks__}/MockChainManager.js +0 -0
  393. /package/src/{test → __mocks__}/MockAssets.ts +0 -0
  394. /package/src/{test → __mocks__}/utils.ts +0 -0
  395. /package/src/{test → services/__mocks__}/MockChainManager.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import { describe, expect, it } from 'vitest';
2
- import { MockUSDCAsset } from '../../../test/MockAssets.js';
3
- import { MockLendProvider } from '../../../test/MockLendProvider.js';
2
+ import { MockUSDCAsset } from '../../../__mocks__/MockAssets.js';
3
+ import { MockLendProvider } from '../../__mocks__/MockLendProvider.js';
4
4
  // Test helper class that exposes protected validation methods as public
5
5
  class TestLendProvider extends MockLendProvider {
6
6
  validateProviderSupported(chainId) {
@@ -16,27 +16,10 @@ class TestLendProvider extends MockLendProvider {
16
16
  describe('LendProvider', () => {
17
17
  describe('constructor and configuration', () => {
18
18
  it('should initialize with basic config', () => {
19
- const config = {
20
- provider: 'morpho',
21
- defaultSlippage: 100,
22
- };
23
- const provider = new MockLendProvider(config);
19
+ const provider = new MockLendProvider();
24
20
  expect(provider).toBeDefined();
25
21
  expect(provider.supportedChainIds()).toContain(84532);
26
22
  });
27
- it('should use default slippage when not provided', () => {
28
- const config = { provider: 'morpho' };
29
- const provider = new MockLendProvider(config);
30
- expect(provider.config.defaultSlippage || 50).toBe(50);
31
- });
32
- it('should use custom default slippage when provided', () => {
33
- const config = {
34
- provider: 'morpho',
35
- defaultSlippage: 200,
36
- };
37
- const provider = new MockLendProvider(config);
38
- expect(provider.config.defaultSlippage).toBe(200);
39
- });
40
23
  it('should store market allowlist when provided', () => {
41
24
  const mockMarket = {
42
25
  address: '0x1234',
@@ -53,17 +36,15 @@ describe('LendProvider', () => {
53
36
  },
54
37
  lendProvider: 'morpho',
55
38
  };
56
- const config = {
57
- provider: 'morpho',
39
+ const provider = new MockLendProvider({
58
40
  marketAllowlist: [mockMarket],
59
- };
60
- const provider = new MockLendProvider(config);
41
+ });
61
42
  expect(provider.config.marketAllowlist).toEqual([mockMarket]);
62
43
  });
63
44
  });
64
45
  describe('abstract methods implementation', () => {
65
46
  it('should implement getMarket method', async () => {
66
- const provider = new MockLendProvider({ provider: 'morpho' });
47
+ const provider = new MockLendProvider();
67
48
  const marketId = {
68
49
  address: '0x1234',
69
50
  chainId: 84532,
@@ -74,7 +55,7 @@ describe('LendProvider', () => {
74
55
  expect(market.apy.total).toBe(0.05);
75
56
  });
76
57
  it('should accept LendMarketConfig and extract address/chainId', async () => {
77
- const provider = new MockLendProvider({ provider: 'morpho' });
58
+ const provider = new MockLendProvider();
78
59
  const mockMarket = {
79
60
  address: '0x5678',
80
61
  chainId: 84532,
@@ -88,20 +69,20 @@ describe('LendProvider', () => {
88
69
  expect(market.name).toBe('Mock Market');
89
70
  });
90
71
  it('should implement getMarkets method', async () => {
91
- const provider = new MockLendProvider({ provider: 'morpho' });
72
+ const provider = new MockLendProvider();
92
73
  const markets = await provider.getMarkets();
93
74
  expect(Array.isArray(markets)).toBe(true);
94
75
  expect(markets).toHaveLength(1);
95
76
  expect(markets[0].name).toBe('Mock Market');
96
77
  });
97
78
  it('should accept optional filter parameters for getMarkets', async () => {
98
- const provider = new MockLendProvider({ provider: 'morpho' });
79
+ const provider = new MockLendProvider();
99
80
  const markets = await provider.getMarkets({ chainId: 84532 });
100
81
  expect(Array.isArray(markets)).toBe(true);
101
82
  expect(markets).toHaveLength(1);
102
83
  });
103
84
  it('should accept asset filtering parameter', async () => {
104
- const provider = new MockLendProvider({ provider: 'morpho' });
85
+ const provider = new MockLendProvider();
105
86
  const mockAsset = {
106
87
  metadata: { symbol: 'USDC', name: 'USD Coin' },
107
88
  address: { 84532: '0x123' },
@@ -110,7 +91,7 @@ describe('LendProvider', () => {
110
91
  expect(Array.isArray(markets)).toBe(true);
111
92
  });
112
93
  it('should implement getPosition method', async () => {
113
- const provider = new MockLendProvider({ provider: 'morpho' });
94
+ const provider = new MockLendProvider();
114
95
  const position = await provider.getPosition('0x5678', {
115
96
  address: '0x1234',
116
97
  chainId: 84532,
@@ -120,7 +101,7 @@ describe('LendProvider', () => {
120
101
  expect(position.marketId.chainId).toBe(84532);
121
102
  });
122
103
  it('should implement closePosition method', async () => {
123
- const provider = new MockLendProvider({ provider: 'morpho' });
104
+ const provider = new MockLendProvider();
124
105
  const result = await provider.closePosition({
125
106
  amount: 100,
126
107
  marketId: { address: '0x1234', chainId: 84532 },
@@ -131,13 +112,13 @@ describe('LendProvider', () => {
131
112
  expect(typeof result.transactionData).toBe('object');
132
113
  });
133
114
  it('should implement withdraw method', async () => {
134
- const provider = new MockLendProvider({ provider: 'morpho' });
115
+ const provider = new MockLendProvider();
135
116
  const result = await provider.withdraw('0x0000000000000000000000000000000000000001', 500n, 84532, 'market-2');
136
117
  expect(result.amount).toBe(500n);
137
118
  expect(result.marketId).toBe('market-2');
138
119
  });
139
120
  it('should implement openPosition method', async () => {
140
- const provider = new MockLendProvider({ provider: 'morpho' });
121
+ const provider = new MockLendProvider();
141
122
  const mockAsset = {
142
123
  address: { 84532: '0x123' },
143
124
  metadata: { symbol: 'USDC', name: 'USD Coin', decimals: 6 },
@@ -157,7 +138,7 @@ describe('LendProvider', () => {
157
138
  });
158
139
  describe('supportedChainIds', () => {
159
140
  it('should return array of supported chain IDs', () => {
160
- const provider = new MockLendProvider({ provider: 'morpho' });
141
+ const provider = new MockLendProvider();
161
142
  const chainIds = provider.supportedChainIds();
162
143
  expect(Array.isArray(chainIds)).toBe(true);
163
144
  expect(chainIds).toContain(84532);
@@ -166,7 +147,7 @@ describe('LendProvider', () => {
166
147
  });
167
148
  describe('validation', () => {
168
149
  it('should call validation for unsupported chainId', () => {
169
- const provider = new TestLendProvider({ provider: 'morpho' });
150
+ const provider = new TestLendProvider();
170
151
  expect(() => {
171
152
  provider.validateProviderSupported(999);
172
153
  }).toThrow('Chain 999 is not supported');
@@ -184,7 +165,6 @@ describe('LendProvider', () => {
184
165
  lendProvider: 'morpho',
185
166
  };
186
167
  const provider = new TestLendProvider({
187
- provider: 'morpho',
188
168
  marketAllowlist: [allowedMarket],
189
169
  });
190
170
  expect(() => {
@@ -201,20 +181,12 @@ describe('LendProvider', () => {
201
181
  }).toThrow('not in the market allowlist');
202
182
  });
203
183
  it('should validate chain support correctly', () => {
204
- const provider = new TestLendProvider({ provider: 'morpho' });
184
+ const provider = new TestLendProvider();
205
185
  expect(provider.isChainSupported(84532)).toBe(true);
206
186
  expect(provider.isChainSupported(999)).toBe(false);
207
187
  });
208
188
  });
209
189
  describe('public getters', () => {
210
- it('should provide access to defaultSlippage via getter', () => {
211
- const config = {
212
- provider: 'morpho',
213
- defaultSlippage: 75,
214
- };
215
- const provider = new MockLendProvider(config);
216
- expect(provider.config.defaultSlippage).toBe(75);
217
- });
218
190
  it('should provide access to marketAllowlist via getter', () => {
219
191
  const mockMarket = {
220
192
  address: '0xabc',
@@ -231,15 +203,13 @@ describe('LendProvider', () => {
231
203
  },
232
204
  lendProvider: 'morpho',
233
205
  };
234
- const config = {
235
- provider: 'morpho',
206
+ const provider = new MockLendProvider({
236
207
  marketAllowlist: [mockMarket],
237
- };
238
- const provider = new MockLendProvider(config);
208
+ });
239
209
  expect(provider.config.marketAllowlist).toEqual([mockMarket]);
240
210
  });
241
211
  it('should return undefined for marketAllowlist when not provided', () => {
242
- const provider = new MockLendProvider({ provider: 'morpho' });
212
+ const provider = new MockLendProvider();
243
213
  expect(provider.config.marketAllowlist).toBeUndefined();
244
214
  });
245
215
  });
@@ -1 +1 @@
1
- {"version":3,"file":"LendProvider.test.js","sourceRoot":"","sources":["../../../../src/lend/core/__tests__/LendProvider.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LendProvider.test.js","sourceRoot":"","sources":["../../../../src/lend/core/__tests__/LendProvider.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export { LendProvider } from './core/LendProvider.js';
2
+ export { AaveLendProvider } from './providers/aave/AaveLendProvider.js';
2
3
  export { MorphoLendProvider } from './providers/morpho/MorphoLendProvider.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAA"}
@@ -1,3 +1,4 @@
1
1
  export { LendProvider } from './core/LendProvider.js';
2
+ export { AaveLendProvider } from './providers/aave/AaveLendProvider.js';
2
3
  export { MorphoLendProvider } from './providers/morpho/MorphoLendProvider.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAA"}
@@ -1,15 +1,8 @@
1
- import type { LendProvider } from '../core/LendProvider.js';
2
- import type { BaseLendConfig, LendConfig } from '../../types/lend/index.js';
1
+ import { BaseLendNamespace } from './BaseLendNamespace.js';
3
2
  /**
4
3
  * Actions Lend Namespace
5
4
  * @description Read-only lending operations available on actions.lend
6
5
  */
7
- export declare class ActionsLendNamespace<TConfig extends BaseLendConfig = LendConfig> {
8
- protected readonly provider: LendProvider<TConfig>;
9
- constructor(provider: LendProvider<TConfig>);
10
- get config(): TConfig;
11
- getMarkets: (...args: Parameters<LendProvider<TConfig>["getMarkets"]>) => Promise<import("../../types/lend/index.js").LendMarket[]>;
12
- getMarket: (...args: Parameters<LendProvider<TConfig>["getMarket"]>) => Promise<import("../../types/lend/index.js").LendMarket>;
13
- supportedChainIds: (...args: Parameters<LendProvider<TConfig>["supportedChainIds"]>) => number[];
6
+ export declare class ActionsLendNamespace extends BaseLendNamespace {
14
7
  }
15
8
  //# sourceMappingURL=ActionsLendNamespace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionsLendNamespace.d.ts","sourceRoot":"","sources":["../../../src/lend/namespaces/ActionsLendNamespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEvE;;;GAGG;AACH,qBAAa,oBAAoB,CAAC,OAAO,SAAS,cAAc,GAAG,UAAU;IAC/D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC;gBAA/B,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC;IAE9D,IAAI,MAAM,IAAI,OAAO,CAEpB;IAID,UAAU,GAAI,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,2DACnC;IAEnC,SAAS,GAAI,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,yDAClC;IAElC,iBAAiB,GACf,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC,cACpB;CAC9C"}
1
+ {"version":3,"file":"ActionsLendNamespace.d.ts","sourceRoot":"","sources":["../../../src/lend/namespaces/ActionsLendNamespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,iBAAiB;CAAG"}
@@ -1,17 +1,8 @@
1
+ import { BaseLendNamespace } from './BaseLendNamespace.js';
1
2
  /**
2
3
  * Actions Lend Namespace
3
4
  * @description Read-only lending operations available on actions.lend
4
5
  */
5
- export class ActionsLendNamespace {
6
- constructor(provider) {
7
- this.provider = provider;
8
- // Bind to the LendProvider's methods and carry types
9
- this.getMarkets = (...args) => this.provider.getMarkets(...args);
10
- this.getMarket = (...args) => this.provider.getMarket(...args);
11
- this.supportedChainIds = (...args) => this.provider.supportedChainIds(...args);
12
- }
13
- get config() {
14
- return this.provider.config;
15
- }
6
+ export class ActionsLendNamespace extends BaseLendNamespace {
16
7
  }
17
8
  //# sourceMappingURL=ActionsLendNamespace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionsLendNamespace.js","sourceRoot":"","sources":["../../../src/lend/namespaces/ActionsLendNamespace.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IAC/B,YAA+B,QAA+B;QAA/B,aAAQ,GAAR,QAAQ,CAAuB;QAM9D,qDAAqD;QAErD,eAAU,GAAG,CAAC,GAAG,IAAqD,EAAE,EAAE,CACxE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAA;QAEnC,cAAS,GAAG,CAAC,GAAG,IAAoD,EAAE,EAAE,CACtE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAA;QAElC,sBAAiB,GAAG,CAClB,GAAG,IAA4D,EAC/D,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAA;IAhBoB,CAAC;IAElE,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC7B,CAAC;CAaF"}
1
+ {"version":3,"file":"ActionsLendNamespace.js","sourceRoot":"","sources":["../../../src/lend/namespaces/ActionsLendNamespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D;;;GAGG;AACH,MAAM,OAAO,oBAAqB,SAAQ,iBAAiB;CAAG"}
@@ -0,0 +1,47 @@
1
+ import type { LendProvider } from '../core/LendProvider.js';
2
+ import type { AaveLendProvider } from '../providers/aave/AaveLendProvider.js';
3
+ import type { MorphoLendProvider } from '../providers/morpho/MorphoLendProvider.js';
4
+ import type { LendProviderConfig } from '../../types/actions.js';
5
+ import type { GetLendMarketParams, GetLendMarketsParams, LendMarket, LendMarketId } from '../../types/lend/index.js';
6
+ export type LendProviders = {
7
+ morpho?: LendProvider<LendProviderConfig>;
8
+ aave?: LendProvider<LendProviderConfig>;
9
+ };
10
+ /**
11
+ * Base Lend Namespace
12
+ * @description Shared lending operations for Actions and Wallet namespaces
13
+ */
14
+ export declare abstract class BaseLendNamespace {
15
+ protected readonly providers: LendProviders;
16
+ constructor(providers: LendProviders);
17
+ /**
18
+ * Get all markets across all configured providers
19
+ * @param params - Optional filtering parameters
20
+ * @returns Promise resolving to array of markets from all providers
21
+ */
22
+ getMarkets(params?: GetLendMarketsParams): Promise<LendMarket[]>;
23
+ /**
24
+ * Get a specific market by routing to the correct provider
25
+ * @param params - Market identifier
26
+ * @returns Promise resolving to market information
27
+ */
28
+ getMarket(params: GetLendMarketParams): Promise<LendMarket>;
29
+ /**
30
+ * Get supported chain IDs across all providers
31
+ * @returns Array of unique chain IDs supported by any provider
32
+ */
33
+ supportedChainIds(): number[];
34
+ /**
35
+ * Get all configured providers
36
+ * @returns Array of configured providers
37
+ */
38
+ protected getAllProviders(): Array<MorphoLendProvider | AaveLendProvider>;
39
+ /**
40
+ * Route a market to the correct provider
41
+ * @param marketId - Market identifier to route
42
+ * @returns The provider that handles this market
43
+ * @throws Error if no provider is found for the market
44
+ */
45
+ protected getProviderForMarket(marketId: LendMarketId): MorphoLendProvider | AaveLendProvider;
46
+ }
47
+ //# sourceMappingURL=BaseLendNamespace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseLendNamespace.d.ts","sourceRoot":"","sources":["../../../src/lend/namespaces/BaseLendNamespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAA;AACvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,YAAY,EACb,MAAM,uBAAuB,CAAA;AAE9B,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;IACzC,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;CACxC,CAAA;AAED;;;GAGG;AACH,8BAAsB,iBAAiB;IACzB,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa;gBAAxB,SAAS,EAAE,aAAa;IAEvD;;;;OAIG;IACG,UAAU,CAAC,MAAM,GAAE,oBAAyB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAO1E;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKjE;;;OAGG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAO7B;;;OAGG;IACH,SAAS,CAAC,eAAe,IAAI,KAAK,CAAC,kBAAkB,GAAG,gBAAgB,CAAC;IAMzE;;;;;OAKG;IACH,SAAS,CAAC,oBAAoB,CAC5B,QAAQ,EAAE,YAAY,GACrB,kBAAkB,GAAG,gBAAgB;CAczC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Base Lend Namespace
3
+ * @description Shared lending operations for Actions and Wallet namespaces
4
+ */
5
+ export class BaseLendNamespace {
6
+ constructor(providers) {
7
+ this.providers = providers;
8
+ }
9
+ /**
10
+ * Get all markets across all configured providers
11
+ * @param params - Optional filtering parameters
12
+ * @returns Promise resolving to array of markets from all providers
13
+ */
14
+ async getMarkets(params = {}) {
15
+ const results = await Promise.all(this.getAllProviders().map((p) => p.getMarkets(params)));
16
+ return results.flat();
17
+ }
18
+ /**
19
+ * Get a specific market by routing to the correct provider
20
+ * @param params - Market identifier
21
+ * @returns Promise resolving to market information
22
+ */
23
+ async getMarket(params) {
24
+ const provider = this.getProviderForMarket(params);
25
+ return provider.getMarket(params);
26
+ }
27
+ /**
28
+ * Get supported chain IDs across all providers
29
+ * @returns Array of unique chain IDs supported by any provider
30
+ */
31
+ supportedChainIds() {
32
+ const allChains = this.getAllProviders().flatMap((p) => p.supportedChainIds());
33
+ return [...new Set(allChains)];
34
+ }
35
+ /**
36
+ * Get all configured providers
37
+ * @returns Array of configured providers
38
+ */
39
+ getAllProviders() {
40
+ return [this.providers.morpho, this.providers.aave].filter(Boolean);
41
+ }
42
+ /**
43
+ * Route a market to the correct provider
44
+ * @param marketId - Market identifier to route
45
+ * @returns The provider that handles this market
46
+ * @throws Error if no provider is found for the market
47
+ */
48
+ getProviderForMarket(marketId) {
49
+ for (const provider of this.getAllProviders()) {
50
+ const market = provider.config.marketAllowlist?.find((m) => m.address.toLowerCase() === marketId.address.toLowerCase() &&
51
+ m.chainId === marketId.chainId);
52
+ if (market)
53
+ return provider;
54
+ }
55
+ throw new Error(`No provider configured for market ${marketId.address} on chain ${marketId.chainId}`);
56
+ }
57
+ }
58
+ //# sourceMappingURL=BaseLendNamespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseLendNamespace.js","sourceRoot":"","sources":["../../../src/lend/namespaces/BaseLendNamespace.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,MAAM,OAAgB,iBAAiB;IACrC,YAA+B,SAAwB;QAAxB,cAAS,GAAT,SAAS,CAAe;IAAG,CAAC;IAE3D;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,SAA+B,EAAE;QAChD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CACxD,CAAA;QACD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAA;IACvB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,MAA2B;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QAClD,OAAO,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC;IAED;;;OAGG;IACH,iBAAiB;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACrD,CAAC,CAAC,iBAAiB,EAAE,CACtB,CAAA;QACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;IAChC,CAAC;IAED;;;OAGG;IACO,eAAe;QACvB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CACxD,OAAO,CACwC,CAAA;IACnD,CAAC;IAED;;;;;OAKG;IACO,oBAAoB,CAC5B,QAAsB;QAEtB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAClD,CAAC,CAAe,EAAE,EAAE,CAClB,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE;gBAC1D,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CACjC,CAAA;YACD,IAAI,MAAM;gBAAE,OAAO,QAAQ,CAAA;QAC7B,CAAC;QAED,MAAM,IAAI,KAAK,CACb,qCAAqC,QAAQ,CAAC,OAAO,aAAa,QAAQ,CAAC,OAAO,EAAE,CACrF,CAAA;IACH,CAAC;CACF"}
@@ -1,18 +1,13 @@
1
- import type { LendProvider } from '../core/LendProvider.js';
2
- import type { BaseLendConfig, ClosePositionParams, GetPositionParams, LendMarketPosition, LendOpenPositionParams, LendTransactionReceipt } from '../../types/lend/index.js';
1
+ import type { ClosePositionParams, GetPositionParams, LendMarketPosition, LendOpenPositionParams, LendTransactionReceipt } from '../../types/lend/index.js';
3
2
  import type { Wallet } from '../../wallet/core/wallets/abstract/Wallet.js';
3
+ import { BaseLendNamespace, type LendProviders } from './BaseLendNamespace.js';
4
4
  /**
5
5
  * Wallet Lend Namespace
6
6
  * @description Full lending operations available on wallet.lend
7
7
  */
8
- export declare class WalletLendNamespace<TConfig extends BaseLendConfig = BaseLendConfig> {
9
- protected readonly provider: LendProvider<TConfig>;
8
+ export declare class WalletLendNamespace extends BaseLendNamespace {
10
9
  private readonly wallet;
11
- constructor(provider: LendProvider<TConfig>, wallet: Wallet);
12
- get config(): TConfig;
13
- getMarkets: (...args: Parameters<LendProvider<TConfig>["getMarkets"]>) => Promise<import("../../types/lend/index.js").LendMarket[]>;
14
- getMarket: (...args: Parameters<LendProvider<TConfig>["getMarket"]>) => Promise<import("../../types/lend/index.js").LendMarket>;
15
- supportedChainIds: (...args: Parameters<LendProvider<TConfig>["supportedChainIds"]>) => number[];
10
+ constructor(providers: LendProviders, wallet: Wallet);
16
11
  /**
17
12
  * Open a lending position
18
13
  * @description Signs and sends a lend transaction from the wallet for the given amount and asset
@@ -38,5 +33,9 @@ export declare class WalletLendNamespace<TConfig extends BaseLendConfig = BaseLe
38
33
  * @returns Promise resolving to transaction receipt
39
34
  */
40
35
  closePosition(params: ClosePositionParams): Promise<LendTransactionReceipt>;
36
+ /**
37
+ * Execute a lend transaction with optional approval batching
38
+ */
39
+ private executeTransaction;
41
40
  }
42
41
  //# sourceMappingURL=WalletLendNamespace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WalletLendNamespace.d.ts","sourceRoot":"","sources":["../../../src/lend/namespaces/WalletLendNamespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAA;AAEtE;;;GAGG;AACH,qBAAa,mBAAmB,CAC9B,OAAO,SAAS,cAAc,GAAG,cAAc;IAG7C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADJ,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,EACjC,MAAM,EAAE,MAAM;IAGjC,IAAI,MAAM,IAAI,OAAO,CAEpB;IAGD,UAAU,GAAI,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,2DACnC;IAEnC,SAAS,GAAI,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,yDAClC;IAElC,iBAAiB,GACf,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC,cACpB;IAE7C;;;;;;;OAOG;IACG,YAAY,CAChB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IA2BlC;;;;;;OAMG;IACG,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQzE;;;;;;OAMG;IACG,aAAa,CACjB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,sBAAsB,CAAC;CAsBnC"}
1
+ {"version":3,"file":"WalletLendNamespace.d.ts","sourceRoot":"","sources":["../../../src/lend/namespaces/WalletLendNamespace.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EAEtB,sBAAsB,EACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAA;AAEtE,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAE9E;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,iBAAiB;IAGtD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADvB,SAAS,EAAE,aAAa,EACP,MAAM,EAAE,MAAM;IAKjC;;;;;;;OAOG;IACG,YAAY,CAChB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAWlC;;;;;;OAMG;IACG,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAczE;;;;;;OAMG;IACG,aAAa,CACjB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,sBAAsB,CAAC;IAWlC;;OAEG;YACW,kBAAkB;CAejC"}
@@ -1,18 +1,12 @@
1
+ import { BaseLendNamespace } from './BaseLendNamespace.js';
1
2
  /**
2
3
  * Wallet Lend Namespace
3
4
  * @description Full lending operations available on wallet.lend
4
5
  */
5
- export class WalletLendNamespace {
6
- constructor(provider, wallet) {
7
- this.provider = provider;
6
+ export class WalletLendNamespace extends BaseLendNamespace {
7
+ constructor(providers, wallet) {
8
+ super(providers);
8
9
  this.wallet = wallet;
9
- // Inherited methods from ActionsLendNamespace
10
- this.getMarkets = (...args) => this.provider.getMarkets(...args);
11
- this.getMarket = (...args) => this.provider.getMarket(...args);
12
- this.supportedChainIds = (...args) => this.provider.supportedChainIds(...args);
13
- }
14
- get config() {
15
- return this.provider.config;
16
10
  }
17
11
  /**
18
12
  * Open a lending position
@@ -23,21 +17,12 @@ export class WalletLendNamespace {
23
17
  * @returns Promise resolving to transaction receipt
24
18
  */
25
19
  async openPosition(params) {
26
- const lendTransaction = await this.provider.openPosition({
20
+ const provider = this.getProviderForMarket(params.marketId);
21
+ const lendTransaction = await provider.openPosition({
27
22
  ...params,
28
23
  walletAddress: this.wallet.address,
29
24
  });
30
- const { transactionData } = lendTransaction;
31
- if (!transactionData) {
32
- throw new Error('No transaction data returned from lend provider');
33
- }
34
- if (transactionData.approval && transactionData.openPosition) {
35
- return await this.wallet.sendBatch([transactionData.approval, transactionData.openPosition], params.marketId.chainId);
36
- }
37
- if (!transactionData.openPosition) {
38
- throw new Error('No openPosition transaction data returned');
39
- }
40
- return await this.wallet.send(transactionData.openPosition, params.marketId.chainId);
25
+ return this.executeTransaction(lendTransaction, params.marketId.chainId);
41
26
  }
42
27
  /**
43
28
  * Get position information for this wallet
@@ -47,7 +32,11 @@ export class WalletLendNamespace {
47
32
  * @returns Promise resolving to position information
48
33
  */
49
34
  async getPosition(params) {
50
- return this.provider.getPosition(this.wallet.address, params.marketId, params.asset);
35
+ if (!params.marketId) {
36
+ throw new Error('marketId is required');
37
+ }
38
+ const provider = this.getProviderForMarket(params.marketId);
39
+ return provider.getPosition(this.wallet.address, params.marketId, params.asset);
51
40
  }
52
41
  /**
53
42
  * Close a lending position (withdraw from market)
@@ -57,18 +46,22 @@ export class WalletLendNamespace {
57
46
  * @returns Promise resolving to transaction receipt
58
47
  */
59
48
  async closePosition(params) {
60
- const closeTransaction = await this.provider.closePosition({
49
+ const provider = this.getProviderForMarket(params.marketId);
50
+ const closeTransaction = await provider.closePosition({
61
51
  ...params,
62
52
  walletAddress: this.wallet.address,
63
53
  });
64
- const { transactionData } = closeTransaction;
65
- if (!transactionData) {
66
- throw new Error('No transaction data returned from close position provider');
67
- }
68
- if (!transactionData.closePosition) {
69
- throw new Error('No closePosition transaction data returned');
54
+ return this.executeTransaction(closeTransaction, params.marketId.chainId);
55
+ }
56
+ /**
57
+ * Execute a lend transaction with optional approval batching
58
+ */
59
+ async executeTransaction(transaction, chainId) {
60
+ const { transactionData } = transaction;
61
+ if (transactionData.approval) {
62
+ return this.wallet.sendBatch([transactionData.approval, transactionData.position], chainId);
70
63
  }
71
- return await this.wallet.send(transactionData.closePosition, params.marketId.chainId);
64
+ return this.wallet.send(transactionData.position, chainId);
72
65
  }
73
66
  }
74
67
  //# sourceMappingURL=WalletLendNamespace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WalletLendNamespace.js","sourceRoot":"","sources":["../../../src/lend/namespaces/WalletLendNamespace.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IAG9B,YACqB,QAA+B,EACjC,MAAc;QADZ,aAAQ,GAAR,QAAQ,CAAuB;QACjC,WAAM,GAAN,MAAM,CAAQ;QAOjC,8CAA8C;QAC9C,eAAU,GAAG,CAAC,GAAG,IAAqD,EAAE,EAAE,CACxE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAA;QAEnC,cAAS,GAAG,CAAC,GAAG,IAAoD,EAAE,EAAE,CACtE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAA;QAElC,sBAAiB,GAAG,CAClB,GAAG,IAA4D,EAC/D,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAA;IAf1C,CAAC;IAEJ,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC7B,CAAC;IAaD;;;;;;;OAOG;IACH,KAAK,CAAC,YAAY,CAChB,MAA8B;QAE9B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YACvD,GAAG,MAAM;YACT,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SACnC,CAAC,CAAA;QAEF,MAAM,EAAE,eAAe,EAAE,GAAG,eAAe,CAAA;QAC3C,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;QACpE,CAAC;QAED,IAAI,eAAe,CAAC,QAAQ,IAAI,eAAe,CAAC,YAAY,EAAE,CAAC;YAC7D,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAChC,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,EACxD,MAAM,CAAC,QAAQ,CAAC,OAAO,CACxB,CAAA;QACH,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAC3B,eAAe,CAAC,YAAY,EAC5B,MAAM,CAAC,QAAQ,CAAC,OAAO,CACxB,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,MAAyB;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,KAAK,CACb,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CACjB,MAA2B;QAE3B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YACzD,GAAG,MAAM;YACT,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SACnC,CAAC,CAAA;QAEF,MAAM,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAAA;QAC5C,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAA;QACH,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;QAC/D,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAC3B,eAAe,CAAC,aAAa,EAC7B,MAAM,CAAC,QAAQ,CAAC,OAAO,CACxB,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"WalletLendNamespace.js","sourceRoot":"","sources":["../../../src/lend/namespaces/WalletLendNamespace.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,iBAAiB,EAAsB,MAAM,wBAAwB,CAAA;AAE9E;;;GAGG;AACH,MAAM,OAAO,mBAAoB,SAAQ,iBAAiB;IACxD,YACE,SAAwB,EACP,MAAc;QAE/B,KAAK,CAAC,SAAS,CAAC,CAAA;QAFC,WAAM,GAAN,MAAM,CAAQ;IAGjC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,YAAY,CAChB,MAA8B;QAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAE3D,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC;YAClD,GAAG,MAAM;YACT,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SACnC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC1E,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,MAAyB;QACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAE3D,OAAO,QAAQ,CAAC,WAAW,CACzB,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,KAAK,CACb,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CACjB,MAA2B;QAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAE3D,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC;YACpD,GAAG,MAAM;YACT,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SACnC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC3E,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC9B,WAA4B,EAC5B,OAAyB;QAEzB,MAAM,EAAE,eAAe,EAAE,GAAG,WAAW,CAAA;QAEvC,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAC1B,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,EACpD,OAAO,CACR,CAAA;QACH,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC5D,CAAC;CACF"}