@dynamic-labs/ethereum 0.19.0-alpha.2 → 0.19.0-alpha.21

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 (118) hide show
  1. package/CHANGELOG.md +293 -0
  2. package/package.json +13 -10
  3. package/src/EthWalletConnector.cjs +189 -193
  4. package/src/EthWalletConnector.d.ts +298 -41
  5. package/src/EthWalletConnector.js +190 -194
  6. package/src/coinbase/client/client.cjs +76 -0
  7. package/src/coinbase/client/client.d.ts +6 -0
  8. package/src/coinbase/client/client.js +69 -0
  9. package/src/coinbase/client/index.d.ts +2 -0
  10. package/src/coinbase/client/types.d.ts +14 -0
  11. package/src/coinbase/coinbase.cjs +71 -0
  12. package/src/coinbase/coinbase.d.ts +535 -0
  13. package/src/coinbase/coinbase.js +67 -0
  14. package/src/coinbase/index.d.ts +3 -0
  15. package/src/constants.d.ts +1 -1
  16. package/src/ethProviderHelper.cjs +132 -209
  17. package/src/ethProviderHelper.d.ts +28 -36
  18. package/src/ethProviderHelper.js +133 -210
  19. package/src/index.cjs +30 -26
  20. package/src/index.d.ts +9 -8
  21. package/src/index.js +25 -20
  22. package/src/injected/BloctoInjected.cjs +6 -6
  23. package/src/injected/BloctoInjected.d.ts +4 -4
  24. package/src/injected/BloctoInjected.js +6 -6
  25. package/src/injected/BraveEvm.cjs +6 -6
  26. package/src/injected/BraveEvm.d.ts +4 -4
  27. package/src/injected/BraveEvm.js +6 -6
  28. package/src/injected/Dawn.cjs +6 -6
  29. package/src/injected/Dawn.d.ts +4 -4
  30. package/src/injected/Dawn.js +6 -6
  31. package/src/injected/ExodusEvm.cjs +8 -8
  32. package/src/injected/ExodusEvm.d.ts +5 -5
  33. package/src/injected/ExodusEvm.js +7 -7
  34. package/src/injected/Frame.cjs +6 -6
  35. package/src/injected/Frame.d.ts +4 -4
  36. package/src/injected/Frame.js +6 -6
  37. package/src/injected/GameStop.cjs +6 -6
  38. package/src/injected/GameStop.d.ts +4 -4
  39. package/src/injected/GameStop.js +6 -6
  40. package/src/injected/InjectedWalletBase.cjs +86 -65
  41. package/src/injected/InjectedWalletBase.d.ts +29 -24
  42. package/src/injected/InjectedWalletBase.js +86 -65
  43. package/src/injected/LegacyInjectedWalletBase.cjs +83 -0
  44. package/src/injected/LegacyInjectedWalletBase.d.ts +24 -0
  45. package/src/injected/LegacyInjectedWalletBase.js +81 -0
  46. package/src/injected/Opera.cjs +6 -6
  47. package/src/injected/Opera.d.ts +4 -4
  48. package/src/injected/Opera.js +6 -6
  49. package/src/injected/PhantomEvm.cjs +28 -28
  50. package/src/injected/PhantomEvm.d.ts +5 -5
  51. package/src/injected/PhantomEvm.js +28 -28
  52. package/src/injected/Rabby.cjs +8 -8
  53. package/src/injected/Rabby.d.ts +5 -5
  54. package/src/injected/Rabby.js +7 -7
  55. package/src/injected/Superb.cjs +6 -6
  56. package/src/injected/Superb.d.ts +4 -4
  57. package/src/injected/Superb.js +6 -6
  58. package/src/injected/Trust.cjs +8 -8
  59. package/src/injected/Trust.d.ts +5 -5
  60. package/src/injected/Trust.js +7 -7
  61. package/src/injected/Zerion.cjs +8 -8
  62. package/src/injected/Zerion.d.ts +5 -5
  63. package/src/injected/Zerion.js +7 -7
  64. package/src/injected/fetchInjectedWalletConnectors.cjs +33 -0
  65. package/src/injected/fetchInjectedWalletConnectors.d.ts +6 -0
  66. package/src/injected/fetchInjectedWalletConnectors.js +29 -0
  67. package/src/injected/index.d.ts +13 -16
  68. package/src/injected/legacyInjectedWallets.cjs +48 -0
  69. package/src/injected/legacyInjectedWallets.d.ts +3 -0
  70. package/src/injected/legacyInjectedWallets.js +43 -0
  71. package/src/legacyEthProviderHelper.cjs +187 -0
  72. package/src/legacyEthProviderHelper.d.ts +34 -0
  73. package/src/legacyEthProviderHelper.js +183 -0
  74. package/src/polyfills.cjs +11 -11
  75. package/src/polyfills.d.ts +1 -1
  76. package/src/polyfills.js +11 -11
  77. package/src/types.d.ts +37 -24
  78. package/src/utils/eventListenerHandlers.cjs +34 -0
  79. package/src/utils/eventListenerHandlers.d.ts +8 -0
  80. package/src/utils/eventListenerHandlers.js +30 -0
  81. package/src/utils/findEvmNetwork.cjs +13 -13
  82. package/src/utils/findEvmNetwork.d.ts +6 -6
  83. package/src/utils/findEvmNetwork.js +13 -13
  84. package/src/utils/isString.d.ts +1 -1
  85. package/src/utils/isUnsupportedProviderError/index.d.ts +1 -1
  86. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs +6 -6
  87. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.d.ts +6 -6
  88. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.js +6 -6
  89. package/src/utils/last.d.ts +1 -1
  90. package/src/utils/parseIntSafe.cjs +13 -13
  91. package/src/utils/parseIntSafe.d.ts +1 -1
  92. package/src/utils/parseIntSafe.js +13 -13
  93. package/src/walletConnect/client/client.cjs +179 -176
  94. package/src/walletConnect/client/client.d.ts +17 -17
  95. package/src/walletConnect/client/client.js +179 -176
  96. package/src/walletConnect/client/index.d.ts +1 -1
  97. package/src/walletConnect/client/types.d.ts +4 -4
  98. package/src/walletConnect/fetchWalletConnectWallets.cjs +37 -52
  99. package/src/walletConnect/fetchWalletConnectWallets.d.ts +9 -10
  100. package/src/walletConnect/fetchWalletConnectWallets.js +38 -52
  101. package/src/walletConnect/index.d.ts +3 -3
  102. package/src/walletConnect/walletConnect.cjs +131 -130
  103. package/src/walletConnect/walletConnect.d.ts +52 -50
  104. package/src/walletConnect/walletConnect.js +131 -130
  105. package/src/walletConnect/walletConnectV2.cjs +419 -374
  106. package/src/walletConnect/walletConnectV2.d.ts +326 -61
  107. package/src/walletConnect/walletConnectV2.js +420 -375
  108. package/src/injected/MetaMask.cjs +0 -15
  109. package/src/injected/MetaMask.d.ts +0 -5
  110. package/src/injected/MetaMask.js +0 -11
  111. package/src/injected/OKX.cjs +0 -15
  112. package/src/injected/OKX.d.ts +0 -5
  113. package/src/injected/OKX.js +0 -11
  114. package/src/injected/UnknownInjectedWallet.cjs +0 -14
  115. package/src/injected/UnknownInjectedWallet.d.ts +0 -4
  116. package/src/injected/UnknownInjectedWallet.js +0 -10
  117. package/src/injected/index.cjs +0 -53
  118. package/src/injected/index.js +0 -49
