@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
|
@@ -1,46 +1,51 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { createSolanaRpc } from '@solana/kit';
|
|
2
|
+
import { SOLANA_METHOD_TYPES } from '@web3auth/ws-embed';
|
|
3
|
+
import { useMemo, useCallback } from 'react';
|
|
3
4
|
import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
|
|
4
|
-
import {
|
|
5
|
+
import { WALLET_CONNECTORS } from '../../../base/wallet/index.js';
|
|
5
6
|
import { useChain } from '../../hooks/useChain.js';
|
|
6
|
-
import {
|
|
7
|
+
import { useWeb3Auth } from '../../hooks/useWeb3Auth.js';
|
|
7
8
|
|
|
8
9
|
const useSolanaWallet = () => {
|
|
9
10
|
const {
|
|
10
|
-
|
|
11
|
+
connection,
|
|
11
12
|
web3Auth
|
|
12
13
|
} = useWeb3Auth();
|
|
13
14
|
const {
|
|
14
15
|
chainNamespace
|
|
15
16
|
} = useChain();
|
|
16
|
-
const [accounts, setAccounts] = useState(null);
|
|
17
17
|
const solanaWallet = useMemo(() => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return
|
|
25
|
-
}, [web3Auth, provider, chainNamespace]);
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
const init = async () => {
|
|
28
|
-
if (chainNamespace !== CHAIN_NAMESPACES.SOLANA) {
|
|
29
|
-
setAccounts(null);
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
if (!solanaWallet) return;
|
|
33
|
-
const accounts = await solanaWallet.getAccounts();
|
|
34
|
-
if ((accounts === null || accounts === void 0 ? void 0 : accounts.length) > 0) {
|
|
35
|
-
setAccounts(accounts);
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
if (solanaWallet) init();
|
|
18
|
+
var _connection$solanaWal;
|
|
19
|
+
return (_connection$solanaWal = connection === null || connection === void 0 ? void 0 : connection.solanaWallet) !== null && _connection$solanaWal !== void 0 ? _connection$solanaWal : null;
|
|
20
|
+
}, [connection]);
|
|
21
|
+
const accounts = useMemo(() => {
|
|
22
|
+
if (chainNamespace !== CHAIN_NAMESPACES.SOLANA || !solanaWallet) return null;
|
|
23
|
+
const accts = solanaWallet.accounts.map(a => a.address);
|
|
24
|
+
return accts.length > 0 ? accts : null;
|
|
39
25
|
}, [solanaWallet, chainNamespace]);
|
|
26
|
+
const rpc = useMemo(() => {
|
|
27
|
+
if (!web3Auth || !solanaWallet || chainNamespace !== CHAIN_NAMESPACES.SOLANA) return null;
|
|
28
|
+
return createSolanaRpc(web3Auth.currentChain.rpcTarget);
|
|
29
|
+
}, [web3Auth, solanaWallet, chainNamespace]);
|
|
30
|
+
const getPrivateKey = useCallback(async () => {
|
|
31
|
+
var _web3Auth$connectedCo;
|
|
32
|
+
if (!web3Auth) throw new Error("Web3Auth not initialized");
|
|
33
|
+
if ((connection === null || connection === void 0 ? void 0 : connection.connectorName) !== WALLET_CONNECTORS.AUTH) {
|
|
34
|
+
throw new Error("getPrivateKey is only supported with the Auth connector");
|
|
35
|
+
}
|
|
36
|
+
const provider = (_web3Auth$connectedCo = web3Auth.connectedConnector) === null || _web3Auth$connectedCo === void 0 ? void 0 : _web3Auth$connectedCo.provider;
|
|
37
|
+
if (!provider) throw new Error("Provider not available");
|
|
38
|
+
const privateKey = await provider.request({
|
|
39
|
+
method: SOLANA_METHOD_TYPES.SOLANA_PRIVATE_KEY
|
|
40
|
+
});
|
|
41
|
+
if (!privateKey) throw new Error("Failed to retrieve private key");
|
|
42
|
+
return privateKey;
|
|
43
|
+
}, [web3Auth, connection]);
|
|
40
44
|
return {
|
|
41
45
|
solanaWallet,
|
|
42
46
|
accounts,
|
|
43
|
-
|
|
47
|
+
rpc,
|
|
48
|
+
getPrivateKey
|
|
44
49
|
};
|
|
45
50
|
};
|
|
46
51
|
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
|
+
import { createWalletStandardConnector, createClient } from '@solana/client';
|
|
4
|
+
import { SolanaProvider as SolanaProvider$1 } from '@solana/react-hooks';
|
|
5
|
+
import { createElement, useRef, useState, useEffect } from 'react';
|
|
6
|
+
import { useChain } from '../hooks/useChain.js';
|
|
7
|
+
import { useWeb3Auth } from '../hooks/useWeb3Auth.js';
|
|
8
|
+
import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
|
|
9
|
+
import { log } from '../../base/loglevel.js';
|
|
10
|
+
|
|
11
|
+
const _excluded = ["children"];
|
|
12
|
+
const DEVNET_ENDPOINT = "https://api.devnet.solana.com";
|
|
13
|
+
function placeholderRpc(isInitialized, web3Auth) {
|
|
14
|
+
var _web3Auth$coreOptions;
|
|
15
|
+
if (!isInitialized || !(web3Auth !== null && web3Auth !== void 0 && (_web3Auth$coreOptions = web3Auth.coreOptions) !== null && _web3Auth$coreOptions !== void 0 && _web3Auth$coreOptions.chains)) {
|
|
16
|
+
return {
|
|
17
|
+
rpcTarget: DEVNET_ENDPOINT
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const solanaChains = web3Auth.coreOptions.chains.filter(c => c.chainNamespace === CHAIN_NAMESPACES.SOLANA);
|
|
21
|
+
const current = web3Auth.currentChain;
|
|
22
|
+
const chain = (current === null || current === void 0 ? void 0 : current.chainNamespace) === CHAIN_NAMESPACES.SOLANA ? current : solanaChains[0];
|
|
23
|
+
if (!chain) return {
|
|
24
|
+
rpcTarget: DEVNET_ENDPOINT
|
|
25
|
+
};
|
|
26
|
+
return {
|
|
27
|
+
rpcTarget: chain.rpcTarget,
|
|
28
|
+
wsTarget: chain.wsTarget
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function makePlaceholder(rpc) {
|
|
32
|
+
return createClient({
|
|
33
|
+
endpoint: rpc.rpcTarget,
|
|
34
|
+
websocketEndpoint: rpc.wsTarget,
|
|
35
|
+
walletConnectors: []
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function dispose(client) {
|
|
39
|
+
void client.actions.disconnectWallet().catch(() => {});
|
|
40
|
+
client.destroy();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Builds the SolanaClient for Framework Kit React hooks: placeholder when idle, Web3Auth-backed when
|
|
45
|
+
* connected on Solana. Ref + state so React re-renders on swap and effects dispose the right instance.
|
|
46
|
+
*/
|
|
47
|
+
function useFrameworkKitSolanaClient() {
|
|
48
|
+
const {
|
|
49
|
+
isConnected,
|
|
50
|
+
connection,
|
|
51
|
+
web3Auth,
|
|
52
|
+
isInitialized
|
|
53
|
+
} = useWeb3Auth();
|
|
54
|
+
const {
|
|
55
|
+
chainNamespace
|
|
56
|
+
} = useChain();
|
|
57
|
+
const ref = useRef(null);
|
|
58
|
+
const [client, setClient] = useState(() => {
|
|
59
|
+
const c = makePlaceholder({
|
|
60
|
+
rpcTarget: DEVNET_ENDPOINT
|
|
61
|
+
});
|
|
62
|
+
ref.current = c;
|
|
63
|
+
return c;
|
|
64
|
+
});
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
if (isInitialized) web3Auth === null || web3Auth === void 0 || web3Auth.setAnalyticsProperties({
|
|
67
|
+
solana_framework_kit_enabled: true
|
|
68
|
+
});
|
|
69
|
+
}, [isInitialized, web3Auth]);
|
|
70
|
+
useEffect(() => () => {
|
|
71
|
+
const c = ref.current;
|
|
72
|
+
if (c) {
|
|
73
|
+
dispose(c);
|
|
74
|
+
ref.current = null;
|
|
75
|
+
}
|
|
76
|
+
}, []);
|
|
77
|
+
useEffect(() => {
|
|
78
|
+
let stale = false;
|
|
79
|
+
const adopt = next => {
|
|
80
|
+
if (stale) {
|
|
81
|
+
dispose(next);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const prev = ref.current;
|
|
85
|
+
if (prev === next) return;
|
|
86
|
+
if (prev) dispose(prev);
|
|
87
|
+
ref.current = next;
|
|
88
|
+
setClient(next);
|
|
89
|
+
};
|
|
90
|
+
(async _web3Auth$currentChai => {
|
|
91
|
+
const rpc = placeholderRpc(isInitialized, web3Auth);
|
|
92
|
+
const solanaWallet = connection === null || connection === void 0 ? void 0 : connection.solanaWallet;
|
|
93
|
+
const onSolana = isConnected && Boolean(solanaWallet) && chainNamespace === CHAIN_NAMESPACES.SOLANA && (web3Auth === null || web3Auth === void 0 || (_web3Auth$currentChai = web3Auth.currentChain) === null || _web3Auth$currentChai === void 0 ? void 0 : _web3Auth$currentChai.chainNamespace) === CHAIN_NAMESPACES.SOLANA;
|
|
94
|
+
if (!onSolana) {
|
|
95
|
+
adopt(makePlaceholder(rpc));
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const conn = connection;
|
|
99
|
+
if (!conn || !solanaWallet) {
|
|
100
|
+
adopt(makePlaceholder(rpc));
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
const solanaWalletId = "wallet-standard:" + conn.connectorName;
|
|
105
|
+
const connector = createWalletStandardConnector(solanaWallet, {
|
|
106
|
+
id: solanaWalletId,
|
|
107
|
+
name: conn.connectorName
|
|
108
|
+
});
|
|
109
|
+
const {
|
|
110
|
+
rpcTarget,
|
|
111
|
+
wsTarget
|
|
112
|
+
} = web3Auth.currentChain;
|
|
113
|
+
const wired = createClient({
|
|
114
|
+
endpoint: rpcTarget,
|
|
115
|
+
websocketEndpoint: wsTarget,
|
|
116
|
+
walletConnectors: [connector]
|
|
117
|
+
});
|
|
118
|
+
await wired.actions.connectWallet(solanaWalletId, {
|
|
119
|
+
autoConnect: true
|
|
120
|
+
});
|
|
121
|
+
if (stale) {
|
|
122
|
+
dispose(wired);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
adopt(wired);
|
|
126
|
+
} catch (e) {
|
|
127
|
+
log.error("Failed to create or connect Solana client", e);
|
|
128
|
+
adopt(makePlaceholder(rpc));
|
|
129
|
+
}
|
|
130
|
+
})();
|
|
131
|
+
return () => {
|
|
132
|
+
stale = true;
|
|
133
|
+
};
|
|
134
|
+
}, [isConnected, connection === null || connection === void 0 ? void 0 : connection.solanaWallet, chainNamespace, web3Auth, isInitialized, connection === null || connection === void 0 ? void 0 : connection.connectorName]);
|
|
135
|
+
return client;
|
|
136
|
+
}
|
|
137
|
+
function SolanaProvider(_ref) {
|
|
138
|
+
let {
|
|
139
|
+
children
|
|
140
|
+
} = _ref,
|
|
141
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
142
|
+
const client = useFrameworkKitSolanaClient();
|
|
143
|
+
return createElement(SolanaProvider$1, _objectSpread(_objectSpread({}, props), {}, {
|
|
144
|
+
client,
|
|
145
|
+
walletPersistence: false,
|
|
146
|
+
children
|
|
147
|
+
}));
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export { SolanaProvider };
|
|
@@ -2,7 +2,7 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
|
|
|
2
2
|
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
3
3
|
import { useMemo, createElement, useEffect, Fragment } from 'react';
|
|
4
4
|
import { defineChain } from 'viem';
|
|
5
|
-
import { createConfig, WagmiProvider as WagmiProvider$1, webSocket, http, fallback, useConfig, useReconnect,
|
|
5
|
+
import { createConfig, WagmiProvider as WagmiProvider$1, webSocket, http, fallback, useConfig, useReconnect, useConnectionEffect } from 'wagmi';
|
|
6
6
|
import { injected } from 'wagmi/connectors';
|
|
7
7
|
import { defaultWagmiConfig } from './constants.js';
|
|
8
8
|
import { useWeb3Auth } from '../hooks/useWeb3Auth.js';
|
|
@@ -78,16 +78,16 @@ function Web3AuthWagmiProvider({
|
|
|
78
78
|
}) {
|
|
79
79
|
const {
|
|
80
80
|
isConnected,
|
|
81
|
-
|
|
81
|
+
connection
|
|
82
82
|
} = useWeb3Auth();
|
|
83
83
|
const {
|
|
84
84
|
disconnect
|
|
85
85
|
} = useWeb3AuthDisconnect();
|
|
86
86
|
const wagmiConfig = useConfig();
|
|
87
87
|
const {
|
|
88
|
-
reconnect
|
|
88
|
+
mutate: reconnect
|
|
89
89
|
} = useReconnect();
|
|
90
|
-
|
|
90
|
+
useConnectionEffect({
|
|
91
91
|
onDisconnect: async () => {
|
|
92
92
|
log.info("Disconnected from wagmi");
|
|
93
93
|
if (isConnected) await disconnect();
|
|
@@ -101,8 +101,8 @@ function Web3AuthWagmiProvider({
|
|
|
101
101
|
});
|
|
102
102
|
useEffect(() => {
|
|
103
103
|
(async () => {
|
|
104
|
-
if (isConnected &&
|
|
105
|
-
const connector = await setupConnector(
|
|
104
|
+
if (isConnected && connection !== null && connection !== void 0 && connection.ethereumProvider) {
|
|
105
|
+
const connector = await setupConnector(connection.ethereumProvider, wagmiConfig);
|
|
106
106
|
if (!connector) {
|
|
107
107
|
throw new Error("Failed to setup connector");
|
|
108
108
|
}
|
|
@@ -114,7 +114,7 @@ function Web3AuthWagmiProvider({
|
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
116
|
})();
|
|
117
|
-
}, [isConnected, wagmiConfig,
|
|
117
|
+
}, [isConnected, wagmiConfig, connection, reconnect]);
|
|
118
118
|
return createElement(Fragment, null, children);
|
|
119
119
|
}
|
|
120
120
|
function WagmiProvider(_ref) {
|
|
@@ -1,66 +1,16 @@
|
|
|
1
|
-
import { defineComponent, h,
|
|
1
|
+
import { defineComponent, h, provide } from 'vue';
|
|
2
2
|
import { useWeb3AuthInner } from './composables/useWeb3AuthInner.js';
|
|
3
|
+
import { useWalletServicesInnerContextValue } from './useWalletServicesInnerContextValue.js';
|
|
3
4
|
import { WalletServicesContextKey } from './context/WalletServicesContext.js';
|
|
4
5
|
import { WalletServicesPluginError } from '../base/plugin/errors.js';
|
|
5
|
-
import { EVM_PLUGINS, PLUGIN_EVENTS } from '../base/plugin/IPlugin.js';
|
|
6
|
-
import { CONNECTOR_STATUS } from '../base/connector/constants.js';
|
|
7
6
|
|
|
8
7
|
const WalletServicesInnerProvider = defineComponent({
|
|
9
8
|
name: "WalletServicesInnerProvider",
|
|
10
9
|
setup() {
|
|
11
10
|
const web3AuthContext = useWeb3AuthInner();
|
|
12
11
|
if (!web3AuthContext) throw WalletServicesPluginError.fromCode(1000, "`WalletServicesProvider` must be wrapped by `Web3AuthProvider`");
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
isInitialized,
|
|
16
|
-
isConnected
|
|
17
|
-
} = web3AuthContext;
|
|
18
|
-
const walletServicesPlugin = shallowRef(null);
|
|
19
|
-
const ready = ref(false);
|
|
20
|
-
const connecting = ref(false);
|
|
21
|
-
watch(isInitialized, newIsInitialized => {
|
|
22
|
-
if (newIsInitialized) {
|
|
23
|
-
const plugin = getPlugin(EVM_PLUGINS.WALLET_SERVICES);
|
|
24
|
-
walletServicesPlugin.value = plugin;
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
watch(isConnected, newIsConnected => {
|
|
28
|
-
if (newIsConnected) {
|
|
29
|
-
var _walletServicesPlugin;
|
|
30
|
-
const plugin = getPlugin(EVM_PLUGINS.WALLET_SERVICES);
|
|
31
|
-
walletServicesPlugin.value = plugin;
|
|
32
|
-
// when rehydrating, the connectedListener may be registered after the connected event is emitted, we need to check the status here
|
|
33
|
-
if (((_walletServicesPlugin = walletServicesPlugin.value) === null || _walletServicesPlugin === void 0 ? void 0 : _walletServicesPlugin.status) === CONNECTOR_STATUS.CONNECTED) ready.value = true;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
watch(walletServicesPlugin, (newWalletServicesPlugin, prevWalletServicesPlugin) => {
|
|
37
|
-
const connectedListener = () => {
|
|
38
|
-
ready.value = true;
|
|
39
|
-
};
|
|
40
|
-
const disconnectedListener = () => {
|
|
41
|
-
ready.value = false;
|
|
42
|
-
};
|
|
43
|
-
const connectingListener = () => {
|
|
44
|
-
connecting.value = true;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
// unregister previous listeners
|
|
48
|
-
if (prevWalletServicesPlugin && newWalletServicesPlugin !== prevWalletServicesPlugin) {
|
|
49
|
-
prevWalletServicesPlugin.removeListener(PLUGIN_EVENTS.CONNECTED, connectedListener);
|
|
50
|
-
prevWalletServicesPlugin.removeListener(PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
|
|
51
|
-
prevWalletServicesPlugin.removeListener(PLUGIN_EVENTS.CONNECTING, connectingListener);
|
|
52
|
-
}
|
|
53
|
-
if (newWalletServicesPlugin && newWalletServicesPlugin !== prevWalletServicesPlugin) {
|
|
54
|
-
newWalletServicesPlugin.on(PLUGIN_EVENTS.CONNECTED, connectedListener);
|
|
55
|
-
newWalletServicesPlugin.on(PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
|
|
56
|
-
newWalletServicesPlugin.on(PLUGIN_EVENTS.CONNECTING, connectingListener);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
provide(WalletServicesContextKey, {
|
|
60
|
-
plugin: walletServicesPlugin,
|
|
61
|
-
ready,
|
|
62
|
-
connecting
|
|
63
|
-
});
|
|
12
|
+
const value = useWalletServicesInnerContextValue(web3AuthContext);
|
|
13
|
+
provide(WalletServicesContextKey, value);
|
|
64
14
|
},
|
|
65
15
|
render() {
|
|
66
16
|
var _this$$slots$default;
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { defineComponent, h,
|
|
1
|
+
import { defineComponent, h, provide } from 'vue';
|
|
2
2
|
import { Web3AuthNoModal } from '../noModal.js';
|
|
3
|
+
import { useWeb3AuthInnerContextValue } from './useWeb3AuthInnerContextValue.js';
|
|
3
4
|
import { WalletServicesInnerProvider } from './WalletServicesInnerProvider.js';
|
|
4
|
-
import { ANALYTICS_INTEGRATION_TYPE } from '../base/analytics.js';
|
|
5
|
-
import { log } from '../base/loglevel.js';
|
|
6
|
-
import { CONNECTOR_EVENTS, CONNECTOR_STATUS } from '../base/connector/constants.js';
|
|
7
5
|
import { Web3AuthContextKey } from '../base/composables/index.js';
|
|
8
|
-
import { WalletInitializationError } from '../base/errors/index.js';
|
|
9
6
|
|
|
10
7
|
const Web3AuthProvider = defineComponent({
|
|
11
8
|
name: "Web3AuthProvider",
|
|
@@ -16,181 +13,12 @@ const Web3AuthProvider = defineComponent({
|
|
|
16
13
|
}
|
|
17
14
|
},
|
|
18
15
|
setup(props) {
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const chainId = ref(null);
|
|
24
|
-
const chainNamespace = ref(null);
|
|
25
|
-
const isInitializing = ref(false);
|
|
26
|
-
const initError = ref(null);
|
|
27
|
-
const isInitialized = ref(false);
|
|
28
|
-
const isConnected = ref(false);
|
|
29
|
-
const isAuthorized = ref(false);
|
|
30
|
-
const getPlugin = name => {
|
|
31
|
-
if (!web3Auth.value) throw WalletInitializationError.notReady();
|
|
32
|
-
return web3Auth.value.getPlugin(name);
|
|
33
|
-
};
|
|
34
|
-
const setIsMFAEnabled = isMfaEnabled => {
|
|
35
|
-
isMFAEnabled.value = isMfaEnabled;
|
|
36
|
-
};
|
|
37
|
-
watch(() => props.config, (newConfig, _, onInvalidate) => {
|
|
38
|
-
const resetHookState = () => {
|
|
39
|
-
provider.value = null;
|
|
40
|
-
isMFAEnabled.value = false;
|
|
41
|
-
isConnected.value = false;
|
|
42
|
-
isAuthorized.value = false;
|
|
43
|
-
status.value = null;
|
|
44
|
-
chainId.value = null;
|
|
45
|
-
chainNamespace.value = null;
|
|
46
|
-
};
|
|
47
|
-
onInvalidate(() => {
|
|
48
|
-
if (web3Auth.value) {
|
|
49
|
-
web3Auth.value.cleanup();
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
resetHookState();
|
|
53
|
-
const {
|
|
54
|
-
web3AuthOptions
|
|
55
|
-
} = newConfig;
|
|
56
|
-
const web3AuthInstance = new Web3AuthNoModal(web3AuthOptions);
|
|
57
|
-
web3AuthInstance.setAnalyticsProperties({
|
|
58
|
-
integration_type: ANALYTICS_INTEGRATION_TYPE.VUE_COMPOSABLES
|
|
59
|
-
});
|
|
60
|
-
web3Auth.value = web3AuthInstance;
|
|
61
|
-
}, {
|
|
62
|
-
immediate: true
|
|
63
|
-
});
|
|
64
|
-
watch(web3Auth, async (newWeb3Auth, _, onInvalidate) => {
|
|
65
|
-
const controller = new AbortController();
|
|
66
|
-
|
|
67
|
-
// Invalidate the controller here before calling any async methods.
|
|
68
|
-
onInvalidate(() => {
|
|
69
|
-
controller.abort();
|
|
70
|
-
});
|
|
71
|
-
if (newWeb3Auth) {
|
|
72
|
-
try {
|
|
73
|
-
initError.value = null;
|
|
74
|
-
isInitializing.value = true;
|
|
75
|
-
await newWeb3Auth.init({
|
|
76
|
-
signal: controller.signal
|
|
77
|
-
});
|
|
78
|
-
} catch (error) {
|
|
79
|
-
log.error("Error initializing web3auth", error);
|
|
80
|
-
initError.value = error;
|
|
81
|
-
} finally {
|
|
82
|
-
isInitializing.value = false;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}, {
|
|
86
|
-
immediate: true
|
|
87
|
-
});
|
|
88
|
-
watch(web3Auth, (newWeb3Auth, prevWeb3Auth) => {
|
|
89
|
-
const notReadyListener = () => {
|
|
90
|
-
status.value = web3Auth.value.status;
|
|
91
|
-
};
|
|
92
|
-
const readyListener = () => {
|
|
93
|
-
status.value = web3Auth.value.status;
|
|
94
|
-
isInitialized.value = true;
|
|
95
|
-
};
|
|
96
|
-
const connectedListener = () => {
|
|
97
|
-
status.value = web3Auth.value.status;
|
|
98
|
-
// we do this because of rehydration issues. status connected is fired first but web3auth sdk is not ready yet.
|
|
99
|
-
if (web3Auth.value.status === CONNECTOR_STATUS.CONNECTED) {
|
|
100
|
-
var _currentChain$chainNa, _currentChain;
|
|
101
|
-
if (!isInitialized.value) isInitialized.value = true;
|
|
102
|
-
isConnected.value = true;
|
|
103
|
-
provider.value = newWeb3Auth.provider;
|
|
104
|
-
chainId.value = web3Auth.value.currentChainId;
|
|
105
|
-
chainNamespace.value = (_currentChain$chainNa = (_currentChain = web3Auth.value.currentChain) === null || _currentChain === void 0 ? void 0 : _currentChain.chainNamespace) !== null && _currentChain$chainNa !== void 0 ? _currentChain$chainNa : null;
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
const authorizedListener = () => {
|
|
109
|
-
status.value = web3Auth.value.status;
|
|
110
|
-
if (web3Auth.value.status === CONNECTOR_STATUS.AUTHORIZED) {
|
|
111
|
-
isAuthorized.value = true;
|
|
112
|
-
isConnected.value = true;
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
const disconnectedListener = () => {
|
|
116
|
-
status.value = web3Auth.value.status;
|
|
117
|
-
isConnected.value = false;
|
|
118
|
-
provider.value = null;
|
|
119
|
-
isMFAEnabled.value = false;
|
|
120
|
-
isAuthorized.value = false;
|
|
121
|
-
};
|
|
122
|
-
const connectingListener = () => {
|
|
123
|
-
status.value = web3Auth.value.status;
|
|
124
|
-
};
|
|
125
|
-
const errorListener = () => {
|
|
126
|
-
status.value = web3Auth.value.status;
|
|
127
|
-
};
|
|
128
|
-
const mfaEnabledListener = () => {
|
|
129
|
-
isMFAEnabled.value = true;
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
// unregister previous listeners
|
|
133
|
-
if (prevWeb3Auth && newWeb3Auth !== prevWeb3Auth) {
|
|
134
|
-
prevWeb3Auth.removeListener(CONNECTOR_EVENTS.NOT_READY, notReadyListener);
|
|
135
|
-
prevWeb3Auth.removeListener(CONNECTOR_EVENTS.READY, readyListener);
|
|
136
|
-
prevWeb3Auth.removeListener(CONNECTOR_EVENTS.CONNECTED, connectedListener);
|
|
137
|
-
prevWeb3Auth.removeListener(CONNECTOR_EVENTS.AUTHORIZED, authorizedListener);
|
|
138
|
-
prevWeb3Auth.removeListener(CONNECTOR_EVENTS.DISCONNECTED, disconnectedListener);
|
|
139
|
-
prevWeb3Auth.removeListener(CONNECTOR_EVENTS.CONNECTING, connectingListener);
|
|
140
|
-
prevWeb3Auth.removeListener(CONNECTOR_EVENTS.ERRORED, errorListener);
|
|
141
|
-
prevWeb3Auth.removeListener(CONNECTOR_EVENTS.REHYDRATION_ERROR, errorListener);
|
|
142
|
-
prevWeb3Auth.removeListener(CONNECTOR_EVENTS.MFA_ENABLED, mfaEnabledListener);
|
|
143
|
-
}
|
|
144
|
-
if (newWeb3Auth && newWeb3Auth !== prevWeb3Auth) {
|
|
145
|
-
status.value = newWeb3Auth.status;
|
|
146
|
-
// web3Auth is initialized here.
|
|
147
|
-
newWeb3Auth.on(CONNECTOR_EVENTS.NOT_READY, notReadyListener);
|
|
148
|
-
newWeb3Auth.on(CONNECTOR_EVENTS.READY, readyListener);
|
|
149
|
-
newWeb3Auth.on(CONNECTOR_EVENTS.CONNECTED, connectedListener);
|
|
150
|
-
newWeb3Auth.on(CONNECTOR_EVENTS.AUTHORIZED, authorizedListener);
|
|
151
|
-
newWeb3Auth.on(CONNECTOR_EVENTS.DISCONNECTED, disconnectedListener);
|
|
152
|
-
newWeb3Auth.on(CONNECTOR_EVENTS.CONNECTING, connectingListener);
|
|
153
|
-
newWeb3Auth.on(CONNECTOR_EVENTS.ERRORED, errorListener);
|
|
154
|
-
newWeb3Auth.on(CONNECTOR_EVENTS.REHYDRATION_ERROR, errorListener);
|
|
155
|
-
newWeb3Auth.on(CONNECTOR_EVENTS.MFA_ENABLED, mfaEnabledListener);
|
|
156
|
-
}
|
|
157
|
-
}, {
|
|
158
|
-
immediate: true
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
// Listen for chain changes on the provider
|
|
162
|
-
watch(provider, (newProvider, prevProvider) => {
|
|
163
|
-
const handleChainChange = newChainId => {
|
|
164
|
-
var _web3Auth$value$curre, _web3Auth$value;
|
|
165
|
-
chainId.value = newChainId;
|
|
166
|
-
chainNamespace.value = (_web3Auth$value$curre = (_web3Auth$value = web3Auth.value) === null || _web3Auth$value === void 0 || (_web3Auth$value = _web3Auth$value.currentChain) === null || _web3Auth$value === void 0 ? void 0 : _web3Auth$value.chainNamespace) !== null && _web3Auth$value$curre !== void 0 ? _web3Auth$value$curre : null;
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
// unregister previous listener
|
|
170
|
-
if (prevProvider && newProvider !== prevProvider) {
|
|
171
|
-
prevProvider.removeListener("chainChanged", handleChainChange);
|
|
172
|
-
}
|
|
173
|
-
if (newProvider && newProvider !== prevProvider) {
|
|
174
|
-
newProvider.on("chainChanged", handleChainChange);
|
|
175
|
-
}
|
|
176
|
-
}, {
|
|
177
|
-
immediate: true
|
|
178
|
-
});
|
|
179
|
-
provide(Web3AuthContextKey, {
|
|
180
|
-
web3Auth,
|
|
181
|
-
isConnected,
|
|
182
|
-
isInitialized,
|
|
183
|
-
provider,
|
|
184
|
-
status,
|
|
185
|
-
isInitializing,
|
|
186
|
-
initError,
|
|
187
|
-
isMFAEnabled,
|
|
188
|
-
chainId,
|
|
189
|
-
chainNamespace,
|
|
190
|
-
getPlugin,
|
|
191
|
-
setIsMFAEnabled,
|
|
192
|
-
isAuthorized
|
|
16
|
+
const value = useWeb3AuthInnerContextValue({
|
|
17
|
+
Web3AuthConstructor: Web3AuthNoModal,
|
|
18
|
+
watchSource: () => props.config,
|
|
19
|
+
getWeb3AuthOptions: config => config.web3AuthOptions
|
|
193
20
|
});
|
|
21
|
+
provide(Web3AuthContextKey, value);
|
|
194
22
|
},
|
|
195
23
|
render() {
|
|
196
24
|
var _this$$slots$default;
|
|
@@ -3,7 +3,7 @@ import { useWeb3AuthInner } from './useWeb3AuthInner.js';
|
|
|
3
3
|
import { WalletInitializationError } from '../../base/errors/index.js';
|
|
4
4
|
import { log } from '../../base/loglevel.js';
|
|
5
5
|
|
|
6
|
-
const
|
|
6
|
+
const useAuthTokenInfo = () => {
|
|
7
7
|
const {
|
|
8
8
|
web3Auth,
|
|
9
9
|
isAuthorized
|
|
@@ -11,18 +11,18 @@ const useIdentityToken = () => {
|
|
|
11
11
|
const loading = ref(false);
|
|
12
12
|
const error = ref(null);
|
|
13
13
|
const token = ref(null);
|
|
14
|
-
const
|
|
14
|
+
const getAuthTokenInfo = async () => {
|
|
15
15
|
try {
|
|
16
16
|
if (!web3Auth.value) throw WalletInitializationError.notReady();
|
|
17
17
|
error.value = null;
|
|
18
18
|
loading.value = true;
|
|
19
|
-
const result = await web3Auth.value.
|
|
19
|
+
const result = await web3Auth.value.getAuthTokenInfo();
|
|
20
20
|
if (result !== null && result !== void 0 && result.idToken) {
|
|
21
21
|
token.value = result.idToken;
|
|
22
22
|
}
|
|
23
23
|
return result === null || result === void 0 ? void 0 : result.idToken;
|
|
24
24
|
} catch (err) {
|
|
25
|
-
log.error("Error getting
|
|
25
|
+
log.error("Error getting auth token info", err);
|
|
26
26
|
error.value = err;
|
|
27
27
|
} finally {
|
|
28
28
|
loading.value = false;
|
|
@@ -43,8 +43,8 @@ const useIdentityToken = () => {
|
|
|
43
43
|
loading,
|
|
44
44
|
error,
|
|
45
45
|
token,
|
|
46
|
-
|
|
46
|
+
getAuthTokenInfo
|
|
47
47
|
};
|
|
48
48
|
};
|
|
49
49
|
|
|
50
|
-
export {
|
|
50
|
+
export { useAuthTokenInfo };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { inject } from 'vue';
|
|
2
|
+
import { Web3AuthContextKey } from '../../base/composables/index.js';
|
|
3
|
+
import { WalletInitializationError } from '../../base/errors/index.js';
|
|
4
|
+
|
|
5
|
+
function useInjectedWeb3AuthInnerContext() {
|
|
6
|
+
const context = inject(Web3AuthContextKey);
|
|
7
|
+
if (!context) throw WalletInitializationError.fromCode(1000, "usage of `useWeb3Auth` not wrapped in `Web3AuthProvider`.");
|
|
8
|
+
return context;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { useInjectedWeb3AuthInnerContext };
|
|
@@ -1,32 +1,7 @@
|
|
|
1
1
|
import { useWeb3AuthInner } from './useWeb3AuthInner.js';
|
|
2
2
|
|
|
3
3
|
const useWeb3Auth = () => {
|
|
4
|
-
|
|
5
|
-
initError,
|
|
6
|
-
isConnected,
|
|
7
|
-
isInitialized,
|
|
8
|
-
isInitializing,
|
|
9
|
-
isAuthorized,
|
|
10
|
-
provider,
|
|
11
|
-
status,
|
|
12
|
-
web3Auth,
|
|
13
|
-
getPlugin,
|
|
14
|
-
chainId,
|
|
15
|
-
chainNamespace
|
|
16
|
-
} = useWeb3AuthInner();
|
|
17
|
-
return {
|
|
18
|
-
initError,
|
|
19
|
-
isConnected,
|
|
20
|
-
isInitialized,
|
|
21
|
-
isInitializing,
|
|
22
|
-
isAuthorized,
|
|
23
|
-
provider,
|
|
24
|
-
status,
|
|
25
|
-
web3Auth,
|
|
26
|
-
chainId,
|
|
27
|
-
chainNamespace,
|
|
28
|
-
getPlugin
|
|
29
|
-
};
|
|
4
|
+
return useWeb3AuthInner();
|
|
30
5
|
};
|
|
31
6
|
|
|
32
7
|
export { useWeb3Auth };
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Web3AuthContextKey } from '../../base/composables/index.js';
|
|
3
|
-
import { WalletInitializationError } from '../../base/errors/index.js';
|
|
1
|
+
import { useInjectedWeb3AuthInnerContext } from './useInjectedWeb3AuthInnerContext.js';
|
|
4
2
|
|
|
5
3
|
const useWeb3AuthInner = () => {
|
|
6
|
-
|
|
7
|
-
if (!context) throw WalletInitializationError.fromCode(1000, "usage of `useWeb3Auth` not wrapped in `Web3AuthProvider`.");
|
|
8
|
-
return context;
|
|
4
|
+
return useInjectedWeb3AuthInnerContext();
|
|
9
5
|
};
|
|
10
6
|
|
|
11
7
|
export { useWeb3AuthInner };
|