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

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 (110) hide show
  1. package/CHANGELOG.md +292 -0
  2. package/package.json +14 -11
  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 +78 -0
  7. package/src/coinbase/client/client.d.ts +6 -0
  8. package/src/coinbase/client/client.js +71 -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 +129 -127
  17. package/src/ethProviderHelper.d.ts +28 -27
  18. package/src/ethProviderHelper.js +130 -128
  19. package/src/index.cjs +10 -8
  20. package/src/index.d.ts +9 -9
  21. package/src/index.js +10 -7
  22. package/src/injected/BloctoInjected.cjs +5 -5
  23. package/src/injected/BloctoInjected.d.ts +4 -4
  24. package/src/injected/BloctoInjected.js +5 -5
  25. package/src/injected/BraveEvm.cjs +5 -5
  26. package/src/injected/BraveEvm.d.ts +4 -4
  27. package/src/injected/BraveEvm.js +5 -5
  28. package/src/injected/Dawn.cjs +5 -5
  29. package/src/injected/Dawn.d.ts +4 -4
  30. package/src/injected/Dawn.js +5 -5
  31. package/src/injected/ExodusEvm.cjs +6 -6
  32. package/src/injected/ExodusEvm.d.ts +5 -5
  33. package/src/injected/ExodusEvm.js +6 -6
  34. package/src/injected/Frame.cjs +5 -5
  35. package/src/injected/Frame.d.ts +4 -4
  36. package/src/injected/Frame.js +5 -5
  37. package/src/injected/GameStop.cjs +5 -5
  38. package/src/injected/GameStop.d.ts +4 -4
  39. package/src/injected/GameStop.js +5 -5
  40. package/src/injected/InjectedWalletBase.cjs +86 -78
  41. package/src/injected/InjectedWalletBase.d.ts +29 -29
  42. package/src/injected/InjectedWalletBase.js +86 -78
  43. package/src/injected/LegacyInjectedWalletBase.cjs +71 -65
  44. package/src/injected/LegacyInjectedWalletBase.d.ts +24 -24
  45. package/src/injected/LegacyInjectedWalletBase.js +71 -65
  46. package/src/injected/Opera.cjs +5 -5
  47. package/src/injected/Opera.d.ts +4 -4
  48. package/src/injected/Opera.js +5 -5
  49. package/src/injected/PhantomEvm.cjs +27 -27
  50. package/src/injected/PhantomEvm.d.ts +5 -5
  51. package/src/injected/PhantomEvm.js +27 -27
  52. package/src/injected/Rabby.cjs +6 -6
  53. package/src/injected/Rabby.d.ts +5 -5
  54. package/src/injected/Rabby.js +6 -6
  55. package/src/injected/Superb.cjs +5 -5
  56. package/src/injected/Superb.d.ts +4 -4
  57. package/src/injected/Superb.js +5 -5
  58. package/src/injected/Trust.cjs +6 -6
  59. package/src/injected/Trust.d.ts +5 -5
  60. package/src/injected/Trust.js +6 -6
  61. package/src/injected/Zerion.cjs +6 -6
  62. package/src/injected/Zerion.d.ts +5 -5
  63. package/src/injected/Zerion.js +6 -6
  64. package/src/injected/fetchInjectedWalletConnectors.cjs +23 -22
  65. package/src/injected/fetchInjectedWalletConnectors.d.ts +6 -6
  66. package/src/injected/fetchInjectedWalletConnectors.js +23 -22
  67. package/src/injected/index.d.ts +13 -14
  68. package/src/injected/legacyInjectedWallets.cjs +27 -30
  69. package/src/injected/legacyInjectedWallets.d.ts +3 -3
  70. package/src/injected/legacyInjectedWallets.js +27 -30
  71. package/src/legacyEthProviderHelper.cjs +175 -181
  72. package/src/legacyEthProviderHelper.d.ts +34 -33
  73. package/src/legacyEthProviderHelper.js +175 -181
  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 -35
  78. package/src/utils/eventListenerHandlers.cjs +25 -25
  79. package/src/utils/eventListenerHandlers.d.ts +8 -8
  80. package/src/utils/eventListenerHandlers.js +25 -25
  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 -175
  94. package/src/walletConnect/client/client.d.ts +17 -17
  95. package/src/walletConnect/client/client.js +179 -175
  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 -37
  99. package/src/walletConnect/fetchWalletConnectWallets.d.ts +9 -9
  100. package/src/walletConnect/fetchWalletConnectWallets.js +37 -37
  101. package/src/walletConnect/index.d.ts +3 -3
  102. package/src/walletConnect/walletConnect.cjs +131 -129
  103. package/src/walletConnect/walletConnect.d.ts +52 -52
  104. package/src/walletConnect/walletConnect.js +131 -129
  105. package/src/walletConnect/walletConnectV2.cjs +419 -387
  106. package/src/walletConnect/walletConnectV2.d.ts +326 -64
  107. package/src/walletConnect/walletConnectV2.js +420 -388
  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
