@web3auth/no-modal 10.0.0-beta.1 → 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.
- package/dist/lib.cjs/base/connector/baseConnector.js +2 -1
- package/dist/lib.cjs/base/connector/constants.js +3 -1
- package/dist/lib.cjs/base/constants.js +7 -0
- package/dist/lib.cjs/base/cookie.js +38 -0
- package/dist/lib.cjs/base/deserialize.js +13 -0
- package/dist/lib.cjs/base/errors/index.js +3 -22
- package/dist/lib.cjs/base/utils.js +24 -6
- package/dist/lib.cjs/base/wallet/index.js +2 -4
- package/dist/lib.cjs/connectors/auth-connector/authConnector.js +63 -20
- package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +13 -5
- package/dist/lib.cjs/connectors/coinbase-connector/index.js +7 -0
- package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +7 -3
- package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +7 -4
- package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +43 -15
- package/dist/lib.cjs/connectors/utils.js +10 -0
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +6 -1
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +6 -2
- package/dist/lib.cjs/index.js +13 -9
- package/dist/lib.cjs/noModal.js +190 -69
- package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +2 -2
- package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +1 -1
- package/dist/lib.cjs/providers/account-abstraction-provider/index.js +5 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +29 -2
- package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +25 -3
- package/dist/lib.cjs/providers/base-provider/baseProvider.js +2 -0
- package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +7 -0
- package/dist/lib.cjs/providers/xrpl-provider/index.js +9 -0
- package/dist/lib.cjs/react/Web3AuthProvider.js +19 -0
- package/dist/lib.cjs/react/{wallet-services-plugin/WalletServicesContext.js → context/WalletServicesInnerContext.js} +18 -33
- package/dist/lib.cjs/react/{no-modal → context}/Web3AuthInnerContext.js +37 -95
- package/dist/lib.cjs/react/hooks/useCheckout.js +45 -0
- package/dist/lib.cjs/react/hooks/useEnableMFA.js +30 -0
- package/dist/lib.cjs/react/hooks/useIdentityToken.js +42 -0
- package/dist/lib.cjs/react/hooks/useManageMFA.js +30 -0
- package/dist/lib.cjs/react/hooks/useSwap.js +45 -0
- package/dist/lib.cjs/react/hooks/useSwitchChain.js +32 -0
- package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +45 -0
- package/dist/lib.cjs/react/hooks/useWalletServicesPlugin.js +19 -0
- package/dist/lib.cjs/react/hooks/useWalletUI.js +45 -0
- package/dist/lib.cjs/react/hooks/useWeb3Auth.js +28 -0
- package/dist/lib.cjs/react/hooks/useWeb3AuthConnect.js +48 -0
- package/dist/lib.cjs/react/hooks/useWeb3AuthDisconnect.js +30 -0
- package/dist/lib.cjs/react/{no-modal/hooks/useWeb3Auth.js → hooks/useWeb3AuthInner.js} +9 -9
- package/dist/lib.cjs/react/hooks/useWeb3AuthUser.js +50 -0
- package/dist/lib.cjs/react/index.js +26 -9
- package/dist/lib.cjs/react/solana/hooks/useSignAndSendTransaction.js +35 -0
- package/dist/lib.cjs/react/solana/hooks/useSignMessage.js +36 -0
- package/dist/lib.cjs/react/solana/hooks/useSignTransaction.js +34 -0
- package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +62 -0
- package/dist/lib.cjs/react/solana/index.js +13 -0
- package/dist/lib.cjs/react/wagmi/constants.js +16 -0
- package/dist/lib.cjs/react/wagmi/index.js +7 -0
- package/dist/lib.cjs/react/wagmi/provider.js +189 -0
- package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +4 -5
- package/dist/lib.cjs/types/base/connector/constants.d.ts +2 -0
- package/dist/lib.cjs/types/base/connector/interfaces.d.ts +18 -16
- package/dist/lib.cjs/types/base/constants.d.ts +5 -0
- package/dist/lib.cjs/types/base/cookie.d.ts +10 -0
- package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +40 -12
- package/dist/lib.cjs/types/base/deserialize.d.ts +3 -0
- package/dist/lib.cjs/types/base/errors/index.d.ts +1 -2
- package/dist/lib.cjs/types/base/hooks/index.d.ts +3 -23
- package/dist/lib.cjs/types/base/index.d.ts +1 -0
- package/dist/lib.cjs/types/base/interfaces.d.ts +9 -4
- package/dist/lib.cjs/types/base/plugin/IPlugin.d.ts +1 -1
- package/dist/lib.cjs/types/base/utils.d.ts +3 -1
- package/dist/lib.cjs/types/base/wallet/index.d.ts +18 -17
- package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +5 -6
- package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +3 -2
- package/dist/lib.cjs/types/connectors/coinbase-connector/coinbaseConnector.d.ts +1 -1
- package/dist/lib.cjs/types/connectors/index.d.ts +1 -1
- package/dist/lib.cjs/types/connectors/metamask-connector/index.d.ts +1 -1
- package/dist/lib.cjs/types/connectors/metamask-connector/metamaskConnector.d.ts +2 -2
- package/dist/lib.cjs/types/connectors/utils.d.ts +8 -0
- package/dist/lib.cjs/types/noModal.d.ts +20 -9
- package/dist/lib.cjs/types/plugins/nft-checkout-plugin/plugin.d.ts +2 -2
- package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +2 -2
- package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +3 -2
- package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +1 -1
- package/dist/lib.cjs/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +4 -1
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +1 -1
- package/dist/lib.cjs/types/providers/index.d.ts +0 -2
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +1 -1
- package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +1 -1
- package/dist/lib.cjs/types/react/context/WalletServicesInnerContext.d.ts +6 -0
- package/dist/lib.cjs/types/react/{no-modal → context}/Web3AuthInnerContext.d.ts +1 -1
- package/dist/lib.cjs/types/react/hooks/index.d.ts +13 -0
- 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/useWalletUI.d.ts +8 -0
- package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +3 -0
- package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +9 -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 +3 -2
- package/dist/lib.cjs/types/react/interfaces.d.ts +21 -0
- package/dist/lib.cjs/types/react/solana/hooks/index.d.ts +4 -0
- package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +9 -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 +14 -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 +1 -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/vue/WalletServicesInnerProvider.d.ts +1 -0
- package/dist/lib.cjs/types/vue/composables/index.d.ts +13 -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 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +10 -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/{wallet-services-plugin/context.d.ts → context/WalletServicesContext.d.ts} +2 -2
- package/dist/lib.cjs/types/vue/context/index.d.ts +1 -0
- package/dist/lib.cjs/types/vue/index.d.ts +4 -2
- package/dist/lib.cjs/types/vue/interfaces.d.ts +30 -0
- package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +4 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +10 -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 +10 -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.cjs/vue/{wallet-services-plugin/WalletServicesProvider.js → WalletServicesInnerProvider.js} +26 -43
- package/dist/lib.cjs/vue/{no-modal/Web3AuthProvider.js → Web3AuthProvider.js} +45 -86
- package/dist/lib.cjs/vue/composables/useCheckout.js +45 -0
- package/dist/lib.cjs/vue/composables/useEnableMFA.js +43 -0
- package/dist/lib.cjs/vue/composables/useIdentityToken.js +55 -0
- package/dist/lib.cjs/vue/composables/useManageMFA.js +43 -0
- package/dist/lib.cjs/vue/composables/useSwap.js +45 -0
- package/dist/lib.cjs/vue/composables/useSwitchChain.js +43 -0
- package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +45 -0
- package/dist/lib.cjs/vue/composables/useWalletServicesPlugin.js +12 -0
- package/dist/lib.cjs/vue/composables/useWalletUI.js +45 -0
- package/dist/lib.cjs/vue/composables/useWeb3Auth.js +28 -0
- package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +61 -0
- package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +43 -0
- package/dist/lib.cjs/vue/{no-modal/composables/useWeb3Auth.js → composables/useWeb3AuthInner.js} +9 -9
- package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +64 -0
- package/dist/lib.cjs/vue/index.js +28 -8
- package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +36 -0
- package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +38 -0
- package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +36 -0
- package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +64 -0
- package/dist/lib.cjs/vue/solana/index.js +13 -0
- package/dist/lib.cjs/vue/wagmi/constants.js +16 -0
- package/dist/lib.cjs/vue/wagmi/index.js +7 -0
- package/dist/lib.cjs/vue/wagmi/provider.js +244 -0
- package/dist/lib.esm/base/connector/baseConnector.js +6 -1
- package/dist/lib.esm/base/connector/constants.js +3 -1
- package/dist/lib.esm/base/constants.js +6 -1
- package/dist/lib.esm/base/cookie.js +34 -0
- package/dist/lib.esm/base/deserialize.js +11 -0
- package/dist/lib.esm/base/errors/index.js +14 -22
- package/dist/lib.esm/base/plugin/errors.js +2 -0
- package/dist/lib.esm/base/utils.js +28 -12
- package/dist/lib.esm/base/wallet/index.js +2 -4
- package/dist/lib.esm/connectors/auth-connector/authConnector.js +83 -30
- package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +1 -8
- package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +1 -8
- package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +16 -15
- package/dist/lib.esm/connectors/coinbase-connector/index.js +1 -0
- package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +11 -12
- package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +13 -17
- package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +52 -27
- package/dist/lib.esm/connectors/utils.js +14 -1
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +8 -25
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +20 -25
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +15 -15
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +1 -11
- package/dist/lib.esm/index.js +12 -14
- package/dist/lib.esm/noModal.js +217 -80
- package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +4 -1
- package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +4 -10
- package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +7 -9
- package/dist/lib.esm/providers/account-abstraction-provider/index.js +2 -2
- package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +37 -20
- package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +0 -10
- package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +26 -3
- package/dist/lib.esm/providers/base-provider/baseProvider.js +7 -9
- package/dist/lib.esm/providers/base-provider/utils.js +3 -3
- package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +1 -0
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +4 -17
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +3 -13
- package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +1 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +1 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +10 -11
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +3 -3
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +1 -0
- package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +8 -0
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +2 -15
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +5 -12
- package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +1 -1
- package/dist/lib.esm/providers/solana-provider/solanaWallet.js +3 -0
- package/dist/lib.esm/providers/xrpl-provider/index.js +2 -0
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +3 -14
- package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -0
- package/dist/lib.esm/react/Web3AuthProvider.js +17 -0
- package/dist/lib.esm/react/context/WalletServicesInnerContext.js +70 -0
- package/dist/lib.esm/react/context/Web3AuthInnerContext.js +129 -0
- package/dist/lib.esm/react/hooks/useCheckout.js +32 -0
- package/dist/lib.esm/react/hooks/useEnableMFA.js +28 -0
- package/dist/lib.esm/react/hooks/useIdentityToken.js +40 -0
- package/dist/lib.esm/react/hooks/useManageMFA.js +28 -0
- package/dist/lib.esm/react/hooks/useSwap.js +32 -0
- package/dist/lib.esm/react/hooks/useSwitchChain.js +30 -0
- package/dist/lib.esm/react/hooks/useWalletConnectScanner.js +32 -0
- package/dist/lib.esm/react/hooks/useWalletServicesPlugin.js +17 -0
- package/dist/lib.esm/react/hooks/useWalletUI.js +32 -0
- package/dist/lib.esm/react/hooks/useWeb3Auth.js +26 -0
- package/dist/lib.esm/react/hooks/useWeb3AuthConnect.js +46 -0
- package/dist/lib.esm/react/hooks/useWeb3AuthDisconnect.js +28 -0
- package/dist/lib.esm/react/hooks/useWeb3AuthInner.js +13 -0
- package/dist/lib.esm/react/hooks/useWeb3AuthUser.js +48 -0
- package/dist/lib.esm/react/index.js +14 -5
- package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +33 -0
- package/dist/lib.esm/react/solana/hooks/useSignMessage.js +34 -0
- package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +32 -0
- package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +42 -0
- package/dist/lib.esm/react/solana/index.js +4 -0
- package/dist/lib.esm/react/wagmi/constants.js +14 -0
- package/dist/lib.esm/react/wagmi/index.js +1 -0
- package/dist/lib.esm/react/wagmi/provider.js +179 -0
- package/dist/lib.esm/vue/WalletServicesInnerProvider.js +71 -0
- package/dist/lib.esm/vue/Web3AuthProvider.js +154 -0
- package/dist/lib.esm/vue/composables/useCheckout.js +32 -0
- package/dist/lib.esm/vue/composables/useEnableMFA.js +30 -0
- package/dist/lib.esm/vue/composables/useIdentityToken.js +42 -0
- package/dist/lib.esm/vue/composables/useManageMFA.js +30 -0
- package/dist/lib.esm/vue/composables/useSwap.js +32 -0
- package/dist/lib.esm/vue/composables/useSwitchChain.js +30 -0
- package/dist/lib.esm/vue/composables/useWalletConnectScanner.js +32 -0
- package/dist/lib.esm/vue/composables/useWalletServicesPlugin.js +10 -0
- package/dist/lib.esm/vue/composables/useWalletUI.js +32 -0
- package/dist/lib.esm/vue/composables/useWeb3Auth.js +26 -0
- package/dist/lib.esm/vue/composables/useWeb3AuthConnect.js +48 -0
- package/dist/lib.esm/vue/composables/useWeb3AuthDisconnect.js +30 -0
- package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +11 -0
- package/dist/lib.esm/vue/composables/useWeb3AuthUser.js +51 -0
- package/dist/lib.esm/vue/index.js +15 -5
- package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +34 -0
- package/dist/lib.esm/vue/solana/composables/useSignMessage.js +36 -0
- package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +34 -0
- package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +51 -0
- package/dist/lib.esm/vue/solana/index.js +4 -0
- package/dist/lib.esm/vue/wagmi/constants.js +14 -0
- package/dist/lib.esm/vue/wagmi/index.js +1 -0
- package/dist/lib.esm/vue/wagmi/provider.js +237 -0
- package/dist/noModal.umd.min.js +1 -1
- package/dist/noModal.umd.min.js.LICENSE.txt +0 -26
- package/package.json +79 -20
- package/dist/lib.cjs/react/no-modal/Web3AuthProvider.js +0 -15
- package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesProvider.js +0 -16
- package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +0 -26
- package/dist/lib.cjs/types/react/no-modal/hooks/index.d.ts +0 -1
- package/dist/lib.cjs/types/react/no-modal/hooks/useWeb3Auth.d.ts +0 -2
- package/dist/lib.cjs/types/react/no-modal/index.d.ts +0 -3
- package/dist/lib.cjs/types/react/no-modal/interfaces.d.ts +0 -15
- package/dist/lib.cjs/types/react/wallet-services-plugin/WalletServicesContext.d.ts +0 -7
- package/dist/lib.cjs/types/react/wallet-services-plugin/WalletServicesProvider.d.ts +0 -7
- package/dist/lib.cjs/types/react/wallet-services-plugin/hooks/index.d.ts +0 -1
- package/dist/lib.cjs/types/react/wallet-services-plugin/index.d.ts +0 -4
- package/dist/lib.cjs/types/react/wallet-services-plugin/interfaces.d.ts +0 -5
- package/dist/lib.cjs/types/vue/no-modal/composables/index.d.ts +0 -1
- package/dist/lib.cjs/types/vue/no-modal/composables/useWeb3Auth.d.ts +0 -2
- package/dist/lib.cjs/types/vue/no-modal/index.d.ts +0 -3
- package/dist/lib.cjs/types/vue/no-modal/interfaces.d.ts +0 -39
- package/dist/lib.cjs/types/vue/wallet-services-plugin/WalletServicesProvider.d.ts +0 -1
- package/dist/lib.cjs/types/vue/wallet-services-plugin/composables/index.d.ts +0 -1
- package/dist/lib.cjs/types/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +0 -2
- package/dist/lib.cjs/types/vue/wallet-services-plugin/index.d.ts +0 -4
- package/dist/lib.cjs/types/vue/wallet-services-plugin/interfaces.d.ts +0 -13
- package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +0 -24
- package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +0 -197
- package/dist/lib.esm/react/no-modal/Web3AuthProvider.js +0 -13
- package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +0 -24
- package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +0 -95
- package/dist/lib.esm/react/wallet-services-plugin/WalletServicesProvider.js +0 -14
- package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +0 -24
- package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +0 -203
- package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +0 -22
- package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +0 -96
- package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +0 -22
- /package/dist/lib.cjs/types/react/{no-modal/Web3AuthProvider.d.ts → Web3AuthProvider.d.ts} +0 -0
- /package/dist/lib.cjs/types/react/{wallet-services-plugin/hooks → hooks}/useWalletServicesPlugin.d.ts +0 -0
- /package/dist/lib.cjs/types/vue/{no-modal/Web3AuthProvider.d.ts → Web3AuthProvider.d.ts} +0 -0
- /package/dist/lib.cjs/vue/{wallet-services-plugin/context.js → context/WalletServicesContext.js} +0 -0
- /package/dist/lib.esm/vue/{wallet-services-plugin/context.js → context/WalletServicesContext.js} +0 -0
|
@@ -22,8 +22,9 @@ class BaseConnector extends auth.SafeEventEmitter {
|
|
|
22
22
|
return this.status === constants.CONNECTOR_STATUS.CONNECTED;
|
|
23
23
|
}
|
|
24
24
|
checkConnectionRequirements() {
|
|
25
|
-
// we reconnect without killing existing
|
|
25
|
+
// we reconnect without killing existing Wallet Connect or Metamask Connect session on calling connect again.
|
|
26
26
|
if (this.name === index.WALLET_CONNECTORS.WALLET_CONNECT_V2 && this.status === constants.CONNECTOR_STATUS.CONNECTING) return;
|
|
27
|
+
if (this.name === index.WALLET_CONNECTORS.METAMASK && !this.isInjected && this.status === constants.CONNECTOR_STATUS.CONNECTING) return;
|
|
27
28
|
if (this.status === constants.CONNECTOR_STATUS.CONNECTING) throw index$1.WalletInitializationError.notReady("Already connecting");
|
|
28
29
|
if (this.status === constants.CONNECTOR_STATUS.CONNECTED) throw index$1.WalletLoginError.connectionError("Already connected");
|
|
29
30
|
if (this.status !== constants.CONNECTOR_STATUS.READY) throw index$1.WalletLoginError.connectionError("Wallet connector is not ready yet, Please wait for init function to resolve before calling connect/connectTo function");
|
|
@@ -14,7 +14,9 @@ const CONNECTOR_STATUS = {
|
|
|
14
14
|
const CONNECTOR_EVENTS = _objectSpread(_objectSpread({}, CONNECTOR_STATUS), {}, {
|
|
15
15
|
CONNECTOR_DATA_UPDATED: "connector_data_updated",
|
|
16
16
|
CACHE_CLEAR: "cache_clear",
|
|
17
|
-
CONNECTORS_UPDATED: "connectors_updated"
|
|
17
|
+
CONNECTORS_UPDATED: "connectors_updated",
|
|
18
|
+
MFA_ENABLED: "mfa_enabled",
|
|
19
|
+
REHYDRATION_ERROR: "rehydration_error"
|
|
18
20
|
});
|
|
19
21
|
const CONNECTOR_CATEGORY = {
|
|
20
22
|
EXTERNAL: "external",
|
|
@@ -13,7 +13,14 @@ const WIDGET_TYPE = {
|
|
|
13
13
|
MODAL: "modal",
|
|
14
14
|
EMBED: "embed"
|
|
15
15
|
};
|
|
16
|
+
const WEB3AUTH_STATE_STORAGE_KEY = "Web3Auth-state";
|
|
17
|
+
const LOGIN_MODE = {
|
|
18
|
+
MODAL: "modal",
|
|
19
|
+
NO_MODAL: "no-modal"
|
|
20
|
+
};
|
|
16
21
|
|
|
22
|
+
exports.LOGIN_MODE = LOGIN_MODE;
|
|
17
23
|
exports.MODAL_SIGN_IN_METHODS = MODAL_SIGN_IN_METHODS;
|
|
18
24
|
exports.SMART_ACCOUNT_WALLET_SCOPE = SMART_ACCOUNT_WALLET_SCOPE;
|
|
25
|
+
exports.WEB3AUTH_STATE_STORAGE_KEY = WEB3AUTH_STATE_STORAGE_KEY;
|
|
19
26
|
exports.WIDGET_TYPE = WIDGET_TYPE;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var constants = require('./constants.js');
|
|
4
|
+
var deserialize = require('./deserialize.js');
|
|
5
|
+
|
|
6
|
+
const cookieStorage = options => ({
|
|
7
|
+
getItem(key) {
|
|
8
|
+
if (typeof window === "undefined") return null;
|
|
9
|
+
const value = parseCookie(document.cookie, key);
|
|
10
|
+
return value !== null && value !== void 0 ? value : null;
|
|
11
|
+
},
|
|
12
|
+
setItem(key, value) {
|
|
13
|
+
if (typeof window === "undefined") return;
|
|
14
|
+
let cookieString = `${key}=${value};path=/;samesite=Lax`;
|
|
15
|
+
if (options !== null && options !== void 0 && options.expiry && typeof options.expiry === "number") cookieString += `; expires=${new Date(Date.now() + options.expiry).toUTCString()}`;
|
|
16
|
+
if (process.env.NODE_ENV === "production") cookieString += "; secure";
|
|
17
|
+
document.cookie = cookieString;
|
|
18
|
+
},
|
|
19
|
+
removeItem(key) {
|
|
20
|
+
if (typeof window === "undefined") return;
|
|
21
|
+
document.cookie = `${key}=;max-age=-1;path=/`;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
function cookieToWeb3AuthState(cookie) {
|
|
25
|
+
if (!cookie) return undefined;
|
|
26
|
+
const parsed = parseCookie(cookie, constants.WEB3AUTH_STATE_STORAGE_KEY);
|
|
27
|
+
if (!parsed) return undefined;
|
|
28
|
+
return deserialize.deserialize(parsed);
|
|
29
|
+
}
|
|
30
|
+
function parseCookie(cookie, key) {
|
|
31
|
+
const keyValue = cookie.split("; ").find(x => x.startsWith(`${key}=`));
|
|
32
|
+
if (!keyValue) return undefined;
|
|
33
|
+
return keyValue.substring(key.length + 1);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
exports.cookieStorage = cookieStorage;
|
|
37
|
+
exports.cookieToWeb3AuthState = cookieToWeb3AuthState;
|
|
38
|
+
exports.parseCookie = parseCookie;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function deserialize(value, reviver) {
|
|
4
|
+
return JSON.parse(value, (key, value_) => {
|
|
5
|
+
var _value, _value2, _reviver;
|
|
6
|
+
let value = value_;
|
|
7
|
+
if (((_value = value) === null || _value === void 0 ? void 0 : _value.__type) === "bigint") value = BigInt(value.value);
|
|
8
|
+
if (((_value2 = value) === null || _value2 === void 0 ? void 0 : _value2.__type) === "Map") value = new Map(value.value);
|
|
9
|
+
return (_reviver = void 0 ) !== null && _reviver !== void 0 ? _reviver : value;
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
exports.deserialize = deserialize;
|
|
@@ -3,24 +3,6 @@
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
4
|
var tsCustomError = require('ts-custom-error');
|
|
5
5
|
|
|
6
|
-
function serializeError(args) {
|
|
7
|
-
// Find first Error or create an "unknown" Error to keep stack trace.
|
|
8
|
-
const index = args.findIndex(arg => arg instanceof Error);
|
|
9
|
-
const msgIndex = args.findIndex(arg => typeof arg === "string");
|
|
10
|
-
const apiErrorIdx = args.findIndex(arg => arg && typeof arg === "object" && "status" in arg && "type" in arg);
|
|
11
|
-
let err;
|
|
12
|
-
if (apiErrorIdx !== -1) {
|
|
13
|
-
const apiError = args[apiErrorIdx];
|
|
14
|
-
err = new Error(`${apiError.status} ${apiError.type.toString()} ${apiError.statusText}`);
|
|
15
|
-
} else if (index !== -1) {
|
|
16
|
-
err = args.splice(index, 1)[0];
|
|
17
|
-
} else if (msgIndex !== -1) {
|
|
18
|
-
err = new Error(args.splice(msgIndex, 1)[0]);
|
|
19
|
-
} else {
|
|
20
|
-
err = new Error("Unknown error");
|
|
21
|
-
}
|
|
22
|
-
return [err, args];
|
|
23
|
-
}
|
|
24
6
|
class Web3AuthError extends tsCustomError.CustomError {
|
|
25
7
|
constructor(code, message, cause) {
|
|
26
8
|
// takes care of stack and proto
|
|
@@ -41,7 +23,7 @@ class Web3AuthError extends tsCustomError.CustomError {
|
|
|
41
23
|
name: this.name,
|
|
42
24
|
code: this.code,
|
|
43
25
|
message: this.message,
|
|
44
|
-
cause:
|
|
26
|
+
cause: this.cause
|
|
45
27
|
};
|
|
46
28
|
}
|
|
47
29
|
toString() {
|
|
@@ -149,7 +131,7 @@ class WalletLoginError extends Web3AuthError {
|
|
|
149
131
|
static unsupportedOperation(extraMessage = "", cause) {
|
|
150
132
|
return WalletLoginError.fromCode(5117, extraMessage, cause);
|
|
151
133
|
}
|
|
152
|
-
static
|
|
134
|
+
static sfaKeyNotFound(extraMessage = "", cause) {
|
|
153
135
|
return WalletLoginError.fromCode(5118, extraMessage, cause);
|
|
154
136
|
}
|
|
155
137
|
static userNotLoggedIn(extraMessage = "", cause) {
|
|
@@ -165,7 +147,7 @@ _defineProperty(WalletLoginError, "messages", {
|
|
|
165
147
|
5115: "User has already enabled mfa, please use the @web3auth/web3auth-web sdk for login with mfa",
|
|
166
148
|
5116: "Chain config has not been added. Please add the chain config before calling switchChain",
|
|
167
149
|
5117: "Unsupported operation",
|
|
168
|
-
5118: "
|
|
150
|
+
5118: "useSFAKey flag is enabled but SFA key is not available",
|
|
169
151
|
5119: "User not logged in."
|
|
170
152
|
});
|
|
171
153
|
class WalletOperationsError extends Web3AuthError {
|
|
@@ -231,4 +213,3 @@ exports.WalletLoginError = WalletLoginError;
|
|
|
231
213
|
exports.WalletOperationsError = WalletOperationsError;
|
|
232
214
|
exports.WalletProviderError = WalletProviderError;
|
|
233
215
|
exports.Web3AuthError = Web3AuthError;
|
|
234
|
-
exports.serializeError = serializeError;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
var baseControllers = require('@toruslabs/base-controllers');
|
|
4
4
|
var constants = require('@toruslabs/constants');
|
|
5
5
|
var httpHelpers = require('@toruslabs/http-helpers');
|
|
6
|
-
require('@babel/runtime/helpers/defineProperty');
|
|
7
6
|
var auth = require('@web3auth/auth');
|
|
7
|
+
require('@babel/runtime/helpers/defineProperty');
|
|
8
8
|
require('./errors/index.js');
|
|
9
9
|
require('./wallet/index.js');
|
|
10
10
|
require('./connector/constants.js');
|
|
@@ -13,8 +13,11 @@ require('jwt-decode');
|
|
|
13
13
|
const isHexStrict = hex => {
|
|
14
14
|
return (typeof hex === "string" || typeof hex === "number") && /^(-)?0x[0-9a-f]*$/i.test(hex);
|
|
15
15
|
};
|
|
16
|
-
const signerHost = web3AuthNetwork => {
|
|
17
|
-
|
|
16
|
+
const signerHost = (web3AuthNetwork = auth.WEB3AUTH_NETWORK.SAPPHIRE_MAINNET, authBuildEnv = auth.BUILD_ENV.PRODUCTION) => {
|
|
17
|
+
if (authBuildEnv === auth.BUILD_ENV.TESTING || authBuildEnv === auth.BUILD_ENV.DEVELOPMENT) {
|
|
18
|
+
return "https://test-signer.web3auth.io";
|
|
19
|
+
}
|
|
20
|
+
return constants.SIGNER_MAP[web3AuthNetwork];
|
|
18
21
|
};
|
|
19
22
|
const fetchProjectConfig = async ({
|
|
20
23
|
clientId,
|
|
@@ -22,9 +25,7 @@ const fetchProjectConfig = async ({
|
|
|
22
25
|
aaProvider,
|
|
23
26
|
authBuildEnv
|
|
24
27
|
}) => {
|
|
25
|
-
|
|
26
|
-
// TODO: remove this before production
|
|
27
|
-
const url = new URL("https://test-signer.web3auth.io/api/v2/configuration");
|
|
28
|
+
const url = new URL(`${signerHost(web3AuthNetwork, authBuildEnv)}/api/v2/configuration`);
|
|
28
29
|
url.searchParams.append("project_id", clientId);
|
|
29
30
|
url.searchParams.append("network", web3AuthNetwork);
|
|
30
31
|
if (authBuildEnv) url.searchParams.append("build_env", authBuildEnv);
|
|
@@ -67,6 +68,21 @@ const fromWagmiChain = chain => {
|
|
|
67
68
|
wsTarget: (_chain$rpcUrls$defaul = chain.rpcUrls.default.webSocket) === null || _chain$rpcUrls$defaul === void 0 ? void 0 : _chain$rpcUrls$defaul[0]
|
|
68
69
|
};
|
|
69
70
|
};
|
|
71
|
+
function withAbort(fn, signal, onAbort) {
|
|
72
|
+
if (!signal) return fn();
|
|
73
|
+
if (signal.aborted) return Promise.reject(new DOMException("Aborted", "AbortError"));
|
|
74
|
+
return new Promise((resolve, reject) => {
|
|
75
|
+
const abort = () => {
|
|
76
|
+
onAbort === null || onAbort === void 0 || onAbort();
|
|
77
|
+
reject(new DOMException("Aborted", "AbortError"));
|
|
78
|
+
};
|
|
79
|
+
signal.addEventListener("abort", abort);
|
|
80
|
+
return Promise.resolve().then(() => fn()).then(resolve, reject).finally(() => {
|
|
81
|
+
signal.removeEventListener("abort", abort);
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
const isBrowser = () => typeof window !== "undefined" && typeof document !== "undefined";
|
|
70
86
|
const fromViemChain = fromWagmiChain;
|
|
71
87
|
|
|
72
88
|
Object.defineProperty(exports, "cloneDeep", {
|
|
@@ -77,6 +93,8 @@ exports.fetchProjectConfig = fetchProjectConfig;
|
|
|
77
93
|
exports.fetchWalletRegistry = fetchWalletRegistry;
|
|
78
94
|
exports.fromViemChain = fromViemChain;
|
|
79
95
|
exports.fromWagmiChain = fromWagmiChain;
|
|
96
|
+
exports.isBrowser = isBrowser;
|
|
80
97
|
exports.isHexStrict = isHexStrict;
|
|
81
98
|
exports.normalizeWalletName = normalizeWalletName;
|
|
82
99
|
exports.signerHost = signerHost;
|
|
100
|
+
exports.withAbort = withAbort;
|
|
@@ -5,18 +5,16 @@ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
|
5
5
|
const MULTI_CHAIN_CONNECTORS = {
|
|
6
6
|
AUTH: "auth",
|
|
7
7
|
WALLET_CONNECT_V2: "wallet-connect-v2",
|
|
8
|
-
|
|
8
|
+
METAMASK: "metamask"
|
|
9
9
|
};
|
|
10
10
|
const SOLANA_CONNECTORS = _objectSpread({}, MULTI_CHAIN_CONNECTORS);
|
|
11
11
|
const EVM_CONNECTORS = _objectSpread({
|
|
12
|
-
COINBASE: "coinbase"
|
|
13
|
-
METAMASK: "metamask"
|
|
12
|
+
COINBASE: "coinbase"
|
|
14
13
|
}, MULTI_CHAIN_CONNECTORS);
|
|
15
14
|
const WALLET_CONNECTORS = _objectSpread(_objectSpread({}, EVM_CONNECTORS), SOLANA_CONNECTORS);
|
|
16
15
|
const CONNECTOR_NAMES = {
|
|
17
16
|
[MULTI_CHAIN_CONNECTORS.AUTH]: "Auth",
|
|
18
17
|
[MULTI_CHAIN_CONNECTORS.WALLET_CONNECT_V2]: "Wallet Connect v2",
|
|
19
|
-
[MULTI_CHAIN_CONNECTORS.SFA]: "SFA",
|
|
20
18
|
[EVM_CONNECTORS.COINBASE]: "Coinbase Smart Wallet",
|
|
21
19
|
[EVM_CONNECTORS.METAMASK]: "MetaMask"
|
|
22
20
|
};
|
|
@@ -17,6 +17,7 @@ require('../../base/plugin/IPlugin.js');
|
|
|
17
17
|
require('@toruslabs/constants');
|
|
18
18
|
require('@toruslabs/http-helpers');
|
|
19
19
|
var index = require('../../base/wallet/index.js');
|
|
20
|
+
var utils = require('../utils.js');
|
|
20
21
|
|
|
21
22
|
class AuthConnector extends baseConnector.BaseConnector {
|
|
22
23
|
constructor(params) {
|
|
@@ -34,6 +35,7 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
34
35
|
_defineProperty(this, "wsSettings", void 0);
|
|
35
36
|
_defineProperty(this, "wsEmbedInstance", null);
|
|
36
37
|
_defineProperty(this, "authConnectionConfig", []);
|
|
38
|
+
_defineProperty(this, "wsEmbedInstancePromise", null);
|
|
37
39
|
this.authOptions = params.connectorSettings;
|
|
38
40
|
this.loginSettings = params.loginSettings || {
|
|
39
41
|
authConnection: ""
|
|
@@ -73,7 +75,7 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
73
75
|
const isRedirectResult = this.authOptions.uxMode === auth.UX_MODE.REDIRECT;
|
|
74
76
|
this.authOptions = _objectSpread(_objectSpread({}, this.authOptions), {}, {
|
|
75
77
|
replaceUrlOnRedirect: isRedirectResult,
|
|
76
|
-
useCoreKitKey: this.coreOptions.
|
|
78
|
+
useCoreKitKey: this.coreOptions.useSFAKey
|
|
77
79
|
});
|
|
78
80
|
this.authInstance = new auth.Auth(_objectSpread(_objectSpread({}, this.authOptions), {}, {
|
|
79
81
|
clientId: this.coreOptions.clientId,
|
|
@@ -82,7 +84,8 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
82
84
|
authConnectionConfig: this.authConnectionConfig.filter(x => !x.isDefault)
|
|
83
85
|
}));
|
|
84
86
|
loglevel.log.debug("initializing auth connector init", this.authOptions);
|
|
85
|
-
|
|
87
|
+
// making it async here to initialize provider.
|
|
88
|
+
const authInstancePromise = this.authInstance.init();
|
|
86
89
|
// Use this for xrpl, mpc cases
|
|
87
90
|
if (this.coreOptions.privateKeyProvider) {
|
|
88
91
|
this.privateKeyProvider = this.coreOptions.privateKeyProvider;
|
|
@@ -101,11 +104,14 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
101
104
|
modalZIndex: this.wsSettings.modalZIndex
|
|
102
105
|
});
|
|
103
106
|
const wsSupportedChains = chains.filter(x => x.chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155 || x.chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA);
|
|
104
|
-
|
|
107
|
+
this.wsEmbedInstancePromise = this.wsEmbedInstance.init(_objectSpread(_objectSpread({}, this.wsSettings), {}, {
|
|
105
108
|
chains: wsSupportedChains,
|
|
106
109
|
chainId,
|
|
107
110
|
whiteLabel: _objectSpread(_objectSpread({}, this.authOptions.whiteLabel), this.wsSettings.whiteLabel)
|
|
108
|
-
}))
|
|
111
|
+
})).then(() => {
|
|
112
|
+
this.wsEmbedInstancePromise = null;
|
|
113
|
+
return;
|
|
114
|
+
});
|
|
109
115
|
break;
|
|
110
116
|
}
|
|
111
117
|
case baseControllers.CHAIN_NAMESPACES.XRPL:
|
|
@@ -124,10 +130,12 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
124
130
|
}
|
|
125
131
|
}
|
|
126
132
|
}
|
|
133
|
+
// wait for auth instance to be ready.
|
|
134
|
+
loglevel.log.debug("initializing auth connector");
|
|
135
|
+
await authInstancePromise;
|
|
127
136
|
this.status = constants.CONNECTOR_STATUS.READY;
|
|
128
137
|
this.emit(constants.CONNECTOR_EVENTS.READY, index.WALLET_CONNECTORS.AUTH);
|
|
129
138
|
try {
|
|
130
|
-
loglevel.log.debug("initializing auth connector");
|
|
131
139
|
const {
|
|
132
140
|
sessionId
|
|
133
141
|
} = this.authInstance || {};
|
|
@@ -137,10 +145,14 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
137
145
|
await this.connect({
|
|
138
146
|
chainId: options.chainId
|
|
139
147
|
});
|
|
148
|
+
} else if (!sessionId && options.autoConnect) {
|
|
149
|
+
// if here, this means that the connector is cached but the sessionId is not available.
|
|
150
|
+
// this can happen if the sessionId has expired.
|
|
151
|
+
// we are throwing an error to reset the cached state.
|
|
152
|
+
throw index$1.WalletLoginError.connectionError("Failed to rehydrate");
|
|
140
153
|
}
|
|
141
154
|
} catch (error) {
|
|
142
|
-
|
|
143
|
-
this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
|
|
155
|
+
this.emit(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, error);
|
|
144
156
|
}
|
|
145
157
|
}
|
|
146
158
|
async connect(params) {
|
|
@@ -172,7 +184,9 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
172
184
|
if (this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet");
|
|
173
185
|
if (!this.authInstance) throw index$1.WalletInitializationError.notReady("authInstance is not ready");
|
|
174
186
|
try {
|
|
175
|
-
await this.authInstance.enableMFA(params);
|
|
187
|
+
const result = await this.authInstance.enableMFA(params);
|
|
188
|
+
// In redirect mode, the result is not available immediately, so we emit the event when the result is available.
|
|
189
|
+
if (result) this.emit(constants.CONNECTOR_EVENTS.MFA_ENABLED, result);
|
|
176
190
|
} catch (error) {
|
|
177
191
|
loglevel.log.error("Failed to enable MFA with auth provider", error);
|
|
178
192
|
if (error instanceof index$1.Web3AuthError) {
|
|
@@ -265,19 +279,26 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
265
279
|
await ((_this$privateKeyProvi = this.privateKeyProvider) === null || _this$privateKeyProvi === void 0 ? void 0 : _this$privateKeyProvi.switchChain(params));
|
|
266
280
|
}
|
|
267
281
|
}
|
|
282
|
+
async cleanup() {
|
|
283
|
+
if (!this.authInstance) throw index$1.WalletInitializationError.notReady("authInstance is not ready");
|
|
284
|
+
await this.authInstance.cleanup();
|
|
285
|
+
if (this.wsEmbedInstance) {
|
|
286
|
+
this.wsEmbedInstance.clearInit();
|
|
287
|
+
}
|
|
288
|
+
}
|
|
268
289
|
getChain(chainId) {
|
|
269
290
|
return this.coreOptions.chains.find(x => x.chainId === chainId);
|
|
270
291
|
}
|
|
271
292
|
_getFinalPrivKey() {
|
|
272
293
|
if (!this.authInstance) return "";
|
|
273
294
|
let finalPrivKey = this.authInstance.privKey;
|
|
274
|
-
// coreKitKey is available only for custom
|
|
275
|
-
if (this.coreOptions.
|
|
295
|
+
// coreKitKey is available only for custom connections by default
|
|
296
|
+
if (this.coreOptions.useSFAKey) {
|
|
276
297
|
// this is to check if the user has already logged in but coreKitKey is not available.
|
|
277
|
-
// when
|
|
298
|
+
// when useSFAKey is set to true.
|
|
278
299
|
// This is to ensure that when there is no user session active, we don't throw an exception.
|
|
279
300
|
if (this.authInstance.privKey && !this.authInstance.coreKitKey) {
|
|
280
|
-
throw index$1.WalletLoginError.
|
|
301
|
+
throw index$1.WalletLoginError.sfaKeyNotFound();
|
|
281
302
|
}
|
|
282
303
|
finalPrivKey = this.authInstance.coreKitKey;
|
|
283
304
|
}
|
|
@@ -293,6 +314,9 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
293
314
|
} = chainConfig;
|
|
294
315
|
// if not logged in then login
|
|
295
316
|
const keyAvailable = chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155 || chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA ? (_this$authInstance = this.authInstance) === null || _this$authInstance === void 0 ? void 0 : _this$authInstance.sessionId : this._getFinalPrivKey();
|
|
317
|
+
if (params.idToken) params.extraLoginOptions = _objectSpread(_objectSpread({}, params.extraLoginOptions), {}, {
|
|
318
|
+
id_token: params.idToken
|
|
319
|
+
});
|
|
296
320
|
if (!keyAvailable || (_params$extraLoginOpt = params.extraLoginOptions) !== null && _params$extraLoginOpt !== void 0 && _params$extraLoginOpt.id_token) {
|
|
297
321
|
var _params$extraLoginOpt2;
|
|
298
322
|
// always use "other" curve to return token with all keys encoded so wallet service can switch between evm and solana namespace
|
|
@@ -306,6 +330,8 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
306
330
|
}
|
|
307
331
|
// setup WS embed if chainNamespace is EIP155 or SOLANA
|
|
308
332
|
if (chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155 || chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA) {
|
|
333
|
+
// wait for ws embed instance to be ready.
|
|
334
|
+
if (this.wsEmbedInstancePromise) await this.wsEmbedInstancePromise;
|
|
309
335
|
const {
|
|
310
336
|
sessionId,
|
|
311
337
|
sessionNamespace
|
|
@@ -354,19 +380,19 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
354
380
|
});
|
|
355
381
|
if (!(providerConfig !== null && providerConfig !== void 0 && providerConfig.authConnection)) throw index$1.WalletLoginError.connectionError("Invalid auth connection.");
|
|
356
382
|
const jwtParams = _objectSpread(_objectSpread(_objectSpread({}, providerConfig.jwtParameters || {}), params.extraLoginOptions || {}), {}, {
|
|
357
|
-
login_hint: params.
|
|
383
|
+
login_hint: params.loginHint || ((_params$extraLoginOpt3 = params.extraLoginOptions) === null || _params$extraLoginOpt3 === void 0 ? void 0 : _params$extraLoginOpt3.login_hint)
|
|
358
384
|
});
|
|
359
385
|
const nonce = auth.randomId();
|
|
360
386
|
// post a message to the auth provider to indicate that login has been initiated.
|
|
361
387
|
const loginParams = baseControllers.cloneDeep(params);
|
|
362
388
|
loginParams.extraLoginOptions = _objectSpread(_objectSpread({}, loginParams.extraLoginOptions || {}), {}, {
|
|
363
|
-
login_hint: params.
|
|
389
|
+
login_hint: params.loginHint || ((_params$extraLoginOpt4 = params.extraLoginOptions) === null || _params$extraLoginOpt4 === void 0 ? void 0 : _params$extraLoginOpt4.login_hint)
|
|
364
390
|
});
|
|
365
391
|
delete loginParams.chainId;
|
|
366
392
|
const popupParams = {
|
|
367
393
|
authConnection: params.authConnection,
|
|
368
394
|
authConnectionId: providerConfig.authConnectionId,
|
|
369
|
-
clientId: providerConfig.clientId,
|
|
395
|
+
clientId: providerConfig.clientId || jwtParams.client_id,
|
|
370
396
|
groupedAuthConnectionId: providerConfig.groupedAuthConnectionId,
|
|
371
397
|
redirect_uri: `${this.authInstance.baseUrl}/auth`,
|
|
372
398
|
jwtParams,
|
|
@@ -426,7 +452,7 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
426
452
|
});
|
|
427
453
|
}
|
|
428
454
|
connectWithJwtLogin(params) {
|
|
429
|
-
var _params$extraLoginOpt5;
|
|
455
|
+
var _params$extraLoginOpt5, _params$extraLoginOpt7;
|
|
430
456
|
const loginConfig = this.getOAuthProviderConfig({
|
|
431
457
|
authConnection: params.authConnection,
|
|
432
458
|
authConnectionId: params.authConnectionId,
|
|
@@ -443,8 +469,25 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
443
469
|
});
|
|
444
470
|
}
|
|
445
471
|
const loginParams = baseControllers.cloneDeep(params);
|
|
446
|
-
|
|
447
|
-
|
|
472
|
+
const finalExtraLoginOptions = _objectSpread(_objectSpread({}, (loginConfig === null || loginConfig === void 0 ? void 0 : loginConfig.jwtParameters) || {}), params.extraLoginOptions || {});
|
|
473
|
+
let finalUserId;
|
|
474
|
+
if (params.loginHint || (_params$extraLoginOpt5 = params.extraLoginOptions) !== null && _params$extraLoginOpt5 !== void 0 && _params$extraLoginOpt5.login_hint) {
|
|
475
|
+
var _params$extraLoginOpt6;
|
|
476
|
+
finalUserId = params.loginHint || ((_params$extraLoginOpt6 = params.extraLoginOptions) === null || _params$extraLoginOpt6 === void 0 ? void 0 : _params$extraLoginOpt6.login_hint);
|
|
477
|
+
} else if ((_params$extraLoginOpt7 = params.extraLoginOptions) !== null && _params$extraLoginOpt7 !== void 0 && _params$extraLoginOpt7.id_token) {
|
|
478
|
+
if (typeof finalExtraLoginOptions.isUserIdCaseSensitive === "undefined") {
|
|
479
|
+
throw index$1.WalletInitializationError.invalidParams(`isUserIdCaseSensitive is required for this connection: ${finalExtraLoginOptions.authConnection}`);
|
|
480
|
+
}
|
|
481
|
+
const {
|
|
482
|
+
payload
|
|
483
|
+
} = utils.parseToken(params.extraLoginOptions.id_token);
|
|
484
|
+
finalUserId = auth.getUserId(payload, loginParams.authConnection, finalExtraLoginOptions.userIdField, finalExtraLoginOptions.isUserIdCaseSensitive);
|
|
485
|
+
} else {
|
|
486
|
+
throw index$1.WalletLoginError.connectionError("Invalid login hint or id_token");
|
|
487
|
+
}
|
|
488
|
+
// Adds the login_hint to the extraLoginOptions.
|
|
489
|
+
loginParams.extraLoginOptions = _objectSpread(_objectSpread({}, finalExtraLoginOptions), {}, {
|
|
490
|
+
login_hint: finalUserId
|
|
448
491
|
});
|
|
449
492
|
delete loginParams.chainId;
|
|
450
493
|
return this.authInstance.postLoginInitiatedMessage(loginParams);
|
|
@@ -542,8 +585,8 @@ const authConnector = params => {
|
|
|
542
585
|
walletServicesSettings: finalWsSettings,
|
|
543
586
|
loginSettings: params === null || params === void 0 ? void 0 : params.loginSettings,
|
|
544
587
|
coreOptions,
|
|
545
|
-
|
|
546
|
-
|
|
588
|
+
authConnectionConfig: projectConfig.embeddedWalletAuth,
|
|
589
|
+
mfaSettings: coreOptions.mfaSettings
|
|
547
590
|
});
|
|
548
591
|
};
|
|
549
592
|
};
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
4
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
-
var walletSdk = require('@coinbase/wallet-sdk');
|
|
6
5
|
var IChainInterface = require('../../base/chain/IChainInterface.js');
|
|
7
6
|
require('@web3auth/auth');
|
|
8
7
|
var index$1 = require('../../base/errors/index.js');
|
|
@@ -46,7 +45,10 @@ class CoinbaseConnector extends baseEvmConnector.BaseEvmConnector {
|
|
|
46
45
|
super.checkInitializationRequirements({
|
|
47
46
|
chainConfig
|
|
48
47
|
});
|
|
49
|
-
const
|
|
48
|
+
const {
|
|
49
|
+
createCoinbaseWalletSDK
|
|
50
|
+
} = await import('@coinbase/wallet-sdk');
|
|
51
|
+
const coinbaseInstance = createCoinbaseWalletSDK(_objectSpread(_objectSpread({}, this.coinbaseOptions), {}, {
|
|
50
52
|
preference: {
|
|
51
53
|
options: this.coinbaseOptions.options || "smartWalletOnly"
|
|
52
54
|
},
|
|
@@ -60,12 +62,17 @@ class CoinbaseConnector extends baseEvmConnector.BaseEvmConnector {
|
|
|
60
62
|
try {
|
|
61
63
|
if (options.autoConnect) {
|
|
62
64
|
this.rehydrated = true;
|
|
63
|
-
await this.connect({
|
|
65
|
+
const provider = await this.connect({
|
|
64
66
|
chainId: options.chainId
|
|
65
67
|
});
|
|
68
|
+
// the connect function could fail silently as well.
|
|
69
|
+
if (!provider) {
|
|
70
|
+
this.rehydrated = false;
|
|
71
|
+
throw index$1.WalletLoginError.connectionError("Failed to rehydrate.");
|
|
72
|
+
}
|
|
66
73
|
}
|
|
67
74
|
} catch (error) {
|
|
68
|
-
this.emit(constants.CONNECTOR_EVENTS.
|
|
75
|
+
this.emit(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, error);
|
|
69
76
|
}
|
|
70
77
|
}
|
|
71
78
|
async connect({
|
|
@@ -104,8 +111,9 @@ class CoinbaseConnector extends baseEvmConnector.BaseEvmConnector {
|
|
|
104
111
|
} catch (error) {
|
|
105
112
|
// ready again to be connected
|
|
106
113
|
this.status = constants.CONNECTOR_STATUS.READY;
|
|
114
|
+
// only throw error if the connector is not rehydrated.
|
|
115
|
+
if (!this.rehydrated) this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
|
|
107
116
|
this.rehydrated = false;
|
|
108
|
-
this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
|
|
109
117
|
if (error instanceof index$1.Web3AuthError) throw error;
|
|
110
118
|
throw index$1.WalletLoginError.connectionError("Failed to login with coinbase wallet", error);
|
|
111
119
|
}
|
|
@@ -49,12 +49,16 @@ class InjectedEvmConnector extends baseEvmConnector.BaseEvmConnector {
|
|
|
49
49
|
loglevel.log.debug(`initializing ${this.name} injected connector`);
|
|
50
50
|
if (options.autoConnect) {
|
|
51
51
|
this.rehydrated = true;
|
|
52
|
-
await this.connect({
|
|
52
|
+
const provider = await this.connect({
|
|
53
53
|
chainId: options.chainId
|
|
54
54
|
});
|
|
55
|
+
if (!provider) {
|
|
56
|
+
this.rehydrated = false;
|
|
57
|
+
throw index.WalletLoginError.connectionError("Failed to rehydrate.");
|
|
58
|
+
}
|
|
55
59
|
}
|
|
56
60
|
} catch (error) {
|
|
57
|
-
this.emit(constants.CONNECTOR_EVENTS.
|
|
61
|
+
this.emit(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, error);
|
|
58
62
|
}
|
|
59
63
|
}
|
|
60
64
|
async connect({
|
|
@@ -99,8 +103,8 @@ class InjectedEvmConnector extends baseEvmConnector.BaseEvmConnector {
|
|
|
99
103
|
} catch (error) {
|
|
100
104
|
// ready again to be connected
|
|
101
105
|
this.status = constants.CONNECTOR_STATUS.READY;
|
|
106
|
+
if (!this.rehydrated) this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
|
|
102
107
|
this.rehydrated = false;
|
|
103
|
-
this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
|
|
104
108
|
if (error instanceof index.Web3AuthError) throw error;
|
|
105
109
|
throw index.WalletLoginError.connectionError(`Failed to login with ${this.name} injected wallet`);
|
|
106
110
|
}
|
|
@@ -65,13 +65,16 @@ class WalletStandardConnector extends baseSolanaConnector.BaseSolanaConnector {
|
|
|
65
65
|
loglevel.log.debug("initializing solana injected connector");
|
|
66
66
|
if (options.autoConnect) {
|
|
67
67
|
this.rehydrated = true;
|
|
68
|
-
await this.connect({
|
|
68
|
+
const provider = await this.connect({
|
|
69
69
|
chainId: options.chainId
|
|
70
70
|
});
|
|
71
|
+
if (!provider) {
|
|
72
|
+
this.rehydrated = false;
|
|
73
|
+
throw index.WalletLoginError.connectionError("Failed to rehydrate.");
|
|
74
|
+
}
|
|
71
75
|
}
|
|
72
76
|
} catch (error) {
|
|
73
|
-
|
|
74
|
-
this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
|
|
77
|
+
this.emit(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, error);
|
|
75
78
|
}
|
|
76
79
|
}
|
|
77
80
|
async connect({
|
|
@@ -101,8 +104,8 @@ class WalletStandardConnector extends baseSolanaConnector.BaseSolanaConnector {
|
|
|
101
104
|
} catch (error) {
|
|
102
105
|
// ready again to be connected
|
|
103
106
|
this.status = constants.CONNECTOR_STATUS.READY;
|
|
107
|
+
if (!this.rehydrated) this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
|
|
104
108
|
this.rehydrated = false;
|
|
105
|
-
this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
|
|
106
109
|
throw error;
|
|
107
110
|
}
|
|
108
111
|
}
|