@eth-optimism/actions-sdk 0.0.4 → 0.1.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 (201) hide show
  1. package/dist/actions.d.ts +19 -7
  2. package/dist/actions.d.ts.map +1 -1
  3. package/dist/actions.js +49 -19
  4. package/dist/actions.js.map +1 -1
  5. package/dist/actions.test.js +30 -80
  6. package/dist/actions.test.js.map +1 -1
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/lend/core/LendProvider.d.ts +3 -2
  11. package/dist/lend/core/LendProvider.d.ts.map +1 -1
  12. package/dist/lend/core/LendProvider.js.map +1 -1
  13. package/dist/lend/core/__tests__/LendProvider.test.js +18 -48
  14. package/dist/lend/core/__tests__/LendProvider.test.js.map +1 -1
  15. package/dist/lend/index.d.ts +1 -0
  16. package/dist/lend/index.d.ts.map +1 -1
  17. package/dist/lend/index.js +1 -0
  18. package/dist/lend/index.js.map +1 -1
  19. package/dist/lend/namespaces/ActionsLendNamespace.d.ts +35 -8
  20. package/dist/lend/namespaces/ActionsLendNamespace.d.ts.map +1 -1
  21. package/dist/lend/namespaces/ActionsLendNamespace.js +45 -8
  22. package/dist/lend/namespaces/ActionsLendNamespace.js.map +1 -1
  23. package/dist/lend/namespaces/WalletLendNamespace.d.ts +35 -8
  24. package/dist/lend/namespaces/WalletLendNamespace.d.ts.map +1 -1
  25. package/dist/lend/namespaces/WalletLendNamespace.js +59 -11
  26. package/dist/lend/namespaces/WalletLendNamespace.js.map +1 -1
  27. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js +23 -15
  28. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js.map +1 -1
  29. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js +29 -11
  30. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js.map +1 -1
  31. package/dist/lend/providers/aave/AaveLendProvider.d.ts +82 -0
  32. package/dist/lend/providers/aave/AaveLendProvider.d.ts.map +1 -0
  33. package/dist/lend/providers/aave/AaveLendProvider.js +346 -0
  34. package/dist/lend/providers/aave/AaveLendProvider.js.map +1 -0
  35. package/dist/lend/providers/aave/addresses.d.ts +57 -0
  36. package/dist/lend/providers/aave/addresses.d.ts.map +1 -0
  37. package/dist/lend/providers/aave/addresses.js +83 -0
  38. package/dist/lend/providers/aave/addresses.js.map +1 -0
  39. package/dist/lend/providers/aave/sdk.d.ts +57 -0
  40. package/dist/lend/providers/aave/sdk.d.ts.map +1 -0
  41. package/dist/lend/providers/aave/sdk.js +260 -0
  42. package/dist/lend/providers/aave/sdk.js.map +1 -0
  43. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts +4 -3
  44. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts.map +1 -1
  45. package/dist/lend/providers/morpho/MorphoLendProvider.js +2 -2
  46. package/dist/lend/providers/morpho/MorphoLendProvider.js.map +1 -1
  47. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js +1 -33
  48. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js.map +1 -1
  49. package/dist/lend/providers/morpho/__tests__/sdk.test.js +1 -0
  50. package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +1 -1
  51. package/dist/lend/providers/morpho/sdk.d.ts +4 -3
  52. package/dist/lend/providers/morpho/sdk.d.ts.map +1 -1
  53. package/dist/supported/tokens.d.ts.map +1 -1
  54. package/dist/supported/tokens.js +18 -2
  55. package/dist/supported/tokens.js.map +1 -1
  56. package/dist/test/MockLendProvider.d.ts +5 -4
  57. package/dist/test/MockLendProvider.d.ts.map +1 -1
  58. package/dist/test/MockLendProvider.js +5 -5
  59. package/dist/test/MockLendProvider.js.map +1 -1
  60. package/dist/types/actions.d.ts +26 -2
  61. package/dist/types/actions.d.ts.map +1 -1
  62. package/dist/types/lend/base.d.ts +6 -19
  63. package/dist/types/lend/base.d.ts.map +1 -1
  64. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js +9 -9
  65. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js.map +1 -1
  66. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js +8 -8
  67. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js.map +1 -1
  68. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts +12 -3
  69. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts.map +1 -1
  70. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js +3 -2
  71. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js.map +1 -1
  72. package/dist/wallet/core/providers/hosted/types/index.d.ts +8 -2
  73. package/dist/wallet/core/providers/hosted/types/index.d.ts.map +1 -1
  74. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts +14 -6
  75. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts.map +1 -1
  76. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js +10 -6
  77. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js.map +1 -1
  78. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js +36 -13
  79. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js.map +1 -1
  80. package/dist/wallet/core/wallets/abstract/Wallet.d.ts +19 -7
  81. package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -1
  82. package/dist/wallet/core/wallets/abstract/Wallet.js +9 -7
  83. package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -1
  84. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +9 -3
  85. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -1
  86. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js +4 -4
  87. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -1
  88. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js +1 -1
  89. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js.map +1 -1
  90. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +10 -3
  91. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
  92. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js +5 -3
  93. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
  94. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +4 -3
  95. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
  96. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts.map +1 -1
  97. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js +5 -4
  98. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js.map +1 -1
  99. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +9 -2
  100. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
  101. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +6 -3
  102. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
  103. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +4 -3
  104. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
  105. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts +10 -3
  106. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
  107. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js +5 -4
  108. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js.map +1 -1
  109. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts +8 -2
  110. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
  111. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
  112. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
  113. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts +6 -2
  114. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts.map +1 -1
  115. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js +3 -3
  116. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js.map +1 -1
  117. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js +19 -7
  118. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js.map +1 -1
  119. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +6 -2
  120. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
  121. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js +3 -3
  122. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
  123. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +7 -3
  124. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
  125. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +6 -2
  126. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
  127. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +3 -3
  128. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
  129. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +6 -3
  130. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
  131. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js +6 -6
  132. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js.map +1 -1
  133. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts +6 -2
  134. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts.map +1 -1
  135. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js +3 -3
  136. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js.map +1 -1
  137. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts +6 -0
  138. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts.map +1 -1
  139. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.js.map +1 -1
  140. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts +6 -2
  141. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
  142. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js +3 -3
  143. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js.map +1 -1
  144. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts +6 -2
  145. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
  146. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
  147. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
  148. package/package.json +4 -1
  149. package/src/actions.test.ts +32 -93
  150. package/src/actions.ts +82 -26
  151. package/src/index.ts +1 -2
  152. package/src/lend/core/LendProvider.ts +6 -5
  153. package/src/lend/core/__tests__/LendProvider.test.ts +19 -61
  154. package/src/lend/index.ts +1 -0
  155. package/src/lend/namespaces/ActionsLendNamespace.ts +77 -13
  156. package/src/lend/namespaces/WalletLendNamespace.ts +98 -18
  157. package/src/lend/namespaces/__tests__/ActionsLendNamespace.spec.ts +24 -18
  158. package/src/lend/namespaces/__tests__/WalletLendNamespace.spec.ts +49 -11
  159. package/src/lend/providers/aave/AaveLendProvider.ts +463 -0
  160. package/src/lend/providers/aave/addresses.ts +95 -0
  161. package/src/lend/providers/aave/sdk.ts +369 -0
  162. package/src/lend/providers/morpho/MorphoLendProvider.ts +5 -5
  163. package/src/lend/providers/morpho/__tests__/MorphoLendProvider.test.ts +5 -53
  164. package/src/lend/providers/morpho/__tests__/sdk.test.ts +1 -0
  165. package/src/lend/providers/morpho/sdk.ts +3 -3
  166. package/src/supported/tokens.ts +24 -2
  167. package/src/test/MockLendProvider.ts +9 -9
  168. package/src/types/actions.ts +30 -2
  169. package/src/types/lend/base.ts +6 -22
  170. package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +9 -9
  171. package/src/wallet/core/providers/__tests__/WalletProvider.spec.ts +8 -8
  172. package/src/wallet/core/providers/hosted/abstract/HostedWalletProvider.ts +15 -4
  173. package/src/wallet/core/providers/hosted/types/index.ts +8 -2
  174. package/src/wallet/core/providers/smart/default/DefaultSmartWalletProvider.ts +24 -9
  175. package/src/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.ts +38 -46
  176. package/src/wallet/core/wallets/abstract/Wallet.ts +25 -17
  177. package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +17 -10
  178. package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +4 -7
  179. package/src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts +13 -5
  180. package/src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +4 -4
  181. package/src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts +6 -4
  182. package/src/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +13 -4
  183. package/src/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +4 -4
  184. package/src/wallet/node/wallets/hosted/privy/PrivyWallet.ts +18 -6
  185. package/src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts +16 -5
  186. package/src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts +8 -4
  187. package/src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts +25 -14
  188. package/src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts +8 -4
  189. package/src/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +7 -7
  190. package/src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +8 -4
  191. package/src/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +6 -7
  192. package/src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts +6 -6
  193. package/src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts +12 -5
  194. package/src/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.ts +6 -0
  195. package/src/wallet/react/wallets/hosted/privy/PrivyWallet.ts +12 -5
  196. package/src/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.ts +12 -5
  197. package/dist/constants/config.d.ts +0 -10
  198. package/dist/constants/config.d.ts.map +0 -1
  199. package/dist/constants/config.js +0 -10
  200. package/dist/constants/config.js.map +0 -1
  201. package/src/constants/config.ts +0 -9