@@ -1,88 +1,96 @@
1
1
  import { __awaiter } from '../../_virtual/_tslib.js';
2
+ import { createPublicClient, custom } from 'viem';
2
3
  import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
3
4
  import { EthProviderHelper } from '../ethProviderHelper.js';
4
5
  import { EthWalletConnector } from '../EthWalletConnector.js';
5
6
  import { WalletConnectV2 } from '../walletConnect/walletConnectV2.js';
6
7
  import { WalletConnect } from '../walletConnect/walletConnect.js';
7
8
 
8
- class InjectedWalletBase extends EthWalletConnector {
9
- constructor() {
10
- super(...arguments);
11
- this.supportedChains = ['ETH', 'EVM'];
12
- this.connectedChain = 'EVM';
13
- this.walletConnectorFallback = false;
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
- }
24
- getMobileOrInstalledWallet() {
25
- var _a, _b, _c;
26
- if (this.walletConnectorFallback && !this.isInstalledOnBrowser()) {
27
- if (!this.wallet)
28
- this.wallet = getWalletBookWallet(this.walletBook, this.key);
29
- if (((_a = this.constructorProps) === null || _a === void 0 ? void 0 : _a.isWalletConnectV2Enabled) &&
30
- ((_c = (_b = this.wallet.walletConnect) === null || _b === void 0 ? void 0 : _b.sdks) === null || _c === void 0 ? void 0 : _c.includes('sign_v2'))) {
31
- return new WalletConnectV2(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
32
- }
33
- else {
34
- return new WalletConnect(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
35
- }
36
- }
37
- return this;
38
- }
39
- setupEventListeners() {
40
- const provider = this.getWeb3Provider();
41
- if (!provider)
42
- return;
43
- const { tearDownEventListeners } = this.getEthProviderHelper()._setupEventListeners(this, provider);
44
- this.teardownEventListeners = tearDownEventListeners;
45
- }
46
- getWeb3Provider() {
47
- return this.getEthProviderHelper().findProvider();
48
- }
49
- isInstalledOnBrowser() {
50
- return this.getEthProviderHelper().findProvider() !== undefined;
51
- }
52
- fetchPublicAddress() {
53
- return __awaiter(this, void 0, void 0, function* () {
54
- return this.getEthProviderHelper().fetchPublicAddress();
55
- });
56
- }
57
- connect() {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- yield this.fetchPublicAddress();
60
- });
61
- }
62
- signMessage(messageToSign) {
63
- return __awaiter(this, void 0, void 0, function* () {
64
- return this.getEthProviderHelper().signMessage(messageToSign);
65
- });
66
- }
67
- proveOwnership(messageToSign) {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- return this.signMessage(messageToSign);
70
- });
71
- }
72
- endSession() {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- // nothing to do on browser-based metamask
75
- return;
76
- });
77
- }
78
- providerSwitchNetwork({ network, provider, }) {
79
- const _super = Object.create(null, {
80
- providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
81
- });
82
- return __awaiter(this, void 0, void 0, function* () {
83
- return _super.providerSwitchNetwork.call(this, { network, provider });
84
- });
85
- }
9
+ class InjectedWalletBase extends EthWalletConnector {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.supportedChains = ['ETH', 'EVM'];
13
+ this.connectedChain = 'EVM';
14
+ this.walletConnectorFallback = false;
15
+ }
16
+ getEthProviderHelper() {
17
+ if (!this.wallet) {
18
+ this.wallet = getWalletBookWallet(this.walletBook, this.key);
19
+ }
20
+ if (this.wallet && !this.ethProviderHelper) {
21
+ this.ethProviderHelper = new EthProviderHelper(this.wallet);
22
+ }
23
+ return this.ethProviderHelper;
24
+ }
25
+ getMobileOrInstalledWallet() {
26
+ var _a, _b, _c;
27
+ if (this.walletConnectorFallback && !this.isInstalledOnBrowser()) {
28
+ if (!this.wallet)
29
+ this.wallet = getWalletBookWallet(this.walletBook, this.key);
30
+ if (((_a = this.constructorProps) === null || _a === void 0 ? void 0 : _a.isWalletConnectV2Enabled) &&
31
+ ((_c = (_b = this.wallet.walletConnect) === null || _b === void 0 ? void 0 : _b.sdks) === null || _c === void 0 ? void 0 : _c.includes('sign_v2'))) {
32
+ return new WalletConnectV2(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
33
+ }
34
+ else {
35
+ return new WalletConnect(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
36
+ }
37
+ }
38
+ return this;
39
+ }
40
+ setupEventListeners() {
41
+ const provider = this.getWalletClient();
42
+ if (!provider)
43
+ return;
44
+ const ethProviderHelper = this.getEthProviderHelper();
45
+ if (!ethProviderHelper)
46
+ return;
47
+ const { tearDownEventListeners } = ethProviderHelper._setupEventListeners(this, createPublicClient({ transport: custom(provider) }));
48
+ this.teardownEventListeners = tearDownEventListeners;
49
+ }
50
+ getWalletClient() {
51
+ var _a;
52
+ return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.findWalletClient();
53
+ }
54
+ isInstalledOnBrowser() {
55
+ var _a;
56
+ return ((_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
57
+ }
58
+ fetchPublicAddress() {
59
+ var _a;
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.fetchPublicAddress();
62
+ });
63
+ }
64
+ connect() {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ yield this.fetchPublicAddress();
67
+ });
68
+ }
69
+ signMessage(messageToSign) {
70
+ var _a;
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
73
+ });
74
+ }
75
+ proveOwnership(messageToSign) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ return this.signMessage(messageToSign);
78
+ });
79
+ }
80
+ endSession() {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ // nothing to do on browser-based metamask
83
+ return;
84
+ });
85
+ }
86
+ providerSwitchNetwork({ network, provider, }) {
87
+ const _super = Object.create(null, {
88
+ providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
89
+ });
90
+ return __awaiter(this, void 0, void 0, function* () {
91
+ return _super.providerSwitchNetwork.call(this, { network, provider });
92
+ });
93
+ }
86
94
  }
