@web3auth/no-modal 10.14.1 → 11.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib.cjs/base/connector/baseConnector.js +104 -2
- package/dist/lib.cjs/base/connector/connectorStatus.js +2 -0
- package/dist/lib.cjs/base/connector/constants.js +4 -2
- package/dist/lib.cjs/base/connector/utils.js +0 -21
- package/dist/lib.cjs/base/constants.js +4 -0
- package/dist/lib.cjs/base/cookie.js +6 -20
- package/dist/lib.cjs/base/errors/index.js +36 -12
- package/dist/lib.cjs/base/utils.js +10 -11
- package/dist/lib.cjs/base/wallet/index.js +7 -0
- package/dist/lib.cjs/base/wallet/solana.js +83 -0
- package/dist/lib.cjs/connectors/auth-connector/authConnector.js +145 -49
- package/dist/lib.cjs/connectors/auth-connector/authSolanaWallet.js +187 -0
- package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +18 -40
- package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +30 -56
- package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +19 -14
- package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +18 -13
- package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +24 -36
- package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +321 -133
- package/dist/lib.cjs/connectors/utils.js +8 -2
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +13 -38
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +4 -3
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +73 -63
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +40 -47
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +144 -0
- package/dist/lib.cjs/index.js +50 -85
- package/dist/lib.cjs/noModal.js +223 -133
- package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +23 -39
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +12 -10
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +8 -6
- package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +47 -44
- package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +1 -3
- package/dist/lib.cjs/providers/base-provider/baseProvider.js +4 -2
- package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +8 -11
- package/dist/lib.cjs/providers/base-provider/index.js +0 -1
- package/dist/lib.cjs/providers/base-provider/jrpcClient.js +18 -19
- package/dist/lib.cjs/providers/base-provider/utils.js +0 -3
- package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +22 -35
- package/dist/lib.cjs/providers/ethereum-provider/rpc/jrpcClient.js +18 -19
- package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMiddleware.js +200 -0
- package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +9 -18
- package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
- package/dist/lib.cjs/providers/xrpl-provider/rpc/JrpcClient.js +19 -26
- package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +46 -37
- package/dist/lib.cjs/react/context/WalletServicesInnerContext.js +2 -69
- package/dist/lib.cjs/react/context/Web3AuthInnerContext.js +6 -161
- package/dist/lib.cjs/react/context/useWalletServicesContextValue.js +76 -0
- package/dist/lib.cjs/react/context/useWeb3AuthInnerContextValue.js +202 -0
- package/dist/lib.cjs/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
- package/dist/lib.cjs/react/hooks/useCheckout.js +4 -2
- package/dist/lib.cjs/react/hooks/useFunding.js +4 -2
- package/dist/lib.cjs/react/hooks/useReceive.js +4 -2
- package/dist/lib.cjs/react/hooks/useSwap.js +4 -2
- package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +4 -2
- package/dist/lib.cjs/react/hooks/useWalletServicesPlugin.js +3 -10
- package/dist/lib.cjs/react/hooks/useWalletUI.js +4 -2
- package/dist/lib.cjs/react/hooks/useWeb3Auth.js +1 -22
- package/dist/lib.cjs/react/hooks/useWeb3AuthInner.js +4 -2
- package/dist/lib.cjs/react/index.js +10 -2
- package/dist/lib.cjs/react/solana/hooks/useSignAndSendTransaction.js +22 -4
- package/dist/lib.cjs/react/solana/hooks/useSignMessage.js +20 -2
- package/dist/lib.cjs/react/solana/hooks/useSignTransaction.js +22 -3
- package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +34 -51
- package/dist/lib.cjs/react/solana/index.js +2 -0
- package/dist/lib.cjs/react/solana/provider.js +167 -0
- package/dist/lib.cjs/react/wagmi/provider.js +10 -8
- package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +21 -5
- package/dist/lib.cjs/types/base/connector/connectorStatus.d.ts +1 -0
- package/dist/lib.cjs/types/base/connector/constants.d.ts +3 -0
- package/dist/lib.cjs/types/base/connector/interfaces.d.ts +23 -12
- package/dist/lib.cjs/types/base/connector/utils.d.ts +0 -3
- package/dist/lib.cjs/types/base/constants.d.ts +1 -0
- package/dist/lib.cjs/types/base/cookie.d.ts +0 -7
- package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +24 -12
- package/dist/lib.cjs/types/base/errors/index.d.ts +2 -3
- package/dist/lib.cjs/types/base/hooks/index.d.ts +2 -2
- package/dist/lib.cjs/types/base/interfaces.d.ts +5 -1
- package/dist/lib.cjs/types/base/utils.d.ts +2 -1
- package/dist/lib.cjs/types/base/wallet/index.d.ts +3 -0
- package/dist/lib.cjs/types/base/wallet/solana.d.ts +19 -0
- package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +11 -6
- package/dist/lib.cjs/types/connectors/auth-connector/authSolanaWallet.d.ts +35 -0
- package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +2 -2
- package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +2 -2
- package/dist/lib.cjs/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +2 -2
- package/dist/lib.cjs/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +10 -7
- package/dist/lib.cjs/types/connectors/metamask-connector/metamaskConnector.d.ts +35 -3
- package/dist/lib.cjs/types/connectors/utils.d.ts +2 -0
- package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.d.ts +0 -1
- package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/walletConnectV2Utils.d.ts +1 -5
- package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/wcSolanaWallet.d.ts +26 -0
- package/dist/lib.cjs/types/noModal.d.ts +12 -8
- package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +1 -4
- package/dist/lib.cjs/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
- package/dist/lib.cjs/types/providers/base-provider/jrpcClient.d.ts +2 -5
- package/dist/lib.cjs/types/providers/base-provider/utils.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/index.d.ts +1 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/interfaces.d.ts +6 -0
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +2 -5
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMiddleware.d.ts +3 -0
- package/dist/lib.cjs/types/providers/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +0 -1
- package/dist/lib.cjs/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +3 -7
- package/dist/lib.cjs/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +5 -12
- package/dist/lib.cjs/types/react/context/index.d.ts +4 -0
- package/dist/lib.cjs/types/react/context/useWalletServicesContextValue.d.ts +12 -0
- package/dist/lib.cjs/types/react/context/useWeb3AuthInnerContextValue.d.ts +26 -0
- package/dist/lib.cjs/types/react/hooks/index.d.ts +1 -1
- package/dist/lib.cjs/types/react/hooks/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +4 -4
- package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +1 -2
- package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +2 -2
- package/dist/lib.cjs/types/react/index.d.ts +1 -0
- package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +7 -2
- package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +8 -3
- package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +17 -4
- package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
- package/dist/lib.cjs/types/react/solana/provider.d.ts +26 -0
- package/dist/lib.cjs/types/vue/composables/index.d.ts +2 -1
- package/dist/lib.cjs/types/vue/composables/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +3 -3
- package/dist/lib.cjs/types/vue/composables/useInjectedWeb3AuthInnerContext.d.ts +1 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +1 -2
- package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +2 -2
- package/dist/lib.cjs/types/vue/index.d.ts +2 -0
- package/dist/lib.cjs/types/vue/interfaces.d.ts +2 -2
- package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +1 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +7 -2
- package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +8 -3
- package/dist/lib.cjs/types/vue/solana/composables/useSolanaClient.d.ts +7 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +17 -4
- package/dist/lib.cjs/types/vue/solana/constants.d.ts +3 -0
- package/dist/lib.cjs/types/vue/solana/index.d.ts +2 -0
- package/dist/lib.cjs/types/vue/solana/provider.d.ts +8 -0
- package/dist/lib.cjs/types/vue/useWalletServicesInnerContextValue.d.ts +13 -0
- package/dist/lib.cjs/types/vue/useWeb3AuthInnerContextValue.d.ts +26 -0
- package/dist/lib.cjs/types/x402/index.d.ts +43 -0
- package/dist/lib.cjs/types/x402/interfaces.d.ts +11 -0
- package/dist/lib.cjs/types/x402/react.d.ts +17 -0
- package/dist/lib.cjs/types/x402/vue.d.ts +18 -0
- package/dist/lib.cjs/vue/WalletServicesInnerProvider.js +9 -54
- package/dist/lib.cjs/vue/Web3AuthProvider.js +16 -177
- package/dist/lib.cjs/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +10 -8
- package/dist/lib.cjs/vue/composables/useCheckout.js +4 -2
- package/dist/lib.cjs/vue/composables/useEnableMFA.js +4 -2
- package/dist/lib.cjs/vue/composables/useFunding.js +4 -2
- package/dist/lib.cjs/vue/composables/useInjectedWeb3AuthInnerContext.js +29 -0
- package/dist/lib.cjs/vue/composables/useManageMFA.js +4 -2
- package/dist/lib.cjs/vue/composables/useReceive.js +4 -2
- package/dist/lib.cjs/vue/composables/useSwap.js +4 -2
- package/dist/lib.cjs/vue/composables/useSwitchChain.js +4 -2
- package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +4 -2
- package/dist/lib.cjs/vue/composables/useWalletUI.js +4 -2
- package/dist/lib.cjs/vue/composables/useWeb3Auth.js +1 -26
- package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +4 -2
- package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +4 -2
- package/dist/lib.cjs/vue/composables/useWeb3AuthInner.js +2 -20
- package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +4 -2
- package/dist/lib.cjs/vue/index.js +8 -2
- package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +6 -3
- package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +6 -3
- package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +6 -3
- package/dist/lib.cjs/vue/solana/composables/useSolanaClient.js +14 -0
- package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +60 -41
- package/dist/lib.cjs/vue/solana/constants.js +5 -0
- package/dist/lib.cjs/vue/solana/index.js +6 -0
- package/dist/lib.cjs/vue/solana/provider.js +107 -0
- package/dist/lib.cjs/vue/useWalletServicesInnerContextValue.js +75 -0
- package/dist/lib.cjs/vue/useWeb3AuthInnerContextValue.js +217 -0
- package/dist/lib.cjs/vue/wagmi/provider.js +12 -8
- package/dist/lib.cjs/x402/index.js +175 -0
- package/dist/lib.cjs/x402/interfaces.js +5 -0
- package/dist/lib.cjs/x402/react.js +64 -0
- package/dist/lib.cjs/x402/vue.js +58 -0
- package/dist/lib.esm/base/connector/baseConnector.js +104 -2
- package/dist/lib.esm/base/connector/connectorStatus.js +2 -1
- package/dist/lib.esm/base/connector/constants.js +4 -2
- package/dist/lib.esm/base/connector/utils.js +1 -19
- package/dist/lib.esm/base/constants.js +4 -1
- package/dist/lib.esm/base/cookie.js +7 -20
- package/dist/lib.esm/base/errors/index.js +36 -12
- package/dist/lib.esm/base/utils.js +10 -7
- package/dist/lib.esm/base/wallet/index.js +2 -1
- package/dist/lib.esm/base/wallet/solana.js +81 -0
- package/dist/lib.esm/connectors/auth-connector/authConnector.js +143 -50
- package/dist/lib.esm/connectors/auth-connector/authSolanaWallet.js +175 -0
- package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +17 -39
- package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +29 -55
- package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +14 -11
- package/dist/lib.esm/connectors/injected-evm-connector/index.js +6 -1
- package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +14 -11
- package/dist/lib.esm/connectors/injected-solana-connector/index.js +3 -2
- package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +19 -31
- package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +335 -132
- package/dist/lib.esm/connectors/utils.js +9 -4
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +11 -30
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +1 -1
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +5 -1
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +70 -61
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +37 -45
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +130 -0
- package/dist/lib.esm/index.js +30 -38
- package/dist/lib.esm/noModal.js +225 -133
- package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +18 -37
- package/dist/lib.esm/providers/account-abstraction-provider/index.js +5 -1
- package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +9 -9
- package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +3 -3
- package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +48 -45
- package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +2 -4
- package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +9 -12
- package/dist/lib.esm/providers/base-provider/index.js +6 -2
- package/dist/lib.esm/providers/base-provider/jrpcClient.js +20 -19
- package/dist/lib.esm/providers/base-provider/utils.js +1 -3
- package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +23 -36
- package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +20 -19
- package/dist/lib.esm/providers/ethereum-provider/rpc/walletMiddleware.js +201 -0
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +6 -17
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
- package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +21 -25
- package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +48 -38
- package/dist/lib.esm/react/context/WalletServicesInnerContext.js +3 -57
- package/dist/lib.esm/react/context/Web3AuthInnerContext.js +7 -152
- package/dist/lib.esm/react/context/useWalletServicesContextValue.js +59 -0
- package/dist/lib.esm/react/context/useWeb3AuthInnerContextValue.js +188 -0
- package/dist/lib.esm/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
- package/dist/lib.esm/react/hooks/useWalletServicesPlugin.js +3 -10
- package/dist/lib.esm/react/hooks/useWeb3Auth.js +1 -22
- package/dist/lib.esm/react/index.js +5 -1
- package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +6 -4
- package/dist/lib.esm/react/solana/hooks/useSignMessage.js +4 -2
- package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +6 -3
- package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +33 -28
- package/dist/lib.esm/react/solana/index.js +1 -0
- package/dist/lib.esm/react/solana/provider.js +150 -0
- package/dist/lib.esm/react/wagmi/provider.js +7 -7
- package/dist/lib.esm/vue/WalletServicesInnerProvider.js +4 -54
- package/dist/lib.esm/vue/Web3AuthProvider.js +7 -179
- package/dist/lib.esm/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +6 -6
- package/dist/lib.esm/vue/composables/useInjectedWeb3AuthInnerContext.js +11 -0
- package/dist/lib.esm/vue/composables/useWeb3Auth.js +1 -26
- package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +2 -6
- package/dist/lib.esm/vue/index.js +5 -2
- package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +2 -1
- package/dist/lib.esm/vue/solana/composables/useSignMessage.js +2 -1
- package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +3 -2
- package/dist/lib.esm/vue/solana/composables/useSolanaClient.js +12 -0
- package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +53 -35
- package/dist/lib.esm/vue/solana/constants.js +3 -0
- package/dist/lib.esm/vue/solana/index.js +3 -0
- package/dist/lib.esm/vue/solana/provider.js +95 -0
- package/dist/lib.esm/vue/useWalletServicesInnerContextValue.js +58 -0
- package/dist/lib.esm/vue/useWeb3AuthInnerContextValue.js +204 -0
- package/dist/lib.esm/vue/wagmi/provider.js +9 -7
- package/dist/lib.esm/x402/index.js +170 -0
- package/dist/lib.esm/x402/interfaces.js +3 -0
- package/dist/lib.esm/x402/react.js +59 -0
- package/dist/lib.esm/x402/vue.js +54 -0
- package/package.json +78 -53
- package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +0 -7
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -223
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -177
- package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -21
- package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +0 -88
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -27
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -383
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -93
- package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +0 -29
- package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +0 -171
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -65
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -45
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/utils.js +0 -16
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -103
- package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +0 -47
- package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -97
- package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +0 -91
- package/dist/lib.cjs/types/connectors/injected-solana-connector/utils.d.ts +0 -3
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +0 -74
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +0 -12
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +0 -3
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +0 -15
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/converter.d.ts +0 -14
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +0 -16
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +0 -28
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +0 -4
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +0 -46
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -11
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/utils.d.ts +0 -5
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +0 -3
- package/dist/lib.cjs/types/providers/solana-provider/index.d.ts +0 -4
- package/dist/lib.cjs/types/providers/solana-provider/interface.d.ts +0 -22
- package/dist/lib.cjs/types/providers/solana-provider/providers/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +0 -16
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +0 -3
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/index.d.ts +0 -2
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +0 -3
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +0 -9
- package/dist/lib.cjs/types/providers/solana-provider/rpc/JrpcClient.d.ts +0 -9
- package/dist/lib.cjs/types/providers/solana-provider/rpc/index.d.ts +0 -3
- package/dist/lib.cjs/types/providers/solana-provider/rpc/interfaces.d.ts +0 -27
- package/dist/lib.cjs/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +0 -20
- package/dist/lib.cjs/types/providers/solana-provider/solanaWallet.d.ts +0 -29
- package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +0 -1
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -206
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -163
- package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -20
- package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +0 -85
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -21
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -378
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -88
- package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +0 -24
- package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +0 -177
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -47
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -43
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/utils.js +0 -14
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -91
- package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +0 -42
- package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -89
- package/dist/lib.esm/providers/solana-provider/solanaWallet.js +0 -92
- package/dist/noModal.umd.min.js +0 -2
- package/dist/noModal.umd.min.js.LICENSE.txt +0 -50
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { createFetchMiddleware } from '@toruslabs/base-controllers';
|
|
2
|
-
import {
|
|
2
|
+
import { JRPCEngineV2 } from '@web3auth/auth';
|
|
3
3
|
|
|
4
4
|
function createEthChainIdMiddleware(chainId) {
|
|
5
|
-
return (
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
return next();
|
|
5
|
+
return ({
|
|
6
|
+
request,
|
|
7
|
+
next
|
|
8
|
+
}) => {
|
|
9
|
+
if (request.method === "eth_chainId") return chainId;
|
|
10
|
+
return next(request);
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
function createEthProviderConfigMiddleware(providerConfig) {
|
|
14
|
-
return (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return next();
|
|
14
|
+
return ({
|
|
15
|
+
request,
|
|
16
|
+
next
|
|
17
|
+
}) => {
|
|
18
|
+
if (request.method === "eth_provider_config") return providerConfig;
|
|
19
|
+
return next(request);
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
function createEthJsonRpcClient(providerConfig) {
|
|
@@ -24,14 +24,15 @@ function createEthJsonRpcClient(providerConfig) {
|
|
|
24
24
|
chainId,
|
|
25
25
|
rpcTarget
|
|
26
26
|
} = providerConfig;
|
|
27
|
-
const
|
|
28
|
-
|
|
27
|
+
const engine = JRPCEngineV2.create({
|
|
28
|
+
middleware: [createEthChainIdMiddleware(chainId), createEthProviderConfigMiddleware(providerConfig), createFetchMiddleware({
|
|
29
|
+
rpcTarget
|
|
30
|
+
})]
|
|
29
31
|
});
|
|
30
|
-
const networkMiddleware =
|
|
32
|
+
const networkMiddleware = engine.asMiddleware();
|
|
31
33
|
return {
|
|
32
|
-
networkMiddleware
|
|
33
|
-
fetchMiddleware
|
|
34
|
+
networkMiddleware
|
|
34
35
|
};
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
export {
|
|
38
|
+
export { createEthJsonRpcClient };
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
+
import { createScaffoldMiddlewareV2, rpcErrors } from '@web3auth/auth';
|
|
3
|
+
import { isHex, toHex } from 'viem';
|
|
4
|
+
|
|
5
|
+
function createWalletMiddlewareV2({
|
|
6
|
+
getAccounts,
|
|
7
|
+
getPrivateKey,
|
|
8
|
+
getPublicKey,
|
|
9
|
+
processEthSignMessage,
|
|
10
|
+
processPersonalMessage,
|
|
11
|
+
processTransaction,
|
|
12
|
+
processSignTransaction,
|
|
13
|
+
processTypedMessageV4,
|
|
14
|
+
processGetCapabilities,
|
|
15
|
+
processSendCalls,
|
|
16
|
+
processGetCallsStatus,
|
|
17
|
+
processShowCallsStatus
|
|
18
|
+
}) {
|
|
19
|
+
if (!getAccounts) throw new Error("opts.getAccounts is required");
|
|
20
|
+
async function validateAndNormalizeKeyholder(address, req) {
|
|
21
|
+
if (typeof address === "string" && address.length > 0) {
|
|
22
|
+
const accounts = await getAccounts(req);
|
|
23
|
+
const normalizedAddress = address.toLowerCase();
|
|
24
|
+
if (accounts.map(a => a.toLowerCase()).includes(normalizedAddress)) return normalizedAddress;
|
|
25
|
+
}
|
|
26
|
+
throw rpcErrors.invalidParams({
|
|
27
|
+
message: `Invalid parameters: must provide an Ethereum address.`
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// Account lookups
|
|
32
|
+
function ethAccountsHandler(p) {
|
|
33
|
+
return getAccounts(p.request);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Tx signatures
|
|
37
|
+
async function ethSendTransactionHandler(p) {
|
|
38
|
+
var _req$params$, _req$params;
|
|
39
|
+
if (!processTransaction) throw 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 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
|
+
|
|
58
|
+
// Message signatures
|
|
59
|
+
async function ethSignHandler(p) {
|
|
60
|
+
if (!processEthSignMessage) throw rpcErrors.methodNotSupported();
|
|
61
|
+
const req = p.request;
|
|
62
|
+
let msgParams;
|
|
63
|
+
if (Array.isArray(req.params)) {
|
|
64
|
+
if (req.params.length !== 2) throw new Error(`WalletMiddleware - incorrect params for eth_sign. expected [address, message]`);
|
|
65
|
+
const [address, message] = req.params;
|
|
66
|
+
msgParams = {
|
|
67
|
+
from: address,
|
|
68
|
+
data: message
|
|
69
|
+
};
|
|
70
|
+
} else {
|
|
71
|
+
var _req$params3;
|
|
72
|
+
msgParams = (_req$params3 = req.params) !== null && _req$params3 !== void 0 ? _req$params3 : {
|
|
73
|
+
from: "",
|
|
74
|
+
data: ""
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return processEthSignMessage(msgParams, req);
|
|
78
|
+
}
|
|
79
|
+
async function ethSignTypedDataV4Handler(p) {
|
|
80
|
+
if (!processTypedMessageV4) throw rpcErrors.methodNotSupported();
|
|
81
|
+
const req = p.request;
|
|
82
|
+
if (!(req !== null && req !== void 0 && req.params)) throw new Error("WalletMiddleware - missing params");
|
|
83
|
+
let msgParams;
|
|
84
|
+
if (Array.isArray(req.params)) {
|
|
85
|
+
if (req.params.length !== 2) throw new Error(`WalletMiddleware - incorrect params for eth_signTypedData_v4. expected [address, typedData]`);
|
|
86
|
+
const [address, message] = req.params;
|
|
87
|
+
msgParams = {
|
|
88
|
+
from: address,
|
|
89
|
+
data: message
|
|
90
|
+
};
|
|
91
|
+
} else {
|
|
92
|
+
msgParams = req.params;
|
|
93
|
+
}
|
|
94
|
+
return processTypedMessageV4(msgParams, req);
|
|
95
|
+
}
|
|
96
|
+
async function personalSignHandler(p) {
|
|
97
|
+
if (!processPersonalMessage) throw rpcErrors.methodNotSupported();
|
|
98
|
+
const req = p.request;
|
|
99
|
+
let msgParams;
|
|
100
|
+
if (Array.isArray(req.params)) {
|
|
101
|
+
if (req.params.length < 2) throw new Error(`WalletMiddleware - incorrect params for personal_sign. expected [message, address]`);
|
|
102
|
+
const params = req.params;
|
|
103
|
+
if (typeof params[0] === "object" && params[0] !== null && "challenge" in params[0] && "address" in params[0]) {
|
|
104
|
+
const {
|
|
105
|
+
challenge,
|
|
106
|
+
address
|
|
107
|
+
} = params[0];
|
|
108
|
+
msgParams = {
|
|
109
|
+
from: address,
|
|
110
|
+
data: challenge
|
|
111
|
+
};
|
|
112
|
+
} else {
|
|
113
|
+
msgParams = {
|
|
114
|
+
from: params[1],
|
|
115
|
+
data: typeof params[0] === "string" ? params[0] : ""
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
} else {
|
|
119
|
+
var _req$params4;
|
|
120
|
+
msgParams = (_req$params4 = req.params) !== null && _req$params4 !== void 0 ? _req$params4 : {
|
|
121
|
+
from: "",
|
|
122
|
+
data: ""
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
return processPersonalMessage(msgParams, req);
|
|
126
|
+
}
|
|
127
|
+
async function ethPrivateKeyHandler(p) {
|
|
128
|
+
if (!getPrivateKey) throw rpcErrors.methodNotSupported();
|
|
129
|
+
return getPrivateKey(p.request);
|
|
130
|
+
}
|
|
131
|
+
async function ethPublicKeyHandler(p) {
|
|
132
|
+
if (!getPublicKey) throw rpcErrors.methodNotSupported();
|
|
133
|
+
return getPublicKey(p.request);
|
|
134
|
+
}
|
|
135
|
+
async function walletGetCapabilitiesHandler(p) {
|
|
136
|
+
var _req$params$3;
|
|
137
|
+
if (!processGetCapabilities) throw rpcErrors.methodNotSupported();
|
|
138
|
+
const req = p.request;
|
|
139
|
+
if (!req.params || !Array.isArray(req.params) || req.params.length < 2) throw rpcErrors.invalidParams("Invalid parameters");
|
|
140
|
+
const account = req.params[0];
|
|
141
|
+
if (!isHex(account)) throw rpcErrors.invalidParams("Invalid account address");
|
|
142
|
+
let chainIds = (_req$params$3 = req.params[1]) !== null && _req$params$3 !== void 0 ? _req$params$3 : [];
|
|
143
|
+
if (!Array.isArray(chainIds)) throw rpcErrors.invalidParams(`Invalid params, received: ${chainIds}. expected: Array`);
|
|
144
|
+
chainIds = chainIds.map(chainId => isHex(chainId) ? chainId : toHex(chainId));
|
|
145
|
+
const getCapabilitiesParams = [account, chainIds];
|
|
146
|
+
return processGetCapabilities(getCapabilitiesParams);
|
|
147
|
+
}
|
|
148
|
+
async function walletSendCallsHandler(p) {
|
|
149
|
+
if (!processSendCalls) throw rpcErrors.methodNotSupported();
|
|
150
|
+
const req = p.request;
|
|
151
|
+
const params = Array.isArray(req.params) ? req.params[0] : req.params;
|
|
152
|
+
if (!params || typeof params !== "object") throw rpcErrors.invalidParams("Missing or invalid params for wallet_sendCalls");
|
|
153
|
+
if (!params.version || typeof params.version !== "string") throw rpcErrors.invalidParams(`Invalid version: expected string, got "${params.version || "undefined"}"`);
|
|
154
|
+
if (!params.chainId) throw rpcErrors.invalidParams("Missing required field: chainId");
|
|
155
|
+
if (!Array.isArray(params.calls) || params.calls.length === 0) throw rpcErrors.invalidParams("calls must be a non-empty array");
|
|
156
|
+
const from = params.from;
|
|
157
|
+
if (from) await validateAndNormalizeKeyholder(from, req);
|
|
158
|
+
const walletSendCallsParams = _objectSpread(_objectSpread({}, params), {}, {
|
|
159
|
+
chainId: isHex(params.chainId) ? params.chainId : toHex(params.chainId)
|
|
160
|
+
});
|
|
161
|
+
return processSendCalls(walletSendCallsParams);
|
|
162
|
+
}
|
|
163
|
+
async function walletBatchCallStatusHandler(p) {
|
|
164
|
+
if (!processGetCallsStatus) throw rpcErrors.methodNotSupported();
|
|
165
|
+
const req = p.request;
|
|
166
|
+
const batchId = Array.isArray(req.params) ? req.params[0] : req.params;
|
|
167
|
+
if (!batchId || typeof batchId !== "string") throw rpcErrors.invalidParams("Missing or invalid batchId");
|
|
168
|
+
return processGetCallsStatus(batchId);
|
|
169
|
+
}
|
|
170
|
+
async function walletShowCallsStatusHandler(p) {
|
|
171
|
+
if (!processShowCallsStatus) throw rpcErrors.methodNotSupported();
|
|
172
|
+
const req = p.request;
|
|
173
|
+
const batchId = Array.isArray(req.params) ? req.params[0] : req.params;
|
|
174
|
+
if (!batchId || typeof batchId !== "string") throw rpcErrors.invalidParams("Missing or invalid batchId");
|
|
175
|
+
await processShowCallsStatus(batchId);
|
|
176
|
+
return true;
|
|
177
|
+
}
|
|
178
|
+
return createScaffoldMiddlewareV2({
|
|
179
|
+
// account lookups
|
|
180
|
+
eth_accounts: ethAccountsHandler,
|
|
181
|
+
eth_requestAccounts: ethAccountsHandler,
|
|
182
|
+
eth_private_key: ethPrivateKeyHandler,
|
|
183
|
+
eth_public_key: ethPublicKeyHandler,
|
|
184
|
+
public_key: ethPublicKeyHandler,
|
|
185
|
+
private_key: ethPrivateKeyHandler,
|
|
186
|
+
// tx signatures
|
|
187
|
+
eth_sendTransaction: ethSendTransactionHandler,
|
|
188
|
+
eth_signTransaction: ethSignTransactionHandler,
|
|
189
|
+
// message signatures
|
|
190
|
+
eth_sign: ethSignHandler,
|
|
191
|
+
eth_signTypedData_v4: ethSignTypedDataV4Handler,
|
|
192
|
+
personal_sign: personalSignHandler,
|
|
193
|
+
// EIP5792
|
|
194
|
+
wallet_getCapabilities: walletGetCapabilitiesHandler,
|
|
195
|
+
wallet_sendCalls: walletSendCallsHandler,
|
|
196
|
+
wallet_batchCallStatus: walletBatchCallStatusHandler,
|
|
197
|
+
wallet_showCallsStatus: walletShowCallsStatusHandler
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export { createWalletMiddlewareV2 };
|
package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import { providerErrors,
|
|
2
|
+
import { providerErrors, JRPCEngineV2, providerFromEngineV2, rpcErrors } from '@web3auth/auth';
|
|
3
3
|
import { createXrplJsonRpcClient } from '../../rpc/JrpcClient.js';
|
|
4
4
|
import { RPC_METHODS, createXRPLMiddleware, creatXrplChainSwitchMiddleware } from '../../rpc/xrplRpcMiddlewares.js';
|
|
5
5
|
import { getProviderHandlers } from './xrplWalletUtils.js';
|
|
@@ -45,14 +45,14 @@ class XrplPrivateKeyProvider extends BaseProvider {
|
|
|
45
45
|
keyExportEnabled: this.config.keyExportEnabled
|
|
46
46
|
});
|
|
47
47
|
const xrplWalletMiddleware = createXRPLMiddleware(providerHandlers);
|
|
48
|
-
const engine = new JRPCEngine();
|
|
49
48
|
const {
|
|
50
49
|
networkMiddleware
|
|
51
50
|
} = createXrplJsonRpcClient(chain);
|
|
52
|
-
|
|
53
|
-
engine.
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
const chainSwitchMiddleware = creatXrplChainSwitchMiddleware(params => this.switchChain(params));
|
|
52
|
+
const engine = JRPCEngineV2.create({
|
|
53
|
+
middleware: [chainSwitchMiddleware, xrplWalletMiddleware, networkMiddleware]
|
|
54
|
+
});
|
|
55
|
+
const provider = providerFromEngineV2(engine);
|
|
56
56
|
this.updateProviderEngineProxy(provider);
|
|
57
57
|
await this.lookupNetwork(privKey, chainId);
|
|
58
58
|
this.emit("chainChanged", chainId);
|
|
@@ -94,17 +94,6 @@ class XrplPrivateKeyProvider extends BaseProvider {
|
|
|
94
94
|
throw WalletInitializationError.rpcConnectionError(`Failed to ping network for following rpc target: ${chain.rpcTarget}`);
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
-
getChainSwitchMiddleware() {
|
|
98
|
-
const chainSwitchHandlers = {
|
|
99
|
-
switchChain: async req => {
|
|
100
|
-
if (!req.params) throw rpcErrors.invalidParams("Missing request params");
|
|
101
|
-
if (!req.params.chainId) throw rpcErrors.invalidParams("Missing chainId");
|
|
102
|
-
await this.switchChain(req.params);
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
const chainSwitchMiddleware = creatXrplChainSwitchMiddleware(chainSwitchHandlers);
|
|
106
|
-
return chainSwitchMiddleware;
|
|
107
|
-
}
|
|
108
97
|
}
|
|
109
98
|
_XrplPrivateKeyProvider = XrplPrivateKeyProvider;
|
|
110
99
|
_defineProperty(XrplPrivateKeyProvider, "getProviderInstance", async params => {
|
package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { hexToBytes } from '@toruslabs/metadata-helpers';
|
|
1
2
|
import { rpcErrors, providerErrors } from '@web3auth/auth';
|
|
2
3
|
import { sign, generateSeed } from 'ripple-keypairs';
|
|
3
4
|
import { Client, Wallet, deriveAddress } from 'xrpl';
|
|
@@ -5,7 +6,7 @@ import ECDSA from 'xrpl/dist/npm/ECDSA';
|
|
|
5
6
|
|
|
6
7
|
const deriveKeypair = web3authKey => {
|
|
7
8
|
const seed = generateSeed({
|
|
8
|
-
entropy:
|
|
9
|
+
entropy: hexToBytes(web3authKey.padStart(64, "0")),
|
|
9
10
|
algorithm: "ecdsa-secp256k1"
|
|
10
11
|
});
|
|
11
12
|
const wallet = Wallet.fromSecret(seed, {
|
|
@@ -1,43 +1,39 @@
|
|
|
1
1
|
import { createFetchMiddleware } from '@toruslabs/base-controllers';
|
|
2
|
-
import {
|
|
2
|
+
import { JRPCEngineV2 } from '@web3auth/auth';
|
|
3
3
|
import { RPC_METHODS } from './xrplRpcMiddlewares.js';
|
|
4
4
|
|
|
5
5
|
function createXrplChainIdMiddleware(chainId) {
|
|
6
|
-
return (
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return next();
|
|
6
|
+
return ({
|
|
7
|
+
request,
|
|
8
|
+
next
|
|
9
|
+
}) => {
|
|
10
|
+
if (request.method === RPC_METHODS.CHAIN_ID) return chainId;
|
|
11
|
+
return next(request);
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
14
|
function createXrplProviderConfigMiddleware(providerConfig) {
|
|
15
|
-
return (
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
return next();
|
|
15
|
+
return ({
|
|
16
|
+
request,
|
|
17
|
+
next
|
|
18
|
+
}) => {
|
|
19
|
+
if (request.method === RPC_METHODS.PROVIDER_CHAIN_CONFIG) return providerConfig;
|
|
20
|
+
return next(request);
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
-
function createConfigMiddleware(providerConfig) {
|
|
24
|
-
const {
|
|
25
|
-
chainId
|
|
26
|
-
} = providerConfig;
|
|
27
|
-
return mergeMiddleware([createXrplChainIdMiddleware(chainId), createXrplProviderConfigMiddleware(providerConfig)]);
|
|
28
|
-
}
|
|
29
23
|
function createXrplJsonRpcClient(providerConfig) {
|
|
30
24
|
const {
|
|
25
|
+
chainId,
|
|
31
26
|
rpcTarget
|
|
32
27
|
} = providerConfig;
|
|
33
|
-
const
|
|
34
|
-
|
|
28
|
+
const engine = JRPCEngineV2.create({
|
|
29
|
+
middleware: [createXrplChainIdMiddleware(chainId), createXrplProviderConfigMiddleware(providerConfig), createFetchMiddleware({
|
|
30
|
+
rpcTarget
|
|
31
|
+
})]
|
|
35
32
|
});
|
|
36
|
-
const networkMiddleware =
|
|
33
|
+
const networkMiddleware = engine.asMiddleware();
|
|
37
34
|
return {
|
|
38
|
-
networkMiddleware
|
|
39
|
-
fetchMiddleware
|
|
35
|
+
networkMiddleware
|
|
40
36
|
};
|
|
41
37
|
}
|
|
42
38
|
|
|
43
|
-
export {
|
|
39
|
+
export { createXrplJsonRpcClient };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { randomId } from '@toruslabs/base-controllers';
|
|
2
|
-
import {
|
|
2
|
+
import { createScaffoldMiddlewareV2, JRPCEngineV2, rpcErrors } from '@web3auth/auth';
|
|
3
3
|
|
|
4
4
|
const RPC_METHODS = {
|
|
5
5
|
GET_ACCOUNTS: "xrpl_getAccounts",
|
|
@@ -12,36 +12,15 @@ const RPC_METHODS = {
|
|
|
12
12
|
CHAIN_ID: "xrpl_chainId",
|
|
13
13
|
PROVIDER_CHAIN_CONFIG: "xrpl_providerChainConfig"
|
|
14
14
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
} = request;
|
|
22
|
-
|
|
23
|
-
// hack to override big ids from fetch middleware which are not supported in xrpl servers
|
|
24
|
-
// TODO: fix this for xrpl controllers.
|
|
15
|
+
/** Normalizes request.id for XRPL servers that don't support large IDs from fetch middleware. */
|
|
16
|
+
function createRequestIdNormalizerMiddleware() {
|
|
17
|
+
return ({
|
|
18
|
+
request,
|
|
19
|
+
next
|
|
20
|
+
}) => {
|
|
25
21
|
request.id = randomId();
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
// This calls from the prefs controller
|
|
29
|
-
const accounts = await getAccounts(request);
|
|
30
|
-
response.result = accounts;
|
|
31
|
-
return undefined;
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
function createGenericJRPCMiddleware(targetMethod, handler) {
|
|
35
|
-
return createAsyncMiddleware(async (request, response, next) => {
|
|
36
|
-
const {
|
|
37
|
-
method
|
|
38
|
-
} = request;
|
|
39
|
-
if (method !== targetMethod) return next();
|
|
40
|
-
if (!handler) throw new Error(`WalletMiddleware - ${targetMethod} not provided`);
|
|
41
|
-
const result = await handler(request);
|
|
42
|
-
response.result = result;
|
|
43
|
-
return undefined;
|
|
44
|
-
});
|
|
22
|
+
return next(request);
|
|
23
|
+
};
|
|
45
24
|
}
|
|
46
25
|
function createXRPLMiddleware(providerHandlers) {
|
|
47
26
|
const {
|
|
@@ -52,14 +31,45 @@ function createXRPLMiddleware(providerHandlers) {
|
|
|
52
31
|
getKeyPair,
|
|
53
32
|
getPublicKey
|
|
54
33
|
} = providerHandlers;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
34
|
+
const scaffold = createScaffoldMiddlewareV2({
|
|
35
|
+
[RPC_METHODS.GET_ACCOUNTS]: params => {
|
|
36
|
+
if (!getAccounts) throw new Error("WalletMiddleware - opts.getAccounts not provided");
|
|
37
|
+
return getAccounts(params.request);
|
|
38
|
+
},
|
|
39
|
+
[RPC_METHODS.SIGN_TRANSACTION]: params => {
|
|
40
|
+
return signTransaction(params.request);
|
|
41
|
+
},
|
|
42
|
+
[RPC_METHODS.SUBMIT_TRANSACTION]: params => {
|
|
43
|
+
return submitTransaction(params.request);
|
|
44
|
+
},
|
|
45
|
+
[RPC_METHODS.SIGN_MESSAGE]: params => {
|
|
46
|
+
return signMessage(params.request);
|
|
47
|
+
},
|
|
48
|
+
[RPC_METHODS.GET_KEY_PAIR]: params => {
|
|
49
|
+
return getKeyPair(params.request);
|
|
50
|
+
},
|
|
51
|
+
[RPC_METHODS.GET_PUBLIC_KEY]: params => {
|
|
52
|
+
return getPublicKey(params.request);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
const engine = JRPCEngineV2.create({
|
|
56
|
+
middleware: [createRequestIdNormalizerMiddleware(), scaffold]
|
|
57
|
+
});
|
|
58
|
+
return engine.asMiddleware();
|
|
58
59
|
}
|
|
59
|
-
function creatXrplChainSwitchMiddleware({
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
function creatXrplChainSwitchMiddleware(switchChain) {
|
|
61
|
+
async function switchChainHandler(params) {
|
|
62
|
+
const req = params.request;
|
|
63
|
+
if (!req.params) throw rpcErrors.invalidParams("Missing request params");
|
|
64
|
+
if (!req.params.chainId) throw rpcErrors.invalidParams("Missing chainId");
|
|
65
|
+
await switchChain({
|
|
66
|
+
chainId: req.params.chainId
|
|
67
|
+
});
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
return createScaffoldMiddlewareV2({
|
|
71
|
+
[RPC_METHODS.SWITCH_CHAIN]: switchChainHandler
|
|
72
|
+
});
|
|
63
73
|
}
|
|
64
74
|
|
|
65
|
-
export { RPC_METHODS, creatXrplChainSwitchMiddleware,
|
|
75
|
+
export { RPC_METHODS, creatXrplChainSwitchMiddleware, createXRPLMiddleware };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { createContext, useContext,
|
|
2
|
-
import {
|
|
3
|
-
import { CONNECTOR_STATUS } from '../../base/connector/constants.js';
|
|
1
|
+
import { createContext, useContext, createElement } from 'react';
|
|
2
|
+
import { useWalletServicesContextValue } from './useWalletServicesContextValue.js';
|
|
4
3
|
|
|
5
4
|
const WalletServicesContext = createContext(null);
|
|
6
5
|
function WalletServicesContextProvider({
|
|
@@ -8,60 +7,7 @@ function WalletServicesContextProvider({
|
|
|
8
7
|
context
|
|
9
8
|
}) {
|
|
10
9
|
const web3AuthContext = useContext(context);
|
|
11
|
-
const
|
|
12
|
-
getPlugin,
|
|
13
|
-
isInitialized,
|
|
14
|
-
isConnected
|
|
15
|
-
} = web3AuthContext;
|
|
16
|
-
const [ready, setReady] = useState(false);
|
|
17
|
-
const [connecting, setConnecting] = useState(false);
|
|
18
|
-
const [walletServicesPlugin, setWalletServicesPlugin] = useState(null);
|
|
19
|
-
useEffect(() => {
|
|
20
|
-
if (isInitialized) {
|
|
21
|
-
const plugin = getPlugin(EVM_PLUGINS.WALLET_SERVICES);
|
|
22
|
-
setWalletServicesPlugin(plugin);
|
|
23
|
-
}
|
|
24
|
-
}, [isInitialized, getPlugin]);
|
|
25
|
-
useEffect(() => {
|
|
26
|
-
if (isConnected) {
|
|
27
|
-
const plugin = getPlugin(EVM_PLUGINS.WALLET_SERVICES);
|
|
28
|
-
setWalletServicesPlugin(plugin);
|
|
29
|
-
// when rehydrating, the connectedListener may be registered after the connected event is emitted, we need to check the status here
|
|
30
|
-
if ((plugin === null || plugin === void 0 ? void 0 : plugin.status) === CONNECTOR_STATUS.CONNECTED) setReady(true);
|
|
31
|
-
}
|
|
32
|
-
}, [isConnected, getPlugin, walletServicesPlugin]);
|
|
33
|
-
useEffect(() => {
|
|
34
|
-
const connectedListener = () => {
|
|
35
|
-
setReady(true);
|
|
36
|
-
setConnecting(false);
|
|
37
|
-
};
|
|
38
|
-
const disconnectedListener = () => {
|
|
39
|
-
setReady(false);
|
|
40
|
-
setConnecting(false);
|
|
41
|
-
};
|
|
42
|
-
const connectingListener = () => {
|
|
43
|
-
setConnecting(true);
|
|
44
|
-
};
|
|
45
|
-
if (walletServicesPlugin) {
|
|
46
|
-
walletServicesPlugin.on(PLUGIN_EVENTS.CONNECTED, connectedListener);
|
|
47
|
-
walletServicesPlugin.on(PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
|
|
48
|
-
walletServicesPlugin.on(PLUGIN_EVENTS.CONNECTING, connectingListener);
|
|
49
|
-
}
|
|
50
|
-
return () => {
|
|
51
|
-
if (walletServicesPlugin) {
|
|
52
|
-
walletServicesPlugin.removeListener(PLUGIN_EVENTS.CONNECTED, connectedListener);
|
|
53
|
-
walletServicesPlugin.removeListener(PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
|
|
54
|
-
walletServicesPlugin.removeListener(PLUGIN_EVENTS.CONNECTING, connectingListener);
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
}, [walletServicesPlugin]);
|
|
58
|
-
const value = useMemo(() => {
|
|
59
|
-
return {
|
|
60
|
-
plugin: walletServicesPlugin,
|
|
61
|
-
ready,
|
|
62
|
-
connecting
|
|
63
|
-
};
|
|
64
|
-
}, [walletServicesPlugin, ready, connecting]);
|
|
10
|
+
const value = useWalletServicesContextValue(web3AuthContext);
|
|
65
11
|
return createElement(WalletServicesContext.Provider, {
|
|
66
12
|
value
|
|
67
13
|
}, children);
|