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