87
95
 
88
96
  export { InjectedWalletBase as default };
@@ -1,77 +1,83 @@
1
1
  'use strict';
2
2
 
3
3
  var _tslib = require('../../_virtual/_tslib.cjs');
4
+ var viem = require('viem');
4
5
  var walletBook = require('@dynamic-labs/wallet-book');
5
6
  var legacyEthProviderHelper = require('../legacyEthProviderHelper.cjs');
6
7
  var EthWalletConnector = require('../EthWalletConnector.cjs');
7
8
  var walletConnectV2 = require('../walletConnect/walletConnectV2.cjs');
8
9
  var walletConnect = require('../walletConnect/walletConnect.cjs');
9
10
 
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
- }
11
+ class LegacyInjectedWalletBase extends EthWalletConnector.EthWalletConnector {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.supportedChains = ['ETH', 'EVM'];
15
+ this.connectedChain = 'EVM';
16
+ this.walletConnectorFallback = false;
17
+ }
18
+ getMobileOrInstalledWallet() {
19
+ var _a, _b, _c;
20
+ if (this.walletConnectorFallback && !this.isInstalledOnBrowser()) {
21
+ const wallet = walletBook.getWalletBookWallet(this.walletBook, this.key);
22
+ if (((_a = this.constructorProps) === null || _a === void 0 ? void 0 : _a.isWalletConnectV2Enabled) &&
23
+ ((_c = (_b = wallet.walletConnect) === null || _b === void 0 ? void 0 : _b.sdks) === null || _c === void 0 ? void 0 : _c.includes('sign_v2'))) {
24
+ return new walletConnectV2.WalletConnectV2(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
25
+ }
26
+ else {
27
+ return new walletConnect.WalletConnect(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
28
+ }
29
+ }
30
+ return this;
31
+ }
32
+ setupEventListeners() {
33
+ const provider = legacyEthProviderHelper.LegacyEthProviderHelper.findProvider(this.name);
34
+ if (!provider) {
35
+ return;
36
+ }
37
+ const publicClient = viem.createPublicClient({ transport: viem.custom(provider) });
38
+ const { tearDownEventListeners } = legacyEthProviderHelper.LegacyEthProviderHelper._setupEventListeners(this.name, this, publicClient);
39
+ this.teardownEventListeners = tearDownEventListeners;
40
+ }
41
+ getWalletClient() {
42
+ return legacyEthProviderHelper.LegacyEthProviderHelper.findWalletClient(this.name);
43
+ }
44
+ isInstalledOnBrowser() {
45
+ return legacyEthProviderHelper.LegacyEthProviderHelper.isInstalledHelper(this.name);
46
+ }
47
+ connect() {
48
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
49
+ yield this.fetchPublicAddress();
50
+ });
51
+ }
52
+ fetchPublicAddress() {
53
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
54
+ return legacyEthProviderHelper.LegacyEthProviderHelper.fetchPublicAddressWithName(this.name);
55
+ });
56
+ }
57
+ signMessage(messageToSign) {
58
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
59
+ return legacyEthProviderHelper.LegacyEthProviderHelper.signMessageWithName(messageToSign, this.name);
60
+ });
61
+ }
62
+ proveOwnership(messageToSign) {
63
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
64
+ return this.signMessage(messageToSign);
65
+ });
66
+ }
67
+ endSession() {
68
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
69
+ // nothing to do on browser-based metamask
70
+ return;
71
+ });
72
+ }
73
+ providerSwitchNetwork({ network, provider, }) {
74
+ const _super = Object.create(null, {
75
+ providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
76
+ });
77
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
78
+ return _super.providerSwitchNetwork.call(this, { network, provider });
79
+ });
80
+ }
75
81
  }
