@eth-optimism/actions-sdk 0.0.0-main-20251009211102

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":"DefaultSmartWallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,436 @@
1
+ import { concatHex, decodeAbiParameters, encodeFunctionData, erc20Abi, isHex, size, } from 'viem';
2
+ import { toCoinbaseSmartAccount } from 'viem/account-abstraction';
3
+ import { TransactionConfirmedButRevertedError } from '../../../../../core/error/errors.js';
4
+ import { retryOnStaleRead } from '../../../../../core/utils/retryOnStaleRead.js';
5
+ import { parseAssetAmount } from '../../../../../utils/assets.js';
6
+ import { SmartWallet } from '../abstract/SmartWallet.js';
7
+ import { smartWalletAbi, smartWalletFactoryAbi, smartWalletFactoryAddress, } from './constants/index.js';
8
+ import { findSignerInArray } from './utils/findSignerInArray.js';
9
+ import { findSignerIndexOnChain } from './utils/findSignerIndexOnChain.js';
10
+ import { formatPublicKey } from './utils/formatPublicKey.js';
11
+ import { getSignerPublicKey } from './utils/getSignerPublicKey.js';
12
+ import { SmartWalletDeploymentError } from '../error/errors.js';
13
+ /**
14
+ * Smart Wallet Implementation
15
+ * @description ERC-4337 compatible smart wallet that uses Coinbase Smart Account (https://github.com/coinbase/smart-wallet/blob/main/src/CoinbaseSmartWallet.sol).
16
+ * Supports multi-owner wallets, gasless transactions via paymasters, and cross-chain operations.
17
+ */
18
+ export class DefaultSmartWallet extends SmartWallet {
19
+ /**
20
+ * Create a Smart Wallet instance
21
+ * @param owners - Array of wallet owners (addresses or WebAuthn accounts)
22
+ * @param signer - Local account for signing transactions
23
+ * @param chainManager - Network management service
24
+ * @param lendProvider - Lending operations provider
25
+ * @param deploymentAddress - Known wallet address (if already deployed)
26
+ * @param ownerIndex - Index of signer in owners array
27
+ * @param nonce - Nonce for address generation
28
+ */
29
+ constructor(signers, signer, chainManager, lendProvider, deploymentAddress, nonce, attributionSuffix) {
30
+ super(chainManager, lendProvider);
31
+ const { signersWithLocalAccount, signerIndex } = DefaultSmartWallet.ensureLocalAccountSigner(signers, signer);
32
+ this.signer = signer;
33
+ this.signers = signersWithLocalAccount;
34
+ this.signerIndex = signerIndex;
35
+ this.deploymentAddress = deploymentAddress;
36
+ this.nonce = nonce;
37
+ if (attributionSuffix) {
38
+ DefaultSmartWallet.isValidAttributionSuffix(attributionSuffix);
39
+ this.attributionSuffix = attributionSuffix;
40
+ }
41
+ }
42
+ get address() {
43
+ if (!this._address) {
44
+ throw new Error('Smart wallet not initialized');
45
+ }
46
+ return this._address;
47
+ }
48
+ /**
49
+ * Get the formatted owner bytes for smart wallet operations
50
+ * @description Converts the wallet's owners array into the bytes format expected by the smart wallet
51
+ * factory and contract. EOA addresses are padded to 32 bytes, LocalAccount addresses are extracted and padded,
52
+ * and WebAuthn public keys are passed through.
53
+ * @returns Array of 32-byte formatted owner identifiers
54
+ * @private
55
+ */
56
+ get _signerBytes() {
57
+ return this.signers.map((signer) => {
58
+ const publicKey = getSignerPublicKey(signer);
59
+ return formatPublicKey(publicKey);
60
+ });
61
+ }
62
+ static async create(params) {
63
+ const signers = params.signers ?? [params.signer.address];
64
+ const wallet = new DefaultSmartWallet(signers, params.signer, params.chainManager, params.lendProvider, params.deploymentAddress, params.nonce, params.attributionSuffix);
65
+ await wallet.initialize();
66
+ return wallet;
67
+ }
68
+ /**
69
+ * Ensures the LocalAccount signer is present in the signers array for signing operations.
70
+ * This is needed because the toCoinbaseSmartAccount requires two things:
71
+ * 1. The signers array to contain the signer (LocalAccount).
72
+ * 2. The index that the signer is at in the signers array.
73
+ *
74
+ *
75
+ * Another benefit of this is that it allows flexible constructor arguments because it can take a mix
76
+ * of public keys/addresses or LocalAccounts.
77
+ * Searches for the signer's public key in the array and replaces that entry with the LocalAccount.
78
+ * If the LocalAccount is already at that index, this is a no-op.
79
+ * @param signers - Array of signers (addresses, LocalAccounts, or WebAuthnAccounts)
80
+ * @param signer - LocalAccount that will sign transactions
81
+ * @returns The signers array with LocalAccount at the correct index, and that index
82
+ * @throws Error if signer's public key is not found in the signers array
83
+ */
84
+ static ensureLocalAccountSigner(signers, signer) {
85
+ const signerIndex = findSignerInArray(signers, signer);
86
+ if (signerIndex === -1) {
87
+ throw new Error(`Signer does not match any signer in the signers array`);
88
+ }
89
+ // Replace the signer at the found index with the LocalAccount
90
+ const signersWithLocalAccount = [...signers];
91
+ signersWithLocalAccount[signerIndex] = signer;
92
+ return { signersWithLocalAccount, signerIndex };
93
+ }
94
+ /**
95
+ * Checks if a 16-byte attribution suffix is valid
96
+ * @description Checks if the suffix is a valid hex string and is exactly 16 bytes
97
+ * @throws Error if suffix is not hex or is not exactly 16 bytes
98
+ */
99
+ static isValidAttributionSuffix(suffix) {
100
+ if (suffix == null) {
101
+ return;
102
+ }
103
+ if (!isHex(suffix)) {
104
+ throw new Error('Attribution suffix must be a valid hex string');
105
+ }
106
+ if (size(suffix) !== 16) {
107
+ throw new Error('Attribution suffix must be 16 bytes (0x + 32 hex chars)');
108
+ }
109
+ }
110
+ /**
111
+ * Create a Coinbase Smart Account instance
112
+ * @description Converts this wallet into a viem-compatible smart account for ERC-4337 operations.
113
+ * @param chainId - Target blockchain network ID
114
+ * @returns Coinbase Smart Account instance configured for the specified chain
115
+ */
116
+ async getCoinbaseSmartAccount(chainId) {
117
+ return toCoinbaseSmartAccount({
118
+ address: this.deploymentAddress,
119
+ ownerIndex: this.signerIndex,
120
+ client: this.chainManager.getPublicClient(chainId),
121
+ owners: this.signers,
122
+ nonce: this.nonce,
123
+ version: '1.1',
124
+ });
125
+ }
126
+ /**
127
+ * Send a batch of transactions using this smart wallet
128
+ * @description Executes a batch of transactions through the smart wallet, handling gas sponsorship
129
+ * and ERC-4337 UserOperation creation automatically.
130
+ * @param transactionData - The transaction data to execute
131
+ * @param chainId - Target blockchain chain ID
132
+ * @returns Promise resolving to the transaction hash
133
+ */
134
+ async sendBatch(transactionData, chainId) {
135
+ const account = await this.getCoinbaseSmartAccount(chainId);
136
+ const bundlerClient = this.chainManager.getBundlerClient(chainId, account);
137
+ try {
138
+ const uo = await bundlerClient.prepareUserOperation({
139
+ account,
140
+ calls: transactionData,
141
+ paymaster: true,
142
+ });
143
+ const hash = await bundlerClient.sendUserOperation({
144
+ account,
145
+ callData: this.appendAttributionSuffix(uo.callData),
146
+ initCode: uo.initCode
147
+ ? this.appendAttributionSuffix(uo.initCode)
148
+ : uo.initCode,
149
+ paymaster: true,
150
+ });
151
+ const userOperationReceipt = await bundlerClient.waitForUserOperationReceipt({
152
+ hash,
153
+ });
154
+ return userOperationReceipt;
155
+ }
156
+ catch (error) {
157
+ throw new Error(`Failed to send transaction: ${error instanceof Error ? error.message : 'Unknown error'}`);
158
+ }
159
+ }
160
+ /**
161
+ * Send a transaction via ERC-4337
162
+ * @description Executes a transaction using the smart wallet with automatic gas sponsorship.
163
+ * The transaction is sent as a UserOperation through the bundler service.
164
+ * @param transactionData - Transaction details (to, value, data)
165
+ * @param chainId - Target blockchain network ID
166
+ * @returns Promise resolving to UserOperation hash
167
+ * @throws Error if transaction fails or validation errors occur
168
+ */
169
+ async send(transactionData, chainId) {
170
+ try {
171
+ const account = await this.getCoinbaseSmartAccount(chainId);
172
+ const bundlerClient = this.chainManager.getBundlerClient(chainId, account);
173
+ const uo = await bundlerClient.prepareUserOperation({
174
+ account,
175
+ calls: [transactionData],
176
+ paymaster: true,
177
+ });
178
+ const hash = await bundlerClient.sendUserOperation({
179
+ account,
180
+ callData: this.appendAttributionSuffix(uo.callData),
181
+ initCode: uo.initCode
182
+ ? this.appendAttributionSuffix(uo.initCode)
183
+ : uo.initCode,
184
+ paymaster: true,
185
+ });
186
+ const receipt = await bundlerClient.waitForUserOperationReceipt({
187
+ hash,
188
+ });
189
+ return receipt;
190
+ }
191
+ catch (error) {
192
+ throw new Error(`Failed to send transaction: ${error instanceof Error ? error.message : 'Unknown error'}`);
193
+ }
194
+ }
195
+ /**
196
+ * Add a new signer to the smart wallet
197
+ * @description Adds either an EOA address signer or a WebAuthn account signer
198
+ * to the underlying smart wallet contract. For WebAuthn accounts, the method
199
+ * extracts the x and y coordinates from the provided 64-byte public key and
200
+ * calls the contract's `addOwnerPublicKey`. For EOA addresses it calls
201
+ * `addOwnerAddress`. The add operation is sent as a UserOperation via
202
+ * {@link sendBatch}, and upon success the method queries the contract to
203
+ * resolve the signer's index.
204
+ * @param signer - Ethereum address (EOA) or a `WebAuthnAccount` to add
205
+ * @param chainId - Target chain on which the smart wallet operates
206
+ * @returns Promise resolving to the onchain signer index for the newly added signer
207
+ * @throws Error if the add operation fails or the owner index cannot be found
208
+ */
209
+ async addSigner(signer, chainId) {
210
+ const calls = [];
211
+ if (typeof signer === 'string') {
212
+ calls.push({
213
+ to: this.address,
214
+ data: encodeFunctionData({
215
+ abi: smartWalletAbi,
216
+ functionName: 'addOwnerAddress',
217
+ args: [signer],
218
+ }),
219
+ value: 0n,
220
+ });
221
+ }
222
+ else if (signer.type === 'webAuthn') {
223
+ const [x, y] = decodeAbiParameters([{ type: 'bytes32' }, { type: 'bytes32' }], signer.publicKey);
224
+ calls.push({
225
+ to: this.address,
226
+ data: encodeFunctionData({
227
+ abi: smartWalletAbi,
228
+ functionName: 'addOwnerPublicKey',
229
+ args: [x, y],
230
+ }),
231
+ value: 0n,
232
+ });
233
+ }
234
+ else if (signer.type === 'local') {
235
+ calls.push({
236
+ to: this.address,
237
+ data: encodeFunctionData({
238
+ abi: smartWalletAbi,
239
+ functionName: 'addOwnerAddress',
240
+ args: [signer.address],
241
+ }),
242
+ value: 0n,
243
+ });
244
+ }
245
+ else {
246
+ throw new Error('invalid signer type');
247
+ }
248
+ const { success, receipt } = await this.sendBatch(calls, chainId);
249
+ if (!success) {
250
+ throw new TransactionConfirmedButRevertedError('add signer call failed', receipt);
251
+ }
252
+ const signerIndex = await retryOnStaleRead(() => findSignerIndexOnChain({
253
+ address: this.address,
254
+ signerPublicKey: getSignerPublicKey(signer),
255
+ client: this.chainManager.getPublicClient(chainId),
256
+ }), (index) => index === -1, { retries: 1, delayMs: 2000 });
257
+ if (signerIndex === -1) {
258
+ throw new Error('failed to find signer index');
259
+ }
260
+ return signerIndex;
261
+ }
262
+ /**
263
+ * Remove an existing signer from the smart wallet
264
+ * @description Removes a signer (EOA address or WebAuthn public key) from the
265
+ * smart wallet contract. If `signerIndex` is not provided, the method resolves
266
+ * it via {@link findSignerIndexOnChain}. The removal is executed via {@link sendBatch}
267
+ * by calling the contract function `removeOwnerAtIndex(index, signerBytes)`.
268
+ * Returns the ERC-4337 UserOperation receipt on success.
269
+ * @param signer - Signer to remove: EOA address or `WebAuthnAccount`
270
+ * @param chainId - Target chain on which the smart wallet operates
271
+ * @param signerIndex - Optional known on-chain index of the signer (skips lookup when provided)
272
+ * @returns Promise resolving to the UserOperation receipt for the removal
273
+ * @throws Error if the signer index cannot be found or the removal operation fails
274
+ */
275
+ async removeSigner(signer, chainId, signerIndex) {
276
+ const resolvedSignerIndex = signerIndex ?? (await this.findSignerIndexOnChain(signer, chainId));
277
+ if (resolvedSignerIndex === -1) {
278
+ throw new Error('failed to find signer index');
279
+ }
280
+ const signerBytes = formatPublicKey(getSignerPublicKey(signer));
281
+ const calls = [
282
+ {
283
+ to: this.address,
284
+ data: encodeFunctionData({
285
+ abi: smartWalletAbi,
286
+ functionName: 'removeOwnerAtIndex',
287
+ args: [BigInt(resolvedSignerIndex), signerBytes],
288
+ }),
289
+ value: 0n,
290
+ },
291
+ ];
292
+ const userOperationReceipt = await this.sendBatch(calls, chainId);
293
+ if (!userOperationReceipt.success) {
294
+ throw new TransactionConfirmedButRevertedError('remove signer call failed', userOperationReceipt.receipt);
295
+ }
296
+ return userOperationReceipt;
297
+ }
298
+ /**
299
+ * Find the index of a signer in the smart wallet
300
+ * @param signer - Ethereum address (EOA) or a `WebAuthnAccount` to find
301
+ * @param chainId - Target chain on which the smart wallet operates
302
+ * @returns Promise resolving to the onchain signer index for the found signer
303
+ * returns -1 if the signer is not found
304
+ */
305
+ async findSignerIndexOnChain(signer, chainId) {
306
+ return findSignerIndexOnChain({
307
+ address: this.address,
308
+ signerPublicKey: getSignerPublicKey(signer),
309
+ client: this.chainManager.getPublicClient(chainId),
310
+ });
311
+ }
312
+ /**
313
+ * Deploy the smart wallet on a specific chain
314
+ * @description Triggers deployment of the smart wallet contract on the specified chain.
315
+ * If the wallet is already deployed, returns success immediately without creating a new transaction.
316
+ * Deployment is done by calling the factory's `createAccount` function, which is idempotent and will
317
+ * return the existing address if already deployed. The factory address is a fixed address that can be
318
+ * added to paymaster allowlists once, avoiding the need to allowlist each dynamically created wallet.
319
+ * @param chainId - Target chain ID to deploy the wallet on
320
+ * @returns Promise resolving to deployment result containing:
321
+ * - `chainId`: The chain ID where deployment was attempted
322
+ * - `success`: Whether the deployment succeeded
323
+ * - `receipt`: UserOperation receipt (undefined if wallet was already deployed)
324
+ * @throws {SmartWalletDeploymentError} If deployment fails or transaction reverts
325
+ */
326
+ async deploy(chainId) {
327
+ try {
328
+ const smartAccount = await this.getCoinbaseSmartAccount(chainId);
329
+ // check if code already exists for this address
330
+ const isDeployed = await smartAccount.isDeployed();
331
+ if (isDeployed) {
332
+ return { chainId, success: true, receipt: undefined };
333
+ }
334
+ // Call createAccount on the factory to trigger deployment
335
+ // The factory's createAccount is idempotent and will return the existing address if already deployed
336
+ // Using the factory address allows paymasters to configure it in their allowlist once
337
+ const receipt = await this.sendBatch([
338
+ {
339
+ to: smartWalletFactoryAddress,
340
+ value: 0n,
341
+ data: encodeFunctionData({
342
+ abi: smartWalletFactoryAbi,
343
+ functionName: 'createAccount',
344
+ args: [this._signerBytes, this.nonce || 0n],
345
+ }),
346
+ },
347
+ ], chainId);
348
+ if (!receipt.success) {
349
+ throw new SmartWalletDeploymentError('deployment transaction reverted', chainId, receipt);
350
+ }
351
+ return { chainId, success: true, receipt };
352
+ }
353
+ catch (error) {
354
+ throw new SmartWalletDeploymentError(`Failed to deploy smart wallet: ${error instanceof Error ? error.message : 'Unknown error'}`, chainId);
355
+ }
356
+ }
357
+ /**
358
+ * Send tokens to another address
359
+ * @description Sends ETH or ERC20 tokens to a recipient address
360
+ * @param amount - Human-readable amount to send (e.g. 1.5)
361
+ * @param asset - Asset object with address mapping and metadata
362
+ * @param chainId - Chain ID for the transaction
363
+ * @param recipientAddress - Address to send to
364
+ * @returns Promise resolving to transaction data
365
+ * @throws Error if wallet is not initialized or asset is not supported
366
+ */
367
+ async sendTokens(amount, asset, chainId, recipientAddress) {
368
+ if (!recipientAddress) {
369
+ throw new Error('Recipient address is required');
370
+ }
371
+ // Validate amount
372
+ if (amount <= 0) {
373
+ throw new Error('Amount must be greater than 0');
374
+ }
375
+ // Get token address for the specified chain
376
+ const tokenAddress = asset.address[chainId];
377
+ if (!tokenAddress) {
378
+ throw new Error(`${asset.metadata.symbol} not supported on chain ${chainId}`);
379
+ }
380
+ // Handle ETH transfers
381
+ if (asset.type === 'native') {
382
+ const parsedAmount = parseAssetAmount(amount, asset.metadata.decimals);
383
+ return {
384
+ to: recipientAddress,
385
+ value: parsedAmount,
386
+ data: '0x',
387
+ };
388
+ }
389
+ // Handle ERC20 token transfers
390
+ const parsedAmount = parseAssetAmount(amount, asset.metadata.decimals);
391
+ // Encode ERC20 transfer function call
392
+ const transferData = encodeFunctionData({
393
+ abi: erc20Abi,
394
+ functionName: 'transfer',
395
+ args: [recipientAddress, parsedAmount],
396
+ });
397
+ return {
398
+ to: tokenAddress,
399
+ value: 0n,
400
+ data: transferData,
401
+ };
402
+ }
403
+ async performInitialization() {
404
+ this._address = await this.getAddress();
405
+ }
406
+ /**
407
+ * Get the smart wallet address
408
+ * @description Returns the deployment address if known, otherwise calculates the deterministic
409
+ * address using CREATE2 based on signers and nonce.
410
+ * @returns Promise resolving to the wallet address
411
+ */
412
+ async getAddress() {
413
+ if (this.deploymentAddress)
414
+ return this.deploymentAddress;
415
+ // Factory is the same across all chains, so we can use the first chain to get the wallet address
416
+ const publicClient = this.chainManager.getPublicClient(this.chainManager.getSupportedChains()[0]);
417
+ const smartWalletAddress = await publicClient.readContract({
418
+ abi: smartWalletFactoryAbi,
419
+ address: smartWalletFactoryAddress,
420
+ functionName: 'getAddress',
421
+ args: [this._signerBytes, this.nonce || 0n],
422
+ });
423
+ return smartWalletAddress;
424
+ }
425
+ /**
426
+ * Appends the attribution suffix to the bytes
427
+ * @param bytes
428
+ * @returns The bytes with the attribution suffix appended
429
+ */
430
+ appendAttributionSuffix(bytes) {
431
+ return bytes && bytes !== '0x' && this.attributionSuffix
432
+ ? concatHex([bytes, this.attributionSuffix])
433
+ : bytes;
434
+ }
435
+ }
436
+ //# sourceMappingURL=DefaultSmartWallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultSmartWallet.js","sourceRoot":"","sources":["../../../../../../src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { Address, LocalAccount, WalletClient } from 'viem';
2
+ import type { WaitForUserOperationReceiptReturnType } from 'viem/account-abstraction';
3
+ import type { SupportedChainId } from '../../../../../../constants/supportedChains.js';
4
+ import type { Asset } from '../../../../../../types/asset.js';
5
+ import type { TransactionData } from '../../../../../../types/lend/index.js';
6
+ import type { Signer } from '../../abstract/types/index.js';
7
+ import type { DefaultSmartWallet } from '../DefaultSmartWallet.js';
8
+ export type CreateDefaultSmartWalletMockOptions = {
9
+ /** Mock wallet address */
10
+ address?: Address;
11
+ /** Mock signer */
12
+ signer?: LocalAccount;
13
+ /** Custom implementation for deploy */
14
+ deployImpl?: (chainId: SupportedChainId) => Promise<{
15
+ chainId: SupportedChainId;
16
+ success: boolean;
17
+ receipt?: WaitForUserOperationReceiptReturnType;
18
+ }>;
19
+ /** Custom implementation for addSigner */
20
+ addSignerImpl?: (signer: Signer, chainId: SupportedChainId) => Promise<number>;
21
+ /** Custom implementation for findSignerIndex */
22
+ findSignerIndexImpl?: (signer: Signer, chainId: SupportedChainId) => Promise<number>;
23
+ /** Custom implementation for removeSigner */
24
+ removeSignerImpl?: (signer: Signer, chainId: SupportedChainId, signerIndex?: number) => Promise<WaitForUserOperationReceiptReturnType>;
25
+ /** Custom implementation for send */
26
+ sendImpl?: (transactionData: TransactionData, chainId: SupportedChainId) => Promise<WaitForUserOperationReceiptReturnType>;
27
+ /** Custom implementation for sendBatch */
28
+ sendBatchImpl?: (transactionData: TransactionData[], chainId: SupportedChainId) => Promise<WaitForUserOperationReceiptReturnType>;
29
+ /** Optional custom walletClient implementation */
30
+ walletClientImpl?: (chainId: SupportedChainId) => Promise<WalletClient>;
31
+ /** Optional custom sendTokens implementation */
32
+ sendTokensImpl?: (amount: number, asset: Asset, chainId: SupportedChainId, recipientAddress: Address) => Promise<TransactionData>;
33
+ };
34
+ /**
35
+ * Create a mock DefaultSmartWallet instance
36
+ * @description Returns an object typed as `DefaultSmartWallet` with configurable
37
+ * implementations for all methods. Each method is wrapped with `vi.fn()` for spying.
38
+ */
39
+ export declare function createMock(options?: CreateDefaultSmartWalletMockOptions): DefaultSmartWallet;
40
+ //# sourceMappingURL=DefaultSmartWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultSmartWallet.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/core/wallets/smart/default/__mocks__/DefaultSmartWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAC/D,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,0BAA0B,CAAA;AAGrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qDAAqD,CAAA;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2DAA2D,CAAA;AAEnG,MAAM,MAAM,mCAAmC,GAAG;IAChD,0BAA0B;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,kBAAkB;IAClB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,uCAAuC;IACvC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC;QAClD,OAAO,EAAE,gBAAgB,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;QAChB,OAAO,CAAC,EAAE,qCAAqC,CAAA;KAChD,CAAC,CAAA;IACF,0CAA0C;IAC1C,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9E,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,CACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,KACtB,OAAO,CAAC,MAAM,CAAC,CAAA;IACpB,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,WAAW,CAAC,EAAE,MAAM,KACjB,OAAO,CAAC,qCAAqC,CAAC,CAAA;IACnD,qCAAqC;IACrC,QAAQ,CAAC,EAAE,CACT,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,gBAAgB,KACtB,OAAO,CAAC,qCAAqC,CAAC,CAAA;IACnD,0CAA0C;IAC1C,aAAa,CAAC,EAAE,CACd,eAAe,EAAE,eAAe,EAAE,EAClC,OAAO,EAAE,gBAAgB,KACtB,OAAO,CAAC,qCAAqC,CAAC,CAAA;IACnD,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;IACvE,gDAAgD;IAChD,cAAc,CAAC,EAAE,CACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,EAAE,OAAO,KACtB,OAAO,CAAC,eAAe,CAAC,CAAA;CAC9B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,OAAO,GAAE,mCAAwC,GAChD,kBAAkB,CA6GpB"}
@@ -0,0 +1,72 @@
1
+ import { vi } from 'vitest';
2
+ /**
3
+ * Create a mock DefaultSmartWallet instance
4
+ * @description Returns an object typed as `DefaultSmartWallet` with configurable
5
+ * implementations for all methods. Each method is wrapped with `vi.fn()` for spying.
6
+ */
7
+ export function createMock(options = {}) {
8
+ const defaultReceipt = {
9
+ success: true,
10
+ };
11
+ const address = (options.address ??
12
+ '0x0000000000000000000000000000000000000000');
13
+ const signer = options.signer ?? { address, type: 'local' };
14
+ const deploy = vi.fn(async (chainId) => {
15
+ if (options.deployImpl)
16
+ return options.deployImpl(chainId);
17
+ return { chainId, success: true, receipt: undefined };
18
+ });
19
+ const addSigner = vi.fn(async (signer, chainId) => {
20
+ if (options.addSignerImpl)
21
+ return options.addSignerImpl(signer, chainId);
22
+ return 0;
23
+ });
24
+ const findSignerIndex = vi.fn(async (signer, chainId) => {
25
+ if (options.findSignerIndexImpl)
26
+ return options.findSignerIndexImpl(signer, chainId);
27
+ return -1;
28
+ });
29
+ const removeSigner = vi.fn(async (signer, chainId, signerIndex) => {
30
+ if (options.removeSignerImpl)
31
+ return options.removeSignerImpl(signer, chainId, signerIndex);
32
+ return defaultReceipt;
33
+ });
34
+ const send = vi.fn(async (transactionData, chainId) => {
35
+ if (options.sendImpl)
36
+ return options.sendImpl(transactionData, chainId);
37
+ return defaultReceipt;
38
+ });
39
+ const sendBatch = vi.fn(async (transactionData, chainId) => {
40
+ if (options.sendBatchImpl)
41
+ return options.sendBatchImpl(transactionData, chainId);
42
+ return defaultReceipt;
43
+ });
44
+ const walletClient = vi.fn(async (chainId) => {
45
+ if (options.walletClientImpl)
46
+ return options.walletClientImpl(chainId);
47
+ throw new Error('walletClient not implemented in DefaultSmartWallet mock');
48
+ });
49
+ const sendTokens = vi.fn(async (amount, asset, chainId, recipientAddress) => {
50
+ if (options.sendTokensImpl)
51
+ return options.sendTokensImpl(amount, asset, chainId, recipientAddress);
52
+ throw new Error('sendTokens not implemented in DefaultSmartWallet mock');
53
+ });
54
+ const mock = {
55
+ get address() {
56
+ return address;
57
+ },
58
+ get signer() {
59
+ return signer;
60
+ },
61
+ deploy,
62
+ addSigner,
63
+ findSignerIndex,
64
+ removeSigner,
65
+ walletClient,
66
+ send,
67
+ sendBatch,
68
+ sendTokens,
69
+ };
70
+ return mock;
71
+ }
72
+ //# sourceMappingURL=DefaultSmartWallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultSmartWallet.js","sourceRoot":"","sources":["../../../../../../../src/wallet/core/wallets/smart/default/__mocks__/DefaultSmartWallet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAqD3B;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,UAA+C,EAAE;IAEjD,MAAM,cAAc,GAAG;QACrB,OAAO,EAAE,IAAI;KACsC,CAAA;IAErD,MAAM,OAAO,GAAY,CAAC,OAAO,CAAC,OAAO;QACvC,4CAA4C,CAAY,CAAA;IAC1D,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,IAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAA8B,CAAA;IAE3E,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAClB,KAAK,EACH,OAAyB,EAKxB,EAAE;QACH,IAAI,OAAO,CAAC,UAAU;YAAE,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAC1D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;IACvD,CAAC,CACF,CAAA;IAED,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,CACrB,KAAK,EAAE,MAAc,EAAE,OAAyB,EAAmB,EAAE;QACnE,IAAI,OAAO,CAAC,aAAa;YAAE,OAAO,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACxE,OAAO,CAAC,CAAA;IACV,CAAC,CACF,CAAA;IAED,MAAM,eAAe,GAAG,EAAE,CAAC,EAAE,CAC3B,KAAK,EAAE,MAAc,EAAE,OAAyB,EAAmB,EAAE;QACnE,IAAI,OAAO,CAAC,mBAAmB;YAC7B,OAAO,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACrD,OAAO,CAAC,CAAC,CAAA;IACX,CAAC,CACF,CAAA;IAED,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,CACxB,KAAK,EACH,MAAc,EACd,OAAyB,EACzB,WAAoB,EAC4B,EAAE;QAClD,IAAI,OAAO,CAAC,gBAAgB;YAC1B,OAAO,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;QAC/D,OAAO,cAAc,CAAA;IACvB,CAAC,CACF,CAAA;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAChB,KAAK,EACH,eAAgC,EAChC,OAAyB,EACuB,EAAE;QAClD,IAAI,OAAO,CAAC,QAAQ;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;QACvE,OAAO,cAAc,CAAA;IACvB,CAAC,CACF,CAAA;IAED,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,CACrB,KAAK,EACH,eAAkC,EAClC,OAAyB,EACuB,EAAE;QAClD,IAAI,OAAO,CAAC,aAAa;YACvB,OAAO,OAAO,CAAC,aAAa,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;QACxD,OAAO,cAAc,CAAA;IACvB,CAAC,CACF,CAAA;IAED,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,CACxB,KAAK,EAAE,OAAyB,EAAyB,EAAE;QACzD,IAAI,OAAO,CAAC,gBAAgB;YAAE,OAAO,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QACtE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC5E,CAAC,CACF,CAAA;IAED,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,CACtB,KAAK,EACH,MAAc,EACd,KAAY,EACZ,OAAyB,EACzB,gBAAyB,EACC,EAAE;QAC5B,IAAI,OAAO,CAAC,cAAc;YACxB,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAA;QACzE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC1E,CAAC,CACF,CAAA;IAED,MAAM,IAAI,GAAG;QACX,IAAI,OAAO;YACT,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,IAAI,MAAM;YACR,OAAO,MAAM,CAAA;QACf,CAAC;QACD,MAAM;QACN,SAAS;QACT,eAAe;QACf,YAAY;QACZ,YAAY;QACZ,IAAI;QACJ,SAAS;QACT,UAAU;KACsB,CAAA;IAElC,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DefaultSmartWallet.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultSmartWallet.spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts"],"names":[],"mappings":""}