@@ -3,216 +3,139 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _tslib = require('../_virtual/_tslib.cjs');
6
- var ethers = require('ethers');
6
+ var viem = require('viem');
7
7
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
8
- var isUnsupportedProviderError = require('./utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs');
8
+ var utils = require('@dynamic-labs/utils');
9
+ var eventListenerHandlers = require('./utils/eventListenerHandlers.cjs');
9
10
 
10
- var _a;
11
- class EthProviderHelper {
12
- static installedProviderLookup(providerFlags) {
13
- const allInstalledProviders = this.allInstalledProviders();
14
- return walletConnectorCore.ProviderLookup(allInstalledProviders, providerFlags);
15
- }
16
- static allInstalledProviders() {
17
- var _b;
18
- const ethereumProviders = [];
19
- if (window.ethereum) {
20
- if (!window.ethereum.providers) {
21
- ethereumProviders.push(window.ethereum);
22
- }
23
- else {
24
- window.ethereum.providers.forEach((provider) => {
25
- ethereumProviders.push(provider);
26
- });
27
- }
28
- }
29
- if ((_b = window.phantom) === null || _b === void 0 ? void 0 : _b.ethereum) {
30
- ethereumProviders.push(window.phantom.ethereum);
31
- }
32
- if (window.zerionWallet) {
33
- ethereumProviders.push(window.zerionWallet);
34
- }
35
- if (window.coinbaseWalletExtension) {
36
- ethereumProviders.push(window.coinbaseWalletExtension);
37
- }
38
- if (window.superb) {
39
- ethereumProviders.push(window.superb);
40
- }
41
- if (window.okxwallet) {
42
- ethereumProviders.push(window.okxwallet);
43
- }
44
- return ethereumProviders;
45
- }
46
- static isInstalledHelper(walletName) {
47
- return this.findProvider(walletName) !== undefined;
48
- }
49
- static findProvider(walletName) {
50
- var _b, _c;
51
- try {
52
- const provider = (_c = (_b = this.providers)[walletConnectorCore.normalizeWalletName(walletName)]) === null || _c === void 0 ? void 0 : _c.call(_b);
53
- return provider === undefined
54
- ? undefined
55
- : new ethers.ethers.providers.Web3Provider(provider, 'any'); // https://github.com/ethers-io/ethers.js/discussions/1480
56
- }
57
- catch (err) {
58
- if (isUnsupportedProviderError.isUnsupportedProviderError(err)) {
59
- walletConnectorCore.logger.error(`ETH Provider is not supported ${err.value}`, err);
60
- return;
61
- }
62
- walletConnectorCore.logger.error(`Could not find provider for ${walletName}`, err);
63
- return undefined;
64
- }
65
- }
66
- static fetchPublicAddressWithName(name) {
67
- return _tslib.__awaiter(this, void 0, void 0, function* () {
68
- const provider = this.findProvider(name);
69
- if (!provider) {
70
- return Promise.resolve(undefined);
71
- }
72
- return this.fetchPublicAddressWithProvider(provider);
73
- });
74
- }
75
- static fetchPublicAddressWithProvider(provider) {
76
- return _tslib.__awaiter(this, void 0, void 0, function* () {
77
- try {
78
- const [lowercaseAddress] = yield provider.send('eth_requestAccounts', []);
79
- const publicAddress = ethers.utils.getAddress(lowercaseAddress);
80
- return publicAddress;
81
- }
82
- catch (err) {
83
- walletConnectorCore.logger.error(err);
84
- return Promise.reject(err);
85
- }
86
- });
87
- }
88
- static signMessageWithName(messageToSign, name) {
89
- return _tslib.__awaiter(this, void 0, void 0, function* () {
90
- const walletAddress = yield this.fetchPublicAddressWithName(name);
91
- if (!walletAddress) {
92
- return Promise.resolve(undefined);
93
- }
94
- const provider = this.findProvider(name);
95
- if (!provider) {
96
- return Promise.resolve(undefined);
97
- }
98
- const signer = provider.getSigner();
99
- const signedMessage = yield signer.signMessage(messageToSign);
100
- return signedMessage;
101
- });
102
- }
103
- static _setupEventListeners(name, listeners, web3Provider) {
104
- if (!web3Provider) {
105
- return {
106
- tearDownEventListeners: () => { },
107
- };
108
- }
109
- const externalProvider = web3Provider.provider;
110
- const handleAccountChange = (accounts) => _tslib.__awaiter(this, void 0, void 0, function* () {
111
- var _b, _c;
112
- if (accounts.length === 0) {
113
- yield ((_b = listeners.onDisconnect) === null || _b === void 0 ? void 0 : _b.call(listeners));
114
- return;
115
- }
116
- yield ((_c = listeners.onAccountChange) === null || _c === void 0 ? void 0 : _c.call(listeners, accounts));
117
- });
118
- const handleChainChange = () => _tslib.__awaiter(this, void 0, void 0, function* () {
119
- var _d;
120
- const network = yield web3Provider.getNetwork();
121
- yield ((_d = listeners.onChainChange) === null || _d === void 0 ? void 0 : _d.call(listeners, network.chainId.toString()));
122
- });
123
- const handleDisconnect = (error) => _tslib.__awaiter(this, void 0, void 0, function* () {
124
- var _e;
125
- if ((error === null || error === void 0 ? void 0 : error.code) === 1013) {
126
- return;
127
- }
128
- yield ((_e = listeners.onDisconnect) === null || _e === void 0 ? void 0 : _e.call(listeners));
129
- });
130
- externalProvider.on('accountsChanged', handleAccountChange);
131
- externalProvider.on('chainChanged', handleChainChange);
132
- externalProvider.on('disconnect', handleDisconnect);
133
- const tearDownEventListeners = () => {
134
- const web3Provider = this.findProvider(name);
135
- if (!web3Provider || !(web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.provider)) {
136
- return;
137
- }
138
- const externalProvider = web3Provider.provider;
139
- if (handleAccountChange) {
140
- externalProvider.removeListener('accountsChanged', handleAccountChange);
141
- }
142
- if (handleChainChange) {
143
- externalProvider.removeListener('chainChanged', handleChainChange);
144
- }
145
- if (handleDisconnect) {
146
- externalProvider.removeListener('disconnect', handleDisconnect);
147
- }
148
- };
149
- return {
150
- tearDownEventListeners,
151
- };
152
- }
153
- }
154
- _a = EthProviderHelper;
155
- EthProviderHelper.MetamaskProvider = () =>
156
- // Stop these wallets from showing up as MetaMask
157
- _a.installedProviderLookup([
158
- { flag: 'isDawn', value: false },
159
- { flag: 'isBraveWallet', value: false },
160
- { flag: 'isTrustWallet', value: false },
161
- { flag: 'isExodus', value: false },
162
- { flag: 'isPhantom', value: false },
163
- { flag: 'isZerion', value: false },
164
- { flag: 'isMetaMask', value: true },
165
- { flag: 'isSuperb', value: false },
166
- { flag: 'isRabby', value: false },
167
- { flag: 'isOkxWallet', value: false },
168
- ]);
169
- EthProviderHelper.BraveProvider = () => _a.installedProviderLookup([{ flag: 'isBraveWallet', value: true }]);
170
- EthProviderHelper.DawnProvider = () => _a.installedProviderLookup([{ flag: 'isDawn', value: true }]);
171
- EthProviderHelper.FrameProvider = () => _a.installedProviderLookup([{ flag: 'isFrame', value: true }]);
172
- EthProviderHelper.CoinbaseProvider = () => _a.installedProviderLookup([{ flag: 'isCoinbaseWallet', value: true }]);
173
- EthProviderHelper.OperaProvider = () => _a.installedProviderLookup([{ flag: 'isOpera', value: true }]);
174
- EthProviderHelper.GameStopProvider = () => _a.installedProviderLookup([{ flag: 'isGamestop', value: true }]);
175
- EthProviderHelper.ExodusProvider = () => _a.installedProviderLookup([{ flag: 'isExodus', value: true }]);
176
- EthProviderHelper.BloctoProvider = () => _a.installedProviderLookup([{ flag: 'isBlocto', value: true }]);
177
- EthProviderHelper.TrustWalletProvider = () => _a.installedProviderLookup([{ flag: 'isTrustWallet', value: true }]);
178
- EthProviderHelper.PhantomProvider = () => _a.installedProviderLookup([{ flag: 'isPhantom', value: true }]);
179
- EthProviderHelper.ZerionProvider = () => _a.installedProviderLookup([{ flag: 'isZerion', value: true }]);
180
- EthProviderHelper.SuperbProvider = () => _a.installedProviderLookup([{ flag: 'isSuperb', value: true }]);
181
- EthProviderHelper.RabbyProvider = () => _a.installedProviderLookup([{ flag: 'isRabby', value: true }]);
182
- EthProviderHelper.OKXProvider = () => _a.installedProviderLookup([{ flag: 'isOkxWallet', value: true }]);
183
- EthProviderHelper.UnknownInjectedProvider = () => _a.installedProviderLookup([
184
- { flag: 'isMetaMask', value: false },
185
- { flag: 'isExodus', value: false },
186
- { flag: 'isCoinbaseWallet', value: false },
187
- { flag: 'isBraveWallet', value: false },
188
- { flag: 'isGamestop', value: false },
189
- { flag: 'isFrame', value: false },
190
- { flag: 'isOpera', value: false },
191
- { flag: 'isBlocto', value: false },
192
- { flag: 'isTrustWallet', value: false },
193
- { flag: 'isPhantom', value: false },
194
- { flag: 'isZerion', value: false },
195
- { flag: 'isSuperb', value: false },
196
- { flag: 'isRabby', value: false },
197
- { flag: 'isOkxWallet', value: false },
198
- ]);
199
- EthProviderHelper.providers = {
200
- bloctoinjected: _a.BloctoProvider,
201
- braveevm: _a.BraveProvider,
202
- coinbase: _a.CoinbaseProvider,
203
- dawn: _a.DawnProvider,
204
- exodusevm: _a.ExodusProvider,
205
- frame: _a.FrameProvider,
206
- gamestop: _a.GameStopProvider,
207
- injectedwallet: _a.UnknownInjectedProvider,
208
- metamask: _a.MetamaskProvider,
209
- okxwallet: _a.OKXProvider,
210
- opera: _a.OperaProvider,
211
- phantomevm: _a.PhantomProvider,
212
- rabby: _a.RabbyProvider,
213
- superb: _a.SuperbProvider,
214
- trust: _a.TrustWalletProvider,
215
- zerion: _a.ZerionProvider,
216
- };
11
+ class EthProviderHelper {
12
+ constructor(wallet) {
13
+ this.wallet = wallet;
14
+ }
15
+ getInstalledProvider() {
16
+ const config = this.getInjectedConfig();
17
+ if (!config ||
18
+ !config.extensionLocators ||
19
+ !config.extensionLocators.length)
20
+ return undefined;
21
+ return this.installedProviderLookup(config.extensionLocators);
22
+ }
23
+ getInjectedConfig() {
24
+ if (!this.wallet || !this.wallet.injectedConfig)
25
+ return;
26
+ const { injectedConfig } = this.wallet;
27
+ return injectedConfig.find((c) => c.chain === 'evm');
28
+ }
29
+ installedProviders() {
30
+ const config = this.getInjectedConfig();
31
+ if (!config)
32
+ return [];
33
+ const providers = [];
34
+ if (config.windowLocations) {
35
+ for (const windowLocation of config.windowLocations) {
36
+ const foundProviders = utils.getProvidersFromWindow(windowLocation);
37
+ if (foundProviders && foundProviders.length)
38
+ providers.push(...foundProviders);
39
+ }
40
+ }
41
+ if (window.ethereum) {
42
+ if (!window.ethereum.providers || !window.ethereum.providers.length) {
43
+ providers.push(window.ethereum);
44
+ }
45
+ else {
46
+ window.ethereum.providers.forEach((p) => providers.push(p));
47
+ }
48
+ }
49
+ return providers;
50
+ }
51
+ installedProviderLookup(providerFlags) {
52
+ const allInstalledProviders = this.installedProviders();
53
+ return walletConnectorCore.ProviderLookup(allInstalledProviders, providerFlags);
54
+ }
55
+ isInstalledHelper() {
56
+ return this.findProvider() !== undefined;
57
+ }
58
+ findProvider() {
59
+ return this.getInstalledProvider();
60
+ }
61
+ findWalletClient() {
62
+ const provider = this.findProvider();
63
+ if (!provider) {
64
+ return undefined;
65
+ }
66
+ return viem.createWalletClient({
67
+ transport: viem.custom(provider),
68
+ });
69
+ }
70
+ fetchPublicAddress() {
71
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
72
+ const client = this.findWalletClient();
73
+ if (!client) {
74
+ return Promise.resolve(undefined);
75
+ }
76
+ return this.fetchPublicAddressWithProvider(client);
77
+ });
78
+ }
79
+ fetchPublicAddressWithProvider(client) {
80
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
81
+ try {
82
+ const [lowercaseAddress] = yield client.requestAddresses();
83
+ const publicAddress = viem.getAddress(lowercaseAddress);
84
+ return publicAddress;
85
+ }
86
+ catch (err) {
87
+ walletConnectorCore.logger.error(err);
88
+ return Promise.reject(err);
89
+ }
90
+ });
91
+ }
92
+ signMessage(messageToSign) {
93
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
94
+ const walletAddress = yield this.fetchPublicAddress();
95
+ if (!walletAddress) {
96
+ return Promise.resolve(undefined);
97
+ }
98
+ const client = this.findWalletClient();
99
+ if (!client) {
100
+ return Promise.resolve(undefined);
101
+ }
102
+ const signedMessage = yield client.signMessage({
103
+ account: walletAddress,
104
+ message: messageToSign,
105
+ });
106
+ return signedMessage;
107
+ });
108
+ }
109
+ _setupEventListeners(walletConnector, publicClient) {
110
+ const web3Provider = this.findProvider();
111
+ if (!web3Provider) {
112
+ return {
113
+ tearDownEventListeners: () => { },
114
+ };
115
+ }
116
+ const { handleAccountChange, handleChainChange, handleDisconnect } = eventListenerHandlers.eventListenerHandlers(walletConnector, publicClient);
117
+ web3Provider.on('accountsChanged', handleAccountChange);
118
+ web3Provider.on('chainChanged', handleChainChange);
119
+ web3Provider.on('disconnect', handleDisconnect);
120
+ const tearDownEventListeners = () => {
121
+ const web3Provider = this.findProvider();
122
+ if (!web3Provider) {
123
+ return;
124
+ }
125
+ if (handleAccountChange) {
126
+ web3Provider.removeListener('accountsChanged', handleAccountChange);
127
+ }
128
+ if (handleChainChange) {
129
+ web3Provider.removeListener('chainChanged', handleChainChange);
130
+ }
131
+ if (handleDisconnect) {
132
+ web3Provider.removeListener('disconnect', handleDisconnect);
133
+ }
134
+ };
135
+ return {
136
+ tearDownEventListeners,
137
+ };
138
+ }
139
+ }
217
140
 
