@eth-optimism/actions-sdk 0.0.2

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 (648) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +106 -0
  3. package/dist/actions.d.ts +58 -0
  4. package/dist/actions.d.ts.map +1 -0
  5. package/dist/actions.js +88 -0
  6. package/dist/actions.js.map +1 -0
  7. package/dist/actions.test.d.ts +2 -0
  8. package/dist/actions.test.d.ts.map +1 -0
  9. package/dist/actions.test.js +620 -0
  10. package/dist/actions.test.js.map +1 -0
  11. package/dist/constants/assets.d.ts +3 -0
  12. package/dist/constants/assets.d.ts.map +1 -0
  13. package/dist/constants/assets.js +16 -0
  14. package/dist/constants/assets.js.map +1 -0
  15. package/dist/constants/config.d.ts +10 -0
  16. package/dist/constants/config.d.ts.map +1 -0
  17. package/dist/constants/config.js +10 -0
  18. package/dist/constants/config.js.map +1 -0
  19. package/dist/constants/supportedChains.d.ts +3 -0
  20. package/dist/constants/supportedChains.d.ts.map +1 -0
  21. package/dist/constants/supportedChains.js +8 -0
  22. package/dist/constants/supportedChains.js.map +1 -0
  23. package/dist/core/asset/__mocks__/mockAsset.d.ts +6 -0
  24. package/dist/core/asset/__mocks__/mockAsset.d.ts.map +1 -0
  25. package/dist/core/asset/__mocks__/mockAsset.js +12 -0
  26. package/dist/core/asset/__mocks__/mockAsset.js.map +1 -0
  27. package/dist/core/error/errors.d.ts +19 -0
  28. package/dist/core/error/errors.d.ts.map +1 -0
  29. package/dist/core/error/errors.js +22 -0
  30. package/dist/core/error/errors.js.map +1 -0
  31. package/dist/core/utils/__tests__/retryOnStaleRead.spec.d.ts +2 -0
  32. package/dist/core/utils/__tests__/retryOnStaleRead.spec.d.ts.map +1 -0
  33. package/dist/core/utils/__tests__/retryOnStaleRead.spec.js +41 -0
  34. package/dist/core/utils/__tests__/retryOnStaleRead.spec.js.map +1 -0
  35. package/dist/core/utils/retryOnStaleRead.d.ts +14 -0
  36. package/dist/core/utils/retryOnStaleRead.d.ts.map +1 -0
  37. package/dist/core/utils/retryOnStaleRead.js +29 -0
  38. package/dist/core/utils/retryOnStaleRead.js.map +1 -0
  39. package/dist/index.d.ts +11 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +8 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/index.node.d.ts +5 -0
  44. package/dist/index.node.d.ts.map +1 -0
  45. package/dist/index.node.js +4 -0
  46. package/dist/index.node.js.map +1 -0
  47. package/dist/index.react.d.ts +5 -0
  48. package/dist/index.react.d.ts.map +1 -0
  49. package/dist/index.react.js +4 -0
  50. package/dist/index.react.js.map +1 -0
  51. package/dist/lend/__mocks__/mockLendTransaction.d.ts +22 -0
  52. package/dist/lend/__mocks__/mockLendTransaction.d.ts.map +1 -0
  53. package/dist/lend/__mocks__/mockLendTransaction.js +32 -0
  54. package/dist/lend/__mocks__/mockLendTransaction.js.map +1 -0
  55. package/dist/lend/core/LendProvider.d.ts +122 -0
  56. package/dist/lend/core/LendProvider.d.ts.map +1 -0
  57. package/dist/lend/core/LendProvider.js +183 -0
  58. package/dist/lend/core/LendProvider.js.map +1 -0
  59. package/dist/lend/core/__tests__/LendProvider.test.d.ts +2 -0
  60. package/dist/lend/core/__tests__/LendProvider.test.d.ts.map +1 -0
  61. package/dist/lend/core/__tests__/LendProvider.test.js +247 -0
  62. package/dist/lend/core/__tests__/LendProvider.test.js.map +1 -0
  63. package/dist/lend/index.d.ts +3 -0
  64. package/dist/lend/index.d.ts.map +1 -0
  65. package/dist/lend/index.js +3 -0
  66. package/dist/lend/index.js.map +1 -0
  67. package/dist/lend/namespaces/ActionsLendNamespace.d.ts +15 -0
  68. package/dist/lend/namespaces/ActionsLendNamespace.d.ts.map +1 -0
  69. package/dist/lend/namespaces/ActionsLendNamespace.js +17 -0
  70. package/dist/lend/namespaces/ActionsLendNamespace.js.map +1 -0
  71. package/dist/lend/namespaces/WalletLendNamespace.d.ts +36 -0
  72. package/dist/lend/namespaces/WalletLendNamespace.d.ts.map +1 -0
  73. package/dist/lend/namespaces/WalletLendNamespace.js +68 -0
  74. package/dist/lend/namespaces/WalletLendNamespace.js.map +1 -0
  75. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.d.ts +2 -0
  76. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.d.ts.map +1 -0
  77. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js +41 -0
  78. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js.map +1 -0
  79. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.d.ts +2 -0
  80. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.d.ts.map +1 -0
  81. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js +188 -0
  82. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js.map +1 -0
  83. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts +55 -0
  84. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts.map +1 -0
  85. package/dist/lend/providers/morpho/MorphoLendProvider.js +193 -0
  86. package/dist/lend/providers/morpho/MorphoLendProvider.js.map +1 -0
  87. package/dist/lend/providers/morpho/__mocks__/mockVault.d.ts +21 -0
  88. package/dist/lend/providers/morpho/__mocks__/mockVault.d.ts.map +1 -0
  89. package/dist/lend/providers/morpho/__mocks__/mockVault.js +27 -0
  90. package/dist/lend/providers/morpho/__mocks__/mockVault.js.map +1 -0
  91. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.d.ts +2 -0
  92. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.d.ts.map +1 -0
  93. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js +259 -0
  94. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js.map +1 -0
  95. package/dist/lend/providers/morpho/__tests__/api.test.d.ts +2 -0
  96. package/dist/lend/providers/morpho/__tests__/api.test.d.ts.map +1 -0
  97. package/dist/lend/providers/morpho/__tests__/api.test.js +66 -0
  98. package/dist/lend/providers/morpho/__tests__/api.test.js.map +1 -0
  99. package/dist/lend/providers/morpho/__tests__/sdk.test.d.ts +2 -0
  100. package/dist/lend/providers/morpho/__tests__/sdk.test.d.ts.map +1 -0
  101. package/dist/lend/providers/morpho/__tests__/sdk.test.js +332 -0
  102. package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +1 -0
  103. package/dist/lend/providers/morpho/api.d.ts +14 -0
  104. package/dist/lend/providers/morpho/api.d.ts.map +1 -0
  105. package/dist/lend/providers/morpho/api.js +76 -0
  106. package/dist/lend/providers/morpho/api.js.map +1 -0
  107. package/dist/lend/providers/morpho/sdk.d.ts +61 -0
  108. package/dist/lend/providers/morpho/sdk.d.ts.map +1 -0
  109. package/dist/lend/providers/morpho/sdk.js +300 -0
  110. package/dist/lend/providers/morpho/sdk.js.map +1 -0
  111. package/dist/nodeActionsFactory.d.ts +19 -0
  112. package/dist/nodeActionsFactory.d.ts.map +1 -0
  113. package/dist/nodeActionsFactory.js +17 -0
  114. package/dist/nodeActionsFactory.js.map +1 -0
  115. package/dist/reactActionsFactory.d.ts +19 -0
  116. package/dist/reactActionsFactory.d.ts.map +1 -0
  117. package/dist/reactActionsFactory.js +17 -0
  118. package/dist/reactActionsFactory.js.map +1 -0
  119. package/dist/services/ChainManager.d.ts +90 -0
  120. package/dist/services/ChainManager.d.ts.map +1 -0
  121. package/dist/services/ChainManager.js +183 -0
  122. package/dist/services/ChainManager.js.map +1 -0
  123. package/dist/services/ChainManager.spec.d.ts +2 -0
  124. package/dist/services/ChainManager.spec.d.ts.map +1 -0
  125. package/dist/services/ChainManager.spec.js +260 -0
  126. package/dist/services/ChainManager.spec.js.map +1 -0
  127. package/dist/services/tokenBalance.d.ts +15 -0
  128. package/dist/services/tokenBalance.d.ts.map +1 -0
  129. package/dist/services/tokenBalance.js +82 -0
  130. package/dist/services/tokenBalance.js.map +1 -0
  131. package/dist/services/tokenBalance.spec.d.ts +2 -0
  132. package/dist/services/tokenBalance.spec.d.ts.map +1 -0
  133. package/dist/services/tokenBalance.spec.js +73 -0
  134. package/dist/services/tokenBalance.spec.js.map +1 -0
  135. package/dist/supported/tokens.d.ts +25 -0
  136. package/dist/supported/tokens.d.ts.map +1 -0
  137. package/dist/supported/tokens.js +88 -0
  138. package/dist/supported/tokens.js.map +1 -0
  139. package/dist/test/MockAssets.d.ts +10 -0
  140. package/dist/test/MockAssets.d.ts.map +1 -0
  141. package/dist/test/MockAssets.js +29 -0
  142. package/dist/test/MockAssets.js.map +1 -0
  143. package/dist/test/MockChainManager.d.ts +31 -0
  144. package/dist/test/MockChainManager.d.ts.map +1 -0
  145. package/dist/test/MockChainManager.js +92 -0
  146. package/dist/test/MockChainManager.js.map +1 -0
  147. package/dist/test/MockLendProvider.d.ts +68 -0
  148. package/dist/test/MockLendProvider.d.ts.map +1 -0
  149. package/dist/test/MockLendProvider.js +258 -0
  150. package/dist/test/MockLendProvider.js.map +1 -0
  151. package/dist/test/MockMarkets.d.ts +15 -0
  152. package/dist/test/MockMarkets.d.ts.map +1 -0
  153. package/dist/test/MockMarkets.js +26 -0
  154. package/dist/test/MockMarkets.js.map +1 -0
  155. package/dist/test/MockPrivyClient.d.ts +66 -0
  156. package/dist/test/MockPrivyClient.d.ts.map +1 -0
  157. package/dist/test/MockPrivyClient.js +93 -0
  158. package/dist/test/MockPrivyClient.js.map +1 -0
  159. package/dist/test/utils.d.ts +2 -0
  160. package/dist/test/utils.d.ts.map +1 -0
  161. package/dist/test/utils.js +5 -0
  162. package/dist/test/utils.js.map +1 -0
  163. package/dist/types/actions.d.ts +69 -0
  164. package/dist/types/actions.d.ts.map +1 -0
  165. package/dist/types/actions.js +2 -0
  166. package/dist/types/actions.js.map +1 -0
  167. package/dist/types/asset.d.ts +32 -0
  168. package/dist/types/asset.d.ts.map +1 -0
  169. package/dist/types/asset.js +2 -0
  170. package/dist/types/asset.js.map +1 -0
  171. package/dist/types/chain.d.ts +26 -0
  172. package/dist/types/chain.d.ts.map +1 -0
  173. package/dist/types/chain.js +2 -0
  174. package/dist/types/chain.js.map +1 -0
  175. package/dist/types/index.d.ts +6 -0
  176. package/dist/types/index.d.ts.map +1 -0
  177. package/dist/types/index.js +6 -0
  178. package/dist/types/index.js.map +1 -0
  179. package/dist/types/lend/base.d.ts +370 -0
  180. package/dist/types/lend/base.d.ts.map +1 -0
  181. package/dist/types/lend/base.js +4 -0
  182. package/dist/types/lend/base.js.map +1 -0
  183. package/dist/types/lend/index.d.ts +3 -0
  184. package/dist/types/lend/index.d.ts.map +1 -0
  185. package/dist/types/lend/index.js +3 -0
  186. package/dist/types/lend/index.js.map +1 -0
  187. package/dist/types/lend/morpho.d.ts +7 -0
  188. package/dist/types/lend/morpho.d.ts.map +1 -0
  189. package/dist/types/lend/morpho.js +6 -0
  190. package/dist/types/lend/morpho.js.map +1 -0
  191. package/dist/types/wallet.d.ts +26 -0
  192. package/dist/types/wallet.d.ts.map +1 -0
  193. package/dist/types/wallet.js +2 -0
  194. package/dist/types/wallet.js.map +1 -0
  195. package/dist/utils/assets.d.ts +33 -0
  196. package/dist/utils/assets.d.ts.map +1 -0
  197. package/dist/utils/assets.js +53 -0
  198. package/dist/utils/assets.js.map +1 -0
  199. package/dist/utils/assets.test.d.ts +2 -0
  200. package/dist/utils/assets.test.d.ts.map +1 -0
  201. package/dist/utils/assets.test.js +24 -0
  202. package/dist/utils/assets.test.js.map +1 -0
  203. package/dist/utils/markets.d.ts +17 -0
  204. package/dist/utils/markets.d.ts.map +1 -0
  205. package/dist/utils/markets.js +25 -0
  206. package/dist/utils/markets.js.map +1 -0
  207. package/dist/utils/test.d.ts +117 -0
  208. package/dist/utils/test.d.ts.map +1 -0
  209. package/dist/utils/test.js +265 -0
  210. package/dist/utils/test.js.map +1 -0
  211. package/dist/wallet/core/namespace/WalletNamespace.d.ts +84 -0
  212. package/dist/wallet/core/namespace/WalletNamespace.d.ts.map +1 -0
  213. package/dist/wallet/core/namespace/WalletNamespace.js +89 -0
  214. package/dist/wallet/core/namespace/WalletNamespace.js.map +1 -0
  215. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.d.ts +2 -0
  216. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.d.ts.map +1 -0
  217. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js +249 -0
  218. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js.map +1 -0
  219. package/dist/wallet/core/providers/WalletProvider.d.ts +63 -0
  220. package/dist/wallet/core/providers/WalletProvider.d.ts.map +1 -0
  221. package/dist/wallet/core/providers/WalletProvider.js +85 -0
  222. package/dist/wallet/core/providers/WalletProvider.js.map +1 -0
  223. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.d.ts +2 -0
  224. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.d.ts.map +1 -0
  225. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js +246 -0
  226. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js.map +1 -0
  227. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts +33 -0
  228. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts.map +1 -0
  229. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js +13 -0
  230. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js.map +1 -0
  231. package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.d.ts +20 -0
  232. package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.d.ts.map +1 -0
  233. package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js +29 -0
  234. package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js.map +1 -0
  235. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.d.ts +2 -0
  236. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.d.ts.map +1 -0
  237. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js +52 -0
  238. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js.map +1 -0
  239. package/dist/wallet/core/providers/hosted/types/index.d.ts +70 -0
  240. package/dist/wallet/core/providers/hosted/types/index.d.ts.map +1 -0
  241. package/dist/wallet/core/providers/hosted/types/index.js +2 -0
  242. package/dist/wallet/core/providers/hosted/types/index.js.map +1 -0
  243. package/dist/wallet/core/providers/smart/abstract/SmartWalletProvider.d.ts +61 -0
  244. package/dist/wallet/core/providers/smart/abstract/SmartWalletProvider.d.ts.map +1 -0
  245. package/dist/wallet/core/providers/smart/abstract/SmartWalletProvider.js +7 -0
  246. package/dist/wallet/core/providers/smart/abstract/SmartWalletProvider.js.map +1 -0
  247. package/dist/wallet/core/providers/smart/abstract/types/index.d.ts +16 -0
  248. package/dist/wallet/core/providers/smart/abstract/types/index.d.ts.map +1 -0
  249. package/dist/wallet/core/providers/smart/abstract/types/index.js +2 -0
  250. package/dist/wallet/core/providers/smart/abstract/types/index.js.map +1 -0
  251. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts +77 -0
  252. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts.map +1 -0
  253. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js +125 -0
  254. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js.map +1 -0
  255. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.d.ts +2 -0
  256. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.d.ts.map +1 -0
  257. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js +325 -0
  258. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js.map +1 -0
  259. package/dist/wallet/core/wallets/abstract/Wallet.d.ts +96 -0
  260. package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -0
  261. package/dist/wallet/core/wallets/abstract/Wallet.js +81 -0
  262. package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -0
  263. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts +15 -0
  264. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts.map +1 -0
  265. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.js +18 -0
  266. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.js.map +1 -0
  267. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.d.ts +2 -0
  268. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.d.ts.map +1 -0
  269. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js +44 -0
  270. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js.map +1 -0
  271. package/dist/wallet/core/wallets/abstract/types/index.d.ts +30 -0
  272. package/dist/wallet/core/wallets/abstract/types/index.d.ts.map +1 -0
  273. package/dist/wallet/core/wallets/abstract/types/index.js +2 -0
  274. package/dist/wallet/core/wallets/abstract/types/index.js.map +1 -0
  275. package/dist/wallet/core/wallets/eoa/EOAWallet.d.ts +44 -0
  276. package/dist/wallet/core/wallets/eoa/EOAWallet.d.ts.map +1 -0
  277. package/dist/wallet/core/wallets/eoa/EOAWallet.js +67 -0
  278. package/dist/wallet/core/wallets/eoa/EOAWallet.js.map +1 -0
  279. package/dist/wallet/core/wallets/eoa/__mocks__/EOAWallet.d.ts +28 -0
  280. package/dist/wallet/core/wallets/eoa/__mocks__/EOAWallet.d.ts.map +1 -0
  281. package/dist/wallet/core/wallets/eoa/__mocks__/EOAWallet.js +51 -0
  282. package/dist/wallet/core/wallets/eoa/__mocks__/EOAWallet.js.map +1 -0
  283. package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.d.ts +2 -0
  284. package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.d.ts.map +1 -0
  285. package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.js +191 -0
  286. package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.js.map +1 -0
  287. package/dist/wallet/core/wallets/smart/abstract/SmartWallet.d.ts +69 -0
  288. package/dist/wallet/core/wallets/smart/abstract/SmartWallet.d.ts.map +1 -0
  289. package/dist/wallet/core/wallets/smart/abstract/SmartWallet.js +8 -0
  290. package/dist/wallet/core/wallets/smart/abstract/SmartWallet.js.map +1 -0
  291. package/dist/wallet/core/wallets/smart/abstract/__mocks__/SmartWallet.d.ts +43 -0
  292. package/dist/wallet/core/wallets/smart/abstract/__mocks__/SmartWallet.d.ts.map +1 -0
  293. package/dist/wallet/core/wallets/smart/abstract/__mocks__/SmartWallet.js +67 -0
  294. package/dist/wallet/core/wallets/smart/abstract/__mocks__/SmartWallet.js.map +1 -0
  295. package/dist/wallet/core/wallets/smart/abstract/types/index.d.ts +19 -0
  296. package/dist/wallet/core/wallets/smart/abstract/types/index.d.ts.map +1 -0
  297. package/dist/wallet/core/wallets/smart/abstract/types/index.js +2 -0
  298. package/dist/wallet/core/wallets/smart/abstract/types/index.js.map +1 -0
  299. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +191 -0
  300. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -0
  301. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js +436 -0
  302. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -0
  303. package/dist/wallet/core/wallets/smart/default/__mocks__/DefaultSmartWallet.d.ts +40 -0
  304. package/dist/wallet/core/wallets/smart/default/__mocks__/DefaultSmartWallet.d.ts.map +1 -0
  305. package/dist/wallet/core/wallets/smart/default/__mocks__/DefaultSmartWallet.js +72 -0
  306. package/dist/wallet/core/wallets/smart/default/__mocks__/DefaultSmartWallet.js.map +1 -0
  307. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.d.ts +2 -0
  308. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.d.ts.map +1 -0
  309. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js +561 -0
  310. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js.map +1 -0
  311. package/dist/wallet/core/wallets/smart/default/constants/index.d.ts +719 -0
  312. package/dist/wallet/core/wallets/smart/default/constants/index.d.ts.map +1 -0
  313. package/dist/wallet/core/wallets/smart/default/constants/index.js +480 -0
  314. package/dist/wallet/core/wallets/smart/default/constants/index.js.map +1 -0
  315. package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.d.ts +2 -0
  316. package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.d.ts.map +1 -0
  317. package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.js +52 -0
  318. package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.js.map +1 -0
  319. package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerIndexOnChain.spec.d.ts +2 -0
  320. package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerIndexOnChain.spec.d.ts.map +1 -0
  321. package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerIndexOnChain.spec.js +109 -0
  322. package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerIndexOnChain.spec.js.map +1 -0
  323. package/dist/wallet/core/wallets/smart/default/utils/__tests__/formatPublicKey.spec.d.ts +2 -0
  324. package/dist/wallet/core/wallets/smart/default/utils/__tests__/formatPublicKey.spec.d.ts.map +1 -0
  325. package/dist/wallet/core/wallets/smart/default/utils/__tests__/formatPublicKey.spec.js +22 -0
  326. package/dist/wallet/core/wallets/smart/default/utils/__tests__/formatPublicKey.spec.js.map +1 -0
  327. package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.d.ts +2 -0
  328. package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.d.ts.map +1 -0
  329. package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.js +44 -0
  330. package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.js.map +1 -0
  331. package/dist/wallet/core/wallets/smart/default/utils/findSignerInArray.d.ts +12 -0
  332. package/dist/wallet/core/wallets/smart/default/utils/findSignerInArray.d.ts.map +1 -0
  333. package/dist/wallet/core/wallets/smart/default/utils/findSignerInArray.js +23 -0
  334. package/dist/wallet/core/wallets/smart/default/utils/findSignerInArray.js.map +1 -0
  335. package/dist/wallet/core/wallets/smart/default/utils/findSignerIndexOnChain.d.ts +30 -0
  336. package/dist/wallet/core/wallets/smart/default/utils/findSignerIndexOnChain.d.ts.map +1 -0
  337. package/dist/wallet/core/wallets/smart/default/utils/findSignerIndexOnChain.js +40 -0
  338. package/dist/wallet/core/wallets/smart/default/utils/findSignerIndexOnChain.js.map +1 -0
  339. package/dist/wallet/core/wallets/smart/default/utils/formatPublicKey.d.ts +8 -0
  340. package/dist/wallet/core/wallets/smart/default/utils/formatPublicKey.d.ts.map +1 -0
  341. package/dist/wallet/core/wallets/smart/default/utils/formatPublicKey.js +13 -0
  342. package/dist/wallet/core/wallets/smart/default/utils/formatPublicKey.js.map +1 -0
  343. package/dist/wallet/core/wallets/smart/default/utils/getSignerPublicKey.d.ts +12 -0
  344. package/dist/wallet/core/wallets/smart/default/utils/getSignerPublicKey.d.ts.map +1 -0
  345. package/dist/wallet/core/wallets/smart/default/utils/getSignerPublicKey.js +18 -0
  346. package/dist/wallet/core/wallets/smart/default/utils/getSignerPublicKey.js.map +1 -0
  347. package/dist/wallet/core/wallets/smart/error/errors.d.ts +8 -0
  348. package/dist/wallet/core/wallets/smart/error/errors.d.ts.map +1 -0
  349. package/dist/wallet/core/wallets/smart/error/errors.js +9 -0
  350. package/dist/wallet/core/wallets/smart/error/errors.js.map +1 -0
  351. package/dist/wallet/node/index.d.ts +4 -0
  352. package/dist/wallet/node/index.d.ts.map +1 -0
  353. package/dist/wallet/node/index.js +3 -0
  354. package/dist/wallet/node/index.js.map +1 -0
  355. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +34 -0
  356. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -0
  357. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js +43 -0
  358. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -0
  359. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.d.ts +2 -0
  360. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.d.ts.map +1 -0
  361. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +80 -0
  362. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -0
  363. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts +15 -0
  364. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts.map +1 -0
  365. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js +37 -0
  366. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js.map +1 -0
  367. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.d.ts +2 -0
  368. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.d.ts.map +1 -0
  369. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js +62 -0
  370. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js.map +1 -0
  371. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +50 -0
  372. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -0
  373. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +60 -0
  374. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -0
  375. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.d.ts +2 -0
  376. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.d.ts.map +1 -0
  377. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +132 -0
  378. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -0
  379. package/dist/wallet/node/providers/hosted/types/index.d.ts +90 -0
  380. package/dist/wallet/node/providers/hosted/types/index.d.ts.map +1 -0
  381. package/dist/wallet/node/providers/hosted/types/index.js +2 -0
  382. package/dist/wallet/node/providers/hosted/types/index.js.map +1 -0
  383. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts +43 -0
  384. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -0
  385. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js +47 -0
  386. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js.map +1 -0
  387. package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.d.ts +2 -0
  388. package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.d.ts.map +1 -0
  389. package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js +105 -0
  390. package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js.map +1 -0
  391. package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.d.ts +2 -0
  392. package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.d.ts.map +1 -0
  393. package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.js +39 -0
  394. package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.js.map +1 -0
  395. package/dist/wallet/node/wallets/hosted/privy/utils/createSigner.d.ts +15 -0
  396. package/dist/wallet/node/wallets/hosted/privy/utils/createSigner.d.ts.map +1 -0
  397. package/dist/wallet/node/wallets/hosted/privy/utils/createSigner.js +23 -0
  398. package/dist/wallet/node/wallets/hosted/privy/utils/createSigner.js.map +1 -0
  399. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts +46 -0
  400. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -0
  401. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js +34 -0
  402. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -0
  403. package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.d.ts +2 -0
  404. package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.d.ts.map +1 -0
  405. package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js +82 -0
  406. package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js.map +1 -0
  407. package/dist/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.d.ts +2 -0
  408. package/dist/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.d.ts.map +1 -0
  409. package/dist/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js +61 -0
  410. package/dist/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js.map +1 -0
  411. package/dist/wallet/node/wallets/hosted/turnkey/utils/createSigner.d.ts +17 -0
  412. package/dist/wallet/node/wallets/hosted/turnkey/utils/createSigner.d.ts.map +1 -0
  413. package/dist/wallet/node/wallets/hosted/turnkey/utils/createSigner.js +24 -0
  414. package/dist/wallet/node/wallets/hosted/turnkey/utils/createSigner.js.map +1 -0
  415. package/dist/wallet/react/index.d.ts +3 -0
  416. package/dist/wallet/react/index.d.ts.map +1 -0
  417. package/dist/wallet/react/index.js +2 -0
  418. package/dist/wallet/react/index.js.map +1 -0
  419. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts +29 -0
  420. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts.map +1 -0
  421. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js +36 -0
  422. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js.map +1 -0
  423. package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.d.ts +33 -0
  424. package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.d.ts.map +1 -0
  425. package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.js +30 -0
  426. package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.js.map +1 -0
  427. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.d.ts +2 -0
  428. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.d.ts.map +1 -0
  429. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js +79 -0
  430. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js.map +1 -0
  431. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +29 -0
  432. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -0
  433. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js +38 -0
  434. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -0
  435. package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.d.ts +33 -0
  436. package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.d.ts.map +1 -0
  437. package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.js +29 -0
  438. package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.js.map +1 -0
  439. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.d.ts +2 -0
  440. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.d.ts.map +1 -0
  441. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +79 -0
  442. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -0
  443. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +49 -0
  444. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -0
  445. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +60 -0
  446. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -0
  447. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.d.ts +2 -0
  448. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.d.ts.map +1 -0
  449. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +110 -0
  450. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -0
  451. package/dist/wallet/react/providers/hosted/types/index.d.ts +86 -0
  452. package/dist/wallet/react/providers/hosted/types/index.d.ts.map +1 -0
  453. package/dist/wallet/react/providers/hosted/types/index.js +2 -0
  454. package/dist/wallet/react/providers/hosted/types/index.js.map +1 -0
  455. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.d.ts +15 -0
  456. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.d.ts.map +1 -0
  457. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js +46 -0
  458. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js.map +1 -0
  459. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.d.ts +2 -0
  460. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.d.ts.map +1 -0
  461. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js +68 -0
  462. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js.map +1 -0
  463. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts +39 -0
  464. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts.map +1 -0
  465. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js +43 -0
  466. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js.map +1 -0
  467. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts +16 -0
  468. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts.map +1 -0
  469. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.js +15 -0
  470. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.js.map +1 -0
  471. package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.d.ts +2 -0
  472. package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.d.ts.map +1 -0
  473. package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.js +117 -0
  474. package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.js.map +1 -0
  475. package/dist/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.d.ts +2 -0
  476. package/dist/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.d.ts.map +1 -0
  477. package/dist/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.js +62 -0
  478. package/dist/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.js.map +1 -0
  479. package/dist/wallet/react/wallets/hosted/dynamic/utils/createSigner.d.ts +13 -0
  480. package/dist/wallet/react/wallets/hosted/dynamic/utils/createSigner.d.ts.map +1 -0
  481. package/dist/wallet/react/wallets/hosted/dynamic/utils/createSigner.js +32 -0
  482. package/dist/wallet/react/wallets/hosted/dynamic/utils/createSigner.js.map +1 -0
  483. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts +34 -0
  484. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -0
  485. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js +38 -0
  486. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js.map +1 -0
  487. package/dist/wallet/react/wallets/hosted/privy/__mocks__/PrivyWalletMock.d.ts +16 -0
  488. package/dist/wallet/react/wallets/hosted/privy/__mocks__/PrivyWalletMock.d.ts.map +1 -0
  489. package/dist/wallet/react/wallets/hosted/privy/__mocks__/PrivyWalletMock.js +15 -0
  490. package/dist/wallet/react/wallets/hosted/privy/__mocks__/PrivyWalletMock.js.map +1 -0
  491. package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.d.ts +2 -0
  492. package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.d.ts.map +1 -0
  493. package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.js +95 -0
  494. package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.js.map +1 -0
  495. package/dist/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.d.ts +2 -0
  496. package/dist/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.d.ts.map +1 -0
  497. package/dist/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.js +55 -0
  498. package/dist/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.js.map +1 -0
  499. package/dist/wallet/react/wallets/hosted/privy/utils/createSigner.d.ts +13 -0
  500. package/dist/wallet/react/wallets/hosted/privy/utils/createSigner.d.ts.map +1 -0
  501. package/dist/wallet/react/wallets/hosted/privy/utils/createSigner.js +24 -0
  502. package/dist/wallet/react/wallets/hosted/privy/utils/createSigner.js.map +1 -0
  503. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts +53 -0
  504. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -0
  505. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js +43 -0
  506. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -0
  507. package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.d.ts +2 -0
  508. package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.d.ts.map +1 -0
  509. package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js +82 -0
  510. package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js.map +1 -0
  511. package/dist/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.d.ts +2 -0
  512. package/dist/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.d.ts.map +1 -0
  513. package/dist/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js +61 -0
  514. package/dist/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js.map +1 -0
  515. package/dist/wallet/react/wallets/hosted/turnkey/utils/createSigner.d.ts +17 -0
  516. package/dist/wallet/react/wallets/hosted/turnkey/utils/createSigner.d.ts.map +1 -0
  517. package/dist/wallet/react/wallets/hosted/turnkey/utils/createSigner.js +24 -0
  518. package/dist/wallet/react/wallets/hosted/turnkey/utils/createSigner.js.map +1 -0
  519. package/package.json +86 -0
  520. package/src/actions.test.ts +885 -0
  521. package/src/actions.ts +190 -0
  522. package/src/constants/assets.ts +20 -0
  523. package/src/constants/config.ts +9 -0
  524. package/src/constants/supportedChains.ts +10 -0
  525. package/src/core/asset/__mocks__/mockAsset.ts +13 -0
  526. package/src/core/error/errors.ts +27 -0
  527. package/src/core/utils/__tests__/retryOnStaleRead.spec.ts +56 -0
  528. package/src/core/utils/retryOnStaleRead.ts +39 -0
  529. package/src/index.node.ts +4 -0
  530. package/src/index.react.ts +4 -0
  531. package/src/index.ts +35 -0
  532. package/src/lend/__mocks__/mockLendTransaction.ts +47 -0
  533. package/src/lend/core/LendProvider.ts +311 -0
  534. package/src/lend/core/__tests__/LendProvider.test.ts +305 -0
  535. package/src/lend/index.ts +2 -0
  536. package/src/lend/namespaces/ActionsLendNamespace.ts +26 -0
  537. package/src/lend/namespaces/WalletLendNamespace.ts +116 -0
  538. package/src/lend/namespaces/__tests__/ActionsLendNamespace.spec.ts +58 -0
  539. package/src/lend/namespaces/__tests__/WalletLendNamespace.spec.ts +223 -0
  540. package/src/lend/providers/morpho/MorphoLendProvider.ts +258 -0
  541. package/src/lend/providers/morpho/__mocks__/mockVault.ts +28 -0
  542. package/src/lend/providers/morpho/__tests__/MorphoLendProvider.test.ts +356 -0
  543. package/src/lend/providers/morpho/__tests__/api.test.ts +104 -0
  544. package/src/lend/providers/morpho/__tests__/sdk.test.ts +366 -0
  545. package/src/lend/providers/morpho/api.ts +86 -0
  546. package/src/lend/providers/morpho/sdk.ts +418 -0
  547. package/src/nodeActionsFactory.ts +37 -0
  548. package/src/reactActionsFactory.ts +37 -0
  549. package/src/services/ChainManager.spec.ts +332 -0
  550. package/src/services/ChainManager.ts +237 -0
  551. package/src/services/tokenBalance.spec.ts +93 -0
  552. package/src/services/tokenBalance.ts +122 -0
  553. package/src/supported/tokens.ts +103 -0
  554. package/src/test/MockAssets.ts +33 -0
  555. package/src/test/MockChainManager.ts +138 -0
  556. package/src/test/MockLendProvider.ts +397 -0
  557. package/src/test/MockMarkets.ts +32 -0
  558. package/src/test/MockPrivyClient.ts +118 -0
  559. package/src/test/utils.ts +5 -0
  560. package/src/types/actions.ts +80 -0
  561. package/src/types/asset.ts +34 -0
  562. package/src/types/chain.ts +30 -0
  563. package/src/types/index.ts +5 -0
  564. package/src/types/lend/base.ts +415 -0
  565. package/src/types/lend/index.ts +2 -0
  566. package/src/types/lend/morpho.ts +16 -0
  567. package/src/types/wallet.ts +28 -0
  568. package/src/utils/assets.test.ts +28 -0
  569. package/src/utils/assets.ts +71 -0
  570. package/src/utils/markets.ts +35 -0
  571. package/src/utils/test.ts +379 -0
  572. package/src/wallet/core/namespace/WalletNamespace.ts +125 -0
  573. package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +398 -0
  574. package/src/wallet/core/providers/WalletProvider.ts +123 -0
  575. package/src/wallet/core/providers/__tests__/WalletProvider.spec.ts +374 -0
  576. package/src/wallet/core/providers/hosted/abstract/HostedWalletProvider.ts +45 -0
  577. package/src/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.ts +46 -0
  578. package/src/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.ts +77 -0
  579. package/src/wallet/core/providers/hosted/types/index.ts +76 -0
  580. package/src/wallet/core/providers/smart/abstract/SmartWalletProvider.ts +64 -0
  581. package/src/wallet/core/providers/smart/abstract/types/index.ts +17 -0
  582. package/src/wallet/core/providers/smart/default/DefaultSmartWalletProvider.ts +175 -0
  583. package/src/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.ts +467 -0
  584. package/src/wallet/core/wallets/abstract/Wallet.ts +149 -0
  585. package/src/wallet/core/wallets/abstract/__mocks__/TestWallet.ts +40 -0
  586. package/src/wallet/core/wallets/abstract/__tests__/Wallet.spec.ts +61 -0
  587. package/src/wallet/core/wallets/abstract/types/index.ts +42 -0
  588. package/src/wallet/core/wallets/eoa/EOAWallet.ts +96 -0
  589. package/src/wallet/core/wallets/eoa/__mocks__/EOAWallet.ts +112 -0
  590. package/src/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.ts +299 -0
  591. package/src/wallet/core/wallets/smart/abstract/SmartWallet.ts +93 -0
  592. package/src/wallet/core/wallets/smart/abstract/__mocks__/SmartWallet.ts +161 -0
  593. package/src/wallet/core/wallets/smart/abstract/types/index.ts +19 -0
  594. package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +598 -0
  595. package/src/wallet/core/wallets/smart/default/__mocks__/DefaultSmartWallet.ts +172 -0
  596. package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +781 -0
  597. package/src/wallet/core/wallets/smart/default/constants/index.ts +482 -0
  598. package/src/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.ts +68 -0
  599. package/src/wallet/core/wallets/smart/default/utils/__tests__/findSignerIndexOnChain.spec.ts +147 -0
  600. package/src/wallet/core/wallets/smart/default/utils/__tests__/formatPublicKey.spec.ts +28 -0
  601. package/src/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.ts +60 -0
  602. package/src/wallet/core/wallets/smart/default/utils/findSignerInArray.ts +30 -0
  603. package/src/wallet/core/wallets/smart/default/utils/findSignerIndexOnChain.ts +66 -0
  604. package/src/wallet/core/wallets/smart/default/utils/formatPublicKey.ts +14 -0
  605. package/src/wallet/core/wallets/smart/default/utils/getSignerPublicKey.ts +18 -0
  606. package/src/wallet/core/wallets/smart/error/errors.ts +18 -0
  607. package/src/wallet/node/index.ts +7 -0
  608. package/src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts +65 -0
  609. package/src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +112 -0
  610. package/src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts +55 -0
  611. package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +89 -0
  612. package/src/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +84 -0
  613. package/src/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +182 -0
  614. package/src/wallet/node/providers/hosted/types/index.ts +102 -0
  615. package/src/wallet/node/wallets/hosted/privy/PrivyWallet.ts +78 -0
  616. package/src/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts +142 -0
  617. package/src/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts +48 -0
  618. package/src/wallet/node/wallets/hosted/privy/utils/createSigner.ts +32 -0
  619. package/src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts +90 -0
  620. package/src/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.ts +104 -0
  621. package/src/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.ts +77 -0
  622. package/src/wallet/node/wallets/hosted/turnkey/utils/createSigner.ts +32 -0
  623. package/src/wallet/react/index.ts +5 -0
  624. package/src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts +54 -0
  625. package/src/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.ts +57 -0
  626. package/src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts +105 -0
  627. package/src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts +56 -0
  628. package/src/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.ts +56 -0
  629. package/src/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +103 -0
  630. package/src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +78 -0
  631. package/src/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +142 -0
  632. package/src/wallet/react/providers/hosted/types/index.ts +100 -0
  633. package/src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts +57 -0
  634. package/src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts +117 -0
  635. package/src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts +67 -0
  636. package/src/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.ts +22 -0
  637. package/src/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.ts +148 -0
  638. package/src/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.ts +82 -0
  639. package/src/wallet/react/wallets/hosted/dynamic/utils/createSigner.ts +38 -0
  640. package/src/wallet/react/wallets/hosted/privy/PrivyWallet.ts +63 -0
  641. package/src/wallet/react/wallets/hosted/privy/__mocks__/PrivyWalletMock.ts +22 -0
  642. package/src/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts +109 -0
  643. package/src/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts +66 -0
  644. package/src/wallet/react/wallets/hosted/privy/utils/createSigner.ts +30 -0
  645. package/src/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.ts +94 -0
  646. package/src/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.ts +99 -0
  647. package/src/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.ts +72 -0
  648. package/src/wallet/react/wallets/hosted/turnkey/utils/createSigner.ts +29 -0