@@ -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,42 @@
1
1
  import type { LendProvider } from '../core/LendProvider.js';
2
- import type { BaseLendConfig, LendConfig } from '../../types/lend/index.js';
2
+ import type { LendProviderConfig } from '../../types/actions.js';
3
+ import type { GetLendMarketParams, GetLendMarketsParams, LendMarket } from '../../types/lend/index.js';
3
4
  /**
4
5
  * Actions Lend Namespace
5
6
  * @description Read-only lending operations available on actions.lend
6
7
  */
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[];
8
+ export declare class ActionsLendNamespace {
9
+ protected readonly providers: {
10
+ morpho?: LendProvider<LendProviderConfig>;
11
+ aave?: LendProvider<LendProviderConfig>;
12
+ };
13
+ constructor(providers: {
14
+ morpho?: LendProvider<LendProviderConfig>;
15
+ aave?: LendProvider<LendProviderConfig>;
16
+ });
17
+ /**
18
+ * Route a market to the correct provider
19
+ * @param marketId - Market identifier to route
20
+ * @returns The provider that handles this market
21
+ * @throws Error if no provider is found for the market
22
+ */
23
+ private getProviderForMarket;
24
+ /**
25
+ * Get all markets across all configured providers
26
+ * @param params - Optional filtering parameters
27
+ * @returns Promise resolving to array of markets from all providers
28
+ */
29
+ getMarkets(params?: GetLendMarketsParams): Promise<LendMarket[]>;
30
+ /**
31
+ * Get a specific market by routing to the correct provider
32
+ * @param params - Market identifier
33
+ * @returns Promise resolving to market information
34
+ */
35
+ getMarket(params: GetLendMarketParams): Promise<LendMarket>;
36
+ /**
37
+ * Get supported chain IDs across all providers
38
+ * @returns Array of unique chain IDs supported by any provider
39
+ */
40
+ supportedChainIds(): number[];
14
41
  }