218
141
  exports.EthProviderHelper = EthProviderHelper;
@@ -1,36 +1,28 @@
1
- import { ethers } from 'ethers';
2
- import { ProviderCondition, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
- import { IEthereum, ProviderFlag } from './types';
4
- type Provider = () => ethers.providers.ExternalProvider | undefined;
5
- export declare class EthProviderHelper {
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 SuperbProvider: Provider;
19
- static RabbyProvider: Provider;
20
- static OKXProvider: Provider;
21
- static UnknownInjectedProvider: Provider;
22
- static providers: {
23
- [wallet: string]: Provider;
24
- };
25
- static installedProviderLookup(providerFlags: Array<ProviderCondition<ProviderFlag>>): IEthereum | undefined;
26
- static allInstalledProviders(): IEthereum[];
27
- static isInstalledHelper(walletName: string): boolean;
28
- static findProvider(walletName: string): ethers.providers.Web3Provider | undefined;
29
- static fetchPublicAddressWithName(name: string): Promise<string | undefined>;
30
- static fetchPublicAddressWithProvider(provider: ethers.providers.Web3Provider): Promise<string | undefined>;
31
- static signMessageWithName(messageToSign: string, name: string): Promise<string | undefined>;
32
- static _setupEventListeners(name: string, listeners: WalletEventListeners, web3Provider?: ethers.providers.Web3Provider): {
33
- tearDownEventListeners: () => void;
34
- };
35
- }
36
- export {};
1
+ import { Hex, PublicClient, WalletClient } from 'viem';
2
+ import { ProviderCondition, WalletConnector } from '@dynamic-labs/wallet-connector-core';
3
+ import { WalletSchema } from '@dynamic-labs/wallet-book';
4
+ import { IEthereum, ProviderFlag } from './types';
5
+ export declare class EthProviderHelper {
6
+ private wallet;
7
+ constructor(wallet: WalletSchema);
8
+ getInstalledProvider(): IEthereum | undefined;
9
+ getInjectedConfig(): {
10
+ chain: string;
11
+ extensionLocators: {
12
+ value: boolean;
13
+ flag: string;
14
+ }[];
15
+ windowLocations?: string[] | undefined;
16
+ } | undefined;
17
+ installedProviders(): IEthereum[];
18
+ installedProviderLookup(providerFlags: Array<ProviderCondition<ProviderFlag>>): IEthereum | undefined;
19
+ isInstalledHelper(): boolean;
20
+ findProvider(): IEthereum | undefined;
21
+ findWalletClient(): WalletClient | undefined;
22
+ fetchPublicAddress(): Promise<Hex | undefined>;
23
+ fetchPublicAddressWithProvider(client: WalletClient): Promise<Hex | undefined>;
24
+ signMessage(messageToSign: string): Promise<string | undefined>;
25
+ _setupEventListeners(walletConnector: WalletConnector, publicClient: PublicClient): {
26
+ tearDownEventListeners: () => void;
27
+ };
28
+ }