@dynamic-labs/multi-wallet 0.16.0-RC.13 → 0.16.0-RC.14
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 +18 -0
- package/package.json +6 -5
- package/src/wallets/clients/walletConnect/walletConnect.d.ts +7 -3
- package/src/wallets/clients/walletConnect/walletConnect.js +59 -33
- package/src/wallets/clients/walletConnect/walletConnect.js.map +1 -1
- package/src/wallets/cosmos/keplrWalletConnect.d.ts +47 -2
- package/src/wallets/cosmos/keplrWalletConnect.js +202 -3
- package/src/wallets/cosmos/keplrWalletConnect.js.map +1 -1
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +2 -2
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js.map +1 -1
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +1 -1
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js.map +1 -1
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +24 -0
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +94 -0
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js.map +1 -0
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.d.ts +2 -0
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.js +6 -0
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.js.map +1 -0
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +7 -13
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +26 -45
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js.map +1 -1
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/index.d.ts +1 -1
- package/src/wallets/ethereum/MagicConnector/index.d.ts +1 -0
- package/src/wallets/ethereum/MagicConnector/index.js +1 -0
- package/src/wallets/ethereum/MagicConnector/index.js.map +1 -1
- package/src/wallets/walletConnect/walletConnect.d.ts +1 -0
- package/src/wallets/walletConnect/walletConnect.js +2 -2
- package/src/wallets/walletConnect/walletConnect.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,22 @@
|
|
|
1
1
|
|
|
2
|
+
## [0.16.0-RC.14](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.0-RC.13...v0.16.0-RC.14) (2023-04-12)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* **DYN-2073:** use emailOnly property to decide whether to show wallet list or not ([#1855](https://github.com/dynamic-labs/DynamicAuth/issues/1855)) ([9f98713](https://github.com/dynamic-labs/DynamicAuth/commit/9f9871343811e9bcaa4bad3b01407fcab7401630))
|
|
8
|
+
* **Keplr:** sign message with walletconnect and authorize ([699d438](https://github.com/dynamic-labs/DynamicAuth/commit/699d438e9c14ce5f562cbebe9c4895530bbeb0cf))
|
|
9
|
+
* **Keplr:** support network switch ([28c98b3](https://github.com/dynamic-labs/DynamicAuth/commit/28c98b31010bfd74b0a1a767165311a7ca1bca8a))
|
|
10
|
+
* **KeplrWalletCnnect:** fetch balance ([d42aad9](https://github.com/dynamic-labs/DynamicAuth/commit/d42aad9c848ced5eff782da23fd0ed50a1727f74))
|
|
11
|
+
* **KeplrWalletCnnect:** fetch balance ([bd0f854](https://github.com/dynamic-labs/DynamicAuth/commit/bd0f854ea95425dabdc918f87a3e85c1f30e42c9))
|
|
12
|
+
* **magic:** handle network switching ([c9636ef](https://github.com/dynamic-labs/DynamicAuth/commit/c9636ef61bc72970fde4182f7c2e5c05fcccf1bf))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* **Keplr:** authorize with persited network ([82e9e94](https://github.com/dynamic-labs/DynamicAuth/commit/82e9e945039d9ee39a64193d6b14f993b9f980f0))
|
|
18
|
+
* remove extend WalletConnect from keplrWalletConnect ([9ae62be](https://github.com/dynamic-labs/DynamicAuth/commit/9ae62be5d47e1b17a986bd4c84aba3a8d3583743))
|
|
19
|
+
|
|
2
20
|
## [0.16.0-RC.13](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.0-RC.12...v0.16.0-RC.13) (2023-04-11)
|
|
3
21
|
|
|
4
22
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/multi-wallet",
|
|
3
|
-
"version": "0.16.0-RC.
|
|
3
|
+
"version": "0.16.0-RC.14",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/dynamic-labs/DynamicAuth.git",
|
|
@@ -10,9 +10,10 @@
|
|
|
10
10
|
"@blocto/sdk": "0.3.3",
|
|
11
11
|
"@coinbase/wallet-sdk": "3.6.4",
|
|
12
12
|
"@dynamic-labs/iconic": "0.1.16",
|
|
13
|
-
"@dynamic-labs/sdk-api": "0.0.
|
|
13
|
+
"@dynamic-labs/sdk-api": "0.0.174",
|
|
14
14
|
"@dynamic-labs/wallet-book": "0.0.10",
|
|
15
|
-
"@keplr-wallet/types": "0.11.
|
|
15
|
+
"@keplr-wallet/types": "0.11.53",
|
|
16
|
+
"@keplr-wallet/wc-client": "0.11.53",
|
|
16
17
|
"@onflow/fcl": "1.3.2",
|
|
17
18
|
"@randlabs/myalgo-connect": "1.4.2",
|
|
18
19
|
"@solana/web3.js": "1.70.1",
|
|
@@ -27,8 +28,8 @@
|
|
|
27
28
|
"react": "18.2.0",
|
|
28
29
|
"starknet": "3.19.0",
|
|
29
30
|
"tslib": "2.4.1",
|
|
30
|
-
"@dynamic-labs/logger": "0.16.0-RC.
|
|
31
|
-
"@dynamic-labs/wallet-connector-core": "0.16.0-RC.
|
|
31
|
+
"@dynamic-labs/logger": "0.16.0-RC.14",
|
|
32
|
+
"@dynamic-labs/wallet-connector-core": "0.16.0-RC.14"
|
|
32
33
|
},
|
|
33
34
|
"devDependencies": {
|
|
34
35
|
"@walletconnect/types": "^2.2.1"
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import Client from '@walletconnect/client';
|
|
2
|
-
import {
|
|
2
|
+
import { KeplrWalletConnectV1 } from '@keplr-wallet/wc-client';
|
|
3
|
+
import { FetchPublicAddressOpts, PayloadParams, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
|
|
3
4
|
import { WalletSchema } from '@dynamic-labs/wallet-book';
|
|
4
|
-
export declare const initClient: (name: string) => Client;
|
|
5
|
+
export declare const initClient: (name: string, settings?: any) => Client;
|
|
5
6
|
/**
|
|
6
7
|
* Attach event handlers to WalletConnect events.
|
|
7
8
|
*/
|
|
@@ -14,5 +15,8 @@ export declare const killWalletConnectSession: (client: Client) => Promise<void>
|
|
|
14
15
|
export declare const getDeepLink: (uri: string, metadata: WalletSchema, { removeWCUri, }?: {
|
|
15
16
|
removeWCUri?: boolean | undefined;
|
|
16
17
|
}) => string;
|
|
17
|
-
export declare const
|
|
18
|
+
export declare const createSession: (client: Client) => Promise<PayloadParams>;
|
|
19
|
+
export declare const useDeepLink: (metadata: WalletSchema, wcClient: Client, opts?: FetchPublicAddressOpts) => void;
|
|
20
|
+
export declare const fetchWalletConnectCosmosPublicAddress: (metadata: WalletSchema, wcClient: Client, provider: KeplrWalletConnectV1, opts: FetchPublicAddressOpts & Required<Pick<FetchPublicAddressOpts, 'chainId'>>) => Promise<string>;
|
|
21
|
+
export declare const fetchWalletConnectEVMPublicAddress: (metadata: WalletSchema, wcClient: Client, opts?: FetchPublicAddressOpts) => Promise<string | undefined>;
|
|
18
22
|
export declare const signWalletConnectPersonalMessage: (messageToSign: string, metadata: WalletSchema, client: Client) => Promise<string | undefined>;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.signWalletConnectPersonalMessage = exports.
|
|
3
|
+
exports.signWalletConnectPersonalMessage = exports.fetchWalletConnectEVMPublicAddress = exports.fetchWalletConnectCosmosPublicAddress = exports.useDeepLink = exports.createSession = exports.getDeepLink = exports.killWalletConnectSession = exports.teardownWalletConnectEventListeners = exports.setupWalletConnectEventListeners = exports.initClient = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const client_1 = tslib_1.__importDefault(require("@walletconnect/client"));
|
|
6
6
|
const isMobile_1 = require("../../../utils/isMobile");
|
|
7
7
|
const isSameAddress_1 = require("../../../utils/isSameAddress");
|
|
8
8
|
const logger_1 = require("../../../utils/logger");
|
|
9
|
-
const initClient = (name) => {
|
|
9
|
+
const initClient = (name, settings) => {
|
|
10
10
|
const storageId = `walletconnect-${name}`;
|
|
11
11
|
const session = localStorage.getItem(storageId);
|
|
12
12
|
const clientArgs = session
|
|
13
13
|
? { session: JSON.parse(session), storageId }
|
|
14
14
|
: { bridge: 'https://bridge.walletconnect.org', storageId };
|
|
15
|
-
return new client_1.default(clientArgs);
|
|
15
|
+
return new client_1.default(Object.assign(Object.assign({}, clientArgs), settings));
|
|
16
16
|
};
|
|
17
17
|
exports.initClient = initClient;
|
|
18
18
|
/**
|
|
@@ -97,46 +97,72 @@ const getDeepLink = (uri, metadata, { removeWCUri = false, } = {}) => {
|
|
|
97
97
|
return uri;
|
|
98
98
|
};
|
|
99
99
|
exports.getDeepLink = getDeepLink;
|
|
100
|
-
const
|
|
100
|
+
const createSession = (client) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
101
|
+
return new Promise((resolve, reject) => {
|
|
102
|
+
try {
|
|
103
|
+
client.on('connect', (error, payload) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
104
|
+
if (error)
|
|
105
|
+
throw error;
|
|
106
|
+
resolve(payload);
|
|
107
|
+
}));
|
|
108
|
+
client.on('disconnect', (error, payload) => {
|
|
109
|
+
throw error || payload.params[0].message;
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
catch (e) {
|
|
113
|
+
reject(e);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
exports.createSession = createSession;
|
|
118
|
+
const useDeepLink = (metadata, wcClient, opts) => {
|
|
101
119
|
var _a, _b, _c;
|
|
102
|
-
|
|
103
|
-
const [accountPublicAddress] = client.accounts;
|
|
104
|
-
return accountPublicAddress;
|
|
105
|
-
}
|
|
106
|
-
// createSession will trigger the QR code...
|
|
107
|
-
yield client.createSession();
|
|
120
|
+
const deepLink = (0, exports.getDeepLink)(wcClient.uri, metadata);
|
|
108
121
|
if ((0, isMobile_1.isMobile)()) {
|
|
109
|
-
const deepLink = (0, exports.getDeepLink)(client.uri, metadata);
|
|
110
122
|
window.location.href = deepLink;
|
|
111
123
|
}
|
|
112
124
|
else {
|
|
113
125
|
if ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.desktop) === null || _a === void 0 ? void 0 : _a.native) {
|
|
114
|
-
|
|
115
|
-
(_b = opts === null || opts === void 0 ? void 0 : opts.onDesktopUri) === null || _b === void 0 ? void 0 : _b.call(opts, uri);
|
|
126
|
+
(_b = opts === null || opts === void 0 ? void 0 : opts.onDesktopUri) === null || _b === void 0 ? void 0 : _b.call(opts, deepLink);
|
|
116
127
|
}
|
|
117
|
-
(_c = opts === null || opts === void 0 ? void 0 : opts.onDisplayUri) === null || _c === void 0 ? void 0 : _c.call(opts,
|
|
128
|
+
(_c = opts === null || opts === void 0 ? void 0 : opts.onDisplayUri) === null || _c === void 0 ? void 0 : _c.call(opts, wcClient.uri);
|
|
118
129
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
130
|
+
};
|
|
131
|
+
exports.useDeepLink = useDeepLink;
|
|
132
|
+
const fetchWalletConnectCosmosPublicAddress = (metadata, wcClient, provider, opts) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
133
|
+
var _a;
|
|
134
|
+
if (wcClient.connected) {
|
|
135
|
+
const key = yield provider.getKey(opts.chainId);
|
|
136
|
+
return key.bech32Address;
|
|
137
|
+
}
|
|
138
|
+
yield wcClient.createSession();
|
|
139
|
+
(0, exports.useDeepLink)(metadata, wcClient, opts);
|
|
140
|
+
const payload = yield (0, exports.createSession)(wcClient);
|
|
141
|
+
const key = yield provider.getKey(opts.chainId);
|
|
142
|
+
(_a = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _a === void 0 ? void 0 : _a.call(opts, payload);
|
|
143
|
+
wcClient.accounts = [key.bech32Address];
|
|
144
|
+
return key.bech32Address;
|
|
145
|
+
});
|
|
146
|
+
exports.fetchWalletConnectCosmosPublicAddress = fetchWalletConnectCosmosPublicAddress;
|
|
147
|
+
const fetchWalletConnectEVMPublicAddress = (metadata, wcClient, opts) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
148
|
+
var _b;
|
|
149
|
+
if (wcClient.connected) {
|
|
150
|
+
const [accountPublicAddress] = wcClient.accounts;
|
|
151
|
+
return accountPublicAddress;
|
|
152
|
+
}
|
|
153
|
+
// createSession will trigger the QR code...
|
|
154
|
+
yield wcClient.createSession();
|
|
155
|
+
(0, exports.useDeepLink)(metadata, wcClient, opts);
|
|
156
|
+
const payload = yield (0, exports.createSession)(wcClient);
|
|
157
|
+
(_b = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _b === void 0 ? void 0 : _b.call(opts, payload);
|
|
158
|
+
const [accountPublicAddress] = payload.params[0].accounts;
|
|
159
|
+
return accountPublicAddress;
|
|
134
160
|
});
|
|
135
|
-
exports.
|
|
161
|
+
exports.fetchWalletConnectEVMPublicAddress = fetchWalletConnectEVMPublicAddress;
|
|
136
162
|
const signWalletConnectPersonalMessage = (messageToSign, metadata, client) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
137
|
-
var
|
|
138
|
-
const isCryptoWallet = ((
|
|
139
|
-
((
|
|
163
|
+
var _c, _d;
|
|
164
|
+
const isCryptoWallet = ((_c = client === null || client === void 0 ? void 0 : client.peerMeta) === null || _c === void 0 ? void 0 : _c.name) === 'Crypto.com | DeFi Wallet' ||
|
|
165
|
+
((_d = client === null || client === void 0 ? void 0 : client.peerMeta) === null || _d === void 0 ? void 0 : _d.name) === 'DeFi Wallet';
|
|
140
166
|
if (!client || !client.connected) {
|
|
141
167
|
return;
|
|
142
168
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walletConnect.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/clients/walletConnect/walletConnect.ts"],"names":[],"mappings":";;;;AAAA,2EAA2C;
|
|
1
|
+
{"version":3,"file":"walletConnect.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/clients/walletConnect/walletConnect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,53 @@
|
|
|
1
|
+
import { KeplrWalletConnectV1 } from '@keplr-wallet/wc-client';
|
|
2
|
+
import Client from '@walletconnect/client';
|
|
3
|
+
import { OfflineAminoSigner } from '@keplr-wallet/types';
|
|
4
|
+
import { Chain, FetchPublicAddressOpts, WalletConnector, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
|
|
1
5
|
import { EvmNetwork } from '../ethereum/evm-network';
|
|
2
|
-
import
|
|
3
|
-
declare class KeplrWalletConnect
|
|
6
|
+
import { SwitchNetworkOps } from '../ethereum/ethProvider';
|
|
7
|
+
declare class KeplrWalletConnect implements WalletConnector {
|
|
4
8
|
constructor({ evmNetworks }: {
|
|
5
9
|
evmNetworks: EvmNetwork[];
|
|
6
10
|
});
|
|
11
|
+
name: string;
|
|
12
|
+
isWalletConnect: boolean;
|
|
13
|
+
switchNetworkOnlyFromWallet: boolean;
|
|
14
|
+
client?: Client;
|
|
15
|
+
clientOptions: {
|
|
16
|
+
signingMethods: string[];
|
|
17
|
+
};
|
|
18
|
+
evmNetworks?: EvmNetwork[];
|
|
19
|
+
selectedNetworkId: number;
|
|
20
|
+
chainIdMap: Record<number, string>;
|
|
21
|
+
supportedChains: Chain[];
|
|
22
|
+
connectedChain: Chain;
|
|
23
|
+
providerResources?: string[];
|
|
24
|
+
canConnectViaCustodialService: boolean;
|
|
25
|
+
canConnectViaQrCode: boolean;
|
|
26
|
+
_keplrInstance?: KeplrWalletConnectV1;
|
|
27
|
+
get key(): string;
|
|
28
|
+
get evmNetwork(): EvmNetwork | undefined;
|
|
29
|
+
get selectedNetwork(): EvmNetwork | undefined;
|
|
30
|
+
get lcdUrl(): string | undefined;
|
|
31
|
+
get denom(): string | undefined;
|
|
32
|
+
get chainId(): string;
|
|
33
|
+
getProvider(): KeplrWalletConnectV1;
|
|
34
|
+
getClient(): Client;
|
|
35
|
+
getNetwork(): Promise<number>;
|
|
36
|
+
switchNetwork({ networkChainId }: SwitchNetworkOps): Promise<void>;
|
|
37
|
+
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
38
|
+
fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
|
|
39
|
+
getBalance(): Promise<string>;
|
|
40
|
+
connect(): Promise<void>;
|
|
41
|
+
endSession(): Promise<void>;
|
|
42
|
+
getConnectedAccounts(): Promise<string[]>;
|
|
43
|
+
getDeepLink(): string | undefined;
|
|
44
|
+
getRpcProvider(): Promise<unknown>;
|
|
45
|
+
getSigner(): Promise<OfflineAminoSigner | undefined>;
|
|
46
|
+
getWeb3Provider(): KeplrWalletConnectV1 | undefined;
|
|
47
|
+
isInstalledOnBrowser(): boolean;
|
|
48
|
+
proveOwnership(messageToSign: string): Promise<string | undefined>;
|
|
49
|
+
setupEventListeners(listeners: WalletEventListeners): () => void;
|
|
50
|
+
teardownEventListeners(): void;
|
|
51
|
+
supportsNetworkSwitching(): boolean;
|
|
7
52
|
}
|
|
8
53
|
export default KeplrWalletConnect;
|
|
@@ -1,10 +1,209 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
const
|
|
5
|
-
|
|
4
|
+
const wc_client_1 = require("@keplr-wallet/wc-client");
|
|
5
|
+
const wallet_book_1 = require("@dynamic-labs/wallet-book");
|
|
6
|
+
const walletConnect_1 = require("../clients/walletConnect");
|
|
7
|
+
const isMobile_1 = require("../../utils/isMobile");
|
|
8
|
+
const logger_1 = require("../../utils/logger");
|
|
9
|
+
const normalizeWalletName_1 = require("../../utils/normalizeWalletName");
|
|
10
|
+
const DYNAMIC_KEPLR_NETWORK_ID = 'dynamic_keplr_wc_network_id';
|
|
11
|
+
class KeplrWalletConnect {
|
|
6
12
|
constructor({ evmNetworks }) {
|
|
7
|
-
|
|
13
|
+
var _a;
|
|
14
|
+
this.name = 'Keplr';
|
|
15
|
+
this.isWalletConnect = true;
|
|
16
|
+
this.switchNetworkOnlyFromWallet = false;
|
|
17
|
+
this.clientOptions = {
|
|
18
|
+
signingMethods: [
|
|
19
|
+
'keplr_enable_wallet_connect_v1',
|
|
20
|
+
'keplr_sign_amino_wallet_connect_v1',
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
this.chainIdMap = {
|
|
24
|
+
401: 'cosmoshub-4',
|
|
25
|
+
402: 'axelar-dojo-1',
|
|
26
|
+
403: 'osmosis-1',
|
|
27
|
+
};
|
|
28
|
+
this.supportedChains = ['COSMOS'];
|
|
29
|
+
this.connectedChain = 'COSMOS';
|
|
30
|
+
this.canConnectViaCustodialService = false;
|
|
31
|
+
this.canConnectViaQrCode = true;
|
|
32
|
+
this.evmNetworks = evmNetworks;
|
|
33
|
+
const persistedNetworkId = localStorage.getItem(DYNAMIC_KEPLR_NETWORK_ID);
|
|
34
|
+
if (persistedNetworkId) {
|
|
35
|
+
this.selectedNetworkId = Number(persistedNetworkId);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
this.selectedNetworkId = ((_a = evmNetworks[0]) === null || _a === void 0 ? void 0 : _a.chainId) || 401;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
get key() {
|
|
42
|
+
return (0, normalizeWalletName_1.normalizeWalletName)(this.name);
|
|
43
|
+
}
|
|
44
|
+
get evmNetwork() {
|
|
45
|
+
var _a;
|
|
46
|
+
return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => network.chainId === this.selectedNetworkId);
|
|
47
|
+
}
|
|
48
|
+
get selectedNetwork() {
|
|
49
|
+
var _a;
|
|
50
|
+
return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => network.networkId === this.selectedNetworkId);
|
|
51
|
+
}
|
|
52
|
+
get lcdUrl() {
|
|
53
|
+
var _a;
|
|
54
|
+
return (_a = this.selectedNetwork) === null || _a === void 0 ? void 0 : _a.lcdUrl;
|
|
55
|
+
}
|
|
56
|
+
get denom() {
|
|
57
|
+
var _a;
|
|
58
|
+
return (_a = this.selectedNetwork) === null || _a === void 0 ? void 0 : _a.nativeCurrency.denom;
|
|
59
|
+
}
|
|
60
|
+
get chainId() {
|
|
61
|
+
if (!this.selectedNetwork) {
|
|
62
|
+
return 'osmosis-1';
|
|
63
|
+
}
|
|
64
|
+
return this.chainIdMap[this.selectedNetwork.chainId];
|
|
65
|
+
}
|
|
66
|
+
getProvider() {
|
|
67
|
+
if (this.client && !this._keplrInstance) {
|
|
68
|
+
this._keplrInstance = new wc_client_1.KeplrWalletConnectV1(this.client);
|
|
69
|
+
}
|
|
70
|
+
return this._keplrInstance;
|
|
71
|
+
}
|
|
72
|
+
getClient() {
|
|
73
|
+
if (this.client) {
|
|
74
|
+
return this.client;
|
|
75
|
+
}
|
|
76
|
+
this.client = (0, walletConnect_1.initClient)((0, normalizeWalletName_1.normalizeWalletName)(this.name), this.clientOptions);
|
|
77
|
+
return this.client;
|
|
78
|
+
}
|
|
79
|
+
getNetwork() {
|
|
80
|
+
return Promise.resolve(this.selectedNetworkId);
|
|
81
|
+
}
|
|
82
|
+
switchNetwork({ networkChainId }) {
|
|
83
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
if (!networkChainId)
|
|
85
|
+
return;
|
|
86
|
+
try {
|
|
87
|
+
const keplr = this.getProvider();
|
|
88
|
+
yield keplr.enable(this.chainIdMap[networkChainId]);
|
|
89
|
+
this.selectedNetworkId = networkChainId;
|
|
90
|
+
localStorage.setItem(DYNAMIC_KEPLR_NETWORK_ID, networkChainId.toString());
|
|
91
|
+
}
|
|
92
|
+
catch (e) {
|
|
93
|
+
logger_1.logger.error(e);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
signMessage(messageToSign) {
|
|
98
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
const keplr = this.getProvider();
|
|
100
|
+
const key = yield keplr.getKey(this.chainId);
|
|
101
|
+
const res = yield keplr.signAmino(this.chainId, key.bech32Address, {
|
|
102
|
+
// The property is required in the amino doc
|
|
103
|
+
// https://cosmos.github.io/cosmjs/latest/amino/interfaces/StdSignDoc.html
|
|
104
|
+
account_number: '0',
|
|
105
|
+
chain_id: this.chainId,
|
|
106
|
+
fee: {
|
|
107
|
+
amount: [],
|
|
108
|
+
gas: '0',
|
|
109
|
+
},
|
|
110
|
+
memo: '',
|
|
111
|
+
msgs: [{ type: 'custom/MsgSignText', value: { text: messageToSign } }],
|
|
112
|
+
sequence: '0',
|
|
113
|
+
});
|
|
114
|
+
return JSON.stringify(res);
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
fetchPublicAddress(opts) {
|
|
118
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
119
|
+
const client = this.getClient();
|
|
120
|
+
const keplr = this.getProvider();
|
|
121
|
+
return (0, walletConnect_1.fetchWalletConnectCosmosPublicAddress)((0, wallet_book_1.getWalletBookWallet)(this.name), client, keplr, Object.assign(Object.assign({}, opts), { chainId: this.chainId, onConnect: (payload) => {
|
|
122
|
+
var _a;
|
|
123
|
+
payload.params[0].chainId = this.selectedNetworkId;
|
|
124
|
+
(_a = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _a === void 0 ? void 0 : _a.call(opts, payload);
|
|
125
|
+
} }));
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
getBalance() {
|
|
129
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
130
|
+
const address = yield this.fetchPublicAddress();
|
|
131
|
+
if (!address)
|
|
132
|
+
throw new Error('Address not found');
|
|
133
|
+
try {
|
|
134
|
+
const response = yield fetch(`${this.lcdUrl}/cosmos/bank/v1beta1/balances/${address}`).then((res) => res.json());
|
|
135
|
+
const balance = response.balances.reduce((acc, cur) => {
|
|
136
|
+
if (cur.denom === this.denom) {
|
|
137
|
+
return Number(cur.amount) / 1e6;
|
|
138
|
+
}
|
|
139
|
+
return acc;
|
|
140
|
+
}, 0);
|
|
141
|
+
return balance.toString();
|
|
142
|
+
}
|
|
143
|
+
catch (e) {
|
|
144
|
+
logger_1.logger.error(e);
|
|
145
|
+
return '0';
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
connect() {
|
|
150
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
151
|
+
yield this.fetchPublicAddress();
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
endSession() {
|
|
155
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
156
|
+
(0, walletConnect_1.killWalletConnectSession)(this.getClient());
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
getConnectedAccounts() {
|
|
160
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
161
|
+
const address = yield this.fetchPublicAddress({ chainId: this.chainId });
|
|
162
|
+
if (address)
|
|
163
|
+
return [address];
|
|
164
|
+
return [];
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
getDeepLink() {
|
|
168
|
+
var _a;
|
|
169
|
+
const wallet = (0, wallet_book_1.getWalletBookWallet)(this.name);
|
|
170
|
+
if (!(0, isMobile_1.isMobile)() && !((_a = wallet.desktop) === null || _a === void 0 ? void 0 : _a.native)) {
|
|
171
|
+
return undefined;
|
|
172
|
+
}
|
|
173
|
+
return (0, walletConnect_1.getDeepLink)(this.getClient().uri, wallet, {
|
|
174
|
+
removeWCUri: (0, isMobile_1.isIOS)() && (0, normalizeWalletName_1.normalizeWalletName)(this.name) === 'cryptocom',
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
getRpcProvider() {
|
|
178
|
+
throw new Error('Method not implemented.');
|
|
179
|
+
}
|
|
180
|
+
getSigner() {
|
|
181
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
182
|
+
const keplr = this.getProvider();
|
|
183
|
+
return keplr.getOfflineSigner(this.chainId);
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
getWeb3Provider() {
|
|
187
|
+
return this.getProvider();
|
|
188
|
+
}
|
|
189
|
+
isInstalledOnBrowser() {
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
proveOwnership(messageToSign) {
|
|
193
|
+
return this.signMessage(messageToSign);
|
|
194
|
+
}
|
|
195
|
+
setupEventListeners(listeners) {
|
|
196
|
+
return (0, walletConnect_1.setupWalletConnectEventListeners)({
|
|
197
|
+
onAccountChange: listeners.onAccountChange,
|
|
198
|
+
onChainChange: listeners.onChainChange,
|
|
199
|
+
onDisconnect: listeners.onDisconnect,
|
|
200
|
+
}, this.getClient());
|
|
201
|
+
}
|
|
202
|
+
teardownEventListeners() {
|
|
203
|
+
(0, walletConnect_1.teardownWalletConnectEventListeners)(this.getClient());
|
|
204
|
+
}
|
|
205
|
+
supportsNetworkSwitching() {
|
|
206
|
+
return true;
|
|
8
207
|
}
|
|
9
208
|
}
|
|
10
209
|
exports.default = KeplrWalletConnect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keplrWalletConnect.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/cosmos/keplrWalletConnect.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"keplrWalletConnect.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/cosmos/keplrWalletConnect.ts"],"names":[],"mappings":"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"}
|
package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js
CHANGED
|
@@ -35,7 +35,7 @@ class EmailMagicWalletConnector extends MagicWalletConnector_1.MagicWalletConnec
|
|
|
35
35
|
loginWithMagic() {
|
|
36
36
|
var _a;
|
|
37
37
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
const client = this.
|
|
38
|
+
const client = this.getClient();
|
|
39
39
|
const user = yield this.getUserMetadata();
|
|
40
40
|
if (user && user.publicAddress) {
|
|
41
41
|
this.setEmail((user === null || user === void 0 ? void 0 : user.email) || '');
|
|
@@ -46,7 +46,7 @@ class EmailMagicWalletConnector extends MagicWalletConnector_1.MagicWalletConnec
|
|
|
46
46
|
return;
|
|
47
47
|
return client.auth.loginWithMagicLink({
|
|
48
48
|
email,
|
|
49
|
-
redirectURI: (_a = this.
|
|
49
|
+
redirectURI: (_a = this.config) === null || _a === void 0 ? void 0 : _a.redirectURI,
|
|
50
50
|
showUI: false,
|
|
51
51
|
});
|
|
52
52
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailMagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.ts"],"names":[],"mappings":";;;;AAEA,kEAAgF;AAEhF,MAAa,yBACX,SAAQ,2CAAoB;IAD9B;;QAIE,uBAAkB,GAAG,IAAI,CAAC;IA+C5B,CAAC;IA5CC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC9C,CAAC;IAEc,UAAU;;;;;YACvB,MAAM,OAAM,UAAU,WAAE,CAAC;YAEzB,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;KAAA;IAED,mBAAmB;;QACjB,MAAA,IAAI,CAAC,8BAA8B,0CAAE,MAAM,EAAE,CAAC;IAChD,CAAC;IAEK,cAAc;;;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"EmailMagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.ts"],"names":[],"mappings":";;;;AAEA,kEAAgF;AAEhF,MAAa,yBACX,SAAQ,2CAAoB;IAD9B;;QAIE,uBAAkB,GAAG,IAAI,CAAC;IA+C5B,CAAC;IA5CC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC9C,CAAC;IAEc,UAAU;;;;;YACvB,MAAM,OAAM,UAAU,WAAE,CAAC;YAEzB,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;KAAA;IAED,mBAAmB;;QACjB,MAAA,IAAI,CAAC,8BAA8B,0CAAE,MAAM,EAAE,CAAC;IAChD,CAAC;IAEK,cAAc;;;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAEhC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE1C,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,aAAa,CAAC;aAC3B;YAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACpC,KAAK;gBACL,WAAW,EAAE,MAAA,IAAI,CAAC,MAAM,0CAAE,WAAW;gBACrC,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;;KACJ;CACF;AAnDD,8DAmDC"}
|
|
@@ -32,7 +32,7 @@ class EmailOTPMagicWalletConnector extends EmailMagicWalletConnector_1.EmailMagi
|
|
|
32
32
|
loginWithMagic() {
|
|
33
33
|
var _a;
|
|
34
34
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
35
|
-
const client = this.
|
|
35
|
+
const client = this.getClient();
|
|
36
36
|
const user = yield this.getUserMetadata();
|
|
37
37
|
if (user && user.publicAddress) {
|
|
38
38
|
this.setEmail((user === null || user === void 0 ? void 0 : user.email) || '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailOTPMagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.ts"],"names":[],"mappings":";;;;AAIA,qDAAkD;AAClD,4EAAyE;AAOzE,MAAa,4BACX,SAAQ,qDAAyB;IAK3B,qBAAqB,CAAC,GAAW;;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,eAAe,GAAG,IAAI,KAAK,CAC/B,6CAA6C,CAC9C,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC1D;YAED,MAAM,cAAc,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC9D,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC1B,CAAC,EAAE,SAAS,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACvD,MAAM;qBACH,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;qBAC/B,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;qBACtD,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;qBACnB,KAAK,CAAC,MAAM,CAAC;qBACb,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACjD,CAAC;KAAA;IAEc,cAAc;;;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"EmailOTPMagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.ts"],"names":[],"mappings":";;;;AAIA,qDAAkD;AAClD,4EAAyE;AAOzE,MAAa,4BACX,SAAQ,qDAAyB;IAK3B,qBAAqB,CAAC,GAAW;;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,eAAe,GAAG,IAAI,KAAK,CAC/B,6CAA6C,CAC9C,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC1D;YAED,MAAM,cAAc,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC9D,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC1B,CAAC,EAAE,SAAS,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACvD,MAAM;qBACH,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;qBAC/B,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;qBACtD,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;qBACnB,KAAK,CAAC,MAAM,CAAC;qBACb,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACjD,CAAC;KAAA;IAEc,cAAc;;;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAEhC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE1C,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,aAAa,CAAC;aAC3B;YAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE7B,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACZ,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACnB;YAED,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC3C,KAAK;gBACL,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,OAAO,CAAC;;KACrB;CACF;AAhED,oEAgEC"}
|
package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Magic, MagicSDKAdditionalConfiguration, MagicSDKExtensionsOption } from 'magic-sdk';
|
|
2
|
+
import { MagicConnectorProps } from '../MagicWalletConnector';
|
|
3
|
+
import { EvmNetwork } from '../../evm-network';
|
|
4
|
+
export type MagicLinkConfig = Pick<MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>>, 'network' | 'testMode' | 'locale'> & {
|
|
5
|
+
redirectURI?: string;
|
|
6
|
+
};
|
|
7
|
+
export type MagicClientNetworkHandlerProps = Pick<MagicConnectorProps, 'apiKey' | 'config' | 'evmNetworks'>;
|
|
8
|
+
export declare abstract class MagicClientNetworkHandler {
|
|
9
|
+
private _apiKey;
|
|
10
|
+
private _clients;
|
|
11
|
+
private _networkId;
|
|
12
|
+
private _config;
|
|
13
|
+
evmNetworks: EvmNetwork[];
|
|
14
|
+
constructor({ apiKey, evmNetworks, config }: MagicClientNetworkHandlerProps);
|
|
15
|
+
abstract onChainChanged?(networkChainId: number): void;
|
|
16
|
+
selectNetwork(networkChainId: number): Promise<void>;
|
|
17
|
+
get networkId(): number;
|
|
18
|
+
get config(): MagicLinkConfig | undefined;
|
|
19
|
+
getClient(): Magic<MagicSDKExtensionsOption<string>>;
|
|
20
|
+
getConfigForNetwork(networkId: number): MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>> | undefined;
|
|
21
|
+
private get configNetworkId();
|
|
22
|
+
private _getRpcUrlByNetworkId;
|
|
23
|
+
private _getChainIdByNetworkId;
|
|
24
|
+
}
|
package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MagicClientNetworkHandler = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const magic_sdk_1 = require("magic-sdk");
|
|
6
|
+
// these are based off of Magic's EthNetworkName type
|
|
7
|
+
const chainNameToChainIdMap = {
|
|
8
|
+
arbitrum: 42161,
|
|
9
|
+
avalance: 43114,
|
|
10
|
+
bsc: 56,
|
|
11
|
+
gnosis: 100,
|
|
12
|
+
goerli: 5,
|
|
13
|
+
mainnet: 1,
|
|
14
|
+
optimism: 10,
|
|
15
|
+
polygon: 137,
|
|
16
|
+
sepolia: 11155111,
|
|
17
|
+
};
|
|
18
|
+
class MagicClientNetworkHandler {
|
|
19
|
+
constructor({ apiKey, evmNetworks, config }) {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
this._clients = {};
|
|
22
|
+
this.evmNetworks = [];
|
|
23
|
+
this._config = config;
|
|
24
|
+
this._apiKey = apiKey;
|
|
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
|
+
}
|
|
31
|
+
selectNetwork(networkChainId) {
|
|
32
|
+
var _a;
|
|
33
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
this._networkId = networkChainId;
|
|
35
|
+
(_a = this.onChainChanged) === null || _a === void 0 ? void 0 : _a.call(this, networkChainId);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
get networkId() {
|
|
39
|
+
return this._networkId;
|
|
40
|
+
}
|
|
41
|
+
get config() {
|
|
42
|
+
return this._config;
|
|
43
|
+
}
|
|
44
|
+
getClient() {
|
|
45
|
+
const networkId = this._networkId;
|
|
46
|
+
const client = this._clients[networkId];
|
|
47
|
+
if (client) {
|
|
48
|
+
return client;
|
|
49
|
+
}
|
|
50
|
+
const config = this.getConfigForNetwork(networkId);
|
|
51
|
+
const newClient = new magic_sdk_1.Magic(this._apiKey, config);
|
|
52
|
+
this._clients[networkId] = newClient;
|
|
53
|
+
return newClient;
|
|
54
|
+
}
|
|
55
|
+
getConfigForNetwork(networkId) {
|
|
56
|
+
const rpcUrl = this._getRpcUrlByNetworkId(networkId);
|
|
57
|
+
// Should prioritize custom rpc config form dashboard
|
|
58
|
+
if (rpcUrl) {
|
|
59
|
+
return Object.assign(Object.assign({}, this._config), { network: {
|
|
60
|
+
chainId: this._getChainIdByNetworkId(networkId),
|
|
61
|
+
rpcUrl,
|
|
62
|
+
} });
|
|
63
|
+
}
|
|
64
|
+
// Next should return configuration provided through settings
|
|
65
|
+
if (this.configNetworkId === networkId) {
|
|
66
|
+
return this._config;
|
|
67
|
+
}
|
|
68
|
+
if (networkId === 1) {
|
|
69
|
+
return Object.assign(Object.assign({}, this._config), { network: 'mainnet' });
|
|
70
|
+
}
|
|
71
|
+
if (networkId === 5) {
|
|
72
|
+
return Object.assign(Object.assign({}, this._config), { network: 'goerli' });
|
|
73
|
+
}
|
|
74
|
+
return this._config;
|
|
75
|
+
}
|
|
76
|
+
get configNetworkId() {
|
|
77
|
+
var _a, _b, _c;
|
|
78
|
+
if (typeof ((_a = this._config) === null || _a === void 0 ? void 0 : _a.network) !== 'string') {
|
|
79
|
+
return (_c = (_b = this._config) === null || _b === void 0 ? void 0 : _b.network) === null || _c === void 0 ? void 0 : _c.chainId;
|
|
80
|
+
}
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
_getRpcUrlByNetworkId(networkId) {
|
|
84
|
+
var _a;
|
|
85
|
+
const evm = this.evmNetworks.find((evmNetwork) => evmNetwork.networkId === networkId);
|
|
86
|
+
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]);
|
|
87
|
+
}
|
|
88
|
+
_getChainIdByNetworkId(networkId) {
|
|
89
|
+
var _a;
|
|
90
|
+
return (_a = this.evmNetworks.find((evmNetwork) => evmNetwork.networkId === networkId)) === null || _a === void 0 ? void 0 : _a.chainId;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.MagicClientNetworkHandler = MagicClientNetworkHandler;
|
|
94
|
+
//# sourceMappingURL=MagicClientNetworkHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MagicClientNetworkHandler.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MagicClientNetworkHandler = void 0;
|
|
4
|
+
var MagicClientNetworkHandler_1 = require("./MagicClientNetworkHandler");
|
|
5
|
+
Object.defineProperty(exports, "MagicClientNetworkHandler", { enumerable: true, get: function () { return MagicClientNetworkHandler_1.MagicClientNetworkHandler; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.ts"],"names":[],"mappings":";;;AAAA,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { LoginWithMagicLinkEvents,
|
|
1
|
+
import { LoginWithMagicLinkEvents, MagicUserMetadata, PromiEvent } from 'magic-sdk';
|
|
2
2
|
import { ethers } from 'ethers';
|
|
3
3
|
import { Chain, WalletConnector, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
|
|
4
4
|
import { WalletUiUtils } from '../../../../types';
|
|
5
5
|
import { CancellablePromise } from '../../../../utils/CancellablePromise';
|
|
6
|
+
import { MagicLinkConfig, MagicClientNetworkHandler } from '../MagicClientNetworkHandler';
|
|
6
7
|
import { EvmNetwork } from './../../evm-network';
|
|
7
|
-
export type MagicLinkConfig = Pick<MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>>, 'network' | 'testMode' | 'locale'> & {
|
|
8
|
-
redirectURI?: string;
|
|
9
|
-
};
|
|
10
8
|
export type MagicConnectorProps = {
|
|
11
9
|
apiKey: string;
|
|
12
10
|
config?: MagicLinkConfig;
|
|
@@ -18,7 +16,7 @@ export type MagicPromiEvent = PromiEvent<string | null, LoginWithMagicLinkEvents
|
|
|
18
16
|
error: (reason: any) => void;
|
|
19
17
|
settled: () => void;
|
|
20
18
|
}>;
|
|
21
|
-
export declare abstract class MagicWalletConnector implements WalletConnector {
|
|
19
|
+
export declare abstract class MagicWalletConnector extends MagicClientNetworkHandler implements WalletConnector {
|
|
22
20
|
key: string;
|
|
23
21
|
canConnectViaCustodialService: boolean;
|
|
24
22
|
canConnectViaQrCode: boolean;
|
|
@@ -27,16 +25,10 @@ export declare abstract class MagicWalletConnector implements WalletConnector {
|
|
|
27
25
|
isWalletConnect: boolean;
|
|
28
26
|
name: string;
|
|
29
27
|
switchNetworkOnlyFromWallet?: boolean;
|
|
30
|
-
evmNetworks: EvmNetwork[];
|
|
31
28
|
providerResources?: string[];
|
|
32
|
-
_apiKey: string;
|
|
33
|
-
_magicSdk: MagicClient | undefined;
|
|
34
29
|
_walletUiUtils: WalletUiUtils;
|
|
35
|
-
_provider: ethers.providers.Web3Provider | undefined;
|
|
36
|
-
_config: MagicLinkConfig | undefined;
|
|
37
30
|
_listeners: WalletEventListeners | undefined;
|
|
38
31
|
_currentAuthCancellablePromise: CancellablePromise<MagicPromiEvent | undefined> | undefined;
|
|
39
|
-
_networkId: number;
|
|
40
32
|
constructor({ apiKey, walletUiUtils, evmNetworks, config, }: MagicConnectorProps);
|
|
41
33
|
abstract loginWithMagic(): Promise<MagicPromiEvent | undefined>;
|
|
42
34
|
getDeepLink(): string | undefined;
|
|
@@ -53,11 +45,13 @@ export declare abstract class MagicWalletConnector implements WalletConnector {
|
|
|
53
45
|
isInstalledOnBrowser(): boolean;
|
|
54
46
|
proveOwnership(messageToSign: string): Promise<string | undefined>;
|
|
55
47
|
setupEventListeners(listeners: WalletEventListeners): void;
|
|
48
|
+
onChainChanged(networkChainId: number): void;
|
|
56
49
|
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
57
50
|
supportsNetworkSwitching(): boolean;
|
|
58
|
-
switchNetwork(
|
|
51
|
+
switchNetwork({ networkChainId, }: {
|
|
52
|
+
networkChainId?: number;
|
|
53
|
+
}): Promise<void>;
|
|
59
54
|
teardownEventListeners(): void;
|
|
60
|
-
_getClient(): MagicClient<MagicSDKExtensionsOption<string>>;
|
|
61
55
|
_isLoggedIn(): Promise<boolean>;
|
|
62
56
|
_checkIfLoggedIn(): Promise<boolean>;
|
|
63
57
|
}
|
|
@@ -2,29 +2,20 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MagicWalletConnector = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const magic_sdk_1 = require("magic-sdk");
|
|
6
5
|
const ethers_1 = require("ethers");
|
|
7
6
|
const errors_1 = require("../../../../errors");
|
|
8
7
|
const logger_1 = require("../../../../utils/logger");
|
|
9
8
|
const assignConfirmationScreenToProvider_1 = require("../../../../utils/assignConfirmationScreenToProvider");
|
|
10
9
|
const CancellablePromise_1 = require("../../../../utils/CancellablePromise");
|
|
11
|
-
|
|
12
|
-
// which at the time of writing, is a union over mainnet and goerli
|
|
13
|
-
const chainNameToChainIdMap = {
|
|
14
|
-
arbitrum: 42161,
|
|
15
|
-
avalance: 43114,
|
|
16
|
-
bsc: 56,
|
|
17
|
-
gnosis: 100,
|
|
18
|
-
goerli: 5,
|
|
19
|
-
mainnet: 1,
|
|
20
|
-
optimism: 10,
|
|
21
|
-
polygon: 137,
|
|
22
|
-
sepolia: 11155111,
|
|
23
|
-
};
|
|
10
|
+
const MagicClientNetworkHandler_1 = require("../MagicClientNetworkHandler");
|
|
24
11
|
const storedAddressKey = 'dynamic_magic_address';
|
|
25
|
-
class MagicWalletConnector {
|
|
12
|
+
class MagicWalletConnector extends MagicClientNetworkHandler_1.MagicClientNetworkHandler {
|
|
26
13
|
constructor({ apiKey, walletUiUtils, evmNetworks, config, }) {
|
|
27
|
-
|
|
14
|
+
super({
|
|
15
|
+
apiKey,
|
|
16
|
+
config,
|
|
17
|
+
evmNetworks,
|
|
18
|
+
});
|
|
28
19
|
this.key = 'magiclink';
|
|
29
20
|
this.canConnectViaCustodialService = true;
|
|
30
21
|
this.canConnectViaQrCode = false;
|
|
@@ -32,17 +23,8 @@ class MagicWalletConnector {
|
|
|
32
23
|
this.supportedChains = ['ETH', 'EVM'];
|
|
33
24
|
this.isWalletConnect = false;
|
|
34
25
|
this.name = 'Magic Link';
|
|
35
|
-
this.evmNetworks = [];
|
|
36
26
|
this.providerResources = undefined;
|
|
37
|
-
this._magicSdk = undefined;
|
|
38
|
-
this._config = config;
|
|
39
|
-
this._apiKey = apiKey;
|
|
40
27
|
this._walletUiUtils = walletUiUtils;
|
|
41
|
-
this.evmNetworks = evmNetworks;
|
|
42
|
-
this._networkId =
|
|
43
|
-
typeof (config === null || config === void 0 ? void 0 : config.network) === 'string'
|
|
44
|
-
? chainNameToChainIdMap[config.network]
|
|
45
|
-
: (_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;
|
|
46
28
|
}
|
|
47
29
|
getDeepLink() {
|
|
48
30
|
return undefined;
|
|
@@ -55,14 +37,14 @@ class MagicWalletConnector {
|
|
|
55
37
|
endSession() {
|
|
56
38
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
57
39
|
localStorage.removeItem(storedAddressKey);
|
|
58
|
-
const client = this.
|
|
40
|
+
const client = this.getClient();
|
|
59
41
|
yield client.user.logout();
|
|
60
42
|
});
|
|
61
43
|
}
|
|
62
44
|
getUserMetadata() {
|
|
63
45
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
64
46
|
if (yield this._isLoggedIn()) {
|
|
65
|
-
const client = this.
|
|
47
|
+
const client = this.getClient();
|
|
66
48
|
return client.user.getMetadata();
|
|
67
49
|
}
|
|
68
50
|
return undefined;
|
|
@@ -73,7 +55,7 @@ class MagicWalletConnector {
|
|
|
73
55
|
const address = localStorage.getItem(storedAddressKey);
|
|
74
56
|
if (address)
|
|
75
57
|
return address;
|
|
76
|
-
const client = this.
|
|
58
|
+
const client = this.getClient();
|
|
77
59
|
try {
|
|
78
60
|
try {
|
|
79
61
|
this._currentAuthCancellablePromise = CancellablePromise_1.CancellablePromise.fromPromise(this.loginWithMagic());
|
|
@@ -118,7 +100,7 @@ class MagicWalletConnector {
|
|
|
118
100
|
}
|
|
119
101
|
getNetwork() {
|
|
120
102
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
121
|
-
return this.
|
|
103
|
+
return this.networkId;
|
|
122
104
|
});
|
|
123
105
|
}
|
|
124
106
|
getRpcProvider() {
|
|
@@ -134,14 +116,10 @@ class MagicWalletConnector {
|
|
|
134
116
|
}
|
|
135
117
|
getWeb3Provider() {
|
|
136
118
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
137
|
-
|
|
138
|
-
return this._provider;
|
|
139
|
-
}
|
|
140
|
-
const client = this._getClient();
|
|
119
|
+
const client = this.getClient();
|
|
141
120
|
const provider = new ethers_1.ethers.providers.Web3Provider(client.rpcProvider);
|
|
142
121
|
(0, assignConfirmationScreenToProvider_1.assignConfirmationScreenToProvider)(provider, this._walletUiUtils);
|
|
143
|
-
|
|
144
|
-
return this._provider;
|
|
122
|
+
return provider;
|
|
145
123
|
});
|
|
146
124
|
}
|
|
147
125
|
isInstalledOnBrowser() {
|
|
@@ -154,6 +132,10 @@ class MagicWalletConnector {
|
|
|
154
132
|
this._listeners = listeners;
|
|
155
133
|
this._checkIfLoggedIn();
|
|
156
134
|
}
|
|
135
|
+
onChainChanged(networkChainId) {
|
|
136
|
+
var _a, _b;
|
|
137
|
+
(_b = (_a = this._listeners) === null || _a === void 0 ? void 0 : _a.onChainChange) === null || _b === void 0 ? void 0 : _b.call(_a, networkChainId.toString());
|
|
138
|
+
}
|
|
157
139
|
signMessage(messageToSign) {
|
|
158
140
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
159
141
|
const provider = yield this.getWeb3Provider();
|
|
@@ -161,23 +143,22 @@ class MagicWalletConnector {
|
|
|
161
143
|
});
|
|
162
144
|
}
|
|
163
145
|
supportsNetworkSwitching() {
|
|
164
|
-
return
|
|
146
|
+
return true;
|
|
165
147
|
}
|
|
166
|
-
switchNetwork() {
|
|
167
|
-
|
|
148
|
+
switchNetwork({ networkChainId, }) {
|
|
149
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
150
|
+
if (!networkChainId) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
this.selectNetwork(networkChainId);
|
|
154
|
+
});
|
|
168
155
|
}
|
|
169
156
|
teardownEventListeners() {
|
|
170
157
|
this._listeners = undefined;
|
|
171
158
|
}
|
|
172
|
-
_getClient() {
|
|
173
|
-
if (!this._magicSdk) {
|
|
174
|
-
this._magicSdk = new magic_sdk_1.Magic(this._apiKey, this._config);
|
|
175
|
-
}
|
|
176
|
-
return this._magicSdk;
|
|
177
|
-
}
|
|
178
159
|
_isLoggedIn() {
|
|
179
160
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
180
|
-
const client = this.
|
|
161
|
+
const client = this.getClient();
|
|
181
162
|
return client.user.isLoggedIn();
|
|
182
163
|
});
|
|
183
164
|
}
|
package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"MagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { MagicWalletConnector } from './MagicWalletConnector';
|
|
2
|
-
export type { MagicConnectorProps,
|
|
2
|
+
export type { MagicConnectorProps, MagicPromiEvent, } from './MagicWalletConnector';
|
|
@@ -4,4 +4,5 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
tslib_1.__exportStar(require("./EmailMagicWalletConnector"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./MagicWalletConnector"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./EmailOTPMagicWalletConnector"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./MagicClientNetworkHandler"), exports);
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/index.ts"],"names":[],"mappings":";;;AAAA,sEAA4C;AAC5C,iEAAuC;AACvC,yEAA+C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/index.ts"],"names":[],"mappings":";;;AAAA,sEAA4C;AAC5C,iEAAuC;AACvC,yEAA+C;AAC/C,sEAA4C"}
|
|
@@ -12,6 +12,7 @@ declare class WalletConnect extends EthProvider implements WalletConnector {
|
|
|
12
12
|
isWalletConnect: boolean;
|
|
13
13
|
switchNetworkOnlyFromWallet: boolean;
|
|
14
14
|
client?: Client;
|
|
15
|
+
clientOptions?: any;
|
|
15
16
|
constructor({ walletName, evmNetworks, }: {
|
|
16
17
|
evmNetworks: EvmNetwork[];
|
|
17
18
|
walletName: string;
|
|
@@ -28,7 +28,7 @@ class WalletConnect extends ethProvider_1.EthProvider {
|
|
|
28
28
|
if (this.client) {
|
|
29
29
|
return this.client;
|
|
30
30
|
}
|
|
31
|
-
this.client = (0, walletConnect_1.initClient)((0, normalizeWalletName_1.normalizeWalletName)(this.name));
|
|
31
|
+
this.client = (0, walletConnect_1.initClient)((0, normalizeWalletName_1.normalizeWalletName)(this.name), this.clientOptions);
|
|
32
32
|
return this.client;
|
|
33
33
|
}
|
|
34
34
|
supportsNetworkSwitching() {
|
|
@@ -70,7 +70,7 @@ class WalletConnect extends ethProvider_1.EthProvider {
|
|
|
70
70
|
}
|
|
71
71
|
fetchPublicAddress(opts) {
|
|
72
72
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
73
|
-
return (0, walletConnect_1.
|
|
73
|
+
return (0, walletConnect_1.fetchWalletConnectEVMPublicAddress)((0, wallet_book_1.getWalletBookWallet)(this.name), this.getClient(), Object.assign(Object.assign({}, opts), { onConnect: (payload) => {
|
|
74
74
|
var _a;
|
|
75
75
|
(_a = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _a === void 0 ? void 0 : _a.call(opts, payload);
|
|
76
76
|
this.connectedChain = payload.params[0].chainId ? 'EVM' : 'SOL';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walletConnect.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/walletConnect/walletConnect.ts"],"names":[],"mappings":";;;AACA,iGAAqE;AACrE,mCAAgC;AAQhC,2DAAgE;AAEhE,4CAAwC;AACxC,yDAAsD;AAEtD,4DAQkC;AAClC,mDAAuD;AACvD,yEAAsE;AACtE,yCAA4C;AAC5C,MAAM,aAAc,SAAQ,yBAAW;
|
|
1
|
+
{"version":3,"file":"walletConnect.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/walletConnect/walletConnect.ts"],"names":[],"mappings":"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"}
|