@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.
Files changed (100) hide show
  1. package/README.md +3 -9
  2. package/lib/_version.d.ts +1 -1
  3. package/lib/_version.js +1 -1
  4. package/lib/base-provider.d.ts +2 -2
  5. package/lib/base-provider.d.ts.map +1 -1
  6. package/lib/base-provider.js +300 -145
  7. package/lib/base-provider.js.map +1 -1
  8. package/lib/browser-ipc-provider.d.ts.map +1 -1
  9. package/lib/browser-ipc-provider.js.map +1 -1
  10. package/lib/browser-net.d.ts.map +1 -1
  11. package/lib/browser-net.js.map +1 -1
  12. package/lib/browser-ws.d.ts.map +1 -1
  13. package/lib/browser-ws.js +2 -2
  14. package/lib/browser-ws.js.map +1 -1
  15. package/lib/fallback-provider.d.ts +1 -1
  16. package/lib/fallback-provider.d.ts.map +1 -1
  17. package/lib/fallback-provider.js +86 -55
  18. package/lib/fallback-provider.js.map +1 -1
  19. package/lib/formatter.d.ts.map +1 -1
  20. package/lib/formatter.js +35 -29
  21. package/lib/formatter.js.map +1 -1
  22. package/lib/index.d.ts +3 -10
  23. package/lib/index.d.ts.map +1 -1
  24. package/lib/index.js +5 -28
  25. package/lib/index.js.map +1 -1
  26. package/lib/ipc-provider.d.ts +1 -1
  27. package/lib/ipc-provider.d.ts.map +1 -1
  28. package/lib/ipc-provider.js +6 -4
  29. package/lib/ipc-provider.js.map +1 -1
  30. package/lib/json-rpc-batch-provider.d.ts.map +1 -1
  31. package/lib/json-rpc-batch-provider.js +6 -6
  32. package/lib/json-rpc-batch-provider.js.map +1 -1
  33. package/lib/json-rpc-provider.d.ts +2 -2
  34. package/lib/json-rpc-provider.d.ts.map +1 -1
  35. package/lib/json-rpc-provider.js +167 -69
  36. package/lib/json-rpc-provider.js.map +1 -1
  37. package/lib/url-json-rpc-provider.d.ts +1 -1
  38. package/lib/url-json-rpc-provider.d.ts.map +1 -1
  39. package/lib/url-json-rpc-provider.js +4 -4
  40. package/lib/url-json-rpc-provider.js.map +1 -1
  41. package/lib/web3-provider.d.ts +1 -2
  42. package/lib/web3-provider.d.ts.map +1 -1
  43. package/lib/web3-provider.js +11 -14
  44. package/lib/web3-provider.js.map +1 -1
  45. package/lib/websocket-provider.d.ts +1 -1
  46. package/lib/websocket-provider.d.ts.map +1 -1
  47. package/lib/websocket-provider.js +21 -17
  48. package/lib/websocket-provider.js.map +1 -1
  49. package/lib/ws.d.ts.map +1 -1
  50. package/package.json +61 -58
  51. package/src.ts/_version.ts +1 -1
  52. package/src.ts/base-provider.ts +1418 -645
  53. package/src.ts/browser-ipc-provider.ts +1 -3
  54. package/src.ts/browser-net.ts +1 -1
  55. package/src.ts/browser-ws.ts +14 -8
  56. package/src.ts/fallback-provider.ts +375 -198
  57. package/src.ts/formatter.ts +161 -81
  58. package/src.ts/index.ts +54 -68
  59. package/src.ts/ipc-provider.ts +8 -7
  60. package/src.ts/json-rpc-batch-provider.ts +48 -44
  61. package/src.ts/json-rpc-provider.ts +594 -245
  62. package/src.ts/url-json-rpc-provider.ts +34 -15
  63. package/src.ts/web3-provider.ts +87 -54
  64. package/src.ts/websocket-provider.ts +124 -66
  65. package/src.ts/ws.ts +1 -1
  66. package/lib/alchemy-provider.d.ts +0 -17
  67. package/lib/alchemy-provider.d.ts.map +0 -1
  68. package/lib/alchemy-provider.js +0 -88
  69. package/lib/alchemy-provider.js.map +0 -1
  70. package/lib/ankr-provider.d.ts +0 -10
  71. package/lib/ankr-provider.d.ts.map +0 -1
  72. package/lib/ankr-provider.js +0 -59
  73. package/lib/ankr-provider.js.map +0 -1
  74. package/lib/cloudflare-provider.d.ts +0 -8
  75. package/lib/cloudflare-provider.d.ts.map +0 -1
  76. package/lib/cloudflare-provider.js +0 -37
  77. package/lib/cloudflare-provider.js.map +0 -1
  78. package/lib/etherscan-provider.d.ts +0 -18
  79. package/lib/etherscan-provider.d.ts.map +0 -1
  80. package/lib/etherscan-provider.js +0 -408
  81. package/lib/etherscan-provider.js.map +0 -1
  82. package/lib/infura-provider.d.ts +0 -21
  83. package/lib/infura-provider.d.ts.map +0 -1
  84. package/lib/infura-provider.js +0 -117
  85. package/lib/infura-provider.js.map +0 -1
  86. package/lib/nodesmith-provider.d.ts +0 -7
  87. package/lib/nodesmith-provider.d.ts.map +0 -1
  88. package/lib/nodesmith-provider.js +0 -44
  89. package/lib/nodesmith-provider.js.map +0 -1
  90. package/lib/pocket-provider.d.ts +0 -12
  91. package/lib/pocket-provider.d.ts.map +0 -1
  92. package/lib/pocket-provider.js +0 -78
  93. package/lib/pocket-provider.js.map +0 -1
  94. package/src.ts/alchemy-provider.ts +0 -101
  95. package/src.ts/ankr-provider.ts +0 -68
  96. package/src.ts/cloudflare-provider.ts +0 -42
  97. package/src.ts/etherscan-provider.ts +0 -454
  98. package/src.ts/infura-provider.ts +0 -143
  99. package/src.ts/nodesmith-provider.ts +0 -50
  100. 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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"}
@@ -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"}
@@ -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"}