76
82
 
77
83
  module.exports = LegacyInjectedWalletBase;
@@ -1,24 +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;
1
+ import { WalletClient } from 'viem';
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
+ getWalletClient(): WalletClient | 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: WalletClient;
22
+ }): Promise<void>;
23
+ }
24
+ export default LegacyInjectedWalletBase;
@@ -1,75 +1,81 @@
1
1
  import { __awaiter } from '../../_virtual/_tslib.js';
2
+ import { createPublicClient, custom } from 'viem';
2
3
  import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
3
4
  import { LegacyEthProviderHelper } from '../legacyEthProviderHelper.js';
4
5
  import { EthWalletConnector } from '../EthWalletConnector.js';
5
6
  import { WalletConnectV2 } from '../walletConnect/walletConnectV2.js';
6
7
  import { WalletConnect } from '../walletConnect/walletConnect.js';
7
8
 
8
- class LegacyInjectedWalletBase extends EthWalletConnector {
9
- constructor() {
10
- super(...arguments);
11
- this.supportedChains = ['ETH', 'EVM'];
12
- this.connectedChain = 'EVM';
13
- this.walletConnectorFallback = false;
14
- }
15
- getMobileOrInstalledWallet() {
16
- var _a, _b, _c;
17
- if (this.walletConnectorFallback && !this.isInstalledOnBrowser()) {
18
- const wallet = getWalletBookWallet(this.walletBook, this.name);
19
- 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'))) {
21
- return new WalletConnectV2(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
22
- }
23
- else {
24
- return new WalletConnect(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
25
- }
26
- }
27
- return this;
28
- }
29
- setupEventListeners() {
30
- const { tearDownEventListeners } = LegacyEthProviderHelper._setupEventListeners(this.name, this, this.getWeb3Provider());
31
- this.teardownEventListeners = tearDownEventListeners;
32
- }
33
- getWeb3Provider() {
34
- return LegacyEthProviderHelper.findProvider(this.name);
35
- }
36
- isInstalledOnBrowser() {
37
- return LegacyEthProviderHelper.isInstalledHelper(this.name);
38
- }
39
- connect() {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- yield this.fetchPublicAddress();
42
- });
43
- }
44
- fetchPublicAddress() {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- return LegacyEthProviderHelper.fetchPublicAddressWithName(this.name);
47
- });
48
- }
49
- signMessage(messageToSign) {
50
- return __awaiter(this, void 0, void 0, function* () {
51
- return LegacyEthProviderHelper.signMessageWithName(messageToSign, this.name);
52
- });
53
- }
54
- proveOwnership(messageToSign) {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- return this.signMessage(messageToSign);
57
- });
58
- }
59
- endSession() {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- // nothing to do on browser-based metamask
62
- return;
63
- });
64
- }
65
- providerSwitchNetwork({ network, provider, }) {
66
- const _super = Object.create(null, {
67
- providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
68
- });
69
- return __awaiter(this, void 0, void 0, function* () {
70
- return _super.providerSwitchNetwork.call(this, { network, provider });
71
- });
72
- }
9
+ class LegacyInjectedWalletBase extends EthWalletConnector {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.supportedChains = ['ETH', 'EVM'];
13
+ this.connectedChain = 'EVM';
14
+ this.walletConnectorFallback = false;
15
+ }
16
+ getMobileOrInstalledWallet() {
17
+ var _a, _b, _c;
18
+ if (this.walletConnectorFallback && !this.isInstalledOnBrowser()) {
19
+ const wallet = getWalletBookWallet(this.walletBook, this.key);
20
+ if (((_a = this.constructorProps) === null || _a === void 0 ? void 0 : _a.isWalletConnectV2Enabled) &&
21
+ ((_c = (_b = wallet.walletConnect) === null || _b === void 0 ? void 0 : _b.sdks) === null || _c === void 0 ? void 0 : _c.includes('sign_v2'))) {
22
+ return new WalletConnectV2(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
23
+ }
24
+ else {
25
+ return new WalletConnect(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
26
+ }
27
+ }
28
+ return this;
29
+ }
30
+ setupEventListeners() {
31
+ const provider = LegacyEthProviderHelper.findProvider(this.name);
32
+ if (!provider) {
33
+ return;
34
+ }
35
+ const publicClient = createPublicClient({ transport: custom(provider) });
36
+ const { tearDownEventListeners } = LegacyEthProviderHelper._setupEventListeners(this.name, this, publicClient);
37
+ this.teardownEventListeners = tearDownEventListeners;
38
+ }
39
+ getWalletClient() {
40
+ return LegacyEthProviderHelper.findWalletClient(this.name);
41
+ }
42
+ isInstalledOnBrowser() {
43
+ return LegacyEthProviderHelper.isInstalledHelper(this.name);
44
+ }
45
+ connect() {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ yield this.fetchPublicAddress();
48
+ });
49
+ }
50
+ fetchPublicAddress() {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ return LegacyEthProviderHelper.fetchPublicAddressWithName(this.name);
53
+ });
54
+ }
55
+ signMessage(messageToSign) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ return LegacyEthProviderHelper.signMessageWithName(messageToSign, this.name);
58
+ });
59
+ }
60
+ proveOwnership(messageToSign) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ return this.signMessage(messageToSign);
63
+ });
64
+ }
65
+ endSession() {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ // nothing to do on browser-based metamask
68
+ return;
69
+ });
70
+ }
71
+ providerSwitchNetwork({ network, provider, }) {
72
+ const _super = Object.create(null, {
73
+ providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
74
+ });
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ return _super.providerSwitchNetwork.call(this, { network, provider });
77
+ });
78
+ }
73
79
  }
