@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
package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Keypair, VersionedTransaction } from '@solana/web3.js';
|
|
2
|
+
import { sign } from '@toruslabs/tweetnacl-js';
|
|
3
|
+
import { rpcErrors, providerErrors } from '@web3auth/auth';
|
|
4
|
+
import bs58 from 'bs58';
|
|
5
|
+
import { WalletInitializationError } from '../../../../base/errors/index.js';
|
|
6
|
+
|
|
7
|
+
async function getProviderHandlers({
|
|
8
|
+
privKey,
|
|
9
|
+
keyExportEnabled,
|
|
10
|
+
getProviderEngineProxy
|
|
11
|
+
}) {
|
|
12
|
+
const keyPairGenerator = () => {
|
|
13
|
+
return Keypair.fromSecretKey(Buffer.from(privKey, "hex"));
|
|
14
|
+
};
|
|
15
|
+
if (typeof privKey !== "string") throw WalletInitializationError.invalidParams("privKey must be a string");
|
|
16
|
+
const keyPair = keyPairGenerator();
|
|
17
|
+
const providerHandlers = {
|
|
18
|
+
requestAccounts: async () => {
|
|
19
|
+
return [keyPair.publicKey.toBase58()];
|
|
20
|
+
},
|
|
21
|
+
getAccounts: async () => [keyPair.publicKey.toBase58()],
|
|
22
|
+
getPublicKey: async () => keyPair.publicKey.toBase58(),
|
|
23
|
+
getPrivateKey: async () => {
|
|
24
|
+
if (!keyExportEnabled) {
|
|
25
|
+
throw providerErrors.custom({
|
|
26
|
+
message: "Private key export is disabled",
|
|
27
|
+
code: 4902
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
return privKey;
|
|
31
|
+
},
|
|
32
|
+
getSecretKey: async () => bs58.encode(keyPair.secretKey),
|
|
33
|
+
signTransaction: async req => {
|
|
34
|
+
var _req$params;
|
|
35
|
+
if (!((_req$params = req.params) !== null && _req$params !== void 0 && _req$params.message)) {
|
|
36
|
+
throw rpcErrors.invalidParams("message");
|
|
37
|
+
}
|
|
38
|
+
const transaction = req.params.message;
|
|
39
|
+
if (transaction.version !== undefined || transaction instanceof VersionedTransaction) {
|
|
40
|
+
transaction.sign([keyPair]);
|
|
41
|
+
} else {
|
|
42
|
+
transaction.partialSign(keyPair);
|
|
43
|
+
}
|
|
44
|
+
return transaction;
|
|
45
|
+
},
|
|
46
|
+
signMessage: async req => {
|
|
47
|
+
var _req$params2;
|
|
48
|
+
if (!((_req$params2 = req.params) !== null && _req$params2 !== void 0 && _req$params2.message)) {
|
|
49
|
+
throw rpcErrors.invalidParams("message");
|
|
50
|
+
}
|
|
51
|
+
const signedMsg = sign.detached(req.params.message, keyPair.secretKey);
|
|
52
|
+
return signedMsg;
|
|
53
|
+
},
|
|
54
|
+
signAndSendTransaction: async req => {
|
|
55
|
+
var _req$params3;
|
|
56
|
+
if (!((_req$params3 = req.params) !== null && _req$params3 !== void 0 && _req$params3.message)) {
|
|
57
|
+
throw rpcErrors.invalidParams("message");
|
|
58
|
+
}
|
|
59
|
+
const _providerEngineProxy = getProviderEngineProxy();
|
|
60
|
+
if (!_providerEngineProxy) throw providerErrors.custom({
|
|
61
|
+
message: "Provider is not initialized",
|
|
62
|
+
code: 4902
|
|
63
|
+
});
|
|
64
|
+
const transaction = req.params.message;
|
|
65
|
+
if (transaction.version !== undefined || transaction instanceof VersionedTransaction) {
|
|
66
|
+
transaction.sign([keyPair]);
|
|
67
|
+
} else {
|
|
68
|
+
transaction.partialSign(keyPair);
|
|
69
|
+
}
|
|
70
|
+
const sig = await _providerEngineProxy.request({
|
|
71
|
+
method: "sendTransaction",
|
|
72
|
+
params: [Buffer.from(transaction.serialize()).toString("base64"), {
|
|
73
|
+
encoding: "base64",
|
|
74
|
+
preflightCommitment: "confirmed"
|
|
75
|
+
}]
|
|
76
|
+
});
|
|
77
|
+
return {
|
|
78
|
+
signature: sig
|
|
79
|
+
};
|
|
80
|
+
},
|
|
81
|
+
signAllTransactions: async req => {
|
|
82
|
+
var _req$params4, _req$params5, _req$params6;
|
|
83
|
+
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)) {
|
|
84
|
+
throw rpcErrors.invalidParams("message");
|
|
85
|
+
}
|
|
86
|
+
const txns = (_req$params6 = req.params) === null || _req$params6 === void 0 ? void 0 : _req$params6.message;
|
|
87
|
+
for (const tx of txns || []) {
|
|
88
|
+
const transaction = tx;
|
|
89
|
+
if (transaction.version !== undefined || transaction instanceof VersionedTransaction) {
|
|
90
|
+
transaction.sign([keyPair]);
|
|
91
|
+
} else {
|
|
92
|
+
transaction.partialSign(keyPair);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return txns;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
return providerHandlers;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export { getProviderHandlers };
|
|
@@ -0,0 +1,42 @@
|
|
|
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 };
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { createAsyncMiddleware, mergeMiddleware } from '@web3auth/auth';
|
|
2
|
+
|
|
3
|
+
function createGetAccountsMiddleware({
|
|
4
|
+
getAccounts
|
|
5
|
+
}) {
|
|
6
|
+
return createAsyncMiddleware(async (request, response, next) => {
|
|
7
|
+
const {
|
|
8
|
+
method
|
|
9
|
+
} = request;
|
|
10
|
+
if (method !== "getAccounts") return next();
|
|
11
|
+
if (!getAccounts) throw new Error("WalletMiddleware - opts.getAccounts not provided");
|
|
12
|
+
// This calls from the prefs controller
|
|
13
|
+
const accounts = await getAccounts(request);
|
|
14
|
+
response.result = accounts;
|
|
15
|
+
return undefined;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function createGetPublicKeyMiddleware({
|
|
19
|
+
getPublicKey
|
|
20
|
+
}) {
|
|
21
|
+
return createAsyncMiddleware(async (request, response, next) => {
|
|
22
|
+
const {
|
|
23
|
+
method
|
|
24
|
+
} = request;
|
|
25
|
+
if (method !== "getPublicKey") return next();
|
|
26
|
+
if (!getPublicKey) throw new Error("WalletMiddleware - opts.getPublicKey not provided");
|
|
27
|
+
const publicKey = await getPublicKey(request);
|
|
28
|
+
response.result = publicKey;
|
|
29
|
+
return undefined;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function createRequestAccountsMiddleware({
|
|
33
|
+
requestAccounts
|
|
34
|
+
}) {
|
|
35
|
+
return createAsyncMiddleware(async (request, response, next) => {
|
|
36
|
+
const {
|
|
37
|
+
method
|
|
38
|
+
} = request;
|
|
39
|
+
if (method !== "requestAccounts") return next();
|
|
40
|
+
if (!requestAccounts) throw new Error("WalletMiddleware - opts.requestAccounts not provided");
|
|
41
|
+
// This calls the UI login function
|
|
42
|
+
const accounts = await requestAccounts(request);
|
|
43
|
+
response.result = accounts;
|
|
44
|
+
return undefined;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function createGenericJRPCMiddleware(targetMethod, handler) {
|
|
48
|
+
return createAsyncMiddleware(async (request, response, next) => {
|
|
49
|
+
const {
|
|
50
|
+
method
|
|
51
|
+
} = request;
|
|
52
|
+
if (method !== targetMethod) return next();
|
|
53
|
+
if (!handler) throw new Error(`WalletMiddleware - ${targetMethod} not provided`);
|
|
54
|
+
const result = await handler(request);
|
|
55
|
+
response.result = result;
|
|
56
|
+
return undefined;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function createSolanaMiddleware(providerHandlers) {
|
|
60
|
+
const {
|
|
61
|
+
getAccounts,
|
|
62
|
+
requestAccounts,
|
|
63
|
+
signTransaction,
|
|
64
|
+
signAndSendTransaction,
|
|
65
|
+
signAllTransactions,
|
|
66
|
+
signMessage,
|
|
67
|
+
getPrivateKey,
|
|
68
|
+
getSecretKey,
|
|
69
|
+
getPublicKey
|
|
70
|
+
} = providerHandlers;
|
|
71
|
+
return mergeMiddleware([createRequestAccountsMiddleware({
|
|
72
|
+
requestAccounts
|
|
73
|
+
}), createGetAccountsMiddleware({
|
|
74
|
+
getAccounts
|
|
75
|
+
}), createGenericJRPCMiddleware("signTransaction", signTransaction), createGenericJRPCMiddleware("signAndSendTransaction", signAndSendTransaction), createGenericJRPCMiddleware("signAllTransactions", signAllTransactions), createGenericJRPCMiddleware("signMessage", signMessage), createGenericJRPCMiddleware("solanaPrivateKey", getPrivateKey), createGenericJRPCMiddleware("private_key", getPrivateKey), createGenericJRPCMiddleware("public_key", getPublicKey), createGenericJRPCMiddleware("solanaPublicKey", getPublicKey), createGenericJRPCMiddleware("solanaSecretKey", getSecretKey)]);
|
|
76
|
+
}
|
|
77
|
+
function createSolanaChainSwitchMiddleware({
|
|
78
|
+
addNewChainConfig,
|
|
79
|
+
switchSolanaChain
|
|
80
|
+
}) {
|
|
81
|
+
return mergeMiddleware([createGenericJRPCMiddleware("addSolanaChain", addNewChainConfig), 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 };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
|
|
3
|
+
class SolanaWallet {
|
|
4
|
+
constructor(provider) {
|
|
5
|
+
_defineProperty(this, "provider", void 0);
|
|
6
|
+
this.provider = provider;
|
|
7
|
+
}
|
|
8
|
+
async requestAccounts() {
|
|
9
|
+
const accounts = await this.provider.request({
|
|
10
|
+
method: "requestAccounts"
|
|
11
|
+
});
|
|
12
|
+
return accounts;
|
|
13
|
+
}
|
|
14
|
+
async signAndSendTransaction(transaction) {
|
|
15
|
+
const {
|
|
16
|
+
signature
|
|
17
|
+
} = await this.provider.request({
|
|
18
|
+
method: "signAndSendTransaction",
|
|
19
|
+
params: {
|
|
20
|
+
message: transaction
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
return {
|
|
24
|
+
signature
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
async signTransaction(transaction) {
|
|
28
|
+
const signedTransaction = await this.provider.request({
|
|
29
|
+
method: "signTransaction",
|
|
30
|
+
params: {
|
|
31
|
+
message: transaction
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
return signedTransaction;
|
|
35
|
+
}
|
|
36
|
+
async signAllTransactions(transactions) {
|
|
37
|
+
const signedTransactions = await this.provider.request({
|
|
38
|
+
method: "signAllTransactions",
|
|
39
|
+
params: {
|
|
40
|
+
message: transactions
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
return signedTransactions;
|
|
44
|
+
}
|
|
45
|
+
async signMessage(data) {
|
|
46
|
+
const response = await this.provider.request({
|
|
47
|
+
method: "signMessage",
|
|
48
|
+
params: {
|
|
49
|
+
message: data
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
return response;
|
|
53
|
+
}
|
|
54
|
+
async request(args) {
|
|
55
|
+
const result = await this.provider.request(args);
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export { SolanaWallet };
|
package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import { providerErrors, 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 { createXrplJsonRpcClient } from '../../rpc/JrpcClient.js';
|
|
6
|
+
import { RPC_METHODS, createXRPLMiddleware, creatXrplChainSwitchMiddleware } from '../../rpc/xrplRpcMiddlewares.js';
|
|
7
|
+
import { getProviderHandlers } from './xrplWalletUtils.js';
|
|
8
|
+
import { BaseProvider } from '../../../base-provider/baseProvider.js';
|
|
9
|
+
|
|
10
|
+
var _XrplPrivateKeyProvider;
|
|
11
|
+
class XrplPrivateKeyProvider extends BaseProvider {
|
|
12
|
+
constructor({
|
|
13
|
+
config,
|
|
14
|
+
state
|
|
15
|
+
}) {
|
|
16
|
+
super({
|
|
17
|
+
config,
|
|
18
|
+
state
|
|
19
|
+
});
|
|
20
|
+
_defineProperty(this, "PROVIDER_CHAIN_NAMESPACE", CHAIN_NAMESPACES.XRPL);
|
|
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: RPC_METHODS.GET_ACCOUNTS
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
async setupProvider(privKey) {
|
|
33
|
+
const {
|
|
34
|
+
wsTarget,
|
|
35
|
+
chainNamespace
|
|
36
|
+
} = this.config.chainConfig;
|
|
37
|
+
if (chainNamespace !== this.PROVIDER_CHAIN_NAMESPACE) throw WalletInitializationError.incompatibleChainNameSpace("Invalid chain namespace");
|
|
38
|
+
if (!wsTarget) {
|
|
39
|
+
throw WalletInitializationError.invalidParams(`wsTarget is required in chainConfig for xrplProvider`);
|
|
40
|
+
}
|
|
41
|
+
const providerHandlers = await getProviderHandlers({
|
|
42
|
+
privKey,
|
|
43
|
+
chainConfig: this.config.chainConfig,
|
|
44
|
+
keyExportEnabled: this.config.keyExportEnabled
|
|
45
|
+
});
|
|
46
|
+
const xrplWalletMiddleware = createXRPLMiddleware(providerHandlers);
|
|
47
|
+
const engine = new JRPCEngine();
|
|
48
|
+
const {
|
|
49
|
+
networkMiddleware
|
|
50
|
+
} = createXrplJsonRpcClient(this.config.chainConfig);
|
|
51
|
+
engine.push(this.getChainSwitchMiddleware());
|
|
52
|
+
engine.push(xrplWalletMiddleware);
|
|
53
|
+
engine.push(networkMiddleware);
|
|
54
|
+
const provider = providerFromEngine(engine);
|
|
55
|
+
this.updateProviderEngineProxy(provider);
|
|
56
|
+
await this.lookupNetwork();
|
|
57
|
+
}
|
|
58
|
+
async switchChain(params) {
|
|
59
|
+
if (!this._providerEngineProxy) throw providerErrors.custom({
|
|
60
|
+
message: "Provider is not initialized",
|
|
61
|
+
code: 4902
|
|
62
|
+
});
|
|
63
|
+
const chainConfig = this.getChainConfig(params.chainId);
|
|
64
|
+
this.update({
|
|
65
|
+
chainId: "loading"
|
|
66
|
+
});
|
|
67
|
+
this.configure({
|
|
68
|
+
chainConfig
|
|
69
|
+
});
|
|
70
|
+
const {
|
|
71
|
+
privateKey
|
|
72
|
+
} = await this._providerEngineProxy.request({
|
|
73
|
+
method: RPC_METHODS.GET_KEY_PAIR
|
|
74
|
+
});
|
|
75
|
+
await this.setupProvider(privateKey);
|
|
76
|
+
}
|
|
77
|
+
async lookupNetwork() {
|
|
78
|
+
if (!this._providerEngineProxy) throw providerErrors.custom({
|
|
79
|
+
message: "Provider is not initialized",
|
|
80
|
+
code: 4902
|
|
81
|
+
});
|
|
82
|
+
const {
|
|
83
|
+
chainId
|
|
84
|
+
} = this.config.chainConfig;
|
|
85
|
+
if (!chainId) throw rpcErrors.invalidParams("chainId is required while lookupNetwork");
|
|
86
|
+
const pingResponse = await this._providerEngineProxy.request({
|
|
87
|
+
method: "ping",
|
|
88
|
+
params: []
|
|
89
|
+
});
|
|
90
|
+
if ((pingResponse === null || pingResponse === void 0 ? void 0 : pingResponse.status) !== "success") {
|
|
91
|
+
const {
|
|
92
|
+
chainConfig
|
|
93
|
+
} = this.config;
|
|
94
|
+
throw WalletInitializationError.rpcConnectionError(`Failed to ping network for following rpc target: ${chainConfig.rpcTarget}`);
|
|
95
|
+
}
|
|
96
|
+
if (this.state.chainId !== chainId) {
|
|
97
|
+
this.emit("chainChanged", chainId);
|
|
98
|
+
this.emit("connect", {
|
|
99
|
+
chainId
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
this.update({
|
|
103
|
+
chainId
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
getChainSwitchMiddleware() {
|
|
107
|
+
const chainSwitchHandlers = {
|
|
108
|
+
addChainConfig: async req => {
|
|
109
|
+
if (!req.params) throw rpcErrors.invalidParams("Missing request params");
|
|
110
|
+
const {
|
|
111
|
+
chainId,
|
|
112
|
+
ticker,
|
|
113
|
+
tickerName,
|
|
114
|
+
displayName,
|
|
115
|
+
rpcTarget,
|
|
116
|
+
wsTarget,
|
|
117
|
+
blockExplorerUrl,
|
|
118
|
+
logo
|
|
119
|
+
} = req.params;
|
|
120
|
+
if (!chainId) throw rpcErrors.invalidParams("Missing chainId in chainParams");
|
|
121
|
+
if (!rpcTarget) throw rpcErrors.invalidParams("Missing rpcTarget in chainParams");
|
|
122
|
+
if (!wsTarget) throw rpcErrors.invalidParams("Missing wsTarget in chainParams");
|
|
123
|
+
this.addChain({
|
|
124
|
+
chainNamespace: CHAIN_NAMESPACES.XRPL,
|
|
125
|
+
chainId,
|
|
126
|
+
ticker: ticker || "XRP",
|
|
127
|
+
tickerName: tickerName || "XRPL",
|
|
128
|
+
displayName: displayName || "XRPL",
|
|
129
|
+
rpcTarget,
|
|
130
|
+
wsTarget,
|
|
131
|
+
blockExplorerUrl,
|
|
132
|
+
logo
|
|
133
|
+
});
|
|
134
|
+
},
|
|
135
|
+
switchChain: async req => {
|
|
136
|
+
if (!req.params) throw rpcErrors.invalidParams("Missing request params");
|
|
137
|
+
if (!req.params.chainId) throw rpcErrors.invalidParams("Missing chainId");
|
|
138
|
+
await this.switchChain(req.params);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
const chainSwitchMiddleware = creatXrplChainSwitchMiddleware(chainSwitchHandlers);
|
|
142
|
+
return chainSwitchMiddleware;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
_XrplPrivateKeyProvider = XrplPrivateKeyProvider;
|
|
146
|
+
_defineProperty(XrplPrivateKeyProvider, "getProviderInstance", async params => {
|
|
147
|
+
const providerFactory = new _XrplPrivateKeyProvider({
|
|
148
|
+
config: {
|
|
149
|
+
chainConfig: params.chainConfig
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
await providerFactory.setupProvider(params.privKey);
|
|
153
|
+
return providerFactory;
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
export { XrplPrivateKeyProvider };
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { rpcErrors, providerErrors } from '@web3auth/auth';
|
|
2
|
+
import { sign, generateSeed } from 'ripple-keypairs';
|
|
3
|
+
import { Client, Wallet, deriveAddress } from 'xrpl';
|
|
4
|
+
import ECDSA from 'xrpl/dist/npm/ECDSA';
|
|
5
|
+
|
|
6
|
+
const deriveKeypair = web3authKey => {
|
|
7
|
+
const seed = generateSeed({
|
|
8
|
+
entropy: Buffer.from(web3authKey.padStart(64, "0"), "hex"),
|
|
9
|
+
algorithm: "ecdsa-secp256k1"
|
|
10
|
+
});
|
|
11
|
+
const wallet = Wallet.fromSecret(seed, {
|
|
12
|
+
algorithm: ECDSA.secp256k1
|
|
13
|
+
}); // web3auth network currently only supports the secp256k1 key
|
|
14
|
+
return {
|
|
15
|
+
privateKey: wallet.privateKey,
|
|
16
|
+
publicKey: wallet.publicKey
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
async function getProviderHandlers({
|
|
20
|
+
privKey: web3authKey,
|
|
21
|
+
chainConfig,
|
|
22
|
+
keyExportEnabled
|
|
23
|
+
}) {
|
|
24
|
+
const client = new Client(chainConfig.wsTarget);
|
|
25
|
+
await client.connect();
|
|
26
|
+
return {
|
|
27
|
+
getAccounts: async _ => {
|
|
28
|
+
const {
|
|
29
|
+
publicKey
|
|
30
|
+
} = deriveKeypair(web3authKey);
|
|
31
|
+
const accAddress = deriveAddress(publicKey);
|
|
32
|
+
return [accAddress];
|
|
33
|
+
},
|
|
34
|
+
getKeyPair: async _ => {
|
|
35
|
+
if (!keyExportEnabled) throw providerErrors.custom({
|
|
36
|
+
message: "Private key export is disabled",
|
|
37
|
+
code: 4902
|
|
38
|
+
});
|
|
39
|
+
return deriveKeypair(web3authKey);
|
|
40
|
+
},
|
|
41
|
+
getPublicKey: async _ => {
|
|
42
|
+
const keyPair = deriveKeypair(web3authKey);
|
|
43
|
+
return keyPair.publicKey;
|
|
44
|
+
},
|
|
45
|
+
signTransaction: async req => {
|
|
46
|
+
const {
|
|
47
|
+
transaction,
|
|
48
|
+
multisign
|
|
49
|
+
} = req.params || {};
|
|
50
|
+
if (!transaction) throw rpcErrors.invalidParams("Invalid params, req.params.transaction is required");
|
|
51
|
+
const {
|
|
52
|
+
publicKey,
|
|
53
|
+
privateKey
|
|
54
|
+
} = deriveKeypair(web3authKey);
|
|
55
|
+
const wallet = new Wallet(publicKey, privateKey);
|
|
56
|
+
return wallet.sign(transaction, multisign);
|
|
57
|
+
},
|
|
58
|
+
submitTransaction: async req => {
|
|
59
|
+
const {
|
|
60
|
+
transaction
|
|
61
|
+
} = req.params || {};
|
|
62
|
+
if (!transaction) throw rpcErrors.invalidParams("Invalid params, req.params.transaction is required");
|
|
63
|
+
const {
|
|
64
|
+
publicKey,
|
|
65
|
+
privateKey
|
|
66
|
+
} = deriveKeypair(web3authKey);
|
|
67
|
+
const wallet = new Wallet(publicKey, privateKey);
|
|
68
|
+
const res = await client.submit(transaction, {
|
|
69
|
+
wallet
|
|
70
|
+
});
|
|
71
|
+
return res;
|
|
72
|
+
},
|
|
73
|
+
signMessage: async req => {
|
|
74
|
+
const {
|
|
75
|
+
message
|
|
76
|
+
} = req.params || {};
|
|
77
|
+
if (!message) throw rpcErrors.invalidParams("Invalid params, req.params.message is required");
|
|
78
|
+
const keyPair = deriveKeypair(web3authKey);
|
|
79
|
+
const signature = sign(message, keyPair.privateKey);
|
|
80
|
+
return {
|
|
81
|
+
signature
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export { getProviderHandlers };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { createFetchMiddleware } from '@toruslabs/base-controllers';
|
|
2
|
+
import { mergeMiddleware } from '@web3auth/auth';
|
|
3
|
+
import { RPC_METHODS } from './xrplRpcMiddlewares.js';
|
|
4
|
+
|
|
5
|
+
function createXrplChainIdMiddleware(chainId) {
|
|
6
|
+
return (req, res, next, end) => {
|
|
7
|
+
if (req.method === RPC_METHODS.CHAIN_ID) {
|
|
8
|
+
res.result = chainId;
|
|
9
|
+
return end();
|
|
10
|
+
}
|
|
11
|
+
return next();
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function createXrplProviderConfigMiddleware(providerConfig) {
|
|
15
|
+
return (req, res, next, end) => {
|
|
16
|
+
if (req.method === RPC_METHODS.PROVIDER_CHAIN_CONFIG) {
|
|
17
|
+
res.result = providerConfig;
|
|
18
|
+
return end();
|
|
19
|
+
}
|
|
20
|
+
return next();
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function createConfigMiddleware(providerConfig) {
|
|
24
|
+
const {
|
|
25
|
+
chainId
|
|
26
|
+
} = providerConfig;
|
|
27
|
+
return mergeMiddleware([createXrplChainIdMiddleware(chainId), createXrplProviderConfigMiddleware(providerConfig)]);
|
|
28
|
+
}
|
|
29
|
+
function createXrplJsonRpcClient(providerConfig) {
|
|
30
|
+
const {
|
|
31
|
+
rpcTarget
|
|
32
|
+
} = providerConfig;
|
|
33
|
+
const fetchMiddleware = createFetchMiddleware({
|
|
34
|
+
rpcTarget
|
|
35
|
+
});
|
|
36
|
+
const networkMiddleware = mergeMiddleware([createConfigMiddleware(providerConfig), fetchMiddleware]);
|
|
37
|
+
return {
|
|
38
|
+
networkMiddleware,
|
|
39
|
+
fetchMiddleware
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export { createConfigMiddleware, createXrplChainIdMiddleware, createXrplJsonRpcClient, createXrplProviderConfigMiddleware };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { randomId } from '@toruslabs/base-controllers';
|
|
2
|
+
import { mergeMiddleware, createAsyncMiddleware } from '@web3auth/auth';
|
|
3
|
+
|
|
4
|
+
const RPC_METHODS = {
|
|
5
|
+
GET_ACCOUNTS: "xrpl_getAccounts",
|
|
6
|
+
GET_KEY_PAIR: "xrpl_getKeyPair",
|
|
7
|
+
GET_PUBLIC_KEY: "xrpl_getPublicKey",
|
|
8
|
+
SIGN_MESSAGE: "xrpl_signMessage",
|
|
9
|
+
SIGN_TRANSACTION: "xrpl_signTransaction",
|
|
10
|
+
SUBMIT_TRANSACTION: "xrpl_submitTransaction",
|
|
11
|
+
ADD_CHAIN: "xrpl_addChain",
|
|
12
|
+
SWITCH_CHAIN: "xrpl_switchChain",
|
|
13
|
+
CHAIN_ID: "xrpl_chainId",
|
|
14
|
+
PROVIDER_CHAIN_CONFIG: "xrpl_providerChainConfig"
|
|
15
|
+
};
|
|
16
|
+
function createGetAccountsMiddleware({
|
|
17
|
+
getAccounts
|
|
18
|
+
}) {
|
|
19
|
+
return createAsyncMiddleware(async (request, response, next) => {
|
|
20
|
+
const {
|
|
21
|
+
method
|
|
22
|
+
} = request;
|
|
23
|
+
|
|
24
|
+
// hack to override big ids from fetch middleware which are not supported in xrpl servers
|
|
25
|
+
// TODO: fix this for xrpl controllers.
|
|
26
|
+
request.id = randomId();
|
|
27
|
+
if (method !== RPC_METHODS.GET_ACCOUNTS) return next();
|
|
28
|
+
if (!getAccounts) throw new Error("WalletMiddleware - opts.getAccounts not provided");
|
|
29
|
+
// This calls from the prefs controller
|
|
30
|
+
const accounts = await getAccounts(request);
|
|
31
|
+
response.result = accounts;
|
|
32
|
+
return undefined;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function createGenericJRPCMiddleware(targetMethod, handler) {
|
|
36
|
+
return createAsyncMiddleware(async (request, response, next) => {
|
|
37
|
+
const {
|
|
38
|
+
method
|
|
39
|
+
} = request;
|
|
40
|
+
if (method !== targetMethod) return next();
|
|
41
|
+
if (!handler) throw new Error(`WalletMiddleware - ${targetMethod} not provided`);
|
|
42
|
+
const result = await handler(request);
|
|
43
|
+
response.result = result;
|
|
44
|
+
return undefined;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function createXRPLMiddleware(providerHandlers) {
|
|
48
|
+
const {
|
|
49
|
+
getAccounts,
|
|
50
|
+
submitTransaction,
|
|
51
|
+
signTransaction,
|
|
52
|
+
signMessage,
|
|
53
|
+
getKeyPair,
|
|
54
|
+
getPublicKey
|
|
55
|
+
} = providerHandlers;
|
|
56
|
+
return mergeMiddleware([createGetAccountsMiddleware({
|
|
57
|
+
getAccounts
|
|
58
|
+
}), createGenericJRPCMiddleware(RPC_METHODS.SIGN_TRANSACTION, signTransaction), createGenericJRPCMiddleware(RPC_METHODS.SUBMIT_TRANSACTION, submitTransaction), createGenericJRPCMiddleware(RPC_METHODS.SIGN_MESSAGE, signMessage), createGenericJRPCMiddleware(RPC_METHODS.GET_KEY_PAIR, getKeyPair), createGenericJRPCMiddleware(RPC_METHODS.GET_PUBLIC_KEY, getPublicKey)]);
|
|
59
|
+
}
|
|
60
|
+
function creatXrplChainSwitchMiddleware({
|
|
61
|
+
addChainConfig,
|
|
62
|
+
switchChain
|
|
63
|
+
}) {
|
|
64
|
+
return mergeMiddleware([createGenericJRPCMiddleware(RPC_METHODS.ADD_CHAIN, addChainConfig), createGenericJRPCMiddleware(RPC_METHODS.SWITCH_CHAIN, switchChain)]);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export { RPC_METHODS, creatXrplChainSwitchMiddleware, createGenericJRPCMiddleware, createGetAccountsMiddleware, createXRPLMiddleware };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { useWeb3Auth } from './no-modal/hooks/useWeb3Auth.js';
|
|
2
|
+
export { Web3AuthProvider } from './no-modal/Web3AuthProvider.js';
|
|
3
|
+
export { useWalletServicesPlugin } from './wallet-services-plugin/hooks/useWalletServicesPlugin.js';
|
|
4
|
+
export { WalletServicesContext, WalletServicesContextProvider } from './wallet-services-plugin/WalletServicesContext.js';
|
|
5
|
+
export { WalletServicesProvider } from './wallet-services-plugin/WalletServicesProvider.js';
|