@dynamic-labs/ethereum 0.19.0-alpha.7 → 0.19.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/package.json +8 -8
  3. package/src/ethProviderHelper.cjs +54 -132
  4. package/src/ethProviderHelper.d.ts +20 -29
  5. package/src/ethProviderHelper.js +55 -133
  6. package/src/index.cjs +23 -21
  7. package/src/index.d.ts +1 -0
  8. package/src/index.js +18 -16
  9. package/src/injected/BloctoInjected.cjs +2 -2
  10. package/src/injected/BloctoInjected.d.ts +2 -2
  11. package/src/injected/BloctoInjected.js +2 -2
  12. package/src/injected/BraveEvm.cjs +2 -2
  13. package/src/injected/BraveEvm.d.ts +2 -2
  14. package/src/injected/BraveEvm.js +2 -2
  15. package/src/injected/Dawn.cjs +2 -2
  16. package/src/injected/Dawn.d.ts +2 -2
  17. package/src/injected/Dawn.js +2 -2
  18. package/src/injected/ExodusEvm.cjs +2 -2
  19. package/src/injected/ExodusEvm.d.ts +2 -2
  20. package/src/injected/ExodusEvm.js +2 -2
  21. package/src/injected/Frame.cjs +2 -2
  22. package/src/injected/Frame.d.ts +2 -2
  23. package/src/injected/Frame.js +2 -2
  24. package/src/injected/GameStop.cjs +2 -2
  25. package/src/injected/GameStop.d.ts +2 -2
  26. package/src/injected/GameStop.js +2 -2
  27. package/src/injected/InjectedWalletBase.cjs +23 -10
  28. package/src/injected/InjectedWalletBase.d.ts +6 -1
  29. package/src/injected/InjectedWalletBase.js +23 -10
  30. package/src/injected/LegacyInjectedWalletBase.cjs +77 -0
  31. package/src/injected/LegacyInjectedWalletBase.d.ts +24 -0
  32. package/src/injected/LegacyInjectedWalletBase.js +75 -0
  33. package/src/injected/MetaMask.cjs +2 -2
  34. package/src/injected/MetaMask.d.ts +2 -2
  35. package/src/injected/MetaMask.js +2 -2
  36. package/src/injected/Opera.cjs +2 -2
  37. package/src/injected/Opera.d.ts +2 -2
  38. package/src/injected/Opera.js +2 -2
  39. package/src/injected/PhantomEvm.cjs +2 -2
  40. package/src/injected/PhantomEvm.d.ts +2 -2
  41. package/src/injected/PhantomEvm.js +2 -2
  42. package/src/injected/Rabby.cjs +2 -2
  43. package/src/injected/Rabby.d.ts +2 -2
  44. package/src/injected/Rabby.js +2 -2
  45. package/src/injected/Superb.cjs +2 -2
  46. package/src/injected/Superb.d.ts +2 -2
  47. package/src/injected/Superb.js +2 -2
  48. package/src/injected/Trust.cjs +2 -2
  49. package/src/injected/Trust.d.ts +2 -2
  50. package/src/injected/Trust.js +2 -2
  51. package/src/injected/Zerion.cjs +2 -2
  52. package/src/injected/Zerion.d.ts +2 -2
  53. package/src/injected/Zerion.js +2 -2
  54. package/src/injected/fetchInjectedWalletConnectors.cjs +32 -0
  55. package/src/injected/fetchInjectedWalletConnectors.d.ts +6 -0
  56. package/src/injected/fetchInjectedWalletConnectors.js +28 -0
  57. package/src/injected/index.d.ts +2 -4
  58. package/src/injected/{index.cjs → legacyInjectedWallets.cjs} +19 -21
  59. package/src/injected/legacyInjectedWallets.d.ts +3 -0
  60. package/src/injected/legacyInjectedWallets.js +46 -0
  61. package/src/legacyEthProviderHelper.cjs +193 -0
  62. package/src/legacyEthProviderHelper.d.ts +33 -0
  63. package/src/legacyEthProviderHelper.js +189 -0
  64. package/src/types.d.ts +11 -0
  65. package/src/utils/eventListenerHandlers.cjs +34 -0
  66. package/src/utils/eventListenerHandlers.d.ts +8 -0
  67. package/src/utils/eventListenerHandlers.js +30 -0
  68. package/src/walletConnect/fetchWalletConnectWallets.cjs +1 -16
  69. package/src/walletConnect/fetchWalletConnectWallets.d.ts +0 -1
  70. package/src/walletConnect/fetchWalletConnectWallets.js +2 -16
  71. package/src/walletConnect/walletConnect.cjs +4 -4
  72. package/src/walletConnect/walletConnect.js +4 -4
  73. package/src/walletConnect/walletConnectV2.cjs +16 -9
  74. package/src/walletConnect/walletConnectV2.d.ts +1 -0
  75. package/src/walletConnect/walletConnectV2.js +16 -9
  76. package/src/injected/OKX.cjs +0 -15
  77. package/src/injected/OKX.d.ts +0 -5
  78. package/src/injected/OKX.js +0 -11
  79. package/src/injected/UnknownInjectedWallet.cjs +0 -14
  80. package/src/injected/UnknownInjectedWallet.d.ts +0 -4
  81. package/src/injected/UnknownInjectedWallet.js +0 -10
  82. package/src/injected/index.js +0 -49
