@dynamic-labs/ethereum 1.1.0-alpha.0 → 1.1.0-alpha.2

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 (61) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/package.json +8 -8
  3. package/src/EthWalletConnector.cjs +7 -0
  4. package/src/EthWalletConnector.js +7 -0
  5. package/src/coinbase/coinbase.cjs +27 -8
  6. package/src/coinbase/coinbase.d.ts +2 -0
  7. package/src/coinbase/coinbase.js +27 -8
  8. package/src/index.cjs +4 -26
  9. package/src/index.d.ts +0 -1
  10. package/src/index.js +4 -16
  11. package/src/injected/ExodusEvm.cjs +7 -4
  12. package/src/injected/ExodusEvm.d.ts +4 -2
  13. package/src/injected/ExodusEvm.js +7 -4
  14. package/src/injected/PhantomEvm.cjs +6 -4
  15. package/src/injected/PhantomEvm.d.ts +4 -2
  16. package/src/injected/PhantomEvm.js +6 -4
  17. package/src/injected/fetchInjectedWalletConnectors.cjs +13 -2
  18. package/src/injected/fetchInjectedWalletConnectors.d.ts +1 -0
  19. package/src/injected/fetchInjectedWalletConnectors.js +13 -3
  20. package/src/injected/index.d.ts +1 -11
  21. package/src/injected/BloctoInjected.cjs +0 -14
  22. package/src/injected/BloctoInjected.d.ts +0 -4
  23. package/src/injected/BloctoInjected.js +0 -10
  24. package/src/injected/BraveEvm.cjs +0 -14
  25. package/src/injected/BraveEvm.d.ts +0 -4
  26. package/src/injected/BraveEvm.js +0 -10
  27. package/src/injected/Dawn.cjs +0 -14
  28. package/src/injected/Dawn.d.ts +0 -4
  29. package/src/injected/Dawn.js +0 -10
  30. package/src/injected/Frame.cjs +0 -14
  31. package/src/injected/Frame.d.ts +0 -4
  32. package/src/injected/Frame.js +0 -10
  33. package/src/injected/GameStop.cjs +0 -14
  34. package/src/injected/GameStop.d.ts +0 -4
  35. package/src/injected/GameStop.js +0 -10
  36. package/src/injected/LegacyInjectedWalletBase.cjs +0 -83
  37. package/src/injected/LegacyInjectedWalletBase.d.ts +0 -24
  38. package/src/injected/LegacyInjectedWalletBase.js +0 -81
  39. package/src/injected/Opera.cjs +0 -14
  40. package/src/injected/Opera.d.ts +0 -4
  41. package/src/injected/Opera.js +0 -10
  42. package/src/injected/Rabby.cjs +0 -15
  43. package/src/injected/Rabby.d.ts +0 -5
  44. package/src/injected/Rabby.js +0 -11
  45. package/src/injected/Superb.cjs +0 -14
  46. package/src/injected/Superb.d.ts +0 -4
  47. package/src/injected/Superb.js +0 -10
  48. package/src/injected/Trust.cjs +0 -15
  49. package/src/injected/Trust.d.ts +0 -5
  50. package/src/injected/Trust.js +0 -11
  51. package/src/injected/Zerion.cjs +0 -15
  52. package/src/injected/Zerion.d.ts +0 -5
  53. package/src/injected/Zerion.js +0 -11
  54. package/src/injected/legacyInjectedWallets.cjs +0 -48
  55. package/src/injected/legacyInjectedWallets.d.ts +0 -3
  56. package/src/injected/legacyInjectedWallets.js +0 -43
  57. package/src/legacyEthProviderHelper.cjs +0 -187
  58. package/src/legacyEthProviderHelper.d.ts +0 -34
  59. package/src/legacyEthProviderHelper.js +0 -183
  60. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs +0 -13
  61. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.js +0 -9
