@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
@@ -58,7 +58,7 @@ class WalletConnect extends EthWalletConnector {
58
58
  }
59
59
  fetchPublicAddress(opts) {
60
60
  return __awaiter(this, void 0, void 0, function* () {
61
- return fetchWalletConnectEVMPublicAddress(getWalletBookWallet(this.walletBook, this.name), this.getClient(), this.deepLinkPreference, Object.assign(Object.assign({}, opts), { onConnect: (payload) => {
61
+ return fetchWalletConnectEVMPublicAddress(getWalletBookWallet(this.walletBook, this.key), this.getClient(), this.deepLinkPreference, Object.assign(Object.assign({}, opts), { onConnect: (payload) => {
62
62
  var _a;
63
63
  (_a = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _a === void 0 ? void 0 : _a.call(opts, payload);
64
64
  this.connectedChain = payload.params[0].chainId ? 'EVM' : 'SOL';
@@ -67,7 +67,7 @@ class WalletConnect extends EthWalletConnector {
67
67
  }
68
68
  getDeepLink() {
69
69
  var _a;
70
- const wallet = getWalletBookWallet(this.walletBook, this.name);
70
+ const wallet = getWalletBookWallet(this.walletBook, this.key);
71
71
  if (!isMobile() && !((_a = wallet.desktop) === null || _a === void 0 ? void 0 : _a.native)) {
72
72
  return undefined;
73
73
  }
@@ -80,7 +80,7 @@ class WalletConnect extends EthWalletConnector {
80
80
  }
81
81
  signMessage(messageToSign) {
82
82
  return __awaiter(this, void 0, void 0, function* () {
83
- return signWalletConnectPersonalMessage(messageToSign, getWalletBookWallet(this.walletBook, this.name), this.getClient(), this.deepLinkPreference,
83
+ return signWalletConnectPersonalMessage(messageToSign, getWalletBookWallet(this.walletBook, this.key), this.getClient(), this.deepLinkPreference,
84
84
  // don't call getRpcProvider until we really need to
85
85
  () => __awaiter(this, void 0, void 0, function* () { return this.getRpcProvider(); }));
86
86
  });
@@ -112,7 +112,7 @@ class WalletConnect extends EthWalletConnector {
112
112
  }
113
113
  if (isMobile()) {
114
114
  const deepLink = getDeepLink({
115
- metadata: getWalletBookWallet(this.walletBook, this.name),
115
+ metadata: getWalletBookWallet(this.walletBook, this.key),
116
116
  mode: 'regular',
117
117
  preference: this.deepLinkPreference,
118
118
  uri: client.uri,
@@ -32,8 +32,15 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
32
32
  this.projectId = opts.projectId;
33
33
  this.deepLinkPreference = opts.deepLinkPreference || 'native';
34
34
  }
35
+ getDefaultChainId() {
36
+ var _a, _b;
37
+ const etheriumMainnetNetwork = (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => network.chainId === 1);
38
+ if (!etheriumMainnetNetwork && ((_b = this.evmNetworks) === null || _b === void 0 ? void 0 : _b.length)) {
39
+ return this.evmNetworks[0].chainId;
40
+ }
41
+ return 1;
42
+ }
35
43
  initConnection() {
36
- var _a;
37
44
  return _tslib.__awaiter(this, void 0, void 0, function* () {
38
45
  const { provider } = WalletConnectV2;
39
46
  if (!provider) {
@@ -43,9 +50,7 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
43
50
  if (provider === null || provider === void 0 ? void 0 : provider.uri) {
44
51
  return;
45
52
  }
46
- const defaultChain = ((_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.length)
47
- ? this.evmNetworks[0].chainId
48
- : 1;
53
+ const defaultChain = this.getDefaultChainId();
49
54
  provider
50
55
  .connect({
51
56
  namespaces: {
@@ -200,7 +205,7 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
200
205
  throw new utils.DynamicError('No provider found');
201
206
  }
202
207
  }
203
- const metadata = walletBook.getWalletBookWallet(this.walletBook, this.name);
208
+ const metadata = walletBook.getWalletBookWallet(this.walletBook, this.key);
204
209
  walletConnectorCore.performPlatformSpecificConnectionMethod(WalletConnectV2.provider.uri, metadata, {
205
210
  onDesktopUri: opts === null || opts === void 0 ? void 0 : opts.onDesktopUri,
206
211
  onDisplayUri: opts === null || opts === void 0 ? void 0 : opts.onDisplayUri,
@@ -259,7 +264,7 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
259
264
  if (!this.session) {
260
265
  return;
261
266
  }
262
- const metadata = walletBook.getWalletBookWallet(this.walletBook, this.name);
267
+ const metadata = walletBook.getWalletBookWallet(this.walletBook, this.key);
263
268
  const deepLink = walletConnectorCore.getDeepLink({
264
269
  metadata,
265
270
  mode: 'regular',
@@ -368,9 +373,11 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
368
373
  }
369
374
  getConnectedAccounts() {
370
375
  return _tslib.__awaiter(this, void 0, void 0, function* () {
371
- yield this.initProvider();
372
- this.refreshSession();
373
- this.isInitialized = true;
376
+ if (this.isInitialized === false) {
377
+ yield this.initProvider();
378
+ this.refreshSession();
379
+ this.isInitialized = true;
380
+ }
374
381
  if (!this.activeAccount) {
375
382
  return [];
376
383
  }
@@ -22,6 +22,7 @@ export declare class WalletConnectV2 extends EthWalletConnector {
22
22
  private projectId?;
23
23
  private deepLinkPreference;
24
24
  constructor(opts: WalletConnectorV2Opts);
25
+ getDefaultChainId(): number;
25
26
  private initConnection;
26
27
  private createInitProviderPromise;
27
28
  private initProvider;
@@ -23,8 +23,15 @@ class WalletConnectV2 extends EthWalletConnector {
23
23
  this.projectId = opts.projectId;
24
24
  this.deepLinkPreference = opts.deepLinkPreference || 'native';
25
25
  }
26
+ getDefaultChainId() {
27
+ var _a, _b;
28
+ const etheriumMainnetNetwork = (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => network.chainId === 1);
29
+ if (!etheriumMainnetNetwork && ((_b = this.evmNetworks) === null || _b === void 0 ? void 0 : _b.length)) {
30
+ return this.evmNetworks[0].chainId;
31
+ }
32
+ return 1;
33
+ }
26
34
  initConnection() {
27
- var _a;
28
35
  return __awaiter(this, void 0, void 0, function* () {
29
36
  const { provider } = WalletConnectV2;
30
37
  if (!provider) {
@@ -34,9 +41,7 @@ class WalletConnectV2 extends EthWalletConnector {
34
41
  if (provider === null || provider === void 0 ? void 0 : provider.uri) {
35
42
  return;
36
43
  }
37
- const defaultChain = ((_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.length)
38
- ? this.evmNetworks[0].chainId
39
- : 1;
44
+ const defaultChain = this.getDefaultChainId();
40
45
  provider
41
46
  .connect({
42
47
  namespaces: {
@@ -191,7 +196,7 @@ class WalletConnectV2 extends EthWalletConnector {
191
196
  throw new DynamicError('No provider found');
192
197
  }
193
198
  }
194
- const metadata = getWalletBookWallet(this.walletBook, this.name);
199
+ const metadata = getWalletBookWallet(this.walletBook, this.key);
195
200
  performPlatformSpecificConnectionMethod(WalletConnectV2.provider.uri, metadata, {
196
201
  onDesktopUri: opts === null || opts === void 0 ? void 0 : opts.onDesktopUri,
197
202
  onDisplayUri: opts === null || opts === void 0 ? void 0 : opts.onDisplayUri,
@@ -250,7 +255,7 @@ class WalletConnectV2 extends EthWalletConnector {
250
255
  if (!this.session) {
251
256
  return;
252
257
  }
253
- const metadata = getWalletBookWallet(this.walletBook, this.name);
258
+ const metadata = getWalletBookWallet(this.walletBook, this.key);
254
259
  const deepLink = getDeepLink({
255
260
  metadata,
256
261
  mode: 'regular',
@@ -359,9 +364,11 @@ class WalletConnectV2 extends EthWalletConnector {
359
364
  }
360
365
  getConnectedAccounts() {
361
366
  return __awaiter(this, void 0, void 0, function* () {
362
- yield this.initProvider();
363
- this.refreshSession();
364
- this.isInitialized = true;
367
+ if (this.isInitialized === false) {
368
+ yield this.initProvider();
369
+ this.refreshSession();
370
+ this.isInitialized = true;
371
+ }
365
372
  if (!this.activeAccount) {
366
373
  return [];
367
374
  }
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var InjectedWalletBase = require('./InjectedWalletBase.cjs');
6
-
7
- class OKX extends InjectedWalletBase {
8
- constructor() {
9
- super(...arguments);
10
- this.name = 'OKX Wallet';
11
- this.walletConnectorFallback = true;
12
- }
13
- }
14
-
15
- exports.OKX = OKX;
@@ -1,5 +0,0 @@
1
- import InjectedWalletBase from './InjectedWalletBase';
2
- export declare class OKX extends InjectedWalletBase {
3
- name: string;
4
- walletConnectorFallback: boolean;
5
- }
@@ -1,11 +0,0 @@
1
- import InjectedWalletBase from './InjectedWalletBase.js';
2
-
3
- class OKX extends InjectedWalletBase {
4
- constructor() {
5
- super(...arguments);
6
- this.name = 'OKX Wallet';
7
- this.walletConnectorFallback = true;
8
- }
9
- }
10
-
11
- export { OKX };
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var InjectedWalletBase = require('./InjectedWalletBase.cjs');
6
-
7
- class UnknownInjectedWallet extends InjectedWalletBase {
8
- constructor() {
9
- super(...arguments);
10
- this.name = 'InjectedWallet';
11
- }
12
- }
13
-
14
- exports.UnknownInjectedWallet = UnknownInjectedWallet;
@@ -1,4 +0,0 @@
1
- import InjectedWalletBase from './InjectedWalletBase';
2
- export declare class UnknownInjectedWallet extends InjectedWalletBase {
3
- name: string;
4
- }
@@ -1,10 +0,0 @@
1
- import InjectedWalletBase from './InjectedWalletBase.js';
2
-
3
- class UnknownInjectedWallet extends InjectedWalletBase {
4
- constructor() {
5
- super(...arguments);
6
- this.name = 'InjectedWallet';
7
- }
8
- }
9
-
10
- export { UnknownInjectedWallet };
@@ -1,49 +0,0 @@
1
- import { BloctoInjected } from './BloctoInjected.js';
2
- export { BloctoInjected } from './BloctoInjected.js';
3
- import { BraveEvm } from './BraveEvm.js';
4
- export { BraveEvm } from './BraveEvm.js';
5
- import { Dawn } from './Dawn.js';
6
- export { Dawn } from './Dawn.js';
7
- import { ExodusEvm } from './ExodusEvm.js';
8
- export { ExodusEvm } from './ExodusEvm.js';
9
- import { Frame } from './Frame.js';
10
- export { Frame } from './Frame.js';
11
- import { GameStop } from './GameStop.js';
12
- export { GameStop } from './GameStop.js';
13
- import { MetaMask } from './MetaMask.js';
14
- export { MetaMask } from './MetaMask.js';
15
- import { Opera } from './Opera.js';
16
- export { Opera } from './Opera.js';
17
- import { PhantomEvm } from './PhantomEvm.js';
18
- export { PhantomEvm } from './PhantomEvm.js';
19
- import { Trust } from './Trust.js';
20
- export { Trust } from './Trust.js';
21
- import { UnknownInjectedWallet } from './UnknownInjectedWallet.js';
22
- export { UnknownInjectedWallet } from './UnknownInjectedWallet.js';
23
- import { Zerion } from './Zerion.js';
24
- export { Zerion } from './Zerion.js';
25
- import { Superb } from './Superb.js';
26
- import { Rabby } from './Rabby.js';
27
- export { Rabby } from './Rabby.js';
28
- import { OKX } from './OKX.js';
29
- export { OKX } from './OKX.js';
30
-
31
- const injectedWallets = [
32
- BloctoInjected,
33
- BraveEvm,
34
- Dawn,
35
- ExodusEvm,
36
- Frame,
37
- GameStop,
38
- MetaMask,
39
- Opera,
40
- PhantomEvm,
41
- Trust,
42
- UnknownInjectedWallet,
43
- Zerion,
44
- Superb,
45
- Rabby,
46
- OKX,
47
- ];
48
-
49
- export { injectedWallets };