15
42
  //# 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,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAG/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EAEX,MAAM,uBAAuB,CAAA;AAE9B;;;GAGG;AACH,qBAAa,oBAAoB;IAE7B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE;QAC5B,MAAM,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;QACzC,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;KACxC;gBAHkB,SAAS,EAAE;QAC5B,MAAM,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;QACzC,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;KACxC;IAGH;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;;;OAIG;IACG,UAAU,CAAC,MAAM,GAAE,oBAAyB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAY1E;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKjE;;;OAGG;IACH,iBAAiB,IAAI,MAAM,EAAE;CAQ9B"}
@@ -3,15 +3,52 @@
3
3
  * @description Read-only lending operations available on actions.lend
4
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);
6
+ constructor(providers) {
7
+ this.providers = providers;
12
8
  }
13
- get config() {
14
- return this.provider.config;
9
+ /**
10
+ * Route a market to the correct provider
11
+ * @param marketId - Market identifier to route
12
+ * @returns The provider that handles this market
13
+ * @throws Error if no provider is found for the market
14
+ */
15
+ getProviderForMarket(marketId) {
16
+ const allProviders = [this.providers.morpho, this.providers.aave].filter(Boolean);
17
+ for (const provider of allProviders) {
18
+ const market = provider.config.marketAllowlist?.find((m) => m.address.toLowerCase() === marketId.address.toLowerCase() &&
19
+ m.chainId === marketId.chainId);
20
+ if (market)
21
+ return provider;
22
+ }
23
+ throw new Error(`No provider configured for market ${marketId.address} on chain ${marketId.chainId}`);
24
+ }
25
+ /**
26
+ * Get all markets across all configured providers
27
+ * @param params - Optional filtering parameters
28
+ * @returns Promise resolving to array of markets from all providers
29
+ */
30
+ async getMarkets(params = {}) {
31
+ const allProviders = [this.providers.morpho, this.providers.aave].filter(Boolean);
32
+ const results = await Promise.all(allProviders.map((p) => p.getMarkets(params)));
33
+ return results.flat();
34
+ }
35
+ /**
36
+ * Get a specific market by routing to the correct provider
37
+ * @param params - Market identifier
38
+ * @returns Promise resolving to market information
39
+ */
40
+ async getMarket(params) {
41
+ const provider = this.getProviderForMarket(params);
42
+ return provider.getMarket(params);
43
+ }
44
+ /**
45
+ * Get supported chain IDs across all providers
46
+ * @returns Array of unique chain IDs supported by any provider
47
+ */
48
+ supportedChainIds() {
49
+ const allProviders = [this.providers.morpho, this.providers.aave].filter(Boolean);
50
+ const allChains = allProviders.flatMap((p) => p.supportedChainIds());
51
+ return [...new Set(allChains)];
15
52
  }
16
53
  }
