@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
@@ -1,7 +1,9 @@
1
- import type { PrivyClient } from '@privy-io/server-auth';
1
+ import type { AuthorizationContext, PrivyClient } from '@privy-io/node';
2
2
  import { type Address, type LocalAccount } from 'viem';
3
+ import type { LendProvider } from '../../../../../lend/core/LendProvider.js';
3
4
  import type { ChainManager } from '../../../../../services/ChainManager.js';
4
- import type { LendConfig, LendProvider } from '../../../../../types/lend/index.js';
5
+ import type { LendProviderConfig } from '../../../../../types/actions.js';
6
+ import type { Asset } from '../../../../../types/asset.js';
5
7
  import { EOAWallet } from '../../../../core/wallets/eoa/EOAWallet.js';
6
8
  /**
7
9
  * Privy wallet implementation
@@ -12,19 +14,29 @@ export declare class PrivyWallet extends EOAWallet {
12
14
  signer: LocalAccount;
13
15
  readonly address: Address;
14
16
  private privyClient;
17
+ private authorizationContext?;
15
18
  /**
16
- * Create a new Privy wallet provider
17
- * @param appId - Privy application ID
18
- * @param appSecret - Privy application secret
19
- * @param actions - Actions instance for accessing configured providers
19
+ * Create a new Privy wallet instance
20
+ * @param privyClient - Privy client instance for wallet operations
21
+ * @param authorizationContext - Authorization context for signing requests
22
+ * @param walletId - Privy wallet identifier
23
+ * @param address - Ethereum address of the wallet
24
+ * @param chainManager - Chain manager for multi-chain operations
25
+ * @param lendProviders - Optional lend providers for DeFi operations
26
+ * @param supportedAssets - Optional list of supported assets
20
27
  */
21
28
  private constructor();
22
29
  static create(params: {
23
30
  privyClient: PrivyClient;
31
+ authorizationContext?: AuthorizationContext;
24
32
  walletId: string;
25
33
  address: Address;
26
34
  chainManager: ChainManager;
27
- lendProvider?: LendProvider<LendConfig>;
35
+ lendProviders?: {
36
+ morpho?: LendProvider<LendProviderConfig>;
37
+ aave?: LendProvider<LendProviderConfig>;
38
+ };
39
+ supportedAssets?: Asset[];
28
40
  }): Promise<PrivyWallet>;
29
41
  /**
30
42
  * Initialize the PrivyWallet by creating the signer account
@@ -1 +1 @@
1
- {"version":3,"file":"PrivyWallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/wallets/hosted/privy/PrivyWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAGlE;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAG,YAAY,CAAA;IAC5B,SAAgB,OAAO,EAAE,OAAO,CAAA;IAChC,OAAO,CAAC,WAAW,CAAa;IAEhC;;;;;OAKG;IACH,OAAO;WAaM,MAAM,CAAC,MAAM,EAAE;QAC1B,WAAW,EAAE,WAAW,CAAA;QACxB,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,OAAO,CAAA;QAChB,YAAY,EAAE,YAAY,CAAA;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;KACxC,GAAG,OAAO,CAAC,WAAW,CAAC;IAYxB;;OAEG;cACa,qBAAqB;IAIrC;;;;;;;OAOG;YACW,YAAY;CAO3B"}
1
+ {"version":3,"file":"PrivyWallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/wallets/hosted/privy/PrivyWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAGlE;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAG,YAAY,CAAA;IAC5B,SAAgB,OAAO,EAAE,OAAO,CAAA;IAChC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,oBAAoB,CAAC,CAAsB;IACnD;;;;;;;;;OASG;IACH,OAAO;WAmBM,MAAM,CAAC,MAAM,EAAE;QAC1B,WAAW,EAAE,WAAW,CAAA;QACxB,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;QAC3C,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,OAAO,CAAA;QAChB,YAAY,EAAE,YAAY,CAAA;QAC1B,aAAa,CAAC,EAAE;YACd,MAAM,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;YACzC,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;SACxC,CAAA;QACD,eAAe,CAAC,EAAE,KAAK,EAAE,CAAA;KAC1B,GAAG,OAAO,CAAC,WAAW,CAAC;IAcxB;;OAEG;cACa,qBAAqB;IAIrC;;;;;;;OAOG;YACW,YAAY;CAQ3B"}
@@ -6,19 +6,24 @@ import { createSigner } from './utils/createSigner.js';
6
6
  */
