@eth-optimism/actions-sdk 0.0.3 → 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 (243) 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 +51 -81
  6. package/dist/actions.test.js.map +1 -1
  7. package/dist/constants/assets.d.ts.map +1 -1
  8. package/dist/constants/assets.js +2 -1
  9. package/dist/constants/assets.js.map +1 -1
  10. package/dist/constants/supportedChains.d.ts +1 -1
  11. package/dist/constants/supportedChains.d.ts.map +1 -1
  12. package/dist/constants/supportedChains.js +2 -1
  13. package/dist/constants/supportedChains.js.map +1 -1
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/lend/core/LendProvider.d.ts +3 -2
  18. package/dist/lend/core/LendProvider.d.ts.map +1 -1
  19. package/dist/lend/core/LendProvider.js.map +1 -1
  20. package/dist/lend/core/__tests__/LendProvider.test.js +18 -48
  21. package/dist/lend/core/__tests__/LendProvider.test.js.map +1 -1
  22. package/dist/lend/index.d.ts +1 -0
  23. package/dist/lend/index.d.ts.map +1 -1
  24. package/dist/lend/index.js +1 -0
  25. package/dist/lend/index.js.map +1 -1
  26. package/dist/lend/namespaces/ActionsLendNamespace.d.ts +35 -8
  27. package/dist/lend/namespaces/ActionsLendNamespace.d.ts.map +1 -1
  28. package/dist/lend/namespaces/ActionsLendNamespace.js +45 -8
  29. package/dist/lend/namespaces/ActionsLendNamespace.js.map +1 -1
  30. package/dist/lend/namespaces/WalletLendNamespace.d.ts +43 -10
  31. package/dist/lend/namespaces/WalletLendNamespace.d.ts.map +1 -1
  32. package/dist/lend/namespaces/WalletLendNamespace.js +67 -13
  33. package/dist/lend/namespaces/WalletLendNamespace.js.map +1 -1
  34. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js +23 -15
  35. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js.map +1 -1
  36. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js +29 -11
  37. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js.map +1 -1
  38. package/dist/lend/providers/aave/AaveLendProvider.d.ts +82 -0
  39. package/dist/lend/providers/aave/AaveLendProvider.d.ts.map +1 -0
  40. package/dist/lend/providers/aave/AaveLendProvider.js +346 -0
  41. package/dist/lend/providers/aave/AaveLendProvider.js.map +1 -0
  42. package/dist/lend/providers/aave/addresses.d.ts +57 -0
  43. package/dist/lend/providers/aave/addresses.d.ts.map +1 -0
  44. package/dist/lend/providers/aave/addresses.js +83 -0
  45. package/dist/lend/providers/aave/addresses.js.map +1 -0
  46. package/dist/lend/providers/aave/sdk.d.ts +57 -0
  47. package/dist/lend/providers/aave/sdk.d.ts.map +1 -0
  48. package/dist/lend/providers/aave/sdk.js +260 -0
  49. package/dist/lend/providers/aave/sdk.js.map +1 -0
  50. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts +4 -3
  51. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts.map +1 -1
  52. package/dist/lend/providers/morpho/MorphoLendProvider.js +2 -2
  53. package/dist/lend/providers/morpho/MorphoLendProvider.js.map +1 -1
  54. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js +1 -33
  55. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js.map +1 -1
  56. package/dist/lend/providers/morpho/__tests__/sdk.test.js +1 -0
  57. package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +1 -1
  58. package/dist/lend/providers/morpho/sdk.d.ts +4 -3
  59. package/dist/lend/providers/morpho/sdk.d.ts.map +1 -1
  60. package/dist/lend/providers/morpho/sdk.js +0 -1
  61. package/dist/lend/providers/morpho/sdk.js.map +1 -1
  62. package/dist/services/ChainManager.d.ts +1 -1
  63. package/dist/supported/tokens.d.ts.map +1 -1
  64. package/dist/supported/tokens.js +18 -2
  65. package/dist/supported/tokens.js.map +1 -1
  66. package/dist/test/MockLendProvider.d.ts +5 -4
  67. package/dist/test/MockLendProvider.d.ts.map +1 -1
  68. package/dist/test/MockLendProvider.js +5 -5
  69. package/dist/test/MockLendProvider.js.map +1 -1
  70. package/dist/test/MockPrivyClient.d.ts +10 -49
  71. package/dist/test/MockPrivyClient.d.ts.map +1 -1
  72. package/dist/test/MockPrivyClient.js +13 -72
  73. package/dist/test/MockPrivyClient.js.map +1 -1
  74. package/dist/types/actions.d.ts +26 -2
  75. package/dist/types/actions.d.ts.map +1 -1
  76. package/dist/types/lend/base.d.ts +6 -19
  77. package/dist/types/lend/base.d.ts.map +1 -1
  78. package/dist/wallet/core/namespace/WalletNamespace.d.ts +13 -13
  79. package/dist/wallet/core/namespace/WalletNamespace.d.ts.map +1 -1
  80. package/dist/wallet/core/namespace/WalletNamespace.js +13 -13
  81. package/dist/wallet/core/namespace/WalletNamespace.js.map +1 -1
  82. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js +64 -42
  83. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js.map +1 -1
  84. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js +51 -23
  85. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js.map +1 -1
  86. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts +12 -3
  87. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts.map +1 -1
  88. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js +3 -2
  89. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js.map +1 -1
  90. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js +14 -4
  91. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js.map +1 -1
  92. package/dist/wallet/core/providers/hosted/types/index.d.ts +8 -2
  93. package/dist/wallet/core/providers/hosted/types/index.d.ts.map +1 -1
  94. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts +14 -6
  95. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts.map +1 -1
  96. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js +10 -6
  97. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js.map +1 -1
  98. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js +36 -13
  99. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js.map +1 -1
  100. package/dist/wallet/core/wallets/abstract/Wallet.d.ts +19 -7
  101. package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -1
  102. package/dist/wallet/core/wallets/abstract/Wallet.js +9 -7
  103. package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -1
  104. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +9 -3
  105. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -1
  106. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js +4 -4
  107. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -1
  108. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js +1 -1
  109. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js.map +1 -1
  110. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +24 -4
  111. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
  112. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js +21 -6
  113. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
  114. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +34 -14
  115. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
  116. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts.map +1 -1
  117. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js +10 -4
  118. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js.map +1 -1
  119. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js +9 -1
  120. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js.map +1 -1
  121. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +9 -2
  122. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
  123. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +6 -3
  124. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
  125. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +4 -3
  126. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
  127. package/dist/wallet/node/providers/hosted/types/index.d.ts +6 -1
  128. package/dist/wallet/node/providers/hosted/types/index.d.ts.map +1 -1
  129. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts +19 -7
  130. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
  131. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js +13 -7
  132. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js.map +1 -1
  133. package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js +26 -28
  134. package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js.map +1 -1
  135. package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.js +12 -12
  136. package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.js.map +1 -1
  137. package/dist/wallet/node/wallets/hosted/privy/utils/createSigner.d.ts +6 -2
  138. package/dist/wallet/node/wallets/hosted/privy/utils/createSigner.d.ts.map +1 -1
  139. package/dist/wallet/node/wallets/hosted/privy/utils/createSigner.js +10 -7
  140. package/dist/wallet/node/wallets/hosted/privy/utils/createSigner.js.map +1 -1
  141. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts +8 -2
  142. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
  143. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
  144. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
  145. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts +6 -2
  146. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts.map +1 -1
  147. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js +3 -3
  148. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js.map +1 -1
  149. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js +19 -7
  150. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js.map +1 -1
  151. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +6 -2
  152. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
  153. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js +3 -3
  154. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
  155. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +7 -3
  156. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
  157. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +6 -2
  158. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
  159. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +3 -3
  160. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
  161. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +6 -3
  162. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
  163. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js +6 -6
  164. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js.map +1 -1
  165. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts +6 -2
  166. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts.map +1 -1
  167. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js +3 -3
  168. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js.map +1 -1
  169. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts +6 -0
  170. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts.map +1 -1
  171. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.js.map +1 -1
  172. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts +6 -2
  173. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
  174. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js +3 -3
  175. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js.map +1 -1
  176. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts +6 -2
  177. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
  178. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
  179. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
  180. package/package.json +5 -2
  181. package/src/actions.test.ts +55 -96
  182. package/src/actions.ts +82 -26
  183. package/src/constants/assets.ts +8 -1
  184. package/src/constants/supportedChains.ts +8 -1
  185. package/src/index.ts +1 -2
  186. package/src/lend/core/LendProvider.ts +6 -5
  187. package/src/lend/core/__tests__/LendProvider.test.ts +19 -61
  188. package/src/lend/index.ts +1 -0
  189. package/src/lend/namespaces/ActionsLendNamespace.ts +77 -13
  190. package/src/lend/namespaces/WalletLendNamespace.ts +106 -20
  191. package/src/lend/namespaces/__tests__/ActionsLendNamespace.spec.ts +24 -18
  192. package/src/lend/namespaces/__tests__/WalletLendNamespace.spec.ts +49 -11
  193. package/src/lend/providers/aave/AaveLendProvider.ts +463 -0
  194. package/src/lend/providers/aave/addresses.ts +95 -0
  195. package/src/lend/providers/aave/sdk.ts +369 -0
  196. package/src/lend/providers/morpho/MorphoLendProvider.ts +5 -5
  197. package/src/lend/providers/morpho/__tests__/MorphoLendProvider.test.ts +5 -53
  198. package/src/lend/providers/morpho/__tests__/sdk.test.ts +1 -0
  199. package/src/lend/providers/morpho/sdk.ts +3 -4
  200. package/src/supported/tokens.ts +24 -2
  201. package/src/test/MockLendProvider.ts +9 -9
  202. package/src/test/MockPrivyClient.ts +24 -91
  203. package/src/types/actions.ts +30 -2
  204. package/src/types/lend/base.ts +6 -22
  205. package/src/wallet/core/namespace/WalletNamespace.ts +13 -13
  206. package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +69 -70
  207. package/src/wallet/core/providers/__tests__/WalletProvider.spec.ts +55 -47
  208. package/src/wallet/core/providers/hosted/abstract/HostedWalletProvider.ts +15 -4
  209. package/src/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.ts +20 -7
  210. package/src/wallet/core/providers/hosted/types/index.ts +8 -2
  211. package/src/wallet/core/providers/smart/default/DefaultSmartWalletProvider.ts +24 -9
  212. package/src/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.ts +38 -46
  213. package/src/wallet/core/wallets/abstract/Wallet.ts +25 -17
  214. package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +17 -10
  215. package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +4 -7
  216. package/src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts +37 -11
  217. package/src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +43 -24
  218. package/src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts +10 -7
  219. package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +17 -2
  220. package/src/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +13 -4
  221. package/src/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +4 -4
  222. package/src/wallet/node/providers/hosted/types/index.ts +9 -2
  223. package/src/wallet/node/wallets/hosted/privy/PrivyWallet.ts +31 -11
  224. package/src/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts +35 -40
  225. package/src/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts +18 -14
  226. package/src/wallet/node/wallets/hosted/privy/utils/createSigner.ts +11 -9
  227. package/src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts +16 -5
  228. package/src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts +8 -4
  229. package/src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts +25 -14
  230. package/src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts +8 -4
  231. package/src/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +7 -7
  232. package/src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +8 -4
  233. package/src/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +6 -7
  234. package/src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts +6 -6
  235. package/src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts +12 -5
  236. package/src/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.ts +6 -0
  237. package/src/wallet/react/wallets/hosted/privy/PrivyWallet.ts +12 -5
  238. package/src/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.ts +12 -5
  239. package/dist/constants/config.d.ts +0 -10
  240. package/dist/constants/config.d.ts.map +0 -1
  241. package/dist/constants/config.js +0 -10
  242. package/dist/constants/config.js.map +0 -1
  243. package/src/constants/config.ts +0 -9
