@eth-optimism/actions-sdk 0.2.0 → 0.3.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 (271) hide show
  1. package/dist/__mocks__/MockAssets.d.ts.map +1 -1
  2. package/dist/__mocks__/MockAssets.js +2 -0
  3. package/dist/__mocks__/MockAssets.js.map +1 -1
  4. package/dist/__tests__/actions.test.js +0 -4
  5. package/dist/__tests__/actions.test.js.map +1 -1
  6. package/dist/actions.d.ts +20 -1
  7. package/dist/actions.d.ts.map +1 -1
  8. package/dist/actions.js +37 -13
  9. package/dist/actions.js.map +1 -1
  10. package/dist/constants/assets.d.ts +4 -0
  11. package/dist/constants/assets.d.ts.map +1 -1
  12. package/dist/constants/assets.js +15 -0
  13. package/dist/constants/assets.js.map +1 -1
  14. package/dist/constants/contracts.d.ts +4 -0
  15. package/dist/constants/contracts.d.ts.map +1 -0
  16. package/dist/constants/contracts.js +3 -0
  17. package/dist/constants/contracts.js.map +1 -0
  18. package/dist/index.d.ts +4 -3
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +3 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/lend/core/LendProvider.d.ts +0 -6
  23. package/dist/lend/core/LendProvider.d.ts.map +1 -1
  24. package/dist/lend/core/LendProvider.js +6 -15
  25. package/dist/lend/core/LendProvider.js.map +1 -1
  26. package/dist/lend/core/__tests__/LendProvider.test.js +2 -4
  27. package/dist/lend/core/__tests__/LendProvider.test.js.map +1 -1
  28. package/dist/lend/providers/morpho/__tests__/sdk.test.js +3 -2
  29. package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +1 -1
  30. package/dist/lend/providers/morpho/api.d.ts +4 -0
  31. package/dist/lend/providers/morpho/api.d.ts.map +1 -1
  32. package/dist/lend/providers/morpho/api.js.map +1 -1
  33. package/dist/lend/providers/morpho/sdk.d.ts.map +1 -1
  34. package/dist/lend/providers/morpho/sdk.js +10 -1
  35. package/dist/lend/providers/morpho/sdk.js.map +1 -1
  36. package/dist/supported/tokens.d.ts.map +1 -1
  37. package/dist/supported/tokens.js +9 -2
  38. package/dist/supported/tokens.js.map +1 -1
  39. package/dist/swap/__mocks__/MockSwapProvider.d.ts +38 -0
  40. package/dist/swap/__mocks__/MockSwapProvider.d.ts.map +1 -0
  41. package/dist/swap/__mocks__/MockSwapProvider.js +138 -0
  42. package/dist/swap/__mocks__/MockSwapProvider.js.map +1 -0
  43. package/dist/swap/core/SwapProvider.d.ts +56 -0
  44. package/dist/swap/core/SwapProvider.d.ts.map +1 -0
  45. package/dist/swap/core/SwapProvider.js +177 -0
  46. package/dist/swap/core/SwapProvider.js.map +1 -0
  47. package/dist/swap/core/__tests__/SwapProvider.test.d.ts +2 -0
  48. package/dist/swap/core/__tests__/SwapProvider.test.d.ts.map +1 -0
  49. package/dist/swap/core/__tests__/SwapProvider.test.js +329 -0
  50. package/dist/swap/core/__tests__/SwapProvider.test.js.map +1 -0
  51. package/dist/swap/index.d.ts +7 -0
  52. package/dist/swap/index.d.ts.map +1 -0
  53. package/dist/swap/index.js +8 -0
  54. package/dist/swap/index.js.map +1 -0
  55. package/dist/swap/namespaces/ActionsSwapNamespace.d.ts +8 -0
  56. package/dist/swap/namespaces/ActionsSwapNamespace.d.ts.map +1 -0
  57. package/dist/swap/namespaces/ActionsSwapNamespace.js +8 -0
  58. package/dist/swap/namespaces/ActionsSwapNamespace.js.map +1 -0
  59. package/dist/swap/namespaces/BaseSwapNamespace.d.ts +33 -0
  60. package/dist/swap/namespaces/BaseSwapNamespace.d.ts.map +1 -0
  61. package/dist/swap/namespaces/BaseSwapNamespace.js +58 -0
  62. package/dist/swap/namespaces/BaseSwapNamespace.js.map +1 -0
  63. package/dist/swap/namespaces/WalletSwapNamespace.d.ts +22 -0
  64. package/dist/swap/namespaces/WalletSwapNamespace.d.ts.map +1 -0
  65. package/dist/swap/namespaces/WalletSwapNamespace.js +60 -0
  66. package/dist/swap/namespaces/WalletSwapNamespace.js.map +1 -0
  67. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts +2 -0
  68. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts.map +1 -0
  69. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js +106 -0
  70. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js.map +1 -0
  71. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts +2 -0
  72. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts.map +1 -0
  73. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js +132 -0
  74. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +1 -0
  75. package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts +68 -0
  76. package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +1 -0
  77. package/dist/swap/providers/uniswap/UniswapSwapProvider.js +206 -0
  78. package/dist/swap/providers/uniswap/UniswapSwapProvider.js.map +1 -0
  79. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts +2 -0
  80. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts.map +1 -0
  81. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js +257 -0
  82. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js.map +1 -0
  83. package/dist/swap/providers/uniswap/__tests__/sdk.test.d.ts +2 -0
  84. package/dist/swap/providers/uniswap/__tests__/sdk.test.d.ts.map +1 -0
  85. package/dist/swap/providers/uniswap/__tests__/sdk.test.js +312 -0
  86. package/dist/swap/providers/uniswap/__tests__/sdk.test.js.map +1 -0
  87. package/dist/swap/providers/uniswap/abis.d.ts +227 -0
  88. package/dist/swap/providers/uniswap/abis.d.ts.map +1 -0
  89. package/dist/swap/providers/uniswap/abis.js +138 -0
  90. package/dist/swap/providers/uniswap/abis.js.map +1 -0
  91. package/dist/swap/providers/uniswap/addresses.d.ts +21 -0
  92. package/dist/swap/providers/uniswap/addresses.d.ts.map +1 -0
  93. package/dist/swap/providers/uniswap/addresses.js +81 -0
  94. package/dist/swap/providers/uniswap/addresses.js.map +1 -0
  95. package/dist/swap/providers/uniswap/encoding.d.ts +77 -0
  96. package/dist/swap/providers/uniswap/encoding.d.ts.map +1 -0
  97. package/dist/swap/providers/uniswap/encoding.js +233 -0
  98. package/dist/swap/providers/uniswap/encoding.js.map +1 -0
  99. package/dist/swap/providers/uniswap/types.d.ts +20 -0
  100. package/dist/swap/providers/uniswap/types.d.ts.map +1 -0
  101. package/dist/swap/providers/uniswap/types.js +2 -0
  102. package/dist/swap/providers/uniswap/types.js.map +1 -0
  103. package/dist/types/actions.d.ts +19 -5
  104. package/dist/types/actions.d.ts.map +1 -1
  105. package/dist/types/index.d.ts +2 -0
  106. package/dist/types/index.d.ts.map +1 -1
  107. package/dist/types/index.js +2 -0
  108. package/dist/types/index.js.map +1 -1
  109. package/dist/types/lend/base.d.ts +3 -13
  110. package/dist/types/lend/base.d.ts.map +1 -1
  111. package/dist/types/lend/base.js.map +1 -1
  112. package/dist/types/swap/base.d.ts +238 -0
  113. package/dist/types/swap/base.d.ts.map +1 -0
  114. package/dist/types/swap/base.js +4 -0
  115. package/dist/types/swap/base.js.map +1 -0
  116. package/dist/types/swap/index.d.ts +2 -0
  117. package/dist/types/swap/index.d.ts.map +1 -0
  118. package/dist/types/swap/index.js +2 -0
  119. package/dist/types/swap/index.js.map +1 -0
  120. package/dist/types/transaction.d.ts +14 -0
  121. package/dist/types/transaction.d.ts.map +1 -0
  122. package/dist/types/transaction.js +2 -0
  123. package/dist/types/transaction.js.map +1 -0
  124. package/dist/utils/assets.d.ts +4 -5
  125. package/dist/utils/assets.d.ts.map +1 -1
  126. package/dist/utils/assets.js +4 -11
  127. package/dist/utils/assets.js.map +1 -1
  128. package/dist/utils/assets.test.js +13 -1
  129. package/dist/utils/assets.test.js.map +1 -1
  130. package/dist/utils/permit2.d.ts +46 -0
  131. package/dist/utils/permit2.d.ts.map +1 -0
  132. package/dist/utils/permit2.js +100 -0
  133. package/dist/utils/permit2.js.map +1 -0
  134. package/dist/utils/permit2.test.d.ts +2 -0
  135. package/dist/utils/permit2.test.d.ts.map +1 -0
  136. package/dist/utils/permit2.test.js +110 -0
  137. package/dist/utils/permit2.test.js.map +1 -0
  138. package/dist/utils/validation.d.ts +12 -0
  139. package/dist/utils/validation.d.ts.map +1 -0
  140. package/dist/utils/validation.js +44 -0
  141. package/dist/utils/validation.js.map +1 -0
  142. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts +7 -1
  143. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts.map +1 -1
  144. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js +2 -1
  145. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js.map +1 -1
  146. package/dist/wallet/core/providers/hosted/types/index.d.ts +5 -1
  147. package/dist/wallet/core/providers/hosted/types/index.d.ts.map +1 -1
  148. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts +7 -1
  149. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts.map +1 -1
  150. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js +5 -1
  151. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js.map +1 -1
  152. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js +2 -2
  153. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js.map +1 -1
  154. package/dist/wallet/core/wallets/abstract/Wallet.d.ts +13 -2
  155. package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -1
  156. package/dist/wallet/core/wallets/abstract/Wallet.js +7 -1
  157. package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -1
  158. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +7 -2
  159. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -1
  160. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js +6 -5
  161. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -1
  162. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +6 -1
  163. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
  164. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js +3 -1
  165. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
  166. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts.map +1 -1
  167. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js +4 -3
  168. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js.map +1 -1
  169. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +5 -1
  170. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
  171. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +4 -2
  172. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
  173. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts +6 -1
  174. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
  175. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js +4 -3
  176. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js.map +1 -1
  177. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts +5 -1
  178. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
  179. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
  180. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
  181. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts +7 -1
  182. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts.map +1 -1
  183. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js +6 -2
  184. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js.map +1 -1
  185. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js +1 -0
  186. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js.map +1 -1
  187. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +6 -1
  188. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
  189. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js +5 -2
  190. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
  191. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +1 -0
  192. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
  193. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +6 -3
  194. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
  195. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +5 -4
  196. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
  197. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.d.ts.map +1 -1
  198. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js +6 -6
  199. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js.map +1 -1
  200. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts +7 -1
  201. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts.map +1 -1
  202. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js +5 -3
  203. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js.map +1 -1
  204. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts +5 -1
  205. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
  206. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js +3 -3
  207. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js.map +1 -1
  208. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts +5 -1
  209. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
  210. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
  211. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
  212. package/package.json +2 -2
  213. package/src/__mocks__/MockAssets.ts +2 -0
  214. package/src/__tests__/actions.test.ts +0 -4
  215. package/src/actions.ts +57 -19
  216. package/src/constants/assets.ts +16 -0
  217. package/src/constants/contracts.ts +5 -0
  218. package/src/index.ts +30 -2
  219. package/src/lend/core/LendProvider.ts +6 -18
  220. package/src/lend/core/__tests__/LendProvider.test.ts +2 -5
  221. package/src/lend/providers/morpho/__tests__/sdk.test.ts +3 -2
  222. package/src/lend/providers/morpho/api.ts +4 -0
  223. package/src/lend/providers/morpho/sdk.ts +10 -1
  224. package/src/supported/tokens.ts +16 -2
  225. package/src/swap/__mocks__/MockSwapProvider.ts +216 -0
  226. package/src/swap/core/SwapProvider.ts +319 -0
  227. package/src/swap/core/__tests__/SwapProvider.test.ts +478 -0
  228. package/src/swap/index.ts +14 -0
  229. package/src/swap/namespaces/ActionsSwapNamespace.ts +7 -0
  230. package/src/swap/namespaces/BaseSwapNamespace.ts +77 -0
  231. package/src/swap/namespaces/WalletSwapNamespace.ts +82 -0
  232. package/src/swap/namespaces/__tests__/BaseSwapNamespace.spec.ts +138 -0
  233. package/src/swap/namespaces/__tests__/WalletSwapNamespace.spec.ts +162 -0
  234. package/src/swap/providers/uniswap/UniswapSwapProvider.ts +304 -0
  235. package/src/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.ts +299 -0
  236. package/src/swap/providers/uniswap/__tests__/sdk.test.ts +370 -0
  237. package/src/swap/providers/uniswap/abis.ts +144 -0
  238. package/src/swap/providers/uniswap/addresses.ts +108 -0
  239. package/src/swap/providers/uniswap/encoding.ts +406 -0
  240. package/src/swap/providers/uniswap/types.ts +24 -0
  241. package/src/types/actions.ts +22 -6
  242. package/src/types/index.ts +2 -0
  243. package/src/types/lend/base.ts +4 -14
  244. package/src/types/swap/base.ts +259 -0
  245. package/src/types/swap/index.ts +1 -0
  246. package/src/types/transaction.ts +14 -0
  247. package/src/utils/assets.test.ts +16 -1
  248. package/src/utils/assets.ts +13 -10
  249. package/src/utils/permit2.test.ts +142 -0
  250. package/src/utils/permit2.ts +144 -0
  251. package/src/utils/validation.ts +76 -0
  252. package/src/wallet/core/providers/hosted/abstract/HostedWalletProvider.ts +9 -1
  253. package/src/wallet/core/providers/hosted/types/index.ts +5 -1
  254. package/src/wallet/core/providers/smart/default/DefaultSmartWalletProvider.ts +13 -1
  255. package/src/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.ts +2 -0
  256. package/src/wallet/core/wallets/abstract/Wallet.ts +18 -2
  257. package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +14 -5
  258. package/src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts +13 -2
  259. package/src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts +10 -2
  260. package/src/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +8 -2
  261. package/src/wallet/node/wallets/hosted/privy/PrivyWallet.ts +11 -2
  262. package/src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts +10 -2
  263. package/src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts +10 -2
  264. package/src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts +1 -0
  265. package/src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts +9 -2
  266. package/src/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +1 -0
  267. package/src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +9 -4
  268. package/src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts +18 -6
  269. package/src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts +12 -2
  270. package/src/wallet/react/wallets/hosted/privy/PrivyWallet.ts +10 -2
  271. package/src/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.ts +10 -2
