@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
|
@@ -1,60 +1,39 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var auth = require('@web3auth/auth');
|
|
4
|
-
var
|
|
4
|
+
var walletMiddleware = require('./walletMiddleware.js');
|
|
5
5
|
|
|
6
6
|
function createEthMiddleware(providerHandlers) {
|
|
7
|
-
const {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
processEthSignMessage,
|
|
14
|
-
processTypedMessageV4,
|
|
15
|
-
processPersonalMessage,
|
|
16
|
-
processGetCapabilities,
|
|
17
|
-
processSendCalls,
|
|
18
|
-
processGetCallsStatus,
|
|
19
|
-
processShowCallsStatus
|
|
20
|
-
} = providerHandlers;
|
|
21
|
-
const ethMiddleware = auth.mergeMiddleware([auth.createScaffoldMiddleware({
|
|
22
|
-
eth_syncing: false
|
|
23
|
-
}), walletMidddleware.createWalletMiddleware({
|
|
24
|
-
getAccounts,
|
|
25
|
-
getPrivateKey,
|
|
26
|
-
getPublicKey,
|
|
27
|
-
processTransaction,
|
|
28
|
-
processEthSignMessage,
|
|
29
|
-
processSignTransaction,
|
|
30
|
-
processTypedMessageV4,
|
|
31
|
-
processPersonalMessage,
|
|
32
|
-
processGetCapabilities,
|
|
33
|
-
processSendCalls,
|
|
34
|
-
processGetCallsStatus,
|
|
35
|
-
processShowCallsStatus
|
|
36
|
-
})]);
|
|
37
|
-
return ethMiddleware;
|
|
7
|
+
const engine = auth.JRPCEngineV2.create({
|
|
8
|
+
middleware: [auth.createScaffoldMiddlewareV2({
|
|
9
|
+
eth_syncing: false
|
|
10
|
+
}), walletMiddleware.createWalletMiddlewareV2(providerHandlers)]
|
|
11
|
+
});
|
|
12
|
+
return engine.asMiddleware();
|
|
38
13
|
}
|
|
39
14
|
function createEthChainSwitchMiddleware({
|
|
40
15
|
switchChain,
|
|
41
16
|
addChain
|
|
42
17
|
}) {
|
|
43
|
-
async function
|
|
44
|
-
var
|
|
45
|
-
const
|
|
18
|
+
async function walletSwitchEthereumChainHandler(params) {
|
|
19
|
+
var _request$params;
|
|
20
|
+
const request = params.request;
|
|
21
|
+
const chainParams = (_request$params = request.params) !== null && _request$params !== void 0 && _request$params.length ? request.params[0] : undefined;
|
|
46
22
|
if (!chainParams) throw auth.rpcErrors.invalidParams("Missing chainId");
|
|
47
|
-
|
|
23
|
+
await switchChain(chainParams);
|
|
24
|
+
return null;
|
|
48
25
|
}
|
|
49
|
-
async function
|
|
50
|
-
var
|
|
51
|
-
const
|
|
26
|
+
async function walletAddEthereumChainHandler(params) {
|
|
27
|
+
var _request$params2;
|
|
28
|
+
const request = params.request;
|
|
29
|
+
const chainConfig = (_request$params2 = request.params) !== null && _request$params2 !== void 0 && _request$params2.length ? request.params[0] : undefined;
|
|
52
30
|
if (!chainConfig) throw auth.rpcErrors.invalidParams("Missing chainConfig");
|
|
53
|
-
|
|
31
|
+
await addChain(chainConfig);
|
|
32
|
+
return null;
|
|
54
33
|
}
|
|
55
|
-
return auth.
|
|
56
|
-
wallet_switchEthereumChain:
|
|
57
|
-
wallet_addEthereumChain:
|
|
34
|
+
return auth.createScaffoldMiddlewareV2({
|
|
35
|
+
wallet_switchEthereumChain: walletSwitchEthereumChainHandler,
|
|
36
|
+
wallet_addEthereumChain: walletAddEthereumChainHandler
|
|
58
37
|
});
|
|
59
38
|
}
|
|
60
39
|
|
|
@@ -4,21 +4,21 @@ var baseControllers = require('@toruslabs/base-controllers');
|
|
|
4
4
|
var auth = require('@web3auth/auth');
|
|
5
5
|
|
|
6
6
|
function createEthChainIdMiddleware(chainId) {
|
|
7
|
-
return (
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return next();
|
|
7
|
+
return ({
|
|
8
|
+
request,
|
|
9
|
+
next
|
|
10
|
+
}) => {
|
|
11
|
+
if (request.method === "eth_chainId") return chainId;
|
|
12
|
+
return next(request);
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
15
|
function createEthProviderConfigMiddleware(providerConfig) {
|
|
16
|
-
return (
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return next();
|
|
16
|
+
return ({
|
|
17
|
+
request,
|
|
18
|
+
next
|
|
19
|
+
}) => {
|
|
20
|
+
if (request.method === "eth_provider_config") return providerConfig;
|
|
21
|
+
return next(request);
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
function createEthJsonRpcClient(providerConfig) {
|
|
@@ -26,16 +26,15 @@ function createEthJsonRpcClient(providerConfig) {
|
|
|
26
26
|
chainId,
|
|
27
27
|
rpcTarget
|
|
28
28
|
} = providerConfig;
|
|
29
|
-
const
|
|
30
|
-
|
|
29
|
+
const engine = auth.JRPCEngineV2.create({
|
|
30
|
+
middleware: [createEthChainIdMiddleware(chainId), createEthProviderConfigMiddleware(providerConfig), baseControllers.createFetchMiddleware({
|
|
31
|
+
rpcTarget
|
|
32
|
+
})]
|
|
31
33
|
});
|
|
32
|
-
const networkMiddleware =
|
|
34
|
+
const networkMiddleware = engine.asMiddleware();
|
|
33
35
|
return {
|
|
34
|
-
networkMiddleware
|
|
35
|
-
fetchMiddleware
|
|
36
|
+
networkMiddleware
|
|
36
37
|
};
|
|
37
38
|
}
|
|
38
39
|
|
|
39
|
-
exports.createEthChainIdMiddleware = createEthChainIdMiddleware;
|
|
40
40
|
exports.createEthJsonRpcClient = createEthJsonRpcClient;
|
|
41
|
-
exports.createEthProviderConfigMiddleware = createEthProviderConfigMiddleware;
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
+
var auth = require('@web3auth/auth');
|
|
5
|
+
var viem = require('viem');
|
|
6
|
+
|
|
7
|
+
function createWalletMiddlewareV2({
|
|
8
|
+
getAccounts,
|
|
9
|
+
getPrivateKey,
|
|
10
|
+
getPublicKey,
|
|
11
|
+
processEthSignMessage,
|
|
12
|
+
processPersonalMessage,
|
|
13
|
+
processTransaction,
|
|
14
|
+
processSignTransaction,
|
|
15
|
+
processTypedMessageV4,
|
|
16
|
+
processGetCapabilities,
|
|
17
|
+
processSendCalls,
|
|
18
|
+
processGetCallsStatus,
|
|
19
|
+
processShowCallsStatus
|
|
20
|
+
}) {
|
|
21
|
+
if (!getAccounts) throw new Error("opts.getAccounts is required");
|
|
22
|
+
async function validateAndNormalizeKeyholder(address, req) {
|
|
23
|
+
if (typeof address === "string" && address.length > 0) {
|
|
24
|
+
const accounts = await getAccounts(req);
|
|
25
|
+
const normalizedAddress = address.toLowerCase();
|
|
26
|
+
if (accounts.map(a => a.toLowerCase()).includes(normalizedAddress)) return normalizedAddress;
|
|
27
|
+
}
|
|
28
|
+
throw auth.rpcErrors.invalidParams({
|
|
29
|
+
message: `Invalid parameters: must provide an Ethereum address.`
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
// Account lookups
|
|
33
|
+
function ethAccountsHandler(p) {
|
|
34
|
+
return getAccounts(p.request);
|
|
35
|
+
}
|
|
36
|
+
// Tx signatures
|
|
37
|
+
async function ethSendTransactionHandler(p) {
|
|
38
|
+
var _req$params$, _req$params;
|
|
39
|
+
if (!processTransaction) throw auth.rpcErrors.methodNotSupported();
|
|
40
|
+
const req = p.request;
|
|
41
|
+
const txParams = (_req$params$ = (_req$params = req.params) === null || _req$params === void 0 ? void 0 : _req$params[0]) !== null && _req$params$ !== void 0 ? _req$params$ : {
|
|
42
|
+
from: ""
|
|
43
|
+
};
|
|
44
|
+
txParams.from = await validateAndNormalizeKeyholder(txParams.from, req);
|
|
45
|
+
return processTransaction(txParams, req);
|
|
46
|
+
}
|
|
47
|
+
async function ethSignTransactionHandler(p) {
|
|
48
|
+
var _req$params$2, _req$params2;
|
|
49
|
+
if (!processSignTransaction) throw auth.rpcErrors.methodNotSupported();
|
|
50
|
+
const req = p.request;
|
|
51
|
+
const txParams = (_req$params$2 = (_req$params2 = req.params) === null || _req$params2 === void 0 ? void 0 : _req$params2[0]) !== null && _req$params$2 !== void 0 ? _req$params$2 : {
|
|
52
|
+
from: ""
|
|
53
|
+
};
|
|
54
|
+
txParams.from = await validateAndNormalizeKeyholder(txParams.from, req);
|
|
55
|
+
return processSignTransaction(txParams, req);
|
|
56
|
+
}
|
|
57
|
+
// Message signatures
|
|
58
|
+
async function ethSignHandler(p) {
|
|
59
|
+
if (!processEthSignMessage) throw auth.rpcErrors.methodNotSupported();
|
|
60
|
+
const req = p.request;
|
|
61
|
+
let msgParams;
|
|
62
|
+
if (Array.isArray(req.params)) {
|
|
63
|
+
if (req.params.length !== 2) throw new Error(`WalletMiddleware - incorrect params for eth_sign. expected [address, message]`);
|
|
64
|
+
const [address, message] = req.params;
|
|
65
|
+
msgParams = {
|
|
66
|
+
from: address,
|
|
67
|
+
data: message
|
|
68
|
+
};
|
|
69
|
+
} else {
|
|
70
|
+
var _req$params3;
|
|
71
|
+
msgParams = (_req$params3 = req.params) !== null && _req$params3 !== void 0 ? _req$params3 : {
|
|
72
|
+
from: "",
|
|
73
|
+
data: ""
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
return processEthSignMessage(msgParams, req);
|
|
77
|
+
}
|
|
78
|
+
async function ethSignTypedDataV4Handler(p) {
|
|
79
|
+
if (!processTypedMessageV4) throw auth.rpcErrors.methodNotSupported();
|
|
80
|
+
const req = p.request;
|
|
81
|
+
if (!(req !== null && req !== void 0 && req.params)) throw new Error("WalletMiddleware - missing params");
|
|
82
|
+
let msgParams;
|
|
83
|
+
if (Array.isArray(req.params)) {
|
|
84
|
+
if (req.params.length !== 2) throw new Error(`WalletMiddleware - incorrect params for eth_signTypedData_v4. expected [address, typedData]`);
|
|
85
|
+
const [address, message] = req.params;
|
|
86
|
+
msgParams = {
|
|
87
|
+
from: address,
|
|
88
|
+
data: message
|
|
89
|
+
};
|
|
90
|
+
} else {
|
|
91
|
+
msgParams = req.params;
|
|
92
|
+
}
|
|
93
|
+
return processTypedMessageV4(msgParams, req);
|
|
94
|
+
}
|
|
95
|
+
async function personalSignHandler(p) {
|
|
96
|
+
if (!processPersonalMessage) throw auth.rpcErrors.methodNotSupported();
|
|
97
|
+
const req = p.request;
|
|
98
|
+
let msgParams;
|
|
99
|
+
if (Array.isArray(req.params)) {
|
|
100
|
+
if (req.params.length < 2) throw new Error(`WalletMiddleware - incorrect params for personal_sign. expected [message, address]`);
|
|
101
|
+
const params = req.params;
|
|
102
|
+
if (typeof params[0] === "object" && params[0] !== null && "challenge" in params[0] && "address" in params[0]) {
|
|
103
|
+
const {
|
|
104
|
+
challenge,
|
|
105
|
+
address
|
|
106
|
+
} = params[0];
|
|
107
|
+
msgParams = {
|
|
108
|
+
from: address,
|
|
109
|
+
data: challenge
|
|
110
|
+
};
|
|
111
|
+
} else {
|
|
112
|
+
msgParams = {
|
|
113
|
+
from: params[1],
|
|
114
|
+
data: typeof params[0] === "string" ? params[0] : ""
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
} else {
|
|
118
|
+
var _req$params4;
|
|
119
|
+
msgParams = (_req$params4 = req.params) !== null && _req$params4 !== void 0 ? _req$params4 : {
|
|
120
|
+
from: "",
|
|
121
|
+
data: ""
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
return processPersonalMessage(msgParams, req);
|
|
125
|
+
}
|
|
126
|
+
async function ethPrivateKeyHandler(p) {
|
|
127
|
+
if (!getPrivateKey) throw auth.rpcErrors.methodNotSupported();
|
|
128
|
+
return getPrivateKey(p.request);
|
|
129
|
+
}
|
|
130
|
+
async function ethPublicKeyHandler(p) {
|
|
131
|
+
if (!getPublicKey) throw auth.rpcErrors.methodNotSupported();
|
|
132
|
+
return getPublicKey(p.request);
|
|
133
|
+
}
|
|
134
|
+
async function walletGetCapabilitiesHandler(p) {
|
|
135
|
+
var _req$params$3;
|
|
136
|
+
if (!processGetCapabilities) throw auth.rpcErrors.methodNotSupported();
|
|
137
|
+
const req = p.request;
|
|
138
|
+
if (!req.params || !Array.isArray(req.params) || req.params.length < 2) throw auth.rpcErrors.invalidParams("Invalid parameters");
|
|
139
|
+
const account = req.params[0];
|
|
140
|
+
if (!viem.isHex(account)) throw auth.rpcErrors.invalidParams("Invalid account address");
|
|
141
|
+
let chainIds = (_req$params$3 = req.params[1]) !== null && _req$params$3 !== void 0 ? _req$params$3 : [];
|
|
142
|
+
if (!Array.isArray(chainIds)) throw auth.rpcErrors.invalidParams(`Invalid params, received: ${chainIds}. expected: Array`);
|
|
143
|
+
chainIds = chainIds.map(chainId => viem.isHex(chainId) ? chainId : viem.toHex(chainId));
|
|
144
|
+
const getCapabilitiesParams = [account, chainIds];
|
|
145
|
+
return processGetCapabilities(getCapabilitiesParams);
|
|
146
|
+
}
|
|
147
|
+
async function walletSendCallsHandler(p) {
|
|
148
|
+
if (!processSendCalls) throw auth.rpcErrors.methodNotSupported();
|
|
149
|
+
const req = p.request;
|
|
150
|
+
const params = Array.isArray(req.params) ? req.params[0] : req.params;
|
|
151
|
+
if (!params || typeof params !== "object") throw auth.rpcErrors.invalidParams("Missing or invalid params for wallet_sendCalls");
|
|
152
|
+
if (!params.version || typeof params.version !== "string") throw auth.rpcErrors.invalidParams(`Invalid version: expected string, got "${params.version || "undefined"}"`);
|
|
153
|
+
if (!params.chainId) throw auth.rpcErrors.invalidParams("Missing required field: chainId");
|
|
154
|
+
if (!Array.isArray(params.calls) || params.calls.length === 0) throw auth.rpcErrors.invalidParams("calls must be a non-empty array");
|
|
155
|
+
const from = params.from;
|
|
156
|
+
if (from) await validateAndNormalizeKeyholder(from, req);
|
|
157
|
+
const walletSendCallsParams = _objectSpread(_objectSpread({}, params), {}, {
|
|
158
|
+
chainId: viem.isHex(params.chainId) ? params.chainId : viem.toHex(params.chainId)
|
|
159
|
+
});
|
|
160
|
+
return processSendCalls(walletSendCallsParams);
|
|
161
|
+
}
|
|
162
|
+
async function walletBatchCallStatusHandler(p) {
|
|
163
|
+
if (!processGetCallsStatus) throw auth.rpcErrors.methodNotSupported();
|
|
164
|
+
const req = p.request;
|
|
165
|
+
const batchId = Array.isArray(req.params) ? req.params[0] : req.params;
|
|
166
|
+
if (!batchId || typeof batchId !== "string") throw auth.rpcErrors.invalidParams("Missing or invalid batchId");
|
|
167
|
+
return processGetCallsStatus(batchId);
|
|
168
|
+
}
|
|
169
|
+
async function walletShowCallsStatusHandler(p) {
|
|
170
|
+
if (!processShowCallsStatus) throw auth.rpcErrors.methodNotSupported();
|
|
171
|
+
const req = p.request;
|
|
172
|
+
const batchId = Array.isArray(req.params) ? req.params[0] : req.params;
|
|
173
|
+
if (!batchId || typeof batchId !== "string") throw auth.rpcErrors.invalidParams("Missing or invalid batchId");
|
|
174
|
+
await processShowCallsStatus(batchId);
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
return auth.createScaffoldMiddlewareV2({
|
|
178
|
+
// account lookups
|
|
179
|
+
eth_accounts: ethAccountsHandler,
|
|
180
|
+
eth_requestAccounts: ethAccountsHandler,
|
|
181
|
+
eth_private_key: ethPrivateKeyHandler,
|
|
182
|
+
eth_public_key: ethPublicKeyHandler,
|
|
183
|
+
public_key: ethPublicKeyHandler,
|
|
184
|
+
private_key: ethPrivateKeyHandler,
|
|
185
|
+
// tx signatures
|
|
186
|
+
eth_sendTransaction: ethSendTransactionHandler,
|
|
187
|
+
eth_signTransaction: ethSignTransactionHandler,
|
|
188
|
+
// message signatures
|
|
189
|
+
eth_sign: ethSignHandler,
|
|
190
|
+
eth_signTypedData_v4: ethSignTypedDataV4Handler,
|
|
191
|
+
personal_sign: personalSignHandler,
|
|
192
|
+
// EIP5792
|
|
193
|
+
wallet_getCapabilities: walletGetCapabilitiesHandler,
|
|
194
|
+
wallet_sendCalls: walletSendCallsHandler,
|
|
195
|
+
wallet_batchCallStatus: walletBatchCallStatusHandler,
|
|
196
|
+
wallet_showCallsStatus: walletShowCallsStatusHandler
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
exports.createWalletMiddlewareV2 = createWalletMiddlewareV2;
|
package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js
CHANGED
|
@@ -6,15 +6,17 @@ require('@babel/runtime/helpers/objectSpread2');
|
|
|
6
6
|
require('@segment/analytics-next');
|
|
7
7
|
require('../../../../base/loglevel.js');
|
|
8
8
|
var baseControllers = require('@toruslabs/base-controllers');
|
|
9
|
+
require('@toruslabs/session-manager');
|
|
9
10
|
var index = require('../../../../base/errors/index.js');
|
|
11
|
+
require('@toruslabs/constants');
|
|
12
|
+
require('@toruslabs/http-helpers');
|
|
13
|
+
require('../../../../base/constants.js');
|
|
10
14
|
require('../../../../base/wallet/index.js');
|
|
11
15
|
require('../../../../base/connector/connectorStatus.js');
|
|
12
16
|
require('../../../../base/connector/constants.js');
|
|
13
17
|
require('jwt-decode');
|
|
14
18
|
require('../../../../base/plugin/errors.js');
|
|
15
19
|
require('../../../../base/plugin/IPlugin.js');
|
|
16
|
-
require('@toruslabs/constants');
|
|
17
|
-
require('@toruslabs/http-helpers');
|
|
18
20
|
var baseProvider = require('../../../base-provider/baseProvider.js');
|
|
19
21
|
require('../../../base-provider/CommonJRPCProvider.js');
|
|
20
22
|
require('../../../base-provider/commonPrivateKeyProvider.js');
|
|
@@ -61,14 +63,14 @@ class XrplPrivateKeyProvider extends baseProvider.BaseProvider {
|
|
|
61
63
|
keyExportEnabled: this.config.keyExportEnabled
|
|
62
64
|
});
|
|
63
65
|
const xrplWalletMiddleware = xrplRpcMiddlewares.createXRPLMiddleware(providerHandlers);
|
|
64
|
-
const engine = new auth.JRPCEngine();
|
|
65
66
|
const {
|
|
66
67
|
networkMiddleware
|
|
67
68
|
} = JrpcClient.createXrplJsonRpcClient(chain);
|
|
68
|
-
|
|
69
|
-
engine.
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
const chainSwitchMiddleware = xrplRpcMiddlewares.creatXrplChainSwitchMiddleware(params => this.switchChain(params));
|
|
70
|
+
const engine = auth.JRPCEngineV2.create({
|
|
71
|
+
middleware: [chainSwitchMiddleware, xrplWalletMiddleware, networkMiddleware]
|
|
72
|
+
});
|
|
73
|
+
const provider = auth.providerFromEngineV2(engine);
|
|
72
74
|
this.updateProviderEngineProxy(provider);
|
|
73
75
|
await this.lookupNetwork(privKey, chainId);
|
|
74
76
|
this.emit("chainChanged", chainId);
|
|
@@ -110,17 +112,6 @@ class XrplPrivateKeyProvider extends baseProvider.BaseProvider {
|
|
|
110
112
|
throw index.WalletInitializationError.rpcConnectionError(`Failed to ping network for following rpc target: ${chain.rpcTarget}`);
|
|
111
113
|
}
|
|
112
114
|
}
|
|
113
|
-
getChainSwitchMiddleware() {
|
|
114
|
-
const chainSwitchHandlers = {
|
|
115
|
-
switchChain: async req => {
|
|
116
|
-
if (!req.params) throw auth.rpcErrors.invalidParams("Missing request params");
|
|
117
|
-
if (!req.params.chainId) throw auth.rpcErrors.invalidParams("Missing chainId");
|
|
118
|
-
await this.switchChain(req.params);
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
const chainSwitchMiddleware = xrplRpcMiddlewares.creatXrplChainSwitchMiddleware(chainSwitchHandlers);
|
|
122
|
-
return chainSwitchMiddleware;
|
|
123
|
-
}
|
|
124
115
|
}
|
|
125
116
|
_XrplPrivateKeyProvider = XrplPrivateKeyProvider;
|
|
126
117
|
_defineProperty(XrplPrivateKeyProvider, "getProviderInstance", async params => {
|
package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var metadataHelpers = require('@toruslabs/metadata-helpers');
|
|
3
4
|
var auth = require('@web3auth/auth');
|
|
4
5
|
var rippleKeypairs = require('ripple-keypairs');
|
|
5
6
|
var xrpl = require('xrpl');
|
|
@@ -7,7 +8,7 @@ var ECDSA = require('xrpl/dist/npm/ECDSA');
|
|
|
7
8
|
|
|
8
9
|
const deriveKeypair = web3authKey => {
|
|
9
10
|
const seed = rippleKeypairs.generateSeed({
|
|
10
|
-
entropy:
|
|
11
|
+
entropy: metadataHelpers.hexToBytes(web3authKey.padStart(64, "0")),
|
|
11
12
|
algorithm: "ecdsa-secp256k1"
|
|
12
13
|
});
|
|
13
14
|
const wallet = xrpl.Wallet.fromSecret(seed, {
|
|
@@ -5,44 +5,37 @@ var auth = require('@web3auth/auth');
|
|
|
5
5
|
var xrplRpcMiddlewares = require('./xrplRpcMiddlewares.js');
|
|
6
6
|
|
|
7
7
|
function createXrplChainIdMiddleware(chainId) {
|
|
8
|
-
return (
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return next();
|
|
8
|
+
return ({
|
|
9
|
+
request,
|
|
10
|
+
next
|
|
11
|
+
}) => {
|
|
12
|
+
if (request.method === xrplRpcMiddlewares.RPC_METHODS.CHAIN_ID) return chainId;
|
|
13
|
+
return next(request);
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
function createXrplProviderConfigMiddleware(providerConfig) {
|
|
17
|
-
return (
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return next();
|
|
17
|
+
return ({
|
|
18
|
+
request,
|
|
19
|
+
next
|
|
20
|
+
}) => {
|
|
21
|
+
if (request.method === xrplRpcMiddlewares.RPC_METHODS.PROVIDER_CHAIN_CONFIG) return providerConfig;
|
|
22
|
+
return next(request);
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
-
function createConfigMiddleware(providerConfig) {
|
|
26
|
-
const {
|
|
27
|
-
chainId
|
|
28
|
-
} = providerConfig;
|
|
29
|
-
return auth.mergeMiddleware([createXrplChainIdMiddleware(chainId), createXrplProviderConfigMiddleware(providerConfig)]);
|
|
30
|
-
}
|
|
31
25
|
function createXrplJsonRpcClient(providerConfig) {
|
|
32
26
|
const {
|
|
27
|
+
chainId,
|
|
33
28
|
rpcTarget
|
|
34
29
|
} = providerConfig;
|
|
35
|
-
const
|
|
36
|
-
|
|
30
|
+
const engine = auth.JRPCEngineV2.create({
|
|
31
|
+
middleware: [createXrplChainIdMiddleware(chainId), createXrplProviderConfigMiddleware(providerConfig), baseControllers.createFetchMiddleware({
|
|
32
|
+
rpcTarget
|
|
33
|
+
})]
|
|
37
34
|
});
|
|
38
|
-
const networkMiddleware =
|
|
35
|
+
const networkMiddleware = engine.asMiddleware();
|
|
39
36
|
return {
|
|
40
|
-
networkMiddleware
|
|
41
|
-
fetchMiddleware
|
|
37
|
+
networkMiddleware
|
|
42
38
|
};
|
|
43
39
|
}
|
|
44
40
|
|
|
45
|
-
exports.createConfigMiddleware = createConfigMiddleware;
|
|
46
|
-
exports.createXrplChainIdMiddleware = createXrplChainIdMiddleware;
|
|
47
41
|
exports.createXrplJsonRpcClient = createXrplJsonRpcClient;
|
|
48
|
-
exports.createXrplProviderConfigMiddleware = createXrplProviderConfigMiddleware;
|
|
@@ -14,35 +14,15 @@ const RPC_METHODS = {
|
|
|
14
14
|
CHAIN_ID: "xrpl_chainId",
|
|
15
15
|
PROVIDER_CHAIN_CONFIG: "xrpl_providerChainConfig"
|
|
16
16
|
};
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
} = request;
|
|
24
|
-
// hack to override big ids from fetch middleware which are not supported in xrpl servers
|
|
25
|
-
// TODO: fix this for xrpl controllers.
|
|
17
|
+
/** Normalizes request.id for XRPL servers that don't support large IDs from fetch middleware. */
|
|
18
|
+
function createRequestIdNormalizerMiddleware() {
|
|
19
|
+
return ({
|
|
20
|
+
request,
|
|
21
|
+
next
|
|
22
|
+
}) => {
|
|
26
23
|
request.id = baseControllers.randomId();
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
// This calls from the prefs controller
|
|
30
|
-
const accounts = await getAccounts(request);
|
|
31
|
-
response.result = accounts;
|
|
32
|
-
return undefined;
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
function createGenericJRPCMiddleware(targetMethod, handler) {
|
|
36
|
-
return auth.createAsyncMiddleware(async (request, response, next) => {
|
|
37
|
-
const {
|
|
38
|
-
method
|
|
39
|
-
} = request;
|
|
40
|
-
if (method !== targetMethod) return next();
|
|
41
|
-
if (!handler) throw new Error(`WalletMiddleware - ${targetMethod} not provided`);
|
|
42
|
-
const result = await handler(request);
|
|
43
|
-
response.result = result;
|
|
44
|
-
return undefined;
|
|
45
|
-
});
|
|
24
|
+
return next(request);
|
|
25
|
+
};
|
|
46
26
|
}
|
|
47
27
|
function createXRPLMiddleware(providerHandlers) {
|
|
48
28
|
const {
|
|
@@ -53,18 +33,47 @@ function createXRPLMiddleware(providerHandlers) {
|
|
|
53
33
|
getKeyPair,
|
|
54
34
|
getPublicKey
|
|
55
35
|
} = providerHandlers;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
36
|
+
const scaffold = auth.createScaffoldMiddlewareV2({
|
|
37
|
+
[RPC_METHODS.GET_ACCOUNTS]: params => {
|
|
38
|
+
if (!getAccounts) throw new Error("WalletMiddleware - opts.getAccounts not provided");
|
|
39
|
+
return getAccounts(params.request);
|
|
40
|
+
},
|
|
41
|
+
[RPC_METHODS.SIGN_TRANSACTION]: params => {
|
|
42
|
+
return signTransaction(params.request);
|
|
43
|
+
},
|
|
44
|
+
[RPC_METHODS.SUBMIT_TRANSACTION]: params => {
|
|
45
|
+
return submitTransaction(params.request);
|
|
46
|
+
},
|
|
47
|
+
[RPC_METHODS.SIGN_MESSAGE]: params => {
|
|
48
|
+
return signMessage(params.request);
|
|
49
|
+
},
|
|
50
|
+
[RPC_METHODS.GET_KEY_PAIR]: params => {
|
|
51
|
+
return getKeyPair(params.request);
|
|
52
|
+
},
|
|
53
|
+
[RPC_METHODS.GET_PUBLIC_KEY]: params => {
|
|
54
|
+
return getPublicKey(params.request);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
const engine = auth.JRPCEngineV2.create({
|
|
58
|
+
middleware: [createRequestIdNormalizerMiddleware(), scaffold]
|
|
59
|
+
});
|
|
60
|
+
return engine.asMiddleware();
|
|
59
61
|
}
|
|
60
|
-
function creatXrplChainSwitchMiddleware({
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
function creatXrplChainSwitchMiddleware(switchChain) {
|
|
63
|
+
async function switchChainHandler(params) {
|
|
64
|
+
const req = params.request;
|
|
65
|
+
if (!req.params) throw auth.rpcErrors.invalidParams("Missing request params");
|
|
66
|
+
if (!req.params.chainId) throw auth.rpcErrors.invalidParams("Missing chainId");
|
|
67
|
+
await switchChain({
|
|
68
|
+
chainId: req.params.chainId
|
|
69
|
+
});
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
return auth.createScaffoldMiddlewareV2({
|
|
73
|
+
[RPC_METHODS.SWITCH_CHAIN]: switchChainHandler
|
|
74
|
+
});
|
|
64
75
|
}
|
|
65
76
|
|
|
66
77
|
exports.RPC_METHODS = RPC_METHODS;
|
|
67
78
|
exports.creatXrplChainSwitchMiddleware = creatXrplChainSwitchMiddleware;
|
|
68
|
-
exports.createGenericJRPCMiddleware = createGenericJRPCMiddleware;
|
|
69
|
-
exports.createGetAccountsMiddleware = createGetAccountsMiddleware;
|
|
70
79
|
exports.createXRPLMiddleware = createXRPLMiddleware;
|
|
@@ -1,21 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var react = require('react');
|
|
4
|
-
require('
|
|
5
|
-
require('@babel/runtime/helpers/defineProperty');
|
|
6
|
-
require('@segment/analytics-next');
|
|
7
|
-
require('../../base/loglevel.js');
|
|
8
|
-
require('@toruslabs/base-controllers');
|
|
9
|
-
require('@web3auth/auth');
|
|
10
|
-
require('../../base/errors/index.js');
|
|
11
|
-
require('../../base/wallet/index.js');
|
|
12
|
-
require('../../base/connector/connectorStatus.js');
|
|
13
|
-
var constants = require('../../base/connector/constants.js');
|
|
14
|
-
require('jwt-decode');
|
|
15
|
-
require('../../base/plugin/errors.js');
|
|
16
|
-
var IPlugin = require('../../base/plugin/IPlugin.js');
|
|
17
|
-
require('@toruslabs/constants');
|
|
18
|
-
require('@toruslabs/http-helpers');
|
|
4
|
+
var useWalletServicesContextValue = require('./useWalletServicesContextValue.js');
|
|
19
5
|
|
|
20
6
|
const WalletServicesContext = react.createContext(null);
|
|
21
7
|
function WalletServicesContextProvider({
|
|
@@ -23,60 +9,7 @@ function WalletServicesContextProvider({
|
|
|
23
9
|
context
|
|
24
10
|
}) {
|
|
25
11
|
const web3AuthContext = react.useContext(context);
|
|
26
|
-
const
|
|
27
|
-
getPlugin,
|
|
28
|
-
isInitialized,
|
|
29
|
-
isConnected
|
|
30
|
-
} = web3AuthContext;
|
|
31
|
-
const [ready, setReady] = react.useState(false);
|
|
32
|
-
const [connecting, setConnecting] = react.useState(false);
|
|
33
|
-
const [walletServicesPlugin, setWalletServicesPlugin] = react.useState(null);
|
|
34
|
-
react.useEffect(() => {
|
|
35
|
-
if (isInitialized) {
|
|
36
|
-
const plugin = getPlugin(IPlugin.EVM_PLUGINS.WALLET_SERVICES);
|
|
37
|
-
setWalletServicesPlugin(plugin);
|
|
38
|
-
}
|
|
39
|
-
}, [isInitialized, getPlugin]);
|
|
40
|
-
react.useEffect(() => {
|
|
41
|
-
if (isConnected) {
|
|
42
|
-
const plugin = getPlugin(IPlugin.EVM_PLUGINS.WALLET_SERVICES);
|
|
43
|
-
setWalletServicesPlugin(plugin);
|
|
44
|
-
// when rehydrating, the connectedListener may be registered after the connected event is emitted, we need to check the status here
|
|
45
|
-
if ((plugin === null || plugin === void 0 ? void 0 : plugin.status) === constants.CONNECTOR_STATUS.CONNECTED) setReady(true);
|
|
46
|
-
}
|
|
47
|
-
}, [isConnected, getPlugin, walletServicesPlugin]);
|
|
48
|
-
react.useEffect(() => {
|
|
49
|
-
const connectedListener = () => {
|
|
50
|
-
setReady(true);
|
|
51
|
-
setConnecting(false);
|
|
52
|
-
};
|
|
53
|
-
const disconnectedListener = () => {
|
|
54
|
-
setReady(false);
|
|
55
|
-
setConnecting(false);
|
|
56
|
-
};
|
|
57
|
-
const connectingListener = () => {
|
|
58
|
-
setConnecting(true);
|
|
59
|
-
};
|
|
60
|
-
if (walletServicesPlugin) {
|
|
61
|
-
walletServicesPlugin.on(IPlugin.PLUGIN_EVENTS.CONNECTED, connectedListener);
|
|
62
|
-
walletServicesPlugin.on(IPlugin.PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
|
|
63
|
-
walletServicesPlugin.on(IPlugin.PLUGIN_EVENTS.CONNECTING, connectingListener);
|
|
64
|
-
}
|
|
65
|
-
return () => {
|
|
66
|
-
if (walletServicesPlugin) {
|
|
67
|
-
walletServicesPlugin.removeListener(IPlugin.PLUGIN_EVENTS.CONNECTED, connectedListener);
|
|
68
|
-
walletServicesPlugin.removeListener(IPlugin.PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
|
|
69
|
-
walletServicesPlugin.removeListener(IPlugin.PLUGIN_EVENTS.CONNECTING, connectingListener);
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
}, [walletServicesPlugin]);
|
|
73
|
-
const value = react.useMemo(() => {
|
|
74
|
-
return {
|
|
75
|
-
plugin: walletServicesPlugin,
|
|
76
|
-
ready,
|
|
77
|
-
connecting
|
|
78
|
-
};
|
|
79
|
-
}, [walletServicesPlugin, ready, connecting]);
|
|
12
|
+
const value = useWalletServicesContextValue.useWalletServicesContextValue(web3AuthContext);
|
|
80
13
|
return react.createElement(WalletServicesContext.Provider, {
|
|
81
14
|
value
|
|
82
15
|
}, children);
|