@wagmi/core 0.2.0-next.1 → 0.2.0-next.10
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/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +135 -151
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +135 -151
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +136 -152
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +96 -153
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +96 -153
- package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +96 -153
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +91 -124
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +91 -124
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +91 -124
- package/dist/base-37097073.esm.js +516 -0
- package/dist/base-85d1eb89.cjs.dev.js +543 -0
- package/dist/base-d3563329.cjs.prod.js +543 -0
- package/dist/{classPrivateMethodGet-38b54c7a.cjs.dev.js → classPrivateMethodGet-3f47cf74.cjs.dev.js} +1 -1
- package/dist/{classPrivateMethodGet-0e9a7925.cjs.prod.js → classPrivateMethodGet-a763c0df.cjs.prod.js} +1 -1
- package/dist/{classPrivateMethodGet-c9db96d6.esm.js → classPrivateMethodGet-b3ba7c1d.esm.js} +1 -1
- package/dist/declarations/src/actions/accounts/connect.d.ts +14 -5
- package/dist/declarations/src/actions/accounts/getAccount.d.ts +5 -4
- package/dist/declarations/src/actions/accounts/index.d.ts +1 -1
- 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/index.d.ts +1 -1
- package/dist/declarations/src/actions/providers/getProvider.d.ts +2 -2
- package/dist/declarations/src/actions/providers/getWebSocketProvider.d.ts +2 -2
- package/dist/declarations/src/actions/providers/watchProvider.d.ts +3 -2
- package/dist/declarations/src/actions/providers/watchWebSocketProvider.d.ts +3 -2
- package/dist/declarations/src/client.d.ts +26 -23
- package/dist/declarations/src/connectors/base.d.ts +7 -1
- package/dist/declarations/src/connectors/coinbaseWallet.d.ts +9 -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/keys.d.ts +2 -0
- package/dist/declarations/src/constants/rpcs.d.ts +7 -0
- package/dist/declarations/src/index.d.ts +8 -5
- package/dist/declarations/src/types/index.d.ts +10 -5
- package/dist/wagmi-core.cjs.dev.js +577 -1067
- package/dist/wagmi-core.cjs.prod.js +577 -1067
- package/dist/wagmi-core.esm.js +574 -1068
- package/package.json +2 -3
- 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/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/wagmi-core.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { _ as
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { _ as _classPrivateMethodInitSpec, a as _classPrivateMethodGet } from './classPrivateMethodGet-b3ba7c1d.esm.js';
|
|
2
|
+
import { C as Connector, _ as _defineProperty, a as _classPrivateFieldInitSpec, n as normalizeChainId, b as ConnectorNotFoundError, U as UserRejectedRequestError, c as _classPrivateFieldSet, d as _classPrivateFieldGet, e as allChains, f as ChainNotConfiguredError, A as AddChainError, S as SwitchChainError, g as ConnectorAlreadyConnectedError, h as SwitchChainNotSupportedError } from './base-37097073.esm.js';
|
|
3
|
+
export { A as AddChainError, f as ChainNotConfiguredError, C as Connector, g as ConnectorAlreadyConnectedError, b as ConnectorNotFoundError, S as SwitchChainError, h as SwitchChainNotSupportedError, U as UserRejectedRequestError, i as alchemyRpcUrls, e as allChains, j as chain, k as chainId, l as defaultChains, m as defaultL2Chains, o as etherscanBlockExplorers, p as infuraRpcUrls, n as normalizeChainId } from './base-37097073.esm.js';
|
|
4
4
|
import { providers, getDefaultProvider } from 'ethers';
|
|
5
5
|
import create from 'zustand/vanilla';
|
|
6
6
|
import { subscribeWithSelector, persist } from 'zustand/middleware';
|
|
@@ -8,271 +8,13 @@ import { getAddress, hexValue, formatUnits } from 'ethers/lib/utils';
|
|
|
8
8
|
import { Contract } from 'ethers/lib/ethers';
|
|
9
9
|
import 'eventemitter3';
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
// https://ethereum.org/en/developers/docs/standards/tokens/erc-20
|
|
12
|
+
const erc20ABI = ['event Approval(address indexed _owner, address indexed _spender, uint256 _value)', 'event Transfer(address indexed _from, address indexed _to, uint256 _value)', 'function allowance(address _owner, address _spender) public view returns (uint256 remaining)', 'function approve(address _spender, uint256 _value) public returns (bool success)', 'function balanceOf(address _owner) public view returns (uint256 balance)', 'function decimals() public view returns (uint8)', 'function name() public view returns (string)', 'function symbol() public view returns (string)', 'function totalSupply() public view returns (uint256)', 'function transfer(address _to, uint256 _value) public returns (bool success)', 'function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)']; // https://ethereum.org/en/developers/docs/standards/tokens/erc-721
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
16
|
-
enumerableOnly && (symbols = symbols.filter(function (sym) {
|
|
17
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
18
|
-
})), keys.push.apply(keys, symbols);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return keys;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function _objectSpread2(target) {
|
|
25
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
26
|
-
var source = null != arguments[i] ? arguments[i] : {};
|
|
27
|
-
i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
|
|
28
|
-
_defineProperty(target, key, source[key]);
|
|
29
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
|
|
30
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return target;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
var erc1155ABI = [{
|
|
38
|
-
constant: true,
|
|
39
|
-
inputs: [{
|
|
40
|
-
internalType: 'address',
|
|
41
|
-
name: '_owner',
|
|
42
|
-
type: 'address'
|
|
43
|
-
}, {
|
|
44
|
-
internalType: 'uint256',
|
|
45
|
-
name: '_id',
|
|
46
|
-
type: 'uint256'
|
|
47
|
-
}],
|
|
48
|
-
name: 'balanceOf',
|
|
49
|
-
outputs: [{
|
|
50
|
-
internalType: 'uint256',
|
|
51
|
-
name: '',
|
|
52
|
-
type: 'uint256'
|
|
53
|
-
}],
|
|
54
|
-
payable: false,
|
|
55
|
-
stateMutability: 'view',
|
|
56
|
-
type: 'function'
|
|
57
|
-
}, {
|
|
58
|
-
constant: true,
|
|
59
|
-
inputs: [{
|
|
60
|
-
internalType: 'uint256',
|
|
61
|
-
name: '_id',
|
|
62
|
-
type: 'uint256'
|
|
63
|
-
}],
|
|
64
|
-
name: 'uri',
|
|
65
|
-
outputs: [{
|
|
66
|
-
internalType: 'string',
|
|
67
|
-
name: '',
|
|
68
|
-
type: 'string'
|
|
69
|
-
}],
|
|
70
|
-
payable: false,
|
|
71
|
-
stateMutability: 'view',
|
|
72
|
-
type: 'function'
|
|
73
|
-
}];
|
|
74
|
-
|
|
75
|
-
var erc20ABI = [{
|
|
76
|
-
constant: true,
|
|
77
|
-
inputs: [],
|
|
78
|
-
name: 'name',
|
|
79
|
-
outputs: [{
|
|
80
|
-
name: '',
|
|
81
|
-
type: 'string'
|
|
82
|
-
}],
|
|
83
|
-
payable: false,
|
|
84
|
-
stateMutability: 'view',
|
|
85
|
-
type: 'function'
|
|
86
|
-
}, {
|
|
87
|
-
constant: false,
|
|
88
|
-
inputs: [{
|
|
89
|
-
name: '_spender',
|
|
90
|
-
type: 'address'
|
|
91
|
-
}, {
|
|
92
|
-
name: '_value',
|
|
93
|
-
type: 'uint256'
|
|
94
|
-
}],
|
|
95
|
-
name: 'approve',
|
|
96
|
-
outputs: [{
|
|
97
|
-
name: '',
|
|
98
|
-
type: 'bool'
|
|
99
|
-
}],
|
|
100
|
-
payable: false,
|
|
101
|
-
stateMutability: 'nonpayable',
|
|
102
|
-
type: 'function'
|
|
103
|
-
}, {
|
|
104
|
-
constant: true,
|
|
105
|
-
inputs: [],
|
|
106
|
-
name: 'totalSupply',
|
|
107
|
-
outputs: [{
|
|
108
|
-
name: '',
|
|
109
|
-
type: 'uint256'
|
|
110
|
-
}],
|
|
111
|
-
payable: false,
|
|
112
|
-
stateMutability: 'view',
|
|
113
|
-
type: 'function'
|
|
114
|
-
}, {
|
|
115
|
-
constant: false,
|
|
116
|
-
inputs: [{
|
|
117
|
-
name: '_from',
|
|
118
|
-
type: 'address'
|
|
119
|
-
}, {
|
|
120
|
-
name: '_to',
|
|
121
|
-
type: 'address'
|
|
122
|
-
}, {
|
|
123
|
-
name: '_value',
|
|
124
|
-
type: 'uint256'
|
|
125
|
-
}],
|
|
126
|
-
name: 'transferFrom',
|
|
127
|
-
outputs: [{
|
|
128
|
-
name: '',
|
|
129
|
-
type: 'bool'
|
|
130
|
-
}],
|
|
131
|
-
payable: false,
|
|
132
|
-
stateMutability: 'nonpayable',
|
|
133
|
-
type: 'function'
|
|
134
|
-
}, {
|
|
135
|
-
constant: true,
|
|
136
|
-
inputs: [],
|
|
137
|
-
name: 'decimals',
|
|
138
|
-
outputs: [{
|
|
139
|
-
name: '',
|
|
140
|
-
type: 'uint8'
|
|
141
|
-
}],
|
|
142
|
-
payable: false,
|
|
143
|
-
stateMutability: 'view',
|
|
144
|
-
type: 'function'
|
|
145
|
-
}, {
|
|
146
|
-
constant: true,
|
|
147
|
-
inputs: [{
|
|
148
|
-
name: '_owner',
|
|
149
|
-
type: 'address'
|
|
150
|
-
}],
|
|
151
|
-
name: 'balanceOf',
|
|
152
|
-
outputs: [{
|
|
153
|
-
name: 'balance',
|
|
154
|
-
type: 'uint256'
|
|
155
|
-
}],
|
|
156
|
-
payable: false,
|
|
157
|
-
stateMutability: 'view',
|
|
158
|
-
type: 'function'
|
|
159
|
-
}, {
|
|
160
|
-
constant: true,
|
|
161
|
-
inputs: [],
|
|
162
|
-
name: 'symbol',
|
|
163
|
-
outputs: [{
|
|
164
|
-
name: '',
|
|
165
|
-
type: 'string'
|
|
166
|
-
}],
|
|
167
|
-
payable: false,
|
|
168
|
-
stateMutability: 'view',
|
|
169
|
-
type: 'function'
|
|
170
|
-
}, {
|
|
171
|
-
constant: false,
|
|
172
|
-
inputs: [{
|
|
173
|
-
name: '_to',
|
|
174
|
-
type: 'address'
|
|
175
|
-
}, {
|
|
176
|
-
name: '_value',
|
|
177
|
-
type: 'uint256'
|
|
178
|
-
}],
|
|
179
|
-
name: 'transfer',
|
|
180
|
-
outputs: [{
|
|
181
|
-
name: '',
|
|
182
|
-
type: 'bool'
|
|
183
|
-
}],
|
|
184
|
-
payable: false,
|
|
185
|
-
stateMutability: 'nonpayable',
|
|
186
|
-
type: 'function'
|
|
187
|
-
}, {
|
|
188
|
-
constant: true,
|
|
189
|
-
inputs: [{
|
|
190
|
-
name: '_owner',
|
|
191
|
-
type: 'address'
|
|
192
|
-
}, {
|
|
193
|
-
name: '_spender',
|
|
194
|
-
type: 'address'
|
|
195
|
-
}],
|
|
196
|
-
name: 'allowance',
|
|
197
|
-
outputs: [{
|
|
198
|
-
name: '',
|
|
199
|
-
type: 'uint256'
|
|
200
|
-
}],
|
|
201
|
-
payable: false,
|
|
202
|
-
stateMutability: 'view',
|
|
203
|
-
type: 'function'
|
|
204
|
-
}, {
|
|
205
|
-
payable: true,
|
|
206
|
-
stateMutability: 'payable',
|
|
207
|
-
type: 'fallback'
|
|
208
|
-
}, {
|
|
209
|
-
anonymous: false,
|
|
210
|
-
inputs: [{
|
|
211
|
-
indexed: true,
|
|
212
|
-
name: 'owner',
|
|
213
|
-
type: 'address'
|
|
214
|
-
}, {
|
|
215
|
-
indexed: true,
|
|
216
|
-
name: 'spender',
|
|
217
|
-
type: 'address'
|
|
218
|
-
}, {
|
|
219
|
-
indexed: false,
|
|
220
|
-
name: 'value',
|
|
221
|
-
type: 'uint256'
|
|
222
|
-
}],
|
|
223
|
-
name: 'Approval',
|
|
224
|
-
type: 'event'
|
|
225
|
-
}, {
|
|
226
|
-
anonymous: false,
|
|
227
|
-
inputs: [{
|
|
228
|
-
indexed: true,
|
|
229
|
-
name: 'from',
|
|
230
|
-
type: 'address'
|
|
231
|
-
}, {
|
|
232
|
-
indexed: true,
|
|
233
|
-
name: 'to',
|
|
234
|
-
type: 'address'
|
|
235
|
-
}, {
|
|
236
|
-
indexed: false,
|
|
237
|
-
name: 'value',
|
|
238
|
-
type: 'uint256'
|
|
239
|
-
}],
|
|
240
|
-
name: 'Transfer',
|
|
241
|
-
type: 'event'
|
|
242
|
-
}];
|
|
243
|
-
|
|
244
|
-
var erc721ABI = [{
|
|
245
|
-
inputs: [{
|
|
246
|
-
internalType: 'uint256',
|
|
247
|
-
name: 'tokenId',
|
|
248
|
-
type: 'uint256'
|
|
249
|
-
}],
|
|
250
|
-
name: 'ownerOf',
|
|
251
|
-
outputs: [{
|
|
252
|
-
internalType: 'address',
|
|
253
|
-
name: '',
|
|
254
|
-
type: 'address'
|
|
255
|
-
}],
|
|
256
|
-
stateMutability: 'view',
|
|
257
|
-
type: 'function'
|
|
258
|
-
}, {
|
|
259
|
-
inputs: [{
|
|
260
|
-
internalType: 'uint256',
|
|
261
|
-
name: 'tokenId',
|
|
262
|
-
type: 'uint256'
|
|
263
|
-
}],
|
|
264
|
-
name: 'tokenURI',
|
|
265
|
-
outputs: [{
|
|
266
|
-
internalType: 'string',
|
|
267
|
-
name: '',
|
|
268
|
-
type: 'string'
|
|
269
|
-
}],
|
|
270
|
-
stateMutability: 'view',
|
|
271
|
-
type: 'function'
|
|
272
|
-
}];
|
|
14
|
+
const erc721ABI = ['event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);', 'event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);', 'event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);', 'function approve(address _approved, uint256 _tokenId) external payable;', 'function balanceOf(address _owner) external view returns (uint256);', 'function getApproved(uint256 _tokenId) external view returns (address);', 'function isApprovedForAll(address _owner, address _operator) external view returns (bool);', 'function name() view returns (string memory)', 'function ownerOf(uint256 _tokenId) external view returns (address);', 'function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;', 'function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable;', 'function setApprovalForAll(address _operator, bool _approved) external;', 'function symbol() view returns (string memory)', 'function tokenByIndex(uint256 _index) view returns (uint256)', 'function tokenOfOwnerByIndex(address _owner, uint256 _index) view returns (uint256 tokenId)', 'function tokenURI(uint256 _tokenId) view returns (string memory)', 'function totalSupply() view returns (uint256)', 'function transferFrom(address _from, address _to, uint256 _tokenId) external payable;'];
|
|
273
15
|
|
|
274
16
|
// https://github.com/ethers-io/ethers.js/blob/master/packages/units/src.ts/index.ts#L10-L18
|
|
275
|
-
|
|
17
|
+
const units = ['wei', 'kwei', 'mwei', 'gwei', 'szabo', 'finney', 'ether'];
|
|
276
18
|
|
|
277
19
|
function getInjectedName(ethereum) {
|
|
278
20
|
if (!ethereum) return 'Injected';
|
|
@@ -283,17 +25,18 @@ function getInjectedName(ethereum) {
|
|
|
283
25
|
return 'Injected';
|
|
284
26
|
}
|
|
285
27
|
|
|
286
|
-
|
|
28
|
+
const shimKey = 'injected.shimDisconnect';
|
|
287
29
|
|
|
288
30
|
var _provider = /*#__PURE__*/new WeakMap();
|
|
289
31
|
|
|
290
32
|
class InjectedConnector extends Connector {
|
|
291
33
|
constructor(config) {
|
|
292
|
-
super(
|
|
293
|
-
options:
|
|
294
|
-
shimDisconnect: true
|
|
295
|
-
|
|
296
|
-
|
|
34
|
+
super({ ...config,
|
|
35
|
+
options: {
|
|
36
|
+
shimDisconnect: true,
|
|
37
|
+
...(config === null || config === void 0 ? void 0 : config.options)
|
|
38
|
+
}
|
|
39
|
+
});
|
|
297
40
|
|
|
298
41
|
_defineProperty(this, "id", 'injected');
|
|
299
42
|
|
|
@@ -313,8 +56,8 @@ class InjectedConnector extends Connector {
|
|
|
313
56
|
});
|
|
314
57
|
|
|
315
58
|
_defineProperty(this, "onChainChanged", chainId => {
|
|
316
|
-
|
|
317
|
-
|
|
59
|
+
const id = normalizeChainId(chainId);
|
|
60
|
+
const unsupported = this.isChainUnsupported(id);
|
|
318
61
|
this.emit('change', {
|
|
319
62
|
chain: {
|
|
320
63
|
id,
|
|
@@ -330,224 +73,186 @@ class InjectedConnector extends Connector {
|
|
|
330
73
|
if ((_this$options = this.options) !== null && _this$options !== void 0 && _this$options.shimDisconnect) (_client$storage = client.storage) === null || _client$storage === void 0 ? void 0 : _client$storage.removeItem(shimKey);
|
|
331
74
|
});
|
|
332
75
|
|
|
333
|
-
|
|
76
|
+
let name = 'Injected';
|
|
334
77
|
if (typeof window !== 'undefined') name = getInjectedName(window.ethereum);
|
|
335
78
|
this.name = name;
|
|
336
79
|
}
|
|
337
80
|
|
|
338
|
-
connect() {
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
return _asyncToGenerator(function* () {
|
|
342
|
-
try {
|
|
343
|
-
var _this$options2, _client$storage2;
|
|
344
|
-
|
|
345
|
-
var provider = yield _this.getProvider();
|
|
346
|
-
if (!provider) throw new ConnectorNotFoundError();
|
|
347
|
-
|
|
348
|
-
if (provider.on) {
|
|
349
|
-
provider.on('accountsChanged', _this.onAccountsChanged);
|
|
350
|
-
provider.on('chainChanged', _this.onChainChanged);
|
|
351
|
-
provider.on('disconnect', _this.onDisconnect);
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
var account = yield _this.getAccount();
|
|
355
|
-
var id = yield _this.getChainId();
|
|
81
|
+
async connect() {
|
|
82
|
+
try {
|
|
83
|
+
var _this$options2, _client$storage2;
|
|
356
84
|
|
|
357
|
-
|
|
85
|
+
const provider = await this.getProvider();
|
|
86
|
+
if (!provider) throw new ConnectorNotFoundError();
|
|
358
87
|
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
id,
|
|
364
|
-
unsupported
|
|
365
|
-
},
|
|
366
|
-
provider
|
|
367
|
-
};
|
|
368
|
-
} catch (error) {
|
|
369
|
-
if (error.code === 4001) throw new UserRejectedRequestError();
|
|
370
|
-
throw error;
|
|
88
|
+
if (provider.on) {
|
|
89
|
+
provider.on('accountsChanged', this.onAccountsChanged);
|
|
90
|
+
provider.on('chainChanged', this.onChainChanged);
|
|
91
|
+
provider.on('disconnect', this.onDisconnect);
|
|
371
92
|
}
|
|
372
|
-
})();
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
disconnect() {
|
|
376
|
-
var _this2 = this;
|
|
377
|
-
|
|
378
|
-
return _asyncToGenerator(function* () {
|
|
379
|
-
var _this2$options, _client$storage3;
|
|
380
93
|
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
94
|
+
this.emit('message', {
|
|
95
|
+
type: 'connecting'
|
|
96
|
+
});
|
|
97
|
+
const account = await this.getAccount();
|
|
98
|
+
const id = await this.getChainId();
|
|
99
|
+
const unsupported = this.isChainUnsupported(id);
|
|
100
|
+
if ((_this$options2 = this.options) !== null && _this$options2 !== void 0 && _this$options2.shimDisconnect) (_client$storage2 = client.storage) === null || _client$storage2 === void 0 ? void 0 : _client$storage2.setItem(shimKey, true);
|
|
101
|
+
return {
|
|
102
|
+
account,
|
|
103
|
+
chain: {
|
|
104
|
+
id,
|
|
105
|
+
unsupported
|
|
106
|
+
},
|
|
107
|
+
provider
|
|
108
|
+
};
|
|
109
|
+
} catch (error) {
|
|
110
|
+
if (error.code === 4001) throw new UserRejectedRequestError();
|
|
111
|
+
throw error;
|
|
112
|
+
}
|
|
388
113
|
}
|
|
389
114
|
|
|
390
|
-
|
|
391
|
-
var
|
|
392
|
-
|
|
393
|
-
return _asyncToGenerator(function* () {
|
|
394
|
-
var provider = yield _this3.getProvider();
|
|
395
|
-
if (!provider) throw new ConnectorNotFoundError();
|
|
396
|
-
var accounts = yield provider.request({
|
|
397
|
-
method: 'eth_requestAccounts'
|
|
398
|
-
}); // return checksum address
|
|
115
|
+
async disconnect() {
|
|
116
|
+
var _this$options3, _client$storage3;
|
|
399
117
|
|
|
400
|
-
|
|
401
|
-
|
|
118
|
+
const provider = await this.getProvider();
|
|
119
|
+
if (!(provider !== null && provider !== void 0 && provider.removeListener)) return;
|
|
120
|
+
provider.removeListener('accountsChanged', this.onAccountsChanged);
|
|
121
|
+
provider.removeListener('chainChanged', this.onChainChanged);
|
|
122
|
+
provider.removeListener('disconnect', this.onDisconnect);
|
|
123
|
+
if ((_this$options3 = this.options) !== null && _this$options3 !== void 0 && _this$options3.shimDisconnect) (_client$storage3 = client.storage) === null || _client$storage3 === void 0 ? void 0 : _client$storage3.removeItem(shimKey);
|
|
402
124
|
}
|
|
403
125
|
|
|
404
|
-
|
|
405
|
-
|
|
126
|
+
async getAccount() {
|
|
127
|
+
const provider = await this.getProvider();
|
|
128
|
+
if (!provider) throw new ConnectorNotFoundError();
|
|
129
|
+
const accounts = await provider.request({
|
|
130
|
+
method: 'eth_requestAccounts'
|
|
131
|
+
}); // return checksum address
|
|
406
132
|
|
|
407
|
-
return
|
|
408
|
-
var provider = yield _this4.getProvider();
|
|
409
|
-
if (!provider) throw new ConnectorNotFoundError();
|
|
410
|
-
return yield provider.request({
|
|
411
|
-
method: 'eth_chainId'
|
|
412
|
-
}).then(normalizeChainId);
|
|
413
|
-
})();
|
|
133
|
+
return getAddress(accounts[0]);
|
|
414
134
|
}
|
|
415
135
|
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
return
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
})();
|
|
136
|
+
async getChainId() {
|
|
137
|
+
const provider = await this.getProvider();
|
|
138
|
+
if (!provider) throw new ConnectorNotFoundError();
|
|
139
|
+
return await provider.request({
|
|
140
|
+
method: 'eth_chainId'
|
|
141
|
+
}).then(normalizeChainId);
|
|
423
142
|
}
|
|
424
143
|
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
var provider = _this6.getProvider();
|
|
144
|
+
async getProvider() {
|
|
145
|
+
if (typeof window !== 'undefined' && !!window.ethereum) _classPrivateFieldSet(this, _provider, window.ethereum);
|
|
146
|
+
return _classPrivateFieldGet(this, _provider);
|
|
147
|
+
}
|
|
430
148
|
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
149
|
+
async getSigner() {
|
|
150
|
+
const [provider, account] = await Promise.all([this.getProvider(), this.getAccount()]);
|
|
151
|
+
return new providers.Web3Provider(provider).getSigner(account);
|
|
434
152
|
}
|
|
435
153
|
|
|
436
|
-
isAuthorized() {
|
|
437
|
-
|
|
154
|
+
async isAuthorized() {
|
|
155
|
+
try {
|
|
156
|
+
var _this$options4, _client$storage4;
|
|
438
157
|
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
return !!account;
|
|
451
|
-
} catch (_unused) {
|
|
452
|
-
return false;
|
|
453
|
-
}
|
|
454
|
-
})();
|
|
158
|
+
if ((_this$options4 = this.options) !== null && _this$options4 !== void 0 && _this$options4.shimDisconnect && !((_client$storage4 = client.storage) !== null && _client$storage4 !== void 0 && _client$storage4.getItem(shimKey))) return false;
|
|
159
|
+
const provider = await this.getProvider();
|
|
160
|
+
if (!provider) throw new ConnectorNotFoundError();
|
|
161
|
+
const accounts = await provider.request({
|
|
162
|
+
method: 'eth_accounts'
|
|
163
|
+
});
|
|
164
|
+
const account = accounts[0];
|
|
165
|
+
return !!account;
|
|
166
|
+
} catch {
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
455
169
|
}
|
|
456
170
|
|
|
457
|
-
switchChain(chainId) {
|
|
458
|
-
|
|
171
|
+
async switchChain(chainId) {
|
|
172
|
+
const provider = await this.getProvider();
|
|
173
|
+
if (!provider) throw new ConnectorNotFoundError();
|
|
174
|
+
const id = hexValue(chainId);
|
|
459
175
|
|
|
460
|
-
|
|
461
|
-
var
|
|
462
|
-
if (!provider) throw new ConnectorNotFoundError();
|
|
463
|
-
var id = hexValue(chainId);
|
|
176
|
+
try {
|
|
177
|
+
var _chains$find;
|
|
464
178
|
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
throw new AddChainError();
|
|
502
|
-
}
|
|
503
|
-
} else if (error.code === 4001) throw new UserRejectedRequestError();else throw new SwitchChainError();
|
|
504
|
-
}
|
|
505
|
-
})();
|
|
179
|
+
await provider.request({
|
|
180
|
+
method: 'wallet_switchEthereumChain',
|
|
181
|
+
params: [{
|
|
182
|
+
chainId: id
|
|
183
|
+
}]
|
|
184
|
+
});
|
|
185
|
+
const chains = [...this.chains, ...allChains];
|
|
186
|
+
return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
|
|
187
|
+
id: chainId,
|
|
188
|
+
name: "Chain ".concat(id),
|
|
189
|
+
rpcUrls: {
|
|
190
|
+
default: []
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
} catch (error) {
|
|
194
|
+
// Indicates chain is not added to provider
|
|
195
|
+
if (error.code === 4902) {
|
|
196
|
+
try {
|
|
197
|
+
const chain = this.chains.find(x => x.id === chainId);
|
|
198
|
+
if (!chain) throw new ChainNotConfiguredError();
|
|
199
|
+
await provider.request({
|
|
200
|
+
method: 'wallet_addEthereumChain',
|
|
201
|
+
params: [{
|
|
202
|
+
chainId: id,
|
|
203
|
+
chainName: chain.name,
|
|
204
|
+
nativeCurrency: chain.nativeCurrency,
|
|
205
|
+
rpcUrls: this.getRpcUrls(chain),
|
|
206
|
+
blockExplorerUrls: this.getBlockExplorerUrls(chain)
|
|
207
|
+
}]
|
|
208
|
+
});
|
|
209
|
+
return chain;
|
|
210
|
+
} catch (addError) {
|
|
211
|
+
throw new AddChainError();
|
|
212
|
+
}
|
|
213
|
+
} else if (error.code === 4001) throw new UserRejectedRequestError();else throw new SwitchChainError();
|
|
214
|
+
}
|
|
506
215
|
}
|
|
507
216
|
|
|
508
|
-
watchAsset(_ref) {
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
decimals,
|
|
527
|
-
image,
|
|
528
|
-
symbol
|
|
529
|
-
}
|
|
217
|
+
async watchAsset(_ref) {
|
|
218
|
+
let {
|
|
219
|
+
address,
|
|
220
|
+
decimals = 18,
|
|
221
|
+
image,
|
|
222
|
+
symbol
|
|
223
|
+
} = _ref;
|
|
224
|
+
const provider = await this.getProvider();
|
|
225
|
+
if (!provider) throw new ConnectorNotFoundError();
|
|
226
|
+
return await provider.request({
|
|
227
|
+
method: 'wallet_watchAsset',
|
|
228
|
+
params: {
|
|
229
|
+
type: 'ERC20',
|
|
230
|
+
options: {
|
|
231
|
+
address,
|
|
232
|
+
decimals,
|
|
233
|
+
image,
|
|
234
|
+
symbol
|
|
530
235
|
}
|
|
531
|
-
}
|
|
532
|
-
})
|
|
236
|
+
}
|
|
237
|
+
});
|
|
533
238
|
}
|
|
534
239
|
|
|
535
240
|
}
|
|
536
241
|
|
|
537
|
-
|
|
242
|
+
const noopStorage = {
|
|
538
243
|
getItem: _key => '',
|
|
539
244
|
setItem: (_key, _value) => null,
|
|
540
245
|
removeItem: _key => null
|
|
541
246
|
};
|
|
542
247
|
function createStorage(_ref) {
|
|
543
|
-
|
|
248
|
+
let {
|
|
544
249
|
storage,
|
|
545
250
|
key: prefix = 'wagmi'
|
|
546
251
|
} = _ref;
|
|
547
|
-
return
|
|
548
|
-
getItem: function
|
|
549
|
-
|
|
550
|
-
|
|
252
|
+
return { ...storage,
|
|
253
|
+
getItem: function (key) {
|
|
254
|
+
let defaultState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
255
|
+
const value = storage.getItem("".concat(prefix, ".").concat(key));
|
|
551
256
|
|
|
552
257
|
try {
|
|
553
258
|
return value ? JSON.parse(value) : defaultState;
|
|
@@ -568,40 +273,18 @@ function createStorage(_ref) {
|
|
|
568
273
|
}
|
|
569
274
|
},
|
|
570
275
|
removeItem: key => storage.removeItem("".concat(prefix, ".").concat(key))
|
|
571
|
-
}
|
|
276
|
+
};
|
|
572
277
|
}
|
|
573
278
|
|
|
574
|
-
var defaultConfig = {
|
|
575
|
-
connectors: [new InjectedConnector()],
|
|
576
|
-
provider: _ref => {
|
|
577
|
-
var {
|
|
578
|
-
chainId
|
|
579
|
-
} = _ref;
|
|
580
|
-
|
|
581
|
-
try {
|
|
582
|
-
return getDefaultProvider(chainId);
|
|
583
|
-
} catch (error) {
|
|
584
|
-
return getDefaultProvider();
|
|
585
|
-
}
|
|
586
|
-
},
|
|
587
|
-
storage: createStorage({
|
|
588
|
-
storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
|
|
589
|
-
})
|
|
590
|
-
};
|
|
591
|
-
|
|
592
279
|
var _lastUsedConnector = /*#__PURE__*/new WeakMap();
|
|
593
280
|
|
|
594
281
|
var _addEffects = /*#__PURE__*/new WeakSet();
|
|
595
282
|
|
|
596
283
|
class Client {
|
|
597
284
|
constructor() {
|
|
598
|
-
var
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
provider: _provider = defaultConfig.provider,
|
|
602
|
-
storage = defaultConfig.storage,
|
|
603
|
-
webSocketProvider: _webSocketProvider
|
|
604
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultConfig;
|
|
285
|
+
var _config$autoConnect, _config$connectors, _config$provider, _config$storage;
|
|
286
|
+
|
|
287
|
+
let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
605
288
|
|
|
606
289
|
_classPrivateMethodInitSpec(this, _addEffects);
|
|
607
290
|
|
|
@@ -616,53 +299,79 @@ class Client {
|
|
|
616
299
|
value: void 0
|
|
617
300
|
});
|
|
618
301
|
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
302
|
+
// Set default values for config
|
|
303
|
+
const autoConnect = (_config$autoConnect = config.autoConnect) !== null && _config$autoConnect !== void 0 ? _config$autoConnect : false;
|
|
304
|
+
|
|
305
|
+
const _connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
|
|
306
|
+
|
|
307
|
+
const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
|
|
308
|
+
try {
|
|
309
|
+
return getDefaultProvider(config.chainId);
|
|
310
|
+
} catch (error) {
|
|
311
|
+
return getDefaultProvider();
|
|
312
|
+
}
|
|
624
313
|
};
|
|
625
|
-
var status = 'disconnected';
|
|
626
314
|
|
|
627
|
-
|
|
315
|
+
const storage = (_config$storage = config.storage) !== null && _config$storage !== void 0 ? _config$storage : createStorage({
|
|
316
|
+
storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
|
|
317
|
+
});
|
|
318
|
+
const _webSocketProvider = config.webSocketProvider; // Check status for autoConnect flag
|
|
319
|
+
|
|
320
|
+
let status = 'disconnected';
|
|
321
|
+
|
|
322
|
+
let _chainId;
|
|
628
323
|
|
|
629
324
|
if (autoConnect) {
|
|
630
325
|
try {
|
|
631
326
|
var _JSON$parse, _JSON$parse$state, _data$chain;
|
|
632
327
|
|
|
633
|
-
|
|
634
|
-
|
|
328
|
+
const rawState = storage.getItem('state', '');
|
|
329
|
+
const data = (_JSON$parse = JSON.parse(rawState || '{}')) === null || _JSON$parse === void 0 ? void 0 : (_JSON$parse$state = _JSON$parse.state) === null || _JSON$parse$state === void 0 ? void 0 : _JSON$parse$state.data; // If account exists in localStorage, set status to reconnecting
|
|
635
330
|
|
|
636
331
|
status = data !== null && data !== void 0 && data.account ? 'reconnecting' : 'connecting';
|
|
637
332
|
_chainId = data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id; // eslint-disable-next-line no-empty
|
|
638
333
|
} catch (_error) {}
|
|
639
|
-
}
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
334
|
+
} // Evaluate initial store values
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
const connectors_ = typeof _connectors === 'function' ? _connectors({
|
|
338
|
+
chainId: _chainId
|
|
339
|
+
}) : _connectors;
|
|
340
|
+
const provider_ = typeof _provider === 'function' ? _provider({
|
|
341
|
+
chainId: _chainId
|
|
342
|
+
}) : _provider;
|
|
343
|
+
const webSocketProvider_ = typeof _webSocketProvider === 'function' ? _webSocketProvider({
|
|
344
|
+
chainId: _chainId
|
|
345
|
+
}) : _webSocketProvider; // Create store
|
|
346
|
+
|
|
347
|
+
this.store = create(subscribeWithSelector(persist(() => ({
|
|
348
|
+
connectors: connectors_,
|
|
349
|
+
provider: provider_,
|
|
648
350
|
status,
|
|
649
|
-
webSocketProvider:
|
|
650
|
-
chainId: _chainId
|
|
651
|
-
}) : _webSocketProvider
|
|
351
|
+
webSocketProvider: webSocketProvider_
|
|
652
352
|
}), {
|
|
653
353
|
name: 'state',
|
|
654
354
|
getStorage: () => storage,
|
|
655
355
|
partialize: state => {
|
|
656
356
|
var _state$data, _state$data2;
|
|
657
357
|
|
|
658
|
-
return {
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
358
|
+
return { ...(autoConnect && {
|
|
359
|
+
data: {
|
|
360
|
+
account: state === null || state === void 0 ? void 0 : (_state$data = state.data) === null || _state$data === void 0 ? void 0 : _state$data.account,
|
|
361
|
+
chain: state === null || state === void 0 ? void 0 : (_state$data2 = state.data) === null || _state$data2 === void 0 ? void 0 : _state$data2.chain
|
|
362
|
+
}
|
|
363
|
+
}),
|
|
364
|
+
chains: state === null || state === void 0 ? void 0 : state.chains
|
|
663
365
|
};
|
|
664
366
|
}
|
|
665
367
|
})));
|
|
368
|
+
this.config = {
|
|
369
|
+
autoConnect,
|
|
370
|
+
connectors: _connectors,
|
|
371
|
+
provider: _provider,
|
|
372
|
+
storage,
|
|
373
|
+
webSocketProvider: _webSocketProvider
|
|
374
|
+
};
|
|
666
375
|
this.storage = storage;
|
|
667
376
|
|
|
668
377
|
_classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
|
|
@@ -670,6 +379,10 @@ class Client {
|
|
|
670
379
|
_classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
|
|
671
380
|
}
|
|
672
381
|
|
|
382
|
+
get chains() {
|
|
383
|
+
return this.store.getState().chains;
|
|
384
|
+
}
|
|
385
|
+
|
|
673
386
|
get connectors() {
|
|
674
387
|
return this.store.getState().connectors;
|
|
675
388
|
}
|
|
@@ -703,12 +416,12 @@ class Client {
|
|
|
703
416
|
}
|
|
704
417
|
|
|
705
418
|
setState(updater) {
|
|
706
|
-
|
|
419
|
+
const newState = typeof updater === 'function' ? updater(this.store.getState()) : updater;
|
|
707
420
|
this.store.setState(newState, true);
|
|
708
421
|
}
|
|
709
422
|
|
|
710
423
|
clearState() {
|
|
711
|
-
this.setState(x =>
|
|
424
|
+
this.setState(x => ({ ...x,
|
|
712
425
|
connector: undefined,
|
|
713
426
|
data: undefined,
|
|
714
427
|
error: undefined,
|
|
@@ -716,84 +429,74 @@ class Client {
|
|
|
716
429
|
}));
|
|
717
430
|
}
|
|
718
431
|
|
|
719
|
-
destroy() {
|
|
720
|
-
var _this
|
|
721
|
-
|
|
722
|
-
return _asyncToGenerator(function* () {
|
|
723
|
-
var _this$connector$disco, _this$connector;
|
|
724
|
-
|
|
725
|
-
if (_this.connector) yield (_this$connector$disco = (_this$connector = _this.connector).disconnect) === null || _this$connector$disco === void 0 ? void 0 : _this$connector$disco.call(_this$connector);
|
|
432
|
+
async destroy() {
|
|
433
|
+
var _this$connector$disco, _this$connector;
|
|
726
434
|
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
})();
|
|
435
|
+
if (this.connector) await ((_this$connector$disco = (_this$connector = this.connector).disconnect) === null || _this$connector$disco === void 0 ? void 0 : _this$connector$disco.call(_this$connector));
|
|
436
|
+
this.clearState();
|
|
437
|
+
this.store.destroy();
|
|
731
438
|
}
|
|
732
439
|
|
|
733
|
-
autoConnect() {
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
connected = true;
|
|
755
|
-
return "break";
|
|
756
|
-
};
|
|
757
|
-
|
|
758
|
-
for (var connector of sorted) {
|
|
759
|
-
var _ret = yield* _loop(connector);
|
|
760
|
-
|
|
761
|
-
if (_ret === "continue") continue;
|
|
762
|
-
if (_ret === "break") break;
|
|
763
|
-
} // If connecting didn't succeed, set to disconnected
|
|
440
|
+
async autoConnect() {
|
|
441
|
+
if (!this.connectors.length) return; // Try last used connector first
|
|
442
|
+
|
|
443
|
+
const sorted = _classPrivateFieldGet(this, _lastUsedConnector) ? [...this.connectors].sort(x => x.id === _classPrivateFieldGet(this, _lastUsedConnector) ? -1 : 1) : this.connectors;
|
|
444
|
+
let connected = false;
|
|
445
|
+
|
|
446
|
+
for (const connector of sorted) {
|
|
447
|
+
if (!connector.ready || !connector.isAuthorized) continue;
|
|
448
|
+
const isAuthorized = await connector.isAuthorized();
|
|
449
|
+
if (!isAuthorized) continue;
|
|
450
|
+
const data = await connector.connect();
|
|
451
|
+
this.setState(x => ({ ...x,
|
|
452
|
+
connector,
|
|
453
|
+
chains: connector === null || connector === void 0 ? void 0 : connector.chains,
|
|
454
|
+
data,
|
|
455
|
+
status: 'connected'
|
|
456
|
+
}));
|
|
457
|
+
connected = true;
|
|
458
|
+
break;
|
|
459
|
+
} // If connecting didn't succeed, set to disconnected
|
|
764
460
|
|
|
765
461
|
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
})();
|
|
462
|
+
if (!connected) this.setState(x => ({ ...x,
|
|
463
|
+
status: 'disconnected'
|
|
464
|
+
}));
|
|
465
|
+
return this.data;
|
|
771
466
|
}
|
|
772
467
|
|
|
773
468
|
setLastUsedConnector() {
|
|
774
469
|
var _this$storage;
|
|
775
470
|
|
|
776
|
-
|
|
471
|
+
let lastUsedConnector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
777
472
|
(_this$storage = this.storage) === null || _this$storage === void 0 ? void 0 : _this$storage.setItem('wallet', lastUsedConnector);
|
|
778
473
|
}
|
|
779
474
|
|
|
780
475
|
}
|
|
781
476
|
|
|
782
477
|
function _addEffects2() {
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
478
|
+
const onChange = data => {
|
|
479
|
+
this.setState(x => ({ ...x,
|
|
480
|
+
data: { ...x.data,
|
|
481
|
+
...data
|
|
482
|
+
}
|
|
483
|
+
}));
|
|
484
|
+
};
|
|
786
485
|
|
|
787
|
-
|
|
486
|
+
const onDisconnect = () => {
|
|
487
|
+
this.clearState();
|
|
488
|
+
};
|
|
788
489
|
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
490
|
+
const onError = error => {
|
|
491
|
+
this.setState(x => ({ ...x,
|
|
492
|
+
error
|
|
493
|
+
}));
|
|
494
|
+
};
|
|
792
495
|
|
|
793
|
-
this.store.subscribe(
|
|
794
|
-
|
|
496
|
+
this.store.subscribe(_ref => {
|
|
497
|
+
let {
|
|
795
498
|
connector
|
|
796
|
-
} =
|
|
499
|
+
} = _ref;
|
|
797
500
|
return connector;
|
|
798
501
|
}, (connector, prevConnector) => {
|
|
799
502
|
var _prevConnector$off, _prevConnector$off2, _prevConnector$off3, _connector$on, _connector$on2, _connector$on3;
|
|
@@ -806,23 +509,23 @@ function _addEffects2() {
|
|
|
806
509
|
(_connector$on2 = connector.on) === null || _connector$on2 === void 0 ? void 0 : _connector$on2.call(connector, 'disconnect', onDisconnect);
|
|
807
510
|
(_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
|
|
808
511
|
});
|
|
809
|
-
|
|
512
|
+
const {
|
|
810
513
|
connectors,
|
|
811
514
|
provider,
|
|
812
515
|
webSocketProvider
|
|
813
516
|
} = this.config;
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
if (subscribeConnectors || subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(
|
|
517
|
+
const subscribeConnectors = typeof connectors === 'function';
|
|
518
|
+
const subscribeProvider = typeof provider === 'function';
|
|
519
|
+
const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
|
|
520
|
+
if (subscribeConnectors || subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
|
|
818
521
|
var _data$chain2;
|
|
819
522
|
|
|
820
|
-
|
|
523
|
+
let {
|
|
821
524
|
data
|
|
822
|
-
} =
|
|
525
|
+
} = _ref2;
|
|
823
526
|
return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
|
|
824
527
|
}, chainId => {
|
|
825
|
-
this.setState(x =>
|
|
528
|
+
this.setState(x => ({ ...x,
|
|
826
529
|
connectors: subscribeConnectors ? connectors({
|
|
827
530
|
chainId
|
|
828
531
|
}) : x.connectors,
|
|
@@ -836,105 +539,83 @@ function _addEffects2() {
|
|
|
836
539
|
});
|
|
837
540
|
}
|
|
838
541
|
|
|
839
|
-
|
|
542
|
+
let client;
|
|
840
543
|
function createClient(config) {
|
|
841
|
-
|
|
544
|
+
const client_ = new Client(config);
|
|
842
545
|
client = client_;
|
|
843
546
|
return client_;
|
|
844
547
|
}
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
return _connect.apply(this, arguments);
|
|
548
|
+
function getClient() {
|
|
549
|
+
return client;
|
|
848
550
|
}
|
|
849
551
|
|
|
850
|
-
function
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
}
|
|
868
|
-
|
|
869
|
-
function disconnect() {
|
|
870
|
-
return _disconnect.apply(this, arguments);
|
|
871
|
-
}
|
|
872
|
-
|
|
873
|
-
function _disconnect() {
|
|
874
|
-
_disconnect = _asyncToGenerator(function* () {
|
|
875
|
-
if (client.connector) yield client.connector.disconnect();
|
|
876
|
-
client.storage.removeItem('connected');
|
|
877
|
-
client.clearState();
|
|
878
|
-
});
|
|
879
|
-
return _disconnect.apply(this, arguments);
|
|
552
|
+
async function connect(_ref) {
|
|
553
|
+
let {
|
|
554
|
+
connector
|
|
555
|
+
} = _ref;
|
|
556
|
+
const activeConnector = client.connector;
|
|
557
|
+
if (connector.id === (activeConnector === null || activeConnector === void 0 ? void 0 : activeConnector.id)) throw new ConnectorAlreadyConnectedError();
|
|
558
|
+
const data = await connector.connect();
|
|
559
|
+
client.setLastUsedConnector(connector.id);
|
|
560
|
+
client.setState(x => ({ ...x,
|
|
561
|
+
connector,
|
|
562
|
+
chains: connector === null || connector === void 0 ? void 0 : connector.chains,
|
|
563
|
+
data
|
|
564
|
+
}));
|
|
565
|
+
client.storage.setItem('connected', true);
|
|
566
|
+
return { ...data,
|
|
567
|
+
connector
|
|
568
|
+
};
|
|
880
569
|
}
|
|
881
570
|
|
|
882
|
-
function
|
|
883
|
-
|
|
571
|
+
async function disconnect() {
|
|
572
|
+
if (client.connector) await client.connector.disconnect();
|
|
573
|
+
client.clearState();
|
|
574
|
+
client.storage.removeItem('connected');
|
|
884
575
|
}
|
|
885
576
|
|
|
886
|
-
function
|
|
887
|
-
|
|
888
|
-
var _client$connector$cha, _client$connector, _chain$nativeCurrency, _chain$nativeCurrency2, _chain$nativeCurrency3, _chain$nativeCurrency4;
|
|
889
|
-
|
|
890
|
-
var {
|
|
891
|
-
addressOrName,
|
|
892
|
-
formatUnits: unit = 'ether',
|
|
893
|
-
token
|
|
894
|
-
} = _ref;
|
|
577
|
+
async function fetchBalance(_ref) {
|
|
578
|
+
var _client$connector$cha, _client$connector, _chain$nativeCurrency, _chain$nativeCurrency2, _chain$nativeCurrency3, _chain$nativeCurrency4;
|
|
895
579
|
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
formatted: formatUnits(_value, unit),
|
|
902
|
-
symbol,
|
|
903
|
-
unit,
|
|
904
|
-
value: _value
|
|
905
|
-
};
|
|
906
|
-
}
|
|
580
|
+
let {
|
|
581
|
+
addressOrName,
|
|
582
|
+
formatUnits: unit = 'ether',
|
|
583
|
+
token
|
|
584
|
+
} = _ref;
|
|
907
585
|
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
586
|
+
if (token) {
|
|
587
|
+
const contract = new Contract(token, erc20ABI, client.provider);
|
|
588
|
+
const [value, decimals, symbol] = await Promise.all([contract.balanceOf(addressOrName), contract.decimals(), contract.symbol()]);
|
|
911
589
|
return {
|
|
912
|
-
decimals
|
|
590
|
+
decimals,
|
|
913
591
|
formatted: formatUnits(value, unit),
|
|
914
|
-
symbol
|
|
592
|
+
symbol,
|
|
915
593
|
unit,
|
|
916
594
|
value
|
|
917
595
|
};
|
|
918
|
-
}
|
|
919
|
-
return _fetchBalance.apply(this, arguments);
|
|
920
|
-
}
|
|
596
|
+
}
|
|
921
597
|
|
|
922
|
-
|
|
923
|
-
|
|
598
|
+
const chains = [...((_client$connector$cha = (_client$connector = client.connector) === null || _client$connector === void 0 ? void 0 : _client$connector.chains) !== null && _client$connector$cha !== void 0 ? _client$connector$cha : []), ...allChains];
|
|
599
|
+
const value = await client.provider.getBalance(addressOrName);
|
|
600
|
+
const chain = chains.find(x => x.id === client.provider.network.chainId);
|
|
601
|
+
return {
|
|
602
|
+
decimals: (_chain$nativeCurrency = chain === null || chain === void 0 ? void 0 : (_chain$nativeCurrency2 = chain.nativeCurrency) === null || _chain$nativeCurrency2 === void 0 ? void 0 : _chain$nativeCurrency2.decimals) !== null && _chain$nativeCurrency !== void 0 ? _chain$nativeCurrency : 18,
|
|
603
|
+
formatted: formatUnits(value, unit),
|
|
604
|
+
symbol: (_chain$nativeCurrency3 = chain === null || chain === void 0 ? void 0 : (_chain$nativeCurrency4 = chain.nativeCurrency) === null || _chain$nativeCurrency4 === void 0 ? void 0 : _chain$nativeCurrency4.symbol) !== null && _chain$nativeCurrency3 !== void 0 ? _chain$nativeCurrency3 : 'ETH',
|
|
605
|
+
unit,
|
|
606
|
+
value
|
|
607
|
+
};
|
|
924
608
|
}
|
|
925
609
|
|
|
926
|
-
function
|
|
927
|
-
|
|
928
|
-
var _client$connector, _client$connector$get;
|
|
610
|
+
async function fetchSigner() {
|
|
611
|
+
var _client$connector, _client$connector$get;
|
|
929
612
|
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
});
|
|
933
|
-
return _fetchSigner.apply(this, arguments);
|
|
613
|
+
const signer = await ((_client$connector = client.connector) === null || _client$connector === void 0 ? void 0 : (_client$connector$get = _client$connector.getSigner) === null || _client$connector$get === void 0 ? void 0 : _client$connector$get.call(_client$connector));
|
|
614
|
+
return signer;
|
|
934
615
|
}
|
|
935
616
|
|
|
936
617
|
function getAccount() {
|
|
937
|
-
|
|
618
|
+
const {
|
|
938
619
|
data,
|
|
939
620
|
connector
|
|
940
621
|
} = client;
|
|
@@ -945,88 +626,72 @@ function getAccount() {
|
|
|
945
626
|
}
|
|
946
627
|
|
|
947
628
|
function getNetwork() {
|
|
948
|
-
var _data$chain, _data$chain2,
|
|
629
|
+
var _data$chain, _data$chain2, _find;
|
|
949
630
|
|
|
950
|
-
|
|
951
|
-
|
|
631
|
+
const {
|
|
632
|
+
chains,
|
|
952
633
|
data
|
|
953
634
|
} = client;
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
635
|
+
const chainId = data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id;
|
|
636
|
+
const unsupported = data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.unsupported;
|
|
637
|
+
const activeChains = chains !== null && chains !== void 0 ? chains : [];
|
|
638
|
+
const activeChain = (_find = [...activeChains, ...allChains].find(x => x.id === chainId)) !== null && _find !== void 0 ? _find : {
|
|
958
639
|
id: chainId,
|
|
959
640
|
name: "Chain ".concat(chainId),
|
|
960
|
-
rpcUrls:
|
|
641
|
+
rpcUrls: {
|
|
642
|
+
default: []
|
|
643
|
+
}
|
|
961
644
|
};
|
|
962
645
|
return {
|
|
963
|
-
chain: chainId ?
|
|
646
|
+
chain: chainId ? { ...activeChain,
|
|
964
647
|
id: chainId,
|
|
965
648
|
unsupported
|
|
966
|
-
}
|
|
649
|
+
} : undefined,
|
|
967
650
|
chains: activeChains
|
|
968
651
|
};
|
|
969
652
|
}
|
|
970
653
|
|
|
971
|
-
function signMessage(
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
} catch (error_) {
|
|
982
|
-
var error = error_;
|
|
983
|
-
if (error_.code === 4001) error = new UserRejectedRequestError();
|
|
984
|
-
throw error;
|
|
985
|
-
}
|
|
986
|
-
});
|
|
987
|
-
return _signMessage.apply(this, arguments);
|
|
988
|
-
}
|
|
989
|
-
|
|
990
|
-
function signTypedData(_x) {
|
|
991
|
-
return _signTypedData.apply(this, arguments);
|
|
654
|
+
async function signMessage(args) {
|
|
655
|
+
try {
|
|
656
|
+
const signer = await fetchSigner();
|
|
657
|
+
if (!signer) throw new ConnectorNotFoundError();
|
|
658
|
+
return await signer.signMessage(args.message);
|
|
659
|
+
} catch (error_) {
|
|
660
|
+
let error = error_;
|
|
661
|
+
if (error_.code === 4001) error = new UserRejectedRequestError();
|
|
662
|
+
throw error;
|
|
663
|
+
}
|
|
992
664
|
}
|
|
993
665
|
|
|
994
|
-
function
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
if (!signer) throw new ConnectorNotFoundError(); // Method name may be changed in the future, see https://docs.ethers.io/v5/api/signer/#Signer-signTypedData
|
|
999
|
-
|
|
1000
|
-
return yield signer._signTypedData(args.domain, args.types, args.value);
|
|
1001
|
-
} catch (error_) {
|
|
1002
|
-
var error = error_;
|
|
1003
|
-
if (error_.code === 4001) error = new UserRejectedRequestError();
|
|
1004
|
-
throw error;
|
|
1005
|
-
}
|
|
1006
|
-
});
|
|
1007
|
-
return _signTypedData.apply(this, arguments);
|
|
1008
|
-
}
|
|
666
|
+
async function signTypedData(args) {
|
|
667
|
+
try {
|
|
668
|
+
const signer = await fetchSigner();
|
|
669
|
+
if (!signer) throw new ConnectorNotFoundError(); // Method name may be changed in the future, see https://docs.ethers.io/v5/api/signer/#Signer-signTypedData
|
|
1009
670
|
|
|
1010
|
-
|
|
1011
|
-
|
|
671
|
+
return await signer._signTypedData(args.domain, args.types, args.value);
|
|
672
|
+
} catch (error_) {
|
|
673
|
+
let error = error_;
|
|
674
|
+
if (error_.code === 4001) error = new UserRejectedRequestError();
|
|
675
|
+
throw error;
|
|
676
|
+
}
|
|
1012
677
|
}
|
|
1013
678
|
|
|
1014
|
-
function
|
|
1015
|
-
|
|
1016
|
-
var _client$connector;
|
|
679
|
+
async function switchNetwork(_ref) {
|
|
680
|
+
var _client$connector;
|
|
1017
681
|
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
682
|
+
let {
|
|
683
|
+
chainId
|
|
684
|
+
} = _ref;
|
|
685
|
+
if (!((_client$connector = client.connector) !== null && _client$connector !== void 0 && _client$connector.switchChain)) throw new SwitchChainNotSupportedError();
|
|
686
|
+
const chain = await client.connector.switchChain(chainId);
|
|
687
|
+
return chain;
|
|
1023
688
|
}
|
|
1024
689
|
|
|
1025
690
|
function watchAccount(callback) {
|
|
1026
|
-
|
|
691
|
+
const handleChange = () => callback(getAccount());
|
|
1027
692
|
|
|
1028
|
-
|
|
1029
|
-
|
|
693
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
694
|
+
let {
|
|
1030
695
|
data,
|
|
1031
696
|
connector
|
|
1032
697
|
} = _ref;
|
|
@@ -1041,22 +706,14 @@ function watchAccount(callback) {
|
|
|
1041
706
|
}
|
|
1042
707
|
|
|
1043
708
|
function watchBalance(args, callback) {
|
|
1044
|
-
|
|
1045
|
-
var _ref = _asyncToGenerator(function* () {
|
|
1046
|
-
return callback(yield fetchBalance(args));
|
|
1047
|
-
});
|
|
709
|
+
const handleChange = async () => callback(await fetchBalance(args));
|
|
1048
710
|
|
|
1049
|
-
|
|
1050
|
-
return _ref.apply(this, arguments);
|
|
1051
|
-
};
|
|
1052
|
-
}();
|
|
1053
|
-
|
|
1054
|
-
var unsubscribe = client.subscribe(_ref2 => {
|
|
711
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
1055
712
|
var _data$chain;
|
|
1056
713
|
|
|
1057
|
-
|
|
714
|
+
let {
|
|
1058
715
|
data
|
|
1059
|
-
} =
|
|
716
|
+
} = _ref;
|
|
1060
717
|
return {
|
|
1061
718
|
account: data === null || data === void 0 ? void 0 : data.account,
|
|
1062
719
|
chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id
|
|
@@ -1068,43 +725,35 @@ function watchBalance(args, callback) {
|
|
|
1068
725
|
}
|
|
1069
726
|
|
|
1070
727
|
function watchNetwork(callback) {
|
|
1071
|
-
|
|
728
|
+
const handleChange = () => callback(getNetwork());
|
|
1072
729
|
|
|
1073
|
-
|
|
730
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
1074
731
|
var _data$chain;
|
|
1075
732
|
|
|
1076
|
-
|
|
733
|
+
let {
|
|
1077
734
|
data,
|
|
1078
|
-
|
|
735
|
+
chains
|
|
1079
736
|
} = _ref;
|
|
1080
737
|
return {
|
|
1081
738
|
chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id,
|
|
1082
|
-
|
|
739
|
+
chains
|
|
1083
740
|
};
|
|
1084
741
|
}, handleChange, {
|
|
1085
|
-
equalityFn: (selected, previous) => selected.chainId === previous.chainId && selected.
|
|
742
|
+
equalityFn: (selected, previous) => selected.chainId === previous.chainId && selected.chains === previous.chains
|
|
1086
743
|
});
|
|
1087
744
|
return unsubscribe;
|
|
1088
745
|
}
|
|
1089
746
|
|
|
1090
747
|
function watchSigner(callback) {
|
|
1091
|
-
|
|
1092
|
-
var _ref = _asyncToGenerator(function* () {
|
|
1093
|
-
return callback(yield fetchSigner());
|
|
1094
|
-
});
|
|
748
|
+
const handleChange = async () => callback(await fetchSigner());
|
|
1095
749
|
|
|
1096
|
-
|
|
1097
|
-
return _ref.apply(this, arguments);
|
|
1098
|
-
};
|
|
1099
|
-
}();
|
|
1100
|
-
|
|
1101
|
-
var unsubscribe = client.subscribe(_ref2 => {
|
|
750
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
1102
751
|
var _data$chain;
|
|
1103
752
|
|
|
1104
|
-
|
|
753
|
+
let {
|
|
1105
754
|
data,
|
|
1106
755
|
connector
|
|
1107
|
-
} =
|
|
756
|
+
} = _ref;
|
|
1108
757
|
return {
|
|
1109
758
|
account: data === null || data === void 0 ? void 0 : data.account,
|
|
1110
759
|
chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id,
|
|
@@ -1117,7 +766,7 @@ function watchSigner(callback) {
|
|
|
1117
766
|
}
|
|
1118
767
|
|
|
1119
768
|
function getContract(_ref) {
|
|
1120
|
-
|
|
769
|
+
let {
|
|
1121
770
|
addressOrName,
|
|
1122
771
|
contractInterface,
|
|
1123
772
|
signerOrProvider
|
|
@@ -1125,27 +774,21 @@ function getContract(_ref) {
|
|
|
1125
774
|
return new Contract(addressOrName, contractInterface, signerOrProvider);
|
|
1126
775
|
}
|
|
1127
776
|
|
|
1128
|
-
function readContract(
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
provider
|
|
1140
|
-
} = client;
|
|
1141
|
-
var contract = getContract(_objectSpread2({
|
|
1142
|
-
signerOrProvider: provider
|
|
1143
|
-
}, contractConfig));
|
|
1144
|
-
var params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
|
|
1145
|
-
var response = yield contract[functionName](...params);
|
|
1146
|
-
return response;
|
|
777
|
+
async function readContract(contractConfig, functionName) {
|
|
778
|
+
let {
|
|
779
|
+
args,
|
|
780
|
+
overrides
|
|
781
|
+
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
782
|
+
const {
|
|
783
|
+
provider
|
|
784
|
+
} = client;
|
|
785
|
+
const contract = getContract({
|
|
786
|
+
signerOrProvider: provider,
|
|
787
|
+
...contractConfig
|
|
1147
788
|
});
|
|
1148
|
-
|
|
789
|
+
const params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
|
|
790
|
+
const response = await contract[functionName](...params);
|
|
791
|
+
return response;
|
|
1149
792
|
}
|
|
1150
793
|
|
|
1151
794
|
function watchContractEvent(
|
|
@@ -1153,36 +796,31 @@ function watchContractEvent(
|
|
|
1153
796
|
contractArgs,
|
|
1154
797
|
/** Event name to listen to */
|
|
1155
798
|
eventName, callback) {
|
|
1156
|
-
|
|
799
|
+
let {
|
|
1157
800
|
once
|
|
1158
801
|
} = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
1159
|
-
|
|
802
|
+
let contract;
|
|
1160
803
|
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
var _contract;
|
|
804
|
+
const watchEvent = async () => {
|
|
805
|
+
if (contract) {
|
|
806
|
+
var _contract;
|
|
1165
807
|
|
|
1166
|
-
|
|
1167
|
-
|
|
808
|
+
(_contract = contract) === null || _contract === void 0 ? void 0 : _contract.off(eventName, callback);
|
|
809
|
+
}
|
|
1168
810
|
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
if (once) contract.once(eventName, callback);else contract.on(eventName, callback);
|
|
811
|
+
contract = getContract({
|
|
812
|
+
signerOrProvider: client.webSocketProvider || client.provider,
|
|
813
|
+
...contractArgs
|
|
1173
814
|
});
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
return _ref.apply(this, arguments);
|
|
1177
|
-
};
|
|
1178
|
-
}();
|
|
815
|
+
if (once) contract.once(eventName, callback);else contract.on(eventName, callback);
|
|
816
|
+
};
|
|
1179
817
|
|
|
1180
818
|
watchEvent();
|
|
1181
|
-
|
|
1182
|
-
|
|
819
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
820
|
+
let {
|
|
1183
821
|
provider,
|
|
1184
822
|
webSocketProvider
|
|
1185
|
-
} =
|
|
823
|
+
} = _ref;
|
|
1186
824
|
return {
|
|
1187
825
|
provider,
|
|
1188
826
|
webSocketProvider
|
|
@@ -1198,23 +836,16 @@ eventName, callback) {
|
|
|
1198
836
|
};
|
|
1199
837
|
}
|
|
1200
838
|
|
|
1201
|
-
function fetchBlockNumber() {
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
function _fetchBlockNumber() {
|
|
1206
|
-
_fetchBlockNumber = _asyncToGenerator(function* () {
|
|
1207
|
-
var blockNumber = yield client.provider.getBlockNumber();
|
|
1208
|
-
return blockNumber;
|
|
1209
|
-
});
|
|
1210
|
-
return _fetchBlockNumber.apply(this, arguments);
|
|
839
|
+
async function fetchBlockNumber() {
|
|
840
|
+
const blockNumber = await client.provider.getBlockNumber();
|
|
841
|
+
return blockNumber;
|
|
1211
842
|
}
|
|
1212
843
|
|
|
1213
844
|
function watchBlockNumber(args, callback) {
|
|
1214
|
-
|
|
845
|
+
let prevProvider;
|
|
1215
846
|
|
|
1216
|
-
|
|
1217
|
-
|
|
847
|
+
const createListener = provider => {
|
|
848
|
+
const listener = blockNumber => {
|
|
1218
849
|
callback(blockNumber);
|
|
1219
850
|
};
|
|
1220
851
|
|
|
@@ -1228,14 +859,14 @@ function watchBlockNumber(args, callback) {
|
|
|
1228
859
|
prevProvider = provider;
|
|
1229
860
|
};
|
|
1230
861
|
|
|
1231
|
-
|
|
862
|
+
const {
|
|
1232
863
|
provider,
|
|
1233
864
|
webSocketProvider
|
|
1234
865
|
} = client;
|
|
1235
|
-
|
|
866
|
+
const provider_ = webSocketProvider !== null && webSocketProvider !== void 0 ? webSocketProvider : provider;
|
|
1236
867
|
if (args.listen) createListener(provider_);
|
|
1237
|
-
|
|
1238
|
-
|
|
868
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
869
|
+
let {
|
|
1239
870
|
provider,
|
|
1240
871
|
webSocketProvider
|
|
1241
872
|
} = _ref;
|
|
@@ -1243,25 +874,19 @@ function watchBlockNumber(args, callback) {
|
|
|
1243
874
|
provider,
|
|
1244
875
|
webSocketProvider
|
|
1245
876
|
};
|
|
1246
|
-
},
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
var provider_ = webSocketProvider !== null && webSocketProvider !== void 0 ? webSocketProvider : provider;
|
|
1253
|
-
|
|
1254
|
-
if (args.listen && provider_) {
|
|
1255
|
-
createListener(provider_);
|
|
1256
|
-
}
|
|
877
|
+
}, async _ref2 => {
|
|
878
|
+
let {
|
|
879
|
+
provider,
|
|
880
|
+
webSocketProvider
|
|
881
|
+
} = _ref2;
|
|
882
|
+
const provider_ = webSocketProvider !== null && webSocketProvider !== void 0 ? webSocketProvider : provider;
|
|
1257
883
|
|
|
1258
|
-
|
|
1259
|
-
|
|
884
|
+
if (args.listen && provider_) {
|
|
885
|
+
createListener(provider_);
|
|
886
|
+
}
|
|
1260
887
|
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
};
|
|
1264
|
-
}(), {
|
|
888
|
+
callback(await fetchBlockNumber());
|
|
889
|
+
}, {
|
|
1265
890
|
equalityFn: (selected, previous) => selected.provider === previous.provider && selected.webSocketProvider === previous.webSocketProvider
|
|
1266
891
|
});
|
|
1267
892
|
return unsubscribe;
|
|
@@ -1270,26 +895,18 @@ function watchBlockNumber(args, callback) {
|
|
|
1270
895
|
function watchReadContract(contractConfig, functionName) {
|
|
1271
896
|
var _config$listenToBlock;
|
|
1272
897
|
|
|
1273
|
-
|
|
1274
|
-
|
|
898
|
+
let config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
899
|
+
let callback = arguments.length > 3 ? arguments[3] : undefined;
|
|
1275
900
|
|
|
1276
|
-
|
|
1277
|
-
var _ref = _asyncToGenerator(function* () {
|
|
1278
|
-
return callback(yield readContract(contractConfig, functionName, config));
|
|
1279
|
-
});
|
|
901
|
+
const handleChange = async () => callback(await readContract(contractConfig, functionName, config));
|
|
1280
902
|
|
|
1281
|
-
|
|
1282
|
-
return _ref.apply(this, arguments);
|
|
1283
|
-
};
|
|
1284
|
-
}();
|
|
1285
|
-
|
|
1286
|
-
var unwatch = ((_config$listenToBlock = config.listenToBlock) !== null && _config$listenToBlock !== void 0 ? _config$listenToBlock : true) ? watchBlockNumber({
|
|
903
|
+
const unwatch = ((_config$listenToBlock = config.listenToBlock) !== null && _config$listenToBlock !== void 0 ? _config$listenToBlock : true) ? watchBlockNumber({
|
|
1287
904
|
listen: true
|
|
1288
905
|
}, handleChange) : undefined;
|
|
1289
|
-
|
|
1290
|
-
|
|
906
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
907
|
+
let {
|
|
1291
908
|
provider
|
|
1292
|
-
} =
|
|
909
|
+
} = _ref;
|
|
1293
910
|
return provider;
|
|
1294
911
|
}, handleChange);
|
|
1295
912
|
return () => {
|
|
@@ -1298,224 +915,142 @@ function watchReadContract(contractConfig, functionName) {
|
|
|
1298
915
|
};
|
|
1299
916
|
}
|
|
1300
917
|
|
|
1301
|
-
function writeContract(
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
} catch (error_) {
|
|
1324
|
-
var error = error_;
|
|
1325
|
-
if (error_.code === 4001) error = new UserRejectedRequestError();
|
|
1326
|
-
throw error;
|
|
1327
|
-
}
|
|
1328
|
-
});
|
|
1329
|
-
return _writeContract.apply(this, arguments);
|
|
1330
|
-
}
|
|
1331
|
-
|
|
1332
|
-
function fetchEnsAddress(_x) {
|
|
1333
|
-
return _fetchEnsAddress.apply(this, arguments);
|
|
1334
|
-
}
|
|
1335
|
-
|
|
1336
|
-
function _fetchEnsAddress() {
|
|
1337
|
-
_fetchEnsAddress = _asyncToGenerator(function* (_ref) {
|
|
1338
|
-
var {
|
|
1339
|
-
name
|
|
1340
|
-
} = _ref;
|
|
1341
|
-
var address = yield client.provider.resolveName(name);
|
|
1342
|
-
|
|
1343
|
-
try {
|
|
1344
|
-
return address ? getAddress(address) : null;
|
|
1345
|
-
} catch (_error) {
|
|
1346
|
-
return null;
|
|
1347
|
-
}
|
|
1348
|
-
});
|
|
1349
|
-
return _fetchEnsAddress.apply(this, arguments);
|
|
1350
|
-
}
|
|
1351
|
-
|
|
1352
|
-
function fetchEnsAvatar(_x) {
|
|
1353
|
-
return _fetchEnsAvatar.apply(this, arguments);
|
|
918
|
+
async function writeContract(contractConfig, functionName) {
|
|
919
|
+
let {
|
|
920
|
+
args,
|
|
921
|
+
overrides
|
|
922
|
+
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
923
|
+
const {
|
|
924
|
+
connector
|
|
925
|
+
} = client;
|
|
926
|
+
const contract = getContract(contractConfig);
|
|
927
|
+
if (!connector) throw new ConnectorNotFoundError();
|
|
928
|
+
const params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
|
|
929
|
+
|
|
930
|
+
try {
|
|
931
|
+
const signer = await connector.getSigner();
|
|
932
|
+
const contract_ = contract.connect(signer);
|
|
933
|
+
const response = await contract_[functionName](...params);
|
|
934
|
+
return response;
|
|
935
|
+
} catch (error_) {
|
|
936
|
+
let error = error_;
|
|
937
|
+
if (error_.code === 4001) error = new UserRejectedRequestError();
|
|
938
|
+
throw error;
|
|
939
|
+
}
|
|
1354
940
|
}
|
|
1355
941
|
|
|
1356
|
-
function
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
// TODO: Update with more advanced logic
|
|
1362
|
-
// https://github.com/ensdomains/ens-avatar
|
|
1363
|
-
var avatar = yield client.provider.getAvatar(addressOrName);
|
|
1364
|
-
return avatar;
|
|
1365
|
-
});
|
|
1366
|
-
return _fetchEnsAvatar.apply(this, arguments);
|
|
1367
|
-
}
|
|
942
|
+
async function fetchEnsAddress(_ref) {
|
|
943
|
+
let {
|
|
944
|
+
name
|
|
945
|
+
} = _ref;
|
|
946
|
+
const address = await client.provider.resolveName(name);
|
|
1368
947
|
|
|
1369
|
-
|
|
1370
|
-
|
|
948
|
+
try {
|
|
949
|
+
return address ? getAddress(address) : null;
|
|
950
|
+
} catch (_error) {
|
|
951
|
+
return null;
|
|
952
|
+
}
|
|
1371
953
|
}
|
|
1372
954
|
|
|
1373
|
-
function
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
return _fetchEnsName.apply(this, arguments);
|
|
955
|
+
async function fetchEnsAvatar(_ref) {
|
|
956
|
+
let {
|
|
957
|
+
addressOrName
|
|
958
|
+
} = _ref;
|
|
959
|
+
// TODO: Update with more advanced logic
|
|
960
|
+
// https://github.com/ensdomains/ens-avatar
|
|
961
|
+
const avatar = await client.provider.getAvatar(addressOrName);
|
|
962
|
+
return avatar;
|
|
1382
963
|
}
|
|
1383
964
|
|
|
1384
|
-
function
|
|
1385
|
-
|
|
965
|
+
async function fetchEnsName(_ref) {
|
|
966
|
+
let {
|
|
967
|
+
address
|
|
968
|
+
} = _ref;
|
|
969
|
+
const ensName = await client.provider.lookupAddress(address);
|
|
970
|
+
return ensName;
|
|
1386
971
|
}
|
|
1387
972
|
|
|
1388
|
-
function
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
return resolver;
|
|
1395
|
-
});
|
|
1396
|
-
return _fetchEnsResolver.apply(this, arguments);
|
|
973
|
+
async function fetchEnsResolver(_ref) {
|
|
974
|
+
let {
|
|
975
|
+
name
|
|
976
|
+
} = _ref;
|
|
977
|
+
const resolver = await client.provider.getResolver(name);
|
|
978
|
+
return resolver;
|
|
1397
979
|
}
|
|
1398
980
|
|
|
1399
981
|
function watchEnsAddress(args, callback) {
|
|
1400
|
-
|
|
1401
|
-
var _ref = _asyncToGenerator(function* () {
|
|
1402
|
-
return callback(yield fetchEnsAddress(args));
|
|
1403
|
-
});
|
|
1404
|
-
|
|
1405
|
-
return function handleChange() {
|
|
1406
|
-
return _ref.apply(this, arguments);
|
|
1407
|
-
};
|
|
1408
|
-
}();
|
|
982
|
+
const handleChange = async () => callback(await fetchEnsAddress(args));
|
|
1409
983
|
|
|
1410
|
-
|
|
1411
|
-
|
|
984
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
985
|
+
let {
|
|
1412
986
|
provider
|
|
1413
|
-
} =
|
|
987
|
+
} = _ref;
|
|
1414
988
|
return provider;
|
|
1415
989
|
}, handleChange);
|
|
1416
990
|
return unsubscribe;
|
|
1417
991
|
}
|
|
1418
992
|
|
|
1419
993
|
function watchEnsAvatar(args, callback) {
|
|
1420
|
-
|
|
1421
|
-
var _ref = _asyncToGenerator(function* () {
|
|
1422
|
-
return callback(yield fetchEnsAvatar(args));
|
|
1423
|
-
});
|
|
1424
|
-
|
|
1425
|
-
return function handleChange() {
|
|
1426
|
-
return _ref.apply(this, arguments);
|
|
1427
|
-
};
|
|
1428
|
-
}();
|
|
994
|
+
const handleChange = async () => callback(await fetchEnsAvatar(args));
|
|
1429
995
|
|
|
1430
|
-
|
|
1431
|
-
|
|
996
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
997
|
+
let {
|
|
1432
998
|
provider
|
|
1433
|
-
} =
|
|
999
|
+
} = _ref;
|
|
1434
1000
|
return provider;
|
|
1435
1001
|
}, handleChange);
|
|
1436
1002
|
return unsubscribe;
|
|
1437
1003
|
}
|
|
1438
1004
|
|
|
1439
1005
|
function watchEnsName(args, callback) {
|
|
1440
|
-
|
|
1441
|
-
var _ref = _asyncToGenerator(function* () {
|
|
1442
|
-
return callback(yield fetchEnsName(args));
|
|
1443
|
-
});
|
|
1444
|
-
|
|
1445
|
-
return function handleChange() {
|
|
1446
|
-
return _ref.apply(this, arguments);
|
|
1447
|
-
};
|
|
1448
|
-
}();
|
|
1006
|
+
const handleChange = async () => callback(await fetchEnsName(args));
|
|
1449
1007
|
|
|
1450
|
-
|
|
1451
|
-
|
|
1008
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
1009
|
+
let {
|
|
1452
1010
|
provider
|
|
1453
|
-
} =
|
|
1011
|
+
} = _ref;
|
|
1454
1012
|
return provider;
|
|
1455
1013
|
}, handleChange);
|
|
1456
1014
|
return unsubscribe;
|
|
1457
1015
|
}
|
|
1458
1016
|
|
|
1459
1017
|
function watchEnsResolver(args, callback) {
|
|
1460
|
-
|
|
1461
|
-
var _ref = _asyncToGenerator(function* () {
|
|
1462
|
-
return callback(yield fetchEnsResolver(args));
|
|
1463
|
-
});
|
|
1464
|
-
|
|
1465
|
-
return function handleChange() {
|
|
1466
|
-
return _ref.apply(this, arguments);
|
|
1467
|
-
};
|
|
1468
|
-
}();
|
|
1018
|
+
const handleChange = async () => callback(await fetchEnsResolver(args));
|
|
1469
1019
|
|
|
1470
|
-
|
|
1471
|
-
|
|
1020
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
1021
|
+
let {
|
|
1472
1022
|
provider
|
|
1473
|
-
} =
|
|
1023
|
+
} = _ref;
|
|
1474
1024
|
return provider;
|
|
1475
1025
|
}, handleChange);
|
|
1476
1026
|
return unsubscribe;
|
|
1477
1027
|
}
|
|
1478
1028
|
|
|
1479
|
-
function fetchFeeData() {
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
maxPriorityFeePerGas: formatUnits(feeData.maxPriorityFeePerGas, units)
|
|
1493
|
-
};
|
|
1494
|
-
return _objectSpread2(_objectSpread2({}, feeData), {}, {
|
|
1495
|
-
formatted
|
|
1496
|
-
});
|
|
1497
|
-
});
|
|
1498
|
-
return _fetchFeeData.apply(this, arguments);
|
|
1029
|
+
async function fetchFeeData() {
|
|
1030
|
+
let {
|
|
1031
|
+
formatUnits: units = 'wei'
|
|
1032
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1033
|
+
const feeData = await client.provider.getFeeData();
|
|
1034
|
+
const formatted = {
|
|
1035
|
+
gasPrice: formatUnits(feeData.gasPrice, units),
|
|
1036
|
+
maxFeePerGas: formatUnits(feeData.maxFeePerGas, units),
|
|
1037
|
+
maxPriorityFeePerGas: formatUnits(feeData.maxPriorityFeePerGas, units)
|
|
1038
|
+
};
|
|
1039
|
+
return { ...feeData,
|
|
1040
|
+
formatted
|
|
1041
|
+
};
|
|
1499
1042
|
}
|
|
1500
1043
|
|
|
1501
1044
|
function watchFeeData(args, callback) {
|
|
1502
|
-
|
|
1503
|
-
var _ref = _asyncToGenerator(function* () {
|
|
1504
|
-
return callback(yield fetchFeeData(args));
|
|
1505
|
-
});
|
|
1045
|
+
const handleChange = async () => callback(await fetchFeeData(args));
|
|
1506
1046
|
|
|
1507
|
-
|
|
1508
|
-
return _ref.apply(this, arguments);
|
|
1509
|
-
};
|
|
1510
|
-
}();
|
|
1511
|
-
|
|
1512
|
-
var unwatch = args.listenToBlock ? watchBlockNumber({
|
|
1047
|
+
const unwatch = args.listenToBlock ? watchBlockNumber({
|
|
1513
1048
|
listen: true
|
|
1514
1049
|
}, handleChange) : undefined;
|
|
1515
|
-
|
|
1516
|
-
|
|
1050
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
1051
|
+
let {
|
|
1517
1052
|
provider
|
|
1518
|
-
} =
|
|
1053
|
+
} = _ref;
|
|
1519
1054
|
return provider;
|
|
1520
1055
|
}, handleChange);
|
|
1521
1056
|
return () => {
|
|
@@ -1525,99 +1060,70 @@ function watchFeeData(args, callback) {
|
|
|
1525
1060
|
}
|
|
1526
1061
|
|
|
1527
1062
|
function getProvider() {
|
|
1528
|
-
return
|
|
1063
|
+
return getClient().provider;
|
|
1529
1064
|
}
|
|
1530
1065
|
|
|
1531
1066
|
function getWebSocketProvider() {
|
|
1532
|
-
return
|
|
1533
|
-
}
|
|
1534
|
-
|
|
1535
|
-
function fetchToken(_x) {
|
|
1536
|
-
return _fetchToken.apply(this, arguments);
|
|
1067
|
+
return getClient().provider;
|
|
1537
1068
|
}
|
|
1538
1069
|
|
|
1539
|
-
function
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
return token;
|
|
1561
|
-
});
|
|
1562
|
-
return _fetchToken.apply(this, arguments);
|
|
1070
|
+
async function fetchToken(_ref) {
|
|
1071
|
+
let {
|
|
1072
|
+
address,
|
|
1073
|
+
formatUnits: units = 'ether'
|
|
1074
|
+
} = _ref;
|
|
1075
|
+
if (!address) throw new Error('address is required');
|
|
1076
|
+
const {
|
|
1077
|
+
provider
|
|
1078
|
+
} = client;
|
|
1079
|
+
const contract = new Contract(address, erc20ABI, provider);
|
|
1080
|
+
const [symbol, decimals, totalSupply] = await Promise.all([contract.symbol(), contract.decimals(), contract.totalSupply()]);
|
|
1081
|
+
const token = {
|
|
1082
|
+
address,
|
|
1083
|
+
decimals,
|
|
1084
|
+
symbol,
|
|
1085
|
+
totalSupply: {
|
|
1086
|
+
formatted: formatUnits(totalSupply, units),
|
|
1087
|
+
value: totalSupply
|
|
1088
|
+
}
|
|
1089
|
+
};
|
|
1090
|
+
return token;
|
|
1563
1091
|
}
|
|
1564
1092
|
|
|
1565
1093
|
function watchToken(args, callback) {
|
|
1566
|
-
|
|
1567
|
-
var _ref = _asyncToGenerator(function* () {
|
|
1568
|
-
return callback(yield fetchToken(args));
|
|
1569
|
-
});
|
|
1570
|
-
|
|
1571
|
-
return function handleChange() {
|
|
1572
|
-
return _ref.apply(this, arguments);
|
|
1573
|
-
};
|
|
1574
|
-
}();
|
|
1094
|
+
const handleChange = async () => callback(await fetchToken(args));
|
|
1575
1095
|
|
|
1576
|
-
|
|
1577
|
-
|
|
1096
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
1097
|
+
let {
|
|
1578
1098
|
provider
|
|
1579
|
-
} =
|
|
1099
|
+
} = _ref;
|
|
1580
1100
|
return provider;
|
|
1581
1101
|
}, handleChange);
|
|
1582
1102
|
return unsubscribe;
|
|
1583
1103
|
}
|
|
1584
1104
|
|
|
1585
|
-
function sendTransaction(
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
} catch (error_) {
|
|
1597
|
-
var error = error_;
|
|
1598
|
-
if (error_.code === 4001) error = new UserRejectedRequestError();
|
|
1599
|
-
throw error;
|
|
1600
|
-
}
|
|
1601
|
-
});
|
|
1602
|
-
return _sendTransaction.apply(this, arguments);
|
|
1603
|
-
}
|
|
1604
|
-
|
|
1605
|
-
function waitForTransaction(_x) {
|
|
1606
|
-
return _waitForTransaction.apply(this, arguments);
|
|
1105
|
+
async function sendTransaction(args) {
|
|
1106
|
+
try {
|
|
1107
|
+
const signer = await fetchSigner();
|
|
1108
|
+
if (!signer) throw new ConnectorNotFoundError();
|
|
1109
|
+
const transaction = await signer.sendTransaction(args.request);
|
|
1110
|
+
return transaction;
|
|
1111
|
+
} catch (error_) {
|
|
1112
|
+
let error = error_;
|
|
1113
|
+
if (error_.code === 4001) error = new UserRejectedRequestError();
|
|
1114
|
+
throw error;
|
|
1115
|
+
}
|
|
1607
1116
|
}
|
|
1608
1117
|
|
|
1609
|
-
function
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
var promise; // eslint-disable-next-line testing-library/await-async-utils
|
|
1118
|
+
async function waitForTransaction(args) {
|
|
1119
|
+
const {
|
|
1120
|
+
provider
|
|
1121
|
+
} = client;
|
|
1122
|
+
let promise; // eslint-disable-next-line testing-library/await-async-utils
|
|
1615
1123
|
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
});
|
|
1620
|
-
return _waitForTransaction.apply(this, arguments);
|
|
1124
|
+
if (args.wait) promise = args.wait(args.confirmations);else if (args.hash) promise = provider.waitForTransaction(args.hash, args.confirmations, args.timeout);else throw new Error('hash or wait is required');
|
|
1125
|
+
const receipt = await promise;
|
|
1126
|
+
return receipt;
|
|
1621
1127
|
}
|
|
1622
1128
|
|
|
1623
|
-
export { Client, InjectedConnector, Client as WagmiClient, connect, createClient, createStorage, createClient as createWagmiClient, createStorage as createWagmiStorage, disconnect,
|
|
1129
|
+
export { Client, InjectedConnector, Client as WagmiClient, connect, createClient, createStorage, createClient as createWagmiClient, createStorage as createWagmiStorage, disconnect, erc20ABI, erc721ABI, fetchBalance, fetchBlockNumber, fetchEnsAddress, fetchEnsAvatar, fetchEnsName, fetchEnsResolver, fetchFeeData, fetchSigner, fetchToken, getAccount, getContract, getNetwork, getProvider, getWebSocketProvider, noopStorage, readContract, sendTransaction, signMessage, signTypedData, switchNetwork, units, waitForTransaction, watchAccount, watchBalance, watchBlockNumber, watchContractEvent, watchEnsAddress, watchEnsAvatar, watchEnsName, watchEnsResolver, watchFeeData, watchNetwork, watchReadContract, watchSigner, watchToken, writeContract };
|