@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,177 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import { createScaffoldMiddleware, createAsyncMiddleware, rpcErrors } from '@web3auth/auth';
|
|
3
|
-
|
|
4
|
-
function createWalletMiddleware({
|
|
5
|
-
getAccounts,
|
|
6
|
-
getPrivateKey,
|
|
7
|
-
getPublicKey,
|
|
8
|
-
processEthSignMessage,
|
|
9
|
-
processPersonalMessage,
|
|
10
|
-
processTransaction,
|
|
11
|
-
processSignTransaction,
|
|
12
|
-
processTypedMessageV4
|
|
13
|
-
}) {
|
|
14
|
-
if (!getAccounts) {
|
|
15
|
-
throw new Error("opts.getAccounts is required");
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
//
|
|
19
|
-
// utility
|
|
20
|
-
//
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Validates the keyholder address, and returns a normalized (i.e. lowercase)
|
|
24
|
-
* copy of it.
|
|
25
|
-
*
|
|
26
|
-
* an error
|
|
27
|
-
*/
|
|
28
|
-
async function validateAndNormalizeKeyholder(address, req) {
|
|
29
|
-
if (typeof address === "string" && address.length > 0) {
|
|
30
|
-
// ensure address is included in provided accounts
|
|
31
|
-
const accounts = await getAccounts(req);
|
|
32
|
-
const normalizedAccounts = accounts.map(_address => _address.toLowerCase());
|
|
33
|
-
const normalizedAddress = address.toLowerCase();
|
|
34
|
-
if (normalizedAccounts.includes(normalizedAddress)) {
|
|
35
|
-
return normalizedAddress;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
throw rpcErrors.invalidParams({
|
|
39
|
-
message: `Invalid parameters: must provide an Ethereum address.`
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
//
|
|
44
|
-
// account lookups
|
|
45
|
-
//
|
|
46
|
-
|
|
47
|
-
async function lookupAccounts(req, res) {
|
|
48
|
-
res.result = await getAccounts(req);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
//
|
|
52
|
-
// transaction signatures
|
|
53
|
-
//
|
|
54
|
-
|
|
55
|
-
async function sendTransaction(req, res) {
|
|
56
|
-
if (!processTransaction) {
|
|
57
|
-
throw rpcErrors.methodNotSupported();
|
|
58
|
-
}
|
|
59
|
-
const txParams = req.params[0] || {
|
|
60
|
-
from: ""
|
|
61
|
-
};
|
|
62
|
-
txParams.from = await validateAndNormalizeKeyholder(txParams.from, req);
|
|
63
|
-
res.result = await processTransaction(txParams, req);
|
|
64
|
-
}
|
|
65
|
-
async function signTransaction(req, res) {
|
|
66
|
-
if (!processSignTransaction) {
|
|
67
|
-
throw rpcErrors.methodNotSupported();
|
|
68
|
-
}
|
|
69
|
-
const txParams = req.params[0] || {
|
|
70
|
-
from: ""
|
|
71
|
-
};
|
|
72
|
-
txParams.from = await validateAndNormalizeKeyholder(txParams.from, req);
|
|
73
|
-
res.result = await processSignTransaction(txParams, req);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
//
|
|
77
|
-
// message signatures
|
|
78
|
-
//
|
|
79
|
-
|
|
80
|
-
async function ethSign(req, res) {
|
|
81
|
-
if (!processEthSignMessage) {
|
|
82
|
-
throw rpcErrors.methodNotSupported();
|
|
83
|
-
}
|
|
84
|
-
let msgParams = req.params;
|
|
85
|
-
const extraParams = req.params[2] || {};
|
|
86
|
-
if (Array.isArray(req.params)) {
|
|
87
|
-
if (!(req.params.length === 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [address, message]`);
|
|
88
|
-
const params = req.params;
|
|
89
|
-
const address = params[0];
|
|
90
|
-
const message = params[1];
|
|
91
|
-
msgParams = {
|
|
92
|
-
from: address,
|
|
93
|
-
data: message
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
msgParams = _objectSpread(_objectSpread({}, extraParams), msgParams);
|
|
97
|
-
res.result = await processEthSignMessage(msgParams, req);
|
|
98
|
-
}
|
|
99
|
-
async function signTypedDataV4(req, res) {
|
|
100
|
-
if (!processTypedMessageV4) {
|
|
101
|
-
throw rpcErrors.methodNotSupported();
|
|
102
|
-
}
|
|
103
|
-
if (!(req !== null && req !== void 0 && req.params)) throw new Error("WalletMiddleware - missing params");
|
|
104
|
-
let msgParams = req.params;
|
|
105
|
-
if (Array.isArray(req.params)) {
|
|
106
|
-
if (!(req.params.length === 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [address, typedData]`);
|
|
107
|
-
const params = req.params;
|
|
108
|
-
const address = params[0];
|
|
109
|
-
const message = params[1];
|
|
110
|
-
msgParams = {
|
|
111
|
-
from: address,
|
|
112
|
-
data: message
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
res.result = await processTypedMessageV4(msgParams, req);
|
|
116
|
-
}
|
|
117
|
-
async function personalSign(req, res) {
|
|
118
|
-
if (!processPersonalMessage) {
|
|
119
|
-
throw rpcErrors.methodNotSupported();
|
|
120
|
-
}
|
|
121
|
-
let msgParams = req.params;
|
|
122
|
-
const extraParams = req.params[2] || {};
|
|
123
|
-
if (Array.isArray(req.params)) {
|
|
124
|
-
if (!(req.params.length >= 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [message, address]`);
|
|
125
|
-
const params = req.params;
|
|
126
|
-
if (typeof params[0] === "object") {
|
|
127
|
-
const {
|
|
128
|
-
challenge,
|
|
129
|
-
address
|
|
130
|
-
} = params[0];
|
|
131
|
-
msgParams = {
|
|
132
|
-
from: address,
|
|
133
|
-
data: challenge
|
|
134
|
-
};
|
|
135
|
-
} else {
|
|
136
|
-
const message = params[0];
|
|
137
|
-
const address = params[1];
|
|
138
|
-
msgParams = {
|
|
139
|
-
from: address,
|
|
140
|
-
data: message
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
msgParams = _objectSpread(_objectSpread({}, extraParams), msgParams);
|
|
145
|
-
res.result = await processPersonalMessage(msgParams, req);
|
|
146
|
-
}
|
|
147
|
-
async function fetchPrivateKey(req, res) {
|
|
148
|
-
if (!getPrivateKey) {
|
|
149
|
-
throw rpcErrors.methodNotSupported();
|
|
150
|
-
}
|
|
151
|
-
res.result = await getPrivateKey(req);
|
|
152
|
-
}
|
|
153
|
-
async function fetchPublicKey(req, res) {
|
|
154
|
-
if (!getPublicKey) {
|
|
155
|
-
throw rpcErrors.methodNotSupported();
|
|
156
|
-
}
|
|
157
|
-
res.result = await getPublicKey(req);
|
|
158
|
-
}
|
|
159
|
-
return createScaffoldMiddleware({
|
|
160
|
-
// account lookups
|
|
161
|
-
eth_accounts: createAsyncMiddleware(lookupAccounts),
|
|
162
|
-
eth_requestAccounts: createAsyncMiddleware(lookupAccounts),
|
|
163
|
-
eth_private_key: createAsyncMiddleware(fetchPrivateKey),
|
|
164
|
-
eth_public_key: createAsyncMiddleware(fetchPublicKey),
|
|
165
|
-
public_key: createAsyncMiddleware(fetchPublicKey),
|
|
166
|
-
private_key: createAsyncMiddleware(fetchPrivateKey),
|
|
167
|
-
// tx signatures
|
|
168
|
-
eth_sendTransaction: createAsyncMiddleware(sendTransaction),
|
|
169
|
-
eth_signTransaction: createAsyncMiddleware(signTransaction),
|
|
170
|
-
// message signatures
|
|
171
|
-
eth_sign: createAsyncMiddleware(ethSign),
|
|
172
|
-
eth_signTypedData_v4: createAsyncMiddleware(signTypedDataV4),
|
|
173
|
-
personal_sign: createAsyncMiddleware(personalSign)
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
export { createWalletMiddleware };
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { JRPCEngine, providerFromEngine } from '@web3auth/auth';
|
|
2
|
-
import { createConfigMiddleware } from '../../../rpc/JrpcClient.js';
|
|
3
|
-
import { createSolanaMiddleware } from '../../../rpc/solanaRpcMiddlewares.js';
|
|
4
|
-
import { BaseProvider } from '../../../../base-provider/baseProvider.js';
|
|
5
|
-
import { WalletLoginError } from '../../../../../base/errors/index.js';
|
|
6
|
-
|
|
7
|
-
class BaseInjectedProvider extends BaseProvider {
|
|
8
|
-
constructor({
|
|
9
|
-
config,
|
|
10
|
-
state
|
|
11
|
-
}) {
|
|
12
|
-
super({
|
|
13
|
-
config,
|
|
14
|
-
state
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
async switchChain(_) {
|
|
18
|
-
throw WalletLoginError.unsupportedOperation("Chain switching is not supported by this connector");
|
|
19
|
-
}
|
|
20
|
-
async setupProvider(injectedProvider, chainId) {
|
|
21
|
-
const engine = new JRPCEngine();
|
|
22
|
-
const chain = this.getChain(chainId);
|
|
23
|
-
const providerHandlers = this.getProviderHandlers(injectedProvider);
|
|
24
|
-
const solanaMiddleware = createSolanaMiddleware(providerHandlers);
|
|
25
|
-
engine.push(solanaMiddleware);
|
|
26
|
-
const configMiddleware = createConfigMiddleware(chain);
|
|
27
|
-
engine.push(configMiddleware);
|
|
28
|
-
const injectedProviderProxy = this.getInjectedProviderProxy(injectedProvider);
|
|
29
|
-
if (injectedProviderProxy) {
|
|
30
|
-
engine.push(injectedProviderProxy);
|
|
31
|
-
}
|
|
32
|
-
const provider = providerFromEngine(engine);
|
|
33
|
-
this.updateProviderEngineProxy(provider);
|
|
34
|
-
await this.lookupNetwork(injectedProvider, chainId);
|
|
35
|
-
}
|
|
36
|
-
async lookupNetwork(_injectedProvider, chainId) {
|
|
37
|
-
this.update({
|
|
38
|
-
chainId
|
|
39
|
-
});
|
|
40
|
-
return chainId || "";
|
|
41
|
-
}
|
|
42
|
-
getInjectedProviderProxy(_) {
|
|
43
|
-
return undefined;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export { BaseInjectedProvider };
|
package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { bs58 } from '@toruslabs/bs58';
|
|
2
|
-
import { rpcErrors } from '@web3auth/auth';
|
|
3
|
-
|
|
4
|
-
const getBaseProviderHandlers = injectedProvider => {
|
|
5
|
-
const providerHandlers = {
|
|
6
|
-
requestAccounts: async () => {
|
|
7
|
-
return injectedProvider.publicKey ? [bs58.encode(injectedProvider.publicKey.toBytes())] : [];
|
|
8
|
-
},
|
|
9
|
-
getPublicKey: async () => {
|
|
10
|
-
return injectedProvider.publicKey ? bs58.encode(injectedProvider.publicKey.toBytes()) : "";
|
|
11
|
-
},
|
|
12
|
-
getAccounts: async () => injectedProvider.publicKey ? [bs58.encode(injectedProvider.publicKey.toBytes())] : [],
|
|
13
|
-
getPrivateKey: async () => {
|
|
14
|
-
throw rpcErrors.methodNotSupported();
|
|
15
|
-
},
|
|
16
|
-
getSecretKey: async () => {
|
|
17
|
-
throw rpcErrors.methodNotSupported();
|
|
18
|
-
},
|
|
19
|
-
signTransaction: async req => {
|
|
20
|
-
const transaction = await injectedProvider.signTransaction(req.params.message);
|
|
21
|
-
return transaction;
|
|
22
|
-
},
|
|
23
|
-
signMessage: async req => {
|
|
24
|
-
const sigData = await injectedProvider.signMessage(req.params.data, req.params.from, req.params.display);
|
|
25
|
-
return sigData;
|
|
26
|
-
},
|
|
27
|
-
signAllTransactions: async req => {
|
|
28
|
-
var _req$params, _req$params2;
|
|
29
|
-
if (!((_req$params = req.params) !== null && _req$params !== void 0 && _req$params.message) || !((_req$params2 = req.params) !== null && _req$params2 !== void 0 && _req$params2.message.length)) {
|
|
30
|
-
throw rpcErrors.invalidParams("message");
|
|
31
|
-
}
|
|
32
|
-
const transaction = await injectedProvider.signAllTransactions(req.params.message);
|
|
33
|
-
return transaction;
|
|
34
|
-
},
|
|
35
|
-
signAndSendTransaction: async req => {
|
|
36
|
-
const txRes = await injectedProvider.signAndSendTransaction(req.params.message);
|
|
37
|
-
return txRes;
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
return providerHandlers;
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export { getBaseProviderHandlers };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
const getSolanaChainByChainConfig = chainConfig => {
|
|
2
|
-
switch (chainConfig.chainId) {
|
|
3
|
-
case "0x65":
|
|
4
|
-
return "solana:mainnet";
|
|
5
|
-
case "0x66":
|
|
6
|
-
return "solana:testnet";
|
|
7
|
-
case "0x67":
|
|
8
|
-
return "solana:devnet";
|
|
9
|
-
default:
|
|
10
|
-
return null;
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export { getSolanaChainByChainConfig };
|
package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { SolanaSignAndSendTransaction, SolanaSignTransaction, SolanaSignMessage } from '@solana/wallet-standard-features';
|
|
2
|
-
import { PublicKey, VersionedTransaction } from '@solana/web3.js';
|
|
3
|
-
import { bs58 } from '@toruslabs/bs58';
|
|
4
|
-
import { BaseInjectedProvider } from './base/baseInjectedProvider.js';
|
|
5
|
-
import { getBaseProviderHandlers } from './base/providerHandlers.js';
|
|
6
|
-
import { getSolanaChainByChainConfig } from './utils.js';
|
|
7
|
-
import { WalletLoginError } from '../../../../base/errors/index.js';
|
|
8
|
-
|
|
9
|
-
class WalletStandardProvider extends BaseInjectedProvider {
|
|
10
|
-
getProviderHandlers(wallet) {
|
|
11
|
-
const chainIdentifier = getSolanaChainByChainConfig(this.config.chain);
|
|
12
|
-
const currentAccount = () => {
|
|
13
|
-
const account = wallet === null || wallet === void 0 ? void 0 : wallet.accounts[0];
|
|
14
|
-
if (!account) throw WalletLoginError.notConnectedError();
|
|
15
|
-
return account;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Signs a message and returns the signature
|
|
20
|
-
* @param message - The message to sign
|
|
21
|
-
* @returns The signature of the message encoded in base58
|
|
22
|
-
*/
|
|
23
|
-
const signMessage = async message => {
|
|
24
|
-
const account = currentAccount();
|
|
25
|
-
const uint8ArrayMessage = new Uint8Array(Buffer.from(message, "utf-8"));
|
|
26
|
-
const signature = await wallet.features[SolanaSignMessage].signMessage({
|
|
27
|
-
account,
|
|
28
|
-
message: uint8ArrayMessage
|
|
29
|
-
});
|
|
30
|
-
return bs58.encode(signature[0].signature);
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Signs a transaction and returns the signature
|
|
35
|
-
* @param transaction - The transaction to sign
|
|
36
|
-
* @returns The signature of the transaction encoded in base58
|
|
37
|
-
*/
|
|
38
|
-
const signTransaction = async transaction => {
|
|
39
|
-
const account = currentAccount();
|
|
40
|
-
const output = await wallet.features[SolanaSignTransaction].signTransaction({
|
|
41
|
-
account,
|
|
42
|
-
transaction: new Uint8Array(Buffer.from(transaction, "base64")),
|
|
43
|
-
chain: chainIdentifier
|
|
44
|
-
});
|
|
45
|
-
return bs58.encode(VersionedTransaction.deserialize(output[0].signedTransaction).signatures[0]);
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Signs multiple transactions and returns the serialized transactions
|
|
50
|
-
* @param transactions - The transactions to sign
|
|
51
|
-
* @returns The serialized transactions encoded in base64
|
|
52
|
-
*/
|
|
53
|
-
const signAllTransactions = async transactions => {
|
|
54
|
-
const account = currentAccount();
|
|
55
|
-
return Promise.all(transactions.map(async transaction => {
|
|
56
|
-
const output = await wallet.features[SolanaSignTransaction].signTransaction({
|
|
57
|
-
account,
|
|
58
|
-
transaction: new Uint8Array(Buffer.from(transaction, "base64")),
|
|
59
|
-
chain: chainIdentifier
|
|
60
|
-
});
|
|
61
|
-
return Buffer.from(output[0].signedTransaction).toString("base64");
|
|
62
|
-
}));
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Signs a transaction and sends it to the network
|
|
67
|
-
* @param transaction - The transaction to sign and send
|
|
68
|
-
* @returns The signature of the transaction encoded in base58
|
|
69
|
-
*/
|
|
70
|
-
const signAndSendTransaction = async transaction => {
|
|
71
|
-
const account = currentAccount();
|
|
72
|
-
const output = await wallet.features[SolanaSignAndSendTransaction].signAndSendTransaction({
|
|
73
|
-
account,
|
|
74
|
-
transaction: new Uint8Array(Buffer.from(transaction, "base64")),
|
|
75
|
-
chain: chainIdentifier
|
|
76
|
-
});
|
|
77
|
-
return bs58.encode(output[0].signature);
|
|
78
|
-
};
|
|
79
|
-
return getBaseProviderHandlers({
|
|
80
|
-
get publicKey() {
|
|
81
|
-
return new PublicKey(currentAccount().publicKey);
|
|
82
|
-
},
|
|
83
|
-
signMessage,
|
|
84
|
-
signTransaction,
|
|
85
|
-
signAllTransactions,
|
|
86
|
-
signAndSendTransaction
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
export { WalletStandardProvider };
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { createFetchMiddleware } from '@toruslabs/base-controllers';
|
|
2
|
-
import { mergeMiddleware } from '@web3auth/auth';
|
|
3
|
-
|
|
4
|
-
function createSolanaChainIdMiddleware(chainId) {
|
|
5
|
-
return (req, res, next, end) => {
|
|
6
|
-
if (req.method === "solana_chainId") {
|
|
7
|
-
res.result = chainId;
|
|
8
|
-
return end();
|
|
9
|
-
}
|
|
10
|
-
return next();
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
function createSolanaProviderConfigMiddleware(providerConfig) {
|
|
14
|
-
return (req, res, next, end) => {
|
|
15
|
-
if (req.method === "solana_provider_config") {
|
|
16
|
-
res.result = providerConfig;
|
|
17
|
-
return end();
|
|
18
|
-
}
|
|
19
|
-
return next();
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
function createConfigMiddleware(providerConfig) {
|
|
23
|
-
const {
|
|
24
|
-
chainId
|
|
25
|
-
} = providerConfig;
|
|
26
|
-
return mergeMiddleware([createSolanaChainIdMiddleware(chainId), createSolanaProviderConfigMiddleware(providerConfig)]);
|
|
27
|
-
}
|
|
28
|
-
function createSolanaJsonRpcClient(providerConfig) {
|
|
29
|
-
const {
|
|
30
|
-
rpcTarget
|
|
31
|
-
} = providerConfig;
|
|
32
|
-
const fetchMiddleware = createFetchMiddleware({
|
|
33
|
-
rpcTarget
|
|
34
|
-
});
|
|
35
|
-
const networkMiddleware = mergeMiddleware([createConfigMiddleware(providerConfig), fetchMiddleware]);
|
|
36
|
-
return {
|
|
37
|
-
networkMiddleware,
|
|
38
|
-
fetchMiddleware
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export { createConfigMiddleware, createSolanaChainIdMiddleware, createSolanaJsonRpcClient, createSolanaProviderConfigMiddleware };
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { createAsyncMiddleware, mergeMiddleware } from '@web3auth/auth';
|
|
2
|
-
import { SOLANA_METHOD_TYPES } from '@web3auth/ws-embed';
|
|
3
|
-
|
|
4
|
-
function createGetAccountsMiddleware({
|
|
5
|
-
getAccounts
|
|
6
|
-
}) {
|
|
7
|
-
return createAsyncMiddleware(async (request, response, next) => {
|
|
8
|
-
const {
|
|
9
|
-
method
|
|
10
|
-
} = request;
|
|
11
|
-
if (method !== SOLANA_METHOD_TYPES.GET_ACCOUNTS) return next();
|
|
12
|
-
if (!getAccounts) throw new Error("WalletMiddleware - opts.getAccounts not provided");
|
|
13
|
-
// This calls from the prefs controller
|
|
14
|
-
const accounts = await getAccounts(request);
|
|
15
|
-
response.result = accounts;
|
|
16
|
-
return undefined;
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
function createGetPublicKeyMiddleware({
|
|
20
|
-
getPublicKey
|
|
21
|
-
}) {
|
|
22
|
-
return createAsyncMiddleware(async (request, response, next) => {
|
|
23
|
-
const {
|
|
24
|
-
method
|
|
25
|
-
} = request;
|
|
26
|
-
if (method !== "getPublicKey") return next();
|
|
27
|
-
if (!getPublicKey) throw new Error("WalletMiddleware - opts.getPublicKey not provided");
|
|
28
|
-
const publicKey = await getPublicKey(request);
|
|
29
|
-
response.result = publicKey;
|
|
30
|
-
return undefined;
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
function createRequestAccountsMiddleware({
|
|
34
|
-
requestAccounts
|
|
35
|
-
}) {
|
|
36
|
-
return createAsyncMiddleware(async (request, response, next) => {
|
|
37
|
-
const {
|
|
38
|
-
method
|
|
39
|
-
} = request;
|
|
40
|
-
if (method !== SOLANA_METHOD_TYPES.SOLANA_REQUEST_ACCOUNTS) return next();
|
|
41
|
-
if (!requestAccounts) throw new Error("WalletMiddleware - opts.requestAccounts not provided");
|
|
42
|
-
// This calls the UI login function
|
|
43
|
-
const accounts = await requestAccounts(request);
|
|
44
|
-
response.result = accounts;
|
|
45
|
-
return undefined;
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
function createGenericJRPCMiddleware(targetMethod, handler) {
|
|
49
|
-
return createAsyncMiddleware(async (request, response, next) => {
|
|
50
|
-
const {
|
|
51
|
-
method
|
|
52
|
-
} = request;
|
|
53
|
-
if (method !== targetMethod) return next();
|
|
54
|
-
if (!handler) throw new Error(`WalletMiddleware - ${targetMethod} not provided`);
|
|
55
|
-
const result = await handler(request);
|
|
56
|
-
response.result = result;
|
|
57
|
-
return undefined;
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
function createSolanaMiddleware(providerHandlers) {
|
|
61
|
-
const {
|
|
62
|
-
getAccounts,
|
|
63
|
-
requestAccounts,
|
|
64
|
-
signTransaction,
|
|
65
|
-
signAndSendTransaction,
|
|
66
|
-
signAllTransactions,
|
|
67
|
-
signMessage,
|
|
68
|
-
getPrivateKey,
|
|
69
|
-
getSecretKey,
|
|
70
|
-
getPublicKey
|
|
71
|
-
} = providerHandlers;
|
|
72
|
-
return mergeMiddleware([createRequestAccountsMiddleware({
|
|
73
|
-
requestAccounts
|
|
74
|
-
}), createGetAccountsMiddleware({
|
|
75
|
-
getAccounts
|
|
76
|
-
}), createGenericJRPCMiddleware(SOLANA_METHOD_TYPES.SIGN_TRANSACTION, signTransaction), createGenericJRPCMiddleware(SOLANA_METHOD_TYPES.SEND_TRANSACTION, signAndSendTransaction), createGenericJRPCMiddleware(SOLANA_METHOD_TYPES.SIGN_ALL_TRANSACTIONS, signAllTransactions), createGenericJRPCMiddleware(SOLANA_METHOD_TYPES.SIGN_MESSAGE, signMessage), createGenericJRPCMiddleware(SOLANA_METHOD_TYPES.SOLANA_PRIVATE_KEY, getPrivateKey), createGenericJRPCMiddleware(SOLANA_METHOD_TYPES.PRIVATE_KEY, getPrivateKey), createGenericJRPCMiddleware("public_key", getPublicKey), createGenericJRPCMiddleware("solanaPublicKey", getPublicKey), createGenericJRPCMiddleware("solanaSecretKey", getSecretKey)]);
|
|
77
|
-
}
|
|
78
|
-
function createSolanaChainSwitchMiddleware({
|
|
79
|
-
switchSolanaChain
|
|
80
|
-
}) {
|
|
81
|
-
return mergeMiddleware([createGenericJRPCMiddleware("switchSolanaChain", switchSolanaChain)]);
|
|
82
|
-
}
|
|
83
|
-
function createSolanaAccountMiddleware({
|
|
84
|
-
updatePrivatekey
|
|
85
|
-
}) {
|
|
86
|
-
return mergeMiddleware([createGenericJRPCMiddleware("updateAccount", updatePrivatekey)]);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export { createGenericJRPCMiddleware, createGetAccountsMiddleware, createGetPublicKeyMiddleware, createRequestAccountsMiddleware, createSolanaAccountMiddleware, createSolanaChainSwitchMiddleware, createSolanaMiddleware };
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import { VersionedTransaction } from '@solana/web3.js';
|
|
3
|
-
import { SOLANA_METHOD_TYPES } from '@web3auth/ws-embed';
|
|
4
|
-
|
|
5
|
-
class SolanaWallet {
|
|
6
|
-
constructor(provider) {
|
|
7
|
-
_defineProperty(this, "provider", void 0);
|
|
8
|
-
this.provider = provider;
|
|
9
|
-
}
|
|
10
|
-
async requestAccounts() {
|
|
11
|
-
const accounts = await this.provider.request({
|
|
12
|
-
method: SOLANA_METHOD_TYPES.SOLANA_REQUEST_ACCOUNTS
|
|
13
|
-
});
|
|
14
|
-
return accounts;
|
|
15
|
-
}
|
|
16
|
-
async getAccounts() {
|
|
17
|
-
const accounts = await this.provider.request({
|
|
18
|
-
method: SOLANA_METHOD_TYPES.GET_ACCOUNTS
|
|
19
|
-
});
|
|
20
|
-
return accounts;
|
|
21
|
-
}
|
|
22
|
-
async signAndSendTransaction(transaction) {
|
|
23
|
-
const signature = await this.provider.request({
|
|
24
|
-
method: SOLANA_METHOD_TYPES.SEND_TRANSACTION,
|
|
25
|
-
params: {
|
|
26
|
-
message: this.serializeTransaction(transaction)
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
return signature;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Signs a transaction and returns the signature
|
|
34
|
-
* @param transaction - The transaction to sign
|
|
35
|
-
* @returns The signature of the transaction encoded in base58
|
|
36
|
-
*/
|
|
37
|
-
async signTransaction(transaction) {
|
|
38
|
-
const signature = await this.provider.request({
|
|
39
|
-
method: SOLANA_METHOD_TYPES.SIGN_TRANSACTION,
|
|
40
|
-
params: {
|
|
41
|
-
message: this.serializeTransaction(transaction)
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
return signature;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Signs multiple transactions and returns the serialized transactions
|
|
49
|
-
* @param transactions - The transactions to sign
|
|
50
|
-
* @returns The serialized transactions encoded in base64
|
|
51
|
-
*/
|
|
52
|
-
async signAllTransactions(transactions) {
|
|
53
|
-
const serializedTransactions = transactions.map(tx => this.serializeTransaction(tx));
|
|
54
|
-
const signedTransactions = await this.provider.request({
|
|
55
|
-
method: SOLANA_METHOD_TYPES.SIGN_ALL_TRANSACTIONS,
|
|
56
|
-
params: {
|
|
57
|
-
message: serializedTransactions
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
return signedTransactions;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Signs a message and returns the signature
|
|
65
|
-
* @param message - The message to sign
|
|
66
|
-
* @returns The signature of the message encoded in base58
|
|
67
|
-
*/
|
|
68
|
-
async signMessage(message, pubKey) {
|
|
69
|
-
const response = await this.provider.request({
|
|
70
|
-
method: SOLANA_METHOD_TYPES.SIGN_MESSAGE,
|
|
71
|
-
params: {
|
|
72
|
-
data: message,
|
|
73
|
-
from: pubKey
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
return response;
|
|
77
|
-
}
|
|
78
|
-
async request(args) {
|
|
79
|
-
const result = await this.provider.request(args);
|
|
80
|
-
return result;
|
|
81
|
-
}
|
|
82
|
-
serializeTransaction(transaction) {
|
|
83
|
-
if (transaction instanceof VersionedTransaction) {
|
|
84
|
-
return Buffer.from(transaction.serialize()).toString("base64");
|
|
85
|
-
}
|
|
86
|
-
return Buffer.from(transaction.serialize({
|
|
87
|
-
requireAllSignatures: false
|
|
88
|
-
})).toString("base64");
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
export { SolanaWallet };
|