@web3auth/no-modal 10.0.0-beta.0 → 10.0.0-beta.10

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 (325) hide show
  1. package/dist/lib.cjs/base/connector/baseConnector.js +3 -1
  2. package/dist/lib.cjs/base/connector/constants.js +3 -6
  3. package/dist/lib.cjs/base/constants.js +26 -0
  4. package/dist/lib.cjs/base/cookie.js +38 -0
  5. package/dist/lib.cjs/base/deserialize.js +13 -0
  6. package/dist/lib.cjs/base/errors/index.js +3 -22
  7. package/dist/lib.cjs/base/loglevel.js +3 -0
  8. package/dist/lib.cjs/base/utils.js +50 -7
  9. package/dist/lib.cjs/base/wallet/index.js +4 -5
  10. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +64 -21
  11. package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +1 -1
  12. package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +1 -1
  13. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +14 -6
  14. package/dist/lib.cjs/connectors/coinbase-connector/index.js +7 -0
  15. package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +10 -4
  16. package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +9 -5
  17. package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +44 -16
  18. package/dist/lib.cjs/connectors/utils.js +10 -0
  19. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +1 -1
  20. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +7 -2
  21. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +7 -3
  22. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +1 -1
  23. package/dist/lib.cjs/index.js +44 -32
  24. package/dist/lib.cjs/noModal.js +200 -72
  25. package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +3 -3
  26. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +2 -2
  27. package/dist/lib.cjs/providers/account-abstraction-provider/index.js +5 -0
  28. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +30 -3
  29. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +1 -1
  30. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +25 -3
  31. package/dist/lib.cjs/providers/base-provider/baseProvider.js +2 -0
  32. package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +7 -0
  33. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +1 -1
  34. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +1 -1
  35. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +1 -1
  36. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +1 -1
  37. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +1 -1
  38. package/dist/lib.cjs/providers/xrpl-provider/index.js +9 -0
  39. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +1 -1
  40. package/dist/lib.cjs/react/Web3AuthProvider.js +19 -0
  41. package/dist/lib.cjs/react/{wallet-services-plugin/WalletServicesContext.js → context/WalletServicesInnerContext.js} +19 -34
  42. package/dist/lib.cjs/react/{no-modal → context}/Web3AuthInnerContext.js +38 -96
  43. package/dist/lib.cjs/react/hooks/useCheckout.js +45 -0
  44. package/dist/lib.cjs/react/hooks/useEnableMFA.js +30 -0
  45. package/dist/lib.cjs/react/hooks/useIdentityToken.js +42 -0
  46. package/dist/lib.cjs/react/hooks/useManageMFA.js +30 -0
  47. package/dist/lib.cjs/react/hooks/useSwap.js +45 -0
  48. package/dist/lib.cjs/react/hooks/useSwitchChain.js +32 -0
  49. package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +45 -0
  50. package/dist/lib.cjs/react/hooks/useWalletServicesPlugin.js +19 -0
  51. package/dist/lib.cjs/react/hooks/useWalletUI.js +45 -0
  52. package/dist/lib.cjs/react/hooks/useWeb3Auth.js +28 -0
  53. package/dist/lib.cjs/react/hooks/useWeb3AuthConnect.js +48 -0
  54. package/dist/lib.cjs/react/hooks/useWeb3AuthDisconnect.js +30 -0
  55. package/dist/lib.cjs/react/{no-modal/hooks/useWeb3Auth.js → hooks/useWeb3AuthInner.js} +9 -9
  56. package/dist/lib.cjs/react/hooks/useWeb3AuthUser.js +50 -0
  57. package/dist/lib.cjs/react/index.js +26 -9
  58. package/dist/lib.cjs/react/solana/hooks/useSignAndSendTransaction.js +35 -0
  59. package/dist/lib.cjs/react/solana/hooks/useSignMessage.js +36 -0
  60. package/dist/lib.cjs/react/solana/hooks/useSignTransaction.js +34 -0
  61. package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +62 -0
  62. package/dist/lib.cjs/react/solana/index.js +13 -0
  63. package/dist/lib.cjs/react/wagmi/constants.js +16 -0
  64. package/dist/lib.cjs/react/wagmi/index.js +7 -0
  65. package/dist/lib.cjs/react/wagmi/provider.js +189 -0
  66. package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +5 -5
  67. package/dist/lib.cjs/types/base/connector/constants.d.ts +2 -4
  68. package/dist/lib.cjs/types/base/connector/interfaces.d.ts +34 -17
  69. package/dist/lib.cjs/types/base/constants.d.ts +18 -0
  70. package/dist/lib.cjs/types/base/cookie.d.ts +10 -0
  71. package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +40 -12
  72. package/dist/lib.cjs/types/base/deserialize.d.ts +3 -0
  73. package/dist/lib.cjs/types/base/errors/index.d.ts +1 -2
  74. package/dist/lib.cjs/types/base/hooks/index.d.ts +3 -23
  75. package/dist/lib.cjs/types/base/index.d.ts +2 -1
  76. package/dist/lib.cjs/types/base/interfaces.d.ts +13 -6
  77. package/dist/lib.cjs/types/base/loglevel.d.ts +2 -1
  78. package/dist/lib.cjs/types/base/plugin/IPlugin.d.ts +1 -1
  79. package/dist/lib.cjs/types/base/utils.d.ts +14 -2
  80. package/dist/lib.cjs/types/base/wallet/index.d.ts +18 -17
  81. package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +5 -6
  82. package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +4 -3
  83. package/dist/lib.cjs/types/connectors/coinbase-connector/coinbaseConnector.d.ts +1 -1
  84. package/dist/lib.cjs/types/connectors/index.d.ts +1 -1
  85. package/dist/lib.cjs/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +1 -0
  86. package/dist/lib.cjs/types/connectors/metamask-connector/index.d.ts +1 -1
  87. package/dist/lib.cjs/types/connectors/metamask-connector/metamaskConnector.d.ts +2 -2
  88. package/dist/lib.cjs/types/connectors/utils.d.ts +8 -0
  89. package/dist/lib.cjs/types/noModal.d.ts +20 -9
  90. package/dist/lib.cjs/types/plugins/nft-checkout-plugin/plugin.d.ts +2 -2
  91. package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +2 -2
  92. package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +3 -2
  93. package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +1 -1
  94. package/dist/lib.cjs/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +4 -1
  95. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +1 -1
  96. package/dist/lib.cjs/types/providers/index.d.ts +0 -2
  97. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +1 -1
  98. package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +1 -1
  99. package/dist/lib.cjs/types/react/context/WalletServicesInnerContext.d.ts +6 -0
  100. package/dist/lib.cjs/types/react/{no-modal → context}/Web3AuthInnerContext.d.ts +1 -1
  101. package/dist/lib.cjs/types/react/hooks/index.d.ts +13 -0
  102. package/dist/lib.cjs/types/react/hooks/useCheckout.d.ts +8 -0
  103. package/dist/lib.cjs/types/react/hooks/useEnableMFA.d.ts +7 -0
  104. package/dist/lib.cjs/types/react/hooks/useIdentityToken.d.ts +13 -0
  105. package/dist/lib.cjs/types/react/hooks/useManageMFA.d.ts +7 -0
  106. package/dist/lib.cjs/types/react/hooks/useSwap.d.ts +8 -0
  107. package/dist/lib.cjs/types/react/hooks/useSwitchChain.d.ts +7 -0
  108. package/dist/lib.cjs/types/react/hooks/useWalletConnectScanner.d.ts +8 -0
  109. package/dist/lib.cjs/types/react/hooks/useWalletUI.d.ts +8 -0
  110. package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +3 -0
  111. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +9 -0
  112. package/dist/lib.cjs/types/react/hooks/useWeb3AuthDisconnect.d.ts +9 -0
  113. package/dist/lib.cjs/types/react/hooks/useWeb3AuthInner.d.ts +2 -0
  114. package/dist/lib.cjs/types/react/hooks/useWeb3AuthUser.d.ts +9 -0
  115. package/dist/lib.cjs/types/react/index.d.ts +3 -2
  116. package/dist/lib.cjs/types/react/interfaces.d.ts +21 -0
  117. package/dist/lib.cjs/types/react/solana/hooks/index.d.ts +4 -0
  118. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +9 -0
  119. package/dist/lib.cjs/types/react/solana/hooks/useSignMessage.d.ts +8 -0
  120. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +14 -0
  121. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +8 -0
  122. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  123. package/dist/lib.cjs/types/react/wagmi/constants.d.ts +43 -0
  124. package/dist/lib.cjs/types/react/wagmi/index.d.ts +1 -0
  125. package/dist/lib.cjs/types/react/wagmi/interface.d.ts +4 -0
  126. package/dist/lib.cjs/types/react/wagmi/provider.d.ts +3 -0
  127. package/dist/lib.cjs/types/vue/WalletServicesInnerProvider.d.ts +1 -0
  128. package/dist/lib.cjs/types/vue/composables/index.d.ts +13 -0
  129. package/dist/lib.cjs/types/vue/composables/useCheckout.d.ts +9 -0
  130. package/dist/lib.cjs/types/vue/composables/useEnableMFA.d.ts +8 -0
  131. package/dist/lib.cjs/types/vue/composables/useIdentityToken.d.ts +9 -0
  132. package/dist/lib.cjs/types/vue/composables/useManageMFA.d.ts +8 -0
  133. package/dist/lib.cjs/types/vue/composables/useSwap.d.ts +9 -0
  134. package/dist/lib.cjs/types/vue/composables/useSwitchChain.d.ts +10 -0
  135. package/dist/lib.cjs/types/vue/composables/useWalletConnectScanner.d.ts +9 -0
  136. package/dist/lib.cjs/types/vue/composables/useWalletServicesPlugin.d.ts +2 -0
  137. package/dist/lib.cjs/types/vue/composables/useWalletUI.d.ts +9 -0
  138. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +3 -0
  139. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +10 -0
  140. package/dist/lib.cjs/types/vue/composables/useWeb3AuthDisconnect.d.ts +10 -0
  141. package/dist/lib.cjs/types/vue/composables/useWeb3AuthInner.d.ts +2 -0
  142. package/dist/lib.cjs/types/vue/composables/useWeb3AuthUser.d.ts +10 -0
  143. package/dist/lib.cjs/types/vue/{wallet-services-plugin/context.d.ts → context/WalletServicesContext.d.ts} +2 -2
  144. package/dist/lib.cjs/types/vue/context/index.d.ts +1 -0
  145. package/dist/lib.cjs/types/vue/index.d.ts +4 -2
  146. package/dist/lib.cjs/types/vue/interfaces.d.ts +30 -0
  147. package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +4 -0
  148. package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +10 -0
  149. package/dist/lib.cjs/types/vue/solana/composables/useSignMessage.d.ts +9 -0
  150. package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +10 -0
  151. package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +9 -0
  152. package/dist/lib.cjs/types/vue/solana/index.d.ts +1 -0
  153. package/dist/lib.cjs/types/vue/wagmi/constants.d.ts +43 -0
  154. package/dist/lib.cjs/types/vue/wagmi/index.d.ts +2 -0
  155. package/dist/lib.cjs/types/vue/wagmi/interface.d.ts +4 -0
  156. package/dist/lib.cjs/types/vue/wagmi/provider.d.ts +17 -0
  157. package/dist/lib.cjs/vue/{wallet-services-plugin/WalletServicesProvider.js → WalletServicesInnerProvider.js} +26 -43
  158. package/dist/lib.cjs/vue/{no-modal/Web3AuthProvider.js → Web3AuthProvider.js} +45 -86
  159. package/dist/lib.cjs/vue/composables/useCheckout.js +45 -0
  160. package/dist/lib.cjs/vue/composables/useEnableMFA.js +43 -0
  161. package/dist/lib.cjs/vue/composables/useIdentityToken.js +55 -0
  162. package/dist/lib.cjs/vue/composables/useManageMFA.js +43 -0
  163. package/dist/lib.cjs/vue/composables/useSwap.js +45 -0
  164. package/dist/lib.cjs/vue/composables/useSwitchChain.js +43 -0
  165. package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +45 -0
  166. package/dist/lib.cjs/vue/composables/useWalletServicesPlugin.js +12 -0
  167. package/dist/lib.cjs/vue/composables/useWalletUI.js +45 -0
  168. package/dist/lib.cjs/vue/composables/useWeb3Auth.js +28 -0
  169. package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +61 -0
  170. package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +43 -0
  171. package/dist/lib.cjs/vue/{no-modal/composables/useWeb3Auth.js → composables/useWeb3AuthInner.js} +9 -9
  172. package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +64 -0
  173. package/dist/lib.cjs/vue/index.js +28 -8
  174. package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +36 -0
  175. package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +38 -0
  176. package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +36 -0
  177. package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +64 -0
  178. package/dist/lib.cjs/vue/solana/index.js +13 -0
  179. package/dist/lib.cjs/vue/wagmi/constants.js +16 -0
  180. package/dist/lib.cjs/vue/wagmi/index.js +7 -0
  181. package/dist/lib.cjs/vue/wagmi/provider.js +244 -0
  182. package/dist/lib.esm/base/connector/baseConnector.js +7 -1
  183. package/dist/lib.esm/base/connector/constants.js +4 -6
  184. package/dist/lib.esm/base/constants.js +20 -0
  185. package/dist/lib.esm/base/cookie.js +34 -0
  186. package/dist/lib.esm/base/deserialize.js +11 -0
  187. package/dist/lib.esm/base/errors/index.js +14 -22
  188. package/dist/lib.esm/base/loglevel.js +3 -0
  189. package/dist/lib.esm/base/plugin/errors.js +2 -0
  190. package/dist/lib.esm/base/utils.js +53 -13
  191. package/dist/lib.esm/base/wallet/index.js +4 -5
  192. package/dist/lib.esm/connectors/auth-connector/authConnector.js +84 -31
  193. package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +2 -9
  194. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +1 -8
  195. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +16 -15
  196. package/dist/lib.esm/connectors/coinbase-connector/index.js +1 -0
  197. package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +13 -12
  198. package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +14 -17
  199. package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +52 -27
  200. package/dist/lib.esm/connectors/utils.js +14 -1
  201. package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +8 -25
  202. package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +20 -25
  203. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +15 -15
  204. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +1 -11
  205. package/dist/lib.esm/index.js +14 -16
  206. package/dist/lib.esm/noModal.js +223 -79
  207. package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +4 -1
  208. package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +4 -10
  209. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +7 -9
  210. package/dist/lib.esm/providers/account-abstraction-provider/index.js +2 -2
  211. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +38 -21
  212. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +0 -10
  213. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +26 -3
  214. package/dist/lib.esm/providers/base-provider/baseProvider.js +7 -9
  215. package/dist/lib.esm/providers/base-provider/utils.js +3 -3
  216. package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +1 -0
  217. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +5 -18
  218. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +3 -13
  219. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +1 -0
  220. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +1 -0
  221. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +10 -11
  222. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +3 -3
  223. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +1 -0
  224. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +8 -0
  225. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +2 -15
  226. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +5 -12
  227. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +1 -1
  228. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +3 -0
  229. package/dist/lib.esm/providers/xrpl-provider/index.js +2 -0
  230. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +3 -14
  231. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -0
  232. package/dist/lib.esm/react/Web3AuthProvider.js +17 -0
  233. package/dist/lib.esm/react/context/WalletServicesInnerContext.js +70 -0
  234. package/dist/lib.esm/react/context/Web3AuthInnerContext.js +129 -0
  235. package/dist/lib.esm/react/hooks/useCheckout.js +32 -0
  236. package/dist/lib.esm/react/hooks/useEnableMFA.js +28 -0
  237. package/dist/lib.esm/react/hooks/useIdentityToken.js +40 -0
  238. package/dist/lib.esm/react/hooks/useManageMFA.js +28 -0
  239. package/dist/lib.esm/react/hooks/useSwap.js +32 -0
  240. package/dist/lib.esm/react/hooks/useSwitchChain.js +30 -0
  241. package/dist/lib.esm/react/hooks/useWalletConnectScanner.js +32 -0
  242. package/dist/lib.esm/react/hooks/useWalletServicesPlugin.js +17 -0
  243. package/dist/lib.esm/react/hooks/useWalletUI.js +32 -0
  244. package/dist/lib.esm/react/hooks/useWeb3Auth.js +26 -0
  245. package/dist/lib.esm/react/hooks/useWeb3AuthConnect.js +46 -0
  246. package/dist/lib.esm/react/hooks/useWeb3AuthDisconnect.js +28 -0
  247. package/dist/lib.esm/react/hooks/useWeb3AuthInner.js +13 -0
  248. package/dist/lib.esm/react/hooks/useWeb3AuthUser.js +48 -0
  249. package/dist/lib.esm/react/index.js +14 -5
  250. package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +33 -0
  251. package/dist/lib.esm/react/solana/hooks/useSignMessage.js +34 -0
  252. package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +32 -0
  253. package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +42 -0
  254. package/dist/lib.esm/react/solana/index.js +4 -0
  255. package/dist/lib.esm/react/wagmi/constants.js +14 -0
  256. package/dist/lib.esm/react/wagmi/index.js +1 -0
  257. package/dist/lib.esm/react/wagmi/provider.js +179 -0
  258. package/dist/lib.esm/vue/WalletServicesInnerProvider.js +71 -0
  259. package/dist/lib.esm/vue/Web3AuthProvider.js +154 -0
  260. package/dist/lib.esm/vue/composables/useCheckout.js +32 -0
  261. package/dist/lib.esm/vue/composables/useEnableMFA.js +30 -0
  262. package/dist/lib.esm/vue/composables/useIdentityToken.js +42 -0
  263. package/dist/lib.esm/vue/composables/useManageMFA.js +30 -0
  264. package/dist/lib.esm/vue/composables/useSwap.js +32 -0
  265. package/dist/lib.esm/vue/composables/useSwitchChain.js +30 -0
  266. package/dist/lib.esm/vue/composables/useWalletConnectScanner.js +32 -0
  267. package/dist/lib.esm/vue/composables/useWalletServicesPlugin.js +10 -0
  268. package/dist/lib.esm/vue/composables/useWalletUI.js +32 -0
  269. package/dist/lib.esm/vue/composables/useWeb3Auth.js +26 -0
  270. package/dist/lib.esm/vue/composables/useWeb3AuthConnect.js +48 -0
  271. package/dist/lib.esm/vue/composables/useWeb3AuthDisconnect.js +30 -0
  272. package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +11 -0
  273. package/dist/lib.esm/vue/composables/useWeb3AuthUser.js +51 -0
  274. package/dist/lib.esm/vue/index.js +15 -5
  275. package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +34 -0
  276. package/dist/lib.esm/vue/solana/composables/useSignMessage.js +36 -0
  277. package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +34 -0
  278. package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +51 -0
  279. package/dist/lib.esm/vue/solana/index.js +4 -0
  280. package/dist/lib.esm/vue/wagmi/constants.js +14 -0
  281. package/dist/lib.esm/vue/wagmi/index.js +1 -0
  282. package/dist/lib.esm/vue/wagmi/provider.js +237 -0
  283. package/dist/noModal.umd.min.js +1 -1
  284. package/dist/noModal.umd.min.js.LICENSE.txt +0 -26
  285. package/package.json +81 -20
  286. package/dist/lib.cjs/base/chain/config.js +0 -323
  287. package/dist/lib.cjs/react/no-modal/Web3AuthProvider.js +0 -15
  288. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesProvider.js +0 -16
  289. package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +0 -26
  290. package/dist/lib.cjs/types/base/chain/config.d.ts +0 -5
  291. package/dist/lib.cjs/types/react/no-modal/hooks/index.d.ts +0 -1
  292. package/dist/lib.cjs/types/react/no-modal/hooks/useWeb3Auth.d.ts +0 -2
  293. package/dist/lib.cjs/types/react/no-modal/index.d.ts +0 -3
  294. package/dist/lib.cjs/types/react/no-modal/interfaces.d.ts +0 -15
  295. package/dist/lib.cjs/types/react/wallet-services-plugin/WalletServicesContext.d.ts +0 -7
  296. package/dist/lib.cjs/types/react/wallet-services-plugin/WalletServicesProvider.d.ts +0 -7
  297. package/dist/lib.cjs/types/react/wallet-services-plugin/hooks/index.d.ts +0 -1
  298. package/dist/lib.cjs/types/react/wallet-services-plugin/index.d.ts +0 -4
  299. package/dist/lib.cjs/types/react/wallet-services-plugin/interfaces.d.ts +0 -5
  300. package/dist/lib.cjs/types/vue/no-modal/composables/index.d.ts +0 -1
  301. package/dist/lib.cjs/types/vue/no-modal/composables/useWeb3Auth.d.ts +0 -2
  302. package/dist/lib.cjs/types/vue/no-modal/index.d.ts +0 -3
  303. package/dist/lib.cjs/types/vue/no-modal/interfaces.d.ts +0 -39
  304. package/dist/lib.cjs/types/vue/wallet-services-plugin/WalletServicesProvider.d.ts +0 -1
  305. package/dist/lib.cjs/types/vue/wallet-services-plugin/composables/index.d.ts +0 -1
  306. package/dist/lib.cjs/types/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +0 -2
  307. package/dist/lib.cjs/types/vue/wallet-services-plugin/index.d.ts +0 -4
  308. package/dist/lib.cjs/types/vue/wallet-services-plugin/interfaces.d.ts +0 -13
  309. package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +0 -24
  310. package/dist/lib.esm/base/chain/config.js +0 -318
  311. package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +0 -197
  312. package/dist/lib.esm/react/no-modal/Web3AuthProvider.js +0 -13
  313. package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +0 -24
  314. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +0 -95
  315. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesProvider.js +0 -14
  316. package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +0 -24
  317. package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +0 -203
  318. package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +0 -22
  319. package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +0 -96
  320. package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +0 -22
  321. /package/dist/lib.cjs/types/react/{no-modal/Web3AuthProvider.d.ts → Web3AuthProvider.d.ts} +0 -0
  322. /package/dist/lib.cjs/types/react/{wallet-services-plugin/hooks → hooks}/useWalletServicesPlugin.d.ts +0 -0
  323. /package/dist/lib.cjs/types/vue/{no-modal/Web3AuthProvider.d.ts → Web3AuthProvider.d.ts} +0 -0
  324. /package/dist/lib.cjs/vue/{wallet-services-plugin/context.js → context/WalletServicesContext.js} +0 -0
  325. /package/dist/lib.esm/vue/{wallet-services-plugin/context.js → context/WalletServicesContext.js} +0 -0
