@web3auth/no-modal 9.5.4 → 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,376 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
+
var baseControllers = require('@toruslabs/base-controllers');
|
|
6
|
+
var Client = require('@walletconnect/sign-client');
|
|
7
|
+
var utils$1 = require('@walletconnect/utils');
|
|
8
|
+
var bs58 = require('bs58');
|
|
9
|
+
var deepmerge = require('deepmerge');
|
|
10
|
+
var IChainInterface = require('../../base/chain/IChainInterface.js');
|
|
11
|
+
var index$1 = require('../../base/errors/index.js');
|
|
12
|
+
var loglevel = require('../../base/loglevel.js');
|
|
13
|
+
var index = require('../../base/wallet/index.js');
|
|
14
|
+
var config = require('./config.js');
|
|
15
|
+
var WalletConnectV2Provider = require('./WalletConnectV2Provider.js');
|
|
16
|
+
var baseAdapter = require('../../base/adapter/baseAdapter.js');
|
|
17
|
+
var constants = require('../../base/adapter/constants.js');
|
|
18
|
+
var utils = require('../../base/adapter/utils.js');
|
|
19
|
+
|
|
20
|
+
class WalletConnectV2Adapter extends baseAdapter.BaseAdapter {
|
|
21
|
+
constructor(options = {}) {
|
|
22
|
+
super(options);
|
|
23
|
+
_defineProperty(this, "name", index.WALLET_ADAPTERS.WALLET_CONNECT_V2);
|
|
24
|
+
_defineProperty(this, "adapterNamespace", IChainInterface.ADAPTER_NAMESPACES.MULTICHAIN);
|
|
25
|
+
_defineProperty(this, "currentChainNamespace", IChainInterface.CHAIN_NAMESPACES.OTHER);
|
|
26
|
+
_defineProperty(this, "type", constants.ADAPTER_CATEGORY.EXTERNAL);
|
|
27
|
+
_defineProperty(this, "adapterOptions", {});
|
|
28
|
+
_defineProperty(this, "status", constants.ADAPTER_STATUS.NOT_READY);
|
|
29
|
+
_defineProperty(this, "adapterData", {
|
|
30
|
+
uri: ""
|
|
31
|
+
});
|
|
32
|
+
_defineProperty(this, "connector", null);
|
|
33
|
+
_defineProperty(this, "activeSession", null);
|
|
34
|
+
_defineProperty(this, "wcProvider", null);
|
|
35
|
+
this.adapterOptions = _objectSpread({}, options);
|
|
36
|
+
this.setAdapterSettings(options);
|
|
37
|
+
}
|
|
38
|
+
get connected() {
|
|
39
|
+
return !!this.activeSession;
|
|
40
|
+
}
|
|
41
|
+
get provider() {
|
|
42
|
+
if (this.status !== constants.ADAPTER_STATUS.NOT_READY && this.wcProvider) {
|
|
43
|
+
return this.wcProvider;
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
set provider(_) {
|
|
48
|
+
throw new Error("Not implemented");
|
|
49
|
+
}
|
|
50
|
+
async init(options) {
|
|
51
|
+
var _this$adapterOptions$, _this$chainConfig, _this$chainConfig2;
|
|
52
|
+
super.checkInitializationRequirements();
|
|
53
|
+
const projectId = (_this$adapterOptions$ = this.adapterOptions.adapterSettings) === null || _this$adapterOptions$ === void 0 || (_this$adapterOptions$ = _this$adapterOptions$.walletConnectInitOptions) === null || _this$adapterOptions$ === void 0 ? void 0 : _this$adapterOptions$.projectId;
|
|
54
|
+
if (!projectId) {
|
|
55
|
+
throw index$1.WalletInitializationError.invalidParams("Wallet connect project id is required in wallet connect v2 adapter");
|
|
56
|
+
}
|
|
57
|
+
const wc2Settings = await config.getWalletConnectV2Settings((_this$chainConfig = this.chainConfig) === null || _this$chainConfig === void 0 ? void 0 : _this$chainConfig.chainNamespace, [(_this$chainConfig2 = this.chainConfig) === null || _this$chainConfig2 === void 0 ? void 0 : _this$chainConfig2.chainId], projectId);
|
|
58
|
+
if (!this.adapterOptions.loginSettings || Object.keys(this.adapterOptions.loginSettings).length === 0) {
|
|
59
|
+
this.adapterOptions.loginSettings = wc2Settings.loginSettings;
|
|
60
|
+
}
|
|
61
|
+
this.adapterOptions.adapterSettings = deepmerge(wc2Settings.adapterSettings || {}, this.adapterOptions.adapterSettings || {});
|
|
62
|
+
const {
|
|
63
|
+
adapterSettings
|
|
64
|
+
} = this.adapterOptions;
|
|
65
|
+
this.connector = await Client.init(adapterSettings === null || adapterSettings === void 0 ? void 0 : adapterSettings.walletConnectInitOptions);
|
|
66
|
+
this.wcProvider = new WalletConnectV2Provider.WalletConnectV2Provider({
|
|
67
|
+
config: {
|
|
68
|
+
chainConfig: this.chainConfig
|
|
69
|
+
},
|
|
70
|
+
connector: this.connector
|
|
71
|
+
});
|
|
72
|
+
this.emit(constants.ADAPTER_EVENTS.READY, index.WALLET_ADAPTERS.WALLET_CONNECT_V2);
|
|
73
|
+
this.status = constants.ADAPTER_STATUS.READY;
|
|
74
|
+
loglevel.log.debug("initializing wallet connect v2 adapter");
|
|
75
|
+
if (options.autoConnect) {
|
|
76
|
+
await this.checkForPersistedSession();
|
|
77
|
+
if (this.connected) {
|
|
78
|
+
this.rehydrated = true;
|
|
79
|
+
try {
|
|
80
|
+
await this.onConnectHandler();
|
|
81
|
+
} catch (error) {
|
|
82
|
+
loglevel.log.error("wallet auto connect", error);
|
|
83
|
+
this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
|
|
84
|
+
}
|
|
85
|
+
} else {
|
|
86
|
+
this.status = constants.ADAPTER_STATUS.NOT_READY;
|
|
87
|
+
this.emit(constants.ADAPTER_EVENTS.CACHE_CLEAR);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
async connect() {
|
|
92
|
+
super.checkConnectionRequirements();
|
|
93
|
+
if (!this.connector) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
94
|
+
try {
|
|
95
|
+
// if already connected
|
|
96
|
+
if (this.connected) {
|
|
97
|
+
await this.onConnectHandler();
|
|
98
|
+
return this.provider;
|
|
99
|
+
}
|
|
100
|
+
if (this.status !== constants.ADAPTER_STATUS.CONNECTING) {
|
|
101
|
+
await this.createNewSession();
|
|
102
|
+
}
|
|
103
|
+
return this.provider;
|
|
104
|
+
} catch (error) {
|
|
105
|
+
loglevel.log.error("Wallet connect v2 adapter error while connecting", error);
|
|
106
|
+
// ready again to be connected
|
|
107
|
+
this.status = constants.ADAPTER_STATUS.READY;
|
|
108
|
+
this.rehydrated = true;
|
|
109
|
+
this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
|
|
110
|
+
const finalError = error instanceof index$1.Web3AuthError ? error : index$1.WalletLoginError.connectionError(`Failed to login with wallet connect: ${(error === null || error === void 0 ? void 0 : error.message) || ""}`, error);
|
|
111
|
+
throw finalError;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// should be called only before initialization.
|
|
116
|
+
setAdapterSettings(adapterSettings) {
|
|
117
|
+
var _this$adapterOptions$2, _this$adapterOptions, _this$adapterOptions$3, _this$adapterOptions2, _this$adapterOptions$4;
|
|
118
|
+
super.setAdapterSettings(adapterSettings);
|
|
119
|
+
const {
|
|
120
|
+
qrcodeModal,
|
|
121
|
+
walletConnectInitOptions
|
|
122
|
+
} = (adapterSettings === null || adapterSettings === void 0 ? void 0 : adapterSettings.adapterSettings) || {};
|
|
123
|
+
this.adapterOptions = _objectSpread(_objectSpread({}, this.adapterOptions), {}, {
|
|
124
|
+
adapterSettings: (_this$adapterOptions$2 = (_this$adapterOptions = this.adapterOptions) === null || _this$adapterOptions === void 0 ? void 0 : _this$adapterOptions.adapterSettings) !== null && _this$adapterOptions$2 !== void 0 ? _this$adapterOptions$2 : {},
|
|
125
|
+
loginSettings: (_this$adapterOptions$3 = (_this$adapterOptions2 = this.adapterOptions) === null || _this$adapterOptions2 === void 0 ? void 0 : _this$adapterOptions2.loginSettings) !== null && _this$adapterOptions$3 !== void 0 ? _this$adapterOptions$3 : {}
|
|
126
|
+
});
|
|
127
|
+
if (qrcodeModal) this.adapterOptions.adapterSettings.qrcodeModal = qrcodeModal;
|
|
128
|
+
if (walletConnectInitOptions) this.adapterOptions.adapterSettings.walletConnectInitOptions = _objectSpread(_objectSpread({}, (_this$adapterOptions$4 = this.adapterOptions.adapterSettings.walletConnectInitOptions) !== null && _this$adapterOptions$4 !== void 0 ? _this$adapterOptions$4 : {}), walletConnectInitOptions);
|
|
129
|
+
const {
|
|
130
|
+
loginSettings
|
|
131
|
+
} = adapterSettings;
|
|
132
|
+
if (loginSettings) this.adapterOptions.loginSettings = _objectSpread(_objectSpread({}, this.adapterOptions.loginSettings || {}), loginSettings);
|
|
133
|
+
}
|
|
134
|
+
async addChain(chainConfig, init = false) {
|
|
135
|
+
var _this$wcProvider;
|
|
136
|
+
super.checkAddChainRequirements(chainConfig, init);
|
|
137
|
+
await ((_this$wcProvider = this.wcProvider) === null || _this$wcProvider === void 0 ? void 0 : _this$wcProvider.addChain(chainConfig));
|
|
138
|
+
this.addChainConfig(chainConfig);
|
|
139
|
+
}
|
|
140
|
+
async switchChain(params, init = false) {
|
|
141
|
+
var _this$wcProvider2;
|
|
142
|
+
super.checkSwitchChainRequirements(params, init);
|
|
143
|
+
await ((_this$wcProvider2 = this.wcProvider) === null || _this$wcProvider2 === void 0 ? void 0 : _this$wcProvider2.switchChain({
|
|
144
|
+
chainId: params.chainId
|
|
145
|
+
}));
|
|
146
|
+
this.setAdapterSettings({
|
|
147
|
+
chainConfig: this.getChainConfig(params.chainId)
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
async getUserInfo() {
|
|
151
|
+
if (!this.connected) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
152
|
+
return {};
|
|
153
|
+
}
|
|
154
|
+
async disconnect(options = {
|
|
155
|
+
cleanup: false,
|
|
156
|
+
sessionRemovedByWallet: false
|
|
157
|
+
}) {
|
|
158
|
+
var _this$activeSession, _this$activeSession2;
|
|
159
|
+
const {
|
|
160
|
+
cleanup
|
|
161
|
+
} = options;
|
|
162
|
+
if (!this.connector || !this.connected || !((_this$activeSession = this.activeSession) !== null && _this$activeSession !== void 0 && _this$activeSession.topic)) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet");
|
|
163
|
+
if (!options.sessionRemovedByWallet) await this.connector.disconnect({
|
|
164
|
+
topic: (_this$activeSession2 = this.activeSession) === null || _this$activeSession2 === void 0 ? void 0 : _this$activeSession2.topic,
|
|
165
|
+
reason: utils$1.getSdkError("USER_DISCONNECTED")
|
|
166
|
+
});
|
|
167
|
+
this.rehydrated = false;
|
|
168
|
+
if (cleanup) {
|
|
169
|
+
this.connector = null;
|
|
170
|
+
this.status = constants.ADAPTER_STATUS.NOT_READY;
|
|
171
|
+
this.wcProvider = null;
|
|
172
|
+
} else {
|
|
173
|
+
// ready to connect again
|
|
174
|
+
this.status = constants.ADAPTER_STATUS.READY;
|
|
175
|
+
}
|
|
176
|
+
this.activeSession = null;
|
|
177
|
+
this.emit(constants.ADAPTER_EVENTS.DISCONNECTED);
|
|
178
|
+
}
|
|
179
|
+
async authenticateUser() {
|
|
180
|
+
if (!this.provider || this.status !== constants.ADAPTER_STATUS.CONNECTED) throw index$1.WalletLoginError.notConnectedError();
|
|
181
|
+
const {
|
|
182
|
+
chainNamespace,
|
|
183
|
+
chainId
|
|
184
|
+
} = this.chainConfig;
|
|
185
|
+
const accounts = await this.provider.request({
|
|
186
|
+
method: chainNamespace === IChainInterface.CHAIN_NAMESPACES.EIP155 ? "eth_accounts" : "getAccounts"
|
|
187
|
+
});
|
|
188
|
+
if (accounts && accounts.length > 0) {
|
|
189
|
+
const existingToken = utils.getSavedToken(accounts[0], this.name);
|
|
190
|
+
if (existingToken) {
|
|
191
|
+
const isExpired = utils.checkIfTokenIsExpired(existingToken);
|
|
192
|
+
if (!isExpired) {
|
|
193
|
+
return {
|
|
194
|
+
idToken: existingToken
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
const payload = {
|
|
199
|
+
domain: window.location.origin,
|
|
200
|
+
uri: window.location.href,
|
|
201
|
+
address: accounts[0],
|
|
202
|
+
chainId: parseInt(chainId, 16),
|
|
203
|
+
version: "1",
|
|
204
|
+
nonce: Math.random().toString(36).slice(2),
|
|
205
|
+
issuedAt: new Date().toISOString()
|
|
206
|
+
};
|
|
207
|
+
const challenge = await baseControllers.signChallenge(payload, chainNamespace);
|
|
208
|
+
const signedMessage = await this._getSignedMessage(challenge, accounts, chainNamespace);
|
|
209
|
+
const idToken = await baseControllers.verifySignedChallenge(chainNamespace, signedMessage, challenge, this.name, this.sessionTime, this.clientId, this.web3AuthNetwork);
|
|
210
|
+
utils.saveToken(accounts[0], this.name, idToken);
|
|
211
|
+
return {
|
|
212
|
+
idToken
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
216
|
+
}
|
|
217
|
+
async enableMFA() {
|
|
218
|
+
throw new Error("Method Not implemented");
|
|
219
|
+
}
|
|
220
|
+
async manageMFA() {
|
|
221
|
+
throw new Error("Method Not implemented");
|
|
222
|
+
}
|
|
223
|
+
cleanupPendingPairings() {
|
|
224
|
+
if (!this.connector) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
225
|
+
const inactivePairings = this.connector.pairing.getAll({
|
|
226
|
+
active: false
|
|
227
|
+
});
|
|
228
|
+
if (!utils$1.isValidArray(inactivePairings)) return;
|
|
229
|
+
inactivePairings.forEach(pairing => {
|
|
230
|
+
if (this.connector) {
|
|
231
|
+
this.connector.pairing.delete(pairing.topic, utils$1.getSdkError("USER_DISCONNECTED"));
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
async checkForPersistedSession() {
|
|
236
|
+
if (!this.connector) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
237
|
+
if (this.connector.session.length) {
|
|
238
|
+
const lastKeyIndex = this.connector.session.keys.length - 1;
|
|
239
|
+
this.activeSession = this.connector.session.get(this.connector.session.keys[lastKeyIndex]);
|
|
240
|
+
}
|
|
241
|
+
return this.activeSession;
|
|
242
|
+
}
|
|
243
|
+
async createNewSession(opts = {
|
|
244
|
+
forceNewSession: false
|
|
245
|
+
}) {
|
|
246
|
+
try {
|
|
247
|
+
var _this$activeSession3, _this$adapterOptions3;
|
|
248
|
+
if (!this.connector) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
249
|
+
if (!this.adapterOptions.loginSettings || Object.keys(this.adapterOptions.loginSettings).length === 0) throw index$1.WalletInitializationError.notReady("login settings are not set yet");
|
|
250
|
+
this.status = constants.ADAPTER_STATUS.CONNECTING;
|
|
251
|
+
this.emit(constants.ADAPTER_EVENTS.CONNECTING, {
|
|
252
|
+
adapter: index.WALLET_ADAPTERS.WALLET_CONNECT_V2
|
|
253
|
+
});
|
|
254
|
+
if (opts.forceNewSession && (_this$activeSession3 = this.activeSession) !== null && _this$activeSession3 !== void 0 && _this$activeSession3.topic) {
|
|
255
|
+
var _this$activeSession4;
|
|
256
|
+
await this.connector.disconnect({
|
|
257
|
+
topic: (_this$activeSession4 = this.activeSession) === null || _this$activeSession4 === void 0 ? void 0 : _this$activeSession4.topic,
|
|
258
|
+
reason: utils$1.getSdkError("USER_DISCONNECTED")
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
const {
|
|
262
|
+
uri,
|
|
263
|
+
approval
|
|
264
|
+
} = await this.connector.connect(this.adapterOptions.loginSettings);
|
|
265
|
+
const qrcodeModal = (_this$adapterOptions3 = this.adapterOptions) === null || _this$adapterOptions3 === void 0 || (_this$adapterOptions3 = _this$adapterOptions3.adapterSettings) === null || _this$adapterOptions3 === void 0 ? void 0 : _this$adapterOptions3.qrcodeModal;
|
|
266
|
+
// Open QRCode modal if a URI was returned (i.e. we're not connecting with an existing pairing).
|
|
267
|
+
if (uri) {
|
|
268
|
+
if (qrcodeModal) {
|
|
269
|
+
try {
|
|
270
|
+
await qrcodeModal.openModal({
|
|
271
|
+
uri
|
|
272
|
+
});
|
|
273
|
+
loglevel.log.debug("EVENT", "QR Code Modal closed");
|
|
274
|
+
this.status = constants.ADAPTER_STATUS.READY;
|
|
275
|
+
this.emit(constants.ADAPTER_EVENTS.READY, index.WALLET_ADAPTERS.WALLET_CONNECT_V2);
|
|
276
|
+
} catch (error) {
|
|
277
|
+
loglevel.log.error("unable to open qr code modal");
|
|
278
|
+
}
|
|
279
|
+
} else {
|
|
280
|
+
this.updateAdapterData({
|
|
281
|
+
uri
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
loglevel.log.info("awaiting session approval from wallet");
|
|
286
|
+
|
|
287
|
+
// Await session approval from the wallet.
|
|
288
|
+
const session = await approval();
|
|
289
|
+
this.activeSession = session;
|
|
290
|
+
// Handle the returned session (e.g. update UI to "connected" state).
|
|
291
|
+
await this.onConnectHandler();
|
|
292
|
+
if (qrcodeModal) {
|
|
293
|
+
qrcodeModal.closeModal();
|
|
294
|
+
}
|
|
295
|
+
} catch (error) {
|
|
296
|
+
var _message;
|
|
297
|
+
if ((_message = error.message) !== null && _message !== void 0 && _message.toLowerCase().includes("proposal expired")) {
|
|
298
|
+
// Retry if adapter status is still connecting
|
|
299
|
+
loglevel.log.info("current adapter status: ", this.status);
|
|
300
|
+
if (this.status === constants.ADAPTER_STATUS.CONNECTING) {
|
|
301
|
+
loglevel.log.info("retrying to create new wallet connect session since proposal expired");
|
|
302
|
+
return this.createNewSession({
|
|
303
|
+
forceNewSession: true
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
if (this.status === constants.ADAPTER_STATUS.READY) {
|
|
307
|
+
loglevel.log.info("ignoring proposal expired error since some other adapter is connected");
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
loglevel.log.error("error while creating new wallet connect session", error);
|
|
312
|
+
this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
|
|
313
|
+
throw error;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
async onConnectHandler() {
|
|
317
|
+
var _this$adapterOptions$5;
|
|
318
|
+
if (!this.connector || !this.wcProvider) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
319
|
+
if (!this.chainConfig) throw index$1.WalletInitializationError.invalidParams("Chain config is not set");
|
|
320
|
+
this.subscribeEvents();
|
|
321
|
+
if ((_this$adapterOptions$5 = this.adapterOptions.adapterSettings) !== null && _this$adapterOptions$5 !== void 0 && _this$adapterOptions$5.qrcodeModal) {
|
|
322
|
+
this.wcProvider = new WalletConnectV2Provider.WalletConnectV2Provider({
|
|
323
|
+
config: {
|
|
324
|
+
chainConfig: this.chainConfig,
|
|
325
|
+
skipLookupNetwork: true
|
|
326
|
+
},
|
|
327
|
+
connector: this.connector
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
await this.wcProvider.setupProvider(this.connector);
|
|
331
|
+
this.cleanupPendingPairings();
|
|
332
|
+
this.status = constants.ADAPTER_STATUS.CONNECTED;
|
|
333
|
+
this.emit(constants.ADAPTER_EVENTS.CONNECTED, {
|
|
334
|
+
adapter: index.WALLET_ADAPTERS.WALLET_CONNECT_V2,
|
|
335
|
+
reconnected: this.rehydrated,
|
|
336
|
+
provider: this.provider
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
subscribeEvents() {
|
|
340
|
+
if (!this.connector) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
341
|
+
this.connector.events.on("session_update", ({
|
|
342
|
+
topic,
|
|
343
|
+
params
|
|
344
|
+
}) => {
|
|
345
|
+
if (!this.connector) return;
|
|
346
|
+
const {
|
|
347
|
+
namespaces
|
|
348
|
+
} = params;
|
|
349
|
+
const _session = this.connector.session.get(topic);
|
|
350
|
+
// Overwrite the `namespaces` of the existing session with the incoming one.
|
|
351
|
+
const updatedSession = _objectSpread(_objectSpread({}, _session), {}, {
|
|
352
|
+
namespaces
|
|
353
|
+
});
|
|
354
|
+
// Integrate the updated session state into your dapp state.
|
|
355
|
+
this.activeSession = updatedSession;
|
|
356
|
+
});
|
|
357
|
+
this.connector.events.on("session_delete", () => {
|
|
358
|
+
// Session was deleted -> reset the dapp state, clean up from user session, etc.
|
|
359
|
+
this.disconnect({
|
|
360
|
+
sessionRemovedByWallet: true
|
|
361
|
+
});
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
async _getSignedMessage(challenge, accounts, chainNamespace) {
|
|
365
|
+
const signedMessage = await this.provider.request({
|
|
366
|
+
method: chainNamespace === IChainInterface.CHAIN_NAMESPACES.EIP155 ? "personal_sign" : "signMessage",
|
|
367
|
+
params: chainNamespace === IChainInterface.CHAIN_NAMESPACES.EIP155 ? [challenge, accounts[0]] : {
|
|
368
|
+
message: Buffer.from(challenge)
|
|
369
|
+
}
|
|
370
|
+
});
|
|
371
|
+
if (chainNamespace === IChainInterface.CHAIN_NAMESPACES.SOLANA) return bs58.encode(signedMessage);
|
|
372
|
+
return signedMessage;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
exports.WalletConnectV2Adapter = WalletConnectV2Adapter;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
+
var auth = require('@web3auth/auth');
|
|
6
|
+
var config = require('../chain/config.js');
|
|
7
|
+
var IChainInterface = require('../chain/IChainInterface.js');
|
|
8
|
+
var index = require('../errors/index.js');
|
|
9
|
+
var index$1 = require('../wallet/index.js');
|
|
10
|
+
var constants = require('./constants.js');
|
|
11
|
+
|
|
12
|
+
class BaseAdapter extends auth.SafeEventEmitter {
|
|
13
|
+
constructor(options = {}) {
|
|
14
|
+
super();
|
|
15
|
+
_defineProperty(this, "adapterData", {});
|
|
16
|
+
_defineProperty(this, "sessionTime", 86400);
|
|
17
|
+
_defineProperty(this, "clientId", void 0);
|
|
18
|
+
_defineProperty(this, "web3AuthNetwork", auth.WEB3AUTH_NETWORK.MAINNET);
|
|
19
|
+
_defineProperty(this, "useCoreKitKey", undefined);
|
|
20
|
+
_defineProperty(this, "rehydrated", false);
|
|
21
|
+
// should be added in constructor or from setAdapterSettings function
|
|
22
|
+
// before calling init function.
|
|
23
|
+
_defineProperty(this, "chainConfig", null);
|
|
24
|
+
_defineProperty(this, "knownChainConfigs", {});
|
|
25
|
+
_defineProperty(this, "adapterNamespace", void 0);
|
|
26
|
+
_defineProperty(this, "currentChainNamespace", void 0);
|
|
27
|
+
_defineProperty(this, "type", void 0);
|
|
28
|
+
_defineProperty(this, "name", void 0);
|
|
29
|
+
_defineProperty(this, "status", void 0);
|
|
30
|
+
this.setAdapterSettings(options);
|
|
31
|
+
}
|
|
32
|
+
get chainConfigProxy() {
|
|
33
|
+
return this.chainConfig ? _objectSpread({}, this.chainConfig) : null;
|
|
34
|
+
}
|
|
35
|
+
get connnected() {
|
|
36
|
+
return this.status === constants.ADAPTER_STATUS.CONNECTED;
|
|
37
|
+
}
|
|
38
|
+
setAdapterSettings(options) {
|
|
39
|
+
if (this.status === constants.ADAPTER_STATUS.READY) return;
|
|
40
|
+
if (options !== null && options !== void 0 && options.sessionTime) {
|
|
41
|
+
this.sessionTime = options.sessionTime;
|
|
42
|
+
}
|
|
43
|
+
if (options !== null && options !== void 0 && options.clientId) {
|
|
44
|
+
this.clientId = options.clientId;
|
|
45
|
+
}
|
|
46
|
+
if (options !== null && options !== void 0 && options.web3AuthNetwork) {
|
|
47
|
+
this.web3AuthNetwork = options.web3AuthNetwork;
|
|
48
|
+
}
|
|
49
|
+
if ((options === null || options === void 0 ? void 0 : options.useCoreKitKey) !== undefined) {
|
|
50
|
+
this.useCoreKitKey = options.useCoreKitKey;
|
|
51
|
+
}
|
|
52
|
+
const customChainConfig = options.chainConfig;
|
|
53
|
+
if (customChainConfig) {
|
|
54
|
+
if (!customChainConfig.chainNamespace) throw index.WalletInitializationError.notReady("ChainNamespace is required while setting chainConfig");
|
|
55
|
+
this.currentChainNamespace = customChainConfig.chainNamespace;
|
|
56
|
+
// chainId is optional in this function.
|
|
57
|
+
// we go with mainnet chainId by default.
|
|
58
|
+
const defaultChainConfig = config.getChainConfig(customChainConfig.chainNamespace, customChainConfig.chainId);
|
|
59
|
+
// NOTE: It is being forced casted to CustomChainConfig to handle OTHER Chainnamespace
|
|
60
|
+
// where chainConfig is not required.
|
|
61
|
+
const finalChainConfig = _objectSpread(_objectSpread({}, defaultChainConfig || {}), customChainConfig);
|
|
62
|
+
this.chainConfig = finalChainConfig;
|
|
63
|
+
this.addChainConfig(finalChainConfig);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
checkConnectionRequirements() {
|
|
67
|
+
// we reconnect without killing existing wallet connect session on calling connect again.
|
|
68
|
+
if (this.name === index$1.WALLET_ADAPTERS.WALLET_CONNECT_V2 && this.status === constants.ADAPTER_STATUS.CONNECTING) return;
|
|
69
|
+
if (this.status === constants.ADAPTER_STATUS.CONNECTING) throw index.WalletInitializationError.notReady("Already connecting");
|
|
70
|
+
if (this.status === constants.ADAPTER_STATUS.CONNECTED) throw index.WalletLoginError.connectionError("Already connected");
|
|
71
|
+
if (this.status !== constants.ADAPTER_STATUS.READY) throw index.WalletLoginError.connectionError("Wallet adapter is not ready yet, Please wait for init function to resolve before calling connect/connectTo function");
|
|
72
|
+
}
|
|
73
|
+
checkInitializationRequirements() {
|
|
74
|
+
if (!this.clientId) throw index.WalletInitializationError.invalidParams("Please initialize Web3Auth with a valid clientId in constructor");
|
|
75
|
+
if (!this.chainConfig) throw index.WalletInitializationError.invalidParams("rpcTarget is required in chainConfig");
|
|
76
|
+
if (!this.chainConfig.rpcTarget && this.chainConfig.chainNamespace !== IChainInterface.CHAIN_NAMESPACES.OTHER) {
|
|
77
|
+
throw index.WalletInitializationError.invalidParams("rpcTarget is required in chainConfig");
|
|
78
|
+
}
|
|
79
|
+
if (!this.chainConfig.chainId && this.chainConfig.chainNamespace !== IChainInterface.CHAIN_NAMESPACES.OTHER) {
|
|
80
|
+
throw index.WalletInitializationError.invalidParams("chainID is required in chainConfig");
|
|
81
|
+
}
|
|
82
|
+
if (this.status === constants.ADAPTER_STATUS.NOT_READY) return;
|
|
83
|
+
if (this.status === constants.ADAPTER_STATUS.CONNECTED) throw index.WalletInitializationError.notReady("Already connected");
|
|
84
|
+
if (this.status === constants.ADAPTER_STATUS.READY) throw index.WalletInitializationError.notReady("Adapter is already initialized");
|
|
85
|
+
}
|
|
86
|
+
checkDisconnectionRequirements() {
|
|
87
|
+
if (this.status !== constants.ADAPTER_STATUS.CONNECTED) throw index.WalletLoginError.disconnectionError("Not connected with wallet");
|
|
88
|
+
}
|
|
89
|
+
checkAddChainRequirements(chainConfig, init = false) {
|
|
90
|
+
if (!init && !this.provider) throw index.WalletLoginError.notConnectedError("Not connected with wallet.");
|
|
91
|
+
if (this.currentChainNamespace !== chainConfig.chainNamespace) {
|
|
92
|
+
throw index.WalletOperationsError.chainNamespaceNotAllowed("This adapter doesn't support this chainNamespace");
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
checkSwitchChainRequirements({
|
|
96
|
+
chainId
|
|
97
|
+
}, init = false) {
|
|
98
|
+
if (!init && !this.provider) throw index.WalletLoginError.notConnectedError("Not connected with wallet.");
|
|
99
|
+
if (!this.knownChainConfigs[chainId]) throw index.WalletLoginError.chainConfigNotAdded("Invalid chainId");
|
|
100
|
+
}
|
|
101
|
+
updateAdapterData(data) {
|
|
102
|
+
this.adapterData = data;
|
|
103
|
+
this.emit(constants.ADAPTER_EVENTS.ADAPTER_DATA_UPDATED, {
|
|
104
|
+
adapterName: this.name,
|
|
105
|
+
data
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
addChainConfig(chainConfig) {
|
|
109
|
+
const currentConfig = this.knownChainConfigs[chainConfig.chainId];
|
|
110
|
+
this.knownChainConfigs[chainConfig.chainId] = _objectSpread(_objectSpread({}, currentConfig || {}), chainConfig);
|
|
111
|
+
}
|
|
112
|
+
getChainConfig(chainId) {
|
|
113
|
+
return this.knownChainConfigs[chainId] || null;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
exports.BaseAdapter = BaseAdapter;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
+
|
|
5
|
+
const ADAPTER_STATUS = {
|
|
6
|
+
NOT_READY: "not_ready",
|
|
7
|
+
READY: "ready",
|
|
8
|
+
CONNECTING: "connecting",
|
|
9
|
+
CONNECTED: "connected",
|
|
10
|
+
DISCONNECTED: "disconnected",
|
|
11
|
+
ERRORED: "errored"
|
|
12
|
+
};
|
|
13
|
+
const ADAPTER_EVENTS = _objectSpread(_objectSpread({}, ADAPTER_STATUS), {}, {
|
|
14
|
+
ADAPTER_DATA_UPDATED: "adapter_data_updated",
|
|
15
|
+
CACHE_CLEAR: "cache_clear"
|
|
16
|
+
});
|
|
17
|
+
const ADAPTER_CATEGORY = {
|
|
18
|
+
EXTERNAL: "external",
|
|
19
|
+
IN_APP: "in_app"
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports.ADAPTER_CATEGORY = ADAPTER_CATEGORY;
|
|
23
|
+
exports.ADAPTER_EVENTS = ADAPTER_EVENTS;
|
|
24
|
+
exports.ADAPTER_STATUS = ADAPTER_STATUS;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jwtDecode = require('jwt-decode');
|
|
4
|
+
|
|
5
|
+
function storageAvailable(type) {
|
|
6
|
+
let storageExists = false;
|
|
7
|
+
let storageLength = 0;
|
|
8
|
+
let storage;
|
|
9
|
+
try {
|
|
10
|
+
storage = window[type];
|
|
11
|
+
storageExists = true;
|
|
12
|
+
storageLength = storage.length;
|
|
13
|
+
const x = "__storage_test__";
|
|
14
|
+
storage.setItem(x, x);
|
|
15
|
+
storage.removeItem(x);
|
|
16
|
+
return true;
|
|
17
|
+
} catch (err) {
|
|
18
|
+
const error = err;
|
|
19
|
+
return !!(error && (
|
|
20
|
+
// everything except Firefox
|
|
21
|
+
error.code === 22 ||
|
|
22
|
+
// Firefox
|
|
23
|
+
error.code === 1014 ||
|
|
24
|
+
// test name field too, because code might not be present
|
|
25
|
+
// everything except Firefox
|
|
26
|
+
error.name === "QuotaExceededError" ||
|
|
27
|
+
// Firefox
|
|
28
|
+
error.name === "NS_ERROR_DOM_QUOTA_REACHED") &&
|
|
29
|
+
// acknowledge QuotaExceededError only if there's something already stored
|
|
30
|
+
storageExists && storageLength !== 0);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const checkIfTokenIsExpired = token => {
|
|
34
|
+
const decoded = jwtDecode.jwtDecode(token);
|
|
35
|
+
if (!decoded.exp) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
if (decoded.exp < Math.floor(Date.now() / 1000)) {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
return false;
|
|
42
|
+
};
|
|
43
|
+
const getSavedToken = (userAddress, issuer) => {
|
|
44
|
+
if (storageAvailable("localStorage")) {
|
|
45
|
+
return localStorage.getItem(`${userAddress.toLowerCase()}_${issuer}`);
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
};
|
|
49
|
+
const saveToken = (userAddress, issuer, token) => {
|
|
50
|
+
if (storageAvailable("localStorage")) {
|
|
51
|
+
return localStorage.setItem(`${userAddress.toLowerCase()}_${issuer}`, token);
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
};
|
|
55
|
+
const clearToken = (userAddress, issuer) => {
|
|
56
|
+
if (storageAvailable("localStorage")) {
|
|
57
|
+
return localStorage.removeItem(`${userAddress.toLowerCase()}_${issuer}`);
|
|
58
|
+
}
|
|
59
|
+
return null;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
exports.checkIfTokenIsExpired = checkIfTokenIsExpired;
|
|
63
|
+
exports.clearToken = clearToken;
|
|
64
|
+
exports.getSavedToken = getSavedToken;
|
|
65
|
+
exports.saveToken = saveToken;
|
|
66
|
+
exports.storageAvailable = storageAvailable;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const CHAIN_NAMESPACES = {
|
|
4
|
+
EIP155: "eip155",
|
|
5
|
+
SOLANA: "solana",
|
|
6
|
+
CASPER: "casper",
|
|
7
|
+
XRPL: "xrpl",
|
|
8
|
+
OTHER: "other"
|
|
9
|
+
};
|
|
10
|
+
// eip155 for all evm chains
|
|
11
|
+
|
|
12
|
+
const ADAPTER_NAMESPACES = {
|
|
13
|
+
EIP155: "eip155",
|
|
14
|
+
SOLANA: "solana",
|
|
15
|
+
CASPER: "casper",
|
|
16
|
+
XRPL: "xrpl",
|
|
17
|
+
MULTICHAIN: "multichain"
|
|
18
|
+
};
|
|
19
|
+
// eip155 for all evm chains
|
|
20
|
+
|
|
21
|
+
exports.ADAPTER_NAMESPACES = ADAPTER_NAMESPACES;
|
|
22
|
+
exports.CHAIN_NAMESPACES = CHAIN_NAMESPACES;
|