@dynamic-labs/multi-wallet 0.17.0-RC.7 → 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 +37 -0
- package/package.json +8 -14
- package/src/index.cjs +0 -57
- package/src/index.d.ts +0 -13
- package/src/index.js +1 -18
- package/src/multi-wallet.cjs +27 -87
- package/src/multi-wallet.d.ts +0 -1
- package/src/multi-wallet.js +25 -84
- package/src/types.d.ts +2 -23
- package/src/utils/getApiProviders.cjs +15 -0
- package/src/utils/getApiProviders.d.ts +10 -0
- package/src/utils/getApiProviders.js +11 -0
- package/src/utils/message.cjs +3 -4
- package/src/utils/message.js +1 -2
- package/src/wallets/algorand/MyAlgoWalletConnector.cjs +3 -3
- package/src/wallets/algorand/MyAlgoWalletConnector.js +1 -1
- package/src/wallets/constants.cjs +0 -2
- package/src/wallets/constants.js +1 -2
- package/src/wallets/cosmos/KeplrWalletConnect.cjs +16 -17
- package/src/wallets/cosmos/KeplrWalletConnect.d.ts +9 -5
- package/src/wallets/cosmos/KeplrWalletConnect.js +9 -10
- package/src/wallets/cosmos/KeplrWalletConnector.cjs +13 -5
- package/src/wallets/cosmos/KeplrWalletConnector.d.ts +6 -4
- package/src/wallets/cosmos/KeplrWalletConnector.js +13 -5
- package/src/wallets/cosmos/wcClient.lib.cjs +141 -0
- package/src/wallets/{clients/walletConnect/walletConnect.d.ts → cosmos/wcClient.lib.d.ts} +8 -11
- package/src/wallets/cosmos/wcClient.lib.js +126 -0
- package/src/wallets/flow/FlowWalletConnector.cjs +7 -8
- package/src/wallets/flow/FlowWalletConnector.js +2 -3
- package/src/wallets/flow/lilico.cjs +2 -2
- package/src/wallets/flow/lilico.js +1 -1
- package/src/wallets/solana/CoinbaseSolana.cjs +8 -11
- package/src/wallets/solana/CoinbaseSolana.d.ts +1 -3
- package/src/wallets/solana/CoinbaseSolana.js +8 -11
- package/src/wallets/solana/glow.cjs +8 -11
- package/src/wallets/solana/glow.d.ts +1 -3
- package/src/wallets/solana/glow.js +8 -11
- package/src/wallets/solana/injected/BraveSol.cjs +2 -1
- package/src/wallets/solana/injected/BraveSol.js +2 -1
- package/src/wallets/solana/phantom-ledger.cjs +5 -5
- package/src/wallets/solana/phantom-ledger.js +1 -1
- package/src/wallets/solana/phantom.cjs +11 -15
- package/src/wallets/solana/phantom.d.ts +1 -3
- package/src/wallets/solana/phantom.js +9 -13
- package/src/wallets/solana/slope.cjs +4 -4
- package/src/wallets/solana/slope.js +1 -1
- package/src/wallets/solana/solProviderHelper.cjs +49 -51
- package/src/wallets/solana/solProviderHelper.d.ts +20 -20
- package/src/wallets/solana/solProviderHelper.js +48 -50
- package/src/wallets/solana/solWalletConnector.cjs +2 -2
- package/src/wallets/solana/solWalletConnector.js +1 -1
- package/src/wallets/solana/solflare.cjs +6 -7
- package/src/wallets/solana/solflare.d.ts +0 -2
- package/src/wallets/solana/solflare.js +6 -7
- package/src/wallets/starknet/braavos.cjs +2 -2
- package/src/wallets/starknet/braavos.js +1 -1
- package/src/wallets/starknet/starknetWalletConnector.cjs +5 -6
- package/src/wallets/starknet/starknetWalletConnector.js +2 -3
- package/src/wallets/window.d.ts +10 -22
- package/src/errors.cjs +0 -66
- package/src/errors.d.ts +0 -34
- package/src/errors.js +0 -54
- package/src/utils/CancellablePromise/CancellablePromise.cjs +0 -33
- package/src/utils/CancellablePromise/CancellablePromise.d.ts +0 -9
- package/src/utils/CancellablePromise/CancellablePromise.js +0 -29
- package/src/utils/CancellablePromise/index.d.ts +0 -1
- package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.cjs +0 -54
- package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.d.ts +0 -3
- package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js +0 -50
- package/src/utils/assignConfirmationScreenToProvider/index.d.ts +0 -1
- package/src/utils/encoding.cjs +0 -18
- package/src/utils/encoding.d.ts +0 -4
- package/src/utils/encoding.js +0 -12
- package/src/utils/findProvider/findProvider.cjs +0 -7
- package/src/utils/findProvider/findProvider.d.ts +0 -2
- package/src/utils/findProvider/findProvider.js +0 -3
- package/src/utils/findProvider/index.d.ts +0 -1
- 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/logger.cjs +0 -9
- package/src/utils/logger.d.ts +0 -2
- package/src/utils/logger.js +0 -5
- package/src/utils/normalizeWalletName/index.d.ts +0 -1
- package/src/utils/normalizeWalletName/normalizeWalletName.cjs +0 -7
- package/src/utils/normalizeWalletName/normalizeWalletName.d.ts +0 -1
- package/src/utils/normalizeWalletName/normalizeWalletName.js +0 -3
- package/src/utils/shouldLowercaseAddress.cjs +0 -11
- package/src/utils/shouldLowercaseAddress.d.ts +0 -1
- package/src/utils/shouldLowercaseAddress.js +0 -7
- package/src/utils/walletConnect.cjs +0 -31
- package/src/utils/walletConnect.d.ts +0 -5
- package/src/utils/walletConnect.js +0 -27
- 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 -250
- package/src/wallets/clients/walletConnect/walletConnect.js +0 -233
- package/src/wallets/cosmos/getKeplrConnector.cjs +0 -18
- package/src/wallets/cosmos/getKeplrConnector.d.ts +0 -6
- package/src/wallets/cosmos/getKeplrConnector.js +0 -14
- package/src/wallets/ethereum/BloctoEvm.cjs +0 -111
- package/src/wallets/ethereum/BloctoEvm.d.ts +0 -22
- package/src/wallets/ethereum/BloctoEvm.js +0 -105
- package/src/wallets/ethereum/EthWalletConnector.cjs +0 -207
- package/src/wallets/ethereum/EthWalletConnector.d.ts +0 -38
- package/src/wallets/ethereum/EthWalletConnector.js +0 -203
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +0 -63
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +0 -12
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +0 -59
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/index.d.ts +0 -1
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +0 -62
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.d.ts +0 -11
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +0 -58
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/index.d.ts +0 -1
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +0 -103
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +0 -33
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +0 -99
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.d.ts +0 -2
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -56
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.d.ts +0 -12
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -52
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/index.d.ts +0 -1
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +0 -177
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +0 -54
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +0 -173
- 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 -66
- package/src/wallets/ethereum/coinbase.d.ts +0 -25
- package/src/wallets/ethereum/coinbase.js +0 -64
- package/src/wallets/ethereum/ethProviderHelper.cjs +0 -197
- package/src/wallets/ethereum/ethProviderHelper.d.ts +0 -40
- package/src/wallets/ethereum/ethProviderHelper.js +0 -193
- package/src/wallets/ethereum/evm-network.cjs +0 -20
- package/src/wallets/ethereum/evm-network.d.ts +0 -6
- package/src/wallets/ethereum/evm-network.js +0 -16
- package/src/wallets/ethereum/fortmatic.cjs +0 -76
- package/src/wallets/ethereum/fortmatic.d.ts +0 -25
- package/src/wallets/ethereum/fortmatic.js +0 -70
- package/src/wallets/ethereum/injected/BloctoInjected.cjs +0 -13
- package/src/wallets/ethereum/injected/BloctoInjected.d.ts +0 -6
- package/src/wallets/ethereum/injected/BloctoInjected.js +0 -11
- package/src/wallets/ethereum/injected/BraveEvm.cjs +0 -13
- package/src/wallets/ethereum/injected/BraveEvm.d.ts +0 -6
- package/src/wallets/ethereum/injected/BraveEvm.js +0 -11
- package/src/wallets/ethereum/injected/Dawn.cjs +0 -13
- package/src/wallets/ethereum/injected/Dawn.d.ts +0 -6
- package/src/wallets/ethereum/injected/Dawn.js +0 -11
- package/src/wallets/ethereum/injected/ExodusEvm.cjs +0 -13
- package/src/wallets/ethereum/injected/ExodusEvm.d.ts +0 -6
- package/src/wallets/ethereum/injected/ExodusEvm.js +0 -11
- package/src/wallets/ethereum/injected/Frame.cjs +0 -13
- package/src/wallets/ethereum/injected/Frame.d.ts +0 -6
- package/src/wallets/ethereum/injected/Frame.js +0 -11
- package/src/wallets/ethereum/injected/GameStop.cjs +0 -13
- package/src/wallets/ethereum/injected/GameStop.d.ts +0 -6
- package/src/wallets/ethereum/injected/GameStop.js +0 -11
- package/src/wallets/ethereum/injected/Opera.cjs +0 -13
- package/src/wallets/ethereum/injected/Opera.d.ts +0 -6
- package/src/wallets/ethereum/injected/Opera.js +0 -11
- package/src/wallets/ethereum/injected/PhantomEvm.cjs +0 -37
- package/src/wallets/ethereum/injected/PhantomEvm.d.ts +0 -7
- package/src/wallets/ethereum/injected/PhantomEvm.js +0 -35
- package/src/wallets/ethereum/injected/Trust.cjs +0 -13
- package/src/wallets/ethereum/injected/Trust.d.ts +0 -6
- package/src/wallets/ethereum/injected/Trust.js +0 -11
- package/src/wallets/ethereum/injected/UnknownInjectedWallet.cjs +0 -13
- package/src/wallets/ethereum/injected/UnknownInjectedWallet.d.ts +0 -6
- package/src/wallets/ethereum/injected/UnknownInjectedWallet.js +0 -11
- package/src/wallets/ethereum/injected/Zerion.cjs +0 -13
- package/src/wallets/ethereum/injected/Zerion.d.ts +0 -6
- package/src/wallets/ethereum/injected/Zerion.js +0 -11
- package/src/wallets/ethereum/meta-mask.cjs +0 -63
- package/src/wallets/ethereum/meta-mask.d.ts +0 -26
- package/src/wallets/ethereum/meta-mask.js +0 -61
- package/src/wallets/getMobileOrInjectedWallet.cjs +0 -22
- package/src/wallets/getMobileOrInjectedWallet.d.ts +0 -9
- package/src/wallets/getMobileOrInjectedWallet.js +0 -18
- 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,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var tslib = require('tslib');
|
|
4
|
-
var
|
|
4
|
+
var utils = require('@dynamic-labs/utils');
|
|
5
5
|
var solWalletConnector = require('./solWalletConnector.cjs');
|
|
6
6
|
var solProviderHelper = require('./solProviderHelper.cjs');
|
|
7
7
|
|
|
@@ -9,24 +9,21 @@ class Phantom extends solWalletConnector.SolWalletConnector {
|
|
|
9
9
|
constructor() {
|
|
10
10
|
super(...arguments);
|
|
11
11
|
this.name = 'Phantom';
|
|
12
|
-
this.solProviderHelper = new solProviderHelper.SolProviderHelper();
|
|
13
12
|
}
|
|
14
13
|
setupEventListeners(listeners) {
|
|
15
|
-
|
|
16
|
-
return this.solProviderHelper._setupEventListeners(listeners, this.solProviderHelper.findProvider(this.name));
|
|
17
|
-
});
|
|
14
|
+
solProviderHelper.SolProviderHelper._setupEventListeners(listeners, solProviderHelper.SolProviderHelper.findProvider(this.name));
|
|
18
15
|
}
|
|
19
16
|
teardownEventListeners() {
|
|
20
|
-
|
|
17
|
+
solProviderHelper.SolProviderHelper._teardownEventListeners(this.name);
|
|
21
18
|
}
|
|
22
19
|
connect() {
|
|
23
20
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
yield
|
|
21
|
+
yield solProviderHelper.SolProviderHelper.connectWithName(this.name);
|
|
25
22
|
});
|
|
26
23
|
}
|
|
27
24
|
getSigner() {
|
|
28
25
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
return
|
|
26
|
+
return solProviderHelper.SolProviderHelper.connectWithName(this.name);
|
|
30
27
|
});
|
|
31
28
|
}
|
|
32
29
|
isInstalledOnBrowser() {
|
|
@@ -37,19 +34,18 @@ class Phantom extends solWalletConnector.SolWalletConnector {
|
|
|
37
34
|
* It relies on the fact that if both Glow and Phantom are enabled,
|
|
38
35
|
* solana.isGlow will return false.
|
|
39
36
|
*/
|
|
40
|
-
return (
|
|
41
|
-
!((_a = window.solana) === null || _a === void 0 ? void 0 : _a.isGlow));
|
|
37
|
+
return (solProviderHelper.SolProviderHelper.isInstalledHelper(this.name) && !((_a = window.solana) === null || _a === void 0 ? void 0 : _a.isGlow));
|
|
42
38
|
}
|
|
43
39
|
fetchPublicAddress() {
|
|
44
40
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
45
41
|
if (this.isInstalledOnBrowser()) {
|
|
46
|
-
return
|
|
42
|
+
return solProviderHelper.SolProviderHelper.fetchPublicAddressWithName(this.name);
|
|
47
43
|
}
|
|
48
44
|
const url = encodeURIComponent(window.location.toString());
|
|
49
45
|
const ref = encodeURIComponent(window.location.origin);
|
|
50
46
|
// samsung browser only supports native links, not universal links
|
|
51
|
-
if (
|
|
52
|
-
if (
|
|
47
|
+
if (utils.isMobile()) {
|
|
48
|
+
if (utils.isSamsungBrowser()) {
|
|
53
49
|
window.location.assign(`phantom://browse/${url}?ref=${ref}`);
|
|
54
50
|
}
|
|
55
51
|
else {
|
|
@@ -61,12 +57,12 @@ class Phantom extends solWalletConnector.SolWalletConnector {
|
|
|
61
57
|
}
|
|
62
58
|
signMessage(messageToSign) {
|
|
63
59
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
64
|
-
return
|
|
60
|
+
return solProviderHelper.SolProviderHelper.signMessageWithName(messageToSign, this.name);
|
|
65
61
|
});
|
|
66
62
|
}
|
|
67
63
|
getConnectedAccounts() {
|
|
68
64
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
69
|
-
return
|
|
65
|
+
return solProviderHelper.SolProviderHelper.getConnectedAccountsWithName(this.name);
|
|
70
66
|
});
|
|
71
67
|
}
|
|
72
68
|
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
|
|
2
2
|
import { ISolana } from '../window';
|
|
3
3
|
import { SolWalletConnector } from './solWalletConnector';
|
|
4
|
-
import { SolProviderHelper } from './solProviderHelper';
|
|
5
4
|
declare class Phantom extends SolWalletConnector {
|
|
6
5
|
name: string;
|
|
7
|
-
|
|
8
|
-
setupEventListeners(listeners: WalletEventListeners): Promise<() => void>;
|
|
6
|
+
setupEventListeners(listeners: WalletEventListeners): void;
|
|
9
7
|
teardownEventListeners(): void;
|
|
10
8
|
connect(): Promise<void>;
|
|
11
9
|
getSigner(): Promise<ISolana | undefined>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from 'tslib';
|
|
2
|
-
import { isMobile, isSamsungBrowser } from '
|
|
2
|
+
import { isMobile, isSamsungBrowser } from '@dynamic-labs/utils';
|
|
3
3
|
import { SolWalletConnector } from './solWalletConnector.js';
|
|
4
4
|
import { SolProviderHelper } from './solProviderHelper.js';
|
|
5
5
|
|
|
@@ -7,24 +7,21 @@ class Phantom extends SolWalletConnector {
|
|
|
7
7
|
constructor() {
|
|
8
8
|
super(...arguments);
|
|
9
9
|
this.name = 'Phantom';
|
|
10
|
-
this.solProviderHelper = new SolProviderHelper();
|
|
11
10
|
}
|
|
12
11
|
setupEventListeners(listeners) {
|
|
13
|
-
|
|
14
|
-
return this.solProviderHelper._setupEventListeners(listeners, this.solProviderHelper.findProvider(this.name));
|
|
15
|
-
});
|
|
12
|
+
SolProviderHelper._setupEventListeners(listeners, SolProviderHelper.findProvider(this.name));
|
|
16
13
|
}
|
|
17
14
|
teardownEventListeners() {
|
|
18
|
-
|
|
15
|
+
SolProviderHelper._teardownEventListeners(this.name);
|
|
19
16
|
}
|
|
20
17
|
connect() {
|
|
21
18
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
yield
|
|
19
|
+
yield SolProviderHelper.connectWithName(this.name);
|
|
23
20
|
});
|
|
24
21
|
}
|
|
25
22
|
getSigner() {
|
|
26
23
|
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
return
|
|
24
|
+
return SolProviderHelper.connectWithName(this.name);
|
|
28
25
|
});
|
|
29
26
|
}
|
|
30
27
|
isInstalledOnBrowser() {
|
|
@@ -35,13 +32,12 @@ class Phantom extends SolWalletConnector {
|
|
|
35
32
|
* It relies on the fact that if both Glow and Phantom are enabled,
|
|
36
33
|
* solana.isGlow will return false.
|
|
37
34
|
*/
|
|
38
|
-
return (
|
|
39
|
-
!((_a = window.solana) === null || _a === void 0 ? void 0 : _a.isGlow));
|
|
35
|
+
return (SolProviderHelper.isInstalledHelper(this.name) && !((_a = window.solana) === null || _a === void 0 ? void 0 : _a.isGlow));
|
|
40
36
|
}
|
|
41
37
|
fetchPublicAddress() {
|
|
42
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
39
|
if (this.isInstalledOnBrowser()) {
|
|
44
|
-
return
|
|
40
|
+
return SolProviderHelper.fetchPublicAddressWithName(this.name);
|
|
45
41
|
}
|
|
46
42
|
const url = encodeURIComponent(window.location.toString());
|
|
47
43
|
const ref = encodeURIComponent(window.location.origin);
|
|
@@ -59,12 +55,12 @@ class Phantom extends SolWalletConnector {
|
|
|
59
55
|
}
|
|
60
56
|
signMessage(messageToSign) {
|
|
61
57
|
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
return
|
|
58
|
+
return SolProviderHelper.signMessageWithName(messageToSign, this.name);
|
|
63
59
|
});
|
|
64
60
|
}
|
|
65
61
|
getConnectedAccounts() {
|
|
66
62
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
-
return
|
|
63
|
+
return SolProviderHelper.getConnectedAccountsWithName(this.name);
|
|
68
64
|
});
|
|
69
65
|
}
|
|
70
66
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var tslib = require('tslib');
|
|
4
4
|
var web3_js = require('@solana/web3.js');
|
|
5
|
-
var
|
|
5
|
+
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
6
6
|
var solWalletConnector = require('./solWalletConnector.cjs');
|
|
7
7
|
|
|
8
8
|
class Slope extends solWalletConnector.SolWalletConnector {
|
|
@@ -44,7 +44,7 @@ class Slope extends solWalletConnector.SolWalletConnector {
|
|
|
44
44
|
return balance.toString();
|
|
45
45
|
}
|
|
46
46
|
catch (e) {
|
|
47
|
-
|
|
47
|
+
walletConnectorCore.logger.debug(e);
|
|
48
48
|
return undefined;
|
|
49
49
|
}
|
|
50
50
|
});
|
|
@@ -61,7 +61,7 @@ class Slope extends solWalletConnector.SolWalletConnector {
|
|
|
61
61
|
return this.isConnectData(response) ? response.data.publicKey : undefined;
|
|
62
62
|
}
|
|
63
63
|
catch (e) {
|
|
64
|
-
|
|
64
|
+
walletConnectorCore.logger.debug(e);
|
|
65
65
|
return undefined;
|
|
66
66
|
}
|
|
67
67
|
});
|
|
@@ -78,7 +78,7 @@ class Slope extends solWalletConnector.SolWalletConnector {
|
|
|
78
78
|
: undefined;
|
|
79
79
|
}
|
|
80
80
|
catch (e) {
|
|
81
|
-
|
|
81
|
+
walletConnectorCore.logger.debug(e);
|
|
82
82
|
return undefined;
|
|
83
83
|
}
|
|
84
84
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __awaiter } from 'tslib';
|
|
2
2
|
import { PublicKey } from '@solana/web3.js';
|
|
3
|
-
import { logger } from '
|
|
3
|
+
import { logger } from '@dynamic-labs/wallet-connector-core';
|
|
4
4
|
import { SolWalletConnector } from './solWalletConnector.js';
|
|
5
5
|
|
|
6
6
|
class Slope extends SolWalletConnector {
|
|
@@ -3,45 +3,18 @@
|
|
|
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 convertors = require('../../utils/convertors.cjs');
|
|
7
|
-
var ProviderLookup = require('../ProviderLookup.cjs');
|
|
8
|
-
var normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
|
|
9
8
|
|
|
9
|
+
var _a;
|
|
10
10
|
class SolProviderHelper {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
this.CoinbaseProvider = () => this.findSolanaProviders(window.coinbaseSolana)[0];
|
|
14
|
-
this.PhantomProvider = () => this.installedProviderLookup([
|
|
15
|
-
{ flag: 'isPhantom', value: true },
|
|
16
|
-
{ flag: 'isBraveWallet', value: false },
|
|
17
|
-
{ flag: 'isExodus', value: false },
|
|
18
|
-
]);
|
|
19
|
-
this.SolflareProvider = () => this.installedProviderLookup([{ flag: 'isSolflare', value: true }]);
|
|
20
|
-
this.BraveProvider = () => this.installedProviderLookup([
|
|
21
|
-
{ flag: 'isPhantom', value: true },
|
|
22
|
-
{ flag: 'isBraveWallet', value: true },
|
|
23
|
-
]);
|
|
24
|
-
this.ExodusProvider = () => this.installedProviderLookup([
|
|
25
|
-
{ flag: 'isPhantom', value: true },
|
|
26
|
-
{ flag: 'isExodus', value: true },
|
|
27
|
-
]);
|
|
28
|
-
this.providers = {
|
|
29
|
-
bravesol: this.BraveProvider,
|
|
30
|
-
coinbasesolana: this.CoinbaseProvider,
|
|
31
|
-
exodussol: this.ExodusProvider,
|
|
32
|
-
glow: this.GlowProvider,
|
|
33
|
-
phantom: this.PhantomProvider,
|
|
34
|
-
phantomledger: this.PhantomProvider,
|
|
35
|
-
solflare: this.SolflareProvider,
|
|
36
|
-
};
|
|
11
|
+
static installedProviderLookup(providerFlags) {
|
|
12
|
+
return walletConnectorCore.ProviderLookup(this.allInstalledProviders(), providerFlags);
|
|
37
13
|
}
|
|
38
|
-
|
|
39
|
-
return ProviderLookup.ProviderLookup(this.allInstalledProviders(), providerFlags);
|
|
40
|
-
}
|
|
41
|
-
allInstalledProviders() {
|
|
14
|
+
static allInstalledProviders() {
|
|
42
15
|
return this.findSolanaProviders(window.solana).concat(this.findSolanaProviders(window.solflare), this.findSolanaProviders(window.glowSolana));
|
|
43
16
|
}
|
|
44
|
-
findSolanaProviders(solana) {
|
|
17
|
+
static findSolanaProviders(solana) {
|
|
45
18
|
const solanaProviders = [];
|
|
46
19
|
if (solana && !solana.providers) {
|
|
47
20
|
solanaProviders.push(solana);
|
|
@@ -53,14 +26,14 @@ class SolProviderHelper {
|
|
|
53
26
|
}
|
|
54
27
|
return solanaProviders;
|
|
55
28
|
}
|
|
56
|
-
isInstalledHelper(walletName) {
|
|
29
|
+
static isInstalledHelper(walletName) {
|
|
57
30
|
return this.findProvider(walletName) !== undefined;
|
|
58
31
|
}
|
|
59
|
-
findProvider(walletName) {
|
|
60
|
-
var
|
|
61
|
-
return (
|
|
32
|
+
static findProvider(walletName) {
|
|
33
|
+
var _b, _c;
|
|
34
|
+
return (_c = (_b = this.providers)[walletConnectorCore.normalizeWalletName(walletName)]) === null || _c === void 0 ? void 0 : _c.call(_b);
|
|
62
35
|
}
|
|
63
|
-
fetchPublicAddressWithName(name) {
|
|
36
|
+
static fetchPublicAddressWithName(name) {
|
|
64
37
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
65
38
|
const provider = this.findProvider(name);
|
|
66
39
|
if (!provider) {
|
|
@@ -71,7 +44,7 @@ class SolProviderHelper {
|
|
|
71
44
|
return publicKey ? publicKey.toString() : Promise.resolve(undefined);
|
|
72
45
|
});
|
|
73
46
|
}
|
|
74
|
-
connectWithName(name) {
|
|
47
|
+
static connectWithName(name) {
|
|
75
48
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
76
49
|
const provider = this.findProvider(name);
|
|
77
50
|
if (!provider) {
|
|
@@ -86,7 +59,7 @@ class SolProviderHelper {
|
|
|
86
59
|
}
|
|
87
60
|
});
|
|
88
61
|
}
|
|
89
|
-
signMessageWithName(messageToSign, name) {
|
|
62
|
+
static signMessageWithName(messageToSign, name) {
|
|
90
63
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
91
64
|
const walletAddress = yield this.fetchPublicAddressWithName(name);
|
|
92
65
|
if (!walletAddress) {
|
|
@@ -103,36 +76,35 @@ class SolProviderHelper {
|
|
|
103
76
|
}));
|
|
104
77
|
});
|
|
105
78
|
}
|
|
106
|
-
_setupEventListeners(listeners, web3Provider) {
|
|
79
|
+
static _setupEventListeners(listeners, web3Provider) {
|
|
107
80
|
const handleAccountChange = (address) => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
108
|
-
var
|
|
81
|
+
var _b, _c, _d;
|
|
109
82
|
if (!address) {
|
|
110
83
|
yield (web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.connect());
|
|
111
|
-
if ((
|
|
112
|
-
(
|
|
84
|
+
if ((_b = web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.publicKey) === null || _b === void 0 ? void 0 : _b.toString()) {
|
|
85
|
+
(_c = listeners.onAccountChange) === null || _c === void 0 ? void 0 : _c.call(listeners, [web3Provider.publicKey.toString()]);
|
|
113
86
|
}
|
|
114
87
|
return;
|
|
115
88
|
}
|
|
116
89
|
if (address.toString()) {
|
|
117
|
-
yield ((
|
|
90
|
+
yield ((_d = listeners.onAccountChange) === null || _d === void 0 ? void 0 : _d.call(listeners, [address.toString()]));
|
|
118
91
|
}
|
|
119
92
|
});
|
|
120
93
|
const handleDisconnect = () => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
121
|
-
var
|
|
122
|
-
yield ((
|
|
94
|
+
var _e;
|
|
95
|
+
yield ((_e = listeners.onDisconnect) === null || _e === void 0 ? void 0 : _e.call(listeners));
|
|
123
96
|
});
|
|
124
97
|
web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.on('accountChanged', handleAccountChange);
|
|
125
98
|
web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.on('disconnect', handleDisconnect);
|
|
126
|
-
return () => { };
|
|
127
99
|
}
|
|
128
|
-
_teardownEventListeners(name) {
|
|
100
|
+
static _teardownEventListeners(name) {
|
|
129
101
|
const web3Provider = this.findProvider(name);
|
|
130
102
|
if (!web3Provider) {
|
|
131
103
|
return;
|
|
132
104
|
}
|
|
133
105
|
web3Provider.removeAllListeners();
|
|
134
106
|
}
|
|
135
|
-
getConnectedAccountsWithName(name) {
|
|
107
|
+
static getConnectedAccountsWithName(name) {
|
|
136
108
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
137
109
|
const provider = this.findProvider(name);
|
|
138
110
|
if (!provider) {
|
|
@@ -159,6 +131,32 @@ class SolProviderHelper {
|
|
|
159
131
|
}
|
|
160
132
|
});
|
|
161
133
|
}
|
|
162
|
-
}
|
|
134
|
+
}
|
|
135
|
+
_a = SolProviderHelper;
|
|
136
|
+
SolProviderHelper.GlowProvider = () => _a.installedProviderLookup([{ flag: 'isGlow', value: true }]);
|
|
137
|
+
SolProviderHelper.CoinbaseProvider = () => _a.findSolanaProviders(window.coinbaseSolana)[0];
|
|
138
|
+
SolProviderHelper.PhantomProvider = () => _a.installedProviderLookup([
|
|
139
|
+
{ flag: 'isPhantom', value: true },
|
|
140
|
+
{ flag: 'isBraveWallet', value: false },
|
|
141
|
+
{ flag: 'isExodus', value: false },
|
|
142
|
+
]);
|
|
143
|
+
SolProviderHelper.SolflareProvider = () => _a.installedProviderLookup([{ flag: 'isSolflare', value: true }]);
|
|
144
|
+
SolProviderHelper.BraveProvider = () => _a.installedProviderLookup([
|
|
145
|
+
{ flag: 'isPhantom', value: true },
|
|
146
|
+
{ flag: 'isBraveWallet', value: true },
|
|
147
|
+
]);
|
|
148
|
+
SolProviderHelper.ExodusProvider = () => _a.installedProviderLookup([
|
|
149
|
+
{ flag: 'isPhantom', value: true },
|
|
150
|
+
{ flag: 'isExodus', value: true },
|
|
151
|
+
]);
|
|
152
|
+
SolProviderHelper.providers = {
|
|
153
|
+
bravesol: _a.BraveProvider,
|
|
154
|
+
coinbasesolana: _a.CoinbaseProvider,
|
|
155
|
+
exodussol: _a.ExodusProvider,
|
|
156
|
+
glow: _a.GlowProvider,
|
|
157
|
+
phantom: _a.PhantomProvider,
|
|
158
|
+
phantomledger: _a.PhantomProvider,
|
|
159
|
+
solflare: _a.SolflareProvider,
|
|
160
|
+
};
|
|
163
161
|
|
|
164
162
|
exports.SolProviderHelper = SolProviderHelper;
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
|
|
2
|
-
import { ISolana,
|
|
1
|
+
import { ProviderCondition, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
|
|
2
|
+
import { ISolana, SolProviderFlag } from '../window';
|
|
3
3
|
export interface SignedMessage {
|
|
4
4
|
signature: Uint8Array;
|
|
5
5
|
}
|
|
6
6
|
type Provider = () => ISolana | undefined;
|
|
7
7
|
export declare class SolProviderHelper {
|
|
8
|
-
GlowProvider: Provider;
|
|
9
|
-
CoinbaseProvider: Provider;
|
|
10
|
-
PhantomProvider: Provider;
|
|
11
|
-
SolflareProvider: Provider;
|
|
12
|
-
BraveProvider: Provider;
|
|
13
|
-
ExodusProvider: Provider;
|
|
14
|
-
providers: {
|
|
8
|
+
static GlowProvider: Provider;
|
|
9
|
+
static CoinbaseProvider: Provider;
|
|
10
|
+
static PhantomProvider: Provider;
|
|
11
|
+
static SolflareProvider: Provider;
|
|
12
|
+
static BraveProvider: Provider;
|
|
13
|
+
static ExodusProvider: Provider;
|
|
14
|
+
static providers: {
|
|
15
15
|
[wallet: string]: Provider;
|
|
16
16
|
};
|
|
17
|
-
installedProviderLookup(providerFlags: Array<ProviderCondition
|
|
18
|
-
allInstalledProviders(): ISolana[];
|
|
19
|
-
findSolanaProviders(solana?: ISolana): ISolana[];
|
|
20
|
-
isInstalledHelper(walletName: string): boolean;
|
|
21
|
-
findProvider(walletName: string): ISolana | undefined;
|
|
22
|
-
fetchPublicAddressWithName(name: string): Promise<string | undefined>;
|
|
23
|
-
connectWithName(name: string): Promise<ISolana | undefined>;
|
|
24
|
-
signMessageWithName(messageToSign: string, name: string): Promise<string | undefined>;
|
|
25
|
-
_setupEventListeners(listeners: WalletEventListeners, web3Provider?: ISolana):
|
|
26
|
-
_teardownEventListeners(name: string): void;
|
|
27
|
-
getConnectedAccountsWithName(name: string): Promise<string[]>;
|
|
17
|
+
static installedProviderLookup(providerFlags: Array<ProviderCondition<SolProviderFlag>>): ISolana | undefined;
|
|
18
|
+
static allInstalledProviders(): ISolana[];
|
|
19
|
+
static findSolanaProviders(solana?: ISolana): ISolana[];
|
|
20
|
+
static isInstalledHelper(walletName: string): boolean;
|
|
21
|
+
static findProvider(walletName: string): ISolana | undefined;
|
|
22
|
+
static fetchPublicAddressWithName(name: string): Promise<string | undefined>;
|
|
23
|
+
static connectWithName(name: string): Promise<ISolana | undefined>;
|
|
24
|
+
static signMessageWithName(messageToSign: string, name: string): Promise<string | undefined>;
|
|
25
|
+
static _setupEventListeners(listeners: WalletEventListeners, web3Provider?: ISolana): void;
|
|
26
|
+
static _teardownEventListeners(name: string): void;
|
|
27
|
+
static getConnectedAccountsWithName(name: string): Promise<string[]>;
|
|
28
28
|
}
|
|
29
29
|
export {};
|
|
@@ -1,43 +1,16 @@
|
|
|
1
1
|
import { __awaiter } from 'tslib';
|
|
2
|
+
import { ProviderLookup, normalizeWalletName } from '@dynamic-labs/wallet-connector-core';
|
|
2
3
|
import { bufferToBase64 } from '../../utils/convertors.js';
|
|
3
|
-
import { ProviderLookup } from '../ProviderLookup.js';
|
|
4
|
-
import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
|
|
5
4
|
|
|
5
|
+
var _a;
|
|
6
6
|
class SolProviderHelper {
|
|
7
|
-
|
|
8
|
-
this.GlowProvider = () => this.installedProviderLookup([{ flag: 'isGlow', value: true }]);
|
|
9
|
-
this.CoinbaseProvider = () => this.findSolanaProviders(window.coinbaseSolana)[0];
|
|
10
|
-
this.PhantomProvider = () => this.installedProviderLookup([
|
|
11
|
-
{ flag: 'isPhantom', value: true },
|
|
12
|
-
{ flag: 'isBraveWallet', value: false },
|
|
13
|
-
{ flag: 'isExodus', value: false },
|
|
14
|
-
]);
|
|
15
|
-
this.SolflareProvider = () => this.installedProviderLookup([{ flag: 'isSolflare', value: true }]);
|
|
16
|
-
this.BraveProvider = () => this.installedProviderLookup([
|
|
17
|
-
{ flag: 'isPhantom', value: true },
|
|
18
|
-
{ flag: 'isBraveWallet', value: true },
|
|
19
|
-
]);
|
|
20
|
-
this.ExodusProvider = () => this.installedProviderLookup([
|
|
21
|
-
{ flag: 'isPhantom', value: true },
|
|
22
|
-
{ flag: 'isExodus', value: true },
|
|
23
|
-
]);
|
|
24
|
-
this.providers = {
|
|
25
|
-
bravesol: this.BraveProvider,
|
|
26
|
-
coinbasesolana: this.CoinbaseProvider,
|
|
27
|
-
exodussol: this.ExodusProvider,
|
|
28
|
-
glow: this.GlowProvider,
|
|
29
|
-
phantom: this.PhantomProvider,
|
|
30
|
-
phantomledger: this.PhantomProvider,
|
|
31
|
-
solflare: this.SolflareProvider,
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
installedProviderLookup(providerFlags) {
|
|
7
|
+
static installedProviderLookup(providerFlags) {
|
|
35
8
|
return ProviderLookup(this.allInstalledProviders(), providerFlags);
|
|
36
9
|
}
|
|
37
|
-
allInstalledProviders() {
|
|
10
|
+
static allInstalledProviders() {
|
|
38
11
|
return this.findSolanaProviders(window.solana).concat(this.findSolanaProviders(window.solflare), this.findSolanaProviders(window.glowSolana));
|
|
39
12
|
}
|
|
40
|
-
findSolanaProviders(solana) {
|
|
13
|
+
static findSolanaProviders(solana) {
|
|
41
14
|
const solanaProviders = [];
|
|
42
15
|
if (solana && !solana.providers) {
|
|
43
16
|
solanaProviders.push(solana);
|
|
@@ -49,14 +22,14 @@ class SolProviderHelper {
|
|
|
49
22
|
}
|
|
50
23
|
return solanaProviders;
|
|
51
24
|
}
|
|
52
|
-
isInstalledHelper(walletName) {
|
|
25
|
+
static isInstalledHelper(walletName) {
|
|
53
26
|
return this.findProvider(walletName) !== undefined;
|
|
54
27
|
}
|
|
55
|
-
findProvider(walletName) {
|
|
56
|
-
var
|
|
57
|
-
return (
|
|
28
|
+
static findProvider(walletName) {
|
|
29
|
+
var _b, _c;
|
|
30
|
+
return (_c = (_b = this.providers)[normalizeWalletName(walletName)]) === null || _c === void 0 ? void 0 : _c.call(_b);
|
|
58
31
|
}
|
|
59
|
-
fetchPublicAddressWithName(name) {
|
|
32
|
+
static fetchPublicAddressWithName(name) {
|
|
60
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
34
|
const provider = this.findProvider(name);
|
|
62
35
|
if (!provider) {
|
|
@@ -67,7 +40,7 @@ class SolProviderHelper {
|
|
|
67
40
|
return publicKey ? publicKey.toString() : Promise.resolve(undefined);
|
|
68
41
|
});
|
|
69
42
|
}
|
|
70
|
-
connectWithName(name) {
|
|
43
|
+
static connectWithName(name) {
|
|
71
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
72
45
|
const provider = this.findProvider(name);
|
|
73
46
|
if (!provider) {
|
|
@@ -82,7 +55,7 @@ class SolProviderHelper {
|
|
|
82
55
|
}
|
|
83
56
|
});
|
|
84
57
|
}
|
|
85
|
-
signMessageWithName(messageToSign, name) {
|
|
58
|
+
static signMessageWithName(messageToSign, name) {
|
|
86
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
87
60
|
const walletAddress = yield this.fetchPublicAddressWithName(name);
|
|
88
61
|
if (!walletAddress) {
|
|
@@ -99,36 +72,35 @@ class SolProviderHelper {
|
|
|
99
72
|
}));
|
|
100
73
|
});
|
|
101
74
|
}
|
|
102
|
-
_setupEventListeners(listeners, web3Provider) {
|
|
75
|
+
static _setupEventListeners(listeners, web3Provider) {
|
|
103
76
|
const handleAccountChange = (address) => __awaiter(this, void 0, void 0, function* () {
|
|
104
|
-
var
|
|
77
|
+
var _b, _c, _d;
|
|
105
78
|
if (!address) {
|
|
106
79
|
yield (web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.connect());
|
|
107
|
-
if ((
|
|
108
|
-
(
|
|
80
|
+
if ((_b = web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.publicKey) === null || _b === void 0 ? void 0 : _b.toString()) {
|
|
81
|
+
(_c = listeners.onAccountChange) === null || _c === void 0 ? void 0 : _c.call(listeners, [web3Provider.publicKey.toString()]);
|
|
109
82
|
}
|
|
110
83
|
return;
|
|
111
84
|
}
|
|
112
85
|
if (address.toString()) {
|
|
113
|
-
yield ((
|
|
86
|
+
yield ((_d = listeners.onAccountChange) === null || _d === void 0 ? void 0 : _d.call(listeners, [address.toString()]));
|
|
114
87
|
}
|
|
115
88
|
});
|
|
116
89
|
const handleDisconnect = () => __awaiter(this, void 0, void 0, function* () {
|
|
117
|
-
var
|
|
118
|
-
yield ((
|
|
90
|
+
var _e;
|
|
91
|
+
yield ((_e = listeners.onDisconnect) === null || _e === void 0 ? void 0 : _e.call(listeners));
|
|
119
92
|
});
|
|
120
93
|
web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.on('accountChanged', handleAccountChange);
|
|
121
94
|
web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.on('disconnect', handleDisconnect);
|
|
122
|
-
return () => { };
|
|
123
95
|
}
|
|
124
|
-
_teardownEventListeners(name) {
|
|
96
|
+
static _teardownEventListeners(name) {
|
|
125
97
|
const web3Provider = this.findProvider(name);
|
|
126
98
|
if (!web3Provider) {
|
|
127
99
|
return;
|
|
128
100
|
}
|
|
129
101
|
web3Provider.removeAllListeners();
|
|
130
102
|
}
|
|
131
|
-
getConnectedAccountsWithName(name) {
|
|
103
|
+
static getConnectedAccountsWithName(name) {
|
|
132
104
|
return __awaiter(this, void 0, void 0, function* () {
|
|
133
105
|
const provider = this.findProvider(name);
|
|
134
106
|
if (!provider) {
|
|
@@ -155,6 +127,32 @@ class SolProviderHelper {
|
|
|
155
127
|
}
|
|
156
128
|
});
|
|
157
129
|
}
|
|
158
|
-
}
|
|
130
|
+
}
|
|
131
|
+
_a = SolProviderHelper;
|
|
132
|
+
SolProviderHelper.GlowProvider = () => _a.installedProviderLookup([{ flag: 'isGlow', value: true }]);
|
|
133
|
+
SolProviderHelper.CoinbaseProvider = () => _a.findSolanaProviders(window.coinbaseSolana)[0];
|
|
134
|
+
SolProviderHelper.PhantomProvider = () => _a.installedProviderLookup([
|
|
135
|
+
{ flag: 'isPhantom', value: true },
|
|
136
|
+
{ flag: 'isBraveWallet', value: false },
|
|
137
|
+
{ flag: 'isExodus', value: false },
|
|
138
|
+
]);
|
|
139
|
+
SolProviderHelper.SolflareProvider = () => _a.installedProviderLookup([{ flag: 'isSolflare', value: true }]);
|
|
140
|
+
SolProviderHelper.BraveProvider = () => _a.installedProviderLookup([
|
|
141
|
+
{ flag: 'isPhantom', value: true },
|
|
142
|
+
{ flag: 'isBraveWallet', value: true },
|
|
143
|
+
]);
|
|
144
|
+
SolProviderHelper.ExodusProvider = () => _a.installedProviderLookup([
|
|
145
|
+
{ flag: 'isPhantom', value: true },
|
|
146
|
+
{ flag: 'isExodus', value: true },
|
|
147
|
+
]);
|
|
148
|
+
SolProviderHelper.providers = {
|
|
149
|
+
bravesol: _a.BraveProvider,
|
|
150
|
+
coinbasesolana: _a.CoinbaseProvider,
|
|
151
|
+
exodussol: _a.ExodusProvider,
|
|
152
|
+
glow: _a.GlowProvider,
|
|
153
|
+
phantom: _a.PhantomProvider,
|
|
154
|
+
phantomledger: _a.PhantomProvider,
|
|
155
|
+
solflare: _a.SolflareProvider,
|
|
156
|
+
};
|
|
159
157
|
|
|
160
158
|
export { SolProviderHelper };
|
|
@@ -6,7 +6,7 @@ var tslib = require('tslib');
|
|
|
6
6
|
var web3_js = require('@solana/web3.js');
|
|
7
7
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
8
8
|
var rpcProviders = require('@dynamic-labs/rpc-providers');
|
|
9
|
-
var
|
|
9
|
+
var utils = require('@dynamic-labs/utils');
|
|
10
10
|
|
|
11
11
|
class SolWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
12
12
|
constructor({ solNetworks, chainRpcProviders }) {
|
|
@@ -37,7 +37,7 @@ class SolWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
37
37
|
var _a;
|
|
38
38
|
const [network] = this.solNetworks;
|
|
39
39
|
if (!network) {
|
|
40
|
-
throw new
|
|
40
|
+
throw new utils.DynamicError('No enabled networks');
|
|
41
41
|
}
|
|
42
42
|
const rpcUrl = ((_a = network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || network.rpcUrls[0];
|
|
43
43
|
return new web3_js.Connection(rpcUrl, 'confirmed');
|
|
@@ -2,7 +2,7 @@ import { __awaiter } from 'tslib';
|
|
|
2
2
|
import { Connection, PublicKey } from '@solana/web3.js';
|
|
3
3
|
import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
4
4
|
import { ProviderChain } from '@dynamic-labs/rpc-providers';
|
|
5
|
-
import { DynamicError } from '
|
|
5
|
+
import { DynamicError } from '@dynamic-labs/utils';
|
|
6
6
|
|
|
7
7
|
class SolWalletConnector extends WalletConnectorBase {
|
|
8
8
|
constructor({ solNetworks, chainRpcProviders }) {
|