@@ -0,0 +1,189 @@
1
+ 'use strict';
2
+
3
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
4
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
5
+ var react = require('react');
6
+ var viem = require('viem');
7
+ var wagmi = require('wagmi');
8
+ var connectors = require('wagmi/connectors');
9
+ var baseControllers = require('@toruslabs/base-controllers');
10
+ require('@babel/runtime/helpers/defineProperty');
11
+ require('@web3auth/auth');
12
+ var index = require('../../base/errors/index.js');
13
+ require('../../base/wallet/index.js');
14
+ require('../../base/connector/constants.js');
15
+ require('jwt-decode');
16
+ var loglevel = require('../../base/loglevel.js');
17
+ require('../../base/plugin/errors.js');
18
+ require('../../base/plugin/IPlugin.js');
19
+ require('@toruslabs/constants');
20
+ require('@toruslabs/http-helpers');
21
+ require('../context/WalletServicesInnerContext.js');
22
+ require('../context/Web3AuthInnerContext.js');
23
+ var useWeb3Auth = require('../hooks/useWeb3Auth.js');
24
+ var useWeb3AuthDisconnect = require('../hooks/useWeb3AuthDisconnect.js');
25
+ var constants = require('./constants.js');
26
+
27
+ const _excluded = ["children"];
28
+ const WEB3AUTH_CONNECTOR_ID = "web3auth";
29
+ // Helper to initialize connectors for the given wallets
30
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
31
+ async function setupConnector(provider, config) {
32
+ let connector = config.connectors.find(c => c.id === WEB3AUTH_CONNECTOR_ID);
33
+ if (connector) return connector;
34
+ // Create new connector if not already existing
35
+ connector = connectors.injected({
36
+ target: {
37
+ provider: provider,
38
+ id: WEB3AUTH_CONNECTOR_ID,
39
+ name: "Web3Auth"
40
+ }
41
+ });
42
+ const result = config._internal.connectors.setup(connector);
43
+ config._internal.connectors.setState(current => [...current, result]);
44
+ return result;
45
+ }
46
+ // Helper to connect a wallet and update wagmi state
47
+ async function connectWeb3AuthWithWagmi(connector, config) {
48
+ var _config$storage, _config$storage2;
49
+ await Promise.all([(_config$storage = config.storage) === null || _config$storage === void 0 ? void 0 : _config$storage.removeItem(`${connector.id}.disconnected`), (_config$storage2 = config.storage) === null || _config$storage2 === void 0 ? void 0 : _config$storage2.setItem("recentConnectorId", connector.id)]);
50
+ let chainId = await connector.getChainId();
51
+ if (!config.chains.find(c => c.id === chainId)) {
52
+ chainId = config.chains[0].id;
53
+ }
54
+ const accounts = await connector.getAccounts();
55
+ const connections = new Map([[connector.uid, {
56
+ accounts: [accounts[0]],
57
+ chainId,
58
+ connector
59
+ }]]);
60
+ config.setState(state => _objectSpread(_objectSpread({}, state), {}, {
61
+ chainId,
62
+ connections,
63
+ current: connector.uid,
64
+ status: "connected"
65
+ }));
66
+ }
67
+ async function disconnectWeb3AuthFromWagmi(config) {
68
+ config._internal.connectors.setState(prev => prev.filter(c => c.id !== WEB3AUTH_CONNECTOR_ID));
69
+ config.setState(state => _objectSpread(_objectSpread({}, state), {}, {
70
+ chainId: state.chainId,
71
+ connections: new Map(),
72
+ current: undefined,
73
+ status: "disconnected"
74
+ }));
75
+ }
76
+ function Web3AuthWagmiProvider({
77
+ children
78
+ }) {
79
+ const {
80
+ isConnected,
81
+ provider
82
+ } = useWeb3Auth.useWeb3Auth();
83
+ const {
84
+ disconnect
85
+ } = useWeb3AuthDisconnect.useWeb3AuthDisconnect();
86
+ const wagmiConfig = wagmi.useConfig();
87
+ const {
88
+ reconnect
89
+ } = wagmi.useReconnect();
90
+ wagmi.useAccountEffect({
91
+ onDisconnect: async () => {
92
+ loglevel.log.info("Disconnected from wagmi");
93
+ if (isConnected) await disconnect();
94
+ }
95
+ });
96
+ react.useEffect(() => {
97
+ (async () => {
98
+ if (isConnected && provider) {
99
+ const connector = await setupConnector(provider, wagmiConfig);
100
+ if (!connector) {
101
+ throw new Error("Failed to setup connector");
102
+ }
103
+ await connectWeb3AuthWithWagmi(connector, wagmiConfig);
104
+ reconnect();
105
+ } else if (!isConnected) {
106
+ if (wagmiConfig.state.status === "connected") {
107
+ await disconnectWeb3AuthFromWagmi(wagmiConfig);
108
+ }
109
+ }
110
+ })();
111
+ }, [isConnected, wagmiConfig, provider, reconnect]);
112
+ return react.createElement(react.Fragment, null, children);
113
+ }
114
+ function WagmiProvider(_ref) {
115
+ let {
116
+ children
117
+ } = _ref,
118
+ props = _objectWithoutProperties(_ref, _excluded);
119
+ const {
120
+ config
121
+ } = props;
122
+ const {
123
+ web3Auth,
124
+ isInitialized
125
+ } = useWeb3Auth.useWeb3Auth();
126
+ const finalConfig = react.useMemo(() => {
127
+ var _web3Auth$coreOptions;
128
+ if (!isInitialized) return constants.defaultWagmiConfig;
129
+ const finalConfig = _objectSpread(_objectSpread({
130
+ ssr: true
131
+ }, config), {}, {
132
+ chains: undefined,
133
+ connectors: [],
134
+ transports: {},
135
+ multiInjectedProviderDiscovery: false,
136
+ client: undefined
137
+ });
138
+ const wagmiChains = [];
139
+ if (isInitialized && web3Auth !== null && web3Auth !== void 0 && (_web3Auth$coreOptions = web3Auth.coreOptions) !== null && _web3Auth$coreOptions !== void 0 && _web3Auth$coreOptions.chains) {
140
+ var _web3Auth$currentChai;
141
+ const defaultChainId = (_web3Auth$currentChai = web3Auth.currentChain) === null || _web3Auth$currentChai === void 0 ? void 0 : _web3Auth$currentChai.chainId;
142
+ const chains = web3Auth.coreOptions.chains.filter(chain => chain.chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155);
143
+ if (chains.length === 0) throw index.WalletInitializationError.invalidParams("No valid chains found in web3auth config for wagmi.");
144
+ chains.forEach(chain => {
145
+ const wagmiChain = viem.defineChain({
146
+ id: Number.parseInt(chain.chainId, 16),
147
+ // id in number form
148
+ name: chain.displayName,
149
+ rpcUrls: {
150
+ default: {
151
+ http: [chain.rpcTarget],
152
+ webSocket: [chain.wsTarget]
153
+ }
154
+ },
155
+ blockExplorers: chain.blockExplorerUrl ? {
156
+ default: {
157
+ name: "explorer",
158
+ // TODO: correct name if chain config has it
159
+ url: chain.blockExplorerUrl
160
+ }
161
+ } : undefined,
162
+ nativeCurrency: {
163
+ name: chain.tickerName,
164
+ symbol: chain.ticker,
165
+ decimals: chain.decimals || 18
166
+ }
167
+ });
168
+ if (defaultChainId === chain.chainId) {
169
+ wagmiChains.unshift(wagmiChain);
170
+ } else {
171
+ wagmiChains.push(wagmiChain);
172
+ }
173
+ finalConfig.transports[wagmiChain.id] = chain.wsTarget ? viem.webSocket(chain.wsTarget) : viem.http(chain.rpcTarget);
174
+ });
175
+ finalConfig.chains = [wagmiChains[0], ...wagmiChains.slice(1)];
176
+ }
177
+ if (!finalConfig.chains) return;
178
+ return wagmi.createConfig(finalConfig);
179
+ }, [config, web3Auth, isInitialized]);
180
+ return react.createElement(wagmi.WagmiProvider, // typecast to WagmiProviderPropsBase to avoid type error
181
+ // as we are omitting the config prop from WagmiProviderProps
182
+ // and creating a new config object with the finalConfig
183
+ _objectSpread(_objectSpread({}, props), {}, {
184
+ config: finalConfig,
185
+ reconnectOnMount: false
186
+ }), react.createElement(Web3AuthWagmiProvider, null, children));
187
+ }
188
+
189
+ exports.WagmiProvider = WagmiProvider;
@@ -1,14 +1,16 @@
1
1
  import { SafeEventEmitter } from "@web3auth/auth";