@@ -0,0 +1,104 @@
1
+ import type { TurnkeySDKClientBase } from '@turnkey/core'
2
+ import type { TurnkeyClient as TurnkeyHttpClient } from '@turnkey/http'
3
+ import type { TurnkeyServerClient } from '@turnkey/sdk-server'
4
+ import { createAccount } from '@turnkey/viem'
5
+ import type { LocalAccount, WalletClient } from 'viem'
6
+ import { createWalletClient } from 'viem'
7
+ import { unichain } from 'viem/chains'
8
+ import { beforeEach, describe, expect, it, vi } from 'vitest'
9
+
10
+ import type { ChainManager } from '@/services/ChainManager.js'
11
+ import { MockChainManager } from '@/test/MockChainManager.js'
12
+ import { getRandomAddress } from '@/test/utils.js'
13
+ import { TurnkeyWallet } from '@/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js'
14
+
15
+ vi.mock('viem', async () => ({
16
+ // @ts-ignore - importActual returns unknown
17
+ ...(await vi.importActual('viem')),
18
+ createWalletClient: vi.fn(),
19
+ }))
20
+
21
+ vi.mock('@turnkey/viem', async () => ({
22
+ createAccount: vi.fn(),
23
+ }))
24
+
25
+ const mockAddress = getRandomAddress()
26
+ const mockChainManager = new MockChainManager({
27
+ supportedChains: [unichain.id],
28
+ }) as unknown as ChainManager
29
+
30
+ function createMockTurnkeyClient():
31
+ | TurnkeyHttpClient
32
+ | TurnkeyServerClient
33
+ | TurnkeySDKClientBase {
34
+ return {
35
+ // minimal shape for typing; createAccount uses this via @turnkey/viem
36
+ } as unknown as TurnkeyHttpClient
37
+ }
38
+
39
+ describe('TurnkeyWallet', () => {
40
+ beforeEach(() => {
41
+ vi.clearAllMocks()
42
+ })
43
+
44
+ it('should initialize signer and address from Turnkey account', async () => {
45
+ const mockLocalAccount = { address: mockAddress } as unknown as LocalAccount
46
+ vi.mocked(createAccount).mockResolvedValue(mockLocalAccount)
47
+
48
+ const wallet = await TurnkeyWallet.create({
49
+ client: createMockTurnkeyClient(),
50
+ organizationId: 'org_123',
51
+ signWith: 'key_abc',
52
+ chainManager: mockChainManager,
53
+ })
54
+
55
+ expect(wallet.address).toBe(mockAddress)
56
+ expect(wallet.signer).toBe(mockLocalAccount)
57
+ expect(createAccount).toHaveBeenCalledOnce()
58
+ const args = vi.mocked(createAccount).mock.calls[0][0]
59
+ expect(args.client).toEqual(createMockTurnkeyClient())
60
+ expect(args.organizationId).toBe('org_123')
61
+ expect(args.signWith).toBe('key_abc')
62
+ expect(args.ethereumAddress).toBeUndefined()
63
+ })
64
+
65
+ it('takes ethereumAddress', async () => {
66
+ const mockLocalAccount = { address: mockAddress } as unknown as LocalAccount
67
+ vi.mocked(createAccount).mockResolvedValue(mockLocalAccount)
68
+
69
+ await TurnkeyWallet.create({
70
+ client: createMockTurnkeyClient(),
71
+ organizationId: 'org_123',
72
+ signWith: 'key_abc',
73
+ ethereumAddress: '0x123',
74
+ chainManager: mockChainManager,
75
+ })
76
+
77
+ const args = vi.mocked(createAccount).mock.calls[0][0]
78
+ expect(args.ethereumAddress).toBe('0x123')
79
+ })
80
+
81
+ it('should create a wallet client with correct configuration', async () => {
82
+ const mockLocalAccount = { address: mockAddress } as unknown as LocalAccount
83
+ vi.mocked(createAccount).mockResolvedValue(mockLocalAccount)
84
+ const wallet = await TurnkeyWallet.create({
85
+ client: createMockTurnkeyClient(),
86
+ organizationId: 'org_123',
87
+ signWith: 'key_abc',
88
+ chainManager: mockChainManager,
89
+ })
90
+ const mockWalletClient = {
91
+ account: mockLocalAccount,
92
+ address: mockAddress,
93
+ } as unknown as WalletClient
94
+ vi.mocked(createWalletClient).mockResolvedValue(mockWalletClient)
95
+
96
+ const walletClient = await wallet.walletClient(unichain.id)
97
+
98
+ expect(createWalletClient).toHaveBeenCalledOnce()
99
+ const args = vi.mocked(createWalletClient).mock.calls[0][0]
100
+ expect(args.account).toBe(mockLocalAccount)
101
+ expect(args.chain).toBe(mockChainManager.getChain(unichain.id))
102
+ expect(walletClient).toBe(mockWalletClient)
103
+ })
104
+ })
@@ -0,0 +1,77 @@
1
+ import type { TurnkeySDKClientBase } from '@turnkey/core'
2
+ import type { TurnkeyClient as TurnkeyHttpClient } from '@turnkey/http'
3
+ import type { TurnkeyServerClient } from '@turnkey/sdk-server'
4
+ import { createAccount } from '@turnkey/viem'
5
+ import type { LocalAccount } from 'viem'
6
+ import { describe, expect, it, vi } from 'vitest'
7
+
8
+ import { getRandomAddress } from '@/test/utils.js'
9
+ import { createSigner } from '@/wallet/node/wallets/hosted/turnkey/utils/createSigner.js'
10
+
11
+ vi.mock('@turnkey/viem', async () => ({
12
+ createAccount: vi.fn(),
13
+ }))
14
+
15
+ function createMockTurnkeyClient():
16
+ | TurnkeyHttpClient
17
+ | TurnkeyServerClient
18
+ | TurnkeySDKClientBase {
19
+ return {
20
+ // minimal shape for typing; createAccount uses this via @turnkey/viem
21
+ } as unknown as TurnkeyHttpClient
22
+ }
23
+
24
+ describe('createSigner (Node Turnkey)', () => {
25
+ const mockAddress = getRandomAddress()
26
+
27
+ it('should create a LocalAccount with correct configuration', async () => {
28
+ const mockLocalAccount = {
29
+ address: mockAddress,
30
+ signMessage: vi.fn(),
31
+ sign: vi.fn(),
32
+ signTransaction: vi.fn(),
33
+ signTypedData: vi.fn(),
34
+ } as unknown as LocalAccount
35
+ vi.mocked(createAccount).mockResolvedValue(mockLocalAccount)
36
+
37
+ const client = createMockTurnkeyClient()
38
+ const signer = await createSigner({
39
+ client,
40
+ organizationId: 'org_123',
41
+ signWith: 'key_abc',
42
+ })
43
+
44
+ expect(createAccount).toHaveBeenCalledWith({
45
+ client,
46
+ organizationId: 'org_123',
47
+ signWith: 'key_abc',
48
+ ethereumAddress: undefined,
49
+ })
50
+ expect(signer).toBe(mockLocalAccount)
51
+ })
52
+
53
+ it('should pass ethereumAddress when provided', async () => {
54
+ const mockLocalAccount = {
55
+ address: mockAddress,
56
+ type: 'local',
57
+ } as unknown as LocalAccount
58
+ vi.mocked(createAccount).mockResolvedValue(mockLocalAccount)
59
+
60
+ const client = createMockTurnkeyClient()
61
+ const ethereumAddress = getRandomAddress()
62
+ const signer = await createSigner({
63
+ client,
64
+ organizationId: 'org_123',
65
+ signWith: 'key_abc',
66
+ ethereumAddress,
67
+ })
68
+
69
+ expect(createAccount).toHaveBeenCalledWith({
70
+ client,
71
+ organizationId: 'org_123',
72
+ signWith: 'key_abc',
73
+ ethereumAddress,
74
+ })
75
+ expect(signer).toBe(mockLocalAccount)
76
+ })
77
+ })
@@ -0,0 +1,32 @@
1
+ import { createAccount } from '@turnkey/viem'
2
+ import type { LocalAccount } from 'viem'
3
+
4
+ import type {
5
+ NodeOptionsMap,
6
+ TurnkeyHostedWalletToActionsWalletOptions,
7
+ } from '@/wallet/node/providers/hosted/types/index.js'
8
+
9
+ /**
10
+ * Create a viem LocalAccount instance backed by Turnkey
11
+ * @description Wraps the Turnkey SDK's `createAccount` to produce a signing
12
+ * account compatible with viem. Under the hood, this uses the provided
13
+ * `client`, `organizationId`, and `signWith` to authenticate signing requests
14
+ * with Turnkey. If `ethereumAddress` is supplied, it's used directly;
15
+ * otherwise the SDK fetches it from the Turnkey API.
16
+ * @param params.client - Turnkey client instance
17
+ * @param params.organizationId - Turnkey organization ID that owns the signing key
18
+ * @param params.signWith - Wallet account address, private key address, or private key ID
19
+ * @param params.ethereumAddress - Ethereum address to use for this account, in the case that a private key ID is used to sign.
20
+ * @returns Promise resolving to a viem `LocalAccount` with Turnkey as the signer backend
21
+ */
22
+ export async function createSigner(
23
+ params: TurnkeyHostedWalletToActionsWalletOptions & NodeOptionsMap['turnkey'],
24
+ ): Promise<LocalAccount> {
25
+ const { client, organizationId, signWith, ethereumAddress } = params
26
+ return createAccount({
27
+ client,
28
+ organizationId,
29
+ signWith,
30
+ ethereumAddress,
31
+ })
32
+ }
@@ -0,0 +1,5 @@
1
+ export type {
2
+ ReactHostedWalletProvidersSchema,
3
+ ReactProviderTypes,
4
+ } from '@/wallet/react/providers/hosted/types/index.js'
5
+ export { DynamicWallet } from '@/wallet/react/wallets/hosted/dynamic/DynamicWallet.js'
@@ -0,0 +1,54 @@
1
+ import type { LocalAccount } from 'viem'
2
+
3
+ import type { ChainManager } from '@/services/ChainManager.js'
4
+ import type { LendConfig, LendProvider } from '@/types/lend/index.js'
5
+ import { HostedWalletProvider } from '@/wallet/core/providers/hosted/abstract/HostedWalletProvider.js'
6
+ import type { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
7
+ import type { ReactToActionsOptionsMap } from '@/wallet/react/providers/hosted/types/index.js'
8
+ import { DynamicWallet } from '@/wallet/react/wallets/hosted/dynamic/DynamicWallet.js'
9
+ import { createSigner } from '@/wallet/react/wallets/hosted/dynamic/utils/createSigner.js'
10
+
11
+ /**
12
+ * Dynamic wallet provider implementation
13
+ * @description Wallet provider implementation using Dynamic service
14
+ */
15
+ export class DynamicHostedWalletProvider extends HostedWalletProvider<
16
+ 'dynamic',
17
+ ReactToActionsOptionsMap
18
+ > {
19
+ /**
20
+ * Create a new Dynamic wallet provider
21
+ */
22
+ constructor(
23
+ chainManager: ChainManager,
24
+ lendProvider?: LendProvider<LendConfig>,
25
+ ) {
26
+ super(chainManager, lendProvider)
27
+ }
28
+
29
+ async toActionsWallet(
30
+ params: ReactToActionsOptionsMap['dynamic'],
31
+ ): Promise<Wallet> {
32
+ return DynamicWallet.create({
33
+ dynamicWallet: params.wallet,
34
+ chainManager: this.chainManager,
35
+ lendProvider: this.lendProvider,
36
+ })
37
+ }
38
+
39
+ /**
40
+ * Create a viem LocalAccount signer from Dynamic credentials
41
+ * @description Produces a signing account backed by Dynamic without wrapping
42
+ * it in a full Actions wallet. This is useful when you need to pass the signer
43
+ * into an Actions smart wallet as a signer, for lower-level viem operations, or
44
+ * for passing to other libraries that accept a viem `LocalAccount`.
45
+ * @param params - Dynamic configuration for the signer
46
+ * @param params.wallet - Dynamic wallet instance
47
+ * @returns Promise resolving to a viem `LocalAccount` with Dynamic as the signer backend
48
+ */
49
+ async createSigner(
50
+ params: ReactToActionsOptionsMap['dynamic'],
51
+ ): Promise<LocalAccount> {
52
+ return createSigner(params)
53
+ }
54
+ }
@@ -0,0 +1,57 @@
1
+ import type { LocalAccount } from 'viem'
2
+ import { unichain } from 'viem/op-stack'
3
+ import { vi } from 'vitest'
4
+
5
+ import type { ChainManager } from '@/services/ChainManager.js'
6
+ import { MockChainManager } from '@/test/MockChainManager.js'
7
+ import { HostedWalletProvider } from '@/wallet/core/providers/hosted/abstract/HostedWalletProvider.js'
8
+ import type { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
9
+ import type {
10
+ DynamicHostedWalletToActionsWalletOptions,
11
+ ReactToActionsOptionsMap,
12
+ } from '@/wallet/react/providers/hosted/types/index.js'
13
+
14
+ /**
15
+ * Minimal mock implementation matching the shape of HostedWalletProvider<'dynamic'>
16
+ * for use in unit tests without importing browser-only dependencies.
17
+ */
18
+ export class DynamicHostedWalletProviderMock extends HostedWalletProvider<
19
+ 'dynamic',
20
+ ReactToActionsOptionsMap
21
+ > {
22
+ // Exposed mock for assertions if needed
23
+ public readonly toActionsWalletMock = vi.fn(
24
+ async (
25
+ _params: DynamicHostedWalletToActionsWalletOptions,
26
+ ): Promise<Wallet> => {
27
+ return {} as unknown as Wallet
28
+ },
29
+ )
30
+
31
+ public readonly createSignerMock = vi.fn(
32
+ async (
33
+ _params: DynamicHostedWalletToActionsWalletOptions,
34
+ ): Promise<LocalAccount> => {
35
+ return {} as unknown as LocalAccount
36
+ },
37
+ )
38
+
39
+ constructor() {
40
+ const mockChainManager = new MockChainManager({
41
+ supportedChains: [unichain.id],
42
+ }) as unknown as ChainManager
43
+ super(mockChainManager)
44
+ }
45
+
46
+ async toActionsWallet(
47
+ params: DynamicHostedWalletToActionsWalletOptions,
48
+ ): Promise<Wallet> {
49
+ return this.toActionsWalletMock(params)
50
+ }
51
+
52
+ async createSigner(
53
+ params: DynamicHostedWalletToActionsWalletOptions,
54
+ ): Promise<LocalAccount> {
55
+ return this.createSignerMock(params)
56
+ }
57
+ }
@@ -0,0 +1,105 @@
1
+ import type { LocalAccount } from 'viem'
2
+ import { describe, expect, it, vi } from 'vitest'
3
+
4
+ import type { ChainManager } from '@/services/ChainManager.js'
5
+ import { MockChainManager } from '@/test/MockChainManager.js'
6
+ import type { LendConfig, LendProvider } from '@/types/lend/index.js'
7
+ import { DynamicHostedWalletProvider } from '@/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js'
8
+ import type { DynamicHostedWalletToActionsWalletOptions } from '@/wallet/react/providers/hosted/types/index.js'
9
+ import { DynamicWallet } from '@/wallet/react/wallets/hosted/dynamic/DynamicWallet.js'
10
+ import * as createSignerUtil from '@/wallet/react/wallets/hosted/dynamic/utils/createSigner.js'
11
+
12
+ // Mock DynamicWallet to avoid importing browser-related deps
13
+ vi.mock('@/wallet/react/wallets/hosted/dynamic/DynamicWallet.js', async () => {
14
+ const { DynamicWalletMock } = await import(
15
+ '@/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.js'
16
+ )
17
+ return { DynamicWallet: DynamicWalletMock }
18
+ })
19
+
20
+ describe('DynamicHostedWalletProvider', () => {
21
+ describe('toActionsWallet', () => {
22
+ it('toActionsWallet delegates to DynamicWallet.create with correct args', async () => {
23
+ const mockChainManager = new MockChainManager({
24
+ supportedChains: [1],
25
+ }) as unknown as ChainManager
26
+ const provider = new DynamicHostedWalletProvider(mockChainManager)
27
+
28
+ const mockDynamicWallet = {
29
+ __brand: 'dynamic-wallet',
30
+ } as unknown as DynamicHostedWalletToActionsWalletOptions['wallet']
31
+ const mockResult = {
32
+ __brand: 'actions-wallet',
33
+ } as unknown as DynamicWallet
34
+ vi.mocked(DynamicWallet.create).mockResolvedValueOnce(mockResult)
35
+
36
+ const result = await provider.toActionsWallet({
37
+ wallet: mockDynamicWallet,
38
+ })
39
+
40
+ expect(DynamicWallet.create).toHaveBeenCalledTimes(1)
41
+ expect(DynamicWallet.create).toHaveBeenCalledWith({
42
+ dynamicWallet: mockDynamicWallet,
43
+ chainManager: mockChainManager,
44
+ })
45
+ expect(result).toBe(mockResult)
46
+ })
47
+
48
+ it('forwards lendProvider when provided to constructor', async () => {
49
+ const mockChainManager = new MockChainManager({
50
+ supportedChains: [1],
51
+ }) as unknown as ChainManager
52
+ const mockLendProvider = {} as any
53
+ const provider = new DynamicHostedWalletProvider(
54
+ mockChainManager,
55
+ mockLendProvider as LendProvider<LendConfig>,
56
+ )
57
+
58
+ const mockDynamicWallet = {
59
+ __brand: 'dynamic-wallet',
60
+ } as unknown as DynamicHostedWalletToActionsWalletOptions['wallet']
61
+ const mockResult = {
62
+ __brand: 'actions-wallet',
63
+ } as unknown as DynamicWallet
64
+ vi.mocked(DynamicWallet.create).mockResolvedValueOnce(mockResult)
65
+
66
+ await provider.toActionsWallet({
67
+ wallet: mockDynamicWallet,
68
+ })
69
+
70
+ expect(DynamicWallet.create).toHaveBeenCalledWith(
71
+ expect.objectContaining({
72
+ lendProvider: mockLendProvider,
73
+ }),
74
+ )
75
+ })
76
+ })
77
+
78
+ describe('createSigner', () => {
79
+ it('should delegate to createSigner utility with correct params', async () => {
80
+ const mockChainManager = new MockChainManager({
81
+ supportedChains: [1],
82
+ }) as unknown as ChainManager
83
+ const provider = new DynamicHostedWalletProvider(mockChainManager)
84
+
85
+ const mockDynamicWallet = {
86
+ __brand: 'dynamic-wallet',
87
+ } as unknown as DynamicHostedWalletToActionsWalletOptions['wallet']
88
+
89
+ const mockSigner = {
90
+ address: '0xabc',
91
+ type: 'local',
92
+ } as unknown as LocalAccount
93
+
94
+ const createSignerSpy = vi
95
+ .spyOn(createSignerUtil, 'createSigner')
96
+ .mockResolvedValueOnce(mockSigner)
97
+
98
+ const params = { wallet: mockDynamicWallet }
99
+ const signer = await provider.createSigner(params)
100
+
101
+ expect(createSignerSpy).toHaveBeenCalledWith(params)
102
+ expect(signer).toBe(mockSigner)
103
+ })
104
+ })
105
+ })
@@ -0,0 +1,56 @@
1
+ import type { LocalAccount } from 'viem'
2
+
3
+ import type { ChainManager } from '@/services/ChainManager.js'
4
+ import type { LendConfig, LendProvider } from '@/types/lend/index.js'
5
+ import { HostedWalletProvider } from '@/wallet/core/providers/hosted/abstract/HostedWalletProvider.js'
6
+ import type { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
7
+ import type { ReactToActionsOptionsMap } from '@/wallet/react/providers/hosted/types/index.js'
8
+ import { PrivyWallet } from '@/wallet/react/wallets/hosted/privy/PrivyWallet.js'
9
+ import { createSigner } from '@/wallet/react/wallets/hosted/privy/utils/createSigner.js'
10
+
11
+ /**
12
+ * Privy hosted wallet provider (React)
13
+ */
14
+ export class PrivyHostedWalletProvider extends HostedWalletProvider<
15
+ 'privy',
16
+ ReactToActionsOptionsMap
17
+ > {
18
+ /**
19
+ * Create a new Privy wallet provider
20
+ * @param chainManager Chain manager for RPC, chain info, and transports
21
+ */
22
+ constructor(
23
+ chainManager: ChainManager,
24
+ lendProvider?: LendProvider<LendConfig>,
25
+ ) {
26
+ super(chainManager, lendProvider)
27
+ }
28
+
29
+ async toActionsWallet(
30
+ params: ReactToActionsOptionsMap['privy'],
31
+ ): Promise<Wallet> {
32
+ const { connectedWallet } = params
33
+ const wallet = await PrivyWallet.create({
34
+ chainManager: this.chainManager,
35
+ connectedWallet,
36
+ lendProvider: this.lendProvider,
37
+ })
38
+ return wallet
39
+ }
40
+
41
+ /**
42
+ * Create a viem LocalAccount signer from Privy credentials
43
+ * @description Produces a signing account backed by Privy without wrapping
44
+ * it in a full Actions wallet. This is useful when you need to pass the signer
45
+ * into an Actions smart wallet as a signer, for lower-level viem operations, or
46
+ * for passing to other libraries that accept a viem `LocalAccount`.
47
+ * @param params - Privy configuration for the signer
48
+ * @param params.connectedWallet - Privy connected wallet
49
+ * @returns Promise resolving to a viem `LocalAccount` with Privy as the signer backend
50
+ */
51
+ async createSigner(
52
+ params: ReactToActionsOptionsMap['privy'],
53
+ ): Promise<LocalAccount> {
54
+ return createSigner(params)
55
+ }
56
+ }
@@ -0,0 +1,56 @@
1
+ import type { LocalAccount } from 'node_modules/viem/_types/accounts/types.js'
2
+ import { unichain } from 'viem/op-stack'
3
+ import { vi } from 'vitest'
4
+
5
+ import type { ChainManager } from '@/services/ChainManager.js'
6
+ import { MockChainManager } from '@/test/MockChainManager.js'
7
+ import { HostedWalletProvider } from '@/wallet/core/providers/hosted/abstract/HostedWalletProvider.js'
8
+ import type { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
9
+ import type {
10
+ PrivyHostedWalletToActionsWalletOptions,
11
+ ReactToActionsOptionsMap,
12
+ } from '@/wallet/react/providers/hosted/types/index.js'
13
+
14
+ /**
15
+ * Minimal mock implementation matching the shape of HostedWalletProvider<'privy'>
16
+ * for use in unit tests without importing browser-only dependencies.
17
+ */
18
+ export class PrivyHostedWalletProviderMock extends HostedWalletProvider<
19
+ 'privy',
20
+ ReactToActionsOptionsMap
21
+ > {
22
+ public readonly toActionsWalletMock = vi.fn(
23
+ async (
24
+ _params: PrivyHostedWalletToActionsWalletOptions,
25
+ ): Promise<Wallet> => {
26
+ return {} as unknown as Wallet
27
+ },
28
+ )
29
+
30
+ public readonly createSignerMock = vi.fn(
31
+ async (
32
+ _params: PrivyHostedWalletToActionsWalletOptions,
33
+ ): Promise<LocalAccount> => {
34
+ return {} as unknown as LocalAccount
35
+ },
36
+ )
37
+
38
+ constructor() {
39
+ const mockChainManager = new MockChainManager({
40
+ supportedChains: [unichain.id],
41
+ }) as unknown as ChainManager
42
+ super(mockChainManager)
43
+ }
44
+
45
+ async toActionsWallet(
46
+ params: PrivyHostedWalletToActionsWalletOptions,
47
+ ): Promise<Wallet> {
48
+ return this.toActionsWalletMock(params)
49
+ }
50
+
51
+ async createSigner(
52
+ params: PrivyHostedWalletToActionsWalletOptions,
53
+ ): Promise<LocalAccount> {
54
+ return this.createSignerMock(params)
55
+ }
56
+ }
@@ -0,0 +1,103 @@
1
+ import type { ConnectedWallet } from '@privy-io/react-auth'
2
+ import type { LocalAccount } from 'viem'
3
+ import { describe, expect, it, vi } from 'vitest'
4
+
5
+ import type { ChainManager } from '@/services/ChainManager.js'
6
+ import { MockChainManager } from '@/test/MockChainManager.js'
7
+ import type { LendConfig, LendProvider } from '@/types/lend/index.js'
8
+ import { PrivyHostedWalletProvider } from '@/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js'
9
+ import { PrivyWallet } from '@/wallet/react/wallets/hosted/privy/PrivyWallet.js'
10
+ import * as createSignerUtil from '@/wallet/react/wallets/hosted/privy/utils/createSigner.js'
11
+
12
+ // Mock PrivyWallet to avoid importing browser-related deps
13
+ vi.mock('@/wallet/react/wallets/hosted/privy/PrivyWallet.js', async () => {
14
+ const { PrivyWalletMock } = await import(
15
+ '@/wallet/react/wallets/hosted/privy/__mocks__/PrivyWalletMock.js'
16
+ )
17
+ return { PrivyWallet: PrivyWalletMock }
18
+ })
19
+
20
+ describe('PrivyHostedWalletProvider (React)', () => {
21
+ describe('toActionsWallet', () => {
22
+ it('toActionsWallet delegates to PrivyWallet.create with correct args', async () => {
23
+ const mockChainManager = new MockChainManager({
24
+ supportedChains: [1],
25
+ }) as unknown as ChainManager
26
+ const provider = new PrivyHostedWalletProvider(mockChainManager)
27
+ const mockActionsWallet = {
28
+ __brand: 'actions-wallet',
29
+ } as unknown as PrivyWallet
30
+ const mockConnectedWallet = {
31
+ __brand: 'privy-connected-wallet',
32
+ } as unknown as ConnectedWallet
33
+ vi.mocked(PrivyWallet.create).mockResolvedValueOnce(mockActionsWallet)
34
+
35
+ const result = await provider.toActionsWallet({
36
+ connectedWallet: mockConnectedWallet,
37
+ })
38
+
39
+ expect(PrivyWallet.create).toHaveBeenCalledTimes(1)
40
+ expect(PrivyWallet.create).toHaveBeenCalledWith({
41
+ chainManager: mockChainManager,
42
+ connectedWallet: mockConnectedWallet,
43
+ })
44
+ expect(result).toBe(mockActionsWallet)
45
+ })
46
+
47
+ it('forwards lendProvider when provided to constructor', async () => {
48
+ const mockChainManager = new MockChainManager({
49
+ supportedChains: [1],
50
+ }) as unknown as ChainManager
51
+ const mockLendProvider = {} as any
52
+ const provider = new PrivyHostedWalletProvider(
53
+ mockChainManager,
54
+ mockLendProvider as LendProvider<LendConfig>,
55
+ )
56
+ const mockActionsWallet = {
57
+ __brand: 'actions-wallet',
58
+ } as unknown as PrivyWallet
59
+ const mockConnectedWallet = {
60
+ __brand: 'privy-connected-wallet',
61
+ } as unknown as ConnectedWallet
62
+ vi.mocked(PrivyWallet.create).mockResolvedValueOnce(mockActionsWallet)
63
+
64
+ await provider.toActionsWallet({
65
+ connectedWallet: mockConnectedWallet,
66
+ })
67
+
68
+ expect(PrivyWallet.create).toHaveBeenCalledWith(
69
+ expect.objectContaining({
70
+ lendProvider: mockLendProvider,
71
+ }),
72
+ )
73
+ })
74
+ })
75
+
76
+ describe('createSigner', () => {
77
+ it('should delegate to createSigner utility with correct params', async () => {
78
+ const mockChainManager = new MockChainManager({
79
+ supportedChains: [1],
80
+ }) as unknown as ChainManager
81
+ const provider = new PrivyHostedWalletProvider(mockChainManager)
82
+
83
+ const mockConnectedWallet = {
84
+ __brand: 'privy-connected-wallet',
85
+ } as unknown as ConnectedWallet
86
+
87
+ const mockSigner = {
88
+ address: '0xabc',
89
+ type: 'local',
90
+ } as unknown as LocalAccount
91
+
92
+ const createSignerSpy = vi
93
+ .spyOn(createSignerUtil, 'createSigner')
94
+ .mockResolvedValueOnce(mockSigner)
95
+
96
+ const params = { connectedWallet: mockConnectedWallet }
97
+ const signer = await provider.createSigner(params)
98
+
99
+ expect(createSignerSpy).toHaveBeenCalledWith(params)
100
+ expect(signer).toBe(mockSigner)
101
+ })
102
+ })
103
+ })