@web3auth/no-modal 10.14.1 → 11.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib.cjs/base/connector/baseConnector.js +104 -2
- package/dist/lib.cjs/base/connector/connectorStatus.js +2 -0
- package/dist/lib.cjs/base/connector/constants.js +4 -2
- package/dist/lib.cjs/base/connector/utils.js +0 -21
- package/dist/lib.cjs/base/constants.js +4 -0
- package/dist/lib.cjs/base/cookie.js +6 -20
- package/dist/lib.cjs/base/errors/index.js +36 -12
- package/dist/lib.cjs/base/utils.js +10 -11
- package/dist/lib.cjs/base/wallet/index.js +7 -0
- package/dist/lib.cjs/base/wallet/solana.js +83 -0
- package/dist/lib.cjs/connectors/auth-connector/authConnector.js +145 -49
- package/dist/lib.cjs/connectors/auth-connector/authSolanaWallet.js +187 -0
- package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +18 -40
- package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +30 -56
- package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +19 -14
- package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +18 -13
- package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +24 -36
- package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +321 -133
- package/dist/lib.cjs/connectors/utils.js +8 -2
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +13 -38
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +4 -3
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +73 -63
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +40 -47
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +144 -0
- package/dist/lib.cjs/index.js +50 -85
- package/dist/lib.cjs/noModal.js +223 -133
- package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +23 -39
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +12 -10
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +8 -6
- package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +47 -44
- package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +1 -3
- package/dist/lib.cjs/providers/base-provider/baseProvider.js +4 -2
- package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +8 -11
- package/dist/lib.cjs/providers/base-provider/index.js +0 -1
- package/dist/lib.cjs/providers/base-provider/jrpcClient.js +18 -19
- package/dist/lib.cjs/providers/base-provider/utils.js +0 -3
- package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +22 -35
- package/dist/lib.cjs/providers/ethereum-provider/rpc/jrpcClient.js +18 -19
- package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMiddleware.js +200 -0
- package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +9 -18
- package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
- package/dist/lib.cjs/providers/xrpl-provider/rpc/JrpcClient.js +19 -26
- package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +46 -37
- package/dist/lib.cjs/react/context/WalletServicesInnerContext.js +2 -69
- package/dist/lib.cjs/react/context/Web3AuthInnerContext.js +6 -161
- package/dist/lib.cjs/react/context/useWalletServicesContextValue.js +76 -0
- package/dist/lib.cjs/react/context/useWeb3AuthInnerContextValue.js +202 -0
- package/dist/lib.cjs/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
- package/dist/lib.cjs/react/hooks/useCheckout.js +4 -2
- package/dist/lib.cjs/react/hooks/useFunding.js +4 -2
- package/dist/lib.cjs/react/hooks/useReceive.js +4 -2
- package/dist/lib.cjs/react/hooks/useSwap.js +4 -2
- package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +4 -2
- package/dist/lib.cjs/react/hooks/useWalletServicesPlugin.js +3 -10
- package/dist/lib.cjs/react/hooks/useWalletUI.js +4 -2
- package/dist/lib.cjs/react/hooks/useWeb3Auth.js +1 -22
- package/dist/lib.cjs/react/hooks/useWeb3AuthInner.js +4 -2
- package/dist/lib.cjs/react/index.js +10 -2
- package/dist/lib.cjs/react/solana/hooks/useSignAndSendTransaction.js +22 -4
- package/dist/lib.cjs/react/solana/hooks/useSignMessage.js +20 -2
- package/dist/lib.cjs/react/solana/hooks/useSignTransaction.js +22 -3
- package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +34 -51
- package/dist/lib.cjs/react/solana/index.js +2 -0
- package/dist/lib.cjs/react/solana/provider.js +167 -0
- package/dist/lib.cjs/react/wagmi/provider.js +10 -8
- package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +21 -5
- package/dist/lib.cjs/types/base/connector/connectorStatus.d.ts +1 -0
- package/dist/lib.cjs/types/base/connector/constants.d.ts +3 -0
- package/dist/lib.cjs/types/base/connector/interfaces.d.ts +23 -12
- package/dist/lib.cjs/types/base/connector/utils.d.ts +0 -3
- package/dist/lib.cjs/types/base/constants.d.ts +1 -0
- package/dist/lib.cjs/types/base/cookie.d.ts +0 -7
- package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +24 -12
- package/dist/lib.cjs/types/base/errors/index.d.ts +2 -3
- package/dist/lib.cjs/types/base/hooks/index.d.ts +2 -2
- package/dist/lib.cjs/types/base/interfaces.d.ts +5 -1
- package/dist/lib.cjs/types/base/utils.d.ts +2 -1
- package/dist/lib.cjs/types/base/wallet/index.d.ts +3 -0
- package/dist/lib.cjs/types/base/wallet/solana.d.ts +19 -0
- package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +11 -6
- package/dist/lib.cjs/types/connectors/auth-connector/authSolanaWallet.d.ts +35 -0
- package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +2 -2
- package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +2 -2
- package/dist/lib.cjs/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +2 -2
- package/dist/lib.cjs/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +10 -7
- package/dist/lib.cjs/types/connectors/metamask-connector/metamaskConnector.d.ts +35 -3
- package/dist/lib.cjs/types/connectors/utils.d.ts +2 -0
- package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.d.ts +0 -1
- package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/walletConnectV2Utils.d.ts +1 -5
- package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/wcSolanaWallet.d.ts +26 -0
- package/dist/lib.cjs/types/noModal.d.ts +12 -8
- package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +1 -4
- package/dist/lib.cjs/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
- package/dist/lib.cjs/types/providers/base-provider/jrpcClient.d.ts +2 -5
- package/dist/lib.cjs/types/providers/base-provider/utils.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/index.d.ts +1 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/interfaces.d.ts +6 -0
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +2 -5
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMiddleware.d.ts +3 -0
- package/dist/lib.cjs/types/providers/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +0 -1
- package/dist/lib.cjs/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +3 -7
- package/dist/lib.cjs/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +5 -12
- package/dist/lib.cjs/types/react/context/index.d.ts +4 -0
- package/dist/lib.cjs/types/react/context/useWalletServicesContextValue.d.ts +12 -0
- package/dist/lib.cjs/types/react/context/useWeb3AuthInnerContextValue.d.ts +26 -0
- package/dist/lib.cjs/types/react/hooks/index.d.ts +1 -1
- package/dist/lib.cjs/types/react/hooks/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +4 -4
- package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +1 -2
- package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +2 -2
- package/dist/lib.cjs/types/react/index.d.ts +1 -0
- package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +7 -2
- package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +8 -3
- package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +17 -4
- package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
- package/dist/lib.cjs/types/react/solana/provider.d.ts +26 -0
- package/dist/lib.cjs/types/vue/composables/index.d.ts +2 -1
- package/dist/lib.cjs/types/vue/composables/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +3 -3
- package/dist/lib.cjs/types/vue/composables/useInjectedWeb3AuthInnerContext.d.ts +1 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +1 -2
- package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +2 -2
- package/dist/lib.cjs/types/vue/index.d.ts +2 -0
- package/dist/lib.cjs/types/vue/interfaces.d.ts +2 -2
- package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +1 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +7 -2
- package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +8 -3
- package/dist/lib.cjs/types/vue/solana/composables/useSolanaClient.d.ts +7 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +17 -4
- package/dist/lib.cjs/types/vue/solana/constants.d.ts +3 -0
- package/dist/lib.cjs/types/vue/solana/index.d.ts +2 -0
- package/dist/lib.cjs/types/vue/solana/provider.d.ts +8 -0
- package/dist/lib.cjs/types/vue/useWalletServicesInnerContextValue.d.ts +13 -0
- package/dist/lib.cjs/types/vue/useWeb3AuthInnerContextValue.d.ts +26 -0
- package/dist/lib.cjs/types/x402/index.d.ts +43 -0
- package/dist/lib.cjs/types/x402/interfaces.d.ts +11 -0
- package/dist/lib.cjs/types/x402/react.d.ts +17 -0
- package/dist/lib.cjs/types/x402/vue.d.ts +18 -0
- package/dist/lib.cjs/vue/WalletServicesInnerProvider.js +9 -54
- package/dist/lib.cjs/vue/Web3AuthProvider.js +16 -177
- package/dist/lib.cjs/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +10 -8
- package/dist/lib.cjs/vue/composables/useCheckout.js +4 -2
- package/dist/lib.cjs/vue/composables/useEnableMFA.js +4 -2
- package/dist/lib.cjs/vue/composables/useFunding.js +4 -2
- package/dist/lib.cjs/vue/composables/useInjectedWeb3AuthInnerContext.js +29 -0
- package/dist/lib.cjs/vue/composables/useManageMFA.js +4 -2
- package/dist/lib.cjs/vue/composables/useReceive.js +4 -2
- package/dist/lib.cjs/vue/composables/useSwap.js +4 -2
- package/dist/lib.cjs/vue/composables/useSwitchChain.js +4 -2
- package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +4 -2
- package/dist/lib.cjs/vue/composables/useWalletUI.js +4 -2
- package/dist/lib.cjs/vue/composables/useWeb3Auth.js +1 -26
- package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +4 -2
- package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +4 -2
- package/dist/lib.cjs/vue/composables/useWeb3AuthInner.js +2 -20
- package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +4 -2
- package/dist/lib.cjs/vue/index.js +8 -2
- package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +6 -3
- package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +6 -3
- package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +6 -3
- package/dist/lib.cjs/vue/solana/composables/useSolanaClient.js +14 -0
- package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +60 -41
- package/dist/lib.cjs/vue/solana/constants.js +5 -0
- package/dist/lib.cjs/vue/solana/index.js +6 -0
- package/dist/lib.cjs/vue/solana/provider.js +107 -0
- package/dist/lib.cjs/vue/useWalletServicesInnerContextValue.js +75 -0
- package/dist/lib.cjs/vue/useWeb3AuthInnerContextValue.js +217 -0
- package/dist/lib.cjs/vue/wagmi/provider.js +12 -8
- package/dist/lib.cjs/x402/index.js +175 -0
- package/dist/lib.cjs/x402/interfaces.js +5 -0
- package/dist/lib.cjs/x402/react.js +64 -0
- package/dist/lib.cjs/x402/vue.js +58 -0
- package/dist/lib.esm/base/connector/baseConnector.js +104 -2
- package/dist/lib.esm/base/connector/connectorStatus.js +2 -1
- package/dist/lib.esm/base/connector/constants.js +4 -2
- package/dist/lib.esm/base/connector/utils.js +1 -19
- package/dist/lib.esm/base/constants.js +4 -1
- package/dist/lib.esm/base/cookie.js +7 -20
- package/dist/lib.esm/base/errors/index.js +36 -12
- package/dist/lib.esm/base/utils.js +10 -7
- package/dist/lib.esm/base/wallet/index.js +2 -1
- package/dist/lib.esm/base/wallet/solana.js +81 -0
- package/dist/lib.esm/connectors/auth-connector/authConnector.js +143 -50
- package/dist/lib.esm/connectors/auth-connector/authSolanaWallet.js +175 -0
- package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +17 -39
- package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +29 -55
- package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +14 -11
- package/dist/lib.esm/connectors/injected-evm-connector/index.js +6 -1
- package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +14 -11
- package/dist/lib.esm/connectors/injected-solana-connector/index.js +3 -2
- package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +19 -31
- package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +335 -132
- package/dist/lib.esm/connectors/utils.js +9 -4
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +11 -30
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +1 -1
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +5 -1
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +70 -61
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +37 -45
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +130 -0
- package/dist/lib.esm/index.js +30 -38
- package/dist/lib.esm/noModal.js +225 -133
- package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +18 -37
- package/dist/lib.esm/providers/account-abstraction-provider/index.js +5 -1
- package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +9 -9
- package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +3 -3
- package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +48 -45
- package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +2 -4
- package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +9 -12
- package/dist/lib.esm/providers/base-provider/index.js +6 -2
- package/dist/lib.esm/providers/base-provider/jrpcClient.js +20 -19
- package/dist/lib.esm/providers/base-provider/utils.js +1 -3
- package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +23 -36
- package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +20 -19
- package/dist/lib.esm/providers/ethereum-provider/rpc/walletMiddleware.js +201 -0
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +6 -17
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
- package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +21 -25
- package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +48 -38
- package/dist/lib.esm/react/context/WalletServicesInnerContext.js +3 -57
- package/dist/lib.esm/react/context/Web3AuthInnerContext.js +7 -152
- package/dist/lib.esm/react/context/useWalletServicesContextValue.js +59 -0
- package/dist/lib.esm/react/context/useWeb3AuthInnerContextValue.js +188 -0
- package/dist/lib.esm/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
- package/dist/lib.esm/react/hooks/useWalletServicesPlugin.js +3 -10
- package/dist/lib.esm/react/hooks/useWeb3Auth.js +1 -22
- package/dist/lib.esm/react/index.js +5 -1
- package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +6 -4
- package/dist/lib.esm/react/solana/hooks/useSignMessage.js +4 -2
- package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +6 -3
- package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +33 -28
- package/dist/lib.esm/react/solana/index.js +1 -0
- package/dist/lib.esm/react/solana/provider.js +150 -0
- package/dist/lib.esm/react/wagmi/provider.js +7 -7
- package/dist/lib.esm/vue/WalletServicesInnerProvider.js +4 -54
- package/dist/lib.esm/vue/Web3AuthProvider.js +7 -179
- package/dist/lib.esm/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +6 -6
- package/dist/lib.esm/vue/composables/useInjectedWeb3AuthInnerContext.js +11 -0
- package/dist/lib.esm/vue/composables/useWeb3Auth.js +1 -26
- package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +2 -6
- package/dist/lib.esm/vue/index.js +5 -2
- package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +2 -1
- package/dist/lib.esm/vue/solana/composables/useSignMessage.js +2 -1
- package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +3 -2
- package/dist/lib.esm/vue/solana/composables/useSolanaClient.js +12 -0
- package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +53 -35
- package/dist/lib.esm/vue/solana/constants.js +3 -0
- package/dist/lib.esm/vue/solana/index.js +3 -0
- package/dist/lib.esm/vue/solana/provider.js +95 -0
- package/dist/lib.esm/vue/useWalletServicesInnerContextValue.js +58 -0
- package/dist/lib.esm/vue/useWeb3AuthInnerContextValue.js +204 -0
- package/dist/lib.esm/vue/wagmi/provider.js +9 -7
- package/dist/lib.esm/x402/index.js +170 -0
- package/dist/lib.esm/x402/interfaces.js +3 -0
- package/dist/lib.esm/x402/react.js +59 -0
- package/dist/lib.esm/x402/vue.js +54 -0
- package/package.json +78 -53
- package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +0 -7
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -223
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -177
- package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -21
- package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +0 -88
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -27
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -383
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -93
- package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +0 -29
- package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +0 -171
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -65
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -45
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/utils.js +0 -16
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -103
- package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +0 -47
- package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -97
- package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +0 -91
- package/dist/lib.cjs/types/connectors/injected-solana-connector/utils.d.ts +0 -3
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +0 -74
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +0 -12
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +0 -3
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +0 -15
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/converter.d.ts +0 -14
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +0 -16
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +0 -28
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +0 -4
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +0 -46
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -11
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/utils.d.ts +0 -5
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +0 -3
- package/dist/lib.cjs/types/providers/solana-provider/index.d.ts +0 -4
- package/dist/lib.cjs/types/providers/solana-provider/interface.d.ts +0 -22
- package/dist/lib.cjs/types/providers/solana-provider/providers/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +0 -16
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +0 -3
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/index.d.ts +0 -2
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +0 -3
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +0 -9
- package/dist/lib.cjs/types/providers/solana-provider/rpc/JrpcClient.d.ts +0 -9
- package/dist/lib.cjs/types/providers/solana-provider/rpc/index.d.ts +0 -3
- package/dist/lib.cjs/types/providers/solana-provider/rpc/interfaces.d.ts +0 -27
- package/dist/lib.cjs/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +0 -20
- package/dist/lib.cjs/types/providers/solana-provider/solanaWallet.d.ts +0 -29
- package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +0 -1
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -206
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -163
- package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -20
- package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +0 -85
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -21
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -378
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -88
- package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +0 -24
- package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +0 -177
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -47
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -43
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/utils.js +0 -14
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -91
- package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +0 -42
- package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -89
- package/dist/lib.esm/providers/solana-provider/solanaWallet.js +0 -92
- package/dist/noModal.umd.min.js +0 -2
- package/dist/noModal.umd.min.js.LICENSE.txt +0 -50
package/dist/lib.cjs/noModal.js
CHANGED
|
@@ -4,22 +4,23 @@ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProp
|
|
|
4
4
|
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
6
|
var baseControllers = require('@toruslabs/base-controllers');
|
|
7
|
+
var ethereumControllers = require('@toruslabs/ethereum-controllers');
|
|
7
8
|
var auth = require('@web3auth/auth');
|
|
8
9
|
var deepmerge = require('deepmerge');
|
|
9
10
|
var analytics = require('./base/analytics.js');
|
|
10
11
|
var IChainInterface = require('./base/chain/IChainInterface.js');
|
|
12
|
+
require('@toruslabs/session-manager');
|
|
11
13
|
var index = require('./base/errors/index.js');
|
|
14
|
+
var loglevel = require('./base/loglevel.js');
|
|
15
|
+
var utils = require('./base/utils.js');
|
|
12
16
|
var index$1 = require('./base/wallet/index.js');
|
|
13
17
|
var connectorStatus = require('./base/connector/connectorStatus.js');
|
|
14
18
|
var constants = require('./base/connector/constants.js');
|
|
15
19
|
var utils$1 = require('./base/connector/utils.js');
|
|
16
20
|
var constants$1 = require('./base/constants.js');
|
|
17
|
-
var
|
|
18
|
-
var loglevel = require('./base/loglevel.js');
|
|
21
|
+
var deserialize = require('./base/deserialize.js');
|
|
19
22
|
require('./base/plugin/errors.js');
|
|
20
23
|
var IPlugin = require('./base/plugin/IPlugin.js');
|
|
21
|
-
var utils = require('./base/utils.js');
|
|
22
|
-
var deserialize = require('./base/deserialize.js');
|
|
23
24
|
var authConnector = require('./connectors/auth-connector/authConnector.js');
|
|
24
25
|
var metamaskConnector = require('./connectors/metamask-connector/metamaskConnector.js');
|
|
25
26
|
var plugin = require('./plugins/wallet-services-plugin/plugin.js');
|
|
@@ -27,39 +28,45 @@ require('./providers/base-provider/utils.js');
|
|
|
27
28
|
var CommonJRPCProvider = require('./providers/base-provider/CommonJRPCProvider.js');
|
|
28
29
|
require('./providers/base-provider/commonPrivateKeyProvider.js');
|
|
29
30
|
|
|
30
|
-
const _excluded = ["walletScope"];
|
|
31
|
+
const _excluded = ["walletScope", "eipStandard"];
|
|
31
32
|
class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
32
33
|
constructor(options, initialState) {
|
|
33
34
|
super();
|
|
34
35
|
_defineProperty(this, "coreOptions", void 0);
|
|
35
36
|
_defineProperty(this, "status", constants.CONNECTOR_STATUS.NOT_READY);
|
|
37
|
+
_defineProperty(this, "loginMode", constants$1.LOGIN_MODE.NO_MODAL);
|
|
36
38
|
_defineProperty(this, "aaProvider", null);
|
|
37
39
|
_defineProperty(this, "connectors", []);
|
|
38
40
|
_defineProperty(this, "commonJRPCProvider", null);
|
|
39
41
|
_defineProperty(this, "analytics", void 0);
|
|
40
42
|
_defineProperty(this, "plugins", {});
|
|
43
|
+
_defineProperty(this, "consentRequired", false);
|
|
41
44
|
_defineProperty(this, "storage", void 0);
|
|
45
|
+
_defineProperty(this, "currentConnection", null);
|
|
46
|
+
_defineProperty(this, "currentConnectionReconnected", false);
|
|
42
47
|
_defineProperty(this, "state", {
|
|
43
48
|
connectedConnectorName: null,
|
|
44
49
|
cachedConnector: null,
|
|
45
50
|
currentChainId: null,
|
|
46
|
-
idToken: null
|
|
51
|
+
idToken: null,
|
|
52
|
+
accessToken: null,
|
|
53
|
+
refreshToken: null
|
|
47
54
|
});
|
|
48
|
-
_defineProperty(this, "loginMode", constants$1.LOGIN_MODE.NO_MODAL);
|
|
49
55
|
if (!options.clientId) throw index.WalletInitializationError.invalidParams("Please provide a valid clientId in constructor");
|
|
50
56
|
if (options.enableLogging) loglevel.log.enableAll();else loglevel.log.setLevel("error");
|
|
51
|
-
if (!options.
|
|
57
|
+
if (!options.initialAuthenticationMode) options.initialAuthenticationMode = constants.CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN;
|
|
52
58
|
this.coreOptions = options;
|
|
53
59
|
this.storage = this.getStorageMethod();
|
|
54
60
|
this.analytics = new analytics.Analytics();
|
|
55
61
|
this.analytics.setGlobalProperties({
|
|
56
62
|
integration_type: analytics.ANALYTICS_INTEGRATION_TYPE.NATIVE_SDK
|
|
57
63
|
});
|
|
58
|
-
this.loadState(initialState)
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
64
|
+
this.loadState(initialState).then(() => {
|
|
65
|
+
if (this.state.idToken && this.coreOptions.ssr && !this.consentRequired) {
|
|
66
|
+
this.status = this.coreOptions.initialAuthenticationMode === constants.CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN ? constants.CONNECTOR_STATUS.AUTHORIZED : constants.CONNECTOR_STATUS.CONNECTED;
|
|
67
|
+
}
|
|
68
|
+
return undefined;
|
|
69
|
+
}).catch(() => {});
|
|
63
70
|
}
|
|
64
71
|
get currentChain() {
|
|
65
72
|
var _this$coreOptions$cha;
|
|
@@ -69,11 +76,8 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
69
76
|
get connected() {
|
|
70
77
|
return Boolean(this.connectedConnector);
|
|
71
78
|
}
|
|
72
|
-
get
|
|
73
|
-
|
|
74
|
-
return this.commonJRPCProvider;
|
|
75
|
-
}
|
|
76
|
-
return null;
|
|
79
|
+
get connection() {
|
|
80
|
+
return this.currentConnection;
|
|
77
81
|
}
|
|
78
82
|
get connectedConnectorName() {
|
|
79
83
|
return this.state.connectedConnectorName;
|
|
@@ -138,7 +142,7 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
138
142
|
// init config
|
|
139
143
|
this.initAccountAbstractionConfig(projectConfig);
|
|
140
144
|
this.initChainsConfig(projectConfig);
|
|
141
|
-
this.initCachedConnectorAndChainId();
|
|
145
|
+
await this.initCachedConnectorAndChainId();
|
|
142
146
|
this.initUIConfig(projectConfig);
|
|
143
147
|
this.initWalletServicesConfig(projectConfig);
|
|
144
148
|
this.initSessionTimeConfig(projectConfig);
|
|
@@ -200,12 +204,15 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
200
204
|
return true;
|
|
201
205
|
}) || null;
|
|
202
206
|
}
|
|
203
|
-
clearCache() {
|
|
204
|
-
this.setState({
|
|
207
|
+
async clearCache() {
|
|
208
|
+
await this.setState({
|
|
205
209
|
connectedConnectorName: null,
|
|
206
210
|
cachedConnector: null,
|
|
207
211
|
currentChainId: null,
|
|
208
|
-
idToken: null
|
|
212
|
+
idToken: null,
|
|
213
|
+
accessToken: null,
|
|
214
|
+
refreshToken: null,
|
|
215
|
+
hasUserConsent: undefined
|
|
209
216
|
});
|
|
210
217
|
}
|
|
211
218
|
async cleanup() {
|
|
@@ -219,6 +226,12 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
219
226
|
const newChainConfig = this.coreOptions.chains.find(x => x.chainId === params.chainId);
|
|
220
227
|
if (!newChainConfig) throw index.WalletInitializationError.invalidParams("Invalid chainId");
|
|
221
228
|
if (connectorStatus.CONNECTED_STATUSES.includes(this.status) && this.connectedConnector) {
|
|
229
|
+
var _this$currentChain3;
|
|
230
|
+
// Single-namespace connectors cannot cross namespace boundaries — MULTICHAIN connectors
|
|
231
|
+
// (Auth, WC) enforce their own switchChain policy internally.
|
|
232
|
+
if (this.connectedConnector.connectorNamespace !== IChainInterface.CONNECTOR_NAMESPACES.MULTICHAIN && ((_this$currentChain3 = this.currentChain) === null || _this$currentChain3 === void 0 ? void 0 : _this$currentChain3.chainNamespace) !== newChainConfig.chainNamespace) {
|
|
233
|
+
throw index.WalletLoginError.connectionError(`Cannot switch between chain namespaces with ${this.connectedConnector.name}. Disconnect and reconnect with the target chain.`);
|
|
234
|
+
}
|
|
222
235
|
await this.connectedConnector.switchChain(params);
|
|
223
236
|
return;
|
|
224
237
|
}
|
|
@@ -239,7 +252,7 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
239
252
|
const initialChain = this.getInitialChainIdForConnector(connector);
|
|
240
253
|
const finalLoginParams = _objectSpread(_objectSpread({}, loginParams), {}, {
|
|
241
254
|
chainId: initialChain.chainId,
|
|
242
|
-
|
|
255
|
+
getAuthTokenInfo: this.coreOptions.initialAuthenticationMode === constants.CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN
|
|
243
256
|
});
|
|
244
257
|
// track connection started event
|
|
245
258
|
const startTime = Date.now();
|
|
@@ -293,15 +306,12 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
293
306
|
};
|
|
294
307
|
const checkCompletion = async () => {
|
|
295
308
|
// In CONNECT_AND_SIGN mode, wait for both connected event and authorized event
|
|
296
|
-
if (finalLoginParams.
|
|
309
|
+
if (finalLoginParams.getAuthTokenInfo) {
|
|
297
310
|
if (connectedEventCompleted && authorizedEventReceived) {
|
|
298
311
|
await completeConnection();
|
|
299
312
|
}
|
|
300
|
-
} else {
|
|
301
|
-
|
|
302
|
-
if (connectedEventCompleted) {
|
|
303
|
-
await completeConnection();
|
|
304
|
-
}
|
|
313
|
+
} else if (connectedEventCompleted) {
|
|
314
|
+
await completeConnection();
|
|
305
315
|
}
|
|
306
316
|
};
|
|
307
317
|
const completeConnection = async () => {
|
|
@@ -313,7 +323,7 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
313
323
|
duration: Date.now() - startTime
|
|
314
324
|
}));
|
|
315
325
|
cleanup();
|
|
316
|
-
resolve(this.
|
|
326
|
+
resolve(this.connection);
|
|
317
327
|
} catch (error) {
|
|
318
328
|
cleanup();
|
|
319
329
|
reject(error);
|
|
@@ -336,7 +346,7 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
336
346
|
reject(err);
|
|
337
347
|
};
|
|
338
348
|
this.once(constants.CONNECTOR_EVENTS.CONNECTED, onConnected);
|
|
339
|
-
if (finalLoginParams.
|
|
349
|
+
if (finalLoginParams.getAuthTokenInfo) {
|
|
340
350
|
this.once(constants.CONNECTOR_EVENTS.AUTHORIZED, onAuthorized);
|
|
341
351
|
}
|
|
342
352
|
this.once(constants.CONNECTOR_EVENTS.ERRORED, onErrored);
|
|
@@ -347,7 +357,7 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
347
357
|
async logout(options = {
|
|
348
358
|
cleanup: false
|
|
349
359
|
}) {
|
|
350
|
-
if (!connectorStatus.
|
|
360
|
+
if (!connectorStatus.CAN_LOGOUT_STATUSES.includes(this.status) || !this.connectedConnector) throw index.WalletLoginError.notConnectedError(`No wallet is connected`);
|
|
351
361
|
if (this.connectedConnector.status === constants.CONNECTOR_STATUS.DISCONNECTING) return;
|
|
352
362
|
await this.connectedConnector.disconnect(options);
|
|
353
363
|
}
|
|
@@ -391,16 +401,18 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
391
401
|
throw error;
|
|
392
402
|
}
|
|
393
403
|
}
|
|
394
|
-
async
|
|
404
|
+
async getAuthTokenInfo() {
|
|
395
405
|
if (!connectorStatus.CAN_AUTHORIZE_STATUSES.includes(this.status) || !this.connectedConnector) throw index.WalletLoginError.notConnectedError(`No wallet is connected`);
|
|
396
406
|
const trackData = {
|
|
397
407
|
connector: this.connectedConnector.name
|
|
398
408
|
};
|
|
399
409
|
try {
|
|
400
410
|
this.analytics.track(analytics.ANALYTICS_EVENTS.IDENTITY_TOKEN_STARTED, trackData);
|
|
401
|
-
const
|
|
411
|
+
const authTokenInfo = await this.connectedConnector.getAuthTokenInfo();
|
|
402
412
|
this.analytics.track(analytics.ANALYTICS_EVENTS.IDENTITY_TOKEN_COMPLETED, trackData);
|
|
403
|
-
return
|
|
413
|
+
return {
|
|
414
|
+
idToken: authTokenInfo.idToken
|
|
415
|
+
};
|
|
404
416
|
} catch (error) {
|
|
405
417
|
this.analytics.track(analytics.ANALYTICS_EVENTS.IDENTITY_TOKEN_FAILED, _objectSpread(_objectSpread({}, trackData), utils.getErrorAnalyticsProperties(error)));
|
|
406
418
|
throw error;
|
|
@@ -413,6 +425,7 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
413
425
|
this.analytics.setGlobalProperties(properties);
|
|
414
426
|
}
|
|
415
427
|
initChainsConfig(projectConfig) {
|
|
428
|
+
var _this$coreOptions$acc2;
|
|
416
429
|
// merge chains from project config with core options, core options chains will take precedence over project config chains
|
|
417
430
|
const chainMap = new Map();
|
|
418
431
|
const allChains = [...(projectConfig.chains || []), ...(this.coreOptions.chains || [])];
|
|
@@ -446,8 +459,9 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
446
459
|
}
|
|
447
460
|
}
|
|
448
461
|
}
|
|
449
|
-
// if AA is enabled, filter out chains that are not AA-supported
|
|
450
|
-
|
|
462
|
+
// if AA is enabled and smart account is not 7702, filter out chains that are not AA-supported
|
|
463
|
+
const is7702SmartAccount = ((_this$coreOptions$acc2 = this.coreOptions.accountAbstractionConfig) === null || _this$coreOptions$acc2 === void 0 ? void 0 : _this$coreOptions$acc2.smartAccountEipStandard) === ethereumControllers.SMART_ACCOUNT_EIP_STANDARD.EIP_7702;
|
|
464
|
+
if (this.coreOptions.accountAbstractionConfig && !is7702SmartAccount) {
|
|
451
465
|
// write a for loop over accountAbstractionConfig.chains and check if the chainId is valid
|
|
452
466
|
if (this.coreOptions.accountAbstractionConfig.chains.length === 0) {
|
|
453
467
|
loglevel.log.error("Please configure chains for smart accounts on dashboard at https://dashboard.web3auth.io");
|
|
@@ -485,24 +499,36 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
485
499
|
}
|
|
486
500
|
}
|
|
487
501
|
initAccountAbstractionConfig(projectConfig) {
|
|
488
|
-
var _this$coreOptions$
|
|
502
|
+
var _this$coreOptions$acc3;
|
|
489
503
|
const isAAEnabled = Boolean(this.coreOptions.accountAbstractionConfig || (projectConfig === null || projectConfig === void 0 ? void 0 : projectConfig.smartAccounts));
|
|
490
504
|
if (!isAAEnabled) return;
|
|
491
505
|
// merge smart account config from project config with core options, core options will take precedence over project config
|
|
492
506
|
const _ref = (projectConfig === null || projectConfig === void 0 ? void 0 : projectConfig.smartAccounts) || {},
|
|
493
507
|
{
|
|
494
|
-
walletScope
|
|
508
|
+
walletScope,
|
|
509
|
+
eipStandard
|
|
495
510
|
} = _ref,
|
|
496
511
|
configWithoutWalletScope = _objectWithoutProperties(_ref, _excluded);
|
|
497
512
|
const aaChainMap = new Map();
|
|
498
|
-
const allAaChains = [...((configWithoutWalletScope === null || configWithoutWalletScope === void 0 ? void 0 : configWithoutWalletScope.chains) || []), ...(((_this$coreOptions$
|
|
513
|
+
const allAaChains = [...((configWithoutWalletScope === null || configWithoutWalletScope === void 0 ? void 0 : configWithoutWalletScope.chains) || []), ...(((_this$coreOptions$acc3 = this.coreOptions.accountAbstractionConfig) === null || _this$coreOptions$acc3 === void 0 ? void 0 : _this$coreOptions$acc3.chains) || [])];
|
|
499
514
|
for (const chain of allAaChains) {
|
|
500
515
|
const existingChain = aaChainMap.get(chain.chainId);
|
|
501
516
|
if (!existingChain) aaChainMap.set(chain.chainId, chain);else aaChainMap.set(chain.chainId, _objectSpread(_objectSpread({}, existingChain), chain));
|
|
502
517
|
}
|
|
503
|
-
this.coreOptions.accountAbstractionConfig = _objectSpread(_objectSpread({
|
|
518
|
+
this.coreOptions.accountAbstractionConfig = _objectSpread(_objectSpread({
|
|
519
|
+
smartAccountEipStandard: eipStandard
|
|
520
|
+
}, deepmerge(configWithoutWalletScope || {}, this.coreOptions.accountAbstractionConfig || {})), {}, {
|
|
504
521
|
chains: Array.from(aaChainMap.values())
|
|
505
522
|
});
|
|
523
|
+
// if eipStandard is 7702, validate smart account type
|
|
524
|
+
const {
|
|
525
|
+
smartAccountEipStandard,
|
|
526
|
+
smartAccountType
|
|
527
|
+
} = this.coreOptions.accountAbstractionConfig;
|
|
528
|
+
const is7702SmartAccount = smartAccountEipStandard === ethereumControllers.SMART_ACCOUNT_EIP_STANDARD.EIP_7702;
|
|
529
|
+
if (is7702SmartAccount && smartAccountType && !ethereumControllers.EIP7702_SUPPORTED_SMART_ACCOUNT_TYPES.includes(smartAccountType)) {
|
|
530
|
+
throw index.WalletInitializationError.invalidParams(`Smart account type "${smartAccountType}" does not support EIP-7702. Supported: ${ethereumControllers.EIP7702_SUPPORTED_SMART_ACCOUNT_TYPES.join(", ")}`);
|
|
531
|
+
}
|
|
506
532
|
// determine if we should use AA with external wallet
|
|
507
533
|
if (this.coreOptions.useAAWithExternalWallet === undefined) {
|
|
508
534
|
this.coreOptions.useAAWithExternalWallet = walletScope === constants$1.SMART_ACCOUNT_WALLET_SCOPE.ALL;
|
|
@@ -518,13 +544,13 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
518
544
|
if (this.coreOptions.sessionTime) return;
|
|
519
545
|
if (projectConfig.sessionTime) this.coreOptions.sessionTime = projectConfig.sessionTime;
|
|
520
546
|
}
|
|
521
|
-
initCachedConnectorAndChainId() {
|
|
547
|
+
async initCachedConnectorAndChainId() {
|
|
522
548
|
// init chainId using cached chainId if it exists and is valid, otherwise use the defaultChainId or the first chain
|
|
523
549
|
const cachedChainId = this.state.currentChainId;
|
|
524
550
|
const isCachedChainIdValid = cachedChainId && this.coreOptions.chains.some(chain => chain.chainId === cachedChainId);
|
|
525
551
|
if (this.coreOptions.defaultChainId && !utils.isHexStrict(this.coreOptions.defaultChainId)) throw index.WalletInitializationError.invalidParams("Please provide a valid defaultChainId in constructor");
|
|
526
552
|
const currentChainId = isCachedChainIdValid ? cachedChainId : this.coreOptions.defaultChainId || this.coreOptions.chains[0].chainId;
|
|
527
|
-
this.setState({
|
|
553
|
+
await this.setState({
|
|
528
554
|
currentChainId
|
|
529
555
|
});
|
|
530
556
|
}
|
|
@@ -584,7 +610,7 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
584
610
|
default_chain_id: defaultChain ? utils.getCaipChainId(defaultChain) : undefined,
|
|
585
611
|
default_chain_name: defaultChain === null || defaultChain === void 0 ? void 0 : defaultChain.displayName,
|
|
586
612
|
logging_enabled: this.coreOptions.enableLogging,
|
|
587
|
-
|
|
613
|
+
custom_storage: Boolean(this.coreOptions.storage),
|
|
588
614
|
session_time: this.coreOptions.sessionTime,
|
|
589
615
|
sfa_key_enabled: this.coreOptions.useSFAKey,
|
|
590
616
|
mipd_enabled: this.coreOptions.multiInjectedProviderDiscovery,
|
|
@@ -607,7 +633,7 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
607
633
|
chains: this.coreOptions.chains
|
|
608
634
|
});
|
|
609
635
|
// sync chainId
|
|
610
|
-
this.commonJRPCProvider.on("chainChanged", chainId => this.setCurrentChain(chainId));
|
|
636
|
+
this.commonJRPCProvider.on("chainChanged", async chainId => this.setCurrentChain(chainId));
|
|
611
637
|
}
|
|
612
638
|
async setupConnector(connector) {
|
|
613
639
|
this.subscribeToConnectorEvents(connector);
|
|
@@ -617,7 +643,7 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
617
643
|
await connector.init({
|
|
618
644
|
autoConnect,
|
|
619
645
|
chainId: initialChain.chainId,
|
|
620
|
-
|
|
646
|
+
getAuthTokenInfo: this.coreOptions.initialAuthenticationMode === constants.CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN
|
|
621
647
|
});
|
|
622
648
|
} catch (e) {
|
|
623
649
|
loglevel.log.error(e, connector.name);
|
|
@@ -643,7 +669,9 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
643
669
|
if (utils.isBrowser() && chainNamespaces.has(baseControllers.CHAIN_NAMESPACES.EIP155)) {
|
|
644
670
|
// only set headless to true if modal SDK is used, otherwise just use the modal from native Metamask SDK
|
|
645
671
|
connectorFns.push(metamaskConnector.metaMaskConnector(modalMode ? {
|
|
646
|
-
|
|
672
|
+
ui: {
|
|
673
|
+
headless: true
|
|
674
|
+
}
|
|
647
675
|
} : undefined));
|
|
648
676
|
}
|
|
649
677
|
if (isMipdEnabled && utils.isBrowser()) {
|
|
@@ -721,79 +749,101 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
721
749
|
}
|
|
722
750
|
subscribeToConnectorEvents(connector) {
|
|
723
751
|
connector.on(constants.CONNECTOR_EVENTS.CONNECTED, async data => {
|
|
724
|
-
var _this$currentChain3, _accountAbstractionCo;
|
|
725
752
|
if (!this.commonJRPCProvider) throw index.WalletInitializationError.notFound(`CommonJrpcProvider not found`);
|
|
726
753
|
const {
|
|
727
|
-
|
|
728
|
-
|
|
754
|
+
ethereumProvider,
|
|
755
|
+
solanaWallet
|
|
729
756
|
} = data;
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
757
|
+
const isSolanaOnly = connector.connectorNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA;
|
|
758
|
+
// Set connection and consent status SYNCHRONOUSLY before any await so the
|
|
759
|
+
// AUTHORIZED handler (which may fire during async work below) can detect the
|
|
760
|
+
// consent-required state. Create a deferred promise the AUTHORIZED handler
|
|
761
|
+
// will await to ensure consent userId + pre-approval are resolved first.
|
|
762
|
+
this.currentConnection = {
|
|
763
|
+
ethereumProvider: isSolanaOnly ? null : ethereumProvider ? this.commonJRPCProvider : null,
|
|
764
|
+
solanaWallet: solanaWallet !== null && solanaWallet !== void 0 ? solanaWallet : null,
|
|
765
|
+
connectorName: data.connectorName
|
|
766
|
+
};
|
|
767
|
+
this.currentConnectionReconnected = data.reconnected;
|
|
735
768
|
// when ssr is enabled, we need to get the idToken from the connector.
|
|
736
769
|
if (this.coreOptions.ssr) {
|
|
737
770
|
try {
|
|
738
|
-
|
|
771
|
+
var _data$accessToken, _data$refreshToken;
|
|
772
|
+
const data = await connector.getAuthTokenInfo();
|
|
739
773
|
if (!data.idToken) throw index.WalletLoginError.connectionError("No idToken found");
|
|
740
|
-
this.setState({
|
|
741
|
-
idToken: data.idToken
|
|
774
|
+
await this.setState({
|
|
775
|
+
idToken: data.idToken,
|
|
776
|
+
accessToken: (_data$accessToken = data.accessToken) !== null && _data$accessToken !== void 0 ? _data$accessToken : null,
|
|
777
|
+
refreshToken: (_data$refreshToken = data.refreshToken) !== null && _data$refreshToken !== void 0 ? _data$refreshToken : null
|
|
742
778
|
});
|
|
743
779
|
} catch (error) {
|
|
744
780
|
loglevel.log.error(error);
|
|
781
|
+
this.currentConnection = null;
|
|
745
782
|
this.status = constants.CONNECTOR_STATUS.ERRORED;
|
|
746
783
|
this.emit(constants.CONNECTOR_EVENTS.ERRORED, error, this.loginMode);
|
|
747
784
|
return;
|
|
748
785
|
}
|
|
749
786
|
}
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
} = this.coreOptions;
|
|
755
|
-
const isAaSupportedForCurrentChain = ((_this$currentChain3 = this.currentChain) === null || _this$currentChain3 === void 0 ? void 0 : _this$currentChain3.chainNamespace) === baseControllers.CHAIN_NAMESPACES.EIP155 && (accountAbstractionConfig === null || accountAbstractionConfig === void 0 || (_accountAbstractionCo = accountAbstractionConfig.chains) === null || _accountAbstractionCo === void 0 ? void 0 : _accountAbstractionCo.some(chain => {
|
|
756
|
-
var _this$currentChain4;
|
|
757
|
-
return chain.chainId === ((_this$currentChain4 = this.currentChain) === null || _this$currentChain4 === void 0 ? void 0 : _this$currentChain4.chainId);
|
|
758
|
-
}));
|
|
759
|
-
if (isAaSupportedForCurrentChain && (data.connector === index$1.WALLET_CONNECTORS.AUTH || this.coreOptions.useAAWithExternalWallet)) {
|
|
760
|
-
var _accountAbstractionCo2;
|
|
787
|
+
// setup AA provider if AA is enabled (skip for EIP-7702; 7702 uses EOA + 5792/7702 RPC only)
|
|
788
|
+
if (ethereumProvider) {
|
|
789
|
+
var _this$currentChain4, _accountAbstractionCo;
|
|
790
|
+
let finalProvider = (ethereumProvider === null || ethereumProvider === void 0 ? void 0 : ethereumProvider.provider) || ethereumProvider;
|
|
761
791
|
const {
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
792
|
+
accountAbstractionConfig
|
|
793
|
+
} = this.coreOptions;
|
|
794
|
+
const is7702 = (accountAbstractionConfig === null || accountAbstractionConfig === void 0 ? void 0 : accountAbstractionConfig.smartAccountEipStandard) === ethereumControllers.SMART_ACCOUNT_EIP_STANDARD["EIP_7702"];
|
|
795
|
+
const isAaSupportedForCurrentChain = ((_this$currentChain4 = this.currentChain) === null || _this$currentChain4 === void 0 ? void 0 : _this$currentChain4.chainNamespace) === baseControllers.CHAIN_NAMESPACES.EIP155 && (accountAbstractionConfig === null || accountAbstractionConfig === void 0 || (_accountAbstractionCo = accountAbstractionConfig.chains) === null || _accountAbstractionCo === void 0 ? void 0 : _accountAbstractionCo.some(chain => {
|
|
796
|
+
var _this$currentChain5;
|
|
797
|
+
return chain.chainId === ((_this$currentChain5 = this.currentChain) === null || _this$currentChain5 === void 0 ? void 0 : _this$currentChain5.chainId);
|
|
798
|
+
}));
|
|
799
|
+
if (!is7702 && isAaSupportedForCurrentChain && (data.connectorName === index$1.WALLET_CONNECTORS.AUTH || this.coreOptions.useAAWithExternalWallet)) {
|
|
800
|
+
var _accountAbstractionCo2;
|
|
801
|
+
const {
|
|
802
|
+
accountAbstractionProvider,
|
|
803
|
+
toEoaProvider
|
|
804
|
+
} = await Promise.resolve().then(function () { return require('./providers/account-abstraction-provider/index.js'); });
|
|
805
|
+
// for embedded wallets, we use ws-embed provider which is AA provider, need to derive EOA provider
|
|
806
|
+
const eoaProvider = data.connectorName === index$1.WALLET_CONNECTORS.AUTH ? await toEoaProvider(ethereumProvider) : ethereumProvider;
|
|
807
|
+
const aaChainIds = new Set((accountAbstractionConfig === null || accountAbstractionConfig === void 0 || (_accountAbstractionCo2 = accountAbstractionConfig.chains) === null || _accountAbstractionCo2 === void 0 ? void 0 : _accountAbstractionCo2.map(chain => chain.chainId)) || []);
|
|
808
|
+
const aaProvider = await accountAbstractionProvider({
|
|
809
|
+
accountAbstractionConfig,
|
|
810
|
+
provider: eoaProvider,
|
|
811
|
+
chain: this.currentChain,
|
|
812
|
+
chains: this.coreOptions.chains.filter(chain => aaChainIds.has(chain.chainId)),
|
|
813
|
+
useProviderAsTransport: data.connectorName === index$1.WALLET_CONNECTORS.AUTH
|
|
814
|
+
});
|
|
815
|
+
this.aaProvider = aaProvider;
|
|
816
|
+
// if external wallet is used and AA is enabled for external wallets, use AA provider
|
|
817
|
+
// for embedded wallets, we use ws-embed provider which already supports AA
|
|
818
|
+
if (data.connectorName !== index$1.WALLET_CONNECTORS.AUTH && this.coreOptions.useAAWithExternalWallet) {
|
|
819
|
+
finalProvider = this.aaProvider;
|
|
820
|
+
}
|
|
780
821
|
}
|
|
822
|
+
this.commonJRPCProvider.updateProviderEngineProxy(finalProvider);
|
|
781
823
|
}
|
|
782
|
-
this.
|
|
783
|
-
|
|
784
|
-
connectedConnectorName: data.connector
|
|
824
|
+
await this.setState({
|
|
825
|
+
connectedConnectorName: data.connectorName
|
|
785
826
|
});
|
|
786
|
-
this.cacheWallet(data.
|
|
787
|
-
this.
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
827
|
+
this.cacheWallet(data.connectorName);
|
|
828
|
+
const isConnectAndSign = this.coreOptions.initialAuthenticationMode === constants.CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN;
|
|
829
|
+
if (this.consentRequired && !isConnectAndSign && !this.state.hasUserConsent) {
|
|
830
|
+
this.status = constants.CONNECTOR_STATUS.CONSENT_REQUIRING;
|
|
831
|
+
this.emit(constants.CONNECTOR_EVENTS.CONSENT_REQUIRING);
|
|
832
|
+
loglevel.log.debug("consent_requiring", this.status, this.connectedConnectorName);
|
|
833
|
+
} else {
|
|
834
|
+
this.status = constants.CONNECTOR_STATUS.CONNECTED;
|
|
835
|
+
loglevel.log.debug("connected", this.status, this.connectedConnectorName);
|
|
836
|
+
this.connectToPlugins(_objectSpread(_objectSpread({}, data), {}, {
|
|
837
|
+
connector: data.connectorName
|
|
838
|
+
}));
|
|
839
|
+
this.emit(constants.CONNECTOR_EVENTS.CONNECTED, _objectSpread(_objectSpread({}, data), {}, {
|
|
840
|
+
loginMode: this.loginMode
|
|
841
|
+
}));
|
|
842
|
+
}
|
|
795
843
|
});
|
|
796
844
|
connector.on(constants.CONNECTOR_EVENTS.DISCONNECTED, async () => {
|
|
845
|
+
this.currentConnection = null;
|
|
846
|
+
this.currentConnectionReconnected = false;
|
|
797
847
|
// re-setup commonJRPCProvider
|
|
798
848
|
this.commonJRPCProvider.removeAllListeners();
|
|
799
849
|
this.setupCommonJRPCProvider();
|
|
@@ -801,7 +851,7 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
801
851
|
this.status = constants.CONNECTOR_STATUS.READY;
|
|
802
852
|
const cachedConnector = this.state.cachedConnector;
|
|
803
853
|
if (this.connectedConnectorName === cachedConnector) {
|
|
804
|
-
this.clearCache();
|
|
854
|
+
await this.clearCache();
|
|
805
855
|
}
|
|
806
856
|
loglevel.log.debug("disconnected", this.status, this.connectedConnectorName);
|
|
807
857
|
await Promise.all(Object.values(this.plugins).map(async plugin => {
|
|
@@ -816,8 +866,9 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
816
866
|
loglevel.log.error(error);
|
|
817
867
|
});
|
|
818
868
|
}));
|
|
819
|
-
this.setState({
|
|
820
|
-
connectedConnectorName: null
|
|
869
|
+
await this.setState({
|
|
870
|
+
connectedConnectorName: null,
|
|
871
|
+
hasUserConsent: undefined
|
|
821
872
|
});
|
|
822
873
|
this.emit(constants.CONNECTOR_EVENTS.DISCONNECTED);
|
|
823
874
|
});
|
|
@@ -826,24 +877,24 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
826
877
|
this.emit(constants.CONNECTOR_EVENTS.CONNECTING, data);
|
|
827
878
|
loglevel.log.debug("connecting", this.status, this.connectedConnectorName);
|
|
828
879
|
});
|
|
829
|
-
connector.on(constants.CONNECTOR_EVENTS.ERRORED, data => {
|
|
880
|
+
connector.on(constants.CONNECTOR_EVENTS.ERRORED, async data => {
|
|
830
881
|
this.status = constants.CONNECTOR_STATUS.ERRORED;
|
|
831
|
-
this.clearCache();
|
|
882
|
+
await this.clearCache();
|
|
832
883
|
this.emit(constants.CONNECTOR_EVENTS.ERRORED, data, this.loginMode);
|
|
833
884
|
loglevel.log.debug("errored", this.status, this.connectedConnectorName);
|
|
834
885
|
});
|
|
835
|
-
connector.on(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, error => {
|
|
886
|
+
connector.on(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, async error => {
|
|
836
887
|
this.status = constants.CONNECTOR_STATUS.READY;
|
|
837
|
-
this.clearCache();
|
|
888
|
+
await this.clearCache();
|
|
838
889
|
this.emit(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, error);
|
|
839
890
|
});
|
|
840
891
|
connector.on(constants.CONNECTOR_EVENTS.CONNECTOR_DATA_UPDATED, data => {
|
|
841
892
|
loglevel.log.debug("connector data updated", data);
|
|
842
893
|
this.emit(constants.CONNECTOR_EVENTS.CONNECTOR_DATA_UPDATED, data);
|
|
843
894
|
});
|
|
844
|
-
connector.on(constants.CONNECTOR_EVENTS.CACHE_CLEAR, data => {
|
|
895
|
+
connector.on(constants.CONNECTOR_EVENTS.CACHE_CLEAR, async data => {
|
|
845
896
|
loglevel.log.debug("connector cache clear", data);
|
|
846
|
-
this.clearCache();
|
|
897
|
+
await this.clearCache();
|
|
847
898
|
});
|
|
848
899
|
connector.on(constants.CONNECTOR_EVENTS.MFA_ENABLED, isMFAEnabled => {
|
|
849
900
|
var _authConnector$authIn4;
|
|
@@ -863,22 +914,32 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
863
914
|
this.emit(constants.CONNECTOR_EVENTS.AUTHORIZING, data);
|
|
864
915
|
loglevel.log.debug("authorizing", this.status, this.connectedConnectorName);
|
|
865
916
|
});
|
|
866
|
-
connector.on(constants.CONNECTOR_EVENTS.AUTHORIZED, data => {
|
|
867
|
-
|
|
868
|
-
this.setState({
|
|
869
|
-
idToken: data.
|
|
917
|
+
connector.on(constants.CONNECTOR_EVENTS.AUTHORIZED, async data => {
|
|
918
|
+
var _data$authTokenInfo$a, _data$authTokenInfo$r;
|
|
919
|
+
await this.setState({
|
|
920
|
+
idToken: data.authTokenInfo.idToken,
|
|
921
|
+
accessToken: (_data$authTokenInfo$a = data.authTokenInfo.accessToken) !== null && _data$authTokenInfo$a !== void 0 ? _data$authTokenInfo$a : null,
|
|
922
|
+
refreshToken: (_data$authTokenInfo$r = data.authTokenInfo.refreshToken) !== null && _data$authTokenInfo$r !== void 0 ? _data$authTokenInfo$r : null
|
|
870
923
|
});
|
|
871
|
-
|
|
872
|
-
|
|
924
|
+
// if the user has not consented yet, we will ask for consent
|
|
925
|
+
if (this.consentRequired && this.currentConnection && !this.state.hasUserConsent) {
|
|
926
|
+
this.status = constants.CONNECTOR_STATUS.CONSENT_REQUIRING;
|
|
927
|
+
this.emit(constants.CONNECTOR_EVENTS.CONSENT_REQUIRING);
|
|
928
|
+
loglevel.log.debug("consent_requiring", this.status, this.connectedConnectorName);
|
|
929
|
+
} else {
|
|
930
|
+
this.status = constants.CONNECTOR_STATUS.AUTHORIZED;
|
|
931
|
+
this.emit(constants.CONNECTOR_EVENTS.AUTHORIZED, data);
|
|
932
|
+
loglevel.log.debug("authorized", this.status, this.connectedConnectorName);
|
|
933
|
+
}
|
|
873
934
|
});
|
|
874
935
|
}
|
|
875
936
|
checkInitRequirements() {
|
|
876
937
|
if (this.status === constants.CONNECTOR_STATUS.READY) throw index.WalletInitializationError.notReady("Connector is already initialized");
|
|
877
938
|
}
|
|
878
939
|
checkIfAutoConnect(connector) {
|
|
879
|
-
var _this$
|
|
940
|
+
var _this$currentChain6;
|
|
880
941
|
let autoConnect = this.cachedConnector === connector.name;
|
|
881
|
-
if (autoConnect && (_this$
|
|
942
|
+
if (autoConnect && (_this$currentChain6 = this.currentChain) !== null && _this$currentChain6 !== void 0 && _this$currentChain6.chainNamespace) {
|
|
882
943
|
if (connector.connectorNamespace === IChainInterface.CONNECTOR_NAMESPACES.MULTICHAIN) autoConnect = true;else autoConnect = connector.connectorNamespace === this.currentChain.chainNamespace;
|
|
883
944
|
}
|
|
884
945
|
return autoConnect;
|
|
@@ -896,27 +957,56 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
896
957
|
}
|
|
897
958
|
return initialChain;
|
|
898
959
|
}
|
|
899
|
-
|
|
900
|
-
this.
|
|
960
|
+
async completeConsentAcceptance() {
|
|
961
|
+
const connection = this.currentConnection;
|
|
962
|
+
if (!connection) {
|
|
963
|
+
throw index.WalletLoginError.connectionError("Cannot accept consent: no active connection");
|
|
964
|
+
}
|
|
965
|
+
if (this.status !== constants.CONNECTOR_STATUS.CONSENT_REQUIRING) {
|
|
966
|
+
throw index.WalletLoginError.connectionError("Cannot accept consent: not in consent_requiring state");
|
|
967
|
+
}
|
|
968
|
+
await this.setState({
|
|
969
|
+
hasUserConsent: true
|
|
970
|
+
});
|
|
971
|
+
const isConnectAndSign = this.coreOptions.initialAuthenticationMode === constants.CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN;
|
|
972
|
+
if (isConnectAndSign && this.state.idToken) {
|
|
973
|
+
this.status = constants.CONNECTOR_STATUS.AUTHORIZED;
|
|
974
|
+
loglevel.log.debug("consent accepted, authorized", this.status, this.connectedConnectorName);
|
|
975
|
+
} else {
|
|
976
|
+
this.status = constants.CONNECTOR_STATUS.CONNECTED;
|
|
977
|
+
loglevel.log.debug("consent accepted, connected", this.status, this.connectedConnectorName);
|
|
978
|
+
}
|
|
979
|
+
// connect to wallet-service plugin
|
|
980
|
+
if (this.connectedConnectorName === index$1.WALLET_CONNECTORS.AUTH) {
|
|
981
|
+
this.connectToPlugins({
|
|
982
|
+
connector: this.connectedConnectorName
|
|
983
|
+
});
|
|
984
|
+
}
|
|
985
|
+
this.emit(constants.CONNECTOR_EVENTS.CONSENT_ACCEPTED, {
|
|
986
|
+
reconnected: this.currentConnectionReconnected
|
|
987
|
+
});
|
|
988
|
+
}
|
|
989
|
+
async cacheWallet(walletName) {
|
|
990
|
+
await this.setState({
|
|
901
991
|
cachedConnector: walletName
|
|
902
992
|
});
|
|
903
993
|
}
|
|
904
|
-
setCurrentChain(chainId) {
|
|
994
|
+
async setCurrentChain(chainId) {
|
|
905
995
|
if (chainId === this.currentChainId) return;
|
|
906
996
|
const newChain = this.coreOptions.chains.find(chain => chain.chainId === chainId);
|
|
907
997
|
if (!newChain) throw index.WalletInitializationError.invalidParams(`Invalid chainId: ${chainId}`);
|
|
908
|
-
this.setState({
|
|
998
|
+
await this.setState({
|
|
909
999
|
currentChainId: chainId
|
|
910
1000
|
});
|
|
911
1001
|
}
|
|
912
1002
|
connectToPlugins(data) {
|
|
913
1003
|
Object.values(this.plugins).map(async plugin => {
|
|
914
1004
|
try {
|
|
915
|
-
var _this$
|
|
1005
|
+
var _this$currentChain7;
|
|
916
1006
|
// skip if it's not compatible with the connector
|
|
917
1007
|
if (!plugin.SUPPORTED_CONNECTORS.includes(data.connector)) return;
|
|
918
1008
|
// skip if it's not compatible with the current chain
|
|
919
|
-
if (plugin.pluginNamespace !== IPlugin.PLUGIN_NAMESPACES.MULTICHAIN && plugin.pluginNamespace !== ((_this$
|
|
1009
|
+
if (plugin.pluginNamespace !== IPlugin.PLUGIN_NAMESPACES.MULTICHAIN && plugin.pluginNamespace !== ((_this$currentChain7 = this.currentChain) === null || _this$currentChain7 === void 0 ? void 0 : _this$currentChain7.chainNamespace)) return;
|
|
920
1010
|
// skip if it's already connected
|
|
921
1011
|
if (plugin.status === IPlugin.PLUGIN_STATUS.CONNECTED) return;
|
|
922
1012
|
await plugin.initWithWeb3Auth(this, this.coreOptions.uiConfig, this.analytics);
|
|
@@ -930,27 +1020,27 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
930
1020
|
}
|
|
931
1021
|
});
|
|
932
1022
|
}
|
|
933
|
-
setState(newState) {
|
|
1023
|
+
async setState(newState) {
|
|
934
1024
|
this.state = _objectSpread(_objectSpread({}, this.state), newState);
|
|
935
|
-
this.storage.
|
|
1025
|
+
await this.storage.set(constants$1.WEB3AUTH_STATE_STORAGE_KEY, JSON.stringify(this.state));
|
|
936
1026
|
}
|
|
937
|
-
loadState(initialState) {
|
|
1027
|
+
async loadState(initialState) {
|
|
938
1028
|
if (initialState) {
|
|
939
|
-
this.state = initialState;
|
|
1029
|
+
this.state = _objectSpread(_objectSpread({}, this.state), initialState);
|
|
940
1030
|
return;
|
|
941
1031
|
}
|
|
942
|
-
const state = this.storage.
|
|
1032
|
+
const state = await this.storage.get(constants$1.WEB3AUTH_STATE_STORAGE_KEY);
|
|
943
1033
|
if (!state) return;
|
|
944
1034
|
this.state = deserialize.deserialize(state);
|
|
945
1035
|
}
|
|
946
1036
|
getStorageMethod() {
|
|
947
|
-
|
|
948
|
-
|
|
1037
|
+
var _this$coreOptions$sto;
|
|
1038
|
+
if ((_this$coreOptions$sto = this.coreOptions.storage) !== null && _this$coreOptions$sto !== void 0 && _this$coreOptions$sto.sessionId) return this.coreOptions.storage.sessionId;
|
|
1039
|
+
if (this.coreOptions.ssr) return new auth.CookieStorage({
|
|
1040
|
+
maxAge: this.coreOptions.sessionTime
|
|
949
1041
|
});
|
|
950
|
-
if (
|
|
951
|
-
|
|
952
|
-
// If no storage is available, use a memory store.
|
|
953
|
-
return new auth.MemoryStore();
|
|
1042
|
+
if (utils$1.storageAvailable("localStorage")) return new auth.LocalStorageAdapter();
|
|
1043
|
+
return new auth.MemoryStorage();
|
|
954
1044
|
}
|
|
955
1045
|
}
|
|
956
1046
|
|