2
2
  import { ConnectorNamespaceType, CustomChainConfig } from "../chain/IChainInterface";
3
- import type { BaseConnectorSettings, CONNECTOR_CATEGORY_TYPE, CONNECTOR_STATUS_TYPE, ConnectorEvents, ConnectorInitOptions, IConnector, IProvider, UserAuthInfo, UserInfo } from "./interfaces";
3
+ import { WALLET_CONNECTOR_TYPE } from "../wallet";
4
+ import type { BaseConnectorLoginParams, BaseConnectorSettings, CONNECTOR_CATEGORY_TYPE, CONNECTOR_STATUS_TYPE, ConnectorEvents, ConnectorInitOptions, IConnector, IProvider, UserAuthInfo, UserInfo } from "./interfaces";
4
5
  export declare abstract class BaseConnector<T> extends SafeEventEmitter<ConnectorEvents> implements IConnector<T> {
5
6
  connectorData?: unknown;
6
7
  isInjected?: boolean;
8
+ icon?: string;
7
9
  coreOptions: BaseConnectorSettings["coreOptions"];
8
10
  protected rehydrated: boolean;
9
11
  abstract connectorNamespace: ConnectorNamespaceType;
10
12
  abstract type: CONNECTOR_CATEGORY_TYPE;
11
- abstract name: string;
13
+ abstract name: WALLET_CONNECTOR_TYPE | string;
12
14
  abstract status: CONNECTOR_STATUS_TYPE;
13
15
  constructor(options: BaseConnectorSettings);
14
16
  get connnected(): boolean;
@@ -23,9 +25,7 @@ export declare abstract class BaseConnector<T> extends SafeEventEmitter<Connecto
23
25
  }, init?: boolean): void;