@@ -1,187 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _tslib = require('../_virtual/_tslib.cjs');
6
- var viem = require('viem');
7
- var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
8
- var isUnsupportedProviderError = require('./utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs');
9
- var eventListenerHandlers = require('./utils/eventListenerHandlers.cjs');
10
-
11
- var _a;
12
- class LegacyEthProviderHelper {
13
- static installedProviderLookup(providerFlags) {
14
- const allInstalledProviders = this.allInstalledProviders();
15
- return walletConnectorCore.ProviderLookup(allInstalledProviders, providerFlags);
16
- }
17
- static allInstalledProviders() {
18
- var _b;
19
- const ethereumProviders = [];
20
- if (window.ethereum) {
21
- if (!window.ethereum.providers) {
22
- ethereumProviders.push(window.ethereum);
23
- }
24
- else {
25
- window.ethereum.providers.forEach((provider) => {
26
- ethereumProviders.push(provider);
27
- });
28
- }
29
- }
30
- if ((_b = window.phantom) === null || _b === void 0 ? void 0 : _b.ethereum) {
31
- ethereumProviders.push(window.phantom.ethereum);
32
- }
33
- if (window.zerionWallet) {
34
- ethereumProviders.push(window.zerionWallet);
35
- }
36
- if (window.coinbaseWalletExtension) {
37
- ethereumProviders.push(window.coinbaseWalletExtension);
38
- }
39
- if (window.superb) {
40
- ethereumProviders.push(window.superb);
41
- }
42
- return ethereumProviders;
43
- }
44
- static isInstalledHelper(walletName) {
45
- return this.findProvider(walletName) !== undefined;
46
- }
47
- static findProvider(walletName) {
48
- var _b, _c;
49
- try {
50
- return (_c = (_b = this.providers)[walletConnectorCore.normalizeWalletName(walletName)]) === null || _c === void 0 ? void 0 : _c.call(_b);
51
- }
52
- catch (err) {
53
- if (isUnsupportedProviderError.isUnsupportedProviderError(err)) {
54
- walletConnectorCore.logger.error(`ETH Provider is not supported ${err.value}`, err);
55
- return;
56
- }
57
- walletConnectorCore.logger.error(`Could not find provider for ${walletName}`, err);
58
- return undefined;
59
- }
60
- }
61
- static findWalletClient(walletName) {
62
- const provider = this.findProvider(walletName);
63
- if (!provider) {
64
- return undefined;
65
- }
66
- return viem.createWalletClient({
67
- transport: viem.custom(provider),
68
- });
69
- }
70
- static fetchPublicAddressWithName(name) {
71
- return _tslib.__awaiter(this, void 0, void 0, function* () {
72
- const client = this.findWalletClient(name);
73
- if (!client) {
74
- return Promise.resolve(undefined);
75
- }
76
- return this.fetchPublicAddressWithProvider(client);
77
- });
78
- }
79
- static fetchPublicAddressWithProvider(client) {
80
- return _tslib.__awaiter(this, void 0, void 0, function* () {
81
- try {
82
- const [lowercaseAddress] = yield client.requestAddresses();
83
- const publicAddress = viem.getAddress(lowercaseAddress);
84
- return publicAddress;
85
- }
86
- catch (err) {
87
- walletConnectorCore.logger.error(err);
88
- return Promise.reject(err);
89
- }
90
- });
91
- }
92
- static signMessageWithName(messageToSign, name) {
93
- return _tslib.__awaiter(this, void 0, void 0, function* () {
94
- const walletAddress = yield this.fetchPublicAddressWithName(name);
95
- if (!walletAddress) {
96
- return Promise.resolve(undefined);
97
- }
98
- const client = this.findWalletClient(name);
99
- if (!client) {
100
- return Promise.resolve(undefined);
101
- }
102
- const signedMessage = yield client.signMessage({
103
- account: walletAddress,
104
- message: messageToSign,
105
- });
106
- return signedMessage;
107
- });
108
- }
109
- static _setupEventListeners(walletName, walletConnector, publicClient) {
110
- const web3Provider = this.findProvider(walletName);
111
- if (!web3Provider) {
112
- return {
113
- tearDownEventListeners: () => { },
114
- };
115
- }
116
- const { handleAccountChange, handleChainChange, handleDisconnect } = eventListenerHandlers.eventListenerHandlers(walletConnector, publicClient);
117
- web3Provider.on('accountsChanged', handleAccountChange);
118
- web3Provider.on('chainChanged', handleChainChange);
119
- web3Provider.on('disconnect', handleDisconnect);
120
- const tearDownEventListeners = () => {
121
- const web3Provider = this.findProvider(walletName);
122
- if (!web3Provider) {
123
- return;
124
- }
125
- if (handleAccountChange) {
126
- web3Provider.removeListener('accountsChanged', handleAccountChange);
127
- }
128
- if (handleChainChange) {
129
- web3Provider.removeListener('chainChanged', handleChainChange);
130
- }
131
- if (handleDisconnect) {
132
- web3Provider.removeListener('disconnect', handleDisconnect);
133
- }
134
- };
135
- return {
136
- tearDownEventListeners,
137
- };
138
- }
139
- }
140
- _a = LegacyEthProviderHelper;
141
- LegacyEthProviderHelper.BraveProvider = () => _a.installedProviderLookup([{ flag: 'isBraveWallet', value: true }]);
142
- LegacyEthProviderHelper.DawnProvider = () => _a.installedProviderLookup([{ flag: 'isDawn', value: true }]);
143
- LegacyEthProviderHelper.FrameProvider = () => _a.installedProviderLookup([{ flag: 'isFrame', value: true }]);
144
- LegacyEthProviderHelper.CoinbaseProvider = () => _a.installedProviderLookup([{ flag: 'isCoinbaseWallet', value: true }]);
145
- LegacyEthProviderHelper.OperaProvider = () => _a.installedProviderLookup([{ flag: 'isOpera', value: true }]);
146
- LegacyEthProviderHelper.GameStopProvider = () => _a.installedProviderLookup([{ flag: 'isGamestop', value: true }]);
147
- LegacyEthProviderHelper.ExodusProvider = () => _a.installedProviderLookup([{ flag: 'isExodus', value: true }]);
148
- LegacyEthProviderHelper.BloctoProvider = () => _a.installedProviderLookup([{ flag: 'isBlocto', value: true }]);
149
- LegacyEthProviderHelper.TrustWalletProvider = () => _a.installedProviderLookup([{ flag: 'isTrustWallet', value: true }]);
150
- LegacyEthProviderHelper.PhantomProvider = () => _a.installedProviderLookup([{ flag: 'isPhantom', value: true }]);
151
- LegacyEthProviderHelper.ZerionProvider = () => _a.installedProviderLookup([{ flag: 'isZerion', value: true }]);
152
- LegacyEthProviderHelper.SuperbProvider = () => _a.installedProviderLookup([{ flag: 'isSuperb', value: true }]);
153
- LegacyEthProviderHelper.RabbyProvider = () => _a.installedProviderLookup([{ flag: 'isRabby', value: true }]);
154
- LegacyEthProviderHelper.OKXProvider = () => _a.installedProviderLookup([{ flag: 'isOkxWallet', value: true }]);
155
- LegacyEthProviderHelper.UnknownInjectedProvider = () => _a.installedProviderLookup([
156
- { flag: 'isMetaMask', value: false },
157
- { flag: 'isExodus', value: false },
158
- { flag: 'isCoinbaseWallet', value: false },
159
- { flag: 'isBraveWallet', value: false },
160
- { flag: 'isGamestop', value: false },
161
- { flag: 'isFrame', value: false },
162
- { flag: 'isOpera', value: false },
163
- { flag: 'isBlocto', value: false },
164
- { flag: 'isTrustWallet', value: false },
165
- { flag: 'isPhantom', value: false },
166
- { flag: 'isZerion', value: false },
167
- { flag: 'isSuperb', value: false },
168
- { flag: 'isRabby', value: false },
169
- ]);
170
- LegacyEthProviderHelper.providers = {
171
- bloctoinjected: _a.BloctoProvider,
172
- braveevm: _a.BraveProvider,
173
- coinbase: _a.CoinbaseProvider,
174
- dawn: _a.DawnProvider,
175
- exodusevm: _a.ExodusProvider,
176
- frame: _a.FrameProvider,
177
- gamestop: _a.GameStopProvider,
178
- injectedwallet: _a.UnknownInjectedProvider,
179
- opera: _a.OperaProvider,
180
- phantomevm: _a.PhantomProvider,
181
- rabby: _a.RabbyProvider,
182
- superb: _a.SuperbProvider,
183
- trust: _a.TrustWalletProvider,
184
- zerion: _a.ZerionProvider,
185
- };
186
-
187
- exports.LegacyEthProviderHelper = LegacyEthProviderHelper;
@@ -1,34 +0,0 @@
1
- import { Hex, PublicClient, WalletClient } from 'viem';
2
- import { ProviderCondition, WalletConnector } from '@dynamic-labs/wallet-connector-core';
3
- import { IEthereum, ProviderFlag } from './types';
4
- export declare class LegacyEthProviderHelper {
5
- static BraveProvider: () => IEthereum | undefined;
6
- static DawnProvider: () => IEthereum | undefined;
7
- static FrameProvider: () => IEthereum | undefined;
8
- static CoinbaseProvider: () => IEthereum | undefined;
9
- static OperaProvider: () => IEthereum | undefined;
10
- static GameStopProvider: () => IEthereum | undefined;
11
- static ExodusProvider: () => IEthereum | undefined;
12
- static BloctoProvider: () => IEthereum | undefined;
13
- static TrustWalletProvider: () => IEthereum | undefined;
14
- static PhantomProvider: () => IEthereum | undefined;
15
- static ZerionProvider: () => IEthereum | undefined;
16
- static SuperbProvider: () => IEthereum | undefined;
17
- static RabbyProvider: () => IEthereum | undefined;
18
- static OKXProvider: () => IEthereum | undefined;
19
- static UnknownInjectedProvider: () => IEthereum | undefined;
20
- static providers: {
21
- [wallet: string]: () => IEthereum | undefined;
22
- };
23
- static installedProviderLookup(providerFlags: Array<ProviderCondition<ProviderFlag>>): IEthereum | undefined;
24
- static allInstalledProviders(): IEthereum[];
25
- static isInstalledHelper(walletName: string): boolean;
26
- static findProvider(walletName: string): IEthereum | undefined;
27
- static findWalletClient(walletName: string): WalletClient | undefined;
28
- static fetchPublicAddressWithName(name: string): Promise<Hex | undefined>;
29
- static fetchPublicAddressWithProvider(client: WalletClient): Promise<Hex | undefined>;
30
- static signMessageWithName(messageToSign: string, name: string): Promise<Hex | undefined>;
31
- static _setupEventListeners(walletName: string, walletConnector: WalletConnector, publicClient: PublicClient): {
32
- tearDownEventListeners: () => void;
33
- };
34
- }
@@ -1,183 +0,0 @@
1
- import { __awaiter } from '../_virtual/_tslib.js';
2
- import { createWalletClient, custom, getAddress } from 'viem';
3
- import { ProviderLookup, normalizeWalletName, logger } from '@dynamic-labs/wallet-connector-core';
4
- import { isUnsupportedProviderError } from './utils/isUnsupportedProviderError/isUnsupportedProviderError.js';
5
- import { eventListenerHandlers } from './utils/eventListenerHandlers.js';
6
-
7
- var _a;
8
- class LegacyEthProviderHelper {
9
- static installedProviderLookup(providerFlags) {
10
- const allInstalledProviders = this.allInstalledProviders();
11
- return ProviderLookup(allInstalledProviders, providerFlags);
12
- }
13
- static allInstalledProviders() {
14
- var _b;
15
- const ethereumProviders = [];
16
- if (window.ethereum) {
17
- if (!window.ethereum.providers) {
18
- ethereumProviders.push(window.ethereum);
19
- }
20
- else {
21
- window.ethereum.providers.forEach((provider) => {
22
- ethereumProviders.push(provider);
23
- });
24
- }
25
- }
26
- if ((_b = window.phantom) === null || _b === void 0 ? void 0 : _b.ethereum) {
27
- ethereumProviders.push(window.phantom.ethereum);
28
- }
29
- if (window.zerionWallet) {
30
- ethereumProviders.push(window.zerionWallet);
31
- }
32
- if (window.coinbaseWalletExtension) {
33
- ethereumProviders.push(window.coinbaseWalletExtension);
34
- }
35
- if (window.superb) {
36
- ethereumProviders.push(window.superb);
37
- }
38
- return ethereumProviders;
39
- }
40
- static isInstalledHelper(walletName) {
41
- return this.findProvider(walletName) !== undefined;
42
- }
43
- static findProvider(walletName) {
44
- var _b, _c;
45
- try {
46
- return (_c = (_b = this.providers)[normalizeWalletName(walletName)]) === null || _c === void 0 ? void 0 : _c.call(_b);
47
- }
48
- catch (err) {
49
- if (isUnsupportedProviderError(err)) {
50
- logger.error(`ETH Provider is not supported ${err.value}`, err);
51
- return;
52
- }
53
- logger.error(`Could not find provider for ${walletName}`, err);
54
- return undefined;
55
- }
56
- }
57
- static findWalletClient(walletName) {
58
- const provider = this.findProvider(walletName);
59
- if (!provider) {
60
- return undefined;
61
- }
62
- return createWalletClient({
63
- transport: custom(provider),
64
- });
65
- }
66
- static fetchPublicAddressWithName(name) {
67
- return __awaiter(this, void 0, void 0, function* () {
68
- const client = this.findWalletClient(name);
69
- if (!client) {
70
- return Promise.resolve(undefined);
71
- }
72
- return this.fetchPublicAddressWithProvider(client);
73
- });
74
- }
75
- static fetchPublicAddressWithProvider(client) {
76
- return __awaiter(this, void 0, void 0, function* () {
77
- try {
78
- const [lowercaseAddress] = yield client.requestAddresses();
79
- const publicAddress = getAddress(lowercaseAddress);
80
- return publicAddress;
81
- }
82
- catch (err) {
83
- logger.error(err);
84
- return Promise.reject(err);
85
- }
86
- });
87
- }
88
- static signMessageWithName(messageToSign, name) {
89
- return __awaiter(this, void 0, void 0, function* () {
90
- const walletAddress = yield this.fetchPublicAddressWithName(name);
91
- if (!walletAddress) {
92
- return Promise.resolve(undefined);
93
- }
94
- const client = this.findWalletClient(name);
95
- if (!client) {
96
- return Promise.resolve(undefined);
97
- }
98
- const signedMessage = yield client.signMessage({
99
- account: walletAddress,
100
- message: messageToSign,
101
- });
102
- return signedMessage;
103
- });
104
- }
105
- static _setupEventListeners(walletName, walletConnector, publicClient) {
106
- const web3Provider = this.findProvider(walletName);
107
- if (!web3Provider) {
108
- return {
109
- tearDownEventListeners: () => { },
110
- };
111
- }
112
- const { handleAccountChange, handleChainChange, handleDisconnect } = eventListenerHandlers(walletConnector, publicClient);
113
- web3Provider.on('accountsChanged', handleAccountChange);
114
- web3Provider.on('chainChanged', handleChainChange);
115
- web3Provider.on('disconnect', handleDisconnect);
116
- const tearDownEventListeners = () => {
117
- const web3Provider = this.findProvider(walletName);
118
- if (!web3Provider) {
119
- return;
120
- }
121
- if (handleAccountChange) {
122
- web3Provider.removeListener('accountsChanged', handleAccountChange);
123
- }
124
- if (handleChainChange) {
125
- web3Provider.removeListener('chainChanged', handleChainChange);
126
- }
127
- if (handleDisconnect) {
128
- web3Provider.removeListener('disconnect', handleDisconnect);
129
- }
130
- };
131
- return {
132
- tearDownEventListeners,
133
- };
134
- }
135
- }
136
- _a = LegacyEthProviderHelper;
137
- LegacyEthProviderHelper.BraveProvider = () => _a.installedProviderLookup([{ flag: 'isBraveWallet', value: true }]);
138
- LegacyEthProviderHelper.DawnProvider = () => _a.installedProviderLookup([{ flag: 'isDawn', value: true }]);
139
- LegacyEthProviderHelper.FrameProvider = () => _a.installedProviderLookup([{ flag: 'isFrame', value: true }]);
140
- LegacyEthProviderHelper.CoinbaseProvider = () => _a.installedProviderLookup([{ flag: 'isCoinbaseWallet', value: true }]);
141
- LegacyEthProviderHelper.OperaProvider = () => _a.installedProviderLookup([{ flag: 'isOpera', value: true }]);
142
- LegacyEthProviderHelper.GameStopProvider = () => _a.installedProviderLookup([{ flag: 'isGamestop', value: true }]);
143
- LegacyEthProviderHelper.ExodusProvider = () => _a.installedProviderLookup([{ flag: 'isExodus', value: true }]);
144
- LegacyEthProviderHelper.BloctoProvider = () => _a.installedProviderLookup([{ flag: 'isBlocto', value: true }]);
145
- LegacyEthProviderHelper.TrustWalletProvider = () => _a.installedProviderLookup([{ flag: 'isTrustWallet', value: true }]);
146
- LegacyEthProviderHelper.PhantomProvider = () => _a.installedProviderLookup([{ flag: 'isPhantom', value: true }]);
147
- LegacyEthProviderHelper.ZerionProvider = () => _a.installedProviderLookup([{ flag: 'isZerion', value: true }]);
148
- LegacyEthProviderHelper.SuperbProvider = () => _a.installedProviderLookup([{ flag: 'isSuperb', value: true }]);
149
- LegacyEthProviderHelper.RabbyProvider = () => _a.installedProviderLookup([{ flag: 'isRabby', value: true }]);
150
- LegacyEthProviderHelper.OKXProvider = () => _a.installedProviderLookup([{ flag: 'isOkxWallet', value: true }]);
151
- LegacyEthProviderHelper.UnknownInjectedProvider = () => _a.installedProviderLookup([
152
- { flag: 'isMetaMask', value: false },
153
- { flag: 'isExodus', value: false },
154
- { flag: 'isCoinbaseWallet', value: false },
155
- { flag: 'isBraveWallet', value: false },
156
- { flag: 'isGamestop', value: false },
157
- { flag: 'isFrame', value: false },
158
- { flag: 'isOpera', value: false },
159
- { flag: 'isBlocto', value: false },
160
- { flag: 'isTrustWallet', value: false },
161
- { flag: 'isPhantom', value: false },
162
- { flag: 'isZerion', value: false },
163
- { flag: 'isSuperb', value: false },
164
- { flag: 'isRabby', value: false },
165
- ]);
166
- LegacyEthProviderHelper.providers = {
167
- bloctoinjected: _a.BloctoProvider,
168
- braveevm: _a.BraveProvider,
169
- coinbase: _a.CoinbaseProvider,
170
- dawn: _a.DawnProvider,
171
- exodusevm: _a.ExodusProvider,
172
- frame: _a.FrameProvider,
173
- gamestop: _a.GameStopProvider,
174
- injectedwallet: _a.UnknownInjectedProvider,
175
- opera: _a.OperaProvider,
176
- phantomevm: _a.PhantomProvider,
177
- rabby: _a.RabbyProvider,
178
- superb: _a.SuperbProvider,
179
- trust: _a.TrustWalletProvider,
180
- zerion: _a.ZerionProvider,
181
- };
182
-
183
- export { LegacyEthProviderHelper };
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const isUnsupportedProviderError = (error) => {
6
- const isObject = typeof error === 'object';
7
- if (!isObject)
8
- return false;
9
- const isUnsupportedProviderErrorReason = error['reason'] === 'unsupported provider';
10
- return isUnsupportedProviderErrorReason;
11
- };
12
-
13
- exports.isUnsupportedProviderError = isUnsupportedProviderError;
@@ -1,9 +0,0 @@
1
- const isUnsupportedProviderError = (error) => {
2
- const isObject = typeof error === 'object';
3
- if (!isObject)
4
- return false;
5
- const isUnsupportedProviderErrorReason = error['reason'] === 'unsupported provider';
6
- return isUnsupportedProviderErrorReason;
7
- };
8
-
9
- export { isUnsupportedProviderError };