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