@web3auth/no-modal 10.0.0-alpha.0 → 10.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib.cjs/base/chain/IChainInterface.js +2 -2
- package/dist/lib.cjs/base/chain/config.js +63 -22
- package/dist/lib.cjs/base/connector/baseConnector.js +67 -0
- package/dist/lib.cjs/base/connector/constants.js +26 -0
- package/dist/lib.cjs/base/errors/index.js +2 -2
- package/dist/lib.cjs/base/plugin/errors.js +2 -2
- package/dist/lib.cjs/base/wallet/index.js +15 -20
- package/dist/lib.cjs/connectors/auth-connector/authConnector.js +392 -0
- package/dist/lib.cjs/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +22 -19
- package/dist/lib.cjs/{adapters/base-solana-adapter/baseSolanaAdapter.js → connectors/base-solana-connector/baseSolanaConnector.js} +24 -23
- package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +151 -0
- package/dist/lib.cjs/connectors/injected-evm-connector/index.js +12 -0
- package/dist/lib.cjs/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +54 -38
- package/dist/lib.cjs/connectors/injected-solana-connector/index.js +25 -0
- package/dist/lib.cjs/{adapters/default-solana-adapter/walletStandardAdapter.js → connectors/injected-solana-connector/walletStandardConnector.js} +57 -48
- package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +40 -90
- package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +23 -26
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/index.js +20 -0
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +417 -0
- package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +12 -25
- package/dist/lib.cjs/index.js +100 -82
- package/dist/lib.cjs/noModal.js +291 -239
- package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +9 -4
- package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +43 -199
- package/dist/lib.cjs/providers/account-abstraction-provider/index.js +32 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +99 -31
- package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +21 -26
- package/dist/lib.cjs/providers/base-provider/baseProvider.js +29 -24
- package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +2 -13
- package/dist/lib.cjs/providers/base-provider/index.js +18 -0
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +34 -57
- package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +1 -30
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +9 -11
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +3 -5
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +83 -2
- package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +24 -54
- package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +18 -27
- package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +5 -5
- package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +44 -18
- package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +23 -58
- package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -3
- package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +18 -42
- package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +3 -0
- package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +16 -42
- package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +4 -0
- package/dist/lib.esm/base/chain/IChainInterface.js +2 -2
- package/dist/lib.esm/base/chain/config.js +63 -22
- package/dist/lib.esm/base/connector/baseConnector.js +65 -0
- package/dist/lib.esm/base/connector/constants.js +22 -0
- package/dist/lib.esm/base/errors/index.js +2 -2
- package/dist/lib.esm/base/plugin/errors.js +2 -2
- package/dist/lib.esm/base/wallet/index.js +11 -16
- package/dist/lib.esm/connectors/auth-connector/authConnector.js +390 -0
- package/dist/lib.esm/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +23 -20
- package/dist/lib.esm/{adapters/base-solana-adapter/baseSolanaAdapter.js → connectors/base-solana-connector/baseSolanaConnector.js} +25 -24
- package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +149 -0
- package/dist/lib.esm/connectors/injected-evm-connector/index.js +2 -0
- package/dist/lib.esm/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +54 -39
- package/dist/lib.esm/connectors/injected-solana-connector/index.js +18 -0
- package/dist/lib.esm/{adapters/default-solana-adapter/walletStandardAdapter.js → connectors/injected-solana-connector/walletStandardConnector.js} +57 -49
- package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +41 -91
- package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +23 -26
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +3 -0
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +415 -0
- package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +13 -25
- package/dist/lib.esm/index.js +23 -28
- package/dist/lib.esm/noModal.js +290 -238
- package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +9 -4
- package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +42 -199
- package/dist/lib.esm/providers/account-abstraction-provider/index.js +2 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +96 -31
- package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +22 -27
- package/dist/lib.esm/providers/base-provider/baseProvider.js +29 -24
- package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +2 -13
- package/dist/lib.esm/providers/base-provider/index.js +5 -0
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +34 -57
- package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +2 -30
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +9 -11
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +3 -5
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +83 -2
- package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +24 -54
- package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +18 -27
- package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +5 -5
- package/dist/lib.esm/providers/solana-provider/solanaWallet.js +44 -18
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +23 -58
- package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -3
- package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +18 -42
- package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +3 -0
- package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +16 -42
- package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +4 -0
- package/dist/noModal.cjs.js +12650 -24362
- package/dist/noModal.umd.min.js +1 -1
- package/dist/noModal.umd.min.js.LICENSE.txt +0 -9
- package/dist/types/base/chain/IChainInterface.d.ts +2 -2
- package/dist/types/base/chain/config.d.ts +2 -2
- package/dist/types/base/connector/baseConnector.d.ts +37 -0
- package/dist/types/base/{adapter → connector}/constants.d.ts +7 -4
- package/dist/types/base/{adapter → connector}/index.d.ts +1 -1
- package/dist/types/base/{adapter → connector}/interfaces.d.ts +47 -45
- package/dist/types/base/core/IWeb3Auth.d.ts +75 -34
- package/dist/types/base/errors/index.d.ts +1 -1
- package/dist/types/base/hooks/index.d.ts +2 -6
- package/dist/types/base/index.d.ts +1 -1
- package/dist/types/base/plugin/IPlugin.d.ts +4 -7
- package/dist/types/base/plugin/errors.d.ts +1 -1
- package/dist/types/base/utils.d.ts +1 -1
- package/dist/types/base/wallet/index.d.ts +9 -13
- package/dist/types/connectors/auth-connector/authConnector.d.ts +45 -0
- package/dist/types/connectors/auth-connector/index.d.ts +2 -0
- package/dist/types/connectors/auth-connector/interface.d.ts +14 -0
- package/dist/types/connectors/base-evm-connector/baseEvmConnector.d.ts +7 -0
- package/dist/types/connectors/base-evm-connector/index.d.ts +1 -0
- package/dist/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +7 -0
- package/dist/types/connectors/base-solana-connector/index.d.ts +1 -0
- package/dist/types/connectors/coinbase-connector/coinbaseConnector.d.ts +7 -0
- package/dist/types/connectors/coinbase-connector/index.d.ts +1 -0
- package/dist/types/connectors/index.d.ts +7 -0
- package/dist/types/connectors/injected-evm-connector/index.d.ts +2 -0
- package/dist/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +34 -0
- package/dist/types/connectors/injected-solana-connector/index.d.ts +5 -0
- package/dist/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +33 -0
- package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.d.ts +3 -4
- package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.d.ts +4 -4
- package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/index.d.ts +1 -1
- package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/interface.d.ts +4 -4
- package/dist/types/connectors/wallet-connect-v2-connector/walletConnectV2Connector.d.ts +3 -0
- package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.d.ts +1 -6
- package/dist/types/index.d.ts +1 -1
- package/dist/types/noModal.d.ts +29 -14
- package/dist/types/plugins/nft-checkout-plugin/plugin.d.ts +11 -7
- package/dist/types/plugins/wallet-services-plugin/plugin.d.ts +8 -32
- package/dist/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +16 -14
- package/dist/types/providers/account-abstraction-provider/providers/index.d.ts +0 -1
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +1 -6
- package/dist/types/providers/base-provider/CommonJRPCProvider.d.ts +3 -3
- package/dist/types/providers/base-provider/baseProvider.d.ts +14 -11
- package/dist/types/providers/base-provider/commonPrivateKeyProvider.d.ts +2 -4
- package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +14 -5
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -1
- package/dist/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +2 -3
- package/dist/types/providers/ethereum-provider/rpc/interfaces.d.ts +0 -13
- package/dist/types/providers/solana-provider/interface.d.ts +8 -25
- package/dist/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +2 -2
- package/dist/types/providers/solana-provider/providers/injectedProviders/index.d.ts +1 -2
- package/dist/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +3 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +7 -4
- package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +4 -4
- package/dist/types/providers/solana-provider/rpc/interfaces.d.ts +12 -27
- package/dist/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +1 -1
- package/dist/types/providers/solana-provider/solanaWallet.d.ts +21 -7
- package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +4 -4
- package/dist/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +1 -4
- package/dist/types/react/no-modal/interfaces.d.ts +4 -4
- package/dist/types/react/wallet-services-plugin/interfaces.d.ts +2 -2
- package/dist/types/vue/no-modal/interfaces.d.ts +5 -8
- package/dist/types/vue/wallet-services-plugin/interfaces.d.ts +2 -2
- package/package.json +8 -7
- package/dist/757.noModal.cjs.js +0 -226
- package/dist/lib.cjs/adapters/auth-adapter/authAdapter.js +0 -262
- package/dist/lib.cjs/adapters/auth-adapter/config.js +0 -17
- package/dist/lib.cjs/adapters/coinbase-adapter/coinbaseAdapter.js +0 -156
- package/dist/lib.cjs/adapters/default-evm-adapter/index.js +0 -40
- package/dist/lib.cjs/adapters/default-evm-adapter/injectedAdapters.js +0 -42
- package/dist/lib.cjs/adapters/default-solana-adapter/index.js +0 -40
- package/dist/lib.cjs/adapters/default-solana-adapter/injectedAdapters.js +0 -53
- package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardHandler.js +0 -77
- package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -376
- package/dist/lib.cjs/base/adapter/baseAdapter.js +0 -117
- package/dist/lib.cjs/base/adapter/constants.js +0 -24
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -29
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -22
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -30
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -30
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -29
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -11
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -185
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -106
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -12
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -75
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -109
- package/dist/lib.esm/adapters/auth-adapter/authAdapter.js +0 -260
- package/dist/lib.esm/adapters/auth-adapter/config.js +0 -15
- package/dist/lib.esm/adapters/coinbase-adapter/coinbaseAdapter.js +0 -154
- package/dist/lib.esm/adapters/default-evm-adapter/index.js +0 -37
- package/dist/lib.esm/adapters/default-evm-adapter/injectedAdapters.js +0 -40
- package/dist/lib.esm/adapters/default-solana-adapter/index.js +0 -37
- package/dist/lib.esm/adapters/default-solana-adapter/injectedAdapters.js +0 -51
- package/dist/lib.esm/adapters/default-solana-adapter/walletStandardHandler.js +0 -75
- package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -374
- package/dist/lib.esm/base/adapter/baseAdapter.js +0 -115
- package/dist/lib.esm/base/adapter/constants.js +0 -20
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -27
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -20
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -28
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -28
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -27
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -9
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -183
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -104
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -10
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -73
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -107
- package/dist/types/adapters/auth-adapter/authAdapter.d.ts +0 -42
- package/dist/types/adapters/auth-adapter/config.d.ts +0 -2
- package/dist/types/adapters/auth-adapter/index.d.ts +0 -3
- package/dist/types/adapters/auth-adapter/interface.d.ts +0 -11
- package/dist/types/adapters/base-evm-adapter/baseEvmAdapter.d.ts +0 -7
- package/dist/types/adapters/base-evm-adapter/index.d.ts +0 -1
- package/dist/types/adapters/base-solana-adapter/baseSolanaAdapter.d.ts +0 -7
- package/dist/types/adapters/base-solana-adapter/index.d.ts +0 -1
- package/dist/types/adapters/coinbase-adapter/coinbaseAdapter.d.ts +0 -33
- package/dist/types/adapters/coinbase-adapter/index.d.ts +0 -1
- package/dist/types/adapters/default-evm-adapter/index.d.ts +0 -6
- package/dist/types/adapters/default-evm-adapter/injectedAdapters.d.ts +0 -4
- package/dist/types/adapters/default-evm-adapter/injectedEvmAdapter.d.ts +0 -30
- package/dist/types/adapters/default-solana-adapter/index.d.ts +0 -6
- package/dist/types/adapters/default-solana-adapter/injectedAdapters.d.ts +0 -4
- package/dist/types/adapters/default-solana-adapter/walletStandardAdapter.d.ts +0 -31
- package/dist/types/adapters/default-solana-adapter/walletStandardHandler.d.ts +0 -27
- package/dist/types/adapters/index.d.ts +0 -7
- package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.d.ts +0 -42
- package/dist/types/base/adapter/baseAdapter.d.ts +0 -44
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.d.ts +0 -14
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.d.ts +0 -13
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/LightSmartAccount.d.ts +0 -14
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.d.ts +0 -14
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.d.ts +0 -13
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SimpleSmartAccount.d.ts +0 -13
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.d.ts +0 -13
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/constants.d.ts +0 -9
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/types.d.ts +0 -22
- package/dist/types/providers/account-abstraction-provider/providers/types.d.ts +0 -17
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.d.ts +0 -30
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.d.ts +0 -9
- package/dist/types/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.d.ts +0 -3
- package/dist/types/providers/solana-provider/providers/injectedProviders/interface.d.ts +0 -5
- package/dist/types/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.d.ts +0 -3
- package/dist/types/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.d.ts +0 -18
- /package/dist/lib.cjs/base/{adapter → connector}/utils.js +0 -0
- /package/dist/lib.cjs/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
- /package/dist/lib.esm/base/{adapter → connector}/utils.js +0 -0
- /package/dist/lib.esm/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
- /package/dist/types/base/{adapter → connector}/utils.d.ts +0 -0
- /package/dist/types/{adapters/default-solana-adapter → connectors/injected-solana-connector}/utils.d.ts +0 -0
- /package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/utils.d.ts +0 -0
|
@@ -1,374 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
|
-
import { signChallenge, verifySignedChallenge } from '@toruslabs/base-controllers';
|
|
4
|
-
import Client from '@walletconnect/sign-client';
|
|
5
|
-
import { isValidArray, getSdkError } from '@walletconnect/utils';
|
|
6
|
-
import bs58 from 'bs58';
|
|
7
|
-
import deepmerge from 'deepmerge';
|
|
8
|
-
import { ADAPTER_NAMESPACES, CHAIN_NAMESPACES } from '../../base/chain/IChainInterface.js';
|
|
9
|
-
import { WalletInitializationError, Web3AuthError, WalletLoginError } from '../../base/errors/index.js';
|
|
10
|
-
import { log } from '../../base/loglevel.js';
|
|
11
|
-
import { WALLET_ADAPTERS } from '../../base/wallet/index.js';
|
|
12
|
-
import { getWalletConnectV2Settings } from './config.js';
|
|
13
|
-
import { WalletConnectV2Provider } from './WalletConnectV2Provider.js';
|
|
14
|
-
import { BaseAdapter } from '../../base/adapter/baseAdapter.js';
|
|
15
|
-
import { ADAPTER_CATEGORY, ADAPTER_STATUS, ADAPTER_EVENTS } from '../../base/adapter/constants.js';
|
|
16
|
-
import { getSavedToken, checkIfTokenIsExpired, saveToken } from '../../base/adapter/utils.js';
|
|
17
|
-
|
|
18
|
-
class WalletConnectV2Adapter extends BaseAdapter {
|
|
19
|
-
constructor(options = {}) {
|
|
20
|
-
super(options);
|
|
21
|
-
_defineProperty(this, "name", WALLET_ADAPTERS.WALLET_CONNECT_V2);
|
|
22
|
-
_defineProperty(this, "adapterNamespace", ADAPTER_NAMESPACES.MULTICHAIN);
|
|
23
|
-
_defineProperty(this, "currentChainNamespace", CHAIN_NAMESPACES.OTHER);
|
|
24
|
-
_defineProperty(this, "type", ADAPTER_CATEGORY.EXTERNAL);
|
|
25
|
-
_defineProperty(this, "adapterOptions", {});
|
|
26
|
-
_defineProperty(this, "status", ADAPTER_STATUS.NOT_READY);
|
|
27
|
-
_defineProperty(this, "adapterData", {
|
|
28
|
-
uri: ""
|
|
29
|
-
});
|
|
30
|
-
_defineProperty(this, "connector", null);
|
|
31
|
-
_defineProperty(this, "activeSession", null);
|
|
32
|
-
_defineProperty(this, "wcProvider", null);
|
|
33
|
-
this.adapterOptions = _objectSpread({}, options);
|
|
34
|
-
this.setAdapterSettings(options);
|
|
35
|
-
}
|
|
36
|
-
get connected() {
|
|
37
|
-
return !!this.activeSession;
|
|
38
|
-
}
|
|
39
|
-
get provider() {
|
|
40
|
-
if (this.status !== ADAPTER_STATUS.NOT_READY && this.wcProvider) {
|
|
41
|
-
return this.wcProvider;
|
|
42
|
-
}
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
set provider(_) {
|
|
46
|
-
throw new Error("Not implemented");
|
|
47
|
-
}
|
|
48
|
-
async init(options) {
|
|
49
|
-
var _this$adapterOptions$, _this$chainConfig, _this$chainConfig2;
|
|
50
|
-
super.checkInitializationRequirements();
|
|
51
|
-
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;
|
|
52
|
-
if (!projectId) {
|
|
53
|
-
throw WalletInitializationError.invalidParams("Wallet connect project id is required in wallet connect v2 adapter");
|
|
54
|
-
}
|
|
55
|
-
const wc2Settings = await 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);
|
|
56
|
-
if (!this.adapterOptions.loginSettings || Object.keys(this.adapterOptions.loginSettings).length === 0) {
|
|
57
|
-
this.adapterOptions.loginSettings = wc2Settings.loginSettings;
|
|
58
|
-
}
|
|
59
|
-
this.adapterOptions.adapterSettings = deepmerge(wc2Settings.adapterSettings || {}, this.adapterOptions.adapterSettings || {});
|
|
60
|
-
const {
|
|
61
|
-
adapterSettings
|
|
62
|
-
} = this.adapterOptions;
|
|
63
|
-
this.connector = await Client.init(adapterSettings === null || adapterSettings === void 0 ? void 0 : adapterSettings.walletConnectInitOptions);
|
|
64
|
-
this.wcProvider = new WalletConnectV2Provider({
|
|
65
|
-
config: {
|
|
66
|
-
chainConfig: this.chainConfig
|
|
67
|
-
},
|
|
68
|
-
connector: this.connector
|
|
69
|
-
});
|
|
70
|
-
this.emit(ADAPTER_EVENTS.READY, WALLET_ADAPTERS.WALLET_CONNECT_V2);
|
|
71
|
-
this.status = ADAPTER_STATUS.READY;
|
|
72
|
-
log.debug("initializing wallet connect v2 adapter");
|
|
73
|
-
if (options.autoConnect) {
|
|
74
|
-
await this.checkForPersistedSession();
|
|
75
|
-
if (this.connected) {
|
|
76
|
-
this.rehydrated = true;
|
|
77
|
-
try {
|
|
78
|
-
await this.onConnectHandler();
|
|
79
|
-
} catch (error) {
|
|
80
|
-
log.error("wallet auto connect", error);
|
|
81
|
-
this.emit(ADAPTER_EVENTS.ERRORED, error);
|
|
82
|
-
}
|
|
83
|
-
} else {
|
|
84
|
-
this.status = ADAPTER_STATUS.NOT_READY;
|
|
85
|
-
this.emit(ADAPTER_EVENTS.CACHE_CLEAR);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
async connect() {
|
|
90
|
-
super.checkConnectionRequirements();
|
|
91
|
-
if (!this.connector) throw WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
92
|
-
try {
|
|
93
|
-
// if already connected
|
|
94
|
-
if (this.connected) {
|
|
95
|
-
await this.onConnectHandler();
|
|
96
|
-
return this.provider;
|
|
97
|
-
}
|
|
98
|
-
if (this.status !== ADAPTER_STATUS.CONNECTING) {
|
|
99
|
-
await this.createNewSession();
|
|
100
|
-
}
|
|
101
|
-
return this.provider;
|
|
102
|
-
} catch (error) {
|
|
103
|
-
log.error("Wallet connect v2 adapter error while connecting", error);
|
|
104
|
-
// ready again to be connected
|
|
105
|
-
this.status = ADAPTER_STATUS.READY;
|
|
106
|
-
this.rehydrated = true;
|
|
107
|
-
this.emit(ADAPTER_EVENTS.ERRORED, error);
|
|
108
|
-
const finalError = error instanceof Web3AuthError ? error : WalletLoginError.connectionError(`Failed to login with wallet connect: ${(error === null || error === void 0 ? void 0 : error.message) || ""}`, error);
|
|
109
|
-
throw finalError;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// should be called only before initialization.
|
|
114
|
-
setAdapterSettings(adapterSettings) {
|
|
115
|
-
var _this$adapterOptions$2, _this$adapterOptions, _this$adapterOptions$3, _this$adapterOptions2, _this$adapterOptions$4;
|
|
116
|
-
super.setAdapterSettings(adapterSettings);
|
|
117
|
-
const {
|
|
118
|
-
qrcodeModal,
|
|
119
|
-
walletConnectInitOptions
|
|
120
|
-
} = (adapterSettings === null || adapterSettings === void 0 ? void 0 : adapterSettings.adapterSettings) || {};
|
|
121
|
-
this.adapterOptions = _objectSpread(_objectSpread({}, this.adapterOptions), {}, {
|
|
122
|
-
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 : {},
|
|
123
|
-
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 : {}
|
|
124
|
-
});
|
|
125
|
-
if (qrcodeModal) this.adapterOptions.adapterSettings.qrcodeModal = qrcodeModal;
|
|
126
|
-
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);
|
|
127
|
-
const {
|
|
128
|
-
loginSettings
|
|
129
|
-
} = adapterSettings;
|
|
130
|
-
if (loginSettings) this.adapterOptions.loginSettings = _objectSpread(_objectSpread({}, this.adapterOptions.loginSettings || {}), loginSettings);
|
|
131
|
-
}
|
|
132
|
-
async addChain(chainConfig, init = false) {
|
|
133
|
-
var _this$wcProvider;
|
|
134
|
-
super.checkAddChainRequirements(chainConfig, init);
|
|
135
|
-
await ((_this$wcProvider = this.wcProvider) === null || _this$wcProvider === void 0 ? void 0 : _this$wcProvider.addChain(chainConfig));
|
|
136
|
-
this.addChainConfig(chainConfig);
|
|
137
|
-
}
|
|
138
|
-
async switchChain(params, init = false) {
|
|
139
|
-
var _this$wcProvider2;
|
|
140
|
-
super.checkSwitchChainRequirements(params, init);
|
|
141
|
-
await ((_this$wcProvider2 = this.wcProvider) === null || _this$wcProvider2 === void 0 ? void 0 : _this$wcProvider2.switchChain({
|
|
142
|
-
chainId: params.chainId
|
|
143
|
-
}));
|
|
144
|
-
this.setAdapterSettings({
|
|
145
|
-
chainConfig: this.getChainConfig(params.chainId)
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
async getUserInfo() {
|
|
149
|
-
if (!this.connected) throw WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
150
|
-
return {};
|
|
151
|
-
}
|
|
152
|
-
async disconnect(options = {
|
|
153
|
-
cleanup: false,
|
|
154
|
-
sessionRemovedByWallet: false
|
|
155
|
-
}) {
|
|
156
|
-
var _this$activeSession, _this$activeSession2;
|
|
157
|
-
const {
|
|
158
|
-
cleanup
|
|
159
|
-
} = options;
|
|
160
|
-
if (!this.connector || !this.connected || !((_this$activeSession = this.activeSession) !== null && _this$activeSession !== void 0 && _this$activeSession.topic)) throw WalletLoginError.notConnectedError("Not connected with wallet");
|
|
161
|
-
if (!options.sessionRemovedByWallet) await this.connector.disconnect({
|
|
162
|
-
topic: (_this$activeSession2 = this.activeSession) === null || _this$activeSession2 === void 0 ? void 0 : _this$activeSession2.topic,
|
|
163
|
-
reason: getSdkError("USER_DISCONNECTED")
|
|
164
|
-
});
|
|
165
|
-
this.rehydrated = false;
|
|
166
|
-
if (cleanup) {
|
|
167
|
-
this.connector = null;
|
|
168
|
-
this.status = ADAPTER_STATUS.NOT_READY;
|
|
169
|
-
this.wcProvider = null;
|
|
170
|
-
} else {
|
|
171
|
-
// ready to connect again
|
|
172
|
-
this.status = ADAPTER_STATUS.READY;
|
|
173
|
-
}
|
|
174
|
-
this.activeSession = null;
|
|
175
|
-
this.emit(ADAPTER_EVENTS.DISCONNECTED);
|
|
176
|
-
}
|
|
177
|
-
async authenticateUser() {
|
|
178
|
-
if (!this.provider || this.status !== ADAPTER_STATUS.CONNECTED) throw WalletLoginError.notConnectedError();
|
|
179
|
-
const {
|
|
180
|
-
chainNamespace,
|
|
181
|
-
chainId
|
|
182
|
-
} = this.chainConfig;
|
|
183
|
-
const accounts = await this.provider.request({
|
|
184
|
-
method: chainNamespace === CHAIN_NAMESPACES.EIP155 ? "eth_accounts" : "getAccounts"
|
|
185
|
-
});
|
|
186
|
-
if (accounts && accounts.length > 0) {
|
|
187
|
-
const existingToken = getSavedToken(accounts[0], this.name);
|
|
188
|
-
if (existingToken) {
|
|
189
|
-
const isExpired = checkIfTokenIsExpired(existingToken);
|
|
190
|
-
if (!isExpired) {
|
|
191
|
-
return {
|
|
192
|
-
idToken: existingToken
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
const payload = {
|
|
197
|
-
domain: window.location.origin,
|
|
198
|
-
uri: window.location.href,
|
|
199
|
-
address: accounts[0],
|
|
200
|
-
chainId: parseInt(chainId, 16),
|
|
201
|
-
version: "1",
|
|
202
|
-
nonce: Math.random().toString(36).slice(2),
|
|
203
|
-
issuedAt: new Date().toISOString()
|
|
204
|
-
};
|
|
205
|
-
const challenge = await signChallenge(payload, chainNamespace);
|
|
206
|
-
const signedMessage = await this._getSignedMessage(challenge, accounts, chainNamespace);
|
|
207
|
-
const idToken = await verifySignedChallenge(chainNamespace, signedMessage, challenge, this.name, this.sessionTime, this.clientId, this.web3AuthNetwork);
|
|
208
|
-
saveToken(accounts[0], this.name, idToken);
|
|
209
|
-
return {
|
|
210
|
-
idToken
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
throw WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
214
|
-
}
|
|
215
|
-
async enableMFA() {
|
|
216
|
-
throw new Error("Method Not implemented");
|
|
217
|
-
}
|
|
218
|
-
async manageMFA() {
|
|
219
|
-
throw new Error("Method Not implemented");
|
|
220
|
-
}
|
|
221
|
-
cleanupPendingPairings() {
|
|
222
|
-
if (!this.connector) throw WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
223
|
-
const inactivePairings = this.connector.pairing.getAll({
|
|
224
|
-
active: false
|
|
225
|
-
});
|
|
226
|
-
if (!isValidArray(inactivePairings)) return;
|
|
227
|
-
inactivePairings.forEach(pairing => {
|
|
228
|
-
if (this.connector) {
|
|
229
|
-
this.connector.pairing.delete(pairing.topic, getSdkError("USER_DISCONNECTED"));
|
|
230
|
-
}
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
async checkForPersistedSession() {
|
|
234
|
-
if (!this.connector) throw WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
235
|
-
if (this.connector.session.length) {
|
|
236
|
-
const lastKeyIndex = this.connector.session.keys.length - 1;
|
|
237
|
-
this.activeSession = this.connector.session.get(this.connector.session.keys[lastKeyIndex]);
|
|
238
|
-
}
|
|
239
|
-
return this.activeSession;
|
|
240
|
-
}
|
|
241
|
-
async createNewSession(opts = {
|
|
242
|
-
forceNewSession: false
|
|
243
|
-
}) {
|
|
244
|
-
try {
|
|
245
|
-
var _this$activeSession3, _this$adapterOptions3;
|
|
246
|
-
if (!this.connector) throw WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
247
|
-
if (!this.adapterOptions.loginSettings || Object.keys(this.adapterOptions.loginSettings).length === 0) throw WalletInitializationError.notReady("login settings are not set yet");
|
|
248
|
-
this.status = ADAPTER_STATUS.CONNECTING;
|
|
249
|
-
this.emit(ADAPTER_EVENTS.CONNECTING, {
|
|
250
|
-
adapter: WALLET_ADAPTERS.WALLET_CONNECT_V2
|
|
251
|
-
});
|
|
252
|
-
if (opts.forceNewSession && (_this$activeSession3 = this.activeSession) !== null && _this$activeSession3 !== void 0 && _this$activeSession3.topic) {
|
|
253
|
-
var _this$activeSession4;
|
|
254
|
-
await this.connector.disconnect({
|
|
255
|
-
topic: (_this$activeSession4 = this.activeSession) === null || _this$activeSession4 === void 0 ? void 0 : _this$activeSession4.topic,
|
|
256
|
-
reason: getSdkError("USER_DISCONNECTED")
|
|
257
|
-
});
|
|
258
|
-
}
|
|
259
|
-
const {
|
|
260
|
-
uri,
|
|
261
|
-
approval
|
|
262
|
-
} = await this.connector.connect(this.adapterOptions.loginSettings);
|
|
263
|
-
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;
|
|
264
|
-
// Open QRCode modal if a URI was returned (i.e. we're not connecting with an existing pairing).
|
|
265
|
-
if (uri) {
|
|
266
|
-
if (qrcodeModal) {
|
|
267
|
-
try {
|
|
268
|
-
await qrcodeModal.openModal({
|
|
269
|
-
uri
|
|
270
|
-
});
|
|
271
|
-
log.debug("EVENT", "QR Code Modal closed");
|
|
272
|
-
this.status = ADAPTER_STATUS.READY;
|
|
273
|
-
this.emit(ADAPTER_EVENTS.READY, WALLET_ADAPTERS.WALLET_CONNECT_V2);
|
|
274
|
-
} catch (error) {
|
|
275
|
-
log.error("unable to open qr code modal");
|
|
276
|
-
}
|
|
277
|
-
} else {
|
|
278
|
-
this.updateAdapterData({
|
|
279
|
-
uri
|
|
280
|
-
});
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
log.info("awaiting session approval from wallet");
|
|
284
|
-
|
|
285
|
-
// Await session approval from the wallet.
|
|
286
|
-
const session = await approval();
|
|
287
|
-
this.activeSession = session;
|
|
288
|
-
// Handle the returned session (e.g. update UI to "connected" state).
|
|
289
|
-
await this.onConnectHandler();
|
|
290
|
-
if (qrcodeModal) {
|
|
291
|
-
qrcodeModal.closeModal();
|
|
292
|
-
}
|
|
293
|
-
} catch (error) {
|
|
294
|
-
var _message;
|
|
295
|
-
if ((_message = error.message) !== null && _message !== void 0 && _message.toLowerCase().includes("proposal expired")) {
|
|
296
|
-
// Retry if adapter status is still connecting
|
|
297
|
-
log.info("current adapter status: ", this.status);
|
|
298
|
-
if (this.status === ADAPTER_STATUS.CONNECTING) {
|
|
299
|
-
log.info("retrying to create new wallet connect session since proposal expired");
|
|
300
|
-
return this.createNewSession({
|
|
301
|
-
forceNewSession: true
|
|
302
|
-
});
|
|
303
|
-
}
|
|
304
|
-
if (this.status === ADAPTER_STATUS.READY) {
|
|
305
|
-
log.info("ignoring proposal expired error since some other adapter is connected");
|
|
306
|
-
return;
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
log.error("error while creating new wallet connect session", error);
|
|
310
|
-
this.emit(ADAPTER_EVENTS.ERRORED, error);
|
|
311
|
-
throw error;
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
async onConnectHandler() {
|
|
315
|
-
var _this$adapterOptions$5;
|
|
316
|
-
if (!this.connector || !this.wcProvider) throw WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
317
|
-
if (!this.chainConfig) throw WalletInitializationError.invalidParams("Chain config is not set");
|
|
318
|
-
this.subscribeEvents();
|
|
319
|
-
if ((_this$adapterOptions$5 = this.adapterOptions.adapterSettings) !== null && _this$adapterOptions$5 !== void 0 && _this$adapterOptions$5.qrcodeModal) {
|
|
320
|
-
this.wcProvider = new WalletConnectV2Provider({
|
|
321
|
-
config: {
|
|
322
|
-
chainConfig: this.chainConfig,
|
|
323
|
-
skipLookupNetwork: true
|
|
324
|
-
},
|
|
325
|
-
connector: this.connector
|
|
326
|
-
});
|
|
327
|
-
}
|
|
328
|
-
await this.wcProvider.setupProvider(this.connector);
|
|
329
|
-
this.cleanupPendingPairings();
|
|
330
|
-
this.status = ADAPTER_STATUS.CONNECTED;
|
|
331
|
-
this.emit(ADAPTER_EVENTS.CONNECTED, {
|
|
332
|
-
adapter: WALLET_ADAPTERS.WALLET_CONNECT_V2,
|
|
333
|
-
reconnected: this.rehydrated,
|
|
334
|
-
provider: this.provider
|
|
335
|
-
});
|
|
336
|
-
}
|
|
337
|
-
subscribeEvents() {
|
|
338
|
-
if (!this.connector) throw WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
339
|
-
this.connector.events.on("session_update", ({
|
|
340
|
-
topic,
|
|
341
|
-
params
|
|
342
|
-
}) => {
|
|
343
|
-
if (!this.connector) return;
|
|
344
|
-
const {
|
|
345
|
-
namespaces
|
|
346
|
-
} = params;
|
|
347
|
-
const _session = this.connector.session.get(topic);
|
|
348
|
-
// Overwrite the `namespaces` of the existing session with the incoming one.
|
|
349
|
-
const updatedSession = _objectSpread(_objectSpread({}, _session), {}, {
|
|
350
|
-
namespaces
|
|
351
|
-
});
|
|
352
|
-
// Integrate the updated session state into your dapp state.
|
|
353
|
-
this.activeSession = updatedSession;
|
|
354
|
-
});
|
|
355
|
-
this.connector.events.on("session_delete", () => {
|
|
356
|
-
// Session was deleted -> reset the dapp state, clean up from user session, etc.
|
|
357
|
-
this.disconnect({
|
|
358
|
-
sessionRemovedByWallet: true
|
|
359
|
-
});
|
|
360
|
-
});
|
|
361
|
-
}
|
|
362
|
-
async _getSignedMessage(challenge, accounts, chainNamespace) {
|
|
363
|
-
const signedMessage = await this.provider.request({
|
|
364
|
-
method: chainNamespace === CHAIN_NAMESPACES.EIP155 ? "personal_sign" : "signMessage",
|
|
365
|
-
params: chainNamespace === CHAIN_NAMESPACES.EIP155 ? [challenge, accounts[0]] : {
|
|
366
|
-
message: Buffer.from(challenge)
|
|
367
|
-
}
|
|
368
|
-
});
|
|
369
|
-
if (chainNamespace === CHAIN_NAMESPACES.SOLANA) return bs58.encode(signedMessage);
|
|
370
|
-
return signedMessage;
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
export { WalletConnectV2Adapter };
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
|
-
import { SafeEventEmitter, WEB3AUTH_NETWORK } from '@web3auth/auth';
|
|
4
|
-
import { getChainConfig } from '../chain/config.js';
|
|
5
|
-
import { CHAIN_NAMESPACES } from '../chain/IChainInterface.js';
|
|
6
|
-
import { WalletInitializationError, WalletLoginError, WalletOperationsError } from '../errors/index.js';
|
|
7
|
-
import { WALLET_ADAPTERS } from '../wallet/index.js';
|
|
8
|
-
import { ADAPTER_STATUS, ADAPTER_EVENTS } from './constants.js';
|
|
9
|
-
|
|
10
|
-
class BaseAdapter extends SafeEventEmitter {
|
|
11
|
-
constructor(options = {}) {
|
|
12
|
-
super();
|
|
13
|
-
_defineProperty(this, "adapterData", {});
|
|
14
|
-
_defineProperty(this, "sessionTime", 86400);
|
|
15
|
-
_defineProperty(this, "clientId", void 0);
|
|
16
|
-
_defineProperty(this, "web3AuthNetwork", WEB3AUTH_NETWORK.MAINNET);
|
|
17
|
-
_defineProperty(this, "useCoreKitKey", undefined);
|
|
18
|
-
_defineProperty(this, "rehydrated", false);
|
|
19
|
-
// should be added in constructor or from setAdapterSettings function
|
|
20
|
-
// before calling init function.
|
|
21
|
-
_defineProperty(this, "chainConfig", null);
|
|
22
|
-
_defineProperty(this, "knownChainConfigs", {});
|
|
23
|
-
_defineProperty(this, "adapterNamespace", void 0);
|
|
24
|
-
_defineProperty(this, "currentChainNamespace", void 0);
|
|
25
|
-
_defineProperty(this, "type", void 0);
|
|
26
|
-
_defineProperty(this, "name", void 0);
|
|
27
|
-
_defineProperty(this, "status", void 0);
|
|
28
|
-
this.setAdapterSettings(options);
|
|
29
|
-
}
|
|
30
|
-
get chainConfigProxy() {
|
|
31
|
-
return this.chainConfig ? _objectSpread({}, this.chainConfig) : null;
|
|
32
|
-
}
|
|
33
|
-
get connnected() {
|
|
34
|
-
return this.status === ADAPTER_STATUS.CONNECTED;
|
|
35
|
-
}
|
|
36
|
-
setAdapterSettings(options) {
|
|
37
|
-
if (this.status === ADAPTER_STATUS.READY) return;
|
|
38
|
-
if (options !== null && options !== void 0 && options.sessionTime) {
|
|
39
|
-
this.sessionTime = options.sessionTime;
|
|
40
|
-
}
|
|
41
|
-
if (options !== null && options !== void 0 && options.clientId) {
|
|
42
|
-
this.clientId = options.clientId;
|
|
43
|
-
}
|
|
44
|
-
if (options !== null && options !== void 0 && options.web3AuthNetwork) {
|
|
45
|
-
this.web3AuthNetwork = options.web3AuthNetwork;
|
|
46
|
-
}
|
|
47
|
-
if ((options === null || options === void 0 ? void 0 : options.useCoreKitKey) !== undefined) {
|
|
48
|
-
this.useCoreKitKey = options.useCoreKitKey;
|
|
49
|
-
}
|
|
50
|
-
const customChainConfig = options.chainConfig;
|
|
51
|
-
if (customChainConfig) {
|
|
52
|
-
if (!customChainConfig.chainNamespace) throw WalletInitializationError.notReady("ChainNamespace is required while setting chainConfig");
|
|
53
|
-
this.currentChainNamespace = customChainConfig.chainNamespace;
|
|
54
|
-
// chainId is optional in this function.
|
|
55
|
-
// we go with mainnet chainId by default.
|
|
56
|
-
const defaultChainConfig = getChainConfig(customChainConfig.chainNamespace, customChainConfig.chainId);
|
|
57
|
-
// NOTE: It is being forced casted to CustomChainConfig to handle OTHER Chainnamespace
|
|
58
|
-
// where chainConfig is not required.
|
|
59
|
-
const finalChainConfig = _objectSpread(_objectSpread({}, defaultChainConfig || {}), customChainConfig);
|
|
60
|
-
this.chainConfig = finalChainConfig;
|
|
61
|
-
this.addChainConfig(finalChainConfig);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
checkConnectionRequirements() {
|
|
65
|
-
// we reconnect without killing existing wallet connect session on calling connect again.
|
|
66
|
-
if (this.name === WALLET_ADAPTERS.WALLET_CONNECT_V2 && this.status === ADAPTER_STATUS.CONNECTING) return;
|
|
67
|
-
if (this.status === ADAPTER_STATUS.CONNECTING) throw WalletInitializationError.notReady("Already connecting");
|
|
68
|
-
if (this.status === ADAPTER_STATUS.CONNECTED) throw WalletLoginError.connectionError("Already connected");
|
|
69
|
-
if (this.status !== ADAPTER_STATUS.READY) throw WalletLoginError.connectionError("Wallet adapter is not ready yet, Please wait for init function to resolve before calling connect/connectTo function");
|
|
70
|
-
}
|
|
71
|
-
checkInitializationRequirements() {
|
|
72
|
-
if (!this.clientId) throw WalletInitializationError.invalidParams("Please initialize Web3Auth with a valid clientId in constructor");
|
|
73
|
-
if (!this.chainConfig) throw WalletInitializationError.invalidParams("rpcTarget is required in chainConfig");
|
|
74
|
-
if (!this.chainConfig.rpcTarget && this.chainConfig.chainNamespace !== CHAIN_NAMESPACES.OTHER) {
|
|
75
|
-
throw WalletInitializationError.invalidParams("rpcTarget is required in chainConfig");
|
|
76
|
-
}
|
|
77
|
-
if (!this.chainConfig.chainId && this.chainConfig.chainNamespace !== CHAIN_NAMESPACES.OTHER) {
|
|
78
|
-
throw WalletInitializationError.invalidParams("chainID is required in chainConfig");
|
|
79
|
-
}
|
|
80
|
-
if (this.status === ADAPTER_STATUS.NOT_READY) return;
|
|
81
|
-
if (this.status === ADAPTER_STATUS.CONNECTED) throw WalletInitializationError.notReady("Already connected");
|
|
82
|
-
if (this.status === ADAPTER_STATUS.READY) throw WalletInitializationError.notReady("Adapter is already initialized");
|
|
83
|
-
}
|
|
84
|
-
checkDisconnectionRequirements() {
|
|
85
|
-
if (this.status !== ADAPTER_STATUS.CONNECTED) throw WalletLoginError.disconnectionError("Not connected with wallet");
|
|
86
|
-
}
|
|
87
|
-
checkAddChainRequirements(chainConfig, init = false) {
|
|
88
|
-
if (!init && !this.provider) throw WalletLoginError.notConnectedError("Not connected with wallet.");
|
|
89
|
-
if (this.currentChainNamespace !== chainConfig.chainNamespace) {
|
|
90
|
-
throw WalletOperationsError.chainNamespaceNotAllowed("This adapter doesn't support this chainNamespace");
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
checkSwitchChainRequirements({
|
|
94
|
-
chainId
|
|
95
|
-
}, init = false) {
|
|
96
|
-
if (!init && !this.provider) throw WalletLoginError.notConnectedError("Not connected with wallet.");
|
|
97
|
-
if (!this.knownChainConfigs[chainId]) throw WalletLoginError.chainConfigNotAdded("Invalid chainId");
|
|
98
|
-
}
|
|
99
|
-
updateAdapterData(data) {
|
|
100
|
-
this.adapterData = data;
|
|
101
|
-
this.emit(ADAPTER_EVENTS.ADAPTER_DATA_UPDATED, {
|
|
102
|
-
adapterName: this.name,
|
|
103
|
-
data
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
addChainConfig(chainConfig) {
|
|
107
|
-
const currentConfig = this.knownChainConfigs[chainConfig.chainId];
|
|
108
|
-
this.knownChainConfigs[chainConfig.chainId] = _objectSpread(_objectSpread({}, currentConfig || {}), chainConfig);
|
|
109
|
-
}
|
|
110
|
-
getChainConfig(chainId) {
|
|
111
|
-
return this.knownChainConfigs[chainId] || null;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
export { BaseAdapter };
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
|
|
3
|
-
const ADAPTER_STATUS = {
|
|
4
|
-
NOT_READY: "not_ready",
|
|
5
|
-
READY: "ready",
|
|
6
|
-
CONNECTING: "connecting",
|
|
7
|
-
CONNECTED: "connected",
|
|
8
|
-
DISCONNECTED: "disconnected",
|
|
9
|
-
ERRORED: "errored"
|
|
10
|
-
};
|
|
11
|
-
const ADAPTER_EVENTS = _objectSpread(_objectSpread({}, ADAPTER_STATUS), {}, {
|
|
12
|
-
ADAPTER_DATA_UPDATED: "adapter_data_updated",
|
|
13
|
-
CACHE_CLEAR: "cache_clear"
|
|
14
|
-
});
|
|
15
|
-
const ADAPTER_CATEGORY = {
|
|
16
|
-
EXTERNAL: "external",
|
|
17
|
-
IN_APP: "in_app"
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export { ADAPTER_CATEGORY, ADAPTER_EVENTS, ADAPTER_STATUS };
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
|
-
import { toBiconomySmartAccount } from 'permissionless/accounts';
|
|
4
|
-
import { entryPoint06Address } from 'viem/account-abstraction';
|
|
5
|
-
import { SMART_ACCOUNT } from './constants.js';
|
|
6
|
-
|
|
7
|
-
class BiconomySmartAccount {
|
|
8
|
-
constructor(options) {
|
|
9
|
-
_defineProperty(this, "name", SMART_ACCOUNT.BICONOMY);
|
|
10
|
-
_defineProperty(this, "options", void 0);
|
|
11
|
-
this.options = options;
|
|
12
|
-
}
|
|
13
|
-
async getSmartAccount(params) {
|
|
14
|
-
var _this$options, _this$options2;
|
|
15
|
-
return toBiconomySmartAccount(_objectSpread(_objectSpread(_objectSpread({}, this.options || {}), {}, {
|
|
16
|
-
entryPoint: {
|
|
17
|
-
address: ((_this$options = this.options) === null || _this$options === void 0 || (_this$options = _this$options.entryPoint) === null || _this$options === void 0 ? void 0 : _this$options.address) || entryPoint06Address,
|
|
18
|
-
version: ((_this$options2 = this.options) === null || _this$options2 === void 0 || (_this$options2 = _this$options2.entryPoint) === null || _this$options2 === void 0 ? void 0 : _this$options2.version) || "0.6"
|
|
19
|
-
}
|
|
20
|
-
}, params), {}, {
|
|
21
|
-
owners: [params.owner],
|
|
22
|
-
client: params.client
|
|
23
|
-
}));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export { BiconomySmartAccount };
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
|
-
import { toEcdsaKernelSmartAccount } from 'permissionless/accounts';
|
|
4
|
-
import { SMART_ACCOUNT } from './constants.js';
|
|
5
|
-
|
|
6
|
-
class KernelSmartAccount {
|
|
7
|
-
constructor(options) {
|
|
8
|
-
_defineProperty(this, "name", SMART_ACCOUNT.KERNEL);
|
|
9
|
-
_defineProperty(this, "options", void 0);
|
|
10
|
-
this.options = options;
|
|
11
|
-
}
|
|
12
|
-
async getSmartAccount(params) {
|
|
13
|
-
return toEcdsaKernelSmartAccount(_objectSpread(_objectSpread(_objectSpread({}, this.options || {}), params), {}, {
|
|
14
|
-
owners: [params.owner],
|
|
15
|
-
client: params.client
|
|
16
|
-
}));
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export { KernelSmartAccount };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
|
-
import { toNexusSmartAccount } from 'permissionless/accounts';
|
|
4
|
-
import { entryPoint07Address } from 'viem/account-abstraction';
|
|
5
|
-
import { SMART_ACCOUNT } from './constants.js';
|
|
6
|
-
|
|
7
|
-
class NexusSmartAccount {
|
|
8
|
-
constructor(options) {
|
|
9
|
-
_defineProperty(this, "name", SMART_ACCOUNT.NEXUS);
|
|
10
|
-
_defineProperty(this, "options", void 0);
|
|
11
|
-
this.options = options;
|
|
12
|
-
}
|
|
13
|
-
async getSmartAccount(params) {
|
|
14
|
-
var _this$options, _this$options2, _this$options3;
|
|
15
|
-
return toNexusSmartAccount(_objectSpread(_objectSpread(_objectSpread({}, this.options || {}), {}, {
|
|
16
|
-
entryPoint: {
|
|
17
|
-
address: ((_this$options = this.options) === null || _this$options === void 0 || (_this$options = _this$options.entryPoint) === null || _this$options === void 0 ? void 0 : _this$options.address) || entryPoint07Address,
|
|
18
|
-
version: ((_this$options2 = this.options) === null || _this$options2 === void 0 || (_this$options2 = _this$options2.entryPoint) === null || _this$options2 === void 0 ? void 0 : _this$options2.version) || "0.7"
|
|
19
|
-
},
|
|
20
|
-
version: ((_this$options3 = this.options) === null || _this$options3 === void 0 ? void 0 : _this$options3.version) || "1.0.0"
|
|
21
|
-
}, params), {}, {
|
|
22
|
-
owners: [params.owner],
|
|
23
|
-
client: params.client
|
|
24
|
-
}));
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export { NexusSmartAccount };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
|
-
import { toSafeSmartAccount } from 'permissionless/accounts';
|
|
4
|
-
import { entryPoint07Address } from 'viem/account-abstraction';
|
|
5
|
-
import { SMART_ACCOUNT } from './constants.js';
|
|
6
|
-
|
|
7
|
-
class SafeSmartAccount {
|
|
8
|
-
constructor(options) {
|
|
9
|
-
_defineProperty(this, "name", SMART_ACCOUNT.SAFE);
|
|
10
|
-
_defineProperty(this, "options", void 0);
|
|
11
|
-
this.options = options;
|
|
12
|
-
}
|
|
13
|
-
async getSmartAccount(params) {
|
|
14
|
-
var _this$options, _this$options2, _this$options3;
|
|
15
|
-
return toSafeSmartAccount(_objectSpread(_objectSpread(_objectSpread({}, this.options || {}), {}, {
|
|
16
|
-
entryPoint: {
|
|
17
|
-
address: ((_this$options = this.options) === null || _this$options === void 0 || (_this$options = _this$options.entryPoint) === null || _this$options === void 0 ? void 0 : _this$options.address) || entryPoint07Address,
|
|
18
|
-
version: ((_this$options2 = this.options) === null || _this$options2 === void 0 || (_this$options2 = _this$options2.entryPoint) === null || _this$options2 === void 0 ? void 0 : _this$options2.version) || "0.7"
|
|
19
|
-
},
|
|
20
|
-
version: ((_this$options3 = this.options) === null || _this$options3 === void 0 ? void 0 : _this$options3.version) || "1.4.1"
|
|
21
|
-
}, params), {}, {
|
|
22
|
-
owners: [params.owner],
|
|
23
|
-
client: params.client
|
|
24
|
-
}));
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export { SafeSmartAccount };
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
|
-
import { toTrustSmartAccount } from 'permissionless/accounts';
|
|
4
|
-
import { entryPoint06Address } from 'viem/account-abstraction';
|
|
5
|
-
import { SMART_ACCOUNT } from './constants.js';
|
|
6
|
-
|
|
7
|
-
class TrustSmartAccount {
|
|
8
|
-
constructor(options) {
|
|
9
|
-
_defineProperty(this, "name", SMART_ACCOUNT.TRUST);
|
|
10
|
-
_defineProperty(this, "options", void 0);
|
|
11
|
-
this.options = options;
|
|
12
|
-
}
|
|
13
|
-
async getSmartAccount(params) {
|
|
14
|
-
var _this$options, _this$options2;
|
|
15
|
-
return toTrustSmartAccount(_objectSpread(_objectSpread(_objectSpread({}, this.options || {}), {}, {
|
|
16
|
-
entryPoint: {
|
|
17
|
-
address: ((_this$options = this.options) === null || _this$options === void 0 || (_this$options = _this$options.entryPoint) === null || _this$options === void 0 ? void 0 : _this$options.address) || entryPoint06Address,
|
|
18
|
-
version: ((_this$options2 = this.options) === null || _this$options2 === void 0 || (_this$options2 = _this$options2.entryPoint) === null || _this$options2 === void 0 ? void 0 : _this$options2.version) || "0.6"
|
|
19
|
-
}
|
|
20
|
-
}, params), {}, {
|
|
21
|
-
owner: params.owner,
|
|
22
|
-
client: params.client
|
|
23
|
-
}));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export { TrustSmartAccount };
|