@@ -1,7 +1,8 @@
1
1
  import type { LocalAccount } from 'viem';
2
2
  import type { LendProvider } from '../../../../../lend/core/LendProvider.js';
3
3
  import type { ChainManager } from '../../../../../services/ChainManager.js';
4
- import type { LendProviderConfig } from '../../../../../types/actions.js';
4
+ import type { SwapProvider } from '../../../../../swap/core/SwapProvider.js';
5
+ import type { LendProviderConfig, SwapProviderConfig } from '../../../../../types/actions.js';
5
6
  import { HostedWalletProvider } from '../../../../core/providers/hosted/abstract/HostedWalletProvider.js';
6
7
  import type { Wallet } from '../../../../core/wallets/abstract/Wallet.js';
7
8
  import type { ReactToActionsOptionsMap } from '../types/index.js';
@@ -15,13 +16,15 @@ import type { ReactToActionsOptionsMap } from '../types/index.js';
15
16
  export declare class TurnkeyHostedWalletProvider extends HostedWalletProvider<'turnkey', ReactToActionsOptionsMap> {
16
17
  /**
17
18
  * Create a new Turnkey wallet provider
18
- * @param client - Turnkey browser client instance
19
- * @param organizationId - Turnkey organization ID that owns the signing key
20
19
  * @param chainManager - Chain manager used to resolve chains and RPC transports
20
+ * @param lendProviders - Optional lend providers for DeFi operations
21
+ * @param swapProviders - Optional swap providers for trading operations
21
22
  */
22
23
  constructor(chainManager: ChainManager, lendProviders?: {
23
24
  morpho?: LendProvider<LendProviderConfig>;
24
25
  aave?: LendProvider<LendProviderConfig>;
26
+ }, swapProviders?: {
27
+ uniswap?: SwapProvider<SwapProviderConfig>;
25
28
  });
26
29
  /**
27
30
  * Convert a Turnkey hosted wallet context into an Actions wallet
@@ -1 +1 @@
1
- {"version":3,"file":"TurnkeyHostedWalletProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.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;;;;;;GAMG;AACH,qBAAa,2BAA4B,SAAQ,oBAAoB,CACnE,SAAS,EACT,wBAAwB,CACzB;IACC;;;;;OAKG;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;IAKH;;;;;;;;;;OAUG;IACG,eAAe,CACnB,MAAM,EAAE,wBAAwB,CAAC,SAAS,CAAC,GAC1C,OAAO,CAAC,MAAM,CAAC;IAYlB;;;;;;;;;;;;OAYG;IACG,YAAY,CAChB,MAAM,EAAE,wBAAwB,CAAC,SAAS,CAAC,GAC1C,OAAO,CAAC,YAAY,CAAC;CAGzB"}
1
+ {"version":3,"file":"TurnkeyHostedWalletProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.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,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAChF,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;;;;;;GAMG;AACH,qBAAa,2BAA4B,SAAQ,oBAAoB,CACnE,SAAS,EACT,wBAAwB,CACzB;IACC;;;;;OAKG;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,EACD,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;KAC3C;IAKH;;;;;;;;;;OAUG;IACG,eAAe,CACnB,MAAM,EAAE,wBAAwB,CAAC,SAAS,CAAC,GAC1C,OAAO,CAAC,MAAM,CAAC;IAalB;;;;;;;;;;;;OAYG;IACG,YAAY,CAChB,MAAM,EAAE,wBAAwB,CAAC,SAAS,CAAC,GAC1C,OAAO,CAAC,YAAY,CAAC;CAGzB"}
@@ -11,12 +11,12 @@ import { createSigner } from '../../../wallets/hosted/turnkey/utils/createSigner
11
11
  export class TurnkeyHostedWalletProvider extends HostedWalletProvider {
12
12
  /**
13
13
  * Create a new Turnkey wallet provider
14
- * @param client - Turnkey browser client instance
15
- * @param organizationId - Turnkey organization ID that owns the signing key
16
14
  * @param chainManager - Chain manager used to resolve chains and RPC transports
15
+ * @param lendProviders - Optional lend providers for DeFi operations
16
+ * @param swapProviders - Optional swap providers for trading operations
17
17
  */
18
- constructor(chainManager, lendProviders) {
19
- super(chainManager, lendProviders);
18
+ constructor(chainManager, lendProviders, swapProviders) {
19
+ super(chainManager, lendProviders, swapProviders);
20
20
  }
21
21
  /**
22
22
  * Convert a Turnkey hosted wallet context into an Actions wallet
@@ -38,6 +38,7 @@ export class TurnkeyHostedWalletProvider extends HostedWalletProvider {
38
38
  ethereumAddress,
39
39
  chainManager: this.chainManager,
40
40
  lendProviders: this.lendProviders,
41
+ swapProviders: this.swapProviders,
41
42
  });
42
43
  }
43
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TurnkeyHostedWalletProvider.js","sourceRoot":"","sources":["../../../../../../src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.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;;;;;;GAMG;AACH,MAAM,OAAO,2BAA4B,SAAQ,oBAGhD;IACC;;;;;OAKG;IACH,YACE,YAA0B,EAC1B,aAGC;QAED,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;IACpC,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,eAAe,CACnB,MAA2C;QAE3C,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,CAAA;QACpE,OAAO,aAAa,CAAC,MAAM,CAAC;YAC1B,MAAM;YACN,cAAc;YACd,QAAQ;YACR,eAAe;YACf,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,YAAY,CAChB,MAA2C;QAE3C,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"TurnkeyHostedWalletProvider.js","sourceRoot":"","sources":["../../../../../../src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AAGtG,OAAO,EAAE,aAAa,EAAE,MAAM,wDAAwD,CAAA;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,6DAA6D,CAAA;AAE1F;;;;;;GAMG;AACH,MAAM,OAAO,2BAA4B,SAAQ,oBAGhD;IACC;;;;;OAKG;IACH,YACE,YAA0B,EAC1B,aAGC,EACD,aAEC;QAED,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,CAAC,CAAA;IACnD,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,eAAe,CACnB,MAA2C;QAE3C,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,CAAA;QACpE,OAAO,aAAa,CAAC,MAAM,CAAC;YAC1B,MAAM;YACN,cAAc;YACd,QAAQ;YACR,eAAe;YACf,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,YAAY,CAChB,MAA2C;QAE3C,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReactHostedWalletProviderRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yEAAyE,CAAA;AAItH,OAAO,KAAK,EACV,8BAA8B,EAC9B,eAAe,EACf,kBAAkB,EACnB,MAAM,gDAAgD,CAAA;AAEvD;;;;;;;;GAQG;AACH,qBAAa,iCAAkC,SAAQ,4BAA4B,CACjF,8BAA8B,EAC9B,eAAe,EACf,kBAAkB,CACnB;;CAiCA"}
1
+ {"version":3,"file":"ReactHostedWalletProviderRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yEAAyE,CAAA;AAItH,OAAO,KAAK,EACV,8BAA8B,EAC9B,eAAe,EACf,kBAAkB,EACnB,MAAM,gDAAgD,CAAA;AAEvD;;;;;;;;GAQG;AACH,qBAAa,iCAAkC,SAAQ,4BAA4B,CACjF,8BAA8B,EAC9B,eAAe,EACf,kBAAkB,CACnB;;CA6CA"}
@@ -19,8 +19,8 @@ export class ReactHostedWalletProviderRegistry extends HostedWalletProviderRegis
19
19
  validateOptions(_options) {
20
20
  return true;
21
21
  },
22
- create({ chainManager, lendProviders }, _options) {
23
- return new DynamicHostedWalletProvider(chainManager, lendProviders);
22
+ create({ chainManager, lendProviders, swapProviders }, _options) {
23
+ return new DynamicHostedWalletProvider(chainManager, lendProviders, swapProviders);
24
24
  },
25
25
  });
26
26
  this.register({
@@ -28,8 +28,8 @@ export class ReactHostedWalletProviderRegistry extends HostedWalletProviderRegis
28
28
  validateOptions(_options) {
29
29
  return true;
30
30
  },
31
- create({ chainManager, lendProviders }, _options) {
32
- return new PrivyHostedWalletProvider(chainManager, lendProviders);
31
+ create({ chainManager, lendProviders, swapProviders }, _options) {
32
+ return new PrivyHostedWalletProvider(chainManager, lendProviders, swapProviders);
33
33
  },
34
34
  });
35
35
  this.register({
@@ -37,8 +37,8 @@ export class ReactHostedWalletProviderRegistry extends HostedWalletProviderRegis
37
37
  validateOptions(_options) {
38
38
  return true;
39
39
  },
40
- create({ chainManager, lendProviders }, _options) {
41
- return new TurnkeyHostedWalletProvider(chainManager, lendProviders);
40
+ create({ chainManager, lendProviders, swapProviders }, _options) {
41
+ return new TurnkeyHostedWalletProvider(chainManager, lendProviders, swapProviders);
42
42
  },
43
43
  });
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReactHostedWalletProviderRegistry.js","sourceRoot":"","sources":["../../../../../src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yEAAyE,CAAA;AACtH,OAAO,EAAE,2BAA2B,EAAE,MAAM,wEAAwE,CAAA;AACpH,OAAO,EAAE,yBAAyB,EAAE,MAAM,oEAAoE,CAAA;AAC9G,OAAO,EAAE,2BAA2B,EAAE,MAAM,wEAAwE,CAAA;AAOpH;;;;;;;;GAQG;AACH,MAAM,OAAO,iCAAkC,SAAQ,4BAItD;IACC;QACE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,CAAY;YACvB,IAAI,EAAE,SAAS;YACf,eAAe,CAAC,QAAQ;gBACtB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,QAAQ;gBAC9C,OAAO,IAAI,2BAA2B,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;YACrE,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAU;YACrB,IAAI,EAAE,OAAO;YACb,eAAe,CAAC,QAAQ;gBACtB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,QAAQ;gBAC9C,OAAO,IAAI,yBAAyB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;YACnE,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAY;YACvB,IAAI,EAAE,SAAS;YACf,eAAe,CAAC,QAAQ;gBACtB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,QAAQ;gBAC9C,OAAO,IAAI,2BAA2B,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;YACrE,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"ReactHostedWalletProviderRegistry.js","sourceRoot":"","sources":["../../../../../src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yEAAyE,CAAA;AACtH,OAAO,EAAE,2BAA2B,EAAE,MAAM,wEAAwE,CAAA;AACpH,OAAO,EAAE,yBAAyB,EAAE,MAAM,oEAAoE,CAAA;AAC9G,OAAO,EAAE,2BAA2B,EAAE,MAAM,wEAAwE,CAAA;AAOpH;;;;;;;;GAQG;AACH,MAAM,OAAO,iCAAkC,SAAQ,4BAItD;IACC;QACE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,CAAY;YACvB,IAAI,EAAE,SAAS;YACf,eAAe,CAAC,QAAQ;gBACtB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,QAAQ;gBAC7D,OAAO,IAAI,2BAA2B,CACpC,YAAY,EACZ,aAAa,EACb,aAAa,CACd,CAAA;YACH,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAU;YACrB,IAAI,EAAE,OAAO;YACb,eAAe,CAAC,QAAQ;gBACtB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,QAAQ;gBAC7D,OAAO,IAAI,yBAAyB,CAClC,YAAY,EACZ,aAAa,EACb,aAAa,CACd,CAAA;YACH,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAY;YACvB,IAAI,EAAE,SAAS;YACf,eAAe,CAAC,QAAQ;gBACtB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,QAAQ;gBAC7D,OAAO,IAAI,2BAA2B,CACpC,YAAY,EACZ,aAAa,EACb,aAAa,CACd,CAAA;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,7 +1,8 @@
1
1
  import { type Address, type LocalAccount } from 'viem';
2
2
  import type { LendProvider } from '../../../../../lend/core/LendProvider.js';
3
3
  import type { ChainManager } from '../../../../../services/ChainManager.js';
4
- import type { LendProviderConfig } from '../../../../../types/actions.js';
4
+ import type { SwapProvider } from '../../../../../swap/core/SwapProvider.js';
5
+ import type { LendProviderConfig, SwapProviderConfig } from '../../../../../types/actions.js';
5
6
  import { EOAWallet } from '../../../../core/wallets/eoa/EOAWallet.js';
6
7
  import type { DynamicHostedWalletToActionsWalletOptions } from '../../../providers/hosted/types/index.js';
7
8
  /**
@@ -16,6 +17,8 @@ export declare class DynamicWallet extends EOAWallet {
16
17
  * Create a new Dynamic wallet
17
18
  * @param chainManager - Chain manager for RPC, chain info, and transports
18
19
  * @param dynamicWallet - Dynamic Labs wallet instance (EVM)
20
+ * @param lendProviders - Optional lend providers for DeFi operations
21
+ * @param swapProviders - Optional swap providers for trading operations
19
22
  */
20
23
  private constructor();
21
24
  static create(params: {
@@ -25,6 +28,9 @@ export declare class DynamicWallet extends EOAWallet {
25
28
  morpho?: LendProvider<LendProviderConfig>;
26
29
  aave?: LendProvider<LendProviderConfig>;
27
30
  };
31
+ swapProviders?: {
32
+ uniswap?: SwapProvider<SwapProviderConfig>;
33
+ };
28
34
  }): Promise<DynamicWallet>;
29
35
  /**
30
36
  * Initialize the DynamicWallet by creating the signer account
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicWallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts"],"names":[],"mappings":"AAAA,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,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,KAAK,EAAE,yCAAyC,EAAE,MAAM,gDAAgD,CAAA;AAG/G;;;GAGG;AACH,qBAAa,aAAc,SAAQ,SAAS;IACnC,MAAM,EAAG,YAAY,CAAA;IACrB,OAAO,EAAG,OAAO,CAAA;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqD;IAEnF;;;;OAIG;IACH,OAAO;WAYM,MAAM,CAAC,MAAM,EAAE;QAC1B,aAAa,EAAE,yCAAyC,CAAC,QAAQ,CAAC,CAAA;QAClE,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;KACF,GAAG,OAAO,CAAC,aAAa,CAAC;IAU1B;;OAEG;cACa,qBAAqB;IAKrC;;;;;;;OAOG;YACW,YAAY;CAK3B"}
1
+ {"version":3,"file":"DynamicWallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts"],"names":[],"mappings":"AAAA,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,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,KAAK,EAAE,yCAAyC,EAAE,MAAM,gDAAgD,CAAA;AAG/G;;;GAGG;AACH,qBAAa,aAAc,SAAQ,SAAS;IACnC,MAAM,EAAG,YAAY,CAAA;IACrB,OAAO,EAAG,OAAO,CAAA;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqD;IAEnF;;;;;;OAMG;IACH,OAAO;WAeM,MAAM,CAAC,MAAM,EAAE;QAC1B,aAAa,EAAE,yCAAyC,CAAC,QAAQ,CAAC,CAAA;QAClE,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,aAAa,CAAC,EAAE;YACd,OAAO,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;SAC3C,CAAA;KACF,GAAG,OAAO,CAAC,aAAa,CAAC;IAW1B;;OAEG;cACa,qBAAqB;IAKrC;;;;;;;OAOG;YACW,YAAY;CAK3B"}
@@ -9,13 +9,15 @@ export class DynamicWallet extends EOAWallet {
9
9
  * Create a new Dynamic wallet
10
10
  * @param chainManager - Chain manager for RPC, chain info, and transports
11
11
  * @param dynamicWallet - Dynamic Labs wallet instance (EVM)
12
+ * @param lendProviders - Optional lend providers for DeFi operations
13
+ * @param swapProviders - Optional swap providers for trading operations
12
14
  */
13
- constructor(chainManager, dynamicWallet, lendProviders) {
14
- super(chainManager, lendProviders);
15
+ constructor(chainManager, dynamicWallet, lendProviders, swapProviders) {
16
+ super(chainManager, lendProviders, swapProviders);
15
17
  this.dynamicWallet = dynamicWallet;
16
18
  }
17
19
  static async create(params) {
18
- const wallet = new DynamicWallet(params.chainManager, params.dynamicWallet, params.lendProviders);
20
+ const wallet = new DynamicWallet(params.chainManager, params.dynamicWallet, params.lendProviders, params.swapProviders);
19
21
  await wallet.initialize();
20
22
  return wallet;
21
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicWallet.js","sourceRoot":"","sources":["../../../../../../src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,6DAA6D,CAAA;AAE1F;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAK1C;;;;OAIG;IACH,YACE,YAA0B,EAC1B,aAAkE,EAClE,aAGC;QAED,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;QAClC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAOnB;QACC,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,aAAa,CACrB,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;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IACpC,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,YAAY;QACxB,OAAO,YAAY,CAAC;YAClB,MAAM,EAAE,IAAI,CAAC,aAAa;SAC3B,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"DynamicWallet.js","sourceRoot":"","sources":["../../../../../../src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,6DAA6D,CAAA;AAE1F;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAK1C;;;;;;OAMG;IACH,YACE,YAA0B,EAC1B,aAAkE,EAClE,aAGC,EACD,aAEC;QAED,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,CAAC,CAAA;QACjD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAUnB;QACC,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,aAAa,CACrB,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;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IACpC,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,YAAY;QACxB,OAAO,YAAY,CAAC;YAClB,MAAM,EAAE,IAAI,CAAC,aAAa;SAC3B,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -2,7 +2,8 @@ import type { ConnectedWallet } from '@privy-io/react-auth';
2
2
  import type { Address, LocalAccount } from 'viem';
3
3
  import type { LendProvider } from '../../../../../lend/core/LendProvider.js';
4
4
  import type { ChainManager } from '../../../../../services/ChainManager.js';
5
- import type { LendProviderConfig } from '../../../../../types/actions.js';
5
+ import type { SwapProvider } from '../../../../../swap/core/SwapProvider.js';
6
+ import type { LendProviderConfig, SwapProviderConfig } from '../../../../../types/actions.js';
6
7
  import { EOAWallet } from '../../../../core/wallets/eoa/EOAWallet.js';
7
8
  /**
8
9
  * Privy wallet implementation
@@ -20,6 +21,9 @@ export declare class PrivyWallet extends EOAWallet {
20
21
  morpho?: LendProvider<LendProviderConfig>;
21
22
  aave?: LendProvider<LendProviderConfig>;
22
23
  };
24
+ swapProviders?: {
25
+ uniswap?: SwapProvider<SwapProviderConfig>;
26
+ };
23
27
  }): Promise<PrivyWallet>;
24
28
  /**
25
29
  * Initialize the PrivyWallet by creating the signer account
@@ -1 +1 @@
1
- {"version":3,"file":"PrivyWallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/react/wallets/hosted/privy/PrivyWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,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,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAGlE;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACjC,OAAO,EAAG,OAAO,CAAA;IACjB,MAAM,EAAG,YAAY,CAAA;IAE5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IAEjD,OAAO;WAYM,MAAM,CAAC,MAAM,EAAE;QAC1B,YAAY,EAAE,YAAY,CAAA;QAC1B,eAAe,EAAE,eAAe,CAAA;QAChC,aAAa,CAAC,EAAE;YACd,MAAM,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;YACzC,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;SACxC,CAAA;KACF,GAAG,OAAO,CAAC,WAAW,CAAC;IAUxB;;OAEG;cACa,qBAAqB;IAKrC;;;;;;;OAOG;YACW,YAAY;CAK3B"}
1
+ {"version":3,"file":"PrivyWallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/react/wallets/hosted/privy/PrivyWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,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,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAGlE;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACjC,OAAO,EAAG,OAAO,CAAA;IACjB,MAAM,EAAG,YAAY,CAAA;IAE5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IAEjD,OAAO;WAeM,MAAM,CAAC,MAAM,EAAE;QAC1B,YAAY,EAAE,YAAY,CAAA;QAC1B,eAAe,EAAE,eAAe,CAAA;QAChC,aAAa,CAAC,EAAE;YACd,MAAM,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;YACzC,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;SACxC,CAAA;QACD,aAAa,CAAC,EAAE;YACd,OAAO,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;SAC3C,CAAA;KACF,GAAG,OAAO,CAAC,WAAW,CAAC;IAWxB;;OAEG;cACa,qBAAqB;IAKrC;;;;;;;OAOG;YACW,YAAY;CAK3B"}
@@ -5,12 +5,12 @@ import { createSigner } from './utils/createSigner.js';
5
5
  * @description Wallet implementation using Privy service
6
6
  */
7
7
  export class PrivyWallet extends EOAWallet {
8
- constructor(chainManager, connectedWallet, lendProviders) {
9
- super(chainManager, lendProviders);
8
+ constructor(chainManager, connectedWallet, lendProviders, swapProviders) {
9
+ super(chainManager, lendProviders, swapProviders);
10
10
  this.connectedWallet = connectedWallet;
11
11
  }
12
12
  static async create(params) {
13
- const wallet = new PrivyWallet(params.chainManager, params.connectedWallet, params.lendProviders);
13
+ const wallet = new PrivyWallet(params.chainManager, params.connectedWallet, params.lendProviders, params.swapProviders);
14
14
  await wallet.initialize();
15
15
  return wallet;
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PrivyWallet.js","sourceRoot":"","sources":["../../../../../../src/wallet/react/wallets/hosted/privy/PrivyWallet.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAA;AAExF;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IAMxC,YACE,YAA0B,EAC1B,eAAgC,EAChC,aAGC;QAED,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;QAClC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAOnB;QACC,MAAM,MAAM,GAAG,IAAI,WAAW,CAC5B,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,aAAa,CACrB,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;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IACpC,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,YAAY;QACxB,OAAO,YAAY,CAAC;YAClB,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"PrivyWallet.js","sourceRoot":"","sources":["../../../../../../src/wallet/react/wallets/hosted/privy/PrivyWallet.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAA;AAExF;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IAMxC,YACE,YAA0B,EAC1B,eAAgC,EAChC,aAGC,EACD,aAEC;QAED,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,CAAC,CAAA;QACjD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAUnB;QACC,MAAM,MAAM,GAAG,IAAI,WAAW,CAC5B,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,aAAa,CACrB,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;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IACpC,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,YAAY;QACxB,OAAO,YAAY,CAAC;YAClB,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -2,7 +2,8 @@ import type { TurnkeySDKClientBase } from '@turnkey/react-wallet-kit';
2
2
  import type { Address, LocalAccount } from 'viem';
3
3
  import type { LendProvider } from '../../../../../lend/core/LendProvider.js';
4
4
  import type { ChainManager } from '../../../../../services/ChainManager.js';
5
- import type { LendProviderConfig } from '../../../../../types/actions.js';
5
+ import type { SwapProvider } from '../../../../../swap/core/SwapProvider.js';
6
+ import type { LendProviderConfig, SwapProviderConfig } from '../../../../../types/actions.js';
6
7
  import { EOAWallet } from '../../../../core/wallets/eoa/EOAWallet.js';
7
8
  /**
8
9
  * Turnkey wallet implementation
@@ -41,6 +42,9 @@ export declare class TurnkeyWallet extends EOAWallet {
41
42
  morpho?: LendProvider<LendProviderConfig>;
42
43
  aave?: LendProvider<LendProviderConfig>;
43
44
  };
45
+ swapProviders?: {
46
+ uniswap?: SwapProvider<SwapProviderConfig>;
47
+ };
44
48
  }): Promise<TurnkeyWallet>;
45
49
  protected performInitialization(): Promise<void>;
46
50
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TurnkeyWallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrE,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,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,CAAsB;IAC7C;;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;WA0BM,MAAM,CAAC,MAAM,EAAE;QAC1B,YAAY,EAAE,YAAY,CAAA;QAC1B,MAAM,EAAE,oBAAoB,CAAA;QAC5B,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;KACF,GAAG,OAAO,CAAC,aAAa,CAAC;cAMV,qBAAqB;IAKrC;;;;;;;;OAQG;YACW,YAAY;CAQ3B"}
1
+ {"version":3,"file":"TurnkeyWallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrE,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,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAChF,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,CAAsB;IAC7C;;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;WA8BM,MAAM,CAAC,MAAM,EAAE;QAC1B,YAAY,EAAE,YAAY,CAAA;QAC1B,MAAM,EAAE,oBAAoB,CAAA;QAC5B,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,aAAa,CAAC,EAAE;YACd,OAAO,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;SAC3C,CAAA;KACF,GAAG,OAAO,CAAC,aAAa,CAAC;cAMV,qBAAqB;IAKrC;;;;;;;;OAQG;YACW,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, lendProviders, } = params;
10
- super(chainManager, lendProviders);
9
+ const { chainManager, client, organizationId, signWith, ethereumAddress, lendProviders, swapProviders, } = params;
10
+ super(chainManager, lendProviders, swapProviders);
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/react/wallets/hosted/turnkey/TurnkeyWallet.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,6DAA6D,CAAA;AAE1F;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAuB1C,YAAoB,MAUnB;QACC,MAAM,EACJ,YAAY,EACZ,MAAM,EACN,cAAc,EACd,QAAQ,EACR,eAAe,EACf,aAAa,GACd,GAAG,MAAM,CAAA;QACV,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;QAClC,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,MAUnB;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;IAED;;;;;;;;OAQG;IACK,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/react/wallets/hosted/turnkey/TurnkeyWallet.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,6DAA6D,CAAA;AAE1F;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAuB1C,YAAoB,MAanB;QACC,MAAM,EACJ,YAAY,EACZ,MAAM,EACN,cAAc,EACd,QAAQ,EACR,eAAe,EACf,aAAa,EACb,aAAa,GACd,GAAG,MAAM,CAAA;QACV,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,CAAC,CAAA;QACjD,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,MAanB;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;IAED;;;;;;;;OAQG;IACK,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"}
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "url": "https://github.com/ethereum-optimism/actions/issues"
11
11
  },
12
12
  "type": "module",
13
- "version": "0.2.0",
13
+ "version": "0.3.0",
14
14
  "description": "TypeScript SDK for Actions",
15
15
  "main": "dist/index.js",
16
16
  "types": "dist/index.d.ts",
@@ -81,7 +81,7 @@
81
81
  "clean": "rm -rf dist types tsconfig.tsbuildinfo",
82
82
  "docs": "typedoc",
83
83
  "lint": "eslint \"**/*.{ts,tsx}\" && prettier --check \"**/*.{ts,tsx}\"",
84
- "lint:fix": "eslint \"**/*.{ts,tsx}\" --fix && prettier \"**/*.{ts,tsx}\" --write --loglevel=warn",
84
+ "lint:fix": "eslint \"**/*.{ts,tsx}\" --fix && prettier \"**/*.{ts,tsx}\" --write --log-level=warn",
85
85
  "test": "vitest --run --project unit",
86
86
  "test:supersim": "vitest --run --project supersim",
87
87
  "typecheck": "tsc --noEmit --emitDeclarationOnly false"
@@ -8,6 +8,7 @@ import type { Asset } from '@/types/asset.js'
8
8
  export const MockUSDCAsset: Asset = {
9
9
  address: {
10
10
  130: '0xA0b86991c431c924C2407E4C573C686cc8C6c5b7' as Address,
11
+ 84532: '0xA0b86991c431c924C2407E4C573C686cc8C6c5b7' as Address,
11
12
  },
12
13
  metadata: {
13
14
  decimals: 6,
@@ -23,6 +24,7 @@ export const MockUSDCAsset: Asset = {
23
24
  export const MockWETHAsset: Asset = {
24
25
  address: {
25
26
  130: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' as Address,
27
+ 84532: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' as Address,
26
28
  },
27
29
  metadata: {
28
30
  decimals: 18,
@@ -499,7 +499,6 @@ describe('Actions SDK', () => {
499
499
  chainId: unichain.id,
500
500
  },
501
501
  ],
502
- lend: {},
503
502
  wallet: {
504
503
  hostedWalletConfig: {
505
504
  provider: {
@@ -551,7 +550,6 @@ describe('Actions SDK', () => {
551
550
  chainId: unichain.id,
552
551
  },
553
552
  ],
554
- lend: {},
555
553
  wallet: {
556
554
  hostedWalletConfig: {
557
555
  provider: {
@@ -636,7 +634,6 @@ describe('Actions SDK', () => {
636
634
  chainId: unichain.id,
637
635
  },
638
636
  ],
639
- lend: {},
640
637
  wallet: {
641
638
  hostedWalletConfig: {
642
639
  provider: {
@@ -696,7 +693,6 @@ describe('Actions SDK', () => {
696
693
  chainId: unichain.id,
697
694
  },
698
695
  ],
699
- lend: {},
700
696
  wallet: {
701
697
  hostedWalletConfig: {
702
698
  provider: {
package/src/actions.ts CHANGED
@@ -3,10 +3,14 @@ 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
5
  import { SUPPORTED_TOKENS } from '@/supported/tokens.js'
6
+ import type { SwapProvider } from '@/swap/index.js'
7
+ import { UniswapSwapProvider } from '@/swap/index.js'
8
+ import { ActionsSwapNamespace } from '@/swap/namespaces/ActionsSwapNamespace.js'
6
9
  import type {
7
10
  ActionsConfig,
8
11
  AssetsConfig,
9
12
  LendProviderConfig,
13
+ SwapProviderConfig,
10
14
  } from '@/types/actions.js'
11
15
  import type { Asset } from '@/types/asset.js'
12
16
  import { WalletNamespace } from '@/wallet/core/namespace/WalletNamespace.js'
@@ -48,6 +52,10 @@ export class Actions<
48
52
  morpho?: LendProvider<LendProviderConfig>
49
53
  aave?: LendProvider<LendProviderConfig>
50
54
  } = {}
55
+ private _swap?: ActionsSwapNamespace
56
+ private _swapProviders: {
57
+ uniswap?: SwapProvider<SwapProviderConfig>
58
+ } = {}
51
59
  private _assetsConfig?: AssetsConfig
52
60
  private hostedWalletProvider!: THostedWalletProvidersSchema['providerInstances'][THostedWalletProviderType]
53
61
  private smartWalletProvider!: SmartWalletProvider
@@ -73,26 +81,28 @@ export class Actions<
73
81
  this.hostedWalletProviderRegistry = deps.hostedWalletProviderRegistry
74
82
  this._assetsConfig = config.assets
75
83
 
76
- // Create lending providers if configured
77
- if (config.lend) {
78
- if (config.lend.morpho) {
79
- this._lendProviders.morpho = new MorphoLendProvider(
80
- config.lend.morpho,
81
- this.chainManager,
82
- )
83
- }
84
-
85
- if (config.lend.aave) {
86
- this._lendProviders.aave = new AaveLendProvider(
87
- config.lend.aave,
88
- this.chainManager,
89
- )
90
- }
84
+ if (config.lend?.morpho) {
85
+ this._lendProviders.morpho = new MorphoLendProvider(
86
+ config.lend.morpho,
87
+ this.chainManager,
88
+ )
89
+ }
90
+ if (config.lend?.aave) {
91
+ this._lendProviders.aave = new AaveLendProvider(
92
+ config.lend.aave,
93
+ this.chainManager,
94
+ )
95
+ }
96
+ if (this._lendProviders.morpho || this._lendProviders.aave) {
97
+ this._lend = new ActionsLendNamespace(this._lendProviders)
98
+ }
91
99
 
92
- // Create lend namespace if any providers are configured
93
- if (this._lendProviders.morpho || this._lendProviders.aave) {
94
- this._lend = new ActionsLendNamespace(this._lendProviders)
95
- }
100
+ if (config.swap?.uniswap) {
101
+ this._swapProviders.uniswap = new UniswapSwapProvider(
102
+ config.swap.uniswap,
103
+ this.chainManager,
104
+ )
105
+ this._swap = new ActionsSwapNamespace(this._swapProviders)
96
106
  }
97
107
 
98
108
  this.wallet = this.createWalletNamespace(config.wallet)
@@ -125,6 +135,32 @@ export class Actions<
125
135
  return this._lendProviders
126
136
  }
127
137
 
138
+ /**
139
+ * Get swap operations interface
140
+ * @description Access to swap operations like price quotes and markets.
141
+ * Throws an error if no swap provider is configured in ActionsConfig.
142
+ * @returns ActionsSwapNamespace for swap operations
143
+ * @throws Error if swap provider not configured
144
+ */
145
+ get swap(): ActionsSwapNamespace {
146
+ if (!this._swap) {
147
+ throw new Error(
148
+ 'Swap provider not configured. Please add swap configuration to ActionsConfig.',
149
+ )
150
+ }
151
+ return this._swap
152
+ }
153
+
154
+ /**
155
+ * Get the swap provider instances
156
+ * @returns Object containing configured swap providers
157
+ */
158
+ get swapProviders(): {
159
+ uniswap?: SwapProvider<SwapProviderConfig>
160
+ } {
161
+ return this._swapProviders
162
+ }
163
+
128
164
  /**
129
165
  * Get the list of supported assets based on configuration
130
166
  * @description Returns filtered assets based on allow/block lists in assets config.
@@ -195,6 +231,7 @@ export class Actions<
195
231
  {
196
232
  chainManager: this.chainManager,
197
233
  lendProviders: this._lendProviders,
234
+ swapProviders: this._swapProviders,
198
235
  supportedAssets: this.getSupportedAssets(),
199
236
  },
200
237
  options,
@@ -207,6 +244,7 @@ export class Actions<
207
244
  this.smartWalletProvider = new DefaultSmartWalletProvider(
208
245
  this.chainManager,
209
246
  this._lendProviders,
247
+ this._swapProviders,
210
248
  this.getSupportedAssets(),
211
249
  config.smartWalletConfig.provider.attributionSuffix,
212
250
  )
@@ -45,6 +45,7 @@ export const WETH: Asset = {
45
45
  [baseSepolia.id]: '0x4200000000000000000000000000000000000006',
46
46
  [unichain.id]: '0x4200000000000000000000000000000000000006',
47
47
  [unichainSepolia.id]: '0x4200000000000000000000000000000000000006',
48
+ [worldchain.id]: '0x4200000000000000000000000000000000000006',
48
49
  },
49
50
  metadata: {
50
51
  symbol: 'WETH',
@@ -94,6 +95,21 @@ export const USDC_DEMO: Asset = {
94
95
  type: 'erc20',
95
96
  }
96
97
 
98
+ /**
99
+ * Demo OP token for testing
100
+ */
101
+ export const OP_DEMO: Asset = {
102
+ address: {
103
+ [baseSepolia.id]: '0xD6169405013E92387b78457Fa77d377cE8cD3EE8',
104
+ },
105
+ metadata: {
106
+ symbol: 'OP_DEMO',
107
+ name: 'OP',
108
+ decimals: 18,
109
+ },
110
+ type: 'erc20',
111
+ }
112
+
97
113
  /**
98
114
  * Morpho Token
99
115
  */
@@ -0,0 +1,5 @@
1
+ import type { Address } from 'viem'
2
+
3
+ /** Permit2 is deployed to the same address on all chains */
4
+ export const PERMIT2_ADDRESS: Address =
5
+ '0x000000000022D473030F116dDEE9F6B43aC78BA3'
package/src/index.ts CHANGED
@@ -1,6 +1,16 @@
1
1
  export type { Actions } from '@/actions.js'
2
- export { ETH, MORPHO, USDC, USDC_DEMO, WETH } from '@/constants/assets.js'
3
- export type { SupportedChainId } from '@/constants/supportedChains.js'
2
+ export {
3
+ ETH,
4
+ MORPHO,
5
+ OP_DEMO,
6
+ USDC,
7
+ USDC_DEMO,
8
+ WETH,
9
+ } from '@/constants/assets.js'
10
+ export {
11
+ SUPPORTED_CHAIN_IDS,
12
+ type SupportedChainId,
13
+ } from '@/constants/supportedChains.js'
4
14
  export * from '@/core/error/errors.js'
5
15
  export { LendProvider, MorphoLendProvider } from '@/lend/index.js'
6
16
  export {
@@ -8,6 +18,12 @@ export {
8
18
  getTokenBySymbol,
9
19
  SUPPORTED_TOKENS,
10
20
  } from '@/supported/tokens.js'
21
+ export {
22
+ SwapProvider,
23
+ type UniswapMarketConfig,
24
+ UniswapSwapProvider,
25
+ type UniswapSwapProviderConfig,
26
+ } from '@/swap/index.js'
11
27
  export type {
12
28
  ActionsConfig,
13
29
  ApyBreakdown,
@@ -24,10 +40,22 @@ export type {
24
40
  LendProviderConfig,
25
41
  LendTransaction,
26
42
  LendTransactionReceipt,
43
+ SwapConfig,
44
+ SwapExecuteParams,
45
+ SwapMarket,
46
+ SwapMarketConfig,
47
+ SwapMarketId,
48
+ SwapPrice,
49
+ SwapPriceParams,
50
+ SwapProviderConfig,
51
+ SwapReceipt,
52
+ SwapRoute,
53
+ SwapTransaction,
27
54
  TokenBalance,
28
55
  TransactionData,
29
56
  UserOperationTransactionReceipt,
30
57
  WalletConfig,
58
+ WalletSwapParams,
31
59
  } from '@/types/index.js'
32
60
  export { getAssetAddress, isAssetSupportedOnChain } from '@/utils/assets.js'
33
61
  export { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'