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