@web3auth/modal 10.0.0-beta.1 → 10.0.0-beta.11
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.
- package/README.md +2 -2
- package/dist/lib.cjs/packages/modal/src/config.js +3 -3
- package/dist/lib.cjs/packages/modal/src/index.js +1 -0
- package/dist/lib.cjs/packages/modal/src/modalManager.js +125 -75
- package/dist/lib.cjs/packages/modal/src/react/Web3AuthProvider.js +8 -2
- package/dist/lib.cjs/packages/modal/src/react/context/WalletServicesInnerContext.js +72 -0
- package/dist/lib.cjs/packages/modal/src/react/context/Web3AuthInnerContext.js +40 -96
- package/dist/lib.cjs/packages/modal/src/react/hooks/useCheckout.js +34 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useEnableMFA.js +30 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useIdentityToken.js +42 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useManageMFA.js +30 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useSwap.js +34 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useSwitchChain.js +32 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletConnectScanner.js +34 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletServicesPlugin.js +13 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletUI.js +34 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3Auth.js +21 -8
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthConnect.js +63 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthDisconnect.js +30 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthInner.js +15 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthUser.js +50 -0
- package/dist/lib.cjs/packages/modal/src/react/index.js +24 -3
- package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignAndSendTransaction.js +36 -0
- package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignMessage.js +37 -0
- package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignTransaction.js +36 -0
- package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSolanaWallet.js +43 -0
- package/dist/lib.cjs/packages/modal/src/react/solana/index.js +13 -0
- package/dist/lib.cjs/packages/modal/src/react/wagmi/constants.js +16 -0
- package/dist/lib.cjs/packages/modal/src/react/wagmi/index.js +7 -0
- package/dist/lib.cjs/packages/modal/src/react/wagmi/provider.js +195 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +3 -3
- package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonSocial/ButtonSocial.js +1 -1
- package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +12 -4
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWallet.js +27 -21
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +7 -4
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js +3 -2
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +1 -1
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletList/ConnectWalletList.js +13 -5
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +14 -8
- package/dist/lib.cjs/packages/modal/src/ui/components/Footer/Footer.js +6 -9
- package/dist/lib.cjs/packages/modal/src/ui/components/Image/Image.js +5 -4
- package/dist/lib.cjs/packages/modal/src/ui/components/Loader/Loader.js +1 -1
- package/dist/lib.cjs/packages/modal/src/ui/components/Login/Login.js +80 -42
- package/dist/lib.cjs/packages/modal/src/ui/components/Login/LoginOtp/LoginOtp.js +12 -9
- package/dist/lib.cjs/packages/modal/src/ui/components/Login/LoginPasswordLess/LoginPasswordLess.js +10 -5
- package/dist/lib.cjs/packages/modal/src/ui/components/Modal/Modal.js +1 -1
- package/dist/lib.cjs/packages/modal/src/ui/components/PulseLoader/PulseLoader.js +3 -3
- package/dist/lib.cjs/packages/modal/src/ui/components/Root/Root.js +185 -128
- package/dist/lib.cjs/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +15 -34
- package/dist/lib.cjs/packages/modal/src/ui/components/Widget/Widget.js +16 -3
- package/dist/lib.cjs/packages/modal/src/ui/config.js +2 -1
- package/dist/lib.cjs/packages/modal/src/ui/constants.js +30 -0
- package/dist/lib.cjs/packages/modal/src/ui/context/RootContext.js +12 -3
- package/dist/lib.cjs/packages/modal/src/ui/css/index.css.js +1 -1
- package/dist/lib.cjs/packages/modal/src/ui/handlers/AbstractHandler.js +6 -2
- package/dist/lib.cjs/packages/modal/src/ui/handlers/EmailPasswordlessHandler.js +7 -4
- package/dist/lib.cjs/packages/modal/src/ui/handlers/SmsPasswordlessHandler.js +2 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/dutch.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/english.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/french.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/german.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/japanese.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/korean.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/mandarin.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/portuguese.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/spanish.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/turkish.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/loginModal.js +31 -19
- package/dist/lib.cjs/packages/modal/src/ui/utils.js +16 -4
- package/dist/lib.cjs/packages/modal/src/vue/WalletServicesInnerProvider.js +70 -0
- package/dist/lib.cjs/packages/modal/src/vue/Web3AuthProvider.js +38 -78
- package/dist/lib.cjs/packages/modal/src/vue/composables/useCheckout.js +34 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useEnableMFA.js +32 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useIdentityToken.js +44 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useManageMFA.js +32 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useSwap.js +34 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useSwitchChain.js +32 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletConnectScanner.js +34 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletServicesPlugin.js +13 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletUI.js +34 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3Auth.js +2 -4
- package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthConnect.js +66 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthDisconnect.js +32 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthInner.js +12 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthUser.js +53 -0
- package/dist/lib.cjs/packages/modal/src/vue/index.js +24 -0
- package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignAndSendTransaction.js +36 -0
- package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignMessage.js +38 -0
- package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignTransaction.js +36 -0
- package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSolanaWallet.js +53 -0
- package/dist/lib.cjs/packages/modal/src/vue/solana/index.js +13 -0
- package/dist/lib.cjs/packages/modal/src/vue/wagmi/constants.js +16 -0
- package/dist/lib.cjs/packages/modal/src/vue/wagmi/index.js +7 -0
- package/dist/lib.cjs/packages/modal/src/vue/wagmi/provider.js +233 -0
- package/dist/lib.cjs/types/config.d.ts +1 -0
- package/dist/lib.cjs/types/interface.d.ts +2 -3
- package/dist/lib.cjs/types/modalManager.d.ts +7 -3
- package/dist/lib.cjs/types/react/Web3AuthProvider.d.ts +1 -1
- package/dist/lib.cjs/types/react/context/WalletServicesInnerContext.d.ts +6 -0
- package/dist/lib.cjs/types/react/hooks/index.d.ts +13 -1
- package/dist/lib.cjs/types/react/hooks/useCheckout.d.ts +8 -0
- package/dist/lib.cjs/types/react/hooks/useEnableMFA.d.ts +7 -0
- package/dist/lib.cjs/types/react/hooks/useIdentityToken.d.ts +13 -0
- package/dist/lib.cjs/types/react/hooks/useManageMFA.d.ts +7 -0
- package/dist/lib.cjs/types/react/hooks/useSwap.d.ts +8 -0
- package/dist/lib.cjs/types/react/hooks/useSwitchChain.d.ts +7 -0
- package/dist/lib.cjs/types/react/hooks/useWalletConnectScanner.d.ts +8 -0
- package/dist/lib.cjs/types/react/hooks/useWalletServicesPlugin.d.ts +2 -0
- package/dist/lib.cjs/types/react/hooks/useWalletUI.d.ts +8 -0
- package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +2 -1
- package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +10 -0
- package/dist/lib.cjs/types/react/hooks/useWeb3AuthDisconnect.d.ts +9 -0
- package/dist/lib.cjs/types/react/hooks/useWeb3AuthInner.d.ts +2 -0
- package/dist/lib.cjs/types/react/hooks/useWeb3AuthUser.d.ts +9 -0
- package/dist/lib.cjs/types/react/index.d.ts +0 -1
- package/dist/lib.cjs/types/react/interfaces.d.ts +7 -2
- package/dist/lib.cjs/types/react/solana/hooks/index.d.ts +4 -0
- package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +8 -0
- package/dist/lib.cjs/types/react/solana/hooks/useSignMessage.d.ts +8 -0
- package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +13 -0
- package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +8 -0
- package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
- package/dist/lib.cjs/types/react/wagmi/constants.d.ts +43 -0
- package/dist/lib.cjs/types/react/wagmi/index.d.ts +2 -0
- package/dist/lib.cjs/types/react/wagmi/interface.d.ts +4 -0
- package/dist/lib.cjs/types/react/wagmi/provider.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWallet.type.d.ts +1 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.type.d.ts +3 -4
- package/dist/lib.cjs/types/ui/components/Login/Login.type.d.ts +2 -2
- package/dist/lib.cjs/types/ui/components/Login/LoginOtp/LoginOtp.type.d.ts +3 -2
- package/dist/lib.cjs/types/ui/config.d.ts +1 -1
- package/dist/lib.cjs/types/ui/constants.d.ts +4 -0
- package/dist/lib.cjs/types/ui/context/RootContext.d.ts +12 -3
- package/dist/lib.cjs/types/ui/handlers/AbstractHandler.d.ts +3 -2
- package/dist/lib.cjs/types/ui/handlers/EmailPasswordlessHandler.d.ts +3 -1
- package/dist/lib.cjs/types/ui/interfaces.d.ts +15 -7
- package/dist/lib.cjs/types/ui/loginModal.d.ts +1 -1
- package/dist/lib.cjs/types/ui/utils.d.ts +2 -2
- package/dist/lib.cjs/types/vue/WalletServicesInnerProvider.d.ts +1 -0
- package/dist/lib.cjs/types/vue/composables/index.d.ts +12 -0
- package/dist/lib.cjs/types/vue/composables/useCheckout.d.ts +9 -0
- package/dist/lib.cjs/types/vue/composables/useEnableMFA.d.ts +8 -0
- package/dist/lib.cjs/types/vue/composables/useIdentityToken.d.ts +9 -0
- package/dist/lib.cjs/types/vue/composables/useManageMFA.d.ts +8 -0
- package/dist/lib.cjs/types/vue/composables/useSwap.d.ts +9 -0
- package/dist/lib.cjs/types/vue/composables/useSwitchChain.d.ts +10 -0
- package/dist/lib.cjs/types/vue/composables/useWalletConnectScanner.d.ts +9 -0
- package/dist/lib.cjs/types/vue/composables/useWalletServicesPlugin.d.ts +2 -0
- package/dist/lib.cjs/types/vue/composables/useWalletUI.d.ts +9 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +3 -2
- package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +11 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3AuthDisconnect.d.ts +10 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3AuthInner.d.ts +2 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3AuthUser.d.ts +10 -0
- package/dist/lib.cjs/types/vue/interfaces.d.ts +10 -18
- package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +4 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +9 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSignMessage.d.ts +9 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +9 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +9 -0
- package/dist/lib.cjs/types/vue/solana/index.d.ts +1 -0
- package/dist/lib.cjs/types/vue/wagmi/constants.d.ts +43 -0
- package/dist/lib.cjs/types/vue/wagmi/index.d.ts +2 -0
- package/dist/lib.cjs/types/vue/wagmi/interface.d.ts +4 -0
- package/dist/lib.cjs/types/vue/wagmi/provider.d.ts +17 -0
- package/dist/lib.esm/packages/modal/src/config.js +3 -4
- package/dist/lib.esm/packages/modal/src/index.js +1 -1
- package/dist/lib.esm/packages/modal/src/modalManager.js +136 -76
- package/dist/lib.esm/packages/modal/src/react/Web3AuthProvider.js +9 -3
- package/dist/lib.esm/packages/modal/src/react/context/WalletServicesInnerContext.js +69 -0
- package/dist/lib.esm/packages/modal/src/react/context/Web3AuthInnerContext.js +42 -98
- package/dist/lib.esm/packages/modal/src/react/hooks/useCheckout.js +32 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useEnableMFA.js +28 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useIdentityToken.js +40 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useManageMFA.js +28 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useSwap.js +32 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useSwitchChain.js +30 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useWalletConnectScanner.js +32 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useWalletServicesPlugin.js +11 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useWalletUI.js +32 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3Auth.js +21 -8
- package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthConnect.js +61 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthDisconnect.js +28 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthInner.js +13 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthUser.js +48 -0
- package/dist/lib.esm/packages/modal/src/react/index.js +12 -1
- package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignAndSendTransaction.js +34 -0
- package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignMessage.js +35 -0
- package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignTransaction.js +34 -0
- package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSolanaWallet.js +41 -0
- package/dist/lib.esm/packages/modal/src/react/solana/index.js +4 -0
- package/dist/lib.esm/packages/modal/src/react/wagmi/constants.js +14 -0
- package/dist/lib.esm/packages/modal/src/react/wagmi/index.js +1 -0
- package/dist/lib.esm/packages/modal/src/react/wagmi/provider.js +194 -0
- package/dist/lib.esm/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +3 -3
- package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonSocial/ButtonSocial.js +1 -1
- package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +14 -6
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWallet.js +27 -21
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +7 -4
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js +3 -2
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +1 -1
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletList/ConnectWalletList.js +13 -5
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +15 -9
- package/dist/lib.esm/packages/modal/src/ui/components/Footer/Footer.js +6 -9
- package/dist/lib.esm/packages/modal/src/ui/components/Image/Image.js +5 -4
- package/dist/lib.esm/packages/modal/src/ui/components/Loader/Loader.js +1 -1
- package/dist/lib.esm/packages/modal/src/ui/components/Login/Login.js +84 -42
- package/dist/lib.esm/packages/modal/src/ui/components/Login/LoginOtp/LoginOtp.js +12 -9
- package/dist/lib.esm/packages/modal/src/ui/components/Login/LoginPasswordLess/LoginPasswordLess.js +11 -6
- package/dist/lib.esm/packages/modal/src/ui/components/Modal/Modal.js +1 -1
- package/dist/lib.esm/packages/modal/src/ui/components/PulseLoader/PulseLoader.js +3 -3
- package/dist/lib.esm/packages/modal/src/ui/components/Root/Root.js +189 -131
- package/dist/lib.esm/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +16 -35
- package/dist/lib.esm/packages/modal/src/ui/components/Widget/Widget.js +18 -4
- package/dist/lib.esm/packages/modal/src/ui/config.js +2 -1
- package/dist/lib.esm/packages/modal/src/ui/constants.js +28 -1
- package/dist/lib.esm/packages/modal/src/ui/context/RootContext.js +12 -3
- package/dist/lib.esm/packages/modal/src/ui/css/index.css.js +1 -1
- package/dist/lib.esm/packages/modal/src/ui/handlers/AbstractHandler.js +5 -1
- package/dist/lib.esm/packages/modal/src/ui/handlers/EmailPasswordlessHandler.js +7 -4
- package/dist/lib.esm/packages/modal/src/ui/handlers/SmsPasswordlessHandler.js +2 -2
- package/dist/lib.esm/packages/modal/src/ui/i18n/dutch.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/english.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/french.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/german.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/japanese.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/korean.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/mandarin.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/portuguese.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/spanish.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/turkish.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/loginModal.js +33 -21
- package/dist/lib.esm/packages/modal/src/ui/utils.js +16 -4
- package/dist/lib.esm/packages/modal/src/vue/WalletServicesInnerProvider.js +69 -0
- package/dist/lib.esm/packages/modal/src/vue/Web3AuthProvider.js +40 -79
- package/dist/lib.esm/packages/modal/src/vue/composables/useCheckout.js +32 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useEnableMFA.js +30 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useIdentityToken.js +42 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useManageMFA.js +30 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useSwap.js +32 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useSwitchChain.js +30 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useWalletConnectScanner.js +32 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useWalletServicesPlugin.js +11 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useWalletUI.js +32 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3Auth.js +2 -4
- package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthConnect.js +64 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthDisconnect.js +30 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthInner.js +10 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthUser.js +51 -0
- package/dist/lib.esm/packages/modal/src/vue/index.js +12 -0
- package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignAndSendTransaction.js +34 -0
- package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignMessage.js +36 -0
- package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignTransaction.js +34 -0
- package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSolanaWallet.js +51 -0
- package/dist/lib.esm/packages/modal/src/vue/solana/index.js +4 -0
- package/dist/lib.esm/packages/modal/src/vue/wagmi/constants.js +14 -0
- package/dist/lib.esm/packages/modal/src/vue/wagmi/index.js +1 -0
- package/dist/lib.esm/packages/modal/src/vue/wagmi/provider.js +234 -0
- package/dist/modal.umd.min.js +1 -1
- package/dist/modal.umd.min.js.LICENSE.txt +0 -26
- package/package.json +67 -19
- package/dist/lib.cjs/types/react/context/index.d.ts +0 -1
package/README.md
CHANGED
|
@@ -43,7 +43,7 @@ Hop on to the [Web3Auth Dashboard](https://dashboard.web3auth.io/) and create a
|
|
|
43
43
|
Web3Auth needs to initialise as soon as your app loads up to enable the user to log in. Preferably done within a constructor, initialisation is the step where you can pass on all the configurations for Web3Auth you want. A simple integration for Ethereum blockchain will look like this:
|
|
44
44
|
|
|
45
45
|
```js
|
|
46
|
-
import { Web3Auth } from "
|
|
46
|
+
import { Web3Auth } from "web3auth";
|
|
47
47
|
|
|
48
48
|
//Initialize within your constructor
|
|
49
49
|
const web3auth = new Web3Auth({
|
|
@@ -54,7 +54,7 @@ const web3auth = new Web3Auth({
|
|
|
54
54
|
},
|
|
55
55
|
});
|
|
56
56
|
|
|
57
|
-
await web3auth.
|
|
57
|
+
await web3auth.init();
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
### Login your User
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
var noModal = require('@web3auth/no-modal');
|
|
4
4
|
|
|
5
|
+
const version = "10.0.0-beta.11";
|
|
5
6
|
const defaultConnectorsModalConfig = {
|
|
6
7
|
hideWalletDiscovery: false,
|
|
7
8
|
connectors: {
|
|
8
9
|
[noModal.EVM_CONNECTORS.AUTH]: {
|
|
9
10
|
label: "Auth",
|
|
10
|
-
showOnModal: true
|
|
11
|
-
showOnMobile: true,
|
|
12
|
-
showOnDesktop: true
|
|
11
|
+
showOnModal: true
|
|
13
12
|
}
|
|
14
13
|
}
|
|
15
14
|
};
|
|
16
15
|
const walletRegistryUrl = "https://assets.web3auth.io/v1/wallet-registry.json";
|
|
17
16
|
|
|
18
17
|
exports.defaultConnectorsModalConfig = defaultConnectorsModalConfig;
|
|
18
|
+
exports.version = version;
|
|
19
19
|
exports.walletRegistryUrl = walletRegistryUrl;
|
|
@@ -7,6 +7,7 @@ var noModal = require('@web3auth/no-modal');
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
exports.defaultConnectorsModalConfig = config.defaultConnectorsModalConfig;
|
|
10
|
+
exports.version = config.version;
|
|
10
11
|
exports.walletRegistryUrl = config.walletRegistryUrl;
|
|
11
12
|
exports.Web3Auth = modalManager.Web3Auth;
|
|
12
13
|
Object.keys(noModal).forEach(function (k) {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
4
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
+
var auth = require('@web3auth/auth');
|
|
5
6
|
var noModal = require('@web3auth/no-modal');
|
|
6
7
|
var deepmerge = require('deepmerge');
|
|
7
8
|
var config = require('./config.js');
|
|
@@ -11,8 +12,8 @@ var loginModal = require('./ui/loginModal.js');
|
|
|
11
12
|
var utils = require('./ui/utils.js');
|
|
12
13
|
|
|
13
14
|
class Web3Auth extends noModal.Web3AuthNoModal {
|
|
14
|
-
constructor(options) {
|
|
15
|
-
super(options);
|
|
15
|
+
constructor(options, initialState) {
|
|
16
|
+
super(options, initialState);
|
|
16
17
|
_defineProperty(this, "loginModal", void 0);
|
|
17
18
|
_defineProperty(this, "options", void 0);
|
|
18
19
|
_defineProperty(this, "modalConfig", noModal.cloneDeep(config.defaultConnectorsModalConfig));
|
|
@@ -26,14 +27,14 @@ class Web3Auth extends noModal.Web3AuthNoModal {
|
|
|
26
27
|
});
|
|
27
28
|
_defineProperty(this, "onSocialLogin", async params => {
|
|
28
29
|
try {
|
|
29
|
-
await this.connectTo(
|
|
30
|
+
await this.connectTo(noModal.WALLET_CONNECTORS.AUTH, params.loginParams, noModal.LOGIN_MODE.MODAL);
|
|
30
31
|
} catch (error) {
|
|
31
32
|
noModal.log.error(`Error while connecting to connector: ${params.connector}`, error);
|
|
32
33
|
}
|
|
33
34
|
});
|
|
34
35
|
_defineProperty(this, "onExternalWalletLogin", async params => {
|
|
35
36
|
try {
|
|
36
|
-
await this.connectTo(params.connector, params.loginParams);
|
|
37
|
+
await this.connectTo(params.connector, params.loginParams, noModal.LOGIN_MODE.MODAL);
|
|
37
38
|
} catch (error) {
|
|
38
39
|
noModal.log.error(`Error while connecting to connector: ${params.connector}`, error);
|
|
39
40
|
}
|
|
@@ -41,6 +42,7 @@ class Web3Auth extends noModal.Web3AuthNoModal {
|
|
|
41
42
|
_defineProperty(this, "onModalVisibility", async visibility => {
|
|
42
43
|
noModal.log.debug("is login modal visible", visibility);
|
|
43
44
|
this.emit(interfaces.LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, visibility);
|
|
45
|
+
// handle WC session refresh
|
|
44
46
|
const wcConnector = this.getConnector(noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2);
|
|
45
47
|
if (wcConnector) {
|
|
46
48
|
const walletConnectStatus = wcConnector === null || wcConnector === void 0 ? void 0 : wcConnector.status;
|
|
@@ -62,25 +64,50 @@ class Web3Auth extends noModal.Web3AuthNoModal {
|
|
|
62
64
|
wcConnector.status = noModal.CONNECTOR_STATUS.READY;
|
|
63
65
|
}
|
|
64
66
|
}
|
|
67
|
+
// handle MM session refresh if MM is not injected
|
|
68
|
+
const metamaskConnector = this.getConnector(noModal.WALLET_CONNECTORS.METAMASK);
|
|
69
|
+
if (metamaskConnector && !metamaskConnector.isInjected) {
|
|
70
|
+
const status = metamaskConnector === null || metamaskConnector === void 0 ? void 0 : metamaskConnector.status;
|
|
71
|
+
noModal.log.debug("trying refreshing MM session", visibility, status);
|
|
72
|
+
if (visibility && (status === noModal.CONNECTOR_STATUS.READY || status === noModal.CONNECTOR_STATUS.CONNECTING)) {
|
|
73
|
+
noModal.log.debug("refreshing MM session");
|
|
74
|
+
// refreshing session for MM whenever modal is opened.
|
|
75
|
+
try {
|
|
76
|
+
const initialChain = this.getInitialChainIdForConnector(metamaskConnector);
|
|
77
|
+
metamaskConnector.connect({
|
|
78
|
+
chainId: initialChain.chainId
|
|
79
|
+
});
|
|
80
|
+
} catch (error) {
|
|
81
|
+
noModal.log.error(`Error while connecting to MM`, error);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (!visibility && this.status === noModal.CONNECTOR_STATUS.CONNECTED && (status === noModal.CONNECTOR_STATUS.READY || status === noModal.CONNECTOR_STATUS.CONNECTING)) {
|
|
85
|
+
noModal.log.debug("this stops MM connector from trying to reconnect once proposal expires");
|
|
86
|
+
metamaskConnector.status = noModal.CONNECTOR_STATUS.READY;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
_defineProperty(this, "getChainNamespaces", () => {
|
|
91
|
+
var _this$coreOptions$cha;
|
|
92
|
+
return [...new Set(((_this$coreOptions$cha = this.coreOptions.chains) === null || _this$coreOptions$cha === void 0 ? void 0 : _this$coreOptions$cha.map(x => x.chainNamespace)) || [])];
|
|
65
93
|
});
|
|
66
94
|
this.options = _objectSpread({}, options);
|
|
67
95
|
if (!this.options.uiConfig) this.options.uiConfig = {};
|
|
68
96
|
if (this.options.modalConfig) this.modalConfig = this.options.modalConfig;
|
|
69
97
|
noModal.log.info("modalConfig", this.modalConfig);
|
|
70
98
|
}
|
|
71
|
-
async
|
|
72
|
-
|
|
99
|
+
async init(options) {
|
|
100
|
+
const {
|
|
101
|
+
signal
|
|
102
|
+
} = options || {};
|
|
73
103
|
super.checkInitRequirements();
|
|
74
104
|
// get project config and wallet registry
|
|
75
105
|
const {
|
|
76
106
|
projectConfig,
|
|
77
107
|
walletRegistry
|
|
78
108
|
} = await this.getProjectAndWalletConfig();
|
|
79
|
-
this.options.uiConfig = deepmerge(noModal.cloneDeep(projectConfig.whitelabel || {}), this.options.uiConfig || {});
|
|
80
|
-
if (!this.options.uiConfig.defaultLanguage) this.options.uiConfig.defaultLanguage = utils.getUserLanguage(this.options.uiConfig.defaultLanguage);
|
|
81
|
-
if (!this.options.uiConfig.mode) this.options.uiConfig.mode = "light";
|
|
82
|
-
this.options.uiConfig = deepmerge(projectConfig.loginModal || {}, this.options.uiConfig || {});
|
|
83
109
|
// init config
|
|
110
|
+
this.initUIConfig(projectConfig);
|
|
84
111
|
super.initAccountAbstractionConfig(projectConfig);
|
|
85
112
|
super.initChainsConfig(projectConfig);
|
|
86
113
|
super.initCachedConnectorAndChainId();
|
|
@@ -93,7 +120,8 @@ class Web3Auth extends noModal.Web3AuthNoModal {
|
|
|
93
120
|
connectorListener: this,
|
|
94
121
|
web3authClientId: this.options.clientId,
|
|
95
122
|
web3authNetwork: this.options.web3AuthNetwork,
|
|
96
|
-
|
|
123
|
+
authBuildEnv: this.options.authBuildEnv,
|
|
124
|
+
chainNamespaces: this.getChainNamespaces(),
|
|
97
125
|
walletRegistry: filteredWalletRegistry
|
|
98
126
|
}), {
|
|
99
127
|
onInitExternalWallets: this.onInitExternalWallets,
|
|
@@ -101,22 +129,32 @@ class Web3Auth extends noModal.Web3AuthNoModal {
|
|
|
101
129
|
onExternalWalletLogin: this.onExternalWalletLogin,
|
|
102
130
|
onModalVisibility: this.onModalVisibility
|
|
103
131
|
});
|
|
104
|
-
await this.loginModal.initModal();
|
|
132
|
+
await noModal.withAbort(() => this.loginModal.initModal(), signal);
|
|
105
133
|
// setup common JRPC provider
|
|
106
|
-
await this.setupCommonJRPCProvider();
|
|
134
|
+
await noModal.withAbort(() => this.setupCommonJRPCProvider(), signal);
|
|
107
135
|
// initialize connectors
|
|
108
136
|
this.on(noModal.CONNECTOR_EVENTS.CONNECTORS_UPDATED, ({
|
|
109
137
|
connectors: newConnectors
|
|
110
|
-
}) =>
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
138
|
+
}) => {
|
|
139
|
+
const onAbortHandler = () => {
|
|
140
|
+
var _this$connectors;
|
|
141
|
+
noModal.log.debug("init aborted");
|
|
142
|
+
if (((_this$connectors = this.connectors) === null || _this$connectors === void 0 ? void 0 : _this$connectors.length) > 0) {
|
|
143
|
+
super.cleanup();
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
noModal.withAbort(() => this.initConnectors({
|
|
147
|
+
connectors: newConnectors,
|
|
148
|
+
projectConfig,
|
|
149
|
+
disabledExternalWallets
|
|
150
|
+
}), signal, onAbortHandler);
|
|
117
151
|
});
|
|
152
|
+
await noModal.withAbort(() => super.loadConnectors({
|
|
153
|
+
projectConfig,
|
|
154
|
+
modalMode: true
|
|
155
|
+
}), signal);
|
|
118
156
|
// initialize plugins
|
|
119
|
-
await
|
|
157
|
+
await noModal.withAbort(() => super.initPlugins(), signal);
|
|
120
158
|
}
|
|
121
159
|
async connect() {
|
|
122
160
|
if (!this.loginModal) throw noModal.WalletInitializationError.notReady("Login modal is not initialized");
|
|
@@ -177,32 +215,31 @@ class Web3Auth extends noModal.Web3AuthNoModal {
|
|
|
177
215
|
};
|
|
178
216
|
}
|
|
179
217
|
async getProjectAndWalletConfig() {
|
|
180
|
-
var _this$modalConfig;
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
noModal.log.error("Failed to fetch project configurations", e);
|
|
193
|
-
throw noModal.WalletInitializationError.notReady("failed to fetch project configurations", e);
|
|
218
|
+
var _this$options$account, _this$modalConfig;
|
|
219
|
+
const [projectConfigResult, walletRegistryResult] = await Promise.allSettled([noModal.fetchProjectConfig({
|
|
220
|
+
clientId: this.options.clientId,
|
|
221
|
+
web3AuthNetwork: this.options.web3AuthNetwork,
|
|
222
|
+
aaProvider: (_this$options$account = this.options.accountAbstractionConfig) === null || _this$options$account === void 0 ? void 0 : _this$options$account.smartAccountType,
|
|
223
|
+
authBuildEnv: this.options.authBuildEnv
|
|
224
|
+
}), noModal.fetchWalletRegistry(config.walletRegistryUrl)]);
|
|
225
|
+
// handle project config result
|
|
226
|
+
if (projectConfigResult.status === "rejected") {
|
|
227
|
+
const error = await auth.serializeError(projectConfigResult.reason);
|
|
228
|
+
noModal.log.error("Failed to fetch project configurations", error);
|
|
229
|
+
throw noModal.WalletInitializationError.notReady("failed to fetch project configurations", error);
|
|
194
230
|
}
|
|
195
|
-
|
|
231
|
+
const projectConfig = projectConfigResult.value;
|
|
232
|
+
// handle wallet registry result
|
|
196
233
|
let walletRegistry = {
|
|
197
234
|
others: {},
|
|
198
235
|
default: {}
|
|
199
236
|
};
|
|
200
237
|
const isExternalWalletEnabled = Boolean(projectConfig.externalWalletAuth);
|
|
201
238
|
if (isExternalWalletEnabled && !((_this$modalConfig = this.modalConfig) !== null && _this$modalConfig !== void 0 && _this$modalConfig.hideWalletDiscovery)) {
|
|
202
|
-
|
|
203
|
-
walletRegistry =
|
|
204
|
-
}
|
|
205
|
-
noModal.log.error("Failed to fetch wallet registry",
|
|
239
|
+
if (walletRegistryResult.status === "fulfilled") {
|
|
240
|
+
walletRegistry = walletRegistryResult.value;
|
|
241
|
+
} else {
|
|
242
|
+
noModal.log.error("Failed to fetch wallet registry", walletRegistryResult.reason);
|
|
206
243
|
}
|
|
207
244
|
}
|
|
208
245
|
return {
|
|
@@ -210,6 +247,25 @@ class Web3Auth extends noModal.Web3AuthNoModal {
|
|
|
210
247
|
walletRegistry
|
|
211
248
|
};
|
|
212
249
|
}
|
|
250
|
+
initUIConfig(projectConfig) {
|
|
251
|
+
this.options.uiConfig = deepmerge(noModal.cloneDeep(projectConfig.whitelabel || {}), this.options.uiConfig || {});
|
|
252
|
+
if (!this.options.uiConfig.defaultLanguage) this.options.uiConfig.defaultLanguage = utils.getUserLanguage(this.options.uiConfig.defaultLanguage);
|
|
253
|
+
if (!this.options.uiConfig.mode) this.options.uiConfig.mode = "light";
|
|
254
|
+
this.options.uiConfig = deepmerge(projectConfig.loginModal || {}, this.options.uiConfig, {
|
|
255
|
+
arrayMerge: (_, sourceArray) => sourceArray
|
|
256
|
+
});
|
|
257
|
+
// merge login methods order from project config and user config, with user config taking precedence
|
|
258
|
+
const defaultAuthConnections = projectConfig.embeddedWalletAuth.filter(x => x.isDefault).map(x => x.authConnection);
|
|
259
|
+
const mergedAuthConnections = [...(this.options.uiConfig.loginMethodsOrder || []), ...defaultAuthConnections];
|
|
260
|
+
const loginMethodsOrder = [];
|
|
261
|
+
const authConnectionSet = new Set();
|
|
262
|
+
for (const authConnection of mergedAuthConnections) {
|
|
263
|
+
if (authConnectionSet.has(authConnection)) continue;
|
|
264
|
+
authConnectionSet.add(authConnection);
|
|
265
|
+
loginMethodsOrder.push(authConnection);
|
|
266
|
+
}
|
|
267
|
+
this.options.uiConfig.loginMethodsOrder = loginMethodsOrder;
|
|
268
|
+
}
|
|
213
269
|
async initConnectors({
|
|
214
270
|
connectors,
|
|
215
271
|
projectConfig,
|
|
@@ -277,9 +333,7 @@ class Web3Auth extends noModal.Web3AuthNoModal {
|
|
|
277
333
|
groupedAuthConnectionId: groupedAuthConnectionId,
|
|
278
334
|
extraLoginOptions: authConnectionConfig.jwtParameters,
|
|
279
335
|
isDefault: true,
|
|
280
|
-
showOnModal: true
|
|
281
|
-
showOnDesktop: true,
|
|
282
|
-
showOnMobile: true
|
|
336
|
+
showOnModal: true
|
|
283
337
|
};
|
|
284
338
|
}
|
|
285
339
|
embedWalletConfigMap.set(groupedAuthConnectionId || authConnectionId, authConnectionConfig);
|
|
@@ -325,9 +379,7 @@ class Web3Auth extends noModal.Web3AuthNoModal {
|
|
|
325
379
|
// start with the default config of connector.
|
|
326
380
|
const defaultConnectorConfig = {
|
|
327
381
|
label: noModal.CONNECTOR_NAMES[connectorName] || connectorName.split("-").map(config$1.capitalizeFirstLetter).join(" "),
|
|
328
|
-
showOnModal: true
|
|
329
|
-
showOnMobile: true,
|
|
330
|
-
showOnDesktop: true
|
|
382
|
+
showOnModal: true
|
|
331
383
|
};
|
|
332
384
|
this.modalConfig.connectors[connectorName] = _objectSpread(_objectSpread({}, defaultConnectorConfig), ((_this$modalConfig3 = this.modalConfig) === null || _this$modalConfig3 === void 0 || (_this$modalConfig3 = _this$modalConfig3.connectors) === null || _this$modalConfig3 === void 0 ? void 0 : _this$modalConfig3[connectorName]) || {});
|
|
333
385
|
// check if connector is configured/added by user and exist in connectors map.
|
|
@@ -375,7 +427,7 @@ class Web3Auth extends noModal.Web3AuthNoModal {
|
|
|
375
427
|
const hasExternalConnectors = connectorNames.some(connectorName => {
|
|
376
428
|
var _this$getConnector, _this$modalConfig$con5;
|
|
377
429
|
if (connectorName === noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2) return true;
|
|
378
|
-
return ((_this$getConnector = this.getConnector(connectorName)) === null || _this$getConnector === void 0 ? void 0 : _this$getConnector.type) === noModal.CONNECTOR_CATEGORY.EXTERNAL && ((_this$modalConfig$con5 = this.modalConfig.connectors) === null || _this$modalConfig$con5 === void 0 ? void 0 : _this$modalConfig$con5
|
|
430
|
+
return ((_this$getConnector = this.getConnector(connectorName)) === null || _this$getConnector === void 0 ? void 0 : _this$getConnector.type) === noModal.CONNECTOR_CATEGORY.EXTERNAL && ((_this$modalConfig$con5 = this.modalConfig.connectors) === null || _this$modalConfig$con5 === void 0 || (_this$modalConfig$con5 = _this$modalConfig$con5[connectorName]) === null || _this$modalConfig$con5 === void 0 ? void 0 : _this$modalConfig$con5.showOnModal);
|
|
379
431
|
});
|
|
380
432
|
return {
|
|
381
433
|
hasInAppConnectors,
|
|
@@ -389,7 +441,7 @@ class Web3Auth extends noModal.Web3AuthNoModal {
|
|
|
389
441
|
// skip if connector is already initialized
|
|
390
442
|
if (connector.status !== noModal.CONNECTOR_STATUS.NOT_READY) return;
|
|
391
443
|
// only initialize a external connectors here if it is a cached connector.
|
|
392
|
-
if (this.cachedConnector !== connectorName &&
|
|
444
|
+
if (this.cachedConnector !== connectorName && connector.type === noModal.CONNECTOR_CATEGORY.EXTERNAL) return;
|
|
393
445
|
// in-app wallets or cached wallet (being connected or already connected) are initialized first.
|
|
394
446
|
// if connector is configured then only initialize in app or cached connector.
|
|
395
447
|
// external wallets are initialized on INIT_EXTERNAL_WALLET event.
|
|
@@ -417,13 +469,21 @@ class Web3Auth extends noModal.Web3AuthNoModal {
|
|
|
417
469
|
}
|
|
418
470
|
async initExternalConnectors(externalConnectors, options) {
|
|
419
471
|
const connectorsConfig = {};
|
|
472
|
+
const connectorChainNamespaceMap = {};
|
|
420
473
|
// we do it like this because we don't want one slow connector to delay the load of the entire external wallet section.
|
|
421
474
|
externalConnectors.forEach(async connector => {
|
|
422
475
|
const connectorName = connector.name;
|
|
423
476
|
noModal.log.debug("init external wallet", this.cachedConnector, connectorName, connector.status);
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
477
|
+
// a wallet can support multiple chain namespaces e.g. Phantom has EvmInjected connector and WalletStandard connector.
|
|
478
|
+
if (!connectorChainNamespaceMap[connectorName]) connectorChainNamespaceMap[connectorName] = new Set();
|
|
479
|
+
if (connector.connectorNamespace === noModal.CONNECTOR_NAMESPACES.MULTICHAIN) {
|
|
480
|
+
this.getChainNamespaces().forEach(x => connectorChainNamespaceMap[connectorName].add(x));
|
|
481
|
+
} else {
|
|
482
|
+
connectorChainNamespaceMap[connectorName].add(connector.connectorNamespace);
|
|
483
|
+
}
|
|
484
|
+
// initialize connectors
|
|
485
|
+
// skip initializing cached connector here as it is already being initialized in initModal before.
|
|
486
|
+
if (connector.status === noModal.CONNECTOR_STATUS.NOT_READY && this.cachedConnector !== connectorName) {
|
|
427
487
|
try {
|
|
428
488
|
this.subscribeToConnectorEvents(connector);
|
|
429
489
|
const initialChain = this.getInitialChainIdForConnector(connector);
|
|
@@ -431,33 +491,23 @@ class Web3Auth extends noModal.Web3AuthNoModal {
|
|
|
431
491
|
autoConnect: this.cachedConnector === connectorName,
|
|
432
492
|
chainId: initialChain.chainId
|
|
433
493
|
});
|
|
434
|
-
const connectorModalConfig = this.modalConfig.connectors[connectorName];
|
|
435
|
-
connectorsConfig[connectorName] = _objectSpread(_objectSpread({}, connectorModalConfig), {}, {
|
|
436
|
-
isInjected: connector.isInjected,
|
|
437
|
-
icon: connector.icon
|
|
438
|
-
});
|
|
439
|
-
this.loginModal.addWalletLogins(connectorsConfig, {
|
|
440
|
-
showExternalWalletsOnly: !!options.showExternalWalletsOnly,
|
|
441
|
-
externalWalletsVisibility: !!options.externalWalletsVisibility,
|
|
442
|
-
externalWalletsInitialized: !!options.externalWalletsInitialized
|
|
443
|
-
});
|
|
444
494
|
} catch (error) {
|
|
445
495
|
noModal.log.error(error, "error while initializing connector", connectorName);
|
|
446
496
|
}
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
}
|
|
497
|
+
}
|
|
498
|
+
// update connector config
|
|
499
|
+
if ([noModal.CONNECTOR_STATUS.NOT_READY, noModal.CONNECTOR_STATUS.READY, noModal.CONNECTOR_STATUS.CONNECTING].includes(connector.status)) {
|
|
500
|
+
const connectorModalConfig = this.modalConfig.connectors[connectorName];
|
|
501
|
+
connectorsConfig[connectorName] = _objectSpread(_objectSpread({}, connectorModalConfig), {}, {
|
|
502
|
+
isInjected: connector.isInjected,
|
|
503
|
+
icon: connector.icon,
|
|
504
|
+
chainNamespaces: Array.from(connectorChainNamespaceMap[connectorName])
|
|
505
|
+
});
|
|
506
|
+
this.loginModal.addWalletLogins(connectorsConfig, {
|
|
507
|
+
showExternalWalletsOnly: !!options.showExternalWalletsOnly,
|
|
508
|
+
externalWalletsVisibility: !!options.externalWalletsVisibility,
|
|
509
|
+
externalWalletsInitialized: !!options.externalWalletsInitialized
|
|
510
|
+
});
|
|
461
511
|
}
|
|
462
512
|
});
|
|
463
513
|
}
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var react = require('react');
|
|
4
|
+
var WalletServicesInnerContext = require('./context/WalletServicesInnerContext.js');
|
|
4
5
|
var Web3AuthInnerContext = require('./context/Web3AuthInnerContext.js');
|
|
5
6
|
|
|
6
7
|
function Web3AuthProvider({
|
|
7
8
|
config,
|
|
9
|
+
initialState,
|
|
8
10
|
children
|
|
9
11
|
}) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
const pluginChild = /*#__PURE__*/react.createElement(WalletServicesInnerContext.WalletServicesContextProvider, {
|
|
13
|
+
context: Web3AuthInnerContext.Web3AuthInnerContext
|
|
12
14
|
}, children);
|
|
15
|
+
return /*#__PURE__*/react.createElement(Web3AuthInnerContext.Web3AuthInnerProvider, {
|
|
16
|
+
config,
|
|
17
|
+
initialState
|
|
18
|
+
}, pluginChild);
|
|
13
19
|
}
|
|
14
20
|
|
|
15
21
|
exports.Web3AuthProvider = Web3AuthProvider;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var noModal = require('@web3auth/no-modal');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
|
|
6
|
+
const WalletServicesContext = /*#__PURE__*/react.createContext(null);
|
|
7
|
+
function WalletServicesContextProvider({
|
|
8
|
+
children,
|
|
9
|
+
context
|
|
10
|
+
}) {
|
|
11
|
+
const web3AuthContext = react.useContext(context);
|
|
12
|
+
const {
|
|
13
|
+
getPlugin,
|
|
14
|
+
isInitialized,
|
|
15
|
+
isConnected
|
|
16
|
+
} = web3AuthContext;
|
|
17
|
+
const [ready, setReady] = react.useState(false);
|
|
18
|
+
const [connecting, setConnecting] = react.useState(false);
|
|
19
|
+
const [walletServicesPlugin, setWalletServicesPlugin] = react.useState(null);
|
|
20
|
+
react.useEffect(() => {
|
|
21
|
+
if (isInitialized) {
|
|
22
|
+
const plugin = getPlugin(noModal.EVM_PLUGINS.WALLET_SERVICES);
|
|
23
|
+
setWalletServicesPlugin(plugin);
|
|
24
|
+
}
|
|
25
|
+
}, [isInitialized, getPlugin]);
|
|
26
|
+
react.useEffect(() => {
|
|
27
|
+
if (isConnected) {
|
|
28
|
+
const plugin = getPlugin(noModal.EVM_PLUGINS.WALLET_SERVICES);
|
|
29
|
+
setWalletServicesPlugin(plugin);
|
|
30
|
+
// when rehydrating, the connectedListener may be registered after the connected event is emitted, we need to check the status here
|
|
31
|
+
if ((plugin === null || plugin === void 0 ? void 0 : plugin.status) === noModal.CONNECTOR_STATUS.CONNECTED) setReady(true);
|
|
32
|
+
}
|
|
33
|
+
}, [isConnected, getPlugin, walletServicesPlugin]);
|
|
34
|
+
react.useEffect(() => {
|
|
35
|
+
const connectedListener = () => {
|
|
36
|
+
setReady(true);
|
|
37
|
+
setConnecting(false);
|
|
38
|
+
};
|
|
39
|
+
const disconnectedListener = () => {
|
|
40
|
+
setReady(false);
|
|
41
|
+
setConnecting(false);
|
|
42
|
+
};
|
|
43
|
+
const connectingListener = () => {
|
|
44
|
+
setConnecting(true);
|
|
45
|
+
};
|
|
46
|
+
if (walletServicesPlugin) {
|
|
47
|
+
walletServicesPlugin.on(noModal.PLUGIN_EVENTS.CONNECTED, connectedListener);
|
|
48
|
+
walletServicesPlugin.on(noModal.PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
|
|
49
|
+
walletServicesPlugin.on(noModal.PLUGIN_EVENTS.CONNECTING, connectingListener);
|
|
50
|
+
}
|
|
51
|
+
return () => {
|
|
52
|
+
if (walletServicesPlugin) {
|
|
53
|
+
walletServicesPlugin.off(noModal.PLUGIN_EVENTS.CONNECTED, connectedListener);
|
|
54
|
+
walletServicesPlugin.off(noModal.PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
|
|
55
|
+
walletServicesPlugin.off(noModal.PLUGIN_EVENTS.CONNECTING, connectingListener);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}, [walletServicesPlugin]);
|
|
59
|
+
const value = react.useMemo(() => {
|
|
60
|
+
return {
|
|
61
|
+
plugin: walletServicesPlugin,
|
|
62
|
+
ready,
|
|
63
|
+
connecting
|
|
64
|
+
};
|
|
65
|
+
}, [walletServicesPlugin, ready, connecting]);
|
|
66
|
+
return /*#__PURE__*/react.createElement(WalletServicesContext.Provider, {
|
|
67
|
+
value
|
|
68
|
+
}, children);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
exports.WalletServicesContext = WalletServicesContext;
|
|
72
|
+
exports.WalletServicesContextProvider = WalletServicesContextProvider;
|