@web3auth/no-modal 9.6.0 → 10.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/dist/757.noModal.cjs.js +226 -0
  2. package/dist/lib.cjs/adapters/auth-adapter/authAdapter.js +262 -0
  3. package/dist/lib.cjs/adapters/auth-adapter/config.js +17 -0
  4. package/dist/lib.cjs/adapters/base-evm-adapter/baseEvmAdapter.js +72 -0
  5. package/dist/lib.cjs/adapters/base-solana-adapter/baseSolanaAdapter.js +76 -0
  6. package/dist/lib.cjs/adapters/coinbase-adapter/coinbaseAdapter.js +156 -0
  7. package/dist/lib.cjs/adapters/default-evm-adapter/index.js +40 -0
  8. package/dist/lib.cjs/adapters/default-evm-adapter/injectedAdapters.js +42 -0
  9. package/dist/lib.cjs/adapters/default-evm-adapter/injectedEvmAdapter.js +160 -0
  10. package/dist/lib.cjs/adapters/default-solana-adapter/index.js +40 -0
  11. package/dist/lib.cjs/adapters/default-solana-adapter/injectedAdapters.js +53 -0
  12. package/dist/lib.cjs/adapters/default-solana-adapter/utils.js +16 -0
  13. package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardAdapter.js +138 -0
  14. package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardHandler.js +77 -0
  15. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.js +278 -0
  16. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/config.js +183 -0
  17. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.js +165 -0
  18. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +376 -0
  19. package/dist/lib.cjs/base/adapter/baseAdapter.js +117 -0
  20. package/dist/lib.cjs/base/adapter/constants.js +24 -0
  21. package/dist/lib.cjs/base/adapter/utils.js +66 -0
  22. package/dist/lib.cjs/base/chain/IChainInterface.js +22 -0
  23. package/dist/lib.cjs/base/chain/config.js +281 -0
  24. package/dist/lib.cjs/base/composables/index.js +5 -0
  25. package/dist/lib.cjs/base/errors/index.js +244 -0
  26. package/dist/lib.cjs/base/loglevel.js +7 -0
  27. package/dist/lib.cjs/base/plugin/IPlugin.js +31 -0
  28. package/dist/lib.cjs/base/plugin/errors.js +107 -0
  29. package/dist/lib.cjs/base/provider/IProvider.js +8 -0
  30. package/dist/lib.cjs/base/utils.js +56 -0
  31. package/dist/lib.cjs/base/wallet/index.js +31 -0
  32. package/dist/lib.cjs/index.js +200 -0
  33. package/dist/lib.cjs/noModal.js +98 -90
  34. package/dist/lib.cjs/plugins/nft-checkout-plugin/embed.js +134 -0
  35. package/dist/lib.cjs/plugins/nft-checkout-plugin/enums.js +24 -0
  36. package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +71 -0
  37. package/dist/lib.cjs/plugins/nft-checkout-plugin/utils.js +18 -0
  38. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +285 -0
  39. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +164 -0
  40. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +29 -0
  41. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +22 -0
  42. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +30 -0
  43. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +30 -0
  44. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +29 -0
  45. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/constants.js +11 -0
  46. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +134 -0
  47. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +174 -0
  48. package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +79 -0
  49. package/dist/lib.cjs/providers/base-provider/baseProvider.js +127 -0
  50. package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +89 -0
  51. package/dist/lib.cjs/providers/base-provider/jrpcClient.js +41 -0
  52. package/dist/lib.cjs/providers/base-provider/utils.js +12 -0
  53. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +199 -0
  54. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +165 -0
  55. package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +22 -0
  56. package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +89 -0
  57. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +185 -0
  58. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +27 -0
  59. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +380 -0
  60. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +10 -0
  61. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +94 -0
  62. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +106 -0
  63. package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +29 -0
  64. package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +75 -0
  65. package/dist/lib.cjs/providers/ethereum-provider/rpc/jrpcClient.js +41 -0
  66. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +179 -0
  67. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +51 -0
  68. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +47 -0
  69. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +12 -0
  70. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +75 -0
  71. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +109 -0
  72. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +12 -0
  73. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +180 -0
  74. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +103 -0
  75. package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +47 -0
  76. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +97 -0
  77. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +62 -0
  78. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +158 -0
  79. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +89 -0
  80. package/dist/lib.cjs/providers/xrpl-provider/rpc/JrpcClient.js +48 -0
  81. package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +73 -0
  82. package/dist/lib.cjs/react/index.js +16 -0
  83. package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +216 -0
  84. package/dist/lib.cjs/react/no-modal/Web3AuthProvider.js +15 -0
  85. package/dist/lib.cjs/react/no-modal/hooks/useWeb3Auth.js +15 -0
  86. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +86 -0
  87. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesProvider.js +16 -0
  88. package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +15 -0
  89. package/dist/lib.cjs/vue/index.js +15 -0
  90. package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +222 -0
  91. package/dist/lib.cjs/vue/no-modal/composables/useWeb3Auth.js +13 -0
  92. package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +86 -0
  93. package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +13 -0
  94. package/dist/lib.cjs/vue/wallet-services-plugin/context.js +5 -0
  95. package/dist/lib.esm/adapters/auth-adapter/authAdapter.js +260 -0
  96. package/dist/lib.esm/adapters/auth-adapter/config.js +15 -0
  97. package/dist/lib.esm/adapters/base-evm-adapter/baseEvmAdapter.js +70 -0
  98. package/dist/lib.esm/adapters/base-solana-adapter/baseSolanaAdapter.js +74 -0
  99. package/dist/lib.esm/adapters/coinbase-adapter/coinbaseAdapter.js +154 -0
  100. package/dist/lib.esm/adapters/default-evm-adapter/index.js +37 -0
  101. package/dist/lib.esm/adapters/default-evm-adapter/injectedAdapters.js +40 -0
  102. package/dist/lib.esm/adapters/default-evm-adapter/injectedEvmAdapter.js +158 -0
  103. package/dist/lib.esm/adapters/default-solana-adapter/index.js +37 -0
  104. package/dist/lib.esm/adapters/default-solana-adapter/injectedAdapters.js +51 -0
  105. package/dist/lib.esm/adapters/default-solana-adapter/utils.js +14 -0
  106. package/dist/lib.esm/adapters/default-solana-adapter/walletStandardAdapter.js +136 -0
  107. package/dist/lib.esm/adapters/default-solana-adapter/walletStandardHandler.js +75 -0
  108. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.js +276 -0
  109. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/config.js +172 -0
  110. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.js +158 -0
  111. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +374 -0
  112. package/dist/lib.esm/base/adapter/baseAdapter.js +115 -0
  113. package/dist/lib.esm/base/adapter/constants.js +20 -0
  114. package/dist/lib.esm/base/adapter/utils.js +60 -0
  115. package/dist/lib.esm/base/chain/IChainInterface.js +19 -0
  116. package/dist/lib.esm/base/chain/config.js +276 -0
  117. package/dist/lib.esm/base/composables/index.js +3 -0
  118. package/dist/lib.esm/base/errors/index.js +237 -0
  119. package/dist/lib.esm/base/loglevel.js +5 -0
  120. package/dist/lib.esm/base/plugin/IPlugin.js +24 -0
  121. package/dist/lib.esm/base/plugin/errors.js +104 -0
  122. package/dist/lib.esm/base/provider/IProvider.js +6 -0
  123. package/dist/lib.esm/base/utils.js +46 -0
  124. package/dist/lib.esm/base/wallet/index.js +25 -0
  125. package/dist/lib.esm/index.js +58 -0
  126. package/dist/lib.esm/noModal.js +12 -4
  127. package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +132 -0
  128. package/dist/lib.esm/plugins/nft-checkout-plugin/enums.js +20 -0
  129. package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +69 -0
  130. package/dist/lib.esm/plugins/nft-checkout-plugin/utils.js +15 -0
  131. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +276 -0
  132. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +162 -0
  133. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +27 -0
  134. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +20 -0
  135. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +28 -0
  136. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +28 -0
  137. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +27 -0
  138. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/constants.js +9 -0
  139. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +132 -0
  140. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +171 -0
  141. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +77 -0
  142. package/dist/lib.esm/providers/base-provider/baseProvider.js +125 -0
  143. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +87 -0
  144. package/dist/lib.esm/providers/base-provider/jrpcClient.js +37 -0
  145. package/dist/lib.esm/providers/base-provider/utils.js +6 -0
  146. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +197 -0
  147. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +163 -0
  148. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +20 -0
  149. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +85 -0
  150. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +183 -0
  151. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +21 -0
  152. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +378 -0
  153. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +8 -0
  154. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +88 -0
  155. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +104 -0
  156. package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +24 -0
  157. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +71 -0
  158. package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +37 -0
  159. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +177 -0
  160. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +49 -0
  161. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +45 -0
  162. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +10 -0
  163. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +73 -0
  164. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +107 -0
  165. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +10 -0
  166. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +178 -0
  167. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +101 -0
  168. package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +42 -0
  169. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +89 -0
  170. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +60 -0
  171. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +156 -0
  172. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +87 -0
  173. package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +43 -0
  174. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +67 -0
  175. package/dist/lib.esm/react/index.js +5 -0
  176. package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +213 -0
  177. package/dist/lib.esm/react/no-modal/Web3AuthProvider.js +13 -0
  178. package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +13 -0
  179. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +83 -0
  180. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesProvider.js +14 -0
  181. package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +13 -0
  182. package/dist/lib.esm/vue/index.js +5 -0
  183. package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +220 -0
  184. package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +11 -0
  185. package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +84 -0
  186. package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +11 -0
  187. package/dist/lib.esm/vue/wallet-services-plugin/context.js +3 -0
  188. package/dist/noModal.cjs.js +26314 -364
  189. package/dist/noModal.umd.min.js +1 -1
  190. package/dist/noModal.umd.min.js.LICENSE.txt +54 -0
  191. package/dist/types/adapters/auth-adapter/authAdapter.d.ts +42 -0
  192. package/dist/types/adapters/auth-adapter/config.d.ts +2 -0
  193. package/dist/types/adapters/auth-adapter/index.d.ts +3 -0
  194. package/dist/types/adapters/auth-adapter/interface.d.ts +11 -0
  195. package/dist/types/adapters/base-evm-adapter/baseEvmAdapter.d.ts +7 -0
  196. package/dist/types/adapters/base-evm-adapter/index.d.ts +1 -0
  197. package/dist/types/adapters/base-solana-adapter/baseSolanaAdapter.d.ts +7 -0
  198. package/dist/types/adapters/base-solana-adapter/index.d.ts +1 -0
  199. package/dist/types/adapters/coinbase-adapter/coinbaseAdapter.d.ts +33 -0
  200. package/dist/types/adapters/coinbase-adapter/index.d.ts +1 -0
  201. package/dist/types/adapters/default-evm-adapter/index.d.ts +6 -0
  202. package/dist/types/adapters/default-evm-adapter/injectedAdapters.d.ts +4 -0
  203. package/dist/types/adapters/default-evm-adapter/injectedEvmAdapter.d.ts +30 -0
  204. package/dist/types/adapters/default-solana-adapter/index.d.ts +6 -0
  205. package/dist/types/adapters/default-solana-adapter/injectedAdapters.d.ts +4 -0
  206. package/dist/types/adapters/default-solana-adapter/utils.d.ts +3 -0
  207. package/dist/types/adapters/default-solana-adapter/walletStandardAdapter.d.ts +31 -0
  208. package/dist/types/adapters/default-solana-adapter/walletStandardHandler.d.ts +27 -0
  209. package/dist/types/adapters/index.d.ts +7 -0
  210. package/dist/types/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.d.ts +36 -0
  211. package/dist/types/adapters/wallet-connect-v2-adapter/config.d.ts +35 -0
  212. package/dist/types/adapters/wallet-connect-v2-adapter/index.d.ts +4 -0
  213. package/dist/types/adapters/wallet-connect-v2-adapter/interface.d.ts +18 -0
  214. package/dist/types/adapters/wallet-connect-v2-adapter/utils.d.ts +3 -0
  215. package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.d.ts +23 -0
  216. package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.d.ts +42 -0
  217. package/dist/types/base/adapter/baseAdapter.d.ts +44 -0
  218. package/dist/types/base/adapter/constants.d.ts +22 -0
  219. package/dist/types/base/adapter/index.d.ts +4 -0
  220. package/dist/types/base/adapter/interfaces.d.ts +143 -0
  221. package/dist/types/base/adapter/utils.d.ts +5 -0
  222. package/dist/types/base/chain/IChainInterface.d.ts +59 -0
  223. package/dist/types/base/chain/config.d.ts +5 -0
  224. package/dist/types/base/composables/index.d.ts +1 -0
  225. package/dist/types/base/core/IWeb3Auth.d.ts +101 -0
  226. package/dist/types/base/errors/index.d.ts +69 -0
  227. package/dist/types/base/hooks/index.d.ts +37 -0
  228. package/dist/types/base/index.d.ts +13 -0
  229. package/dist/types/base/interfaces.d.ts +44 -0
  230. package/dist/types/base/loglevel.d.ts +2 -0
  231. package/dist/types/base/plugin/IPlugin.d.ts +53 -0
  232. package/dist/types/base/plugin/errors.d.ts +28 -0
  233. package/dist/types/base/plugin/index.d.ts +2 -0
  234. package/dist/types/base/provider/IProvider.d.ts +16 -0
  235. package/dist/types/base/utils.d.ts +9 -0
  236. package/dist/types/base/wallet/index.d.ts +33 -0
  237. package/dist/types/index.d.ts +4 -0
  238. package/dist/types/noModal.d.ts +2 -2
  239. package/dist/types/plugins/index.d.ts +2 -0
  240. package/dist/types/plugins/nft-checkout-plugin/embed.d.ts +24 -0
  241. package/dist/types/plugins/nft-checkout-plugin/enums.d.ts +14 -0
  242. package/dist/types/plugins/nft-checkout-plugin/index.d.ts +2 -0
  243. package/dist/types/plugins/nft-checkout-plugin/plugin.d.ts +23 -0
  244. package/dist/types/plugins/nft-checkout-plugin/utils.d.ts +3 -0
  245. package/dist/types/plugins/wallet-services-plugin/index.d.ts +1 -0
  246. package/dist/types/plugins/wallet-services-plugin/plugin.d.ts +51 -0
  247. package/dist/types/providers/account-abstraction-provider/index.d.ts +1 -0
  248. package/dist/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +46 -0
  249. package/dist/types/providers/account-abstraction-provider/providers/index.d.ts +3 -0
  250. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.d.ts +14 -0
  251. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.d.ts +13 -0
  252. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/LightSmartAccount.d.ts +14 -0
  253. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.d.ts +14 -0
  254. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.d.ts +13 -0
  255. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SimpleSmartAccount.d.ts +13 -0
  256. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.d.ts +13 -0
  257. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/constants.d.ts +9 -0
  258. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +6 -0
  259. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/types.d.ts +22 -0
  260. package/dist/types/providers/account-abstraction-provider/providers/types.d.ts +17 -0
  261. package/dist/types/providers/account-abstraction-provider/providers/utils.d.ts +10 -0
  262. package/dist/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +8 -0
  263. package/dist/types/providers/account-abstraction-provider/rpc/index.d.ts +1 -0
  264. package/dist/types/providers/base-provider/CommonJRPCProvider.d.ts +20 -0
  265. package/dist/types/providers/base-provider/baseProvider.d.ts +39 -0
  266. package/dist/types/providers/base-provider/commonPrivateKeyProvider.d.ts +31 -0
  267. package/dist/types/providers/base-provider/index.d.ts +5 -0
  268. package/dist/types/providers/base-provider/interfaces.d.ts +3 -0
  269. package/dist/types/providers/base-provider/jrpcClient.d.ts +8 -0
  270. package/dist/types/providers/base-provider/utils.d.ts +2 -0
  271. package/dist/types/providers/ethereum-mpc-provider/index.d.ts +1 -0
  272. package/dist/types/providers/ethereum-mpc-provider/providers/index.d.ts +1 -0
  273. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +65 -0
  274. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +1 -0
  275. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +12 -0
  276. package/dist/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +3 -0
  277. package/dist/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +15 -0
  278. package/dist/types/providers/ethereum-provider/index.d.ts +2 -0
  279. package/dist/types/providers/ethereum-provider/providers/converter.d.ts +15 -0
  280. package/dist/types/providers/ethereum-provider/providers/index.d.ts +1 -0
  281. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.d.ts +30 -0
  282. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +16 -0
  283. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +28 -0
  284. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +4 -0
  285. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +46 -0
  286. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +12 -0
  287. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.d.ts +9 -0
  288. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +2 -0
  289. package/dist/types/providers/ethereum-provider/providers/utils.d.ts +5 -0
  290. package/dist/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +5 -0
  291. package/dist/types/providers/ethereum-provider/rpc/index.d.ts +4 -0
  292. package/dist/types/providers/ethereum-provider/rpc/interfaces.d.ts +65 -0
  293. package/dist/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +8 -0
  294. package/dist/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +3 -0
  295. package/dist/types/providers/index.d.ts +6 -0
  296. package/dist/types/providers/solana-provider/index.d.ts +4 -0
  297. package/dist/types/providers/solana-provider/interface.d.ts +39 -0
  298. package/dist/types/providers/solana-provider/providers/index.d.ts +2 -0
  299. package/dist/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +16 -0
  300. package/dist/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +3 -0
  301. package/dist/types/providers/solana-provider/providers/injectedProviders/index.d.ts +3 -0
  302. package/dist/types/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.d.ts +3 -0
  303. package/dist/types/providers/solana-provider/providers/injectedProviders/interface.d.ts +5 -0
  304. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.d.ts +3 -0
  305. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.d.ts +18 -0
  306. package/dist/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +6 -0
  307. package/dist/types/providers/solana-provider/providers/privateKeyProvider/index.d.ts +1 -0
  308. package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +31 -0
  309. package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.d.ts +7 -0
  310. package/dist/types/providers/solana-provider/rpc/JrpcClient.d.ts +9 -0
  311. package/dist/types/providers/solana-provider/rpc/index.d.ts +3 -0
  312. package/dist/types/providers/solana-provider/rpc/interfaces.d.ts +42 -0
  313. package/dist/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +20 -0
  314. package/dist/types/providers/solana-provider/solanaWallet.d.ts +14 -0
  315. package/dist/types/providers/xrpl-provider/index.d.ts +1 -0
  316. package/dist/types/providers/xrpl-provider/providers/index.d.ts +1 -0
  317. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/constants.d.ts +5 -0
  318. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/index.d.ts +3 -0
  319. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/interface.d.ts +2 -0
  320. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +26 -0
  321. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.d.ts +7 -0
  322. package/dist/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +9 -0
  323. package/dist/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +52 -0
  324. package/dist/types/react/index.d.ts +2 -0
  325. package/dist/types/react/no-modal/Web3AuthInnerContext.d.ts +4 -0
  326. package/dist/types/react/no-modal/Web3AuthProvider.d.ts +3 -0
  327. package/dist/types/react/no-modal/hooks/index.d.ts +1 -0
  328. package/dist/types/react/no-modal/hooks/useWeb3Auth.d.ts +2 -0
  329. package/dist/types/react/no-modal/index.d.ts +3 -0
  330. package/dist/types/react/no-modal/interfaces.d.ts +15 -0
  331. package/dist/types/react/wallet-services-plugin/WalletServicesContext.d.ts +7 -0
  332. package/dist/types/react/wallet-services-plugin/WalletServicesProvider.d.ts +7 -0
  333. package/dist/types/react/wallet-services-plugin/hooks/index.d.ts +1 -0
  334. package/dist/types/react/wallet-services-plugin/hooks/useWalletServicesPlugin.d.ts +2 -0
  335. package/dist/types/react/wallet-services-plugin/index.d.ts +4 -0
  336. package/dist/types/react/wallet-services-plugin/interfaces.d.ts +5 -0
  337. package/dist/types/vue/index.d.ts +2 -0
  338. package/dist/types/vue/no-modal/Web3AuthProvider.d.ts +13 -0
  339. package/dist/types/vue/no-modal/composables/index.d.ts +1 -0
  340. package/dist/types/vue/no-modal/composables/useWeb3Auth.d.ts +2 -0
  341. package/dist/types/vue/no-modal/index.d.ts +3 -0
  342. package/dist/types/vue/no-modal/interfaces.d.ts +42 -0
  343. package/dist/types/vue/wallet-services-plugin/WalletServicesProvider.d.ts +1 -0
  344. package/dist/types/vue/wallet-services-plugin/composables/index.d.ts +1 -0
  345. package/dist/types/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +2 -0
  346. package/dist/types/vue/wallet-services-plugin/context.d.ts +3 -0
  347. package/dist/types/vue/wallet-services-plugin/index.d.ts +4 -0
  348. package/dist/types/vue/wallet-services-plugin/interfaces.d.ts +13 -0
  349. package/package.json +76 -15
  350. package/README.md +0 -82
  351. package/dist/noModal.esm.js +0 -359
