@wagmi/core 0.2.0-next.7 → 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 -154
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +135 -154
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +136 -155
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +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 -126
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +91 -126
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +91 -126
- package/dist/base-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/connectors/base.d.ts +3 -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 -1024
- package/dist/wagmi-core.cjs.prod.js +518 -1024
- package/dist/wagmi-core.esm.js +516 -1025
- 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-0dc9fedc.cjs.dev.js');
|
|
6
|
+
var base = require('./base-b3073ce2.cjs.dev.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,226 +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
|
-
_this.emit('message', {
|
|
362
|
-
type: 'connecting'
|
|
363
|
-
});
|
|
364
|
-
|
|
365
|
-
var account = yield _this.getAccount();
|
|
366
|
-
var id = yield _this.getChainId();
|
|
88
|
+
async connect() {
|
|
89
|
+
try {
|
|
90
|
+
var _this$options2, _client$storage2;
|
|
367
91
|
|
|
368
|
-
|
|
92
|
+
const provider = await this.getProvider();
|
|
93
|
+
if (!provider) throw new base.ConnectorNotFoundError();
|
|
369
94
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
id,
|
|
375
|
-
unsupported
|
|
376
|
-
},
|
|
377
|
-
provider
|
|
378
|
-
};
|
|
379
|
-
} catch (error) {
|
|
380
|
-
if (error.code === 4001) throw new base.UserRejectedRequestError();
|
|
381
|
-
throw error;
|
|
95
|
+
if (provider.on) {
|
|
96
|
+
provider.on('accountsChanged', this.onAccountsChanged);
|
|
97
|
+
provider.on('chainChanged', this.onChainChanged);
|
|
98
|
+
provider.on('disconnect', this.onDisconnect);
|
|
382
99
|
}
|
|
383
|
-
})();
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
disconnect() {
|
|
387
|
-
var _this2 = this;
|
|
388
100
|
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
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
|
+
}
|
|
399
120
|
}
|
|
400
121
|
|
|
401
|
-
|
|
402
|
-
var
|
|
403
|
-
|
|
404
|
-
return base._asyncToGenerator(function* () {
|
|
405
|
-
var provider = yield _this3.getProvider();
|
|
406
|
-
if (!provider) throw new base.ConnectorNotFoundError();
|
|
407
|
-
var accounts = yield provider.request({
|
|
408
|
-
method: 'eth_requestAccounts'
|
|
409
|
-
}); // return checksum address
|
|
122
|
+
async disconnect() {
|
|
123
|
+
var _this$options3, _client$storage3;
|
|
410
124
|
|
|
411
|
-
|
|
412
|
-
|
|
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);
|
|
413
131
|
}
|
|
414
132
|
|
|
415
|
-
|
|
416
|
-
|
|
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
|
|
417
139
|
|
|
418
|
-
return
|
|
419
|
-
var provider = yield _this4.getProvider();
|
|
420
|
-
if (!provider) throw new base.ConnectorNotFoundError();
|
|
421
|
-
return yield provider.request({
|
|
422
|
-
method: 'eth_chainId'
|
|
423
|
-
}).then(base.normalizeChainId);
|
|
424
|
-
})();
|
|
140
|
+
return utils.getAddress(accounts[0]);
|
|
425
141
|
}
|
|
426
142
|
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
return
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
})();
|
|
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);
|
|
434
149
|
}
|
|
435
150
|
|
|
436
|
-
|
|
437
|
-
|
|
151
|
+
async getProvider() {
|
|
152
|
+
if (typeof window !== 'undefined' && !!window.ethereum) base._classPrivateFieldSet(this, _provider, window.ethereum);
|
|
153
|
+
return base._classPrivateFieldGet(this, _provider);
|
|
154
|
+
}
|
|
438
155
|
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
})();
|
|
156
|
+
async getSigner() {
|
|
157
|
+
const [provider, account] = await Promise.all([this.getProvider(), this.getAccount()]);
|
|
158
|
+
return new ethers.providers.Web3Provider(provider).getSigner(account);
|
|
443
159
|
}
|
|
444
160
|
|
|
445
|
-
isAuthorized() {
|
|
446
|
-
|
|
161
|
+
async isAuthorized() {
|
|
162
|
+
try {
|
|
163
|
+
var _this$options4, _client$storage4;
|
|
447
164
|
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
return !!account;
|
|
460
|
-
} catch (_unused) {
|
|
461
|
-
return false;
|
|
462
|
-
}
|
|
463
|
-
})();
|
|
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
|
+
}
|
|
464
176
|
}
|
|
465
177
|
|
|
466
|
-
switchChain(chainId) {
|
|
467
|
-
|
|
178
|
+
async switchChain(chainId) {
|
|
179
|
+
const provider = await this.getProvider();
|
|
180
|
+
if (!provider) throw new base.ConnectorNotFoundError();
|
|
181
|
+
const id = utils.hexValue(chainId);
|
|
468
182
|
|
|
469
|
-
|
|
470
|
-
var
|
|
471
|
-
if (!provider) throw new base.ConnectorNotFoundError();
|
|
472
|
-
var id = utils.hexValue(chainId);
|
|
183
|
+
try {
|
|
184
|
+
var _chains$find;
|
|
473
185
|
|
|
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
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
throw new base.AddChainError();
|
|
511
|
-
}
|
|
512
|
-
} else if (error.code === 4001) throw new base.UserRejectedRequestError();else throw new base.SwitchChainError();
|
|
513
|
-
}
|
|
514
|
-
})();
|
|
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
|
+
}
|
|
515
222
|
}
|
|
516
223
|
|
|
517
|
-
watchAsset(_ref) {
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
decimals,
|
|
536
|
-
image,
|
|
537
|
-
symbol
|
|
538
|
-
}
|
|
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
|
|
539
242
|
}
|
|
540
|
-
}
|
|
541
|
-
})
|
|
243
|
+
}
|
|
244
|
+
});
|
|
542
245
|
}
|
|
543
246
|
|
|
544
247
|
}
|
|
545
248
|
|
|
546
|
-
|
|
249
|
+
const noopStorage = {
|
|
547
250
|
getItem: _key => '',
|
|
548
251
|
setItem: (_key, _value) => null,
|
|
549
252
|
removeItem: _key => null
|
|
550
253
|
};
|
|
551
254
|
function createStorage(_ref) {
|
|
552
|
-
|
|
255
|
+
let {
|
|
553
256
|
storage,
|
|
554
257
|
key: prefix = 'wagmi'
|
|
555
258
|
} = _ref;
|
|
556
|
-
return
|
|
557
|
-
getItem: function
|
|
558
|
-
|
|
559
|
-
|
|
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));
|
|
560
263
|
|
|
561
264
|
try {
|
|
562
265
|
return value ? JSON.parse(value) : defaultState;
|
|
@@ -577,13 +280,13 @@ function createStorage(_ref) {
|
|
|
577
280
|
}
|
|
578
281
|
},
|
|
579
282
|
removeItem: key => storage.removeItem("".concat(prefix, ".").concat(key))
|
|
580
|
-
}
|
|
283
|
+
};
|
|
581
284
|
}
|
|
582
285
|
|
|
583
|
-
|
|
286
|
+
const defaultConfig = {
|
|
584
287
|
connectors: [new InjectedConnector()],
|
|
585
288
|
provider: _ref => {
|
|
586
|
-
|
|
289
|
+
let {
|
|
587
290
|
chainId
|
|
588
291
|
} = _ref;
|
|
589
292
|
|
|
@@ -604,7 +307,7 @@ var _addEffects = /*#__PURE__*/new WeakSet();
|
|
|
604
307
|
|
|
605
308
|
class Client {
|
|
606
309
|
constructor() {
|
|
607
|
-
|
|
310
|
+
let {
|
|
608
311
|
autoConnect,
|
|
609
312
|
connectors: _connectors = defaultConfig.connectors,
|
|
610
313
|
provider: _provider = defaultConfig.provider,
|
|
@@ -631,16 +334,16 @@ class Client {
|
|
|
631
334
|
provider: _provider,
|
|
632
335
|
webSocketProvider: _webSocketProvider
|
|
633
336
|
};
|
|
634
|
-
|
|
337
|
+
let status = 'disconnected';
|
|
635
338
|
|
|
636
|
-
|
|
339
|
+
let _chainId;
|
|
637
340
|
|
|
638
341
|
if (autoConnect) {
|
|
639
342
|
try {
|
|
640
343
|
var _JSON$parse, _JSON$parse$state, _data$chain;
|
|
641
344
|
|
|
642
|
-
|
|
643
|
-
|
|
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
|
|
644
347
|
|
|
645
348
|
status = data !== null && data !== void 0 && data.account ? 'reconnecting' : 'connecting';
|
|
646
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
|
|
@@ -664,14 +367,14 @@ class Client {
|
|
|
664
367
|
partialize: state => {
|
|
665
368
|
var _state$data, _state$data2;
|
|
666
369
|
|
|
667
|
-
return
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
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
|
+
}),
|
|
673
376
|
chains: state === null || state === void 0 ? void 0 : state.chains
|
|
674
|
-
}
|
|
377
|
+
};
|
|
675
378
|
}
|
|
676
379
|
})));
|
|
677
380
|
this.storage = storage;
|
|
@@ -718,12 +421,12 @@ class Client {
|
|
|
718
421
|
}
|
|
719
422
|
|
|
720
423
|
setState(updater) {
|
|
721
|
-
|
|
424
|
+
const newState = typeof updater === 'function' ? updater(this.store.getState()) : updater;
|
|
722
425
|
this.store.setState(newState, true);
|
|
723
426
|
}
|
|
724
427
|
|
|
725
428
|
clearState() {
|
|
726
|
-
this.setState(x =>
|
|
429
|
+
this.setState(x => ({ ...x,
|
|
727
430
|
connector: undefined,
|
|
728
431
|
data: undefined,
|
|
729
432
|
error: undefined,
|
|
@@ -731,83 +434,72 @@ class Client {
|
|
|
731
434
|
}));
|
|
732
435
|
}
|
|
733
436
|
|
|
734
|
-
destroy() {
|
|
735
|
-
var _this
|
|
437
|
+
async destroy() {
|
|
438
|
+
var _this$connector$disco, _this$connector;
|
|
736
439
|
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
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);
|
|
741
|
-
|
|
742
|
-
_this.clearState();
|
|
743
|
-
|
|
744
|
-
_this.store.destroy();
|
|
745
|
-
})();
|
|
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();
|
|
746
443
|
}
|
|
747
444
|
|
|
748
|
-
autoConnect() {
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
}));
|
|
769
|
-
|
|
770
|
-
connected = true;
|
|
771
|
-
return "break";
|
|
772
|
-
};
|
|
773
|
-
|
|
774
|
-
for (var connector of sorted) {
|
|
775
|
-
var _ret = yield* _loop(connector);
|
|
776
|
-
|
|
777
|
-
if (_ret === "continue") continue;
|
|
778
|
-
if (_ret === "break") break;
|
|
779
|
-
} // 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
|
|
780
465
|
|
|
781
466
|
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
})();
|
|
467
|
+
if (!connected) this.setState(x => ({ ...x,
|
|
468
|
+
status: 'disconnected'
|
|
469
|
+
}));
|
|
470
|
+
return this.data;
|
|
787
471
|
}
|
|
788
472
|
|
|
789
473
|
setLastUsedConnector() {
|
|
790
474
|
var _this$storage;
|
|
791
475
|
|
|
792
|
-
|
|
476
|
+
let lastUsedConnector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
793
477
|
(_this$storage = this.storage) === null || _this$storage === void 0 ? void 0 : _this$storage.setItem('wallet', lastUsedConnector);
|
|
794
478
|
}
|
|
795
479
|
|
|
796
480
|
}
|
|
797
481
|
|
|
798
482
|
function _addEffects2() {
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
483
|
+
const onChange = data => {
|
|
484
|
+
this.setState(x => ({ ...x,
|
|
485
|
+
data: { ...x.data,
|
|
486
|
+
...data
|
|
487
|
+
}
|
|
488
|
+
}));
|
|
489
|
+
};
|
|
802
490
|
|
|
803
|
-
|
|
491
|
+
const onDisconnect = () => {
|
|
492
|
+
this.clearState();
|
|
493
|
+
};
|
|
804
494
|
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
495
|
+
const onError = error => {
|
|
496
|
+
this.setState(x => ({ ...x,
|
|
497
|
+
error
|
|
498
|
+
}));
|
|
499
|
+
};
|
|
808
500
|
|
|
809
501
|
this.store.subscribe(_ref2 => {
|
|
810
|
-
|
|
502
|
+
let {
|
|
811
503
|
connector
|
|
812
504
|
} = _ref2;
|
|
813
505
|
return connector;
|
|
@@ -822,23 +514,23 @@ function _addEffects2() {
|
|
|
822
514
|
(_connector$on2 = connector.on) === null || _connector$on2 === void 0 ? void 0 : _connector$on2.call(connector, 'disconnect', onDisconnect);
|
|
823
515
|
(_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
|
|
824
516
|
});
|
|
825
|
-
|
|
517
|
+
const {
|
|
826
518
|
connectors,
|
|
827
519
|
provider,
|
|
828
520
|
webSocketProvider
|
|
829
521
|
} = this.config;
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
522
|
+
const subscribeConnectors = typeof connectors === 'function';
|
|
523
|
+
const subscribeProvider = typeof provider === 'function';
|
|
524
|
+
const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
|
|
833
525
|
if (subscribeConnectors || subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref3 => {
|
|
834
526
|
var _data$chain2;
|
|
835
527
|
|
|
836
|
-
|
|
528
|
+
let {
|
|
837
529
|
data
|
|
838
530
|
} = _ref3;
|
|
839
531
|
return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
|
|
840
532
|
}, chainId => {
|
|
841
|
-
this.setState(x =>
|
|
533
|
+
this.setState(x => ({ ...x,
|
|
842
534
|
connectors: subscribeConnectors ? connectors({
|
|
843
535
|
chainId
|
|
844
536
|
}) : x.connectors,
|
|
@@ -852,106 +544,80 @@ function _addEffects2() {
|
|
|
852
544
|
});
|
|
853
545
|
}
|
|
854
546
|
|
|
855
|
-
|
|
547
|
+
let client;
|
|
856
548
|
function createClient(config) {
|
|
857
|
-
|
|
549
|
+
const client_ = new Client(config);
|
|
858
550
|
client = client_;
|
|
859
551
|
return client_;
|
|
860
552
|
}
|
|
861
553
|
|
|
862
|
-
function connect(
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
data,
|
|
880
|
-
connector
|
|
881
|
-
};
|
|
882
|
-
});
|
|
883
|
-
return _connect.apply(this, arguments);
|
|
884
|
-
}
|
|
885
|
-
|
|
886
|
-
function disconnect() {
|
|
887
|
-
return _disconnect.apply(this, arguments);
|
|
888
|
-
}
|
|
889
|
-
|
|
890
|
-
function _disconnect() {
|
|
891
|
-
_disconnect = base._asyncToGenerator(function* () {
|
|
892
|
-
if (client.connector) yield client.connector.disconnect();
|
|
893
|
-
client.storage.removeItem('connected');
|
|
894
|
-
client.clearState();
|
|
895
|
-
});
|
|
896
|
-
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
|
+
};
|
|
897
571
|
}
|
|
898
572
|
|
|
899
|
-
function
|
|
900
|
-
|
|
573
|
+
async function disconnect() {
|
|
574
|
+
if (client.connector) await client.connector.disconnect();
|
|
575
|
+
client.clearState();
|
|
576
|
+
client.storage.removeItem('connected');
|
|
901
577
|
}
|
|
902
578
|
|
|
903
|
-
function
|
|
904
|
-
|
|
905
|
-
var _client$connector$cha, _client$connector, _chain$nativeCurrency, _chain$nativeCurrency2, _chain$nativeCurrency3, _chain$nativeCurrency4;
|
|
579
|
+
async function fetchBalance(_ref) {
|
|
580
|
+
var _client$connector$cha, _client$connector, _chain$nativeCurrency, _chain$nativeCurrency2, _chain$nativeCurrency3, _chain$nativeCurrency4;
|
|
906
581
|
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
if (token) {
|
|
914
|
-
var contract = new ethers$1.Contract(token, erc20ABI, client.provider);
|
|
915
|
-
var [_value, decimals, symbol] = yield Promise.all([contract.balanceOf(addressOrName), contract.decimals(), contract.symbol()]);
|
|
916
|
-
return {
|
|
917
|
-
decimals,
|
|
918
|
-
formatted: utils.formatUnits(_value, unit),
|
|
919
|
-
symbol,
|
|
920
|
-
unit,
|
|
921
|
-
value: _value
|
|
922
|
-
};
|
|
923
|
-
}
|
|
582
|
+
let {
|
|
583
|
+
addressOrName,
|
|
584
|
+
formatUnits: unit = 'ether',
|
|
585
|
+
token
|
|
586
|
+
} = _ref;
|
|
924
587
|
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
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()]);
|
|
928
591
|
return {
|
|
929
|
-
decimals
|
|
592
|
+
decimals,
|
|
930
593
|
formatted: utils.formatUnits(value, unit),
|
|
931
|
-
symbol
|
|
594
|
+
symbol,
|
|
932
595
|
unit,
|
|
933
596
|
value
|
|
934
597
|
};
|
|
935
|
-
}
|
|
936
|
-
return _fetchBalance.apply(this, arguments);
|
|
937
|
-
}
|
|
598
|
+
}
|
|
938
599
|
|
|
939
|
-
|
|
940
|
-
|
|
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
|
+
};
|
|
941
610
|
}
|
|
942
611
|
|
|
943
|
-
function
|
|
944
|
-
|
|
945
|
-
var _client$connector, _client$connector$get;
|
|
612
|
+
async function fetchSigner() {
|
|
613
|
+
var _client$connector, _client$connector$get;
|
|
946
614
|
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
});
|
|
950
|
-
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;
|
|
951
617
|
}
|
|
952
618
|
|
|
953
619
|
function getAccount() {
|
|
954
|
-
|
|
620
|
+
const {
|
|
955
621
|
data,
|
|
956
622
|
connector
|
|
957
623
|
} = client;
|
|
@@ -964,86 +630,70 @@ function getAccount() {
|
|
|
964
630
|
function getNetwork() {
|
|
965
631
|
var _data$chain, _data$chain2, _find;
|
|
966
632
|
|
|
967
|
-
|
|
633
|
+
const {
|
|
968
634
|
chains,
|
|
969
635
|
data
|
|
970
636
|
} = client;
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
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 : {
|
|
975
641
|
id: chainId,
|
|
976
642
|
name: "Chain ".concat(chainId),
|
|
977
|
-
rpcUrls:
|
|
643
|
+
rpcUrls: {
|
|
644
|
+
default: []
|
|
645
|
+
}
|
|
978
646
|
};
|
|
979
647
|
return {
|
|
980
|
-
chain: chainId ?
|
|
648
|
+
chain: chainId ? { ...activeChain,
|
|
981
649
|
id: chainId,
|
|
982
650
|
unsupported
|
|
983
|
-
}
|
|
651
|
+
} : undefined,
|
|
984
652
|
chains: activeChains
|
|
985
653
|
};
|
|
986
654
|
}
|
|
987
655
|
|
|
988
|
-
function signMessage(
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
} catch (error_) {
|
|
999
|
-
var error = error_;
|
|
1000
|
-
if (error_.code === 4001) error = new base.UserRejectedRequestError();
|
|
1001
|
-
throw error;
|
|
1002
|
-
}
|
|
1003
|
-
});
|
|
1004
|
-
return _signMessage.apply(this, arguments);
|
|
1005
|
-
}
|
|
1006
|
-
|
|
1007
|
-
function signTypedData(_x) {
|
|
1008
|
-
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
|
+
}
|
|
1009
666
|
}
|
|
1010
667
|
|
|
1011
|
-
function
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
if (!signer) throw new base.ConnectorNotFoundError(); // Method name may be changed in the future, see https://docs.ethers.io/v5/api/signer/#Signer-signTypedData
|
|
1016
|
-
|
|
1017
|
-
return yield signer._signTypedData(args.domain, args.types, args.value);
|
|
1018
|
-
} catch (error_) {
|
|
1019
|
-
var error = error_;
|
|
1020
|
-
if (error_.code === 4001) error = new base.UserRejectedRequestError();
|
|
1021
|
-
throw error;
|
|
1022
|
-
}
|
|
1023
|
-
});
|
|
1024
|
-
return _signTypedData.apply(this, arguments);
|
|
1025
|
-
}
|
|
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
|
|
1026
672
|
|
|
1027
|
-
|
|
1028
|
-
|
|
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
|
+
}
|
|
1029
679
|
}
|
|
1030
680
|
|
|
1031
|
-
function
|
|
1032
|
-
|
|
1033
|
-
var _client$connector;
|
|
681
|
+
async function switchNetwork(_ref) {
|
|
682
|
+
var _client$connector;
|
|
1034
683
|
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
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;
|
|
1040
690
|
}
|
|
1041
691
|
|
|
1042
692
|
function watchAccount(callback) {
|
|
1043
|
-
|
|
693
|
+
const handleChange = () => callback(getAccount());
|
|
1044
694
|
|
|
1045
|
-
|
|
1046
|
-
|
|
695
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
696
|
+
let {
|
|
1047
697
|
data,
|
|
1048
698
|
connector
|
|
1049
699
|
} = _ref;
|
|
@@ -1058,22 +708,14 @@ function watchAccount(callback) {
|
|
|
1058
708
|
}
|
|
1059
709
|
|
|
1060
710
|
function watchBalance(args, callback) {
|
|
1061
|
-
|
|
1062
|
-
var _ref = base._asyncToGenerator(function* () {
|
|
1063
|
-
return callback(yield fetchBalance(args));
|
|
1064
|
-
});
|
|
711
|
+
const handleChange = async () => callback(await fetchBalance(args));
|
|
1065
712
|
|
|
1066
|
-
|
|
1067
|
-
return _ref.apply(this, arguments);
|
|
1068
|
-
};
|
|
1069
|
-
}();
|
|
1070
|
-
|
|
1071
|
-
var unsubscribe = client.subscribe(_ref2 => {
|
|
713
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
1072
714
|
var _data$chain;
|
|
1073
715
|
|
|
1074
|
-
|
|
716
|
+
let {
|
|
1075
717
|
data
|
|
1076
|
-
} =
|
|
718
|
+
} = _ref;
|
|
1077
719
|
return {
|
|
1078
720
|
account: data === null || data === void 0 ? void 0 : data.account,
|
|
1079
721
|
chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id
|
|
@@ -1085,12 +727,12 @@ function watchBalance(args, callback) {
|
|
|
1085
727
|
}
|
|
1086
728
|
|
|
1087
729
|
function watchNetwork(callback) {
|
|
1088
|
-
|
|
730
|
+
const handleChange = () => callback(getNetwork());
|
|
1089
731
|
|
|
1090
|
-
|
|
732
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
1091
733
|
var _data$chain;
|
|
1092
734
|
|
|
1093
|
-
|
|
735
|
+
let {
|
|
1094
736
|
data,
|
|
1095
737
|
chains
|
|
1096
738
|
} = _ref;
|
|
@@ -1105,23 +747,15 @@ function watchNetwork(callback) {
|
|
|
1105
747
|
}
|
|
1106
748
|
|
|
1107
749
|
function watchSigner(callback) {
|
|
1108
|
-
|
|
1109
|
-
var _ref = base._asyncToGenerator(function* () {
|
|
1110
|
-
return callback(yield fetchSigner());
|
|
1111
|
-
});
|
|
750
|
+
const handleChange = async () => callback(await fetchSigner());
|
|
1112
751
|
|
|
1113
|
-
|
|
1114
|
-
return _ref.apply(this, arguments);
|
|
1115
|
-
};
|
|
1116
|
-
}();
|
|
1117
|
-
|
|
1118
|
-
var unsubscribe = client.subscribe(_ref2 => {
|
|
752
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
1119
753
|
var _data$chain;
|
|
1120
754
|
|
|
1121
|
-
|
|
755
|
+
let {
|
|
1122
756
|
data,
|
|
1123
757
|
connector
|
|
1124
|
-
} =
|
|
758
|
+
} = _ref;
|
|
1125
759
|
return {
|
|
1126
760
|
account: data === null || data === void 0 ? void 0 : data.account,
|
|
1127
761
|
chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id,
|
|
@@ -1134,7 +768,7 @@ function watchSigner(callback) {
|
|
|
1134
768
|
}
|
|
1135
769
|
|
|
1136
770
|
function getContract(_ref) {
|
|
1137
|
-
|
|
771
|
+
let {
|
|
1138
772
|
addressOrName,
|
|
1139
773
|
contractInterface,
|
|
1140
774
|
signerOrProvider
|
|
@@ -1142,27 +776,21 @@ function getContract(_ref) {
|
|
|
1142
776
|
return new ethers$1.Contract(addressOrName, contractInterface, signerOrProvider);
|
|
1143
777
|
}
|
|
1144
778
|
|
|
1145
|
-
function readContract(
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
provider
|
|
1157
|
-
} = client;
|
|
1158
|
-
var contract = getContract(_objectSpread2({
|
|
1159
|
-
signerOrProvider: provider
|
|
1160
|
-
}, contractConfig));
|
|
1161
|
-
var params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
|
|
1162
|
-
var response = yield contract[functionName](...params);
|
|
1163
|
-
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
|
|
1164
790
|
});
|
|
1165
|
-
|
|
791
|
+
const params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
|
|
792
|
+
const response = await contract[functionName](...params);
|
|
793
|
+
return response;
|
|
1166
794
|
}
|
|
1167
795
|
|
|
1168
796
|
function watchContractEvent(
|
|
@@ -1170,36 +798,31 @@ function watchContractEvent(
|
|
|
1170
798
|
contractArgs,
|
|
1171
799
|
/** Event name to listen to */
|
|
1172
800
|
eventName, callback) {
|
|
1173
|
-
|
|
801
|
+
let {
|
|
1174
802
|
once
|
|
1175
803
|
} = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
1176
|
-
|
|
804
|
+
let contract;
|
|
1177
805
|
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
var _contract;
|
|
806
|
+
const watchEvent = async () => {
|
|
807
|
+
if (contract) {
|
|
808
|
+
var _contract;
|
|
1182
809
|
|
|
1183
|
-
|
|
1184
|
-
|
|
810
|
+
(_contract = contract) === null || _contract === void 0 ? void 0 : _contract.off(eventName, callback);
|
|
811
|
+
}
|
|
1185
812
|
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
if (once) contract.once(eventName, callback);else contract.on(eventName, callback);
|
|
813
|
+
contract = getContract({
|
|
814
|
+
signerOrProvider: client.webSocketProvider || client.provider,
|
|
815
|
+
...contractArgs
|
|
1190
816
|
});
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
return _ref.apply(this, arguments);
|
|
1194
|
-
};
|
|
1195
|
-
}();
|
|
817
|
+
if (once) contract.once(eventName, callback);else contract.on(eventName, callback);
|
|
818
|
+
};
|
|
1196
819
|
|
|
1197
820
|
watchEvent();
|
|
1198
|
-
|
|
1199
|
-
|
|
821
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
822
|
+
let {
|
|
1200
823
|
provider,
|
|
1201
824
|
webSocketProvider
|
|
1202
|
-
} =
|
|
825
|
+
} = _ref;
|
|
1203
826
|
return {
|
|
1204
827
|
provider,
|
|
1205
828
|
webSocketProvider
|
|
@@ -1215,23 +838,16 @@ eventName, callback) {
|
|
|
1215
838
|
};
|
|
1216
839
|
}
|
|
1217
840
|
|
|
1218
|
-
function fetchBlockNumber() {
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
function _fetchBlockNumber() {
|
|
1223
|
-
_fetchBlockNumber = base._asyncToGenerator(function* () {
|
|
1224
|
-
var blockNumber = yield client.provider.getBlockNumber();
|
|
1225
|
-
return blockNumber;
|
|
1226
|
-
});
|
|
1227
|
-
return _fetchBlockNumber.apply(this, arguments);
|
|
841
|
+
async function fetchBlockNumber() {
|
|
842
|
+
const blockNumber = await client.provider.getBlockNumber();
|
|
843
|
+
return blockNumber;
|
|
1228
844
|
}
|
|
1229
845
|
|
|
1230
846
|
function watchBlockNumber(args, callback) {
|
|
1231
|
-
|
|
847
|
+
let prevProvider;
|
|
1232
848
|
|
|
1233
|
-
|
|
1234
|
-
|
|
849
|
+
const createListener = provider => {
|
|
850
|
+
const listener = blockNumber => {
|
|
1235
851
|
callback(blockNumber);
|
|
1236
852
|
};
|
|
1237
853
|
|
|
@@ -1245,14 +861,14 @@ function watchBlockNumber(args, callback) {
|
|
|
1245
861
|
prevProvider = provider;
|
|
1246
862
|
};
|
|
1247
863
|
|
|
1248
|
-
|
|
864
|
+
const {
|
|
1249
865
|
provider,
|
|
1250
866
|
webSocketProvider
|
|
1251
867
|
} = client;
|
|
1252
|
-
|
|
868
|
+
const provider_ = webSocketProvider !== null && webSocketProvider !== void 0 ? webSocketProvider : provider;
|
|
1253
869
|
if (args.listen) createListener(provider_);
|
|
1254
|
-
|
|
1255
|
-
|
|
870
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
871
|
+
let {
|
|
1256
872
|
provider,
|
|
1257
873
|
webSocketProvider
|
|
1258
874
|
} = _ref;
|
|
@@ -1260,25 +876,19 @@ function watchBlockNumber(args, callback) {
|
|
|
1260
876
|
provider,
|
|
1261
877
|
webSocketProvider
|
|
1262
878
|
};
|
|
1263
|
-
},
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
var provider_ = webSocketProvider !== null && webSocketProvider !== void 0 ? webSocketProvider : provider;
|
|
1270
|
-
|
|
1271
|
-
if (args.listen && provider_) {
|
|
1272
|
-
createListener(provider_);
|
|
1273
|
-
}
|
|
879
|
+
}, async _ref2 => {
|
|
880
|
+
let {
|
|
881
|
+
provider,
|
|
882
|
+
webSocketProvider
|
|
883
|
+
} = _ref2;
|
|
884
|
+
const provider_ = webSocketProvider !== null && webSocketProvider !== void 0 ? webSocketProvider : provider;
|
|
1274
885
|
|
|
1275
|
-
|
|
1276
|
-
|
|
886
|
+
if (args.listen && provider_) {
|
|
887
|
+
createListener(provider_);
|
|
888
|
+
}
|
|
1277
889
|
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
};
|
|
1281
|
-
}(), {
|
|
890
|
+
callback(await fetchBlockNumber());
|
|
891
|
+
}, {
|
|
1282
892
|
equalityFn: (selected, previous) => selected.provider === previous.provider && selected.webSocketProvider === previous.webSocketProvider
|
|
1283
893
|
});
|
|
1284
894
|
return unsubscribe;
|
|
@@ -1287,26 +897,18 @@ function watchBlockNumber(args, callback) {
|
|
|
1287
897
|
function watchReadContract(contractConfig, functionName) {
|
|
1288
898
|
var _config$listenToBlock;
|
|
1289
899
|
|
|
1290
|
-
|
|
1291
|
-
|
|
900
|
+
let config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
901
|
+
let callback = arguments.length > 3 ? arguments[3] : undefined;
|
|
1292
902
|
|
|
1293
|
-
|
|
1294
|
-
var _ref = base._asyncToGenerator(function* () {
|
|
1295
|
-
return callback(yield readContract(contractConfig, functionName, config));
|
|
1296
|
-
});
|
|
1297
|
-
|
|
1298
|
-
return function handleChange() {
|
|
1299
|
-
return _ref.apply(this, arguments);
|
|
1300
|
-
};
|
|
1301
|
-
}();
|
|
903
|
+
const handleChange = async () => callback(await readContract(contractConfig, functionName, config));
|
|
1302
904
|
|
|
1303
|
-
|
|
905
|
+
const unwatch = ((_config$listenToBlock = config.listenToBlock) !== null && _config$listenToBlock !== void 0 ? _config$listenToBlock : true) ? watchBlockNumber({
|
|
1304
906
|
listen: true
|
|
1305
907
|
}, handleChange) : undefined;
|
|
1306
|
-
|
|
1307
|
-
|
|
908
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
909
|
+
let {
|
|
1308
910
|
provider
|
|
1309
|
-
} =
|
|
911
|
+
} = _ref;
|
|
1310
912
|
return provider;
|
|
1311
913
|
}, handleChange);
|
|
1312
914
|
return () => {
|
|
@@ -1315,224 +917,142 @@ function watchReadContract(contractConfig, functionName) {
|
|
|
1315
917
|
};
|
|
1316
918
|
}
|
|
1317
919
|
|
|
1318
|
-
function writeContract(
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
} catch (error_) {
|
|
1341
|
-
var error = error_;
|
|
1342
|
-
if (error_.code === 4001) error = new base.UserRejectedRequestError();
|
|
1343
|
-
throw error;
|
|
1344
|
-
}
|
|
1345
|
-
});
|
|
1346
|
-
return _writeContract.apply(this, arguments);
|
|
1347
|
-
}
|
|
1348
|
-
|
|
1349
|
-
function fetchEnsAddress(_x) {
|
|
1350
|
-
return _fetchEnsAddress.apply(this, arguments);
|
|
1351
|
-
}
|
|
1352
|
-
|
|
1353
|
-
function _fetchEnsAddress() {
|
|
1354
|
-
_fetchEnsAddress = base._asyncToGenerator(function* (_ref) {
|
|
1355
|
-
var {
|
|
1356
|
-
name
|
|
1357
|
-
} = _ref;
|
|
1358
|
-
var address = yield client.provider.resolveName(name);
|
|
1359
|
-
|
|
1360
|
-
try {
|
|
1361
|
-
return address ? utils.getAddress(address) : null;
|
|
1362
|
-
} catch (_error) {
|
|
1363
|
-
return null;
|
|
1364
|
-
}
|
|
1365
|
-
});
|
|
1366
|
-
return _fetchEnsAddress.apply(this, arguments);
|
|
1367
|
-
}
|
|
1368
|
-
|
|
1369
|
-
function fetchEnsAvatar(_x) {
|
|
1370
|
-
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
|
+
}
|
|
1371
942
|
}
|
|
1372
943
|
|
|
1373
|
-
function
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
// TODO: Update with more advanced logic
|
|
1379
|
-
// https://github.com/ensdomains/ens-avatar
|
|
1380
|
-
var avatar = yield client.provider.getAvatar(addressOrName);
|
|
1381
|
-
return avatar;
|
|
1382
|
-
});
|
|
1383
|
-
return _fetchEnsAvatar.apply(this, arguments);
|
|
1384
|
-
}
|
|
944
|
+
async function fetchEnsAddress(_ref) {
|
|
945
|
+
let {
|
|
946
|
+
name
|
|
947
|
+
} = _ref;
|
|
948
|
+
const address = await client.provider.resolveName(name);
|
|
1385
949
|
|
|
1386
|
-
|
|
1387
|
-
|
|
950
|
+
try {
|
|
951
|
+
return address ? utils.getAddress(address) : null;
|
|
952
|
+
} catch (_error) {
|
|
953
|
+
return null;
|
|
954
|
+
}
|
|
1388
955
|
}
|
|
1389
956
|
|
|
1390
|
-
function
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
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;
|
|
1399
965
|
}
|
|
1400
966
|
|
|
1401
|
-
function
|
|
1402
|
-
|
|
967
|
+
async function fetchEnsName(_ref) {
|
|
968
|
+
let {
|
|
969
|
+
address
|
|
970
|
+
} = _ref;
|
|
971
|
+
const ensName = await client.provider.lookupAddress(address);
|
|
972
|
+
return ensName;
|
|
1403
973
|
}
|
|
1404
974
|
|
|
1405
|
-
function
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
return resolver;
|
|
1412
|
-
});
|
|
1413
|
-
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;
|
|
1414
981
|
}
|
|
1415
982
|
|
|
1416
983
|
function watchEnsAddress(args, callback) {
|
|
1417
|
-
|
|
1418
|
-
var _ref = base._asyncToGenerator(function* () {
|
|
1419
|
-
return callback(yield fetchEnsAddress(args));
|
|
1420
|
-
});
|
|
984
|
+
const handleChange = async () => callback(await fetchEnsAddress(args));
|
|
1421
985
|
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
};
|
|
1425
|
-
}();
|
|
1426
|
-
|
|
1427
|
-
var unsubscribe = client.subscribe(_ref2 => {
|
|
1428
|
-
var {
|
|
986
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
987
|
+
let {
|
|
1429
988
|
provider
|
|
1430
|
-
} =
|
|
989
|
+
} = _ref;
|
|
1431
990
|
return provider;
|
|
1432
991
|
}, handleChange);
|
|
1433
992
|
return unsubscribe;
|
|
1434
993
|
}
|
|
1435
994
|
|
|
1436
995
|
function watchEnsAvatar(args, callback) {
|
|
1437
|
-
|
|
1438
|
-
var _ref = base._asyncToGenerator(function* () {
|
|
1439
|
-
return callback(yield fetchEnsAvatar(args));
|
|
1440
|
-
});
|
|
996
|
+
const handleChange = async () => callback(await fetchEnsAvatar(args));
|
|
1441
997
|
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
};
|
|
1445
|
-
}();
|
|
1446
|
-
|
|
1447
|
-
var unsubscribe = client.subscribe(_ref2 => {
|
|
1448
|
-
var {
|
|
998
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
999
|
+
let {
|
|
1449
1000
|
provider
|
|
1450
|
-
} =
|
|
1001
|
+
} = _ref;
|
|
1451
1002
|
return provider;
|
|
1452
1003
|
}, handleChange);
|
|
1453
1004
|
return unsubscribe;
|
|
1454
1005
|
}
|
|
1455
1006
|
|
|
1456
1007
|
function watchEnsName(args, callback) {
|
|
1457
|
-
|
|
1458
|
-
var _ref = base._asyncToGenerator(function* () {
|
|
1459
|
-
return callback(yield fetchEnsName(args));
|
|
1460
|
-
});
|
|
1461
|
-
|
|
1462
|
-
return function handleChange() {
|
|
1463
|
-
return _ref.apply(this, arguments);
|
|
1464
|
-
};
|
|
1465
|
-
}();
|
|
1008
|
+
const handleChange = async () => callback(await fetchEnsName(args));
|
|
1466
1009
|
|
|
1467
|
-
|
|
1468
|
-
|
|
1010
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
1011
|
+
let {
|
|
1469
1012
|
provider
|
|
1470
|
-
} =
|
|
1013
|
+
} = _ref;
|
|
1471
1014
|
return provider;
|
|
1472
1015
|
}, handleChange);
|
|
1473
1016
|
return unsubscribe;
|
|
1474
1017
|
}
|
|
1475
1018
|
|
|
1476
1019
|
function watchEnsResolver(args, callback) {
|
|
1477
|
-
|
|
1478
|
-
var _ref = base._asyncToGenerator(function* () {
|
|
1479
|
-
return callback(yield fetchEnsResolver(args));
|
|
1480
|
-
});
|
|
1481
|
-
|
|
1482
|
-
return function handleChange() {
|
|
1483
|
-
return _ref.apply(this, arguments);
|
|
1484
|
-
};
|
|
1485
|
-
}();
|
|
1020
|
+
const handleChange = async () => callback(await fetchEnsResolver(args));
|
|
1486
1021
|
|
|
1487
|
-
|
|
1488
|
-
|
|
1022
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
1023
|
+
let {
|
|
1489
1024
|
provider
|
|
1490
|
-
} =
|
|
1025
|
+
} = _ref;
|
|
1491
1026
|
return provider;
|
|
1492
1027
|
}, handleChange);
|
|
1493
1028
|
return unsubscribe;
|
|
1494
1029
|
}
|
|
1495
1030
|
|
|
1496
|
-
function fetchFeeData() {
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
maxPriorityFeePerGas: utils.formatUnits(feeData.maxPriorityFeePerGas, units)
|
|
1510
|
-
};
|
|
1511
|
-
return _objectSpread2(_objectSpread2({}, feeData), {}, {
|
|
1512
|
-
formatted
|
|
1513
|
-
});
|
|
1514
|
-
});
|
|
1515
|
-
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
|
+
};
|
|
1516
1044
|
}
|
|
1517
1045
|
|
|
1518
1046
|
function watchFeeData(args, callback) {
|
|
1519
|
-
|
|
1520
|
-
var _ref = base._asyncToGenerator(function* () {
|
|
1521
|
-
return callback(yield fetchFeeData(args));
|
|
1522
|
-
});
|
|
1047
|
+
const handleChange = async () => callback(await fetchFeeData(args));
|
|
1523
1048
|
|
|
1524
|
-
|
|
1525
|
-
return _ref.apply(this, arguments);
|
|
1526
|
-
};
|
|
1527
|
-
}();
|
|
1528
|
-
|
|
1529
|
-
var unwatch = args.listenToBlock ? watchBlockNumber({
|
|
1049
|
+
const unwatch = args.listenToBlock ? watchBlockNumber({
|
|
1530
1050
|
listen: true
|
|
1531
1051
|
}, handleChange) : undefined;
|
|
1532
|
-
|
|
1533
|
-
|
|
1052
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
1053
|
+
let {
|
|
1534
1054
|
provider
|
|
1535
|
-
} =
|
|
1055
|
+
} = _ref;
|
|
1536
1056
|
return provider;
|
|
1537
1057
|
}, handleChange);
|
|
1538
1058
|
return () => {
|
|
@@ -1549,92 +1069,63 @@ function getWebSocketProvider() {
|
|
|
1549
1069
|
return client.webSocketProvider;
|
|
1550
1070
|
}
|
|
1551
1071
|
|
|
1552
|
-
function fetchToken(
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
formatted: utils.formatUnits(totalSupply, units),
|
|
1574
|
-
value: totalSupply
|
|
1575
|
-
}
|
|
1576
|
-
};
|
|
1577
|
-
return token;
|
|
1578
|
-
});
|
|
1579
|
-
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;
|
|
1580
1093
|
}
|
|
1581
1094
|
|
|
1582
1095
|
function watchToken(args, callback) {
|
|
1583
|
-
|
|
1584
|
-
var _ref = base._asyncToGenerator(function* () {
|
|
1585
|
-
return callback(yield fetchToken(args));
|
|
1586
|
-
});
|
|
1096
|
+
const handleChange = async () => callback(await fetchToken(args));
|
|
1587
1097
|
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
};
|
|
1591
|
-
}();
|
|
1592
|
-
|
|
1593
|
-
var unsubscribe = client.subscribe(_ref2 => {
|
|
1594
|
-
var {
|
|
1098
|
+
const unsubscribe = client.subscribe(_ref => {
|
|
1099
|
+
let {
|
|
1595
1100
|
provider
|
|
1596
|
-
} =
|
|
1101
|
+
} = _ref;
|
|
1597
1102
|
return provider;
|
|
1598
1103
|
}, handleChange);
|
|
1599
1104
|
return unsubscribe;
|
|
1600
1105
|
}
|
|
1601
1106
|
|
|
1602
|
-
function sendTransaction(
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
} catch (error_) {
|
|
1614
|
-
var error = error_;
|
|
1615
|
-
if (error_.code === 4001) error = new base.UserRejectedRequestError();
|
|
1616
|
-
throw error;
|
|
1617
|
-
}
|
|
1618
|
-
});
|
|
1619
|
-
return _sendTransaction.apply(this, arguments);
|
|
1620
|
-
}
|
|
1621
|
-
|
|
1622
|
-
function waitForTransaction(_x) {
|
|
1623
|
-
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
|
+
}
|
|
1624
1118
|
}
|
|
1625
1119
|
|
|
1626
|
-
function
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
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
|
|
1632
1125
|
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
});
|
|
1637
|
-
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;
|
|
1638
1129
|
}
|
|
1639
1130
|
|
|
1640
1131
|
exports.AddChainError = base.AddChainError;
|
|
@@ -1645,9 +1136,13 @@ exports.ConnectorNotFoundError = base.ConnectorNotFoundError;
|
|
|
1645
1136
|
exports.SwitchChainError = base.SwitchChainError;
|
|
1646
1137
|
exports.SwitchChainNotSupportedError = base.SwitchChainNotSupportedError;
|
|
1647
1138
|
exports.UserRejectedRequestError = base.UserRejectedRequestError;
|
|
1139
|
+
exports.alchemyRpcUrls = base.alchemyRpcUrls;
|
|
1648
1140
|
exports.allChains = base.allChains;
|
|
1649
1141
|
exports.chain = base.chain;
|
|
1142
|
+
exports.chainId = base.chainId;
|
|
1650
1143
|
exports.defaultChains = base.defaultChains;
|
|
1144
|
+
exports.etherscanBlockExplorers = base.etherscanBlockExplorers;
|
|
1145
|
+
exports.infuraRpcUrls = base.infuraRpcUrls;
|
|
1651
1146
|
exports.normalizeChainId = base.normalizeChainId;
|
|
1652
1147
|
exports.Client = Client;
|
|
1653
1148
|
exports.InjectedConnector = InjectedConnector;
|
|
@@ -1658,7 +1153,6 @@ exports.createStorage = createStorage;
|
|
|
1658
1153
|
exports.createWagmiClient = createClient;
|
|
1659
1154
|
exports.createWagmiStorage = createStorage;
|
|
1660
1155
|
exports.disconnect = disconnect;
|
|
1661
|
-
exports.erc1155ABI = erc1155ABI;
|
|
1662
1156
|
exports.erc20ABI = erc20ABI;
|
|
1663
1157
|
exports.erc721ABI = erc721ABI;
|
|
1664
1158
|
exports.fetchBalance = fetchBalance;
|