@dynamic-labs/multi-wallet 0.17.0-RC.6 → 0.17.0-RC.8

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.
Files changed (164) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/package.json +8 -6
  3. package/src/index.cjs +0 -18
  4. package/src/index.d.ts +0 -4
  5. package/src/index.js +1 -4
  6. package/src/multi-wallet.cjs +53 -96
  7. package/src/multi-wallet.js +53 -96
  8. package/src/types.d.ts +9 -47
  9. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.d.ts +1 -1
  10. package/src/utils/getApiProviders.cjs +15 -0
  11. package/src/utils/getApiProviders.d.ts +10 -0
  12. package/src/utils/getApiProviders.js +11 -0
  13. package/src/utils/message.cjs +2 -2
  14. package/src/utils/message.d.ts +2 -2
  15. package/src/utils/message.js +1 -1
  16. package/src/utils/walletConnect.cjs +11 -8
  17. package/src/utils/walletConnect.d.ts +4 -4
  18. package/src/utils/walletConnect.js +11 -8
  19. package/src/wallets/algorand/MyAlgoWalletConnector.cjs +3 -3
  20. package/src/wallets/algorand/MyAlgoWalletConnector.js +1 -1
  21. package/src/wallets/clients/coinbase/coinbase.cjs +4 -4
  22. package/src/wallets/clients/coinbase/coinbase.js +1 -1
  23. package/src/wallets/clients/coinbase/types.d.ts +2 -2
  24. package/src/wallets/clients/walletConnect/walletConnect.cjs +20 -46
  25. package/src/wallets/clients/walletConnect/walletConnect.d.ts +1 -3
  26. package/src/wallets/clients/walletConnect/walletConnect.js +18 -43
  27. package/src/wallets/cosmos/KeplrWalletConnect.cjs +18 -16
  28. package/src/wallets/cosmos/KeplrWalletConnect.d.ts +7 -6
  29. package/src/wallets/cosmos/KeplrWalletConnect.js +14 -12
  30. package/src/wallets/cosmos/KeplrWalletConnector.cjs +21 -6
  31. package/src/wallets/cosmos/KeplrWalletConnector.d.ts +10 -5
  32. package/src/wallets/cosmos/KeplrWalletConnector.js +21 -6
  33. package/src/wallets/cosmos/wcClient.lib.cjs +100 -0
  34. package/src/wallets/cosmos/wcClient.lib.d.ts +20 -0
  35. package/src/wallets/cosmos/wcClient.lib.js +87 -0
  36. package/src/wallets/ethereum/BloctoEvm.cjs +10 -12
  37. package/src/wallets/ethereum/BloctoEvm.d.ts +2 -7
  38. package/src/wallets/ethereum/BloctoEvm.js +8 -10
  39. package/src/wallets/ethereum/EthWalletConnector.cjs +34 -19
  40. package/src/wallets/ethereum/EthWalletConnector.d.ts +8 -4
  41. package/src/wallets/ethereum/EthWalletConnector.js +28 -13
  42. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +0 -2
  43. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +0 -2
  44. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +2 -2
  45. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +1 -1
  46. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +14 -38
  47. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +5 -7
  48. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +14 -38
  49. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +10 -4
  50. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +9 -3
  51. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +15 -11
  52. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +9 -8
  53. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +13 -9
  54. package/src/wallets/ethereum/coinbase.cjs +9 -11
  55. package/src/wallets/ethereum/coinbase.d.ts +7 -11
  56. package/src/wallets/ethereum/coinbase.js +10 -12
  57. package/src/wallets/ethereum/ethProviderHelper.cjs +103 -101
  58. package/src/wallets/ethereum/ethProviderHelper.d.ts +24 -31
  59. package/src/wallets/ethereum/ethProviderHelper.js +100 -98
  60. package/src/wallets/ethereum/evm-network.cjs +2 -2
  61. package/src/wallets/ethereum/evm-network.d.ts +1 -17
  62. package/src/wallets/ethereum/evm-network.js +2 -2
  63. package/src/wallets/ethereum/injected/BloctoInjected.cjs +2 -3
  64. package/src/wallets/ethereum/injected/BloctoInjected.d.ts +2 -3
  65. package/src/wallets/ethereum/injected/BloctoInjected.js +2 -3
  66. package/src/wallets/ethereum/injected/BraveEvm.cjs +2 -3
  67. package/src/wallets/ethereum/injected/BraveEvm.d.ts +2 -3
  68. package/src/wallets/ethereum/injected/BraveEvm.js +2 -3
  69. package/src/wallets/ethereum/injected/Dawn.cjs +2 -3
  70. package/src/wallets/ethereum/injected/Dawn.d.ts +2 -3
  71. package/src/wallets/ethereum/injected/Dawn.js +2 -3
  72. package/src/wallets/ethereum/injected/ExodusEvm.cjs +2 -3
  73. package/src/wallets/ethereum/injected/ExodusEvm.d.ts +2 -3
  74. package/src/wallets/ethereum/injected/ExodusEvm.js +2 -3
  75. package/src/wallets/ethereum/injected/Frame.cjs +2 -3
  76. package/src/wallets/ethereum/injected/Frame.d.ts +2 -3
  77. package/src/wallets/ethereum/injected/Frame.js +2 -3
  78. package/src/wallets/ethereum/injected/GameStop.cjs +2 -3
  79. package/src/wallets/ethereum/injected/GameStop.d.ts +2 -3
  80. package/src/wallets/ethereum/injected/GameStop.js +2 -3
  81. package/src/wallets/ethereum/injected/InjectedWalletBase.cjs +74 -0
  82. package/src/wallets/ethereum/{meta-mask.d.ts → injected/InjectedWalletBase.d.ts} +7 -9
  83. package/src/wallets/ethereum/injected/InjectedWalletBase.js +72 -0
  84. package/src/wallets/ethereum/injected/MetaMask.cjs +13 -0
  85. package/src/wallets/ethereum/injected/MetaMask.d.ts +6 -0
  86. package/src/wallets/ethereum/injected/MetaMask.js +11 -0
  87. package/src/wallets/ethereum/injected/Opera.cjs +2 -3
  88. package/src/wallets/ethereum/injected/Opera.d.ts +2 -3
  89. package/src/wallets/ethereum/injected/Opera.js +2 -3
  90. package/src/wallets/ethereum/injected/PhantomEvm.cjs +2 -3
  91. package/src/wallets/ethereum/injected/PhantomEvm.d.ts +2 -3
  92. package/src/wallets/ethereum/injected/PhantomEvm.js +2 -3
  93. package/src/wallets/ethereum/injected/Trust.cjs +3 -3
  94. package/src/wallets/ethereum/injected/Trust.d.ts +3 -3
  95. package/src/wallets/ethereum/injected/Trust.js +3 -3
  96. package/src/wallets/ethereum/injected/UnknownInjectedWallet.cjs +2 -3
  97. package/src/wallets/ethereum/injected/UnknownInjectedWallet.d.ts +2 -3
  98. package/src/wallets/ethereum/injected/UnknownInjectedWallet.js +2 -3
  99. package/src/wallets/ethereum/injected/Zerion.cjs +3 -3
  100. package/src/wallets/ethereum/injected/Zerion.d.ts +3 -3
  101. package/src/wallets/ethereum/injected/Zerion.js +3 -3
  102. package/src/wallets/flow/FlowWalletConnector.cjs +7 -8
  103. package/src/wallets/flow/FlowWalletConnector.js +2 -3
  104. package/src/wallets/getWalletConnectConnector.cjs +7 -10
  105. package/src/wallets/getWalletConnectConnector.d.ts +2 -5
  106. package/src/wallets/getWalletConnectConnector.js +7 -10
  107. package/src/wallets/solana/CoinbaseSolana.cjs +8 -11
  108. package/src/wallets/solana/CoinbaseSolana.d.ts +1 -3
  109. package/src/wallets/solana/CoinbaseSolana.js +8 -11
  110. package/src/wallets/solana/glow.cjs +8 -11
  111. package/src/wallets/solana/glow.d.ts +1 -3
  112. package/src/wallets/solana/glow.js +8 -11
  113. package/src/wallets/solana/injected/BraveSol.cjs +2 -1
  114. package/src/wallets/solana/injected/BraveSol.js +2 -1
  115. package/src/wallets/solana/phantom-ledger.cjs +5 -5
  116. package/src/wallets/solana/phantom-ledger.js +1 -1
  117. package/src/wallets/solana/phantom.cjs +8 -12
  118. package/src/wallets/solana/phantom.d.ts +1 -3
  119. package/src/wallets/solana/phantom.js +8 -12
  120. package/src/wallets/solana/slope.cjs +4 -4
  121. package/src/wallets/solana/slope.js +1 -1
  122. package/src/wallets/solana/solProviderHelper.cjs +47 -48
  123. package/src/wallets/solana/solProviderHelper.d.ts +18 -18
  124. package/src/wallets/solana/solProviderHelper.js +47 -48
  125. package/src/wallets/solana/solWalletConnector.cjs +24 -6
  126. package/src/wallets/solana/solWalletConnector.d.ts +8 -5
  127. package/src/wallets/solana/solWalletConnector.js +23 -5
  128. package/src/wallets/solana/solflare.cjs +6 -7
  129. package/src/wallets/solana/solflare.d.ts +0 -2
  130. package/src/wallets/solana/solflare.js +6 -7
  131. package/src/wallets/starknet/starknetWalletConnector.cjs +5 -6
  132. package/src/wallets/starknet/starknetWalletConnector.js +2 -3
  133. package/src/wallets/walletConnect/index.d.ts +1 -1
  134. package/src/wallets/walletConnect/walletConnect.cjs +8 -7
  135. package/src/wallets/walletConnect/walletConnect.d.ts +7 -7
  136. package/src/wallets/walletConnect/walletConnect.js +6 -5
  137. package/src/wallets/walletConnect/walletConnectV2.cjs +14 -14
  138. package/src/wallets/walletConnect/walletConnectV2.d.ts +7 -7
  139. package/src/wallets/walletConnect/walletConnectV2.js +3 -3
  140. package/src/wallets/walletConnect/zerion.d.ts +2 -4
  141. package/src/errors.cjs +0 -66
  142. package/src/errors.d.ts +0 -34
  143. package/src/errors.js +0 -54
  144. package/src/rpcProviders.cjs +0 -76
  145. package/src/rpcProviders.d.ts +0 -5
  146. package/src/rpcProviders.js +0 -69
  147. package/src/utils/CancellablePromise/CancellablePromise.cjs +0 -33
  148. package/src/utils/CancellablePromise/CancellablePromise.d.ts +0 -9
  149. package/src/utils/CancellablePromise/CancellablePromise.js +0 -29
  150. package/src/utils/CancellablePromise/index.d.ts +0 -1
  151. package/src/utils/logger.cjs +0 -9
  152. package/src/utils/logger.d.ts +0 -2
  153. package/src/utils/logger.js +0 -5
  154. package/src/wallets/cosmos/getKeplrConnector.cjs +0 -18
  155. package/src/wallets/cosmos/getKeplrConnector.d.ts +0 -6
  156. package/src/wallets/cosmos/getKeplrConnector.js +0 -14
  157. package/src/wallets/ethereum/fortmatic.cjs +0 -75
  158. package/src/wallets/ethereum/fortmatic.d.ts +0 -26
  159. package/src/wallets/ethereum/fortmatic.js +0 -69
  160. package/src/wallets/ethereum/meta-mask.cjs +0 -63
  161. package/src/wallets/ethereum/meta-mask.js +0 -61
  162. package/src/wallets/getMobileOrInjectedWallet.cjs +0 -26
  163. package/src/wallets/getMobileOrInjectedWallet.d.ts +0 -8
  164. package/src/wallets/getMobileOrInjectedWallet.js +0 -22
