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