@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 @@
1
+ {"version":3,"file":"assets.test.js","sourceRoot":"","sources":["../../src/utils/assets.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAE3D,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,CAAC,uBAAuB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,CAAC,uBAAuB,CAAC,aAAa,EAAE,GAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAClD,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC/C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAClD,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAChD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ import type { Asset } from '../types/asset.js';
2
+ import type { LendMarket } from '../types/lend/index.js';
3
+ /**
4
+ * Validates that an asset matches the market's asset
5
+ * @param market - Market information
6
+ * @param asset - Asset to validate
7
+ * @throws Error if asset doesn't match the market's asset
8
+ */
9
+ export declare function validateMarketAsset(market: LendMarket, asset: Asset): void;
10
+ /**
11
+ * Checks if an asset matches the market's asset
12
+ * @param market - Market information
13
+ * @param asset - Asset to check
14
+ * @returns true if asset matches market's asset, false otherwise
15
+ */
16
+ export declare function isMarketAsset(market: LendMarket, asset: Asset): boolean;
17
+ //# sourceMappingURL=markets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markets.d.ts","sourceRoot":"","sources":["../../src/utils/markets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAU1E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAMvE"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Validates that an asset matches the market's asset
3
+ * @param market - Market information
4
+ * @param asset - Asset to validate
5
+ * @throws Error if asset doesn't match the market's asset
6
+ */
7
+ export function validateMarketAsset(market, asset) {
8
+ if (!isMarketAsset(market, asset)) {
9
+ const marketAssetAddress = market.asset.address[market.marketId.chainId];
10
+ const providedAssetAddress = asset.address[market.marketId.chainId];
11
+ throw new Error(`Asset mismatch: provided ${providedAssetAddress} but market ${market.marketId.address} uses ${marketAssetAddress}`);
12
+ }
13
+ }
14
+ /**
15
+ * Checks if an asset matches the market's asset
16
+ * @param market - Market information
17
+ * @param asset - Asset to check
18
+ * @returns true if asset matches market's asset, false otherwise
19
+ */
20
+ export function isMarketAsset(market, asset) {
21
+ const marketAssetAddress = market.asset.address[market.marketId.chainId];
22
+ const providedAssetAddress = asset.address[market.marketId.chainId];
23
+ return marketAssetAddress === providedAssetAddress;
24
+ }
25
+ //# sourceMappingURL=markets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markets.js","sourceRoot":"","sources":["../../src/utils/markets.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAkB,EAAE,KAAY;IAClE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,kBAAkB,GACtB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAA2B,CAAC,CAAA;QACnE,MAAM,oBAAoB,GACxB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAA2B,CAAC,CAAA;QAC5D,MAAM,IAAI,KAAK,CACb,4BAA4B,oBAAoB,eAAe,MAAM,CAAC,QAAQ,CAAC,OAAO,SAAS,kBAAkB,EAAE,CACpH,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAkB,EAAE,KAAY;IAC5D,MAAM,kBAAkB,GACtB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAA2B,CAAC,CAAA;IACnE,MAAM,oBAAoB,GACxB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAA2B,CAAC,CAAA;IAC5D,OAAO,kBAAkB,KAAK,oBAAoB,CAAA;AACpD,CAAC"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Test utilities for the Actions SDK
3
+ */
4
+ import type { ChildProcess } from 'child_process';
5
+ import type { Chain, PublicClient } from 'viem';
6
+ import { privateKeyToAccount } from 'viem/accounts';
7
+ /**
8
+ * Standard anvil/foundry test accounts with predictable private keys
9
+ * These are the default accounts created by anvil and are safe to use in tests
10
+ */
11
+ export declare const ANVIL_ACCOUNTS: {
12
+ /** Account #0 - Default primary test account */
13
+ readonly ACCOUNT_0: "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80";
14
+ /** Account #1 - Secondary test account, commonly used as funder */
15
+ readonly ACCOUNT_1: "0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d";
16
+ /** Account #2 - Third test account */
17
+ readonly ACCOUNT_2: "0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a";
18
+ };
19
+ /**
20
+ * Helper function to check if external tests should run
21
+ * External tests make real network requests and are only run when EXTERNAL_TEST=true
22
+ *
23
+ * Usage:
24
+ * ```typescript
25
+ * import { externalTest } from './test.js'
26
+ *
27
+ * it.runIf(externalTest())('should make real API request', async () => {
28
+ * // Test that makes actual network calls
29
+ * })
30
+ * ```
31
+ */
32
+ export declare const externalTest: () => boolean;
33
+ /**
34
+ * Helper function to check if supersim tests should run
35
+ * Supersim tests require supersim to be installed and are only run when SUPERSIM_TEST=true
36
+ *
37
+ * Usage:
38
+ * ```typescript
39
+ * import { supersimTest } from './test.js'
40
+ *
41
+ * describe.runIf(supersimTest())('Supersim Integration', () => {
42
+ * // Tests that require supersim
43
+ * })
44
+ * ```
45
+ */
46
+ export declare const supersimTest: () => boolean;
47
+ /**
48
+ * Configuration for supersim test setup
49
+ */
50
+ export interface SupersimConfig {
51
+ /** L1 port (default: 8546) */
52
+ l1Port?: number;
53
+ /** L2 starting port (default: 9546) */
54
+ l2StartingPort?: number;
55
+ /** Chains to fork (default: ['unichain']) */
56
+ chains?: string[];
57
+ /** Enable verbose logging (default: false) */
58
+ verbose?: boolean;
59
+ }
60
+ /**
61
+ * Start supersim with forked chains
62
+ *
63
+ * Prerequisites:
64
+ * - supersim must be installed (brew install ethereum-optimism/tap/supersim)
65
+ * - foundry must be installed (curl -L https://foundry.paradigm.xyz | bash)
66
+ * @param config - Supersim configuration
67
+ * @returns Promise that resolves with the supersim process when ready
68
+ * @throws Error if supersim is not available
69
+ */
70
+ export declare function startSupersim(config?: SupersimConfig): Promise<ChildProcess>;
71
+ /**
72
+ * Stop supersim process and all child processes gracefully
73
+ * @param supersimProcess - The supersim process to stop
74
+ */
75
+ export declare function stopSupersim(supersimProcess: ChildProcess): Promise<void>;
76
+ /**
77
+ * Configuration for wallet funding
78
+ */
79
+ export interface FundWalletConfig {
80
+ /** RPC URL for the chain */
81
+ rpcUrl: string;
82
+ /** Chain configuration */
83
+ chain: Chain;
84
+ /** Target wallet address to fund */
85
+ targetAddress: `0x${string}`;
86
+ /** Amount to fund in ETH (default: '10') */
87
+ amount?: string;
88
+ /** Funder private key (default: ANVIL_ACCOUNTS.ACCOUNT_1) */
89
+ funderPrivateKey?: `0x${string}`;
90
+ /** Whether to also fund with USDC (default: false) */
91
+ fundUsdc?: boolean;
92
+ /** Amount of USDC to fund (default: '1000') */
93
+ usdcAmount?: string;
94
+ }
95
+ /**
96
+ * Fund a wallet with ETH and optionally USDC using a funder account
97
+ * @param config - Wallet funding configuration
98
+ * @returns Promise that resolves when funding is complete
99
+ */
100
+ export declare function fundWallet(config: FundWalletConfig): Promise<void>;
101
+ /**
102
+ * Create a test setup for supersim with funded wallet
103
+ * @param config - Combined configuration for supersim and wallet funding
104
+ * @returns Promise that resolves with supersim process, public client, and test account
105
+ */
106
+ export declare function setupSupersimTest(config: {
107
+ supersim?: SupersimConfig;
108
+ wallet: Omit<FundWalletConfig, 'targetAddress'> & {
109
+ testPrivateKey?: `0x${string}`;
110
+ address?: `0x${string}`;
111
+ };
112
+ }): Promise<{
113
+ supersimProcess: ChildProcess;
114
+ publicClient: PublicClient;
115
+ testAccount: ReturnType<typeof privateKeyToAccount>;
116
+ }>;
117
+ //# sourceMappingURL=test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/utils/test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEnD;;;GAGG;AACH,eAAO,MAAM,cAAc;IACzB,gDAAgD;;IAGhD,mEAAmE;;IAGnE,sCAAsC;;CAG9B,CAAA;AAEV;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,eAA6C,CAAA;AAEtE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,eAA6C,CAAA;AAEtE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,MAAM,GAAE,cAAmB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA2EvB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,eAAe,EAAE,YAAY,GAC5B,OAAO,CAAC,IAAI,CAAC,CAkCf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,0BAA0B;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,oCAAoC;IACpC,aAAa,EAAE,KAAK,MAAM,EAAE,CAAA;IAC5B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;IAChC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2GxE;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,GAAG;QAChD,cAAc,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;QAC9B,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;KACxB,CAAA;CACF,GAAG,OAAO,CAAC;IACV,eAAe,EAAE,YAAY,CAAA;IAC7B,YAAY,EAAE,YAAY,CAAA;IAC1B,WAAW,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;CACpD,CAAC,CA4BD"}
@@ -0,0 +1,265 @@
1
+ /**
2
+ * Test utilities for the Actions SDK
3
+ */
4
+ import { spawn } from 'child_process';
5
+ import { createPublicClient, createWalletClient, http, parseEther } from 'viem';
6
+ import { privateKeyToAccount } from 'viem/accounts';
7
+ /**
8
+ * Standard anvil/foundry test accounts with predictable private keys
9
+ * These are the default accounts created by anvil and are safe to use in tests
10
+ */
11
+ export const ANVIL_ACCOUNTS = {
12
+ /** Account #0 - Default primary test account */
13
+ ACCOUNT_0: '0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80',
14
+ /** Account #1 - Secondary test account, commonly used as funder */
15
+ ACCOUNT_1: '0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d',
16
+ /** Account #2 - Third test account */
17
+ ACCOUNT_2: '0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a',
18
+ };
19
+ /**
20
+ * Helper function to check if external tests should run
21
+ * External tests make real network requests and are only run when EXTERNAL_TEST=true
22
+ *
23
+ * Usage:
24
+ * ```typescript
25
+ * import { externalTest } from './test.js'
26
+ *
27
+ * it.runIf(externalTest())('should make real API request', async () => {
28
+ * // Test that makes actual network calls
29
+ * })
30
+ * ```
31
+ */
32
+ export const externalTest = () => process.env.EXTERNAL_TEST === 'true';
33
+ /**
34
+ * Helper function to check if supersim tests should run
35
+ * Supersim tests require supersim to be installed and are only run when SUPERSIM_TEST=true
36
+ *
37
+ * Usage:
38
+ * ```typescript
39
+ * import { supersimTest } from './test.js'
40
+ *
41
+ * describe.runIf(supersimTest())('Supersim Integration', () => {
42
+ * // Tests that require supersim
43
+ * })
44
+ * ```
45
+ */
46
+ export const supersimTest = () => process.env.SUPERSIM_TEST === 'true';
47
+ /**
48
+ * Start supersim with forked chains
49
+ *
50
+ * Prerequisites:
51
+ * - supersim must be installed (brew install ethereum-optimism/tap/supersim)
52
+ * - foundry must be installed (curl -L https://foundry.paradigm.xyz | bash)
53
+ * @param config - Supersim configuration
54
+ * @returns Promise that resolves with the supersim process when ready
55
+ * @throws Error if supersim is not available
56
+ */
57
+ export async function startSupersim(config = {}) {
58
+ const { l1Port = 8546, l2StartingPort = 9546, chains = ['unichain'], verbose = true, // Always verbose for supersim tests
59
+ } = config;
60
+ console.log(`Starting supersim with forked chains: ${chains.join(', ')}...`);
61
+ console.log('Verbose mode enabled - supersim logs will be displayed');
62
+ // Start supersim with forked chains on custom ports to avoid conflicts
63
+ const supersimProcess = spawn('supersim', [
64
+ 'fork',
65
+ '--chains',
66
+ ...chains,
67
+ '--l1.port',
68
+ l1Port.toString(),
69
+ '--l2.starting.port',
70
+ l2StartingPort.toString(),
71
+ ], {
72
+ stdio: ['ignore', 'pipe', 'pipe'],
73
+ detached: true, // Create new process group so we can kill all children
74
+ });
75
+ // Handle case where supersim command is not found
76
+ supersimProcess.on('error', (error) => {
77
+ if (error.code === 'ENOENT') {
78
+ throw new Error('supersim command not found. Please install supersim:\n' +
79
+ ' macOS/Linux: brew install ethereum-optimism/tap/supersim\n' +
80
+ ' Or download from: https://github.com/ethereum-optimism/supersim/releases');
81
+ }
82
+ throw error;
83
+ });
84
+ // Wait for supersim to be ready
85
+ await new Promise((resolve, reject) => {
86
+ const timeout = setTimeout(() => {
87
+ reject(new Error('Supersim failed to start within 30 seconds'));
88
+ }, 30000);
89
+ // Log supersim output and wait for ready message
90
+ supersimProcess?.stdout?.on('data', (data) => {
91
+ const output = data.toString();
92
+ if (verbose) {
93
+ console.log(`[supersim stdout]: ${output}`);
94
+ }
95
+ if (output.includes('supersim is ready')) {
96
+ clearTimeout(timeout);
97
+ console.log('Supersim is ready!');
98
+ resolve();
99
+ }
100
+ });
101
+ supersimProcess?.stderr?.on('data', (data) => {
102
+ const errorOutput = data.toString();
103
+ if (verbose) {
104
+ console.error(`[supersim stderr]: ${errorOutput}`);
105
+ }
106
+ });
107
+ supersimProcess?.on('error', (err) => {
108
+ clearTimeout(timeout);
109
+ reject(err);
110
+ });
111
+ });
112
+ return supersimProcess;
113
+ }
114
+ /**
115
+ * Stop supersim process and all child processes gracefully
116
+ * @param supersimProcess - The supersim process to stop
117
+ */
118
+ export async function stopSupersim(supersimProcess) {
119
+ console.log('Stopping supersim...');
120
+ if (supersimProcess && supersimProcess.pid) {
121
+ try {
122
+ // Kill the entire process group (negative PID kills the group)
123
+ process.kill(-supersimProcess.pid, 'SIGTERM');
124
+ }
125
+ catch {
126
+ // Fallback to killing just the main process
127
+ supersimProcess.kill('SIGTERM');
128
+ }
129
+ // Wait for process to exit with timeout
130
+ await new Promise((resolve) => {
131
+ const timeout = setTimeout(() => {
132
+ // Force kill if still running after timeout
133
+ try {
134
+ if (supersimProcess.pid && !supersimProcess.killed) {
135
+ process.kill(-supersimProcess.pid, 'SIGKILL');
136
+ }
137
+ }
138
+ catch {
139
+ if (!supersimProcess.killed) {
140
+ supersimProcess.kill('SIGKILL');
141
+ }
142
+ }
143
+ resolve(undefined);
144
+ }, 10000); // 10 second timeout for graceful shutdown
145
+ supersimProcess?.on('exit', () => {
146
+ clearTimeout(timeout);
147
+ resolve(undefined);
148
+ });
149
+ });
150
+ }
151
+ console.log('Supersim stopped');
152
+ }
153
+ /**
154
+ * Fund a wallet with ETH and optionally USDC using a funder account
155
+ * @param config - Wallet funding configuration
156
+ * @returns Promise that resolves when funding is complete
157
+ */
158
+ export async function fundWallet(config) {
159
+ const { rpcUrl, chain, targetAddress, amount = '10', funderPrivateKey = ANVIL_ACCOUNTS.ACCOUNT_1, // Use anvil account #1 as default funder
160
+ fundUsdc = false, usdcAmount = '1000', } = config;
161
+ console.log('Funding test wallet...');
162
+ // Create public client for waiting for transaction receipt
163
+ const publicClient = createPublicClient({
164
+ chain,
165
+ transport: http(rpcUrl),
166
+ });
167
+ // Create funder account and wallet client
168
+ const funderAccount = privateKeyToAccount(funderPrivateKey);
169
+ const funderClient = createWalletClient({
170
+ account: funderAccount,
171
+ chain,
172
+ transport: http(rpcUrl),
173
+ }); // Type assertion to avoid viem version compatibility issue
174
+ // Send ETH funding transaction
175
+ const fundingTx = await funderClient.sendTransaction({
176
+ to: targetAddress,
177
+ value: parseEther(amount),
178
+ });
179
+ // Wait for transaction confirmation
180
+ await publicClient.waitForTransactionReceipt({ hash: fundingTx });
181
+ console.log(`Test wallet funded with ${amount} ETH at ${targetAddress}`);
182
+ // Fund with USDC if requested using whale impersonation
183
+ if (fundUsdc) {
184
+ try {
185
+ console.log(`Attempting to fund ${usdcAmount} USDC using whale impersonation...`);
186
+ // USDC whale address with large balance
187
+ const usdcWhale = '0x5752e57DcfA070e3822d69498185B706c293C792';
188
+ // Impersonate the whale account
189
+ console.log(`Impersonating whale account: ${usdcWhale}`);
190
+ await publicClient.request({
191
+ method: 'anvil_impersonateAccount',
192
+ params: [usdcWhale],
193
+ });
194
+ // USDC contract address on Unichain (from vault config)
195
+ const usdcAddress = '0x078d782b760474a361dda0af3839290b0ef57ad6';
196
+ // Create whale wallet client (for impersonated account, we use the address directly)
197
+ const whaleClient = createWalletClient({
198
+ account: usdcWhale,
199
+ chain,
200
+ transport: http(rpcUrl),
201
+ });
202
+ // Transfer USDC from whale to target
203
+ const usdcAmountWei = BigInt(parseFloat(usdcAmount) * 1e6); // USDC has 6 decimals
204
+ console.log(`Transferring ${usdcAmount} USDC (${usdcAmountWei} units) from whale to ${targetAddress}`);
205
+ const transferTx = await whaleClient.writeContract({
206
+ address: usdcAddress,
207
+ abi: [
208
+ {
209
+ name: 'transfer',
210
+ type: 'function',
211
+ stateMutability: 'nonpayable',
212
+ inputs: [
213
+ { name: 'to', type: 'address' },
214
+ { name: 'amount', type: 'uint256' },
215
+ ],
216
+ outputs: [{ name: '', type: 'bool' }],
217
+ },
218
+ ],
219
+ functionName: 'transfer',
220
+ args: [targetAddress, usdcAmountWei],
221
+ });
222
+ // Wait for transaction confirmation
223
+ await publicClient.waitForTransactionReceipt({ hash: transferTx });
224
+ console.log(`✅ Successfully funded ${usdcAmount} USDC to ${targetAddress}`);
225
+ // Stop impersonating the account
226
+ await publicClient.request({
227
+ method: 'anvil_stopImpersonatingAccount',
228
+ params: [usdcWhale],
229
+ });
230
+ }
231
+ catch (error) {
232
+ console.log(`❌ Failed to fund USDC: ${error instanceof Error ? error.message : 'Unknown error'}`);
233
+ console.log(` This may cause lending tests to fail if USDC is required`);
234
+ }
235
+ }
236
+ }
237
+ /**
238
+ * Create a test setup for supersim with funded wallet
239
+ * @param config - Combined configuration for supersim and wallet funding
240
+ * @returns Promise that resolves with supersim process, public client, and test account
241
+ */
242
+ export async function setupSupersimTest(config) {
243
+ const testPrivateKey = config.wallet.testPrivateKey || ANVIL_ACCOUNTS.ACCOUNT_0; // Use anvil account #0 as default test account
244
+ // Start supersim
245
+ const supersimProcess = await startSupersim(config.supersim);
246
+ // Setup viem clients
247
+ const publicClient = createPublicClient({
248
+ chain: config.wallet.chain,
249
+ transport: http(config.wallet.rpcUrl),
250
+ });
251
+ // Create test account
252
+ const testAccount = privateKeyToAccount(testPrivateKey);
253
+ // Fund the wallet - use custom address if provided, otherwise use test account
254
+ const targetAddress = config.wallet.address || testAccount.address;
255
+ await fundWallet({
256
+ ...config.wallet,
257
+ targetAddress,
258
+ });
259
+ return {
260
+ supersimProcess,
261
+ publicClient,
262
+ testAccount,
263
+ };
264
+ }
265
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/utils/test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ import type { LocalAccount } from 'viem';
2
+ import type { CreateSmartWalletOptions, GetSmartWalletOptions } from '../../../types/wallet.js';
3
+ import type { HostedWalletProvider } from '../providers/hosted/abstract/HostedWalletProvider.js';
4
+ import type { SmartWalletProvider } from '../providers/smart/abstract/SmartWalletProvider.js';
5
+ import type { SmartWalletCreationResult } from '../providers/smart/abstract/types/index.js';
6
+ import type { WalletProvider } from '../providers/WalletProvider.js';
7
+ import type { Wallet } from '../wallets/abstract/Wallet.js';
8
+ import type { SmartWallet } from '../wallets/smart/abstract/SmartWallet.js';
9
+ /**
10
+ * Wallet namespace that provides unified wallet operations
11
+ * @description Provides access to wallet functionality through a single provider interface
12
+ */
13
+ export declare class WalletNamespace<THostedProviderType extends string, TToActionsMap extends Record<THostedProviderType, unknown>, H extends HostedWalletProvider<THostedProviderType, TToActionsMap> = HostedWalletProvider<THostedProviderType, TToActionsMap>, S extends SmartWalletProvider = SmartWalletProvider> {
14
+ private provider;
15
+ constructor(provider: WalletProvider<THostedProviderType, TToActionsMap, H, S>);
16
+ /**
17
+ * Get direct access to the hosted wallet provider
18
+ * @description Provides direct access to the underlying hosted wallet provider when
19
+ * advanced functionality beyond the unified interface is needed
20
+ * @returns The configured hosted wallet provider instance
21
+ */
22
+ get hostedWalletProvider(): H;
23
+ /**
24
+ * Get direct access to the smart wallet provider
25
+ * @description Provides direct access to the underlying smart wallet provider when
26
+ * advanced functionality beyond the unified interface is needed
27
+ * @returns The configured smart wallet provider instance
28
+ */
29
+ get smartWalletProvider(): S;
30
+ /**
31
+ * Create a new smart wallet
32
+ * @description Creates a smart wallet and attempts to deploy it across all supported chains.
33
+ * The wallet address is deterministically calculated from owners and nonce. The signer must
34
+ * be included in the owners array. Deployment failures on individual chains do not prevent
35
+ * wallet creation - they are reported in the result.
36
+ * @param params - Smart wallet creation parameters
37
+ * @param params.owners - Array of owners for the smart wallet (addresses or WebAuthn public keys)
38
+ * @param params.signer - Local account used for signing transactions (must be in owners array)
39
+ * @param params.nonce - Optional nonce for smart wallet address generation (defaults to 0)
40
+ * @param params.deploymentChainIds - Optional chain IDs to deploy the wallet to.
41
+ * If not provided, the wallet will be deployed to all supported chains.
42
+ * @returns Promise resolving to deployment result containing:
43
+ * - `wallet`: The created SmartWallet instance
44
+ * - `deployments`: Array of deployment results with chainId, receipt, success flag, and error
45
+ * @throws Error if signer is not included in the owners array
46
+ */
47
+ createSmartWallet(params: CreateSmartWalletOptions): Promise<SmartWalletCreationResult<SmartWallet>>;
48
+ /**
49
+ * Create a viem LocalAccount signer from the hosted wallet
50
+ * @description Produces a signing account backed by the hosted wallet without wrapping
51
+ * it in a full Actions wallet. This is useful when you need to pass the signer
52
+ * into an Actions smart wallet as a signer, for lower-level viem operations, or
53
+ * for passing to other libraries that accept a viem `LocalAccount`.
54
+ * @param params - Configuration for the signer
55
+ * @returns Promise resolving to a viem `LocalAccount` with the hosted wallet as the signer backend
56
+ */
57
+ createSigner(params: TToActionsMap[THostedProviderType]): Promise<LocalAccount>;
58
+ /**
59
+ * Convert a hosted wallet to an Actions wallet
60
+ * @description Converts a hosted wallet to an Actions wallet instance.
61
+ * @param params - Parameters for converting a hosted wallet to an Actions wallet
62
+ * @param params.walletId - Unique identifier for the hosted wallet
63
+ * @param params.address - Ethereum address of the hosted wallet
64
+ * @returns Promise resolving to the Actions wallet instance
65
+ */
66
+ hostedWalletToActionsWallet(params: TToActionsMap[THostedProviderType]): Promise<Wallet>;
67
+ /**
68
+ * Get an existing smart wallet with a provided signer
69
+ * @description Retrieves a smart wallet using a directly provided signer. This is useful when
70
+ * you already have a LocalAccount signer and want to access an existing smart wallet without
71
+ * going through the hosted wallet provider. Use this instead of getSmartWalletWithHostedSigner
72
+ * when you have direct control over the signer.
73
+ * @param signer - Local account to use for signing transactions on the smart wallet
74
+ * @param getWalletParams - Wallet retrieval parameters
75
+ * @param getWalletParams.deploymentOwners - Array of original deployment owners for smart wallet address calculation. Required if walletAddress not provided. Must match the exact owners array used during wallet deployment.
76
+ * @param getWalletParams.signerOwnerIndex - Current index of the signer in the smart wallet's current owners array (used for transaction signing). Defaults to 0 if not specified. This may differ from the original deployment index if owners have been modified.
77
+ * @param getWalletParams.walletAddress - Optional explicit smart wallet address (skips address calculation)
78
+ * @param getWalletParams.nonce - Optional nonce used during smart wallet creation
79
+ * @returns Promise resolving to the smart wallet instance with the provided signer
80
+ * @throws Error if neither walletAddress nor deploymentOwners provided
81
+ */
82
+ getSmartWallet(params: GetSmartWalletOptions): Promise<SmartWallet>;
83
+ }
84
+ //# sourceMappingURL=WalletNamespace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletNamespace.d.ts","sourceRoot":"","sources":["../../../../src/wallet/core/namespace/WalletNamespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AAC3G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAA;AACxG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAA;AACtG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAA;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAA;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAA;AAEtF;;;GAGG;AACH,qBAAa,eAAe,CAC1B,mBAAmB,SAAS,MAAM,EAClC,aAAa,SAAS,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,EAC1D,CAAC,SAAS,oBAAoB,CAC5B,mBAAmB,EACnB,aAAa,CACd,GAAG,oBAAoB,CAAC,mBAAmB,EAAE,aAAa,CAAC,EAC5D,CAAC,SAAS,mBAAmB,GAAG,mBAAmB;IAEnD,OAAO,CAAC,QAAQ,CAA0D;gBAGxE,QAAQ,EAAE,cAAc,CAAC,mBAAmB,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;IAKpE;;;;;OAKG;IACH,IAAI,oBAAoB,IAAI,CAAC,CAE5B;IAED;;;;;OAKG;IACH,IAAI,mBAAmB,IAAI,CAAC,CAE3B;IAED;;;;;;;;;;;;;;;;OAgBG;IACG,iBAAiB,CACrB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;IAIlD;;;;;;;;OAQG;IACG,YAAY,CAChB,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,GACzC,OAAO,CAAC,YAAY,CAAC;IAIxB;;;;;;;OAOG;IACG,2BAA2B,CAC/B,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;;;;;;;;;;OAcG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB;CAGnD"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Wallet namespace that provides unified wallet operations
3
+ * @description Provides access to wallet functionality through a single provider interface
4
+ */
5
+ export class WalletNamespace {
6
+ constructor(provider) {
7
+ this.provider = provider;
8
+ }
9
+ /**
10
+ * Get direct access to the hosted wallet provider
11
+ * @description Provides direct access to the underlying hosted wallet provider when
12
+ * advanced functionality beyond the unified interface is needed
13
+ * @returns The configured hosted wallet provider instance
14
+ */
15
+ get hostedWalletProvider() {
16
+ return this.provider.hostedWalletProvider;
17
+ }
18
+ /**
19
+ * Get direct access to the smart wallet provider
20
+ * @description Provides direct access to the underlying smart wallet provider when
21
+ * advanced functionality beyond the unified interface is needed
22
+ * @returns The configured smart wallet provider instance
23
+ */
24
+ get smartWalletProvider() {
25
+ return this.provider.smartWalletProvider;
26
+ }
27
+ /**
28
+ * Create a new smart wallet
29
+ * @description Creates a smart wallet and attempts to deploy it across all supported chains.
30
+ * The wallet address is deterministically calculated from owners and nonce. The signer must
31
+ * be included in the owners array. Deployment failures on individual chains do not prevent
32
+ * wallet creation - they are reported in the result.
33
+ * @param params - Smart wallet creation parameters
34
+ * @param params.owners - Array of owners for the smart wallet (addresses or WebAuthn public keys)
35
+ * @param params.signer - Local account used for signing transactions (must be in owners array)
36
+ * @param params.nonce - Optional nonce for smart wallet address generation (defaults to 0)
37
+ * @param params.deploymentChainIds - Optional chain IDs to deploy the wallet to.
38
+ * If not provided, the wallet will be deployed to all supported chains.
39
+ * @returns Promise resolving to deployment result containing:
40
+ * - `wallet`: The created SmartWallet instance
41
+ * - `deployments`: Array of deployment results with chainId, receipt, success flag, and error
42
+ * @throws Error if signer is not included in the owners array
43
+ */
44
+ async createSmartWallet(params) {
45
+ return this.provider.createSmartWallet(params);
46
+ }
47
+ /**
48
+ * Create a viem LocalAccount signer from the hosted wallet
49
+ * @description Produces a signing account backed by the hosted wallet without wrapping
50
+ * it in a full Actions wallet. This is useful when you need to pass the signer
51
+ * into an Actions smart wallet as a signer, for lower-level viem operations, or
52
+ * for passing to other libraries that accept a viem `LocalAccount`.
53
+ * @param params - Configuration for the signer
54
+ * @returns Promise resolving to a viem `LocalAccount` with the hosted wallet as the signer backend
55
+ */
56
+ async createSigner(params) {
57
+ return this.provider.createSigner(params);
58
+ }
59
+ /**
60
+ * Convert a hosted wallet to an Actions wallet
61
+ * @description Converts a hosted wallet to an Actions wallet instance.
62
+ * @param params - Parameters for converting a hosted wallet to an Actions wallet
63
+ * @param params.walletId - Unique identifier for the hosted wallet
64
+ * @param params.address - Ethereum address of the hosted wallet
65
+ * @returns Promise resolving to the Actions wallet instance
66
+ */
67
+ async hostedWalletToActionsWallet(params) {
68
+ return this.provider.hostedWalletToActionsWallet(params);
69
+ }
70
+ /**
71
+ * Get an existing smart wallet with a provided signer
72
+ * @description Retrieves a smart wallet using a directly provided signer. This is useful when
73
+ * you already have a LocalAccount signer and want to access an existing smart wallet without
74
+ * going through the hosted wallet provider. Use this instead of getSmartWalletWithHostedSigner
75
+ * when you have direct control over the signer.
76
+ * @param signer - Local account to use for signing transactions on the smart wallet
77
+ * @param getWalletParams - Wallet retrieval parameters
78
+ * @param getWalletParams.deploymentOwners - Array of original deployment owners for smart wallet address calculation. Required if walletAddress not provided. Must match the exact owners array used during wallet deployment.
79
+ * @param getWalletParams.signerOwnerIndex - Current index of the signer in the smart wallet's current owners array (used for transaction signing). Defaults to 0 if not specified. This may differ from the original deployment index if owners have been modified.
80
+ * @param getWalletParams.walletAddress - Optional explicit smart wallet address (skips address calculation)
81
+ * @param getWalletParams.nonce - Optional nonce used during smart wallet creation
82
+ * @returns Promise resolving to the smart wallet instance with the provided signer
83
+ * @throws Error if neither walletAddress nor deploymentOwners provided
84
+ */
85
+ async getSmartWallet(params) {
86
+ return this.provider.getSmartWallet(params);
87
+ }
88
+ }
89
+ //# sourceMappingURL=WalletNamespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletNamespace.js","sourceRoot":"","sources":["../../../../src/wallet/core/namespace/WalletNamespace.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,MAAM,OAAO,eAAe;IAW1B,YACE,QAAkE;QAElE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED;;;;;OAKG;IACH,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAA;IAC3C,CAAC;IAED;;;;;OAKG;IACH,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAA;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,iBAAiB,CACrB,MAAgC;QAEhC,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,YAAY,CAChB,MAA0C;QAE1C,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,2BAA2B,CAC/B,MAA0C;QAE1C,OAAO,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAC1D,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,cAAc,CAAC,MAA6B;QAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WalletNamespace.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletNamespace.spec.d.ts","sourceRoot":"","sources":["../../../../../src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts"],"names":[],"mappings":""}