@dynamic-labs/multi-wallet 0.17.0-RC.1 → 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 +114 -0
- package/package.json +11 -14
- package/src/index.cjs +0 -64
- package/src/index.d.ts +0 -15
- package/src/index.js +1 -20
- package/src/multi-wallet.cjs +45 -155
- package/src/multi-wallet.d.ts +0 -3
- package/src/multi-wallet.js +43 -152
- 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 +3 -4
- package/src/utils/message.d.ts +2 -2
- package/src/utils/message.js +1 -2
- package/src/wallets/constants.cjs +0 -2
- package/src/wallets/constants.js +1 -2
- package/src/wallets/cosmos/KeplrWalletConnect.cjs +21 -21
- package/src/wallets/cosmos/KeplrWalletConnect.d.ts +11 -7
- package/src/wallets/cosmos/KeplrWalletConnect.js +13 -13
- package/src/wallets/cosmos/KeplrWalletConnector.cjs +21 -6
- package/src/wallets/cosmos/KeplrWalletConnector.d.ts +10 -6
- package/src/wallets/cosmos/KeplrWalletConnector.js +21 -6
- 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/FlowWalletConnector.cjs +7 -8
- package/src/wallets/flow/FlowWalletConnector.js +2 -3
- package/src/wallets/flow/lilico.cjs +2 -2
- package/src/wallets/flow/lilico.js +1 -1
- package/src/wallets/starknet/braavos.cjs +2 -2
- package/src/wallets/starknet/braavos.js +1 -1
- package/src/wallets/starknet/starknetWalletConnector.cjs +5 -6
- package/src/wallets/starknet/starknetWalletConnector.js +2 -3
- 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/MyAlgoWalletConnector.cjs +0 -149
- package/src/wallets/algorand/MyAlgoWalletConnector.d.ts +0 -21
- package/src/wallets/algorand/MyAlgoWalletConnector.js +0 -143
- 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 -73
- 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 -111
- package/src/wallets/ethereum/BloctoEvm.d.ts +0 -25
- package/src/wallets/ethereum/BloctoEvm.js +0 -105
- package/src/wallets/ethereum/EthWalletConnector.cjs +0 -191
- package/src/wallets/ethereum/EthWalletConnector.d.ts +0 -35
- package/src/wallets/ethereum/EthWalletConnector.js +0 -187
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +0 -63
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +0 -12
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +0 -59
- 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 -102
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +0 -33
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +0 -98
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.d.ts +0 -2
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -55
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.d.ts +0 -12
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -51
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/index.d.ts +0 -1
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +0 -175
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +0 -53
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +0 -171
- 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 -65
- package/src/wallets/ethereum/coinbase.d.ts +0 -26
- package/src/wallets/ethereum/coinbase.js +0 -63
- package/src/wallets/ethereum/ethProviderHelper.cjs +0 -197
- package/src/wallets/ethereum/ethProviderHelper.d.ts +0 -40
- package/src/wallets/ethereum/ethProviderHelper.js +0 -193
- 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 -75
- package/src/wallets/ethereum/fortmatic.d.ts +0 -26
- package/src/wallets/ethereum/fortmatic.js +0 -69
- 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 -63
- package/src/wallets/ethereum/meta-mask.d.ts +0 -26
- package/src/wallets/ethereum/meta-mask.js +0 -61
- package/src/wallets/getMobileOrInjectedWallet.cjs +0 -26
- package/src/wallets/getMobileOrInjectedWallet.d.ts +0 -8
- package/src/wallets/getMobileOrInjectedWallet.js +0 -22
- package/src/wallets/getWalletConnectConnector.cjs +0 -19
- package/src/wallets/getWalletConnectConnector.d.ts +0 -8
- package/src/wallets/getWalletConnectConnector.js +0 -15
- package/src/wallets/solana/CoinbaseSolana.cjs +0 -54
- package/src/wallets/solana/CoinbaseSolana.d.ts +0 -17
- package/src/wallets/solana/CoinbaseSolana.js +0 -52
- package/src/wallets/solana/glow.cjs +0 -51
- package/src/wallets/solana/glow.d.ts +0 -16
- package/src/wallets/solana/glow.js +0 -49
- 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 -74
- package/src/wallets/solana/phantom.d.ts +0 -17
- package/src/wallets/solana/phantom.js +0 -72
- package/src/wallets/solana/slope.cjs +0 -96
- package/src/wallets/solana/slope.d.ts +0 -27
- package/src/wallets/solana/slope.js +0 -94
- 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/solWalletConnector.cjs +0 -57
- package/src/wallets/solana/solWalletConnector.d.ts +0 -18
- package/src/wallets/solana/solWalletConnector.js +0 -53
- package/src/wallets/solana/solflare.cjs +0 -65
- package/src/wallets/solana/solflare.d.ts +0 -14
- package/src/wallets/solana/solflare.js +0 -63
- package/src/wallets/walletConnect/index.d.ts +0 -2
- package/src/wallets/walletConnect/walletConnect.cjs +0 -130
- package/src/wallets/walletConnect/walletConnect.d.ts +0 -34
- package/src/wallets/walletConnect/walletConnect.js +0 -124
- package/src/wallets/walletConnect/walletConnectV2.cjs +0 -268
- package/src/wallets/walletConnect/walletConnectV2.d.ts +0 -38
- package/src/wallets/walletConnect/walletConnectV2.js +0 -262
- package/src/wallets/walletConnect/zerion.d.ts +0 -8
package/src/multi-wallet.js
CHANGED
|
@@ -1,59 +1,20 @@
|
|
|
1
1
|
import { __awaiter } from 'tslib';
|
|
2
|
+
import { isEmailWalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
2
3
|
import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
4
|
+
import { EmailOTPMagicWalletConnector, MagicSocialWalletConnector } from '@dynamic-labs/magic';
|
|
5
|
+
import { isMobile, isIPad, isIPhone } from '@dynamic-labs/utils';
|
|
6
|
+
import { EthereumWalletConnectors } from '@dynamic-labs/ethereum-all';
|
|
7
|
+
import { AlgorandWalletConnectors } from '@dynamic-labs/algorand-all';
|
|
8
|
+
import { SolanaWalletConnectors } from '@dynamic-labs/solana-all';
|
|
8
9
|
import Blocto from './wallets/flow/blocto.js';
|
|
9
10
|
import Dapper from './wallets/flow/dapper.js';
|
|
10
|
-
import { isMobile, isIPad, isIPhone } from './utils/isMobile.js';
|
|
11
|
-
import { fetchWalletConnectWallets } from './utils/walletConnect.js';
|
|
12
|
-
import MyAlgoWalletConnector from './wallets/algorand/MyAlgoWalletConnector.js';
|
|
13
|
-
import BraveEvm from './wallets/ethereum/injected/BraveEvm.js';
|
|
14
|
-
import Opera from './wallets/ethereum/injected/Opera.js';
|
|
15
|
-
import BraveSol from './wallets/solana/injected/BraveSol.js';
|
|
16
|
-
import UnknownInjectedWallet from './wallets/ethereum/injected/UnknownInjectedWallet.js';
|
|
17
|
-
import GameStop from './wallets/ethereum/injected/GameStop.js';
|
|
18
|
-
import ExodusEvm from './wallets/ethereum/injected/ExodusEvm.js';
|
|
19
|
-
import ExodusSol from './wallets/solana/injected/ExodusSol.js';
|
|
20
|
-
import BloctoInjected from './wallets/ethereum/injected/BloctoInjected.js';
|
|
21
11
|
import ArgentX from './wallets/starknet/argentx.js';
|
|
22
12
|
import Braavos from './wallets/starknet/braavos.js';
|
|
23
|
-
import BloctoEvm from './wallets/ethereum/BloctoEvm.js';
|
|
24
|
-
import PhantomLedger from './wallets/solana/phantom-ledger.js';
|
|
25
|
-
export { walletName as phantomLedgerWalletName } from './wallets/solana/phantom-ledger.js';
|
|
26
|
-
import CoinbaseSolana from './wallets/solana/CoinbaseSolana.js';
|
|
27
|
-
import Frame from './wallets/ethereum/injected/Frame.js';
|
|
28
|
-
import Fortmatic from './wallets/ethereum/fortmatic.js';
|
|
29
13
|
import Lilico from './wallets/flow/lilico.js';
|
|
30
|
-
import {
|
|
31
|
-
import
|
|
32
|
-
import PhantomEvm from './wallets/ethereum/injected/PhantomEvm.js';
|
|
33
|
-
import 'magic-sdk';
|
|
34
|
-
import 'ethers';
|
|
35
|
-
import '@dynamic-labs/wallet-connector-core';
|
|
36
|
-
import './utils/logger.js';
|
|
37
|
-
import { EmailOTPMagicWalletConnector } from './wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js';
|
|
38
|
-
import { MagicSocialWalletConnector } from './wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js';
|
|
39
|
-
import { isEmailWalletConnector } from './utils/isEmailWalletConnector/isEmailWalletConnector.js';
|
|
40
|
-
import { getKeplerConnector } from './wallets/cosmos/getKeplrConnector.js';
|
|
41
|
-
import Zerion from './wallets/ethereum/injected/Zerion.js';
|
|
42
|
-
import { getMobileOrInjectedWallet } from './wallets/getMobileOrInjectedWallet.js';
|
|
43
|
-
import MetaMask from './wallets/ethereum/meta-mask.js';
|
|
44
|
-
import Trust from './wallets/ethereum/injected/Trust.js';
|
|
14
|
+
import { KeplrWalletConnector } from './wallets/cosmos/KeplrWalletConnector.js';
|
|
15
|
+
import { getApiProviders } from './utils/getApiProviders.js';
|
|
45
16
|
|
|
46
17
|
let wallets = [];
|
|
47
|
-
// These wallets are either not supported or implement their
|
|
48
|
-
// own WalletConnect connector
|
|
49
|
-
const filteredWalletConnectWallets = [
|
|
50
|
-
'MetaMask',
|
|
51
|
-
'Gnosis Safe',
|
|
52
|
-
'Trust',
|
|
53
|
-
'lilico',
|
|
54
|
-
'Keplr',
|
|
55
|
-
'Zerion',
|
|
56
|
-
];
|
|
57
18
|
const defaultWalletUiUtils = {
|
|
58
19
|
enableInternalSign: () => {
|
|
59
20
|
throw Error('enableInternalSign, not implemented');
|
|
@@ -65,106 +26,48 @@ const defaultWalletUiUtils = {
|
|
|
65
26
|
throw Error('signMessage not implemented');
|
|
66
27
|
},
|
|
67
28
|
};
|
|
68
|
-
const getSupportedWallets = (
|
|
69
|
-
|
|
70
|
-
appName: '',
|
|
71
|
-
isWalletConnectV2Enabled: false,
|
|
72
|
-
networkConfigurations: { cosmos: [], evm: [], solana: [], starknet: [] },
|
|
73
|
-
skipMemo: false,
|
|
74
|
-
vendorCredentials: {},
|
|
75
|
-
walletConnectProjectId: '',
|
|
76
|
-
}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
+
const getSupportedWallets = (args) => __awaiter(void 0, void 0, void 0, function* () {
|
|
30
|
+
var _a;
|
|
31
|
+
const { appLogoUrl = '', appName = '', chainRpcProviders, isWalletConnectV2Enabled = false, networkConfigurations = { cosmos: [], evm: [], solana: [], starknet: [] }, customerApiProviders = [], skipMemo = false, walletConnectProjectId = '', walletUiUtils = undefined, } = args;
|
|
77
32
|
if (!skipMemo && wallets.length > 0) {
|
|
78
33
|
return wallets;
|
|
79
34
|
}
|
|
80
35
|
const evmNetworkConfigs = (networkConfigurations === null || networkConfigurations === void 0 ? void 0 : networkConfigurations.evm) || [];
|
|
81
36
|
const solanaNetworkConfigs = (networkConfigurations === null || networkConfigurations === void 0 ? void 0 : networkConfigurations.solana) || [];
|
|
82
37
|
const cosmosNetworkConfigs = (networkConfigurations === null || networkConfigurations === void 0 ? void 0 : networkConfigurations.cosmos) || [];
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
38
|
+
const apiProviders = getApiProviders(customerApiProviders);
|
|
39
|
+
const opts = {
|
|
40
|
+
apiProviders,
|
|
41
|
+
appLogoUrl,
|
|
42
|
+
appName,
|
|
43
|
+
chainRpcProviders,
|
|
44
|
+
cosmosNetworks: cosmosNetworkConfigs,
|
|
45
|
+
evmNetworks: evmNetworkConfigs,
|
|
46
|
+
isWalletConnectV2Enabled,
|
|
47
|
+
projectId: walletConnectProjectId,
|
|
48
|
+
solNetworks: solanaNetworkConfigs,
|
|
49
|
+
walletUiUtils: walletUiUtils || defaultWalletUiUtils,
|
|
50
|
+
};
|
|
51
|
+
const importedWallets = [
|
|
52
|
+
...EthereumWalletConnectors(opts),
|
|
53
|
+
...AlgorandWalletConnectors(opts),
|
|
54
|
+
...SolanaWalletConnectors(opts),
|
|
55
|
+
].map((wallet) => new wallet(opts));
|
|
87
56
|
const allWallets = [
|
|
88
|
-
|
|
89
|
-
new
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
injectedWallet: new MetaMask({ evmNetworks: evmNetworkConfigs }),
|
|
93
|
-
isWalletConnectV2: isWalletConnectV2Enabled,
|
|
94
|
-
walletConnectName: 'MetaMask',
|
|
95
|
-
}),
|
|
96
|
-
getMobileOrInjectedWallet({
|
|
97
|
-
evmNetworks: evmNetworkConfigs,
|
|
98
|
-
injectedWallet: new Trust({ evmNetworks: evmNetworkConfigs }),
|
|
99
|
-
isWalletConnectV2: isWalletConnectV2Enabled,
|
|
100
|
-
walletConnectName: 'Trust',
|
|
101
|
-
}),
|
|
102
|
-
new PhantomEvm({ evmNetworks: evmNetworkConfigs }),
|
|
103
|
-
new PhantomLedger({ solNetworks: solanaNetworkConfigs }),
|
|
104
|
-
new Coinbase({
|
|
105
|
-
appLogoUrl,
|
|
106
|
-
appName,
|
|
107
|
-
evmNetworks: evmNetworkConfigs,
|
|
108
|
-
}),
|
|
109
|
-
new Solflare({ solNetworks: solanaNetworkConfigs }),
|
|
110
|
-
new Glow({ solNetworks: solanaNetworkConfigs }),
|
|
111
|
-
new Slope({ solNetworks: solanaNetworkConfigs }),
|
|
112
|
-
new Dapper({ appLogoUrl, appName }),
|
|
113
|
-
new Blocto({ appLogoUrl, appName }),
|
|
114
|
-
new BloctoEvm({ evmNetworks: evmNetworkConfigs }),
|
|
115
|
-
new BloctoInjected({ evmNetworks: evmNetworkConfigs }),
|
|
116
|
-
getWalletConnectConnector({
|
|
117
|
-
evmNetworks: evmNetworkConfigs,
|
|
118
|
-
isWalletConnectV2Enabled,
|
|
119
|
-
projectId: walletConnectProjectId,
|
|
120
|
-
}),
|
|
121
|
-
new BraveSol({ solNetworks: solanaNetworkConfigs }),
|
|
122
|
-
new BraveEvm({ evmNetworks: evmNetworkConfigs }),
|
|
123
|
-
new UnknownInjectedWallet({ evmNetworks: evmNetworkConfigs }),
|
|
124
|
-
new GameStop({ evmNetworks: evmNetworkConfigs }),
|
|
125
|
-
new ExodusEvm({ evmNetworks: evmNetworkConfigs }),
|
|
126
|
-
new ExodusSol({ solNetworks: solanaNetworkConfigs }),
|
|
127
|
-
new Opera({ evmNetworks: evmNetworkConfigs }),
|
|
128
|
-
...(magicLinkApiKey
|
|
57
|
+
...importedWallets,
|
|
58
|
+
new Dapper(opts),
|
|
59
|
+
new Blocto(opts),
|
|
60
|
+
...(((_a = apiProviders.magicLink) === null || _a === void 0 ? void 0 : _a.providerProjectId)
|
|
129
61
|
? [
|
|
130
|
-
new EmailOTPMagicWalletConnector({
|
|
131
|
-
|
|
132
|
-
config: magicLinkConfig,
|
|
133
|
-
evmNetworks: evmNetworkConfigs,
|
|
134
|
-
walletUiUtils: walletUiUtils || defaultWalletUiUtils,
|
|
135
|
-
}),
|
|
136
|
-
new MagicSocialWalletConnector({
|
|
137
|
-
apiKey: magicLinkApiKey,
|
|
138
|
-
config: magicLinkConfig,
|
|
139
|
-
evmNetworks: evmNetworkConfigs,
|
|
140
|
-
walletUiUtils: walletUiUtils || defaultWalletUiUtils,
|
|
141
|
-
}),
|
|
62
|
+
new EmailOTPMagicWalletConnector(Object.assign({}, opts)),
|
|
63
|
+
new MagicSocialWalletConnector(Object.assign({}, opts)),
|
|
142
64
|
]
|
|
143
65
|
: []),
|
|
144
|
-
new MyAlgoWalletConnector(),
|
|
145
66
|
new ArgentX(),
|
|
146
67
|
new Braavos(),
|
|
147
|
-
new
|
|
148
|
-
new
|
|
149
|
-
|
|
150
|
-
getMobileOrInjectedWallet({
|
|
151
|
-
evmNetworks: evmNetworkConfigs,
|
|
152
|
-
injectedWallet: new Zerion({ evmNetworks: evmNetworkConfigs }),
|
|
153
|
-
isWalletConnectV2: isWalletConnectV2Enabled,
|
|
154
|
-
walletConnectName: 'Zerion',
|
|
155
|
-
}),
|
|
156
|
-
//TODO: https://linear.app/dynamic-labs/issue/DYN-2127/rename-evmnetworks-to-networks-across-the-application
|
|
157
|
-
getKeplerConnector({ evmNetworks: cosmosNetworkConfigs }),
|
|
158
|
-
...((vendorCredentials === null || vendorCredentials === void 0 ? void 0 : vendorCredentials.fortmatic)
|
|
159
|
-
? [
|
|
160
|
-
new Fortmatic({
|
|
161
|
-
apiKey: vendorCredentials.fortmatic,
|
|
162
|
-
evmNetworks: evmNetworkConfigs,
|
|
163
|
-
}),
|
|
164
|
-
]
|
|
165
|
-
: []),
|
|
166
|
-
...filtered,
|
|
167
|
-
];
|
|
68
|
+
new Lilico(opts),
|
|
69
|
+
new KeplrWalletConnector(opts),
|
|
70
|
+
].map((wallet) => wallet.getMobileOrInstalledWallet());
|
|
168
71
|
yield Promise.all(allWallets.map((wallet) => { var _a; return (_a = wallet.init) === null || _a === void 0 ? void 0 : _a.call(wallet); }));
|
|
169
72
|
// Memoize the wallets
|
|
170
73
|
const filteredWallets = filterWalletsForPlatform(allWallets);
|
|
@@ -193,20 +96,12 @@ const filterWalletsForPlatform = (wallets) => wallets.filter((wallet) => {
|
|
|
193
96
|
return true;
|
|
194
97
|
}
|
|
195
98
|
else {
|
|
196
|
-
return handleMobileWalletFilter(
|
|
99
|
+
return handleMobileWalletFilter(metadata);
|
|
197
100
|
}
|
|
198
101
|
});
|
|
199
|
-
const handleMobileWalletFilter = (
|
|
102
|
+
const handleMobileWalletFilter = (metadata) => {
|
|
200
103
|
if (!metadata.mobile)
|
|
201
104
|
return false;
|
|
202
|
-
/**
|
|
203
|
-
* Custom check added with DYN-1489 for mobile version only:
|
|
204
|
-
* it shows a WalletConnect listItem that wraps-up all the WalletConnect wallets
|
|
205
|
-
* in a new wallet-list view.
|
|
206
|
-
*/
|
|
207
|
-
if (wallet.isWalletConnect && wallet.name === 'WalletConnect') {
|
|
208
|
-
return true;
|
|
209
|
-
}
|
|
210
105
|
/**
|
|
211
106
|
* WalletConnect provides a "universal" and "native" deep link. They recommend using
|
|
212
107
|
* the universal deep link over the native one due to UX differences, and our current
|
|
@@ -265,14 +160,10 @@ const getSupportedChainsForWalletConnector = (walletConnector) => {
|
|
|
265
160
|
};
|
|
266
161
|
const getEnabledWallets = (props) => __awaiter(void 0, void 0, void 0, function* () {
|
|
267
162
|
const supportedWallets = yield getSupportedWallets(props.getSupportedWalletOpts);
|
|
268
|
-
const
|
|
269
|
-
|
|
270
|
-
wallet.isInstalledOnBrowser() === props.installed;
|
|
271
|
-
const allEnabledWallets = supportedWallets.filter((wallet) => isKeplrWalletEnabled(wallet) ||
|
|
272
|
-
(props.enabledChains.some((chain) => getSupportedChainsForWalletConnector(wallet).includes(chain)) &&
|
|
273
|
-
wallet.isInstalledOnBrowser() === props.installed) ||
|
|
163
|
+
const allEnabledWallets = supportedWallets.filter((wallet) => (props.enabledChains.some((chain) => getSupportedChainsForWalletConnector(wallet).includes(chain)) &&
|
|
164
|
+
wallet.isInstalledOnBrowser() === props.installed) ||
|
|
274
165
|
wallet.key === 'magiclink');
|
|
275
166
|
return allEnabledWallets;
|
|
276
167
|
});
|
|
277
168
|
|
|
278
|
-
export {
|
|
169
|
+
export { getEnabledWallets, getSupportedChainsForWalletConnector, getSupportedWallets };
|
package/src/types.d.ts
CHANGED
|
@@ -1,58 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ethers } from 'ethers';
|
|
3
|
-
import { OAuthProvider } from '@magic-ext/oauth';
|
|
4
|
-
import type { NetworkConfiguration } from '@dynamic-labs/sdk-api';
|
|
1
|
+
import type { Provider } from '@dynamic-labs/sdk-api';
|
|
5
2
|
import { WalletConnector, Chain } from '@dynamic-labs/wallet-connector-core';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
export type VendorCredentials = {
|
|
9
|
-
fortmatic?: string;
|
|
10
|
-
};
|
|
11
|
-
export type EvmRpcProvider = {
|
|
12
|
-
chainId: number;
|
|
13
|
-
chainName: string;
|
|
14
|
-
provider: ethers.providers.JsonRpcProvider;
|
|
15
|
-
};
|
|
16
|
-
export type SolanaRpcProvider = {
|
|
17
|
-
chainId?: number;
|
|
18
|
-
chainName: string;
|
|
19
|
-
provider: Connection;
|
|
20
|
-
};
|
|
21
|
-
export type RpcProviders = {
|
|
22
|
-
evm?: EvmRpcProvider[];
|
|
23
|
-
solana?: SolanaRpcProvider[];
|
|
24
|
-
};
|
|
25
|
-
export type NetworkConfigurationMap = {
|
|
26
|
-
cosmos: EvmNetwork[] | undefined;
|
|
27
|
-
evm: EvmNetwork[] | undefined;
|
|
28
|
-
solana: NetworkConfiguration[] | undefined;
|
|
29
|
-
starknet: NetworkConfiguration[] | undefined;
|
|
30
|
-
};
|
|
3
|
+
import { NetworkConfigurationMap, WalletUiUtils } from '@dynamic-labs/types';
|
|
4
|
+
import { ChainRpcProviders } from '@dynamic-labs/rpc-providers';
|
|
31
5
|
export type GetSupportedWalletsOpts = {
|
|
32
6
|
appLogoUrl?: string;
|
|
33
7
|
appName?: string;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
networkConfigurations
|
|
8
|
+
chainRpcProviders: typeof ChainRpcProviders;
|
|
9
|
+
customerApiProviders?: Provider[];
|
|
10
|
+
isWalletConnectV2Enabled?: boolean;
|
|
11
|
+
networkConfigurations?: NetworkConfigurationMap;
|
|
38
12
|
skipMemo?: boolean;
|
|
39
|
-
|
|
40
|
-
walletConnectProjectId: string | undefined;
|
|
13
|
+
walletConnectProjectId?: string;
|
|
41
14
|
walletUiUtils?: WalletUiUtils;
|
|
42
15
|
};
|
|
43
|
-
export type GetSupportedWallets = (opts
|
|
44
|
-
export type WalletUiUtils = {
|
|
45
|
-
enableInternalSign: () => void;
|
|
46
|
-
sendTransaction: (props: {
|
|
47
|
-
handler: (transaction: ethers.utils.Deferrable<ethers.providers.TransactionRequest>) => Promise<ethers.providers.TransactionResponse>;
|
|
48
|
-
provider: ethers.providers.Web3Provider;
|
|
49
|
-
transaction: ethers.utils.Deferrable<ethers.providers.TransactionRequest>;
|
|
50
|
-
}) => Promise<ethers.providers.TransactionResponse>;
|
|
51
|
-
signMessage: (props: {
|
|
52
|
-
handler: (message: string | ethers.utils.Bytes) => Promise<string>;
|
|
53
|
-
message: string | ethers.utils.Bytes;
|
|
54
|
-
}) => Promise<string>;
|
|
55
|
-
};
|
|
16
|
+
export type GetSupportedWallets = (opts: GetSupportedWalletsOpts) => Promise<WalletConnector[]>;
|
|
56
17
|
export type ChainInfo = {
|
|
57
18
|
blockchainName: string;
|
|
58
19
|
displayName: string;
|
|
@@ -63,4 +24,3 @@ export type ChainWihtIcon = {
|
|
|
63
24
|
icon?: string;
|
|
64
25
|
name: string | undefined;
|
|
65
26
|
};
|
|
66
|
-
export type SocialOAuthProvider = OAuthProvider;
|
package/src/utils/convertors.cjs
CHANGED
|
@@ -4,12 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var constants = require('../wallets/constants.cjs');
|
|
6
6
|
|
|
7
|
-
const bufferToBase64 = (buf) => {
|
|
8
|
-
const binstr = Array.prototype.map
|
|
9
|
-
.call(buf, (ch) => String.fromCharCode(ch))
|
|
10
|
-
.join('');
|
|
11
|
-
return btoa(binstr);
|
|
12
|
-
};
|
|
13
7
|
const defaultTypedData = Object.assign(Object.assign({}, constants.DEFAULT_STARKNET_TYPED_DATA_DOMAIN), { primaryType: 'Message', types: {
|
|
14
8
|
Message: [
|
|
15
9
|
{
|
|
@@ -39,5 +33,4 @@ const formatTypedDataMessage = (inputMessage, chainId = 'SN_MAIN') => {
|
|
|
39
33
|
return Object.assign(Object.assign({}, defaultTypedData), { domain: Object.assign(Object.assign({}, defaultTypedData.domain), { chainId }), message });
|
|
40
34
|
};
|
|
41
35
|
|
|
42
|
-
exports.bufferToBase64 = bufferToBase64;
|
|
43
36
|
exports.formatTypedDataMessage = formatTypedDataMessage;
|
package/src/utils/convertors.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import { DEFAULT_STARKNET_TYPED_DATA_DOMAIN } from '../wallets/constants.js';
|
|
2
2
|
|
|
3
|
-
const bufferToBase64 = (buf) => {
|
|
4
|
-
const binstr = Array.prototype.map
|
|
5
|
-
.call(buf, (ch) => String.fromCharCode(ch))
|
|
6
|
-
.join('');
|
|
7
|
-
return btoa(binstr);
|
|
8
|
-
};
|
|
9
3
|
const defaultTypedData = Object.assign(Object.assign({}, DEFAULT_STARKNET_TYPED_DATA_DOMAIN), { primaryType: 'Message', types: {
|
|
10
4
|
Message: [
|
|
11
5
|
{
|
|
@@ -35,4 +29,4 @@ const formatTypedDataMessage = (inputMessage, chainId = 'SN_MAIN') => {
|
|
|
35
29
|
return Object.assign(Object.assign({}, defaultTypedData), { domain: Object.assign(Object.assign({}, defaultTypedData.domain), { chainId }), message });
|
|
36
30
|
};
|
|
37
31
|
|
|
38
|
-
export {
|
|
32
|
+
export { formatTypedDataMessage };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var sdkApi = require('@dynamic-labs/sdk-api');
|
|
6
|
+
|
|
7
|
+
const getApiProviders = (providers) => Object.values(sdkApi.ProviderEnum).reduce((acc, provider) => {
|
|
8
|
+
const foundProvider = providers.find((providerSetting) => providerSetting.provider === provider);
|
|
9
|
+
if (foundProvider) {
|
|
10
|
+
acc[provider] = foundProvider;
|
|
11
|
+
}
|
|
12
|
+
return acc;
|
|
13
|
+
}, {});
|
|
14
|
+
|
|
15
|
+
exports.getApiProviders = getApiProviders;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Provider, ProviderEnum } from '@dynamic-labs/sdk-api';
|
|
2
|
+
export declare const getApiProviders: (providers: Provider[]) => {
|
|
3
|
+
emailOnly?: Provider | undefined;
|
|
4
|
+
magicLink?: Provider | undefined;
|
|
5
|
+
google?: Provider | undefined;
|
|
6
|
+
facebook?: Provider | undefined;
|
|
7
|
+
twitter?: Provider | undefined;
|
|
8
|
+
discord?: Provider | undefined;
|
|
9
|
+
github?: Provider | undefined;
|
|
10
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ProviderEnum } from '@dynamic-labs/sdk-api';
|
|
2
|
+
|
|
3
|
+
const getApiProviders = (providers) => Object.values(ProviderEnum).reduce((acc, provider) => {
|
|
4
|
+
const foundProvider = providers.find((providerSetting) => providerSetting.provider === provider);
|
|
5
|
+
if (foundProvider) {
|
|
6
|
+
acc[provider] = foundProvider;
|
|
7
|
+
}
|
|
8
|
+
return acc;
|
|
9
|
+
}, {});
|
|
10
|
+
|
|
11
|
+
export { getApiProviders };
|
package/src/utils/message.cjs
CHANGED
|
@@ -3,15 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var utils = require('ethers/lib/utils');
|
|
6
|
-
var
|
|
7
|
-
var getChainInfo = require('./getChainInfo/getChainInfo.cjs');
|
|
6
|
+
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
8
7
|
|
|
9
8
|
const generateMessageToSign = ({ blockchain, domain, chainId, nonce, uri, publicKey, issuedAt = new Date().toISOString(), statement, requestId, resources, }) => {
|
|
10
9
|
var _a, _b;
|
|
11
10
|
if (blockchain === 'STARK') {
|
|
12
11
|
return nonce;
|
|
13
12
|
}
|
|
14
|
-
const blockchainName = (_b = (_a =
|
|
13
|
+
const blockchainName = (_b = (_a = walletConnectorCore.getChainInfo(blockchain)) === null || _a === void 0 ? void 0 : _a.blockchainName) !== null && _b !== void 0 ? _b : 'Ethereum';
|
|
15
14
|
// This format follows the sign-in with ethereum (SIWE) standard,
|
|
16
15
|
// but we are using it also for non-ethereum wallets for now (eg. Solana)
|
|
17
16
|
// for more context on format and fields, please see:
|
|
@@ -48,7 +47,7 @@ const getEip55Address = (publicKey, chainId) => {
|
|
|
48
47
|
}
|
|
49
48
|
}
|
|
50
49
|
catch (err) {
|
|
51
|
-
|
|
50
|
+
walletConnectorCore.logger.debug(`Error getting checksum, returning default ${publicKey}`);
|
|
52
51
|
}
|
|
53
52
|
return publicKey;
|
|
54
53
|
};
|
package/src/utils/message.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Chain } from '@dynamic-labs/wallet-connector-core';
|
|
2
2
|
export interface MessageParameters {
|
|
3
3
|
blockchain: Chain;
|
|
4
|
-
chainId?: number;
|
|
4
|
+
chainId?: number | string;
|
|
5
5
|
domain: string;
|
|
6
6
|
issuedAt?: string;
|
|
7
7
|
nonce: string;
|
|
@@ -12,4 +12,4 @@ export interface MessageParameters {
|
|
|
12
12
|
uri: string;
|
|
13
13
|
}
|
|
14
14
|
export declare const generateMessageToSign: ({ blockchain, domain, chainId, nonce, uri, publicKey, issuedAt, statement, requestId, resources, }: MessageParameters) => string;
|
|
15
|
-
export declare const getEip55Address: (publicKey: string, chainId?: number) => string;
|
|
15
|
+
export declare const getEip55Address: (publicKey: string, chainId?: number | string) => string;
|
package/src/utils/message.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { getAddress } from 'ethers/lib/utils.js';
|
|
2
|
-
import { logger } from '
|
|
3
|
-
import { getChainInfo } from './getChainInfo/getChainInfo.js';
|
|
2
|
+
import { getChainInfo, logger } from '@dynamic-labs/wallet-connector-core';
|
|
4
3
|
|
|
5
4
|
const generateMessageToSign = ({ blockchain, domain, chainId, nonce, uri, publicKey, issuedAt = new Date().toISOString(), statement, requestId, resources, }) => {
|
|
6
5
|
var _a, _b;
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const infuraId = '87939db78f824920ada5c872db3e56b8';
|
|
6
5
|
const ETH_STARKNET_ADDRESS = '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7';
|
|
7
6
|
const DEFAULT_STARKNET_TYPED_DATA_DOMAIN = {
|
|
8
7
|
domain: {
|
|
@@ -13,4 +12,3 @@ const DEFAULT_STARKNET_TYPED_DATA_DOMAIN = {
|
|
|
13
12
|
|
|
14
13
|
exports.DEFAULT_STARKNET_TYPED_DATA_DOMAIN = DEFAULT_STARKNET_TYPED_DATA_DOMAIN;
|
|
15
14
|
exports.ETH_STARKNET_ADDRESS = ETH_STARKNET_ADDRESS;
|
|
16
|
-
exports.infuraId = infuraId;
|
package/src/wallets/constants.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
const infuraId = '87939db78f824920ada5c872db3e56b8';
|
|
2
1
|
const ETH_STARKNET_ADDRESS = '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7';
|
|
3
2
|
const DEFAULT_STARKNET_TYPED_DATA_DOMAIN = {
|
|
4
3
|
domain: {
|
|
@@ -7,4 +6,4 @@ const DEFAULT_STARKNET_TYPED_DATA_DOMAIN = {
|
|
|
7
6
|
},
|
|
8
7
|
};
|
|
9
8
|
|
|
10
|
-
export { DEFAULT_STARKNET_TYPED_DATA_DOMAIN, ETH_STARKNET_ADDRESS
|
|
9
|
+
export { DEFAULT_STARKNET_TYPED_DATA_DOMAIN, ETH_STARKNET_ADDRESS };
|
|
@@ -3,16 +3,14 @@
|
|
|
3
3
|
var tslib = require('tslib');
|
|
4
4
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
5
5
|
var walletBook = require('@dynamic-labs/wallet-book');
|
|
6
|
-
var
|
|
7
|
-
var isMobile = require('../../utils/isMobile.cjs');
|
|
8
|
-
var logger = require('../../utils/logger.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
11
|
class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
|
|
13
|
-
constructor(
|
|
14
|
-
|
|
15
|
-
super();
|
|
12
|
+
constructor(props) {
|
|
13
|
+
super(props);
|
|
16
14
|
this.name = 'Keplr';
|
|
17
15
|
this.isWalletConnect = true;
|
|
18
16
|
this.canConnectViaQrCode = true;
|
|
@@ -29,22 +27,24 @@ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
|
|
|
29
27
|
};
|
|
30
28
|
this.supportedChains = ['COSMOS'];
|
|
31
29
|
this.connectedChain = 'COSMOS';
|
|
32
|
-
this.evmNetworks =
|
|
30
|
+
this.evmNetworks = utils.parseEvmNetworks(props.cosmosNetworks);
|
|
33
31
|
const persistedNetworkId = localStorage.getItem(DYNAMIC_KEPLR_NETWORK_ID);
|
|
34
32
|
if (persistedNetworkId) {
|
|
35
33
|
this.selectedNetworkId = Number(persistedNetworkId);
|
|
36
34
|
}
|
|
37
35
|
else {
|
|
38
|
-
this.selectedNetworkId =
|
|
36
|
+
this.selectedNetworkId =
|
|
37
|
+
(this.evmNetworks[0] && utils.parseChainId(this.evmNetworks[0].chainId)) ||
|
|
38
|
+
401;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
get evmNetwork() {
|
|
42
42
|
var _a;
|
|
43
|
-
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);
|
|
44
44
|
}
|
|
45
45
|
get selectedNetwork() {
|
|
46
46
|
var _a;
|
|
47
|
-
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);
|
|
48
48
|
}
|
|
49
49
|
get lcdUrl() {
|
|
50
50
|
var _a;
|
|
@@ -58,7 +58,7 @@ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
|
|
|
58
58
|
if (!this.selectedNetwork) {
|
|
59
59
|
return 'osmosis-1';
|
|
60
60
|
}
|
|
61
|
-
return this.chainIdMap[this.selectedNetwork.chainId];
|
|
61
|
+
return this.chainIdMap[utils.parseChainId(this.selectedNetwork.chainId)];
|
|
62
62
|
}
|
|
63
63
|
getProvider() {
|
|
64
64
|
if (!this._keplrInstance) {
|
|
@@ -70,7 +70,7 @@ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
|
|
|
70
70
|
if (this.client) {
|
|
71
71
|
return this.client;
|
|
72
72
|
}
|
|
73
|
-
this.client =
|
|
73
|
+
this.client = wcClient_lib.initClient(this.key, this.clientOptions);
|
|
74
74
|
return this.client;
|
|
75
75
|
}
|
|
76
76
|
getNetwork() {
|
|
@@ -87,7 +87,7 @@ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
|
|
|
87
87
|
localStorage.setItem(DYNAMIC_KEPLR_NETWORK_ID, networkChainId.toString());
|
|
88
88
|
}
|
|
89
89
|
catch (e) {
|
|
90
|
-
|
|
90
|
+
walletConnectorCore.logger.error(e);
|
|
91
91
|
}
|
|
92
92
|
});
|
|
93
93
|
}
|
|
@@ -115,7 +115,7 @@ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
|
|
|
115
115
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
116
116
|
const client = this.getClient();
|
|
117
117
|
const keplr = this.getProvider();
|
|
118
|
-
return
|
|
118
|
+
return wcClient_lib.fetchWalletConnectCosmosPublicAddress(walletBook.getWalletBookWallet(this.name), client, keplr, Object.assign(Object.assign({}, opts), { chainId: this.chainId, onConnect: (payload) => {
|
|
119
119
|
var _a;
|
|
120
120
|
payload.params[0].chainId = this.selectedNetworkId;
|
|
121
121
|
(_a = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _a === void 0 ? void 0 : _a.call(opts, payload);
|
|
@@ -138,14 +138,14 @@ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
|
|
|
138
138
|
return balance.toString();
|
|
139
139
|
}
|
|
140
140
|
catch (e) {
|
|
141
|
-
|
|
141
|
+
walletConnectorCore.logger.error(e);
|
|
142
142
|
return '0';
|
|
143
143
|
}
|
|
144
144
|
});
|
|
145
145
|
}
|
|
146
146
|
endSession() {
|
|
147
147
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
148
|
-
|
|
148
|
+
wcClient_lib.killWalletConnectSession(this.getClient());
|
|
149
149
|
});
|
|
150
150
|
}
|
|
151
151
|
getConnectedAccounts() {
|
|
@@ -159,11 +159,11 @@ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
|
|
|
159
159
|
getDeepLink() {
|
|
160
160
|
var _a;
|
|
161
161
|
const wallet = walletBook.getWalletBookWallet(this.name);
|
|
162
|
-
if (!
|
|
162
|
+
if (!utils.isMobile() && !((_a = wallet.desktop) === null || _a === void 0 ? void 0 : _a.native)) {
|
|
163
163
|
return undefined;
|
|
164
164
|
}
|
|
165
|
-
return
|
|
166
|
-
removeWCUri:
|
|
165
|
+
return wcClient_lib.getDeepLink(this.getClient().uri, wallet, {
|
|
166
|
+
removeWCUri: utils.isIOS() && this.key === 'cryptocom',
|
|
167
167
|
});
|
|
168
168
|
}
|
|
169
169
|
getRpcProvider() {
|
|
@@ -179,14 +179,14 @@ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
|
|
|
179
179
|
return this.getProvider();
|
|
180
180
|
}
|
|
181
181
|
setupEventListeners(listeners) {
|
|
182
|
-
|
|
182
|
+
wcClient_lib.setupWalletConnectEventListeners({
|
|
183
183
|
onAccountChange: listeners.onAccountChange,
|
|
184
184
|
onChainChange: listeners.onChainChange,
|
|
185
185
|
onDisconnect: listeners.onDisconnect,
|
|
186
186
|
}, this.getClient());
|
|
187
187
|
}
|
|
188
188
|
teardownEventListeners() {
|
|
189
|
-
|
|
189
|
+
wcClient_lib.teardownWalletConnectEventListeners(this.getClient());
|
|
190
190
|
}
|
|
191
191
|
supportsNetworkSwitching() {
|
|
192
192
|
return true;
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import Client from '@walletconnect/client';
|
|
2
2
|
import { OfflineAminoSigner } from '@keplr-wallet/types';
|
|
3
3
|
import { Chain, FetchPublicAddressOpts, WalletConnectorBase, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
|
|
4
|
-
import { EvmNetwork } from '
|
|
5
|
-
import { SwitchNetworkOps } from '../ethereum/EthWalletConnector';
|
|
4
|
+
import { EvmNetwork, GenericNetwork } from '@dynamic-labs/types';
|
|
6
5
|
import { KeplrWalletConnectV1 } from './wcClient';
|
|
6
|
+
export type KeplrWalletConnectProps = {
|
|
7
|
+
cosmosNetworks: GenericNetwork[];
|
|
8
|
+
};
|
|
9
|
+
export type SwitchNetworkOps = {
|
|
10
|
+
networkChainId?: number;
|
|
11
|
+
networkName?: string;
|
|
12
|
+
};
|
|
7
13
|
declare class KeplrWalletConnect extends WalletConnectorBase {
|
|
8
|
-
constructor(
|
|
9
|
-
evmNetworks: EvmNetwork[];
|
|
10
|
-
});
|
|
14
|
+
constructor(props: KeplrWalletConnectProps);
|
|
11
15
|
name: string;
|
|
12
16
|
isWalletConnect: boolean;
|
|
13
17
|
canConnectViaQrCode: boolean;
|
|
@@ -22,7 +26,7 @@ declare class KeplrWalletConnect extends WalletConnectorBase {
|
|
|
22
26
|
connectedChain: Chain;
|
|
23
27
|
_keplrInstance: KeplrWalletConnectV1 | undefined;
|
|
24
28
|
get evmNetwork(): EvmNetwork | undefined;
|
|
25
|
-
get selectedNetwork():
|
|
29
|
+
get selectedNetwork(): GenericNetwork | undefined;
|
|
26
30
|
get lcdUrl(): string | undefined;
|
|
27
31
|
get denom(): string | undefined;
|
|
28
32
|
get chainId(): string;
|
|
@@ -39,7 +43,7 @@ declare class KeplrWalletConnect extends WalletConnectorBase {
|
|
|
39
43
|
getRpcProvider(): Promise<unknown>;
|
|
40
44
|
getSigner(): Promise<OfflineAminoSigner | undefined>;
|
|
41
45
|
getWeb3Provider(): KeplrWalletConnectV1 | undefined;
|
|
42
|
-
setupEventListeners(listeners: WalletEventListeners):
|
|
46
|
+
setupEventListeners(listeners: WalletEventListeners): void;
|
|
43
47
|
teardownEventListeners(): void;
|
|
44
48
|
supportsNetworkSwitching(): boolean;
|
|
45
49
|
}
|