@@ -6,10 +6,8 @@ var tslib = require('tslib');
6
6
  var magicSdk = require('magic-sdk');
7
7
  var ethers = require('ethers');
8
8
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
9
- var errors = require('../../../../errors.cjs');
10
- var logger = require('../../../../utils/logger.cjs');
9
+ var utils = require('@dynamic-labs/utils');
11
10
  var assignConfirmationScreenToProvider = require('../../../../utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.cjs');
12
- var CancellablePromise = require('../../../../utils/CancellablePromise/CancellablePromise.cjs');
13
11
  var MagicClientNetworkHandler = require('../MagicClientNetworkHandler/MagicClientNetworkHandler.cjs');
14
12
 
15
13
  const storedAddressKey = 'dynamic_magic_address';
@@ -17,19 +15,25 @@ class MagicWalletConnector extends walletConnectorCore.WalletConnectorBase {
17
15
  get key() {
18
16
  return 'magiclink';
19
17
  }
20
- constructor({ apiKey, walletUiUtils, evmNetworks, config, }) {
18
+ constructor(opts) {
19
+ var _a, _b, _c, _d;
21
20
  super();
22
21
  this.canConnectViaCustodialService = true;
23
22
  this.connectedChain = 'EVM';
24
23
  this.supportedChains = ['ETH', 'EVM'];
25
24
  this.name = 'Magic Link';
25
+ const apiKey = (_b = (_a = opts.apiProviders) === null || _a === void 0 ? void 0 : _a.magicLink) === null || _b === void 0 ? void 0 : _b.providerProjectId;
26
+ const defaultChainId = (_d = (_c = opts.apiProviders) === null || _c === void 0 ? void 0 : _c.magicLink) === null || _d === void 0 ? void 0 : _d.defaultChainId;
27
+ if (!apiKey) {
28
+ throw new Error('Missing MagicLink configuration. Add your MagicLink API key to your project configuration via the Dynamic Labs dashboard.');
29
+ }
26
30
  this._magicClient = new MagicClientNetworkHandler.MagicClientNetworkHandler({
27
- config,
28
31
  createClient: (config) => new magicSdk.Magic(apiKey, config),
29
- evmNetworks,
32
+ defaultChainId,
33
+ evmNetworks: opts.evmNetworks,
30
34
  });
31
- this.evmNetworks = evmNetworks;
32
- this._walletUiUtils = walletUiUtils;
35
+ this.evmNetworks = utils.parseEvmNetworks(opts.evmNetworks);
36
+ this._walletUiUtils = opts.walletUiUtils;
33
37
  }
34
38
  getDeepLink() {
35
39
  return undefined;
@@ -63,11 +67,11 @@ class MagicWalletConnector extends walletConnectorCore.WalletConnectorBase {
63
67
  const client = this._magicClient.getClient();
64
68
  try {
65
69
  try {
66
- this._currentAuthCancellablePromise = CancellablePromise.CancellablePromise.fromPromise(this.loginWithMagic());
70
+ this._currentAuthCancellablePromise = utils.CancellablePromise.fromPromise(this.loginWithMagic());
67
71
  yield this._currentAuthCancellablePromise;
68
72
  }
69
73
  catch (err) {
70
- logger.logger.error(err);
74
+ walletConnectorCore.logger.error(err);
71
75
  return;
72
76
  }
73
77
  const metadata = yield client.user.getMetadata();
@@ -89,7 +93,7 @@ class MagicWalletConnector extends walletConnectorCore.WalletConnectorBase {
89
93
  return tslib.__awaiter(this, void 0, void 0, function* () {
90
94
  const provider = yield this.getWeb3Provider();
91
95
  if (!provider)
92
- throw new errors.DynamicError('No provider');
96
+ throw new utils.DynamicError('No provider');
93
97
  const signer = provider.getSigner();
94
98
  const userAddress = yield signer.getAddress();
95
99
  return ethers.ethers.utils.formatEther(yield provider.getBalance(userAddress));
@@ -2,14 +2,15 @@ import { LoginWithMagicLinkEvents, Magic, MagicUserMetadata, PromiEvent } from '
2
2
  import { ethers } from 'ethers';
3
3
  import { OAuthExtension, OAuthProvider } from '@magic-ext/oauth';
4
4
  import { Chain, WalletConnectorBase, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
5
- import { WalletUiUtils } from '../../../../types';
6
- import { CancellablePromise } from '../../../../utils/CancellablePromise';
7
- import { MagicLinkConfig, MagicClientNetworkHandler } from '../MagicClientNetworkHandler';
8
- import { EvmNetwork } from './../../evm-network';
5
+ import { EvmNetwork, GenericNetwork, WalletUiUtils } from '@dynamic-labs/types';
6
+ import { CancellablePromise } from '@dynamic-labs/utils';
7
+ import { Provider, ProviderEnum } from '@dynamic-labs/sdk-api';
8
+ import { MagicClientNetworkHandler } from '../MagicClientNetworkHandler';
9
9
  export type MagicConnectorProps = {
10
- apiKey: string;
11
- config?: MagicLinkConfig;
12
- evmNetworks: EvmNetwork[];
10
+ apiProviders: {
11
+ [key in ProviderEnum]?: Provider;
12
+ };
13
+ evmNetworks: GenericNetwork[];
13
14
  walletUiUtils: WalletUiUtils;
14
15
  };
15
16
  export type MagicPromiEvent = PromiEvent<string | null, LoginWithMagicLinkEvents & {
@@ -28,7 +29,7 @@ export declare abstract class MagicWalletConnector extends WalletConnectorBase {
28
29
  _listeners: WalletEventListeners | undefined;
29
30
  _currentAuthCancellablePromise: CancellablePromise<MagicPromiEvent | undefined> | undefined;
30
31
  protected _magicClient: MagicClientNetworkHandler<Magic | Magic<OAuthExtension[]>>;
31
- constructor({ apiKey, walletUiUtils, evmNetworks, config, }: MagicConnectorProps);
32
+ constructor(opts: MagicConnectorProps);
32
33
  abstract loginWithMagic(provider?: OAuthProvider): Promise<MagicPromiEvent | undefined>;
33
34
  getDeepLink(): string | undefined;
34
35
  connect(provider?: OAuthProvider): Promise<void>;
@@ -1,11 +1,9 @@
1
1
  import { __awaiter } from 'tslib';
2
2
  import { Magic } from 'magic-sdk';
3
3
  import { ethers } from 'ethers';
4
- import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
5
- import { DynamicError } from '../../../../errors.js';
6
- import { logger } from '../../../../utils/logger.js';
4
+ import { WalletConnectorBase, logger } from '@dynamic-labs/wallet-connector-core';
5
+ import { parseEvmNetworks, CancellablePromise, DynamicError } from '@dynamic-labs/utils';
7
6
  import { assignConfirmationScreenToProvider } from '../../../../utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js';
8
- import { CancellablePromise } from '../../../../utils/CancellablePromise/CancellablePromise.js';
9
7
  import { MagicClientNetworkHandler } from '../MagicClientNetworkHandler/MagicClientNetworkHandler.js';
10
8
 
11
9
  const storedAddressKey = 'dynamic_magic_address';
@@ -13,19 +11,25 @@ class MagicWalletConnector extends WalletConnectorBase {
13
11
  get key() {
14
12
  return 'magiclink';
15
13
  }
16
- constructor({ apiKey, walletUiUtils, evmNetworks, config, }) {
14
+ constructor(opts) {
15
+ var _a, _b, _c, _d;
17
16
  super();
18
17
  this.canConnectViaCustodialService = true;
19
18
  this.connectedChain = 'EVM';
20
19
  this.supportedChains = ['ETH', 'EVM'];
21
20
  this.name = 'Magic Link';
21
+ const apiKey = (_b = (_a = opts.apiProviders) === null || _a === void 0 ? void 0 : _a.magicLink) === null || _b === void 0 ? void 0 : _b.providerProjectId;
22
+ const defaultChainId = (_d = (_c = opts.apiProviders) === null || _c === void 0 ? void 0 : _c.magicLink) === null || _d === void 0 ? void 0 : _d.defaultChainId;
23
+ if (!apiKey) {
24
+ throw new Error('Missing MagicLink configuration. Add your MagicLink API key to your project configuration via the Dynamic Labs dashboard.');
25
+ }
22
26
  this._magicClient = new MagicClientNetworkHandler({
23
- config,
24
27
  createClient: (config) => new Magic(apiKey, config),
25
- evmNetworks,
28
+ defaultChainId,
29
+ evmNetworks: opts.evmNetworks,
26
30
  });
27
- this.evmNetworks = evmNetworks;
28
- this._walletUiUtils = walletUiUtils;
31
+ this.evmNetworks = parseEvmNetworks(opts.evmNetworks);
32
+ this._walletUiUtils = opts.walletUiUtils;
29
33
  }
30
34
  getDeepLink() {
31
35
  return undefined;
@@ -7,13 +7,13 @@ var ethProviderHelper = require('./ethProviderHelper.cjs');
7
7
  var EthWalletConnector = require('./EthWalletConnector.cjs');
8
8
 
9
9
  class Coinbase extends EthWalletConnector.EthWalletConnector {
10
- constructor({ appName, appLogoUrl, evmNetworks, }) {
11
- super({ evmNetworks });
10
+ constructor(_a) {
11
+ var { appName, appLogoUrl, evmNetworks } = _a, props = tslib.__rest(_a, ["appName", "appLogoUrl", "evmNetworks"]);
12
+ super(Object.assign({ evmNetworks }, props));
12
13
  this.name = 'Coinbase';
13
14
  this.supportedChains = ['EVM', 'ETH'];
14
15
  this.connectedChain = 'EVM';
15
16
  this.canConnectViaQrCode = true;
16
- this.ethProviderHelper = new ethProviderHelper.EthProviderHelper();
17
17
  this.coinbaseProviderOpts = {
18
18
  appLogoUrl: appLogoUrl,
19
19
  appName: appName,
@@ -21,26 +21,24 @@ class Coinbase extends EthWalletConnector.EthWalletConnector {
21
21
  };
22
22
  }
23
23
  setupEventListeners(listeners) {
24
- return this.ethProviderHelper._setupEventListeners(listeners, this.getWeb3Provider());
25
- }
26
- teardownEventListeners() {
27
- return this.ethProviderHelper._teardownEventListeners(this.name);
24
+ const { tearDownEventListeners } = ethProviderHelper.EthProviderHelper._setupEventListeners(this.name, listeners, this.getWeb3Provider());
25
+ this.teardownEventListeners = tearDownEventListeners;
28
26
  }
29
27
  getWeb3Provider() {
30
28
  if (this.isInstalledOnBrowser()) {
31
- return this.ethProviderHelper.findProvider(this.name);
29
+ return ethProviderHelper.EthProviderHelper.findProvider(this.name);
32
30
  }
33
31
  return new ethers.ethers.providers.Web3Provider(coinbase.getCoinbaseProvider({
34
32
  opts: this.coinbaseProviderOpts,
35
33
  }), 'any');
36
34
  }
37
35
  isInstalledOnBrowser() {
38
- return this.ethProviderHelper.isInstalledHelper(this.name);
36
+ return ethProviderHelper.EthProviderHelper.isInstalledHelper(this.name);
39
37
  }
40
38
  fetchPublicAddress(opts) {
41
39
  return tslib.__awaiter(this, void 0, void 0, function* () {
42
40
  if (this.isInstalledOnBrowser()) {
43
- return this.ethProviderHelper.fetchPublicAddressWithName(this.name);
41
+ return ethProviderHelper.EthProviderHelper.fetchPublicAddressWithName(this.name);
44
42
  }
45
43
  return coinbase.fetchPublicAddress(this.coinbaseProviderOpts, opts);
46
44
  });
@@ -48,7 +46,7 @@ class Coinbase extends EthWalletConnector.EthWalletConnector {
48
46
  signMessage(messageToSign) {
49
47
  return tslib.__awaiter(this, void 0, void 0, function* () {
50
48
  if (this.isInstalledOnBrowser()) {
51
- return this.ethProviderHelper.signMessageWithName(messageToSign, this.name);
49
+ return ethProviderHelper.EthProviderHelper.signMessageWithName(messageToSign, this.name);
52
50
  }
53
51
  return coinbase.signMessage(this.coinbaseProviderOpts, messageToSign);
54
52
  });
@@ -1,22 +1,18 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { Chain, FetchPublicAddressOpts, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
- import { EthProviderHelper } from './ethProviderHelper';
4
- import { EthWalletConnector } from './EthWalletConnector';
5
- import { EvmNetwork } from './evm-network';
3
+ import { EthWalletConnector, EthWalletConnectorOpts } from './EthWalletConnector';
4
+ type CoinbaseOpts = EthWalletConnectorOpts & {
5
+ appLogoUrl?: string;
6
+ appName?: string;
7
+ };
6
8
  declare class Coinbase extends EthWalletConnector {
7
9
  name: string;
8
10
  supportedChains: Chain[];
9
11
  connectedChain: Chain;
10
12
  canConnectViaQrCode: boolean;
11
- ethProviderHelper: EthProviderHelper;
12
13
  private coinbaseProviderOpts;
13
- constructor({ appName, appLogoUrl, evmNetworks, }: {
14
- appLogoUrl?: string;
15
- appName?: string;
16
- evmNetworks: EvmNetwork[];
17
- });
18
- setupEventListeners(listeners: WalletEventListeners): () => void;
19
- teardownEventListeners(): void;
14
+ constructor({ appName, appLogoUrl, evmNetworks, ...props }: CoinbaseOpts);
15
+ setupEventListeners(listeners: WalletEventListeners): void;
20
16
  getWeb3Provider(): ethers.providers.Web3Provider | undefined;
21
17
  isInstalledOnBrowser(): boolean;
22
18
  fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
@@ -1,17 +1,17 @@
1
- import { __awaiter } from 'tslib';
1
+ import { __rest, __awaiter } from 'tslib';
2
2
  import { ethers } from 'ethers';
3
3
  import { getCoinbaseProvider, fetchPublicAddress, signMessage, killCoinbaseSession } from '../clients/coinbase/coinbase.js';
4
4
  import { EthProviderHelper } from './ethProviderHelper.js';
5
5
  import { EthWalletConnector } from './EthWalletConnector.js';
6
6
 
7
7
  class Coinbase extends EthWalletConnector {
8
- constructor({ appName, appLogoUrl, evmNetworks, }) {
9
- super({ evmNetworks });
8
+ constructor(_a) {
9
+ var { appName, appLogoUrl, evmNetworks } = _a, props = __rest(_a, ["appName", "appLogoUrl", "evmNetworks"]);
10
+ super(Object.assign({ evmNetworks }, props));
10
11
  this.name = 'Coinbase';
11
12
  this.supportedChains = ['EVM', 'ETH'];
12
13
  this.connectedChain = 'EVM';
13
14
  this.canConnectViaQrCode = true;
14
- this.ethProviderHelper = new EthProviderHelper();
15
15
  this.coinbaseProviderOpts = {
16
16
  appLogoUrl: appLogoUrl,
17
17
  appName: appName,
@@ -19,26 +19,24 @@ class Coinbase extends EthWalletConnector {
19
19
  };
20
20
  }
21
21
  setupEventListeners(listeners) {
22
- return this.ethProviderHelper._setupEventListeners(listeners, this.getWeb3Provider());
23
- }
24
- teardownEventListeners() {
25
- return this.ethProviderHelper._teardownEventListeners(this.name);
22
+ const { tearDownEventListeners } = EthProviderHelper._setupEventListeners(this.name, listeners, this.getWeb3Provider());
23
+ this.teardownEventListeners = tearDownEventListeners;
26
24
  }
27
25
  getWeb3Provider() {
28
26
  if (this.isInstalledOnBrowser()) {
29
- return this.ethProviderHelper.findProvider(this.name);
27
+ return EthProviderHelper.findProvider(this.name);
30
28
  }
31
29
  return new ethers.providers.Web3Provider(getCoinbaseProvider({
32
30
  opts: this.coinbaseProviderOpts,
33
31
  }), 'any');
34
32
  }
35
33
  isInstalledOnBrowser() {
36
- return this.ethProviderHelper.isInstalledHelper(this.name);
34
+ return EthProviderHelper.isInstalledHelper(this.name);
37
35
  }
38
36
  fetchPublicAddress(opts) {
39
37
  return __awaiter(this, void 0, void 0, function* () {
40
38
  if (this.isInstalledOnBrowser()) {
41
- return this.ethProviderHelper.fetchPublicAddressWithName(this.name);
39
+ return EthProviderHelper.fetchPublicAddressWithName(this.name);
42
40
  }
43
41
  return fetchPublicAddress(this.coinbaseProviderOpts, opts);
44
42
  });
@@ -46,7 +44,7 @@ class Coinbase extends EthWalletConnector {
46
44
  signMessage(messageToSign) {
47
45
  return __awaiter(this, void 0, void 0, function* () {
48
46
  if (this.isInstalledOnBrowser()) {
49
- return this.ethProviderHelper.signMessageWithName(messageToSign, this.name);
47
+ return EthProviderHelper.signMessageWithName(messageToSign, this.name);
50
48
  }
51
49
  return signMessage(this.coinbaseProviderOpts, messageToSign);
52
50
  });
@@ -4,70 +4,19 @@ 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 normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
8
9
  var ProviderLookup = require('../ProviderLookup.cjs');
9
10
  var isUnsupportedProviderError = require('../../utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs');
10
- var logger = require('../../utils/logger.cjs');
11
11
 
12
+ var _a;
12
13
  class EthProviderHelper {
13
- constructor() {
14
- this.MetamaskProvider = () =>
15
- // Stop these wallets from showing up as MetaMask
16
- this.installedProviderLookup([
17
- { flag: 'isDawn', value: false },
18
- { flag: 'isBraveWallet', value: false },
19
- { flag: 'isTrustWallet', value: false },
20
- { flag: 'isExodus', value: false },
21
- { flag: 'isPhantom', value: false },
22
- { flag: 'isZerion', value: false },
23
- { flag: 'isMetaMask', value: true },
24
- ]);
25
- this.BraveProvider = () => this.installedProviderLookup([{ flag: 'isBraveWallet', value: true }]);
26
- this.DawnProvider = () => this.installedProviderLookup([{ flag: 'isDawn', value: true }]);
27
- this.FrameProvider = () => this.installedProviderLookup([{ flag: 'isFrame', value: true }]);
28
- this.CoinbaseProvider = () => this.installedProviderLookup([{ flag: 'isCoinbaseWallet', value: true }]);
29
- this.OperaProvider = () => this.installedProviderLookup([{ flag: 'isOpera', value: true }]);
30
- this.GameStopProvider = () => this.installedProviderLookup([{ flag: 'isGamestop', value: true }]);
31
- this.ExodusProvider = () => this.installedProviderLookup([{ flag: 'isExodus', value: true }]);
32
- this.BloctoProvider = () => this.installedProviderLookup([{ flag: 'isBlocto', value: true }]);
33
- this.TrustWalletProvider = () => this.installedProviderLookup([{ flag: 'isTrustWallet', value: true }]);
34
- this.PhantomProvider = () => this.installedProviderLookup([{ flag: 'isPhantom', value: true }]);
35
- this.ZerionProvider = () => this.installedProviderLookup([{ flag: 'isZerion', value: true }]);
36
- this.UnknownInjectedProvider = () => this.installedProviderLookup([
37
- { flag: 'isMetaMask', value: false },
38
- { flag: 'isExodus', value: false },
39
- { flag: 'isCoinbaseWallet', value: false },
40
- { flag: 'isBraveWallet', value: false },
41
- { flag: 'isGamestop', value: false },
42
- { flag: 'isFrame', value: false },
43
- { flag: 'isOpera', value: false },
44
- { flag: 'isBlocto', value: false },
45
- { flag: 'isTrustWallet', value: false },
46
- { flag: 'isPhantom', value: false },
47
- { flag: 'isZerion', value: false },
48
- ]);
49
- this.providers = {
50
- bloctoinjected: this.BloctoProvider,
51
- braveevm: this.BraveProvider,
52
- coinbase: this.CoinbaseProvider,
53
- dawn: this.DawnProvider,
54
- exodusevm: this.ExodusProvider,
55
- frame: this.FrameProvider,
56
- gamestop: this.GameStopProvider,
57
- injectedwallet: this.UnknownInjectedProvider,
58
- metamask: this.MetamaskProvider,
59
- opera: this.OperaProvider,
60
- phantomevm: this.PhantomProvider,
61
- trust: this.TrustWalletProvider,
62
- zerion: this.ZerionProvider,
63
- };
64
- }
65
- installedProviderLookup(providerFlags) {
14
+ static installedProviderLookup(providerFlags) {
66
15
  const allInstalledProviders = this.allInstalledProviders();
67
16
  return ProviderLookup.ProviderLookup(allInstalledProviders, providerFlags);
68
17
  }
69
- allInstalledProviders() {
70
- var _a;
18
+ static allInstalledProviders() {
19
+ var _b;
71
20
  const ethereumProviders = [];
72
21
  if (window.ethereum) {
73
22
  if (!window.ethereum.providers) {
@@ -79,7 +28,7 @@ class EthProviderHelper {
79
28
  });
80
29
  }
81
30
  }
82
- if ((_a = window.phantom) === null || _a === void 0 ? void 0 : _a.ethereum) {
31
+ if ((_b = window.phantom) === null || _b === void 0 ? void 0 : _b.ethereum) {
83
32
  ethereumProviders.push(window.phantom.ethereum);
84
33
  }
85
34
  if (window.zerionWallet) {
@@ -87,27 +36,27 @@ class EthProviderHelper {
87
36
  }
88
37
  return ethereumProviders;
89
38
  }
90
- isInstalledHelper(walletName) {
39
+ static isInstalledHelper(walletName) {
91
40
  return this.findProvider(walletName) !== undefined;
92
41
  }
93
- findProvider(walletName) {
94
- var _a, _b;
42
+ static findProvider(walletName) {
43
+ var _b, _c;
95
44
  try {
96
- const provider = (_b = (_a = this.providers)[normalizeWalletName.normalizeWalletName(walletName)]) === null || _b === void 0 ? void 0 : _b.call(_a);
45
+ const provider = (_c = (_b = this.providers)[normalizeWalletName.normalizeWalletName(walletName)]) === null || _c === void 0 ? void 0 : _c.call(_b);
97
46
  return provider === undefined
98
47
  ? undefined
99
48
  : new ethers.ethers.providers.Web3Provider(provider, 'any'); // https://github.com/ethers-io/ethers.js/discussions/1480
100
49
  }
101
50
  catch (err) {
102
51
  if (isUnsupportedProviderError.isUnsupportedProviderError(err)) {
103
- logger.logger.error(`ETH Provider is not supported ${err.value}`, err);
52
+ walletConnectorCore.logger.error(`ETH Provider is not supported ${err.value}`, err);
104
53
  return;
105
54
  }
106
- logger.logger.error(`Could not find provider for ${walletName}`, err);
55
+ walletConnectorCore.logger.error(`Could not find provider for ${walletName}`, err);
107
56
  return undefined;
108
57
  }
109
58
  }
110
- fetchPublicAddressWithName(name) {
59
+ static fetchPublicAddressWithName(name) {
111
60
  return tslib.__awaiter(this, void 0, void 0, function* () {
112
61
  const provider = this.findProvider(name);
113
62
  if (!provider) {
@@ -116,7 +65,7 @@ class EthProviderHelper {
116
65
  return this.fetchPublicAddressWithProvider(provider);
117
66
  });
118
67
  }
119
- fetchPublicAddressWithProvider(provider) {
68
+ static fetchPublicAddressWithProvider(provider) {
120
69
  return tslib.__awaiter(this, void 0, void 0, function* () {
121
70
  try {
122
71
  const [lowercaseAddress] = yield provider.send('eth_requestAccounts', []);
@@ -124,12 +73,12 @@ class EthProviderHelper {
124
73
  return publicAddress;
125
74
  }
126
75
  catch (err) {
127
- logger.logger.error(err);
76
+ walletConnectorCore.logger.error(err);
128
77
  return Promise.reject(err);
129
78
  }
130
79
  });
131
80
  }
132
- signMessageWithName(messageToSign, name) {
81
+ static signMessageWithName(messageToSign, name) {
133
82
  return tslib.__awaiter(this, void 0, void 0, function* () {
134
83
  const walletAddress = yield this.fetchPublicAddressWithName(name);
135
84
  if (!walletAddress) {
@@ -144,54 +93,107 @@ class EthProviderHelper {
144
93
  return signedMessage;
145
94
  });
146
95
  }
147
- _setupEventListeners(listeners, web3Provider) {
96
+ static _setupEventListeners(name, listeners, web3Provider) {
148
97
  if (!web3Provider) {
149
- return () => {
150
- // nothing to teardown
98
+ return {
99
+ tearDownEventListeners: () => { },
151
100
  };
152
101
  }
153
102
  const externalProvider = web3Provider.provider;
154
- this.handleAccountChange = (accounts) => tslib.__awaiter(this, void 0, void 0, function* () {
155
- var _a, _b;
103
+ const handleAccountChange = (accounts) => tslib.__awaiter(this, void 0, void 0, function* () {
104
+ var _b, _c;
156
105
  if (accounts.length === 0) {
157
- yield ((_a = listeners.onDisconnect) === null || _a === void 0 ? void 0 : _a.call(listeners));
106
+ yield ((_b = listeners.onDisconnect) === null || _b === void 0 ? void 0 : _b.call(listeners));
158
107
  return;
159
108
  }
160
- yield ((_b = listeners.onAccountChange) === null || _b === void 0 ? void 0 : _b.call(listeners, accounts));
109
+ yield ((_c = listeners.onAccountChange) === null || _c === void 0 ? void 0 : _c.call(listeners, accounts));
161
110
  });
162
- this.handleChainChange = () => tslib.__awaiter(this, void 0, void 0, function* () {
163
- var _c;
111
+ const handleChainChange = () => tslib.__awaiter(this, void 0, void 0, function* () {
112
+ var _d;
164
113
  const network = yield web3Provider.getNetwork();
165
- yield ((_c = listeners.onChainChange) === null || _c === void 0 ? void 0 : _c.call(listeners, network.chainId.toString()));
114
+ yield ((_d = listeners.onChainChange) === null || _d === void 0 ? void 0 : _d.call(listeners, network.chainId.toString()));
166
115
  });
167
- this.handleDisconnect = (error) => tslib.__awaiter(this, void 0, void 0, function* () {
168
- var _d;
116
+ const handleDisconnect = (error) => tslib.__awaiter(this, void 0, void 0, function* () {
117
+ var _e;
169
118
  if ((error === null || error === void 0 ? void 0 : error.code) === 1013) {
170
119
  return;
171
120
  }
172
- yield ((_d = listeners.onDisconnect) === null || _d === void 0 ? void 0 : _d.call(listeners));
121
+ yield ((_e = listeners.onDisconnect) === null || _e === void 0 ? void 0 : _e.call(listeners));
173
122
  });
174
- externalProvider.on('accountsChanged', this.handleAccountChange);
175
- externalProvider.on('chainChanged', this.handleChainChange);
176
- externalProvider.on('disconnect', this.handleDisconnect);
177
- return () => { };
178
- }
179
- _teardownEventListeners(name) {
180
- const web3Provider = this.findProvider(name);
181
- if (!web3Provider || !(web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.provider)) {
182
- return;
183
- }
184
- const externalProvider = web3Provider.provider;
185
- if (this.handleAccountChange) {
186
- externalProvider.removeListener('accountsChanged', this.handleAccountChange);
187
- }
188
- if (this.handleChainChange) {
189
- externalProvider.removeListener('chainChanged', this.handleChainChange);
190
- }
191
- if (this.handleDisconnect) {
192
- externalProvider.removeListener('disconnect', this.handleDisconnect);
193
- }
123
+ externalProvider.on('accountsChanged', handleAccountChange);
124
+ externalProvider.on('chainChanged', handleChainChange);
125
+ externalProvider.on('disconnect', handleDisconnect);
126
+ const tearDownEventListeners = () => {
127
+ const web3Provider = this.findProvider(name);
128
+ if (!web3Provider || !(web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.provider)) {
129
+ return;
130
+ }
131
+ const externalProvider = web3Provider.provider;
132
+ if (handleAccountChange) {
133
+ externalProvider.removeListener('accountsChanged', handleAccountChange);
134
+ }
135
+ if (handleChainChange) {
136
+ externalProvider.removeListener('chainChanged', handleChainChange);
137
+ }
138
+ if (handleDisconnect) {
139
+ externalProvider.removeListener('disconnect', handleDisconnect);
140
+ }
141
+ };
142
+ return {
143
+ tearDownEventListeners,
144
+ };
194
145
  }
195
- }
146
+ }
147
+ _a = EthProviderHelper;
148
+ EthProviderHelper.MetamaskProvider = () =>
149
+ // Stop these wallets from showing up as MetaMask
150
+ _a.installedProviderLookup([
151
+ { flag: 'isDawn', value: false },
152
+ { flag: 'isBraveWallet', value: false },
153
+ { flag: 'isTrustWallet', value: false },
154
+ { flag: 'isExodus', value: false },
155
+ { flag: 'isPhantom', value: false },
156
+ { flag: 'isZerion', value: false },
157
+ { flag: 'isMetaMask', value: true },
158
+ ]);
159
+ EthProviderHelper.BraveProvider = () => _a.installedProviderLookup([{ flag: 'isBraveWallet', value: true }]);
160
+ EthProviderHelper.DawnProvider = () => _a.installedProviderLookup([{ flag: 'isDawn', value: true }]);
161
+ EthProviderHelper.FrameProvider = () => _a.installedProviderLookup([{ flag: 'isFrame', value: true }]);
162
+ EthProviderHelper.CoinbaseProvider = () => _a.installedProviderLookup([{ flag: 'isCoinbaseWallet', value: true }]);
163
+ EthProviderHelper.OperaProvider = () => _a.installedProviderLookup([{ flag: 'isOpera', value: true }]);
164
+ EthProviderHelper.GameStopProvider = () => _a.installedProviderLookup([{ flag: 'isGamestop', value: true }]);
165
+ EthProviderHelper.ExodusProvider = () => _a.installedProviderLookup([{ flag: 'isExodus', value: true }]);
166
+ EthProviderHelper.BloctoProvider = () => _a.installedProviderLookup([{ flag: 'isBlocto', value: true }]);
167
+ EthProviderHelper.TrustWalletProvider = () => _a.installedProviderLookup([{ flag: 'isTrustWallet', value: true }]);
168
+ EthProviderHelper.PhantomProvider = () => _a.installedProviderLookup([{ flag: 'isPhantom', value: true }]);
169
+ EthProviderHelper.ZerionProvider = () => _a.installedProviderLookup([{ flag: 'isZerion', value: true }]);
170
+ EthProviderHelper.UnknownInjectedProvider = () => _a.installedProviderLookup([
171
+ { flag: 'isMetaMask', value: false },
172
+ { flag: 'isExodus', value: false },
173
+ { flag: 'isCoinbaseWallet', value: false },
174
+ { flag: 'isBraveWallet', value: false },
175
+ { flag: 'isGamestop', value: false },
176
+ { flag: 'isFrame', value: false },
177
+ { flag: 'isOpera', value: false },
178
+ { flag: 'isBlocto', value: false },
179
+ { flag: 'isTrustWallet', value: false },
180
+ { flag: 'isPhantom', value: false },
181
+ { flag: 'isZerion', value: false },
182
+ ]);
183
+ EthProviderHelper.providers = {
184
+ bloctoinjected: _a.BloctoProvider,
185
+ braveevm: _a.BraveProvider,
186
+ coinbase: _a.CoinbaseProvider,
187
+ dawn: _a.DawnProvider,
188
+ exodusevm: _a.ExodusProvider,
189
+ frame: _a.FrameProvider,
190
+ gamestop: _a.GameStopProvider,
191
+ injectedwallet: _a.UnknownInjectedProvider,
192
+ metamask: _a.MetamaskProvider,
193
+ opera: _a.OperaProvider,
194
+ phantomevm: _a.PhantomProvider,
195
+ trust: _a.TrustWalletProvider,
196
+ zerion: _a.ZerionProvider,
197
+ };
196
198
 
197
199
  exports.EthProviderHelper = EthProviderHelper;
@@ -2,39 +2,32 @@ import { ethers } from 'ethers';
2
2
  import { WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
3
  import { ProviderCondition, IEthereum } from '../window';
4
4
  type Provider = () => ethers.providers.ExternalProvider | undefined;
5
- type AccountChangeEventHandler = (accounts: string[]) => Promise<void>;
6
- type ChainChangeEventHandler = (chainId: string | number) => Promise<void>;
7
- type DisconnectEventHandler = (error?: {
8
- code: number;
9
- }) => Promise<void>;
10
5
  export declare class EthProviderHelper {
11
- handleAccountChange: AccountChangeEventHandler | undefined;
12
- handleChainChange: ChainChangeEventHandler | undefined;
13
- handleDisconnect: DisconnectEventHandler | undefined;
14
- MetamaskProvider: Provider;
15
- BraveProvider: Provider;
16
- DawnProvider: Provider;
17
- FrameProvider: Provider;
18
- CoinbaseProvider: Provider;
19
- OperaProvider: Provider;
20
- GameStopProvider: Provider;
21
- ExodusProvider: Provider;
22
- BloctoProvider: Provider;
23
- TrustWalletProvider: Provider;
24
- PhantomProvider: Provider;
25
- ZerionProvider: Provider;
26
- UnknownInjectedProvider: Provider;
27
- providers: {
6
+ static MetamaskProvider: Provider;
7
+ static BraveProvider: Provider;
8
+ static DawnProvider: Provider;
9
+ static FrameProvider: Provider;
10
+ static CoinbaseProvider: Provider;
11
+ static OperaProvider: Provider;
12
+ static GameStopProvider: Provider;
13
+ static ExodusProvider: Provider;
14
+ static BloctoProvider: Provider;
15
+ static TrustWalletProvider: Provider;
16
+ static PhantomProvider: Provider;
17
+ static ZerionProvider: Provider;
18
+ static UnknownInjectedProvider: Provider;
19
+ static providers: {
28
20
  [wallet: string]: Provider;
29
21
  };
30
- installedProviderLookup(providerFlags: Array<ProviderCondition>): IEthereum | undefined;
31
- allInstalledProviders(): IEthereum[];
32
- isInstalledHelper(walletName: string): boolean;
33
- findProvider(walletName: string): ethers.providers.Web3Provider | undefined;
34
- fetchPublicAddressWithName(name: string): Promise<string | undefined>;
35
- fetchPublicAddressWithProvider(provider: ethers.providers.Web3Provider): Promise<string | undefined>;
36
- signMessageWithName(messageToSign: string, name: string): Promise<string | undefined>;
37
- _setupEventListeners(listeners: WalletEventListeners, web3Provider?: ethers.providers.Web3Provider): () => void;
38
- _teardownEventListeners(name: string): void;
22
+ static installedProviderLookup(providerFlags: Array<ProviderCondition>): IEthereum | undefined;
23
+ static allInstalledProviders(): IEthereum[];
24
+ static isInstalledHelper(walletName: string): boolean;
25
+ static findProvider(walletName: string): ethers.providers.Web3Provider | undefined;
26
+ static fetchPublicAddressWithName(name: string): Promise<string | undefined>;
27
+ static fetchPublicAddressWithProvider(provider: ethers.providers.Web3Provider): Promise<string | undefined>;
28
+ static signMessageWithName(messageToSign: string, name: string): Promise<string | undefined>;
29
+ static _setupEventListeners(name: string, listeners: WalletEventListeners, web3Provider?: ethers.providers.Web3Provider): {
30
+ tearDownEventListeners: () => void;
31
+ };
39
32
  }
40
33
  export {};