@@ -3,8 +3,12 @@ import { unichain } from 'viem/chains'
3
3
  import { describe, expect, it } from 'vitest'
4
4
 
5
5
  import { Actions } from '@/actions.js'
6
- import { createMockPrivyClient } from '@/test/MockPrivyClient.js'
7
- import type { LendMarketConfig, MorphoLendConfig } from '@/types/lend/index.js'
6
+ import {
7
+ createMockPrivyClient,
8
+ getMockAuthorizationContext,
9
+ } from '@/test/MockPrivyClient.js'
10
+ import type { LendProviderConfig } from '@/types/actions.js'
11
+ import type { LendMarketConfig } from '@/types/lend/index.js'
8
12
  import { externalTest } from '@/utils/test.js'
9
13
  import { HostedWalletProviderRegistry } from '@/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js'
10
14
  import type { HostedWalletProvidersSchema } from '@/wallet/core/providers/hosted/types/index.js'
@@ -36,10 +40,11 @@ describe('Actions SDK', () => {
36
40
  return Boolean((options as NodeOptionsMap['privy'])?.privyClient)
37
41
  },
38
42
  create({ chainManager }, options) {
39
- return new PrivyHostedWalletProvider(
40
- options.privyClient,
43
+ return new PrivyHostedWalletProvider({
44
+ privyClient: options.privyClient,
41
45
  chainManager,
42
- )
46
+ authorizationContext: options.authorizationContext,
47
+ })
43
48
  },
44
49
  })
