@web3auth/no-modal 10.16.0 → 11.0.0-beta.1
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/account-linking/index.js +8 -0
- package/dist/lib.cjs/account-linking/react.js +95 -0
- package/dist/lib.cjs/account-linking/rest.js +54 -0
- package/dist/lib.cjs/account-linking/vue.js +98 -0
- package/dist/lib.cjs/base/analytics.js +13 -1
- 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 +6 -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 +84 -12
- package/dist/lib.cjs/base/utils.js +22 -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 +566 -93
- package/dist/lib.cjs/connectors/auth-connector/authSolanaWallet.js +187 -0
- package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +55 -58
- package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +57 -66
- 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 +350 -131
- package/dist/lib.cjs/connectors/utils.js +8 -2
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +12 -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 +111 -73
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +24 -51
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +144 -0
- package/dist/lib.cjs/index.js +55 -83
- package/dist/lib.cjs/noModal.js +957 -169
- 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 +69 -35
- 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 -43
- 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 +216 -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/useWallets.js +51 -0
- package/dist/lib.cjs/react/hooks/useWeb3Auth.js +1 -22
- package/dist/lib.cjs/react/hooks/useWeb3AuthConnect.js +2 -2
- package/dist/lib.cjs/react/hooks/useWeb3AuthInner.js +4 -2
- package/dist/lib.cjs/react/index.js +12 -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 +169 -0
- package/dist/lib.cjs/react/wagmi/provider.js +10 -8
- package/dist/lib.cjs/types/account-linking/index.d.ts +2 -0
- package/dist/lib.cjs/types/account-linking/interfaces.d.ts +90 -0
- package/dist/lib.cjs/types/account-linking/react.d.ts +19 -0
- package/dist/lib.cjs/types/account-linking/rest.d.ts +9 -0
- package/dist/lib.cjs/types/account-linking/vue.d.ts +20 -0
- package/dist/lib.cjs/types/base/analytics.d.ts +9 -0
- package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +26 -5
- package/dist/lib.cjs/types/base/connector/connectorStatus.d.ts +1 -0
- package/dist/lib.cjs/types/base/connector/constants.d.ts +5 -0
- package/dist/lib.cjs/types/base/connector/interfaces.d.ts +72 -16
- 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 +57 -13
- package/dist/lib.cjs/types/base/errors/index.d.ts +15 -3
- package/dist/lib.cjs/types/base/hooks/index.d.ts +2 -2
- package/dist/lib.cjs/types/base/interfaces.d.ts +8 -2
- package/dist/lib.cjs/types/base/utils.d.ts +9 -2
- 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 +37 -8
- package/dist/lib.cjs/types/connectors/auth-connector/authSolanaWallet.d.ts +35 -0
- package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +77 -2
- package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +8 -2
- package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +8 -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/index.d.ts +1 -0
- package/dist/lib.cjs/types/noModal.d.ts +113 -10
- 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/baseProvider.d.ts +7 -0
- 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/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 +2 -1
- package/dist/lib.cjs/types/react/hooks/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +4 -4
- package/dist/lib.cjs/types/react/hooks/useWallets.d.ts +8 -0
- 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 +3 -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/useWallets.d.ts +9 -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/useWallets.js +52 -0
- package/dist/lib.cjs/vue/composables/useWeb3Auth.js +1 -26
- package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +6 -4
- 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 +10 -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 +110 -0
- package/dist/lib.cjs/vue/useWalletServicesInnerContextValue.js +75 -0
- package/dist/lib.cjs/vue/useWeb3AuthInnerContextValue.js +226 -0
- package/dist/lib.cjs/vue/wagmi/provider.js +28 -12
- 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/account-linking/index.js +1 -0
- package/dist/lib.esm/account-linking/react.js +74 -0
- package/dist/lib.esm/account-linking/rest.js +51 -0
- package/dist/lib.esm/account-linking/vue.js +78 -0
- package/dist/lib.esm/base/analytics.js +13 -1
- 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 +6 -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 +84 -13
- package/dist/lib.esm/base/utils.js +22 -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 +527 -57
- package/dist/lib.esm/connectors/auth-connector/authSolanaWallet.js +175 -0
- package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +55 -58
- package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +57 -66
- package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +16 -13
- package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +16 -13
- package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +22 -34
- package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +366 -132
- package/dist/lib.esm/connectors/utils.js +9 -4
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +12 -31
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +1 -1
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +110 -73
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +21 -49
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +130 -0
- package/dist/lib.esm/index.js +12 -19
- package/dist/lib.esm/noModal.js +975 -177
- package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +20 -39
- 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/baseProvider.js +68 -38
- package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +9 -12
- package/dist/lib.esm/providers/base-provider/index.js +1 -1
- 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 -44
- 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 +203 -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/useWallets.js +33 -0
- package/dist/lib.esm/react/hooks/useWeb3Auth.js +1 -22
- package/dist/lib.esm/react/hooks/useWeb3AuthConnect.js +2 -2
- package/dist/lib.esm/react/index.js +6 -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 +153 -0
- package/dist/lib.esm/react/wagmi/provider.js +8 -8
- 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/useCheckout.js +1 -1
- package/dist/lib.esm/vue/composables/useFunding.js +1 -1
- package/dist/lib.esm/vue/composables/useInjectedWeb3AuthInnerContext.js +11 -0
- package/dist/lib.esm/vue/composables/useReceive.js +1 -1
- package/dist/lib.esm/vue/composables/useSwap.js +1 -1
- package/dist/lib.esm/vue/composables/useWalletConnectScanner.js +1 -1
- package/dist/lib.esm/vue/composables/useWalletUI.js +1 -1
- package/dist/lib.esm/vue/composables/useWallets.js +35 -0
- package/dist/lib.esm/vue/composables/useWeb3Auth.js +1 -26
- package/dist/lib.esm/vue/composables/useWeb3AuthConnect.js +2 -2
- package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +2 -6
- package/dist/lib.esm/vue/index.js +5 -1
- 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 +99 -0
- package/dist/lib.esm/vue/useWalletServicesInnerContextValue.js +58 -0
- package/dist/lib.esm/vue/useWeb3AuthInnerContextValue.js +213 -0
- package/dist/lib.esm/vue/wagmi/provider.js +26 -12
- 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 +102 -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 -224
- 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 -251
- 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 -258
- 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 -46
|
@@ -7,33 +7,24 @@ var auth = require('@web3auth/auth');
|
|
|
7
7
|
require('@segment/analytics-next');
|
|
8
8
|
var loglevel = require('../../base/loglevel.js');
|
|
9
9
|
var baseControllers = require('@toruslabs/base-controllers');
|
|
10
|
+
require('@toruslabs/session-manager');
|
|
10
11
|
var index = require('../../base/errors/index.js');
|
|
12
|
+
require('@toruslabs/constants');
|
|
13
|
+
require('@toruslabs/http-helpers');
|
|
14
|
+
require('../../base/constants.js');
|
|
11
15
|
require('../../base/wallet/index.js');
|
|
12
16
|
require('../../base/connector/connectorStatus.js');
|
|
13
17
|
require('../../base/connector/constants.js');
|
|
14
18
|
require('jwt-decode');
|
|
15
19
|
require('../../base/plugin/errors.js');
|
|
16
20
|
require('../../base/plugin/IPlugin.js');
|
|
17
|
-
require('@toruslabs/constants');
|
|
18
|
-
require('@toruslabs/http-helpers');
|
|
19
21
|
var baseProvider = require('../../providers/base-provider/baseProvider.js');
|
|
20
22
|
require('../../providers/base-provider/CommonJRPCProvider.js');
|
|
21
23
|
require('../../providers/base-provider/commonPrivateKeyProvider.js');
|
|
22
24
|
require('../../providers/base-provider/utils.js');
|
|
23
|
-
require('@ethereumjs/util');
|
|
24
|
-
require('bignumber.js');
|
|
25
|
-
require('../../providers/ethereum-provider/providers/converter.js');
|
|
26
|
-
require('bn.js');
|
|
27
|
-
require('../../providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js');
|
|
28
25
|
var ethRpcMiddlewares = require('../../providers/ethereum-provider/rpc/ethRpcMiddlewares.js');
|
|
29
26
|
var jrpcClient = require('../../providers/ethereum-provider/rpc/jrpcClient.js');
|
|
30
27
|
require('viem');
|
|
31
|
-
require('@solana/wallet-standard-features');
|
|
32
|
-
require('@solana/web3.js');
|
|
33
|
-
require('@toruslabs/bs58');
|
|
34
|
-
var JrpcClient = require('../../providers/solana-provider/rpc/JrpcClient.js');
|
|
35
|
-
var solanaRpcMiddlewares = require('../../providers/solana-provider/rpc/solanaRpcMiddlewares.js');
|
|
36
|
-
require('@web3auth/ws-embed');
|
|
37
28
|
var utils$1 = require('./utils.js');
|
|
38
29
|
var walletConnectV2Utils = require('./walletConnectV2Utils.js');
|
|
39
30
|
|
|
@@ -114,7 +105,11 @@ class WalletConnectV2Provider extends baseProvider.BaseProvider {
|
|
|
114
105
|
if (chain.chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155) {
|
|
115
106
|
await this.setupEthEngine(connector, chainId);
|
|
116
107
|
} else if (chain.chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA) {
|
|
117
|
-
|
|
108
|
+
// Solana operations are handled via WCSolanaWallet directly; only update accounts state.
|
|
109
|
+
const accounts = await walletConnectV2Utils.getAccounts(connector);
|
|
110
|
+
this.update({
|
|
111
|
+
accounts: accounts || []
|
|
112
|
+
});
|
|
118
113
|
} else {
|
|
119
114
|
throw new Error(`Unsupported chainNamespace: ${chain.chainNamespace}`);
|
|
120
115
|
}
|
|
@@ -139,34 +134,13 @@ class WalletConnectV2Provider extends baseProvider.BaseProvider {
|
|
|
139
134
|
});
|
|
140
135
|
const ethMiddleware = ethRpcMiddlewares.createEthMiddleware(providerHandlers);
|
|
141
136
|
const chainSwitchMiddleware = this.getEthChainSwitchMiddleware();
|
|
142
|
-
const engine = new auth.JRPCEngine();
|
|
143
137
|
const {
|
|
144
138
|
networkMiddleware
|
|
145
139
|
} = jrpcClient.createEthJsonRpcClient(chain);
|
|
146
|
-
engine.
|
|
147
|
-
|
|
148
|
-
engine.push(networkMiddleware);
|
|
149
|
-
const provider = auth.providerFromEngine(engine);
|
|
150
|
-
this.updateProviderEngineProxy(provider);
|
|
151
|
-
}
|
|
152
|
-
async setupSolEngine(connector, chainId) {
|
|
153
|
-
const chain = this.getChain(chainId);
|
|
154
|
-
const providerHandlers = walletConnectV2Utils.getSolProviderHandlers({
|
|
155
|
-
connector,
|
|
156
|
-
chainId
|
|
140
|
+
const engine = auth.JRPCEngineV2.create({
|
|
141
|
+
middleware: [ethMiddleware, chainSwitchMiddleware, networkMiddleware]
|
|
157
142
|
});
|
|
158
|
-
const
|
|
159
|
-
this.update({
|
|
160
|
-
accounts: jrpcRes || []
|
|
161
|
-
});
|
|
162
|
-
const solMiddleware = solanaRpcMiddlewares.createSolanaMiddleware(providerHandlers);
|
|
163
|
-
const engine = new auth.JRPCEngine();
|
|
164
|
-
const {
|
|
165
|
-
networkMiddleware
|
|
166
|
-
} = JrpcClient.createSolanaJsonRpcClient(chain);
|
|
167
|
-
engine.push(solMiddleware);
|
|
168
|
-
engine.push(networkMiddleware);
|
|
169
|
-
const provider = auth.providerFromEngine(engine);
|
|
143
|
+
const provider = auth.providerFromEngineV2(engine);
|
|
170
144
|
this.updateProviderEngineProxy(provider);
|
|
171
145
|
}
|
|
172
146
|
getEthChainSwitchMiddleware() {
|
|
@@ -5,17 +5,18 @@ require('@babel/runtime/helpers/defineProperty');
|
|
|
5
5
|
require('@segment/analytics-next');
|
|
6
6
|
require('../../base/loglevel.js');
|
|
7
7
|
var baseControllers = require('@toruslabs/base-controllers');
|
|
8
|
+
require('@toruslabs/session-manager');
|
|
8
9
|
require('@web3auth/auth');
|
|
9
10
|
require('../../base/errors/index.js');
|
|
11
|
+
require('@toruslabs/constants');
|
|
12
|
+
require('@toruslabs/http-helpers');
|
|
13
|
+
var constants = require('../../base/constants.js');
|
|
10
14
|
require('../../base/wallet/index.js');
|
|
11
15
|
require('../../base/connector/connectorStatus.js');
|
|
12
16
|
require('../../base/connector/constants.js');
|
|
13
17
|
require('jwt-decode');
|
|
14
|
-
var constants = require('../../base/constants.js');
|
|
15
18
|
require('../../base/plugin/errors.js');
|
|
16
19
|
require('../../base/plugin/IPlugin.js');
|
|
17
|
-
require('@toruslabs/constants');
|
|
18
|
-
require('@toruslabs/http-helpers');
|
|
19
20
|
var utils = require('../utils.js');
|
|
20
21
|
|
|
21
22
|
exports.DEFAULT_EIP155_METHODS = void 0;
|
|
@@ -4,16 +4,18 @@ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
|
4
4
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
5
|
var baseControllers = require('@toruslabs/base-controllers');
|
|
6
6
|
var Client = require('@walletconnect/sign-client');
|
|
7
|
-
var utils$
|
|
7
|
+
var utils$1 = require('@walletconnect/utils');
|
|
8
8
|
var wsEmbed = require('@web3auth/ws-embed');
|
|
9
9
|
var deepmerge = require('deepmerge');
|
|
10
|
+
var siwe = require('viem/siwe');
|
|
10
11
|
var analytics = require('../../base/analytics.js');
|
|
11
12
|
var IChainInterface = require('../../base/chain/IChainInterface.js');
|
|
12
13
|
var baseConnector = require('../../base/connector/baseConnector.js');
|
|
13
14
|
require('../../base/connector/connectorStatus.js');
|
|
14
15
|
var constants = require('../../base/connector/constants.js');
|
|
15
16
|
require('@web3auth/auth');
|
|
16
|
-
|
|
17
|
+
require('jwt-decode');
|
|
18
|
+
var constants$1 = require('../../base/constants.js');
|
|
17
19
|
var index$1 = require('../../base/errors/index.js');
|
|
18
20
|
var loglevel = require('../../base/loglevel.js');
|
|
19
21
|
require('../../base/plugin/errors.js');
|
|
@@ -22,6 +24,8 @@ var utils = require('../../base/utils.js');
|
|
|
22
24
|
var index = require('../../base/wallet/index.js');
|
|
23
25
|
var config = require('./config.js');
|
|
24
26
|
var WalletConnectV2Provider = require('./WalletConnectV2Provider.js');
|
|
27
|
+
var wcSolanaWallet = require('./wcSolanaWallet.js');
|
|
28
|
+
var solana = require('../../base/wallet/solana.js');
|
|
25
29
|
|
|
26
30
|
class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
27
31
|
constructor(options) {
|
|
@@ -39,6 +43,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
39
43
|
_defineProperty(this, "connector", null);
|
|
40
44
|
_defineProperty(this, "activeSession", null);
|
|
41
45
|
_defineProperty(this, "wcProvider", null);
|
|
46
|
+
_defineProperty(this, "_solanaWallet", null);
|
|
42
47
|
_defineProperty(this, "analytics", void 0);
|
|
43
48
|
this.connectorOptions = _objectSpread({}, options);
|
|
44
49
|
const {
|
|
@@ -66,6 +71,9 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
66
71
|
}
|
|
67
72
|
return null;
|
|
68
73
|
}
|
|
74
|
+
get solanaWallet() {
|
|
75
|
+
return this._solanaWallet;
|
|
76
|
+
}
|
|
69
77
|
set provider(_) {
|
|
70
78
|
throw new Error("Not implemented");
|
|
71
79
|
}
|
|
@@ -106,7 +114,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
106
114
|
try {
|
|
107
115
|
await this.onConnectHandler({
|
|
108
116
|
chain: chainConfig,
|
|
109
|
-
|
|
117
|
+
getAuthTokenInfo: options.getAuthTokenInfo
|
|
110
118
|
});
|
|
111
119
|
} catch (error) {
|
|
112
120
|
loglevel.log.error("wallet auto connect", error);
|
|
@@ -120,7 +128,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
120
128
|
}
|
|
121
129
|
async connect({
|
|
122
130
|
chainId,
|
|
123
|
-
|
|
131
|
+
getAuthTokenInfo
|
|
124
132
|
}) {
|
|
125
133
|
super.checkConnectionRequirements();
|
|
126
134
|
const chainConfig = this.coreOptions.chains.find(x => x.chainId === chainId);
|
|
@@ -171,18 +179,26 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
171
179
|
if (this.connected) {
|
|
172
180
|
await this.onConnectHandler({
|
|
173
181
|
chain: chainConfig,
|
|
174
|
-
|
|
182
|
+
getAuthTokenInfo
|
|
175
183
|
});
|
|
176
|
-
return
|
|
184
|
+
return {
|
|
185
|
+
ethereumProvider: this.provider,
|
|
186
|
+
solanaWallet: this._solanaWallet,
|
|
187
|
+
connectorName: this.name
|
|
188
|
+
};
|
|
177
189
|
}
|
|
178
190
|
if (this.status !== constants.CONNECTOR_STATUS.CONNECTING) {
|
|
179
191
|
await this.createNewSession({
|
|
180
192
|
chainConfig,
|
|
181
193
|
trackCompletionEvents,
|
|
182
|
-
|
|
194
|
+
getAuthTokenInfo
|
|
183
195
|
});
|
|
184
196
|
}
|
|
185
|
-
return
|
|
197
|
+
return {
|
|
198
|
+
ethereumProvider: this.provider,
|
|
199
|
+
solanaWallet: this._solanaWallet,
|
|
200
|
+
connectorName: this.name
|
|
201
|
+
};
|
|
186
202
|
} catch (error) {
|
|
187
203
|
loglevel.log.error("Wallet connect v2 connector error while connecting", error);
|
|
188
204
|
// ready again to be connected
|
|
@@ -228,9 +244,11 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
228
244
|
if (!this.connector || !this.connected || !((_this$activeSession2 = this.activeSession) !== null && _this$activeSession2 !== void 0 && _this$activeSession2.topic)) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet");
|
|
229
245
|
if (!options.sessionRemovedByWallet) await this.connector.disconnect({
|
|
230
246
|
topic: (_this$activeSession3 = this.activeSession) === null || _this$activeSession3 === void 0 ? void 0 : _this$activeSession3.topic,
|
|
231
|
-
reason: utils$
|
|
247
|
+
reason: utils$1.getSdkError("USER_DISCONNECTED")
|
|
232
248
|
});
|
|
249
|
+
await this.clearWalletSession();
|
|
233
250
|
this.rehydrated = false;
|
|
251
|
+
this._solanaWallet = null;
|
|
234
252
|
if (cleanup) {
|
|
235
253
|
this.connector = null;
|
|
236
254
|
this.status = constants.CONNECTOR_STATUS.NOT_READY;
|
|
@@ -240,9 +258,11 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
240
258
|
this.status = constants.CONNECTOR_STATUS.READY;
|
|
241
259
|
}
|
|
242
260
|
this.activeSession = null;
|
|
243
|
-
this.emit(constants.CONNECTOR_EVENTS.DISCONNECTED
|
|
261
|
+
this.emit(constants.CONNECTOR_EVENTS.DISCONNECTED, {
|
|
262
|
+
connector: index.WALLET_CONNECTORS.WALLET_CONNECT_V2
|
|
263
|
+
});
|
|
244
264
|
}
|
|
245
|
-
async
|
|
265
|
+
async getAuthTokenInfo() {
|
|
246
266
|
if (!this.provider || !this.canAuthorize) throw index$1.WalletLoginError.notConnectedError();
|
|
247
267
|
this.status = constants.CONNECTOR_STATUS.AUTHORIZING;
|
|
248
268
|
this.emit(constants.CONNECTOR_EVENTS.AUTHORIZING, {
|
|
@@ -256,52 +276,59 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
256
276
|
const {
|
|
257
277
|
chainNamespace
|
|
258
278
|
} = currentChainConfig;
|
|
259
|
-
const accounts = await this.provider.request({
|
|
260
|
-
method:
|
|
279
|
+
const accounts = chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA && this._solanaWallet ? this._solanaWallet.accounts.map(a => a.address) : await this.provider.request({
|
|
280
|
+
method: wsEmbed.EVM_METHOD_TYPES.GET_ACCOUNTS
|
|
261
281
|
});
|
|
262
282
|
if (accounts && accounts.length > 0) {
|
|
263
|
-
const
|
|
264
|
-
if (
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
idToken: existingToken
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
const payload = {
|
|
280
|
-
domain: window.location.origin,
|
|
281
|
-
uri: window.location.href,
|
|
282
|
-
address: accounts[0],
|
|
283
|
-
chainId: parseInt(chainId, 16),
|
|
284
|
-
version: "1",
|
|
285
|
-
nonce: Math.random().toString(36).slice(2),
|
|
286
|
-
issuedAt: new Date().toISOString()
|
|
287
|
-
};
|
|
288
|
-
const challenge = await baseControllers.signChallenge(payload, chainNamespace);
|
|
289
|
-
const signedMessage = await this._getSignedMessage(challenge, accounts, chainNamespace);
|
|
290
|
-
const idToken = await baseControllers.verifySignedChallenge(chainNamespace, signedMessage, challenge, this.name, this.coreOptions.sessionTime, this.coreOptions.clientId, this.coreOptions.web3AuthNetwork);
|
|
291
|
-
utils$1.saveToken(accounts[0], this.name, idToken);
|
|
292
|
-
this.status = constants.CONNECTOR_STATUS.AUTHORIZED;
|
|
293
|
-
this.emit(constants.CONNECTOR_EVENTS.AUTHORIZED, {
|
|
294
|
-
connector: index.WALLET_CONNECTORS.WALLET_CONNECT_V2,
|
|
295
|
-
identityTokenInfo: {
|
|
296
|
-
idToken
|
|
297
|
-
}
|
|
283
|
+
const cached = await this.getCachedOrNullAuthTokenInfo(accounts[0]);
|
|
284
|
+
if (cached) return cached;
|
|
285
|
+
const authServer = utils.citadelServerUrl(this.coreOptions.authBuildEnv);
|
|
286
|
+
const {
|
|
287
|
+
challenge,
|
|
288
|
+
signature
|
|
289
|
+
} = await this.generateChallengeAndSign(authServer, accounts);
|
|
290
|
+
return this.verifyAndAuthorize({
|
|
291
|
+
chainNamespace,
|
|
292
|
+
signedMessage: signature,
|
|
293
|
+
challenge,
|
|
294
|
+
authServer
|
|
298
295
|
});
|
|
299
|
-
return {
|
|
300
|
-
idToken
|
|
301
|
-
};
|
|
302
296
|
}
|
|
303
297
|
throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
304
298
|
}
|
|
299
|
+
async generateChallengeAndSign(authServerUrl, accounts) {
|
|
300
|
+
const {
|
|
301
|
+
chainId
|
|
302
|
+
} = this.provider;
|
|
303
|
+
const currentChainConfig = this.coreOptions.chains.find(x => x.chainId === chainId);
|
|
304
|
+
if (!currentChainConfig) throw index$1.WalletLoginError.connectionError("Chain config is not available");
|
|
305
|
+
const {
|
|
306
|
+
chainNamespace
|
|
307
|
+
} = currentChainConfig;
|
|
308
|
+
const accountsToUse = accounts || (chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA && this._solanaWallet ? this._solanaWallet.accounts.map(a => a.address) : await this.provider.request({
|
|
309
|
+
method: wsEmbed.EVM_METHOD_TYPES.GET_ACCOUNTS
|
|
310
|
+
}));
|
|
311
|
+
if (!accountsToUse || accountsToUse.length === 0) {
|
|
312
|
+
throw index$1.WalletLoginError.notConnectedError("No accounts found in the connected wallet");
|
|
313
|
+
}
|
|
314
|
+
const payload = {
|
|
315
|
+
domain: window.location.origin,
|
|
316
|
+
uri: window.location.href,
|
|
317
|
+
address: accountsToUse[0],
|
|
318
|
+
chainId: parseInt(chainId, 16),
|
|
319
|
+
version: "1",
|
|
320
|
+
nonce: siwe.generateSiweNonce(),
|
|
321
|
+
issuedAt: new Date().toISOString()
|
|
322
|
+
};
|
|
323
|
+
const authServer = authServerUrl || utils.citadelServerUrl(this.coreOptions.authBuildEnv);
|
|
324
|
+
const challenge = await baseControllers.signChallenge(payload, chainNamespace, authServer);
|
|
325
|
+
const signature = await this._getSignedMessage(challenge, accountsToUse, chainNamespace);
|
|
326
|
+
return {
|
|
327
|
+
challenge,
|
|
328
|
+
signature,
|
|
329
|
+
chainNamespace
|
|
330
|
+
};
|
|
331
|
+
}
|
|
305
332
|
async enableMFA() {
|
|
306
333
|
throw new Error("Method Not implemented");
|
|
307
334
|
}
|
|
@@ -313,10 +340,10 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
313
340
|
const inactivePairings = this.connector.pairing.getAll({
|
|
314
341
|
active: false
|
|
315
342
|
});
|
|
316
|
-
if (!utils$
|
|
343
|
+
if (!utils$1.isValidArray(inactivePairings)) return;
|
|
317
344
|
inactivePairings.forEach(pairing => {
|
|
318
345
|
if (this.connector) {
|
|
319
|
-
this.connector.pairing.delete(pairing.topic, utils$
|
|
346
|
+
this.connector.pairing.delete(pairing.topic, utils$1.getSdkError("USER_DISCONNECTED"));
|
|
320
347
|
}
|
|
321
348
|
});
|
|
322
349
|
}
|
|
@@ -332,7 +359,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
332
359
|
forceNewSession = false,
|
|
333
360
|
chainConfig,
|
|
334
361
|
trackCompletionEvents,
|
|
335
|
-
|
|
362
|
+
getAuthTokenInfo
|
|
336
363
|
}) {
|
|
337
364
|
try {
|
|
338
365
|
var _this$activeSession4, _this$connectorOption7;
|
|
@@ -346,7 +373,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
346
373
|
var _this$activeSession5;
|
|
347
374
|
await this.connector.disconnect({
|
|
348
375
|
topic: (_this$activeSession5 = this.activeSession) === null || _this$activeSession5 === void 0 ? void 0 : _this$activeSession5.topic,
|
|
349
|
-
reason: utils$
|
|
376
|
+
reason: utils$1.getSdkError("USER_DISCONNECTED")
|
|
350
377
|
});
|
|
351
378
|
}
|
|
352
379
|
const {
|
|
@@ -381,7 +408,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
381
408
|
await this.onConnectHandler({
|
|
382
409
|
chain: chainConfig,
|
|
383
410
|
trackCompletionEvents,
|
|
384
|
-
|
|
411
|
+
getAuthTokenInfo
|
|
385
412
|
});
|
|
386
413
|
if (qrcodeModal) {
|
|
387
414
|
qrcodeModal.closeModal();
|
|
@@ -396,7 +423,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
396
423
|
return this.createNewSession({
|
|
397
424
|
forceNewSession: true,
|
|
398
425
|
chainConfig,
|
|
399
|
-
|
|
426
|
+
getAuthTokenInfo
|
|
400
427
|
});
|
|
401
428
|
}
|
|
402
429
|
if (this.status === constants.CONNECTOR_STATUS.READY) {
|
|
@@ -412,9 +439,9 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
412
439
|
async onConnectHandler({
|
|
413
440
|
chain,
|
|
414
441
|
trackCompletionEvents,
|
|
415
|
-
|
|
442
|
+
getAuthTokenInfo
|
|
416
443
|
}) {
|
|
417
|
-
var _this$connectorOption8;
|
|
444
|
+
var _this$connectorOption8, _this$activeSession$n, _this$activeSession6;
|
|
418
445
|
if (!this.connector || !this.wcProvider) throw index$1.WalletInitializationError.notReady("Wallet connect connector is not ready yet");
|
|
419
446
|
this.subscribeEvents();
|
|
420
447
|
if ((_this$connectorOption8 = this.connectorOptions.connectorSettings) !== null && _this$connectorOption8 !== void 0 && _this$connectorOption8.qrcodeModal) {
|
|
@@ -428,19 +455,30 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
428
455
|
});
|
|
429
456
|
}
|
|
430
457
|
await this.wcProvider.setupProvider(this.connector);
|
|
458
|
+
// Derive the active Solana chain from the WC session namespaces (genesis hash → hex chainId),
|
|
459
|
+
// rather than picking the first Solana chain from coreOptions which may not match the session.
|
|
460
|
+
const sessionSolanaChains = (_this$activeSession$n = (_this$activeSession6 = this.activeSession) === null || _this$activeSession6 === void 0 || (_this$activeSession6 = _this$activeSession6.namespaces) === null || _this$activeSession6 === void 0 || (_this$activeSession6 = _this$activeSession6.solana) === null || _this$activeSession6 === void 0 ? void 0 : _this$activeSession6.chains) !== null && _this$activeSession$n !== void 0 ? _this$activeSession$n : [];
|
|
461
|
+
if (sessionSolanaChains.length > 0) {
|
|
462
|
+
const reverseMap = Object.fromEntries(Object.entries(constants$1.SOLANA_CAIP_CHAIN_MAP).map(([hex, hash]) => [hash, hex]));
|
|
463
|
+
const genesisHash = sessionSolanaChains[0].split(":")[1];
|
|
464
|
+
const hexChainId = reverseMap[genesisHash];
|
|
465
|
+
const solanaChain = hexChainId ? this.coreOptions.chains.find(c => c.chainId === hexChainId) : null;
|
|
466
|
+
if (solanaChain) {
|
|
467
|
+
this._solanaWallet = await wcSolanaWallet.WCSolanaWallet.create(this.connector, solanaChain);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
431
470
|
this.cleanupPendingPairings();
|
|
432
471
|
this.status = constants.CONNECTOR_STATUS.CONNECTED;
|
|
433
472
|
// track connection events
|
|
434
473
|
if (trackCompletionEvents) trackCompletionEvents();
|
|
435
|
-
let identityTokenInfo;
|
|
436
474
|
this.emit(constants.CONNECTOR_EVENTS.CONNECTED, {
|
|
437
|
-
|
|
475
|
+
connectorName: index.WALLET_CONNECTORS.WALLET_CONNECT_V2,
|
|
438
476
|
reconnected: this.rehydrated,
|
|
439
|
-
|
|
440
|
-
|
|
477
|
+
ethereumProvider: this.provider,
|
|
478
|
+
solanaWallet: this._solanaWallet
|
|
441
479
|
});
|
|
442
|
-
if (
|
|
443
|
-
|
|
480
|
+
if (getAuthTokenInfo) {
|
|
481
|
+
await this.getAuthTokenInfo();
|
|
444
482
|
}
|
|
445
483
|
}
|
|
446
484
|
subscribeEvents() {
|
|
@@ -470,10 +508,10 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
470
508
|
this.connector.events.on("session_expire", ({
|
|
471
509
|
topic
|
|
472
510
|
}) => {
|
|
473
|
-
var _this$
|
|
511
|
+
var _this$activeSession7;
|
|
474
512
|
// Session has expired -> clean up the session
|
|
475
513
|
loglevel.log.info("Session expired event received for topic:", topic);
|
|
476
|
-
if (((_this$
|
|
514
|
+
if (((_this$activeSession7 = this.activeSession) === null || _this$activeSession7 === void 0 ? void 0 : _this$activeSession7.topic) === topic) {
|
|
477
515
|
this.disconnect({
|
|
478
516
|
sessionRemovedByWallet: true
|
|
479
517
|
}).catch(error => {
|
|
@@ -483,13 +521,13 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
483
521
|
});
|
|
484
522
|
}
|
|
485
523
|
async _getSignedMessage(challenge, accounts, chainNamespace) {
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
524
|
+
if (chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA && this._solanaWallet) {
|
|
525
|
+
return solana.walletSignMessage(this._solanaWallet, challenge, accounts[0]);
|
|
526
|
+
}
|
|
527
|
+
return this.provider.request({
|
|
528
|
+
method: wsEmbed.EVM_METHOD_TYPES.PERSONAL_SIGN,
|
|
529
|
+
params: [challenge, accounts[0]]
|
|
491
530
|
});
|
|
492
|
-
return signedMessage;
|
|
493
531
|
}
|
|
494
532
|
}
|
|
495
533
|
const walletConnectV2Connector = params => {
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
-
var bs58 = require('@toruslabs/bs58');
|
|
5
4
|
var ethereumControllers = require('@toruslabs/ethereum-controllers');
|
|
6
5
|
var utils$1 = require('@walletconnect/utils');
|
|
7
6
|
var auth = require('@web3auth/auth');
|
|
8
7
|
var wsEmbed = require('@web3auth/ws-embed');
|
|
9
8
|
require('@babel/runtime/helpers/defineProperty');
|
|
10
9
|
require('@segment/analytics-next');
|
|
11
|
-
require('../../base/loglevel.js');
|
|
10
|
+
var loglevel = require('../../base/loglevel.js');
|
|
12
11
|
require('@toruslabs/base-controllers');
|
|
12
|
+
require('@toruslabs/session-manager');
|
|
13
13
|
var index = require('../../base/errors/index.js');
|
|
14
|
+
require('@toruslabs/constants');
|
|
15
|
+
require('@toruslabs/http-helpers');
|
|
16
|
+
require('../../base/constants.js');
|
|
14
17
|
require('../../base/wallet/index.js');
|
|
15
18
|
require('../../base/connector/connectorStatus.js');
|
|
16
19
|
require('../../base/connector/constants.js');
|
|
17
20
|
require('jwt-decode');
|
|
18
|
-
var constants = require('../../base/constants.js');
|
|
19
21
|
require('../../base/plugin/errors.js');
|
|
20
22
|
require('../../base/plugin/IPlugin.js');
|
|
21
|
-
require('@toruslabs/constants');
|
|
22
|
-
require('@toruslabs/http-helpers');
|
|
23
23
|
var utils = require('./utils.js');
|
|
24
24
|
|
|
25
25
|
async function getLastActiveSession(signClient) {
|
|
@@ -42,7 +42,16 @@ async function sendJrpcRequest(signClient, chainId, method, params) {
|
|
|
42
42
|
}
|
|
43
43
|
if (typeof window !== "undefined" && isMobileDevice()) {
|
|
44
44
|
if (session.peer.metadata.redirect && session.peer.metadata.redirect.native) {
|
|
45
|
-
|
|
45
|
+
const redirectUrl = session.peer.metadata.redirect.native;
|
|
46
|
+
try {
|
|
47
|
+
const parsedUrl = new URL(redirectUrl);
|
|
48
|
+
if (["javascript:", "data:", "vbscript:"].includes(parsedUrl.protocol)) {
|
|
49
|
+
throw new Error("Invalid redirect scheme");
|
|
50
|
+
}
|
|
51
|
+
window.open(parsedUrl.href, "_blank");
|
|
52
|
+
} catch (e) {
|
|
53
|
+
loglevel.log.error("Invalid redirect URL", e);
|
|
54
|
+
}
|
|
46
55
|
}
|
|
47
56
|
}
|
|
48
57
|
return signClient.request({
|
|
@@ -69,6 +78,14 @@ async function getAccounts(signClient) {
|
|
|
69
78
|
}
|
|
70
79
|
throw index.WalletLoginError.connectionError("Failed to get accounts");
|
|
71
80
|
}
|
|
81
|
+
async function getSolanaAccounts(signClient) {
|
|
82
|
+
const session = await getLastActiveSession(signClient);
|
|
83
|
+
if (!session) {
|
|
84
|
+
throw auth.providerErrors.disconnected();
|
|
85
|
+
}
|
|
86
|
+
const accounts = utils$1.getAccountsFromNamespaces(session.namespaces);
|
|
87
|
+
return [...new Set(accounts.filter(add => add.startsWith("solana:")).map(add => utils$1.parseAccountId(add).address))];
|
|
88
|
+
}
|
|
72
89
|
function getEthProviderHandlers({
|
|
73
90
|
connector,
|
|
74
91
|
chainId
|
|
@@ -124,50 +141,6 @@ function getEthProviderHandlers({
|
|
|
124
141
|
}
|
|
125
142
|
};
|
|
126
143
|
}
|
|
127
|
-
function getSolProviderHandlers({
|
|
128
|
-
connector,
|
|
129
|
-
chainId
|
|
130
|
-
}) {
|
|
131
|
-
return {
|
|
132
|
-
requestAccounts: async _ => {
|
|
133
|
-
return getAccounts(connector);
|
|
134
|
-
},
|
|
135
|
-
getPrivateKey: async () => {
|
|
136
|
-
throw auth.rpcErrors.methodNotSupported();
|
|
137
|
-
},
|
|
138
|
-
getSecretKey: async () => {
|
|
139
|
-
throw auth.rpcErrors.methodNotSupported();
|
|
140
|
-
},
|
|
141
|
-
getPublicKey: async () => {
|
|
142
|
-
throw auth.rpcErrors.methodNotSupported();
|
|
143
|
-
},
|
|
144
|
-
getAccounts: async _ => {
|
|
145
|
-
return getAccounts(connector);
|
|
146
|
-
},
|
|
147
|
-
signAllTransactions: async _ => {
|
|
148
|
-
throw auth.rpcErrors.methodNotSupported();
|
|
149
|
-
},
|
|
150
|
-
signAndSendTransaction: async _ => {
|
|
151
|
-
throw auth.rpcErrors.methodNotSupported();
|
|
152
|
-
},
|
|
153
|
-
signMessage: async req => {
|
|
154
|
-
const methodRes = await sendJrpcRequest(connector, `solana:${constants.SOLANA_CAIP_CHAIN_MAP[chainId]}`, wsEmbed.SOLANA_METHOD_TYPES.SIGN_MESSAGE, {
|
|
155
|
-
message: bs58.bs58.encode(Buffer.from(req.params.data, "utf-8"))
|
|
156
|
-
});
|
|
157
|
-
return methodRes.signature;
|
|
158
|
-
},
|
|
159
|
-
signTransaction: async req => {
|
|
160
|
-
const accounts = await getAccounts(connector);
|
|
161
|
-
if (accounts.length === 0) {
|
|
162
|
-
throw auth.providerErrors.disconnected();
|
|
163
|
-
}
|
|
164
|
-
const methodRes = await sendJrpcRequest(connector, `solana:${constants.SOLANA_CAIP_CHAIN_MAP[chainId]}`, wsEmbed.SOLANA_METHOD_TYPES.SIGN_TRANSACTION, {
|
|
165
|
-
transaction: req.params.message
|
|
166
|
-
});
|
|
167
|
-
return methodRes.signature;
|
|
168
|
-
}
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
144
|
async function switchChain({
|
|
172
145
|
connector,
|
|
173
146
|
chainId,
|
|
@@ -198,6 +171,6 @@ async function addChain({
|
|
|
198
171
|
exports.addChain = addChain;
|
|
199
172
|
exports.getAccounts = getAccounts;
|
|
200
173
|
exports.getEthProviderHandlers = getEthProviderHandlers;
|
|
201
|
-
exports.
|
|
174
|
+
exports.getSolanaAccounts = getSolanaAccounts;
|
|
202
175
|
exports.sendJrpcRequest = sendJrpcRequest;
|
|
203
176
|
exports.switchChain = switchChain;
|