@qevm/providers 1.0.2 → 1.0.3
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/README.md +3 -9
- package/lib/_version.d.ts +1 -1
- package/lib/_version.js +1 -1
- package/lib/base-provider.d.ts +2 -2
- package/lib/base-provider.d.ts.map +1 -1
- package/lib/base-provider.js +300 -145
- package/lib/base-provider.js.map +1 -1
- package/lib/browser-ipc-provider.d.ts.map +1 -1
- package/lib/browser-ipc-provider.js.map +1 -1
- package/lib/browser-net.d.ts.map +1 -1
- package/lib/browser-net.js.map +1 -1
- package/lib/browser-ws.d.ts.map +1 -1
- package/lib/browser-ws.js +2 -2
- package/lib/browser-ws.js.map +1 -1
- package/lib/fallback-provider.d.ts +1 -1
- package/lib/fallback-provider.d.ts.map +1 -1
- package/lib/fallback-provider.js +86 -55
- package/lib/fallback-provider.js.map +1 -1
- package/lib/formatter.d.ts.map +1 -1
- package/lib/formatter.js +35 -29
- package/lib/formatter.js.map +1 -1
- package/lib/index.d.ts +3 -10
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -28
- package/lib/index.js.map +1 -1
- package/lib/ipc-provider.d.ts +1 -1
- package/lib/ipc-provider.d.ts.map +1 -1
- package/lib/ipc-provider.js +6 -4
- package/lib/ipc-provider.js.map +1 -1
- package/lib/json-rpc-batch-provider.d.ts.map +1 -1
- package/lib/json-rpc-batch-provider.js +6 -6
- package/lib/json-rpc-batch-provider.js.map +1 -1
- package/lib/json-rpc-provider.d.ts +2 -2
- package/lib/json-rpc-provider.d.ts.map +1 -1
- package/lib/json-rpc-provider.js +167 -69
- package/lib/json-rpc-provider.js.map +1 -1
- package/lib/url-json-rpc-provider.d.ts +1 -1
- package/lib/url-json-rpc-provider.d.ts.map +1 -1
- package/lib/url-json-rpc-provider.js +4 -4
- package/lib/url-json-rpc-provider.js.map +1 -1
- package/lib/web3-provider.d.ts +1 -2
- package/lib/web3-provider.d.ts.map +1 -1
- package/lib/web3-provider.js +11 -14
- package/lib/web3-provider.js.map +1 -1
- package/lib/websocket-provider.d.ts +1 -1
- package/lib/websocket-provider.d.ts.map +1 -1
- package/lib/websocket-provider.js +21 -17
- package/lib/websocket-provider.js.map +1 -1
- package/lib/ws.d.ts.map +1 -1
- package/package.json +61 -58
- package/src.ts/_version.ts +1 -1
- package/src.ts/base-provider.ts +1418 -645
- package/src.ts/browser-ipc-provider.ts +1 -3
- package/src.ts/browser-net.ts +1 -1
- package/src.ts/browser-ws.ts +14 -8
- package/src.ts/fallback-provider.ts +375 -198
- package/src.ts/formatter.ts +161 -81
- package/src.ts/index.ts +54 -68
- package/src.ts/ipc-provider.ts +8 -7
- package/src.ts/json-rpc-batch-provider.ts +48 -44
- package/src.ts/json-rpc-provider.ts +594 -245
- package/src.ts/url-json-rpc-provider.ts +34 -15
- package/src.ts/web3-provider.ts +87 -54
- package/src.ts/websocket-provider.ts +124 -66
- package/src.ts/ws.ts +1 -1
- package/lib/alchemy-provider.d.ts +0 -17
- package/lib/alchemy-provider.d.ts.map +0 -1
- package/lib/alchemy-provider.js +0 -88
- package/lib/alchemy-provider.js.map +0 -1
- package/lib/ankr-provider.d.ts +0 -10
- package/lib/ankr-provider.d.ts.map +0 -1
- package/lib/ankr-provider.js +0 -59
- package/lib/ankr-provider.js.map +0 -1
- package/lib/cloudflare-provider.d.ts +0 -8
- package/lib/cloudflare-provider.d.ts.map +0 -1
- package/lib/cloudflare-provider.js +0 -37
- package/lib/cloudflare-provider.js.map +0 -1
- package/lib/etherscan-provider.d.ts +0 -18
- package/lib/etherscan-provider.d.ts.map +0 -1
- package/lib/etherscan-provider.js +0 -408
- package/lib/etherscan-provider.js.map +0 -1
- package/lib/infura-provider.d.ts +0 -21
- package/lib/infura-provider.d.ts.map +0 -1
- package/lib/infura-provider.js +0 -117
- package/lib/infura-provider.js.map +0 -1
- package/lib/nodesmith-provider.d.ts +0 -7
- package/lib/nodesmith-provider.d.ts.map +0 -1
- package/lib/nodesmith-provider.js +0 -44
- package/lib/nodesmith-provider.js.map +0 -1
- package/lib/pocket-provider.d.ts +0 -12
- package/lib/pocket-provider.d.ts.map +0 -1
- package/lib/pocket-provider.js +0 -78
- package/lib/pocket-provider.js.map +0 -1
- package/src.ts/alchemy-provider.ts +0 -101
- package/src.ts/ankr-provider.ts +0 -68
- package/src.ts/cloudflare-provider.ts +0 -42
- package/src.ts/etherscan-provider.ts +0 -454
- package/src.ts/infura-provider.ts +0 -143
- package/src.ts/nodesmith-provider.ts +0 -50
- package/src.ts/pocket-provider.ts +0 -93
|
@@ -1,408 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EtherscanProvider = void 0;
|
|
4
|
-
const bytes_1 = require("@qevm/bytes");
|
|
5
|
-
const properties_1 = require("@ethersproject/properties");
|
|
6
|
-
const transactions_1 = require("@qevm/transactions");
|
|
7
|
-
const web_1 = require("@qevm/web");
|
|
8
|
-
const formatter_1 = require("./formatter");
|
|
9
|
-
const logger_1 = require("@ethersproject/logger");
|
|
10
|
-
const _version_1 = require("./_version");
|
|
11
|
-
const logger = new logger_1.Logger(_version_1.version);
|
|
12
|
-
const base_provider_1 = require("./base-provider");
|
|
13
|
-
// The transaction has already been sanitized by the calls in Provider
|
|
14
|
-
function getTransactionPostData(transaction) {
|
|
15
|
-
const result = {};
|
|
16
|
-
for (let key in transaction) {
|
|
17
|
-
if (transaction[key] == null) {
|
|
18
|
-
continue;
|
|
19
|
-
}
|
|
20
|
-
let value = transaction[key];
|
|
21
|
-
if (key === "type" && value === 0) {
|
|
22
|
-
continue;
|
|
23
|
-
}
|
|
24
|
-
// Quantity-types require no leading zero, unless 0
|
|
25
|
-
if ({ type: true, gasLimit: true, gasPrice: true, maxFeePerGs: true, maxPriorityFeePerGas: true, nonce: true, value: true }[key]) {
|
|
26
|
-
value = (0, bytes_1.hexValue)((0, bytes_1.hexlify)(value));
|
|
27
|
-
}
|
|
28
|
-
else if (key === "accessList") {
|
|
29
|
-
value = "[" + (0, transactions_1.accessListify)(value).map((set) => {
|
|
30
|
-
return `{address:"${set.address}",storageKeys:["${set.storageKeys.join('","')}"]}`;
|
|
31
|
-
}).join(",") + "]";
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
value = (0, bytes_1.hexlify)(value);
|
|
35
|
-
}
|
|
36
|
-
result[key] = value;
|
|
37
|
-
}
|
|
38
|
-
return result;
|
|
39
|
-
}
|
|
40
|
-
function getResult(result) {
|
|
41
|
-
// getLogs, getHistory have weird success responses
|
|
42
|
-
if (result.status == 0 && (result.message === "No records found" || result.message === "No transactions found")) {
|
|
43
|
-
return result.result;
|
|
44
|
-
}
|
|
45
|
-
if (result.status != 1 || typeof (result.message) !== "string" || !result.message.match(/^OK/)) {
|
|
46
|
-
const error = new Error("invalid response");
|
|
47
|
-
error.result = JSON.stringify(result);
|
|
48
|
-
if ((result.result || "").toLowerCase().indexOf("rate limit") >= 0) {
|
|
49
|
-
error.throttleRetry = true;
|
|
50
|
-
}
|
|
51
|
-
throw error;
|
|
52
|
-
}
|
|
53
|
-
return result.result;
|
|
54
|
-
}
|
|
55
|
-
function getJsonResult(result) {
|
|
56
|
-
// This response indicates we are being throttled
|
|
57
|
-
if (result && result.status == 0 && result.message == "NOTOK" && (result.result || "").toLowerCase().indexOf("rate limit") >= 0) {
|
|
58
|
-
const error = new Error("throttled response");
|
|
59
|
-
error.result = JSON.stringify(result);
|
|
60
|
-
error.throttleRetry = true;
|
|
61
|
-
throw error;
|
|
62
|
-
}
|
|
63
|
-
if (result.jsonrpc != "2.0") {
|
|
64
|
-
// @TODO: not any
|
|
65
|
-
const error = new Error("invalid response");
|
|
66
|
-
error.result = JSON.stringify(result);
|
|
67
|
-
throw error;
|
|
68
|
-
}
|
|
69
|
-
if (result.error) {
|
|
70
|
-
// @TODO: not any
|
|
71
|
-
const error = new Error(result.error.message || "unknown error");
|
|
72
|
-
if (result.error.code) {
|
|
73
|
-
error.code = result.error.code;
|
|
74
|
-
}
|
|
75
|
-
if (result.error.data) {
|
|
76
|
-
error.data = result.error.data;
|
|
77
|
-
}
|
|
78
|
-
throw error;
|
|
79
|
-
}
|
|
80
|
-
return result.result;
|
|
81
|
-
}
|
|
82
|
-
// The blockTag was normalized as a string by the Provider pre-perform operations
|
|
83
|
-
function checkLogTag(blockTag) {
|
|
84
|
-
if (blockTag === "pending") {
|
|
85
|
-
throw new Error("pending not supported");
|
|
86
|
-
}
|
|
87
|
-
if (blockTag === "latest") {
|
|
88
|
-
return blockTag;
|
|
89
|
-
}
|
|
90
|
-
return parseInt(blockTag.substring(2), 16);
|
|
91
|
-
}
|
|
92
|
-
function checkError(method, error, transaction) {
|
|
93
|
-
// Undo the "convenience" some nodes are attempting to prevent backwards
|
|
94
|
-
// incompatibility; maybe for v6 consider forwarding reverts as errors
|
|
95
|
-
if (method === "call" && error.code === logger_1.Logger.errors.SERVER_ERROR) {
|
|
96
|
-
const e = error.error;
|
|
97
|
-
// Etherscan keeps changing their string
|
|
98
|
-
if (e && (e.message.match(/reverted/i) || e.message.match(/VM execution error/i))) {
|
|
99
|
-
// Etherscan prefixes the data like "Reverted 0x1234"
|
|
100
|
-
let data = e.data;
|
|
101
|
-
if (data) {
|
|
102
|
-
data = "0x" + data.replace(/^.*0x/i, "");
|
|
103
|
-
}
|
|
104
|
-
if ((0, bytes_1.isHexString)(data)) {
|
|
105
|
-
return data;
|
|
106
|
-
}
|
|
107
|
-
logger.throwError("missing revert data in call exception", logger_1.Logger.errors.CALL_EXCEPTION, {
|
|
108
|
-
error, data: "0x"
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
// Get the message from any nested error structure
|
|
113
|
-
let message = error.message;
|
|
114
|
-
if (error.code === logger_1.Logger.errors.SERVER_ERROR) {
|
|
115
|
-
if (error.error && typeof (error.error.message) === "string") {
|
|
116
|
-
message = error.error.message;
|
|
117
|
-
}
|
|
118
|
-
else if (typeof (error.body) === "string") {
|
|
119
|
-
message = error.body;
|
|
120
|
-
}
|
|
121
|
-
else if (typeof (error.responseText) === "string") {
|
|
122
|
-
message = error.responseText;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
message = (message || "").toLowerCase();
|
|
126
|
-
// "Insufficient funds. The account you tried to send transaction from does not have enough funds. Required 21464000000000 and got: 0"
|
|
127
|
-
if (message.match(/insufficient funds/)) {
|
|
128
|
-
logger.throwError("insufficient funds for intrinsic transaction cost", logger_1.Logger.errors.INSUFFICIENT_FUNDS, {
|
|
129
|
-
error, method, transaction
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
// "Transaction with the same hash was already imported."
|
|
133
|
-
if (message.match(/same hash was already imported|transaction nonce is too low|nonce too low/)) {
|
|
134
|
-
logger.throwError("nonce has already been used", logger_1.Logger.errors.NONCE_EXPIRED, {
|
|
135
|
-
error, method, transaction
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
// "Transaction gas price is too low. There is another transaction with same nonce in the queue. Try increasing the gas price or incrementing the nonce."
|
|
139
|
-
if (message.match(/another transaction with same nonce/)) {
|
|
140
|
-
logger.throwError("replacement fee too low", logger_1.Logger.errors.REPLACEMENT_UNDERPRICED, {
|
|
141
|
-
error, method, transaction
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
if (message.match(/execution failed due to an exception|execution reverted/)) {
|
|
145
|
-
logger.throwError("cannot estimate gas; transaction may fail or may require manual gas limit", logger_1.Logger.errors.UNPREDICTABLE_GAS_LIMIT, {
|
|
146
|
-
error, method, transaction
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
throw error;
|
|
150
|
-
}
|
|
151
|
-
class EtherscanProvider extends base_provider_1.BaseProvider {
|
|
152
|
-
constructor(network, apiKey) {
|
|
153
|
-
super(network);
|
|
154
|
-
(0, properties_1.defineReadOnly)(this, "baseUrl", this.getBaseUrl());
|
|
155
|
-
(0, properties_1.defineReadOnly)(this, "apiKey", apiKey || null);
|
|
156
|
-
}
|
|
157
|
-
getBaseUrl() {
|
|
158
|
-
switch (this.network ? this.network.name : "invalid") {
|
|
159
|
-
case "homestead":
|
|
160
|
-
return "https:/\/api.etherscan.io";
|
|
161
|
-
case "goerli":
|
|
162
|
-
return "https:/\/api-goerli.etherscan.io";
|
|
163
|
-
case "sepolia":
|
|
164
|
-
return "https:/\/api-sepolia.etherscan.io";
|
|
165
|
-
case "matic":
|
|
166
|
-
return "https:/\/api.polygonscan.com";
|
|
167
|
-
case "maticmum":
|
|
168
|
-
return "https:/\/api-testnet.polygonscan.com";
|
|
169
|
-
case "arbitrum":
|
|
170
|
-
return "https:/\/api.arbiscan.io";
|
|
171
|
-
case "arbitrum-goerli":
|
|
172
|
-
return "https:/\/api-goerli.arbiscan.io";
|
|
173
|
-
case "optimism":
|
|
174
|
-
return "https:/\/api-optimistic.etherscan.io";
|
|
175
|
-
case "optimism-goerli":
|
|
176
|
-
return "https:/\/api-goerli-optimistic.etherscan.io";
|
|
177
|
-
default:
|
|
178
|
-
}
|
|
179
|
-
return logger.throwArgumentError("unsupported network", "network", this.network.name);
|
|
180
|
-
}
|
|
181
|
-
getUrl(module, params) {
|
|
182
|
-
const query = Object.keys(params).reduce((accum, key) => {
|
|
183
|
-
const value = params[key];
|
|
184
|
-
if (value != null) {
|
|
185
|
-
accum += `&${key}=${value}`;
|
|
186
|
-
}
|
|
187
|
-
return accum;
|
|
188
|
-
}, "");
|
|
189
|
-
const apiKey = ((this.apiKey) ? `&apikey=${this.apiKey}` : "");
|
|
190
|
-
return `${this.baseUrl}/api?module=${module}${query}${apiKey}`;
|
|
191
|
-
}
|
|
192
|
-
getPostUrl() {
|
|
193
|
-
return `${this.baseUrl}/api`;
|
|
194
|
-
}
|
|
195
|
-
getPostData(module, params) {
|
|
196
|
-
params.module = module;
|
|
197
|
-
params.apikey = this.apiKey;
|
|
198
|
-
return params;
|
|
199
|
-
}
|
|
200
|
-
async fetch(module, params, post) {
|
|
201
|
-
const url = (post ? this.getPostUrl() : this.getUrl(module, params));
|
|
202
|
-
const payload = (post ? this.getPostData(module, params) : null);
|
|
203
|
-
const procFunc = (module === "proxy") ? getJsonResult : getResult;
|
|
204
|
-
this.emit("debug", {
|
|
205
|
-
action: "request",
|
|
206
|
-
request: url,
|
|
207
|
-
provider: this
|
|
208
|
-
});
|
|
209
|
-
const connection = {
|
|
210
|
-
url: url,
|
|
211
|
-
throttleSlotInterval: 1000,
|
|
212
|
-
throttleCallback: (attempt, url) => {
|
|
213
|
-
if (this.isCommunityResource()) {
|
|
214
|
-
(0, formatter_1.showThrottleMessage)();
|
|
215
|
-
}
|
|
216
|
-
return Promise.resolve(true);
|
|
217
|
-
}
|
|
218
|
-
};
|
|
219
|
-
let payloadStr = null;
|
|
220
|
-
if (payload) {
|
|
221
|
-
connection.headers = { "content-type": "application/x-www-form-urlencoded; charset=UTF-8" };
|
|
222
|
-
payloadStr = Object.keys(payload).map((key) => {
|
|
223
|
-
return `${key}=${payload[key]}`;
|
|
224
|
-
}).join("&");
|
|
225
|
-
}
|
|
226
|
-
const result = await (0, web_1.fetchJson)(connection, payloadStr, procFunc || getJsonResult);
|
|
227
|
-
this.emit("debug", {
|
|
228
|
-
action: "response",
|
|
229
|
-
request: url,
|
|
230
|
-
response: (0, properties_1.deepCopy)(result),
|
|
231
|
-
provider: this
|
|
232
|
-
});
|
|
233
|
-
return result;
|
|
234
|
-
}
|
|
235
|
-
async detectNetwork() {
|
|
236
|
-
return this.network;
|
|
237
|
-
}
|
|
238
|
-
async perform(method, params) {
|
|
239
|
-
switch (method) {
|
|
240
|
-
case "getBlockNumber":
|
|
241
|
-
return this.fetch("proxy", { action: "eth_blockNumber" });
|
|
242
|
-
case "getGasPrice":
|
|
243
|
-
return this.fetch("proxy", { action: "eth_gasPrice" });
|
|
244
|
-
case "getBalance":
|
|
245
|
-
// Returns base-10 result
|
|
246
|
-
return this.fetch("account", {
|
|
247
|
-
action: "balance",
|
|
248
|
-
address: params.address,
|
|
249
|
-
tag: params.blockTag
|
|
250
|
-
});
|
|
251
|
-
case "getTransactionCount":
|
|
252
|
-
return this.fetch("proxy", {
|
|
253
|
-
action: "eth_getTransactionCount",
|
|
254
|
-
address: params.address,
|
|
255
|
-
tag: params.blockTag
|
|
256
|
-
});
|
|
257
|
-
case "getCode":
|
|
258
|
-
return this.fetch("proxy", {
|
|
259
|
-
action: "eth_getCode",
|
|
260
|
-
address: params.address,
|
|
261
|
-
tag: params.blockTag
|
|
262
|
-
});
|
|
263
|
-
case "getStorageAt":
|
|
264
|
-
return this.fetch("proxy", {
|
|
265
|
-
action: "eth_getStorageAt",
|
|
266
|
-
address: params.address,
|
|
267
|
-
position: params.position,
|
|
268
|
-
tag: params.blockTag
|
|
269
|
-
});
|
|
270
|
-
case "sendTransaction":
|
|
271
|
-
return this.fetch("proxy", {
|
|
272
|
-
action: "eth_sendRawTransaction",
|
|
273
|
-
hex: params.signedTransaction
|
|
274
|
-
}, true).catch((error) => {
|
|
275
|
-
return checkError("sendTransaction", error, params.signedTransaction);
|
|
276
|
-
});
|
|
277
|
-
case "getBlock":
|
|
278
|
-
if (params.blockTag) {
|
|
279
|
-
return this.fetch("proxy", {
|
|
280
|
-
action: "eth_getBlockByNumber",
|
|
281
|
-
tag: params.blockTag,
|
|
282
|
-
boolean: (params.includeTransactions ? "true" : "false")
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
throw new Error("getBlock by blockHash not implemented");
|
|
286
|
-
case "getTransaction":
|
|
287
|
-
return this.fetch("proxy", {
|
|
288
|
-
action: "eth_getTransactionByHash",
|
|
289
|
-
txhash: params.transactionHash
|
|
290
|
-
});
|
|
291
|
-
case "getTransactionReceipt":
|
|
292
|
-
return this.fetch("proxy", {
|
|
293
|
-
action: "eth_getTransactionReceipt",
|
|
294
|
-
txhash: params.transactionHash
|
|
295
|
-
});
|
|
296
|
-
case "call": {
|
|
297
|
-
if (params.blockTag !== "latest") {
|
|
298
|
-
throw new Error("EtherscanProvider does not support blockTag for call");
|
|
299
|
-
}
|
|
300
|
-
const postData = getTransactionPostData(params.transaction);
|
|
301
|
-
postData.module = "proxy";
|
|
302
|
-
postData.action = "eth_call";
|
|
303
|
-
try {
|
|
304
|
-
return await this.fetch("proxy", postData, true);
|
|
305
|
-
}
|
|
306
|
-
catch (error) {
|
|
307
|
-
return checkError("call", error, params.transaction);
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
case "estimateGas": {
|
|
311
|
-
const postData = getTransactionPostData(params.transaction);
|
|
312
|
-
postData.module = "proxy";
|
|
313
|
-
postData.action = "eth_estimateGas";
|
|
314
|
-
try {
|
|
315
|
-
return await this.fetch("proxy", postData, true);
|
|
316
|
-
}
|
|
317
|
-
catch (error) {
|
|
318
|
-
return checkError("estimateGas", error, params.transaction);
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
case "getLogs": {
|
|
322
|
-
const args = { action: "getLogs" };
|
|
323
|
-
if (params.filter.fromBlock) {
|
|
324
|
-
args.fromBlock = checkLogTag(params.filter.fromBlock);
|
|
325
|
-
}
|
|
326
|
-
if (params.filter.toBlock) {
|
|
327
|
-
args.toBlock = checkLogTag(params.filter.toBlock);
|
|
328
|
-
}
|
|
329
|
-
if (params.filter.address) {
|
|
330
|
-
args.address = params.filter.address;
|
|
331
|
-
}
|
|
332
|
-
// @TODO: We can handle slightly more complicated logs using the logs API
|
|
333
|
-
if (params.filter.topics && params.filter.topics.length > 0) {
|
|
334
|
-
if (params.filter.topics.length > 1) {
|
|
335
|
-
logger.throwError("unsupported topic count", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { topics: params.filter.topics });
|
|
336
|
-
}
|
|
337
|
-
if (params.filter.topics.length === 1) {
|
|
338
|
-
const topic0 = params.filter.topics[0];
|
|
339
|
-
if (typeof (topic0) !== "string" || topic0.length !== 66) {
|
|
340
|
-
logger.throwError("unsupported topic format", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { topic0: topic0 });
|
|
341
|
-
}
|
|
342
|
-
args.topic0 = topic0;
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
const logs = await this.fetch("logs", args);
|
|
346
|
-
// Cache txHash => blockHash
|
|
347
|
-
let blocks = {};
|
|
348
|
-
// Add any missing blockHash to the logs
|
|
349
|
-
for (let i = 0; i < logs.length; i++) {
|
|
350
|
-
const log = logs[i];
|
|
351
|
-
if (log.blockHash != null) {
|
|
352
|
-
continue;
|
|
353
|
-
}
|
|
354
|
-
if (blocks[log.blockNumber] == null) {
|
|
355
|
-
const block = await this.getBlock(log.blockNumber);
|
|
356
|
-
if (block) {
|
|
357
|
-
blocks[log.blockNumber] = block.hash;
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
log.blockHash = blocks[log.blockNumber];
|
|
361
|
-
}
|
|
362
|
-
return logs;
|
|
363
|
-
}
|
|
364
|
-
case "getEtherPrice":
|
|
365
|
-
if (this.network.name !== "homestead") {
|
|
366
|
-
return 0.0;
|
|
367
|
-
}
|
|
368
|
-
return parseFloat((await this.fetch("stats", { action: "ethprice" })).ethusd);
|
|
369
|
-
default:
|
|
370
|
-
break;
|
|
371
|
-
}
|
|
372
|
-
return super.perform(method, params);
|
|
373
|
-
}
|
|
374
|
-
// Note: The `page` page parameter only allows pagination within the
|
|
375
|
-
// 10,000 window available without a page and offset parameter
|
|
376
|
-
// Error: Result window is too large, PageNo x Offset size must
|
|
377
|
-
// be less than or equal to 10000
|
|
378
|
-
async getHistory(addressOrName, startBlock, endBlock) {
|
|
379
|
-
const params = {
|
|
380
|
-
action: "txlist",
|
|
381
|
-
address: (await this.resolveName(addressOrName)),
|
|
382
|
-
startblock: ((startBlock == null) ? 0 : startBlock),
|
|
383
|
-
endblock: ((endBlock == null) ? 99999999 : endBlock),
|
|
384
|
-
sort: "asc"
|
|
385
|
-
};
|
|
386
|
-
const result = await this.fetch("account", params);
|
|
387
|
-
return result.map((tx) => {
|
|
388
|
-
["contractAddress", "to"].forEach(function (key) {
|
|
389
|
-
if (tx[key] == "") {
|
|
390
|
-
delete tx[key];
|
|
391
|
-
}
|
|
392
|
-
});
|
|
393
|
-
if (tx.creates == null && tx.contractAddress != null) {
|
|
394
|
-
tx.creates = tx.contractAddress;
|
|
395
|
-
}
|
|
396
|
-
const item = this.formatter.transactionResponse(tx);
|
|
397
|
-
if (tx.timeStamp) {
|
|
398
|
-
item.timestamp = parseInt(tx.timeStamp);
|
|
399
|
-
}
|
|
400
|
-
return item;
|
|
401
|
-
});
|
|
402
|
-
}
|
|
403
|
-
isCommunityResource() {
|
|
404
|
-
return (this.apiKey == null);
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
exports.EtherscanProvider = EtherscanProvider;
|
|
408
|
-
//# sourceMappingURL=etherscan-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"etherscan-provider.js","sourceRoot":"","sources":["../src.ts/etherscan-provider.ts"],"names":[],"mappings":"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"}
|
package/lib/infura-provider.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Network, Networkish } from "@ethersproject/networks";
|
|
2
|
-
import { ConnectionInfo } from "@qevm/web";
|
|
3
|
-
import { WebSocketProvider } from "./websocket-provider";
|
|
4
|
-
import { CommunityResourcable } from "./formatter";
|
|
5
|
-
import { UrlJsonRpcProvider } from "./url-json-rpc-provider";
|
|
6
|
-
export declare class InfuraWebSocketProvider extends WebSocketProvider implements CommunityResourcable {
|
|
7
|
-
readonly apiKey: string;
|
|
8
|
-
readonly projectId: string;
|
|
9
|
-
readonly projectSecret: string;
|
|
10
|
-
constructor(network?: Networkish, apiKey?: any);
|
|
11
|
-
isCommunityResource(): boolean;
|
|
12
|
-
}
|
|
13
|
-
export declare class InfuraProvider extends UrlJsonRpcProvider {
|
|
14
|
-
readonly projectId: string;
|
|
15
|
-
readonly projectSecret: string;
|
|
16
|
-
static getWebSocketProvider(network?: Networkish, apiKey?: any): InfuraWebSocketProvider;
|
|
17
|
-
static getApiKey(apiKey: any): any;
|
|
18
|
-
static getUrl(network: Network, apiKey: any): ConnectionInfo;
|
|
19
|
-
isCommunityResource(): boolean;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=infura-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"infura-provider.d.ts","sourceRoot":"","sources":["../src.ts/infura-provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAuB,MAAM,aAAa,CAAC;AAMxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAK7D,qBAAa,uBAAwB,SAAQ,iBAAkB,YAAW,oBAAoB;IAC1F,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEnB,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,GAAG;IAiB9C,mBAAmB,IAAI,OAAO;CAGjC;AAED,qBAAa,cAAe,SAAQ,kBAAkB;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,uBAAuB;IAIxF,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG;IA8BlC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,cAAc;IAwD5D,mBAAmB,IAAI,OAAO;CAGjC"}
|
package/lib/infura-provider.js
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InfuraProvider = exports.InfuraWebSocketProvider = void 0;
|
|
4
|
-
const properties_1 = require("@ethersproject/properties");
|
|
5
|
-
const websocket_provider_1 = require("./websocket-provider");
|
|
6
|
-
const formatter_1 = require("./formatter");
|
|
7
|
-
const logger_1 = require("@ethersproject/logger");
|
|
8
|
-
const _version_1 = require("./_version");
|
|
9
|
-
const logger = new logger_1.Logger(_version_1.version);
|
|
10
|
-
const url_json_rpc_provider_1 = require("./url-json-rpc-provider");
|
|
11
|
-
const defaultProjectId = "84842078b09946638c03157f83405213";
|
|
12
|
-
class InfuraWebSocketProvider extends websocket_provider_1.WebSocketProvider {
|
|
13
|
-
constructor(network, apiKey) {
|
|
14
|
-
const provider = new InfuraProvider(network, apiKey);
|
|
15
|
-
const connection = provider.connection;
|
|
16
|
-
if (connection.password) {
|
|
17
|
-
logger.throwError("INFURA WebSocket project secrets unsupported", logger_1.Logger.errors.UNSUPPORTED_OPERATION, {
|
|
18
|
-
operation: "InfuraProvider.getWebSocketProvider()"
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
const url = connection.url.replace(/^http/i, "ws").replace("/v3/", "/ws/v3/");
|
|
22
|
-
super(url, network);
|
|
23
|
-
(0, properties_1.defineReadOnly)(this, "apiKey", provider.projectId);
|
|
24
|
-
(0, properties_1.defineReadOnly)(this, "projectId", provider.projectId);
|
|
25
|
-
(0, properties_1.defineReadOnly)(this, "projectSecret", provider.projectSecret);
|
|
26
|
-
}
|
|
27
|
-
isCommunityResource() {
|
|
28
|
-
return (this.projectId === defaultProjectId);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
exports.InfuraWebSocketProvider = InfuraWebSocketProvider;
|
|
32
|
-
class InfuraProvider extends url_json_rpc_provider_1.UrlJsonRpcProvider {
|
|
33
|
-
static getWebSocketProvider(network, apiKey) {
|
|
34
|
-
return new InfuraWebSocketProvider(network, apiKey);
|
|
35
|
-
}
|
|
36
|
-
static getApiKey(apiKey) {
|
|
37
|
-
const apiKeyObj = {
|
|
38
|
-
apiKey: defaultProjectId,
|
|
39
|
-
projectId: defaultProjectId,
|
|
40
|
-
projectSecret: null
|
|
41
|
-
};
|
|
42
|
-
if (apiKey == null) {
|
|
43
|
-
return apiKeyObj;
|
|
44
|
-
}
|
|
45
|
-
if (typeof (apiKey) === "string") {
|
|
46
|
-
apiKeyObj.projectId = apiKey;
|
|
47
|
-
}
|
|
48
|
-
else if (apiKey.projectSecret != null) {
|
|
49
|
-
logger.assertArgument((typeof (apiKey.projectId) === "string"), "projectSecret requires a projectId", "projectId", apiKey.projectId);
|
|
50
|
-
logger.assertArgument((typeof (apiKey.projectSecret) === "string"), "invalid projectSecret", "projectSecret", "[REDACTED]");
|
|
51
|
-
apiKeyObj.projectId = apiKey.projectId;
|
|
52
|
-
apiKeyObj.projectSecret = apiKey.projectSecret;
|
|
53
|
-
}
|
|
54
|
-
else if (apiKey.projectId) {
|
|
55
|
-
apiKeyObj.projectId = apiKey.projectId;
|
|
56
|
-
}
|
|
57
|
-
apiKeyObj.apiKey = apiKeyObj.projectId;
|
|
58
|
-
return apiKeyObj;
|
|
59
|
-
}
|
|
60
|
-
static getUrl(network, apiKey) {
|
|
61
|
-
let host = null;
|
|
62
|
-
switch (network ? network.name : "unknown") {
|
|
63
|
-
case "homestead":
|
|
64
|
-
host = "mainnet.infura.io";
|
|
65
|
-
break;
|
|
66
|
-
case "goerli":
|
|
67
|
-
host = "goerli.infura.io";
|
|
68
|
-
break;
|
|
69
|
-
case "sepolia":
|
|
70
|
-
host = "sepolia.infura.io";
|
|
71
|
-
break;
|
|
72
|
-
case "matic":
|
|
73
|
-
host = "polygon-mainnet.infura.io";
|
|
74
|
-
break;
|
|
75
|
-
case "maticmum":
|
|
76
|
-
host = "polygon-mumbai.infura.io";
|
|
77
|
-
break;
|
|
78
|
-
case "optimism":
|
|
79
|
-
host = "optimism-mainnet.infura.io";
|
|
80
|
-
break;
|
|
81
|
-
case "optimism-goerli":
|
|
82
|
-
host = "optimism-goerli.infura.io";
|
|
83
|
-
break;
|
|
84
|
-
case "arbitrum":
|
|
85
|
-
host = "arbitrum-mainnet.infura.io";
|
|
86
|
-
break;
|
|
87
|
-
case "arbitrum-goerli":
|
|
88
|
-
host = "arbitrum-goerli.infura.io";
|
|
89
|
-
break;
|
|
90
|
-
default:
|
|
91
|
-
logger.throwError("unsupported network", logger_1.Logger.errors.INVALID_ARGUMENT, {
|
|
92
|
-
argument: "network",
|
|
93
|
-
value: network
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
const connection = {
|
|
97
|
-
allowGzip: true,
|
|
98
|
-
url: ("https:/" + "/" + host + "/v3/" + apiKey.projectId),
|
|
99
|
-
throttleCallback: (attempt, url) => {
|
|
100
|
-
if (apiKey.projectId === defaultProjectId) {
|
|
101
|
-
(0, formatter_1.showThrottleMessage)();
|
|
102
|
-
}
|
|
103
|
-
return Promise.resolve(true);
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
if (apiKey.projectSecret != null) {
|
|
107
|
-
connection.user = "";
|
|
108
|
-
connection.password = apiKey.projectSecret;
|
|
109
|
-
}
|
|
110
|
-
return connection;
|
|
111
|
-
}
|
|
112
|
-
isCommunityResource() {
|
|
113
|
-
return (this.projectId === defaultProjectId);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
exports.InfuraProvider = InfuraProvider;
|
|
117
|
-
//# sourceMappingURL=infura-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"infura-provider.js","sourceRoot":"","sources":["../src.ts/infura-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Network } from "@ethersproject/networks";
|
|
2
|
-
import { UrlJsonRpcProvider } from "./url-json-rpc-provider";
|
|
3
|
-
export declare class NodesmithProvider extends UrlJsonRpcProvider {
|
|
4
|
-
static getApiKey(apiKey: any): any;
|
|
5
|
-
static getUrl(network: Network, apiKey?: any): string;
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=nodesmith-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nodesmith-provider.d.ts","sourceRoot":"","sources":["../src.ts/nodesmith-provider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAS7D,qBAAa,iBAAkB,SAAQ,kBAAkB;IAErD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG;IAOlC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,MAAM;CA0BxD"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/* istanbul ignore file */
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.NodesmithProvider = void 0;
|
|
5
|
-
const url_json_rpc_provider_1 = require("./url-json-rpc-provider");
|
|
6
|
-
const logger_1 = require("@ethersproject/logger");
|
|
7
|
-
const _version_1 = require("./_version");
|
|
8
|
-
const logger = new logger_1.Logger(_version_1.version);
|
|
9
|
-
// Special API key provided by Nodesmith for ethers.js
|
|
10
|
-
const defaultApiKey = "ETHERS_JS_SHARED";
|
|
11
|
-
class NodesmithProvider extends url_json_rpc_provider_1.UrlJsonRpcProvider {
|
|
12
|
-
static getApiKey(apiKey) {
|
|
13
|
-
if (apiKey && typeof (apiKey) !== "string") {
|
|
14
|
-
logger.throwArgumentError("invalid apiKey", "apiKey", apiKey);
|
|
15
|
-
}
|
|
16
|
-
return apiKey || defaultApiKey;
|
|
17
|
-
}
|
|
18
|
-
static getUrl(network, apiKey) {
|
|
19
|
-
logger.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.");
|
|
20
|
-
let host = null;
|
|
21
|
-
switch (network.name) {
|
|
22
|
-
case "homestead":
|
|
23
|
-
host = "https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";
|
|
24
|
-
break;
|
|
25
|
-
case "ropsten":
|
|
26
|
-
host = "https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";
|
|
27
|
-
break;
|
|
28
|
-
case "rinkeby":
|
|
29
|
-
host = "https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";
|
|
30
|
-
break;
|
|
31
|
-
case "goerli":
|
|
32
|
-
host = "https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";
|
|
33
|
-
break;
|
|
34
|
-
case "kovan":
|
|
35
|
-
host = "https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";
|
|
36
|
-
break;
|
|
37
|
-
default:
|
|
38
|
-
logger.throwArgumentError("unsupported network", "network", arguments[0]);
|
|
39
|
-
}
|
|
40
|
-
return (host + "?apiKey=" + apiKey);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
exports.NodesmithProvider = NodesmithProvider;
|
|
44
|
-
//# sourceMappingURL=nodesmith-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nodesmith-provider.js","sourceRoot":"","sources":["../src.ts/nodesmith-provider.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAE1B,YAAY,CAAC;;;AAGb,mEAA6D;AAE7D,kDAA+C;AAC/C,yCAAqC;AACrC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,kBAAO,CAAC,CAAC;AAEnC,sDAAsD;AACtD,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEzC,MAAa,iBAAkB,SAAQ,0CAAkB;IAErD,MAAM,CAAC,SAAS,CAAC,MAAW;QACxB,IAAI,MAAM,IAAI,OAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,MAAM,IAAI,aAAa,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAgB,EAAE,MAAY;QACxC,MAAM,CAAC,IAAI,CAAC,mFAAmF,CAAC,CAAC;QAEjG,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,WAAW;gBACZ,IAAI,GAAG,sDAAsD,CAAC;gBAC9D,MAAM;YACV,KAAK,SAAS;gBACV,IAAI,GAAG,sDAAsD,CAAC;gBAC9D,MAAM;YACV,KAAK,SAAS;gBACV,IAAI,GAAG,sDAAsD,CAAC;gBAC9D,MAAM;YACV,KAAK,QAAQ;gBACT,IAAI,GAAG,qDAAqD,CAAC;gBAC7D,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,GAAG,oDAAoD,CAAC;gBAC5D,MAAM;YACV;gBACG,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,CAAC,IAAI,GAAG,UAAU,GAAG,MAAM,CAAC,CAAC;IACxC,CAAC;CACJ;AAnCD,8CAmCC"}
|