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