@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
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { ethers } from 'ethers';
|
|
2
|
-
import { NameServiceData, WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
-
import { EvmNetwork } from './evm-network';
|
|
4
|
-
export type SwitchNetworkOps = {
|
|
5
|
-
networkChainId?: number;
|
|
6
|
-
networkName?: string;
|
|
7
|
-
};
|
|
8
|
-
type EvmRpcMap = {
|
|
9
|
-
[chainId: number]: string;
|
|
10
|
-
};
|
|
11
|
-
export declare abstract class EthWalletConnector extends WalletConnectorBase {
|
|
12
|
-
evmNetworks: EvmNetwork[];
|
|
13
|
-
abstract getWeb3Provider(): ethers.providers.Web3Provider | undefined;
|
|
14
|
-
getRpcProvider(): Promise<ethers.providers.JsonRpcProvider | undefined>;
|
|
15
|
-
constructor({ evmNetworks }: {
|
|
16
|
-
evmNetworks: EvmNetwork[];
|
|
17
|
-
});
|
|
18
|
-
getNetwork(): Promise<number | undefined>;
|
|
19
|
-
getNameService(): Promise<NameServiceData | undefined>;
|
|
20
|
-
getSigner(): Promise<ethers.providers.JsonRpcSigner | undefined>;
|
|
21
|
-
getBalance(): Promise<string | undefined>;
|
|
22
|
-
supportsNetworkSwitching(): boolean;
|
|
23
|
-
switchNetwork({ networkName, networkChainId, }: SwitchNetworkOps): Promise<void>;
|
|
24
|
-
getConnectedAccounts(): Promise<string[]>;
|
|
25
|
-
protected providerSwitchNetwork({ network, provider, }: {
|
|
26
|
-
network: EvmNetwork;
|
|
27
|
-
provider: ethers.providers.Web3Provider;
|
|
28
|
-
}): Promise<void>;
|
|
29
|
-
protected providerAddNetwork({ network, provider, }: {
|
|
30
|
-
network: EvmNetwork;
|
|
31
|
-
provider: ethers.providers.Web3Provider;
|
|
32
|
-
}): Promise<void>;
|
|
33
|
-
protected evmNetworkRpcMap: () => EvmRpcMap;
|
|
34
|
-
}
|
|
35
|
-
export {};
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from 'tslib';
|
|
2
|
-
import { ethers } from 'ethers';
|
|
3
|
-
import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
4
|
-
import { DynamicError } from '../../errors.js';
|
|
5
|
-
import { getEvmDefaultRpcProvider, getEvmRpcProviderByChainId } from '../../rpcProviders.js';
|
|
6
|
-
import { findEvmNetwork } from './evm-network.js';
|
|
7
|
-
|
|
8
|
-
class EthWalletConnector extends WalletConnectorBase {
|
|
9
|
-
getRpcProvider() {
|
|
10
|
-
var _a, _b;
|
|
11
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
12
|
-
const networkId = yield this.getNetwork();
|
|
13
|
-
if (this.evmNetworks.length === 0) {
|
|
14
|
-
return undefined;
|
|
15
|
-
}
|
|
16
|
-
const configurations = {
|
|
17
|
-
cosmos: [],
|
|
18
|
-
evm: this.evmNetworks,
|
|
19
|
-
solana: [],
|
|
20
|
-
starknet: undefined,
|
|
21
|
-
};
|
|
22
|
-
if (!networkId) {
|
|
23
|
-
return (_a = getEvmDefaultRpcProvider(configurations)) === null || _a === void 0 ? void 0 : _a.provider;
|
|
24
|
-
}
|
|
25
|
-
return (_b = getEvmRpcProviderByChainId(configurations, networkId)) === null || _b === void 0 ? void 0 : _b.provider;
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
constructor({ evmNetworks }) {
|
|
29
|
-
super();
|
|
30
|
-
this.evmNetworkRpcMap = () => this.evmNetworks.reduce((acc, network) => {
|
|
31
|
-
var _a;
|
|
32
|
-
[acc[network.chainId]] = ((_a = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a.length)
|
|
33
|
-
? network.privateCustomerRpcUrls
|
|
34
|
-
: network.rpcUrls;
|
|
35
|
-
return acc;
|
|
36
|
-
}, {});
|
|
37
|
-
this.evmNetworks = evmNetworks;
|
|
38
|
-
}
|
|
39
|
-
getNetwork() {
|
|
40
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
const provider = this.getWeb3Provider();
|
|
42
|
-
if (!this.supportsNetworkSwitching ||
|
|
43
|
-
!provider ||
|
|
44
|
-
!('getNetwork' in provider)) {
|
|
45
|
-
return Promise.resolve(undefined);
|
|
46
|
-
}
|
|
47
|
-
const network = yield provider.getNetwork();
|
|
48
|
-
return Promise.resolve(network === null || network === void 0 ? void 0 : network.chainId);
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
getNameService() {
|
|
52
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
-
const [[address], provider] = yield Promise.all([
|
|
54
|
-
this.getConnectedAccounts(),
|
|
55
|
-
this.getRpcProvider(),
|
|
56
|
-
]);
|
|
57
|
-
if (!address || !provider || !('lookupAddress' in provider)) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
const [ensName, ensAvatar] = yield Promise.all([
|
|
61
|
-
provider.lookupAddress(address),
|
|
62
|
-
provider.getAvatar(address),
|
|
63
|
-
]);
|
|
64
|
-
const ensData = {
|
|
65
|
-
avatar: ensAvatar !== null && ensAvatar !== void 0 ? ensAvatar : undefined,
|
|
66
|
-
name: ensName !== null && ensName !== void 0 ? ensName : undefined,
|
|
67
|
-
};
|
|
68
|
-
return ensData;
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
getSigner() {
|
|
72
|
-
var _a;
|
|
73
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
-
return (_a = this.getWeb3Provider()) === null || _a === void 0 ? void 0 : _a.getSigner();
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
getBalance() {
|
|
78
|
-
var _a;
|
|
79
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
-
// This is equivalent to getSigner().getAddress() but does not crash
|
|
81
|
-
// if the signer is not available
|
|
82
|
-
const [address] = yield this.getConnectedAccounts();
|
|
83
|
-
if (!address)
|
|
84
|
-
return;
|
|
85
|
-
const result = yield ((_a = this.getWeb3Provider()) === null || _a === void 0 ? void 0 : _a.getBalance(address));
|
|
86
|
-
if (!result)
|
|
87
|
-
return;
|
|
88
|
-
return ethers.utils.formatEther(result);
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
supportsNetworkSwitching() {
|
|
92
|
-
return true;
|
|
93
|
-
}
|
|
94
|
-
switchNetwork({ networkName, networkChainId, }) {
|
|
95
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
-
const network = findEvmNetwork({
|
|
97
|
-
chainId: networkChainId,
|
|
98
|
-
name: networkName,
|
|
99
|
-
networks: this.evmNetworks,
|
|
100
|
-
});
|
|
101
|
-
if (!network) {
|
|
102
|
-
throw new DynamicError('Could not find network');
|
|
103
|
-
}
|
|
104
|
-
if (!this.supportsNetworkSwitching()) {
|
|
105
|
-
throw new DynamicError('Network switching is not supported');
|
|
106
|
-
}
|
|
107
|
-
const provider = this.getWeb3Provider();
|
|
108
|
-
if (!provider) {
|
|
109
|
-
throw new DynamicError('Provider not found');
|
|
110
|
-
}
|
|
111
|
-
return this.providerSwitchNetwork({ network, provider });
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
getConnectedAccounts() {
|
|
115
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
116
|
-
const provider = this.getWeb3Provider();
|
|
117
|
-
if (!provider)
|
|
118
|
-
return [];
|
|
119
|
-
return provider.send('eth_accounts', []);
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
providerSwitchNetwork({ network, provider, }) {
|
|
123
|
-
var _a, _b, _c;
|
|
124
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
125
|
-
const { chainId } = network;
|
|
126
|
-
const currentNetworkId = yield this.getNetwork();
|
|
127
|
-
if (currentNetworkId && currentNetworkId === chainId) {
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
try {
|
|
131
|
-
if (!this.supportsNetworkSwitching()) {
|
|
132
|
-
throw new DynamicError('Network switching is not supported');
|
|
133
|
-
}
|
|
134
|
-
return yield provider.send('wallet_switchEthereumChain', [
|
|
135
|
-
{
|
|
136
|
-
chainId: `0x${chainId.toString(16)}`,
|
|
137
|
-
},
|
|
138
|
-
]);
|
|
139
|
-
}
|
|
140
|
-
catch (error) {
|
|
141
|
-
if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
|
|
142
|
-
(typeof error === 'string' && error.includes('rejected'))) {
|
|
143
|
-
throw new DynamicError("User rejected the wallet's request to switch network");
|
|
144
|
-
}
|
|
145
|
-
else if (error.code === 4902 ||
|
|
146
|
-
error.message.includes('Unrecognized chain') ||
|
|
147
|
-
// https://github.com/MetaMask/metamask-mobile/issues/3312#issuecomment-1065923294
|
|
148
|
-
((_c = (_b = error === null || error === void 0 ? void 0 : error.data) === null || _b === void 0 ? void 0 : _b.orginalError) === null || _c === void 0 ? void 0 : _c.code) === 4902) {
|
|
149
|
-
// error code indicates the chain has not been added yet
|
|
150
|
-
// https://docs.metamask.io/guide/rpc-api.html#usage-with-wallet-switchethereumchain
|
|
151
|
-
return this.providerAddNetwork({ network, provider });
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
throw error;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
providerAddNetwork({ network, provider, }) {
|
|
160
|
-
var _a;
|
|
161
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
162
|
-
const { blockExplorerUrls, chainId, nativeCurrency, rpcUrls, chainName } = network;
|
|
163
|
-
try {
|
|
164
|
-
return yield provider.send('wallet_addEthereumChain', [
|
|
165
|
-
{
|
|
166
|
-
blockExplorerUrls,
|
|
167
|
-
chainId: `0x${chainId.toString(16)}`,
|
|
168
|
-
chainName,
|
|
169
|
-
nativeCurrency,
|
|
170
|
-
rpcUrls,
|
|
171
|
-
},
|
|
172
|
-
]);
|
|
173
|
-
}
|
|
174
|
-
catch (error) {
|
|
175
|
-
if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
|
|
176
|
-
(typeof error === 'string' && error.includes('rejected'))) {
|
|
177
|
-
throw new DynamicError("User rejected the wallet's request to add network");
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
throw error;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
export { EthWalletConnector };
|
package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var tslib = require('tslib');
|
|
6
|
-
var MagicWalletConnector = require('../MagicWalletConnector/MagicWalletConnector.cjs');
|
|
7
|
-
|
|
8
|
-
class EmailMagicWalletConnector extends MagicWalletConnector.MagicWalletConnector {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(...arguments);
|
|
11
|
-
this.canConnectViaEmail = true;
|
|
12
|
-
}
|
|
13
|
-
get email() {
|
|
14
|
-
return this._email;
|
|
15
|
-
}
|
|
16
|
-
setEmail(email) {
|
|
17
|
-
this._email = email;
|
|
18
|
-
if (!email) {
|
|
19
|
-
localStorage.removeItem('magic-link-email');
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
localStorage.setItem('magic-link-email', email);
|
|
23
|
-
}
|
|
24
|
-
this.cancelPreviousEmail();
|
|
25
|
-
}
|
|
26
|
-
clearEmail() {
|
|
27
|
-
this.setEmail(undefined);
|
|
28
|
-
}
|
|
29
|
-
endSession() {
|
|
30
|
-
const _super = Object.create(null, {
|
|
31
|
-
endSession: { get: () => super.endSession }
|
|
32
|
-
});
|
|
33
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
yield _super.endSession.call(this);
|
|
35
|
-
this.clearEmail();
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
cancelPreviousEmail() {
|
|
39
|
-
var _a;
|
|
40
|
-
(_a = this._currentAuthCancellablePromise) === null || _a === void 0 ? void 0 : _a.cancel();
|
|
41
|
-
}
|
|
42
|
-
loginWithMagic() {
|
|
43
|
-
var _a;
|
|
44
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
45
|
-
const client = this._magicClient.getClient();
|
|
46
|
-
const user = yield this.getUserMetadata();
|
|
47
|
-
if (user && user.publicAddress) {
|
|
48
|
-
this.setEmail(user === null || user === void 0 ? void 0 : user.email);
|
|
49
|
-
return user.publicAddress;
|
|
50
|
-
}
|
|
51
|
-
const { email } = this;
|
|
52
|
-
if (!email)
|
|
53
|
-
return;
|
|
54
|
-
return client.auth.loginWithMagicLink({
|
|
55
|
-
email,
|
|
56
|
-
redirectURI: (_a = this._magicClient.config) === null || _a === void 0 ? void 0 : _a.redirectURI,
|
|
57
|
-
showUI: false,
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
exports.EmailMagicWalletConnector = EmailMagicWalletConnector;
|
package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { IEmailWalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
2
|
-
import { MagicPromiEvent, MagicWalletConnector } from '../MagicWalletConnector';
|
|
3
|
-
export declare class EmailMagicWalletConnector extends MagicWalletConnector implements IEmailWalletConnector {
|
|
4
|
-
canConnectViaEmail: boolean;
|
|
5
|
-
protected _email: string | undefined | null;
|
|
6
|
-
get email(): string | null | undefined;
|
|
7
|
-
setEmail(email: EmailMagicWalletConnector['email']): void;
|
|
8
|
-
clearEmail(): void;
|
|
9
|
-
endSession(): Promise<void>;
|
|
10
|
-
cancelPreviousEmail(): void;
|
|
11
|
-
loginWithMagic(): Promise<MagicPromiEvent | undefined>;
|
|
12
|
-
}
|
package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from 'tslib';
|
|
2
|
-
import { MagicWalletConnector } from '../MagicWalletConnector/MagicWalletConnector.js';
|
|
3
|
-
|
|
4
|
-
class EmailMagicWalletConnector extends MagicWalletConnector {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.canConnectViaEmail = true;
|
|
8
|
-
}
|
|
9
|
-
get email() {
|
|
10
|
-
return this._email;
|
|
11
|
-
}
|
|
12
|
-
setEmail(email) {
|
|
13
|
-
this._email = email;
|
|
14
|
-
if (!email) {
|
|
15
|
-
localStorage.removeItem('magic-link-email');
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
localStorage.setItem('magic-link-email', email);
|
|
19
|
-
}
|
|
20
|
-
this.cancelPreviousEmail();
|
|
21
|
-
}
|
|
22
|
-
clearEmail() {
|
|
23
|
-
this.setEmail(undefined);
|
|
24
|
-
}
|
|
25
|
-
endSession() {
|
|
26
|
-
const _super = Object.create(null, {
|
|
27
|
-
endSession: { get: () => super.endSession }
|
|
28
|
-
});
|
|
29
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
yield _super.endSession.call(this);
|
|
31
|
-
this.clearEmail();
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
cancelPreviousEmail() {
|
|
35
|
-
var _a;
|
|
36
|
-
(_a = this._currentAuthCancellablePromise) === null || _a === void 0 ? void 0 : _a.cancel();
|
|
37
|
-
}
|
|
38
|
-
loginWithMagic() {
|
|
39
|
-
var _a;
|
|
40
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
const client = this._magicClient.getClient();
|
|
42
|
-
const user = yield this.getUserMetadata();
|
|
43
|
-
if (user && user.publicAddress) {
|
|
44
|
-
this.setEmail(user === null || user === void 0 ? void 0 : user.email);
|
|
45
|
-
return user.publicAddress;
|
|
46
|
-
}
|
|
47
|
-
const { email } = this;
|
|
48
|
-
if (!email)
|
|
49
|
-
return;
|
|
50
|
-
return client.auth.loginWithMagicLink({
|
|
51
|
-
email,
|
|
52
|
-
redirectURI: (_a = this._magicClient.config) === null || _a === void 0 ? void 0 : _a.redirectURI,
|
|
53
|
-
showUI: false,
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export { EmailMagicWalletConnector };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { EmailMagicWalletConnector } from './EmailMagicWalletConnector';
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var tslib = require('tslib');
|
|
6
|
-
var logger = require('../../../../utils/logger.cjs');
|
|
7
|
-
var EmailMagicWalletConnector = require('../EmailMagicWalletConnector/EmailMagicWalletConnector.cjs');
|
|
8
|
-
|
|
9
|
-
class EmailOTPMagicWalletConnector extends EmailMagicWalletConnector.EmailMagicWalletConnector {
|
|
10
|
-
verifyOneTimePassword(otp) {
|
|
11
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
12
|
-
const handle = this._handle;
|
|
13
|
-
const timeoutMs = 1000 * 10;
|
|
14
|
-
const invalidOTPError = new Error('Please double check your code and try again');
|
|
15
|
-
if (!handle) {
|
|
16
|
-
throw new Error('Login with email OTP before verifying');
|
|
17
|
-
}
|
|
18
|
-
const timeoutPromise = new Promise((resolve, reject) => {
|
|
19
|
-
setTimeout(() => {
|
|
20
|
-
reject(invalidOTPError);
|
|
21
|
-
}, timeoutMs);
|
|
22
|
-
});
|
|
23
|
-
const promise = new Promise((resolve, reject) => {
|
|
24
|
-
handle
|
|
25
|
-
.on('done', () => resolve(true))
|
|
26
|
-
.on('invalid-email-otp', () => reject(invalidOTPError))
|
|
27
|
-
.on('error', reject)
|
|
28
|
-
.catch(reject)
|
|
29
|
-
.emit('verify-email-otp', otp);
|
|
30
|
-
});
|
|
31
|
-
return Promise.race([promise, timeoutPromise]);
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
loginWithMagic() {
|
|
35
|
-
var _a;
|
|
36
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
const client = this._magicClient.getClient();
|
|
38
|
-
const user = yield this.getUserMetadata();
|
|
39
|
-
if (user && user.publicAddress) {
|
|
40
|
-
this.setEmail(user === null || user === void 0 ? void 0 : user.email);
|
|
41
|
-
return user.publicAddress;
|
|
42
|
-
}
|
|
43
|
-
const { email } = this;
|
|
44
|
-
if (!email)
|
|
45
|
-
return;
|
|
46
|
-
(_a = this._handle) === null || _a === void 0 ? void 0 : _a.emit('cancel');
|
|
47
|
-
try {
|
|
48
|
-
yield this._handle;
|
|
49
|
-
}
|
|
50
|
-
catch (err) {
|
|
51
|
-
logger.logger.error(err);
|
|
52
|
-
}
|
|
53
|
-
this._handle = client.auth.loginWithEmailOTP({
|
|
54
|
-
email,
|
|
55
|
-
showUI: false,
|
|
56
|
-
});
|
|
57
|
-
return this._handle;
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
exports.EmailOTPMagicWalletConnector = EmailOTPMagicWalletConnector;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Magic } from 'magic-sdk';
|
|
2
|
-
import { IEmailOTPWalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
-
import { EmailMagicWalletConnector } from '../EmailMagicWalletConnector';
|
|
4
|
-
import { MagicPromiEvent } from '../MagicWalletConnector';
|
|
5
|
-
type LoginWithEmailOTPPromiEvent = ReturnType<Magic['auth']['loginWithEmailOTP']>;
|
|
6
|
-
export declare class EmailOTPMagicWalletConnector extends EmailMagicWalletConnector implements IEmailOTPWalletConnector {
|
|
7
|
-
_handle: LoginWithEmailOTPPromiEvent | undefined;
|
|
8
|
-
verifyOneTimePassword(otp: string): Promise<boolean>;
|
|
9
|
-
loginWithMagic(): Promise<MagicPromiEvent | undefined>;
|
|
10
|
-
}
|
|
11
|
-
export {};
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from 'tslib';
|
|
2
|
-
import { logger } from '../../../../utils/logger.js';
|
|
3
|
-
import { EmailMagicWalletConnector } from '../EmailMagicWalletConnector/EmailMagicWalletConnector.js';
|
|
4
|
-
|
|
5
|
-
class EmailOTPMagicWalletConnector extends EmailMagicWalletConnector {
|
|
6
|
-
verifyOneTimePassword(otp) {
|
|
7
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
8
|
-
const handle = this._handle;
|
|
9
|
-
const timeoutMs = 1000 * 10;
|
|
10
|
-
const invalidOTPError = new Error('Please double check your code and try again');
|
|
11
|
-
if (!handle) {
|
|
12
|
-
throw new Error('Login with email OTP before verifying');
|
|
13
|
-
}
|
|
14
|
-
const timeoutPromise = new Promise((resolve, reject) => {
|
|
15
|
-
setTimeout(() => {
|
|
16
|
-
reject(invalidOTPError);
|
|
17
|
-
}, timeoutMs);
|
|
18
|
-
});
|
|
19
|
-
const promise = new Promise((resolve, reject) => {
|
|
20
|
-
handle
|
|
21
|
-
.on('done', () => resolve(true))
|
|
22
|
-
.on('invalid-email-otp', () => reject(invalidOTPError))
|
|
23
|
-
.on('error', reject)
|
|
24
|
-
.catch(reject)
|
|
25
|
-
.emit('verify-email-otp', otp);
|
|
26
|
-
});
|
|
27
|
-
return Promise.race([promise, timeoutPromise]);
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
loginWithMagic() {
|
|
31
|
-
var _a;
|
|
32
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
const client = this._magicClient.getClient();
|
|
34
|
-
const user = yield this.getUserMetadata();
|
|
35
|
-
if (user && user.publicAddress) {
|
|
36
|
-
this.setEmail(user === null || user === void 0 ? void 0 : user.email);
|
|
37
|
-
return user.publicAddress;
|
|
38
|
-
}
|
|
39
|
-
const { email } = this;
|
|
40
|
-
if (!email)
|
|
41
|
-
return;
|
|
42
|
-
(_a = this._handle) === null || _a === void 0 ? void 0 : _a.emit('cancel');
|
|
43
|
-
try {
|
|
44
|
-
yield this._handle;
|
|
45
|
-
}
|
|
46
|
-
catch (err) {
|
|
47
|
-
logger.error(err);
|
|
48
|
-
}
|
|
49
|
-
this._handle = client.auth.loginWithEmailOTP({
|
|
50
|
-
email,
|
|
51
|
-
showUI: false,
|
|
52
|
-
});
|
|
53
|
-
return this._handle;
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export { EmailOTPMagicWalletConnector };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { EmailOTPMagicWalletConnector } from './EmailOTPMagicWalletConnector';
|
package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var tslib = require('tslib');
|
|
6
|
-
|
|
7
|
-
// these are based off of Magic's EthNetworkName type
|
|
8
|
-
const chainNameToChainIdMap = {
|
|
9
|
-
arbitrum: 42161,
|
|
10
|
-
avalance: 43114,
|
|
11
|
-
bsc: 56,
|
|
12
|
-
gnosis: 100,
|
|
13
|
-
goerli: 5,
|
|
14
|
-
mainnet: 1,
|
|
15
|
-
optimism: 10,
|
|
16
|
-
polygon: 137,
|
|
17
|
-
sepolia: 11155111,
|
|
18
|
-
};
|
|
19
|
-
class MagicClientNetworkHandler {
|
|
20
|
-
constructor({ createClient, evmNetworks, config, }) {
|
|
21
|
-
var _a, _b;
|
|
22
|
-
this._clients = {};
|
|
23
|
-
this.evmNetworks = [];
|
|
24
|
-
this._config = config;
|
|
25
|
-
this.evmNetworks = evmNetworks;
|
|
26
|
-
this._networkId =
|
|
27
|
-
typeof (config === null || config === void 0 ? void 0 : config.network) === 'string'
|
|
28
|
-
? chainNameToChainIdMap[config.network]
|
|
29
|
-
: (_b = (_a = config === null || config === void 0 ? void 0 : config.network) === null || _a === void 0 ? void 0 : _a.chainId) !== null && _b !== void 0 ? _b : 1;
|
|
30
|
-
this._createClient = createClient;
|
|
31
|
-
}
|
|
32
|
-
setListeners(listeners) {
|
|
33
|
-
this._listeners = listeners;
|
|
34
|
-
}
|
|
35
|
-
onChainChanged(networkChainId) {
|
|
36
|
-
var _a, _b;
|
|
37
|
-
(_b = (_a = this._listeners) === null || _a === void 0 ? void 0 : _a.onChainChange) === null || _b === void 0 ? void 0 : _b.call(_a, networkChainId.toString());
|
|
38
|
-
}
|
|
39
|
-
selectNetwork(networkChainId) {
|
|
40
|
-
var _a;
|
|
41
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
this._networkId = networkChainId;
|
|
43
|
-
(_a = this.onChainChanged) === null || _a === void 0 ? void 0 : _a.call(this, networkChainId);
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
get networkId() {
|
|
47
|
-
return this._networkId;
|
|
48
|
-
}
|
|
49
|
-
get config() {
|
|
50
|
-
return this._config;
|
|
51
|
-
}
|
|
52
|
-
getClient() {
|
|
53
|
-
const networkId = this._networkId;
|
|
54
|
-
const client = this._clients[networkId];
|
|
55
|
-
if (client) {
|
|
56
|
-
return client;
|
|
57
|
-
}
|
|
58
|
-
const config = this.getConfigForNetwork(networkId);
|
|
59
|
-
const newClient = this._createClient(config);
|
|
60
|
-
this._clients[networkId] = newClient;
|
|
61
|
-
return newClient;
|
|
62
|
-
}
|
|
63
|
-
getConfigForNetwork(networkId) {
|
|
64
|
-
const rpcUrl = this._getRpcUrlByNetworkId(networkId);
|
|
65
|
-
// Should prioritize custom rpc config form dashboard
|
|
66
|
-
if (rpcUrl) {
|
|
67
|
-
return Object.assign(Object.assign({}, this._config), { network: {
|
|
68
|
-
chainId: this._getChainIdByNetworkId(networkId),
|
|
69
|
-
rpcUrl,
|
|
70
|
-
} });
|
|
71
|
-
}
|
|
72
|
-
// Next should return configuration provided through settings
|
|
73
|
-
if (this.configNetworkId === networkId) {
|
|
74
|
-
return this._config;
|
|
75
|
-
}
|
|
76
|
-
if (networkId === 1) {
|
|
77
|
-
return Object.assign(Object.assign({}, this._config), { network: 'mainnet' });
|
|
78
|
-
}
|
|
79
|
-
if (networkId === 5) {
|
|
80
|
-
return Object.assign(Object.assign({}, this._config), { network: 'goerli' });
|
|
81
|
-
}
|
|
82
|
-
return this._config;
|
|
83
|
-
}
|
|
84
|
-
get configNetworkId() {
|
|
85
|
-
var _a, _b, _c;
|
|
86
|
-
if (typeof ((_a = this._config) === null || _a === void 0 ? void 0 : _a.network) !== 'string') {
|
|
87
|
-
return (_c = (_b = this._config) === null || _b === void 0 ? void 0 : _b.network) === null || _c === void 0 ? void 0 : _c.chainId;
|
|
88
|
-
}
|
|
89
|
-
return undefined;
|
|
90
|
-
}
|
|
91
|
-
_getRpcUrlByNetworkId(networkId) {
|
|
92
|
-
var _a;
|
|
93
|
-
const evm = this.evmNetworks.find((evmNetwork) => evmNetwork.networkId === networkId);
|
|
94
|
-
return ((_a = evm === null || evm === void 0 ? void 0 : evm.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || (evm === null || evm === void 0 ? void 0 : evm.rpcUrls[0]);
|
|
95
|
-
}
|
|
96
|
-
_getChainIdByNetworkId(networkId) {
|
|
97
|
-
var _a;
|
|
98
|
-
return (_a = this.evmNetworks.find((evmNetwork) => evmNetwork.networkId === networkId)) === null || _a === void 0 ? void 0 : _a.chainId;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
exports.MagicClientNetworkHandler = MagicClientNetworkHandler;
|
package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { MagicSDKAdditionalConfiguration, MagicSDKExtensionsOption } from 'magic-sdk';
|
|
2
|
-
import { WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
-
import { MagicConnectorProps } from '../MagicWalletConnector';
|
|
4
|
-
import { EvmNetwork } from '../../evm-network';
|
|
5
|
-
export type MagicLinkConfig = Pick<MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>>, 'network' | 'testMode' | 'locale'> & {
|
|
6
|
-
redirectURI?: string;
|
|
7
|
-
};
|
|
8
|
-
type ConfigForNetwork = MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>> | undefined;
|
|
9
|
-
export type MagicClientNetworkHandlerProps<TClient> = Pick<MagicConnectorProps, 'config' | 'evmNetworks'> & {
|
|
10
|
-
createClient: (config: ConfigForNetwork) => TClient;
|
|
11
|
-
};
|
|
12
|
-
export declare class MagicClientNetworkHandler<TClient = unknown> {
|
|
13
|
-
protected _clients: {
|
|
14
|
-
[chainId: number]: TClient;
|
|
15
|
-
};
|
|
16
|
-
protected _networkId: number;
|
|
17
|
-
protected _config: MagicLinkConfig | undefined;
|
|
18
|
-
protected _listeners: WalletEventListeners | undefined;
|
|
19
|
-
evmNetworks: EvmNetwork[];
|
|
20
|
-
protected _createClient: MagicClientNetworkHandlerProps<TClient>['createClient'];
|
|
21
|
-
constructor({ createClient, evmNetworks, config, }: MagicClientNetworkHandlerProps<TClient>);
|
|
22
|
-
setListeners(listeners: WalletEventListeners | undefined): void;
|
|
23
|
-
onChainChanged(networkChainId: number): void;
|
|
24
|
-
selectNetwork(networkChainId: number): Promise<void>;
|
|
25
|
-
get networkId(): number;
|
|
26
|
-
get config(): MagicLinkConfig | undefined;
|
|
27
|
-
getClient(): TClient;
|
|
28
|
-
getConfigForNetwork(networkId: number): MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>> | undefined;
|
|
29
|
-
private get configNetworkId();
|
|
30
|
-
private _getRpcUrlByNetworkId;
|
|
31
|
-
private _getChainIdByNetworkId;
|
|
32
|
-
}
|
|
33
|
-
export {};
|