@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
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
|
+
import { createCoinbaseWalletSDK } from '@coinbase/wallet-sdk';
|
|
4
|
+
import { CONNECTOR_NAMESPACES, CHAIN_NAMESPACES } from '../../base/chain/IChainInterface.js';
|
|
5
|
+
import { WalletLoginError, Web3AuthError } from '../../base/errors/index.js';
|
|
6
|
+
import { WALLET_CONNECTORS } from '../../base/wallet/index.js';
|
|
7
|
+
import { BaseEvmConnector } from '../base-evm-connector/baseEvmConnector.js';
|
|
8
|
+
import { CONNECTOR_CATEGORY, CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
|
|
9
|
+
|
|
10
|
+
class CoinbaseConnector extends BaseEvmConnector {
|
|
11
|
+
constructor(connectorOptions) {
|
|
12
|
+
super(connectorOptions);
|
|
13
|
+
_defineProperty(this, "connectorNamespace", CONNECTOR_NAMESPACES.EIP155);
|
|
14
|
+
_defineProperty(this, "currentChainNamespace", CHAIN_NAMESPACES.EIP155);
|
|
15
|
+
_defineProperty(this, "type", CONNECTOR_CATEGORY.EXTERNAL);
|
|
16
|
+
_defineProperty(this, "name", WALLET_CONNECTORS.COINBASE);
|
|
17
|
+
_defineProperty(this, "status", CONNECTOR_STATUS.NOT_READY);
|
|
18
|
+
_defineProperty(this, "coinbaseProvider", null);
|
|
19
|
+
_defineProperty(this, "coinbaseOptions", {
|
|
20
|
+
appName: "Web3Auth"
|
|
21
|
+
});
|
|
22
|
+
this.coinbaseOptions = _objectSpread(_objectSpread({}, this.coinbaseOptions), connectorOptions.connectorSettings);
|
|
23
|
+
}
|
|
24
|
+
get provider() {
|
|
25
|
+
if (this.status !== CONNECTOR_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
|
+
async init(options) {
|
|
34
|
+
await super.init(options);
|
|
35
|
+
const chainConfig = this.coreOptions.chains.find(x => x.chainId === options.chainId);
|
|
36
|
+
super.checkInitializationRequirements({
|
|
37
|
+
chainConfig
|
|
38
|
+
});
|
|
39
|
+
const coinbaseInstance = createCoinbaseWalletSDK(_objectSpread(_objectSpread({}, this.coinbaseOptions), {}, {
|
|
40
|
+
preference: {
|
|
41
|
+
options: this.coinbaseOptions.options || "smartWalletOnly"
|
|
42
|
+
},
|
|
43
|
+
appChainIds: this.coreOptions.chains.map(x => Number.parseInt(x.chainId, 16)),
|
|
44
|
+
appName: this.coinbaseOptions.appName || "Web3Auth",
|
|
45
|
+
appLogoUrl: this.coinbaseOptions.appLogoUrl || ""
|
|
46
|
+
}));
|
|
47
|
+
this.coinbaseProvider = coinbaseInstance.getProvider();
|
|
48
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
49
|
+
this.emit(CONNECTOR_EVENTS.READY, WALLET_CONNECTORS.COINBASE);
|
|
50
|
+
try {
|
|
51
|
+
if (options.autoConnect) {
|
|
52
|
+
this.rehydrated = true;
|
|
53
|
+
await this.connect({
|
|
54
|
+
chainId: options.chainId
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
} catch (error) {
|
|
58
|
+
this.emit(CONNECTOR_EVENTS.ERRORED, error);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async connect({
|
|
62
|
+
chainId
|
|
63
|
+
}) {
|
|
64
|
+
super.checkConnectionRequirements();
|
|
65
|
+
if (!this.coinbaseProvider) throw WalletLoginError.notConnectedError("Connector is not initialized");
|
|
66
|
+
this.status = CONNECTOR_STATUS.CONNECTING;
|
|
67
|
+
this.emit(CONNECTOR_EVENTS.CONNECTING, {
|
|
68
|
+
connector: WALLET_CONNECTORS.COINBASE
|
|
69
|
+
});
|
|
70
|
+
try {
|
|
71
|
+
const chainConfig = this.coreOptions.chains.find(x => x.chainId === chainId);
|
|
72
|
+
if (!chainConfig) throw WalletLoginError.connectionError("Chain config is not available");
|
|
73
|
+
await this.coinbaseProvider.request({
|
|
74
|
+
method: "eth_requestAccounts"
|
|
75
|
+
});
|
|
76
|
+
const currentChainId = await this.coinbaseProvider.request({
|
|
77
|
+
method: "eth_chainId"
|
|
78
|
+
});
|
|
79
|
+
if (currentChainId !== chainConfig.chainId) {
|
|
80
|
+
await this.switchChain(chainConfig, true);
|
|
81
|
+
}
|
|
82
|
+
this.status = CONNECTOR_STATUS.CONNECTED;
|
|
83
|
+
if (!this.provider) throw WalletLoginError.notConnectedError("Failed to connect with provider");
|
|
84
|
+
this.provider.once("disconnect", () => {
|
|
85
|
+
// ready to be connected again
|
|
86
|
+
this.disconnect();
|
|
87
|
+
});
|
|
88
|
+
this.emit(CONNECTOR_EVENTS.CONNECTED, {
|
|
89
|
+
connector: WALLET_CONNECTORS.COINBASE,
|
|
90
|
+
reconnected: this.rehydrated,
|
|
91
|
+
provider: this.provider
|
|
92
|
+
});
|
|
93
|
+
return this.provider;
|
|
94
|
+
} catch (error) {
|
|
95
|
+
// ready again to be connected
|
|
96
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
97
|
+
this.rehydrated = false;
|
|
98
|
+
this.emit(CONNECTOR_EVENTS.ERRORED, error);
|
|
99
|
+
if (error instanceof Web3AuthError) throw error;
|
|
100
|
+
throw WalletLoginError.connectionError("Failed to login with coinbase wallet", error);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
async disconnect(options = {
|
|
104
|
+
cleanup: false
|
|
105
|
+
}) {
|
|
106
|
+
var _this$provider;
|
|
107
|
+
await super.disconnectSession();
|
|
108
|
+
(_this$provider = this.provider) === null || _this$provider === void 0 || _this$provider.removeAllListeners();
|
|
109
|
+
if (options.cleanup) {
|
|
110
|
+
this.status = CONNECTOR_STATUS.NOT_READY;
|
|
111
|
+
this.coinbaseProvider = null;
|
|
112
|
+
} else {
|
|
113
|
+
// ready to be connected again
|
|
114
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
115
|
+
}
|
|
116
|
+
await super.disconnect();
|
|
117
|
+
}
|
|
118
|
+
async getUserInfo() {
|
|
119
|
+
if (this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
120
|
+
return {};
|
|
121
|
+
}
|
|
122
|
+
async switchChain(params, init = false) {
|
|
123
|
+
super.checkSwitchChainRequirements(params, init);
|
|
124
|
+
await this.coinbaseProvider.request({
|
|
125
|
+
method: "wallet_switchEthereumChain",
|
|
126
|
+
params: [{
|
|
127
|
+
chainId: params.chainId
|
|
128
|
+
}]
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
async enableMFA() {
|
|
132
|
+
throw new Error("Method Not implemented");
|
|
133
|
+
}
|
|
134
|
+
async manageMFA() {
|
|
135
|
+
throw new Error("Method Not implemented");
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
const coinbaseConnector = params => {
|
|
139
|
+
return ({
|
|
140
|
+
coreOptions
|
|
141
|
+
}) => {
|
|
142
|
+
return new CoinbaseConnector({
|
|
143
|
+
connectorSettings: params,
|
|
144
|
+
coreOptions
|
|
145
|
+
});
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
export { coinbaseConnector };
|
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import {
|
|
2
|
+
import { CONNECTOR_NAMESPACES, CHAIN_NAMESPACES } from '../../base/chain/IChainInterface.js';
|
|
3
3
|
import { WalletLoginError, Web3AuthError } from '../../base/errors/index.js';
|
|
4
4
|
import { log } from '../../base/loglevel.js';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { normalizeWalletName } from '../../base/utils.js';
|
|
6
|
+
import { BaseEvmConnector } from '../base-evm-connector/baseEvmConnector.js';
|
|
7
|
+
import { CONNECTOR_CATEGORY, CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
|
|
7
8
|
|
|
8
|
-
class
|
|
9
|
+
class InjectedEvmConnector extends BaseEvmConnector {
|
|
9
10
|
constructor(options) {
|
|
10
11
|
super(options);
|
|
11
|
-
_defineProperty(this, "
|
|
12
|
+
_defineProperty(this, "connectorNamespace", CONNECTOR_NAMESPACES.EIP155);
|
|
12
13
|
_defineProperty(this, "currentChainNamespace", CHAIN_NAMESPACES.EIP155);
|
|
13
|
-
_defineProperty(this, "type",
|
|
14
|
+
_defineProperty(this, "type", CONNECTOR_CATEGORY.EXTERNAL);
|
|
14
15
|
_defineProperty(this, "name", void 0);
|
|
15
16
|
_defineProperty(this, "isInjected", true);
|
|
16
|
-
_defineProperty(this, "status",
|
|
17
|
+
_defineProperty(this, "status", CONNECTOR_STATUS.NOT_READY);
|
|
17
18
|
_defineProperty(this, "injectedProvider", null);
|
|
18
19
|
this.name = options.name;
|
|
19
20
|
this.injectedProvider = options.provider;
|
|
20
21
|
}
|
|
21
22
|
get provider() {
|
|
22
|
-
if (this.status !==
|
|
23
|
+
if (this.status !== CONNECTOR_STATUS.NOT_READY && this.injectedProvider) {
|
|
23
24
|
return this.injectedProvider;
|
|
24
25
|
}
|
|
25
26
|
return null;
|
|
@@ -27,43 +28,51 @@ class InjectedEvmAdapter extends BaseEvmAdapter {
|
|
|
27
28
|
set provider(_) {
|
|
28
29
|
throw new Error("Not implemented");
|
|
29
30
|
}
|
|
30
|
-
async init(options
|
|
31
|
+
async init(options) {
|
|
31
32
|
await super.init(options);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
const chainConfig = this.coreOptions.chains.find(x => x.chainId === options.chainId);
|
|
34
|
+
super.checkInitializationRequirements({
|
|
35
|
+
chainConfig
|
|
36
|
+
});
|
|
37
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
38
|
+
this.emit(CONNECTOR_EVENTS.READY, this.name);
|
|
35
39
|
try {
|
|
36
|
-
log.debug(`initializing ${this.name} injected
|
|
40
|
+
log.debug(`initializing ${this.name} injected connector`);
|
|
37
41
|
if (options.autoConnect) {
|
|
38
42
|
this.rehydrated = true;
|
|
39
|
-
await this.connect(
|
|
43
|
+
await this.connect({
|
|
44
|
+
chainId: options.chainId
|
|
45
|
+
});
|
|
40
46
|
}
|
|
41
47
|
} catch (error) {
|
|
42
|
-
this.emit(
|
|
48
|
+
this.emit(CONNECTOR_EVENTS.ERRORED, error);
|
|
43
49
|
}
|
|
44
50
|
}
|
|
45
|
-
async connect(
|
|
51
|
+
async connect({
|
|
52
|
+
chainId
|
|
53
|
+
}) {
|
|
46
54
|
super.checkConnectionRequirements();
|
|
47
55
|
if (!this.injectedProvider) throw WalletLoginError.connectionError("Injected provider is not available");
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
this.
|
|
51
|
-
|
|
56
|
+
const chainConfig = this.coreOptions.chains.find(x => x.chainId === chainId);
|
|
57
|
+
if (!chainConfig) throw WalletLoginError.connectionError("Chain config is not available");
|
|
58
|
+
this.status = CONNECTOR_STATUS.CONNECTING;
|
|
59
|
+
this.emit(CONNECTOR_EVENTS.CONNECTING, {
|
|
60
|
+
connector: this.name
|
|
52
61
|
});
|
|
53
62
|
try {
|
|
54
63
|
await this.injectedProvider.request({
|
|
55
64
|
method: "eth_requestAccounts"
|
|
56
65
|
});
|
|
57
66
|
// switch chain if not connected to the right chain
|
|
58
|
-
if (this.injectedProvider.chainId !==
|
|
67
|
+
if (this.injectedProvider.chainId !== chainConfig.chainId) {
|
|
59
68
|
try {
|
|
60
|
-
await this.switchChain(
|
|
69
|
+
await this.switchChain(chainConfig, true);
|
|
61
70
|
} catch (error) {
|
|
62
|
-
await this.addChain(
|
|
63
|
-
await this.switchChain(
|
|
71
|
+
await this.addChain(chainConfig, true);
|
|
72
|
+
await this.switchChain(chainConfig, true);
|
|
64
73
|
}
|
|
65
74
|
}
|
|
66
|
-
this.status =
|
|
75
|
+
this.status = CONNECTOR_STATUS.CONNECTED;
|
|
67
76
|
const accountDisconnectHandler = accounts => {
|
|
68
77
|
if (accounts.length === 0) {
|
|
69
78
|
var _this$injectedProvide;
|
|
@@ -72,17 +81,17 @@ class InjectedEvmAdapter extends BaseEvmAdapter {
|
|
|
72
81
|
}
|
|
73
82
|
};
|
|
74
83
|
this.injectedProvider.on("accountsChanged", accountDisconnectHandler);
|
|
75
|
-
this.emit(
|
|
76
|
-
|
|
84
|
+
this.emit(CONNECTOR_EVENTS.CONNECTED, {
|
|
85
|
+
connector: this.name,
|
|
77
86
|
reconnected: this.rehydrated,
|
|
78
87
|
provider: this.injectedProvider
|
|
79
88
|
});
|
|
80
89
|
return this.injectedProvider;
|
|
81
90
|
} catch (error) {
|
|
82
91
|
// ready again to be connected
|
|
83
|
-
this.status =
|
|
92
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
84
93
|
this.rehydrated = false;
|
|
85
|
-
this.emit(
|
|
94
|
+
this.emit(CONNECTOR_EVENTS.ERRORED, error);
|
|
86
95
|
if (error instanceof Web3AuthError) throw error;
|
|
87
96
|
throw WalletLoginError.connectionError(`Failed to login with ${this.name} injected wallet`);
|
|
88
97
|
}
|
|
@@ -102,21 +111,20 @@ class InjectedEvmAdapter extends BaseEvmAdapter {
|
|
|
102
111
|
});
|
|
103
112
|
} catch (error) {}
|
|
104
113
|
if (options.cleanup) {
|
|
105
|
-
this.status =
|
|
114
|
+
this.status = CONNECTOR_STATUS.NOT_READY;
|
|
106
115
|
this.injectedProvider = null;
|
|
107
116
|
} else {
|
|
108
117
|
// ready to be connected again
|
|
109
|
-
this.status =
|
|
118
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
110
119
|
}
|
|
111
120
|
await super.disconnect();
|
|
112
121
|
}
|
|
113
122
|
async getUserInfo() {
|
|
114
|
-
if (this.status !==
|
|
123
|
+
if (this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
115
124
|
return {};
|
|
116
125
|
}
|
|
117
|
-
async addChain(chainConfig,
|
|
126
|
+
async addChain(chainConfig, _init = false) {
|
|
118
127
|
if (!this.injectedProvider) throw WalletLoginError.connectionError("Injected provider is not available");
|
|
119
|
-
super.checkAddChainRequirements(chainConfig, init);
|
|
120
128
|
await this.injectedProvider.request({
|
|
121
129
|
method: "wallet_addEthereumChain",
|
|
122
130
|
params: [{
|
|
@@ -132,7 +140,6 @@ class InjectedEvmAdapter extends BaseEvmAdapter {
|
|
|
132
140
|
iconUrls: [chainConfig.logo]
|
|
133
141
|
}]
|
|
134
142
|
});
|
|
135
|
-
this.addChainConfig(chainConfig);
|
|
136
143
|
}
|
|
137
144
|
async switchChain(params, init = false) {
|
|
138
145
|
if (!this.injectedProvider) throw WalletLoginError.connectionError("Injected provider is not available");
|
|
@@ -143,9 +150,6 @@ class InjectedEvmAdapter extends BaseEvmAdapter {
|
|
|
143
150
|
chainId: params.chainId
|
|
144
151
|
}]
|
|
145
152
|
});
|
|
146
|
-
this.setAdapterSettings({
|
|
147
|
-
chainConfig: this.getChainConfig(params.chainId)
|
|
148
|
-
});
|
|
149
153
|
}
|
|
150
154
|
async enableMFA() {
|
|
151
155
|
throw new Error("Method Not implemented");
|
|
@@ -154,5 +158,16 @@ class InjectedEvmAdapter extends BaseEvmAdapter {
|
|
|
154
158
|
throw new Error("Method Not implemented");
|
|
155
159
|
}
|
|
156
160
|
}
|
|
161
|
+
const injectedEvmConnector = providerDetail => {
|
|
162
|
+
return ({
|
|
163
|
+
coreOptions
|
|
164
|
+
}) => {
|
|
165
|
+
return new InjectedEvmConnector({
|
|
166
|
+
name: normalizeWalletName(providerDetail.info.name),
|
|
167
|
+
provider: providerDetail.provider,
|
|
168
|
+
coreOptions
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
};
|
|
157
172
|
|
|
158
|
-
export {
|
|
173
|
+
export { InjectedEvmConnector, injectedEvmConnector };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SolanaSignMessage, SolanaSignTransaction, SolanaSignAndSendTransaction } from '@solana/wallet-standard-features';
|
|
2
|
+
export { getWallets as createSolanaMipd } from '@wallet-standard/app';
|
|
3
|
+
import { StandardConnect } from '@wallet-standard/features';
|
|
4
|
+
export { walletStandardConnector } from './walletStandardConnector.js';
|
|
5
|
+
|
|
6
|
+
const hasSolanaWalletStandardFeatures = wallet => {
|
|
7
|
+
const {
|
|
8
|
+
chains,
|
|
9
|
+
features
|
|
10
|
+
} = wallet;
|
|
11
|
+
const isSolana = chains.some(chain => chain.startsWith("solana"));
|
|
12
|
+
if (!isSolana) return;
|
|
13
|
+
const hasRequiredFeatures = [StandardConnect, SolanaSignMessage, SolanaSignTransaction, SolanaSignAndSendTransaction].every(feature => Object.keys(features).includes(feature));
|
|
14
|
+
if (!hasRequiredFeatures) return false;
|
|
15
|
+
return true;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { hasSolanaWalletStandardFeatures };
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import { StandardConnect, StandardDisconnect } from '@wallet-standard/features';
|
|
3
|
-
import {
|
|
3
|
+
import { CONNECTOR_NAMESPACES, CHAIN_NAMESPACES } from '../../base/chain/IChainInterface.js';
|
|
4
4
|
import { WalletLoginError } from '../../base/errors/index.js';
|
|
5
5
|
import { log } from '../../base/loglevel.js';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { BaseSolanaAdapter } from '../base-solana-adapter/baseSolanaAdapter.js';
|
|
6
|
+
import { normalizeWalletName } from '../../base/utils.js';
|
|
7
|
+
import { BaseSolanaConnector } from '../base-solana-connector/baseSolanaConnector.js';
|
|
9
8
|
import { WalletStandardProvider } from '../../providers/solana-provider/providers/injectedProviders/walletStandardProvider.js';
|
|
10
|
-
import {
|
|
9
|
+
import { getSolanaChainByChainConfig } from '../../providers/solana-provider/providers/injectedProviders/utils.js';
|
|
10
|
+
import { CONNECTOR_CATEGORY, CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
|
|
11
11
|
|
|
12
|
-
class
|
|
12
|
+
class WalletStandardConnector extends BaseSolanaConnector {
|
|
13
13
|
constructor(options) {
|
|
14
14
|
super(options);
|
|
15
15
|
_defineProperty(this, "name", void 0);
|
|
16
|
-
_defineProperty(this, "
|
|
16
|
+
_defineProperty(this, "connectorNamespace", CONNECTOR_NAMESPACES.SOLANA);
|
|
17
17
|
_defineProperty(this, "currentChainNamespace", CHAIN_NAMESPACES.SOLANA);
|
|
18
|
-
_defineProperty(this, "type",
|
|
18
|
+
_defineProperty(this, "type", CONNECTOR_CATEGORY.EXTERNAL);
|
|
19
19
|
_defineProperty(this, "isInjected", true);
|
|
20
|
-
_defineProperty(this, "status",
|
|
20
|
+
_defineProperty(this, "status", CONNECTOR_STATUS.NOT_READY);
|
|
21
21
|
_defineProperty(this, "wallet", null);
|
|
22
22
|
_defineProperty(this, "injectedProvider", null);
|
|
23
23
|
this.name = options.name;
|
|
@@ -27,65 +27,71 @@ class WalletStandardAdapter extends BaseSolanaAdapter {
|
|
|
27
27
|
this.wallet = ["gate", "solflare"].includes(this.name) ? Object.freeze(options.wallet) : options.wallet;
|
|
28
28
|
}
|
|
29
29
|
get provider() {
|
|
30
|
-
if (this.status !==
|
|
30
|
+
if (this.status !== CONNECTOR_STATUS.NOT_READY && this.injectedProvider) {
|
|
31
31
|
return this.injectedProvider;
|
|
32
32
|
}
|
|
33
33
|
return null;
|
|
34
34
|
}
|
|
35
35
|
get isWalletConnected() {
|
|
36
|
-
return !!(this.status ===
|
|
36
|
+
return !!(this.status === CONNECTOR_STATUS.CONNECTED && this.wallet.accounts.length > 0);
|
|
37
37
|
}
|
|
38
|
-
async init(options
|
|
38
|
+
async init(options) {
|
|
39
39
|
await super.init(options);
|
|
40
|
-
|
|
40
|
+
const chainConfig = this.coreOptions.chains.find(x => x.chainId === options.chainId);
|
|
41
|
+
super.checkInitializationRequirements({
|
|
42
|
+
chainConfig
|
|
43
|
+
});
|
|
41
44
|
this.injectedProvider = new WalletStandardProvider({
|
|
42
45
|
config: {
|
|
43
|
-
|
|
46
|
+
chain: chainConfig,
|
|
47
|
+
chains: this.coreOptions.chains
|
|
44
48
|
}
|
|
45
49
|
});
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
});
|
|
50
|
-
this.injectedProvider.setupProvider(providerHandler);
|
|
51
|
-
this.status = ADAPTER_STATUS.READY;
|
|
52
|
-
this.emit(ADAPTER_EVENTS.READY, this.name);
|
|
50
|
+
await this.injectedProvider.setupProvider(this.wallet, options.chainId);
|
|
51
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
52
|
+
this.emit(CONNECTOR_EVENTS.READY, this.name);
|
|
53
53
|
try {
|
|
54
|
-
log.debug("initializing solana injected
|
|
54
|
+
log.debug("initializing solana injected connector");
|
|
55
55
|
if (options.autoConnect) {
|
|
56
56
|
this.rehydrated = true;
|
|
57
|
-
await this.connect(
|
|
57
|
+
await this.connect({
|
|
58
|
+
chainId: options.chainId
|
|
59
|
+
});
|
|
58
60
|
}
|
|
59
61
|
} catch (error) {
|
|
60
62
|
log.error("Failed to connect with cached solana injected provider", error);
|
|
61
|
-
this.emit(
|
|
63
|
+
this.emit(CONNECTOR_EVENTS.ERRORED, error);
|
|
62
64
|
}
|
|
63
65
|
}
|
|
64
|
-
async connect(
|
|
66
|
+
async connect({
|
|
67
|
+
chainId
|
|
68
|
+
}) {
|
|
65
69
|
try {
|
|
66
70
|
super.checkConnectionRequirements();
|
|
67
|
-
this.
|
|
68
|
-
|
|
69
|
-
|
|
71
|
+
const chainConfig = this.coreOptions.chains.find(x => x.chainId === chainId);
|
|
72
|
+
if (!chainConfig) throw WalletLoginError.connectionError("Chain config is not available");
|
|
73
|
+
this.status = CONNECTOR_STATUS.CONNECTING;
|
|
74
|
+
this.emit(CONNECTOR_EVENTS.CONNECTING, {
|
|
75
|
+
connector: this.name
|
|
70
76
|
});
|
|
71
|
-
const chainName = getSolanaChainByChainConfig(
|
|
77
|
+
const chainName = getSolanaChainByChainConfig(chainConfig);
|
|
72
78
|
if (!this.wallet.chains.find(chain => chain === chainName)) throw WalletLoginError.connectionError(`Chain ${chainName} not supported. Supported chains are ${this.wallet.chains.join(", ")}`);
|
|
73
79
|
if (!this.isWalletConnected) {
|
|
74
80
|
await this.wallet.features[StandardConnect].connect();
|
|
75
81
|
}
|
|
76
82
|
if (this.wallet.accounts.length === 0) throw WalletLoginError.connectionError();
|
|
77
|
-
this.status =
|
|
78
|
-
this.emit(
|
|
79
|
-
|
|
83
|
+
this.status = CONNECTOR_STATUS.CONNECTED;
|
|
84
|
+
this.emit(CONNECTOR_EVENTS.CONNECTED, {
|
|
85
|
+
connector: this.name,
|
|
80
86
|
reconnected: this.rehydrated,
|
|
81
87
|
provider: this.provider
|
|
82
88
|
});
|
|
83
89
|
return this.provider;
|
|
84
90
|
} catch (error) {
|
|
85
91
|
// ready again to be connected
|
|
86
|
-
this.status =
|
|
92
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
87
93
|
this.rehydrated = false;
|
|
88
|
-
this.emit(
|
|
94
|
+
this.emit(CONNECTOR_EVENTS.ERRORED, error);
|
|
89
95
|
throw error;
|
|
90
96
|
}
|
|
91
97
|
}
|
|
@@ -97,33 +103,24 @@ class WalletStandardAdapter extends BaseSolanaAdapter {
|
|
|
97
103
|
var _this$wallet$features;
|
|
98
104
|
await ((_this$wallet$features = this.wallet.features[StandardDisconnect]) === null || _this$wallet$features === void 0 ? void 0 : _this$wallet$features.disconnect());
|
|
99
105
|
if (options.cleanup) {
|
|
100
|
-
this.status =
|
|
106
|
+
this.status = CONNECTOR_STATUS.NOT_READY;
|
|
101
107
|
this.injectedProvider = null;
|
|
102
108
|
} else {
|
|
103
|
-
this.status =
|
|
109
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
104
110
|
}
|
|
105
111
|
await super.disconnect();
|
|
106
112
|
} catch (error) {
|
|
107
|
-
this.emit(
|
|
113
|
+
this.emit(CONNECTOR_EVENTS.ERRORED, WalletLoginError.disconnectionError(error === null || error === void 0 ? void 0 : error.message));
|
|
108
114
|
}
|
|
109
115
|
}
|
|
110
116
|
async getUserInfo() {
|
|
111
117
|
if (!this.isWalletConnected) throw WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
112
118
|
return {};
|
|
113
119
|
}
|
|
114
|
-
async addChain(chainConfig, init = false) {
|
|
115
|
-
var _this$injectedProvide;
|
|
116
|
-
super.checkAddChainRequirements(chainConfig, init);
|
|
117
|
-
(_this$injectedProvide = this.injectedProvider) === null || _this$injectedProvide === void 0 || _this$injectedProvide.addChain(chainConfig);
|
|
118
|
-
this.addChainConfig(chainConfig);
|
|
119
|
-
}
|
|
120
120
|
async switchChain(params, init = false) {
|
|
121
|
-
var _this$
|
|
121
|
+
var _this$injectedProvide;
|
|
122
122
|
super.checkSwitchChainRequirements(params, init);
|
|
123
|
-
await ((_this$
|
|
124
|
-
this.setAdapterSettings({
|
|
125
|
-
chainConfig: this.getChainConfig(params.chainId)
|
|
126
|
-
});
|
|
123
|
+
await ((_this$injectedProvide = this.injectedProvider) === null || _this$injectedProvide === void 0 ? void 0 : _this$injectedProvide.switchChain(params));
|
|
127
124
|
}
|
|
128
125
|
async enableMFA() {
|
|
129
126
|
throw new Error("Method not implemented.");
|
|
@@ -132,5 +129,16 @@ class WalletStandardAdapter extends BaseSolanaAdapter {
|
|
|
132
129
|
throw new Error("Method Not implemented");
|
|
133
130
|
}
|
|
134
131
|
}
|
|
132
|
+
const walletStandardConnector = wallet => {
|
|
133
|
+
return ({
|
|
134
|
+
coreOptions
|
|
135
|
+
}) => {
|
|
136
|
+
return new WalletStandardConnector({
|
|
137
|
+
name: normalizeWalletName(wallet.name),
|
|
138
|
+
wallet,
|
|
139
|
+
coreOptions
|
|
140
|
+
});
|
|
141
|
+
};
|
|
142
|
+
};
|
|
135
143
|
|
|
136
|
-
export {
|
|
144
|
+
export { WalletStandardConnector, walletStandardConnector };
|