74
80
 
75
81
  export { LegacyInjectedWalletBase as default };
@@ -4,11 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var LegacyInjectedWalletBase = require('./LegacyInjectedWalletBase.cjs');
6
6
 
7
- class Opera extends LegacyInjectedWalletBase {
8
- constructor() {
9
- super(...arguments);
10
- this.name = 'Opera';
11
- }
7
+ class Opera extends LegacyInjectedWalletBase {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.name = 'Opera';
11
+ }
12
12
  }
13
13
 
14
14
  exports.Opera = Opera;
@@ -1,4 +1,4 @@
1
- import LegacyInjectedWalletBase from './LegacyInjectedWalletBase';
2
- export declare class Opera extends LegacyInjectedWalletBase {
3
- name: string;
4
- }
1
+ import LegacyInjectedWalletBase from './LegacyInjectedWalletBase';
2
+ export declare class Opera extends LegacyInjectedWalletBase {
3
+ name: string;
4
+ }
@@ -1,10 +1,10 @@
1
1
  import LegacyInjectedWalletBase from './LegacyInjectedWalletBase.js';
2
2
 
3
- class Opera extends LegacyInjectedWalletBase {
4
- constructor() {
5
- super(...arguments);
6
- this.name = 'Opera';
7
- }
3
+ class Opera extends LegacyInjectedWalletBase {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.name = 'Opera';
7
+ }
8
8
  }
