@web3auth/no-modal 10.15.0 → 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 +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 +73 -63
- 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 +36 -71
- 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 -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 +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/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/injectedEvmConnector.js +14 -11
- 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/walletConnectV2Connector.js +70 -61
- 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 +9 -17
- 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/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 +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 +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 +4 -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 +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 -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 -48
|
@@ -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;
|
|
@@ -242,7 +260,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
242
260
|
this.activeSession = null;
|
|
243
261
|
this.emit(constants.CONNECTOR_EVENTS.DISCONNECTED);
|
|
244
262
|
}
|
|
245
|
-
async
|
|
263
|
+
async getAuthTokenInfo() {
|
|
246
264
|
if (!this.provider || !this.canAuthorize) throw index$1.WalletLoginError.notConnectedError();
|
|
247
265
|
this.status = constants.CONNECTOR_STATUS.AUTHORIZING;
|
|
248
266
|
this.emit(constants.CONNECTOR_EVENTS.AUTHORIZING, {
|
|
@@ -256,49 +274,30 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
256
274
|
const {
|
|
257
275
|
chainNamespace
|
|
258
276
|
} = currentChainConfig;
|
|
259
|
-
const accounts = await this.provider.request({
|
|
260
|
-
method:
|
|
277
|
+
const accounts = chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA && this._solanaWallet ? this._solanaWallet.accounts.map(a => a.address) : await this.provider.request({
|
|
278
|
+
method: wsEmbed.EVM_METHOD_TYPES.GET_ACCOUNTS
|
|
261
279
|
});
|
|
262
280
|
if (accounts && accounts.length > 0) {
|
|
263
|
-
const
|
|
264
|
-
if (
|
|
265
|
-
const isExpired = utils$1.checkIfTokenIsExpired(existingToken);
|
|
266
|
-
if (!isExpired) {
|
|
267
|
-
this.status = constants.CONNECTOR_STATUS.AUTHORIZED;
|
|
268
|
-
this.emit(constants.CONNECTOR_EVENTS.AUTHORIZED, {
|
|
269
|
-
connector: index.WALLET_CONNECTORS.WALLET_CONNECT_V2,
|
|
270
|
-
identityTokenInfo: {
|
|
271
|
-
idToken: existingToken
|
|
272
|
-
}
|
|
273
|
-
});
|
|
274
|
-
return {
|
|
275
|
-
idToken: existingToken
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
}
|
|
281
|
+
const cached = await this.getCachedOrNullAuthTokenInfo(accounts[0]);
|
|
282
|
+
if (cached) return cached;
|
|
279
283
|
const payload = {
|
|
280
284
|
domain: window.location.origin,
|
|
281
285
|
uri: window.location.href,
|
|
282
286
|
address: accounts[0],
|
|
283
287
|
chainId: parseInt(chainId, 16),
|
|
284
288
|
version: "1",
|
|
285
|
-
nonce:
|
|
289
|
+
nonce: siwe.generateSiweNonce(),
|
|
286
290
|
issuedAt: new Date().toISOString()
|
|
287
291
|
};
|
|
288
|
-
const
|
|
292
|
+
const authServer = utils.citadelServerUrl(this.coreOptions.authBuildEnv);
|
|
293
|
+
const challenge = await baseControllers.signChallenge(payload, chainNamespace, authServer);
|
|
289
294
|
const signedMessage = await this._getSignedMessage(challenge, accounts, chainNamespace);
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
identityTokenInfo: {
|
|
296
|
-
idToken
|
|
297
|
-
}
|
|
295
|
+
return this.verifyAndAuthorize({
|
|
296
|
+
chainNamespace,
|
|
297
|
+
signedMessage: signedMessage,
|
|
298
|
+
challenge,
|
|
299
|
+
authServer
|
|
298
300
|
});
|
|
299
|
-
return {
|
|
300
|
-
idToken
|
|
301
|
-
};
|
|
302
301
|
}
|
|
303
302
|
throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
304
303
|
}
|
|
@@ -313,10 +312,10 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
313
312
|
const inactivePairings = this.connector.pairing.getAll({
|
|
314
313
|
active: false
|
|
315
314
|
});
|
|
316
|
-
if (!utils$
|
|
315
|
+
if (!utils$1.isValidArray(inactivePairings)) return;
|
|
317
316
|
inactivePairings.forEach(pairing => {
|
|
318
317
|
if (this.connector) {
|
|
319
|
-
this.connector.pairing.delete(pairing.topic, utils$
|
|
318
|
+
this.connector.pairing.delete(pairing.topic, utils$1.getSdkError("USER_DISCONNECTED"));
|
|
320
319
|
}
|
|
321
320
|
});
|
|
322
321
|
}
|
|
@@ -332,7 +331,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
332
331
|
forceNewSession = false,
|
|
333
332
|
chainConfig,
|
|
334
333
|
trackCompletionEvents,
|
|
335
|
-
|
|
334
|
+
getAuthTokenInfo
|
|
336
335
|
}) {
|
|
337
336
|
try {
|
|
338
337
|
var _this$activeSession4, _this$connectorOption7;
|
|
@@ -346,7 +345,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
346
345
|
var _this$activeSession5;
|
|
347
346
|
await this.connector.disconnect({
|
|
348
347
|
topic: (_this$activeSession5 = this.activeSession) === null || _this$activeSession5 === void 0 ? void 0 : _this$activeSession5.topic,
|
|
349
|
-
reason: utils$
|
|
348
|
+
reason: utils$1.getSdkError("USER_DISCONNECTED")
|
|
350
349
|
});
|
|
351
350
|
}
|
|
352
351
|
const {
|
|
@@ -381,7 +380,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
381
380
|
await this.onConnectHandler({
|
|
382
381
|
chain: chainConfig,
|
|
383
382
|
trackCompletionEvents,
|
|
384
|
-
|
|
383
|
+
getAuthTokenInfo
|
|
385
384
|
});
|
|
386
385
|
if (qrcodeModal) {
|
|
387
386
|
qrcodeModal.closeModal();
|
|
@@ -396,7 +395,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
396
395
|
return this.createNewSession({
|
|
397
396
|
forceNewSession: true,
|
|
398
397
|
chainConfig,
|
|
399
|
-
|
|
398
|
+
getAuthTokenInfo
|
|
400
399
|
});
|
|
401
400
|
}
|
|
402
401
|
if (this.status === constants.CONNECTOR_STATUS.READY) {
|
|
@@ -412,9 +411,9 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
412
411
|
async onConnectHandler({
|
|
413
412
|
chain,
|
|
414
413
|
trackCompletionEvents,
|
|
415
|
-
|
|
414
|
+
getAuthTokenInfo
|
|
416
415
|
}) {
|
|
417
|
-
var _this$connectorOption8;
|
|
416
|
+
var _this$connectorOption8, _this$activeSession$n, _this$activeSession6;
|
|
418
417
|
if (!this.connector || !this.wcProvider) throw index$1.WalletInitializationError.notReady("Wallet connect connector is not ready yet");
|
|
419
418
|
this.subscribeEvents();
|
|
420
419
|
if ((_this$connectorOption8 = this.connectorOptions.connectorSettings) !== null && _this$connectorOption8 !== void 0 && _this$connectorOption8.qrcodeModal) {
|
|
@@ -428,19 +427,30 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
428
427
|
});
|
|
429
428
|
}
|
|
430
429
|
await this.wcProvider.setupProvider(this.connector);
|
|
430
|
+
// Derive the active Solana chain from the WC session namespaces (genesis hash → hex chainId),
|
|
431
|
+
// rather than picking the first Solana chain from coreOptions which may not match the session.
|
|
432
|
+
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 : [];
|
|
433
|
+
if (sessionSolanaChains.length > 0) {
|
|
434
|
+
const reverseMap = Object.fromEntries(Object.entries(constants$1.SOLANA_CAIP_CHAIN_MAP).map(([hex, hash]) => [hash, hex]));
|
|
435
|
+
const genesisHash = sessionSolanaChains[0].split(":")[1];
|
|
436
|
+
const hexChainId = reverseMap[genesisHash];
|
|
437
|
+
const solanaChain = hexChainId ? this.coreOptions.chains.find(c => c.chainId === hexChainId) : null;
|
|
438
|
+
if (solanaChain) {
|
|
439
|
+
this._solanaWallet = await wcSolanaWallet.WCSolanaWallet.create(this.connector, solanaChain);
|
|
440
|
+
}
|
|
441
|
+
}
|
|
431
442
|
this.cleanupPendingPairings();
|
|
432
443
|
this.status = constants.CONNECTOR_STATUS.CONNECTED;
|
|
433
444
|
// track connection events
|
|
434
445
|
if (trackCompletionEvents) trackCompletionEvents();
|
|
435
|
-
let identityTokenInfo;
|
|
436
446
|
this.emit(constants.CONNECTOR_EVENTS.CONNECTED, {
|
|
437
|
-
|
|
447
|
+
connectorName: index.WALLET_CONNECTORS.WALLET_CONNECT_V2,
|
|
438
448
|
reconnected: this.rehydrated,
|
|
439
|
-
|
|
440
|
-
|
|
449
|
+
ethereumProvider: this.provider,
|
|
450
|
+
solanaWallet: this._solanaWallet
|
|
441
451
|
});
|
|
442
|
-
if (
|
|
443
|
-
|
|
452
|
+
if (getAuthTokenInfo) {
|
|
453
|
+
await this.getAuthTokenInfo();
|
|
444
454
|
}
|
|
445
455
|
}
|
|
446
456
|
subscribeEvents() {
|
|
@@ -470,10 +480,10 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
470
480
|
this.connector.events.on("session_expire", ({
|
|
471
481
|
topic
|
|
472
482
|
}) => {
|
|
473
|
-
var _this$
|
|
483
|
+
var _this$activeSession7;
|
|
474
484
|
// Session has expired -> clean up the session
|
|
475
485
|
loglevel.log.info("Session expired event received for topic:", topic);
|
|
476
|
-
if (((_this$
|
|
486
|
+
if (((_this$activeSession7 = this.activeSession) === null || _this$activeSession7 === void 0 ? void 0 : _this$activeSession7.topic) === topic) {
|
|
477
487
|
this.disconnect({
|
|
478
488
|
sessionRemovedByWallet: true
|
|
479
489
|
}).catch(error => {
|
|
@@ -483,13 +493,13 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
483
493
|
});
|
|
484
494
|
}
|
|
485
495
|
async _getSignedMessage(challenge, accounts, chainNamespace) {
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
496
|
+
if (chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA && this._solanaWallet) {
|
|
497
|
+
return solana.walletSignMessage(this._solanaWallet, challenge, accounts[0]);
|
|
498
|
+
}
|
|
499
|
+
return this.provider.request({
|
|
500
|
+
method: wsEmbed.EVM_METHOD_TYPES.PERSONAL_SIGN,
|
|
501
|
+
params: [challenge, accounts[0]]
|
|
491
502
|
});
|
|
492
|
-
return signedMessage;
|
|
493
503
|
}
|
|
494
504
|
}
|
|
495
505
|
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;
|