@dynamic-labs/multi-wallet 0.17.0-RC.0 → 0.17.0-RC.10
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/CHANGELOG.md +137 -0
- package/package.json +11 -14
- package/src/index.cjs +2 -66
- package/src/index.d.ts +1 -16
- package/src/index.js +2 -21
- package/src/multi-wallet.cjs +46 -159
- package/src/multi-wallet.d.ts +0 -3
- package/src/multi-wallet.js +44 -156
- package/src/types.d.ts +9 -49
- package/src/utils/convertors.cjs +0 -7
- package/src/utils/convertors.d.ts +0 -1
- package/src/utils/convertors.js +1 -7
- package/src/utils/getApiProviders.cjs +15 -0
- package/src/utils/getApiProviders.d.ts +10 -0
- package/src/utils/getApiProviders.js +11 -0
- package/src/utils/message.cjs +4 -5
- package/src/utils/message.d.ts +2 -2
- package/src/utils/message.js +2 -3
- package/src/wallets/constants.cjs +0 -2
- package/src/wallets/constants.js +1 -2
- package/src/wallets/cosmos/{keplrWalletConnect.cjs → KeplrWalletConnect.cjs} +27 -43
- package/src/wallets/cosmos/{keplrWalletConnect.d.ts → KeplrWalletConnect.d.ts} +16 -20
- package/src/wallets/cosmos/{keplrWalletConnect.js → KeplrWalletConnect.js} +20 -36
- package/src/wallets/cosmos/{keplr.cjs → KeplrWalletConnector.cjs} +24 -21
- package/src/wallets/cosmos/{keplr.d.ts → KeplrWalletConnector.d.ts} +14 -18
- package/src/wallets/cosmos/{keplr.js → KeplrWalletConnector.js} +23 -20
- package/src/wallets/cosmos/index.d.ts +1 -1
- package/src/wallets/{clients/walletConnect/walletConnect.cjs → cosmos/wcClient.lib.cjs} +38 -101
- package/src/wallets/{clients/walletConnect/walletConnect.d.ts → cosmos/wcClient.lib.d.ts} +8 -10
- package/src/wallets/{clients/walletConnect/walletConnect.js → cosmos/wcClient.lib.js} +36 -97
- package/src/wallets/flow/{flow-provider.cjs → FlowWalletConnector.cjs} +13 -41
- package/src/wallets/flow/{flow-provider.d.ts → FlowWalletConnector.d.ts} +4 -11
- package/src/wallets/flow/{flow-provider.js → FlowWalletConnector.js} +7 -35
- package/src/wallets/flow/blocto.cjs +2 -10
- package/src/wallets/flow/blocto.d.ts +2 -8
- package/src/wallets/flow/blocto.js +2 -10
- package/src/wallets/flow/dapper.cjs +2 -10
- package/src/wallets/flow/dapper.d.ts +2 -8
- package/src/wallets/flow/dapper.js +2 -10
- package/src/wallets/flow/lilico.cjs +4 -13
- package/src/wallets/flow/lilico.d.ts +2 -9
- package/src/wallets/flow/lilico.js +3 -12
- package/src/wallets/starknet/argentx.cjs +2 -2
- package/src/wallets/starknet/argentx.d.ts +1 -1
- package/src/wallets/starknet/argentx.js +2 -2
- package/src/wallets/starknet/braavos.cjs +4 -4
- package/src/wallets/starknet/braavos.d.ts +1 -1
- package/src/wallets/starknet/braavos.js +3 -3
- package/src/wallets/starknet/{starknetProvider.cjs → starknetWalletConnector.cjs} +9 -40
- package/src/wallets/starknet/{starknetProvider.d.ts → starknetWalletConnector.d.ts} +3 -14
- package/src/wallets/starknet/{starknetProvider.js → starknetWalletConnector.js} +5 -36
- package/src/wallets/window.d.ts +0 -77
- package/src/errors.cjs +0 -65
- package/src/errors.d.ts +0 -30
- package/src/errors.js +0 -53
- package/src/rpcProviders.cjs +0 -76
- package/src/rpcProviders.d.ts +0 -5
- package/src/rpcProviders.js +0 -69
- package/src/utils/CancellablePromise/CancellablePromise.cjs +0 -33
- package/src/utils/CancellablePromise/CancellablePromise.d.ts +0 -9
- package/src/utils/CancellablePromise/CancellablePromise.js +0 -29
- package/src/utils/CancellablePromise/index.d.ts +0 -1
- package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.cjs +0 -54
- package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.d.ts +0 -3
- package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js +0 -50
- package/src/utils/assignConfirmationScreenToProvider/index.d.ts +0 -1
- package/src/utils/encoding.cjs +0 -18
- package/src/utils/encoding.d.ts +0 -4
- package/src/utils/encoding.js +0 -12
- package/src/utils/extractNonce.cjs +0 -13
- package/src/utils/extractNonce.d.ts +0 -1
- package/src/utils/extractNonce.js +0 -9
- package/src/utils/getChainInfo/getChainInfo.cjs +0 -59
- package/src/utils/getChainInfo/getChainInfo.d.ts +0 -2
- package/src/utils/getChainInfo/getChainInfo.js +0 -55
- package/src/utils/getChainInfo/index.d.ts +0 -1
- package/src/utils/getWalletConnectorByName.cjs +0 -19
- package/src/utils/getWalletConnectorByName.d.ts +0 -2
- package/src/utils/getWalletConnectorByName.js +0 -15
- package/src/utils/isEmailOTPWalletConnector/index.d.ts +0 -1
- package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.cjs +0 -7
- package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.d.ts +0 -2
- package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.js +0 -3
- package/src/utils/isEmailWalletConnector/index.d.ts +0 -1
- package/src/utils/isEmailWalletConnector/isEmailWalletConnector.cjs +0 -7
- package/src/utils/isEmailWalletConnector/isEmailWalletConnector.d.ts +0 -2
- package/src/utils/isEmailWalletConnector/isEmailWalletConnector.js +0 -3
- package/src/utils/isFunction/index.d.ts +0 -1
- package/src/utils/isFunction/isFunction.cjs +0 -8
- package/src/utils/isFunction/isFunction.d.ts +0 -1
- package/src/utils/isFunction/isFunction.js +0 -4
- package/src/utils/isMobile.cjs +0 -54
- package/src/utils/isMobile.d.ts +0 -13
- package/src/utils/isMobile.js +0 -46
- package/src/utils/isSameAddress/index.d.ts +0 -1
- package/src/utils/isSameAddress/isSameAddress.cjs +0 -9
- package/src/utils/isSameAddress/isSameAddress.d.ts +0 -1
- package/src/utils/isSameAddress/isSameAddress.js +0 -5
- package/src/utils/isSameAddress/utils/index.d.ts +0 -1
- package/src/utils/isSameAddress/utils/normalizeAddress/index.d.ts +0 -1
- package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.cjs +0 -17
- package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.d.ts +0 -1
- package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.js +0 -13
- package/src/utils/isSocialWalletConnector/index.d.ts +0 -1
- package/src/utils/isSocialWalletConnector/isSocialWalletConnector.cjs +0 -7
- package/src/utils/isSocialWalletConnector/isSocialWalletConnector.d.ts +0 -2
- package/src/utils/isSocialWalletConnector/isSocialWalletConnector.js +0 -3
- package/src/utils/isUnsupportedProviderError/index.d.ts +0 -1
- package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs +0 -13
- package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.d.ts +0 -6
- package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.js +0 -9
- package/src/utils/localStorageAsync.cjs +0 -28
- package/src/utils/localStorageAsync.d.ts +0 -3
- package/src/utils/localStorageAsync.js +0 -22
- package/src/utils/logger.cjs +0 -9
- package/src/utils/logger.d.ts +0 -2
- package/src/utils/logger.js +0 -5
- package/src/utils/normalizeWalletName/index.d.ts +0 -1
- package/src/utils/normalizeWalletName/normalizeWalletName.cjs +0 -7
- package/src/utils/normalizeWalletName/normalizeWalletName.d.ts +0 -1
- package/src/utils/normalizeWalletName/normalizeWalletName.js +0 -3
- package/src/utils/shouldLowercaseAddress.cjs +0 -11
- package/src/utils/shouldLowercaseAddress.d.ts +0 -1
- package/src/utils/shouldLowercaseAddress.js +0 -7
- package/src/utils/walletConnect.cjs +0 -30
- package/src/utils/walletConnect.d.ts +0 -4
- package/src/utils/walletConnect.js +0 -26
- package/src/wallets/ProviderLookup.cjs +0 -18
- package/src/wallets/ProviderLookup.d.ts +0 -4
- package/src/wallets/ProviderLookup.js +0 -14
- package/src/wallets/algorand/myalgo.cjs +0 -187
- package/src/wallets/algorand/myalgo.d.ts +0 -36
- package/src/wallets/algorand/myalgo.js +0 -181
- package/src/wallets/algorand/myalgoSigner.cjs +0 -24
- package/src/wallets/algorand/myalgoSigner.d.ts +0 -21
- package/src/wallets/algorand/myalgoSigner.js +0 -20
- package/src/wallets/clients/coinbase/coinbase.cjs +0 -77
- package/src/wallets/clients/coinbase/coinbase.d.ts +0 -6
- package/src/wallets/clients/coinbase/coinbase.js +0 -66
- package/src/wallets/clients/coinbase/index.d.ts +0 -2
- package/src/wallets/clients/coinbase/types.d.ts +0 -14
- package/src/wallets/clients/walletConnect/index.d.ts +0 -1
- package/src/wallets/clients/walletConnect/types.d.ts +0 -4
- package/src/wallets/cosmos/getKeplrConnector.cjs +0 -18
- package/src/wallets/cosmos/getKeplrConnector.d.ts +0 -6
- package/src/wallets/cosmos/getKeplrConnector.js +0 -14
- package/src/wallets/ethereum/BloctoEvm.cjs +0 -140
- package/src/wallets/ethereum/BloctoEvm.d.ts +0 -34
- package/src/wallets/ethereum/BloctoEvm.js +0 -134
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +0 -58
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +0 -12
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +0 -54
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/index.d.ts +0 -1
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +0 -62
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.d.ts +0 -11
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +0 -58
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/index.d.ts +0 -1
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +0 -103
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +0 -34
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +0 -99
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.d.ts +0 -2
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -56
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.d.ts +0 -12
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -52
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/index.d.ts +0 -1
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +0 -182
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +0 -60
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +0 -178
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/index.d.ts +0 -2
- package/src/wallets/ethereum/MagicConnector/index.d.ts +0 -5
- package/src/wallets/ethereum/coinbase.cjs +0 -81
- package/src/wallets/ethereum/coinbase.d.ts +0 -31
- package/src/wallets/ethereum/coinbase.js +0 -79
- package/src/wallets/ethereum/ethProvider.cjs +0 -171
- package/src/wallets/ethereum/ethProvider.d.ts +0 -35
- package/src/wallets/ethereum/ethProvider.js +0 -167
- package/src/wallets/ethereum/ethProviderHelper.cjs +0 -190
- package/src/wallets/ethereum/ethProviderHelper.d.ts +0 -40
- package/src/wallets/ethereum/ethProviderHelper.js +0 -186
- package/src/wallets/ethereum/evm-network.cjs +0 -20
- package/src/wallets/ethereum/evm-network.d.ts +0 -22
- package/src/wallets/ethereum/evm-network.js +0 -16
- package/src/wallets/ethereum/fortmatic.cjs +0 -98
- package/src/wallets/ethereum/fortmatic.d.ts +0 -34
- package/src/wallets/ethereum/fortmatic.js +0 -92
- package/src/wallets/ethereum/injected/BloctoInjected.cjs +0 -13
- package/src/wallets/ethereum/injected/BloctoInjected.d.ts +0 -6
- package/src/wallets/ethereum/injected/BloctoInjected.js +0 -11
- package/src/wallets/ethereum/injected/BraveEvm.cjs +0 -13
- package/src/wallets/ethereum/injected/BraveEvm.d.ts +0 -6
- package/src/wallets/ethereum/injected/BraveEvm.js +0 -11
- package/src/wallets/ethereum/injected/Dawn.cjs +0 -13
- package/src/wallets/ethereum/injected/Dawn.d.ts +0 -6
- package/src/wallets/ethereum/injected/Dawn.js +0 -11
- package/src/wallets/ethereum/injected/ExodusEvm.cjs +0 -13
- package/src/wallets/ethereum/injected/ExodusEvm.d.ts +0 -6
- package/src/wallets/ethereum/injected/ExodusEvm.js +0 -11
- package/src/wallets/ethereum/injected/Frame.cjs +0 -13
- package/src/wallets/ethereum/injected/Frame.d.ts +0 -6
- package/src/wallets/ethereum/injected/Frame.js +0 -11
- package/src/wallets/ethereum/injected/GameStop.cjs +0 -13
- package/src/wallets/ethereum/injected/GameStop.d.ts +0 -6
- package/src/wallets/ethereum/injected/GameStop.js +0 -11
- package/src/wallets/ethereum/injected/Opera.cjs +0 -13
- package/src/wallets/ethereum/injected/Opera.d.ts +0 -6
- package/src/wallets/ethereum/injected/Opera.js +0 -11
- package/src/wallets/ethereum/injected/PhantomEvm.cjs +0 -37
- package/src/wallets/ethereum/injected/PhantomEvm.d.ts +0 -7
- package/src/wallets/ethereum/injected/PhantomEvm.js +0 -35
- package/src/wallets/ethereum/injected/Trust.cjs +0 -13
- package/src/wallets/ethereum/injected/Trust.d.ts +0 -6
- package/src/wallets/ethereum/injected/Trust.js +0 -11
- package/src/wallets/ethereum/injected/UnknownInjectedWallet.cjs +0 -13
- package/src/wallets/ethereum/injected/UnknownInjectedWallet.d.ts +0 -6
- package/src/wallets/ethereum/injected/UnknownInjectedWallet.js +0 -11
- package/src/wallets/ethereum/injected/Zerion.cjs +0 -13
- package/src/wallets/ethereum/injected/Zerion.d.ts +0 -6
- package/src/wallets/ethereum/injected/Zerion.js +0 -11
- package/src/wallets/ethereum/meta-mask.cjs +0 -70
- package/src/wallets/ethereum/meta-mask.d.ts +0 -30
- package/src/wallets/ethereum/meta-mask.js +0 -68
- package/src/wallets/getMobileOrInjectedWallet.cjs +0 -26
- package/src/wallets/getMobileOrInjectedWallet.d.ts +0 -10
- package/src/wallets/getMobileOrInjectedWallet.js +0 -22
- package/src/wallets/getWalletConnectConnector.cjs +0 -18
- package/src/wallets/getWalletConnectConnector.d.ts +0 -7
- package/src/wallets/getWalletConnectConnector.js +0 -14
- package/src/wallets/initializeWalletProviders.cjs +0 -14
- package/src/wallets/initializeWalletProviders.d.ts +0 -6
- package/src/wallets/initializeWalletProviders.js +0 -10
- package/src/wallets/solana/CoinbaseSolana.cjs +0 -77
- package/src/wallets/solana/CoinbaseSolana.d.ts +0 -26
- package/src/wallets/solana/CoinbaseSolana.js +0 -75
- package/src/wallets/solana/glow.cjs +0 -74
- package/src/wallets/solana/glow.d.ts +0 -25
- package/src/wallets/solana/glow.js +0 -72
- package/src/wallets/solana/injected/BraveSol.cjs +0 -18
- package/src/wallets/solana/injected/BraveSol.d.ts +0 -6
- package/src/wallets/solana/injected/BraveSol.js +0 -16
- package/src/wallets/solana/injected/ExodusSol.cjs +0 -12
- package/src/wallets/solana/injected/ExodusSol.d.ts +0 -5
- package/src/wallets/solana/injected/ExodusSol.js +0 -10
- package/src/wallets/solana/phantom-ledger.cjs +0 -71
- package/src/wallets/solana/phantom-ledger.d.ts +0 -16
- package/src/wallets/solana/phantom-ledger.js +0 -65
- package/src/wallets/solana/phantom.cjs +0 -97
- package/src/wallets/solana/phantom.d.ts +0 -26
- package/src/wallets/solana/phantom.js +0 -95
- package/src/wallets/solana/slope.cjs +0 -125
- package/src/wallets/solana/slope.d.ts +0 -39
- package/src/wallets/solana/slope.js +0 -123
- package/src/wallets/solana/solProvider.cjs +0 -62
- package/src/wallets/solana/solProvider.d.ts +0 -18
- package/src/wallets/solana/solProvider.js +0 -58
- package/src/wallets/solana/solProviderHelper.cjs +0 -164
- package/src/wallets/solana/solProviderHelper.d.ts +0 -29
- package/src/wallets/solana/solProviderHelper.js +0 -160
- package/src/wallets/solana/solflare.cjs +0 -94
- package/src/wallets/solana/solflare.d.ts +0 -26
- package/src/wallets/solana/solflare.js +0 -92
- package/src/wallets/walletConnect/index.d.ts +0 -2
- package/src/wallets/walletConnect/walletConnect.cjs +0 -147
- package/src/wallets/walletConnect/walletConnect.d.ts +0 -39
- package/src/wallets/walletConnect/walletConnect.js +0 -141
- package/src/wallets/walletConnect/walletConnectV2.cjs +0 -282
- package/src/wallets/walletConnect/walletConnectV2.d.ts +0 -40
- package/src/wallets/walletConnect/walletConnectV2.js +0 -273
- package/src/wallets/walletConnect/zerion.d.ts +0 -8
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var tslib = require('tslib');
|
|
4
|
+
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
4
5
|
var walletBook = require('@dynamic-labs/wallet-book');
|
|
5
|
-
var
|
|
6
|
-
var isMobile = require('../../utils/isMobile.cjs');
|
|
7
|
-
var logger = require('../../utils/logger.cjs');
|
|
8
|
-
var normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
|
|
6
|
+
var utils = require('@dynamic-labs/utils');
|
|
9
7
|
var wcClient = require('./wcClient.cjs');
|
|
8
|
+
var wcClient_lib = require('./wcClient.lib.cjs');
|
|
10
9
|
|
|
11
10
|
const DYNAMIC_KEPLR_NETWORK_ID = 'dynamic_keplr_wc_network_id';
|
|
12
|
-
class KeplrWalletConnect {
|
|
13
|
-
constructor(
|
|
14
|
-
|
|
15
|
-
this.canConnectViaSocial = false;
|
|
11
|
+
class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
|
|
12
|
+
constructor(props) {
|
|
13
|
+
super(props);
|
|
16
14
|
this.name = 'Keplr';
|
|
17
15
|
this.isWalletConnect = true;
|
|
18
|
-
this.
|
|
16
|
+
this.canConnectViaQrCode = true;
|
|
19
17
|
this.clientOptions = {
|
|
20
18
|
signingMethods: [
|
|
21
19
|
'keplr_enable_wallet_connect_v1',
|
|
@@ -29,27 +27,24 @@ class KeplrWalletConnect {
|
|
|
29
27
|
};
|
|
30
28
|
this.supportedChains = ['COSMOS'];
|
|
31
29
|
this.connectedChain = 'COSMOS';
|
|
32
|
-
this.
|
|
33
|
-
this.canConnectViaQrCode = true;
|
|
34
|
-
this.evmNetworks = evmNetworks;
|
|
30
|
+
this.evmNetworks = utils.parseEvmNetworks(props.cosmosNetworks);
|
|
35
31
|
const persistedNetworkId = localStorage.getItem(DYNAMIC_KEPLR_NETWORK_ID);
|
|
36
32
|
if (persistedNetworkId) {
|
|
37
33
|
this.selectedNetworkId = Number(persistedNetworkId);
|
|
38
34
|
}
|
|
39
35
|
else {
|
|
40
|
-
this.selectedNetworkId =
|
|
36
|
+
this.selectedNetworkId =
|
|
37
|
+
(this.evmNetworks[0] && utils.parseChainId(this.evmNetworks[0].chainId)) ||
|
|
38
|
+
401;
|
|
41
39
|
}
|
|
42
40
|
}
|
|
43
|
-
get key() {
|
|
44
|
-
return normalizeWalletName.normalizeWalletName(this.name);
|
|
45
|
-
}
|
|
46
41
|
get evmNetwork() {
|
|
47
42
|
var _a;
|
|
48
|
-
return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => network.chainId === this.selectedNetworkId);
|
|
43
|
+
return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => utils.parseChainId(network.chainId) === this.selectedNetworkId);
|
|
49
44
|
}
|
|
50
45
|
get selectedNetwork() {
|
|
51
46
|
var _a;
|
|
52
|
-
return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => network.networkId === this.selectedNetworkId);
|
|
47
|
+
return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => utils.parseChainId(network.networkId) === this.selectedNetworkId);
|
|
53
48
|
}
|
|
54
49
|
get lcdUrl() {
|
|
55
50
|
var _a;
|
|
@@ -63,11 +58,11 @@ class KeplrWalletConnect {
|
|
|
63
58
|
if (!this.selectedNetwork) {
|
|
64
59
|
return 'osmosis-1';
|
|
65
60
|
}
|
|
66
|
-
return this.chainIdMap[this.selectedNetwork.chainId];
|
|
61
|
+
return this.chainIdMap[utils.parseChainId(this.selectedNetwork.chainId)];
|
|
67
62
|
}
|
|
68
63
|
getProvider() {
|
|
69
|
-
if (
|
|
70
|
-
this._keplrInstance = new wcClient.KeplrWalletConnectV1(this.
|
|
64
|
+
if (!this._keplrInstance) {
|
|
65
|
+
this._keplrInstance = new wcClient.KeplrWalletConnectV1(this.getClient());
|
|
71
66
|
}
|
|
72
67
|
return this._keplrInstance;
|
|
73
68
|
}
|
|
@@ -75,13 +70,13 @@ class KeplrWalletConnect {
|
|
|
75
70
|
if (this.client) {
|
|
76
71
|
return this.client;
|
|
77
72
|
}
|
|
78
|
-
this.client =
|
|
73
|
+
this.client = wcClient_lib.initClient(this.key, this.clientOptions);
|
|
79
74
|
return this.client;
|
|
80
75
|
}
|
|
81
76
|
getNetwork() {
|
|
82
77
|
return Promise.resolve(this.selectedNetworkId);
|
|
83
78
|
}
|
|
84
|
-
switchNetwork({ networkChainId }) {
|
|
79
|
+
switchNetwork({ networkChainId, }) {
|
|
85
80
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
86
81
|
if (!networkChainId)
|
|
87
82
|
return;
|
|
@@ -92,7 +87,7 @@ class KeplrWalletConnect {
|
|
|
92
87
|
localStorage.setItem(DYNAMIC_KEPLR_NETWORK_ID, networkChainId.toString());
|
|
93
88
|
}
|
|
94
89
|
catch (e) {
|
|
95
|
-
|
|
90
|
+
walletConnectorCore.logger.error(e);
|
|
96
91
|
}
|
|
97
92
|
});
|
|
98
93
|
}
|
|
@@ -120,7 +115,7 @@ class KeplrWalletConnect {
|
|
|
120
115
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
121
116
|
const client = this.getClient();
|
|
122
117
|
const keplr = this.getProvider();
|
|
123
|
-
return
|
|
118
|
+
return wcClient_lib.fetchWalletConnectCosmosPublicAddress(walletBook.getWalletBookWallet(this.name), client, keplr, Object.assign(Object.assign({}, opts), { chainId: this.chainId, onConnect: (payload) => {
|
|
124
119
|
var _a;
|
|
125
120
|
payload.params[0].chainId = this.selectedNetworkId;
|
|
126
121
|
(_a = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _a === void 0 ? void 0 : _a.call(opts, payload);
|
|
@@ -143,19 +138,14 @@ class KeplrWalletConnect {
|
|
|
143
138
|
return balance.toString();
|
|
144
139
|
}
|
|
145
140
|
catch (e) {
|
|
146
|
-
|
|
141
|
+
walletConnectorCore.logger.error(e);
|
|
147
142
|
return '0';
|
|
148
143
|
}
|
|
149
144
|
});
|
|
150
145
|
}
|
|
151
|
-
connect() {
|
|
152
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
153
|
-
yield this.fetchPublicAddress();
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
146
|
endSession() {
|
|
157
147
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
158
|
-
|
|
148
|
+
wcClient_lib.killWalletConnectSession(this.getClient());
|
|
159
149
|
});
|
|
160
150
|
}
|
|
161
151
|
getConnectedAccounts() {
|
|
@@ -169,11 +159,11 @@ class KeplrWalletConnect {
|
|
|
169
159
|
getDeepLink() {
|
|
170
160
|
var _a;
|
|
171
161
|
const wallet = walletBook.getWalletBookWallet(this.name);
|
|
172
|
-
if (!
|
|
162
|
+
if (!utils.isMobile() && !((_a = wallet.desktop) === null || _a === void 0 ? void 0 : _a.native)) {
|
|
173
163
|
return undefined;
|
|
174
164
|
}
|
|
175
|
-
return
|
|
176
|
-
removeWCUri:
|
|
165
|
+
return wcClient_lib.getDeepLink(this.getClient().uri, wallet, {
|
|
166
|
+
removeWCUri: utils.isIOS() && this.key === 'cryptocom',
|
|
177
167
|
});
|
|
178
168
|
}
|
|
179
169
|
getRpcProvider() {
|
|
@@ -188,21 +178,15 @@ class KeplrWalletConnect {
|
|
|
188
178
|
getWeb3Provider() {
|
|
189
179
|
return this.getProvider();
|
|
190
180
|
}
|
|
191
|
-
isInstalledOnBrowser() {
|
|
192
|
-
return false;
|
|
193
|
-
}
|
|
194
|
-
proveOwnership(messageToSign) {
|
|
195
|
-
return this.signMessage(messageToSign);
|
|
196
|
-
}
|
|
197
181
|
setupEventListeners(listeners) {
|
|
198
|
-
|
|
182
|
+
wcClient_lib.setupWalletConnectEventListeners({
|
|
199
183
|
onAccountChange: listeners.onAccountChange,
|
|
200
184
|
onChainChange: listeners.onChainChange,
|
|
201
185
|
onDisconnect: listeners.onDisconnect,
|
|
202
186
|
}, this.getClient());
|
|
203
187
|
}
|
|
204
188
|
teardownEventListeners() {
|
|
205
|
-
|
|
189
|
+
wcClient_lib.teardownWalletConnectEventListeners(this.getClient());
|
|
206
190
|
}
|
|
207
191
|
supportsNetworkSwitching() {
|
|
208
192
|
return true;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import Client from '@walletconnect/client';
|
|
2
2
|
import { OfflineAminoSigner } from '@keplr-wallet/types';
|
|
3
|
-
import { Chain, FetchPublicAddressOpts,
|
|
4
|
-
import { EvmNetwork } from '
|
|
5
|
-
import { SwitchNetworkOps } from '../ethereum/ethProvider';
|
|
3
|
+
import { Chain, FetchPublicAddressOpts, WalletConnectorBase, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
|
|
4
|
+
import { EvmNetwork, GenericNetwork } from '@dynamic-labs/types';
|
|
6
5
|
import { KeplrWalletConnectV1 } from './wcClient';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
export type KeplrWalletConnectProps = {
|
|
7
|
+
cosmosNetworks: GenericNetwork[];
|
|
8
|
+
};
|
|
9
|
+
export type SwitchNetworkOps = {
|
|
10
|
+
networkChainId?: number;
|
|
11
|
+
networkName?: string;
|
|
12
|
+
};
|
|
13
|
+
declare class KeplrWalletConnect extends WalletConnectorBase {
|
|
14
|
+
constructor(props: KeplrWalletConnectProps);
|
|
12
15
|
name: string;
|
|
13
16
|
isWalletConnect: boolean;
|
|
14
|
-
|
|
17
|
+
canConnectViaQrCode: boolean;
|
|
15
18
|
client?: Client;
|
|
16
19
|
clientOptions: {
|
|
17
20
|
signingMethods: string[];
|
|
@@ -21,33 +24,26 @@ declare class KeplrWalletConnect implements WalletConnector {
|
|
|
21
24
|
chainIdMap: Record<number, string>;
|
|
22
25
|
supportedChains: Chain[];
|
|
23
26
|
connectedChain: Chain;
|
|
24
|
-
|
|
25
|
-
canConnectViaCustodialService: boolean;
|
|
26
|
-
canConnectViaQrCode: boolean;
|
|
27
|
-
_keplrInstance?: KeplrWalletConnectV1;
|
|
28
|
-
get key(): string;
|
|
27
|
+
_keplrInstance: KeplrWalletConnectV1 | undefined;
|
|
29
28
|
get evmNetwork(): EvmNetwork | undefined;
|
|
30
|
-
get selectedNetwork():
|
|
29
|
+
get selectedNetwork(): GenericNetwork | undefined;
|
|
31
30
|
get lcdUrl(): string | undefined;
|
|
32
31
|
get denom(): string | undefined;
|
|
33
32
|
get chainId(): string;
|
|
34
33
|
getProvider(): KeplrWalletConnectV1;
|
|
35
34
|
getClient(): Client;
|
|
36
35
|
getNetwork(): Promise<number>;
|
|
37
|
-
switchNetwork({ networkChainId }: SwitchNetworkOps): Promise<void>;
|
|
36
|
+
switchNetwork({ networkChainId, }: SwitchNetworkOps): Promise<void>;
|
|
38
37
|
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
39
38
|
fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
|
|
40
39
|
getBalance(): Promise<string>;
|
|
41
|
-
connect(): Promise<void>;
|
|
42
40
|
endSession(): Promise<void>;
|
|
43
41
|
getConnectedAccounts(): Promise<string[]>;
|
|
44
42
|
getDeepLink(): string | undefined;
|
|
45
43
|
getRpcProvider(): Promise<unknown>;
|
|
46
44
|
getSigner(): Promise<OfflineAminoSigner | undefined>;
|
|
47
45
|
getWeb3Provider(): KeplrWalletConnectV1 | undefined;
|
|
48
|
-
|
|
49
|
-
proveOwnership(messageToSign: string): Promise<string | undefined>;
|
|
50
|
-
setupEventListeners(listeners: WalletEventListeners): () => void;
|
|
46
|
+
setupEventListeners(listeners: WalletEventListeners): void;
|
|
51
47
|
teardownEventListeners(): void;
|
|
52
48
|
supportsNetworkSwitching(): boolean;
|
|
53
49
|
}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import { __awaiter } from 'tslib';
|
|
2
|
+
import { WalletConnectorBase, logger } from '@dynamic-labs/wallet-connector-core';
|
|
2
3
|
import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
3
|
-
import {
|
|
4
|
-
import { isMobile, isIOS } from '../../utils/isMobile.js';
|
|
5
|
-
import { logger } from '../../utils/logger.js';
|
|
6
|
-
import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
|
|
4
|
+
import { parseEvmNetworks, parseChainId, isMobile, isIOS } from '@dynamic-labs/utils';
|
|
7
5
|
import { KeplrWalletConnectV1 } from './wcClient.js';
|
|
6
|
+
import { initClient, fetchWalletConnectCosmosPublicAddress, killWalletConnectSession, getDeepLink, setupWalletConnectEventListeners, teardownWalletConnectEventListeners } from './wcClient.lib.js';
|
|
8
7
|
|
|
9
8
|
const DYNAMIC_KEPLR_NETWORK_ID = 'dynamic_keplr_wc_network_id';
|
|
10
|
-
class KeplrWalletConnect {
|
|
11
|
-
constructor(
|
|
12
|
-
|
|
13
|
-
this.canConnectViaSocial = false;
|
|
9
|
+
class KeplrWalletConnect extends WalletConnectorBase {
|
|
10
|
+
constructor(props) {
|
|
11
|
+
super(props);
|
|
14
12
|
this.name = 'Keplr';
|
|
15
13
|
this.isWalletConnect = true;
|
|
16
|
-
this.
|
|
14
|
+
this.canConnectViaQrCode = true;
|
|
17
15
|
this.clientOptions = {
|
|
18
16
|
signingMethods: [
|
|
19
17
|
'keplr_enable_wallet_connect_v1',
|
|
@@ -27,27 +25,24 @@ class KeplrWalletConnect {
|
|
|
27
25
|
};
|
|
28
26
|
this.supportedChains = ['COSMOS'];
|
|
29
27
|
this.connectedChain = 'COSMOS';
|
|
30
|
-
this.
|
|
31
|
-
this.canConnectViaQrCode = true;
|
|
32
|
-
this.evmNetworks = evmNetworks;
|
|
28
|
+
this.evmNetworks = parseEvmNetworks(props.cosmosNetworks);
|
|
33
29
|
const persistedNetworkId = localStorage.getItem(DYNAMIC_KEPLR_NETWORK_ID);
|
|
34
30
|
if (persistedNetworkId) {
|
|
35
31
|
this.selectedNetworkId = Number(persistedNetworkId);
|
|
36
32
|
}
|
|
37
33
|
else {
|
|
38
|
-
this.selectedNetworkId =
|
|
34
|
+
this.selectedNetworkId =
|
|
35
|
+
(this.evmNetworks[0] && parseChainId(this.evmNetworks[0].chainId)) ||
|
|
36
|
+
401;
|
|
39
37
|
}
|
|
40
38
|
}
|
|
41
|
-
get key() {
|
|
42
|
-
return normalizeWalletName(this.name);
|
|
43
|
-
}
|
|
44
39
|
get evmNetwork() {
|
|
45
40
|
var _a;
|
|
46
|
-
return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => network.chainId === this.selectedNetworkId);
|
|
41
|
+
return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => parseChainId(network.chainId) === this.selectedNetworkId);
|
|
47
42
|
}
|
|
48
43
|
get selectedNetwork() {
|
|
49
44
|
var _a;
|
|
50
|
-
return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => network.networkId === this.selectedNetworkId);
|
|
45
|
+
return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => parseChainId(network.networkId) === this.selectedNetworkId);
|
|
51
46
|
}
|
|
52
47
|
get lcdUrl() {
|
|
53
48
|
var _a;
|
|
@@ -61,11 +56,11 @@ class KeplrWalletConnect {
|
|
|
61
56
|
if (!this.selectedNetwork) {
|
|
62
57
|
return 'osmosis-1';
|
|
63
58
|
}
|
|
64
|
-
return this.chainIdMap[this.selectedNetwork.chainId];
|
|
59
|
+
return this.chainIdMap[parseChainId(this.selectedNetwork.chainId)];
|
|
65
60
|
}
|
|
66
61
|
getProvider() {
|
|
67
|
-
if (
|
|
68
|
-
this._keplrInstance = new KeplrWalletConnectV1(this.
|
|
62
|
+
if (!this._keplrInstance) {
|
|
63
|
+
this._keplrInstance = new KeplrWalletConnectV1(this.getClient());
|
|
69
64
|
}
|
|
70
65
|
return this._keplrInstance;
|
|
71
66
|
}
|
|
@@ -73,13 +68,13 @@ class KeplrWalletConnect {
|
|
|
73
68
|
if (this.client) {
|
|
74
69
|
return this.client;
|
|
75
70
|
}
|
|
76
|
-
this.client = initClient(
|
|
71
|
+
this.client = initClient(this.key, this.clientOptions);
|
|
77
72
|
return this.client;
|
|
78
73
|
}
|
|
79
74
|
getNetwork() {
|
|
80
75
|
return Promise.resolve(this.selectedNetworkId);
|
|
81
76
|
}
|
|
82
|
-
switchNetwork({ networkChainId }) {
|
|
77
|
+
switchNetwork({ networkChainId, }) {
|
|
83
78
|
return __awaiter(this, void 0, void 0, function* () {
|
|
84
79
|
if (!networkChainId)
|
|
85
80
|
return;
|
|
@@ -146,11 +141,6 @@ class KeplrWalletConnect {
|
|
|
146
141
|
}
|
|
147
142
|
});
|
|
148
143
|
}
|
|
149
|
-
connect() {
|
|
150
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
-
yield this.fetchPublicAddress();
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
144
|
endSession() {
|
|
155
145
|
return __awaiter(this, void 0, void 0, function* () {
|
|
156
146
|
killWalletConnectSession(this.getClient());
|
|
@@ -171,7 +161,7 @@ class KeplrWalletConnect {
|
|
|
171
161
|
return undefined;
|
|
172
162
|
}
|
|
173
163
|
return getDeepLink(this.getClient().uri, wallet, {
|
|
174
|
-
removeWCUri: isIOS() &&
|
|
164
|
+
removeWCUri: isIOS() && this.key === 'cryptocom',
|
|
175
165
|
});
|
|
176
166
|
}
|
|
177
167
|
getRpcProvider() {
|
|
@@ -186,14 +176,8 @@ class KeplrWalletConnect {
|
|
|
186
176
|
getWeb3Provider() {
|
|
187
177
|
return this.getProvider();
|
|
188
178
|
}
|
|
189
|
-
isInstalledOnBrowser() {
|
|
190
|
-
return false;
|
|
191
|
-
}
|
|
192
|
-
proveOwnership(messageToSign) {
|
|
193
|
-
return this.signMessage(messageToSign);
|
|
194
|
-
}
|
|
195
179
|
setupEventListeners(listeners) {
|
|
196
|
-
|
|
180
|
+
setupWalletConnectEventListeners({
|
|
197
181
|
onAccountChange: listeners.onAccountChange,
|
|
198
182
|
onChainChange: listeners.onChainChange,
|
|
199
183
|
onDisconnect: listeners.onDisconnect,
|
|
@@ -3,21 +3,24 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var tslib = require('tslib');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
6
|
+
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
7
|
+
var utils = require('@dynamic-labs/utils');
|
|
8
|
+
var KeplrWalletConnect = require('./KeplrWalletConnect.cjs');
|
|
8
9
|
|
|
9
10
|
const DYNAMIC_KEPLR_NETWORK_ID = 'dynamic_keplr_network_id';
|
|
10
|
-
class
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
class KeplrWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
12
|
+
getMobileOrInstalledWallet() {
|
|
13
|
+
if (this.isInstalledOnBrowser()) {
|
|
14
|
+
return this;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return new KeplrWalletConnect(this.constructorProps);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
constructor(props) {
|
|
21
|
+
super(props);
|
|
18
22
|
this.switchNetworkOnlyFromWallet = true;
|
|
19
|
-
this.
|
|
20
|
-
this.selectedNetworkId = 401;
|
|
23
|
+
this._selectedNetworkId = 401;
|
|
21
24
|
this.name = 'Keplr';
|
|
22
25
|
this.connectedChain = 'COSMOS';
|
|
23
26
|
this.supportedChains = ['COSMOS'];
|
|
@@ -26,15 +29,18 @@ class Keplr {
|
|
|
26
29
|
402: 'axelar-dojo-1',
|
|
27
30
|
403: 'osmosis-1',
|
|
28
31
|
};
|
|
29
|
-
this.evmNetworks =
|
|
32
|
+
this.evmNetworks = utils.parseEvmNetworks(props.cosmosNetworks);
|
|
30
33
|
this._handleAccountChange = this._handleAccountChange.bind(this);
|
|
31
34
|
const persistedNetworkId = localStorage.getItem(DYNAMIC_KEPLR_NETWORK_ID);
|
|
32
35
|
if (persistedNetworkId) {
|
|
33
36
|
this.selectedNetworkId = Number(persistedNetworkId);
|
|
34
37
|
}
|
|
35
38
|
}
|
|
36
|
-
|
|
37
|
-
|
|
39
|
+
get selectedNetworkId() {
|
|
40
|
+
return this._selectedNetworkId;
|
|
41
|
+
}
|
|
42
|
+
set selectedNetworkId(networkId) {
|
|
43
|
+
this._selectedNetworkId = utils.parseChainId(networkId);
|
|
38
44
|
}
|
|
39
45
|
getWeb3Provider() {
|
|
40
46
|
return this.keplr;
|
|
@@ -130,9 +136,6 @@ class Keplr {
|
|
|
130
136
|
// @ts-ignore window.keplr is provided by extension
|
|
131
137
|
return typeof window.keplr !== 'undefined';
|
|
132
138
|
}
|
|
133
|
-
proveOwnership(messageToSign) {
|
|
134
|
-
return this.signMessage(messageToSign);
|
|
135
|
-
}
|
|
136
139
|
_handleAccountChange() {
|
|
137
140
|
var _a, _b;
|
|
138
141
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -187,12 +190,12 @@ class Keplr {
|
|
|
187
190
|
return balance.toString();
|
|
188
191
|
}
|
|
189
192
|
catch (e) {
|
|
190
|
-
|
|
193
|
+
walletConnectorCore.logger.error(e);
|
|
191
194
|
return '0';
|
|
192
195
|
}
|
|
193
196
|
});
|
|
194
197
|
}
|
|
195
|
-
switchNetwork({ networkChainId }) {
|
|
198
|
+
switchNetwork({ networkChainId, }) {
|
|
196
199
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
197
200
|
if (!networkChainId)
|
|
198
201
|
return;
|
|
@@ -202,4 +205,4 @@ class Keplr {
|
|
|
202
205
|
}
|
|
203
206
|
}
|
|
204
207
|
|
|
205
|
-
exports.
|
|
208
|
+
exports.KeplrWalletConnector = KeplrWalletConnector;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Keplr as KeplrWallet } from '@keplr-wallet/types';
|
|
2
|
-
import { Chain,
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { Chain, WalletConnectorBase, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
+
import { EvmNetwork, GenericNetwork } from '@dynamic-labs/types';
|
|
4
|
+
import KeplrWalletConnect, { SwitchNetworkOps } from './KeplrWalletConnect';
|
|
5
5
|
export interface IFetchBalanceResponse {
|
|
6
6
|
balances: IFetchBalanceBalance[];
|
|
7
7
|
pagination: IFetchBalancePagination;
|
|
@@ -14,24 +14,21 @@ export interface IFetchBalancePagination {
|
|
|
14
14
|
next_key: any;
|
|
15
15
|
total: string;
|
|
16
16
|
}
|
|
17
|
-
export
|
|
17
|
+
export type KeplrWalletConnectorProps = {
|
|
18
|
+
cosmosNetworks: GenericNetwork[];
|
|
19
|
+
};
|
|
20
|
+
export declare class KeplrWalletConnector extends WalletConnectorBase {
|
|
18
21
|
evmNetworks: EvmNetwork[];
|
|
19
|
-
canConnectViaSocial: boolean;
|
|
20
|
-
canConnectViaCustodialService: boolean;
|
|
21
|
-
canConnectViaQrCode: boolean;
|
|
22
22
|
switchNetworkOnlyFromWallet: boolean;
|
|
23
|
-
|
|
24
|
-
selectedNetworkId: number;
|
|
23
|
+
private _selectedNetworkId;
|
|
25
24
|
name: string;
|
|
26
25
|
connectedChain: Chain;
|
|
27
26
|
supportedChains: Chain[];
|
|
28
|
-
get key(): string;
|
|
29
27
|
chainIdMap: Record<number, string>;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
getRpcProvider(): Promise<unknown>;
|
|
28
|
+
getMobileOrInstalledWallet(): this | KeplrWalletConnect;
|
|
29
|
+
constructor(props: KeplrWalletConnectorProps);
|
|
30
|
+
get selectedNetworkId(): number;
|
|
31
|
+
set selectedNetworkId(networkId: number);
|
|
35
32
|
getWeb3Provider(): KeplrWallet;
|
|
36
33
|
getDeepLink(): string | undefined;
|
|
37
34
|
get selectedNetwork(): EvmNetwork | undefined;
|
|
@@ -42,7 +39,7 @@ export declare class Keplr implements WalletConnector {
|
|
|
42
39
|
get symbol(): string | undefined;
|
|
43
40
|
protected getAccount(): Promise<import("@keplr-wallet/types").AccountData>;
|
|
44
41
|
get keplr(): KeplrWallet;
|
|
45
|
-
endSession
|
|
42
|
+
endSession(): Promise<void>;
|
|
46
43
|
connect(): Promise<void>;
|
|
47
44
|
fetchPublicAddress(): Promise<string>;
|
|
48
45
|
getBalance(): Promise<string | undefined>;
|
|
@@ -50,7 +47,6 @@ export declare class Keplr implements WalletConnector {
|
|
|
50
47
|
getNetwork(): Promise<number>;
|
|
51
48
|
getSigner(): Promise<import("@keplr-wallet/types").OfflineAminoSigner & import("@keplr-wallet/types").OfflineDirectSigner>;
|
|
52
49
|
isInstalledOnBrowser(): boolean;
|
|
53
|
-
proveOwnership(messageToSign: string): Promise<string | undefined>;
|
|
54
50
|
protected _listeners?: WalletEventListeners;
|
|
55
51
|
_handleAccountChange(): Promise<void>;
|
|
56
52
|
setupEventListeners(listeners: WalletEventListeners): void;
|
|
@@ -74,5 +70,5 @@ export declare class Keplr implements WalletConnector {
|
|
|
74
70
|
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
75
71
|
supportsNetworkSwitching(): boolean;
|
|
76
72
|
fetchBalance(address: string): Promise<string>;
|
|
77
|
-
switchNetwork({ networkChainId }: SwitchNetworkOps): Promise<void>;
|
|
73
|
+
switchNetwork({ networkChainId, }: SwitchNetworkOps): Promise<void>;
|
|
78
74
|
}
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import { __awaiter } from 'tslib';
|
|
2
|
-
import { logger } from '
|
|
3
|
-
import {
|
|
2
|
+
import { WalletConnectorBase, logger } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
+
import { parseEvmNetworks, parseChainId } from '@dynamic-labs/utils';
|
|
4
|
+
import KeplrWalletConnect from './KeplrWalletConnect.js';
|
|
4
5
|
|
|
5
6
|
const DYNAMIC_KEPLR_NETWORK_ID = 'dynamic_keplr_network_id';
|
|
6
|
-
class
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
class KeplrWalletConnector extends WalletConnectorBase {
|
|
8
|
+
getMobileOrInstalledWallet() {
|
|
9
|
+
if (this.isInstalledOnBrowser()) {
|
|
10
|
+
return this;
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
return new KeplrWalletConnect(this.constructorProps);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
constructor(props) {
|
|
17
|
+
super(props);
|
|
14
18
|
this.switchNetworkOnlyFromWallet = true;
|
|
15
|
-
this.
|
|
16
|
-
this.selectedNetworkId = 401;
|
|
19
|
+
this._selectedNetworkId = 401;
|
|
17
20
|
this.name = 'Keplr';
|
|
18
21
|
this.connectedChain = 'COSMOS';
|
|
19
22
|
this.supportedChains = ['COSMOS'];
|
|
@@ -22,15 +25,18 @@ class Keplr {
|
|
|
22
25
|
402: 'axelar-dojo-1',
|
|
23
26
|
403: 'osmosis-1',
|
|
24
27
|
};
|
|
25
|
-
this.evmNetworks =
|
|
28
|
+
this.evmNetworks = parseEvmNetworks(props.cosmosNetworks);
|
|
26
29
|
this._handleAccountChange = this._handleAccountChange.bind(this);
|
|
27
30
|
const persistedNetworkId = localStorage.getItem(DYNAMIC_KEPLR_NETWORK_ID);
|
|
28
31
|
if (persistedNetworkId) {
|
|
29
32
|
this.selectedNetworkId = Number(persistedNetworkId);
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
|
-
|
|
33
|
-
|
|
35
|
+
get selectedNetworkId() {
|
|
36
|
+
return this._selectedNetworkId;
|
|
37
|
+
}
|
|
38
|
+
set selectedNetworkId(networkId) {
|
|
39
|
+
this._selectedNetworkId = parseChainId(networkId);
|
|
34
40
|
}
|
|
35
41
|
getWeb3Provider() {
|
|
36
42
|
return this.keplr;
|
|
@@ -126,9 +132,6 @@ class Keplr {
|
|
|
126
132
|
// @ts-ignore window.keplr is provided by extension
|
|
127
133
|
return typeof window.keplr !== 'undefined';
|
|
128
134
|
}
|
|
129
|
-
proveOwnership(messageToSign) {
|
|
130
|
-
return this.signMessage(messageToSign);
|
|
131
|
-
}
|
|
132
135
|
_handleAccountChange() {
|
|
133
136
|
var _a, _b;
|
|
134
137
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -188,7 +191,7 @@ class Keplr {
|
|
|
188
191
|
}
|
|
189
192
|
});
|
|
190
193
|
}
|
|
191
|
-
switchNetwork({ networkChainId }) {
|
|
194
|
+
switchNetwork({ networkChainId, }) {
|
|
192
195
|
return __awaiter(this, void 0, void 0, function* () {
|
|
193
196
|
if (!networkChainId)
|
|
194
197
|
return;
|
|
@@ -198,4 +201,4 @@ class Keplr {
|
|
|
198
201
|
}
|
|
199
202
|
}
|
|
200
203
|
|
|
201
|
-
export {
|
|
204
|
+
export { KeplrWalletConnector };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { KeplrWalletConnector } from './KeplrWalletConnector';
|