7
7
  export class PrivyWallet extends EOAWallet {
8
8
  /**
9
- * Create a new Privy wallet provider
10
- * @param appId - Privy application ID
11
- * @param appSecret - Privy application secret
12
- * @param actions - Actions instance for accessing configured providers
9
+ * Create a new Privy wallet instance
10
+ * @param privyClient - Privy client instance for wallet operations
11
+ * @param authorizationContext - Authorization context for signing requests
12
+ * @param walletId - Privy wallet identifier
13
+ * @param address - Ethereum address of the wallet
14
+ * @param chainManager - Chain manager for multi-chain operations
15
+ * @param lendProviders - Optional lend providers for DeFi operations
16
+ * @param supportedAssets - Optional list of supported assets
13
17
  */
14
- constructor(privyClient, walletId, address, chainManager, lendProvider) {
15
- super(chainManager, lendProvider);
18
+ constructor(privyClient, walletId, address, chainManager, lendProviders, supportedAssets, authorizationContext) {
19
+ super(chainManager, lendProviders, supportedAssets);
16
20
  this.privyClient = privyClient;
21
+ this.authorizationContext = authorizationContext;
17
22
  this.walletId = walletId;
18
23
  this.address = address;
19
24
  }
20
25
  static async create(params) {
21
- const wallet = new PrivyWallet(params.privyClient, params.walletId, params.address, params.chainManager, params.lendProvider);
26
+ const wallet = new PrivyWallet(params.privyClient, params.walletId, params.address, params.chainManager, params.lendProviders, params.supportedAssets, params.authorizationContext);
22
27
  await wallet.initialize();
23
28
  return wallet;
24
29
  }
@@ -41,6 +46,7 @@ export class PrivyWallet extends EOAWallet {
41
46
  walletId: this.walletId,
42
47
  address: this.address,
43
48
  privyClient: this.privyClient,
49
+ authorizationContext: this.authorizationContext,
44
50
  });
45
51
  }