24
26
  updateConnectorData(data: unknown): void;
25
27
  abstract init(options?: ConnectorInitOptions): Promise<void>;
26
- abstract connect(params: T & {
27
- chainId: string;
28
- }): Promise<IProvider | null>;
28
+ abstract connect(params: T & BaseConnectorLoginParams): Promise<IProvider | null>;
29
29
  abstract disconnect(): Promise<void>;
30
30
  abstract getUserInfo(): Promise<Partial<UserInfo>>;
31
31
  abstract enableMFA(params?: T): Promise<void>;
@@ -11,6 +11,8 @@ export declare const CONNECTOR_EVENTS: {
11
11
  readonly CONNECTOR_DATA_UPDATED: "connector_data_updated";
12
12
  readonly CACHE_CLEAR: "cache_clear";
13
13
  readonly CONNECTORS_UPDATED: "connectors_updated";
14
+ readonly MFA_ENABLED: "mfa_enabled";
15
+ readonly REHYDRATION_ERROR: "rehydration_error";
14
16
  readonly NOT_READY: "not_ready";
15
17
  readonly READY: "ready";
16
18
  readonly CONNECTING: "connecting";
@@ -23,7 +25,3 @@ export declare const CONNECTOR_CATEGORY: {
23
25
  readonly EXTERNAL: "external";
24
26
  readonly IN_APP: "in_app";
25
27
  };
26
- export declare const SMART_ACCOUNT_WALLET_SCOPE: {
27
- readonly EMBEDDED: "embedded";
28
- readonly ALL: "all";
29
- };
@@ -1,9 +1,10 @@
1
1
  import { AUTH_CONNECTION_TYPE, AuthUserInfo, ExtraLoginOptions, JRPCRequest, JRPCResponse, Maybe, RequestArguments, SafeEventEmitter, SendCallBack, UX_MODE, type UX_MODE_TYPE, WEB3AUTH_NETWORK, type WEB3AUTH_NETWORK_TYPE } from "@web3auth/auth";
2
- import { ConnectorNamespaceType, CustomChainConfig } from "../chain/IChainInterface";
3
- import { IWeb3AuthCoreOptions } from "../core/IWeb3Auth";
2
+ import type { ChainNamespaceType, ConnectorNamespaceType, CustomChainConfig } from "../chain/IChainInterface";
3
+ import type { IWeb3AuthCoreOptions } from "../core/IWeb3Auth";
4
4
  import { Web3AuthError } from "../errors";
5
- import { ProjectConfig } from "../interfaces";
6
- import { ProviderEvents, SafeEventEmitterProvider } from "../provider/IProvider";
5
+ import type { LoginModeType, ProjectConfig } from "../interfaces";
6
+ import type { ProviderEvents, SafeEventEmitterProvider } from "../provider/IProvider";
7
+ import { WALLET_CONNECTOR_TYPE } from "../wallet";
7
8
  import { CONNECTOR_CATEGORY, CONNECTOR_EVENTS, CONNECTOR_STATUS } from "./constants";
8
9
  export type UserInfo = AuthUserInfo;
9
10
  export { UX_MODE, UX_MODE_TYPE, WEB3AUTH_NETWORK, WEB3AUTH_NETWORK_TYPE };
@@ -45,12 +46,13 @@ export interface IBaseProvider<T> extends IProvider {
45
46
  export interface IConnector<T> extends SafeEventEmitter {
46
47
  connectorNamespace: ConnectorNamespaceType;
47
48
  type: CONNECTOR_CATEGORY_TYPE;
48
- name: string;
49
+ name: WALLET_CONNECTOR_TYPE | string;
49
50
  status: CONNECTOR_STATUS_TYPE;
50
51
  provider: IProvider | null;
51
52
  connectorData?: unknown;
52
53
  connnected: boolean;
53
54
  isInjected?: boolean;
55
+ icon?: string;
54
56
  init(options?: ConnectorInitOptions): Promise<void>;
55
57
  disconnect(options?: {
56
58
  cleanup: boolean;
@@ -65,16 +67,21 @@ export interface IConnector<T> extends SafeEventEmitter {
65
67
  chainId: string;
66
68
  }): Promise<void>;
67
69
  authenticateUser(): Promise<UserAuthInfo>;
70
+ cleanup?(): Promise<void>;
68
71
  }
69
72
  export type ConnectorParams = {
70
73
  projectConfig?: ProjectConfig;
71
74
  coreOptions: IWeb3AuthCoreOptions;
72
75
  };
76
+ export type BaseConnectorLoginParams = {
77
+ chainId: string;
78
+ };
73
79
  export type ConnectorFn = (params: ConnectorParams) => IConnector<unknown>;
74
80
  export type CONNECTED_EVENT_DATA = {
75
- connector: string;
81
+ connector: WALLET_CONNECTOR_TYPE;
76
82
  provider: IProvider;
77
83
  reconnected: boolean;
84
+ loginMode?: LoginModeType;
78
85
  };
79
86
  export interface IConnectorDataEvent {
80
87
  connectorName: string;
@@ -89,24 +96,26 @@ export type ConnectorEvents = {
89
96
  connector: string;
90
97
  }) => void;
91
98
  [CONNECTOR_EVENTS.ERRORED]: (error: Web3AuthError) => void;
99
+ [CONNECTOR_EVENTS.REHYDRATION_ERROR]: (error: Web3AuthError) => void;
92
100
  [CONNECTOR_EVENTS.CONNECTOR_DATA_UPDATED]: (data: IConnectorDataEvent) => void;
93
101
  [CONNECTOR_EVENTS.CACHE_CLEAR]: () => void;
94
102
  [CONNECTOR_EVENTS.CONNECTORS_UPDATED]: (data: {
95
103
  connectors: IConnector<unknown>[];
96
104
  }) => void;
105
+ [CONNECTOR_EVENTS.MFA_ENABLED]: (isMFAEnabled: boolean) => void;
97
106
  };
98
107
  export interface BaseConnectorConfig {
99
108
  label: string;
109
+ icon?: string;
100
110
  isInjected?: boolean;
111
+ chainNamespaces?: ChainNamespaceType[];
101
112
  showOnModal?: boolean;
102
- showOnMobile?: boolean;
103
- showOnDesktop?: boolean;
104
113
  }
105
114
  export type LoginMethodConfig = Partial<Record<AUTH_CONNECTION_TYPE, {
106
115
  /**
107
116
  * Display Name. If not provided, we use the default for auth app
108
117
  */
109
- name: string;
118
+ name?: string;
110
119
  /**
111
120
  * Description for button. If provided, it renders as a full length button. else, icon button
112
121
  */
@@ -131,14 +140,6 @@ export type LoginMethodConfig = Partial<Record<AUTH_CONNECTION_TYPE, {
131
140
  * Whether to show the login button on modal or not
132
141
  */
133
142
  showOnModal?: boolean;
134
- /**
135
- * Whether to show the login button on desktop
136
- */
137
- showOnDesktop?: boolean;
138
- /**
139
- * Whether to show the login button on mobile
140
- */
141
- showOnMobile?: boolean;
142
143
  /**
143
144
  * Auth connection id of the provider.
144
145
  */
@@ -151,7 +152,23 @@ export type LoginMethodConfig = Partial<Record<AUTH_CONNECTION_TYPE, {
151
152
  * ExtraLoginOption params to be used for social login.
152
153
  */
153
154
  extraLoginOptions?: ExtraLoginOptions;
155
+ /**
156
+ * Auth connection type of the auth connector.
157
+ * Can be different from the original key.
158
+ *
159
+ * Example: This helps in customizing the google login button with auth0 custom connector.
160
+ */
161
+ authConnection?: AUTH_CONNECTION_TYPE;
162
+ /**
163
+ * Whether is it default connector.
164
+ *
165
+ * @internal
166
+ */
167
+ isDefault?: boolean;
154
168
  }>>;
155
169
  export type WalletConnectV2Data = {
156
170
  uri: string;
157
171
  };
172
+ export type MetaMaskConnectorData = {
173
+ uri: string;
174
+ };
@@ -0,0 +1,18 @@
1
+ export declare const SMART_ACCOUNT_WALLET_SCOPE: {
2
+ readonly EMBEDDED: "embedded";
3
+ readonly ALL: "all";
4
+ };
5
+ export declare const MODAL_SIGN_IN_METHODS: {
6
+ readonly SOCIAL: "social";
7
+ readonly PASSWORDLESS: "passwordless";
8
+ readonly EXTERNAL_WALLETS: "externalWallets";
9
+ };
10
+ export declare const WIDGET_TYPE: {
11
+ readonly MODAL: "modal";
12
+ readonly EMBED: "embed";
13
+ };
14
+ export declare const WEB3AUTH_STATE_STORAGE_KEY = "Web3Auth-state";
15
+ export declare const LOGIN_MODE: {
16
+ readonly MODAL: "modal";
17
+ readonly NO_MODAL: "no-modal";
18
+ };
@@ -0,0 +1,10 @@
1
+ import type { IWeb3AuthState } from "./interfaces";
2
+ export declare const cookieStorage: (options?: {
3
+ expiry?: number;
4
+ }) => {
5
+ getItem(key: string): string;
6
+ setItem(key: string, value: string): void;
7
+ removeItem(key: string): void;
8
+ };
9
+ export declare function cookieToWeb3AuthState(cookie?: string | null): IWeb3AuthState;
10
+ export declare function parseCookie(cookie: string, key: string): string;
@@ -1,10 +1,14 @@
1
1
  import { type AccountAbstractionMultiChainConfig } from "@toruslabs/ethereum-controllers";
2
- import { type BUILD_ENV_TYPE, SafeEventEmitter, UX_MODE_TYPE, type WhiteLabelData } from "@web3auth/auth";
2
+ import { type BUILD_ENV_TYPE, type LoginParams, MfaSettings, SafeEventEmitter, UX_MODE_TYPE, type WhiteLabelData } from "@web3auth/auth";
3
3
  import { type WsEmbedParams } from "@web3auth/ws-embed";
4
- import { type CustomChainConfig } from "../chain/IChainInterface";
4
+ import { type ChainNamespaceType, type CustomChainConfig } from "../chain/IChainInterface";
5
5
  import { CONNECTOR_EVENTS, type CONNECTOR_STATUS_TYPE, ConnectorEvents, type ConnectorFn, type IBaseProvider, type IConnector, type IProvider, type UserAuthInfo, type UserInfo, type WEB3AUTH_NETWORK_TYPE } from "../connector";
6
- import { type IPlugin, PluginFn } from "../plugin";
7
- import { type WALLET_CONNECTOR_TYPE } from "../wallet";
6
+ import { type IPlugin, type PluginFn } from "../plugin";
7
+ import { type WALLET_CONNECTOR_TYPE, WALLET_CONNECTORS } from "../wallet";
8
+ export type AuthLoginParams = LoginParams & {
9
+ loginHint?: string;
10
+ idToken?: string;
11
+ };
8
12
  export type WalletServicesConfig = Omit<WsEmbedParams, "buildEnv" | "enableLogging" | "chainId" | "chains" | "confirmationStrategy" | "accountAbstractionConfig"> & {
9
13
  /**
10
14
  * Determines how to show confirmation screens
@@ -53,7 +57,7 @@ export interface IWeb3AuthCoreOptions {
53
57
  *
54
58
  * @defaultValue "local"
55
59
  */
56
- storageType?: "session" | "local";
60
+ storageType?: "session" | "local" | "cookies";
57
61
  /**
58
62
  * sessionTime (in seconds) for idToken issued by Web3Auth for server side verification.
59
63
  * @defaultValue 7 * 86400
@@ -62,15 +66,14 @@ export interface IWeb3AuthCoreOptions {
62
66
  */
63
67
  sessionTime?: number;
64
68
  /**
65
- * Web3Auth Network to use for the session & the issued idToken
66
- * @defaultValue sapphire_mainnet
69
+ * Web3Auth Network to use for the session.
67
70
  */
68
- web3AuthNetwork?: WEB3AUTH_NETWORK_TYPE;
71
+ web3AuthNetwork: WEB3AUTH_NETWORK_TYPE;
69
72
  /**
70
73
  * Uses core-kit key with web3auth provider
71
74
  * @defaultValue false
72
75
  */
73
- useCoreKitKey?: boolean;
76
+ useSFAKey?: boolean;
74
77
  /**
75
78
  * WhiteLabel options for web3auth
76
79
  */
@@ -104,20 +107,44 @@ export interface IWeb3AuthCoreOptions {
104
107
  * Private key provider for xrpl, mpc cases
105
108
  */
106
109
  privateKeyProvider?: IBaseProvider<string>;
110
+ /**
111
+ * Whether to enable SSR mode
112
+ *
113
+ * @defaultValue false
114
+ */
115
+ ssr?: boolean;
107
116
  /**
108
117
  * Build environment for Auth connector
109
118
  * @internal
110
119
  * @defaultValue BUILD_ENV.PRODUCTION
111
120
  */
112
121
  authBuildEnv?: BUILD_ENV_TYPE;
122
+ /**
123
+ * MFA settings for the auth connector
124
+ */
125
+ mfaSettings?: MfaSettings;
113
126
  }
127
+ export type LoginParamMap = {
128
+ [WALLET_CONNECTORS.AUTH]: Partial<AuthLoginParams>;
129
+ [WALLET_CONNECTORS.METAMASK]: {
130
+ chainNamespace: ChainNamespaceType;
131
+ };
132
+ [WALLET_CONNECTORS.COINBASE]: {
133
+ chainNamespace: ChainNamespaceType;
134
+ };
135
+ [WALLET_CONNECTORS.WALLET_CONNECT_V2]: {
136
+ chainNamespace: ChainNamespaceType;
137
+ };
138
+ };
114
139
  export interface IWeb3AuthCore extends SafeEventEmitter {
115
140
  readonly coreOptions: IWeb3AuthCoreOptions;
116
- connectedConnectorName: string | null;
141
+ connectedConnectorName: WALLET_CONNECTOR_TYPE | null;
117
142
  currentChain: CustomChainConfig | undefined;
118
143
  status: CONNECTOR_STATUS_TYPE;
119
144
  provider: IProvider | null;
120
- init(): Promise<void>;
145
+ init(options?: {
146
+ signal?: AbortSignal;
147
+ }): Promise<void>;
121
148
  getConnector(connectorName: WALLET_CONNECTOR_TYPE): IConnector<unknown> | null;
122
149
  getPlugin(pluginName: string): IPlugin | null;
123
150
  logout(options?: {
@@ -137,9 +164,10 @@ export interface IWeb3Auth extends IWeb3AuthCore {
137
164
  * Connect to a specific wallet connector
138
165
  * @param walletName - Key of the wallet connector to use.
139
166
  */
140
- connectTo<T>(walletName: WALLET_CONNECTOR_TYPE, loginParams?: T): Promise<IProvider | null>;
167
+ connectTo<T extends WALLET_CONNECTOR_TYPE>(walletName: T, loginParams?: LoginParamMap[T]): Promise<IProvider | null>;
141
168
  enableMFA<T>(params: T): Promise<void>;
142
169
  manageMFA<T>(params: T): Promise<void>;
170
+ cleanup(): Promise<void>;
143
171
  }
144
172
  export type Web3AuthNoModalEvents = ConnectorEvents & {
145
173
  [CONNECTOR_EVENTS.READY]: () => void;
@@ -0,0 +1,3 @@
1
+ type Reviver = (key: string, value: unknown) => unknown;
2
+ export declare function deserialize<T>(value: string, reviver?: Reviver): T;
3
+ export {};
@@ -8,7 +8,6 @@ export interface IWeb3AuthError extends CustomError {
8
8
  export type ErrorCodes = {
9
9
  [key: number]: string;
10
10
  };
11
- export declare function serializeError(args: unknown[]): [Error, unknown[]];
12
11
  export declare abstract class Web3AuthError extends CustomError implements IWeb3AuthError {
13
12
  code: number;
14
13
  message: string;
@@ -48,7 +47,7 @@ export declare class WalletLoginError extends Web3AuthError {
48
47
  static mfaEnabled(extraMessage?: string, cause?: unknown): IWeb3AuthError;
49
48
  static chainConfigNotAdded(extraMessage?: string, cause?: unknown): IWeb3AuthError;
50
49
  static unsupportedOperation(extraMessage?: string, cause?: unknown): IWeb3AuthError;
51
- static coreKitKeyNotFound(extraMessage?: string, cause?: unknown): IWeb3AuthError;
50
+ static sfaKeyNotFound(extraMessage?: string, cause?: unknown): IWeb3AuthError;
52
51
  static userNotLoggedIn(extraMessage?: string, cause?: unknown): IWeb3AuthError;
53
52
  }
54
53
  export declare class WalletOperationsError extends Web3AuthError {
@@ -1,33 +1,13 @@
1
- import { BaseEmbedControllerState } from "@toruslabs/base-controllers";
2
- import type { AuthUserInfo, LoginParams } from "@web3auth/auth";
3
- import { CONNECTOR_STATUS_TYPE, IProvider, UserAuthInfo } from "../connector";
1
+ import { CONNECTOR_STATUS_TYPE, IProvider } from "../connector";
4
2
  import { IPlugin } from "../plugin";
5
3
  export interface IBaseWeb3AuthHookContext {
6
4
  isInitialized: boolean;
7
5
  isInitializing: boolean;
8
6
  initError: unknown;
9
7
  isConnected: boolean;
10
- isConnecting: boolean;
11
- connectError: unknown;
12
- provider: IProvider | null;
13
- userInfo: Partial<AuthUserInfo> | null;
14
8
  isMFAEnabled: boolean;
9
+ provider: IProvider | null;
15
10
  status: CONNECTOR_STATUS_TYPE | null;
16
- enableMFA(params?: LoginParams): Promise<void>;
17
- manageMFA(params?: LoginParams): Promise<void>;
18
- logout(params?: {
19
- cleanup: boolean;
20
- }): Promise<void>;
21
11
  getPlugin(pluginName: string): IPlugin | null;
22
- authenticateUser(): Promise<UserAuthInfo>;
23
- switchChain(params: {
24
- chainId: string;
25
- }): Promise<void>;
26
- }
27
- export interface IBaseWalletServicesHookContext {
28
- isPluginConnected: boolean;
29
- showWalletConnectScanner(showWalletConnectParams?: BaseEmbedControllerState["showWalletConnect"]): Promise<void>;
30
- showSwap(showSwapParams?: BaseEmbedControllerState["showSwap"]): Promise<void>;
31
- showCheckout(showCheckoutParams?: BaseEmbedControllerState["showCheckout"]): Promise<void>;
32
- showWalletUI(showWalletUiParams?: BaseEmbedControllerState["showWalletUi"]): Promise<void>;
12
+ setIsMFAEnabled(isMFAEnabled: boolean): void;
33
13
  }
@@ -1,7 +1,8 @@
1
- export * from "./chain/config";
2
1
  export * from "./chain/IChainInterface";
3
2
  export * from "./composables";
4
3
  export * from "./connector";
4
+ export * from "./constants";
5
+ export { cookieToWeb3AuthState } from "./cookie";
5
6
  export * from "./core/IWeb3Auth";
6
7
  export * from "./errors";
7
8
  export * from "./hooks";
@@ -2,11 +2,18 @@ import { type BUTTON_POSITION_TYPE } from "@toruslabs/base-controllers";
2
2
  import { type SmartAccountType } from "@toruslabs/ethereum-controllers";
3
3
  import { AuthConnectionConfigItem, type WhiteLabelData } from "@web3auth/auth";
4
4
  import { type ChainNamespaceType, type CustomChainConfig } from "./chain/IChainInterface";
5
- import { SMART_ACCOUNT_WALLET_SCOPE } from "./connector";
5
+ import { LOGIN_MODE, MODAL_SIGN_IN_METHODS, SMART_ACCOUNT_WALLET_SCOPE, WIDGET_TYPE } from "./constants";
6
+ import { WALLET_CONNECTOR_TYPE } from "./wallet";
6
7
  export interface WhitelistResponse {
7
8
  urls: string[];
8
9
  signed_urls: Record<string, string>;
9
10
  }
11
+ export interface IWeb3AuthState {
12
+ cachedConnector: string | null;
13
+ connectedConnectorName: WALLET_CONNECTOR_TYPE | null;
14
+ currentChainId: string;
15
+ idToken: string | null;
16
+ }
10
17
  export type ChainsConfig = CustomChainConfig[];
11
18
  export interface ExternalWalletsConfig {
12
19
  disableAllRecommendedWallets?: boolean;
@@ -41,15 +48,14 @@ export interface WalletUiConfig {
41
48
  portfolioWidgetPosition?: BUTTON_POSITION_TYPE;
42
49
  defaultPortfolio?: "token" | "nft";
43
50
  }
51
+ export type ModalSignInMethodType = (typeof MODAL_SIGN_IN_METHODS)[keyof typeof MODAL_SIGN_IN_METHODS];
52
+ export type WidgetType = (typeof WIDGET_TYPE)[keyof typeof WIDGET_TYPE];
44
53
  export interface LoginModalConfig {
45
- widgetType?: "embed" | "modal";
54
+ widgetType?: WidgetType;
46
55
  logoAlignment?: "left" | "center";
47
56
  borderRadiusType?: "small" | "medium" | "large";
48
57
  buttonRadiusType?: "pill" | "rounded" | "square";
49
- tncLink?: string;
50
- privacyPolicy?: string;
51
- enableMainSocialLoginButton?: boolean;
52
- signInMethods?: ("social" | "passwordless" | "externalWallets")[];
58
+ signInMethods?: ModalSignInMethodType[];
53
59
  addPreviousLoginHint?: boolean;
54
60
  displayInstalledExternalWallets?: boolean;
55
61
  displayExternalWalletsCount?: boolean;
@@ -96,6 +102,7 @@ export interface WalletRegistryItem {
96
102
  }[];
97
103
  imgExtension?: string;
98
104
  }
105
+ export type LoginModeType = (typeof LOGIN_MODE)[keyof typeof LOGIN_MODE];
99
106
  export type WalletRegistry = {
100
107
  others: Record<string, WalletRegistryItem>;
101
108
  default: Record<string, WalletRegistryItem>;
@@ -1,2 +1,3 @@
1
1
  import loglevel from "loglevel";
2
- export declare const log: loglevel.Logger;
2
+ declare const log: loglevel.Logger;
3
+ export { log };
@@ -1,6 +1,6 @@
1
1
  import { type SafeEventEmitter, WhiteLabelData } from "@web3auth/auth";
2
2
  import { type IWeb3AuthCore } from "../core/IWeb3Auth";
3
- import { WALLET_CONNECTOR_TYPE } from "../wallet";
3
+ import { type WALLET_CONNECTOR_TYPE } from "../wallet";
4
4
  export declare const PLUGIN_NAMESPACES: {
5
5
  readonly MULTICHAIN: "multichain";
6
6
  readonly EIP155: "eip155";
@@ -1,9 +1,21 @@
1
1
  import { cloneDeep } from "@toruslabs/base-controllers";
2
+ import { BUILD_ENV_TYPE } from "@web3auth/auth";
3
+ import { type Chain } from "viem";
4
+ import { CustomChainConfig } from "./chain/IChainInterface";
2
5
  import { type WEB3AUTH_NETWORK_TYPE } from "./connector";
3
6
  import type { ProjectConfig, WalletRegistry } from "./interfaces";
4
7
  export declare const isHexStrict: (hex: string) => boolean;
5
- export declare const signerHost: (web3AuthNetwork?: WEB3AUTH_NETWORK_TYPE) => string;
6
- export declare const fetchProjectConfig: (clientId: string, web3AuthNetwork: WEB3AUTH_NETWORK_TYPE, aaProvider?: string) => Promise<ProjectConfig>;
8
+ export declare const signerHost: (web3AuthNetwork?: WEB3AUTH_NETWORK_TYPE, authBuildEnv?: BUILD_ENV_TYPE) => string;
9
+ export declare const fetchProjectConfig: ({ clientId, web3AuthNetwork, aaProvider, authBuildEnv, }: {
10
+ clientId: string;
11
+ web3AuthNetwork: WEB3AUTH_NETWORK_TYPE;
12
+ aaProvider?: string;
13
+ authBuildEnv?: BUILD_ENV_TYPE;
14
+ }) => Promise<ProjectConfig>;
7
15
  export declare const fetchWalletRegistry: (url?: string) => Promise<WalletRegistry>;
8
16
  export declare const normalizeWalletName: (name: string) => string;
17
+ export declare const fromWagmiChain: (chain: Chain) => CustomChainConfig;
18
+ export declare function withAbort<T>(fn: () => Promise<T>, signal?: AbortSignal, onAbort?: () => void): Promise<T>;
19
+ export declare const isBrowser: () => boolean;
20
+ export declare const fromViemChain: (chain: Chain) => CustomChainConfig;
9
21
  export { cloneDeep };