@@ -0,0 +1,213 @@
1
+ import { createContext, useState, useCallback, useEffect, useMemo, createElement } from 'react';
2
+ import { WalletInitializationError, WalletLoginError } from '../../base/errors/index.js';
3
+ import { Web3AuthNoModal } from '../../noModal.js';
4
+ import { ADAPTER_EVENTS, ADAPTER_STATUS } from '../../base/adapter/constants.js';
5
+
6
+ const Web3AuthInnerContext = createContext(null);
7
+ function Web3AuthInnerProvider(params) {
8
+ const {
9
+ children,
10
+ config
11
+ } = params;
12
+ const [web3Auth, setWeb3Auth] = useState(null);
13
+ const [isConnecting, setIsConnecting] = useState(false);
14
+ const [isInitializing, setIsInitializing] = useState(false);
15
+ const [initError, setInitError] = useState(null);
16
+ const [connectError, setConnectError] = useState(null);
17
+ const [isConnected, setIsConnected] = useState(false);
18
+ const [provider, setProvider] = useState(null);
19
+ const [userInfo, setUserInfo] = useState(null);
20
+ const [isMFAEnabled, setIsMFAEnabled] = useState(false);
21
+ const [isInitialized, setIsInitialized] = useState(false);
22
+ const [status, setStatus] = useState(null);
23
+ const addPlugin = useCallback(plugin => {
24
+ if (!web3Auth) throw WalletInitializationError.notReady();
25
+ return web3Auth.addPlugin(plugin);
26
+ }, [web3Auth]);
27
+ const getPlugin = useCallback(name => {
28
+ if (!web3Auth) throw WalletInitializationError.notReady();
29
+ return web3Auth.getPlugin(name);
30
+ }, [web3Auth]);
31
+ useEffect(() => {
32
+ const resetHookState = () => {
33
+ setProvider(null);
34
+ setUserInfo(null);
35
+ setIsMFAEnabled(false);
36
+ setIsConnected(false);
37
+ setStatus(null);
38
+ };
39
+ resetHookState();
40
+ const {
41
+ web3AuthOptions,
42
+ adapters = [],
43
+ plugins = []
44
+ } = config;
45
+ const web3Instance = new Web3AuthNoModal(web3AuthOptions);
46
+ if (adapters.length) adapters.map(adapter => web3Instance.configureAdapter(adapter));
47
+ if (plugins.length) plugins.forEach(plugin => {
48
+ web3Instance.addPlugin(plugin);
49
+ });
50
+ setWeb3Auth(web3Instance);
51
+ }, [config]);
52
+ useEffect(() => {
53
+ async function init() {
54
+ try {
55
+ setInitError(null);
56
+ setIsInitializing(true);
57
+ await web3Auth.init();
58
+ } catch (error) {
59
+ setInitError(error);
60
+ } finally {
61
+ setIsInitializing(false);
62
+ }
63
+ }
64
+ if (web3Auth) init();
65
+ }, [web3Auth]);
66
+ useEffect(() => {
67
+ const addState = async () => {
68
+ setProvider(web3Auth.provider);
69
+ const userState = await web3Auth.getUserInfo();
70
+ setUserInfo(userState);
71
+ setIsMFAEnabled((userState === null || userState === void 0 ? void 0 : userState.isMfaEnabled) || false);
72
+ };
73
+ const resetState = () => {
74
+ setProvider(null);
75
+ setUserInfo(null);
76
+ setIsMFAEnabled(false);
77
+ };
78
+ if (web3Auth) {
79
+ if (isConnected) addState();else resetState();
80
+ }
81
+ }, [web3Auth, isConnected]);
82
+
83
+ // TODO: don't throw error in init, connect in v9
84
+
85
+ useEffect(() => {
86
+ const notReadyListener = () => setStatus(ADAPTER_STATUS.NOT_READY);
87
+ const readyListener = () => {
88
+ setStatus(web3Auth.status);
89
+ setIsInitialized(true);
90
+ };
91
+ const connectedListener = () => {
92
+ setStatus(web3Auth.status);
93
+ // we do this because of rehydration issues. status connected is fired first but web3auth sdk is not ready yet.
94
+ if (web3Auth.status === ADAPTER_STATUS.CONNECTED) {
95
+ setIsInitialized(true);
96
+ setIsConnected(true);
97
+ }
98
+ };
99
+ const disconnectedListener = () => {
100
+ setStatus(web3Auth.status);
101
+ setIsConnected(false);
102
+ };
103
+ const connectingListener = () => {
104
+ setStatus(web3Auth.status);
105
+ };
106
+ const errorListener = () => {
107
+ setStatus(ADAPTER_STATUS.ERRORED);
108
+ };
109
+ if (web3Auth) {
110
+ // web3Auth is initialized here.
111
+ setStatus(web3Auth.status);
112
+ web3Auth.on(ADAPTER_EVENTS.NOT_READY, notReadyListener);
113
+ web3Auth.on(ADAPTER_EVENTS.READY, readyListener);
114
+ web3Auth.on(ADAPTER_EVENTS.CONNECTED, connectedListener);
115
+ web3Auth.on(ADAPTER_EVENTS.DISCONNECTED, disconnectedListener);
116
+ web3Auth.on(ADAPTER_EVENTS.CONNECTING, connectingListener);
117
+ web3Auth.on(ADAPTER_EVENTS.ERRORED, errorListener);
118
+ }
119
+ return () => {
120
+ if (web3Auth) {
121
+ web3Auth.off(ADAPTER_EVENTS.NOT_READY, notReadyListener);
122
+ web3Auth.off(ADAPTER_EVENTS.READY, readyListener);
123
+ web3Auth.off(ADAPTER_EVENTS.CONNECTED, connectedListener);
124
+ web3Auth.off(ADAPTER_EVENTS.DISCONNECTED, disconnectedListener);
125
+ web3Auth.off(ADAPTER_EVENTS.CONNECTING, connectingListener);
126
+ web3Auth.off(ADAPTER_EVENTS.ERRORED, errorListener);
127
+ }
128
+ };
129
+ }, [web3Auth]);
130
+ const enableMFA = useCallback(async loginParams => {
131
+ if (!web3Auth) throw WalletInitializationError.notReady();
132
+ if (!isConnected) throw WalletLoginError.notConnectedError();
133
+ await web3Auth.enableMFA(loginParams);
134
+ const localUserInfo = await web3Auth.getUserInfo();
135
+ setUserInfo(localUserInfo);
136
+ setIsMFAEnabled(localUserInfo.isMfaEnabled || false);
137
+ }, [web3Auth, isConnected]);
138
+ const manageMFA = useCallback(async loginParams => {
139
+ if (!web3Auth) throw WalletInitializationError.notReady();
140
+ if (!isConnected) throw WalletLoginError.notConnectedError();
141
+ await web3Auth.manageMFA(loginParams);
142
+ }, [web3Auth, isConnected]);
143
+ const logout = useCallback(async (logoutParams = {
144
+ cleanup: false
145
+ }) => {
146
+ if (!web3Auth) throw WalletInitializationError.notReady();
147
+ if (!isConnected) throw WalletLoginError.notConnectedError();
148
+ await web3Auth.logout(logoutParams);
149
+ }, [web3Auth, isConnected]);
150
+ const connectTo = useCallback(async (walletName, loginParams) => {
151
+ if (!web3Auth) throw WalletInitializationError.notReady();
152
+ try {
153
+ setConnectError(null);
154
+ setIsConnecting(true);
155
+ const localProvider = await web3Auth.connectTo(walletName, loginParams);
156
+ return localProvider;
157
+ } catch (error) {
158
+ setConnectError(error);
159
+ throw error;
160
+ } finally {
161
+ setIsConnecting(false);
162
+ }
163
+ }, [web3Auth]);
164
+ const addAndSwitchChain = useCallback(async chainConfig => {
165
+ if (!web3Auth) throw WalletInitializationError.notReady();
166
+ await web3Auth.addChain(chainConfig);
167
+ await web3Auth.switchChain({
168
+ chainId: chainConfig.chainId
169
+ });
170
+ }, [web3Auth]);
171
+ const authenticateUser = useCallback(async () => {
172
+ if (!web3Auth) throw WalletInitializationError.notReady();
173
+ return web3Auth.authenticateUser();
174
+ }, [web3Auth]);
175
+ const addChain = useCallback(async chainConfig => {
176
+ if (!web3Auth) throw WalletInitializationError.notReady();
177
+ return web3Auth.addChain(chainConfig);
178
+ }, [web3Auth]);
179
+ const switchChain = useCallback(chainParams => {
180
+ if (!web3Auth) throw WalletInitializationError.notReady();
181
+ return web3Auth.switchChain(chainParams);
182
+ }, [web3Auth]);
183
+ const value = useMemo(() => {
184
+ return {
185
+ web3Auth,
186
+ isConnected,
187
+ isInitialized,
188
+ provider,
189
+ userInfo,
190
+ isMFAEnabled,
191
+ status,
192
+ getPlugin,
193
+ connectTo,
194
+ enableMFA,
195
+ manageMFA,
196
+ logout,
197
+ addAndSwitchChain,
198
+ addChain,
199
+ addPlugin,
200
+ authenticateUser,
201
+ switchChain,
202
+ isInitializing,
203
+ isConnecting,
204
+ initError,
205
+ connectError
206
+ };
207
+ }, [web3Auth, isConnected, isInitialized, provider, userInfo, isMFAEnabled, status, connectTo, getPlugin, enableMFA, manageMFA, logout, addAndSwitchChain, addChain, addPlugin, authenticateUser, switchChain, isConnecting, isInitializing, initError, connectError]);
208
+ return createElement(Web3AuthInnerContext.Provider, {
209
+ value
210
+ }, children);
211
+ }
212
+
213
+ export { Web3AuthInnerContext, Web3AuthInnerProvider };
@@ -0,0 +1,13 @@
1
+ import { createElement } from 'react';
2
+ import { Web3AuthInnerProvider } from './Web3AuthInnerContext.js';
3
+
4
+ function Web3AuthProvider({
5
+ config,
6
+ children
7
+ }) {
8
+ return createElement(Web3AuthInnerProvider, {
9
+ config
10
+ }, children);
11
+ }
12
+
13
+ export { Web3AuthProvider };
@@ -0,0 +1,13 @@
1
+ import { useContext } from 'react';
2
+ import { WalletInitializationError } from '../../../base/errors/index.js';
3
+ import { Web3AuthInnerContext } from '../Web3AuthInnerContext.js';
4
+
5
+ const useWeb3Auth = () => {
6
+ const context = useContext(Web3AuthInnerContext);
7
+ if (!context) {
8
+ throw WalletInitializationError.fromCode(1000, "usage of useWeb3Auth not wrapped in `Web3AuthContextProvider`.");
9
+ }
10
+ return context;
11
+ };
12
+
13
+ export { useWeb3Auth };
@@ -0,0 +1,83 @@
1
+ import { createContext, useState, useContext, useEffect, useCallback, useMemo, createElement } from 'react';
2
+ import { EVM_PLUGINS, PLUGIN_EVENTS } from '../../base/plugin/IPlugin.js';
3
+ import { WalletServicesPluginError } from '../../base/plugin/errors.js';
4
+
5
+ const WalletServicesContext = createContext(null);
6
+ function WalletServicesContextProvider({
7
+ children,
8
+ context
9
+ }) {
10
+ const [isPluginConnected, setIsPluginConnected] = useState(false);
11
+ const [walletServicesPlugin, setWalletServicesPlugin] = useState(null);
12
+ const web3AuthContext = useContext(context);
13
+ const {
14
+ getPlugin,
15
+ isInitialized,
16
+ isConnected
17
+ } = web3AuthContext;
18
+ useEffect(() => {
19
+ if (isInitialized) {
20
+ const plugin = getPlugin(EVM_PLUGINS.WALLET_SERVICES);
21
+ setWalletServicesPlugin(plugin);
22
+ }
23
+ }, [isInitialized, getPlugin]);
24
+ useEffect(() => {
25
+ if (isConnected) {
26
+ const plugin = getPlugin(EVM_PLUGINS.WALLET_SERVICES);
27
+ if (!walletServicesPlugin) setWalletServicesPlugin(plugin);
28
+ }
29
+ }, [isConnected, getPlugin, walletServicesPlugin]);
30
+ useEffect(() => {
31
+ const connectedListener = () => {
32
+ setIsPluginConnected(true);
33
+ };
34
+ const disconnectedListener = () => {
35
+ setIsPluginConnected(false);
36
+ };
37
+ if (walletServicesPlugin) {
38
+ walletServicesPlugin.on(PLUGIN_EVENTS.CONNECTED, connectedListener);
39
+ walletServicesPlugin.on(PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
40
+ }
41
+ return () => {
42
+ if (walletServicesPlugin) {
43
+ walletServicesPlugin.off(PLUGIN_EVENTS.CONNECTED, connectedListener);
44
+ walletServicesPlugin.off(PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
45
+ }
46
+ };
47
+ }, [walletServicesPlugin]);
48
+ const showWalletConnectScanner = useCallback(async showWalletConnectParams => {
49
+ if (!walletServicesPlugin) throw WalletServicesPluginError.notInitialized();
50
+ if (!isPluginConnected) throw WalletServicesPluginError.walletPluginNotConnected();
51
+ return walletServicesPlugin.showWalletConnectScanner(showWalletConnectParams);
52
+ }, [walletServicesPlugin, isPluginConnected]);
53
+ const showWalletUI = useCallback(async showWalletUiParams => {
54
+ if (!walletServicesPlugin) throw WalletServicesPluginError.notInitialized();
55
+ if (!isPluginConnected) throw WalletServicesPluginError.walletPluginNotConnected();
56
+ return walletServicesPlugin.showWalletUi(showWalletUiParams);
57
+ }, [walletServicesPlugin, isPluginConnected]);
58
+ const showCheckout = useCallback(async showCheckoutParams => {
59
+ if (!walletServicesPlugin) throw WalletServicesPluginError.notInitialized();
60
+ if (!isPluginConnected) throw WalletServicesPluginError.walletPluginNotConnected();
61
+ return walletServicesPlugin.showCheckout(showCheckoutParams);
62
+ }, [walletServicesPlugin, isPluginConnected]);
63
+ const showSwap = useCallback(async showSwapParams => {
64
+ if (!walletServicesPlugin) throw WalletServicesPluginError.notInitialized();
65
+ if (!isPluginConnected) throw WalletServicesPluginError.walletPluginNotConnected();
66
+ return walletServicesPlugin.showSwap(showSwapParams);
67
+ }, [walletServicesPlugin, isPluginConnected]);
68
+ const value = useMemo(() => {
69
+ return {
70
+ plugin: walletServicesPlugin,
71
+ isPluginConnected,
72
+ showWalletConnectScanner,
73
+ showCheckout,
74
+ showWalletUI,
75
+ showSwap
76
+ };
77
+ }, [walletServicesPlugin, isPluginConnected, showWalletConnectScanner, showCheckout, showWalletUI, showSwap]);
78
+ return createElement(WalletServicesContext.Provider, {
79
+ value
80
+ }, children);
81
+ }
82
+
83
+ export { WalletServicesContext, WalletServicesContextProvider };
@@ -0,0 +1,14 @@
1
+ import { createElement } from 'react';
2
+ import { WalletServicesContextProvider } from './WalletServicesContext.js';
3
+
4
+ function WalletServicesProvider({
5
+ children,
6
+ context
7
+ }) {
8
+ const wsElement = createElement(WalletServicesContextProvider, {
9
+ context
10
+ }, children);
11
+ return wsElement;
12
+ }
13
+
14
+ export { WalletServicesProvider };
@@ -0,0 +1,13 @@
1
+ import { useContext } from 'react';
2
+ import { WalletInitializationError } from '../../../base/errors/index.js';
3
+ import { WalletServicesContext } from '../WalletServicesContext.js';
4
+
5
+ const useWalletServicesPlugin = () => {
6
+ const context = useContext(WalletServicesContext);
7
+ if (!context) {
8
+ throw WalletInitializationError.fromCode(1000, "usage of useWalletServicesPlugin not wrapped in `WalletServicesContextProvider`.");
9
+ }
10
+ return context;
11
+ };
12
+
13
+ export { useWalletServicesPlugin };
@@ -0,0 +1,5 @@
1
+ export { useWeb3Auth } from './no-modal/composables/useWeb3Auth.js';
2
+ export { Web3AuthProvider } from './no-modal/Web3AuthProvider.js';
3
+ export { useWalletServicesPlugin } from './wallet-services-plugin/composables/useWalletServicesPlugin.js';
4
+ export { WalletServicesContextKey } from './wallet-services-plugin/context.js';
5
+ export { WalletServicesProvider } from './wallet-services-plugin/WalletServicesProvider.js';
@@ -0,0 +1,220 @@
1
+ import { defineComponent, h, shallowRef, ref, watch, provide } from 'vue';
2
+ import { Web3AuthContextKey } from '../../base/composables/index.js';
3
+ import { WalletInitializationError, WalletLoginError } from '../../base/errors/index.js';
4
+ import { Web3AuthNoModal } from '../../noModal.js';
5
+ import { ADAPTER_EVENTS, ADAPTER_STATUS } from '../../base/adapter/constants.js';
6
+
7
+ const Web3AuthProvider = defineComponent({
8
+ name: "Web3AuthProvider",
9
+ props: {
10
+ config: {
11
+ type: Object,
12
+ required: true
13
+ }
14
+ },
15
+ setup(props) {
16
+ const web3Auth = shallowRef(null);
17
+ const provider = ref(null);
18
+ const userInfo = ref(null);
19
+ const isMFAEnabled = ref(false);
20
+ const status = ref(null);
21
+ const isInitializing = ref(false);
22
+ const initError = ref(null);
23
+ const isInitialized = ref(false);
24
+ const isConnecting = ref(false);
25
+ const connectError = ref(null);
26
+ const isConnected = ref(false);
27
+ const addPlugin = plugin => {
28
+ if (!web3Auth.value) throw WalletInitializationError.notReady();
29
+ return web3Auth.value.addPlugin(plugin);
30
+ };
31
+ const getPlugin = name => {
32
+ if (!web3Auth.value) throw WalletInitializationError.notReady();
33
+ return web3Auth.value.getPlugin(name);
34
+ };
35
+ const enableMFA = async loginParams => {
36
+ if (!web3Auth.value) throw WalletInitializationError.notReady();
37
+ if (!isConnected.value) throw WalletLoginError.notConnectedError();
38
+ await web3Auth.value.enableMFA(loginParams);
39
+ const localUserInfo = await web3Auth.value.getUserInfo();
40
+ userInfo.value = localUserInfo;
41
+ isMFAEnabled.value = localUserInfo.isMfaEnabled || false;
42
+ };
43
+ const manageMFA = async loginParams => {
44
+ if (!web3Auth.value) throw WalletInitializationError.notReady();
45
+ if (!isConnected.value) throw WalletLoginError.notConnectedError();
46
+ await web3Auth.value.manageMFA(loginParams);
47
+ };
48
+ const logout = async (logoutParams = {
49
+ cleanup: false
50
+ }) => {
51
+ if (!web3Auth.value) throw WalletInitializationError.notReady();
52
+ if (!isConnected.value) throw WalletLoginError.notConnectedError();
53
+ await web3Auth.value.logout(logoutParams);
54
+ };
55
+ const connectTo = async (walletName, loginParams) => {
56
+ if (!web3Auth.value) throw WalletInitializationError.notReady();
57
+ try {
58
+ connectError.value = null;
59
+ isConnecting.value = true;
60
+ const localProvider = await web3Auth.value.connectTo(walletName, loginParams);
61
+ return localProvider;
62
+ } catch (error) {
63
+ connectError.value = error;
64
+ } finally {
65
+ isConnecting.value = false;
66
+ }
67
+ };
68
+ const addAndSwitchChain = async chainConfig => {
69
+ if (!web3Auth.value) throw WalletInitializationError.notReady();
70
+ await web3Auth.value.addChain(chainConfig);
71
+ await web3Auth.value.switchChain({
72
+ chainId: chainConfig.chainId
73
+ });
74
+ };
75
+ const authenticateUser = async () => {
76
+ if (!web3Auth.value) throw WalletInitializationError.notReady();
77
+ return web3Auth.value.authenticateUser();
78
+ };
79
+ const addChain = async chainConfig => {
80
+ if (!web3Auth.value) throw WalletInitializationError.notReady();
81
+ return web3Auth.value.addChain(chainConfig);
82
+ };
83
+ const switchChain = chainParams => {
84
+ if (!web3Auth.value) throw WalletInitializationError.notReady();
85
+ return web3Auth.value.switchChain(chainParams);
86
+ };
87
+ watch(() => props.config, newConfig => {
88
+ const resetHookState = () => {
89
+ provider.value = null;
90
+ userInfo.value = null;
91
+ isMFAEnabled.value = false;
92
+ isConnected.value = false;
93
+ status.value = null;
94
+ };
95
+ resetHookState();
96
+ const {
97
+ web3AuthOptions,
98
+ adapters = [],
99
+ plugins = []
100
+ } = newConfig;
101
+ const web3AuthInstance = new Web3AuthNoModal(web3AuthOptions);
102
+ if (adapters.length) adapters.map(adapter => web3AuthInstance.configureAdapter(adapter));
103
+ if (plugins.length) {
104
+ plugins.forEach(plugin => {
105
+ web3AuthInstance.addPlugin(plugin);
106
+ });
107
+ }
108
+ web3Auth.value = web3AuthInstance;
109
+ }, {
110
+ immediate: true
111
+ });
112
+ watch(web3Auth, async newWeb3Auth => {
113
+ if (newWeb3Auth) {
114
+ try {
115
+ initError.value = null;
116
+ isInitializing.value = true;
117
+ await newWeb3Auth.init();
118
+ } catch (error) {
119
+ initError.value = error;
120
+ } finally {
121
+ isInitializing.value = false;
122
+ }
123
+ }
124
+ }, {
125
+ immediate: true
126
+ });
127
+ watch(isConnected, () => {
128
+ if (web3Auth.value) {
129
+ const addState = async web3AuthInstance => {
130
+ provider.value = web3AuthInstance.provider;
131
+ const userState = await web3AuthInstance.getUserInfo();
132
+ userInfo.value = userState;
133
+ isMFAEnabled.value = (userState === null || userState === void 0 ? void 0 : userState.isMfaEnabled) || false;
134
+ };
135
+ const resetState = () => {
136
+ provider.value = null;
137
+ userInfo.value = null;
138
+ isMFAEnabled.value = false;
139
+ };
140
+ if (isConnected.value) addState(web3Auth.value);else resetState();
141
+ }
142
+ });
143
+ watch(web3Auth, (newWeb3Auth, prevWeb3Auth) => {
144
+ const notReadyListener = () => status.value = web3Auth.value.status;
145
+ const readyListener = () => {
146
+ status.value = web3Auth.value.status;
147
+ isInitialized.value = true;
148
+ };
149
+ const connectedListener = () => {
150
+ status.value = web3Auth.value.status;
151
+ // we do this because of rehydration issues. status connected is fired first but web3auth sdk is not ready yet.
152
+ if (web3Auth.value.status === ADAPTER_STATUS.CONNECTED) {
153
+ isInitialized.value = true;
154
+ isConnected.value = true;
155
+ }
156
+ };
157
+ const disconnectedListener = () => {
158
+ status.value = web3Auth.value.status;
159
+ isConnected.value = false;
160
+ };
161
+ const connectingListener = () => {
162
+ status.value = web3Auth.value.status;
163
+ };
164
+ const errorListener = () => {
165
+ status.value = ADAPTER_EVENTS.ERRORED;
166
+ };
167
+
168
+ // unregister previous listeners
169
+ if (prevWeb3Auth && newWeb3Auth !== prevWeb3Auth) {
170
+ prevWeb3Auth.off(ADAPTER_EVENTS.NOT_READY, notReadyListener);
171
+ prevWeb3Auth.off(ADAPTER_EVENTS.READY, readyListener);
172
+ prevWeb3Auth.off(ADAPTER_EVENTS.CONNECTED, connectedListener);
173
+ prevWeb3Auth.off(ADAPTER_EVENTS.DISCONNECTED, disconnectedListener);
174
+ prevWeb3Auth.off(ADAPTER_EVENTS.CONNECTING, connectingListener);
175
+ prevWeb3Auth.off(ADAPTER_EVENTS.ERRORED, errorListener);
176
+ }
177
+ if (newWeb3Auth && newWeb3Auth !== prevWeb3Auth) {
178
+ status.value = newWeb3Auth.status;
179
+ // web3Auth is initialized here.
180
+ newWeb3Auth.on(ADAPTER_EVENTS.NOT_READY, notReadyListener);
181
+ newWeb3Auth.on(ADAPTER_EVENTS.READY, readyListener);
182
+ newWeb3Auth.on(ADAPTER_EVENTS.CONNECTED, connectedListener);
183
+ newWeb3Auth.on(ADAPTER_EVENTS.DISCONNECTED, disconnectedListener);
184
+ newWeb3Auth.on(ADAPTER_EVENTS.CONNECTING, connectingListener);
185
+ newWeb3Auth.on(ADAPTER_EVENTS.ERRORED, errorListener);
186
+ }
187
+ }, {
188
+ immediate: true
189
+ });
190
+ provide(Web3AuthContextKey, {
191
+ web3Auth,
192
+ isConnected,
193
+ isInitialized,
194
+ provider,
195
+ userInfo,
196
+ isMFAEnabled,
197
+ status,
198
+ getPlugin,
199
+ connectTo,
200
+ enableMFA,
201
+ manageMFA,
202
+ logout,
203
+ addAndSwitchChain,
204
+ addChain,
205
+ addPlugin,
206
+ authenticateUser,
207
+ switchChain,
208
+ isInitializing,
209
+ isConnecting,
210
+ initError,
211
+ connectError
212
+ });
213
+ },
214
+ render() {
215
+ var _this$$slots$default;
216
+ return h((_this$$slots$default = this.$slots.default) !== null && _this$$slots$default !== void 0 ? _this$$slots$default : "");
217
+ }
218
+ });
219
+
220
+ export { Web3AuthProvider };
@@ -0,0 +1,11 @@
1
+ import { inject } from 'vue';
2
+ import { Web3AuthContextKey } from '../../../base/composables/index.js';
3
+ import { WalletInitializationError } from '../../../base/errors/index.js';
4
+
5
+ const useWeb3Auth = () => {
6
+ const context = inject(Web3AuthContextKey);
7
+ if (!context) throw WalletInitializationError.fromCode(1000, "usage of `useWeb3Auth` not wrapped in `Web3AuthProvider`.");
8
+ return context;
9
+ };
10
+
11
+ export { useWeb3Auth };
@@ -0,0 +1,84 @@
1
+ import { defineComponent, h, inject, ref, watch, provide } from 'vue';
2
+ import { Web3AuthContextKey } from '../../base/composables/index.js';
3
+ import { WalletServicesContextKey } from './context.js';
4
+ import { WalletServicesPluginError } from '../../base/plugin/errors.js';
5
+ import { EVM_PLUGINS, PLUGIN_EVENTS } from '../../base/plugin/IPlugin.js';
6
+
7
+ const WalletServicesProvider = defineComponent({
8
+ name: "WalletServicesProvider",
9
+ setup() {
10
+ const web3AuthContext = inject(Web3AuthContextKey);
11
+ if (!web3AuthContext) throw WalletServicesPluginError.fromCode(1000, "`WalletServicesProvider` must be wrapped by `Web3AuthProvider`");
12
+ const {
13
+ getPlugin,
14
+ isInitialized,
15
+ isConnected
16
+ } = web3AuthContext;
17
+ const walletServicesPlugin = ref(null);
18
+ const isPluginConnected = ref(false);
19
+ watch(isInitialized, newIsInitialized => {
20
+ if (newIsInitialized) {
21
+ const plugin = getPlugin(EVM_PLUGINS.WALLET_SERVICES);
22
+ walletServicesPlugin.value = plugin;
23
+ }
24
+ });
25
+ watch(isConnected, newIsConnected => {
26
+ if (newIsConnected) {
27
+ const plugin = getPlugin(EVM_PLUGINS.WALLET_SERVICES);
28
+ if (!walletServicesPlugin.value) walletServicesPlugin.value = plugin;
29
+ }
30
+ });
31
+ watch(walletServicesPlugin, (newWalletServicesPlugin, prevWalletServicesPlugin) => {
32
+ const connectedListener = () => {
33
+ isPluginConnected.value = true;
34
+ };
35
+ const disconnectedListener = () => {
36
+ isPluginConnected.value = false;
37
+ };
38
+
39
+ // unregister previous listeners
40
+ if (prevWalletServicesPlugin && newWalletServicesPlugin !== prevWalletServicesPlugin) {
41
+ prevWalletServicesPlugin.off(PLUGIN_EVENTS.CONNECTED, connectedListener);
42
+ prevWalletServicesPlugin.off(PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
43
+ }
44
+ if (newWalletServicesPlugin && newWalletServicesPlugin !== prevWalletServicesPlugin) {
45
+ newWalletServicesPlugin.on(PLUGIN_EVENTS.CONNECTED, connectedListener);
46
+ newWalletServicesPlugin.on(PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
47
+ }
48
+ });
49
+ const showWalletConnectScanner = async showWalletConnectScannerParams => {
50
+ if (!walletServicesPlugin.value) throw WalletServicesPluginError.notInitialized();
51
+ if (!isPluginConnected.value) throw WalletServicesPluginError.walletPluginNotConnected();
52
+ return walletServicesPlugin.value.showWalletConnectScanner(showWalletConnectScannerParams);
53
+ };
54
+ const showWalletUI = async showWalletUiParams => {
55
+ if (!walletServicesPlugin.value) throw WalletServicesPluginError.notInitialized();
56
+ if (!isPluginConnected.value) throw WalletServicesPluginError.walletPluginNotConnected();
57
+ return walletServicesPlugin.value.showWalletUi(showWalletUiParams);
58
+ };
59
+ const showCheckout = async showCheckoutParams => {
60
+ if (!walletServicesPlugin.value) throw WalletServicesPluginError.notInitialized();
61
+ if (!isPluginConnected.value) throw WalletServicesPluginError.walletPluginNotConnected();
62
+ return walletServicesPlugin.value.showCheckout(showCheckoutParams);
63
+ };
64
+ const showSwap = async showSwapParams => {
65
+ if (!walletServicesPlugin.value) throw WalletServicesPluginError.notInitialized();
66
+ if (!isPluginConnected.value) throw WalletServicesPluginError.walletPluginNotConnected();
67
+ return walletServicesPlugin.value.showSwap(showSwapParams);
68
+ };
69
+ provide(WalletServicesContextKey, {
70
+ plugin: walletServicesPlugin,
71
+ isPluginConnected,
72
+ showWalletConnectScanner,
73
+ showCheckout,
74
+ showWalletUI,
75
+ showSwap
76
+ });
77
+ },
78
+ render() {
79
+ var _this$$slots$default;
80
+ return h((_this$$slots$default = this.$slots.default) !== null && _this$$slots$default !== void 0 ? _this$$slots$default : "");
81
+ }
82
+ });
83
+
84
+ export { WalletServicesProvider };
@@ -0,0 +1,11 @@
1
+ import { inject } from 'vue';
2
+ import { WalletServicesContextKey } from '../context.js';
3
+ import { WalletServicesPluginError } from '../../../base/plugin/errors.js';
4
+
5
+ const useWalletServicesPlugin = () => {
6
+ const context = inject(WalletServicesContextKey);
7
+ if (!context) throw WalletServicesPluginError.fromCode(1000, "usage of `useWalletServicesPlugin` not wrapped in `WalletServicesProvider`.");
8
+ return context;
9
+ };
10
+
11
+ export { useWalletServicesPlugin };