@dynamic-labs/multi-wallet 0.17.0-RC.8 → 0.17.0-RC.9
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 +15 -0
- package/package.json +7 -12
- package/src/index.cjs +0 -44
- package/src/index.d.ts +0 -11
- package/src/index.js +1 -16
- package/src/multi-wallet.cjs +16 -64
- package/src/multi-wallet.d.ts +0 -1
- package/src/multi-wallet.js +12 -59
- package/src/types.d.ts +0 -2
- package/src/utils/message.cjs +1 -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 +4 -6
- package/src/wallets/cosmos/KeplrWalletConnect.d.ts +4 -1
- package/src/wallets/cosmos/KeplrWalletConnect.js +2 -4
- package/src/wallets/cosmos/KeplrWalletConnector.d.ts +1 -2
- package/src/wallets/cosmos/wcClient.lib.cjs +45 -4
- package/src/wallets/cosmos/wcClient.lib.js +42 -3
- package/src/wallets/flow/lilico.cjs +2 -2
- package/src/wallets/flow/lilico.js +1 -1
- package/src/wallets/solana/phantom.cjs +3 -3
- package/src/wallets/solana/phantom.js +1 -1
- package/src/wallets/solana/solProviderHelper.cjs +3 -4
- package/src/wallets/solana/solProviderHelper.d.ts +3 -3
- package/src/wallets/solana/solProviderHelper.js +1 -2
- package/src/wallets/starknet/braavos.cjs +2 -2
- package/src/wallets/starknet/braavos.js +1 -1
- package/src/wallets/window.d.ts +10 -22
- 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/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/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 -33
- package/src/utils/walletConnect.d.ts +0 -4
- package/src/utils/walletConnect.js +0 -29
- 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/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/clients/walletConnect/walletConnect.cjs +0 -229
- package/src/wallets/clients/walletConnect/walletConnect.d.ts +0 -21
- package/src/wallets/clients/walletConnect/walletConnect.js +0 -213
- package/src/wallets/ethereum/BloctoEvm.cjs +0 -109
- package/src/wallets/ethereum/BloctoEvm.d.ts +0 -20
- package/src/wallets/ethereum/BloctoEvm.js +0 -103
- package/src/wallets/ethereum/EthWalletConnector.cjs +0 -206
- package/src/wallets/ethereum/EthWalletConnector.d.ts +0 -39
- package/src/wallets/ethereum/EthWalletConnector.js +0 -202
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +0 -61
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +0 -12
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +0 -57
- 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 -78
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +0 -31
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +0 -74
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.d.ts +0 -2
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -61
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.d.ts +0 -12
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -57
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/index.d.ts +0 -1
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +0 -179
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +0 -54
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +0 -175
- 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 -63
- package/src/wallets/ethereum/coinbase.d.ts +0 -22
- package/src/wallets/ethereum/coinbase.js +0 -61
- package/src/wallets/ethereum/ethProviderHelper.cjs +0 -199
- package/src/wallets/ethereum/ethProviderHelper.d.ts +0 -33
- package/src/wallets/ethereum/ethProviderHelper.js +0 -195
- package/src/wallets/ethereum/evm-network.cjs +0 -20
- package/src/wallets/ethereum/evm-network.d.ts +0 -6
- package/src/wallets/ethereum/evm-network.js +0 -16
- package/src/wallets/ethereum/injected/BloctoInjected.cjs +0 -12
- package/src/wallets/ethereum/injected/BloctoInjected.d.ts +0 -5
- package/src/wallets/ethereum/injected/BloctoInjected.js +0 -10
- package/src/wallets/ethereum/injected/BraveEvm.cjs +0 -12
- package/src/wallets/ethereum/injected/BraveEvm.d.ts +0 -5
- package/src/wallets/ethereum/injected/BraveEvm.js +0 -10
- package/src/wallets/ethereum/injected/Dawn.cjs +0 -12
- package/src/wallets/ethereum/injected/Dawn.d.ts +0 -5
- package/src/wallets/ethereum/injected/Dawn.js +0 -10
- package/src/wallets/ethereum/injected/ExodusEvm.cjs +0 -12
- package/src/wallets/ethereum/injected/ExodusEvm.d.ts +0 -5
- package/src/wallets/ethereum/injected/ExodusEvm.js +0 -10
- package/src/wallets/ethereum/injected/Frame.cjs +0 -12
- package/src/wallets/ethereum/injected/Frame.d.ts +0 -5
- package/src/wallets/ethereum/injected/Frame.js +0 -10
- package/src/wallets/ethereum/injected/GameStop.cjs +0 -12
- package/src/wallets/ethereum/injected/GameStop.d.ts +0 -5
- package/src/wallets/ethereum/injected/GameStop.js +0 -10
- package/src/wallets/ethereum/injected/InjectedWalletBase.cjs +0 -74
- package/src/wallets/ethereum/injected/InjectedWalletBase.d.ts +0 -24
- package/src/wallets/ethereum/injected/InjectedWalletBase.js +0 -72
- package/src/wallets/ethereum/injected/MetaMask.cjs +0 -13
- package/src/wallets/ethereum/injected/MetaMask.d.ts +0 -6
- package/src/wallets/ethereum/injected/MetaMask.js +0 -11
- package/src/wallets/ethereum/injected/Opera.cjs +0 -12
- package/src/wallets/ethereum/injected/Opera.d.ts +0 -5
- package/src/wallets/ethereum/injected/Opera.js +0 -10
- package/src/wallets/ethereum/injected/PhantomEvm.cjs +0 -36
- package/src/wallets/ethereum/injected/PhantomEvm.d.ts +0 -6
- package/src/wallets/ethereum/injected/PhantomEvm.js +0 -34
- 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 -12
- package/src/wallets/ethereum/injected/UnknownInjectedWallet.d.ts +0 -5
- package/src/wallets/ethereum/injected/UnknownInjectedWallet.js +0 -10
- 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/getWalletConnectConnector.cjs +0 -16
- package/src/wallets/getWalletConnectConnector.d.ts +0 -5
- package/src/wallets/getWalletConnectConnector.js +0 -12
- package/src/wallets/walletConnect/index.d.ts +0 -2
- package/src/wallets/walletConnect/walletConnect.cjs +0 -133
- package/src/wallets/walletConnect/walletConnect.d.ts +0 -34
- package/src/wallets/walletConnect/walletConnect.js +0 -127
- 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 -6
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from 'tslib';
|
|
2
|
-
import BloctoSDK from '@blocto/sdk';
|
|
3
|
-
import { ethers } from 'ethers';
|
|
4
|
-
import { logger } from '@dynamic-labs/wallet-connector-core';
|
|
5
|
-
import { EthWalletConnector } from './EthWalletConnector.js';
|
|
6
|
-
|
|
7
|
-
class BloctoEvm extends EthWalletConnector {
|
|
8
|
-
constructor(props) {
|
|
9
|
-
var _a, _b;
|
|
10
|
-
super(props);
|
|
11
|
-
this.LOCAL_STORAGE_KEY = 'dynamic_blocto_evm_chain_id';
|
|
12
|
-
this.name = 'bloctoevm';
|
|
13
|
-
this.canConnectViaCustodialService = true;
|
|
14
|
-
this.connectedChain = 'EVM';
|
|
15
|
-
this.supportedChains = ['EVM', 'ETH'];
|
|
16
|
-
this.supportsNetworkSwitching = () => false;
|
|
17
|
-
// Taken from : https://docs.blocto.app/blocto-sdk/javascript-sdk/evm-sdk/provider
|
|
18
|
-
const BLOCTO_SUPPORTED_CHAIN_IDS = [1, 4, 56, 97, 137, 80001, 43114, 43113];
|
|
19
|
-
this.evmNetworks = this.evmNetworks.filter((n) => BLOCTO_SUPPORTED_CHAIN_IDS.includes(n.chainId));
|
|
20
|
-
this.chainId =
|
|
21
|
-
Number(localStorage.getItem(this.LOCAL_STORAGE_KEY)) ||
|
|
22
|
-
((_a = this.evmNetworks.find((n) => n.chainId === 137)) === null || _a === void 0 ? void 0 : _a.chainId) ||
|
|
23
|
-
((_b = this.evmNetworks[0]) === null || _b === void 0 ? void 0 : _b.chainId);
|
|
24
|
-
}
|
|
25
|
-
getClient() {
|
|
26
|
-
if (!this.client) {
|
|
27
|
-
const network = this.evmNetworks.find((n) => n.chainId === this.chainId);
|
|
28
|
-
if (network) {
|
|
29
|
-
this.client = new BloctoSDK({
|
|
30
|
-
ethereum: {
|
|
31
|
-
chainId: `0x${this.chainId.toString(16)}`,
|
|
32
|
-
rpc: network.rpcUrls[0],
|
|
33
|
-
},
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
logger.error("Couldn't find a configured network for Blocto EVM");
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return this.client;
|
|
41
|
-
}
|
|
42
|
-
getWeb3Provider() {
|
|
43
|
-
const client = this.getClient();
|
|
44
|
-
// If there are no accounts yet, we shouldn't wrap the provider in ethers
|
|
45
|
-
if (client && client.ethereum && client.ethereum.accounts.length > 0) {
|
|
46
|
-
return new ethers.providers.Web3Provider(client.ethereum);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return undefined;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
// We are calling the client directly and not via Web3Provider because if we will wrap it in Ethers,
|
|
53
|
-
// Ethers will be making retries on failure. This becomes an issue on the connect step.
|
|
54
|
-
// When Blocto's modal closes prior to receiving a response with the address on the connect step,
|
|
55
|
-
// then ethers would retry and the modal will open again.
|
|
56
|
-
fetchPublicAddress() {
|
|
57
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
try {
|
|
59
|
-
const client = this.getClient();
|
|
60
|
-
if (client && client.ethereum) {
|
|
61
|
-
const addresses = yield client.ethereum.request({
|
|
62
|
-
method: 'eth_requestAccounts',
|
|
63
|
-
});
|
|
64
|
-
if (addresses.length > 0) {
|
|
65
|
-
return addresses[0];
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return undefined;
|
|
69
|
-
}
|
|
70
|
-
catch (e) {
|
|
71
|
-
logger.error(e);
|
|
72
|
-
return Promise.reject(e);
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
signMessage(messageToSign) {
|
|
77
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
-
try {
|
|
79
|
-
const signer = yield this.getSigner();
|
|
80
|
-
return yield (signer === null || signer === void 0 ? void 0 : signer.signMessage(messageToSign));
|
|
81
|
-
}
|
|
82
|
-
catch (e) {
|
|
83
|
-
if (e.message === 'User declined the signing request') {
|
|
84
|
-
return Promise.reject({ code: '4001' });
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
return Promise.reject(e);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
endSession() {
|
|
93
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
-
const client = this.getClient();
|
|
95
|
-
localStorage.removeItem('sdk.session');
|
|
96
|
-
if (client && client.ethereum && client.ethereum.accounts.length > 0) {
|
|
97
|
-
yield client.ethereum.request({ method: 'wallet_disconnect' });
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
export { BloctoEvm as default };
|
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var tslib = require('tslib');
|
|
6
|
-
var ethers = require('ethers');
|
|
7
|
-
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
8
|
-
var utils = require('@dynamic-labs/utils');
|
|
9
|
-
var rpcProviders = require('@dynamic-labs/rpc-providers');
|
|
10
|
-
var evmNetwork = require('./evm-network.cjs');
|
|
11
|
-
|
|
12
|
-
class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
13
|
-
getRpcProvider() {
|
|
14
|
-
var _a, _b, _c;
|
|
15
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
16
|
-
const networkId = (_a = (yield this.getNetwork())) !== null && _a !== void 0 ? _a : 1;
|
|
17
|
-
if (this.evmNetworks.length === 0) {
|
|
18
|
-
return undefined;
|
|
19
|
-
}
|
|
20
|
-
const configurations = {
|
|
21
|
-
cosmos: [],
|
|
22
|
-
evm: this.evmNetworks,
|
|
23
|
-
solana: [],
|
|
24
|
-
starknet: undefined,
|
|
25
|
-
};
|
|
26
|
-
return (_c = (_b = this.chainRpcProviders) === null || _b === void 0 ? void 0 : _b.getEvmProviderByChainId(configurations, networkId)) === null || _c === void 0 ? void 0 : _c.provider;
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
constructor(props) {
|
|
30
|
-
var _a;
|
|
31
|
-
super(props);
|
|
32
|
-
this.evmNetworkRpcMap = () => this.evmNetworks.reduce((acc, network) => {
|
|
33
|
-
var _a;
|
|
34
|
-
[acc[network.chainId]] = ((_a = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a.length)
|
|
35
|
-
? network.privateCustomerRpcUrls
|
|
36
|
-
: network.rpcUrls;
|
|
37
|
-
return acc;
|
|
38
|
-
}, {});
|
|
39
|
-
this.evmNetworks = utils.parseEvmNetworks(props.evmNetworks);
|
|
40
|
-
this.chainRpcProviders = props.chainRpcProviders;
|
|
41
|
-
(_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerChainProviders(rpcProviders.ProviderChain.EVM, (config) => {
|
|
42
|
-
const rpcProviders = {};
|
|
43
|
-
if (config === null || config === void 0 ? void 0 : config.evm) {
|
|
44
|
-
rpcProviders.evm = utils.parseEvmNetworks(config.evm).map((network) => {
|
|
45
|
-
var _a;
|
|
46
|
-
const rpcUrl = ((_a = network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || network.rpcUrls[0];
|
|
47
|
-
const provider = new ethers.ethers.providers.JsonRpcProvider(rpcUrl, network.chainId);
|
|
48
|
-
return {
|
|
49
|
-
chainId: network.chainId,
|
|
50
|
-
chainName: network.name,
|
|
51
|
-
provider,
|
|
52
|
-
};
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
return rpcProviders.evm;
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
getNetwork() {
|
|
59
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
60
|
-
const provider = this.getWeb3Provider();
|
|
61
|
-
if (!this.supportsNetworkSwitching ||
|
|
62
|
-
!provider ||
|
|
63
|
-
!('getNetwork' in provider)) {
|
|
64
|
-
return Promise.resolve(undefined);
|
|
65
|
-
}
|
|
66
|
-
const network = yield provider.getNetwork();
|
|
67
|
-
return Promise.resolve(network === null || network === void 0 ? void 0 : network.chainId);
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
getNameService() {
|
|
71
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
72
|
-
const [[address], provider] = yield Promise.all([
|
|
73
|
-
this.getConnectedAccounts(),
|
|
74
|
-
this.getRpcProvider(),
|
|
75
|
-
]);
|
|
76
|
-
if (!address || !provider || !('lookupAddress' in provider)) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
const [ensName, ensAvatar] = yield Promise.all([
|
|
80
|
-
provider.lookupAddress(address),
|
|
81
|
-
provider.getAvatar(address),
|
|
82
|
-
]);
|
|
83
|
-
const ensData = {
|
|
84
|
-
avatar: ensAvatar !== null && ensAvatar !== void 0 ? ensAvatar : undefined,
|
|
85
|
-
name: ensName !== null && ensName !== void 0 ? ensName : undefined,
|
|
86
|
-
};
|
|
87
|
-
return ensData;
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
getSigner() {
|
|
91
|
-
var _a;
|
|
92
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
93
|
-
return (_a = this.getWeb3Provider()) === null || _a === void 0 ? void 0 : _a.getSigner();
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
getBalance() {
|
|
97
|
-
var _a;
|
|
98
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
99
|
-
// This is equivalent to getSigner().getAddress() but does not crash
|
|
100
|
-
// if the signer is not available
|
|
101
|
-
const [address] = yield this.getConnectedAccounts();
|
|
102
|
-
if (!address)
|
|
103
|
-
return;
|
|
104
|
-
const result = yield ((_a = this.getWeb3Provider()) === null || _a === void 0 ? void 0 : _a.getBalance(address));
|
|
105
|
-
if (!result)
|
|
106
|
-
return;
|
|
107
|
-
return ethers.ethers.utils.formatEther(result);
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
supportsNetworkSwitching() {
|
|
111
|
-
return true;
|
|
112
|
-
}
|
|
113
|
-
switchNetwork({ networkName, networkChainId, }) {
|
|
114
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
115
|
-
const network = evmNetwork.findEvmNetwork({
|
|
116
|
-
chainId: networkChainId,
|
|
117
|
-
name: networkName,
|
|
118
|
-
networks: this.evmNetworks,
|
|
119
|
-
});
|
|
120
|
-
if (!network) {
|
|
121
|
-
throw new utils.DynamicError('Could not find network');
|
|
122
|
-
}
|
|
123
|
-
if (!this.supportsNetworkSwitching()) {
|
|
124
|
-
throw new utils.DynamicError('Network switching is not supported');
|
|
125
|
-
}
|
|
126
|
-
const provider = this.getWeb3Provider();
|
|
127
|
-
if (!provider) {
|
|
128
|
-
throw new utils.DynamicError('Provider not found');
|
|
129
|
-
}
|
|
130
|
-
return this.providerSwitchNetwork({ network, provider });
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
getConnectedAccounts() {
|
|
134
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
135
|
-
const provider = this.getWeb3Provider();
|
|
136
|
-
if (!provider)
|
|
137
|
-
return [];
|
|
138
|
-
return provider.send('eth_accounts', []);
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
providerSwitchNetwork({ network, provider, }) {
|
|
142
|
-
var _a, _b, _c;
|
|
143
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
144
|
-
const { chainId } = network;
|
|
145
|
-
const currentNetworkId = yield this.getNetwork();
|
|
146
|
-
if (currentNetworkId && currentNetworkId === chainId) {
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
try {
|
|
150
|
-
if (!this.supportsNetworkSwitching()) {
|
|
151
|
-
throw new utils.DynamicError('Network switching is not supported');
|
|
152
|
-
}
|
|
153
|
-
return yield provider.send('wallet_switchEthereumChain', [
|
|
154
|
-
{
|
|
155
|
-
chainId: `0x${chainId.toString(16)}`,
|
|
156
|
-
},
|
|
157
|
-
]);
|
|
158
|
-
}
|
|
159
|
-
catch (error) {
|
|
160
|
-
if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
|
|
161
|
-
(typeof error === 'string' && error.includes('rejected'))) {
|
|
162
|
-
throw new utils.DynamicError("User rejected the wallet's request to switch network");
|
|
163
|
-
}
|
|
164
|
-
else if (error.code === 4902 ||
|
|
165
|
-
error.message.includes('Unrecognized chain') ||
|
|
166
|
-
// https://github.com/MetaMask/metamask-mobile/issues/3312#issuecomment-1065923294
|
|
167
|
-
((_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) {
|
|
168
|
-
// error code indicates the chain has not been added yet
|
|
169
|
-
// https://docs.metamask.io/guide/rpc-api.html#usage-with-wallet-switchethereumchain
|
|
170
|
-
return this.providerAddNetwork({ network, provider });
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
throw error;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
providerAddNetwork({ network, provider, }) {
|
|
179
|
-
var _a;
|
|
180
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
181
|
-
const { blockExplorerUrls, chainId, nativeCurrency, rpcUrls, name } = network;
|
|
182
|
-
try {
|
|
183
|
-
return yield provider.send('wallet_addEthereumChain', [
|
|
184
|
-
{
|
|
185
|
-
blockExplorerUrls,
|
|
186
|
-
chainId: `0x${chainId.toString(16)}`,
|
|
187
|
-
chainName: name,
|
|
188
|
-
nativeCurrency,
|
|
189
|
-
rpcUrls,
|
|
190
|
-
},
|
|
191
|
-
]);
|
|
192
|
-
}
|
|
193
|
-
catch (error) {
|
|
194
|
-
if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
|
|
195
|
-
(typeof error === 'string' && error.includes('rejected'))) {
|
|
196
|
-
throw new utils.DynamicError("User rejected the wallet's request to add network");
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
throw error;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
exports.EthWalletConnector = EthWalletConnector;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { ethers } from 'ethers';
|
|
2
|
-
import { NameServiceData, WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
-
import { EvmNetwork, GenericNetwork } from '@dynamic-labs/types';
|
|
4
|
-
import { ChainRpcProviders } from '@dynamic-labs/rpc-providers';
|
|
5
|
-
export type SwitchNetworkOps = {
|
|
6
|
-
networkChainId?: number;
|
|
7
|
-
networkName?: string;
|
|
8
|
-
};
|
|
9
|
-
type EvmRpcMap = {
|
|
10
|
-
[chainId: number]: string;
|
|
11
|
-
};
|
|
12
|
-
export type EthWalletConnectorOpts = {
|
|
13
|
-
chainRpcProviders: typeof ChainRpcProviders;
|
|
14
|
-
evmNetworks: GenericNetwork[];
|
|
15
|
-
isWalletConnectV2Enabled?: boolean;
|
|
16
|
-
};
|
|
17
|
-
export declare abstract class EthWalletConnector extends WalletConnectorBase {
|
|
18
|
-
evmNetworks: EvmNetwork[];
|
|
19
|
-
abstract getWeb3Provider(): ethers.providers.Web3Provider | undefined;
|
|
20
|
-
getRpcProvider(): Promise<ethers.providers.JsonRpcProvider | undefined>;
|
|
21
|
-
constructor(props: EthWalletConnectorOpts);
|
|
22
|
-
getNetwork(): Promise<number | undefined>;
|
|
23
|
-
getNameService(): Promise<NameServiceData | undefined>;
|
|
24
|
-
getSigner(): Promise<ethers.providers.JsonRpcSigner | undefined>;
|
|
25
|
-
getBalance(): Promise<string | undefined>;
|
|
26
|
-
supportsNetworkSwitching(): boolean;
|
|
27
|
-
switchNetwork({ networkName, networkChainId, }: SwitchNetworkOps): Promise<void>;
|
|
28
|
-
getConnectedAccounts(): Promise<string[]>;
|
|
29
|
-
protected providerSwitchNetwork({ network, provider, }: {
|
|
30
|
-
network: EvmNetwork;
|
|
31
|
-
provider: ethers.providers.Web3Provider;
|
|
32
|
-
}): Promise<void>;
|
|
33
|
-
protected providerAddNetwork({ network, provider, }: {
|
|
34
|
-
network: EvmNetwork;
|
|
35
|
-
provider: ethers.providers.Web3Provider;
|
|
36
|
-
}): Promise<void>;
|
|
37
|
-
protected evmNetworkRpcMap: () => EvmRpcMap;
|
|
38
|
-
}
|
|
39
|
-
export {};
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from 'tslib';
|
|
2
|
-
import { ethers } from 'ethers';
|
|
3
|
-
import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
4
|
-
import { parseEvmNetworks, DynamicError } from '@dynamic-labs/utils';
|
|
5
|
-
import { ProviderChain } from '@dynamic-labs/rpc-providers';
|
|
6
|
-
import { findEvmNetwork } from './evm-network.js';
|
|
7
|
-
|
|
8
|
-
class EthWalletConnector extends WalletConnectorBase {
|
|
9
|
-
getRpcProvider() {
|
|
10
|
-
var _a, _b, _c;
|
|
11
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
12
|
-
const networkId = (_a = (yield this.getNetwork())) !== null && _a !== void 0 ? _a : 1;
|
|
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
|
-
return (_c = (_b = this.chainRpcProviders) === null || _b === void 0 ? void 0 : _b.getEvmProviderByChainId(configurations, networkId)) === null || _c === void 0 ? void 0 : _c.provider;
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
constructor(props) {
|
|
26
|
-
var _a;
|
|
27
|
-
super(props);
|
|
28
|
-
this.evmNetworkRpcMap = () => this.evmNetworks.reduce((acc, network) => {
|
|
29
|
-
var _a;
|
|
30
|
-
[acc[network.chainId]] = ((_a = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a.length)
|
|
31
|
-
? network.privateCustomerRpcUrls
|
|
32
|
-
: network.rpcUrls;
|
|
33
|
-
return acc;
|
|
34
|
-
}, {});
|
|
35
|
-
this.evmNetworks = parseEvmNetworks(props.evmNetworks);
|
|
36
|
-
this.chainRpcProviders = props.chainRpcProviders;
|
|
37
|
-
(_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerChainProviders(ProviderChain.EVM, (config) => {
|
|
38
|
-
const rpcProviders = {};
|
|
39
|
-
if (config === null || config === void 0 ? void 0 : config.evm) {
|
|
40
|
-
rpcProviders.evm = parseEvmNetworks(config.evm).map((network) => {
|
|
41
|
-
var _a;
|
|
42
|
-
const rpcUrl = ((_a = network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || network.rpcUrls[0];
|
|
43
|
-
const provider = new ethers.providers.JsonRpcProvider(rpcUrl, network.chainId);
|
|
44
|
-
return {
|
|
45
|
-
chainId: network.chainId,
|
|
46
|
-
chainName: network.name,
|
|
47
|
-
provider,
|
|
48
|
-
};
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
return rpcProviders.evm;
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
getNetwork() {
|
|
55
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
const provider = this.getWeb3Provider();
|
|
57
|
-
if (!this.supportsNetworkSwitching ||
|
|
58
|
-
!provider ||
|
|
59
|
-
!('getNetwork' in provider)) {
|
|
60
|
-
return Promise.resolve(undefined);
|
|
61
|
-
}
|
|
62
|
-
const network = yield provider.getNetwork();
|
|
63
|
-
return Promise.resolve(network === null || network === void 0 ? void 0 : network.chainId);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
getNameService() {
|
|
67
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
-
const [[address], provider] = yield Promise.all([
|
|
69
|
-
this.getConnectedAccounts(),
|
|
70
|
-
this.getRpcProvider(),
|
|
71
|
-
]);
|
|
72
|
-
if (!address || !provider || !('lookupAddress' in provider)) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
const [ensName, ensAvatar] = yield Promise.all([
|
|
76
|
-
provider.lookupAddress(address),
|
|
77
|
-
provider.getAvatar(address),
|
|
78
|
-
]);
|
|
79
|
-
const ensData = {
|
|
80
|
-
avatar: ensAvatar !== null && ensAvatar !== void 0 ? ensAvatar : undefined,
|
|
81
|
-
name: ensName !== null && ensName !== void 0 ? ensName : undefined,
|
|
82
|
-
};
|
|
83
|
-
return ensData;
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
getSigner() {
|
|
87
|
-
var _a;
|
|
88
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
-
return (_a = this.getWeb3Provider()) === null || _a === void 0 ? void 0 : _a.getSigner();
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
getBalance() {
|
|
93
|
-
var _a;
|
|
94
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
// This is equivalent to getSigner().getAddress() but does not crash
|
|
96
|
-
// if the signer is not available
|
|
97
|
-
const [address] = yield this.getConnectedAccounts();
|
|
98
|
-
if (!address)
|
|
99
|
-
return;
|
|
100
|
-
const result = yield ((_a = this.getWeb3Provider()) === null || _a === void 0 ? void 0 : _a.getBalance(address));
|
|
101
|
-
if (!result)
|
|
102
|
-
return;
|
|
103
|
-
return ethers.utils.formatEther(result);
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
supportsNetworkSwitching() {
|
|
107
|
-
return true;
|
|
108
|
-
}
|
|
109
|
-
switchNetwork({ networkName, networkChainId, }) {
|
|
110
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
-
const network = findEvmNetwork({
|
|
112
|
-
chainId: networkChainId,
|
|
113
|
-
name: networkName,
|
|
114
|
-
networks: this.evmNetworks,
|
|
115
|
-
});
|
|
116
|
-
if (!network) {
|
|
117
|
-
throw new DynamicError('Could not find network');
|
|
118
|
-
}
|
|
119
|
-
if (!this.supportsNetworkSwitching()) {
|
|
120
|
-
throw new DynamicError('Network switching is not supported');
|
|
121
|
-
}
|
|
122
|
-
const provider = this.getWeb3Provider();
|
|
123
|
-
if (!provider) {
|
|
124
|
-
throw new DynamicError('Provider not found');
|
|
125
|
-
}
|
|
126
|
-
return this.providerSwitchNetwork({ network, provider });
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
getConnectedAccounts() {
|
|
130
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
131
|
-
const provider = this.getWeb3Provider();
|
|
132
|
-
if (!provider)
|
|
133
|
-
return [];
|
|
134
|
-
return provider.send('eth_accounts', []);
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
providerSwitchNetwork({ network, provider, }) {
|
|
138
|
-
var _a, _b, _c;
|
|
139
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
140
|
-
const { chainId } = network;
|
|
141
|
-
const currentNetworkId = yield this.getNetwork();
|
|
142
|
-
if (currentNetworkId && currentNetworkId === chainId) {
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
try {
|
|
146
|
-
if (!this.supportsNetworkSwitching()) {
|
|
147
|
-
throw new DynamicError('Network switching is not supported');
|
|
148
|
-
}
|
|
149
|
-
return yield provider.send('wallet_switchEthereumChain', [
|
|
150
|
-
{
|
|
151
|
-
chainId: `0x${chainId.toString(16)}`,
|
|
152
|
-
},
|
|
153
|
-
]);
|
|
154
|
-
}
|
|
155
|
-
catch (error) {
|
|
156
|
-
if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
|
|
157
|
-
(typeof error === 'string' && error.includes('rejected'))) {
|
|
158
|
-
throw new DynamicError("User rejected the wallet's request to switch network");
|
|
159
|
-
}
|
|
160
|
-
else if (error.code === 4902 ||
|
|
161
|
-
error.message.includes('Unrecognized chain') ||
|
|
162
|
-
// https://github.com/MetaMask/metamask-mobile/issues/3312#issuecomment-1065923294
|
|
163
|
-
((_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) {
|
|
164
|
-
// error code indicates the chain has not been added yet
|
|
165
|
-
// https://docs.metamask.io/guide/rpc-api.html#usage-with-wallet-switchethereumchain
|
|
166
|
-
return this.providerAddNetwork({ network, provider });
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
throw error;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
providerAddNetwork({ network, provider, }) {
|
|
175
|
-
var _a;
|
|
176
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
177
|
-
const { blockExplorerUrls, chainId, nativeCurrency, rpcUrls, name } = network;
|
|
178
|
-
try {
|
|
179
|
-
return yield provider.send('wallet_addEthereumChain', [
|
|
180
|
-
{
|
|
181
|
-
blockExplorerUrls,
|
|
182
|
-
chainId: `0x${chainId.toString(16)}`,
|
|
183
|
-
chainName: name,
|
|
184
|
-
nativeCurrency,
|
|
185
|
-
rpcUrls,
|
|
186
|
-
},
|
|
187
|
-
]);
|
|
188
|
-
}
|
|
189
|
-
catch (error) {
|
|
190
|
-
if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
|
|
191
|
-
(typeof error === 'string' && error.includes('rejected'))) {
|
|
192
|
-
throw new DynamicError("User rejected the wallet's request to add network");
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
throw error;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
export { EthWalletConnector };
|
package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs
DELETED
|
@@ -1,61 +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
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
const client = this._magicClient.getClient();
|
|
45
|
-
const user = yield this.getUserMetadata();
|
|
46
|
-
if (user && user.publicAddress) {
|
|
47
|
-
this.setEmail(user === null || user === void 0 ? void 0 : user.email);
|
|
48
|
-
return user.publicAddress;
|
|
49
|
-
}
|
|
50
|
-
const { email } = this;
|
|
51
|
-
if (!email)
|
|
52
|
-
return;
|
|
53
|
-
return client.auth.loginWithMagicLink({
|
|
54
|
-
email,
|
|
55
|
-
showUI: false,
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
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,57 +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
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
const client = this._magicClient.getClient();
|
|
41
|
-
const user = yield this.getUserMetadata();
|
|
42
|
-
if (user && user.publicAddress) {
|
|
43
|
-
this.setEmail(user === null || user === void 0 ? void 0 : user.email);
|
|
44
|
-
return user.publicAddress;
|
|
45
|
-
}
|
|
46
|
-
const { email } = this;
|
|
47
|
-
if (!email)
|
|
48
|
-
return;
|
|
49
|
-
return client.auth.loginWithMagicLink({
|
|
50
|
-
email,
|
|
51
|
-
showUI: false,
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export { EmailMagicWalletConnector };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { EmailMagicWalletConnector } from './EmailMagicWalletConnector';
|