@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
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
4
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
+
var constants$1 = require('@toruslabs/constants');
|
|
6
|
+
var httpHelpers = require('@toruslabs/http-helpers');
|
|
5
7
|
var securePubSub = require('@toruslabs/secure-pub-sub');
|
|
6
8
|
var auth = require('@web3auth/auth');
|
|
7
9
|
var wsEmbed = require('@web3auth/ws-embed');
|
|
@@ -13,14 +15,15 @@ var baseConnector = require('../../base/connector/baseConnector.js');
|
|
|
13
15
|
var connectorStatus = require('../../base/connector/connectorStatus.js');
|
|
14
16
|
var constants = require('../../base/connector/constants.js');
|
|
15
17
|
require('jwt-decode');
|
|
18
|
+
require('../../base/constants.js');
|
|
16
19
|
var index$1 = require('../../base/errors/index.js');
|
|
17
20
|
require('../../base/plugin/errors.js');
|
|
18
21
|
require('../../base/plugin/IPlugin.js');
|
|
19
|
-
var
|
|
20
|
-
require('@toruslabs/constants');
|
|
21
|
-
require('@toruslabs/http-helpers');
|
|
22
|
+
var utils = require('../../base/utils.js');
|
|
22
23
|
var index = require('../../base/wallet/index.js');
|
|
23
|
-
var utils = require('../utils.js');
|
|
24
|
+
var utils$1 = require('../utils.js');
|
|
25
|
+
var authSolanaWallet = require('./authSolanaWallet.js');
|
|
26
|
+
var baseControllers = require('@toruslabs/base-controllers');
|
|
24
27
|
|
|
25
28
|
class AuthConnector extends baseConnector.BaseConnector {
|
|
26
29
|
constructor(params) {
|
|
@@ -39,6 +42,7 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
39
42
|
_defineProperty(this, "wsEmbedInstance", null);
|
|
40
43
|
_defineProperty(this, "authConnectionConfig", []);
|
|
41
44
|
_defineProperty(this, "wsEmbedInstancePromise", null);
|
|
45
|
+
_defineProperty(this, "_solanaWallet", null);
|
|
42
46
|
this.authOptions = params.connectorSettings;
|
|
43
47
|
this.loginSettings = params.loginSettings || {
|
|
44
48
|
authConnection: ""
|
|
@@ -60,6 +64,9 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
60
64
|
get wsEmbed() {
|
|
61
65
|
return this.wsEmbedInstance;
|
|
62
66
|
}
|
|
67
|
+
get solanaWallet() {
|
|
68
|
+
return this._solanaWallet;
|
|
69
|
+
}
|
|
63
70
|
set provider(_) {
|
|
64
71
|
throw new Error("Not implemented");
|
|
65
72
|
}
|
|
@@ -92,7 +99,7 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
92
99
|
loglevel.log.debug("initializing auth connector init", this.authOptions);
|
|
93
100
|
// making it async here to initialize provider.
|
|
94
101
|
const authInstancePromise = this.authInstance.init();
|
|
95
|
-
// Use this for xrpl
|
|
102
|
+
// Use this for xrpl cases
|
|
96
103
|
if (this.coreOptions.privateKeyProvider) {
|
|
97
104
|
this.privateKeyProvider = this.coreOptions.privateKeyProvider;
|
|
98
105
|
} else {
|
|
@@ -114,6 +121,7 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
114
121
|
loginMode: wsEmbed.WS_EMBED_LOGIN_MODE.PLUGIN,
|
|
115
122
|
chains: wsSupportedChains,
|
|
116
123
|
chainId,
|
|
124
|
+
buildEnv: this.authOptions.buildEnv,
|
|
117
125
|
whiteLabel: _objectSpread(_objectSpread({}, this.authOptions.whiteLabel), this.wsSettings.whiteLabel)
|
|
118
126
|
})).then(() => {
|
|
119
127
|
this.wsEmbedInstancePromise = null;
|
|
@@ -151,7 +159,7 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
151
159
|
this.rehydrated = true;
|
|
152
160
|
await this.connect({
|
|
153
161
|
chainId: options.chainId,
|
|
154
|
-
|
|
162
|
+
getAuthTokenInfo: options.getAuthTokenInfo
|
|
155
163
|
});
|
|
156
164
|
} else if (!sessionId && options.autoConnect) {
|
|
157
165
|
// if here, this means that the connector is cached but the sessionId is not available.
|
|
@@ -171,7 +179,11 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
171
179
|
}));
|
|
172
180
|
try {
|
|
173
181
|
await this.connectWithProvider(params);
|
|
174
|
-
return
|
|
182
|
+
return {
|
|
183
|
+
ethereumProvider: this.provider,
|
|
184
|
+
solanaWallet: this._solanaWallet,
|
|
185
|
+
connectorName: this.name
|
|
186
|
+
};
|
|
175
187
|
} catch (error) {
|
|
176
188
|
var _error$message;
|
|
177
189
|
loglevel.log.error("Failed to connect with auth provider", error);
|
|
@@ -236,9 +248,10 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
236
248
|
this.status = constants.CONNECTOR_STATUS.READY;
|
|
237
249
|
}
|
|
238
250
|
this.rehydrated = false;
|
|
251
|
+
this._solanaWallet = null;
|
|
239
252
|
this.emit(constants.CONNECTOR_EVENTS.DISCONNECTED);
|
|
240
253
|
}
|
|
241
|
-
async
|
|
254
|
+
async getAuthTokenInfo() {
|
|
242
255
|
if (!this.canAuthorize) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
243
256
|
this.status = constants.CONNECTOR_STATUS.AUTHORIZING;
|
|
244
257
|
this.emit(constants.CONNECTOR_EVENTS.AUTHORIZING, {
|
|
@@ -246,14 +259,19 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
246
259
|
});
|
|
247
260
|
const userInfo = await this.getUserInfo();
|
|
248
261
|
this.status = constants.CONNECTOR_STATUS.AUTHORIZED;
|
|
262
|
+
const [accessToken, refreshToken] = await Promise.all([this.authInstance.authSessionManager.getAccessToken(), this.authInstance.authSessionManager.getRefreshToken()]);
|
|
249
263
|
this.emit(constants.CONNECTOR_EVENTS.AUTHORIZED, {
|
|
250
264
|
connector: index.WALLET_CONNECTORS.AUTH,
|
|
251
|
-
|
|
252
|
-
idToken: userInfo.idToken
|
|
265
|
+
authTokenInfo: {
|
|
266
|
+
idToken: userInfo.idToken,
|
|
267
|
+
accessToken,
|
|
268
|
+
refreshToken
|
|
253
269
|
}
|
|
254
270
|
});
|
|
255
271
|
return {
|
|
256
|
-
idToken: userInfo.idToken
|
|
272
|
+
idToken: userInfo.idToken,
|
|
273
|
+
accessToken,
|
|
274
|
+
refreshToken
|
|
257
275
|
};
|
|
258
276
|
}
|
|
259
277
|
async getUserInfo() {
|
|
@@ -262,39 +280,29 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
262
280
|
const userInfo = this.authInstance.getUserInfo();
|
|
263
281
|
return userInfo;
|
|
264
282
|
}
|
|
265
|
-
// we don't support switching between different namespaces, except for solana and evm
|
|
266
283
|
async switchChain(params, init = false) {
|
|
267
284
|
super.checkSwitchChainRequirements(params, init);
|
|
268
|
-
// get chains and namespaces
|
|
269
285
|
const {
|
|
270
286
|
chainId: newChainId
|
|
271
287
|
} = params;
|
|
272
288
|
const {
|
|
273
289
|
chainId: currentChainId
|
|
274
290
|
} = this.provider;
|
|
275
|
-
const {
|
|
276
|
-
chainNamespace: currentNamespace
|
|
277
|
-
} = this.getChain(currentChainId);
|
|
278
|
-
const {
|
|
279
|
-
chainNamespace: newNamespace
|
|
280
|
-
} = this.getChain(newChainId);
|
|
281
|
-
// skip if chainId is the same
|
|
282
291
|
if (currentChainId === newChainId) return;
|
|
283
|
-
|
|
292
|
+
const newChainConfig = this.coreOptions.chains.find(c => c.chainId === newChainId);
|
|
293
|
+
if (!newChainConfig) throw index$1.WalletInitializationError.invalidParams("Chain config is not available");
|
|
294
|
+
if (newChainConfig.chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA || newChainConfig.chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155) {
|
|
284
295
|
var _this$wsEmbedInstance2;
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
await ((_this$wsEmbedInstance2 = this.wsEmbedInstance.provider) === null || _this$wsEmbedInstance2 === void 0 ? void 0 : _this$wsEmbedInstance2.request({
|
|
296
|
+
if (!((_this$wsEmbedInstance2 = this.wsEmbedInstance) !== null && _this$wsEmbedInstance2 !== void 0 && _this$wsEmbedInstance2.provider)) throw index$1.WalletInitializationError.notReady("Wallet embed is not ready");
|
|
297
|
+
const fullChainId = utils.getCaipChainId(newChainConfig);
|
|
298
|
+
await this.wsEmbedInstance.provider.request({
|
|
289
299
|
method: "wallet_switchChain",
|
|
290
300
|
params: {
|
|
291
301
|
chainId: fullChainId
|
|
292
302
|
}
|
|
293
|
-
})
|
|
303
|
+
});
|
|
294
304
|
} else {
|
|
295
305
|
var _this$privateKeyProvi;
|
|
296
|
-
// cannot switch to other namespaces
|
|
297
|
-
if (currentNamespace !== newNamespace) throw index$1.WalletLoginError.connectionError("Cannot switch to other chain namespace");
|
|
298
306
|
await ((_this$privateKeyProvi = this.privateKeyProvider) === null || _this$privateKeyProvi === void 0 ? void 0 : _this$privateKeyProvi.switchChain(params));
|
|
299
307
|
}
|
|
300
308
|
}
|
|
@@ -323,8 +331,10 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
323
331
|
});
|
|
324
332
|
return providerConfig;
|
|
325
333
|
}
|
|
326
|
-
|
|
327
|
-
|
|
334
|
+
setupSolanaWallet() {
|
|
335
|
+
const solanaChains = this.coreOptions.chains.filter(c => c.chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA);
|
|
336
|
+
if (solanaChains.length === 0 || !this.provider) return;
|
|
337
|
+
this._solanaWallet = new authSolanaWallet.AuthSolanaWallet(this.provider, solanaChains);
|
|
328
338
|
}
|
|
329
339
|
_getFinalPrivKey() {
|
|
330
340
|
if (!this.authInstance) return "";
|
|
@@ -382,24 +392,26 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
382
392
|
sessionNamespace
|
|
383
393
|
} = this.authInstance || {};
|
|
384
394
|
if (sessionId) {
|
|
385
|
-
|
|
395
|
+
this.wsEmbedInstance.setAccessTokenProvider(this.accessTokenProvider.bind(this));
|
|
396
|
+
const isLoggedIn = await this.wsEmbedInstance.connectWithSession({
|
|
386
397
|
sessionId,
|
|
387
|
-
sessionNamespace
|
|
398
|
+
sessionNamespace,
|
|
399
|
+
idToken: await this.getIdToken()
|
|
388
400
|
});
|
|
389
401
|
if (isLoggedIn) {
|
|
390
402
|
var _this$wsEmbedInstance3;
|
|
391
|
-
|
|
392
|
-
//
|
|
393
|
-
|
|
403
|
+
this.setupSolanaWallet();
|
|
404
|
+
// if getAuthTokenInfo is true, then get auth token info
|
|
405
|
+
// No need to get auth token info for auth connector as it is already handled
|
|
394
406
|
this.status = constants.CONNECTOR_STATUS.CONNECTED;
|
|
395
407
|
this.emit(constants.CONNECTOR_EVENTS.CONNECTED, {
|
|
396
|
-
|
|
408
|
+
connectorName: index.WALLET_CONNECTORS.AUTH,
|
|
397
409
|
reconnected: this.rehydrated,
|
|
398
|
-
|
|
399
|
-
|
|
410
|
+
ethereumProvider: this.provider,
|
|
411
|
+
solanaWallet: this._solanaWallet
|
|
400
412
|
});
|
|
401
|
-
if (params.
|
|
402
|
-
|
|
413
|
+
if (params.getAuthTokenInfo) {
|
|
414
|
+
await this.getAuthTokenInfo();
|
|
403
415
|
}
|
|
404
416
|
// handle disconnect from ws embed
|
|
405
417
|
(_this$wsEmbedInstance3 = this.wsEmbedInstance) === null || _this$wsEmbedInstance3 === void 0 || _this$wsEmbedInstance3.provider.on("accountsChanged", (accounts = []) => {
|
|
@@ -416,9 +428,10 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
416
428
|
await this.privateKeyProvider.setupProvider(finalPrivKey, params.chainId);
|
|
417
429
|
this.status = constants.CONNECTOR_STATUS.CONNECTED;
|
|
418
430
|
this.emit(constants.CONNECTOR_EVENTS.CONNECTED, {
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
431
|
+
connectorName: index.WALLET_CONNECTORS.AUTH,
|
|
432
|
+
ethereumProvider: this.provider,
|
|
433
|
+
solanaWallet: this._solanaWallet,
|
|
434
|
+
reconnected: this.rehydrated
|
|
422
435
|
});
|
|
423
436
|
}
|
|
424
437
|
}
|
|
@@ -434,9 +447,12 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
434
447
|
const jwtParams = _objectSpread(_objectSpread(_objectSpread({}, providerConfig.jwtParameters || {}), params.extraLoginOptions || {}), {}, {
|
|
435
448
|
login_hint: params.loginHint || ((_params$extraLoginOpt3 = params.extraLoginOptions) === null || _params$extraLoginOpt3 === void 0 ? void 0 : _params$extraLoginOpt3.login_hint)
|
|
436
449
|
});
|
|
437
|
-
const nonce =
|
|
450
|
+
const nonce = utils$1.generateNonce();
|
|
438
451
|
// post a message to the auth provider to indicate that login has been initiated.
|
|
439
|
-
const loginParams = baseControllers.cloneDeep(params)
|
|
452
|
+
const loginParams = _objectSpread(_objectSpread({}, baseControllers.cloneDeep(params)), {}, {
|
|
453
|
+
recordId: auth.generateRecordId(),
|
|
454
|
+
loginSource: "web3auth-web"
|
|
455
|
+
});
|
|
440
456
|
loginParams.extraLoginOptions = _objectSpread(_objectSpread({}, loginParams.extraLoginOptions || {}), {}, {
|
|
441
457
|
login_hint: params.loginHint || ((_params$extraLoginOpt4 = params.extraLoginOptions) === null || _params$extraLoginOpt4 === void 0 ? void 0 : _params$extraLoginOpt4.login_hint)
|
|
442
458
|
});
|
|
@@ -459,10 +475,11 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
459
475
|
version: auth.version.split(".")[0],
|
|
460
476
|
web3AuthNetwork: this.coreOptions.web3AuthNetwork,
|
|
461
477
|
web3AuthClientId: this.coreOptions.clientId,
|
|
462
|
-
originData: this.
|
|
478
|
+
originData: this.getOriginData()
|
|
463
479
|
},
|
|
464
480
|
web3AuthClientId: this.coreOptions.clientId,
|
|
465
|
-
web3AuthNetwork: this.coreOptions.web3AuthNetwork
|
|
481
|
+
web3AuthNetwork: this.coreOptions.web3AuthNetwork,
|
|
482
|
+
storageServerUrl: this.authInstance.options.storageServerUrl
|
|
466
483
|
};
|
|
467
484
|
const loginHandler = auth.createHandler(popupParams);
|
|
468
485
|
const verifierWindow = new auth.PopupHandler({
|
|
@@ -471,6 +488,9 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
471
488
|
});
|
|
472
489
|
if (this.authOptions.uxMode === auth.UX_MODE.REDIRECT) return verifierWindow.redirect(this.authOptions.replaceUrlOnRedirect);
|
|
473
490
|
let isClosedWindow = false;
|
|
491
|
+
this.auditOAuditProgress(loginParams).catch(error => {
|
|
492
|
+
loglevel.log.error("Error reporting `oauthInitiated` audit progress", error);
|
|
493
|
+
});
|
|
474
494
|
return new Promise((resolve, reject) => {
|
|
475
495
|
verifierWindow.open().catch(error => {
|
|
476
496
|
loglevel.log.error("Error during login with social", error);
|
|
@@ -479,7 +499,9 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
479
499
|
});
|
|
480
500
|
// this is to close the popup when the login is finished.
|
|
481
501
|
const securePubSub$1 = new securePubSub.SecurePubSub({
|
|
482
|
-
sameIpCheck: true
|
|
502
|
+
sameIpCheck: true,
|
|
503
|
+
serverUrl: this.authInstance.options.storageServerUrl,
|
|
504
|
+
socketUrl: this.authInstance.options.sessionSocketUrl
|
|
483
505
|
});
|
|
484
506
|
securePubSub$1.subscribe(`web3auth-login-${nonce}`).then(data => {
|
|
485
507
|
const parsedData = JSON.parse(data || "{}");
|
|
@@ -496,6 +518,9 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
496
518
|
}).catch(error => {
|
|
497
519
|
// swallow the error, dont need to throw.
|
|
498
520
|
loglevel.log.error("Error during login with social", error);
|
|
521
|
+
this.auditOAuditProgress(loginParams, "failed").catch(error => {
|
|
522
|
+
loglevel.log.error("Error reporting `oauthFailed` audit progress", error);
|
|
523
|
+
});
|
|
499
524
|
});
|
|
500
525
|
verifierWindow.once("close", () => {
|
|
501
526
|
if (!isClosedWindow) {
|
|
@@ -505,6 +530,9 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
505
530
|
}
|
|
506
531
|
});
|
|
507
532
|
this.authInstance.postLoginInitiatedMessage(loginParams, nonce).then(resolve).catch(error => {
|
|
533
|
+
this.auditOAuditProgress(loginParams, "failed").catch(error => {
|
|
534
|
+
loglevel.log.error("Error reporting `oauthFailed` audit progress", error);
|
|
535
|
+
});
|
|
508
536
|
if (error instanceof index$1.Web3AuthError) {
|
|
509
537
|
throw error;
|
|
510
538
|
}
|
|
@@ -512,6 +540,39 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
512
540
|
});
|
|
513
541
|
});
|
|
514
542
|
}
|
|
543
|
+
async accessTokenProvider({
|
|
544
|
+
forceRefresh
|
|
545
|
+
}) {
|
|
546
|
+
if (forceRefresh) {
|
|
547
|
+
await this.authInstance.refreshSession();
|
|
548
|
+
}
|
|
549
|
+
return this.authInstance.getAccessToken();
|
|
550
|
+
}
|
|
551
|
+
async getIdToken() {
|
|
552
|
+
if (!this.authInstance) throw index$1.WalletInitializationError.notReady("authInstance is not ready");
|
|
553
|
+
return this.authInstance.authSessionManager.getIdToken();
|
|
554
|
+
}
|
|
555
|
+
getOriginData() {
|
|
556
|
+
try {
|
|
557
|
+
const {
|
|
558
|
+
originData,
|
|
559
|
+
redirectUrl
|
|
560
|
+
} = this.authInstance.options;
|
|
561
|
+
const origin = new URL(redirectUrl).origin;
|
|
562
|
+
if (originData) {
|
|
563
|
+
const dappOriginData = originData[origin];
|
|
564
|
+
if (dappOriginData) {
|
|
565
|
+
return JSON.stringify({
|
|
566
|
+
[origin]: dappOriginData
|
|
567
|
+
});
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
return undefined;
|
|
571
|
+
} catch (error) {
|
|
572
|
+
loglevel.log.error("Error getting origin data", error);
|
|
573
|
+
return undefined;
|
|
574
|
+
}
|
|
575
|
+
}
|
|
515
576
|
connectWithJwtLogin(params) {
|
|
516
577
|
var _params$extraLoginOpt5, _params$extraLoginOpt7;
|
|
517
578
|
const loginConfig = this.getOAuthProviderConfig({
|
|
@@ -538,7 +599,7 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
538
599
|
} else if ((_params$extraLoginOpt7 = params.extraLoginOptions) !== null && _params$extraLoginOpt7 !== void 0 && _params$extraLoginOpt7.id_token) {
|
|
539
600
|
const {
|
|
540
601
|
payload
|
|
541
|
-
} = utils.parseToken(params.extraLoginOptions.id_token);
|
|
602
|
+
} = utils$1.parseToken(params.extraLoginOptions.id_token);
|
|
542
603
|
finalUserId = auth.getUserId(payload, loginParams.authConnection, finalExtraLoginOptions.userIdField, finalExtraLoginOptions.isUserIdCaseSensitive);
|
|
543
604
|
} else {
|
|
544
605
|
throw index$1.WalletLoginError.connectionError("Invalid login hint or id_token");
|
|
@@ -550,6 +611,41 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
550
611
|
delete loginParams.chainId;
|
|
551
612
|
return this.authInstance.postLoginInitiatedMessage(loginParams);
|
|
552
613
|
}
|
|
614
|
+
async auditOAuditProgress(loginParams, status) {
|
|
615
|
+
const {
|
|
616
|
+
authConnection,
|
|
617
|
+
authConnectionId,
|
|
618
|
+
groupedAuthConnectionId,
|
|
619
|
+
recordId,
|
|
620
|
+
loginSource
|
|
621
|
+
} = loginParams;
|
|
622
|
+
const {
|
|
623
|
+
authBuildEnv = auth.BUILD_ENV.PRODUCTION,
|
|
624
|
+
web3AuthNetwork,
|
|
625
|
+
clientId
|
|
626
|
+
} = this.coreOptions;
|
|
627
|
+
const auditServerUrl = `${constants$1.CITADEL_SERVER_MAP[authBuildEnv]}/v1/auth/audit`;
|
|
628
|
+
const progressFlag = {
|
|
629
|
+
oauthInitiated: true
|
|
630
|
+
};
|
|
631
|
+
const auditPayload = _objectSpread({
|
|
632
|
+
authConnection,
|
|
633
|
+
authConnectionId,
|
|
634
|
+
groupedAuthConnectionId,
|
|
635
|
+
recordId,
|
|
636
|
+
source: loginSource,
|
|
637
|
+
web3AuthNetwork,
|
|
638
|
+
web3AuthClientId: clientId
|
|
639
|
+
}, progressFlag);
|
|
640
|
+
if (status === "failed") {
|
|
641
|
+
auditPayload.oauthFailed = true;
|
|
642
|
+
} else if (status === "completed") {
|
|
643
|
+
auditPayload.oauthCompleted = true;
|
|
644
|
+
} else {
|
|
645
|
+
auditPayload.oauthInitiated = true;
|
|
646
|
+
}
|
|
647
|
+
await httpHelpers.put(auditServerUrl, auditPayload);
|
|
648
|
+
}
|
|
553
649
|
}
|
|
554
650
|
const authConnector = params => {
|
|
555
651
|
return ({
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
+
var kit = require('@solana/kit');
|
|
6
|
+
var walletStandardFeatures = require('@solana/wallet-standard-features');
|
|
7
|
+
var features = require('@wallet-standard/features');
|
|
8
|
+
var wsEmbed = require('@web3auth/ws-embed');
|
|
9
|
+
require('@segment/analytics-next');
|
|
10
|
+
require('../../base/loglevel.js');
|
|
11
|
+
require('@toruslabs/base-controllers');
|
|
12
|
+
require('@toruslabs/session-manager');
|
|
13
|
+
require('@web3auth/auth');
|
|
14
|
+
var index$1 = require('../../base/errors/index.js');
|
|
15
|
+
require('@toruslabs/constants');
|
|
16
|
+
require('@toruslabs/http-helpers');
|
|
17
|
+
var constants = require('../../base/constants.js');
|
|
18
|
+
var index = require('../../base/wallet/index.js');
|
|
19
|
+
require('../../base/connector/connectorStatus.js');
|
|
20
|
+
require('../../base/connector/constants.js');
|
|
21
|
+
require('jwt-decode');
|
|
22
|
+
require('../../base/plugin/errors.js');
|
|
23
|
+
require('../../base/plugin/IPlugin.js');
|
|
24
|
+
var solana = require('../../base/wallet/solana.js');
|
|
25
|
+
|
|
26
|
+
const base58Encoder = kit.getBase58Encoder();
|
|
27
|
+
const base64Decoder = kit.getBase64Decoder();
|
|
28
|
+
const base64Encoder = kit.getBase64Encoder();
|
|
29
|
+
const transactionDecoder = kit.getTransactionDecoder();
|
|
30
|
+
const ACCOUNT_FEATURES = [walletStandardFeatures.SolanaSignAndSendTransaction, walletStandardFeatures.SolanaSignMessage, walletStandardFeatures.SolanaSignTransaction];
|
|
31
|
+
function solanaWalletChainsFromConfigs(solanaChainConfigs) {
|
|
32
|
+
const ids = solanaChainConfigs.map(solana.getSolanaChainByChainConfig).filter(id => id != null);
|
|
33
|
+
const unique = [...new Set(ids)];
|
|
34
|
+
return unique;
|
|
35
|
+
}
|
|
36
|
+
const SOLANA_PROVIDER_HEX_CHAIN_IDS = new Set(Object.keys(constants.SOLANA_CAIP_CHAIN_MAP).map(id => id.toLowerCase()));
|
|
37
|
+
/**
|
|
38
|
+
* AuthSolanaWallet implements the Wallet Standard interface, wrapping a JRPC provider.
|
|
39
|
+
* Used by AuthConnector so consumers get a standards-compliant Wallet from `connection.solanaWallet`.
|
|
40
|
+
*
|
|
41
|
+
* {@link Wallet.accounts} is synchronous in the Wallet Standard; it returns `[]` until accounts have been loaded
|
|
42
|
+
* (`null` internally). The first async operation ({@link StandardConnect}, sign, etc.) calls `ensureAccountsLoaded`, which
|
|
43
|
+
* requires {@link IProvider.chainId} to be a configured Solana network (see {@link SOLANA_CAIP_CHAIN_MAP}) before {@link SOLANA_METHOD_TYPES.GET_ACCOUNTS}.
|
|
44
|
+
*/
|
|
45
|
+
class AuthSolanaWallet {
|
|
46
|
+
/**
|
|
47
|
+
* @param solanaChainConfigs - All configured Solana {@link CustomChainConfig} entries (same namespace).
|
|
48
|
+
*/
|
|
49
|
+
constructor(_provider, solanaChainConfigs) {
|
|
50
|
+
_defineProperty(this, "_provider", void 0);
|
|
51
|
+
_defineProperty(this, "version", "1.0.0");
|
|
52
|
+
_defineProperty(this, "name", "Web3Auth");
|
|
53
|
+
_defineProperty(this, "icon", index.WEB3AUTH_ICON);
|
|
54
|
+
_defineProperty(this, "chains", void 0);
|
|
55
|
+
_defineProperty(this, "features", void 0);
|
|
56
|
+
_defineProperty(this, "_accounts", null);
|
|
57
|
+
_defineProperty(this, "_listeners", {});
|
|
58
|
+
this._provider = _provider;
|
|
59
|
+
this.chains = solanaWalletChainsFromConfigs(solanaChainConfigs);
|
|
60
|
+
this.features = {
|
|
61
|
+
[features.StandardConnect]: {
|
|
62
|
+
version: "1.0.0",
|
|
63
|
+
connect: async () => {
|
|
64
|
+
await this.ensureAccountsLoaded();
|
|
65
|
+
return {
|
|
66
|
+
accounts: this.accounts
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
[features.StandardDisconnect]: {
|
|
71
|
+
version: "1.0.0",
|
|
72
|
+
disconnect: async () => {}
|
|
73
|
+
},
|
|
74
|
+
[features.StandardEvents]: {
|
|
75
|
+
version: "1.0.0",
|
|
76
|
+
on: (event, listener) => {
|
|
77
|
+
var _this$_listeners, _this$_listeners$even;
|
|
78
|
+
((_this$_listeners$even = (_this$_listeners = this._listeners)[event]) !== null && _this$_listeners$even !== void 0 ? _this$_listeners$even : _this$_listeners[event] = new Set()).add(listener);
|
|
79
|
+
return () => this._listeners[event].delete(listener);
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
[walletStandardFeatures.SolanaSignAndSendTransaction]: {
|
|
83
|
+
version: "1.0.0",
|
|
84
|
+
supportedTransactionVersions: ["legacy", 0],
|
|
85
|
+
signAndSendTransaction: async (...inputs) => {
|
|
86
|
+
await this.ensureAccountsLoaded();
|
|
87
|
+
return Promise.all(inputs.map(async input => {
|
|
88
|
+
const base64Tx = base64Decoder.decode(input.transaction);
|
|
89
|
+
const signature = await this._provider.request({
|
|
90
|
+
method: wsEmbed.SOLANA_METHOD_TYPES.SEND_TRANSACTION,
|
|
91
|
+
params: {
|
|
92
|
+
message: base64Tx
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
return {
|
|
96
|
+
signature: new Uint8Array(base58Encoder.encode(signature))
|
|
97
|
+
};
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
[walletStandardFeatures.SolanaSignMessage]: {
|
|
102
|
+
version: "1.0.0",
|
|
103
|
+
signMessage: async (...inputs) => {
|
|
104
|
+
await this.ensureAccountsLoaded();
|
|
105
|
+
return Promise.all(inputs.map(async input => {
|
|
106
|
+
const message = new TextDecoder().decode(input.message);
|
|
107
|
+
const signature = await this._provider.request({
|
|
108
|
+
method: wsEmbed.SOLANA_METHOD_TYPES.SIGN_MESSAGE,
|
|
109
|
+
params: {
|
|
110
|
+
data: message,
|
|
111
|
+
from: input.account.address
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
return {
|
|
115
|
+
signedMessage: new Uint8Array(input.message),
|
|
116
|
+
signature: new Uint8Array(base58Encoder.encode(signature))
|
|
117
|
+
};
|
|
118
|
+
}));
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
[walletStandardFeatures.SolanaSignTransaction]: {
|
|
122
|
+
version: "1.0.0",
|
|
123
|
+
supportedTransactionVersions: ["legacy", 0],
|
|
124
|
+
signTransaction: async (...inputs) => {
|
|
125
|
+
await this.ensureAccountsLoaded();
|
|
126
|
+
return Promise.all(inputs.map(async input => {
|
|
127
|
+
const base64Tx = base64Decoder.decode(input.transaction);
|
|
128
|
+
const signatureBase58 = await this._provider.request({
|
|
129
|
+
method: wsEmbed.SOLANA_METHOD_TYPES.SIGN_TRANSACTION,
|
|
130
|
+
params: {
|
|
131
|
+
message: base64Tx
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
const sigBytes = new Uint8Array(base58Encoder.encode(signatureBase58));
|
|
135
|
+
const decodedTx = transactionDecoder.decode(input.transaction);
|
|
136
|
+
const signedTx = _objectSpread(_objectSpread({}, decodedTx), {}, {
|
|
137
|
+
signatures: _objectSpread(_objectSpread({}, decodedTx.signatures), {}, {
|
|
138
|
+
[input.account.address]: sigBytes
|
|
139
|
+
})
|
|
140
|
+
});
|
|
141
|
+
const signedBase64 = kit.getBase64EncodedWireTransaction(signedTx);
|
|
142
|
+
return {
|
|
143
|
+
signedTransaction: new Uint8Array(base64Encoder.encode(signedBase64))
|
|
144
|
+
};
|
|
145
|
+
}));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Wallet Standard requires a synchronous getter; RPC runs on first async wallet operation instead.
|
|
152
|
+
*/
|
|
153
|
+
get accounts() {
|
|
154
|
+
var _this$_accounts;
|
|
155
|
+
return (_this$_accounts = this._accounts) !== null && _this$_accounts !== void 0 ? _this$_accounts : [];
|
|
156
|
+
}
|
|
157
|
+
/** Throws if the embed is not on Solana; otherwise loads accounts once via {@link SOLANA_METHOD_TYPES.GET_ACCOUNTS}. */
|
|
158
|
+
async ensureAccountsLoaded() {
|
|
159
|
+
var _await$this$_provider;
|
|
160
|
+
// assert solana chain
|
|
161
|
+
const chainId = this._provider.chainId;
|
|
162
|
+
if (!SOLANA_PROVIDER_HEX_CHAIN_IDS.has(chainId.toLowerCase())) throw index$1.WalletLoginError.unsupportedOperation(`Solana wallet operations require the embedded provider to be on a Solana network (current chainId: ${chainId}). Switch chain first.`);
|
|
163
|
+
if (this._accounts !== null) return;
|
|
164
|
+
const addresses = (_await$this$_provider = await this._provider.request({
|
|
165
|
+
method: wsEmbed.SOLANA_METHOD_TYPES.GET_ACCOUNTS
|
|
166
|
+
})) !== null && _await$this$_provider !== void 0 ? _await$this$_provider : [];
|
|
167
|
+
const accountChains = this.chains;
|
|
168
|
+
this._accounts = addresses.map(address => ({
|
|
169
|
+
address,
|
|
170
|
+
publicKey: new Uint8Array(base58Encoder.encode(address)),
|
|
171
|
+
chains: accountChains.length ? accountChains : [],
|
|
172
|
+
features: ACCOUNT_FEATURES
|
|
173
|
+
}));
|
|
174
|
+
this.emitChange({
|
|
175
|
+
accounts: this.accounts
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
emitChange(properties) {
|
|
179
|
+
const listeners = this._listeners.change;
|
|
180
|
+
if (!listeners) return;
|
|
181
|
+
listeners.forEach(listener => {
|
|
182
|
+
listener(properties);
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
exports.AuthSolanaWallet = AuthSolanaWallet;
|