@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,260 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
|
-
import { UX_MODE, Auth, WEB3AUTH_NETWORK, SUPPORTED_KEY_CURVES } from '@web3auth/auth';
|
|
4
|
-
import deepmerge from 'deepmerge';
|
|
5
|
-
import { ADAPTER_NAMESPACES, CHAIN_NAMESPACES } from '../../base/chain/IChainInterface.js';
|
|
6
|
-
import { WalletInitializationError, WalletLoginError, Web3AuthError } from '../../base/errors/index.js';
|
|
7
|
-
import { log } from '../../base/loglevel.js';
|
|
8
|
-
import { WALLET_ADAPTERS } from '../../base/wallet/index.js';
|
|
9
|
-
import { getAuthDefaultOptions } from './config.js';
|
|
10
|
-
import { BaseAdapter } from '../../base/adapter/baseAdapter.js';
|
|
11
|
-
import { ADAPTER_CATEGORY, ADAPTER_STATUS, ADAPTER_EVENTS } from '../../base/adapter/constants.js';
|
|
12
|
-
|
|
13
|
-
class AuthAdapter extends BaseAdapter {
|
|
14
|
-
constructor(params = {}) {
|
|
15
|
-
super(params);
|
|
16
|
-
_defineProperty(this, "name", WALLET_ADAPTERS.AUTH);
|
|
17
|
-
_defineProperty(this, "adapterNamespace", ADAPTER_NAMESPACES.MULTICHAIN);
|
|
18
|
-
_defineProperty(this, "type", ADAPTER_CATEGORY.IN_APP);
|
|
19
|
-
_defineProperty(this, "authInstance", null);
|
|
20
|
-
_defineProperty(this, "status", ADAPTER_STATUS.NOT_READY);
|
|
21
|
-
_defineProperty(this, "currentChainNamespace", CHAIN_NAMESPACES.EIP155);
|
|
22
|
-
_defineProperty(this, "privateKeyProvider", null);
|
|
23
|
-
_defineProperty(this, "authOptions", void 0);
|
|
24
|
-
_defineProperty(this, "loginSettings", {
|
|
25
|
-
loginProvider: ""
|
|
26
|
-
});
|
|
27
|
-
this.setAdapterSettings(_objectSpread(_objectSpread({}, params.adapterSettings), {}, {
|
|
28
|
-
chainConfig: params.chainConfig,
|
|
29
|
-
clientId: params.clientId || "",
|
|
30
|
-
sessionTime: params.sessionTime,
|
|
31
|
-
web3AuthNetwork: params.web3AuthNetwork,
|
|
32
|
-
useCoreKitKey: params.useCoreKitKey,
|
|
33
|
-
privateKeyProvider: params.privateKeyProvider
|
|
34
|
-
}));
|
|
35
|
-
this.loginSettings = params.loginSettings || {
|
|
36
|
-
loginProvider: ""
|
|
37
|
-
};
|
|
38
|
-
this.privateKeyProvider = params.privateKeyProvider || null;
|
|
39
|
-
}
|
|
40
|
-
get chainConfigProxy() {
|
|
41
|
-
return this.chainConfig ? _objectSpread({}, this.chainConfig) : null;
|
|
42
|
-
}
|
|
43
|
-
get provider() {
|
|
44
|
-
if (this.status !== ADAPTER_STATUS.NOT_READY && this.privateKeyProvider) {
|
|
45
|
-
return this.privateKeyProvider;
|
|
46
|
-
}
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
set provider(_) {
|
|
50
|
-
throw new Error("Not implemented");
|
|
51
|
-
}
|
|
52
|
-
async init(options) {
|
|
53
|
-
super.checkInitializationRequirements();
|
|
54
|
-
if (!this.clientId) throw WalletInitializationError.invalidParams("clientId is required before auth's initialization");
|
|
55
|
-
if (!this.authOptions) throw WalletInitializationError.invalidParams("authOptions is required before auth's initialization");
|
|
56
|
-
const isRedirectResult = this.authOptions.uxMode === UX_MODE.REDIRECT;
|
|
57
|
-
this.authOptions = _objectSpread(_objectSpread({}, this.authOptions), {}, {
|
|
58
|
-
replaceUrlOnRedirect: isRedirectResult,
|
|
59
|
-
useCoreKitKey: this.useCoreKitKey
|
|
60
|
-
});
|
|
61
|
-
this.authInstance = new Auth(_objectSpread(_objectSpread({}, this.authOptions), {}, {
|
|
62
|
-
clientId: this.clientId,
|
|
63
|
-
network: this.authOptions.network || this.web3AuthNetwork || WEB3AUTH_NETWORK.SAPPHIRE_MAINNET
|
|
64
|
-
}));
|
|
65
|
-
log.debug("initializing auth adapter init");
|
|
66
|
-
await this.authInstance.init();
|
|
67
|
-
if (!this.chainConfig) throw WalletInitializationError.invalidParams("chainConfig is required before initialization");
|
|
68
|
-
this.status = ADAPTER_STATUS.READY;
|
|
69
|
-
this.emit(ADAPTER_EVENTS.READY, WALLET_ADAPTERS.AUTH);
|
|
70
|
-
try {
|
|
71
|
-
log.debug("initializing auth adapter");
|
|
72
|
-
const finalPrivKey = this._getFinalPrivKey();
|
|
73
|
-
// connect only if it is redirect result or if connect (adapter is cached/already connected in same session) is true
|
|
74
|
-
if (finalPrivKey && (options.autoConnect || isRedirectResult)) {
|
|
75
|
-
this.rehydrated = true;
|
|
76
|
-
await this.connect();
|
|
77
|
-
}
|
|
78
|
-
} catch (error) {
|
|
79
|
-
log.error("Failed to connect with cached auth provider", error);
|
|
80
|
-
this.emit(ADAPTER_EVENTS.ERRORED, error);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
async connect(params = {
|
|
84
|
-
loginProvider: ""
|
|
85
|
-
}) {
|
|
86
|
-
super.checkConnectionRequirements();
|
|
87
|
-
this.status = ADAPTER_STATUS.CONNECTING;
|
|
88
|
-
this.emit(ADAPTER_EVENTS.CONNECTING, _objectSpread(_objectSpread({}, params), {}, {
|
|
89
|
-
adapter: WALLET_ADAPTERS.AUTH
|
|
90
|
-
}));
|
|
91
|
-
try {
|
|
92
|
-
await this.connectWithProvider(params);
|
|
93
|
-
return this.provider;
|
|
94
|
-
} catch (error) {
|
|
95
|
-
log.error("Failed to connect with auth provider", error);
|
|
96
|
-
// ready again to be connected
|
|
97
|
-
this.status = ADAPTER_STATUS.READY;
|
|
98
|
-
this.emit(ADAPTER_EVENTS.ERRORED, error);
|
|
99
|
-
if (error !== null && error !== void 0 && error.message.includes("user closed popup")) {
|
|
100
|
-
throw WalletLoginError.popupClosed();
|
|
101
|
-
} else if (error instanceof Web3AuthError) {
|
|
102
|
-
throw error;
|
|
103
|
-
}
|
|
104
|
-
throw WalletLoginError.connectionError("Failed to login with auth", error);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
async enableMFA(params = {
|
|
108
|
-
loginProvider: ""
|
|
109
|
-
}) {
|
|
110
|
-
if (this.status !== ADAPTER_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet");
|
|
111
|
-
if (!this.authInstance) throw WalletInitializationError.notReady("authInstance is not ready");
|
|
112
|
-
try {
|
|
113
|
-
await this.authInstance.enableMFA(params);
|
|
114
|
-
} catch (error) {
|
|
115
|
-
log.error("Failed to enable MFA with auth provider", error);
|
|
116
|
-
if (error instanceof Web3AuthError) {
|
|
117
|
-
throw error;
|
|
118
|
-
}
|
|
119
|
-
throw WalletLoginError.connectionError("Failed to enable MFA with auth", error);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
async manageMFA(params = {
|
|
123
|
-
loginProvider: ""
|
|
124
|
-
}) {
|
|
125
|
-
if (this.status !== ADAPTER_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet");
|
|
126
|
-
if (!this.authInstance) throw WalletInitializationError.notReady("authInstance is not ready");
|
|
127
|
-
try {
|
|
128
|
-
await this.authInstance.manageMFA(params);
|
|
129
|
-
} catch (error) {
|
|
130
|
-
log.error("Failed to manage MFA with auth provider", error);
|
|
131
|
-
if (error instanceof Web3AuthError) {
|
|
132
|
-
throw error;
|
|
133
|
-
}
|
|
134
|
-
throw WalletLoginError.connectionError("Failed to manage MFA with auth", error);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
async disconnect(options = {
|
|
138
|
-
cleanup: false
|
|
139
|
-
}) {
|
|
140
|
-
if (this.status !== ADAPTER_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet");
|
|
141
|
-
if (!this.authInstance) throw WalletInitializationError.notReady("authInstance is not ready");
|
|
142
|
-
await this.authInstance.logout();
|
|
143
|
-
if (options.cleanup) {
|
|
144
|
-
this.status = ADAPTER_STATUS.NOT_READY;
|
|
145
|
-
this.authInstance = null;
|
|
146
|
-
this.privateKeyProvider = null;
|
|
147
|
-
} else {
|
|
148
|
-
// ready to be connected again
|
|
149
|
-
this.status = ADAPTER_STATUS.READY;
|
|
150
|
-
}
|
|
151
|
-
this.rehydrated = false;
|
|
152
|
-
this.emit(ADAPTER_EVENTS.DISCONNECTED);
|
|
153
|
-
}
|
|
154
|
-
async authenticateUser() {
|
|
155
|
-
if (this.status !== ADAPTER_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
156
|
-
const userInfo = await this.getUserInfo();
|
|
157
|
-
return {
|
|
158
|
-
idToken: userInfo.idToken
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
async getUserInfo() {
|
|
162
|
-
if (this.status !== ADAPTER_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet");
|
|
163
|
-
if (!this.authInstance) throw WalletInitializationError.notReady("authInstance is not ready");
|
|
164
|
-
const userInfo = this.authInstance.getUserInfo();
|
|
165
|
-
return userInfo;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
// should be called only before initialization.
|
|
169
|
-
setAdapterSettings(adapterSettings) {
|
|
170
|
-
super.setAdapterSettings(adapterSettings);
|
|
171
|
-
const defaultOptions = getAuthDefaultOptions();
|
|
172
|
-
log.info("setting adapter settings", adapterSettings);
|
|
173
|
-
this.authOptions = deepmerge.all([defaultOptions.adapterSettings, this.authOptions || {}, adapterSettings || {}]);
|
|
174
|
-
if (adapterSettings.web3AuthNetwork) {
|
|
175
|
-
this.authOptions.network = adapterSettings.web3AuthNetwork;
|
|
176
|
-
}
|
|
177
|
-
if (adapterSettings.privateKeyProvider) {
|
|
178
|
-
this.privateKeyProvider = adapterSettings.privateKeyProvider;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
async addChain(chainConfig, init = false) {
|
|
182
|
-
var _this$privateKeyProvi;
|
|
183
|
-
super.checkAddChainRequirements(chainConfig, init);
|
|
184
|
-
(_this$privateKeyProvi = this.privateKeyProvider) === null || _this$privateKeyProvi === void 0 || _this$privateKeyProvi.addChain(chainConfig);
|
|
185
|
-
this.addChainConfig(chainConfig);
|
|
186
|
-
}
|
|
187
|
-
async switchChain(params, init = false) {
|
|
188
|
-
var _this$privateKeyProvi2;
|
|
189
|
-
super.checkSwitchChainRequirements(params, init);
|
|
190
|
-
await ((_this$privateKeyProvi2 = this.privateKeyProvider) === null || _this$privateKeyProvi2 === void 0 ? void 0 : _this$privateKeyProvi2.switchChain(params));
|
|
191
|
-
this.setAdapterSettings({
|
|
192
|
-
chainConfig: this.getChainConfig(params.chainId)
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
_getFinalPrivKey() {
|
|
196
|
-
if (!this.authInstance) return "";
|
|
197
|
-
let finalPrivKey = this.authInstance.privKey;
|
|
198
|
-
// coreKitKey is available only for custom verifiers by default
|
|
199
|
-
if (this.useCoreKitKey) {
|
|
200
|
-
// this is to check if the user has already logged in but coreKitKey is not available.
|
|
201
|
-
// when useCoreKitKey is set to true.
|
|
202
|
-
// This is to ensure that when there is no user session active, we don't throw an exception.
|
|
203
|
-
if (this.authInstance.privKey && !this.authInstance.coreKitKey) {
|
|
204
|
-
throw WalletLoginError.coreKitKeyNotFound();
|
|
205
|
-
}
|
|
206
|
-
finalPrivKey = this.authInstance.coreKitKey;
|
|
207
|
-
}
|
|
208
|
-
return finalPrivKey;
|
|
209
|
-
}
|
|
210
|
-
_getFinalEd25519PrivKey() {
|
|
211
|
-
if (!this.authInstance) return "";
|
|
212
|
-
let finalPrivKey = this.authInstance.ed25519PrivKey;
|
|
213
|
-
// coreKitKey is available only for custom verifiers by default
|
|
214
|
-
if (this.useCoreKitKey) {
|
|
215
|
-
// this is to check if the user has already logged in but coreKitKey is not available.
|
|
216
|
-
// when useCoreKitKey is set to true.
|
|
217
|
-
// This is to ensure that when there is no user session active, we don't throw an exception.
|
|
218
|
-
if (this.authInstance.ed25519PrivKey && !this.authInstance.coreKitEd25519Key) {
|
|
219
|
-
throw WalletLoginError.coreKitKeyNotFound();
|
|
220
|
-
}
|
|
221
|
-
finalPrivKey = this.authInstance.coreKitEd25519Key;
|
|
222
|
-
}
|
|
223
|
-
return finalPrivKey;
|
|
224
|
-
}
|
|
225
|
-
async connectWithProvider(params = {
|
|
226
|
-
loginProvider: ""
|
|
227
|
-
}) {
|
|
228
|
-
var _params$extraLoginOpt;
|
|
229
|
-
if (!this.privateKeyProvider) throw WalletInitializationError.invalidParams("PrivateKey Provider is required before initialization");
|
|
230
|
-
if (!this.authInstance) throw WalletInitializationError.notReady("authInstance is not ready");
|
|
231
|
-
const keyAvailable = this._getFinalPrivKey();
|
|
232
|
-
// if not logged in then login
|
|
233
|
-
if (!keyAvailable || (_params$extraLoginOpt = params.extraLoginOptions) !== null && _params$extraLoginOpt !== void 0 && _params$extraLoginOpt.id_token) {
|
|
234
|
-
var _params$extraLoginOpt2;
|
|
235
|
-
// always use "other" curve to return token with all keys encoded so wallet service can switch between evm and solana namespace
|
|
236
|
-
this.loginSettings.curve = SUPPORTED_KEY_CURVES.OTHER;
|
|
237
|
-
if (!params.loginProvider && !this.loginSettings.loginProvider) throw WalletInitializationError.invalidParams("loginProvider is required for login");
|
|
238
|
-
await this.authInstance.login(deepmerge.all([this.loginSettings, params, {
|
|
239
|
-
extraLoginOptions: _objectSpread(_objectSpread({}, params.extraLoginOptions || {}), {}, {
|
|
240
|
-
login_hint: params.login_hint || ((_params$extraLoginOpt2 = params.extraLoginOptions) === null || _params$extraLoginOpt2 === void 0 ? void 0 : _params$extraLoginOpt2.login_hint)
|
|
241
|
-
})
|
|
242
|
-
}]));
|
|
243
|
-
}
|
|
244
|
-
let finalPrivKey = this._getFinalPrivKey();
|
|
245
|
-
if (finalPrivKey) {
|
|
246
|
-
if (this.currentChainNamespace === CHAIN_NAMESPACES.SOLANA) {
|
|
247
|
-
finalPrivKey = this._getFinalEd25519PrivKey();
|
|
248
|
-
}
|
|
249
|
-
await this.privateKeyProvider.setupProvider(finalPrivKey);
|
|
250
|
-
this.status = ADAPTER_STATUS.CONNECTED;
|
|
251
|
-
this.emit(ADAPTER_EVENTS.CONNECTED, {
|
|
252
|
-
adapter: WALLET_ADAPTERS.AUTH,
|
|
253
|
-
reconnected: this.rehydrated,
|
|
254
|
-
provider: this.provider
|
|
255
|
-
});
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
export { AuthAdapter };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { UX_MODE, WEB3AUTH_NETWORK } from '@web3auth/auth';
|
|
2
|
-
|
|
3
|
-
const getAuthDefaultOptions = () => {
|
|
4
|
-
return {
|
|
5
|
-
adapterSettings: {
|
|
6
|
-
network: WEB3AUTH_NETWORK.SAPPHIRE_MAINNET,
|
|
7
|
-
clientId: "",
|
|
8
|
-
uxMode: UX_MODE.POPUP
|
|
9
|
-
},
|
|
10
|
-
loginSettings: {},
|
|
11
|
-
privateKeyProvider: undefined
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export { getAuthDefaultOptions };
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
|
-
import { CoinbaseWalletSDK } from '@coinbase/wallet-sdk';
|
|
4
|
-
import { ADAPTER_NAMESPACES, CHAIN_NAMESPACES } from '../../base/chain/IChainInterface.js';
|
|
5
|
-
import { WalletLoginError, Web3AuthError } from '../../base/errors/index.js';
|
|
6
|
-
import { WALLET_ADAPTERS } from '../../base/wallet/index.js';
|
|
7
|
-
import { BaseEvmAdapter } from '../base-evm-adapter/baseEvmAdapter.js';
|
|
8
|
-
import { ADAPTER_CATEGORY, ADAPTER_STATUS, ADAPTER_EVENTS } from '../../base/adapter/constants.js';
|
|
9
|
-
|
|
10
|
-
class CoinbaseAdapter extends BaseEvmAdapter {
|
|
11
|
-
constructor(adapterOptions = {}) {
|
|
12
|
-
super(adapterOptions);
|
|
13
|
-
_defineProperty(this, "adapterNamespace", ADAPTER_NAMESPACES.EIP155);
|
|
14
|
-
_defineProperty(this, "currentChainNamespace", CHAIN_NAMESPACES.EIP155);
|
|
15
|
-
_defineProperty(this, "type", ADAPTER_CATEGORY.EXTERNAL);
|
|
16
|
-
_defineProperty(this, "name", WALLET_ADAPTERS.COINBASE);
|
|
17
|
-
_defineProperty(this, "status", ADAPTER_STATUS.NOT_READY);
|
|
18
|
-
_defineProperty(this, "coinbaseProvider", null);
|
|
19
|
-
_defineProperty(this, "coinbaseOptions", {
|
|
20
|
-
appName: "Web3Auth"
|
|
21
|
-
});
|
|
22
|
-
this.setAdapterSettings(adapterOptions);
|
|
23
|
-
}
|
|
24
|
-
get provider() {
|
|
25
|
-
if (this.status !== ADAPTER_STATUS.NOT_READY && this.coinbaseProvider) {
|
|
26
|
-
return this.coinbaseProvider;
|
|
27
|
-
}
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
set provider(_) {
|
|
31
|
-
throw new Error("Not implemented");
|
|
32
|
-
}
|
|
33
|
-
setAdapterSettings(options) {
|
|
34
|
-
super.setAdapterSettings(options);
|
|
35
|
-
this.coinbaseOptions = _objectSpread(_objectSpread({}, this.coinbaseOptions), options.adapterSettings);
|
|
36
|
-
}
|
|
37
|
-
async init(options = {}) {
|
|
38
|
-
await super.init(options);
|
|
39
|
-
super.checkInitializationRequirements();
|
|
40
|
-
const coinbaseInstance = new CoinbaseWalletSDK(_objectSpread(_objectSpread({}, this.coinbaseOptions), {}, {
|
|
41
|
-
appChainIds: [Number.parseInt(this.chainConfig.chainId, 16)]
|
|
42
|
-
}));
|
|
43
|
-
this.coinbaseProvider = coinbaseInstance.makeWeb3Provider({
|
|
44
|
-
options: this.coinbaseOptions.options || "smartWalletOnly"
|
|
45
|
-
});
|
|
46
|
-
this.status = ADAPTER_STATUS.READY;
|
|
47
|
-
this.emit(ADAPTER_EVENTS.READY, WALLET_ADAPTERS.COINBASE);
|
|
48
|
-
try {
|
|
49
|
-
if (options.autoConnect) {
|
|
50
|
-
this.rehydrated = true;
|
|
51
|
-
await this.connect();
|
|
52
|
-
}
|
|
53
|
-
} catch (error) {
|
|
54
|
-
this.emit(ADAPTER_EVENTS.ERRORED, error);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
async connect() {
|
|
58
|
-
super.checkConnectionRequirements();
|
|
59
|
-
if (!this.coinbaseProvider) throw WalletLoginError.notConnectedError("Adapter is not initialized");
|
|
60
|
-
this.status = ADAPTER_STATUS.CONNECTING;
|
|
61
|
-
this.emit(ADAPTER_EVENTS.CONNECTING, {
|
|
62
|
-
adapter: WALLET_ADAPTERS.COINBASE
|
|
63
|
-
});
|
|
64
|
-
try {
|
|
65
|
-
await this.coinbaseProvider.request({
|
|
66
|
-
method: "eth_requestAccounts"
|
|
67
|
-
});
|
|
68
|
-
const chainId = await this.coinbaseProvider.request({
|
|
69
|
-
method: "eth_chainId"
|
|
70
|
-
});
|
|
71
|
-
if (chainId !== this.chainConfig.chainId) {
|
|
72
|
-
await this.addChain(this.chainConfig);
|
|
73
|
-
await this.switchChain(this.chainConfig, true);
|
|
74
|
-
}
|
|
75
|
-
this.status = ADAPTER_STATUS.CONNECTED;
|
|
76
|
-
if (!this.provider) throw WalletLoginError.notConnectedError("Failed to connect with provider");
|
|
77
|
-
this.provider.once("disconnect", () => {
|
|
78
|
-
// ready to be connected again
|
|
79
|
-
this.disconnect();
|
|
80
|
-
});
|
|
81
|
-
this.emit(ADAPTER_EVENTS.CONNECTED, {
|
|
82
|
-
adapter: WALLET_ADAPTERS.COINBASE,
|
|
83
|
-
reconnected: this.rehydrated,
|
|
84
|
-
provider: this.provider
|
|
85
|
-
});
|
|
86
|
-
return this.provider;
|
|
87
|
-
} catch (error) {
|
|
88
|
-
// ready again to be connected
|
|
89
|
-
this.status = ADAPTER_STATUS.READY;
|
|
90
|
-
this.rehydrated = false;
|
|
91
|
-
this.emit(ADAPTER_EVENTS.ERRORED, error);
|
|
92
|
-
if (error instanceof Web3AuthError) throw error;
|
|
93
|
-
throw WalletLoginError.connectionError("Failed to login with coinbase wallet", error);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
async disconnect(options = {
|
|
97
|
-
cleanup: false
|
|
98
|
-
}) {
|
|
99
|
-
var _this$provider;
|
|
100
|
-
await super.disconnectSession();
|
|
101
|
-
(_this$provider = this.provider) === null || _this$provider === void 0 || _this$provider.removeAllListeners();
|
|
102
|
-
if (options.cleanup) {
|
|
103
|
-
this.status = ADAPTER_STATUS.NOT_READY;
|
|
104
|
-
this.coinbaseProvider = null;
|
|
105
|
-
} else {
|
|
106
|
-
// ready to be connected again
|
|
107
|
-
this.status = ADAPTER_STATUS.READY;
|
|
108
|
-
}
|
|
109
|
-
await super.disconnect();
|
|
110
|
-
}
|
|
111
|
-
async getUserInfo() {
|
|
112
|
-
if (this.status !== ADAPTER_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
113
|
-
return {};
|
|
114
|
-
}
|
|
115
|
-
async addChain(chainConfig, init = false) {
|
|
116
|
-
super.checkAddChainRequirements(chainConfig, init);
|
|
117
|
-
await this.coinbaseProvider.request({
|
|
118
|
-
method: "wallet_addEthereumChain",
|
|
119
|
-
params: [{
|
|
120
|
-
chainId: chainConfig.chainId,
|
|
121
|
-
chainName: chainConfig.displayName,
|
|
122
|
-
rpcUrls: [chainConfig.rpcTarget],
|
|
123
|
-
blockExplorerUrls: [chainConfig.blockExplorerUrl],
|
|
124
|
-
nativeCurrency: {
|
|
125
|
-
name: chainConfig.tickerName,
|
|
126
|
-
symbol: chainConfig.ticker,
|
|
127
|
-
decimals: chainConfig.decimals || 18
|
|
128
|
-
},
|
|
129
|
-
iconUrls: [chainConfig.logo]
|
|
130
|
-
}]
|
|
131
|
-
});
|
|
132
|
-
super.addChainConfig(chainConfig);
|
|
133
|
-
}
|
|
134
|
-
async switchChain(params, init = false) {
|
|
135
|
-
super.checkSwitchChainRequirements(params, init);
|
|
136
|
-
await this.coinbaseProvider.request({
|
|
137
|
-
method: "wallet_switchEthereumChain",
|
|
138
|
-
params: [{
|
|
139
|
-
chainId: params.chainId
|
|
140
|
-
}]
|
|
141
|
-
});
|
|
142
|
-
this.setAdapterSettings({
|
|
143
|
-
chainConfig: this.getChainConfig(params.chainId)
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
async enableMFA() {
|
|
147
|
-
throw new Error("Method Not implemented");
|
|
148
|
-
}
|
|
149
|
-
async manageMFA() {
|
|
150
|
-
throw new Error("Method Not implemented");
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
export { CoinbaseAdapter };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import { getChainConfig } from '../../base/chain/config.js';
|
|
3
|
-
import { CHAIN_NAMESPACES } from '../../base/chain/IChainInterface.js';
|
|
4
|
-
import { WalletInitializationError } from '../../base/errors/index.js';
|
|
5
|
-
import { getEvmInjectedAdapters } from './injectedAdapters.js';
|
|
6
|
-
import { WalletConnectV2Adapter } from '../wallet-connect-v2-adapter/walletConnectV2adapter.js';
|
|
7
|
-
|
|
8
|
-
const getEvmDefaultExternalAdapters = params => {
|
|
9
|
-
const {
|
|
10
|
-
options
|
|
11
|
-
} = params;
|
|
12
|
-
const {
|
|
13
|
-
clientId,
|
|
14
|
-
chainConfig,
|
|
15
|
-
sessionTime,
|
|
16
|
-
web3AuthNetwork,
|
|
17
|
-
useCoreKitKey
|
|
18
|
-
} = options;
|
|
19
|
-
if (!Object.values(CHAIN_NAMESPACES).includes(chainConfig.chainNamespace)) throw WalletInitializationError.invalidParams(`Invalid chainNamespace: ${chainConfig.chainNamespace}`);
|
|
20
|
-
const finalChainConfig = _objectSpread(_objectSpread({}, getChainConfig(chainConfig.chainNamespace, chainConfig === null || chainConfig === void 0 ? void 0 : chainConfig.chainId)), chainConfig || {});
|
|
21
|
-
const wcv2Adapter = new WalletConnectV2Adapter({
|
|
22
|
-
chainConfig: finalChainConfig,
|
|
23
|
-
clientId,
|
|
24
|
-
sessionTime,
|
|
25
|
-
web3AuthNetwork,
|
|
26
|
-
useCoreKitKey,
|
|
27
|
-
adapterSettings: {
|
|
28
|
-
walletConnectInitOptions: {}
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
const injectedProviders = getEvmInjectedAdapters({
|
|
32
|
-
options
|
|
33
|
-
});
|
|
34
|
-
return [...injectedProviders, wcv2Adapter];
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export { getEvmDefaultExternalAdapters, getEvmInjectedAdapters };
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import { createStore } from 'mipd';
|
|
3
|
-
import { getChainConfig } from '../../base/chain/config.js';
|
|
4
|
-
import { CHAIN_NAMESPACES } from '../../base/chain/IChainInterface.js';
|
|
5
|
-
import { WalletInitializationError } from '../../base/errors/index.js';
|
|
6
|
-
import { normalizeWalletName } from '../../base/utils.js';
|
|
7
|
-
import { InjectedEvmAdapter } from './injectedEvmAdapter.js';
|
|
8
|
-
|
|
9
|
-
const getEvmInjectedAdapters = params => {
|
|
10
|
-
const {
|
|
11
|
-
options
|
|
12
|
-
} = params;
|
|
13
|
-
const {
|
|
14
|
-
clientId,
|
|
15
|
-
chainConfig,
|
|
16
|
-
sessionTime,
|
|
17
|
-
web3AuthNetwork,
|
|
18
|
-
useCoreKitKey
|
|
19
|
-
} = options;
|
|
20
|
-
if (!Object.values(CHAIN_NAMESPACES).includes(chainConfig.chainNamespace)) throw WalletInitializationError.invalidParams(`Invalid chainNamespace: ${chainConfig.chainNamespace}`);
|
|
21
|
-
const finalChainConfig = _objectSpread(_objectSpread({}, getChainConfig(chainConfig.chainNamespace, chainConfig === null || chainConfig === void 0 ? void 0 : chainConfig.chainId)), chainConfig || {});
|
|
22
|
-
// EIP-6963: multiple injected provider discovery
|
|
23
|
-
const mipd = createStore();
|
|
24
|
-
// We assume that all extensions have emitted by here.
|
|
25
|
-
// TODO: Ideally, we must use reactive listening. We will do that with v9
|
|
26
|
-
const injectedProviders = mipd.getProviders().map(providerDetail => {
|
|
27
|
-
return new InjectedEvmAdapter({
|
|
28
|
-
name: normalizeWalletName(providerDetail.info.name),
|
|
29
|
-
provider: providerDetail.provider,
|
|
30
|
-
chainConfig: finalChainConfig,
|
|
31
|
-
clientId,
|
|
32
|
-
sessionTime,
|
|
33
|
-
web3AuthNetwork,
|
|
34
|
-
useCoreKitKey
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
return injectedProviders;
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
export { getEvmInjectedAdapters };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import { getChainConfig } from '../../base/chain/config.js';
|
|
3
|
-
import { CHAIN_NAMESPACES } from '../../base/chain/IChainInterface.js';
|
|
4
|
-
import { WalletInitializationError } from '../../base/errors/index.js';
|
|
5
|
-
import { getSolanaInjectedAdapters } from './injectedAdapters.js';
|
|
6
|
-
import { WalletConnectV2Adapter } from '../wallet-connect-v2-adapter/walletConnectV2adapter.js';
|
|
7
|
-
|
|
8
|
-
const getSolanaDefaultExternalAdapters = params => {
|
|
9
|
-
const {
|
|
10
|
-
options
|
|
11
|
-
} = params;
|
|
12
|
-
const {
|
|
13
|
-
clientId,
|
|
14
|
-
chainConfig,
|
|
15
|
-
sessionTime,
|
|
16
|
-
web3AuthNetwork,
|
|
17
|
-
useCoreKitKey
|
|
18
|
-
} = options;
|
|
19
|
-
if (!Object.values(CHAIN_NAMESPACES).includes(chainConfig.chainNamespace)) throw WalletInitializationError.invalidParams(`Invalid chainNamespace: ${chainConfig.chainNamespace}`);
|
|
20
|
-
const finalChainConfig = _objectSpread(_objectSpread({}, getChainConfig(chainConfig.chainNamespace, chainConfig === null || chainConfig === void 0 ? void 0 : chainConfig.chainId)), chainConfig || {});
|
|
21
|
-
const wcv2Adapter = new WalletConnectV2Adapter({
|
|
22
|
-
chainConfig: finalChainConfig,
|
|
23
|
-
clientId,
|
|
24
|
-
sessionTime,
|
|
25
|
-
web3AuthNetwork,
|
|
26
|
-
useCoreKitKey,
|
|
27
|
-
adapterSettings: {
|
|
28
|
-
walletConnectInitOptions: {}
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
const injectedProviders = getSolanaInjectedAdapters({
|
|
32
|
-
options
|
|
33
|
-
});
|
|
34
|
-
return [...injectedProviders, wcv2Adapter];
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export { getSolanaDefaultExternalAdapters, getSolanaInjectedAdapters };
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import { SolanaSignMessage, SolanaSignTransaction, SolanaSignAndSendTransaction } from '@solana/wallet-standard-features';
|
|
3
|
-
import { getWallets } from '@wallet-standard/app';
|
|
4
|
-
import { StandardConnect } from '@wallet-standard/features';
|
|
5
|
-
import { getChainConfig } from '../../base/chain/config.js';
|
|
6
|
-
import { CHAIN_NAMESPACES } from '../../base/chain/IChainInterface.js';
|
|
7
|
-
import { WalletInitializationError } from '../../base/errors/index.js';
|
|
8
|
-
import { normalizeWalletName } from '../../base/utils.js';
|
|
9
|
-
import { WalletStandardAdapter } from './walletStandardAdapter.js';
|
|
10
|
-
|
|
11
|
-
const getSolanaInjectedAdapters = params => {
|
|
12
|
-
const {
|
|
13
|
-
options
|
|
14
|
-
} = params;
|
|
15
|
-
const {
|
|
16
|
-
clientId,
|
|
17
|
-
chainConfig,
|
|
18
|
-
sessionTime,
|
|
19
|
-
web3AuthNetwork,
|
|
20
|
-
useCoreKitKey
|
|
21
|
-
} = options;
|
|
22
|
-
if (!Object.values(CHAIN_NAMESPACES).includes(chainConfig.chainNamespace)) throw WalletInitializationError.invalidParams(`Invalid chainNamespace: ${chainConfig.chainNamespace}`);
|
|
23
|
-
const finalChainConfig = _objectSpread(_objectSpread({}, getChainConfig(chainConfig.chainNamespace, chainConfig === null || chainConfig === void 0 ? void 0 : chainConfig.chainId)), chainConfig || {});
|
|
24
|
-
|
|
25
|
-
// get installed wallets that support standard wallet
|
|
26
|
-
const standardWalletAdapters = [];
|
|
27
|
-
const wallets = getWallets().get();
|
|
28
|
-
wallets.forEach(wallet => {
|
|
29
|
-
const {
|
|
30
|
-
name,
|
|
31
|
-
chains,
|
|
32
|
-
features
|
|
33
|
-
} = wallet;
|
|
34
|
-
const isSolana = chains.some(chain => chain.startsWith("solana"));
|
|
35
|
-
if (!isSolana) return;
|
|
36
|
-
const hasRequiredFeatures = [StandardConnect, SolanaSignMessage, SolanaSignTransaction, SolanaSignAndSendTransaction].every(feature => Object.keys(features).includes(feature));
|
|
37
|
-
if (!hasRequiredFeatures) return;
|
|
38
|
-
standardWalletAdapters.push(new WalletStandardAdapter({
|
|
39
|
-
name: normalizeWalletName(name),
|
|
40
|
-
wallet,
|
|
41
|
-
chainConfig: finalChainConfig,
|
|
42
|
-
clientId,
|
|
43
|
-
sessionTime,
|
|
44
|
-
web3AuthNetwork,
|
|
45
|
-
useCoreKitKey
|
|
46
|
-
}));
|
|
47
|
-
});
|
|
48
|
-
return standardWalletAdapters;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
export { getSolanaInjectedAdapters };
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import { SolanaSignMessage, SolanaSignTransaction, SolanaSignAndSendTransaction } from '@solana/wallet-standard-features';
|
|
3
|
-
import { PublicKey, VersionedTransaction, Transaction } from '@solana/web3.js';
|
|
4
|
-
import { SafeEventEmitter } from '@web3auth/auth';
|
|
5
|
-
import BN from 'bn.js';
|
|
6
|
-
import { WalletLoginError } from '../../base/errors/index.js';
|
|
7
|
-
|
|
8
|
-
class WalletStandardProviderHandler extends SafeEventEmitter {
|
|
9
|
-
constructor({
|
|
10
|
-
wallet,
|
|
11
|
-
getCurrentChain
|
|
12
|
-
}) {
|
|
13
|
-
super();
|
|
14
|
-
_defineProperty(this, "wallet", null);
|
|
15
|
-
_defineProperty(this, "getCurrentChain", void 0);
|
|
16
|
-
this.wallet = wallet;
|
|
17
|
-
this.getCurrentChain = getCurrentChain;
|
|
18
|
-
}
|
|
19
|
-
get currentAccount() {
|
|
20
|
-
var _this$wallet;
|
|
21
|
-
const account = (_this$wallet = this.wallet) === null || _this$wallet === void 0 ? void 0 : _this$wallet.accounts[0];
|
|
22
|
-
if (!account) throw WalletLoginError.notConnectedError();
|
|
23
|
-
return account;
|
|
24
|
-
}
|
|
25
|
-
get publicKey() {
|
|
26
|
-
return new PublicKey(this.currentAccount.publicKey);
|
|
27
|
-
}
|
|
28
|
-
async signMessage(message) {
|
|
29
|
-
const account = this.currentAccount;
|
|
30
|
-
const signature = await this.wallet.features[SolanaSignMessage].signMessage({
|
|
31
|
-
account,
|
|
32
|
-
message
|
|
33
|
-
});
|
|
34
|
-
return {
|
|
35
|
-
signature: signature[0].signature,
|
|
36
|
-
publicKey: new BN(Buffer.from(account.publicKey))
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
async signTransaction(transaction) {
|
|
40
|
-
const account = this.currentAccount;
|
|
41
|
-
const output = await this.wallet.features[SolanaSignTransaction].signTransaction({
|
|
42
|
-
account,
|
|
43
|
-
transaction: transaction.serialize({
|
|
44
|
-
requireAllSignatures: false
|
|
45
|
-
}),
|
|
46
|
-
chain: this.getCurrentChain()
|
|
47
|
-
});
|
|
48
|
-
const isVersionedTransaction = transaction.version !== undefined || transaction instanceof VersionedTransaction;
|
|
49
|
-
if (isVersionedTransaction) {
|
|
50
|
-
return VersionedTransaction.deserialize(output[0].signedTransaction);
|
|
51
|
-
}
|
|
52
|
-
return Transaction.from(output[0].signedTransaction);
|
|
53
|
-
}
|
|
54
|
-
async signAllTransactions(transactions) {
|
|
55
|
-
return Promise.all(transactions.map(transaction => this.signTransaction(transaction)));
|
|
56
|
-
}
|
|
57
|
-
async signAndSendTransaction(transaction) {
|
|
58
|
-
const account = this.currentAccount;
|
|
59
|
-
const output = await this.wallet.features[SolanaSignAndSendTransaction].signAndSendTransaction({
|
|
60
|
-
account,
|
|
61
|
-
transaction: transaction.serialize({
|
|
62
|
-
requireAllSignatures: false
|
|
63
|
-
}),
|
|
64
|
-
chain: this.getCurrentChain()
|
|
65
|
-
});
|
|
66
|
-
const [{
|
|
67
|
-
signature
|
|
68
|
-
}] = output;
|
|
69
|
-
return {
|
|
70
|
-
signature: new TextDecoder().decode(signature)
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export { WalletStandardProviderHandler };
|