@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
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
require('@babel/runtime/helpers/objectSpread2');
|
|
5
|
+
require('@babel/runtime/helpers/defineProperty');
|
|
6
|
+
require('@segment/analytics-next');
|
|
7
|
+
require('../base/loglevel.js');
|
|
8
|
+
require('@toruslabs/base-controllers');
|
|
9
|
+
require('@toruslabs/session-manager');
|
|
10
|
+
require('@web3auth/auth');
|
|
11
|
+
require('../base/errors/index.js');
|
|
12
|
+
require('@toruslabs/constants');
|
|
13
|
+
require('@toruslabs/http-helpers');
|
|
14
|
+
require('../base/constants.js');
|
|
15
|
+
require('../base/wallet/index.js');
|
|
16
|
+
var connectorStatus = require('../base/connector/connectorStatus.js');
|
|
17
|
+
require('../base/connector/constants.js');
|
|
18
|
+
require('jwt-decode');
|
|
19
|
+
require('../base/plugin/errors.js');
|
|
20
|
+
var IPlugin = require('../base/plugin/IPlugin.js');
|
|
21
|
+
|
|
22
|
+
function useWalletServicesInnerContextValue(web3AuthContext) {
|
|
23
|
+
const {
|
|
24
|
+
getPlugin,
|
|
25
|
+
isInitialized,
|
|
26
|
+
isConnected
|
|
27
|
+
} = web3AuthContext;
|
|
28
|
+
const walletServicesPlugin = vue.shallowRef(null);
|
|
29
|
+
const ready = vue.ref(false);
|
|
30
|
+
const connecting = vue.ref(false);
|
|
31
|
+
vue.watch(isInitialized, newIsInitialized => {
|
|
32
|
+
if (newIsInitialized) {
|
|
33
|
+
const plugin = getPlugin(IPlugin.EVM_PLUGINS.WALLET_SERVICES);
|
|
34
|
+
walletServicesPlugin.value = plugin;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
vue.watch(isConnected, newIsConnected => {
|
|
38
|
+
if (newIsConnected) {
|
|
39
|
+
const plugin = getPlugin(IPlugin.EVM_PLUGINS.WALLET_SERVICES);
|
|
40
|
+
walletServicesPlugin.value = plugin;
|
|
41
|
+
// When rehydrating, the connected listener may be registered after the connected event is emitted.
|
|
42
|
+
if (connectorStatus.CONNECTED_STATUSES.includes(plugin === null || plugin === void 0 ? void 0 : plugin.status)) ready.value = true;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
vue.watch(walletServicesPlugin, (newWalletServicesPlugin, prevWalletServicesPlugin) => {
|
|
46
|
+
const connectedListener = () => {
|
|
47
|
+
ready.value = true;
|
|
48
|
+
};
|
|
49
|
+
const disconnectedListener = () => {
|
|
50
|
+
ready.value = false;
|
|
51
|
+
};
|
|
52
|
+
const connectingListener = () => {
|
|
53
|
+
connecting.value = true;
|
|
54
|
+
};
|
|
55
|
+
const previousPlugin = prevWalletServicesPlugin;
|
|
56
|
+
const currentPlugin = newWalletServicesPlugin;
|
|
57
|
+
if (previousPlugin && currentPlugin !== previousPlugin) {
|
|
58
|
+
previousPlugin.removeListener(IPlugin.PLUGIN_EVENTS.CONNECTED, connectedListener);
|
|
59
|
+
previousPlugin.removeListener(IPlugin.PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
|
|
60
|
+
previousPlugin.removeListener(IPlugin.PLUGIN_EVENTS.CONNECTING, connectingListener);
|
|
61
|
+
}
|
|
62
|
+
if (currentPlugin && currentPlugin !== previousPlugin) {
|
|
63
|
+
currentPlugin.on(IPlugin.PLUGIN_EVENTS.CONNECTED, connectedListener);
|
|
64
|
+
currentPlugin.on(IPlugin.PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
|
|
65
|
+
currentPlugin.on(IPlugin.PLUGIN_EVENTS.CONNECTING, connectingListener);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
return {
|
|
69
|
+
plugin: walletServicesPlugin,
|
|
70
|
+
ready,
|
|
71
|
+
connecting
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
exports.useWalletServicesInnerContextValue = useWalletServicesInnerContextValue;
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
var analytics = require('../base/analytics.js');
|
|
5
|
+
require('@toruslabs/base-controllers');
|
|
6
|
+
require('@babel/runtime/helpers/defineProperty');
|
|
7
|
+
require('@toruslabs/session-manager');
|
|
8
|
+
require('@web3auth/auth');
|
|
9
|
+
var index = require('../base/errors/index.js');
|
|
10
|
+
var loglevel = require('../base/loglevel.js');
|
|
11
|
+
require('@toruslabs/constants');
|
|
12
|
+
require('@toruslabs/http-helpers');
|
|
13
|
+
var constants$1 = require('../base/constants.js');
|
|
14
|
+
require('../base/wallet/index.js');
|
|
15
|
+
require('../base/connector/connectorStatus.js');
|
|
16
|
+
var constants = require('../base/connector/constants.js');
|
|
17
|
+
require('jwt-decode');
|
|
18
|
+
require('../base/plugin/errors.js');
|
|
19
|
+
require('../base/plugin/IPlugin.js');
|
|
20
|
+
|
|
21
|
+
function useWeb3AuthInnerContextValue({
|
|
22
|
+
Web3AuthConstructor,
|
|
23
|
+
watchSource,
|
|
24
|
+
getWeb3AuthOptions,
|
|
25
|
+
initialState,
|
|
26
|
+
createConnectionRef = () => vue.ref(null)
|
|
27
|
+
}) {
|
|
28
|
+
const web3Auth = vue.shallowRef(null);
|
|
29
|
+
const connection = createConnectionRef();
|
|
30
|
+
const isMFAEnabled = vue.ref(false);
|
|
31
|
+
const status = vue.ref(null);
|
|
32
|
+
const chainId = vue.ref(null);
|
|
33
|
+
const chainNamespace = vue.ref(null);
|
|
34
|
+
const isInitializing = vue.ref(false);
|
|
35
|
+
const initError = vue.ref(null);
|
|
36
|
+
const isInitialized = vue.ref(false);
|
|
37
|
+
const isConnected = vue.ref(false);
|
|
38
|
+
const isAuthorized = vue.ref(false);
|
|
39
|
+
const getPlugin = name => {
|
|
40
|
+
if (!web3Auth.value) throw index.WalletInitializationError.notReady();
|
|
41
|
+
return web3Auth.value.getPlugin(name);
|
|
42
|
+
};
|
|
43
|
+
const setIsMFAEnabled = isMfaEnabled => {
|
|
44
|
+
isMFAEnabled.value = isMfaEnabled;
|
|
45
|
+
};
|
|
46
|
+
vue.watch(watchSource, (newSource, _, onInvalidate) => {
|
|
47
|
+
const resetHookState = () => {
|
|
48
|
+
connection.value = null;
|
|
49
|
+
isMFAEnabled.value = false;
|
|
50
|
+
isConnected.value = false;
|
|
51
|
+
isAuthorized.value = false;
|
|
52
|
+
status.value = null;
|
|
53
|
+
chainId.value = null;
|
|
54
|
+
chainNamespace.value = null;
|
|
55
|
+
};
|
|
56
|
+
onInvalidate(() => {
|
|
57
|
+
if (web3Auth.value) {
|
|
58
|
+
web3Auth.value.cleanup();
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
resetHookState();
|
|
62
|
+
const web3AuthInstance = new Web3AuthConstructor(getWeb3AuthOptions(newSource), initialState);
|
|
63
|
+
web3AuthInstance.setAnalyticsProperties({
|
|
64
|
+
integration_type: analytics.ANALYTICS_INTEGRATION_TYPE.VUE_COMPOSABLES
|
|
65
|
+
});
|
|
66
|
+
web3Auth.value = web3AuthInstance;
|
|
67
|
+
}, {
|
|
68
|
+
immediate: true
|
|
69
|
+
});
|
|
70
|
+
vue.watch(web3Auth, async (newWeb3Auth, _, onInvalidate) => {
|
|
71
|
+
const controller = new AbortController();
|
|
72
|
+
onInvalidate(() => {
|
|
73
|
+
controller.abort();
|
|
74
|
+
});
|
|
75
|
+
if (newWeb3Auth) {
|
|
76
|
+
try {
|
|
77
|
+
initError.value = null;
|
|
78
|
+
isInitializing.value = true;
|
|
79
|
+
await newWeb3Auth.init({
|
|
80
|
+
signal: controller.signal
|
|
81
|
+
});
|
|
82
|
+
} catch (error) {
|
|
83
|
+
loglevel.log.error("Error initializing web3auth", error);
|
|
84
|
+
initError.value = error;
|
|
85
|
+
} finally {
|
|
86
|
+
isInitializing.value = false;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}, {
|
|
90
|
+
immediate: true
|
|
91
|
+
});
|
|
92
|
+
vue.watch(web3Auth, (newWeb3Auth, prevWeb3Auth) => {
|
|
93
|
+
const notReadyListener = () => {
|
|
94
|
+
status.value = web3Auth.value.status;
|
|
95
|
+
};
|
|
96
|
+
const readyListener = () => {
|
|
97
|
+
status.value = web3Auth.value.status;
|
|
98
|
+
isInitialized.value = true;
|
|
99
|
+
};
|
|
100
|
+
const connectedListener = data => {
|
|
101
|
+
if (data.pendingUserConsent) return;
|
|
102
|
+
status.value = web3Auth.value.status;
|
|
103
|
+
// We do this because of rehydration issues. status connected is fired first but web3auth sdk is not ready yet.
|
|
104
|
+
if (web3Auth.value.status === constants.CONNECTOR_STATUS.CONNECTED) {
|
|
105
|
+
var _web3Auth$value$curre, _web3Auth$value$curre2;
|
|
106
|
+
if (!isInitialized.value) isInitialized.value = true;
|
|
107
|
+
isConnected.value = true;
|
|
108
|
+
connection.value = newWeb3Auth.connection;
|
|
109
|
+
chainId.value = web3Auth.value.currentChainId;
|
|
110
|
+
chainNamespace.value = (_web3Auth$value$curre = (_web3Auth$value$curre2 = web3Auth.value.currentChain) === null || _web3Auth$value$curre2 === void 0 ? void 0 : _web3Auth$value$curre2.chainNamespace) !== null && _web3Auth$value$curre !== void 0 ? _web3Auth$value$curre : null;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
const authorizedListener = () => {
|
|
114
|
+
status.value = web3Auth.value.status;
|
|
115
|
+
if (web3Auth.value.status === constants.CONNECTOR_STATUS.AUTHORIZED) {
|
|
116
|
+
isAuthorized.value = true;
|
|
117
|
+
isConnected.value = true;
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
const consentAcceptedListener = () => {
|
|
121
|
+
status.value = web3Auth.value.status;
|
|
122
|
+
if (web3Auth.value.status === constants.CONNECTOR_STATUS.CONNECTED || web3Auth.value.status === constants.CONNECTOR_STATUS.AUTHORIZED) {
|
|
123
|
+
var _web3Auth$value$curre3, _web3Auth$value$curre4;
|
|
124
|
+
if (!isInitialized.value) isInitialized.value = true;
|
|
125
|
+
isConnected.value = true;
|
|
126
|
+
connection.value = newWeb3Auth.connection;
|
|
127
|
+
chainId.value = web3Auth.value.currentChainId;
|
|
128
|
+
chainNamespace.value = (_web3Auth$value$curre3 = (_web3Auth$value$curre4 = web3Auth.value.currentChain) === null || _web3Auth$value$curre4 === void 0 ? void 0 : _web3Auth$value$curre4.chainNamespace) !== null && _web3Auth$value$curre3 !== void 0 ? _web3Auth$value$curre3 : null;
|
|
129
|
+
if (web3Auth.value.status === constants.CONNECTOR_STATUS.AUTHORIZED) {
|
|
130
|
+
isAuthorized.value = true;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
const disconnectedListener = () => {
|
|
135
|
+
status.value = web3Auth.value.status;
|
|
136
|
+
isConnected.value = false;
|
|
137
|
+
connection.value = null;
|
|
138
|
+
isMFAEnabled.value = false;
|
|
139
|
+
isAuthorized.value = false;
|
|
140
|
+
};
|
|
141
|
+
const connectingListener = () => {
|
|
142
|
+
status.value = web3Auth.value.status;
|
|
143
|
+
};
|
|
144
|
+
const errorListener = () => {
|
|
145
|
+
status.value = web3Auth.value.status;
|
|
146
|
+
};
|
|
147
|
+
const mfaEnabledListener = () => {
|
|
148
|
+
isMFAEnabled.value = true;
|
|
149
|
+
};
|
|
150
|
+
if (prevWeb3Auth && newWeb3Auth !== prevWeb3Auth) {
|
|
151
|
+
prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.NOT_READY, notReadyListener);
|
|
152
|
+
prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.READY, readyListener);
|
|
153
|
+
prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.CONNECTED, connectedListener);
|
|
154
|
+
prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.AUTHORIZED, authorizedListener);
|
|
155
|
+
prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.DISCONNECTED, disconnectedListener);
|
|
156
|
+
prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.CONNECTING, connectingListener);
|
|
157
|
+
prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.ERRORED, errorListener);
|
|
158
|
+
prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, errorListener);
|
|
159
|
+
prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.MFA_ENABLED, mfaEnabledListener);
|
|
160
|
+
if (prevWeb3Auth.loginMode === constants$1.LOGIN_MODE.MODAL) {
|
|
161
|
+
prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.CONSENT_ACCEPTED, consentAcceptedListener);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
if (newWeb3Auth && newWeb3Auth !== prevWeb3Auth) {
|
|
165
|
+
status.value = newWeb3Auth.status;
|
|
166
|
+
newWeb3Auth.on(constants.CONNECTOR_EVENTS.NOT_READY, notReadyListener);
|
|
167
|
+
newWeb3Auth.on(constants.CONNECTOR_EVENTS.READY, readyListener);
|
|
168
|
+
newWeb3Auth.on(constants.CONNECTOR_EVENTS.CONNECTED, connectedListener);
|
|
169
|
+
newWeb3Auth.on(constants.CONNECTOR_EVENTS.AUTHORIZED, authorizedListener);
|
|
170
|
+
newWeb3Auth.on(constants.CONNECTOR_EVENTS.DISCONNECTED, disconnectedListener);
|
|
171
|
+
newWeb3Auth.on(constants.CONNECTOR_EVENTS.CONNECTING, connectingListener);
|
|
172
|
+
newWeb3Auth.on(constants.CONNECTOR_EVENTS.ERRORED, errorListener);
|
|
173
|
+
newWeb3Auth.on(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, errorListener);
|
|
174
|
+
newWeb3Auth.on(constants.CONNECTOR_EVENTS.MFA_ENABLED, mfaEnabledListener);
|
|
175
|
+
if (newWeb3Auth.loginMode === constants$1.LOGIN_MODE.MODAL) {
|
|
176
|
+
newWeb3Auth.on(constants.CONNECTOR_EVENTS.CONSENT_ACCEPTED, consentAcceptedListener);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}, {
|
|
180
|
+
immediate: true
|
|
181
|
+
});
|
|
182
|
+
vue.watch(connection, (newConnection, prevConnection) => {
|
|
183
|
+
var _prevConnection$ether, _newConnection$ethere;
|
|
184
|
+
const handleChainChange = newChainId => {
|
|
185
|
+
var _web3Auth$value$curre5, _web3Auth$value;
|
|
186
|
+
chainId.value = newChainId;
|
|
187
|
+
chainNamespace.value = (_web3Auth$value$curre5 = (_web3Auth$value = web3Auth.value) === null || _web3Auth$value === void 0 || (_web3Auth$value = _web3Auth$value.currentChain) === null || _web3Auth$value === void 0 ? void 0 : _web3Auth$value.chainNamespace) !== null && _web3Auth$value$curre5 !== void 0 ? _web3Auth$value$curre5 : null;
|
|
188
|
+
};
|
|
189
|
+
const prevProvider = (_prevConnection$ether = prevConnection === null || prevConnection === void 0 ? void 0 : prevConnection.ethereumProvider) !== null && _prevConnection$ether !== void 0 ? _prevConnection$ether : null;
|
|
190
|
+
const newProvider = (_newConnection$ethere = newConnection === null || newConnection === void 0 ? void 0 : newConnection.ethereumProvider) !== null && _newConnection$ethere !== void 0 ? _newConnection$ethere : null;
|
|
191
|
+
if (prevProvider && newProvider !== prevProvider) {
|
|
192
|
+
prevProvider.removeListener("chainChanged", handleChainChange);
|
|
193
|
+
}
|
|
194
|
+
if (newProvider && newProvider !== prevProvider) {
|
|
195
|
+
newProvider.on("chainChanged", handleChainChange);
|
|
196
|
+
}
|
|
197
|
+
}, {
|
|
198
|
+
immediate: true
|
|
199
|
+
});
|
|
200
|
+
return {
|
|
201
|
+
web3Auth,
|
|
202
|
+
isConnected,
|
|
203
|
+
isAuthorized,
|
|
204
|
+
connection,
|
|
205
|
+
isInitializing,
|
|
206
|
+
initError,
|
|
207
|
+
isInitialized,
|
|
208
|
+
status,
|
|
209
|
+
isMFAEnabled,
|
|
210
|
+
chainId,
|
|
211
|
+
chainNamespace,
|
|
212
|
+
getPlugin,
|
|
213
|
+
setIsMFAEnabled
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
exports.useWeb3AuthInnerContextValue = useWeb3AuthInnerContextValue;
|
|
@@ -11,15 +11,17 @@ require('@babel/runtime/helpers/defineProperty');
|
|
|
11
11
|
require('@segment/analytics-next');
|
|
12
12
|
var loglevel = require('../../base/loglevel.js');
|
|
13
13
|
var baseControllers = require('@toruslabs/base-controllers');
|
|
14
|
+
require('@toruslabs/session-manager');
|
|
14
15
|
var index = require('../../base/errors/index.js');
|
|
16
|
+
require('@toruslabs/constants');
|
|
17
|
+
require('@toruslabs/http-helpers');
|
|
18
|
+
require('../../base/constants.js');
|
|
15
19
|
require('../../base/wallet/index.js');
|
|
16
20
|
require('../../base/connector/connectorStatus.js');
|
|
17
21
|
require('../../base/connector/constants.js');
|
|
18
22
|
require('jwt-decode');
|
|
19
23
|
require('../../base/plugin/errors.js');
|
|
20
24
|
require('../../base/plugin/IPlugin.js');
|
|
21
|
-
require('@toruslabs/constants');
|
|
22
|
-
require('@toruslabs/http-helpers');
|
|
23
25
|
var useWeb3Auth = require('../composables/useWeb3Auth.js');
|
|
24
26
|
var useWeb3AuthDisconnect = require('../composables/useWeb3AuthDisconnect.js');
|
|
25
27
|
var constants = require('./constants.js');
|
|
@@ -87,16 +89,16 @@ const Web3AuthWagmiProvider = vue.defineComponent({
|
|
|
87
89
|
setup() {
|
|
88
90
|
const {
|
|
89
91
|
isConnected,
|
|
90
|
-
|
|
92
|
+
connection
|
|
91
93
|
} = useWeb3Auth.useWeb3Auth();
|
|
92
94
|
const {
|
|
93
95
|
disconnect
|
|
94
96
|
} = useWeb3AuthDisconnect.useWeb3AuthDisconnect();
|
|
95
97
|
const wagmiConfig = vue$1.useConfig();
|
|
96
98
|
const {
|
|
97
|
-
reconnect
|
|
99
|
+
mutate: reconnect
|
|
98
100
|
} = vue$1.useReconnect();
|
|
99
|
-
vue$1.
|
|
101
|
+
vue$1.useConnectionEffect({
|
|
100
102
|
onDisconnect: async () => {
|
|
101
103
|
loglevel.log.info("Disconnected from wagmi");
|
|
102
104
|
if (isConnected.value) await disconnect();
|
|
@@ -108,9 +110,11 @@ const Web3AuthWagmiProvider = vue.defineComponent({
|
|
|
108
110
|
}
|
|
109
111
|
}
|
|
110
112
|
});
|
|
111
|
-
vue.watch(isConnected, async
|
|
112
|
-
|
|
113
|
-
|
|
113
|
+
vue.watch([isConnected, connection], async () => {
|
|
114
|
+
var _connection$value;
|
|
115
|
+
const newIsConnected = isConnected.value;
|
|
116
|
+
if (newIsConnected && (_connection$value = connection.value) !== null && _connection$value !== void 0 && _connection$value.ethereumProvider) {
|
|
117
|
+
const connector = await setupConnector(connection.value.ethereumProvider, wagmiConfig);
|
|
114
118
|
if (!connector) {
|
|
115
119
|
throw new Error("Failed to setup connector");
|
|
116
120
|
}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var kit = require('@solana/kit');
|
|
4
|
+
var metadataHelpers = require('@toruslabs/metadata-helpers');
|
|
5
|
+
var wsEmbed = require('@web3auth/ws-embed');
|
|
6
|
+
var evm = require('@x402/evm');
|
|
7
|
+
var fetch$1 = require('@x402/fetch');
|
|
8
|
+
var svm = require('@x402/svm');
|
|
9
|
+
var viem = require('viem');
|
|
10
|
+
require('../base/wallet/index.js');
|
|
11
|
+
var interfaces = require('./interfaces.js');
|
|
12
|
+
var solana = require('../base/wallet/solana.js');
|
|
13
|
+
|
|
14
|
+
const EVM_CAIP2_WILDCARD = "eip155:*";
|
|
15
|
+
const SOLANA_CAIP2_WILDCARD = "solana:*";
|
|
16
|
+
/**
|
|
17
|
+
* For 402 responses that carry v2 payment requirements in the JSON body instead
|
|
18
|
+
* of the PAYMENT-REQUIRED header, reads the body, promotes the data into the
|
|
19
|
+
* header, and reconstructs the response so downstream code can consume it normally.
|
|
20
|
+
*
|
|
21
|
+
* Returns the original response unchanged when the body is not JSON, is malformed,
|
|
22
|
+
* or does not carry an x402Version \>= 2 payload.
|
|
23
|
+
*/
|
|
24
|
+
async function normalizePaymentRequiredResponse(response) {
|
|
25
|
+
var _response$headers$get;
|
|
26
|
+
const contentType = (_response$headers$get = response.headers.get("Content-Type")) !== null && _response$headers$get !== void 0 ? _response$headers$get : "";
|
|
27
|
+
let body;
|
|
28
|
+
if (contentType.includes("application/json")) {
|
|
29
|
+
body = await response.json();
|
|
30
|
+
} else {
|
|
31
|
+
const data = await response.text();
|
|
32
|
+
body = JSON.parse(data);
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
if (body.x402Version && body.x402Version >= 2) {
|
|
36
|
+
const newHeaders = new Headers(response.headers);
|
|
37
|
+
const jsonData = JSON.stringify(body);
|
|
38
|
+
newHeaders.set(interfaces.PAYMENT_REQUIRED_HEADER, metadataHelpers.encodeBase64Url(jsonData));
|
|
39
|
+
return new Response(jsonData, {
|
|
40
|
+
status: response.status,
|
|
41
|
+
statusText: response.statusText,
|
|
42
|
+
headers: newHeaders
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
} catch {
|
|
46
|
+
// Malformed JSON - fall through and return response with the already-consumed body
|
|
47
|
+
}
|
|
48
|
+
return new Response(JSON.stringify(body), {
|
|
49
|
+
status: response.status,
|
|
50
|
+
statusText: response.statusText,
|
|
51
|
+
headers: response.headers
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
async function getEvmAddress(provider) {
|
|
55
|
+
var _accounts$;
|
|
56
|
+
const accounts = await provider.request({
|
|
57
|
+
method: wsEmbed.EVM_METHOD_TYPES.GET_ACCOUNTS
|
|
58
|
+
});
|
|
59
|
+
return (_accounts$ = accounts === null || accounts === void 0 ? void 0 : accounts[0]) !== null && _accounts$ !== void 0 ? _accounts$ : null;
|
|
60
|
+
}
|
|
61
|
+
function createProviderBackedEvmSigner(provider, address) {
|
|
62
|
+
const walletClient = viem.createWalletClient({
|
|
63
|
+
account: address,
|
|
64
|
+
transport: viem.custom(provider)
|
|
65
|
+
});
|
|
66
|
+
return walletClient;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Wraps a fetch function so that 402 responses whose v2 payment requirements
|
|
70
|
+
* arrive in the response body (instead of the PAYMENT-REQUIRED header) are
|
|
71
|
+
* normalised: the body JSON is base64-encoded and promoted into the
|
|
72
|
+
* PAYMENT-REQUIRED header so that the \@x402/fetch client library can process it.
|
|
73
|
+
*
|
|
74
|
+
* The \@x402/fetch library's body fallback only accepts x402Version === 1;
|
|
75
|
+
* this shim bridges the gap for servers that send v2 data in the body.
|
|
76
|
+
*
|
|
77
|
+
* @param baseFetch - The underlying fetch implementation to wrap
|
|
78
|
+
* @returns A fetch-compatible function with the shim applied
|
|
79
|
+
*/
|
|
80
|
+
function withX402BodyShim(baseFetch) {
|
|
81
|
+
return async (input, init) => {
|
|
82
|
+
const response = await baseFetch(input, init);
|
|
83
|
+
if (response.status === 402 && !response.headers.get(interfaces.PAYMENT_REQUIRED_HEADER)) {
|
|
84
|
+
return normalizePaymentRequiredResponse(response);
|
|
85
|
+
}
|
|
86
|
+
return response;
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Builds a `@x402/svm`-compatible `TransactionPartialSigner` from a web3auth
|
|
91
|
+
* Solana provider.
|
|
92
|
+
*
|
|
93
|
+
* The web3auth `signTransaction` call returns the signer's Ed25519 signature
|
|
94
|
+
* encoded in base58 (64 bytes). We decode it back to bytes and slot it into
|
|
95
|
+
* the signature dictionary that `@solana/kit`'s partial-signing helpers expect.
|
|
96
|
+
*/
|
|
97
|
+
function createSvmSigner(wallet, walletAddress) {
|
|
98
|
+
const base58Encoder = kit.getBase58Encoder();
|
|
99
|
+
const signerAddress = kit.address(walletAddress);
|
|
100
|
+
const clientSvmSigner = svm.toClientSvmSigner({
|
|
101
|
+
address: signerAddress,
|
|
102
|
+
signTransactions: async transactions => {
|
|
103
|
+
const signatureDictionaries = await Promise.all(transactions.map(async tx => {
|
|
104
|
+
const signatureBase58 = await solana.walletSignTransaction(wallet, tx);
|
|
105
|
+
return {
|
|
106
|
+
[signerAddress]: base58Encoder.encode(signatureBase58)
|
|
107
|
+
};
|
|
108
|
+
}));
|
|
109
|
+
return signatureDictionaries;
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
return clientSvmSigner;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Creates a payment-aware fetch function for a connected Solana wallet.
|
|
116
|
+
* Registers the exact SVM payment scheme and applies the body-shim so that
|
|
117
|
+
* servers returning v2 payment requirements in the response body are handled
|
|
118
|
+
* transparently.
|
|
119
|
+
*
|
|
120
|
+
* @param wallet - Connected Solana wallet (must have an account)
|
|
121
|
+
* @param walletAddress - The wallet's public key as a base58 address string
|
|
122
|
+
* @param rpcUrl - Optional custom Solana RPC URL (defaults to public cluster endpoints)
|
|
123
|
+
* @returns A fetch-compatible function that handles x402 payment flows
|
|
124
|
+
*/
|
|
125
|
+
function createSolanaX402Fetch(wallet, walletAddress, rpcUrl) {
|
|
126
|
+
if (!walletAddress) throw new Error("Wallet address is unavailable.");
|
|
127
|
+
const svmSigner = createSvmSigner(wallet, walletAddress);
|
|
128
|
+
const client = new fetch$1.x402Client().register(SOLANA_CAIP2_WILDCARD, new svm.ExactSvmScheme(svmSigner, rpcUrl ? {
|
|
129
|
+
rpcUrl
|
|
130
|
+
} : undefined));
|
|
131
|
+
return fetch$1.wrapFetchWithPayment(withX402BodyShim(fetch), client);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Creates a payment-aware fetch function for an EVM typed-data signer.
|
|
135
|
+
* Registers the exact EVM payment scheme and applies the body-shim so that
|
|
136
|
+
* servers returning v2 payment requirements in the response body are handled
|
|
137
|
+
* transparently.
|
|
138
|
+
*
|
|
139
|
+
* @param signer - Minimal signer with an address and EIP-712 signTypedData implementation
|
|
140
|
+
* @returns A fetch-compatible function that handles x402 payment flows
|
|
141
|
+
*/
|
|
142
|
+
function createEvmX402Fetch(walletClient) {
|
|
143
|
+
var _walletClient$account;
|
|
144
|
+
const address = (_walletClient$account = walletClient.account) === null || _walletClient$account === void 0 ? void 0 : _walletClient$account.address;
|
|
145
|
+
if (!address) throw new Error("Wallet account is unavailable.");
|
|
146
|
+
const evmSigner = evm.toClientEvmSigner({
|
|
147
|
+
address,
|
|
148
|
+
signTypedData: async params => {
|
|
149
|
+
const {
|
|
150
|
+
domain,
|
|
151
|
+
types,
|
|
152
|
+
primaryType,
|
|
153
|
+
message
|
|
154
|
+
} = params;
|
|
155
|
+
return walletClient.signTypedData({
|
|
156
|
+
account: address,
|
|
157
|
+
domain,
|
|
158
|
+
types,
|
|
159
|
+
primaryType,
|
|
160
|
+
message
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
const client = new fetch$1.x402Client().register(EVM_CAIP2_WILDCARD, new evm.ExactEvmScheme(evmSigner));
|
|
165
|
+
return fetch$1.wrapFetchWithPayment(withX402BodyShim(fetch), client);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
exports.PAYMENT_REQUIRED_HEADER = interfaces.PAYMENT_REQUIRED_HEADER;
|
|
169
|
+
exports.EVM_CAIP2_WILDCARD = EVM_CAIP2_WILDCARD;
|
|
170
|
+
exports.SOLANA_CAIP2_WILDCARD = SOLANA_CAIP2_WILDCARD;
|
|
171
|
+
exports.createEvmX402Fetch = createEvmX402Fetch;
|
|
172
|
+
exports.createProviderBackedEvmSigner = createProviderBackedEvmSigner;
|
|
173
|
+
exports.createSolanaX402Fetch = createSolanaX402Fetch;
|
|
174
|
+
exports.getEvmAddress = getEvmAddress;
|
|
175
|
+
exports.withX402BodyShim = withX402BodyShim;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
var baseControllers = require('@toruslabs/base-controllers');
|
|
5
|
+
var useChain = require('../react/hooks/useChain.js');
|
|
6
|
+
var useWeb3Auth = require('../react/hooks/useWeb3Auth.js');
|
|
7
|
+
var index = require('./index.js');
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Web3Auth-integrated x402 fetch hook.
|
|
11
|
+
*
|
|
12
|
+
* Automatically selects the correct payment path based on the currently connected
|
|
13
|
+
* chain namespace:
|
|
14
|
+
* - **Solana** - uses `createSolanaX402Fetch` backed by the web3auth Solana wallet.
|
|
15
|
+
* - **EVM** - uses `createEvmX402Fetch` backed by the web3auth EIP-1193 provider.
|
|
16
|
+
*
|
|
17
|
+
* Callers do not need to pass a signer manually; it is sourced internally.
|
|
18
|
+
* When `address` is provided, it takes precedence over the provider's active account.
|
|
19
|
+
*/
|
|
20
|
+
const useX402Fetch = address => {
|
|
21
|
+
const {
|
|
22
|
+
chainNamespace
|
|
23
|
+
} = useChain.useChain();
|
|
24
|
+
const {
|
|
25
|
+
web3Auth,
|
|
26
|
+
isConnected,
|
|
27
|
+
connection
|
|
28
|
+
} = useWeb3Auth.useWeb3Auth();
|
|
29
|
+
// const { solanaWallet, accounts } = useSolanaWallet();
|
|
30
|
+
const fetchWithPayment = react.useCallback(async ({
|
|
31
|
+
url,
|
|
32
|
+
options
|
|
33
|
+
}) => {
|
|
34
|
+
if (!isConnected) throw new Error("Wallet not connected");
|
|
35
|
+
if (chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA) {
|
|
36
|
+
var _solanaWallet$account;
|
|
37
|
+
const {
|
|
38
|
+
solanaWallet
|
|
39
|
+
} = connection;
|
|
40
|
+
if (!solanaWallet || !((_solanaWallet$account = solanaWallet.accounts) !== null && _solanaWallet$account !== void 0 && _solanaWallet$account[0])) throw new Error("Solana wallet not available");
|
|
41
|
+
const account = solanaWallet.accounts[0];
|
|
42
|
+
if (!account) throw new Error("Solana account not available");
|
|
43
|
+
return index.createSolanaX402Fetch(solanaWallet, account.address)(url, options);
|
|
44
|
+
}
|
|
45
|
+
if (chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155) {
|
|
46
|
+
const provider = connection === null || connection === void 0 ? void 0 : connection.ethereumProvider;
|
|
47
|
+
if (!provider) throw new Error("EVM provider not available");
|
|
48
|
+
const evmAddress = address !== null && address !== void 0 ? address : await index.getEvmAddress(provider);
|
|
49
|
+
if (!evmAddress) throw new Error("EVM address not available");
|
|
50
|
+
const signer = index.createProviderBackedEvmSigner(provider, evmAddress);
|
|
51
|
+
return index.createEvmX402Fetch(signer)(url, options);
|
|
52
|
+
}
|
|
53
|
+
throw new Error("Unsupported chain namespace");
|
|
54
|
+
}, [web3Auth, isConnected, chainNamespace, address, connection]);
|
|
55
|
+
return {
|
|
56
|
+
fetchWithPayment
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
exports.createEvmX402Fetch = index.createEvmX402Fetch;
|
|
61
|
+
exports.createProviderBackedEvmSigner = index.createProviderBackedEvmSigner;
|
|
62
|
+
exports.createSolanaX402Fetch = index.createSolanaX402Fetch;
|
|
63
|
+
exports.getEvmAddress = index.getEvmAddress;
|
|
64
|
+
exports.useX402Fetch = useX402Fetch;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
var baseControllers = require('@toruslabs/base-controllers');
|
|
5
|
+
var useWeb3Auth = require('../vue/composables/useWeb3Auth.js');
|
|
6
|
+
var index = require('./index.js');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Web3Auth-integrated x402 fetch composable.
|
|
10
|
+
*
|
|
11
|
+
* Automatically selects the correct payment path based on the currently connected
|
|
12
|
+
* chain namespace:
|
|
13
|
+
* - **Solana** - uses `createSolanaX402Fetch` backed by the web3auth Solana wallet.
|
|
14
|
+
* - **EVM** - uses `createEvmX402Fetch` backed by the web3auth EIP-1193 provider.
|
|
15
|
+
*
|
|
16
|
+
* Callers do not need to pass a signer manually; it is sourced internally.
|
|
17
|
+
* When `address` is provided, it takes precedence over the provider's active account.
|
|
18
|
+
*/
|
|
19
|
+
const useX402Fetch = address => {
|
|
20
|
+
const {
|
|
21
|
+
isConnected,
|
|
22
|
+
chainNamespace,
|
|
23
|
+
connection
|
|
24
|
+
} = useWeb3Auth.useWeb3Auth();
|
|
25
|
+
const fetchWithPayment = async ({
|
|
26
|
+
url,
|
|
27
|
+
options
|
|
28
|
+
}) => {
|
|
29
|
+
if (!isConnected.value) throw new Error("Wallet not connected");
|
|
30
|
+
if (chainNamespace.value === baseControllers.CHAIN_NAMESPACES.SOLANA) {
|
|
31
|
+
var _solanaWallet$account;
|
|
32
|
+
const {
|
|
33
|
+
solanaWallet
|
|
34
|
+
} = connection.value;
|
|
35
|
+
if (!solanaWallet || !((_solanaWallet$account = solanaWallet.accounts) !== null && _solanaWallet$account !== void 0 && _solanaWallet$account[0])) throw new Error("Solana wallet not available");
|
|
36
|
+
const account = solanaWallet.accounts[0];
|
|
37
|
+
if (!account) throw new Error("Solana account not available");
|
|
38
|
+
return index.createSolanaX402Fetch(solanaWallet, account.address)(url, options);
|
|
39
|
+
}
|
|
40
|
+
if (chainNamespace.value === baseControllers.CHAIN_NAMESPACES.EIP155) {
|
|
41
|
+
var _connection$value, _toValue;
|
|
42
|
+
const provider = (_connection$value = connection.value) === null || _connection$value === void 0 ? void 0 : _connection$value.ethereumProvider;
|
|
43
|
+
if (!provider) throw new Error("EVM provider not available");
|
|
44
|
+
const evmAddress = (_toValue = vue.toValue(address)) !== null && _toValue !== void 0 ? _toValue : await index.getEvmAddress(provider);
|
|
45
|
+
if (!evmAddress) throw new Error("EVM address not available");
|
|
46
|
+
const signer = index.createProviderBackedEvmSigner(provider, evmAddress);
|
|
47
|
+
return index.createEvmX402Fetch(signer)(url, options);
|
|
48
|
+
}
|
|
49
|
+
throw new Error("Unsupported chain namespace");
|
|
50
|
+
};
|
|
51
|
+
return {
|
|
52
|
+
fetchWithPayment
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
exports.createEvmX402Fetch = index.createEvmX402Fetch;
|
|
57
|
+
exports.createSolanaX402Fetch = index.createSolanaX402Fetch;
|
|
58
|
+
exports.useX402Fetch = useX402Fetch;
|