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