@web3auth/no-modal 9.6.0 → 10.0.0-alpha.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/757.noModal.cjs.js +226 -0
- package/dist/lib.cjs/adapters/auth-adapter/authAdapter.js +262 -0
- package/dist/lib.cjs/adapters/auth-adapter/config.js +17 -0
- package/dist/lib.cjs/adapters/base-evm-adapter/baseEvmAdapter.js +72 -0
- package/dist/lib.cjs/adapters/base-solana-adapter/baseSolanaAdapter.js +76 -0
- package/dist/lib.cjs/adapters/coinbase-adapter/coinbaseAdapter.js +156 -0
- package/dist/lib.cjs/adapters/default-evm-adapter/index.js +40 -0
- package/dist/lib.cjs/adapters/default-evm-adapter/injectedAdapters.js +42 -0
- package/dist/lib.cjs/adapters/default-evm-adapter/injectedEvmAdapter.js +160 -0
- package/dist/lib.cjs/adapters/default-solana-adapter/index.js +40 -0
- package/dist/lib.cjs/adapters/default-solana-adapter/injectedAdapters.js +53 -0
- package/dist/lib.cjs/adapters/default-solana-adapter/utils.js +16 -0
- package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardAdapter.js +138 -0
- package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardHandler.js +77 -0
- package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.js +278 -0
- package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/config.js +183 -0
- package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.js +165 -0
- package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +376 -0
- package/dist/lib.cjs/base/adapter/baseAdapter.js +117 -0
- package/dist/lib.cjs/base/adapter/constants.js +24 -0
- package/dist/lib.cjs/base/adapter/utils.js +66 -0
- package/dist/lib.cjs/base/chain/IChainInterface.js +22 -0
- package/dist/lib.cjs/base/chain/config.js +281 -0
- package/dist/lib.cjs/base/composables/index.js +5 -0
- package/dist/lib.cjs/base/errors/index.js +244 -0
- package/dist/lib.cjs/base/loglevel.js +7 -0
- package/dist/lib.cjs/base/plugin/IPlugin.js +31 -0
- package/dist/lib.cjs/base/plugin/errors.js +107 -0
- package/dist/lib.cjs/base/provider/IProvider.js +8 -0
- package/dist/lib.cjs/base/utils.js +56 -0
- package/dist/lib.cjs/base/wallet/index.js +31 -0
- package/dist/lib.cjs/index.js +200 -0
- package/dist/lib.cjs/noModal.js +98 -90
- package/dist/lib.cjs/plugins/nft-checkout-plugin/embed.js +134 -0
- package/dist/lib.cjs/plugins/nft-checkout-plugin/enums.js +24 -0
- package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +71 -0
- package/dist/lib.cjs/plugins/nft-checkout-plugin/utils.js +18 -0
- package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +285 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +164 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +29 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +22 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +30 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +30 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +29 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/constants.js +11 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +134 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +174 -0
- package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +79 -0
- package/dist/lib.cjs/providers/base-provider/baseProvider.js +127 -0
- package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +89 -0
- package/dist/lib.cjs/providers/base-provider/jrpcClient.js +41 -0
- package/dist/lib.cjs/providers/base-provider/utils.js +12 -0
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +199 -0
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +165 -0
- package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +22 -0
- package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +89 -0
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +185 -0
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +27 -0
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +380 -0
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +10 -0
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +94 -0
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +106 -0
- package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +29 -0
- package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +75 -0
- package/dist/lib.cjs/providers/ethereum-provider/rpc/jrpcClient.js +41 -0
- package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +179 -0
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +51 -0
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +47 -0
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +12 -0
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +75 -0
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +109 -0
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +12 -0
- package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +180 -0
- package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +103 -0
- package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +47 -0
- package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +97 -0
- package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +62 -0
- package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +158 -0
- package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +89 -0
- package/dist/lib.cjs/providers/xrpl-provider/rpc/JrpcClient.js +48 -0
- package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +73 -0
- package/dist/lib.cjs/react/index.js +16 -0
- package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +216 -0
- package/dist/lib.cjs/react/no-modal/Web3AuthProvider.js +15 -0
- package/dist/lib.cjs/react/no-modal/hooks/useWeb3Auth.js +15 -0
- package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +86 -0
- package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesProvider.js +16 -0
- package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +15 -0
- package/dist/lib.cjs/vue/index.js +15 -0
- package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +222 -0
- package/dist/lib.cjs/vue/no-modal/composables/useWeb3Auth.js +13 -0
- package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +86 -0
- package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +13 -0
- package/dist/lib.cjs/vue/wallet-services-plugin/context.js +5 -0
- package/dist/lib.esm/adapters/auth-adapter/authAdapter.js +260 -0
- package/dist/lib.esm/adapters/auth-adapter/config.js +15 -0
- package/dist/lib.esm/adapters/base-evm-adapter/baseEvmAdapter.js +70 -0
- package/dist/lib.esm/adapters/base-solana-adapter/baseSolanaAdapter.js +74 -0
- package/dist/lib.esm/adapters/coinbase-adapter/coinbaseAdapter.js +154 -0
- package/dist/lib.esm/adapters/default-evm-adapter/index.js +37 -0
- package/dist/lib.esm/adapters/default-evm-adapter/injectedAdapters.js +40 -0
- package/dist/lib.esm/adapters/default-evm-adapter/injectedEvmAdapter.js +158 -0
- package/dist/lib.esm/adapters/default-solana-adapter/index.js +37 -0
- package/dist/lib.esm/adapters/default-solana-adapter/injectedAdapters.js +51 -0
- package/dist/lib.esm/adapters/default-solana-adapter/utils.js +14 -0
- package/dist/lib.esm/adapters/default-solana-adapter/walletStandardAdapter.js +136 -0
- package/dist/lib.esm/adapters/default-solana-adapter/walletStandardHandler.js +75 -0
- package/dist/lib.esm/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.js +276 -0
- package/dist/lib.esm/adapters/wallet-connect-v2-adapter/config.js +172 -0
- package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.js +158 -0
- package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +374 -0
- package/dist/lib.esm/base/adapter/baseAdapter.js +115 -0
- package/dist/lib.esm/base/adapter/constants.js +20 -0
- package/dist/lib.esm/base/adapter/utils.js +60 -0
- package/dist/lib.esm/base/chain/IChainInterface.js +19 -0
- package/dist/lib.esm/base/chain/config.js +276 -0
- package/dist/lib.esm/base/composables/index.js +3 -0
- package/dist/lib.esm/base/errors/index.js +237 -0
- package/dist/lib.esm/base/loglevel.js +5 -0
- package/dist/lib.esm/base/plugin/IPlugin.js +24 -0
- package/dist/lib.esm/base/plugin/errors.js +104 -0
- package/dist/lib.esm/base/provider/IProvider.js +6 -0
- package/dist/lib.esm/base/utils.js +46 -0
- package/dist/lib.esm/base/wallet/index.js +25 -0
- package/dist/lib.esm/index.js +58 -0
- package/dist/lib.esm/noModal.js +12 -4
- package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +132 -0
- package/dist/lib.esm/plugins/nft-checkout-plugin/enums.js +20 -0
- package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +69 -0
- package/dist/lib.esm/plugins/nft-checkout-plugin/utils.js +15 -0
- package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +276 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +162 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +27 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +20 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +28 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +28 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +27 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/constants.js +9 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +132 -0
- package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +171 -0
- package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +77 -0
- package/dist/lib.esm/providers/base-provider/baseProvider.js +125 -0
- package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +87 -0
- package/dist/lib.esm/providers/base-provider/jrpcClient.js +37 -0
- package/dist/lib.esm/providers/base-provider/utils.js +6 -0
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +197 -0
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +163 -0
- package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +20 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +85 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +183 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +21 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +378 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +8 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +88 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +104 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +24 -0
- package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +71 -0
- package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +37 -0
- package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +177 -0
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +49 -0
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +45 -0
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +10 -0
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +73 -0
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +107 -0
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +10 -0
- package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +178 -0
- package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +101 -0
- package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +42 -0
- package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +89 -0
- package/dist/lib.esm/providers/solana-provider/solanaWallet.js +60 -0
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +156 -0
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +87 -0
- package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +43 -0
- package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +67 -0
- package/dist/lib.esm/react/index.js +5 -0
- package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +213 -0
- package/dist/lib.esm/react/no-modal/Web3AuthProvider.js +13 -0
- package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +13 -0
- package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +83 -0
- package/dist/lib.esm/react/wallet-services-plugin/WalletServicesProvider.js +14 -0
- package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +13 -0
- package/dist/lib.esm/vue/index.js +5 -0
- package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +220 -0
- package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +11 -0
- package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +84 -0
- package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +11 -0
- package/dist/lib.esm/vue/wallet-services-plugin/context.js +3 -0
- package/dist/noModal.cjs.js +26314 -364
- package/dist/noModal.umd.min.js +1 -1
- package/dist/noModal.umd.min.js.LICENSE.txt +54 -0
- package/dist/types/adapters/auth-adapter/authAdapter.d.ts +42 -0
- package/dist/types/adapters/auth-adapter/config.d.ts +2 -0
- package/dist/types/adapters/auth-adapter/index.d.ts +3 -0
- package/dist/types/adapters/auth-adapter/interface.d.ts +11 -0
- package/dist/types/adapters/base-evm-adapter/baseEvmAdapter.d.ts +7 -0
- package/dist/types/adapters/base-evm-adapter/index.d.ts +1 -0
- package/dist/types/adapters/base-solana-adapter/baseSolanaAdapter.d.ts +7 -0
- package/dist/types/adapters/base-solana-adapter/index.d.ts +1 -0
- package/dist/types/adapters/coinbase-adapter/coinbaseAdapter.d.ts +33 -0
- package/dist/types/adapters/coinbase-adapter/index.d.ts +1 -0
- package/dist/types/adapters/default-evm-adapter/index.d.ts +6 -0
- package/dist/types/adapters/default-evm-adapter/injectedAdapters.d.ts +4 -0
- package/dist/types/adapters/default-evm-adapter/injectedEvmAdapter.d.ts +30 -0
- package/dist/types/adapters/default-solana-adapter/index.d.ts +6 -0
- package/dist/types/adapters/default-solana-adapter/injectedAdapters.d.ts +4 -0
- package/dist/types/adapters/default-solana-adapter/utils.d.ts +3 -0
- package/dist/types/adapters/default-solana-adapter/walletStandardAdapter.d.ts +31 -0
- package/dist/types/adapters/default-solana-adapter/walletStandardHandler.d.ts +27 -0
- package/dist/types/adapters/index.d.ts +7 -0
- package/dist/types/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.d.ts +36 -0
- package/dist/types/adapters/wallet-connect-v2-adapter/config.d.ts +35 -0
- package/dist/types/adapters/wallet-connect-v2-adapter/index.d.ts +4 -0
- package/dist/types/adapters/wallet-connect-v2-adapter/interface.d.ts +18 -0
- package/dist/types/adapters/wallet-connect-v2-adapter/utils.d.ts +3 -0
- package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.d.ts +23 -0
- package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.d.ts +42 -0
- package/dist/types/base/adapter/baseAdapter.d.ts +44 -0
- package/dist/types/base/adapter/constants.d.ts +22 -0
- package/dist/types/base/adapter/index.d.ts +4 -0
- package/dist/types/base/adapter/interfaces.d.ts +143 -0
- package/dist/types/base/adapter/utils.d.ts +5 -0
- package/dist/types/base/chain/IChainInterface.d.ts +59 -0
- package/dist/types/base/chain/config.d.ts +5 -0
- package/dist/types/base/composables/index.d.ts +1 -0
- package/dist/types/base/core/IWeb3Auth.d.ts +101 -0
- package/dist/types/base/errors/index.d.ts +69 -0
- package/dist/types/base/hooks/index.d.ts +37 -0
- package/dist/types/base/index.d.ts +13 -0
- package/dist/types/base/interfaces.d.ts +44 -0
- package/dist/types/base/loglevel.d.ts +2 -0
- package/dist/types/base/plugin/IPlugin.d.ts +53 -0
- package/dist/types/base/plugin/errors.d.ts +28 -0
- package/dist/types/base/plugin/index.d.ts +2 -0
- package/dist/types/base/provider/IProvider.d.ts +16 -0
- package/dist/types/base/utils.d.ts +9 -0
- package/dist/types/base/wallet/index.d.ts +33 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/noModal.d.ts +2 -2
- package/dist/types/plugins/index.d.ts +2 -0
- package/dist/types/plugins/nft-checkout-plugin/embed.d.ts +24 -0
- package/dist/types/plugins/nft-checkout-plugin/enums.d.ts +14 -0
- package/dist/types/plugins/nft-checkout-plugin/index.d.ts +2 -0
- package/dist/types/plugins/nft-checkout-plugin/plugin.d.ts +23 -0
- package/dist/types/plugins/nft-checkout-plugin/utils.d.ts +3 -0
- package/dist/types/plugins/wallet-services-plugin/index.d.ts +1 -0
- package/dist/types/plugins/wallet-services-plugin/plugin.d.ts +51 -0
- package/dist/types/providers/account-abstraction-provider/index.d.ts +1 -0
- package/dist/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +46 -0
- package/dist/types/providers/account-abstraction-provider/providers/index.d.ts +3 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.d.ts +14 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.d.ts +13 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/LightSmartAccount.d.ts +14 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.d.ts +14 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.d.ts +13 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SimpleSmartAccount.d.ts +13 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.d.ts +13 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/constants.d.ts +9 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +6 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/types.d.ts +22 -0
- package/dist/types/providers/account-abstraction-provider/providers/types.d.ts +17 -0
- package/dist/types/providers/account-abstraction-provider/providers/utils.d.ts +10 -0
- package/dist/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +8 -0
- package/dist/types/providers/account-abstraction-provider/rpc/index.d.ts +1 -0
- package/dist/types/providers/base-provider/CommonJRPCProvider.d.ts +20 -0
- package/dist/types/providers/base-provider/baseProvider.d.ts +39 -0
- package/dist/types/providers/base-provider/commonPrivateKeyProvider.d.ts +31 -0
- package/dist/types/providers/base-provider/index.d.ts +5 -0
- package/dist/types/providers/base-provider/interfaces.d.ts +3 -0
- package/dist/types/providers/base-provider/jrpcClient.d.ts +8 -0
- package/dist/types/providers/base-provider/utils.d.ts +2 -0
- package/dist/types/providers/ethereum-mpc-provider/index.d.ts +1 -0
- package/dist/types/providers/ethereum-mpc-provider/providers/index.d.ts +1 -0
- package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +65 -0
- package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +1 -0
- package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +12 -0
- package/dist/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +3 -0
- package/dist/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +15 -0
- package/dist/types/providers/ethereum-provider/index.d.ts +2 -0
- package/dist/types/providers/ethereum-provider/providers/converter.d.ts +15 -0
- package/dist/types/providers/ethereum-provider/providers/index.d.ts +1 -0
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.d.ts +30 -0
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +16 -0
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +28 -0
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +4 -0
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +46 -0
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +12 -0
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.d.ts +9 -0
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +2 -0
- package/dist/types/providers/ethereum-provider/providers/utils.d.ts +5 -0
- package/dist/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +5 -0
- package/dist/types/providers/ethereum-provider/rpc/index.d.ts +4 -0
- package/dist/types/providers/ethereum-provider/rpc/interfaces.d.ts +65 -0
- package/dist/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +8 -0
- package/dist/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +3 -0
- package/dist/types/providers/index.d.ts +6 -0
- package/dist/types/providers/solana-provider/index.d.ts +4 -0
- package/dist/types/providers/solana-provider/interface.d.ts +39 -0
- package/dist/types/providers/solana-provider/providers/index.d.ts +2 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +16 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +3 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/index.d.ts +3 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.d.ts +3 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/interface.d.ts +5 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.d.ts +3 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.d.ts +18 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +6 -0
- package/dist/types/providers/solana-provider/providers/privateKeyProvider/index.d.ts +1 -0
- package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +31 -0
- package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.d.ts +7 -0
- package/dist/types/providers/solana-provider/rpc/JrpcClient.d.ts +9 -0
- package/dist/types/providers/solana-provider/rpc/index.d.ts +3 -0
- package/dist/types/providers/solana-provider/rpc/interfaces.d.ts +42 -0
- package/dist/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +20 -0
- package/dist/types/providers/solana-provider/solanaWallet.d.ts +14 -0
- package/dist/types/providers/xrpl-provider/index.d.ts +1 -0
- package/dist/types/providers/xrpl-provider/providers/index.d.ts +1 -0
- package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/constants.d.ts +5 -0
- package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/index.d.ts +3 -0
- package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/interface.d.ts +2 -0
- package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +26 -0
- package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.d.ts +7 -0
- package/dist/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +9 -0
- package/dist/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +52 -0
- package/dist/types/react/index.d.ts +2 -0
- package/dist/types/react/no-modal/Web3AuthInnerContext.d.ts +4 -0
- package/dist/types/react/no-modal/Web3AuthProvider.d.ts +3 -0
- package/dist/types/react/no-modal/hooks/index.d.ts +1 -0
- package/dist/types/react/no-modal/hooks/useWeb3Auth.d.ts +2 -0
- package/dist/types/react/no-modal/index.d.ts +3 -0
- package/dist/types/react/no-modal/interfaces.d.ts +15 -0
- package/dist/types/react/wallet-services-plugin/WalletServicesContext.d.ts +7 -0
- package/dist/types/react/wallet-services-plugin/WalletServicesProvider.d.ts +7 -0
- package/dist/types/react/wallet-services-plugin/hooks/index.d.ts +1 -0
- package/dist/types/react/wallet-services-plugin/hooks/useWalletServicesPlugin.d.ts +2 -0
- package/dist/types/react/wallet-services-plugin/index.d.ts +4 -0
- package/dist/types/react/wallet-services-plugin/interfaces.d.ts +5 -0
- package/dist/types/vue/index.d.ts +2 -0
- package/dist/types/vue/no-modal/Web3AuthProvider.d.ts +13 -0
- package/dist/types/vue/no-modal/composables/index.d.ts +1 -0
- package/dist/types/vue/no-modal/composables/useWeb3Auth.d.ts +2 -0
- package/dist/types/vue/no-modal/index.d.ts +3 -0
- package/dist/types/vue/no-modal/interfaces.d.ts +42 -0
- package/dist/types/vue/wallet-services-plugin/WalletServicesProvider.d.ts +1 -0
- package/dist/types/vue/wallet-services-plugin/composables/index.d.ts +1 -0
- package/dist/types/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +2 -0
- package/dist/types/vue/wallet-services-plugin/context.d.ts +3 -0
- package/dist/types/vue/wallet-services-plugin/index.d.ts +4 -0
- package/dist/types/vue/wallet-services-plugin/interfaces.d.ts +13 -0
- package/package.json +76 -15
- package/README.md +0 -82
- package/dist/noModal.esm.js +0 -359
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { createFetchMiddleware } from '@toruslabs/base-controllers';
|
|
2
|
+
import { mergeMiddleware } from '@web3auth/auth';
|
|
3
|
+
|
|
4
|
+
function createEthChainIdMiddleware(chainId) {
|
|
5
|
+
return (req, res, next, end) => {
|
|
6
|
+
if (req.method === "eth_chainId") {
|
|
7
|
+
res.result = chainId;
|
|
8
|
+
return end();
|
|
9
|
+
}
|
|
10
|
+
return next();
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function createEthProviderConfigMiddleware(providerConfig) {
|
|
14
|
+
return (req, res, next, end) => {
|
|
15
|
+
if (req.method === "eth_provider_config") {
|
|
16
|
+
res.result = providerConfig;
|
|
17
|
+
return end();
|
|
18
|
+
}
|
|
19
|
+
return next();
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function createEthJsonRpcClient(providerConfig) {
|
|
23
|
+
const {
|
|
24
|
+
chainId,
|
|
25
|
+
rpcTarget
|
|
26
|
+
} = providerConfig;
|
|
27
|
+
const fetchMiddleware = createFetchMiddleware({
|
|
28
|
+
rpcTarget
|
|
29
|
+
});
|
|
30
|
+
const networkMiddleware = mergeMiddleware([createEthChainIdMiddleware(chainId), createEthProviderConfigMiddleware(providerConfig), fetchMiddleware]);
|
|
31
|
+
return {
|
|
32
|
+
networkMiddleware,
|
|
33
|
+
fetchMiddleware
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export { createEthChainIdMiddleware, createEthJsonRpcClient, createEthProviderConfigMiddleware };
|
|
@@ -0,0 +1,177 @@
|
|
|
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 };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { JRPCEngine, providerFromEngine } from '@web3auth/auth';
|
|
2
|
+
import { WalletLoginError } from '../../../../../base/errors/index.js';
|
|
3
|
+
import { createConfigMiddleware } from '../../../rpc/JrpcClient.js';
|
|
4
|
+
import { createSolanaMiddleware } from '../../../rpc/solanaRpcMiddlewares.js';
|
|
5
|
+
import { BaseProvider } from '../../../../base-provider/baseProvider.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 adapter");
|
|
19
|
+
}
|
|
20
|
+
async setupProvider(injectedProvider) {
|
|
21
|
+
const engine = new JRPCEngine();
|
|
22
|
+
const providerHandlers = this.getProviderHandlers(injectedProvider);
|
|
23
|
+
const solanaMiddleware = createSolanaMiddleware(providerHandlers);
|
|
24
|
+
engine.push(solanaMiddleware);
|
|
25
|
+
const configMiddleware = createConfigMiddleware(this.config.chainConfig);
|
|
26
|
+
engine.push(configMiddleware);
|
|
27
|
+
const injectedProviderProxy = this.getInjectedProviderProxy(injectedProvider);
|
|
28
|
+
if (injectedProviderProxy) {
|
|
29
|
+
engine.push(injectedProviderProxy);
|
|
30
|
+
}
|
|
31
|
+
const provider = providerFromEngine(engine);
|
|
32
|
+
this.updateProviderEngineProxy(provider);
|
|
33
|
+
await this.lookupNetwork();
|
|
34
|
+
}
|
|
35
|
+
async lookupNetwork() {
|
|
36
|
+
const {
|
|
37
|
+
chainConfig
|
|
38
|
+
} = this.config;
|
|
39
|
+
this.update({
|
|
40
|
+
chainId: chainConfig.chainId
|
|
41
|
+
});
|
|
42
|
+
return chainConfig.chainId || "";
|
|
43
|
+
}
|
|
44
|
+
getInjectedProviderProxy(_) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export { BaseInjectedProvider };
|
package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { rpcErrors } from '@web3auth/auth';
|
|
2
|
+
import bs58 from 'bs58';
|
|
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.message, req.params.display);
|
|
25
|
+
return sigData.signature;
|
|
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 {
|
|
38
|
+
signature: txRes.signature
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
return providerHandlers;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export { getBaseProviderHandlers };
|
package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createAsyncMiddleware } from '@web3auth/auth';
|
|
2
|
+
|
|
3
|
+
function createInjectedProviderProxyMiddleware(provider) {
|
|
4
|
+
return createAsyncMiddleware(async (req, res, _next) => {
|
|
5
|
+
const result = await provider.request(req);
|
|
6
|
+
res.result = result;
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { createInjectedProviderProxyMiddleware };
|
package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { rpcErrors } from '@web3auth/auth';
|
|
2
|
+
|
|
3
|
+
const getTorusHandlers = injectedProvider => {
|
|
4
|
+
const providerHandlers = {
|
|
5
|
+
requestAccounts: async () => {
|
|
6
|
+
const accounts = await injectedProvider.request({
|
|
7
|
+
method: "solana_requestAccounts",
|
|
8
|
+
params: {}
|
|
9
|
+
});
|
|
10
|
+
return accounts;
|
|
11
|
+
},
|
|
12
|
+
getPublicKey: async () => {
|
|
13
|
+
const publicKeys = await injectedProvider.request({
|
|
14
|
+
method: "solana_requestAccounts",
|
|
15
|
+
params: {}
|
|
16
|
+
});
|
|
17
|
+
return publicKeys[0];
|
|
18
|
+
},
|
|
19
|
+
getAccounts: async () => {
|
|
20
|
+
const accounts = await injectedProvider.request({
|
|
21
|
+
method: "solana_requestAccounts",
|
|
22
|
+
params: {}
|
|
23
|
+
});
|
|
24
|
+
return accounts;
|
|
25
|
+
},
|
|
26
|
+
getPrivateKey: async () => {
|
|
27
|
+
throw rpcErrors.methodNotSupported();
|
|
28
|
+
},
|
|
29
|
+
getSecretKey: async () => {
|
|
30
|
+
throw rpcErrors.methodNotSupported();
|
|
31
|
+
},
|
|
32
|
+
signMessage: async req => {
|
|
33
|
+
var _req$params;
|
|
34
|
+
if (!((_req$params = req.params) !== null && _req$params !== void 0 && _req$params.message)) {
|
|
35
|
+
throw rpcErrors.invalidParams("message");
|
|
36
|
+
}
|
|
37
|
+
const message = await injectedProvider.signMessage(req.params.message);
|
|
38
|
+
return message;
|
|
39
|
+
},
|
|
40
|
+
signTransaction: async req => {
|
|
41
|
+
var _req$params2;
|
|
42
|
+
if (!((_req$params2 = req.params) !== null && _req$params2 !== void 0 && _req$params2.message)) {
|
|
43
|
+
throw rpcErrors.invalidParams("message");
|
|
44
|
+
}
|
|
45
|
+
const txMessage = req.params.message;
|
|
46
|
+
const response = await injectedProvider.signTransaction(txMessage);
|
|
47
|
+
return response;
|
|
48
|
+
},
|
|
49
|
+
signAndSendTransaction: async req => {
|
|
50
|
+
var _req$params3;
|
|
51
|
+
if (!((_req$params3 = req.params) !== null && _req$params3 !== void 0 && _req$params3.message)) {
|
|
52
|
+
throw rpcErrors.invalidParams("message");
|
|
53
|
+
}
|
|
54
|
+
const txMessage = req.params.message;
|
|
55
|
+
const response = await injectedProvider.sendTransaction(txMessage);
|
|
56
|
+
return {
|
|
57
|
+
signature: response
|
|
58
|
+
};
|
|
59
|
+
},
|
|
60
|
+
signAllTransactions: async req => {
|
|
61
|
+
var _req$params4, _req$params5;
|
|
62
|
+
if (!((_req$params4 = req.params) !== null && _req$params4 !== void 0 && _req$params4.message) || !((_req$params5 = req.params) !== null && _req$params5 !== void 0 && _req$params5.message.length)) {
|
|
63
|
+
throw rpcErrors.invalidParams("message");
|
|
64
|
+
}
|
|
65
|
+
const transactions = req.params.message;
|
|
66
|
+
const response = await injectedProvider.signAllTransactions(transactions);
|
|
67
|
+
return response;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
return providerHandlers;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export { getTorusHandlers };
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
|
+
import { providerErrors, JRPCEngine, providerFromEngine } from '@web3auth/auth';
|
|
4
|
+
import { WalletInitializationError } from '../../../../../base/errors/index.js';
|
|
5
|
+
import { isHexStrict } from '../../../../../base/utils.js';
|
|
6
|
+
import { createSolanaMiddleware } from '../../../rpc/solanaRpcMiddlewares.js';
|
|
7
|
+
import { createInjectedProviderProxyMiddleware } from '../injectedProviderProxy.js';
|
|
8
|
+
import { getTorusHandlers } from './providerHandlers.js';
|
|
9
|
+
import { BaseProvider } from '../../../../base-provider/baseProvider.js';
|
|
10
|
+
|
|
11
|
+
class TorusInjectedProvider extends BaseProvider {
|
|
12
|
+
constructor({
|
|
13
|
+
config,
|
|
14
|
+
state
|
|
15
|
+
}) {
|
|
16
|
+
super({
|
|
17
|
+
config,
|
|
18
|
+
state
|
|
19
|
+
});
|
|
20
|
+
_defineProperty(this, "PROVIDER_CHAIN_NAMESPACE", "solana");
|
|
21
|
+
}
|
|
22
|
+
async switchChain(params) {
|
|
23
|
+
// overrides the base provider implementation
|
|
24
|
+
await this.provider.request({
|
|
25
|
+
method: "switchSolanaChain",
|
|
26
|
+
params: [{
|
|
27
|
+
chainId: params.chainId
|
|
28
|
+
}]
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async addChain(chainConfig) {
|
|
32
|
+
super.addChain(chainConfig);
|
|
33
|
+
await this.provider.request({
|
|
34
|
+
method: "addNewChainConfig",
|
|
35
|
+
params: [{
|
|
36
|
+
chainId: chainConfig.chainId,
|
|
37
|
+
chainName: chainConfig.displayName,
|
|
38
|
+
rpcUrls: [chainConfig.rpcTarget],
|
|
39
|
+
blockExplorerUrls: [chainConfig.blockExplorerUrl],
|
|
40
|
+
iconUrls: [chainConfig.logo],
|
|
41
|
+
nativeCurrency: {
|
|
42
|
+
name: chainConfig.tickerName,
|
|
43
|
+
symbol: chainConfig.ticker,
|
|
44
|
+
decimals: chainConfig.decimals || 18
|
|
45
|
+
}
|
|
46
|
+
}]
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
async setupProvider(injectedProvider) {
|
|
50
|
+
this.handleInjectedProviderUpdate(injectedProvider);
|
|
51
|
+
const {
|
|
52
|
+
chainNamespace
|
|
53
|
+
} = this.config.chainConfig;
|
|
54
|
+
if (chainNamespace !== this.PROVIDER_CHAIN_NAMESPACE) throw WalletInitializationError.incompatibleChainNameSpace("Invalid chain namespace");
|
|
55
|
+
await this.setupEngine(injectedProvider);
|
|
56
|
+
}
|
|
57
|
+
async lookupNetwork() {
|
|
58
|
+
if (!this.provider) throw providerErrors.custom({
|
|
59
|
+
message: "Torus solana provider is not initialized",
|
|
60
|
+
code: 4902
|
|
61
|
+
});
|
|
62
|
+
const {
|
|
63
|
+
chainId
|
|
64
|
+
} = this.config.chainConfig;
|
|
65
|
+
const connectedChainId = await this.provider.request({
|
|
66
|
+
method: "solana_chainId"
|
|
67
|
+
});
|
|
68
|
+
const connectedHexChainId = isHexStrict(connectedChainId.toString()) ? connectedChainId : `0x${parseInt(connectedChainId, 10).toString(16)}`;
|
|
69
|
+
if (chainId !== connectedHexChainId) throw WalletInitializationError.rpcConnectionError(`Invalid network, net_version is: ${connectedHexChainId}, expected: ${chainId}`);
|
|
70
|
+
this.update({
|
|
71
|
+
chainId: connectedHexChainId
|
|
72
|
+
});
|
|
73
|
+
this.emit("connect", {
|
|
74
|
+
chainId: this.state.chainId
|
|
75
|
+
});
|
|
76
|
+
this.emit("chainChanged", this.state.chainId);
|
|
77
|
+
return this.state.chainId;
|
|
78
|
+
}
|
|
79
|
+
async setupEngine(injectedProvider) {
|
|
80
|
+
const providerHandlers = getTorusHandlers(injectedProvider);
|
|
81
|
+
const solanaMiddleware = createSolanaMiddleware(providerHandlers);
|
|
82
|
+
const injectedProviderProxy = createInjectedProviderProxyMiddleware(injectedProvider);
|
|
83
|
+
const engine = new JRPCEngine();
|
|
84
|
+
engine.push(solanaMiddleware);
|
|
85
|
+
engine.push(injectedProviderProxy);
|
|
86
|
+
const provider = providerFromEngine(engine);
|
|
87
|
+
this.updateProviderEngineProxy(provider);
|
|
88
|
+
await this.lookupNetwork();
|
|
89
|
+
}
|
|
90
|
+
async handleInjectedProviderUpdate(injectedProvider) {
|
|
91
|
+
injectedProvider.on("accountsChanged", async accounts => {
|
|
92
|
+
this.emit("accountsChanged", accounts);
|
|
93
|
+
});
|
|
94
|
+
injectedProvider.on("chainChanged", async chainId => {
|
|
95
|
+
const connectedHexChainId = isHexStrict(chainId) ? chainId : `0x${parseInt(chainId, 10).toString(16)}`;
|
|
96
|
+
// Check if chainId changed and trigger event
|
|
97
|
+
this.configure({
|
|
98
|
+
chainConfig: _objectSpread(_objectSpread({}, this.config.chainConfig), {}, {
|
|
99
|
+
chainId: connectedHexChainId
|
|
100
|
+
})
|
|
101
|
+
});
|
|
102
|
+
await this.setupProvider(injectedProvider);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export { TorusInjectedProvider };
|
package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseInjectedProvider } from './base/baseInjectedProvider.js';
|
|
2
|
+
import { getBaseProviderHandlers } from './base/providerHandlers.js';
|
|
3
|
+
|
|
4
|
+
class WalletStandardProvider extends BaseInjectedProvider {
|
|
5
|
+
getProviderHandlers(injectedProvider) {
|
|
6
|
+
return getBaseProviderHandlers(injectedProvider);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { WalletStandardProvider };
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import { providerErrors, getED25519Key, JRPCEngine, providerFromEngine, rpcErrors } from '@web3auth/auth';
|
|
3
|
+
import { CHAIN_NAMESPACES } from '../../../../base/chain/IChainInterface.js';
|
|
4
|
+
import { WalletInitializationError } from '../../../../base/errors/index.js';
|
|
5
|
+
import { createSolanaJsonRpcClient } from '../../rpc/JrpcClient.js';
|
|
6
|
+
import { createSolanaMiddleware, createSolanaChainSwitchMiddleware, createSolanaAccountMiddleware } from '../../rpc/solanaRpcMiddlewares.js';
|
|
7
|
+
import { getProviderHandlers } from './solanaPrivateKeyUtils.js';
|
|
8
|
+
import { BaseProvider } from '../../../base-provider/baseProvider.js';
|
|
9
|
+
|
|
10
|
+
var _SolanaPrivateKeyProvider;
|
|
11
|
+
class SolanaPrivateKeyProvider extends BaseProvider {
|
|
12
|
+
constructor({
|
|
13
|
+
config,
|
|
14
|
+
state
|
|
15
|
+
}) {
|
|
16
|
+
super({
|
|
17
|
+
config,
|
|
18
|
+
state
|
|
19
|
+
});
|
|
20
|
+
_defineProperty(this, "PROVIDER_CHAIN_NAMESPACE", CHAIN_NAMESPACES.SOLANA);
|
|
21
|
+
}
|
|
22
|
+
async enable() {
|
|
23
|
+
if (!this.state.privateKey) throw providerErrors.custom({
|
|
24
|
+
message: "Private key is not found in state, plz pass it in constructor state param",
|
|
25
|
+
code: 4902
|
|
26
|
+
});
|
|
27
|
+
await this.setupProvider(this.state.privateKey);
|
|
28
|
+
return this._providerEngineProxy.request({
|
|
29
|
+
method: "eth_accounts"
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
getEd25519Key(privateKey) {
|
|
33
|
+
return getED25519Key(privateKey).sk.toString("hex").padStart(128, "0");
|
|
34
|
+
}
|
|
35
|
+
async setupProvider(privKey) {
|
|
36
|
+
const {
|
|
37
|
+
chainNamespace
|
|
38
|
+
} = this.config.chainConfig;
|
|
39
|
+
if (chainNamespace !== this.PROVIDER_CHAIN_NAMESPACE) throw WalletInitializationError.incompatibleChainNameSpace("Invalid chain namespace");
|
|
40
|
+
const providerHandlers = await getProviderHandlers({
|
|
41
|
+
privKey,
|
|
42
|
+
getProviderEngineProxy: this.getProviderEngineProxy.bind(this),
|
|
43
|
+
keyExportEnabled: this.config.keyExportEnabled
|
|
44
|
+
});
|
|
45
|
+
const solanaMiddleware = createSolanaMiddleware(providerHandlers);
|
|
46
|
+
const engine = new JRPCEngine();
|
|
47
|
+
const {
|
|
48
|
+
networkMiddleware
|
|
49
|
+
} = createSolanaJsonRpcClient(this.config.chainConfig);
|
|
50
|
+
engine.push(this.getChainSwitchMiddleware());
|
|
51
|
+
engine.push(this.getAccountMiddleware());
|
|
52
|
+
engine.push(solanaMiddleware);
|
|
53
|
+
engine.push(networkMiddleware);
|
|
54
|
+
const provider = providerFromEngine(engine);
|
|
55
|
+
this.updateProviderEngineProxy(provider);
|
|
56
|
+
await this.lookupNetwork();
|
|
57
|
+
}
|
|
58
|
+
async updateAccount(params) {
|
|
59
|
+
if (!this._providerEngineProxy) throw providerErrors.custom({
|
|
60
|
+
message: "Provider is not initialized",
|
|
61
|
+
code: 4902
|
|
62
|
+
});
|
|
63
|
+
const existingKey = await this._providerEngineProxy.request({
|
|
64
|
+
method: "solanaPrivateKey"
|
|
65
|
+
});
|
|
66
|
+
if (existingKey !== params.privateKey) {
|
|
67
|
+
await this.setupProvider(params.privateKey);
|
|
68
|
+
const accounts = await this._providerEngineProxy.request({
|
|
69
|
+
method: "requestAccounts"
|
|
70
|
+
});
|
|
71
|
+
this.emit("accountsChanged", accounts);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
async switchChain(params) {
|
|
75
|
+
if (!this._providerEngineProxy) throw providerErrors.custom({
|
|
76
|
+
message: "Provider is not initialized",
|
|
77
|
+
code: 4902
|
|
78
|
+
});
|
|
79
|
+
const chainConfig = this.getChainConfig(params.chainId);
|
|
80
|
+
this.update({
|
|
81
|
+
chainId: "loading"
|
|
82
|
+
});
|
|
83
|
+
this.configure({
|
|
84
|
+
chainConfig
|
|
85
|
+
});
|
|
86
|
+
const privKey = await this._providerEngineProxy.request({
|
|
87
|
+
method: "solanaPrivateKey"
|
|
88
|
+
});
|
|
89
|
+
await this.setupProvider(privKey);
|
|
90
|
+
}
|
|
91
|
+
async lookupNetwork() {
|
|
92
|
+
if (!this._providerEngineProxy) throw providerErrors.custom({
|
|
93
|
+
message: "Provider is not initialized",
|
|
94
|
+
code: 4902
|
|
95
|
+
});
|
|
96
|
+
const health = await this._providerEngineProxy.request({
|
|
97
|
+
method: "getHealth",
|
|
98
|
+
params: []
|
|
99
|
+
});
|
|
100
|
+
const {
|
|
101
|
+
chainConfig
|
|
102
|
+
} = this.config;
|
|
103
|
+
if (health !== "ok") throw WalletInitializationError.rpcConnectionError(`Failed to lookup network for following rpc target: ${chainConfig.rpcTarget}`);
|
|
104
|
+
this.update({
|
|
105
|
+
chainId: chainConfig.chainId
|
|
106
|
+
});
|
|
107
|
+
if (this.state.chainId !== chainConfig.chainId) {
|
|
108
|
+
this.emit("chainChanged", this.state.chainId);
|
|
109
|
+
this.emit("connect", {
|
|
110
|
+
chainId: this.state.chainId
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
return this.state.chainId;
|
|
114
|
+
}
|
|
115
|
+
getChainSwitchMiddleware() {
|
|
116
|
+
const chainSwitchHandlers = {
|
|
117
|
+
addNewChainConfig: async req => {
|
|
118
|
+
if (!req.params) throw rpcErrors.invalidParams("Missing request params");
|
|
119
|
+
const {
|
|
120
|
+
chainId,
|
|
121
|
+
chainName,
|
|
122
|
+
rpcUrls,
|
|
123
|
+
blockExplorerUrls,
|
|
124
|
+
nativeCurrency,
|
|
125
|
+
iconUrls
|
|
126
|
+
} = req.params;
|
|
127
|
+
if (!chainId) throw rpcErrors.invalidParams("Missing chainId in chainParams");
|
|
128
|
+
if (!rpcUrls || rpcUrls.length === 0) throw rpcErrors.invalidParams("Missing rpcUrls in chainParams");
|
|
129
|
+
if (!nativeCurrency) throw rpcErrors.invalidParams("Missing nativeCurrency in chainParams");
|
|
130
|
+
this.addChain({
|
|
131
|
+
chainNamespace: CHAIN_NAMESPACES.SOLANA,
|
|
132
|
+
chainId,
|
|
133
|
+
ticker: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.symbol) || "SOL",
|
|
134
|
+
tickerName: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.name) || "Solana",
|
|
135
|
+
displayName: chainName,
|
|
136
|
+
rpcTarget: rpcUrls[0],
|
|
137
|
+
blockExplorerUrl: (blockExplorerUrls === null || blockExplorerUrls === void 0 ? void 0 : blockExplorerUrls[0]) || "",
|
|
138
|
+
decimals: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.decimals) || 9,
|
|
139
|
+
logo: (iconUrls === null || iconUrls === void 0 ? void 0 : iconUrls[0]) || "https://images.toruswallet.io/sol.svg"
|
|
140
|
+
});
|
|
141
|
+
},
|
|
142
|
+
switchSolanaChain: async req => {
|
|
143
|
+
if (!req.params) throw rpcErrors.invalidParams("Missing request params");
|
|
144
|
+
if (!req.params.chainId) throw rpcErrors.invalidParams("Missing chainId");
|
|
145
|
+
await this.switchChain(req.params);
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
const chainSwitchMiddleware = createSolanaChainSwitchMiddleware(chainSwitchHandlers);
|
|
149
|
+
return chainSwitchMiddleware;
|
|
150
|
+
}
|
|
151
|
+
getAccountMiddleware() {
|
|
152
|
+
const accountHandlers = {
|
|
153
|
+
updatePrivatekey: async req => {
|
|
154
|
+
if (!req.params) throw rpcErrors.invalidParams("Missing request params");
|
|
155
|
+
if (!req.params.privateKey) throw rpcErrors.invalidParams("Missing privateKey");
|
|
156
|
+
const {
|
|
157
|
+
privateKey
|
|
158
|
+
} = req.params;
|
|
159
|
+
await this.updateAccount({
|
|
160
|
+
privateKey
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
return createSolanaAccountMiddleware(accountHandlers);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
_SolanaPrivateKeyProvider = SolanaPrivateKeyProvider;
|
|
168
|
+
_defineProperty(SolanaPrivateKeyProvider, "getProviderInstance", async params => {
|
|
169
|
+
const providerFactory = new _SolanaPrivateKeyProvider({
|
|
170
|
+
config: {
|
|
171
|
+
chainConfig: params.chainConfig
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
await providerFactory.setupProvider(params.privKey);
|
|
175
|
+
return providerFactory;
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
export { SolanaPrivateKeyProvider };
|