@dynamic-labs/multi-wallet 0.17.0-RC.0 → 0.17.0-RC.1
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 +23 -0
- package/package.json +3 -3
- package/src/index.cjs +2 -2
- package/src/index.d.ts +1 -1
- package/src/index.js +1 -1
- package/src/multi-wallet.cjs +5 -8
- package/src/multi-wallet.js +5 -8
- package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.d.ts +2 -2
- package/src/utils/isEmailWalletConnector/isEmailWalletConnector.d.ts +2 -2
- package/src/utils/message.cjs +1 -1
- package/src/utils/message.js +1 -1
- package/src/utils/walletConnect.cjs +1 -1
- package/src/wallets/algorand/{myalgo.cjs → MyAlgoWalletConnector.cjs} +4 -42
- package/src/wallets/algorand/MyAlgoWalletConnector.d.ts +21 -0
- package/src/wallets/algorand/{myalgo.js → MyAlgoWalletConnector.js} +4 -42
- package/src/wallets/clients/coinbase/coinbase.cjs +2 -6
- package/src/wallets/clients/coinbase/coinbase.js +1 -1
- package/src/wallets/cosmos/{keplrWalletConnect.cjs → KeplrWalletConnect.cjs} +9 -25
- package/src/wallets/cosmos/{keplrWalletConnect.d.ts → KeplrWalletConnect.d.ts} +6 -14
- package/src/wallets/cosmos/{keplrWalletConnect.js → KeplrWalletConnect.js} +9 -25
- package/src/wallets/cosmos/{keplr.cjs → KeplrWalletConnector.cjs} +5 -17
- package/src/wallets/cosmos/{keplr.d.ts → KeplrWalletConnector.d.ts} +5 -13
- package/src/wallets/cosmos/{keplr.js → KeplrWalletConnector.js} +5 -17
- package/src/wallets/cosmos/getKeplrConnector.cjs +6 -6
- package/src/wallets/cosmos/getKeplrConnector.d.ts +3 -3
- package/src/wallets/cosmos/getKeplrConnector.js +3 -3
- package/src/wallets/cosmos/index.d.ts +1 -1
- package/src/wallets/ethereum/BloctoEvm.cjs +2 -31
- package/src/wallets/ethereum/BloctoEvm.d.ts +4 -13
- package/src/wallets/ethereum/BloctoEvm.js +2 -31
- package/src/wallets/ethereum/{ethProvider.cjs → EthWalletConnector.cjs} +38 -18
- package/src/wallets/ethereum/{ethProvider.d.ts → EthWalletConnector.d.ts} +4 -4
- package/src/wallets/ethereum/{ethProvider.js → EthWalletConnector.js} +38 -18
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +9 -4
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +5 -5
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +9 -4
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +1 -1
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.d.ts +2 -2
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +1 -1
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +1 -2
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +2 -3
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +1 -2
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -1
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -1
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +6 -13
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +3 -10
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +6 -13
- package/src/wallets/ethereum/coinbase.cjs +2 -18
- package/src/wallets/ethereum/coinbase.d.ts +3 -8
- package/src/wallets/ethereum/coinbase.js +2 -18
- package/src/wallets/ethereum/ethProviderHelper.cjs +16 -9
- package/src/wallets/ethereum/ethProviderHelper.js +16 -9
- package/src/wallets/ethereum/fortmatic.cjs +2 -25
- package/src/wallets/ethereum/fortmatic.d.ts +3 -11
- package/src/wallets/ethereum/fortmatic.js +2 -25
- package/src/wallets/ethereum/meta-mask.cjs +2 -9
- package/src/wallets/ethereum/meta-mask.d.ts +3 -7
- package/src/wallets/ethereum/meta-mask.js +2 -9
- package/src/wallets/flow/{flow-provider.cjs → FlowWalletConnector.cjs} +6 -33
- package/src/wallets/flow/{flow-provider.d.ts → FlowWalletConnector.d.ts} +4 -11
- package/src/wallets/flow/{flow-provider.js → FlowWalletConnector.js} +6 -33
- package/src/wallets/flow/blocto.cjs +2 -10
- package/src/wallets/flow/blocto.d.ts +2 -8
- package/src/wallets/flow/blocto.js +2 -10
- package/src/wallets/flow/dapper.cjs +2 -10
- package/src/wallets/flow/dapper.d.ts +2 -8
- package/src/wallets/flow/dapper.js +2 -10
- package/src/wallets/flow/lilico.cjs +2 -11
- package/src/wallets/flow/lilico.d.ts +2 -9
- package/src/wallets/flow/lilico.js +2 -11
- package/src/wallets/getMobileOrInjectedWallet.cjs +1 -1
- package/src/wallets/getMobileOrInjectedWallet.d.ts +1 -3
- package/src/wallets/getWalletConnectConnector.cjs +3 -2
- package/src/wallets/getWalletConnectConnector.d.ts +2 -1
- package/src/wallets/getWalletConnectConnector.js +2 -1
- package/src/wallets/solana/CoinbaseSolana.cjs +2 -25
- package/src/wallets/solana/CoinbaseSolana.d.ts +3 -12
- package/src/wallets/solana/CoinbaseSolana.js +2 -25
- package/src/wallets/solana/glow.cjs +2 -25
- package/src/wallets/solana/glow.d.ts +3 -12
- package/src/wallets/solana/glow.js +2 -25
- package/src/wallets/solana/phantom.cjs +2 -25
- package/src/wallets/solana/phantom.d.ts +3 -12
- package/src/wallets/solana/phantom.js +2 -25
- package/src/wallets/solana/slope.cjs +2 -31
- package/src/wallets/solana/slope.d.ts +2 -14
- package/src/wallets/solana/slope.js +2 -31
- package/src/wallets/solana/{solProvider.cjs → solWalletConnector.cjs} +6 -11
- package/src/wallets/solana/{solProvider.d.ts → solWalletConnector.d.ts} +4 -4
- package/src/wallets/solana/{solProvider.js → solWalletConnector.js} +6 -11
- package/src/wallets/solana/solflare.cjs +2 -31
- package/src/wallets/solana/solflare.d.ts +2 -14
- package/src/wallets/solana/solflare.js +2 -31
- package/src/wallets/starknet/argentx.cjs +2 -2
- package/src/wallets/starknet/argentx.d.ts +1 -1
- package/src/wallets/starknet/argentx.js +2 -2
- package/src/wallets/starknet/braavos.cjs +2 -2
- package/src/wallets/starknet/braavos.d.ts +1 -1
- package/src/wallets/starknet/braavos.js +2 -2
- package/src/wallets/starknet/{starknetProvider.cjs → starknetWalletConnector.cjs} +4 -34
- package/src/wallets/starknet/{starknetProvider.d.ts → starknetWalletConnector.d.ts} +3 -14
- package/src/wallets/starknet/{starknetProvider.js → starknetWalletConnector.js} +4 -34
- package/src/wallets/walletConnect/walletConnect.cjs +2 -19
- package/src/wallets/walletConnect/walletConnect.d.ts +3 -8
- package/src/wallets/walletConnect/walletConnect.js +2 -19
- package/src/wallets/walletConnect/walletConnectV2.cjs +69 -83
- package/src/wallets/walletConnect/walletConnectV2.d.ts +10 -12
- package/src/wallets/walletConnect/walletConnectV2.js +69 -80
- package/src/wallets/algorand/myalgo.d.ts +0 -36
- package/src/wallets/initializeWalletProviders.cjs +0 -14
- package/src/wallets/initializeWalletProviders.d.ts +0 -6
- package/src/wallets/initializeWalletProviders.js +0 -10
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { __awaiter } from 'tslib';
|
|
2
|
+
import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
2
3
|
import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
|
|
3
4
|
import { initClient, fetchWalletConnectCosmosPublicAddress, killWalletConnectSession, getDeepLink, setupWalletConnectEventListeners, teardownWalletConnectEventListeners } from '../clients/walletConnect/walletConnect.js';
|
|
4
5
|
import { isMobile, isIOS } from '../../utils/isMobile.js';
|
|
5
6
|
import { logger } from '../../utils/logger.js';
|
|
6
|
-
import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
|
|
7
7
|
import { KeplrWalletConnectV1 } from './wcClient.js';
|
|
8
8
|
|
|
9
9
|
const DYNAMIC_KEPLR_NETWORK_ID = 'dynamic_keplr_wc_network_id';
|
|
10
|
-
class KeplrWalletConnect {
|
|
10
|
+
class KeplrWalletConnect extends WalletConnectorBase {
|
|
11
11
|
constructor({ evmNetworks }) {
|
|
12
12
|
var _a;
|
|
13
|
-
|
|
13
|
+
super();
|
|
14
14
|
this.name = 'Keplr';
|
|
15
15
|
this.isWalletConnect = true;
|
|
16
|
-
this.
|
|
16
|
+
this.canConnectViaQrCode = true;
|
|
17
17
|
this.clientOptions = {
|
|
18
18
|
signingMethods: [
|
|
19
19
|
'keplr_enable_wallet_connect_v1',
|
|
@@ -27,8 +27,6 @@ class KeplrWalletConnect {
|
|
|
27
27
|
};
|
|
28
28
|
this.supportedChains = ['COSMOS'];
|
|
29
29
|
this.connectedChain = 'COSMOS';
|
|
30
|
-
this.canConnectViaCustodialService = false;
|
|
31
|
-
this.canConnectViaQrCode = true;
|
|
32
30
|
this.evmNetworks = evmNetworks;
|
|
33
31
|
const persistedNetworkId = localStorage.getItem(DYNAMIC_KEPLR_NETWORK_ID);
|
|
34
32
|
if (persistedNetworkId) {
|
|
@@ -38,9 +36,6 @@ class KeplrWalletConnect {
|
|
|
38
36
|
this.selectedNetworkId = ((_a = evmNetworks[0]) === null || _a === void 0 ? void 0 : _a.chainId) || 401;
|
|
39
37
|
}
|
|
40
38
|
}
|
|
41
|
-
get key() {
|
|
42
|
-
return normalizeWalletName(this.name);
|
|
43
|
-
}
|
|
44
39
|
get evmNetwork() {
|
|
45
40
|
var _a;
|
|
46
41
|
return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => network.chainId === this.selectedNetworkId);
|
|
@@ -64,8 +59,8 @@ class KeplrWalletConnect {
|
|
|
64
59
|
return this.chainIdMap[this.selectedNetwork.chainId];
|
|
65
60
|
}
|
|
66
61
|
getProvider() {
|
|
67
|
-
if (
|
|
68
|
-
this._keplrInstance = new KeplrWalletConnectV1(this.
|
|
62
|
+
if (!this._keplrInstance) {
|
|
63
|
+
this._keplrInstance = new KeplrWalletConnectV1(this.getClient());
|
|
69
64
|
}
|
|
70
65
|
return this._keplrInstance;
|
|
71
66
|
}
|
|
@@ -73,13 +68,13 @@ class KeplrWalletConnect {
|
|
|
73
68
|
if (this.client) {
|
|
74
69
|
return this.client;
|
|
75
70
|
}
|
|
76
|
-
this.client = initClient(
|
|
71
|
+
this.client = initClient(this.key, this.clientOptions);
|
|
77
72
|
return this.client;
|
|
78
73
|
}
|
|
79
74
|
getNetwork() {
|
|
80
75
|
return Promise.resolve(this.selectedNetworkId);
|
|
81
76
|
}
|
|
82
|
-
switchNetwork({ networkChainId }) {
|
|
77
|
+
switchNetwork({ networkChainId, }) {
|
|
83
78
|
return __awaiter(this, void 0, void 0, function* () {
|
|
84
79
|
if (!networkChainId)
|
|
85
80
|
return;
|
|
@@ -146,11 +141,6 @@ class KeplrWalletConnect {
|
|
|
146
141
|
}
|
|
147
142
|
});
|
|
148
143
|
}
|
|
149
|
-
connect() {
|
|
150
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
-
yield this.fetchPublicAddress();
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
144
|
endSession() {
|
|
155
145
|
return __awaiter(this, void 0, void 0, function* () {
|
|
156
146
|
killWalletConnectSession(this.getClient());
|
|
@@ -171,7 +161,7 @@ class KeplrWalletConnect {
|
|
|
171
161
|
return undefined;
|
|
172
162
|
}
|
|
173
163
|
return getDeepLink(this.getClient().uri, wallet, {
|
|
174
|
-
removeWCUri: isIOS() &&
|
|
164
|
+
removeWCUri: isIOS() && this.key === 'cryptocom',
|
|
175
165
|
});
|
|
176
166
|
}
|
|
177
167
|
getRpcProvider() {
|
|
@@ -186,12 +176,6 @@ class KeplrWalletConnect {
|
|
|
186
176
|
getWeb3Provider() {
|
|
187
177
|
return this.getProvider();
|
|
188
178
|
}
|
|
189
|
-
isInstalledOnBrowser() {
|
|
190
|
-
return false;
|
|
191
|
-
}
|
|
192
|
-
proveOwnership(messageToSign) {
|
|
193
|
-
return this.signMessage(messageToSign);
|
|
194
|
-
}
|
|
195
179
|
setupEventListeners(listeners) {
|
|
196
180
|
return setupWalletConnectEventListeners({
|
|
197
181
|
onAccountChange: listeners.onAccountChange,
|
|
@@ -3,20 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var tslib = require('tslib');
|
|
6
|
+
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
6
7
|
var logger = require('../../utils/logger.cjs');
|
|
7
|
-
var normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
|
|
8
8
|
|
|
9
9
|
const DYNAMIC_KEPLR_NETWORK_ID = 'dynamic_keplr_network_id';
|
|
10
|
-
class
|
|
11
|
-
get key() {
|
|
12
|
-
return normalizeWalletName.normalizeWalletName(this.name);
|
|
13
|
-
}
|
|
10
|
+
class KeplrWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
14
11
|
constructor({ evmNetworks }) {
|
|
15
|
-
|
|
16
|
-
this.canConnectViaCustodialService = false;
|
|
17
|
-
this.canConnectViaQrCode = false;
|
|
12
|
+
super();
|
|
18
13
|
this.switchNetworkOnlyFromWallet = true;
|
|
19
|
-
this.isWalletConnect = false;
|
|
20
14
|
this.selectedNetworkId = 401;
|
|
21
15
|
this.name = 'Keplr';
|
|
22
16
|
this.connectedChain = 'COSMOS';
|
|
@@ -33,9 +27,6 @@ class Keplr {
|
|
|
33
27
|
this.selectedNetworkId = Number(persistedNetworkId);
|
|
34
28
|
}
|
|
35
29
|
}
|
|
36
|
-
getRpcProvider() {
|
|
37
|
-
throw new Error('Method not implemented.');
|
|
38
|
-
}
|
|
39
30
|
getWeb3Provider() {
|
|
40
31
|
return this.keplr;
|
|
41
32
|
}
|
|
@@ -130,9 +121,6 @@ class Keplr {
|
|
|
130
121
|
// @ts-ignore window.keplr is provided by extension
|
|
131
122
|
return typeof window.keplr !== 'undefined';
|
|
132
123
|
}
|
|
133
|
-
proveOwnership(messageToSign) {
|
|
134
|
-
return this.signMessage(messageToSign);
|
|
135
|
-
}
|
|
136
124
|
_handleAccountChange() {
|
|
137
125
|
var _a, _b;
|
|
138
126
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -192,7 +180,7 @@ class Keplr {
|
|
|
192
180
|
}
|
|
193
181
|
});
|
|
194
182
|
}
|
|
195
|
-
switchNetwork({ networkChainId }) {
|
|
183
|
+
switchNetwork({ networkChainId, }) {
|
|
196
184
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
197
185
|
if (!networkChainId)
|
|
198
186
|
return;
|
|
@@ -202,4 +190,4 @@ class Keplr {
|
|
|
202
190
|
}
|
|
203
191
|
}
|
|
204
192
|
|
|
205
|
-
exports.
|
|
193
|
+
exports.KeplrWalletConnector = KeplrWalletConnector;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Keplr as KeplrWallet } from '@keplr-wallet/types';
|
|
2
|
-
import { Chain,
|
|
3
|
-
import { SwitchNetworkOps } from '../ethereum/
|
|
2
|
+
import { Chain, WalletConnectorBase, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
+
import { SwitchNetworkOps } from '../ethereum/EthWalletConnector';
|
|
4
4
|
import { EvmNetwork } from '../ethereum/evm-network';
|
|
5
5
|
export interface IFetchBalanceResponse {
|
|
6
6
|
balances: IFetchBalanceBalance[];
|
|
@@ -14,24 +14,17 @@ export interface IFetchBalancePagination {
|
|
|
14
14
|
next_key: any;
|
|
15
15
|
total: string;
|
|
16
16
|
}
|
|
17
|
-
export declare class
|
|
17
|
+
export declare class KeplrWalletConnector extends WalletConnectorBase {
|
|
18
18
|
evmNetworks: EvmNetwork[];
|
|
19
|
-
canConnectViaSocial: boolean;
|
|
20
|
-
canConnectViaCustodialService: boolean;
|
|
21
|
-
canConnectViaQrCode: boolean;
|
|
22
19
|
switchNetworkOnlyFromWallet: boolean;
|
|
23
|
-
isWalletConnect: boolean;
|
|
24
20
|
selectedNetworkId: number;
|
|
25
21
|
name: string;
|
|
26
22
|
connectedChain: Chain;
|
|
27
23
|
supportedChains: Chain[];
|
|
28
|
-
get key(): string;
|
|
29
24
|
chainIdMap: Record<number, string>;
|
|
30
25
|
constructor({ evmNetworks }: {
|
|
31
26
|
evmNetworks: EvmNetwork[];
|
|
32
27
|
});
|
|
33
|
-
providerResources: string[] | undefined;
|
|
34
|
-
getRpcProvider(): Promise<unknown>;
|
|
35
28
|
getWeb3Provider(): KeplrWallet;
|
|
36
29
|
getDeepLink(): string | undefined;
|
|
37
30
|
get selectedNetwork(): EvmNetwork | undefined;
|
|
@@ -42,7 +35,7 @@ export declare class Keplr implements WalletConnector {
|
|
|
42
35
|
get symbol(): string | undefined;
|
|
43
36
|
protected getAccount(): Promise<import("@keplr-wallet/types").AccountData>;
|
|
44
37
|
get keplr(): KeplrWallet;
|
|
45
|
-
endSession
|
|
38
|
+
endSession(): Promise<void>;
|
|
46
39
|
connect(): Promise<void>;
|
|
47
40
|
fetchPublicAddress(): Promise<string>;
|
|
48
41
|
getBalance(): Promise<string | undefined>;
|
|
@@ -50,7 +43,6 @@ export declare class Keplr implements WalletConnector {
|
|
|
50
43
|
getNetwork(): Promise<number>;
|
|
51
44
|
getSigner(): Promise<import("@keplr-wallet/types").OfflineAminoSigner & import("@keplr-wallet/types").OfflineDirectSigner>;
|
|
52
45
|
isInstalledOnBrowser(): boolean;
|
|
53
|
-
proveOwnership(messageToSign: string): Promise<string | undefined>;
|
|
54
46
|
protected _listeners?: WalletEventListeners;
|
|
55
47
|
_handleAccountChange(): Promise<void>;
|
|
56
48
|
setupEventListeners(listeners: WalletEventListeners): void;
|
|
@@ -74,5 +66,5 @@ export declare class Keplr implements WalletConnector {
|
|
|
74
66
|
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
75
67
|
supportsNetworkSwitching(): boolean;
|
|
76
68
|
fetchBalance(address: string): Promise<string>;
|
|
77
|
-
switchNetwork({ networkChainId }: SwitchNetworkOps): Promise<void>;
|
|
69
|
+
switchNetwork({ networkChainId, }: SwitchNetworkOps): Promise<void>;
|
|
78
70
|
}
|
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
import { __awaiter } from 'tslib';
|
|
2
|
+
import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
2
3
|
import { logger } from '../../utils/logger.js';
|
|
3
|
-
import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
|
|
4
4
|
|
|
5
5
|
const DYNAMIC_KEPLR_NETWORK_ID = 'dynamic_keplr_network_id';
|
|
6
|
-
class
|
|
7
|
-
get key() {
|
|
8
|
-
return normalizeWalletName(this.name);
|
|
9
|
-
}
|
|
6
|
+
class KeplrWalletConnector extends WalletConnectorBase {
|
|
10
7
|
constructor({ evmNetworks }) {
|
|
11
|
-
|
|
12
|
-
this.canConnectViaCustodialService = false;
|
|
13
|
-
this.canConnectViaQrCode = false;
|
|
8
|
+
super();
|
|
14
9
|
this.switchNetworkOnlyFromWallet = true;
|
|
15
|
-
this.isWalletConnect = false;
|
|
16
10
|
this.selectedNetworkId = 401;
|
|
17
11
|
this.name = 'Keplr';
|
|
18
12
|
this.connectedChain = 'COSMOS';
|
|
@@ -29,9 +23,6 @@ class Keplr {
|
|
|
29
23
|
this.selectedNetworkId = Number(persistedNetworkId);
|
|
30
24
|
}
|
|
31
25
|
}
|
|
32
|
-
getRpcProvider() {
|
|
33
|
-
throw new Error('Method not implemented.');
|
|
34
|
-
}
|
|
35
26
|
getWeb3Provider() {
|
|
36
27
|
return this.keplr;
|
|
37
28
|
}
|
|
@@ -126,9 +117,6 @@ class Keplr {
|
|
|
126
117
|
// @ts-ignore window.keplr is provided by extension
|
|
127
118
|
return typeof window.keplr !== 'undefined';
|
|
128
119
|
}
|
|
129
|
-
proveOwnership(messageToSign) {
|
|
130
|
-
return this.signMessage(messageToSign);
|
|
131
|
-
}
|
|
132
120
|
_handleAccountChange() {
|
|
133
121
|
var _a, _b;
|
|
134
122
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -188,7 +176,7 @@ class Keplr {
|
|
|
188
176
|
}
|
|
189
177
|
});
|
|
190
178
|
}
|
|
191
|
-
switchNetwork({ networkChainId }) {
|
|
179
|
+
switchNetwork({ networkChainId, }) {
|
|
192
180
|
return __awaiter(this, void 0, void 0, function* () {
|
|
193
181
|
if (!networkChainId)
|
|
194
182
|
return;
|
|
@@ -198,4 +186,4 @@ class Keplr {
|
|
|
198
186
|
}
|
|
199
187
|
}
|
|
200
188
|
|
|
201
|
-
export {
|
|
189
|
+
export { KeplrWalletConnector };
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
var
|
|
5
|
+
var KeplrWalletConnector = require('./KeplrWalletConnector.cjs');
|
|
6
|
+
var KeplrWalletConnect = require('./KeplrWalletConnect.cjs');
|
|
7
7
|
|
|
8
8
|
const getKeplerConnector = ({ evmNetworks, }) => {
|
|
9
|
-
const keplr
|
|
10
|
-
if (keplr
|
|
11
|
-
return keplr
|
|
9
|
+
const keplr = new KeplrWalletConnector.KeplrWalletConnector({ evmNetworks });
|
|
10
|
+
if (keplr.isInstalledOnBrowser()) {
|
|
11
|
+
return keplr;
|
|
12
12
|
}
|
|
13
13
|
else {
|
|
14
|
-
return new
|
|
14
|
+
return new KeplrWalletConnect({ evmNetworks });
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EvmNetwork } from '../ethereum/evm-network';
|
|
2
|
-
import {
|
|
3
|
-
import KeplrWalletConnect from './
|
|
2
|
+
import { KeplrWalletConnector } from './KeplrWalletConnector';
|
|
3
|
+
import KeplrWalletConnect from './KeplrWalletConnect';
|
|
4
4
|
export declare const getKeplerConnector: ({ evmNetworks, }: {
|
|
5
5
|
evmNetworks: EvmNetwork[];
|
|
6
|
-
}) =>
|
|
6
|
+
}) => KeplrWalletConnector | KeplrWalletConnect;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import KeplrWalletConnect from './
|
|
1
|
+
import { KeplrWalletConnector } from './KeplrWalletConnector.js';
|
|
2
|
+
import KeplrWalletConnect from './KeplrWalletConnect.js';
|
|
3
3
|
|
|
4
4
|
const getKeplerConnector = ({ evmNetworks, }) => {
|
|
5
|
-
const keplr = new
|
|
5
|
+
const keplr = new KeplrWalletConnector({ evmNetworks });
|
|
6
6
|
if (keplr.isInstalledOnBrowser()) {
|
|
7
7
|
return keplr;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { KeplrWalletConnector } from './KeplrWalletConnector';
|
|
@@ -3,16 +3,15 @@
|
|
|
3
3
|
var tslib = require('tslib');
|
|
4
4
|
var BloctoSDK = require('@blocto/sdk');
|
|
5
5
|
var ethers = require('ethers');
|
|
6
|
-
var normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
|
|
7
6
|
var logger = require('../../utils/logger.cjs');
|
|
8
|
-
var
|
|
7
|
+
var EthWalletConnector = require('./EthWalletConnector.cjs');
|
|
9
8
|
var ethProviderHelper = require('./ethProviderHelper.cjs');
|
|
10
9
|
|
|
11
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
11
|
|
|
13
12
|
var BloctoSDK__default = /*#__PURE__*/_interopDefaultLegacy(BloctoSDK);
|
|
14
13
|
|
|
15
|
-
class BloctoEvm extends
|
|
14
|
+
class BloctoEvm extends EthWalletConnector.EthWalletConnector {
|
|
16
15
|
constructor({ evmNetworks }) {
|
|
17
16
|
var _a, _b;
|
|
18
17
|
// Taken from : https://docs.blocto.app/blocto-sdk/javascript-sdk/evm-sdk/provider
|
|
@@ -21,9 +20,7 @@ class BloctoEvm extends ethProvider.EthProvider {
|
|
|
21
20
|
super({ evmNetworks: bloctoSupportedNetworks });
|
|
22
21
|
this.LOCAL_STORAGE_KEY = 'dynamic_blocto_evm_chain_id';
|
|
23
22
|
this.name = 'bloctoevm';
|
|
24
|
-
this.canConnectViaQrCode = false;
|
|
25
23
|
this.canConnectViaCustodialService = true;
|
|
26
|
-
this.isWalletConnect = false;
|
|
27
24
|
this.connectedChain = 'EVM';
|
|
28
25
|
this.supportedChains = ['EVM', 'ETH'];
|
|
29
26
|
this.ethProviderHelper = new ethProviderHelper.EthProviderHelper();
|
|
@@ -33,9 +30,6 @@ class BloctoEvm extends ethProvider.EthProvider {
|
|
|
33
30
|
((_a = bloctoSupportedNetworks.find((n) => n.chainId === 137)) === null || _a === void 0 ? void 0 : _a.chainId) ||
|
|
34
31
|
((_b = bloctoSupportedNetworks[0]) === null || _b === void 0 ? void 0 : _b.chainId);
|
|
35
32
|
}
|
|
36
|
-
get key() {
|
|
37
|
-
return normalizeWalletName.normalizeWalletName(this.name);
|
|
38
|
-
}
|
|
39
33
|
getClient() {
|
|
40
34
|
if (!this.client) {
|
|
41
35
|
const network = this.evmNetworks.find((n) => n.chainId === this.chainId);
|
|
@@ -87,17 +81,6 @@ class BloctoEvm extends ethProvider.EthProvider {
|
|
|
87
81
|
}
|
|
88
82
|
});
|
|
89
83
|
}
|
|
90
|
-
connect() {
|
|
91
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
92
|
-
yield this.fetchPublicAddress();
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
isInstalledOnBrowser() {
|
|
96
|
-
return false;
|
|
97
|
-
}
|
|
98
|
-
proveOwnership(messageToSign) {
|
|
99
|
-
return this.signMessage(messageToSign);
|
|
100
|
-
}
|
|
101
84
|
signMessage(messageToSign) {
|
|
102
85
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
103
86
|
try {
|
|
@@ -123,18 +106,6 @@ class BloctoEvm extends ethProvider.EthProvider {
|
|
|
123
106
|
}
|
|
124
107
|
});
|
|
125
108
|
}
|
|
126
|
-
// *********************
|
|
127
|
-
// Unimplemented methods
|
|
128
|
-
// *********************
|
|
129
|
-
switchNetwork() {
|
|
130
|
-
return Promise.resolve();
|
|
131
|
-
}
|
|
132
|
-
setupEventListeners() {
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
teardownEventListeners() {
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
138
109
|
}
|
|
139
110
|
|
|
140
111
|
module.exports = BloctoEvm;
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
|
-
import { Chain
|
|
2
|
+
import { Chain } from '@dynamic-labs/wallet-connector-core';
|
|
3
3
|
import { EvmNetwork } from './evm-network';
|
|
4
|
-
import {
|
|
4
|
+
import { EthWalletConnector } from './EthWalletConnector';
|
|
5
5
|
import { EthProviderHelper } from './ethProviderHelper';
|
|
6
|
-
declare class BloctoEvm extends
|
|
6
|
+
declare class BloctoEvm extends EthWalletConnector {
|
|
7
7
|
LOCAL_STORAGE_KEY: string;
|
|
8
8
|
private client?;
|
|
9
9
|
name: string;
|
|
10
|
-
canConnectViaQrCode: boolean;
|
|
11
10
|
canConnectViaCustodialService: boolean;
|
|
12
|
-
isWalletConnect: boolean;
|
|
13
11
|
connectedChain: Chain;
|
|
14
12
|
supportedChains: Chain[];
|
|
15
13
|
chainId: number;
|
|
@@ -18,17 +16,10 @@ declare class BloctoEvm extends EthProvider implements WalletConnector {
|
|
|
18
16
|
constructor({ evmNetworks }: {
|
|
19
17
|
evmNetworks: EvmNetwork[];
|
|
20
18
|
});
|
|
21
|
-
get key(): string;
|
|
22
19
|
private getClient;
|
|
23
20
|
getWeb3Provider(): ethers.providers.Web3Provider | undefined;
|
|
24
21
|
fetchPublicAddress(): Promise<string | undefined>;
|
|
25
|
-
connect(): Promise<void>;
|
|
26
|
-
isInstalledOnBrowser(): boolean;
|
|
27
|
-
proveOwnership(messageToSign: string): Promise<string | undefined>;
|
|
28
22
|
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
29
|
-
endSession
|
|
30
|
-
switchNetwork(): Promise<void>;
|
|
31
|
-
setupEventListeners(): void;
|
|
32
|
-
teardownEventListeners(): void;
|
|
23
|
+
endSession(): Promise<void>;
|
|
33
24
|
}
|
|
34
25
|
export default BloctoEvm;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { __awaiter } from 'tslib';
|
|
2
2
|
import BloctoSDK from '@blocto/sdk';
|
|
3
3
|
import { ethers } from 'ethers';
|
|
4
|
-
import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
|
|
5
4
|
import { logger } from '../../utils/logger.js';
|
|
6
|
-
import {
|
|
5
|
+
import { EthWalletConnector } from './EthWalletConnector.js';
|
|
7
6
|
import { EthProviderHelper } from './ethProviderHelper.js';
|
|
8
7
|
|
|
9
|
-
class BloctoEvm extends
|
|
8
|
+
class BloctoEvm extends EthWalletConnector {
|
|
10
9
|
constructor({ evmNetworks }) {
|
|
11
10
|
var _a, _b;
|
|
12
11
|
// Taken from : https://docs.blocto.app/blocto-sdk/javascript-sdk/evm-sdk/provider
|
|
@@ -15,9 +14,7 @@ class BloctoEvm extends EthProvider {
|
|
|
15
14
|
super({ evmNetworks: bloctoSupportedNetworks });
|
|
16
15
|
this.LOCAL_STORAGE_KEY = 'dynamic_blocto_evm_chain_id';
|
|
17
16
|
this.name = 'bloctoevm';
|
|
18
|
-
this.canConnectViaQrCode = false;
|
|
19
17
|
this.canConnectViaCustodialService = true;
|
|
20
|
-
this.isWalletConnect = false;
|
|
21
18
|
this.connectedChain = 'EVM';
|
|
22
19
|
this.supportedChains = ['EVM', 'ETH'];
|
|
23
20
|
this.ethProviderHelper = new EthProviderHelper();
|
|
@@ -27,9 +24,6 @@ class BloctoEvm extends EthProvider {
|
|
|
27
24
|
((_a = bloctoSupportedNetworks.find((n) => n.chainId === 137)) === null || _a === void 0 ? void 0 : _a.chainId) ||
|
|
28
25
|
((_b = bloctoSupportedNetworks[0]) === null || _b === void 0 ? void 0 : _b.chainId);
|
|
29
26
|
}
|
|
30
|
-
get key() {
|
|
31
|
-
return normalizeWalletName(this.name);
|
|
32
|
-
}
|
|
33
27
|
getClient() {
|
|
34
28
|
if (!this.client) {
|
|
35
29
|
const network = this.evmNetworks.find((n) => n.chainId === this.chainId);
|
|
@@ -81,17 +75,6 @@ class BloctoEvm extends EthProvider {
|
|
|
81
75
|
}
|
|
82
76
|
});
|
|
83
77
|
}
|
|
84
|
-
connect() {
|
|
85
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
86
|
-
yield this.fetchPublicAddress();
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
isInstalledOnBrowser() {
|
|
90
|
-
return false;
|
|
91
|
-
}
|
|
92
|
-
proveOwnership(messageToSign) {
|
|
93
|
-
return this.signMessage(messageToSign);
|
|
94
|
-
}
|
|
95
78
|
signMessage(messageToSign) {
|
|
96
79
|
return __awaiter(this, void 0, void 0, function* () {
|
|
97
80
|
try {
|
|
@@ -117,18 +100,6 @@ class BloctoEvm extends EthProvider {
|
|
|
117
100
|
}
|
|
118
101
|
});
|
|
119
102
|
}
|
|
120
|
-
// *********************
|
|
121
|
-
// Unimplemented methods
|
|
122
|
-
// *********************
|
|
123
|
-
switchNetwork() {
|
|
124
|
-
return Promise.resolve();
|
|
125
|
-
}
|
|
126
|
-
setupEventListeners() {
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
teardownEventListeners() {
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
103
|
}
|
|
133
104
|
|
|
134
105
|
export { BloctoEvm as default };
|
|
@@ -4,14 +4,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var tslib = require('tslib');
|
|
6
6
|
var ethers = require('ethers');
|
|
7
|
+
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
7
8
|
var errors = require('../../errors.cjs');
|
|
8
9
|
var rpcProviders = require('../../rpcProviders.cjs');
|
|
9
10
|
var evmNetwork = require('./evm-network.cjs');
|
|
10
11
|
|
|
11
|
-
class
|
|
12
|
-
getDeepLink() {
|
|
13
|
-
return undefined;
|
|
14
|
-
}
|
|
12
|
+
class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
15
13
|
getRpcProvider() {
|
|
16
14
|
var _a, _b;
|
|
17
15
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -32,19 +30,7 @@ class EthProvider {
|
|
|
32
30
|
});
|
|
33
31
|
}
|
|
34
32
|
constructor({ evmNetworks }) {
|
|
35
|
-
|
|
36
|
-
this.getBalance = () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
var _a;
|
|
38
|
-
// This is equivalent to getSigner().getAddress() but does not crash
|
|
39
|
-
// if the signer is not available
|
|
40
|
-
const [address] = yield this.getConnectedAccounts();
|
|
41
|
-
if (!address)
|
|
42
|
-
return;
|
|
43
|
-
const result = yield ((_a = this.getWeb3Provider()) === null || _a === void 0 ? void 0 : _a.getBalance(address));
|
|
44
|
-
if (!result)
|
|
45
|
-
return;
|
|
46
|
-
return ethers.ethers.utils.formatEther(result);
|
|
47
|
-
});
|
|
33
|
+
super();
|
|
48
34
|
this.evmNetworkRpcMap = () => this.evmNetworks.reduce((acc, network) => {
|
|
49
35
|
var _a;
|
|
50
36
|
[acc[network.chainId]] = ((_a = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a.length)
|
|
@@ -66,12 +52,46 @@ class EthProvider {
|
|
|
66
52
|
return Promise.resolve(network === null || network === void 0 ? void 0 : network.chainId);
|
|
67
53
|
});
|
|
68
54
|
}
|
|
55
|
+
getNameService() {
|
|
56
|
+
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
const [[address], provider] = yield Promise.all([
|
|
58
|
+
this.getConnectedAccounts(),
|
|
59
|
+
this.getRpcProvider(),
|
|
60
|
+
]);
|
|
61
|
+
if (!address || !provider || !('lookupAddress' in provider)) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const [ensName, ensAvatar] = yield Promise.all([
|
|
65
|
+
provider.lookupAddress(address),
|
|
66
|
+
provider.getAvatar(address),
|
|
67
|
+
]);
|
|
68
|
+
const ensData = {
|
|
69
|
+
avatar: ensAvatar !== null && ensAvatar !== void 0 ? ensAvatar : undefined,
|
|
70
|
+
name: ensName !== null && ensName !== void 0 ? ensName : undefined,
|
|
71
|
+
};
|
|
72
|
+
return ensData;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
69
75
|
getSigner() {
|
|
70
76
|
var _a;
|
|
71
77
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
72
78
|
return (_a = this.getWeb3Provider()) === null || _a === void 0 ? void 0 : _a.getSigner();
|
|
73
79
|
});
|
|
74
80
|
}
|
|
81
|
+
getBalance() {
|
|
82
|
+
var _a;
|
|
83
|
+
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
// This is equivalent to getSigner().getAddress() but does not crash
|
|
85
|
+
// if the signer is not available
|
|
86
|
+
const [address] = yield this.getConnectedAccounts();
|
|
87
|
+
if (!address)
|
|
88
|
+
return;
|
|
89
|
+
const result = yield ((_a = this.getWeb3Provider()) === null || _a === void 0 ? void 0 : _a.getBalance(address));
|
|
90
|
+
if (!result)
|
|
91
|
+
return;
|
|
92
|
+
return ethers.ethers.utils.formatEther(result);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
75
95
|
supportsNetworkSwitching() {
|
|
76
96
|
return true;
|
|
77
97
|
}
|
|
@@ -168,4 +188,4 @@ class EthProvider {
|
|
|
168
188
|
}
|
|
169
189
|
}
|
|
170
190
|
|
|
171
|
-
exports.
|
|
191
|
+
exports.EthWalletConnector = EthWalletConnector;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
|
+
import { NameServiceData, WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
2
3
|
import { EvmNetwork } from './evm-network';
|
|
3
4
|
export type SwitchNetworkOps = {
|
|
4
5
|
networkChainId?: number;
|
|
@@ -7,18 +8,17 @@ export type SwitchNetworkOps = {
|
|
|
7
8
|
type EvmRpcMap = {
|
|
8
9
|
[chainId: number]: string;
|
|
9
10
|
};
|
|
10
|
-
export declare abstract class
|
|
11
|
-
canConnectViaSocial: boolean;
|
|
11
|
+
export declare abstract class EthWalletConnector extends WalletConnectorBase {
|
|
12
12
|
evmNetworks: EvmNetwork[];
|
|
13
13
|
abstract getWeb3Provider(): ethers.providers.Web3Provider | undefined;
|
|
14
|
-
getDeepLink(): string | undefined;
|
|
15
14
|
getRpcProvider(): Promise<ethers.providers.JsonRpcProvider | undefined>;
|
|
16
15
|
constructor({ evmNetworks }: {
|
|
17
16
|
evmNetworks: EvmNetwork[];
|
|
18
17
|
});
|
|
19
18
|
getNetwork(): Promise<number | undefined>;
|
|
19
|
+
getNameService(): Promise<NameServiceData | undefined>;
|
|
20
20
|
getSigner(): Promise<ethers.providers.JsonRpcSigner | undefined>;
|
|
21
|
-
getBalance
|
|
21
|
+
getBalance(): Promise<string | undefined>;
|
|
22
22
|
supportsNetworkSwitching(): boolean;
|
|
23
23
|
switchNetwork({ networkName, networkChainId, }: SwitchNetworkOps): Promise<void>;
|
|
24
24
|
getConnectedAccounts(): Promise<string[]>;
|