@@ -1,74 +1,83 @@
1
1
  import { __awaiter } from '../_virtual/_tslib.js';
2
2
  import { ethers, utils } from 'ethers';
3
- import { ProviderLookup, normalizeWalletName, logger } from '@dynamic-labs/wallet-connector-core';
3
+ import { ProviderLookup, logger } from '@dynamic-labs/wallet-connector-core';
4
+ import { getPathFromObject } from '@dynamic-labs/utils';
4
5
  import { isUnsupportedProviderError } from './utils/isUnsupportedProviderError/isUnsupportedProviderError.js';
6
+ import { eventListenerHandlers } from './utils/eventListenerHandlers.js';
5
7
 
6
- var _a;
7
8
  class EthProviderHelper {
8
- static installedProviderLookup(providerFlags) {
9
- const allInstalledProviders = this.allInstalledProviders();
10
- return ProviderLookup(allInstalledProviders, providerFlags);
9
+ constructor(wallet) {
10
+ this.wallet = wallet;
11
+ }
12
+ getInstalledProvider() {
13
+ const config = this.getInjectedConfig();
14
+ if (!config ||
15
+ !config.extensionLocators ||
16
+ !config.extensionLocators.length)
17
+ return undefined;
18
+ return this.installedProviderLookup(config.extensionLocators);
11
19
  }
12
- static allInstalledProviders() {
13
- var _b;
14
- const ethereumProviders = [];
20
+ getInjectedConfig() {
21
+ if (!this.wallet || !this.wallet.injectedConfig)
22
+ return;
23
+ const { injectedConfig } = this.wallet;
24
+ return injectedConfig.find((c) => c.chain === 'evm');
25
+ }
26
+ installedProviders() {
27
+ const config = this.getInjectedConfig();
28
+ if (!config)
29
+ return [];
30
+ const providers = [];
31
+ if (config.windowLocations) {
32
+ for (const windowLocation of config.windowLocations) {
33
+ const foundProviders = getPathFromObject(window, windowLocation);
34
+ if (foundProviders && foundProviders.length)
35
+ providers.push(...foundProviders);
36
+ }
37
+ }
15
38
  if (window.ethereum) {
16
- if (!window.ethereum.providers) {
17
- ethereumProviders.push(window.ethereum);
39
+ if (!window.ethereum.providers || !window.ethereum.providers.length) {
40
+ providers.push(window.ethereum);
18
41
  }
19
42
  else {
20
- window.ethereum.providers.forEach((provider) => {
21
- ethereumProviders.push(provider);
22
- });
43
+ window.ethereum.providers.forEach((p) => providers.push(p));
23
44
  }
24
45
  }
25
- if ((_b = window.phantom) === null || _b === void 0 ? void 0 : _b.ethereum) {
26
- ethereumProviders.push(window.phantom.ethereum);
27
- }
28
- if (window.zerionWallet) {
29
- ethereumProviders.push(window.zerionWallet);
30
- }
31
- if (window.coinbaseWalletExtension) {
32
- ethereumProviders.push(window.coinbaseWalletExtension);
33
- }
34
- if (window.superb) {
35
- ethereumProviders.push(window.superb);
36
- }
37
- if (window.okxwallet) {
38
- ethereumProviders.push(window.okxwallet);
39
- }
40
- return ethereumProviders;
46
+ return providers;
41
47
  }
42
- static isInstalledHelper(walletName) {
43
- return this.findProvider(walletName) !== undefined;
48
+ installedProviderLookup(providerFlags) {
49
+ const allInstalledProviders = this.installedProviders();
50
+ return ProviderLookup(allInstalledProviders, providerFlags);
51
+ }
52
+ isInstalledHelper() {
53
+ return this.findProvider() !== undefined;
44
54
  }
45
- static findProvider(walletName) {
46
- var _b, _c;
55
+ findProvider() {
56
+ const windowReference = this.getInstalledProvider();
47
57
  try {
48
- const provider = (_c = (_b = this.providers)[normalizeWalletName(walletName)]) === null || _c === void 0 ? void 0 : _c.call(_b);
49
- return provider === undefined
58
+ return windowReference === undefined
50
59
  ? undefined
51
- : new ethers.providers.Web3Provider(provider, 'any'); // https://github.com/ethers-io/ethers.js/discussions/1480
60
+ : new ethers.providers.Web3Provider(windowReference, 'any'); // https://github.com/ethers-io/ethers.js/discussions/1480
52
61
  }
53
62
  catch (err) {
54
63
  if (isUnsupportedProviderError(err)) {
55
64
  logger.error(`ETH Provider is not supported ${err.value}`, err);
56
65
  return;
57
66
  }
58
- logger.error(`Could not find provider for ${walletName}`, err);
67
+ logger.error(`Could not find provider for ${this.wallet.name}`, err);
59
68
  return undefined;
60
69
  }
61
70
  }
62
- static fetchPublicAddressWithName(name) {
71
+ fetchPublicAddress() {
63
72
  return __awaiter(this, void 0, void 0, function* () {
64
- const provider = this.findProvider(name);
73
+ const provider = this.findProvider();
65
74
  if (!provider) {
66
75
  return Promise.resolve(undefined);
67
76
  }
68
77
  return this.fetchPublicAddressWithProvider(provider);
69
78
  });
70
79
  }
71
- static fetchPublicAddressWithProvider(provider) {
80
+ fetchPublicAddressWithProvider(provider) {
72
81
  return __awaiter(this, void 0, void 0, function* () {
73
82
  try {
74
83
  const [lowercaseAddress] = yield provider.send('eth_requestAccounts', []);
@@ -81,13 +90,13 @@ class EthProviderHelper {
81
90
  }
82
91
  });
83
92
  }
84
- static signMessageWithName(messageToSign, name) {
93
+ signMessage(messageToSign) {
85
94
  return __awaiter(this, void 0, void 0, function* () {
86
- const walletAddress = yield this.fetchPublicAddressWithName(name);
95
+ const walletAddress = yield this.fetchPublicAddress();
87
96
  if (!walletAddress) {
88
97
  return Promise.resolve(undefined);
89
98
  }
90
- const provider = this.findProvider(name);
99
+ const provider = this.findProvider();
91
100
  if (!provider) {
92
101
  return Promise.resolve(undefined);
93
102
  }
@@ -96,37 +105,13 @@ class EthProviderHelper {
96
105
  return signedMessage;
97
106
  });
98
107
  }
99
- static _setupEventListeners(name, walletConnector, web3Provider) {
100
- if (!web3Provider) {
101
- return {
102
- tearDownEventListeners: () => { },
103
- };
104
- }
108
+ _setupEventListeners(walletConnector, web3Provider) {
105
109
  const externalProvider = web3Provider.provider;
106
- const handleAccountChange = (accounts) => __awaiter(this, void 0, void 0, function* () {
107
- if (accounts.length === 0) {
108
- walletConnector.emit('disconnect');
109
- return;
110
- }
111
- walletConnector.emit('accountChange', { accounts });
112
- });
113
- const handleChainChange = () => __awaiter(this, void 0, void 0, function* () {
114
- const network = yield web3Provider.getNetwork();
115
- walletConnector.emit('chainChange', {
116
- chain: network.chainId.toString(),
117
- });
118
- });
119
- const handleDisconnect = (error) => __awaiter(this, void 0, void 0, function* () {
120
- if ((error === null || error === void 0 ? void 0 : error.code) === 1013) {
121
- return;
122
- }
123
- walletConnector.emit('disconnect');
124
- });
110
+ const { handleAccountChange, handleChainChange, handleDisconnect } = eventListenerHandlers(walletConnector, web3Provider);
125
111
  externalProvider.on('accountsChanged', handleAccountChange);
126
112
  externalProvider.on('chainChanged', handleChainChange);
127
113
  externalProvider.on('disconnect', handleDisconnect);
128
114
  const tearDownEventListeners = () => {
129
- const web3Provider = this.findProvider(name);
130
115
  if (!web3Provider || !(web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.provider)) {
131
116
  return;
132
117
  }
@@ -145,69 +130,6 @@ class EthProviderHelper {
145
130
  tearDownEventListeners,
146
131
  };
147
132
  }
148
- }
149
- _a = EthProviderHelper;
150
- EthProviderHelper.MetamaskProvider = () =>
151
- // Stop these wallets from showing up as MetaMask
152
- _a.installedProviderLookup([
153
- { flag: 'isDawn', value: false },
154
- { flag: 'isBraveWallet', value: false },
155
- { flag: 'isTrustWallet', value: false },
156
- { flag: 'isExodus', value: false },
157
- { flag: 'isPhantom', value: false },
158
- { flag: 'isZerion', value: false },
159
- { flag: 'isMetaMask', value: true },
160
- { flag: 'isSuperb', value: false },
161
- { flag: 'isRabby', value: false },
162
- { flag: 'isOkxWallet', value: false },
163
- ]);
164
- EthProviderHelper.BraveProvider = () => _a.installedProviderLookup([{ flag: 'isBraveWallet', value: true }]);
165
- EthProviderHelper.DawnProvider = () => _a.installedProviderLookup([{ flag: 'isDawn', value: true }]);
166
- EthProviderHelper.FrameProvider = () => _a.installedProviderLookup([{ flag: 'isFrame', value: true }]);
167
- EthProviderHelper.CoinbaseProvider = () => _a.installedProviderLookup([{ flag: 'isCoinbaseWallet', value: true }]);
168
- EthProviderHelper.OperaProvider = () => _a.installedProviderLookup([{ flag: 'isOpera', value: true }]);
169
- EthProviderHelper.GameStopProvider = () => _a.installedProviderLookup([{ flag: 'isGamestop', value: true }]);
170
- EthProviderHelper.ExodusProvider = () => _a.installedProviderLookup([{ flag: 'isExodus', value: true }]);
171
- EthProviderHelper.BloctoProvider = () => _a.installedProviderLookup([{ flag: 'isBlocto', value: true }]);
172
- EthProviderHelper.TrustWalletProvider = () => _a.installedProviderLookup([{ flag: 'isTrustWallet', value: true }]);
173
- EthProviderHelper.PhantomProvider = () => _a.installedProviderLookup([{ flag: 'isPhantom', value: true }]);
174
- EthProviderHelper.ZerionProvider = () => _a.installedProviderLookup([{ flag: 'isZerion', value: true }]);
175
- EthProviderHelper.SuperbProvider = () => _a.installedProviderLookup([{ flag: 'isSuperb', value: true }]);
176
- EthProviderHelper.RabbyProvider = () => _a.installedProviderLookup([{ flag: 'isRabby', value: true }]);
177
- EthProviderHelper.OKXProvider = () => _a.installedProviderLookup([{ flag: 'isOkxWallet', value: true }]);
178
- EthProviderHelper.UnknownInjectedProvider = () => _a.installedProviderLookup([
179
- { flag: 'isMetaMask', value: false },
180
- { flag: 'isExodus', value: false },
181
- { flag: 'isCoinbaseWallet', value: false },
182
- { flag: 'isBraveWallet', value: false },
183
- { flag: 'isGamestop', value: false },
184
- { flag: 'isFrame', value: false },
185
- { flag: 'isOpera', value: false },
186
- { flag: 'isBlocto', value: false },
187
- { flag: 'isTrustWallet', value: false },
188
- { flag: 'isPhantom', value: false },
189
- { flag: 'isZerion', value: false },
190
- { flag: 'isSuperb', value: false },
191
- { flag: 'isRabby', value: false },
192
- { flag: 'isOkxWallet', value: false },
193
- ]);
194
- EthProviderHelper.providers = {
195
- bloctoinjected: _a.BloctoProvider,
196
- braveevm: _a.BraveProvider,
197
- coinbase: _a.CoinbaseProvider,
198
- dawn: _a.DawnProvider,
199
- exodusevm: _a.ExodusProvider,
200
- frame: _a.FrameProvider,
201
- gamestop: _a.GameStopProvider,
202
- injectedwallet: _a.UnknownInjectedProvider,
203
- metamask: _a.MetamaskProvider,
204
- okxwallet: _a.OKXProvider,
205
- opera: _a.OperaProvider,
206
- phantomevm: _a.PhantomProvider,
207
- rabby: _a.RabbyProvider,
208
- superb: _a.SuperbProvider,
209
- trust: _a.TrustWalletProvider,
210
- zerion: _a.ZerionProvider,
211
- };
133
+ }
212
134
 
213
135
  export { EthProviderHelper };
package/src/index.cjs CHANGED
@@ -3,18 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('./polyfills.cjs');
6
- var index = require('./injected/index.cjs');
7
- require('./walletConnect/walletConnectV2.cjs');
8
- require('@walletconnect/ethereum-provider');
9
- require('ethers');
10
- require('@dynamic-labs/wallet-connector-core');
11
- require('@dynamic-labs/wallet-book');
12
- require('@dynamic-labs/utils');
13
- var EthWalletConnector = require('./EthWalletConnector.cjs');
14
- var constants = require('./constants.cjs');
15
- require('@walletconnect/client');
16
- var fetchWalletConnectWallets = require('./walletConnect/fetchWalletConnectWallets.cjs');
17
- var ethProviderHelper = require('./ethProviderHelper.cjs');
18
6
  var BloctoInjected = require('./injected/BloctoInjected.cjs');
19
7
  var BraveEvm = require('./injected/BraveEvm.cjs');
20
8
  var Dawn = require('./injected/Dawn.cjs');
@@ -25,21 +13,30 @@ var MetaMask = require('./injected/MetaMask.cjs');
25
13
  var Opera = require('./injected/Opera.cjs');
26
14
  var PhantomEvm = require('./injected/PhantomEvm.cjs');
27
15
  var Trust = require('./injected/Trust.cjs');
28
- var UnknownInjectedWallet = require('./injected/UnknownInjectedWallet.cjs');
29
16
  var Zerion = require('./injected/Zerion.cjs');
30
17
  var Rabby = require('./injected/Rabby.cjs');
31
- var OKX = require('./injected/OKX.cjs');
18
+ var fetchInjectedWalletConnectors = require('./injected/fetchInjectedWalletConnectors.cjs');
19
+ var legacyInjectedWallets = require('./injected/legacyInjectedWallets.cjs');
20
+ require('./walletConnect/walletConnectV2.cjs');
21
+ require('@walletconnect/ethereum-provider');
22
+ require('ethers');
23
+ require('@dynamic-labs/wallet-connector-core');
24
+ require('@dynamic-labs/wallet-book');
25
+ require('@dynamic-labs/utils');
26
+ var EthWalletConnector = require('./EthWalletConnector.cjs');
27
+ var constants = require('./constants.cjs');
28
+ require('@walletconnect/client');
29
+ var fetchWalletConnectWallets = require('./walletConnect/fetchWalletConnectWallets.cjs');
30
+ var ethProviderHelper = require('./ethProviderHelper.cjs');
31
+ var legacyEthProviderHelper = require('./legacyEthProviderHelper.cjs');
32
32
 
33
33
  const EthereumWalletConnectors = (props) => [
34
- ...index.injectedWallets,
34
+ ...legacyInjectedWallets.legacyInjectedWallets,
35
+ ...fetchInjectedWalletConnectors.fetchInjectedWalletConnector(props),
35
36
  ...fetchWalletConnectWallets.fetchWalletConnectWallets(props),
36
37
  fetchWalletConnectWallets.getWalletConnectConnector(props),
37
38
  ];
38
39
 
39
- exports.injectedWallets = index.injectedWallets;
40
- exports.EthWalletConnector = EthWalletConnector.EthWalletConnector;
41
- exports.INFURA_ID = constants.INFURA_ID;
42
- exports.EthProviderHelper = ethProviderHelper.EthProviderHelper;
43
40
  exports.BloctoInjected = BloctoInjected.BloctoInjected;
44
41
  exports.BraveEvm = BraveEvm.BraveEvm;
45
42
  exports.Dawn = Dawn.Dawn;
@@ -50,8 +47,13 @@ exports.MetaMask = MetaMask.MetaMask;
50
47
  exports.Opera = Opera.Opera;
51
48
  exports.PhantomEvm = PhantomEvm.PhantomEvm;
52
49
  exports.Trust = Trust.Trust;
53
- exports.UnknownInjectedWallet = UnknownInjectedWallet.UnknownInjectedWallet;
54
50
  exports.Zerion = Zerion.Zerion;
55
51
  exports.Rabby = Rabby.Rabby;
56
- exports.OKX = OKX.OKX;
52
+ exports.fetchInjectedWalletConnector = fetchInjectedWalletConnectors.fetchInjectedWalletConnector;
53
+ exports.filteredLegacyInjectedWalletKeys = legacyInjectedWallets.filteredLegacyInjectedWalletKeys;
54
+ exports.legacyInjectedWallets = legacyInjectedWallets.legacyInjectedWallets;
55
+ exports.EthWalletConnector = EthWalletConnector.EthWalletConnector;
56
+ exports.INFURA_ID = constants.INFURA_ID;
57
+ exports.EthProviderHelper = ethProviderHelper.EthProviderHelper;
58
+ exports.LegacyEthProviderHelper = legacyEthProviderHelper.LegacyEthProviderHelper;
57
59
  exports.EthereumWalletConnectors = EthereumWalletConnectors;
package/src/index.d.ts CHANGED
@@ -3,6 +3,7 @@ import { WalletConnectorConstructor } from '@dynamic-labs/wallet-connector-core'
3
3
  export * from './injected';
4
4
  export * from './EthWalletConnector';
5
5
  export * from './ethProviderHelper';
6
+ export * from './legacyEthProviderHelper';
6
7
  export * from './constants';
7
8
  export * from './types';
8
9
  export declare const EthereumWalletConnectors: (props: any) => WalletConnectorConstructor[];
package/src/index.js CHANGED
@@ -1,17 +1,4 @@
1
1
  import './polyfills.js';
2
- import { injectedWallets } from './injected/index.js';
3
- export { injectedWallets } from './injected/index.js';
4
- import './walletConnect/walletConnectV2.js';
5
- import '@walletconnect/ethereum-provider';
6
- import 'ethers';
7
- import '@dynamic-labs/wallet-connector-core';
8
- import '@dynamic-labs/wallet-book';
9
- import '@dynamic-labs/utils';
10
- export { EthWalletConnector } from './EthWalletConnector.js';
11
- export { INFURA_ID } from './constants.js';
12
- import '@walletconnect/client';
13
- import { fetchWalletConnectWallets, getWalletConnectConnector } from './walletConnect/fetchWalletConnectWallets.js';
14
- export { EthProviderHelper } from './ethProviderHelper.js';
15
2
  export { BloctoInjected } from './injected/BloctoInjected.js';
16
3
  export { BraveEvm } from './injected/BraveEvm.js';
17
4
  export { Dawn } from './injected/Dawn.js';
@@ -22,13 +9,28 @@ export { MetaMask } from './injected/MetaMask.js';
22
9
  export { Opera } from './injected/Opera.js';
23
10
  export { PhantomEvm } from './injected/PhantomEvm.js';
24
11
  export { Trust } from './injected/Trust.js';
25
- export { UnknownInjectedWallet } from './injected/UnknownInjectedWallet.js';
26
12
  export { Zerion } from './injected/Zerion.js';
27
13
  export { Rabby } from './injected/Rabby.js';
28
- export { OKX } from './injected/OKX.js';
14
+ import { fetchInjectedWalletConnector } from './injected/fetchInjectedWalletConnectors.js';
15
+ export { fetchInjectedWalletConnector } from './injected/fetchInjectedWalletConnectors.js';
16
+ import { legacyInjectedWallets } from './injected/legacyInjectedWallets.js';
17
+ export { filteredLegacyInjectedWalletKeys, legacyInjectedWallets } from './injected/legacyInjectedWallets.js';
18
+ import './walletConnect/walletConnectV2.js';
19
+ import '@walletconnect/ethereum-provider';
20
+ import 'ethers';
21
+ import '@dynamic-labs/wallet-connector-core';
22
+ import '@dynamic-labs/wallet-book';
23
+ import '@dynamic-labs/utils';
24
+ export { EthWalletConnector } from './EthWalletConnector.js';
25
+ export { INFURA_ID } from './constants.js';
26
+ import '@walletconnect/client';
27
+ import { fetchWalletConnectWallets, getWalletConnectConnector } from './walletConnect/fetchWalletConnectWallets.js';
28
+ export { EthProviderHelper } from './ethProviderHelper.js';
29
+ export { LegacyEthProviderHelper } from './legacyEthProviderHelper.js';
29
30
 
30
31
  const EthereumWalletConnectors = (props) => [
31
- ...injectedWallets,
32
+ ...legacyInjectedWallets,
33
+ ...fetchInjectedWalletConnector(props),
32
34
  ...fetchWalletConnectWallets(props),
33
35
  getWalletConnectConnector(props),
34
36
  ];
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var InjectedWalletBase = require('./InjectedWalletBase.cjs');
5
+ var LegacyInjectedWalletBase = require('./LegacyInjectedWalletBase.cjs');
6
6
 
7
- class BloctoInjected extends InjectedWalletBase {
7
+ class BloctoInjected extends LegacyInjectedWalletBase {
8
8
  constructor() {
9
9
  super(...arguments);
10
10
  this.name = 'bloctoInjected';
@@ -1,4 +1,4 @@
1
- import InjectedWalletBase from './InjectedWalletBase';
2
- export declare class BloctoInjected extends InjectedWalletBase {
1
+ import LegacyInjectedWalletBase from './LegacyInjectedWalletBase';
2
+ export declare class BloctoInjected extends LegacyInjectedWalletBase {
3
3
  name: string;
4
4
  }
@@ -1,6 +1,6 @@
1
- import InjectedWalletBase from './InjectedWalletBase.js';
1
+ import LegacyInjectedWalletBase from './LegacyInjectedWalletBase.js';
2
2
 
3
- class BloctoInjected extends InjectedWalletBase {
3
+ class BloctoInjected extends LegacyInjectedWalletBase {
4
4
  constructor() {
5
5
  super(...arguments);
6
6
  this.name = 'bloctoInjected';
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var InjectedWalletBase = require('./InjectedWalletBase.cjs');
5
+ var LegacyInjectedWalletBase = require('./LegacyInjectedWalletBase.cjs');
6
6
 
7
- class BraveEvm extends InjectedWalletBase {
7
+ class BraveEvm extends LegacyInjectedWalletBase {
8
8
  constructor() {
9
9
  super(...arguments);
10
10
  this.name = 'BraveEvm';
@@ -1,4 +1,4 @@
1
- import InjectedWalletBase from './InjectedWalletBase';
2
- export declare class BraveEvm extends InjectedWalletBase {
1
+ import LegacyInjectedWalletBase from './LegacyInjectedWalletBase';
2
+ export declare class BraveEvm extends LegacyInjectedWalletBase {
3
3
  name: string;
4
4
  }
@@ -1,6 +1,6 @@
1
- import InjectedWalletBase from './InjectedWalletBase.js';
1
+ import LegacyInjectedWalletBase from './LegacyInjectedWalletBase.js';
2
2
 
3
- class BraveEvm extends InjectedWalletBase {
3
+ class BraveEvm extends LegacyInjectedWalletBase {
4
4
  constructor() {
5
5
  super(...arguments);
6
6
  this.name = 'BraveEvm';
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var InjectedWalletBase = require('./InjectedWalletBase.cjs');
5
+ var LegacyInjectedWalletBase = require('./LegacyInjectedWalletBase.cjs');
6
6
 
7
- class Dawn extends InjectedWalletBase {
7
+ class Dawn extends LegacyInjectedWalletBase {
8
8
  constructor() {
9
9
  super(...arguments);
10
10
  this.name = 'Dawn';
@@ -1,4 +1,4 @@
1
- import InjectedWalletBase from './InjectedWalletBase';
2
- export declare class Dawn extends InjectedWalletBase {
1
+ import LegacyInjectedWalletBase from './LegacyInjectedWalletBase';
2
+ export declare class Dawn extends LegacyInjectedWalletBase {
3
3
  name: string;
4
4
  }
@@ -1,6 +1,6 @@
1
- import InjectedWalletBase from './InjectedWalletBase.js';
1
+ import LegacyInjectedWalletBase from './LegacyInjectedWalletBase.js';
2
2
 
3
- class Dawn extends InjectedWalletBase {
3
+ class Dawn extends LegacyInjectedWalletBase {
4
4
  constructor() {
5
5
  super(...arguments);
6
6
  this.name = 'Dawn';
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var InjectedWalletBase = require('./InjectedWalletBase.cjs');
5
+ var LegacyInjectedWalletBase = require('./LegacyInjectedWalletBase.cjs');
6
6
 
7
- class ExodusEvm extends InjectedWalletBase {
7
+ class ExodusEvm extends LegacyInjectedWalletBase {
8
8
  constructor() {
9
9
  super(...arguments);
10
10
  this.name = 'ExodusEvm';
@@ -1,5 +1,5 @@
1
- import InjectedWalletBase from './InjectedWalletBase';
2
- export declare class ExodusEvm extends InjectedWalletBase {
1
+ import LegacyInjectedWalletBase from './LegacyInjectedWalletBase';
2
+ export declare class ExodusEvm extends LegacyInjectedWalletBase {
3
3
  name: string;
4
4
  walletConnectorFallback: boolean;
5
5
  }
@@ -1,6 +1,6 @@
1
- import InjectedWalletBase from './InjectedWalletBase.js';
1
+ import LegacyInjectedWalletBase from './LegacyInjectedWalletBase.js';
2
2
 
3
- class ExodusEvm extends InjectedWalletBase {
3
+ class ExodusEvm extends LegacyInjectedWalletBase {
4
4
  constructor() {
5
5
  super(...arguments);
6
6
  this.name = 'ExodusEvm';
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var InjectedWalletBase = require('./InjectedWalletBase.cjs');
5
+ var LegacyInjectedWalletBase = require('./LegacyInjectedWalletBase.cjs');
6
6
 
7
- class Frame extends InjectedWalletBase {
7
+ class Frame extends LegacyInjectedWalletBase {
8
8
  constructor() {
9
9
  super(...arguments);
10
10
  this.name = 'Frame';
@@ -1,4 +1,4 @@
1
- import InjectedWalletBase from './InjectedWalletBase';
2
- export declare class Frame extends InjectedWalletBase {
1
+ import LegacyInjectedWalletBase from './LegacyInjectedWalletBase';
2
+ export declare class Frame extends LegacyInjectedWalletBase {
3
3
  name: string;
4
4
  }
@@ -1,6 +1,6 @@
1
- import InjectedWalletBase from './InjectedWalletBase.js';
1
+ import LegacyInjectedWalletBase from './LegacyInjectedWalletBase.js';
2
2
 
3
- class Frame extends InjectedWalletBase {
3
+ class Frame extends LegacyInjectedWalletBase {
4
4
  constructor() {
5
5
  super(...arguments);
6
6
  this.name = 'Frame';
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var InjectedWalletBase = require('./InjectedWalletBase.cjs');
5
+ var LegacyInjectedWalletBase = require('./LegacyInjectedWalletBase.cjs');
6
6
 
7
- class GameStop extends InjectedWalletBase {
7
+ class GameStop extends LegacyInjectedWalletBase {
8
8
  constructor() {
9
9
  super(...arguments);
10
10
  this.name = 'GameStop';
@@ -1,4 +1,4 @@
1
- import InjectedWalletBase from './InjectedWalletBase';
2
- export declare class GameStop extends InjectedWalletBase {
1
+ import LegacyInjectedWalletBase from './LegacyInjectedWalletBase';
2
+ export declare class GameStop extends LegacyInjectedWalletBase {
3
3
  name: string;
4
4
  }
@@ -1,6 +1,6 @@
1
- import InjectedWalletBase from './InjectedWalletBase.js';
1
+ import LegacyInjectedWalletBase from './LegacyInjectedWalletBase.js';
2
2
 
3
- class GameStop extends InjectedWalletBase {
3
+ class GameStop extends LegacyInjectedWalletBase {
4
4
  constructor() {
5
5
  super(...arguments);
6
6
  this.name = 'GameStop';
@@ -14,12 +14,22 @@ class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
14
14
  this.connectedChain = 'EVM';
15
15
  this.walletConnectorFallback = false;
16
16
  }
17
+ getEthProviderHelper() {
18
+ if (!this.wallet) {
19
+ this.wallet = walletBook.getWalletBookWallet(this.walletBook, this.key);
20
+ }
21
+ if (!this.ethProviderHelper) {
22
+ this.ethProviderHelper = new ethProviderHelper.EthProviderHelper(this.wallet);
23
+ }
24
+ return this.ethProviderHelper;
25
+ }
17
26
  getMobileOrInstalledWallet() {
18
27
  var _a, _b, _c;
19
28
  if (this.walletConnectorFallback && !this.isInstalledOnBrowser()) {
20
- const wallet = walletBook.getWalletBookWallet(this.walletBook, this.name);
29
+ if (!this.wallet)
30
+ this.wallet = walletBook.getWalletBookWallet(this.walletBook, this.key);
21
31
  if (((_a = this.constructorProps) === null || _a === void 0 ? void 0 : _a.isWalletConnectV2Enabled) &&
22
- ((_c = (_b = wallet.walletConnect) === null || _b === void 0 ? void 0 : _b.sdks) === null || _c === void 0 ? void 0 : _c.includes('sign_v2'))) {
32
+ ((_c = (_b = this.wallet.walletConnect) === null || _b === void 0 ? void 0 : _b.sdks) === null || _c === void 0 ? void 0 : _c.includes('sign_v2'))) {
23
33
  return new walletConnectV2.WalletConnectV2(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
24
34
  }
25
35
  else {
@@ -29,28 +39,31 @@ class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
29
39
  return this;
30
40
  }
31
41
  setupEventListeners() {
32
- const { tearDownEventListeners } = ethProviderHelper.EthProviderHelper._setupEventListeners(this.name, this, this.getWeb3Provider());
42
+ const provider = this.getWeb3Provider();
43
+ if (!provider)
44
+ return;
45
+ const { tearDownEventListeners } = this.getEthProviderHelper()._setupEventListeners(this, provider);
33
46
  this.teardownEventListeners = tearDownEventListeners;
34
47
  }
35
48
  getWeb3Provider() {
36
- return ethProviderHelper.EthProviderHelper.findProvider(this.name);
49
+ return this.getEthProviderHelper().findProvider();
37
50
  }
38
51
  isInstalledOnBrowser() {
39
- return ethProviderHelper.EthProviderHelper.isInstalledHelper(this.name);
52
+ return this.getEthProviderHelper().findProvider() !== undefined;
40
53
  }
41
- connect() {
54
+ fetchPublicAddress() {
42
55
  return _tslib.__awaiter(this, void 0, void 0, function* () {
43
- yield this.fetchPublicAddress();
56
+ return this.getEthProviderHelper().fetchPublicAddress();
44
57
  });
45
58
  }
46
- fetchPublicAddress() {
59
+ connect() {
47
60
  return _tslib.__awaiter(this, void 0, void 0, function* () {
48
- return ethProviderHelper.EthProviderHelper.fetchPublicAddressWithName(this.name);
61
+ yield this.fetchPublicAddress();
49
62
  });
50
63
  }
51
64
  signMessage(messageToSign) {
52
65
  return _tslib.__awaiter(this, void 0, void 0, function* () {
53
- return ethProviderHelper.EthProviderHelper.signMessageWithName(messageToSign, this.name);
66
+ return this.getEthProviderHelper().signMessage(messageToSign);
54
67
  });
55
68
  }
56
69
  proveOwnership(messageToSign) {