46
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PrivyWallet.js","sourceRoot":"","sources":["../../../../../../src/wallet/node/wallets/hosted/privy/PrivyWallet.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAA;AAEvF;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IAMxC;;;;;OAKG;IACH,YACE,WAAwB,EACxB,QAAgB,EAChB,OAAgB,EAChB,YAA0B,EAC1B,YAAuC;QAEvC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAMnB;QACC,MAAM,MAAM,GAAG,IAAI,WAAW,CAC5B,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,YAAY,CACpB,CAAA;QACD,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;QACzB,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,qBAAqB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;IACzC,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,YAAY;QACxB,OAAO,YAAY,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"PrivyWallet.js","sourceRoot":"","sources":["../../../../../../src/wallet/node/wallets/hosted/privy/PrivyWallet.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAA;AAEvF;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IAMxC;;;;;;;;;OASG;IACH,YACE,WAAwB,EACxB,QAAgB,EAChB,OAAgB,EAChB,YAA0B,EAC1B,aAGC,EACD,eAAyB,EACzB,oBAA2C;QAE3C,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,CAAC,CAAA;QACnD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAA;QAChD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAWnB;QACC,MAAM,MAAM,GAAG,IAAI,WAAW,CAC5B,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,oBAAoB,CAC5B,CAAA;QACD,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;QACzB,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,qBAAqB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;IACzC,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,YAAY;QACxB,OAAO,YAAY,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,9 +1,9 @@
1
- import { createViemAccount } from '@privy-io/server-auth/viem';
1
+ import { createViemAccount } from '@privy-io/node/viem';
2
2
  import { createWalletClient, getAddress, } from 'viem';
3
3
  import { unichain } from 'viem/chains';
4
- import { describe, expect, it, vi } from 'vitest';
4
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
5
5
  import { MockChainManager } from '../../../../../../test/MockChainManager.js';
6
- import { createMockPrivyClient } from '../../../../../../test/MockPrivyClient.js';
6
+ import { createMockPrivyClient, createMockPrivyWallet, getMockAuthorizationContext, } from '../../../../../../test/MockPrivyClient.js';
7
7
  import { getRandomAddress } from '../../../../../../test/utils.js';
8
8
  import { PrivyWallet } from '../PrivyWallet.js';
9
9
  vi.mock('viem', async () => ({
@@ -16,9 +16,9 @@ vi.mock('viem/accounts', async () => ({
16
16
  ...(await vi.importActual('viem/accounts')),
17
17
  toAccount: vi.fn(),
18
18
  }));
19
- vi.mock('@privy-io/server-auth/viem', async () => ({
19
+ vi.mock('@privy-io/node/viem', async () => ({
20
20
  // @ts-ignore - importActual returns unknown
21
- ...(await vi.importActual('@privy-io/server-auth/viem')),
21
+ ...(await vi.importActual('@privy-io/node/viem')),
22
22
  createViemAccount: vi.fn(),
23
23
  }));
24
24
  const mockAddress = getRandomAddress();
@@ -34,10 +34,11 @@ const mockLocalAccount = {
34
34
  signTypedData: vi.fn(),
35
35
  };
36
36
  describe('PrivyWallet', () => {
37
+ beforeEach(() => {
38
+ vi.clearAllMocks();
39
+ });
37
40
  it('should return the correct wallet ID', async () => {
38
- const createdWallet = await mockPrivyClient.walletApi.createWallet({
39
- chainType: 'ethereum',
40
- });
41
+ const createdWallet = createMockPrivyWallet();
41
42
  const wallet = await createAndInitPrivyWallet({
42
43
  address: getAddress(createdWallet.address),
43
44
  walletId: createdWallet.id,
@@ -45,9 +46,7 @@ describe('PrivyWallet', () => {
45
46
  expect(wallet.walletId).toBe(createdWallet.id);
46
47
  });
47
48
  it('should return the correct address', async () => {
48
- const createdWallet = await mockPrivyClient.walletApi.createWallet({
49
- chainType: 'ethereum',
50
- });
49
+ const createdWallet = createMockPrivyWallet();
51
50
  const wallet = await createAndInitPrivyWallet({
52
51
  address: getAddress(createdWallet.address),
53
52
  walletId: createdWallet.id,
@@ -56,26 +55,27 @@ describe('PrivyWallet', () => {
56
55
  });
57
56
  it('should create an account with correct configuration', async () => {
58
57
  // Create a wallet using the mock client first
59
- const createdWallet = await mockPrivyClient.walletApi.createWallet({
60
- chainType: 'ethereum',
61
- });
58
+ const createdWallet = createMockPrivyWallet();
62
59
  vi.mocked(createViemAccount).mockResolvedValue(mockLocalAccount);
60
+ const authorizationContext = getMockAuthorizationContext();
63
61
  const wallet = await createAndInitPrivyWallet({
64
62
  address: getAddress(createdWallet.address),
65
63
  walletId: createdWallet.id,
64
+ authorizationContext,
66
65
  });
67
- expect(createViemAccount).toHaveBeenCalledWith({
66
+ expect(createViemAccount).toHaveBeenCalledWith(mockPrivyClient, {
68
67
  walletId: createdWallet.id,
69
68
  address: createdWallet.address,
70
- privy: mockPrivyClient,
69
+ authorizationContext,
71
70
  });
72
71
  expect(wallet.signer).toBe(mockLocalAccount);
73
72
  });
74
73
  it('should create a wallet client with correct configuration', async () => {
75
- const createdWallet = await mockPrivyClient.walletApi.createWallet({
76
- chainType: 'ethereum',
74
+ const createdWallet = createMockPrivyWallet();
75
+ const wallet = await createAndInitPrivyWallet({
76
+ walletId: createdWallet.id,
77
+ address: createdWallet.address,
77
78
  });
78
- const wallet = await createAndInitPrivyWallet();
79
79
  const mockWalletClient = {
80
80
  account: mockLocalAccount,
81
81
  address: createdWallet.address,
@@ -90,16 +90,14 @@ describe('PrivyWallet', () => {
90
90
  expect(walletClient).toBe(mockWalletClient);
91
91
  });
92
92
  });
93
- async function createAndInitPrivyWallet(params = {}) {
94
- const { privyClient = mockPrivyClient, walletId, address, chainManager = mockChainManager, } = params;
95
- const createdWallet = await privyClient.walletApi.createWallet({
96
- chainType: 'ethereum',
97
- });
93
+ async function createAndInitPrivyWallet(params) {
94
+ const { walletId, address, authorizationContext } = params;
98
95
  return PrivyWallet.create({
99
- privyClient,
100
- walletId: walletId ?? createdWallet.id,
101
- address: address ?? getAddress(createdWallet.address),
102
- chainManager,
96
+ privyClient: mockPrivyClient,
97
+ authorizationContext: authorizationContext ?? getMockAuthorizationContext(),
98
+ walletId,
99
+ address,
100
+ chainManager: mockChainManager,
103
101
  });
104
102
  }
105
103
  //# sourceMappingURL=PrivyWallet.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrivyWallet.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PrivyWallet.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { createViemAccount } from '@privy-io/server-auth/viem';
1
+ import { createViemAccount } from '@privy-io/node/viem';
2
2
  import { describe, expect, it, vi } from 'vitest';
3
- import { createMockPrivyClient } from '../../../../../../../test/MockPrivyClient.js';
3
+ import { createMockPrivyClient, createMockPrivyWallet, getMockAuthorizationContext, } from '../../../../../../../test/MockPrivyClient.js';
4
4
  import { getRandomAddress } from '../../../../../../../test/utils.js';
5
5
  import { createSigner } from '../createSigner.js';
6
- vi.mock('@privy-io/server-auth/viem', async () => ({
6
+ vi.mock('@privy-io/node/viem', async () => ({
7
7
  // @ts-ignore - importActual returns unknown
8
- ...(await vi.importActual('@privy-io/server-auth/viem')),
8
+ ...(await vi.importActual('@privy-io/node/viem')),
9
9
  createViemAccount: vi.fn(),
10
10
  }));
11
11
  describe('createSigner (Node Privy)', () => {
@@ -18,20 +18,20 @@ describe('createSigner (Node Privy)', () => {
18
18
  signTransaction: vi.fn(),
19
19
  signTypedData: vi.fn(),
20
20
  };
21
- it('should create a LocalAccount with correct configuration', async () => {
22
- const createdWallet = await mockPrivyClient.walletApi.createWallet({
23
- chainType: 'ethereum',
24
- });
25
- vi.mocked(createViemAccount).mockResolvedValue(mockLocalAccount);
26
- const signer = await createSigner({
21
+ it('should create a LocalAccount with correct configuration', () => {
22
+ const createdWallet = createMockPrivyWallet();
23
+ vi.mocked(createViemAccount).mockReturnValue(mockLocalAccount);
24
+ const authorizationContext = getMockAuthorizationContext();
25
+ const signer = createSigner({
27
26
  privyClient: mockPrivyClient,
27
+ authorizationContext: authorizationContext,
28
28
  walletId: createdWallet.id,
29
29
  address: createdWallet.address,
30
30
  });
31
- expect(createViemAccount).toHaveBeenCalledWith({
31
+ expect(createViemAccount).toHaveBeenCalledWith(mockPrivyClient, {
32
32
  walletId: createdWallet.id,
33
33
  address: createdWallet.address,
34
- privy: mockPrivyClient,
34
+ authorizationContext,
35
35
  });
36
36
  expect(signer).toBe(mockLocalAccount);
37
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"createSigner.spec.js","sourceRoot":"","sources":["../../../../../../../../src/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAA;AAEvF,EAAE,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACjD,4CAA4C;IAC5C,GAAG,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAC;IACxD,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;CAC3B,CAAC,CAAC,CAAA;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAA;IACtC,MAAM,eAAe,GAAG,qBAAqB,CAC3C,aAAa,EACb,iBAAiB,CAClB,CAAA;IACD,MAAM,gBAAgB,GAAG;QACvB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;QACpB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;QACxB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;KACI,CAAA;IAE5B,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC;YACjE,SAAS,EAAE,UAAU;SACtB,CAAC,CAAA;QACF,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;QAEhE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,WAAW,EAAE,eAAe;YAC5B,QAAQ,EAAE,aAAa,CAAC,EAAE;YAC1B,OAAO,EAAE,aAAa,CAAC,OAAkB;SAC1C,CAAC,CAAA;QAEF,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC;YAC7C,QAAQ,EAAE,aAAa,CAAC,EAAE;YAC1B,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,KAAK,EAAE,eAAe;SACvB,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"createSigner.spec.js","sourceRoot":"","sources":["../../../../../../../../src/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAA;AAEvF,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1C,4CAA4C;IAC5C,GAAG,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;IACjD,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;CAC3B,CAAC,CAAC,CAAA;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAA;IACtC,MAAM,eAAe,GAAG,qBAAqB,CAC3C,aAAa,EACb,iBAAiB,CAClB,CAAA;IACD,MAAM,gBAAgB,GAAG;QACvB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;QACpB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;QACxB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;KACI,CAAA;IAE5B,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAA;QAC7C,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAA;QAC9D,MAAM,oBAAoB,GAAG,2BAA2B,EAAE,CAAA;QAE1D,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,WAAW,EAAE,eAAe;YAC5B,oBAAoB,EAAE,oBAAoB;YAC1C,QAAQ,EAAE,aAAa,CAAC,EAAE;YAC1B,OAAO,EAAE,aAAa,CAAC,OAAO;SAC/B,CAAC,CAAA;QAEF,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,eAAe,EAAE;YAC9D,QAAQ,EAAE,aAAa,CAAC,EAAE;YAC1B,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,oBAAoB;SACrB,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -8,8 +8,12 @@ import type { NodeOptionsMap, PrivyHostedWalletToActionsWalletOptions } from '..
8
8
  * @param params.walletId - Privy wallet identifier
9
9
  * @param params.address - Ethereum address of the wallet
10
10
  * @param params.privyClient - Privy client instance
11
- * @returns Promise resolving to a LocalAccount configured for signing operations
11
+ * @param params.authorizationContext - Optional authorization context for the Privy client.
12
+ * Used when Privy needs to sign requests.
13
+ * See https://docs.privy.io/controls/authorization-keys/using-owners/sign/automatic#using-the-authorization-context
14
+ * for more information on building and using the authorization context.
15
+ * @returns LocalAccount configured for signing operations
12
16
  * @throws Error if wallet retrieval fails or signing operations are not supported
13
17
  */
14
- export declare function createSigner(params: PrivyHostedWalletToActionsWalletOptions & NodeOptionsMap['privy']): Promise<LocalAccount>;
18
+ export declare function createSigner(params: PrivyHostedWalletToActionsWalletOptions & NodeOptionsMap['privy']): LocalAccount;
15
19
  //# sourceMappingURL=createSigner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createSigner.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/node/wallets/hosted/privy/utils/createSigner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,EACV,cAAc,EACd,uCAAuC,EACxC,MAAM,+CAA+C,CAAA;AAEtD;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,uCAAuC,GAAG,cAAc,CAAC,OAAO,CAAC,GACxE,OAAO,CAAC,YAAY,CAAC,CASvB"}
1
+ {"version":3,"file":"createSigner.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/node/wallets/hosted/privy/utils/createSigner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,EACV,cAAc,EACd,uCAAuC,EACxC,MAAM,+CAA+C,CAAA;AAEtD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,uCAAuC,GAAG,cAAc,CAAC,OAAO,CAAC,GACxE,YAAY,CAQd"}
@@ -1,4 +1,4 @@
1
- import { createViemAccount } from '@privy-io/server-auth/viem';
1
+ import { createViemAccount } from '@privy-io/node/viem';
2
2
  /**
3
3
  * Create a LocalAccount from a Privy wallet
4
4
  * @description Converts the Privy wallet into a viem-compatible LocalAccount that can sign
@@ -7,16 +7,19 @@ import { createViemAccount } from '@privy-io/server-auth/viem';
7
7
  * @param params.walletId - Privy wallet identifier
8
8
  * @param params.address - Ethereum address of the wallet
9
9
  * @param params.privyClient - Privy client instance
10
- * @returns Promise resolving to a LocalAccount configured for signing operations
10
+ * @param params.authorizationContext - Optional authorization context for the Privy client.
11
+ * Used when Privy needs to sign requests.
12
+ * See https://docs.privy.io/controls/authorization-keys/using-owners/sign/automatic#using-the-authorization-context
13
+ * for more information on building and using the authorization context.
14
+ * @returns LocalAccount configured for signing operations
11
15
  * @throws Error if wallet retrieval fails or signing operations are not supported
12
16
  */
13
- export async function createSigner(params) {
14
- const { walletId, address, privyClient } = params;
15
- const account = await createViemAccount({
17
+ export function createSigner(params) {
18
+ const { walletId, address, privyClient, authorizationContext } = params;
19
+ const account = createViemAccount(privyClient, {
16
20
  walletId,
17
21
  address,
18
- // TODO: Fix this type error
19
- privy: privyClient,
22
+ authorizationContext,
20
23
  });
21
24
  return account;
22
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createSigner.js","sourceRoot":"","sources":["../../../../../../../src/wallet/node/wallets/hosted/privy/utils/createSigner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAQ9D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAyE;IAEzE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAA;IACjD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC;QACtC,QAAQ;QACR,OAAO;QACP,4BAA4B;QAC5B,KAAK,EAAE,WAA0D;KAClE,CAAC,CAAA;IACF,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"createSigner.js","sourceRoot":"","sources":["../../../../../../../src/wallet/node/wallets/hosted/privy/utils/createSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAQvD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAyE;IAEzE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAAA;IACvE,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,EAAE;QAC7C,QAAQ;QACR,OAAO;QACP,oBAAoB;KACrB,CAAC,CAAA;IACF,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -2,8 +2,10 @@ import type { TurnkeySDKClientBase } from '@turnkey/core';
2
2
  import type { TurnkeyClient } from '@turnkey/http';
3
3
  import type { TurnkeyServerClient } from '@turnkey/sdk-server';
4
4
  import type { Address, LocalAccount } from 'viem';
5
+ import type { LendProvider } from '../../../../../lend/core/LendProvider.js';
5
6
  import type { ChainManager } from '../../../../../services/ChainManager.js';
6
- import type { LendConfig, LendProvider } from '../../../../../types/lend/index.js';
7
+ import type { LendProviderConfig } from '../../../../../types/actions.js';
8
+ import type { Asset } from '../../../../../types/asset.js';
7
9
  import { EOAWallet } from '../../../../core/wallets/eoa/EOAWallet.js';
8
10
  /**
9
11
  * Turnkey wallet implementation
@@ -38,7 +40,11 @@ export declare class TurnkeyWallet extends EOAWallet {
38
40
  organizationId: string;
39
41
  signWith: string;
40
42
  ethereumAddress?: string;
41
- lendProvider?: LendProvider<LendConfig>;
43
+ lendProviders?: {
44
+ morpho?: LendProvider<LendProviderConfig>;
45
+ aave?: LendProvider<LendProviderConfig>;
46
+ };
47
+ supportedAssets?: Asset[];
42
48
  }): Promise<TurnkeyWallet>;
43
49
  protected performInitialization(): Promise<void>;
44
50
  private createSigner;
@@ -1 +1 @@
1
- {"version":3,"file":"TurnkeyWallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAGlE;;;GAGG;AACH,qBAAa,aAAc,SAAQ,SAAS;IACnC,OAAO,EAAG,OAAO,CAAA;IACjB,MAAM,EAAG,YAAY,CAAA;IAC5B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGC;IACxB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAQ;IAEzC,OAAO;WAuBM,MAAM,CAAC,MAAM,EAAE;QAC1B,YAAY,EAAE,YAAY,CAAA;QAC1B,MAAM,EAAE,aAAa,GAAG,mBAAmB,GAAG,oBAAoB,CAAA;QAClE,cAAc,EAAE,MAAM,CAAA;QACtB,QAAQ,EAAE,MAAM,CAAA;QAChB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;KACxC,GAAG,OAAO,CAAC,aAAa,CAAC;cAMV,qBAAqB;YAKvB,YAAY;CAQ3B"}
1
+ {"version":3,"file":"TurnkeyWallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAGlE;;;GAGG;AACH,qBAAa,aAAc,SAAQ,SAAS;IACnC,OAAO,EAAG,OAAO,CAAA;IACjB,MAAM,EAAG,YAAY,CAAA;IAC5B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGC;IACxB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAQ;IAEzC,OAAO;WA4BM,MAAM,CAAC,MAAM,EAAE;QAC1B,YAAY,EAAE,YAAY,CAAA;QAC1B,MAAM,EAAE,aAAa,GAAG,mBAAmB,GAAG,oBAAoB,CAAA;QAClE,cAAc,EAAE,MAAM,CAAA;QACtB,QAAQ,EAAE,MAAM,CAAA;QAChB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,aAAa,CAAC,EAAE;YACd,MAAM,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;YACzC,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;SACxC,CAAA;QACD,eAAe,CAAC,EAAE,KAAK,EAAE,CAAA;KAC1B,GAAG,OAAO,CAAC,aAAa,CAAC;cAMV,qBAAqB;YAKvB,YAAY;CAQ3B"}
@@ -6,8 +6,8 @@ import { createSigner } from './utils/createSigner.js';
6
6
  */
7
7
  export class TurnkeyWallet extends EOAWallet {
8
8
  constructor(params) {
9
- const { chainManager, client, organizationId, signWith, ethereumAddress, lendProvider, } = params;
10
- super(chainManager, lendProvider);
9
+ const { chainManager, client, organizationId, signWith, ethereumAddress, lendProviders, supportedAssets, } = params;
10
+ super(chainManager, lendProviders, supportedAssets);
11
11
  this.client = client;
12
12
  this.organizationId = organizationId;
13
13
  this.signWith = signWith;
@@ -1 +1 @@
1
- {"version":3,"file":"TurnkeyWallet.js","sourceRoot":"","sources":["../../../../../../src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,4DAA4D,CAAA;AAEzF;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IA0B1C,YAAoB,MAOnB;QACC,MAAM,EACJ,YAAY,EACZ,MAAM,EACN,cAAc,EACd,QAAQ,EACR,eAAe,EACf,YAAY,GACb,GAAG,MAAM,CAAA;QACV,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAOnB;QACC,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;QACzB,OAAO,MAAM,CAAA;IACf,CAAC;IAES,KAAK,CAAC,qBAAqB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IACpC,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,OAAO,YAAY,CAAC;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"TurnkeyWallet.js","sourceRoot":"","sources":["../../../../../../src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,4DAA4D,CAAA;AAEzF;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IA0B1C,YAAoB,MAWnB;QACC,MAAM,EACJ,YAAY,EACZ,MAAM,EACN,cAAc,EACd,QAAQ,EACR,eAAe,EACf,aAAa,EACb,eAAe,GAChB,GAAG,MAAM,CAAA;QACV,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,CAAC,CAAA;QACnD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAWnB;QACC,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;QACzB,OAAO,MAAM,CAAA;IACf,CAAC;IAES,KAAK,CAAC,qBAAqB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IACpC,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,OAAO,YAAY,CAAC;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
1
  import type { LocalAccount } from 'viem';
2
+ import type { LendProvider } from '../../../../../lend/core/LendProvider.js';
2
3
  import type { ChainManager } from '../../../../../services/ChainManager.js';
3
- import type { LendConfig, LendProvider } from '../../../../../types/lend/index.js';
4
+ import type { LendProviderConfig } from '../../../../../types/actions.js';
4
5
  import { HostedWalletProvider } from '../../../../core/providers/hosted/abstract/HostedWalletProvider.js';
5
6
  import type { Wallet } from '../../../../core/wallets/abstract/Wallet.js';
6
7
  import type { ReactToActionsOptionsMap } from '../types/index.js';
@@ -12,7 +13,10 @@ export declare class DynamicHostedWalletProvider extends HostedWalletProvider<'d
12
13
  /**
13
14
  * Create a new Dynamic wallet provider
14
15
  */
15
- constructor(chainManager: ChainManager, lendProvider?: LendProvider<LendConfig>);
16
+ constructor(chainManager: ChainManager, lendProviders?: {
17
+ morpho?: LendProvider<LendProviderConfig>;
18
+ aave?: LendProvider<LendProviderConfig>;
19
+ });
16
20
  toActionsWallet(params: ReactToActionsOptionsMap['dynamic']): Promise<Wallet>;
17
21
  /**
18
22
  * Create a viem LocalAccount signer from Dynamic credentials
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicHostedWalletProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AACtG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAA;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAA;AAI9F;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,oBAAoB,CACnE,SAAS,EACT,wBAAwB,CACzB;IACC;;OAEG;gBAED,YAAY,EAAE,YAAY,EAC1B,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC;IAKnC,eAAe,CACnB,MAAM,EAAE,wBAAwB,CAAC,SAAS,CAAC,GAC1C,OAAO,CAAC,MAAM,CAAC;IAQlB;;;;;;;;;OASG;IACG,YAAY,CAChB,MAAM,EAAE,wBAAwB,CAAC,SAAS,CAAC,GAC1C,OAAO,CAAC,YAAY,CAAC;CAGzB"}
1
+ {"version":3,"file":"DynamicHostedWalletProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AACtG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAA;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAA;AAI9F;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,oBAAoB,CACnE,SAAS,EACT,wBAAwB,CACzB;IACC;;OAEG;gBAED,YAAY,EAAE,YAAY,EAC1B,aAAa,CAAC,EAAE;QACd,MAAM,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;QACzC,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;KACxC;IAKG,eAAe,CACnB,MAAM,EAAE,wBAAwB,CAAC,SAAS,CAAC,GAC1C,OAAO,CAAC,MAAM,CAAC;IAQlB;;;;;;;;;OASG;IACG,YAAY,CAChB,MAAM,EAAE,wBAAwB,CAAC,SAAS,CAAC,GAC1C,OAAO,CAAC,YAAY,CAAC;CAGzB"}
@@ -9,14 +9,14 @@ export class DynamicHostedWalletProvider extends HostedWalletProvider {
9
9
  /**
10
10
  * Create a new Dynamic wallet provider
11
11
  */
12
- constructor(chainManager, lendProvider) {
13
- super(chainManager, lendProvider);
12
+ constructor(chainManager, lendProviders) {
13
+ super(chainManager, lendProviders);
14
14
  }
15
15
  async toActionsWallet(params) {
16
16
  return DynamicWallet.create({
17
17
  dynamicWallet: params.wallet,
18
18
  chainManager: this.chainManager,
19
- lendProvider: this.lendProvider,
19
+ lendProviders: this.lendProviders,
20
20
  });
21
21
  }
22
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicHostedWalletProvider.js","sourceRoot":"","sources":["../../../../../../src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AAGtG,OAAO,EAAE,aAAa,EAAE,MAAM,wDAAwD,CAAA;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,6DAA6D,CAAA;AAE1F;;;GAGG;AACH,MAAM,OAAO,2BAA4B,SAAQ,oBAGhD;IACC;;OAEG;IACH,YACE,YAA0B,EAC1B,YAAuC;QAEvC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAA2C;QAE3C,OAAO,aAAa,CAAC,MAAM,CAAC;YAC1B,aAAa,EAAE,MAAM,CAAC,MAAM;YAC5B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAChB,MAA2C;QAE3C,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"DynamicHostedWalletProvider.js","sourceRoot":"","sources":["../../../../../../src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AAGtG,OAAO,EAAE,aAAa,EAAE,MAAM,wDAAwD,CAAA;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,6DAA6D,CAAA;AAE1F;;;GAGG;AACH,MAAM,OAAO,2BAA4B,SAAQ,oBAGhD;IACC;;OAEG;IACH,YACE,YAA0B,EAC1B,aAGC;QAED,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAA2C;QAE3C,OAAO,aAAa,CAAC,MAAM,CAAC;YAC1B,aAAa,EAAE,MAAM,CAAC,MAAM;YAC5B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAChB,MAA2C;QAE3C,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;CACF"}
@@ -1,13 +1,22 @@
1
1
  import { describe, expect, it, vi } from 'vitest';
2
- import { MockChainManager } from '../../../../../../test/MockChainManager.js';
3
- import { DynamicHostedWalletProvider } from '../DynamicHostedWalletProvider.js';
4
- import { DynamicWallet } from '../../../../wallets/hosted/dynamic/DynamicWallet.js';
5
- import * as createSignerUtil from '../../../../wallets/hosted/dynamic/utils/createSigner.js';
2
+ // Mock @dynamic-labs packages to avoid import syntax errors
3
+ vi.mock('@dynamic-labs/wallet-connector-core', () => ({
4
+ Wallet: class {
5
+ },
6
+ }));
6
7
  // Mock DynamicWallet to avoid importing browser-related deps
7
8
  vi.mock('@/wallet/react/wallets/hosted/dynamic/DynamicWallet.js', async () => {
8
9
  const { DynamicWalletMock } = await import('../../../../wallets/hosted/dynamic/__mocks__/DynamicWalletMock.js');
9
10
  return { DynamicWallet: DynamicWalletMock };
10
11
  });
12
+ // Mock createSigner to avoid importing @dynamic-labs
13
+ vi.mock('@/wallet/react/wallets/hosted/dynamic/utils/createSigner.js');
14
+ import { MockChainManager } from '../../../../../../test/MockChainManager.js';
15
+ import { createMockLendProvider } from '../../../../../../test/MockLendProvider.js';
16
+ import { DynamicHostedWalletProvider } from '../DynamicHostedWalletProvider.js';
17
+ import { DynamicWallet } from '../../../../wallets/hosted/dynamic/DynamicWallet.js';
18
+ import * as createSignerUtil from '../../../../wallets/hosted/dynamic/utils/createSigner.js';
19
+ /* eslint-enable import/first */
11
20
  describe('DynamicHostedWalletProvider', () => {
12
21
  describe('toActionsWallet', () => {
13
22
  it('toActionsWallet delegates to DynamicWallet.create with correct args', async () => {
@@ -29,6 +38,7 @@ describe('DynamicHostedWalletProvider', () => {
29
38
  expect(DynamicWallet.create).toHaveBeenCalledWith({
30
39
  dynamicWallet: mockDynamicWallet,
31
40
  chainManager: mockChainManager,
41
+ lendProviders: {},
32
42
  });
33
43
  expect(result).toBe(mockResult);
34
44
  });
@@ -36,8 +46,10 @@ describe('DynamicHostedWalletProvider', () => {
36
46
  const mockChainManager = new MockChainManager({
37
47
  supportedChains: [1],
38
48
  });
39
- const mockLendProvider = {};
40
- const provider = new DynamicHostedWalletProvider(mockChainManager, mockLendProvider);
49
+ const mockLendProvider = createMockLendProvider();
50
+ const provider = new DynamicHostedWalletProvider(mockChainManager, {
51
+ morpho: mockLendProvider,
52
+ });
41
53
  const mockDynamicWallet = {
42
54
  __brand: 'dynamic-wallet',
43
55
  };
@@ -49,7 +61,7 @@ describe('DynamicHostedWalletProvider', () => {
49
61
  wallet: mockDynamicWallet,
50
62
  });
51
63
  expect(DynamicWallet.create).toHaveBeenCalledWith(expect.objectContaining({
52
- lendProvider: mockLendProvider,
64
+ lendProviders: { morpho: mockLendProvider },
53
65
  }));
54
66
  });
55
67
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicHostedWalletProvider.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DynamicHostedWalletProvider.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { LocalAccount } from 'viem';
2
+ import type { LendProvider } from '../../../../../lend/core/LendProvider.js';
2
3
  import type { ChainManager } from '../../../../../services/ChainManager.js';
3
- import type { LendConfig, LendProvider } from '../../../../../types/lend/index.js';
4
+ import type { LendProviderConfig } from '../../../../../types/actions.js';
4
5
  import { HostedWalletProvider } from '../../../../core/providers/hosted/abstract/HostedWalletProvider.js';
5
6
  import type { Wallet } from '../../../../core/wallets/abstract/Wallet.js';
6
7
  import type { ReactToActionsOptionsMap } from '../types/index.js';
@@ -12,7 +13,10 @@ export declare class PrivyHostedWalletProvider extends HostedWalletProvider<'pri
12
13
  * Create a new Privy wallet provider
13
14
  * @param chainManager Chain manager for RPC, chain info, and transports
14
15
  */
15
- constructor(chainManager: ChainManager, lendProvider?: LendProvider<LendConfig>);
16
+ constructor(chainManager: ChainManager, lendProviders?: {
17
+ morpho?: LendProvider<LendProviderConfig>;
18
+ aave?: LendProvider<LendProviderConfig>;
19
+ });
16
20
  toActionsWallet(params: ReactToActionsOptionsMap['privy']): Promise<Wallet>;
17
21
  /**
18
22
  * Create a viem LocalAccount signer from Privy credentials
@@ -1 +1 @@
1
- {"version":3,"file":"PrivyHostedWalletProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AACtG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAA;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAA;AAI9F;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,oBAAoB,CACjE,OAAO,EACP,wBAAwB,CACzB;IACC;;;OAGG;gBAED,YAAY,EAAE,YAAY,EAC1B,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC;IAKnC,eAAe,CACnB,MAAM,EAAE,wBAAwB,CAAC,OAAO,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC;IAUlB;;;;;;;;;OASG;IACG,YAAY,CAChB,MAAM,EAAE,wBAAwB,CAAC,OAAO,CAAC,GACxC,OAAO,CAAC,YAAY,CAAC;CAGzB"}
1
+ {"version":3,"file":"PrivyHostedWalletProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AACtG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAA;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAA;AAI9F;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,oBAAoB,CACjE,OAAO,EACP,wBAAwB,CACzB;IACC;;;OAGG;gBAED,YAAY,EAAE,YAAY,EAC1B,aAAa,CAAC,EAAE;QACd,MAAM,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;QACzC,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;KACxC;IAKG,eAAe,CACnB,MAAM,EAAE,wBAAwB,CAAC,OAAO,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC;IAUlB;;;;;;;;;OASG;IACG,YAAY,CAChB,MAAM,EAAE,wBAAwB,CAAC,OAAO,CAAC,GACxC,OAAO,CAAC,YAAY,CAAC;CAGzB"}
@@ -9,15 +9,15 @@ export class PrivyHostedWalletProvider extends HostedWalletProvider {
9
9
  * Create a new Privy wallet provider
10
10
  * @param chainManager Chain manager for RPC, chain info, and transports
11
11
  */
12
- constructor(chainManager, lendProvider) {
13
- super(chainManager, lendProvider);
12
+ constructor(chainManager, lendProviders) {
13
+ super(chainManager, lendProviders);
14
14
  }
15
15
  async toActionsWallet(params) {
16
16
  const { connectedWallet } = params;
17
17
  const wallet = await PrivyWallet.create({
18
18
  chainManager: this.chainManager,
19
19
  connectedWallet,
20
- lendProvider: this.lendProvider,
20
+ lendProviders: this.lendProviders,
21
21
  });
22
22
  return wallet;
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PrivyHostedWalletProvider.js","sourceRoot":"","sources":["../../../../../../src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AAGtG,OAAO,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAA;AAExF;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,oBAG9C;IACC;;;OAGG;IACH,YACE,YAA0B,EAC1B,YAAuC;QAEvC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAAyC;QAEzC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAA;QAClC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC;YACtC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,eAAe;YACf,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAChB,MAAyC;QAEzC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"PrivyHostedWalletProvider.js","sourceRoot":"","sources":["../../../../../../src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AAGtG,OAAO,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAA;AAExF;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,oBAG9C;IACC;;;OAGG;IACH,YACE,YAA0B,EAC1B,aAGC;QAED,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAAyC;QAEzC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAA;QAClC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC;YACtC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,eAAe;YACf,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAChB,MAAyC;QAEzC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;CACF"}