9
9
 
10
10
  export { Opera };
@@ -6,33 +6,33 @@ var _tslib = require('../../_virtual/_tslib.cjs');
6
6
  var utils = require('@dynamic-labs/utils');
7
7
  var LegacyInjectedWalletBase = require('./LegacyInjectedWalletBase.cjs');
8
8
 
9
- class PhantomEvm extends LegacyInjectedWalletBase {
10
- constructor() {
11
- super(...arguments);
12
- this.name = 'PhantomEvm';
13
- }
14
- fetchPublicAddress() {
15
- const _super = Object.create(null, {
16
- fetchPublicAddress: { get: () => super.fetchPublicAddress }
17
- });
18
- return _tslib.__awaiter(this, void 0, void 0, function* () {
19
- if (this.isInstalledOnBrowser()) {
20
- return _super.fetchPublicAddress.call(this);
21
- }
22
- const url = encodeURIComponent(window.location.toString());
23
- const ref = encodeURIComponent(window.location.origin);
24
- // samsung browser only supports native links, not universal links
25
- if (utils.isMobile()) {
26
- if (utils.isSamsungBrowser()) {
27
- window.location.assign(`phantom://browse/${url}?ref=${ref}`);
28
- }
29
- else {
30
- window.location.assign(`https://phantom.app/ul/browse/${url}?ref=${ref}`);
31
- }
32
- }
33
- return undefined;
34
- });
35
- }
9
+ class PhantomEvm extends LegacyInjectedWalletBase {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.name = 'PhantomEvm';
13
+ }
14
+ fetchPublicAddress() {
15
+ const _super = Object.create(null, {
16
+ fetchPublicAddress: { get: () => super.fetchPublicAddress }
17
+ });
18
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
19
+ if (this.isInstalledOnBrowser()) {
20
+ return _super.fetchPublicAddress.call(this);
21
+ }
22
+ const url = encodeURIComponent(window.location.toString());
23
+ const ref = encodeURIComponent(window.location.origin);
24
+ // samsung browser only supports native links, not universal links
25
+ if (utils.isMobile()) {
26
+ if (utils.isSamsungBrowser()) {
27
+ window.location.assign(`phantom://browse/${url}?ref=${ref}`);
28
+ }
29
+ else {
30
+ window.location.assign(`https://phantom.app/ul/browse/${url}?ref=${ref}`);
31
+ }
32
+ }
33
+ return undefined;
34
+ });
35
+ }
36
36
  }
37
37
 
38
38
  exports.PhantomEvm = PhantomEvm;
@@ -1,5 +1,5 @@
1
- import LegacyInjectedWalletBase from './LegacyInjectedWalletBase';
2
- export declare class PhantomEvm extends LegacyInjectedWalletBase {
3
- name: string;
4
- fetchPublicAddress(): Promise<string | undefined>;
5
- }
1
+ import LegacyInjectedWalletBase from './LegacyInjectedWalletBase';
2
+ export declare class PhantomEvm extends LegacyInjectedWalletBase {
3
+ name: string;
4
+ fetchPublicAddress(): Promise<string | undefined>;
5
+ }