17
54
  //# 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":"AAWA;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IAC/B,YACqB,SAGlB;QAHkB,cAAS,GAAT,SAAS,CAG3B;IACA,CAAC;IAEJ;;;;;OAKG;IACK,oBAAoB,CAC1B,QAAsB;QAEtB,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CACtE,OAAO,CACwC,CAAA;QAEjD,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;YACpC,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;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,SAA+B,EAAE;QAChD,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CACtE,OAAO,CACwC,CAAA;QAEjD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAC9C,CAAA;QAED,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,YAAY,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CACtE,OAAO,CACwC,CAAA;QAEjD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAA;QACpE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;IAChC,CAAC;CACF"}
@@ -1,18 +1,45 @@
1
1
  import type { LendProvider } from '../core/LendProvider.js';
2
- import type { BaseLendConfig, ClosePositionParams, GetPositionParams, LendMarketPosition, LendOpenPositionParams, LendTransactionReceipt } from '../../types/lend/index.js';
2
+ import type { LendProviderConfig } from '../../types/actions.js';
3
+ import type { ClosePositionParams, GetLendMarketParams, GetLendMarketsParams, GetPositionParams, LendMarket, LendMarketPosition, LendOpenPositionParams, LendTransactionReceipt } from '../../types/lend/index.js';
3
4
  import type { Wallet } from '../../wallet/core/wallets/abstract/Wallet.js';
4
5
  /**
5
6
  * Wallet Lend Namespace
6
7
  * @description Full lending operations available on wallet.lend
7
8
  */
