@wagmi/core 0.2.0-next.7 → 0.2.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.
- package/LICENSE +2 -2
- package/README.md +30 -0
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +135 -154
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +135 -154
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +136 -155
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +98 -152
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +98 -152
- package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +98 -152
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +91 -126
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +91 -126
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +91 -126
- package/dist/base-30d4fad4.cjs.prod.js +544 -0
- package/dist/base-a0d63eb0.cjs.dev.js +544 -0
- package/dist/base-f0102d32.esm.js +517 -0
- package/dist/{classPrivateMethodGet-0e9a7925.cjs.prod.js → classPrivateMethodGet-656c08a7.cjs.prod.js} +1 -1
- package/dist/{classPrivateMethodGet-38b54c7a.cjs.dev.js → classPrivateMethodGet-9b9cd39b.cjs.dev.js} +1 -1
- package/dist/{classPrivateMethodGet-c9db96d6.esm.js → classPrivateMethodGet-e0eaacfc.esm.js} +1 -1
- package/dist/declarations/src/actions/accounts/connect.d.ts +14 -5
- package/dist/declarations/src/actions/accounts/fetchBalance.d.ts +3 -1
- package/dist/declarations/src/actions/accounts/fetchSigner.d.ts +1 -1
- package/dist/declarations/src/actions/accounts/getAccount.d.ts +5 -4
- package/dist/declarations/src/actions/accounts/index.d.ts +1 -2
- package/dist/declarations/src/actions/accounts/switchNetwork.d.ts +1 -1
- package/dist/declarations/src/actions/accounts/watchAccount.d.ts +3 -2
- package/dist/declarations/src/actions/contracts/readContract.d.ts +4 -1
- package/dist/declarations/src/actions/contracts/watchContractEvent.d.ts +3 -1
- package/dist/declarations/src/actions/ens/fetchEnsAddress.d.ts +3 -1
- package/dist/declarations/src/actions/ens/fetchEnsAvatar.d.ts +3 -1
- package/dist/declarations/src/actions/ens/fetchEnsName.d.ts +3 -1
- package/dist/declarations/src/actions/ens/fetchEnsResolver.d.ts +3 -1
- package/dist/declarations/src/actions/ens/index.d.ts +0 -4
- package/dist/declarations/src/actions/index.d.ts +5 -5
- package/dist/declarations/src/actions/network-status/fetchBlockNumber.d.ts +4 -1
- package/dist/declarations/src/actions/network-status/fetchFeeData.d.ts +3 -1
- package/dist/declarations/src/actions/network-status/index.d.ts +1 -2
- package/dist/declarations/src/actions/providers/getProvider.d.ts +6 -2
- package/dist/declarations/src/actions/providers/getWebSocketProvider.d.ts +6 -2
- package/dist/declarations/src/actions/providers/index.d.ts +2 -2
- package/dist/declarations/src/actions/providers/watchProvider.d.ts +4 -3
- package/dist/declarations/src/actions/providers/watchWebSocketProvider.d.ts +4 -3
- package/dist/declarations/src/actions/tokens/fetchToken.d.ts +6 -10
- package/dist/declarations/src/actions/tokens/index.d.ts +0 -1
- package/dist/declarations/src/actions/transactions/waitForTransaction.d.ts +3 -1
- package/dist/declarations/src/client.d.ts +23 -22
- package/dist/declarations/src/connectors/base.d.ts +3 -1
- package/dist/declarations/src/connectors/coinbaseWallet.d.ts +9 -0
- package/dist/declarations/src/connectors/injected.d.ts +2 -10
- package/dist/declarations/src/connectors/mock/connector.d.ts +1 -1
- package/dist/declarations/src/connectors/mock/provider.d.ts +2 -0
- package/dist/declarations/src/constants/abis.d.ts +2 -0
- package/dist/declarations/src/constants/blockExplorers.d.ts +9 -0
- package/dist/declarations/src/constants/chains.d.ts +17 -6
- package/dist/declarations/src/constants/index.d.ts +6 -2
- package/dist/declarations/src/constants/rpcs.d.ts +9 -0
- package/dist/declarations/src/index.d.ts +9 -6
- package/dist/declarations/src/types/index.d.ts +77 -6
- package/dist/declarations/src/utils/getInjectedName.d.ts +1 -1
- package/dist/wagmi-core.cjs.dev.js +658 -1153
- package/dist/wagmi-core.cjs.prod.js +658 -1153
- package/dist/wagmi-core.esm.js +653 -1147
- package/package.json +17 -9
- package/dist/base-09a653f3.cjs.dev.js +0 -453
- package/dist/base-824c3b6d.esm.js +0 -430
- package/dist/base-d8123d5f.cjs.prod.js +0 -453
- package/dist/declarations/src/actions/accounts/watchBalance.d.ts +0 -3
- package/dist/declarations/src/actions/ens/watchEnsAddress.d.ts +0 -3
- package/dist/declarations/src/actions/ens/watchEnsAvatar.d.ts +0 -3
- package/dist/declarations/src/actions/ens/watchEnsName.d.ts +0 -3
- package/dist/declarations/src/actions/ens/watchEnsResolver.d.ts +0 -3
- package/dist/declarations/src/actions/network-status/watchFeeData.d.ts +0 -7
- package/dist/declarations/src/actions/tokens/watchToken.d.ts +0 -3
- package/dist/declarations/src/constants/abis/erc1155.d.ts +0 -17
- package/dist/declarations/src/constants/abis/erc20.d.ts +0 -38
- package/dist/declarations/src/constants/abis/erc721.d.ts +0 -15
- package/dist/declarations/src/constants/abis/index.d.ts +0 -3
- package/dist/declarations/src/types/declarations.d.ts +0 -52
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var base = require('../../../dist/base-
|
|
5
|
+
var base = require('../../../dist/base-30d4fad4.cjs.prod.js');
|
|
6
6
|
var ethers = require('ethers');
|
|
7
7
|
var utils = require('ethers/lib/utils');
|
|
8
8
|
require('eventemitter3');
|
|
@@ -58,8 +58,8 @@ class CoinbaseWalletConnector extends base.Connector {
|
|
|
58
58
|
});
|
|
59
59
|
|
|
60
60
|
base._defineProperty(this, "onChainChanged", chainId => {
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
const id = base.normalizeChainId(chainId);
|
|
62
|
+
const unsupported = this.isChainUnsupported(id);
|
|
63
63
|
this.emit('change', {
|
|
64
64
|
chain: {
|
|
65
65
|
id,
|
|
@@ -73,181 +73,162 @@ class CoinbaseWalletConnector extends base.Connector {
|
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
connect() {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
},
|
|
102
|
-
provider: new ethers.providers.Web3Provider(provider)
|
|
103
|
-
};
|
|
104
|
-
} catch (error) {
|
|
105
|
-
if (/user closed modal/i.test(error.message)) throw new base.UserRejectedRequestError();
|
|
106
|
-
throw error;
|
|
107
|
-
}
|
|
108
|
-
})();
|
|
76
|
+
async connect() {
|
|
77
|
+
try {
|
|
78
|
+
const provider = await this.getProvider();
|
|
79
|
+
provider.on('accountsChanged', this.onAccountsChanged);
|
|
80
|
+
provider.on('chainChanged', this.onChainChanged);
|
|
81
|
+
provider.on('disconnect', this.onDisconnect);
|
|
82
|
+
this.emit('message', {
|
|
83
|
+
type: 'connecting'
|
|
84
|
+
});
|
|
85
|
+
const accounts = await provider.enable();
|
|
86
|
+
const account = utils.getAddress(accounts[0]);
|
|
87
|
+
const id = await this.getChainId();
|
|
88
|
+
const unsupported = this.isChainUnsupported(id);
|
|
89
|
+
return {
|
|
90
|
+
account,
|
|
91
|
+
chain: {
|
|
92
|
+
id,
|
|
93
|
+
unsupported
|
|
94
|
+
},
|
|
95
|
+
provider: new ethers.providers.Web3Provider(provider)
|
|
96
|
+
};
|
|
97
|
+
} catch (error) {
|
|
98
|
+
if (/user closed modal/i.test(error.message)) throw new base.UserRejectedRequestError();
|
|
99
|
+
throw error;
|
|
100
|
+
}
|
|
109
101
|
}
|
|
110
102
|
|
|
111
|
-
disconnect() {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
if (!key) continue;
|
|
129
|
-
if (!/-walletlink/.test(key)) continue;
|
|
130
|
-
localStorage.removeItem(key);
|
|
131
|
-
}
|
|
103
|
+
async disconnect() {
|
|
104
|
+
if (!base._classPrivateFieldGet(this, _provider)) return;
|
|
105
|
+
const provider = await this.getProvider();
|
|
106
|
+
provider.removeListener('accountsChanged', this.onAccountsChanged);
|
|
107
|
+
provider.removeListener('chainChanged', this.onChainChanged);
|
|
108
|
+
provider.removeListener('disconnect', this.onDisconnect);
|
|
109
|
+
provider.disconnect();
|
|
110
|
+
provider.close();
|
|
111
|
+
|
|
112
|
+
if (typeof localStorage !== 'undefined') {
|
|
113
|
+
let n = localStorage.length;
|
|
114
|
+
|
|
115
|
+
while (n--) {
|
|
116
|
+
const key = localStorage.key(n);
|
|
117
|
+
if (!key) continue;
|
|
118
|
+
if (!/-walletlink/.test(key)) continue;
|
|
119
|
+
localStorage.removeItem(key);
|
|
132
120
|
}
|
|
133
|
-
}
|
|
121
|
+
}
|
|
134
122
|
}
|
|
135
123
|
|
|
136
|
-
getAccount() {
|
|
137
|
-
|
|
124
|
+
async getAccount() {
|
|
125
|
+
const provider = await this.getProvider();
|
|
126
|
+
const accounts = await provider.request({
|
|
127
|
+
method: 'eth_accounts'
|
|
128
|
+
}); // return checksum address
|
|
138
129
|
|
|
139
|
-
return
|
|
140
|
-
var provider = yield _this3.getProvider();
|
|
141
|
-
var accounts = yield provider.request({
|
|
142
|
-
method: 'eth_accounts'
|
|
143
|
-
}); // return checksum address
|
|
144
|
-
|
|
145
|
-
return utils.getAddress(accounts[0]);
|
|
146
|
-
})();
|
|
130
|
+
return utils.getAddress(accounts[0]);
|
|
147
131
|
}
|
|
148
132
|
|
|
149
|
-
getChainId() {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
return
|
|
153
|
-
var provider = yield _this4.getProvider();
|
|
154
|
-
var chainId = base.normalizeChainId(provider.chainId);
|
|
155
|
-
return chainId;
|
|
156
|
-
})();
|
|
133
|
+
async getChainId() {
|
|
134
|
+
const provider = await this.getProvider();
|
|
135
|
+
const chainId = base.normalizeChainId(provider.chainId);
|
|
136
|
+
return chainId;
|
|
157
137
|
}
|
|
158
138
|
|
|
159
|
-
getProvider() {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
var {
|
|
165
|
-
CoinbaseWalletSDK
|
|
166
|
-
} = yield Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@coinbase/wallet-sdk')); });
|
|
139
|
+
async getProvider() {
|
|
140
|
+
if (!base._classPrivateFieldGet(this, _provider)) {
|
|
141
|
+
const {
|
|
142
|
+
CoinbaseWalletSDK
|
|
143
|
+
} = await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@coinbase/wallet-sdk')); });
|
|
167
144
|
|
|
168
|
-
|
|
145
|
+
base._classPrivateFieldSet(this, _client, new CoinbaseWalletSDK(this.options));
|
|
169
146
|
|
|
170
|
-
|
|
171
|
-
|
|
147
|
+
base._classPrivateFieldSet(this, _provider, base._classPrivateFieldGet(this, _client).makeWeb3Provider(this.options.jsonRpcUrl, this.options.chainId));
|
|
148
|
+
}
|
|
172
149
|
|
|
173
|
-
|
|
174
|
-
})();
|
|
150
|
+
return base._classPrivateFieldGet(this, _provider);
|
|
175
151
|
}
|
|
176
152
|
|
|
177
|
-
getSigner() {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
return base._asyncToGenerator(function* () {
|
|
181
|
-
var [provider, account] = yield Promise.all([_this6.getProvider(), _this6.getAccount()]);
|
|
182
|
-
return new ethers.providers.Web3Provider(provider).getSigner(account);
|
|
183
|
-
})();
|
|
153
|
+
async getSigner() {
|
|
154
|
+
const [provider, account] = await Promise.all([this.getProvider(), this.getAccount()]);
|
|
155
|
+
return new ethers.providers.Web3Provider(provider).getSigner(account);
|
|
184
156
|
}
|
|
185
157
|
|
|
186
|
-
isAuthorized() {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
} catch (_unused) {
|
|
194
|
-
return false;
|
|
195
|
-
}
|
|
196
|
-
})();
|
|
158
|
+
async isAuthorized() {
|
|
159
|
+
try {
|
|
160
|
+
const account = await this.getAccount();
|
|
161
|
+
return !!account;
|
|
162
|
+
} catch {
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
197
165
|
}
|
|
198
166
|
|
|
199
|
-
switchChain(chainId) {
|
|
200
|
-
|
|
167
|
+
async switchChain(chainId) {
|
|
168
|
+
const provider = await this.getProvider();
|
|
169
|
+
const id = utils.hexValue(chainId);
|
|
201
170
|
|
|
202
|
-
|
|
203
|
-
var
|
|
204
|
-
var id = utils.hexValue(chainId);
|
|
171
|
+
try {
|
|
172
|
+
var _chains$find;
|
|
205
173
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
174
|
+
await provider.request({
|
|
175
|
+
method: 'wallet_switchEthereumChain',
|
|
176
|
+
params: [{
|
|
177
|
+
chainId: id
|
|
178
|
+
}]
|
|
179
|
+
});
|
|
180
|
+
const chains = [...this.chains, ...base.allChains];
|
|
181
|
+
return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
|
|
182
|
+
id: chainId,
|
|
183
|
+
name: "Chain ".concat(id),
|
|
184
|
+
rpcUrls: {
|
|
185
|
+
default: ''
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
} catch (error) {
|
|
189
|
+
// Indicates chain is not added to provider
|
|
190
|
+
if (error.code === 4902) {
|
|
191
|
+
try {
|
|
192
|
+
const chain = this.chains.find(x => x.id === chainId);
|
|
193
|
+
if (!chain) throw new base.ChainNotConfiguredError();
|
|
194
|
+
await provider.request({
|
|
195
|
+
method: 'wallet_addEthereumChain',
|
|
196
|
+
params: [{
|
|
197
|
+
chainId: id,
|
|
198
|
+
chainName: chain.name,
|
|
199
|
+
nativeCurrency: chain.nativeCurrency,
|
|
200
|
+
rpcUrls: this.getRpcUrls(chain),
|
|
201
|
+
blockExplorerUrls: this.getBlockExplorerUrls(chain)
|
|
202
|
+
}]
|
|
203
|
+
});
|
|
204
|
+
return chain;
|
|
205
|
+
} catch (addError) {
|
|
206
|
+
throw new base.AddChainError();
|
|
207
|
+
}
|
|
208
|
+
} else if (error.code === 4001) throw new base.UserRejectedRequestError();else throw new base.SwitchChainError();
|
|
209
|
+
}
|
|
225
210
|
}
|
|
226
211
|
|
|
227
|
-
watchAsset(_ref) {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
decimals,
|
|
245
|
-
image,
|
|
246
|
-
symbol
|
|
247
|
-
}
|
|
212
|
+
async watchAsset(_ref) {
|
|
213
|
+
let {
|
|
214
|
+
address,
|
|
215
|
+
decimals = 18,
|
|
216
|
+
image,
|
|
217
|
+
symbol
|
|
218
|
+
} = _ref;
|
|
219
|
+
const provider = await this.getProvider();
|
|
220
|
+
return await provider.request({
|
|
221
|
+
method: 'wallet_watchAsset',
|
|
222
|
+
params: {
|
|
223
|
+
type: 'ERC20',
|
|
224
|
+
options: {
|
|
225
|
+
address,
|
|
226
|
+
decimals,
|
|
227
|
+
image,
|
|
228
|
+
symbol
|
|
248
229
|
}
|
|
249
|
-
}
|
|
250
|
-
})
|
|
230
|
+
}
|
|
231
|
+
});
|
|
251
232
|
}
|
|
252
233
|
|
|
253
234
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as Connector, _ as _defineProperty, a as _classPrivateFieldInitSpec, n as normalizeChainId,
|
|
1
|
+
import { C as Connector, _ as _defineProperty, a as _classPrivateFieldInitSpec, n as normalizeChainId, U as UserRejectedRequestError, d as _classPrivateFieldGet, c as _classPrivateFieldSet, e as allChains, f as ChainNotConfiguredError, A as AddChainError, S as SwitchChainError } from '../../../dist/base-f0102d32.esm.js';
|
|
2
2
|
import { providers } from 'ethers';
|
|
3
3
|
import { getAddress, hexValue } from 'ethers/lib/utils';
|
|
4
4
|
import 'eventemitter3';
|
|
@@ -36,8 +36,8 @@ class CoinbaseWalletConnector extends Connector {
|
|
|
36
36
|
});
|
|
37
37
|
|
|
38
38
|
_defineProperty(this, "onChainChanged", chainId => {
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
const id = normalizeChainId(chainId);
|
|
40
|
+
const unsupported = this.isChainUnsupported(id);
|
|
41
41
|
this.emit('change', {
|
|
42
42
|
chain: {
|
|
43
43
|
id,
|
|
@@ -51,181 +51,162 @@ class CoinbaseWalletConnector extends Connector {
|
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
connect() {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
},
|
|
80
|
-
provider: new providers.Web3Provider(provider)
|
|
81
|
-
};
|
|
82
|
-
} catch (error) {
|
|
83
|
-
if (/user closed modal/i.test(error.message)) throw new UserRejectedRequestError();
|
|
84
|
-
throw error;
|
|
85
|
-
}
|
|
86
|
-
})();
|
|
54
|
+
async connect() {
|
|
55
|
+
try {
|
|
56
|
+
const provider = await this.getProvider();
|
|
57
|
+
provider.on('accountsChanged', this.onAccountsChanged);
|
|
58
|
+
provider.on('chainChanged', this.onChainChanged);
|
|
59
|
+
provider.on('disconnect', this.onDisconnect);
|
|
60
|
+
this.emit('message', {
|
|
61
|
+
type: 'connecting'
|
|
62
|
+
});
|
|
63
|
+
const accounts = await provider.enable();
|
|
64
|
+
const account = getAddress(accounts[0]);
|
|
65
|
+
const id = await this.getChainId();
|
|
66
|
+
const unsupported = this.isChainUnsupported(id);
|
|
67
|
+
return {
|
|
68
|
+
account,
|
|
69
|
+
chain: {
|
|
70
|
+
id,
|
|
71
|
+
unsupported
|
|
72
|
+
},
|
|
73
|
+
provider: new providers.Web3Provider(provider)
|
|
74
|
+
};
|
|
75
|
+
} catch (error) {
|
|
76
|
+
if (/user closed modal/i.test(error.message)) throw new UserRejectedRequestError();
|
|
77
|
+
throw error;
|
|
78
|
+
}
|
|
87
79
|
}
|
|
88
80
|
|
|
89
|
-
disconnect() {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
if (!key) continue;
|
|
107
|
-
if (!/-walletlink/.test(key)) continue;
|
|
108
|
-
localStorage.removeItem(key);
|
|
109
|
-
}
|
|
81
|
+
async disconnect() {
|
|
82
|
+
if (!_classPrivateFieldGet(this, _provider)) return;
|
|
83
|
+
const provider = await this.getProvider();
|
|
84
|
+
provider.removeListener('accountsChanged', this.onAccountsChanged);
|
|
85
|
+
provider.removeListener('chainChanged', this.onChainChanged);
|
|
86
|
+
provider.removeListener('disconnect', this.onDisconnect);
|
|
87
|
+
provider.disconnect();
|
|
88
|
+
provider.close();
|
|
89
|
+
|
|
90
|
+
if (typeof localStorage !== 'undefined') {
|
|
91
|
+
let n = localStorage.length;
|
|
92
|
+
|
|
93
|
+
while (n--) {
|
|
94
|
+
const key = localStorage.key(n);
|
|
95
|
+
if (!key) continue;
|
|
96
|
+
if (!/-walletlink/.test(key)) continue;
|
|
97
|
+
localStorage.removeItem(key);
|
|
110
98
|
}
|
|
111
|
-
}
|
|
99
|
+
}
|
|
112
100
|
}
|
|
113
101
|
|
|
114
|
-
getAccount() {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
var accounts = yield provider.request({
|
|
120
|
-
method: 'eth_accounts'
|
|
121
|
-
}); // return checksum address
|
|
102
|
+
async getAccount() {
|
|
103
|
+
const provider = await this.getProvider();
|
|
104
|
+
const accounts = await provider.request({
|
|
105
|
+
method: 'eth_accounts'
|
|
106
|
+
}); // return checksum address
|
|
122
107
|
|
|
123
|
-
|
|
124
|
-
})();
|
|
108
|
+
return getAddress(accounts[0]);
|
|
125
109
|
}
|
|
126
110
|
|
|
127
|
-
getChainId() {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
return
|
|
131
|
-
var provider = yield _this4.getProvider();
|
|
132
|
-
var chainId = normalizeChainId(provider.chainId);
|
|
133
|
-
return chainId;
|
|
134
|
-
})();
|
|
111
|
+
async getChainId() {
|
|
112
|
+
const provider = await this.getProvider();
|
|
113
|
+
const chainId = normalizeChainId(provider.chainId);
|
|
114
|
+
return chainId;
|
|
135
115
|
}
|
|
136
116
|
|
|
137
|
-
getProvider() {
|
|
138
|
-
|
|
117
|
+
async getProvider() {
|
|
118
|
+
if (!_classPrivateFieldGet(this, _provider)) {
|
|
119
|
+
const {
|
|
120
|
+
CoinbaseWalletSDK
|
|
121
|
+
} = await import('@coinbase/wallet-sdk');
|
|
139
122
|
|
|
140
|
-
|
|
141
|
-
if (!_classPrivateFieldGet(_this5, _provider)) {
|
|
142
|
-
var {
|
|
143
|
-
CoinbaseWalletSDK
|
|
144
|
-
} = yield import('@coinbase/wallet-sdk');
|
|
123
|
+
_classPrivateFieldSet(this, _client, new CoinbaseWalletSDK(this.options));
|
|
145
124
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
_classPrivateFieldSet(_this5, _provider, _classPrivateFieldGet(_this5, _client).makeWeb3Provider(_this5.options.jsonRpcUrl));
|
|
149
|
-
}
|
|
125
|
+
_classPrivateFieldSet(this, _provider, _classPrivateFieldGet(this, _client).makeWeb3Provider(this.options.jsonRpcUrl, this.options.chainId));
|
|
126
|
+
}
|
|
150
127
|
|
|
151
|
-
|
|
152
|
-
})();
|
|
128
|
+
return _classPrivateFieldGet(this, _provider);
|
|
153
129
|
}
|
|
154
130
|
|
|
155
|
-
getSigner() {
|
|
156
|
-
|
|
131
|
+
async getSigner() {
|
|
132
|
+
const [provider, account] = await Promise.all([this.getProvider(), this.getAccount()]);
|
|
133
|
+
return new providers.Web3Provider(provider).getSigner(account);
|
|
134
|
+
}
|
|
157
135
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
136
|
+
async isAuthorized() {
|
|
137
|
+
try {
|
|
138
|
+
const account = await this.getAccount();
|
|
139
|
+
return !!account;
|
|
140
|
+
} catch {
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
162
143
|
}
|
|
163
144
|
|
|
164
|
-
|
|
165
|
-
|
|
145
|
+
async switchChain(chainId) {
|
|
146
|
+
const provider = await this.getProvider();
|
|
147
|
+
const id = hexValue(chainId);
|
|
166
148
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
var account = yield _this7.getAccount();
|
|
170
|
-
return !!account;
|
|
171
|
-
} catch (_unused) {
|
|
172
|
-
return false;
|
|
173
|
-
}
|
|
174
|
-
})();
|
|
175
|
-
}
|
|
149
|
+
try {
|
|
150
|
+
var _chains$find;
|
|
176
151
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
id
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
152
|
+
await provider.request({
|
|
153
|
+
method: 'wallet_switchEthereumChain',
|
|
154
|
+
params: [{
|
|
155
|
+
chainId: id
|
|
156
|
+
}]
|
|
157
|
+
});
|
|
158
|
+
const chains = [...this.chains, ...allChains];
|
|
159
|
+
return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
|
|
160
|
+
id: chainId,
|
|
161
|
+
name: "Chain ".concat(id),
|
|
162
|
+
rpcUrls: {
|
|
163
|
+
default: ''
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
} catch (error) {
|
|
167
|
+
// Indicates chain is not added to provider
|
|
168
|
+
if (error.code === 4902) {
|
|
169
|
+
try {
|
|
170
|
+
const chain = this.chains.find(x => x.id === chainId);
|
|
171
|
+
if (!chain) throw new ChainNotConfiguredError();
|
|
172
|
+
await provider.request({
|
|
173
|
+
method: 'wallet_addEthereumChain',
|
|
174
|
+
params: [{
|
|
175
|
+
chainId: id,
|
|
176
|
+
chainName: chain.name,
|
|
177
|
+
nativeCurrency: chain.nativeCurrency,
|
|
178
|
+
rpcUrls: this.getRpcUrls(chain),
|
|
179
|
+
blockExplorerUrls: this.getBlockExplorerUrls(chain)
|
|
180
|
+
}]
|
|
181
|
+
});
|
|
182
|
+
return chain;
|
|
183
|
+
} catch (addError) {
|
|
184
|
+
throw new AddChainError();
|
|
185
|
+
}
|
|
186
|
+
} else if (error.code === 4001) throw new UserRejectedRequestError();else throw new SwitchChainError();
|
|
187
|
+
}
|
|
203
188
|
}
|
|
204
189
|
|
|
205
|
-
watchAsset(_ref) {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
decimals,
|
|
223
|
-
image,
|
|
224
|
-
symbol
|
|
225
|
-
}
|
|
190
|
+
async watchAsset(_ref) {
|
|
191
|
+
let {
|
|
192
|
+
address,
|
|
193
|
+
decimals = 18,
|
|
194
|
+
image,
|
|
195
|
+
symbol
|
|
196
|
+
} = _ref;
|
|
197
|
+
const provider = await this.getProvider();
|
|
198
|
+
return await provider.request({
|
|
199
|
+
method: 'wallet_watchAsset',
|
|
200
|
+
params: {
|
|
201
|
+
type: 'ERC20',
|
|
202
|
+
options: {
|
|
203
|
+
address,
|
|
204
|
+
decimals,
|
|
205
|
+
image,
|
|
206
|
+
symbol
|
|
226
207
|
}
|
|
227
|
-
}
|
|
228
|
-
})
|
|
208
|
+
}
|
|
209
|
+
});
|
|
229
210
|
}
|
|
230
211
|
|
|
231
212
|
}
|