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