@web3auth/no-modal 10.14.1 → 11.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib.cjs/base/connector/baseConnector.js +104 -2
- package/dist/lib.cjs/base/connector/connectorStatus.js +2 -0
- package/dist/lib.cjs/base/connector/constants.js +4 -2
- package/dist/lib.cjs/base/connector/utils.js +0 -21
- package/dist/lib.cjs/base/constants.js +4 -0
- package/dist/lib.cjs/base/cookie.js +6 -20
- package/dist/lib.cjs/base/errors/index.js +36 -12
- package/dist/lib.cjs/base/utils.js +10 -11
- package/dist/lib.cjs/base/wallet/index.js +7 -0
- package/dist/lib.cjs/base/wallet/solana.js +83 -0
- package/dist/lib.cjs/connectors/auth-connector/authConnector.js +145 -49
- package/dist/lib.cjs/connectors/auth-connector/authSolanaWallet.js +187 -0
- package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +18 -40
- package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +30 -56
- package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +19 -14
- package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +18 -13
- package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +24 -36
- package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +321 -133
- package/dist/lib.cjs/connectors/utils.js +8 -2
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +13 -38
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +4 -3
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +73 -63
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +40 -47
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +144 -0
- package/dist/lib.cjs/index.js +50 -85
- package/dist/lib.cjs/noModal.js +223 -133
- package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +23 -39
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +12 -10
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +8 -6
- package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +47 -44
- package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +1 -3
- package/dist/lib.cjs/providers/base-provider/baseProvider.js +4 -2
- package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +8 -11
- package/dist/lib.cjs/providers/base-provider/index.js +0 -1
- package/dist/lib.cjs/providers/base-provider/jrpcClient.js +18 -19
- package/dist/lib.cjs/providers/base-provider/utils.js +0 -3
- package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +22 -35
- package/dist/lib.cjs/providers/ethereum-provider/rpc/jrpcClient.js +18 -19
- package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMiddleware.js +200 -0
- package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +9 -18
- package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
- package/dist/lib.cjs/providers/xrpl-provider/rpc/JrpcClient.js +19 -26
- package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +46 -37
- package/dist/lib.cjs/react/context/WalletServicesInnerContext.js +2 -69
- package/dist/lib.cjs/react/context/Web3AuthInnerContext.js +6 -161
- package/dist/lib.cjs/react/context/useWalletServicesContextValue.js +76 -0
- package/dist/lib.cjs/react/context/useWeb3AuthInnerContextValue.js +202 -0
- package/dist/lib.cjs/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
- package/dist/lib.cjs/react/hooks/useCheckout.js +4 -2
- package/dist/lib.cjs/react/hooks/useFunding.js +4 -2
- package/dist/lib.cjs/react/hooks/useReceive.js +4 -2
- package/dist/lib.cjs/react/hooks/useSwap.js +4 -2
- package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +4 -2
- package/dist/lib.cjs/react/hooks/useWalletServicesPlugin.js +3 -10
- package/dist/lib.cjs/react/hooks/useWalletUI.js +4 -2
- package/dist/lib.cjs/react/hooks/useWeb3Auth.js +1 -22
- package/dist/lib.cjs/react/hooks/useWeb3AuthInner.js +4 -2
- package/dist/lib.cjs/react/index.js +10 -2
- package/dist/lib.cjs/react/solana/hooks/useSignAndSendTransaction.js +22 -4
- package/dist/lib.cjs/react/solana/hooks/useSignMessage.js +20 -2
- package/dist/lib.cjs/react/solana/hooks/useSignTransaction.js +22 -3
- package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +34 -51
- package/dist/lib.cjs/react/solana/index.js +2 -0
- package/dist/lib.cjs/react/solana/provider.js +167 -0
- package/dist/lib.cjs/react/wagmi/provider.js +10 -8
- package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +21 -5
- package/dist/lib.cjs/types/base/connector/connectorStatus.d.ts +1 -0
- package/dist/lib.cjs/types/base/connector/constants.d.ts +3 -0
- package/dist/lib.cjs/types/base/connector/interfaces.d.ts +23 -12
- package/dist/lib.cjs/types/base/connector/utils.d.ts +0 -3
- package/dist/lib.cjs/types/base/constants.d.ts +1 -0
- package/dist/lib.cjs/types/base/cookie.d.ts +0 -7
- package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +24 -12
- package/dist/lib.cjs/types/base/errors/index.d.ts +2 -3
- package/dist/lib.cjs/types/base/hooks/index.d.ts +2 -2
- package/dist/lib.cjs/types/base/interfaces.d.ts +5 -1
- package/dist/lib.cjs/types/base/utils.d.ts +2 -1
- package/dist/lib.cjs/types/base/wallet/index.d.ts +3 -0
- package/dist/lib.cjs/types/base/wallet/solana.d.ts +19 -0
- package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +11 -6
- package/dist/lib.cjs/types/connectors/auth-connector/authSolanaWallet.d.ts +35 -0
- package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +2 -2
- package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +2 -2
- package/dist/lib.cjs/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +2 -2
- package/dist/lib.cjs/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +10 -7
- package/dist/lib.cjs/types/connectors/metamask-connector/metamaskConnector.d.ts +35 -3
- package/dist/lib.cjs/types/connectors/utils.d.ts +2 -0
- package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.d.ts +0 -1
- package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/walletConnectV2Utils.d.ts +1 -5
- package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/wcSolanaWallet.d.ts +26 -0
- package/dist/lib.cjs/types/noModal.d.ts +12 -8
- package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +1 -4
- package/dist/lib.cjs/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
- package/dist/lib.cjs/types/providers/base-provider/jrpcClient.d.ts +2 -5
- package/dist/lib.cjs/types/providers/base-provider/utils.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/index.d.ts +1 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/interfaces.d.ts +6 -0
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +2 -5
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMiddleware.d.ts +3 -0
- package/dist/lib.cjs/types/providers/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +0 -1
- package/dist/lib.cjs/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +3 -7
- package/dist/lib.cjs/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +5 -12
- package/dist/lib.cjs/types/react/context/index.d.ts +4 -0
- package/dist/lib.cjs/types/react/context/useWalletServicesContextValue.d.ts +12 -0
- package/dist/lib.cjs/types/react/context/useWeb3AuthInnerContextValue.d.ts +26 -0
- package/dist/lib.cjs/types/react/hooks/index.d.ts +1 -1
- package/dist/lib.cjs/types/react/hooks/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +4 -4
- package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +1 -2
- package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +2 -2
- package/dist/lib.cjs/types/react/index.d.ts +1 -0
- package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +7 -2
- package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +8 -3
- package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +17 -4
- package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
- package/dist/lib.cjs/types/react/solana/provider.d.ts +26 -0
- package/dist/lib.cjs/types/vue/composables/index.d.ts +2 -1
- package/dist/lib.cjs/types/vue/composables/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +3 -3
- package/dist/lib.cjs/types/vue/composables/useInjectedWeb3AuthInnerContext.d.ts +1 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +1 -2
- package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +2 -2
- package/dist/lib.cjs/types/vue/index.d.ts +2 -0
- package/dist/lib.cjs/types/vue/interfaces.d.ts +2 -2
- package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +1 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +7 -2
- package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +8 -3
- package/dist/lib.cjs/types/vue/solana/composables/useSolanaClient.d.ts +7 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +17 -4
- package/dist/lib.cjs/types/vue/solana/constants.d.ts +3 -0
- package/dist/lib.cjs/types/vue/solana/index.d.ts +2 -0
- package/dist/lib.cjs/types/vue/solana/provider.d.ts +8 -0
- package/dist/lib.cjs/types/vue/useWalletServicesInnerContextValue.d.ts +13 -0
- package/dist/lib.cjs/types/vue/useWeb3AuthInnerContextValue.d.ts +26 -0
- package/dist/lib.cjs/types/x402/index.d.ts +43 -0
- package/dist/lib.cjs/types/x402/interfaces.d.ts +11 -0
- package/dist/lib.cjs/types/x402/react.d.ts +17 -0
- package/dist/lib.cjs/types/x402/vue.d.ts +18 -0
- package/dist/lib.cjs/vue/WalletServicesInnerProvider.js +9 -54
- package/dist/lib.cjs/vue/Web3AuthProvider.js +16 -177
- package/dist/lib.cjs/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +10 -8
- package/dist/lib.cjs/vue/composables/useCheckout.js +4 -2
- package/dist/lib.cjs/vue/composables/useEnableMFA.js +4 -2
- package/dist/lib.cjs/vue/composables/useFunding.js +4 -2
- package/dist/lib.cjs/vue/composables/useInjectedWeb3AuthInnerContext.js +29 -0
- package/dist/lib.cjs/vue/composables/useManageMFA.js +4 -2
- package/dist/lib.cjs/vue/composables/useReceive.js +4 -2
- package/dist/lib.cjs/vue/composables/useSwap.js +4 -2
- package/dist/lib.cjs/vue/composables/useSwitchChain.js +4 -2
- package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +4 -2
- package/dist/lib.cjs/vue/composables/useWalletUI.js +4 -2
- package/dist/lib.cjs/vue/composables/useWeb3Auth.js +1 -26
- package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +4 -2
- package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +4 -2
- package/dist/lib.cjs/vue/composables/useWeb3AuthInner.js +2 -20
- package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +4 -2
- package/dist/lib.cjs/vue/index.js +8 -2
- package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +6 -3
- package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +6 -3
- package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +6 -3
- package/dist/lib.cjs/vue/solana/composables/useSolanaClient.js +14 -0
- package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +60 -41
- package/dist/lib.cjs/vue/solana/constants.js +5 -0
- package/dist/lib.cjs/vue/solana/index.js +6 -0
- package/dist/lib.cjs/vue/solana/provider.js +107 -0
- package/dist/lib.cjs/vue/useWalletServicesInnerContextValue.js +75 -0
- package/dist/lib.cjs/vue/useWeb3AuthInnerContextValue.js +217 -0
- package/dist/lib.cjs/vue/wagmi/provider.js +12 -8
- package/dist/lib.cjs/x402/index.js +175 -0
- package/dist/lib.cjs/x402/interfaces.js +5 -0
- package/dist/lib.cjs/x402/react.js +64 -0
- package/dist/lib.cjs/x402/vue.js +58 -0
- package/dist/lib.esm/base/connector/baseConnector.js +104 -2
- package/dist/lib.esm/base/connector/connectorStatus.js +2 -1
- package/dist/lib.esm/base/connector/constants.js +4 -2
- package/dist/lib.esm/base/connector/utils.js +1 -19
- package/dist/lib.esm/base/constants.js +4 -1
- package/dist/lib.esm/base/cookie.js +7 -20
- package/dist/lib.esm/base/errors/index.js +36 -12
- package/dist/lib.esm/base/utils.js +10 -7
- package/dist/lib.esm/base/wallet/index.js +2 -1
- package/dist/lib.esm/base/wallet/solana.js +81 -0
- package/dist/lib.esm/connectors/auth-connector/authConnector.js +143 -50
- package/dist/lib.esm/connectors/auth-connector/authSolanaWallet.js +175 -0
- package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +17 -39
- package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +29 -55
- package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +14 -11
- package/dist/lib.esm/connectors/injected-evm-connector/index.js +6 -1
- package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +14 -11
- package/dist/lib.esm/connectors/injected-solana-connector/index.js +3 -2
- package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +19 -31
- package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +335 -132
- package/dist/lib.esm/connectors/utils.js +9 -4
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +11 -30
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +1 -1
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +5 -1
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +70 -61
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +37 -45
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +130 -0
- package/dist/lib.esm/index.js +30 -38
- package/dist/lib.esm/noModal.js +225 -133
- package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +18 -37
- package/dist/lib.esm/providers/account-abstraction-provider/index.js +5 -1
- package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +9 -9
- package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +3 -3
- package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +48 -45
- package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +2 -4
- package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +9 -12
- package/dist/lib.esm/providers/base-provider/index.js +6 -2
- package/dist/lib.esm/providers/base-provider/jrpcClient.js +20 -19
- package/dist/lib.esm/providers/base-provider/utils.js +1 -3
- package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +23 -36
- package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +20 -19
- package/dist/lib.esm/providers/ethereum-provider/rpc/walletMiddleware.js +201 -0
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +6 -17
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
- package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +21 -25
- package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +48 -38
- package/dist/lib.esm/react/context/WalletServicesInnerContext.js +3 -57
- package/dist/lib.esm/react/context/Web3AuthInnerContext.js +7 -152
- package/dist/lib.esm/react/context/useWalletServicesContextValue.js +59 -0
- package/dist/lib.esm/react/context/useWeb3AuthInnerContextValue.js +188 -0
- package/dist/lib.esm/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
- package/dist/lib.esm/react/hooks/useWalletServicesPlugin.js +3 -10
- package/dist/lib.esm/react/hooks/useWeb3Auth.js +1 -22
- package/dist/lib.esm/react/index.js +5 -1
- package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +6 -4
- package/dist/lib.esm/react/solana/hooks/useSignMessage.js +4 -2
- package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +6 -3
- package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +33 -28
- package/dist/lib.esm/react/solana/index.js +1 -0
- package/dist/lib.esm/react/solana/provider.js +150 -0
- package/dist/lib.esm/react/wagmi/provider.js +7 -7
- package/dist/lib.esm/vue/WalletServicesInnerProvider.js +4 -54
- package/dist/lib.esm/vue/Web3AuthProvider.js +7 -179
- package/dist/lib.esm/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +6 -6
- package/dist/lib.esm/vue/composables/useInjectedWeb3AuthInnerContext.js +11 -0
- package/dist/lib.esm/vue/composables/useWeb3Auth.js +1 -26
- package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +2 -6
- package/dist/lib.esm/vue/index.js +5 -2
- package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +2 -1
- package/dist/lib.esm/vue/solana/composables/useSignMessage.js +2 -1
- package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +3 -2
- package/dist/lib.esm/vue/solana/composables/useSolanaClient.js +12 -0
- package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +53 -35
- package/dist/lib.esm/vue/solana/constants.js +3 -0
- package/dist/lib.esm/vue/solana/index.js +3 -0
- package/dist/lib.esm/vue/solana/provider.js +95 -0
- package/dist/lib.esm/vue/useWalletServicesInnerContextValue.js +58 -0
- package/dist/lib.esm/vue/useWeb3AuthInnerContextValue.js +204 -0
- package/dist/lib.esm/vue/wagmi/provider.js +9 -7
- package/dist/lib.esm/x402/index.js +170 -0
- package/dist/lib.esm/x402/interfaces.js +3 -0
- package/dist/lib.esm/x402/react.js +59 -0
- package/dist/lib.esm/x402/vue.js +54 -0
- package/package.json +78 -53
- package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +0 -7
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -223
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -177
- package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -21
- package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +0 -88
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -27
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -383
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -93
- package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +0 -29
- package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +0 -171
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -65
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -45
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/utils.js +0 -16
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -103
- package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +0 -47
- package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -97
- package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +0 -91
- package/dist/lib.cjs/types/connectors/injected-solana-connector/utils.d.ts +0 -3
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +0 -74
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +0 -12
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +0 -3
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +0 -15
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/converter.d.ts +0 -14
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +0 -16
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +0 -28
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +0 -4
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +0 -46
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -11
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/utils.d.ts +0 -5
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +0 -3
- package/dist/lib.cjs/types/providers/solana-provider/index.d.ts +0 -4
- package/dist/lib.cjs/types/providers/solana-provider/interface.d.ts +0 -22
- package/dist/lib.cjs/types/providers/solana-provider/providers/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +0 -16
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +0 -3
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/index.d.ts +0 -2
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +0 -3
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +0 -9
- package/dist/lib.cjs/types/providers/solana-provider/rpc/JrpcClient.d.ts +0 -9
- package/dist/lib.cjs/types/providers/solana-provider/rpc/index.d.ts +0 -3
- package/dist/lib.cjs/types/providers/solana-provider/rpc/interfaces.d.ts +0 -27
- package/dist/lib.cjs/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +0 -20
- package/dist/lib.cjs/types/providers/solana-provider/solanaWallet.d.ts +0 -29
- package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +0 -1
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -206
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -163
- package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -20
- package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +0 -85
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -21
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -378
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -88
- package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +0 -24
- package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +0 -177
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -47
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -43
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/utils.js +0 -14
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -91
- package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +0 -42
- package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -89
- package/dist/lib.esm/providers/solana-provider/solanaWallet.js +0 -92
- package/dist/noModal.umd.min.js +0 -2
- package/dist/noModal.umd.min.js.LICENSE.txt +0 -50
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import { CHAIN_NAMESPACES, verifySignedChallenge, getDeviceInfo } from '@toruslabs/base-controllers';
|
|
3
|
+
import { AuthSessionManager } from '@toruslabs/session-manager';
|
|
2
4
|
import { SafeEventEmitter } from '@web3auth/auth';
|
|
3
5
|
import { CONNECTOR_NAMESPACES } from '../chain/IChainInterface.js';
|
|
4
6
|
import { WalletInitializationError, WalletLoginError } from '../errors/index.js';
|
|
7
|
+
import { log } from '../loglevel.js';
|
|
8
|
+
import { citadelServerUrl } from '../utils.js';
|
|
5
9
|
import { WALLET_CONNECTORS } from '../wallet/index.js';
|
|
6
10
|
import { CONNECTED_STATUSES, CAN_AUTHORIZE_STATUSES } from './connectorStatus.js';
|
|
7
11
|
import { CONNECTOR_STATUS, CONNECTOR_EVENTS } from './constants.js';
|
|
8
|
-
import {
|
|
12
|
+
import { checkIfTokenIsExpired } from './utils.js';
|
|
9
13
|
|
|
10
14
|
class BaseConnector extends SafeEventEmitter {
|
|
11
15
|
constructor(options) {
|
|
@@ -15,6 +19,7 @@ class BaseConnector extends SafeEventEmitter {
|
|
|
15
19
|
_defineProperty(this, "icon", void 0);
|
|
16
20
|
_defineProperty(this, "coreOptions", void 0);
|
|
17
21
|
_defineProperty(this, "rehydrated", false);
|
|
22
|
+
_defineProperty(this, "authSessionManager", null);
|
|
18
23
|
_defineProperty(this, "connectorNamespace", void 0);
|
|
19
24
|
_defineProperty(this, "type", void 0);
|
|
20
25
|
_defineProperty(this, "name", void 0);
|
|
@@ -27,6 +32,12 @@ class BaseConnector extends SafeEventEmitter {
|
|
|
27
32
|
get canAuthorize() {
|
|
28
33
|
return CAN_AUTHORIZE_STATUSES.includes(this.status);
|
|
29
34
|
}
|
|
35
|
+
get solanaWallet() {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
get provider() {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
30
41
|
checkConnectionRequirements() {
|
|
31
42
|
// we reconnect without killing existing Wallet Connect or Metamask Connect session on calling connect again.
|
|
32
43
|
if (this.name === WALLET_CONNECTORS.WALLET_CONNECT_V2 && this.status === CONNECTOR_STATUS.CONNECTING) return;
|
|
@@ -55,7 +66,7 @@ class BaseConnector extends SafeEventEmitter {
|
|
|
55
66
|
if (!this.connected) throw WalletLoginError.disconnectionError("Not connected with wallet");
|
|
56
67
|
}
|
|
57
68
|
checkSwitchChainRequirements(params, init = false) {
|
|
58
|
-
if (!init && !this.provider) throw WalletLoginError.notConnectedError("Not connected with wallet.");
|
|
69
|
+
if (!init && !this.provider && !this.solanaWallet) throw WalletLoginError.notConnectedError("Not connected with wallet.");
|
|
59
70
|
if (!this.coreOptions.chains) throw WalletInitializationError.invalidParams("chainConfigs is required");
|
|
60
71
|
const doesChainExist = this.coreOptions.chains.some(x => x.chainId === params.chainId && (x.chainNamespace === this.connectorNamespace || this.connectorNamespace === CONNECTOR_NAMESPACES.MULTICHAIN));
|
|
61
72
|
if (!doesChainExist) throw WalletInitializationError.invalidParams("Invalid chainId");
|
|
@@ -67,6 +78,97 @@ class BaseConnector extends SafeEventEmitter {
|
|
|
67
78
|
data
|
|
68
79
|
});
|
|
69
80
|
}
|
|
81
|
+
initSessionManager(address) {
|
|
82
|
+
this.authSessionManager = new AuthSessionManager({
|
|
83
|
+
storageKeyPrefix: `w3a:siww:${this.name}:${address.toLowerCase()}`,
|
|
84
|
+
apiClientConfig: {
|
|
85
|
+
baseURL: citadelServerUrl(this.coreOptions.authBuildEnv)
|
|
86
|
+
},
|
|
87
|
+
storage: this.coreOptions.storage,
|
|
88
|
+
cookieOptions: this.coreOptions.cookieOptions
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
async getCachedAuthTokenInfo() {
|
|
92
|
+
if (!this.authSessionManager) return null;
|
|
93
|
+
const idToken = await this.authSessionManager.getIdToken();
|
|
94
|
+
if (!idToken || checkIfTokenIsExpired(idToken)) return null;
|
|
95
|
+
let [accessToken, refreshToken] = await Promise.all([this.authSessionManager.getAccessToken(), this.authSessionManager.getRefreshToken()]);
|
|
96
|
+
if ((!accessToken || checkIfTokenIsExpired(accessToken)) && refreshToken) {
|
|
97
|
+
try {
|
|
98
|
+
const response = await this.authSessionManager.ensureRefresh();
|
|
99
|
+
accessToken = response.access_token || (await this.authSessionManager.getAccessToken());
|
|
100
|
+
refreshToken = response.refresh_token || refreshToken;
|
|
101
|
+
} catch {
|
|
102
|
+
// access token refresh failed; still return the valid idToken
|
|
103
|
+
log.error("Access token refresh failed");
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
idToken,
|
|
108
|
+
accessToken: accessToken !== null && accessToken !== void 0 ? accessToken : undefined,
|
|
109
|
+
refreshToken: refreshToken !== null && refreshToken !== void 0 ? refreshToken : undefined
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
async saveAuthTokenInfo(tokens) {
|
|
113
|
+
if (!this.authSessionManager) return;
|
|
114
|
+
await this.authSessionManager.setTokens({
|
|
115
|
+
idToken: tokens.idToken,
|
|
116
|
+
accessToken: tokens.accessToken,
|
|
117
|
+
refreshToken: tokens.refreshToken
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
async getCachedOrNullAuthTokenInfo(account) {
|
|
121
|
+
this.initSessionManager(account);
|
|
122
|
+
const cached = await this.getCachedAuthTokenInfo();
|
|
123
|
+
if (cached) {
|
|
124
|
+
this.status = CONNECTOR_STATUS.AUTHORIZED;
|
|
125
|
+
this.emit(CONNECTOR_EVENTS.AUTHORIZED, {
|
|
126
|
+
connector: this.name,
|
|
127
|
+
authTokenInfo: cached
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
return cached;
|
|
131
|
+
}
|
|
132
|
+
async verifyAndAuthorize(params) {
|
|
133
|
+
const tokens = await verifySignedChallenge({
|
|
134
|
+
chainNamespace: params.chainNamespace,
|
|
135
|
+
signedMessage: params.signedMessage,
|
|
136
|
+
challenge: params.challenge,
|
|
137
|
+
connector: this.name,
|
|
138
|
+
authServer: params.authServer,
|
|
139
|
+
web3AuthClientId: this.coreOptions.clientId,
|
|
140
|
+
web3AuthNetwork: this.coreOptions.web3AuthNetwork,
|
|
141
|
+
sessionTimeout: this.coreOptions.sessionTime,
|
|
142
|
+
deviceInfo: getDeviceInfo()
|
|
143
|
+
});
|
|
144
|
+
await this.saveAuthTokenInfo(tokens);
|
|
145
|
+
const tokenInfo = {
|
|
146
|
+
idToken: tokens.idToken,
|
|
147
|
+
accessToken: tokens.accessToken,
|
|
148
|
+
refreshToken: tokens.refreshToken
|
|
149
|
+
};
|
|
150
|
+
this.status = CONNECTOR_STATUS.AUTHORIZED;
|
|
151
|
+
this.emit(CONNECTOR_EVENTS.AUTHORIZED, {
|
|
152
|
+
connector: this.name,
|
|
153
|
+
authTokenInfo: tokenInfo
|
|
154
|
+
});
|
|
155
|
+
return tokenInfo;
|
|
156
|
+
}
|
|
157
|
+
async clearWalletSession() {
|
|
158
|
+
if (!this.authSessionManager) return;
|
|
159
|
+
try {
|
|
160
|
+
await this.authSessionManager.logout();
|
|
161
|
+
} catch {
|
|
162
|
+
try {
|
|
163
|
+
await this.authSessionManager.clearSessionData();
|
|
164
|
+
} catch {
|
|
165
|
+
// best-effort cleanup; don't block disconnect
|
|
166
|
+
log.error("Failed to clear wallet session");
|
|
167
|
+
}
|
|
168
|
+
} finally {
|
|
169
|
+
this.authSessionManager = null;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
70
172
|
}
|
|
71
173
|
|
|
72
174
|
export { BaseConnector };
|
|
@@ -2,5 +2,6 @@ import { CONNECTOR_STATUS } from './constants.js';
|
|
|
2
2
|
|
|
3
3
|
const CONNECTED_STATUSES = [CONNECTOR_STATUS.CONNECTED, CONNECTOR_STATUS.AUTHORIZED];
|
|
4
4
|
const CAN_AUTHORIZE_STATUSES = [CONNECTOR_STATUS.AUTHORIZING, CONNECTOR_STATUS.AUTHORIZED, CONNECTOR_STATUS.CONNECTED];
|
|
5
|
+
const CAN_LOGOUT_STATUSES = [...CONNECTED_STATUSES, CONNECTOR_STATUS.CONSENT_REQUIRING];
|
|
5
6
|
|
|
6
|
-
export { CAN_AUTHORIZE_STATUSES, CONNECTED_STATUSES };
|
|
7
|
+
export { CAN_AUTHORIZE_STATUSES, CAN_LOGOUT_STATUSES, CONNECTED_STATUSES };
|
|
@@ -9,14 +9,16 @@ const CONNECTOR_STATUS = {
|
|
|
9
9
|
DISCONNECTED: "disconnected",
|
|
10
10
|
ERRORED: "errored",
|
|
11
11
|
AUTHORIZED: "authorized",
|
|
12
|
-
AUTHORIZING: "authorizing"
|
|
12
|
+
AUTHORIZING: "authorizing",
|
|
13
|
+
CONSENT_REQUIRING: "consent_requiring"
|
|
13
14
|
};
|
|
14
15
|
const CONNECTOR_EVENTS = _objectSpread(_objectSpread({}, CONNECTOR_STATUS), {}, {
|
|
15
16
|
CONNECTOR_DATA_UPDATED: "connector_data_updated",
|
|
16
17
|
CACHE_CLEAR: "cache_clear",
|
|
17
18
|
CONNECTORS_UPDATED: "connectors_updated",
|
|
18
19
|
MFA_ENABLED: "mfa_enabled",
|
|
19
|
-
REHYDRATION_ERROR: "rehydration_error"
|
|
20
|
+
REHYDRATION_ERROR: "rehydration_error",
|
|
21
|
+
CONSENT_ACCEPTED: "consent_accepted"
|
|
20
22
|
});
|
|
21
23
|
const CONNECTOR_CATEGORY = {
|
|
22
24
|
EXTERNAL: "external",
|
|
@@ -38,23 +38,5 @@ const checkIfTokenIsExpired = token => {
|
|
|
38
38
|
}
|
|
39
39
|
return false;
|
|
40
40
|
};
|
|
41
|
-
const getSavedToken = (userAddress, issuer) => {
|
|
42
|
-
if (storageAvailable("localStorage")) {
|
|
43
|
-
return localStorage.getItem(`${userAddress.toLowerCase()}_${issuer}`);
|
|
44
|
-
}
|
|
45
|
-
return null;
|
|
46
|
-
};
|
|
47
|
-
const saveToken = (userAddress, issuer, token) => {
|
|
48
|
-
if (storageAvailable("localStorage")) {
|
|
49
|
-
return localStorage.setItem(`${userAddress.toLowerCase()}_${issuer}`, token);
|
|
50
|
-
}
|
|
51
|
-
return null;
|
|
52
|
-
};
|
|
53
|
-
const clearToken = (userAddress, issuer) => {
|
|
54
|
-
if (storageAvailable("localStorage")) {
|
|
55
|
-
return localStorage.removeItem(`${userAddress.toLowerCase()}_${issuer}`);
|
|
56
|
-
}
|
|
57
|
-
return null;
|
|
58
|
-
};
|
|
59
41
|
|
|
60
|
-
export { checkIfTokenIsExpired,
|
|
42
|
+
export { checkIfTokenIsExpired, storageAvailable };
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { SMART_ACCOUNT } from '@toruslabs/ethereum-controllers';
|
|
2
|
+
|
|
1
3
|
const SMART_ACCOUNT_WALLET_SCOPE = {
|
|
2
4
|
EMBEDDED: "embedded",
|
|
3
5
|
ALL: "all"
|
|
@@ -21,6 +23,7 @@ const SOLANA_CAIP_CHAIN_MAP = {
|
|
|
21
23
|
"0x66": "4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z",
|
|
22
24
|
"0x67": "EtWTRABZaYq6iMfeYKouRu166VU2xqa1"
|
|
23
25
|
};
|
|
26
|
+
const EIP_7702_SUPPORTED_SMART_ACCOUNTS = [SMART_ACCOUNT.METAMASK];
|
|
24
27
|
const WALLET_REGISTRY_URL = "https://assets.web3auth.io/v2/wallet-registry.json";
|
|
25
28
|
|
|
26
|
-
export { LOGIN_MODE, MODAL_SIGN_IN_METHODS, SMART_ACCOUNT_WALLET_SCOPE, SOLANA_CAIP_CHAIN_MAP, WALLET_REGISTRY_URL, WEB3AUTH_STATE_STORAGE_KEY, WIDGET_TYPE };
|
|
29
|
+
export { EIP_7702_SUPPORTED_SMART_ACCOUNTS, LOGIN_MODE, MODAL_SIGN_IN_METHODS, SMART_ACCOUNT_WALLET_SCOPE, SOLANA_CAIP_CHAIN_MAP, WALLET_REGISTRY_URL, WEB3AUTH_STATE_STORAGE_KEY, WIDGET_TYPE };
|
|
@@ -1,24 +1,6 @@
|
|
|
1
1
|
import { WEB3AUTH_STATE_STORAGE_KEY } from './constants.js';
|
|
2
2
|
import { deserialize } from './deserialize.js';
|
|
3
3
|
|
|
4
|
-
const cookieStorage = options => ({
|
|
5
|
-
getItem(key) {
|
|
6
|
-
if (typeof window === "undefined") return null;
|
|
7
|
-
const value = parseCookie(document.cookie, key);
|
|
8
|
-
return value !== null && value !== void 0 ? value : null;
|
|
9
|
-
},
|
|
10
|
-
setItem(key, value) {
|
|
11
|
-
if (typeof window === "undefined") return;
|
|
12
|
-
let cookieString = `${key}=${value};path=/;samesite=Lax`;
|
|
13
|
-
if (options !== null && options !== void 0 && options.expiry && typeof options.expiry === "number") cookieString += `; expires=${new Date(Date.now() + options.expiry).toUTCString()}`;
|
|
14
|
-
if (process.env.NODE_ENV === "production") cookieString += "; secure";
|
|
15
|
-
document.cookie = cookieString;
|
|
16
|
-
},
|
|
17
|
-
removeItem(key) {
|
|
18
|
-
if (typeof window === "undefined") return;
|
|
19
|
-
document.cookie = `${key}=;max-age=-1;path=/`;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
4
|
function cookieToWeb3AuthState(cookie) {
|
|
23
5
|
if (!cookie) return undefined;
|
|
24
6
|
const parsed = parseCookie(cookie, WEB3AUTH_STATE_STORAGE_KEY);
|
|
@@ -28,7 +10,12 @@ function cookieToWeb3AuthState(cookie) {
|
|
|
28
10
|
function parseCookie(cookie, key) {
|
|
29
11
|
const keyValue = cookie.split("; ").find(x => x.startsWith(`${key}=`));
|
|
30
12
|
if (!keyValue) return undefined;
|
|
31
|
-
|
|
13
|
+
const value = keyValue.substring(key.length + 1);
|
|
14
|
+
try {
|
|
15
|
+
return decodeURIComponent(value);
|
|
16
|
+
} catch {
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
32
19
|
}
|
|
33
20
|
|
|
34
|
-
export {
|
|
21
|
+
export { cookieToWeb3AuthState, parseCookie };
|
|
@@ -1,21 +1,41 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import { CustomError } from 'ts-custom-error';
|
|
3
2
|
|
|
3
|
+
var _objectHasOwn = function (object, property) {
|
|
4
|
+
if (typeof object === 'undefined' || object === null) {
|
|
5
|
+
throw new TypeError('Cannot convert undefined or null to object');
|
|
6
|
+
}
|
|
7
|
+
return Object.prototype.hasOwnProperty.call(Object(object), property);
|
|
8
|
+
};
|
|
4
9
|
// @flow
|
|
5
10
|
|
|
6
|
-
class Web3AuthError extends
|
|
11
|
+
class Web3AuthError extends Error {
|
|
7
12
|
constructor(code, message, cause) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
if (cause !== undefined) {
|
|
14
|
+
super(message, {
|
|
15
|
+
cause
|
|
16
|
+
});
|
|
17
|
+
// Browser backwards-compatibility fallback
|
|
18
|
+
_defineProperty(this, "code", void 0);
|
|
19
|
+
_defineProperty(this, "message", void 0);
|
|
20
|
+
_defineProperty(this, "cause", void 0);
|
|
21
|
+
if (!_objectHasOwn(this, "cause")) {
|
|
22
|
+
Object.assign(this, {
|
|
23
|
+
cause
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
} else {
|
|
27
|
+
super(message);
|
|
28
|
+
_defineProperty(this, "code", void 0);
|
|
29
|
+
_defineProperty(this, "message", void 0);
|
|
30
|
+
_defineProperty(this, "cause", void 0);
|
|
31
|
+
}
|
|
13
32
|
this.code = code;
|
|
14
33
|
this.message = message || "";
|
|
15
34
|
this.cause = cause;
|
|
16
35
|
// Set name explicitly as minification can mangle class names
|
|
17
36
|
Object.defineProperty(this, "name", {
|
|
18
|
-
value: "Web3AuthError"
|
|
37
|
+
value: "Web3AuthError",
|
|
38
|
+
configurable: true
|
|
19
39
|
});
|
|
20
40
|
}
|
|
21
41
|
toJSON() {
|
|
@@ -37,7 +57,8 @@ class WalletInitializationError extends Web3AuthError {
|
|
|
37
57
|
|
|
38
58
|
// Set name explicitly as minification can mangle class names
|
|
39
59
|
Object.defineProperty(this, "name", {
|
|
40
|
-
value: "WalletInitializationError"
|
|
60
|
+
value: "WalletInitializationError",
|
|
61
|
+
configurable: true
|
|
41
62
|
});
|
|
42
63
|
}
|
|
43
64
|
static fromCode(code, extraMessage = "", cause) {
|
|
@@ -108,7 +129,8 @@ class WalletLoginError extends Web3AuthError {
|
|
|
108
129
|
|
|
109
130
|
// Set name explicitly as minification can mangle class names
|
|
110
131
|
Object.defineProperty(this, "name", {
|
|
111
|
-
value: "WalletLoginError"
|
|
132
|
+
value: "WalletLoginError",
|
|
133
|
+
configurable: true
|
|
112
134
|
});
|
|
113
135
|
}
|
|
114
136
|
static fromCode(code, extraMessage = "", cause) {
|
|
@@ -161,7 +183,8 @@ class WalletOperationsError extends Web3AuthError {
|
|
|
161
183
|
|
|
162
184
|
// Set name explicitly as minification can mangle class names
|
|
163
185
|
Object.defineProperty(this, "name", {
|
|
164
|
-
value: "WalletOperationsError"
|
|
186
|
+
value: "WalletOperationsError",
|
|
187
|
+
configurable: true
|
|
165
188
|
});
|
|
166
189
|
}
|
|
167
190
|
static fromCode(code, extraMessage = "", cause) {
|
|
@@ -191,7 +214,8 @@ class WalletProviderError extends Web3AuthError {
|
|
|
191
214
|
|
|
192
215
|
// Set name explicitly as minification can mangle class names
|
|
193
216
|
Object.defineProperty(this, "name", {
|
|
194
|
-
value: "WalletProviderError"
|
|
217
|
+
value: "WalletProviderError",
|
|
218
|
+
configurable: true
|
|
195
219
|
});
|
|
196
220
|
}
|
|
197
221
|
static fromCode(code, extraMessage = "", cause) {
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
|
|
2
2
|
export { cloneDeep } from '@toruslabs/base-controllers';
|
|
3
|
-
import {
|
|
3
|
+
import { CITADEL_SERVER_MAP, DASHBOARD_PUBLIC_API_MAP } from '@toruslabs/constants';
|
|
4
4
|
import { get } from '@toruslabs/http-helpers';
|
|
5
|
+
import { BUILD_ENV } from '@web3auth/auth';
|
|
5
6
|
import { WALLET_REGISTRY_URL, SOLANA_CAIP_CHAIN_MAP } from './constants.js';
|
|
6
7
|
import { Web3AuthError } from './errors/index.js';
|
|
7
|
-
import { WEB3AUTH_NETWORK } from '@web3auth/auth';
|
|
8
8
|
|
|
9
9
|
const isHexStrict = hex => {
|
|
10
10
|
return (typeof hex === "string" || typeof hex === "number") && /^(-)?0x[0-9a-f]*$/i.test(hex);
|
|
11
11
|
};
|
|
12
|
-
const
|
|
13
|
-
return
|
|
12
|
+
const dashboardPublicApiUrl = buildEnv => {
|
|
13
|
+
return DASHBOARD_PUBLIC_API_MAP[buildEnv];
|
|
14
|
+
};
|
|
15
|
+
const citadelServerUrl = buildEnv => {
|
|
16
|
+
return CITADEL_SERVER_MAP[buildEnv || BUILD_ENV.PRODUCTION];
|
|
14
17
|
};
|
|
15
18
|
const fetchProjectConfig = async ({
|
|
16
19
|
clientId,
|
|
@@ -18,7 +21,7 @@ const fetchProjectConfig = async ({
|
|
|
18
21
|
aaProvider,
|
|
19
22
|
authBuildEnv
|
|
20
23
|
}) => {
|
|
21
|
-
const url = new URL(`${
|
|
24
|
+
const url = new URL(`${dashboardPublicApiUrl(authBuildEnv)}/api/v2/configuration`);
|
|
22
25
|
url.searchParams.append("project_id", clientId);
|
|
23
26
|
url.searchParams.append("network", web3AuthNetwork);
|
|
24
27
|
if (authBuildEnv) url.searchParams.append("build_env", authBuildEnv);
|
|
@@ -146,7 +149,7 @@ const getWalletServicesAnalyticsProperties = walletServicesConfig => {
|
|
|
146
149
|
ws_default_portfolio: walletServicesConfig === null || walletServicesConfig === void 0 || (_walletServicesConfig10 = walletServicesConfig.whiteLabel) === null || _walletServicesConfig10 === void 0 ? void 0 : _walletServicesConfig10.defaultPortfolio
|
|
147
150
|
};
|
|
148
151
|
};
|
|
149
|
-
const sdkVersion = "
|
|
152
|
+
const sdkVersion = "11.0.0-beta.0";
|
|
150
153
|
const getErrorAnalyticsProperties = error => {
|
|
151
154
|
try {
|
|
152
155
|
const code = error instanceof Web3AuthError ? error.code : error === null || error === void 0 ? void 0 : error.code;
|
|
@@ -181,4 +184,4 @@ const getCaipChainId = chain => {
|
|
|
181
184
|
return `${chain.chainNamespace}:${chain.chainId}`;
|
|
182
185
|
};
|
|
183
186
|
|
|
184
|
-
export { fetchProjectConfig, fetchWalletRegistry, fromViemChain, fromWagmiChain, getAaAnalyticsProperties, getCaipChainId, getErrorAnalyticsProperties, getHostname, getWalletServicesAnalyticsProperties, getWhitelabelAnalyticsProperties, isBrowser, isHexStrict, normalizeWalletName, sdkVersion,
|
|
187
|
+
export { citadelServerUrl, dashboardPublicApiUrl, fetchProjectConfig, fetchWalletRegistry, fromViemChain, fromWagmiChain, getAaAnalyticsProperties, getCaipChainId, getErrorAnalyticsProperties, getHostname, getWalletServicesAnalyticsProperties, getWhitelabelAnalyticsProperties, isBrowser, isHexStrict, normalizeWalletName, sdkVersion, withAbort };
|
|
@@ -16,5 +16,6 @@ const CONNECTOR_NAMES = {
|
|
|
16
16
|
[EVM_CONNECTORS.COINBASE]: "Coinbase Smart Wallet",
|
|
17
17
|
[EVM_CONNECTORS.METAMASK]: "MetaMask"
|
|
18
18
|
};
|
|
19
|
+
const WEB3AUTH_ICON = `data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTYiIGhlaWdodD0iOTciIHZpZXdCb3g9IjAgMCA5NiA5NyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00NC4wMzQ2IDczLjI2MjRDNDMuODU5NSA3My45MTU5IDQ0LjM1MTkgNzQuNTU3NiA0NS4wMjg1IDc0LjU1NzZINTAuOTUzOUM1MS42MzA0IDc0LjU1NzYgNTIuMTIyOSA3My45MTU5IDUxLjk0NzggNzMuMjYyNEw0OC45ODUgNjIuMjA1M0M0OC43MTI2IDYxLjE4ODUgNDcuMjY5OCA2MS4xODg1IDQ2Ljk5NzMgNjIuMjA1M0w0NC4wMzQ2IDczLjI2MjRaIiBmaWxsPSIjMDM2NEZGIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMzguMTM0NSA4MC4zMzk2QzM3LjY4MDcgODIuMDMzIDM2LjE0NjEgODMuMjEwNiAzNC4zOTI5IDgzLjIxMDZIMjYuMzcyNkMyMy44MjU2IDgzLjIxMDYgMjEuOTcxOSA4MC43OTQ3IDIyLjYzMTEgNzguMzM0NUwzOS4wODQ0IDE2LjkyOTlDMzkuNTgwNyAxNS4wNzc3IDQxLjI1OTEgMTMuNzg5NyA0My4xNzY3IDEzLjc4OTdINTIuNzIxOUM1NC42Mzk0IDEzLjc4OTcgNTYuMzE3OSAxNS4wNzc3IDU2LjgxNDIgMTYuOTI5OUw3My4yNjc1IDc4LjMzNDVDNzMuOTI2NyA4MC43OTQ3IDcyLjA3MjkgODMuMjEwNiA2OS41MjYgODMuMjEwNkg2MS41MDU2QzU5Ljc1MjQgODMuMjEwNiA1OC4yMTc4IDgyLjAzMyA1Ny43NjQxIDgwLjMzOTZMNDkuNzYxNiA1MC40NzM4QzQ5LjI2NDggNDguNjE5NyA0Ni42MzM4IDQ4LjYxOTcgNDYuMTM3IDUwLjQ3MzhMMzguMTM0NSA4MC4zMzk2WiIgZmlsbD0iIzAzNjRGRiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTc4LjQ3NzQgNjguNzY4NUM3Ny45NjQ2IDcwLjY4MjQgNzUuMjQ4NyA3MC42ODI0IDc0LjczNTkgNjguNzY4NUw2OC43NjI2IDQ2LjQ3NTlDNjguNjQ3MSA0Ni4wNDQ5IDY4LjY0NzEgNDUuNTkxIDY4Ljc2MjYgNDUuMTZMNzYuMzc1MSAxNi43NUM3Ni44NDMgMTUuMDAzNiA3OC40MjU2IDEzLjc4OTMgODAuMjMzNSAxMy43ODkzSDg4LjAwMzJDOTAuNjI5OCAxMy43ODkzIDkyLjU0MTUgMTYuMjgwNyA5MS44NjE3IDE4LjgxNzhMNzguNDc3NCA2OC43Njg1Wk0yNy4yMjc0IDQ2LjQzODdDMjcuMzQyOSA0Ni4wMDc3IDI3LjM0MjkgNDUuNTUzOSAyNy4yMjc0IDQ1LjEyMjhMMTkuNjI0OSAxNi43NUMxOS4xNTcgMTUuMDAzNiAxNy41NzQ0IDEzLjc4OTMgMTUuNzY2NSAxMy43ODkzSDcuOTk2NzdDNS4zNzAyMyAxMy43ODkzIDMuNDU4NTEgMTYuMjgwNyA0LjEzODMxIDE4LjgxNzhMMTcuNTEyNiA2OC43MzEzQzE4LjAyNTQgNzAuNjQ1MiAyMC43NDEzIDcwLjY0NTIgMjEuMjU0MSA2OC43MzEzTDI3LjIyNzQgNDYuNDM4N1oiIGZpbGw9IiMwMzY0RkYiLz4KPC9zdmc+Cg==`;
|
|
19
20
|
|
|
20
|
-
export { CONNECTOR_NAMES, EVM_CONNECTORS, MULTI_CHAIN_CONNECTORS, SOLANA_CONNECTORS, WALLET_CONNECTORS };
|
|
21
|
+
export { CONNECTOR_NAMES, EVM_CONNECTORS, MULTI_CHAIN_CONNECTORS, SOLANA_CONNECTORS, WALLET_CONNECTORS, WEB3AUTH_ICON };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { getBase64EncodedWireTransaction, getBase58Decoder, getTransactionDecoder, getBase64Encoder } from '@solana/kit';
|
|
2
|
+
import { SolanaSignAndSendTransaction, SolanaSignMessage, SolanaSignTransaction } from '@solana/wallet-standard-features';
|
|
3
|
+
|
|
4
|
+
const getSolanaChainByChainConfig = chainConfig => {
|
|
5
|
+
switch (chainConfig.chainId) {
|
|
6
|
+
case "0x65":
|
|
7
|
+
return "solana:mainnet";
|
|
8
|
+
case "0x66":
|
|
9
|
+
return "solana:testnet";
|
|
10
|
+
case "0x67":
|
|
11
|
+
return "solana:devnet";
|
|
12
|
+
default:
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const base58Decoder = getBase58Decoder();
|
|
17
|
+
const base64Encoder = getBase64Encoder();
|
|
18
|
+
const transactionDecoder = getTransactionDecoder();
|
|
19
|
+
const serializeTx = transaction => new Uint8Array(base64Encoder.encode(getBase64EncodedWireTransaction(transaction)));
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Signs and sends a transaction via the wallet standard feature.
|
|
23
|
+
* Returns the transaction signature as a base58 string.
|
|
24
|
+
*/
|
|
25
|
+
const walletSignAndSendTransaction = async (wallet, transaction) => {
|
|
26
|
+
var _wallet$accounts, _wallet$chains;
|
|
27
|
+
const feature = wallet.features[SolanaSignAndSendTransaction];
|
|
28
|
+
if (!feature) throw new Error("Wallet does not support signAndSendTransaction");
|
|
29
|
+
const account = (_wallet$accounts = wallet.accounts) === null || _wallet$accounts === void 0 ? void 0 : _wallet$accounts[0];
|
|
30
|
+
const chain = (_wallet$chains = wallet.chains) === null || _wallet$chains === void 0 ? void 0 : _wallet$chains[0];
|
|
31
|
+
if (!account) throw new Error("No account found");
|
|
32
|
+
const [output] = await feature.signAndSendTransaction({
|
|
33
|
+
account,
|
|
34
|
+
transaction: serializeTx(transaction),
|
|
35
|
+
chain
|
|
36
|
+
});
|
|
37
|
+
return base58Decoder.decode(new Uint8Array(output.signature));
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Signs a transaction via the wallet standard feature.
|
|
42
|
+
* Returns the first signature as a base58 string.
|
|
43
|
+
*/
|
|
44
|
+
const walletSignTransaction = async (wallet, transaction) => {
|
|
45
|
+
var _wallet$accounts2, _wallet$chains2;
|
|
46
|
+
const feature = wallet.features[SolanaSignTransaction];
|
|
47
|
+
if (!feature) throw new Error("Wallet does not support signTransaction");
|
|
48
|
+
const account = (_wallet$accounts2 = wallet.accounts) === null || _wallet$accounts2 === void 0 ? void 0 : _wallet$accounts2[0];
|
|
49
|
+
if (!account) throw new Error("No account found");
|
|
50
|
+
const chain = (_wallet$chains2 = wallet.chains) === null || _wallet$chains2 === void 0 ? void 0 : _wallet$chains2[0];
|
|
51
|
+
const [output] = await feature.signTransaction({
|
|
52
|
+
account,
|
|
53
|
+
transaction: serializeTx(transaction),
|
|
54
|
+
chain
|
|
55
|
+
});
|
|
56
|
+
// Extract the first signature from the signed transaction
|
|
57
|
+
const decodedTx = transactionDecoder.decode(output.signedTransaction);
|
|
58
|
+
const sig = decodedTx.signatures[account.address];
|
|
59
|
+
if (!sig) throw new Error("No signature in signed transaction");
|
|
60
|
+
return base58Decoder.decode(new Uint8Array(sig));
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Signs a message via the wallet standard feature.
|
|
65
|
+
* Returns the signature as a base58 string.
|
|
66
|
+
*/
|
|
67
|
+
const walletSignMessage = async (wallet, message, from) => {
|
|
68
|
+
var _ref, _wallet$accounts3, _wallet$accounts4;
|
|
69
|
+
const feature = wallet.features[SolanaSignMessage];
|
|
70
|
+
if (!feature) throw new Error("Wallet does not support signMessage");
|
|
71
|
+
const account = (_ref = from ? (_wallet$accounts3 = wallet.accounts) === null || _wallet$accounts3 === void 0 ? void 0 : _wallet$accounts3.find(a => a.address === from) : null) !== null && _ref !== void 0 ? _ref : (_wallet$accounts4 = wallet.accounts) === null || _wallet$accounts4 === void 0 ? void 0 : _wallet$accounts4[0];
|
|
72
|
+
if (!account) throw new Error("No account found");
|
|
73
|
+
const msgBytes = new TextEncoder().encode(message);
|
|
74
|
+
const [output] = await feature.signMessage({
|
|
75
|
+
account,
|
|
76
|
+
message: msgBytes
|
|
77
|
+
});
|
|
78
|
+
return base58Decoder.decode(new Uint8Array(output.signature));
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export { getSolanaChainByChainConfig, walletSignAndSendTransaction, walletSignMessage, walletSignTransaction };
|