@dynamic-labs/multi-wallet 0.17.0-RC.1 → 0.17.0-RC.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +114 -0
- package/package.json +11 -14
- package/src/index.cjs +0 -64
- package/src/index.d.ts +0 -15
- package/src/index.js +1 -20
- package/src/multi-wallet.cjs +45 -155
- package/src/multi-wallet.d.ts +0 -3
- package/src/multi-wallet.js +43 -152
- package/src/types.d.ts +9 -49
- package/src/utils/convertors.cjs +0 -7
- package/src/utils/convertors.d.ts +0 -1
- package/src/utils/convertors.js +1 -7
- package/src/utils/getApiProviders.cjs +15 -0
- package/src/utils/getApiProviders.d.ts +10 -0
- package/src/utils/getApiProviders.js +11 -0
- package/src/utils/message.cjs +3 -4
- package/src/utils/message.d.ts +2 -2
- package/src/utils/message.js +1 -2
- package/src/wallets/constants.cjs +0 -2
- package/src/wallets/constants.js +1 -2
- package/src/wallets/cosmos/KeplrWalletConnect.cjs +21 -21
- package/src/wallets/cosmos/KeplrWalletConnect.d.ts +11 -7
- package/src/wallets/cosmos/KeplrWalletConnect.js +13 -13
- package/src/wallets/cosmos/KeplrWalletConnector.cjs +21 -6
- package/src/wallets/cosmos/KeplrWalletConnector.d.ts +10 -6
- package/src/wallets/cosmos/KeplrWalletConnector.js +21 -6
- package/src/wallets/{clients/walletConnect/walletConnect.cjs → cosmos/wcClient.lib.cjs} +38 -101
- package/src/wallets/{clients/walletConnect/walletConnect.d.ts → cosmos/wcClient.lib.d.ts} +8 -10
- package/src/wallets/{clients/walletConnect/walletConnect.js → cosmos/wcClient.lib.js} +36 -97
- package/src/wallets/flow/FlowWalletConnector.cjs +7 -8
- package/src/wallets/flow/FlowWalletConnector.js +2 -3
- package/src/wallets/flow/lilico.cjs +2 -2
- package/src/wallets/flow/lilico.js +1 -1
- package/src/wallets/starknet/braavos.cjs +2 -2
- package/src/wallets/starknet/braavos.js +1 -1
- package/src/wallets/starknet/starknetWalletConnector.cjs +5 -6
- package/src/wallets/starknet/starknetWalletConnector.js +2 -3
- package/src/wallets/window.d.ts +0 -77
- package/src/errors.cjs +0 -65
- package/src/errors.d.ts +0 -30
- package/src/errors.js +0 -53
- package/src/rpcProviders.cjs +0 -76
- package/src/rpcProviders.d.ts +0 -5
- package/src/rpcProviders.js +0 -69
- package/src/utils/CancellablePromise/CancellablePromise.cjs +0 -33
- package/src/utils/CancellablePromise/CancellablePromise.d.ts +0 -9
- package/src/utils/CancellablePromise/CancellablePromise.js +0 -29
- package/src/utils/CancellablePromise/index.d.ts +0 -1
- package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.cjs +0 -54
- package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.d.ts +0 -3
- package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js +0 -50
- package/src/utils/assignConfirmationScreenToProvider/index.d.ts +0 -1
- package/src/utils/encoding.cjs +0 -18
- package/src/utils/encoding.d.ts +0 -4
- package/src/utils/encoding.js +0 -12
- package/src/utils/extractNonce.cjs +0 -13
- package/src/utils/extractNonce.d.ts +0 -1
- package/src/utils/extractNonce.js +0 -9
- package/src/utils/getChainInfo/getChainInfo.cjs +0 -59
- package/src/utils/getChainInfo/getChainInfo.d.ts +0 -2
- package/src/utils/getChainInfo/getChainInfo.js +0 -55
- package/src/utils/getChainInfo/index.d.ts +0 -1
- package/src/utils/getWalletConnectorByName.cjs +0 -19
- package/src/utils/getWalletConnectorByName.d.ts +0 -2
- package/src/utils/getWalletConnectorByName.js +0 -15
- package/src/utils/isEmailOTPWalletConnector/index.d.ts +0 -1
- package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.cjs +0 -7
- package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.d.ts +0 -2
- package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.js +0 -3
- package/src/utils/isEmailWalletConnector/index.d.ts +0 -1
- package/src/utils/isEmailWalletConnector/isEmailWalletConnector.cjs +0 -7
- package/src/utils/isEmailWalletConnector/isEmailWalletConnector.d.ts +0 -2
- package/src/utils/isEmailWalletConnector/isEmailWalletConnector.js +0 -3
- package/src/utils/isFunction/index.d.ts +0 -1
- package/src/utils/isFunction/isFunction.cjs +0 -8
- package/src/utils/isFunction/isFunction.d.ts +0 -1
- package/src/utils/isFunction/isFunction.js +0 -4
- package/src/utils/isMobile.cjs +0 -54
- package/src/utils/isMobile.d.ts +0 -13
- package/src/utils/isMobile.js +0 -46
- package/src/utils/isSameAddress/index.d.ts +0 -1
- package/src/utils/isSameAddress/isSameAddress.cjs +0 -9
- package/src/utils/isSameAddress/isSameAddress.d.ts +0 -1
- package/src/utils/isSameAddress/isSameAddress.js +0 -5
- package/src/utils/isSameAddress/utils/index.d.ts +0 -1
- package/src/utils/isSameAddress/utils/normalizeAddress/index.d.ts +0 -1
- package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.cjs +0 -17
- package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.d.ts +0 -1
- package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.js +0 -13
- package/src/utils/isSocialWalletConnector/index.d.ts +0 -1
- package/src/utils/isSocialWalletConnector/isSocialWalletConnector.cjs +0 -7
- package/src/utils/isSocialWalletConnector/isSocialWalletConnector.d.ts +0 -2
- package/src/utils/isSocialWalletConnector/isSocialWalletConnector.js +0 -3
- package/src/utils/isUnsupportedProviderError/index.d.ts +0 -1
- package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs +0 -13
- package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.d.ts +0 -6
- package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.js +0 -9
- package/src/utils/localStorageAsync.cjs +0 -28
- package/src/utils/localStorageAsync.d.ts +0 -3
- package/src/utils/localStorageAsync.js +0 -22
- package/src/utils/logger.cjs +0 -9
- package/src/utils/logger.d.ts +0 -2
- package/src/utils/logger.js +0 -5
- package/src/utils/normalizeWalletName/index.d.ts +0 -1
- package/src/utils/normalizeWalletName/normalizeWalletName.cjs +0 -7
- package/src/utils/normalizeWalletName/normalizeWalletName.d.ts +0 -1
- package/src/utils/normalizeWalletName/normalizeWalletName.js +0 -3
- package/src/utils/shouldLowercaseAddress.cjs +0 -11
- package/src/utils/shouldLowercaseAddress.d.ts +0 -1
- package/src/utils/shouldLowercaseAddress.js +0 -7
- package/src/utils/walletConnect.cjs +0 -30
- package/src/utils/walletConnect.d.ts +0 -4
- package/src/utils/walletConnect.js +0 -26
- package/src/wallets/ProviderLookup.cjs +0 -18
- package/src/wallets/ProviderLookup.d.ts +0 -4
- package/src/wallets/ProviderLookup.js +0 -14
- package/src/wallets/algorand/MyAlgoWalletConnector.cjs +0 -149
- package/src/wallets/algorand/MyAlgoWalletConnector.d.ts +0 -21
- package/src/wallets/algorand/MyAlgoWalletConnector.js +0 -143
- package/src/wallets/algorand/myalgoSigner.cjs +0 -24
- package/src/wallets/algorand/myalgoSigner.d.ts +0 -21
- package/src/wallets/algorand/myalgoSigner.js +0 -20
- package/src/wallets/clients/coinbase/coinbase.cjs +0 -73
- package/src/wallets/clients/coinbase/coinbase.d.ts +0 -6
- package/src/wallets/clients/coinbase/coinbase.js +0 -66
- package/src/wallets/clients/coinbase/index.d.ts +0 -2
- package/src/wallets/clients/coinbase/types.d.ts +0 -14
- package/src/wallets/clients/walletConnect/index.d.ts +0 -1
- package/src/wallets/clients/walletConnect/types.d.ts +0 -4
- package/src/wallets/cosmos/getKeplrConnector.cjs +0 -18
- package/src/wallets/cosmos/getKeplrConnector.d.ts +0 -6
- package/src/wallets/cosmos/getKeplrConnector.js +0 -14
- package/src/wallets/ethereum/BloctoEvm.cjs +0 -111
- package/src/wallets/ethereum/BloctoEvm.d.ts +0 -25
- package/src/wallets/ethereum/BloctoEvm.js +0 -105
- package/src/wallets/ethereum/EthWalletConnector.cjs +0 -191
- package/src/wallets/ethereum/EthWalletConnector.d.ts +0 -35
- package/src/wallets/ethereum/EthWalletConnector.js +0 -187
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +0 -63
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +0 -12
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +0 -59
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/index.d.ts +0 -1
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +0 -62
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.d.ts +0 -11
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +0 -58
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/index.d.ts +0 -1
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +0 -102
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +0 -33
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +0 -98
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.d.ts +0 -2
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -55
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.d.ts +0 -12
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -51
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/index.d.ts +0 -1
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +0 -175
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +0 -53
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +0 -171
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/index.d.ts +0 -2
- package/src/wallets/ethereum/MagicConnector/index.d.ts +0 -5
- package/src/wallets/ethereum/coinbase.cjs +0 -65
- package/src/wallets/ethereum/coinbase.d.ts +0 -26
- package/src/wallets/ethereum/coinbase.js +0 -63
- package/src/wallets/ethereum/ethProviderHelper.cjs +0 -197
- package/src/wallets/ethereum/ethProviderHelper.d.ts +0 -40
- package/src/wallets/ethereum/ethProviderHelper.js +0 -193
- package/src/wallets/ethereum/evm-network.cjs +0 -20
- package/src/wallets/ethereum/evm-network.d.ts +0 -22
- package/src/wallets/ethereum/evm-network.js +0 -16
- package/src/wallets/ethereum/fortmatic.cjs +0 -75
- package/src/wallets/ethereum/fortmatic.d.ts +0 -26
- package/src/wallets/ethereum/fortmatic.js +0 -69
- package/src/wallets/ethereum/injected/BloctoInjected.cjs +0 -13
- package/src/wallets/ethereum/injected/BloctoInjected.d.ts +0 -6
- package/src/wallets/ethereum/injected/BloctoInjected.js +0 -11
- package/src/wallets/ethereum/injected/BraveEvm.cjs +0 -13
- package/src/wallets/ethereum/injected/BraveEvm.d.ts +0 -6
- package/src/wallets/ethereum/injected/BraveEvm.js +0 -11
- package/src/wallets/ethereum/injected/Dawn.cjs +0 -13
- package/src/wallets/ethereum/injected/Dawn.d.ts +0 -6
- package/src/wallets/ethereum/injected/Dawn.js +0 -11
- package/src/wallets/ethereum/injected/ExodusEvm.cjs +0 -13
- package/src/wallets/ethereum/injected/ExodusEvm.d.ts +0 -6
- package/src/wallets/ethereum/injected/ExodusEvm.js +0 -11
- package/src/wallets/ethereum/injected/Frame.cjs +0 -13
- package/src/wallets/ethereum/injected/Frame.d.ts +0 -6
- package/src/wallets/ethereum/injected/Frame.js +0 -11
- package/src/wallets/ethereum/injected/GameStop.cjs +0 -13
- package/src/wallets/ethereum/injected/GameStop.d.ts +0 -6
- package/src/wallets/ethereum/injected/GameStop.js +0 -11
- package/src/wallets/ethereum/injected/Opera.cjs +0 -13
- package/src/wallets/ethereum/injected/Opera.d.ts +0 -6
- package/src/wallets/ethereum/injected/Opera.js +0 -11
- package/src/wallets/ethereum/injected/PhantomEvm.cjs +0 -37
- package/src/wallets/ethereum/injected/PhantomEvm.d.ts +0 -7
- package/src/wallets/ethereum/injected/PhantomEvm.js +0 -35
- package/src/wallets/ethereum/injected/Trust.cjs +0 -13
- package/src/wallets/ethereum/injected/Trust.d.ts +0 -6
- package/src/wallets/ethereum/injected/Trust.js +0 -11
- package/src/wallets/ethereum/injected/UnknownInjectedWallet.cjs +0 -13
- package/src/wallets/ethereum/injected/UnknownInjectedWallet.d.ts +0 -6
- package/src/wallets/ethereum/injected/UnknownInjectedWallet.js +0 -11
- package/src/wallets/ethereum/injected/Zerion.cjs +0 -13
- package/src/wallets/ethereum/injected/Zerion.d.ts +0 -6
- package/src/wallets/ethereum/injected/Zerion.js +0 -11
- package/src/wallets/ethereum/meta-mask.cjs +0 -63
- package/src/wallets/ethereum/meta-mask.d.ts +0 -26
- package/src/wallets/ethereum/meta-mask.js +0 -61
- package/src/wallets/getMobileOrInjectedWallet.cjs +0 -26
- package/src/wallets/getMobileOrInjectedWallet.d.ts +0 -8
- package/src/wallets/getMobileOrInjectedWallet.js +0 -22
- package/src/wallets/getWalletConnectConnector.cjs +0 -19
- package/src/wallets/getWalletConnectConnector.d.ts +0 -8
- package/src/wallets/getWalletConnectConnector.js +0 -15
- package/src/wallets/solana/CoinbaseSolana.cjs +0 -54
- package/src/wallets/solana/CoinbaseSolana.d.ts +0 -17
- package/src/wallets/solana/CoinbaseSolana.js +0 -52
- package/src/wallets/solana/glow.cjs +0 -51
- package/src/wallets/solana/glow.d.ts +0 -16
- package/src/wallets/solana/glow.js +0 -49
- package/src/wallets/solana/injected/BraveSol.cjs +0 -18
- package/src/wallets/solana/injected/BraveSol.d.ts +0 -6
- package/src/wallets/solana/injected/BraveSol.js +0 -16
- package/src/wallets/solana/injected/ExodusSol.cjs +0 -12
- package/src/wallets/solana/injected/ExodusSol.d.ts +0 -5
- package/src/wallets/solana/injected/ExodusSol.js +0 -10
- package/src/wallets/solana/phantom-ledger.cjs +0 -71
- package/src/wallets/solana/phantom-ledger.d.ts +0 -16
- package/src/wallets/solana/phantom-ledger.js +0 -65
- package/src/wallets/solana/phantom.cjs +0 -74
- package/src/wallets/solana/phantom.d.ts +0 -17
- package/src/wallets/solana/phantom.js +0 -72
- package/src/wallets/solana/slope.cjs +0 -96
- package/src/wallets/solana/slope.d.ts +0 -27
- package/src/wallets/solana/slope.js +0 -94
- package/src/wallets/solana/solProviderHelper.cjs +0 -164
- package/src/wallets/solana/solProviderHelper.d.ts +0 -29
- package/src/wallets/solana/solProviderHelper.js +0 -160
- package/src/wallets/solana/solWalletConnector.cjs +0 -57
- package/src/wallets/solana/solWalletConnector.d.ts +0 -18
- package/src/wallets/solana/solWalletConnector.js +0 -53
- package/src/wallets/solana/solflare.cjs +0 -65
- package/src/wallets/solana/solflare.d.ts +0 -14
- package/src/wallets/solana/solflare.js +0 -63
- package/src/wallets/walletConnect/index.d.ts +0 -2
- package/src/wallets/walletConnect/walletConnect.cjs +0 -130
- package/src/wallets/walletConnect/walletConnect.d.ts +0 -34
- package/src/wallets/walletConnect/walletConnect.js +0 -124
- package/src/wallets/walletConnect/walletConnectV2.cjs +0 -268
- package/src/wallets/walletConnect/walletConnectV2.d.ts +0 -38
- package/src/wallets/walletConnect/walletConnectV2.js +0 -262
- package/src/wallets/walletConnect/zerion.d.ts +0 -8
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var tslib = require('tslib');
|
|
4
|
-
var ethProviderHelper = require('./ethProviderHelper.cjs');
|
|
5
|
-
var EthWalletConnector = require('./EthWalletConnector.cjs');
|
|
6
|
-
|
|
7
|
-
class MetaMask extends EthWalletConnector.EthWalletConnector {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.name = 'MetaMask';
|
|
11
|
-
this.supportedChains = ['ETH', 'EVM'];
|
|
12
|
-
this.connectedChain = 'EVM';
|
|
13
|
-
this.ethProviderHelper = new ethProviderHelper.EthProviderHelper();
|
|
14
|
-
}
|
|
15
|
-
setupEventListeners(listeners) {
|
|
16
|
-
return this.ethProviderHelper._setupEventListeners(listeners, this.getWeb3Provider());
|
|
17
|
-
}
|
|
18
|
-
teardownEventListeners() {
|
|
19
|
-
return this.ethProviderHelper._teardownEventListeners(this.name);
|
|
20
|
-
}
|
|
21
|
-
getWeb3Provider() {
|
|
22
|
-
return this.ethProviderHelper.findProvider(this.name);
|
|
23
|
-
}
|
|
24
|
-
isInstalledOnBrowser() {
|
|
25
|
-
return this.ethProviderHelper.isInstalledHelper(this.name);
|
|
26
|
-
}
|
|
27
|
-
connect() {
|
|
28
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
yield this.fetchPublicAddress();
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
fetchPublicAddress() {
|
|
33
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
return this.ethProviderHelper.fetchPublicAddressWithName(this.name);
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
signMessage(messageToSign) {
|
|
38
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
return this.ethProviderHelper.signMessageWithName(messageToSign, this.name);
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
proveOwnership(messageToSign) {
|
|
43
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
return this.signMessage(messageToSign);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
endSession() {
|
|
48
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
// nothing to do on browser-based metamask
|
|
50
|
-
return;
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
providerSwitchNetwork({ network, provider, }) {
|
|
54
|
-
const _super = Object.create(null, {
|
|
55
|
-
providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
|
|
56
|
-
});
|
|
57
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
return _super.providerSwitchNetwork.call(this, { network, provider });
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
module.exports = MetaMask;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ethers } from 'ethers';
|
|
2
|
-
import { Chain, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
-
import { EthProviderHelper } from './ethProviderHelper';
|
|
4
|
-
import { EthWalletConnector } from './EthWalletConnector';
|
|
5
|
-
import { EvmNetwork } from './evm-network';
|
|
6
|
-
declare class MetaMask extends EthWalletConnector {
|
|
7
|
-
name: string;
|
|
8
|
-
supportedChains: Chain[];
|
|
9
|
-
connectedChain: Chain;
|
|
10
|
-
ethProviderHelper: EthProviderHelper;
|
|
11
|
-
publicAddress: string | undefined;
|
|
12
|
-
setupEventListeners(listeners: WalletEventListeners): () => void;
|
|
13
|
-
teardownEventListeners(): void;
|
|
14
|
-
getWeb3Provider(): ethers.providers.Web3Provider | undefined;
|
|
15
|
-
isInstalledOnBrowser(): boolean;
|
|
16
|
-
connect(): Promise<void>;
|
|
17
|
-
fetchPublicAddress(): Promise<string | undefined>;
|
|
18
|
-
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
19
|
-
proveOwnership(messageToSign: string): Promise<string | undefined>;
|
|
20
|
-
endSession(): Promise<void>;
|
|
21
|
-
providerSwitchNetwork({ network, provider, }: {
|
|
22
|
-
network: EvmNetwork;
|
|
23
|
-
provider: ethers.providers.Web3Provider;
|
|
24
|
-
}): Promise<void>;
|
|
25
|
-
}
|
|
26
|
-
export default MetaMask;
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from 'tslib';
|
|
2
|
-
import { EthProviderHelper } from './ethProviderHelper.js';
|
|
3
|
-
import { EthWalletConnector } from './EthWalletConnector.js';
|
|
4
|
-
|
|
5
|
-
class MetaMask extends EthWalletConnector {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
this.name = 'MetaMask';
|
|
9
|
-
this.supportedChains = ['ETH', 'EVM'];
|
|
10
|
-
this.connectedChain = 'EVM';
|
|
11
|
-
this.ethProviderHelper = new EthProviderHelper();
|
|
12
|
-
}
|
|
13
|
-
setupEventListeners(listeners) {
|
|
14
|
-
return this.ethProviderHelper._setupEventListeners(listeners, this.getWeb3Provider());
|
|
15
|
-
}
|
|
16
|
-
teardownEventListeners() {
|
|
17
|
-
return this.ethProviderHelper._teardownEventListeners(this.name);
|
|
18
|
-
}
|
|
19
|
-
getWeb3Provider() {
|
|
20
|
-
return this.ethProviderHelper.findProvider(this.name);
|
|
21
|
-
}
|
|
22
|
-
isInstalledOnBrowser() {
|
|
23
|
-
return this.ethProviderHelper.isInstalledHelper(this.name);
|
|
24
|
-
}
|
|
25
|
-
connect() {
|
|
26
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
yield this.fetchPublicAddress();
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
fetchPublicAddress() {
|
|
31
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
return this.ethProviderHelper.fetchPublicAddressWithName(this.name);
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
signMessage(messageToSign) {
|
|
36
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
return this.ethProviderHelper.signMessageWithName(messageToSign, this.name);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
proveOwnership(messageToSign) {
|
|
41
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
return this.signMessage(messageToSign);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
endSession() {
|
|
46
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
// nothing to do on browser-based metamask
|
|
48
|
-
return;
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
providerSwitchNetwork({ network, provider, }) {
|
|
52
|
-
const _super = Object.create(null, {
|
|
53
|
-
providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
|
|
54
|
-
});
|
|
55
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
return _super.providerSwitchNetwork.call(this, { network, provider });
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export { MetaMask as default };
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var walletConnect = require('./walletConnect/walletConnect.cjs');
|
|
6
|
-
var walletConnectV2 = require('./walletConnect/walletConnectV2.cjs');
|
|
7
|
-
|
|
8
|
-
const getMobileOrInjectedWallet = ({ evmNetworks, injectedWallet, isWalletConnectV2 = false, walletConnectName, }) => {
|
|
9
|
-
if (injectedWallet.isInstalledOnBrowser()) {
|
|
10
|
-
return injectedWallet;
|
|
11
|
-
}
|
|
12
|
-
else if (isWalletConnectV2) {
|
|
13
|
-
return new walletConnectV2({
|
|
14
|
-
evmNetworks,
|
|
15
|
-
walletName: walletConnectName,
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
return new walletConnect({
|
|
20
|
-
evmNetworks,
|
|
21
|
-
walletName: walletConnectName,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
exports.getMobileOrInjectedWallet = getMobileOrInjectedWallet;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { WalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
2
|
-
import { EvmNetwork } from './ethereum/evm-network';
|
|
3
|
-
export declare const getMobileOrInjectedWallet: ({ evmNetworks, injectedWallet, isWalletConnectV2, walletConnectName, }: {
|
|
4
|
-
evmNetworks: EvmNetwork[];
|
|
5
|
-
injectedWallet: WalletConnector;
|
|
6
|
-
isWalletConnectV2?: boolean | undefined;
|
|
7
|
-
walletConnectName: string;
|
|
8
|
-
}) => WalletConnector;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import WalletConnect from './walletConnect/walletConnect.js';
|
|
2
|
-
import WalletConnectV2 from './walletConnect/walletConnectV2.js';
|
|
3
|
-
|
|
4
|
-
const getMobileOrInjectedWallet = ({ evmNetworks, injectedWallet, isWalletConnectV2 = false, walletConnectName, }) => {
|
|
5
|
-
if (injectedWallet.isInstalledOnBrowser()) {
|
|
6
|
-
return injectedWallet;
|
|
7
|
-
}
|
|
8
|
-
else if (isWalletConnectV2) {
|
|
9
|
-
return new WalletConnectV2({
|
|
10
|
-
evmNetworks,
|
|
11
|
-
walletName: walletConnectName,
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
return new WalletConnect({
|
|
16
|
-
evmNetworks,
|
|
17
|
-
walletName: walletConnectName,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export { getMobileOrInjectedWallet };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var walletConnect = require('./walletConnect/walletConnect.cjs');
|
|
6
|
-
var walletConnectV2 = require('./walletConnect/walletConnectV2.cjs');
|
|
7
|
-
|
|
8
|
-
const getWalletConnectConnector = ({ evmNetworks, isWalletConnectV2Enabled, projectId, }) => isWalletConnectV2Enabled
|
|
9
|
-
? new walletConnectV2({
|
|
10
|
-
evmNetworks,
|
|
11
|
-
projectId,
|
|
12
|
-
walletName: 'WalletConnect',
|
|
13
|
-
})
|
|
14
|
-
: new walletConnect({
|
|
15
|
-
evmNetworks,
|
|
16
|
-
walletName: 'WalletConnect',
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
exports.getWalletConnectConnector = getWalletConnectConnector;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { EvmNetwork } from './ethereum/evm-network';
|
|
2
|
-
import WalletConnect from './walletConnect';
|
|
3
|
-
import WalletConnectV2 from './walletConnect/walletConnectV2';
|
|
4
|
-
export declare const getWalletConnectConnector: ({ evmNetworks, isWalletConnectV2Enabled, projectId, }: {
|
|
5
|
-
evmNetworks: EvmNetwork[];
|
|
6
|
-
isWalletConnectV2Enabled: boolean;
|
|
7
|
-
projectId?: string | undefined;
|
|
8
|
-
}) => WalletConnectV2 | WalletConnect;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import WalletConnect from './walletConnect/walletConnect.js';
|
|
2
|
-
import WalletConnectV2 from './walletConnect/walletConnectV2.js';
|
|
3
|
-
|
|
4
|
-
const getWalletConnectConnector = ({ evmNetworks, isWalletConnectV2Enabled, projectId, }) => isWalletConnectV2Enabled
|
|
5
|
-
? new WalletConnectV2({
|
|
6
|
-
evmNetworks,
|
|
7
|
-
projectId,
|
|
8
|
-
walletName: 'WalletConnect',
|
|
9
|
-
})
|
|
10
|
-
: new WalletConnect({
|
|
11
|
-
evmNetworks,
|
|
12
|
-
walletName: 'WalletConnect',
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
export { getWalletConnectConnector };
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var tslib = require('tslib');
|
|
4
|
-
var solWalletConnector = require('./solWalletConnector.cjs');
|
|
5
|
-
var solProviderHelper = require('./solProviderHelper.cjs');
|
|
6
|
-
|
|
7
|
-
class CoinbaseSolana extends solWalletConnector.SolWalletConnector {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.name = 'CoinbaseSolana';
|
|
11
|
-
this.solProviderHelper = new solProviderHelper.SolProviderHelper();
|
|
12
|
-
}
|
|
13
|
-
setupEventListeners(listeners) {
|
|
14
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
return this.solProviderHelper._setupEventListeners(listeners, this.solProviderHelper.findProvider(this.name));
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
teardownEventListeners() {
|
|
19
|
-
this.solProviderHelper._teardownEventListeners(this.name);
|
|
20
|
-
}
|
|
21
|
-
connect() {
|
|
22
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
yield this.solProviderHelper.connectWithName(this.name);
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
getSigner() {
|
|
27
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
return this.solProviderHelper.connectWithName(this.name);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
isInstalledOnBrowser() {
|
|
32
|
-
return this.solProviderHelper.isInstalledHelper(this.name);
|
|
33
|
-
}
|
|
34
|
-
fetchPublicAddress() {
|
|
35
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
36
|
-
if (this.isInstalledOnBrowser()) {
|
|
37
|
-
return this.solProviderHelper.fetchPublicAddressWithName(this.name);
|
|
38
|
-
}
|
|
39
|
-
return;
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
signMessage(messageToSign) {
|
|
43
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
return this.solProviderHelper.signMessageWithName(messageToSign, this.name);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
getConnectedAccounts() {
|
|
48
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
return this.solProviderHelper.getConnectedAccountsWithName(this.name);
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
module.exports = CoinbaseSolana;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
|
|
2
|
-
import { ISolana } from '../window';
|
|
3
|
-
import { SolWalletConnector } from './solWalletConnector';
|
|
4
|
-
import { SolProviderHelper } from './solProviderHelper';
|
|
5
|
-
declare class CoinbaseSolana extends SolWalletConnector {
|
|
6
|
-
name: string;
|
|
7
|
-
solProviderHelper: SolProviderHelper;
|
|
8
|
-
setupEventListeners(listeners: WalletEventListeners): Promise<() => void>;
|
|
9
|
-
teardownEventListeners(): void;
|
|
10
|
-
connect(): Promise<void>;
|
|
11
|
-
getSigner(): Promise<ISolana | undefined>;
|
|
12
|
-
isInstalledOnBrowser(): boolean;
|
|
13
|
-
fetchPublicAddress(): Promise<string | undefined>;
|
|
14
|
-
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
15
|
-
getConnectedAccounts(): Promise<string[]>;
|
|
16
|
-
}
|
|
17
|
-
export default CoinbaseSolana;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from 'tslib';
|
|
2
|
-
import { SolWalletConnector } from './solWalletConnector.js';
|
|
3
|
-
import { SolProviderHelper } from './solProviderHelper.js';
|
|
4
|
-
|
|
5
|
-
class CoinbaseSolana extends SolWalletConnector {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
this.name = 'CoinbaseSolana';
|
|
9
|
-
this.solProviderHelper = new SolProviderHelper();
|
|
10
|
-
}
|
|
11
|
-
setupEventListeners(listeners) {
|
|
12
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
13
|
-
return this.solProviderHelper._setupEventListeners(listeners, this.solProviderHelper.findProvider(this.name));
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
teardownEventListeners() {
|
|
17
|
-
this.solProviderHelper._teardownEventListeners(this.name);
|
|
18
|
-
}
|
|
19
|
-
connect() {
|
|
20
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
-
yield this.solProviderHelper.connectWithName(this.name);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
getSigner() {
|
|
25
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
return this.solProviderHelper.connectWithName(this.name);
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
isInstalledOnBrowser() {
|
|
30
|
-
return this.solProviderHelper.isInstalledHelper(this.name);
|
|
31
|
-
}
|
|
32
|
-
fetchPublicAddress() {
|
|
33
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
if (this.isInstalledOnBrowser()) {
|
|
35
|
-
return this.solProviderHelper.fetchPublicAddressWithName(this.name);
|
|
36
|
-
}
|
|
37
|
-
return;
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
signMessage(messageToSign) {
|
|
41
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
return this.solProviderHelper.signMessageWithName(messageToSign, this.name);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
getConnectedAccounts() {
|
|
46
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
return this.solProviderHelper.getConnectedAccountsWithName(this.name);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export { CoinbaseSolana as default };
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var tslib = require('tslib');
|
|
4
|
-
var solWalletConnector = require('./solWalletConnector.cjs');
|
|
5
|
-
var solProviderHelper = require('./solProviderHelper.cjs');
|
|
6
|
-
|
|
7
|
-
class Glow extends solWalletConnector.SolWalletConnector {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.name = 'Glow';
|
|
11
|
-
this.solProviderHelper = new solProviderHelper.SolProviderHelper();
|
|
12
|
-
}
|
|
13
|
-
setupEventListeners(listeners) {
|
|
14
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
return this.solProviderHelper._setupEventListeners(listeners, this.solProviderHelper.findProvider(this.name));
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
teardownEventListeners() {
|
|
19
|
-
this.solProviderHelper._teardownEventListeners(this.name);
|
|
20
|
-
}
|
|
21
|
-
connect() {
|
|
22
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
yield this.solProviderHelper.connectWithName(this.name);
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
getSigner() {
|
|
27
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
return this.solProviderHelper.connectWithName(this.name);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
isInstalledOnBrowser() {
|
|
32
|
-
return this.solProviderHelper.isInstalledHelper(this.name);
|
|
33
|
-
}
|
|
34
|
-
fetchPublicAddress() {
|
|
35
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
36
|
-
return this.solProviderHelper.fetchPublicAddressWithName(this.name);
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
signMessage(messageToSign) {
|
|
40
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
return this.solProviderHelper.signMessageWithName(messageToSign, this.name);
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
getConnectedAccounts() {
|
|
45
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
return this.solProviderHelper.getConnectedAccountsWithName(this.name);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
module.exports = Glow;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
|
|
2
|
-
import { SolWalletConnector } from './solWalletConnector';
|
|
3
|
-
import { SolProviderHelper } from './solProviderHelper';
|
|
4
|
-
declare class Glow extends SolWalletConnector {
|
|
5
|
-
name: string;
|
|
6
|
-
solProviderHelper: SolProviderHelper;
|
|
7
|
-
setupEventListeners(listeners: WalletEventListeners): Promise<() => void>;
|
|
8
|
-
teardownEventListeners(): void;
|
|
9
|
-
connect(): Promise<void>;
|
|
10
|
-
getSigner(): Promise<import("../window").ISolana | undefined>;
|
|
11
|
-
isInstalledOnBrowser(): boolean;
|
|
12
|
-
fetchPublicAddress(): Promise<string | undefined>;
|
|
13
|
-
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
14
|
-
getConnectedAccounts(): Promise<string[]>;
|
|
15
|
-
}
|
|
16
|
-
export default Glow;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from 'tslib';
|
|
2
|
-
import { SolWalletConnector } from './solWalletConnector.js';
|
|
3
|
-
import { SolProviderHelper } from './solProviderHelper.js';
|
|
4
|
-
|
|
5
|
-
class Glow extends SolWalletConnector {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
this.name = 'Glow';
|
|
9
|
-
this.solProviderHelper = new SolProviderHelper();
|
|
10
|
-
}
|
|
11
|
-
setupEventListeners(listeners) {
|
|
12
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
13
|
-
return this.solProviderHelper._setupEventListeners(listeners, this.solProviderHelper.findProvider(this.name));
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
teardownEventListeners() {
|
|
17
|
-
this.solProviderHelper._teardownEventListeners(this.name);
|
|
18
|
-
}
|
|
19
|
-
connect() {
|
|
20
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
-
yield this.solProviderHelper.connectWithName(this.name);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
getSigner() {
|
|
25
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
return this.solProviderHelper.connectWithName(this.name);
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
isInstalledOnBrowser() {
|
|
30
|
-
return this.solProviderHelper.isInstalledHelper(this.name);
|
|
31
|
-
}
|
|
32
|
-
fetchPublicAddress() {
|
|
33
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
return this.solProviderHelper.fetchPublicAddressWithName(this.name);
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
signMessage(messageToSign) {
|
|
38
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
return this.solProviderHelper.signMessageWithName(messageToSign, this.name);
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
getConnectedAccounts() {
|
|
43
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
return this.solProviderHelper.getConnectedAccountsWithName(this.name);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export { Glow as default };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var tslib = require('tslib');
|
|
4
|
-
var phantom = require('../phantom.cjs');
|
|
5
|
-
|
|
6
|
-
class BraveSol extends phantom {
|
|
7
|
-
constructor() {
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this.name = 'BraveSol';
|
|
10
|
-
}
|
|
11
|
-
fetchPublicAddress() {
|
|
12
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
13
|
-
return this.solProviderHelper.fetchPublicAddressWithName(this.name);
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
module.exports = BraveSol;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from 'tslib';
|
|
2
|
-
import Phantom from '../phantom.js';
|
|
3
|
-
|
|
4
|
-
class BraveSol extends Phantom {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.name = 'BraveSol';
|
|
8
|
-
}
|
|
9
|
-
fetchPublicAddress() {
|
|
10
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
11
|
-
return this.solProviderHelper.fetchPublicAddressWithName(this.name);
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export { BraveSol as default };
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var tslib = require('tslib');
|
|
6
|
-
var web3_js = require('@solana/web3.js');
|
|
7
|
-
var errors = require('../../errors.cjs');
|
|
8
|
-
var extractNonce = require('../../utils/extractNonce.cjs');
|
|
9
|
-
var phantom = require('./phantom.cjs');
|
|
10
|
-
|
|
11
|
-
const MEMO_PROGRAM_ID = new web3_js.PublicKey('MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr');
|
|
12
|
-
/**
|
|
13
|
-
* I'm exporting the walletName to use it for DYN-1447. As we only need the wallet name,
|
|
14
|
-
* exporting it in this way, we avoid to instantiate the whole PhantomLedger class every time.
|
|
15
|
-
*/
|
|
16
|
-
const walletName = 'Phantom Ledger';
|
|
17
|
-
class PhantomLedger extends phantom {
|
|
18
|
-
constructor() {
|
|
19
|
-
super(...arguments);
|
|
20
|
-
this.name = walletName;
|
|
21
|
-
this.buildAuthTx = (message) => {
|
|
22
|
-
const transaction = new web3_js.Transaction();
|
|
23
|
-
transaction.add(new web3_js.TransactionInstruction({
|
|
24
|
-
data: Buffer.from(message, 'utf8'),
|
|
25
|
-
keys: [],
|
|
26
|
-
programId: MEMO_PROGRAM_ID,
|
|
27
|
-
}));
|
|
28
|
-
return transaction;
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
signMessage() {
|
|
32
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
throw new errors.NotSupportedError(`Message signing is currently not supported on ${walletName}
|
|
34
|
-
You can use signMessageViaTransaction instead to achieve similar functionality
|
|
35
|
-
by signing a transaction with a memo instruction.
|
|
36
|
-
You can read more about it here https://github.com/solana-labs/solana/issues/21366`);
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
proveOwnership(messageToSign) {
|
|
40
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
const nonce = extractNonce.extractNonce(messageToSign);
|
|
42
|
-
if (!nonce) {
|
|
43
|
-
throw new errors.DynamicError('Nonce missing');
|
|
44
|
-
}
|
|
45
|
-
return this.signMessageViaTransaction(nonce);
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
signMessageViaTransaction(messageToSign) {
|
|
49
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
50
|
-
const address = yield this.fetchPublicAddress();
|
|
51
|
-
if (!address) {
|
|
52
|
-
throw new errors.DynamicError('Address missing');
|
|
53
|
-
}
|
|
54
|
-
const transaction = this.buildAuthTx(messageToSign);
|
|
55
|
-
transaction.feePayer = new web3_js.PublicKey(address);
|
|
56
|
-
transaction.recentBlockhash = (yield this.getWeb3Provider().getLatestBlockhash()).blockhash;
|
|
57
|
-
const signer = yield this.getSigner();
|
|
58
|
-
if (!signer) {
|
|
59
|
-
throw new errors.DynamicError('Signer not found');
|
|
60
|
-
}
|
|
61
|
-
const signedTransaction = yield signer.signTransaction(transaction);
|
|
62
|
-
return JSON.stringify({
|
|
63
|
-
signedTransaction: signedTransaction.serialize(),
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
exports.MEMO_PROGRAM_ID = MEMO_PROGRAM_ID;
|
|
70
|
-
exports["default"] = PhantomLedger;
|
|
71
|
-
exports.walletName = walletName;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { PublicKey } from '@solana/web3.js';
|
|
2
|
-
import Phantom from './phantom';
|
|
3
|
-
export declare const MEMO_PROGRAM_ID: PublicKey;
|
|
4
|
-
/**
|
|
5
|
-
* I'm exporting the walletName to use it for DYN-1447. As we only need the wallet name,
|
|
6
|
-
* exporting it in this way, we avoid to instantiate the whole PhantomLedger class every time.
|
|
7
|
-
*/
|
|
8
|
-
export declare const walletName = "Phantom Ledger";
|
|
9
|
-
declare class PhantomLedger extends Phantom {
|
|
10
|
-
name: string;
|
|
11
|
-
signMessage(): Promise<string | undefined>;
|
|
12
|
-
proveOwnership(messageToSign: string): Promise<string | undefined>;
|
|
13
|
-
signMessageViaTransaction(messageToSign: string): Promise<string>;
|
|
14
|
-
private buildAuthTx;
|
|
15
|
-
}
|
|
16
|
-
export default PhantomLedger;
|