@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,46 +0,0 @@
|
|
|
1
|
-
import { GAS_ESTIMATE_TYPES, TRANSACTION_TYPES } from "./constants";
|
|
2
|
-
export type LegacyGasData = {
|
|
3
|
-
low: string;
|
|
4
|
-
medium: string;
|
|
5
|
-
high: string;
|
|
6
|
-
};
|
|
7
|
-
export type EIP1559GasDataItem = {
|
|
8
|
-
suggestedMaxPriorityFeePerGas: string;
|
|
9
|
-
suggestedMaxFeePerGas: string;
|
|
10
|
-
minWaitTimeEstimate: number;
|
|
11
|
-
maxWaitTimeEstimate: number;
|
|
12
|
-
};
|
|
13
|
-
export type EthereumGasFeeEstimates = {
|
|
14
|
-
estimatedBaseFee: string;
|
|
15
|
-
low: EIP1559GasDataItem;
|
|
16
|
-
medium: EIP1559GasDataItem;
|
|
17
|
-
high: EIP1559GasDataItem;
|
|
18
|
-
};
|
|
19
|
-
export type EIP1159GasData = EthereumGasFeeEstimates & {
|
|
20
|
-
networkCongestion: number;
|
|
21
|
-
latestPriorityFeeRange: string[];
|
|
22
|
-
historicalPriorityFeeRange: string[];
|
|
23
|
-
historicalBaseFeeRange: string[];
|
|
24
|
-
priorityFeeTrend: string;
|
|
25
|
-
baseFeeTrend: string;
|
|
26
|
-
};
|
|
27
|
-
export type FallbackGasData = {
|
|
28
|
-
gasPrice: string;
|
|
29
|
-
};
|
|
30
|
-
export type TxType = (typeof TRANSACTION_TYPES)[keyof typeof TRANSACTION_TYPES];
|
|
31
|
-
export type GasType = (typeof GAS_ESTIMATE_TYPES)[keyof typeof GAS_ESTIMATE_TYPES];
|
|
32
|
-
export type GasData = {
|
|
33
|
-
gasEstimateType: string;
|
|
34
|
-
gasFeeEstimates: LegacyGasData | EthereumGasFeeEstimates | FallbackGasData;
|
|
35
|
-
};
|
|
36
|
-
export interface FeeHistoryResponse {
|
|
37
|
-
baseFeePerGas: string[];
|
|
38
|
-
gasUsedRatio: string[];
|
|
39
|
-
oldestBlock: string;
|
|
40
|
-
reward: string[][];
|
|
41
|
-
}
|
|
42
|
-
export declare enum SignTypedDataVersion {
|
|
43
|
-
V1 = "V1",
|
|
44
|
-
V3 = "V3",
|
|
45
|
-
V4 = "V4"
|
|
46
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { TypedMessageParams } from "../../../rpc/interfaces";
|
|
2
|
-
import { EthereumGasFeeEstimates, LegacyGasData } from "./interfaces";
|
|
3
|
-
export declare function normalizeGWEIDecimalNumbers(n: string | BigNumber): string;
|
|
4
|
-
export declare function fetchEip1159GasEstimates(url: string): Promise<EthereumGasFeeEstimates>;
|
|
5
|
-
/**
|
|
6
|
-
* Hit the legacy MetaSwaps gasPrices estimate api and return the low, medium
|
|
7
|
-
* high values from that API.
|
|
8
|
-
*/
|
|
9
|
-
export declare function fetchLegacyGasPriceEstimates(url: string): Promise<LegacyGasData>;
|
|
10
|
-
export declare function validateAddress(address: string, propertyName: string): void;
|
|
11
|
-
export declare function validateTypedSignMessageDataV4(messageData: TypedMessageParams, currentChainId: string): Promise<void>;
|
package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./TransactionFormatter";
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import BN from "bn.js";
|
|
2
|
-
export declare function bnLessThan(a: string | number, b: string | number): boolean;
|
|
3
|
-
export declare function bnToHex(inputBn: BN): `0x${string}`;
|
|
4
|
-
export declare function hexToBn(inputHex: string): BN;
|
|
5
|
-
export declare function BnMultiplyByFraction(targetBN: BN, numerator: number | string, denominator: number | string): BN;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { JRPCMiddleware } from "@web3auth/auth";
|
|
2
|
-
import type { WalletMiddlewareOptions } from "./interfaces";
|
|
3
|
-
export declare function createWalletMiddleware({ getAccounts, getPrivateKey, getPublicKey, processEthSignMessage, processPersonalMessage, processTransaction, processSignTransaction, processTypedMessageV4, }: WalletMiddlewareOptions): JRPCMiddleware<string, unknown>;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { Transaction, VersionedTransaction } from "@solana/web3.js";
|
|
2
|
-
import { RequestArguments } from "../../base";
|
|
3
|
-
export type TransactionOrVersionedTransaction = Transaction | VersionedTransaction;
|
|
4
|
-
export interface ISolanaWallet {
|
|
5
|
-
publicKey?: {
|
|
6
|
-
toBytes(): Uint8Array;
|
|
7
|
-
};
|
|
8
|
-
signAndSendTransaction<T extends TransactionOrVersionedTransaction>(transaction: T): Promise<string>;
|
|
9
|
-
signTransaction?<T extends TransactionOrVersionedTransaction>(transaction: T): Promise<string>;
|
|
10
|
-
signAllTransactions?<T extends TransactionOrVersionedTransaction>(transactions: T[]): Promise<string[]>;
|
|
11
|
-
signMessage(message: string, pubKey: string): Promise<string>;
|
|
12
|
-
request<T, U>(args: RequestArguments<T>): Promise<U>;
|
|
13
|
-
}
|
|
14
|
-
export interface IBaseWalletProvider {
|
|
15
|
-
publicKey?: {
|
|
16
|
-
toBytes(): Uint8Array;
|
|
17
|
-
};
|
|
18
|
-
signMessage?(message: string, pubKey: string, display?: "hex" | "utf8"): Promise<string>;
|
|
19
|
-
signTransaction?(transaction: string): Promise<string>;
|
|
20
|
-
signAllTransactions?(transactions: string[]): Promise<string[]>;
|
|
21
|
-
signAndSendTransaction?(transaction: string): Promise<string>;
|
|
22
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./injectedProviders";
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { JRPCMiddleware } from "@web3auth/auth";
|
|
2
|
-
import { BaseProvider, BaseProviderConfig, BaseProviderState } from "../../../../../providers/base-provider";
|
|
3
|
-
import { ISolanaProviderHandlers } from "../../../rpc";
|
|
4
|
-
export declare abstract class BaseInjectedProvider<P> extends BaseProvider<BaseProviderConfig, BaseProviderState, P> {
|
|
5
|
-
constructor({ config, state }: {
|
|
6
|
-
config: BaseProviderConfig;
|
|
7
|
-
state?: BaseProviderState;
|
|
8
|
-
});
|
|
9
|
-
switchChain(_: {
|
|
10
|
-
chainId: string;
|
|
11
|
-
}): Promise<void>;
|
|
12
|
-
setupProvider(injectedProvider: P, chainId: string): Promise<void>;
|
|
13
|
-
protected lookupNetwork(_injectedProvider: P, chainId: string): Promise<string>;
|
|
14
|
-
protected getInjectedProviderProxy(_: P): JRPCMiddleware<unknown, unknown>;
|
|
15
|
-
protected abstract getProviderHandlers(injectedProvider: P): ISolanaProviderHandlers;
|
|
16
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { type SolanaSignAndSendTransactionFeature, type SolanaSignMessageFeature, type SolanaSignTransactionFeature } from "@solana/wallet-standard-features";
|
|
2
|
-
import { type WalletWithFeatures } from "@wallet-standard/base";
|
|
3
|
-
import { type StandardConnectFeature, type StandardDisconnectFeature, type StandardEventsFeature } from "@wallet-standard/features";
|
|
4
|
-
import { type ISolanaProviderHandlers } from "../../rpc";
|
|
5
|
-
import { BaseInjectedProvider } from "./base/baseInjectedProvider";
|
|
6
|
-
export type WalletStandard = WalletWithFeatures<StandardConnectFeature & StandardEventsFeature & StandardDisconnectFeature & SolanaSignAndSendTransactionFeature & SolanaSignMessageFeature & SolanaSignTransactionFeature>;
|
|
7
|
-
export declare class WalletStandardProvider extends BaseInjectedProvider<WalletStandard> {
|
|
8
|
-
protected getProviderHandlers(wallet: WalletStandard): ISolanaProviderHandlers;
|
|
9
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Block, JRPCMiddleware } from "@web3auth/auth";
|
|
2
|
-
import { CustomChainConfig } from "../../../base";
|
|
3
|
-
export declare function createSolanaChainIdMiddleware(chainId: string): JRPCMiddleware<unknown, string>;
|
|
4
|
-
export declare function createSolanaProviderConfigMiddleware(providerConfig: CustomChainConfig): JRPCMiddleware<unknown, CustomChainConfig>;
|
|
5
|
-
export declare function createConfigMiddleware(providerConfig: CustomChainConfig): JRPCMiddleware<unknown, unknown>;
|
|
6
|
-
export declare function createSolanaJsonRpcClient(providerConfig: CustomChainConfig): {
|
|
7
|
-
networkMiddleware: JRPCMiddleware<unknown, unknown>;
|
|
8
|
-
fetchMiddleware: JRPCMiddleware<string[], Block>;
|
|
9
|
-
};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { JRPCRequest } from "@web3auth/auth";
|
|
2
|
-
export interface ISolanaChainSwitchHandlers {
|
|
3
|
-
switchSolanaChain: (req: JRPCRequest<{
|
|
4
|
-
chainId: string;
|
|
5
|
-
}>) => Promise<void>;
|
|
6
|
-
}
|
|
7
|
-
export interface ISolanaProviderHandlers {
|
|
8
|
-
requestAccounts: (req: JRPCRequest<unknown>) => Promise<string[]>;
|
|
9
|
-
getAccounts: (req: JRPCRequest<unknown>) => Promise<string[]>;
|
|
10
|
-
getPublicKey: (req: JRPCRequest<unknown>) => Promise<string>;
|
|
11
|
-
getPrivateKey: (req: JRPCRequest<unknown>) => Promise<string>;
|
|
12
|
-
getSecretKey: (req: JRPCRequest<unknown>) => Promise<string>;
|
|
13
|
-
signMessage: (req: JRPCRequest<{
|
|
14
|
-
data: string;
|
|
15
|
-
from: string;
|
|
16
|
-
display?: string;
|
|
17
|
-
}>) => Promise<string>;
|
|
18
|
-
signTransaction: (req: JRPCRequest<{
|
|
19
|
-
message: string;
|
|
20
|
-
}>) => Promise<string>;
|
|
21
|
-
signAllTransactions: (req: JRPCRequest<{
|
|
22
|
-
message: string[];
|
|
23
|
-
}>) => Promise<string[]>;
|
|
24
|
-
signAndSendTransaction: (req: JRPCRequest<{
|
|
25
|
-
message: string;
|
|
26
|
-
}>) => Promise<string>;
|
|
27
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { JRPCMiddleware, JRPCRequest } from "@web3auth/auth";
|
|
2
|
-
import { ISolanaChainSwitchHandlers, ISolanaProviderHandlers } from "./interfaces";
|
|
3
|
-
export declare function createGetAccountsMiddleware({ getAccounts, }: {
|
|
4
|
-
getAccounts: ISolanaProviderHandlers["getAccounts"];
|
|
5
|
-
}): JRPCMiddleware<unknown, unknown>;
|
|
6
|
-
export declare function createGetPublicKeyMiddleware({ getPublicKey, }: {
|
|
7
|
-
getPublicKey: ISolanaProviderHandlers["getPublicKey"];
|
|
8
|
-
}): JRPCMiddleware<unknown, unknown>;
|
|
9
|
-
export declare function createRequestAccountsMiddleware({ requestAccounts, }: {
|
|
10
|
-
requestAccounts: ISolanaProviderHandlers["requestAccounts"];
|
|
11
|
-
}): JRPCMiddleware<unknown, unknown>;
|
|
12
|
-
export declare function createGenericJRPCMiddleware<T, U>(targetMethod: string, handler: (req: JRPCRequest<T>) => Promise<U>): JRPCMiddleware<T, U>;
|
|
13
|
-
export declare function createSolanaMiddleware(providerHandlers: ISolanaProviderHandlers): JRPCMiddleware<unknown, unknown>;
|
|
14
|
-
export declare function createSolanaChainSwitchMiddleware({ switchSolanaChain }: ISolanaChainSwitchHandlers): JRPCMiddleware<unknown, unknown>;
|
|
15
|
-
export interface ISolanaAccountHandlers {
|
|
16
|
-
updatePrivatekey: (req: JRPCRequest<{
|
|
17
|
-
privateKey: string;
|
|
18
|
-
}>) => Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
export declare function createSolanaAccountMiddleware({ updatePrivatekey }: ISolanaAccountHandlers): JRPCMiddleware<unknown, unknown>;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { IProvider, RequestArguments } from "../../base";
|
|
2
|
-
import { ISolanaWallet, type TransactionOrVersionedTransaction } from "./interface";
|
|
3
|
-
export declare class SolanaWallet implements ISolanaWallet {
|
|
4
|
-
provider: IProvider;
|
|
5
|
-
constructor(provider: IProvider);
|
|
6
|
-
requestAccounts(): Promise<string[]>;
|
|
7
|
-
getAccounts(): Promise<string[]>;
|
|
8
|
-
signAndSendTransaction<T extends TransactionOrVersionedTransaction>(transaction: T): Promise<string>;
|
|
9
|
-
/**
|
|
10
|
-
* Signs a transaction and returns the signature
|
|
11
|
-
* @param transaction - The transaction to sign
|
|
12
|
-
* @returns The signature of the transaction encoded in base58
|
|
13
|
-
*/
|
|
14
|
-
signTransaction<T extends TransactionOrVersionedTransaction>(transaction: T): Promise<string>;
|
|
15
|
-
/**
|
|
16
|
-
* Signs multiple transactions and returns the serialized transactions
|
|
17
|
-
* @param transactions - The transactions to sign
|
|
18
|
-
* @returns The serialized transactions encoded in base64
|
|
19
|
-
*/
|
|
20
|
-
signAllTransactions<T extends TransactionOrVersionedTransaction>(transactions: T[]): Promise<string[]>;
|
|
21
|
-
/**
|
|
22
|
-
* Signs a message and returns the signature
|
|
23
|
-
* @param message - The message to sign
|
|
24
|
-
* @returns The signature of the message encoded in base58
|
|
25
|
-
*/
|
|
26
|
-
signMessage(message: string, pubKey: string): Promise<string>;
|
|
27
|
-
request<T, U>(args: RequestArguments<T>): Promise<U>;
|
|
28
|
-
private serializeTransaction;
|
|
29
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { EthereumSigningProvider } from './providers/signingProviders/EthereumSigningProvider.js';
|
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
|
-
import { isHexString } from '@ethereumjs/util';
|
|
4
|
-
import { providerErrors, JRPCEngine, providerFromEngine, rpcErrors } from '@web3auth/auth';
|
|
5
|
-
import { createEthAccountMiddleware } from '../../rpc/ethRpcMiddlewares.js';
|
|
6
|
-
import { getProviderHandlers } from './signingUtils.js';
|
|
7
|
-
import { TransactionFormatter } from '../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js';
|
|
8
|
-
import { BaseProvider } from '../../../base-provider/baseProvider.js';
|
|
9
|
-
import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
|
|
10
|
-
import { WalletInitializationError } from '../../../../base/errors/index.js';
|
|
11
|
-
import { createEthMiddleware, createEthChainSwitchMiddleware } from '../../../ethereum-provider/rpc/ethRpcMiddlewares.js';
|
|
12
|
-
import { createEthJsonRpcClient } from '../../../ethereum-provider/rpc/jrpcClient.js';
|
|
13
|
-
|
|
14
|
-
var _EthereumSigningProvider;
|
|
15
|
-
class EthereumSigningProvider extends BaseProvider {
|
|
16
|
-
constructor({
|
|
17
|
-
config,
|
|
18
|
-
state
|
|
19
|
-
}) {
|
|
20
|
-
super({
|
|
21
|
-
config: {
|
|
22
|
-
chain: _objectSpread(_objectSpread({}, config.chain), {}, {
|
|
23
|
-
chainNamespace: CHAIN_NAMESPACES.EIP155 // TODO: is this needed ?
|
|
24
|
-
}),
|
|
25
|
-
chains: config.chains
|
|
26
|
-
},
|
|
27
|
-
state
|
|
28
|
-
});
|
|
29
|
-
_defineProperty(this, "PROVIDER_CHAIN_NAMESPACE", CHAIN_NAMESPACES.EIP155);
|
|
30
|
-
}
|
|
31
|
-
async enable() {
|
|
32
|
-
if (!this.state.signMethods) throw providerErrors.custom({
|
|
33
|
-
message: "signMethods are not found in state, plz pass it in constructor state param",
|
|
34
|
-
code: 4902
|
|
35
|
-
});
|
|
36
|
-
await this.setupProvider(this.state.signMethods, this.chainId);
|
|
37
|
-
return this._providerEngineProxy.request({
|
|
38
|
-
method: "eth_accounts"
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
async setupProvider(params, chainId) {
|
|
42
|
-
const {
|
|
43
|
-
sign,
|
|
44
|
-
getPublic
|
|
45
|
-
} = params;
|
|
46
|
-
const chain = this.getChain(chainId);
|
|
47
|
-
const {
|
|
48
|
-
chainNamespace
|
|
49
|
-
} = chain;
|
|
50
|
-
if (chainNamespace !== this.PROVIDER_CHAIN_NAMESPACE) throw WalletInitializationError.incompatibleChainNameSpace("Invalid chain namespace");
|
|
51
|
-
const txFormatter = new TransactionFormatter({
|
|
52
|
-
getProviderEngineProxy: this.getProviderEngineProxy.bind(this)
|
|
53
|
-
});
|
|
54
|
-
const providerHandlers = getProviderHandlers({
|
|
55
|
-
txFormatter,
|
|
56
|
-
sign,
|
|
57
|
-
getPublic,
|
|
58
|
-
getProviderEngineProxy: this.getProviderEngineProxy.bind(this)
|
|
59
|
-
});
|
|
60
|
-
const ethMiddleware = createEthMiddleware(providerHandlers);
|
|
61
|
-
const chainSwitchMiddleware = this.getChainSwitchMiddleware();
|
|
62
|
-
const engine = new JRPCEngine();
|
|
63
|
-
// Not a partial anymore because of checks in ctor
|
|
64
|
-
const {
|
|
65
|
-
networkMiddleware
|
|
66
|
-
} = createEthJsonRpcClient(chain);
|
|
67
|
-
engine.push(ethMiddleware);
|
|
68
|
-
engine.push(chainSwitchMiddleware);
|
|
69
|
-
engine.push(this.getAccountMiddleware());
|
|
70
|
-
engine.push(networkMiddleware);
|
|
71
|
-
const provider = providerFromEngine(engine);
|
|
72
|
-
this.updateProviderEngineProxy(provider);
|
|
73
|
-
await txFormatter.init();
|
|
74
|
-
await this.lookupNetwork(params, chainId);
|
|
75
|
-
this.state.signMethods = {
|
|
76
|
-
sign,
|
|
77
|
-
getPublic
|
|
78
|
-
};
|
|
79
|
-
this.emit("chainChanged", chainId);
|
|
80
|
-
this.emit("connect", {
|
|
81
|
-
chainId
|
|
82
|
-
});
|
|
83
|
-
this.update({
|
|
84
|
-
chainId
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
async updateAccount(params) {
|
|
88
|
-
if (!this._providerEngineProxy) throw providerErrors.custom({
|
|
89
|
-
message: "Provider is not initialized",
|
|
90
|
-
code: 4902
|
|
91
|
-
});
|
|
92
|
-
const currentSignMethods = this.state.signMethods;
|
|
93
|
-
if (!currentSignMethods) {
|
|
94
|
-
throw providerErrors.custom({
|
|
95
|
-
message: "signing methods are unavailable ",
|
|
96
|
-
code: 4092
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
const currentPubKey = (await currentSignMethods.getPublic()).toString("hex");
|
|
100
|
-
const updatePubKey = (await params.signMethods.getPublic()).toString("hex");
|
|
101
|
-
if (currentPubKey !== updatePubKey) {
|
|
102
|
-
await this.setupProvider(params.signMethods, this.chainId);
|
|
103
|
-
const accounts = await this._providerEngineProxy.request({
|
|
104
|
-
method: "eth_accounts"
|
|
105
|
-
});
|
|
106
|
-
this.emit("accountsChanged", accounts);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
async switchChain(params) {
|
|
110
|
-
if (!this._providerEngineProxy) throw providerErrors.custom({
|
|
111
|
-
message: "Provider is not initialized",
|
|
112
|
-
code: 4902
|
|
113
|
-
});
|
|
114
|
-
if (!this.state.signMethods) {
|
|
115
|
-
throw providerErrors.custom({
|
|
116
|
-
message: "sign methods are undefined",
|
|
117
|
-
code: 4902
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
if (params.chainId === this.chainId) {
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
this.update({
|
|
124
|
-
chainId: "loading"
|
|
125
|
-
});
|
|
126
|
-
await this.setupProvider(this.state.signMethods, params.chainId);
|
|
127
|
-
}
|
|
128
|
-
async addChain(chainConfig) {
|
|
129
|
-
if (!this._providerEngineProxy) throw providerErrors.custom({
|
|
130
|
-
message: "Provider is not initialized",
|
|
131
|
-
code: 4902
|
|
132
|
-
});
|
|
133
|
-
if (!this.state.signMethods) {
|
|
134
|
-
throw providerErrors.custom({
|
|
135
|
-
message: "sign methods are undefined",
|
|
136
|
-
code: 4902
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
// find existing chain config with the same chainId
|
|
140
|
-
const existingChain = this.config.chains.find(chain => chain.chainId === chainConfig.chainId);
|
|
141
|
-
if (existingChain) {
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
// add the chain config to the config
|
|
145
|
-
this.config.chains.push({
|
|
146
|
-
chainId: chainConfig.chainId,
|
|
147
|
-
displayName: chainConfig.chainName,
|
|
148
|
-
rpcTarget: chainConfig.rpcUrls[0],
|
|
149
|
-
chainNamespace: CHAIN_NAMESPACES.EIP155,
|
|
150
|
-
blockExplorerUrl: chainConfig.blockExplorerUrls[0],
|
|
151
|
-
logo: chainConfig.iconUrls[0],
|
|
152
|
-
tickerName: chainConfig.nativeCurrency.name,
|
|
153
|
-
ticker: chainConfig.nativeCurrency.symbol,
|
|
154
|
-
decimals: chainConfig.nativeCurrency.decimals
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
async lookupNetwork(_, chainId) {
|
|
158
|
-
if (!this._providerEngineProxy) throw providerErrors.custom({
|
|
159
|
-
message: "Provider is not initialized",
|
|
160
|
-
code: 4902
|
|
161
|
-
});
|
|
162
|
-
if (!chainId) throw rpcErrors.invalidParams("chainId is required while lookupNetwork");
|
|
163
|
-
const network = await this._providerEngineProxy.request({
|
|
164
|
-
method: "net_version",
|
|
165
|
-
params: []
|
|
166
|
-
});
|
|
167
|
-
const finalNetwork = isHexString(network) ? parseInt(network, 16) : parseInt(network, 10);
|
|
168
|
-
if (parseInt(chainId, 16) !== finalNetwork) throw providerErrors.chainDisconnected(`Invalid network, net_version is: ${network}`);
|
|
169
|
-
return network;
|
|
170
|
-
}
|
|
171
|
-
getChainSwitchMiddleware() {
|
|
172
|
-
const chainSwitchHandlers = {
|
|
173
|
-
switchChain: async params => {
|
|
174
|
-
const {
|
|
175
|
-
chainId
|
|
176
|
-
} = params;
|
|
177
|
-
await this.switchChain({
|
|
178
|
-
chainId
|
|
179
|
-
});
|
|
180
|
-
},
|
|
181
|
-
addChain: async params => {
|
|
182
|
-
await this.addChain(params);
|
|
183
|
-
}
|
|
184
|
-
};
|
|
185
|
-
const chainSwitchMiddleware = createEthChainSwitchMiddleware(chainSwitchHandlers);
|
|
186
|
-
return chainSwitchMiddleware;
|
|
187
|
-
}
|
|
188
|
-
getAccountMiddleware() {
|
|
189
|
-
const accountHandlers = {
|
|
190
|
-
};
|
|
191
|
-
return createEthAccountMiddleware(accountHandlers);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
_EthereumSigningProvider = EthereumSigningProvider;
|
|
195
|
-
_defineProperty(EthereumSigningProvider, "getProviderInstance", async params => {
|
|
196
|
-
const providerFactory = new _EthereumSigningProvider({
|
|
197
|
-
config: {
|
|
198
|
-
chain: params.chain,
|
|
199
|
-
chains: params.chains
|
|
200
|
-
}
|
|
201
|
-
});
|
|
202
|
-
await providerFactory.setupProvider(params.signMethods, params.chain.chainId);
|
|
203
|
-
return providerFactory;
|
|
204
|
-
});
|
|
205
|
-
|
|
206
|
-
export { EthereumSigningProvider };
|
package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import { publicToAddress, toBytes, isHexString, stripHexPrefix, intToBytes } from '@ethereumjs/util';
|
|
3
|
-
import { concatSig } from '@toruslabs/base-controllers';
|
|
4
|
-
import { providerErrors } from '@web3auth/auth';
|
|
5
|
-
import { hashMessage, Signature } from 'ethers';
|
|
6
|
-
import { validateTypedData, hexToBytes, hashTypedData } from 'viem';
|
|
7
|
-
import { validateTypedSignMessageDataV4 } from '../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js';
|
|
8
|
-
import { SignTypedDataVersion } from '../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js';
|
|
9
|
-
import { log } from '../../../../base/loglevel.js';
|
|
10
|
-
|
|
11
|
-
async function signTx(txParams, sign, txFormatter) {
|
|
12
|
-
const {
|
|
13
|
-
Transaction
|
|
14
|
-
} = await import('ethers');
|
|
15
|
-
const finalTxParams = await txFormatter.formatTransaction(txParams);
|
|
16
|
-
const ethTx = Transaction.from(_objectSpread(_objectSpread({}, finalTxParams), {}, {
|
|
17
|
-
from: undefined // from is already calculated inside Transaction.from and is not allowed to be passed in
|
|
18
|
-
}));
|
|
19
|
-
const msgHash = stripHexPrefix(ethTx.unsignedHash);
|
|
20
|
-
const vrs = await sign(Buffer.from(msgHash, "hex"));
|
|
21
|
-
let {
|
|
22
|
-
v
|
|
23
|
-
} = vrs;
|
|
24
|
-
const {
|
|
25
|
-
r,
|
|
26
|
-
s
|
|
27
|
-
} = vrs;
|
|
28
|
-
|
|
29
|
-
// mpc-core-kit workaround (revert back to 0/1)
|
|
30
|
-
if (v > 1) {
|
|
31
|
-
v = v - 27;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// addSignature will handle the v value
|
|
35
|
-
const tx = ethTx;
|
|
36
|
-
tx.signature = Signature.from({
|
|
37
|
-
v,
|
|
38
|
-
r: `0x${r.toString("hex")}`,
|
|
39
|
-
s: `0x${s.toString("hex")}`
|
|
40
|
-
});
|
|
41
|
-
return tx.serialized;
|
|
42
|
-
}
|
|
43
|
-
async function signMessage(sign, data) {
|
|
44
|
-
const message = stripHexPrefix(data);
|
|
45
|
-
const msgSig = await sign(Buffer.from(message, "hex"));
|
|
46
|
-
let modifiedV = msgSig.v;
|
|
47
|
-
if (modifiedV <= 1) {
|
|
48
|
-
modifiedV = modifiedV + 27;
|
|
49
|
-
}
|
|
50
|
-
const rawMsgSig = concatSig(Buffer.from(intToBytes(modifiedV)), msgSig.r, msgSig.s);
|
|
51
|
-
return rawMsgSig;
|
|
52
|
-
}
|
|
53
|
-
async function personalSign(sign, data) {
|
|
54
|
-
if (data === null || data === undefined) {
|
|
55
|
-
throw new Error("Missing data parameter");
|
|
56
|
-
}
|
|
57
|
-
// we need to check if the data is hex or not
|
|
58
|
-
// For historical reasons, you must submit the message to sign in hex-encoded UTF-8.
|
|
59
|
-
// https://docs.metamask.io/wallet/how-to/sign-data/#use-personal_sign
|
|
60
|
-
const message = isHexString(data) ? Buffer.from(stripHexPrefix(data), "hex") : Buffer.from(data);
|
|
61
|
-
const msgHash = hashMessage(message);
|
|
62
|
-
const prefix = Buffer.from(`\u0019Ethereum Signed Message:\n${message.length}`, "utf-8");
|
|
63
|
-
const sig = await sign(Buffer.from(msgHash.slice(2), "hex"), Buffer.concat([prefix, message]));
|
|
64
|
-
let modifiedV = sig.v;
|
|
65
|
-
if (modifiedV <= 1) {
|
|
66
|
-
modifiedV = modifiedV + 27;
|
|
67
|
-
}
|
|
68
|
-
const serialized = concatSig(Buffer.from(toBytes(modifiedV)), sig.r, sig.s);
|
|
69
|
-
return serialized;
|
|
70
|
-
}
|
|
71
|
-
function validateVersion(version, allowedVersions) {
|
|
72
|
-
if (!Object.keys(SignTypedDataVersion).includes(version)) {
|
|
73
|
-
throw new Error(`Invalid version: '${version}'`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
async function signTypedData(sign, data, version) {
|
|
77
|
-
validateVersion(version); // Note: this is intentional;
|
|
78
|
-
if (data === null || data === undefined) {
|
|
79
|
-
throw new Error("Missing data parameter");
|
|
80
|
-
}
|
|
81
|
-
const message = typeof data === "string" ? JSON.parse(data) : data;
|
|
82
|
-
validateTypedData(message);
|
|
83
|
-
const {
|
|
84
|
-
v,
|
|
85
|
-
r,
|
|
86
|
-
s
|
|
87
|
-
} = await sign(Buffer.from(hexToBytes(hashTypedData(message))));
|
|
88
|
-
let modifiedV = v;
|
|
89
|
-
if (modifiedV <= 1) {
|
|
90
|
-
modifiedV = modifiedV + 27;
|
|
91
|
-
}
|
|
92
|
-
return concatSig(Buffer.from(toBytes(modifiedV)), r, s);
|
|
93
|
-
}
|
|
94
|
-
function getProviderHandlers({
|
|
95
|
-
txFormatter,
|
|
96
|
-
sign,
|
|
97
|
-
getPublic,
|
|
98
|
-
getProviderEngineProxy
|
|
99
|
-
}) {
|
|
100
|
-
return {
|
|
101
|
-
getAccounts: async _ => {
|
|
102
|
-
const pubKey = await getPublic();
|
|
103
|
-
return [`0x${Buffer.from(publicToAddress(pubKey)).toString("hex")}`];
|
|
104
|
-
},
|
|
105
|
-
getPrivateKey: async _ => {
|
|
106
|
-
throw providerErrors.custom({
|
|
107
|
-
message: "MPC Provider cannot return private key",
|
|
108
|
-
code: 4902
|
|
109
|
-
});
|
|
110
|
-
},
|
|
111
|
-
getPublicKey: async _ => {
|
|
112
|
-
const pubKey = await getPublic();
|
|
113
|
-
return `0x${pubKey.toString("hex")}`;
|
|
114
|
-
},
|
|
115
|
-
processTransaction: async (txParams, _) => {
|
|
116
|
-
const providerEngineProxy = getProviderEngineProxy();
|
|
117
|
-
if (!providerEngineProxy) throw providerErrors.custom({
|
|
118
|
-
message: "Provider is not initialized",
|
|
119
|
-
code: 4902
|
|
120
|
-
});
|
|
121
|
-
const serializedTxn = await signTx(txParams, sign, txFormatter);
|
|
122
|
-
const txHash = await providerEngineProxy.request({
|
|
123
|
-
method: "eth_sendRawTransaction",
|
|
124
|
-
params: [serializedTxn]
|
|
125
|
-
});
|
|
126
|
-
return txHash;
|
|
127
|
-
},
|
|
128
|
-
processSignTransaction: async (txParams, _) => {
|
|
129
|
-
const providerEngineProxy = getProviderEngineProxy();
|
|
130
|
-
if (!providerEngineProxy) throw providerErrors.custom({
|
|
131
|
-
message: "Provider is not initialized",
|
|
132
|
-
code: 4902
|
|
133
|
-
});
|
|
134
|
-
const serializedTxn = await signTx(txParams, sign, txFormatter);
|
|
135
|
-
return serializedTxn;
|
|
136
|
-
},
|
|
137
|
-
processEthSignMessage: async (msgParams, _) => {
|
|
138
|
-
const rawMessageSig = signMessage(sign, msgParams.data);
|
|
139
|
-
return rawMessageSig;
|
|
140
|
-
},
|
|
141
|
-
processPersonalMessage: async (msgParams, _) => {
|
|
142
|
-
const sig = personalSign(sign, msgParams.data);
|
|
143
|
-
return sig;
|
|
144
|
-
},
|
|
145
|
-
processTypedMessageV4: async (msgParams, _) => {
|
|
146
|
-
log.debug("processTypedMessageV4", msgParams);
|
|
147
|
-
const providerEngineProxy = getProviderEngineProxy();
|
|
148
|
-
if (!providerEngineProxy) throw providerErrors.custom({
|
|
149
|
-
message: "Provider is not initialized",
|
|
150
|
-
code: 4902
|
|
151
|
-
});
|
|
152
|
-
const chainId = await providerEngineProxy.request({
|
|
153
|
-
method: "eth_chainId"
|
|
154
|
-
});
|
|
155
|
-
await validateTypedSignMessageDataV4(msgParams, chainId);
|
|
156
|
-
const data = typeof msgParams.data === "string" ? JSON.parse(msgParams.data) : msgParams.data;
|
|
157
|
-
const sig = signTypedData(sign, data, SignTypedDataVersion.V4);
|
|
158
|
-
return sig;
|
|
159
|
-
}
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
export { getProviderHandlers };
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { createScaffoldMiddleware, createAsyncMiddleware, rpcErrors } from '@web3auth/auth';
|
|
2
|
-
|
|
3
|
-
// #region account middlewares
|
|
4
|
-
function createEthAccountMiddleware({
|
|
5
|
-
updatePrivatekey
|
|
6
|
-
}) {
|
|
7
|
-
async function updateAccount(req, res) {
|
|
8
|
-
var _req$params;
|
|
9
|
-
const accountParams = (_req$params = req.params) !== null && _req$params !== void 0 && _req$params.length ? req.params[0] : undefined;
|
|
10
|
-
if (!(accountParams !== null && accountParams !== void 0 && accountParams.privateKey)) throw rpcErrors.invalidParams("Missing privateKey");
|
|
11
|
-
res.result = await updatePrivatekey(accountParams);
|
|
12
|
-
}
|
|
13
|
-
return createScaffoldMiddleware({
|
|
14
|
-
wallet_updateAccount: createAsyncMiddleware(updateAccount)
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
// #endregion account middlewares
|
|
19
|
-
|
|
20
|
-
export { createEthAccountMiddleware };
|