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