8
- export declare class WalletLendNamespace<TConfig extends BaseLendConfig = BaseLendConfig> {
9
- protected readonly provider: LendProvider<TConfig>;
9
+ export declare class WalletLendNamespace {
10
+ protected readonly providers: {
11
+ morpho?: LendProvider<LendProviderConfig>;
12
+ aave?: LendProvider<LendProviderConfig>;
13
+ };
10
14
  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[];
15
+ constructor(providers: {
16
+ morpho?: LendProvider<LendProviderConfig>;
17
+ aave?: LendProvider<LendProviderConfig>;
18
+ }, wallet: Wallet);
19
+ /**
20
+ * Route a market to the correct provider
21
+ * @param marketId - Market identifier to route
22
+ * @returns The provider that handles this market
23
+ * @throws Error if no provider is found for the market
24
+ */
25
+ private getProviderForMarket;
26
+ /**
27
+ * Get all markets across all configured providers
28
+ * @param params - Optional filtering parameters
29
+ * @returns Promise resolving to array of markets from all providers
30
+ */
31
+ getMarkets(params?: GetLendMarketsParams): Promise<LendMarket[]>;
32
+ /**
33
+ * Get a specific market by routing to the correct provider
34
+ * @param params - Market identifier
35
+ * @returns Promise resolving to market information
36
+ */
37
+ getMarket(params: GetLendMarketParams): Promise<LendMarket>;
38
+ /**
39
+ * Get supported chain IDs across all providers
40
+ * @returns Array of unique chain IDs supported by any provider
41
+ */
42
+ supportedChainIds(): number[];
16
43
  /**
17
44
  * Open a lending position
18
45
  * @description Signs and sends a lend transaction from the wallet for the given amount and asset
@@ -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":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAG/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EAEV,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAA;AAEtE;;;GAGG;AACH,qBAAa,mBAAmB;IAE5B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE;QAC5B,MAAM,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;QACzC,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;KACxC;IACD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAJJ,SAAS,EAAE;QAC5B,MAAM,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;QACzC,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;KACxC,EACgB,MAAM,EAAE,MAAM;IAGjC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAwB5B;;;;OAIG;IACG,UAAU,CAAC,MAAM,GAAE,oBAAyB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAY1E;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKjE;;;OAGG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAS7B;;;;;;;OAOG;IACG,YAAY,CAChB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IA6BlC;;;;;;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;CAgCnC"}
@@ -3,16 +3,54 @@
3
3
  * @description Full lending operations available on wallet.lend
4
4
  */
5
5
  export class WalletLendNamespace {
6
- constructor(provider, wallet) {
7
- this.provider = provider;
6
+ constructor(providers, wallet) {
7
+ this.providers = providers;
8
8
  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
9
  }
14
- get config() {
15
- return this.provider.config;
10
+ /**
11
+ * Route a market to the correct provider
12
+ * @param marketId - Market identifier to route
13
+ * @returns The provider that handles this market
14
+ * @throws Error if no provider is found for the market
15
+ */
16
+ getProviderForMarket(marketId) {
17
+ const allProviders = [this.providers.morpho, this.providers.aave].filter(Boolean);
18
+ for (const provider of allProviders) {
19
+ const market = provider.config.marketAllowlist?.find((m) => m.address.toLowerCase() === marketId.address.toLowerCase() &&
20
+ m.chainId === marketId.chainId);
21
+ if (market) {
22
+ return provider;
23
+ }
24
+ }
25
+ throw new Error(`No provider configured for market ${marketId.address} on chain ${marketId.chainId}`);
26
+ }
27
+ /**
28
+ * Get all markets across all configured providers
29
+ * @param params - Optional filtering parameters
30
+ * @returns Promise resolving to array of markets from all providers
31
+ */
32
+ async getMarkets(params = {}) {
33
+ const allProviders = [this.providers.morpho, this.providers.aave].filter(Boolean);
34
+ const results = await Promise.all(allProviders.map((p) => p.getMarkets(params)));
35
+ return results.flat();
36
+ }
37
+ /**
38
+ * Get a specific market by routing to the correct provider
39
+ * @param params - Market identifier
40
+ * @returns Promise resolving to market information
41
+ */
42
+ async getMarket(params) {
43
+ const provider = this.getProviderForMarket(params);
44
+ return provider.getMarket(params);
45
+ }
46
+ /**
47
+ * Get supported chain IDs across all providers
48
+ * @returns Array of unique chain IDs supported by any provider
49
+ */
50
+ supportedChainIds() {
51
+ const allProviders = [this.providers.morpho, this.providers.aave].filter(Boolean);
52
+ const allChains = allProviders.flatMap((p) => p.supportedChainIds());
53
+ return [...new Set(allChains)];
16
54
  }
17
55
  /**
18
56
  * Open a lending position
@@ -23,7 +61,8 @@ export class WalletLendNamespace {
23
61
  * @returns Promise resolving to transaction receipt
24
62
  */
25
63
  async openPosition(params) {
26
- const lendTransaction = await this.provider.openPosition({
64
+ const provider = this.getProviderForMarket(params.marketId);
65
+ const lendTransaction = await provider.openPosition({
27
66
  ...params,
28
67
  walletAddress: this.wallet.address,
29
68
  });
@@ -47,7 +86,11 @@ export class WalletLendNamespace {
47
86
  * @returns Promise resolving to position information
48
87
  */
49
88
  async getPosition(params) {
50
- return this.provider.getPosition(this.wallet.address, params.marketId, params.asset);
89
+ if (!params.marketId) {
90
+ throw new Error('marketId is required');
91
+ }
92
+ const provider = this.getProviderForMarket(params.marketId);
93
+ return provider.getPosition(this.wallet.address, params.marketId, params.asset);
51
94
  }
52
95
  /**
53
96
  * Close a lending position (withdraw from market)
@@ -57,7 +100,8 @@ export class WalletLendNamespace {
57
100
  * @returns Promise resolving to transaction receipt
58
101
  */
59
102
  async closePosition(params) {
60
- const closeTransaction = await this.provider.closePosition({
103
+ const provider = this.getProviderForMarket(params.marketId);
104
+ const closeTransaction = await provider.closePosition({
61
105
  ...params,
62
106
  walletAddress: this.wallet.address,
63
107
  });
@@ -65,6 +109,10 @@ export class WalletLendNamespace {
65
109
  if (!transactionData) {
66
110
  throw new Error('No transaction data returned from close position provider');
67
111
  }
112
+ // If both approval and closePosition are present, batch them
113
+ if (transactionData.approval && transactionData.closePosition) {
114
+ return await this.wallet.sendBatch([transactionData.approval, transactionData.closePosition], params.marketId.chainId);
115
+ }
68
116
  if (!transactionData.closePosition) {
69
117
  throw new Error('No closePosition transaction data returned');
70
118
  }
@@ -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":"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"}
@@ -4,38 +4,46 @@ import { createMockLendProvider } from '../../../test/MockLendProvider.js';
4
4
  import { getRandomAddress } from '../../../test/utils.js';
5
5
  describe('ActionsLendNamespace', () => {
6
6
  let mockProvider;
7
+ let mockMarketId;
7
8
  beforeEach(() => {
8
- mockProvider = createMockLendProvider();
9
+ mockMarketId = { address: getRandomAddress(), chainId: 130 };
10
+ mockProvider = createMockLendProvider({
11
+ marketAllowlist: [
12
+ {
13
+ address: mockMarketId.address,
14
+ chainId: mockMarketId.chainId,
15
+ name: 'Test Market',
16
+ asset: {
17
+ address: { 130: getRandomAddress() },
18
+ metadata: { symbol: 'USDC', name: 'USD Coin', decimals: 6 },
19
+ type: 'erc20',
20
+ },
21
+ lendProvider: 'morpho',
22
+ },
23
+ ],
24
+ });
9
25
  });
10
26
  it('should create an instance with a lend provider', () => {
11
- const namespace = new ActionsLendNamespace(mockProvider);
27
+ const namespace = new ActionsLendNamespace({ morpho: mockProvider });
12
28
  expect(namespace).toBeInstanceOf(ActionsLendNamespace);
13
29
  });
14
30
  it('should delegate getMarkets to provider', async () => {
15
- const namespace = new ActionsLendNamespace(mockProvider);
31
+ const namespace = new ActionsLendNamespace({ morpho: mockProvider });
16
32
  const spy = vi.spyOn(mockProvider, 'getMarkets');
17
33
  await namespace.getMarkets();
18
34
  expect(spy).toHaveBeenCalledOnce();
19
35
  });
20
36
  it('should delegate getMarket to provider with correct parameters', async () => {
21
- const namespace = new ActionsLendNamespace(mockProvider);
22
- const marketId = getRandomAddress();
23
- const chainId = 130;
37
+ const namespace = new ActionsLendNamespace({ morpho: mockProvider });
24
38
  const spy = vi.spyOn(mockProvider, 'getMarket');
25
- await namespace.getMarket({ address: marketId, chainId });
26
- expect(spy).toHaveBeenCalledWith({ address: marketId, chainId });
39
+ await namespace.getMarket(mockMarketId);
40
+ expect(spy).toHaveBeenCalledWith(mockMarketId);
27
41
  });
28
42
  it('should delegate supportedChainIds to provider', () => {
29
- const namespace = new ActionsLendNamespace(mockProvider);
43
+ const namespace = new ActionsLendNamespace({ morpho: mockProvider });
30
44
  const spy = vi.spyOn(mockProvider, 'supportedChainIds');
31
45
  namespace.supportedChainIds();
32
46
  expect(spy).toHaveBeenCalledOnce();
33
47
  });
34
- it('should provide access to provider config', () => {
35
- const namespace = new ActionsLendNamespace(mockProvider);
36
- const config = namespace.config;
37
- expect(config).toBeDefined();
38
- expect(config.defaultSlippage || 50).toBe(50);
39
- });
40
48
  });
41
49
  //# sourceMappingURL=ActionsLendNamespace.spec.js.map