45
50
  }
@@ -47,7 +52,7 @@ describe('Actions SDK', () => {
47
52
 
48
53
  describe('Configuration', () => {
49
54
  describe('Morpho Provider Configuration', () => {
50
- it('should create Morpho provider when provider is set to morpho', () => {
55
+ it('should create Morpho provider when morpho config is provided', () => {
51
56
  const actions = new Actions<
52
57
  TestWalletProvider['providerTypes'],
53
58
  TestWalletProvider,
@@ -56,7 +61,7 @@ describe('Actions SDK', () => {
56
61
  {
57
62
  chains: [{ chainId: unichain.id }],
58
63
  lend: {
59
- provider: 'morpho',
64
+ morpho: {},
60
65
  },
61
66
  wallet: {
62
67
  hostedWalletConfig: {
@@ -67,6 +72,7 @@ describe('Actions SDK', () => {
67
72
  'test-id',
68
73
  'test-secret',
69
74
  ),
75
+ authorizationContext: getMockAuthorizationContext(),
70
76
  },
71
77
  },
72
78
  },
@@ -85,8 +91,7 @@ describe('Actions SDK', () => {
85
91
  expect(actions.lend.supportedChainIds()).toContain(130) // Unichain
86
92
  })
87
93
 
88
- it('should create Morpho provider with custom default slippage', () => {
89
- const customSlippage = 150
94
+ it('should create Morpho provider with empty config', () => {
90
95
  const actions = new Actions<
91
96
  TestWalletProvider['providerTypes'],
92
97
  TestWalletProvider,
@@ -95,8 +100,7 @@ describe('Actions SDK', () => {
95
100
  {
96
101
  chains: [{ chainId: unichain.id }],
97
102
  lend: {
98
- provider: 'morpho',
99
- defaultSlippage: customSlippage,
103
+ morpho: {},
100
104
  },
101
105
  wallet: {
102
106
  hostedWalletConfig: {
@@ -107,6 +111,7 @@ describe('Actions SDK', () => {
107
111
  'test-id',
108
112
  'test-secret',
109
113
  ),
114
+ authorizationContext: getMockAuthorizationContext(),
110
115
  },
111
116
  },
112
117
  },
@@ -122,8 +127,7 @@ describe('Actions SDK', () => {
122
127
  )
123
128
 
124
129
  expect(actions.lend).toBeDefined()
125
- expect(actions.lend.config.defaultSlippage).toBe(customSlippage)
126
- expect(actions.lend.config.provider).toBe('morpho')
130
+ expect(actions.lend.supportedChainIds()).toContain(130) // Unichain
127
131
  })
128
132
 
129
133
  it('should create Morpho provider with market allowlist', () => {
@@ -154,8 +158,9 @@ describe('Actions SDK', () => {
154
158
  {
155
159
  chains: [{ chainId: unichain.id }],
156
160
  lend: {
157
- provider: 'morpho',
158
- marketAllowlist: [mockMarket],
161
+ morpho: {
162
+ marketAllowlist: [mockMarket],
163
+ },
159
164
  },
160
165
  wallet: {
161
166
  hostedWalletConfig: {
@@ -166,6 +171,7 @@ describe('Actions SDK', () => {
166
171
  'test-id',
167
172
  'test-secret',
168
173
  ),
174
+ authorizationContext: getMockAuthorizationContext(),
169
175
  },
170
176
  },
171
177
  },
@@ -181,11 +187,9 @@ describe('Actions SDK', () => {
181
187
  )
182
188
 
183
189
  expect(actions.lend).toBeDefined()
184
- const allowlist = actions.lend.config.marketAllowlist
185
- expect(allowlist).toBeDefined()
186
- expect(allowlist).toHaveLength(1)
187
- expect(allowlist![0].address).toBe(mockMarket.address)
188
- expect(allowlist![0].name).toBe(mockMarket.name)
190
+ // Verify Morpho provider is created with market allowlist
191
+ const morphoProvider = actions['lendProviders']['morpho']
192
+ expect(morphoProvider).toBeDefined()
189
193
  })
190
194
 
191
195
  it('should create Morpho provider with multiple markets in allowlist', () => {
@@ -236,8 +240,9 @@ describe('Actions SDK', () => {
236
240
  {
237
241
  chains: [{ chainId: unichain.id }],
238
242
  lend: {
239
- provider: 'morpho',
240
- marketAllowlist: mockMarkets,
243
+ morpho: {
244
+ marketAllowlist: mockMarkets,
245
+ },
241
246
  },
242
247
  wallet: {
243
248
  hostedWalletConfig: {
@@ -248,6 +253,7 @@ describe('Actions SDK', () => {
248
253
  'test-id',
249
254
  'test-secret',
250
255
  ),
256
+ authorizationContext: getMockAuthorizationContext(),
251
257
  },
252
258
  },
253
259
  },
@@ -263,48 +269,9 @@ describe('Actions SDK', () => {
263
269
  )
264
270
 
265
271
  expect(actions.lend).toBeDefined()
266
- const allowlist = actions.lend.config.marketAllowlist
267
- expect(allowlist).toBeDefined()
268
- expect(allowlist).toHaveLength(2)
269
- expect(allowlist![0].name).toBe('Gauntlet USDC')
270
- expect(allowlist![1].name).toBe('Test WETH Market')
271
- })
272
-
273
- it('should throw error for unsupported lending provider', () => {
274
- expect(() => {
275
- new Actions<
276
- TestWalletProvider['providerTypes'],
277
- TestWalletProvider,
278
- 'privy'
279
- >(
280
- {
281
- chains: [{ chainId: unichain.id }],
282
- lend: {
283
- provider: 'invalid' as any,
284
- },
285
- wallet: {
286
- hostedWalletConfig: {
287
- provider: {
288
- type: 'privy',
289
- config: {
290
- privyClient: createMockPrivyClient(
291
- 'test-id',
292
- 'test-secret',
293
- ),
294
- },
295
- },
296
- },
297
- smartWalletConfig: {
298
- provider: { type: 'default' },
299
- },
300
- },
301
- },
302
- {
303
- hostedWalletProviderRegistry:
304
- new TestHostedWalletProviderRegistry(),
305
- },
306
- )
307
- }).toThrow('Unsupported lending provider: invalid')
272
+ // Verify Morpho provider is created with multiple markets
273
+ const morphoProvider = actions['lendProviders']['morpho']
274
+ expect(morphoProvider).toBeDefined()
308
275
  })
309
276
 
310
277
  it('should work without lend configuration', () => {
@@ -324,6 +291,7 @@ describe('Actions SDK', () => {
324
291
  'test-id',
325
292
  'test-secret',
326
293
  ),
294
+ authorizationContext: getMockAuthorizationContext(),
327
295
  },
328
296
  },
329
297
  },
@@ -338,16 +306,14 @@ describe('Actions SDK', () => {
338
306
  },
339
307
  )
340
308
 
341
- expect(actions['lendProvider']).toBeUndefined()
309
+ expect(actions['lendProviders']).toEqual({})
342
310
  expect(() => actions.lend).toThrow('Lend provider not configured')
343
311
  })
344
312
  })
345
313
 
346
314
  describe('Lending Configuration Types', () => {
347
315
  it('should accept valid MorphoLendConfig', () => {
348
- const config: MorphoLendConfig = {
349
- provider: 'morpho',
350
- defaultSlippage: 100,
316
+ const morphoConfig: LendProviderConfig = {
351
317
  marketAllowlist: [],
352
318
  }
353
319
 
@@ -359,7 +325,7 @@ describe('Actions SDK', () => {
359
325
  >(
360
326
  {
361
327
  chains: [{ chainId: unichain.id }],
362
- lend: config,
328
+ lend: { morpho: morphoConfig },
363
329
  wallet: {
364
330
  hostedWalletConfig: {
365
331
  provider: {
@@ -369,6 +335,7 @@ describe('Actions SDK', () => {
369
335
  'test-id',
370
336
  'test-secret',
371
337
  ),
338
+ authorizationContext: getMockAuthorizationContext(),
372
339
  },
373
340
  },
374
341
  },
@@ -386,9 +353,7 @@ describe('Actions SDK', () => {
386
353
  })
387
354
 
388
355
  it('should accept minimal MorphoLendConfig', () => {
389
- const config: MorphoLendConfig = {
390
- provider: 'morpho',
391
- }
356
+ const morphoConfig: LendProviderConfig = {}
392
357
 
393
358
  expect(() => {
394
359
  new Actions<
@@ -398,7 +363,7 @@ describe('Actions SDK', () => {
398
363
  >(
399
364
  {
400
365
  chains: [{ chainId: unichain.id }],
401
- lend: config,
366
+ lend: { morpho: morphoConfig },
402
367
  wallet: {
403
368
  hostedWalletConfig: {
404
369
  provider: {
@@ -408,6 +373,7 @@ describe('Actions SDK', () => {
408
373
  'test-id',
409
374
  'test-secret',
410
375
  ),
376
+ authorizationContext: getMockAuthorizationContext(),
411
377
  },
412
378
  },
413
379
  },
@@ -438,7 +404,7 @@ describe('Actions SDK', () => {
438
404
  { chainId: 84532 }, // Base Sepolia
439
405
  ],
440
406
  lend: {
441
- provider: 'morpho',
407
+ morpho: {},
442
408
  },
443
409
  wallet: {
444
410
  hostedWalletConfig: {
@@ -449,6 +415,7 @@ describe('Actions SDK', () => {
449
415
  'test-id',
450
416
  'test-secret',
451
417
  ),
418
+ authorizationContext: getMockAuthorizationContext(),
452
419
  },
453
420
  },
454
421
  },
@@ -480,8 +447,7 @@ describe('Actions SDK', () => {
480
447
  {
481
448
  chains: [{ chainId: unichain.id }],
482
449
  lend: {
483
- provider: 'morpho',
484
- defaultSlippage: 50,
450
+ morpho: {},
485
451
  },
486
452
  wallet: {
487
453
  hostedWalletConfig: {
@@ -492,6 +458,7 @@ describe('Actions SDK', () => {
492
458
  'test-app-id',
493
459
  'test-app-secret',
494
460
  ),
461
+ authorizationContext: getMockAuthorizationContext(),
495
462
  },
496
463
  },
497
464
  },
@@ -532,10 +499,7 @@ describe('Actions SDK', () => {
532
499
  chainId: unichain.id,
533
500
  },
534
501
  ],
535
- lend: {
536
- provider: 'morpho',
537
- defaultSlippage: 50,
538
- },
502
+ lend: {},
539
503
  wallet: {
540
504
  hostedWalletConfig: {
541
505
  provider: {
@@ -545,6 +509,7 @@ describe('Actions SDK', () => {
545
509
  'test-app-id',
546
510
  'test-app-secret',
547
511
  ),
512
+ authorizationContext: getMockAuthorizationContext(),
548
513
  },
549
514
  },
550
515
  },
@@ -586,10 +551,7 @@ describe('Actions SDK', () => {
586
551
  chainId: unichain.id,
587
552
  },
588
553
  ],
589
- lend: {
590
- provider: 'morpho',
591
- defaultSlippage: 50,
592
- },
554
+ lend: {},
593
555
  wallet: {
594
556
  hostedWalletConfig: {
595
557
  provider: {
@@ -599,6 +561,7 @@ describe('Actions SDK', () => {
599
561
  'test-app-id',
600
562
  'test-app-secret',
601
563
  ),
564
+ authorizationContext: getMockAuthorizationContext(),
602
565
  },
603
566
  },
604
567
  },
@@ -673,10 +636,7 @@ describe('Actions SDK', () => {
673
636
  chainId: unichain.id,
674
637
  },
675
638
  ],
676
- lend: {
677
- provider: 'morpho',
678
- defaultSlippage: 50,
679
- },
639
+ lend: {},
680
640
  wallet: {
681
641
  hostedWalletConfig: {
682
642
  provider: {
@@ -686,6 +646,7 @@ describe('Actions SDK', () => {
686
646
  'test-app-id',
687
647
  'test-app-secret',
688
648
  ),
649
+ authorizationContext: getMockAuthorizationContext(),
689
650
  },
690
651
  },
691
652
  },
@@ -735,10 +696,7 @@ describe('Actions SDK', () => {
735
696
  chainId: unichain.id,
736
697
  },
737
698
  ],
738
- lend: {
739
- provider: 'morpho',
740
- defaultSlippage: 50,
741
- },
699
+ lend: {},
742
700
  wallet: {
743
701
  hostedWalletConfig: {
744
702
  provider: {
@@ -748,6 +706,7 @@ describe('Actions SDK', () => {
748
706
  'test-app-id',
749
707
  'test-app-secret',
750
708
  ),
709
+ authorizationContext: getMockAuthorizationContext(),
751
710
  },
752
711
  },
753
712
  },
@@ -789,8 +748,7 @@ describe('Actions SDK', () => {
789
748
  },
790
749
  ],
791
750
  lend: {
792
- provider: 'morpho',
793
- defaultSlippage: 50,
751
+ morpho: {},
794
752
  },
795
753
  wallet: {
796
754
  hostedWalletConfig: {
@@ -801,6 +759,7 @@ describe('Actions SDK', () => {
801
759
  'test-app-id',
802
760
  'test-app-secret',
803
761
  ),
762
+ authorizationContext: getMockAuthorizationContext(),
804
763
  },
805
764
  },
806
765
  },
@@ -840,8 +799,7 @@ describe('Actions SDK', () => {
840
799
  },
841
800
  ],
842
801
  lend: {
843
- provider: 'morpho',
844
- defaultSlippage: 50,
802
+ morpho: {},
845
803
  },
846
804
  wallet: {
847
805
  hostedWalletConfig: {
@@ -852,6 +810,7 @@ describe('Actions SDK', () => {
852
810
  'test-app-id',
853
811
  'test-app-secret',
854
812
  ),
813
+ authorizationContext: getMockAuthorizationContext(),
855
814
  },
856
815
  },
857
816
  },
package/src/actions.ts CHANGED
@@ -1,9 +1,14 @@
1
- import { DEFAULT_ACTIONS_CONFIG } from '@/constants/config.js'
2
- import { MorphoLendProvider } from '@/lend/index.js'
1
+ import type { LendProvider } from '@/lend/index.js'
2
+ import { AaveLendProvider, MorphoLendProvider } from '@/lend/index.js'
3
3
  import { ActionsLendNamespace } from '@/lend/namespaces/ActionsLendNamespace.js'
4
4
  import { ChainManager } from '@/services/ChainManager.js'
5
- import type { ActionsConfig } from '@/types/actions.js'
6
- import type { LendConfig, LendProvider } from '@/types/lend/index.js'
5
+ import { SUPPORTED_TOKENS } from '@/supported/tokens.js'
6
+ import type {
7
+ ActionsConfig,
8
+ AssetsConfig,
9
+ LendProviderConfig,
10
+ } from '@/types/actions.js'
11
+ import type { Asset } from '@/types/asset.js'
7
12
  import { WalletNamespace } from '@/wallet/core/namespace/WalletNamespace.js'
8
13
  import type { HostedWalletProvider } from '@/wallet/core/providers/hosted/abstract/HostedWalletProvider.js'
9
14
  import type { HostedWalletProviderRegistry } from '@/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js'
@@ -38,8 +43,12 @@ export class Actions<
38
43
  SmartWalletProvider
39
44
  >
40
45
  private chainManager: ChainManager
41
- private _lend?: ActionsLendNamespace<LendConfig>
42
- private _lendProvider?: LendProvider<LendConfig>
46
+ private _lend?: ActionsLendNamespace
47
+ private _lendProviders: {
48
+ morpho?: LendProvider<LendProviderConfig>
49
+ aave?: LendProvider<LendProviderConfig>
50
+ } = {}
51
+ private _assetsConfig?: AssetsConfig
43
52
  private hostedWalletProvider!: THostedWalletProvidersSchema['providerInstances'][THostedWalletProviderType]
44
53
  private smartWalletProvider!: SmartWalletProvider
45
54
  private hostedWalletProviderRegistry: HostedWalletProviderRegistry<
@@ -62,24 +71,27 @@ export class Actions<
62
71
  ) {
63
72
  this.chainManager = new ChainManager(config.chains)
64
73
  this.hostedWalletProviderRegistry = deps.hostedWalletProviderRegistry
74
+ this._assetsConfig = config.assets
65
75
 
66
- // Create lending provider if configured
76
+ // Create lending providers if configured
67
77
  if (config.lend) {
68
- if (config.lend.provider === 'morpho') {
69
- this._lendProvider = new MorphoLendProvider(
70
- {
71
- ...config.lend,
72
- defaultSlippage:
73
- config.lend.defaultSlippage ??
74
- DEFAULT_ACTIONS_CONFIG.lend.defaultSlippage,
75
- },
78
+ if (config.lend.morpho) {
79
+ this._lendProviders.morpho = new MorphoLendProvider(
80
+ config.lend.morpho,
76
81
  this.chainManager,
77
82
  )
83
+ }
84
+
85
+ if (config.lend.aave) {
86
+ this._lendProviders.aave = new AaveLendProvider(
87
+ config.lend.aave,
88
+ this.chainManager,
89
+ )
90
+ }
78
91
 
79
- // Create read-only lend namespace
80
- this._lend = new ActionsLendNamespace(this._lendProvider!)
81
- } else {
82
- throw new Error(`Unsupported lending provider: ${config.lend.provider}`)
92
+ // Create lend namespace if any providers are configured
93
+ if (this._lendProviders.morpho || this._lendProviders.aave) {
94
+ this._lend = new ActionsLendNamespace(this._lendProviders)
83
95
  }
84
96
  }
85
97
 
@@ -93,7 +105,7 @@ export class Actions<
93
105
  * @returns ActionsLendNamespace for lending operations
94
106
  * @throws Error if lend provider not configured
95
107
  */
96
- get lend(): ActionsLendNamespace<LendConfig> {
108
+ get lend(): ActionsLendNamespace {
97
109
  if (!this._lend) {
98
110
  throw new Error(
99
111
  'Lend provider not configured. Please add lend configuration to ActionsConfig.',
@@ -103,11 +115,50 @@ export class Actions<
103
115
  }
104
116
 
105
117
  /**
106
- * Get the lend provider instance
107
- * @returns LendProvider instance if configured, undefined otherwise
118
+ * Get the lend provider instances
119
+ * @returns Object containing configured lend providers
120
+ */
121
+ get lendProviders(): {
122
+ morpho?: LendProvider<LendProviderConfig>
123
+ aave?: LendProvider<LendProviderConfig>
124
+ } {
125
+ return this._lendProviders
126
+ }
127
+
128
+ /**
129
+ * Get the list of supported assets based on configuration
130
+ * @description Returns filtered assets based on allow/block lists in assets config.
131
+ * If no config provided, returns all SUPPORTED_TOKENS.
132
+ * @returns Array of supported assets
108
133
  */
109
- get lendProvider(): LendProvider<LendConfig> | undefined {
110
- return this._lendProvider
134
+ public getSupportedAssets(): Asset[] {
135
+ // If no assets config, return all supported tokens
136
+ if (!this._assetsConfig) {
137
+ return SUPPORTED_TOKENS
138
+ }
139
+
140
+ // If allow list provided, return only those
141
+ if (this._assetsConfig.allow && this._assetsConfig.allow.length > 0) {
142
+ return this._assetsConfig.allow
143
+ }
144
+
145
+ // If block list provided, filter out blocked assets
146
+ if (this._assetsConfig.block && this._assetsConfig.block.length > 0) {
147
+ const blockedAddresses = new Set(
148
+ this._assetsConfig.block.flatMap((asset) =>
149
+ Object.values(asset.address).map((addr) => addr.toLowerCase()),
150
+ ),
151
+ )
152
+ return SUPPORTED_TOKENS.filter((token) => {
153
+ const tokenAddresses = Object.values(token.address).map((addr) =>
154
+ addr.toLowerCase(),
155
+ )
156
+ return !tokenAddresses.some((addr) => blockedAddresses.has(addr))
157
+ })
158
+ }
159
+
160
+ // Default to all supported tokens
161
+ return SUPPORTED_TOKENS
111
162
  }
112
163
 
113
164
  /**
@@ -141,7 +192,11 @@ export class Actions<
141
192
  )
142
193
  }
143
194
  this.hostedWalletProvider = factory.create(
144
- { chainManager: this.chainManager, lendProvider: this.lendProvider },
195
+ {
196
+ chainManager: this.chainManager,
197
+ lendProviders: this._lendProviders,
198
+ supportedAssets: this.getSupportedAssets(),
199
+ },
145
200
  options,
146
201
  )
147
202
 
@@ -151,7 +206,8 @@ export class Actions<
151
206
  ) {
152
207
  this.smartWalletProvider = new DefaultSmartWalletProvider(
153
208
  this.chainManager,
154
- this.lendProvider,
209
+ this._lendProviders,
210
+ this.getSupportedAssets(),
155
211
  config.smartWalletConfig.provider.attributionSuffix,
156
212
  )
157
213
  } else {
@@ -1,5 +1,11 @@
1
1
  import type { Address } from 'viem'
2
- import { base, baseSepolia, mainnet, unichain } from 'viem/chains'
2
+ import {
3
+ base,
4
+ baseSepolia,
5
+ mainnet,
6
+ optimismSepolia,
7
+ unichain,
8
+ } from 'viem/chains'
3
9
 
4
10
  import type { SupportedChainId } from '@/constants/supportedChains.js'
5
11
  import type { Asset } from '@/types/asset.js'
@@ -10,6 +16,7 @@ export const ETH: Asset = {
10
16
  [unichain.id]: '0x0000000000000000000000000000000000000000',
11
17
  [base.id]: '0x0000000000000000000000000000000000000000',
12
18
  [baseSepolia.id]: '0x0000000000000000000000000000000000000000',
19
+ [optimismSepolia.id]: '0x0000000000000000000000000000000000000000',
13
20
  } satisfies Record<SupportedChainId, Address>,
14
21
  metadata: {
15
22
  decimals: 18,
@@ -1,10 +1,17 @@
1
- import { base, baseSepolia, mainnet, unichain } from 'viem/chains'
1
+ import {
2
+ base,
3
+ baseSepolia,
4
+ mainnet,
5
+ optimismSepolia,
6
+ unichain,
7
+ } from 'viem/chains'
2
8
 
3
9
  export const SUPPORTED_CHAIN_IDS = [
4
10
  mainnet.id,
5
11
  unichain.id,
6
12
  base.id,
7
13
  baseSepolia.id,
14
+ optimismSepolia.id,
8
15
  ] as const
9
16
 
10
17
  export type SupportedChainId = (typeof SUPPORTED_CHAIN_IDS)[number]
package/src/index.ts CHANGED
@@ -12,7 +12,6 @@ export type {
12
12
  ActionsConfig,
13
13
  ApyBreakdown,
14
14
  Asset,
15
- BaseLendConfig,
16
15
  EOATransactionReceipt,
17
16
  LendConfig,
18
17
  LendMarket,
@@ -22,9 +21,9 @@ export type {
22
21
  LendMarketPosition,
23
22
  LendMarketSupply,
24
23
  LendOptions,
24
+ LendProviderConfig,
25
25
  LendTransaction,
26
26
  LendTransactionReceipt,
27
- MorphoLendConfig,
28
27
  TokenBalance,
29
28
  TransactionData,
30
29
  UserOperationTransactionReceipt,
@@ -2,9 +2,9 @@ import type { Address } from 'viem'
2
2
  import { parseUnits } from 'viem'
3
3
 
4
4
  import type { SupportedChainId } from '@/constants/supportedChains.js'
5
+ import type { LendProviderConfig } from '@/types/actions.js'
5
6
  import type { Asset } from '@/types/asset.js'
6
7
  import type {
7
- BaseLendConfig,
8
8
  ClosePositionParams,
9
9
  GetLendMarketParams,
10
10
  GetLendMarketsParams,
@@ -25,7 +25,7 @@ import { validateMarketAsset } from '@/utils/markets.js'
25
25
  * @description Base class for lending provider implementations
26
26
  */
27
27
  export abstract class LendProvider<
28
- TConfig extends BaseLendConfig = BaseLendConfig,
28
+ TConfig extends LendProviderConfig = LendProviderConfig,
29
29
  > {
30
30
  /** Lending provider configuration */
31
31
  protected readonly _config: TConfig
@@ -237,7 +237,7 @@ export abstract class LendProvider<
237
237
  }
238
238
 
239
239
  const foundMarket = this._config.marketAllowlist.find(
240
- (allowedMarket) =>
240
+ (allowedMarket: LendMarketConfig) =>
241
241
  allowedMarket.address.toLowerCase() ===
242
242
  marketId.address.toLowerCase() &&
243
243
  allowedMarket.chainId === marketId.chainId,
@@ -262,8 +262,9 @@ export abstract class LendProvider<
262
262
  ): LendMarketConfig[] {
263
263
  let configs = this._config.marketAllowlist || []
264
264
  if (chainId !== undefined)
265
- configs = configs.filter((m) => m.chainId === chainId)
266
- if (asset !== undefined) configs = configs.filter((m) => m.asset === asset)
265
+ configs = configs.filter((m: LendMarketConfig) => m.chainId === chainId)
266
+ if (asset !== undefined)
267
+ configs = configs.filter((m: LendMarketConfig) => m.asset === asset)
267
268
  return configs
268
269
  }
269
270