@dynamic-labs/ethereum 0.19.0-alpha.8 → 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 (79) hide show
  1. package/CHANGELOG.md +29 -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/walletConnectV2.cjs +5 -3
  72. package/src/walletConnect/walletConnectV2.js +5 -3
  73. package/src/injected/OKX.cjs +0 -15
  74. package/src/injected/OKX.d.ts +0 -5
  75. package/src/injected/OKX.js +0 -11
  76. package/src/injected/UnknownInjectedWallet.cjs +0 -14
  77. package/src/injected/UnknownInjectedWallet.d.ts +0 -4
  78. package/src/injected/UnknownInjectedWallet.js +0 -10
  79. package/src/injected/index.js +0 -49
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.key);
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) {
@@ -1,18 +1,23 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { Chain } from '@dynamic-labs/wallet-connector-core';
3
3
  import { EvmNetwork } from '@dynamic-labs/types';
4
+ import { WalletSchema } from '@dynamic-labs/wallet-book';
5
+ import { EthProviderHelper } from '../ethProviderHelper';
4
6
  import { EthWalletConnector } from '../EthWalletConnector';
5
7
  declare abstract class InjectedWalletBase extends EthWalletConnector {
6
8
  supportedChains: Chain[];
7
9
  connectedChain: Chain;
8
10
  publicAddress: string | undefined;
9
11
  walletConnectorFallback: boolean;
12
+ ethProviderHelper: EthProviderHelper | undefined;
13
+ wallet: WalletSchema | undefined;
14
+ getEthProviderHelper(): EthProviderHelper;
10
15
  getMobileOrInstalledWallet(): InjectedWalletBase;
11
16
  setupEventListeners(): void;
12
17
  getWeb3Provider(): ethers.providers.Web3Provider | undefined;
13
18
  isInstalledOnBrowser(): boolean;
14
- connect(): Promise<void>;
15
19
  fetchPublicAddress(): Promise<string | undefined>;
20
+ connect(): Promise<void>;
16
21
  signMessage(messageToSign: string): Promise<string | undefined>;
17
22
  proveOwnership(messageToSign: string): Promise<string | undefined>;
18
23
  endSession(): Promise<void>;
@@ -12,12 +12,22 @@ class InjectedWalletBase extends EthWalletConnector {
12
12
  this.connectedChain = 'EVM';
13
13
  this.walletConnectorFallback = false;
14
14
  }
15
+ getEthProviderHelper() {
16
+ if (!this.wallet) {
17
+ this.wallet = getWalletBookWallet(this.walletBook, this.key);
18
+ }
19
+ if (!this.ethProviderHelper) {
20
+ this.ethProviderHelper = new EthProviderHelper(this.wallet);
21
+ }
22
+ return this.ethProviderHelper;
23
+ }
15
24
  getMobileOrInstalledWallet() {
16
25
  var _a, _b, _c;
17
26
  if (this.walletConnectorFallback && !this.isInstalledOnBrowser()) {
18
- const wallet = getWalletBookWallet(this.walletBook, this.key);
27
+ if (!this.wallet)
28
+ this.wallet = getWalletBookWallet(this.walletBook, this.key);
19
29
  if (((_a = this.constructorProps) === null || _a === void 0 ? void 0 : _a.isWalletConnectV2Enabled) &&
20
- ((_c = (_b = wallet.walletConnect) === null || _b === void 0 ? void 0 : _b.sdks) === null || _c === void 0 ? void 0 : _c.includes('sign_v2'))) {
30
+ ((_c = (_b = this.wallet.walletConnect) === null || _b === void 0 ? void 0 : _b.sdks) === null || _c === void 0 ? void 0 : _c.includes('sign_v2'))) {
21
31
  return new WalletConnectV2(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
22
32
  }
23
33
  else {
@@ -27,28 +37,31 @@ class InjectedWalletBase extends EthWalletConnector {
27
37
  return this;
28
38
  }
29
39
  setupEventListeners() {
30
- const { tearDownEventListeners } = EthProviderHelper._setupEventListeners(this.name, this, this.getWeb3Provider());
40
+ const provider = this.getWeb3Provider();
41
+ if (!provider)
42
+ return;
43
+ const { tearDownEventListeners } = this.getEthProviderHelper()._setupEventListeners(this, provider);
31
44
  this.teardownEventListeners = tearDownEventListeners;
32
45
  }
33
46
  getWeb3Provider() {
34
- return EthProviderHelper.findProvider(this.name);
47
+ return this.getEthProviderHelper().findProvider();
35
48
  }
36
49
  isInstalledOnBrowser() {
37
- return EthProviderHelper.isInstalledHelper(this.name);
50
+ return this.getEthProviderHelper().findProvider() !== undefined;
38
51
  }
39
- connect() {
52
+ fetchPublicAddress() {
40
53
  return __awaiter(this, void 0, void 0, function* () {
41
- yield this.fetchPublicAddress();
54
+ return this.getEthProviderHelper().fetchPublicAddress();
42
55
  });
43
56
  }
44
- fetchPublicAddress() {
57
+ connect() {
45
58
  return __awaiter(this, void 0, void 0, function* () {
46
- return EthProviderHelper.fetchPublicAddressWithName(this.name);
59
+ yield this.fetchPublicAddress();
47
60
  });
48
61
  }
49
62
  signMessage(messageToSign) {
50
63
  return __awaiter(this, void 0, void 0, function* () {
51
- return EthProviderHelper.signMessageWithName(messageToSign, this.name);
64
+ return this.getEthProviderHelper().signMessage(messageToSign);
52
65
  });
53
66
  }
54
67
  proveOwnership(messageToSign) {
@@ -0,0 +1,77 @@
1
+ 'use strict';
2
+
3
+ var _tslib = require('../../_virtual/_tslib.cjs');
4
+ var walletBook = require('@dynamic-labs/wallet-book');
5
+ var legacyEthProviderHelper = require('../legacyEthProviderHelper.cjs');
6
+ var EthWalletConnector = require('../EthWalletConnector.cjs');
7
+ var walletConnectV2 = require('../walletConnect/walletConnectV2.cjs');
8
+ var walletConnect = require('../walletConnect/walletConnect.cjs');
9
+
10
+ class LegacyInjectedWalletBase extends EthWalletConnector.EthWalletConnector {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.supportedChains = ['ETH', 'EVM'];
14
+ this.connectedChain = 'EVM';
15
+ this.walletConnectorFallback = false;
16
+ }
17
+ getMobileOrInstalledWallet() {
18
+ var _a, _b, _c;
19
+ if (this.walletConnectorFallback && !this.isInstalledOnBrowser()) {
20
+ const wallet = walletBook.getWalletBookWallet(this.walletBook, this.name);
21
+ 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'))) {
23
+ return new walletConnectV2.WalletConnectV2(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
24
+ }
25
+ else {
26
+ return new walletConnect.WalletConnect(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
27
+ }
28
+ }
29
+ return this;
30
+ }
31
+ setupEventListeners() {
32
+ const { tearDownEventListeners } = legacyEthProviderHelper.LegacyEthProviderHelper._setupEventListeners(this.name, this, this.getWeb3Provider());
33
+ this.teardownEventListeners = tearDownEventListeners;
34
+ }
35
+ getWeb3Provider() {
36
+ return legacyEthProviderHelper.LegacyEthProviderHelper.findProvider(this.name);
37
+ }
38
+ isInstalledOnBrowser() {
39
+ return legacyEthProviderHelper.LegacyEthProviderHelper.isInstalledHelper(this.name);
40
+ }
41
+ connect() {
42
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
43
+ yield this.fetchPublicAddress();
44
+ });
45
+ }
46
+ fetchPublicAddress() {
47
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
48
+ return legacyEthProviderHelper.LegacyEthProviderHelper.fetchPublicAddressWithName(this.name);
49
+ });
50
+ }
51
+ signMessage(messageToSign) {
52
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
53
+ return legacyEthProviderHelper.LegacyEthProviderHelper.signMessageWithName(messageToSign, this.name);
54
+ });
55
+ }
56
+ proveOwnership(messageToSign) {
57
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
58
+ return this.signMessage(messageToSign);
59
+ });
60
+ }
61
+ endSession() {
62
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
63
+ // nothing to do on browser-based metamask
64
+ return;
65
+ });
66
+ }
67
+ providerSwitchNetwork({ network, provider, }) {
68
+ const _super = Object.create(null, {
69
+ providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
70
+ });
71
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
72
+ return _super.providerSwitchNetwork.call(this, { network, provider });
73
+ });
74
+ }
75
+ }
76
+
77
+ module.exports = LegacyInjectedWalletBase;
@@ -0,0 +1,24 @@
1
+ import { ethers } from 'ethers';
2
+ import { Chain } from '@dynamic-labs/wallet-connector-core';
3
+ import { EvmNetwork } from '@dynamic-labs/types';
4
+ import { EthWalletConnector } from '../EthWalletConnector';
5
+ declare abstract class LegacyInjectedWalletBase extends EthWalletConnector {
6
+ supportedChains: Chain[];
7
+ connectedChain: Chain;
8
+ publicAddress: string | undefined;
9
+ walletConnectorFallback: boolean;
10
+ getMobileOrInstalledWallet(): LegacyInjectedWalletBase;
11
+ setupEventListeners(): void;
12
+ getWeb3Provider(): ethers.providers.Web3Provider | undefined;
13
+ isInstalledOnBrowser(): boolean;
14
+ connect(): Promise<void>;
15
+ fetchPublicAddress(): Promise<string | undefined>;
16
+ signMessage(messageToSign: string): Promise<string | undefined>;
17
+ proveOwnership(messageToSign: string): Promise<string | undefined>;
18
+ endSession(): Promise<void>;
19
+ providerSwitchNetwork({ network, provider, }: {
20
+ network: EvmNetwork;
21
+ provider: ethers.providers.Web3Provider;
22
+ }): Promise<void>;
23
+ }
24
+ export default LegacyInjectedWalletBase;