@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,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { BigNumber } from "@qevm/bignumber";
|
|
4
|
-
import { Network, Networkish } from "@
|
|
5
|
-
import { defineReadOnly } from "@
|
|
4
|
+
import { Network, Networkish } from "@qevm/networks";
|
|
5
|
+
import { defineReadOnly } from "@qevm/properties";
|
|
6
6
|
|
|
7
7
|
import { Event } from "./base-provider";
|
|
8
8
|
import { JsonRpcProvider } from "./json-rpc-provider";
|
|
9
9
|
import { WebSocket } from "./ws";
|
|
10
10
|
|
|
11
|
-
import { Logger } from "@
|
|
11
|
+
import { Logger } from "@qevm/logger";
|
|
12
12
|
import { version } from "./_version";
|
|
13
13
|
const logger = new Logger(version);
|
|
14
14
|
|
|
@@ -30,8 +30,8 @@ const logger = new Logger(version);
|
|
|
30
30
|
let NextId = 1;
|
|
31
31
|
|
|
32
32
|
export type InflightRequest = {
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
callback: (error: Error, result: any) => void;
|
|
34
|
+
payload: string;
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
export type Subscription = {
|
|
@@ -55,27 +55,30 @@ export interface WebSocketLike {
|
|
|
55
55
|
|
|
56
56
|
export class WebSocketProvider extends JsonRpcProvider {
|
|
57
57
|
readonly _websocket: any;
|
|
58
|
-
readonly _requests: { [
|
|
58
|
+
readonly _requests: { [name: string]: InflightRequest };
|
|
59
59
|
readonly _detectNetwork: Promise<Network>;
|
|
60
60
|
|
|
61
61
|
// Maps event tag to subscription ID (we dedupe identical events)
|
|
62
|
-
readonly _subIds: { [
|
|
62
|
+
readonly _subIds: { [tag: string]: Promise<string> };
|
|
63
63
|
|
|
64
64
|
// Maps Subscription ID to Subscription
|
|
65
|
-
readonly _subs: { [
|
|
65
|
+
readonly _subs: { [name: string]: Subscription };
|
|
66
66
|
|
|
67
67
|
_wsReady: boolean;
|
|
68
68
|
|
|
69
69
|
constructor(url: string | WebSocketLike, network?: Networkish) {
|
|
70
|
-
|
|
71
70
|
// This will be added in the future; please open an issue to expedite
|
|
72
71
|
if (network === "any") {
|
|
73
|
-
logger.throwError(
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
logger.throwError(
|
|
73
|
+
"WebSocketProvider does not support 'any' network yet",
|
|
74
|
+
Logger.errors.UNSUPPORTED_OPERATION,
|
|
75
|
+
{
|
|
76
|
+
operation: "network:any",
|
|
77
|
+
},
|
|
78
|
+
);
|
|
76
79
|
}
|
|
77
80
|
|
|
78
|
-
if (typeof
|
|
81
|
+
if (typeof url === "string") {
|
|
79
82
|
super(url, network);
|
|
80
83
|
} else {
|
|
81
84
|
super("_websocket", network);
|
|
@@ -85,15 +88,19 @@ export class WebSocketProvider extends JsonRpcProvider {
|
|
|
85
88
|
|
|
86
89
|
this._wsReady = false;
|
|
87
90
|
|
|
88
|
-
if (typeof
|
|
89
|
-
defineReadOnly(
|
|
91
|
+
if (typeof url === "string") {
|
|
92
|
+
defineReadOnly(
|
|
93
|
+
this,
|
|
94
|
+
"_websocket",
|
|
95
|
+
new WebSocket(this.connection.url),
|
|
96
|
+
);
|
|
90
97
|
} else {
|
|
91
98
|
defineReadOnly(this, "_websocket", url);
|
|
92
99
|
}
|
|
93
100
|
|
|
94
|
-
defineReadOnly(this, "_requests", {
|
|
95
|
-
defineReadOnly(this, "_subs", {
|
|
96
|
-
defineReadOnly(this, "_subIds", {
|
|
101
|
+
defineReadOnly(this, "_requests", {});
|
|
102
|
+
defineReadOnly(this, "_subs", {});
|
|
103
|
+
defineReadOnly(this, "_subIds", {});
|
|
97
104
|
defineReadOnly(this, "_detectNetwork", super.detectNetwork());
|
|
98
105
|
|
|
99
106
|
// Stall sending requests until the socket is open...
|
|
@@ -119,14 +126,19 @@ export class WebSocketProvider extends JsonRpcProvider {
|
|
|
119
126
|
action: "response",
|
|
120
127
|
request: JSON.parse(request.payload),
|
|
121
128
|
response: result.result,
|
|
122
|
-
provider: this
|
|
129
|
+
provider: this,
|
|
123
130
|
});
|
|
124
|
-
|
|
125
131
|
} else {
|
|
126
132
|
let error: Error = null;
|
|
127
133
|
if (result.error) {
|
|
128
|
-
error = new Error(
|
|
129
|
-
|
|
134
|
+
error = new Error(
|
|
135
|
+
result.error.message || "unknown error",
|
|
136
|
+
);
|
|
137
|
+
defineReadOnly(
|
|
138
|
+
<any>error,
|
|
139
|
+
"code",
|
|
140
|
+
result.error.code || null,
|
|
141
|
+
);
|
|
130
142
|
defineReadOnly(<any>error, "response", data);
|
|
131
143
|
} else {
|
|
132
144
|
error = new Error("unknown error");
|
|
@@ -138,19 +150,16 @@ export class WebSocketProvider extends JsonRpcProvider {
|
|
|
138
150
|
action: "response",
|
|
139
151
|
error: error,
|
|
140
152
|
request: JSON.parse(request.payload),
|
|
141
|
-
provider: this
|
|
153
|
+
provider: this,
|
|
142
154
|
});
|
|
143
|
-
|
|
144
155
|
}
|
|
145
|
-
|
|
146
156
|
} else if (result.method === "eth_subscription") {
|
|
147
157
|
// Subscription...
|
|
148
158
|
const sub = this._subs[result.params.subscription];
|
|
149
159
|
if (sub) {
|
|
150
160
|
//this.emit.apply(this, );
|
|
151
|
-
sub.processFunc(result.params.result)
|
|
161
|
+
sub.processFunc(result.params.result);
|
|
152
162
|
}
|
|
153
|
-
|
|
154
163
|
} else {
|
|
155
164
|
console.warn("this should not happen");
|
|
156
165
|
}
|
|
@@ -162,12 +171,16 @@ export class WebSocketProvider extends JsonRpcProvider {
|
|
|
162
171
|
const fauxPoll = setInterval(() => {
|
|
163
172
|
this.emit("poll");
|
|
164
173
|
}, 1000);
|
|
165
|
-
if (fauxPoll.unref) {
|
|
174
|
+
if (fauxPoll.unref) {
|
|
175
|
+
fauxPoll.unref();
|
|
176
|
+
}
|
|
166
177
|
}
|
|
167
178
|
|
|
168
179
|
// Cannot narrow the type of _websocket, as that is not backwards compatible
|
|
169
180
|
// so we add a getter and let the WebSocket be a public API.
|
|
170
|
-
get websocket(): WebSocketLike {
|
|
181
|
+
get websocket(): WebSocketLike {
|
|
182
|
+
return this._websocket;
|
|
183
|
+
}
|
|
171
184
|
|
|
172
185
|
detectNetwork(): Promise<Network> {
|
|
173
186
|
return this._detectNetwork;
|
|
@@ -178,15 +191,23 @@ export class WebSocketProvider extends JsonRpcProvider {
|
|
|
178
191
|
}
|
|
179
192
|
|
|
180
193
|
resetEventsBlock(blockNumber: number): void {
|
|
181
|
-
logger.throwError(
|
|
182
|
-
|
|
183
|
-
|
|
194
|
+
logger.throwError(
|
|
195
|
+
"cannot reset events block on WebSocketProvider",
|
|
196
|
+
Logger.errors.UNSUPPORTED_OPERATION,
|
|
197
|
+
{
|
|
198
|
+
operation: "resetEventBlock",
|
|
199
|
+
},
|
|
200
|
+
);
|
|
184
201
|
}
|
|
185
202
|
|
|
186
203
|
set pollingInterval(value: number) {
|
|
187
|
-
logger.throwError(
|
|
188
|
-
|
|
189
|
-
|
|
204
|
+
logger.throwError(
|
|
205
|
+
"cannot set polling interval on WebSocketProvider",
|
|
206
|
+
Logger.errors.UNSUPPORTED_OPERATION,
|
|
207
|
+
{
|
|
208
|
+
operation: "setPollingInterval",
|
|
209
|
+
},
|
|
210
|
+
);
|
|
190
211
|
}
|
|
191
212
|
|
|
192
213
|
async poll(): Promise<void> {
|
|
@@ -194,11 +215,17 @@ export class WebSocketProvider extends JsonRpcProvider {
|
|
|
194
215
|
}
|
|
195
216
|
|
|
196
217
|
set polling(value: boolean) {
|
|
197
|
-
if (!value) {
|
|
218
|
+
if (!value) {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
198
221
|
|
|
199
|
-
logger.throwError(
|
|
200
|
-
|
|
201
|
-
|
|
222
|
+
logger.throwError(
|
|
223
|
+
"cannot set polling on WebSocketProvider",
|
|
224
|
+
Logger.errors.UNSUPPORTED_OPERATION,
|
|
225
|
+
{
|
|
226
|
+
operation: "setPolling",
|
|
227
|
+
},
|
|
228
|
+
);
|
|
202
229
|
}
|
|
203
230
|
|
|
204
231
|
send(method: string, params?: Array<any>): Promise<any> {
|
|
@@ -206,7 +233,9 @@ export class WebSocketProvider extends JsonRpcProvider {
|
|
|
206
233
|
|
|
207
234
|
return new Promise((resolve, reject) => {
|
|
208
235
|
function callback(error: Error, result: any) {
|
|
209
|
-
if (error) {
|
|
236
|
+
if (error) {
|
|
237
|
+
return reject(error);
|
|
238
|
+
}
|
|
210
239
|
return resolve(result);
|
|
211
240
|
}
|
|
212
241
|
|
|
@@ -214,18 +243,20 @@ export class WebSocketProvider extends JsonRpcProvider {
|
|
|
214
243
|
method: method,
|
|
215
244
|
params: params,
|
|
216
245
|
id: rid,
|
|
217
|
-
jsonrpc: "2.0"
|
|
246
|
+
jsonrpc: "2.0",
|
|
218
247
|
});
|
|
219
248
|
|
|
220
249
|
this.emit("debug", {
|
|
221
250
|
action: "request",
|
|
222
251
|
request: JSON.parse(payload),
|
|
223
|
-
provider: this
|
|
252
|
+
provider: this,
|
|
224
253
|
});
|
|
225
254
|
|
|
226
255
|
this._requests[String(rid)] = { callback, payload };
|
|
227
256
|
|
|
228
|
-
if (this._wsReady) {
|
|
257
|
+
if (this._wsReady) {
|
|
258
|
+
this.websocket.send(payload);
|
|
259
|
+
}
|
|
229
260
|
});
|
|
230
261
|
}
|
|
231
262
|
|
|
@@ -233,7 +264,11 @@ export class WebSocketProvider extends JsonRpcProvider {
|
|
|
233
264
|
return "ws:/\/localhost:8546";
|
|
234
265
|
}
|
|
235
266
|
|
|
236
|
-
async _subscribe(
|
|
267
|
+
async _subscribe(
|
|
268
|
+
tag: string,
|
|
269
|
+
param: Array<any>,
|
|
270
|
+
processFunc: (result: any) => void,
|
|
271
|
+
): Promise<void> {
|
|
237
272
|
let subIdPromise = this._subIds[tag];
|
|
238
273
|
if (subIdPromise == null) {
|
|
239
274
|
subIdPromise = Promise.all(param).then((param) => {
|
|
@@ -248,31 +283,48 @@ export class WebSocketProvider extends JsonRpcProvider {
|
|
|
248
283
|
_startEvent(event: Event): void {
|
|
249
284
|
switch (event.type) {
|
|
250
285
|
case "block":
|
|
251
|
-
this._subscribe("block", [
|
|
252
|
-
const blockNumber = BigNumber.from(
|
|
286
|
+
this._subscribe("block", ["newHeads"], (result: any) => {
|
|
287
|
+
const blockNumber = BigNumber.from(
|
|
288
|
+
result.number,
|
|
289
|
+
).toNumber();
|
|
253
290
|
this._emitted.block = blockNumber;
|
|
254
291
|
this.emit("block", blockNumber);
|
|
255
292
|
});
|
|
256
293
|
break;
|
|
257
294
|
|
|
258
295
|
case "pending":
|
|
259
|
-
this._subscribe(
|
|
260
|
-
|
|
261
|
-
|
|
296
|
+
this._subscribe(
|
|
297
|
+
"pending",
|
|
298
|
+
["newPendingTransactions"],
|
|
299
|
+
(result: any) => {
|
|
300
|
+
this.emit("pending", result);
|
|
301
|
+
},
|
|
302
|
+
);
|
|
262
303
|
break;
|
|
263
304
|
|
|
264
305
|
case "filter":
|
|
265
|
-
this._subscribe(
|
|
266
|
-
|
|
267
|
-
this.
|
|
268
|
-
|
|
306
|
+
this._subscribe(
|
|
307
|
+
event.tag,
|
|
308
|
+
["logs", this._getFilter(event.filter)],
|
|
309
|
+
(result: any) => {
|
|
310
|
+
if (result.removed == null) {
|
|
311
|
+
result.removed = false;
|
|
312
|
+
}
|
|
313
|
+
this.emit(
|
|
314
|
+
event.filter,
|
|
315
|
+
this.formatter.filterLog(result),
|
|
316
|
+
);
|
|
317
|
+
},
|
|
318
|
+
);
|
|
269
319
|
break;
|
|
270
320
|
|
|
271
321
|
case "tx": {
|
|
272
322
|
const emitReceipt = (event: Event) => {
|
|
273
323
|
const hash = event.hash;
|
|
274
324
|
this.getTransactionReceipt(hash).then((receipt) => {
|
|
275
|
-
if (!receipt) {
|
|
325
|
+
if (!receipt) {
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
276
328
|
this.emit(hash, receipt);
|
|
277
329
|
});
|
|
278
330
|
};
|
|
@@ -284,8 +336,10 @@ export class WebSocketProvider extends JsonRpcProvider {
|
|
|
284
336
|
// to keep an eye out for transactions we are watching for.
|
|
285
337
|
// Starting a subscription for an event (i.e. "tx") that is already
|
|
286
338
|
// running is (basically) a nop.
|
|
287
|
-
this._subscribe("tx", [
|
|
288
|
-
this._events
|
|
339
|
+
this._subscribe("tx", ["newHeads"], (result: any) => {
|
|
340
|
+
this._events
|
|
341
|
+
.filter((e) => e.type === "tx")
|
|
342
|
+
.forEach(emitReceipt);
|
|
289
343
|
});
|
|
290
344
|
break;
|
|
291
345
|
}
|
|
@@ -309,7 +363,7 @@ export class WebSocketProvider extends JsonRpcProvider {
|
|
|
309
363
|
|
|
310
364
|
if (event.type === "tx") {
|
|
311
365
|
// There are remaining transaction event listeners
|
|
312
|
-
if (this._events.filter((e) =>
|
|
366
|
+
if (this._events.filter((e) => e.type === "tx").length) {
|
|
313
367
|
return;
|
|
314
368
|
}
|
|
315
369
|
tag = "tx";
|
|
@@ -319,28 +373,32 @@ export class WebSocketProvider extends JsonRpcProvider {
|
|
|
319
373
|
}
|
|
320
374
|
|
|
321
375
|
const subId = this._subIds[tag];
|
|
322
|
-
if (!subId) {
|
|
376
|
+
if (!subId) {
|
|
377
|
+
return;
|
|
378
|
+
}
|
|
323
379
|
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
if (!this._subs[subId]) {
|
|
380
|
+
delete this._subIds[tag];
|
|
381
|
+
subId.then((subId) => {
|
|
382
|
+
if (!this._subs[subId]) {
|
|
383
|
+
return;
|
|
384
|
+
}
|
|
327
385
|
delete this._subs[subId];
|
|
328
|
-
this.send("eth_unsubscribe", [
|
|
386
|
+
this.send("eth_unsubscribe", [subId]);
|
|
329
387
|
});
|
|
330
388
|
}
|
|
331
389
|
|
|
332
390
|
async destroy(): Promise<void> {
|
|
333
391
|
// Wait until we have connected before trying to disconnect
|
|
334
392
|
if (this.websocket.readyState === WebSocket.CONNECTING) {
|
|
335
|
-
await
|
|
336
|
-
this.websocket.onopen = function() {
|
|
393
|
+
await new Promise((resolve) => {
|
|
394
|
+
this.websocket.onopen = function () {
|
|
337
395
|
resolve(true);
|
|
338
396
|
};
|
|
339
397
|
|
|
340
|
-
this.websocket.onerror = function() {
|
|
398
|
+
this.websocket.onerror = function () {
|
|
341
399
|
resolve(false);
|
|
342
400
|
};
|
|
343
|
-
})
|
|
401
|
+
});
|
|
344
402
|
}
|
|
345
403
|
|
|
346
404
|
// Hangup
|
package/src.ts/ws.ts
CHANGED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Network, Networkish } from "@ethersproject/networks";
|
|
2
|
-
import { ConnectionInfo } from "@qevm/web";
|
|
3
|
-
import { CommunityResourcable } from "./formatter";
|
|
4
|
-
import { WebSocketProvider } from "./websocket-provider";
|
|
5
|
-
import { UrlJsonRpcProvider } from "./url-json-rpc-provider";
|
|
6
|
-
export declare class AlchemyWebSocketProvider extends WebSocketProvider implements CommunityResourcable {
|
|
7
|
-
readonly apiKey: string;
|
|
8
|
-
constructor(network?: Networkish, apiKey?: any);
|
|
9
|
-
isCommunityResource(): boolean;
|
|
10
|
-
}
|
|
11
|
-
export declare class AlchemyProvider extends UrlJsonRpcProvider {
|
|
12
|
-
static getWebSocketProvider(network?: Networkish, apiKey?: any): AlchemyWebSocketProvider;
|
|
13
|
-
static getApiKey(apiKey: any): any;
|
|
14
|
-
static getUrl(network: Network, apiKey: string): ConnectionInfo;
|
|
15
|
-
isCommunityResource(): boolean;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=alchemy-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alchemy-provider.d.ts","sourceRoot":"","sources":["../src.ts/alchemy-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,oBAAoB,EAAuB,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAMzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAS7D,qBAAa,wBAAyB,SAAQ,iBAAkB,YAAW,oBAAoB;IAC3F,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,GAAG;IAU9C,mBAAmB,IAAI,OAAO;CAGjC;AAED,qBAAa,eAAgB,SAAQ,kBAAkB;IAEnD,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,wBAAwB;IAIzF,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG;IAQlC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc;IA2C/D,mBAAmB,IAAI,OAAO;CAGjC"}
|
package/lib/alchemy-provider.js
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AlchemyProvider = exports.AlchemyWebSocketProvider = void 0;
|
|
4
|
-
const properties_1 = require("@ethersproject/properties");
|
|
5
|
-
const formatter_1 = require("./formatter");
|
|
6
|
-
const websocket_provider_1 = require("./websocket-provider");
|
|
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
|
-
// This key was provided to ethers.js by Alchemy to be used by the
|
|
12
|
-
// default provider, but it is recommended that for your own
|
|
13
|
-
// production environments, that you acquire your own API key at:
|
|
14
|
-
// https://dashboard.alchemyapi.io
|
|
15
|
-
const defaultApiKey = "_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";
|
|
16
|
-
class AlchemyWebSocketProvider extends websocket_provider_1.WebSocketProvider {
|
|
17
|
-
constructor(network, apiKey) {
|
|
18
|
-
const provider = new AlchemyProvider(network, apiKey);
|
|
19
|
-
const url = provider.connection.url.replace(/^http/i, "ws")
|
|
20
|
-
.replace(".alchemyapi.", ".ws.alchemyapi.");
|
|
21
|
-
super(url, provider.network);
|
|
22
|
-
(0, properties_1.defineReadOnly)(this, "apiKey", provider.apiKey);
|
|
23
|
-
}
|
|
24
|
-
isCommunityResource() {
|
|
25
|
-
return (this.apiKey === defaultApiKey);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.AlchemyWebSocketProvider = AlchemyWebSocketProvider;
|
|
29
|
-
class AlchemyProvider extends url_json_rpc_provider_1.UrlJsonRpcProvider {
|
|
30
|
-
static getWebSocketProvider(network, apiKey) {
|
|
31
|
-
return new AlchemyWebSocketProvider(network, apiKey);
|
|
32
|
-
}
|
|
33
|
-
static getApiKey(apiKey) {
|
|
34
|
-
if (apiKey == null) {
|
|
35
|
-
return defaultApiKey;
|
|
36
|
-
}
|
|
37
|
-
if (apiKey && typeof (apiKey) !== "string") {
|
|
38
|
-
logger.throwArgumentError("invalid apiKey", "apiKey", apiKey);
|
|
39
|
-
}
|
|
40
|
-
return apiKey;
|
|
41
|
-
}
|
|
42
|
-
static getUrl(network, apiKey) {
|
|
43
|
-
let host = null;
|
|
44
|
-
switch (network.name) {
|
|
45
|
-
case "homestead":
|
|
46
|
-
host = "eth-mainnet.alchemyapi.io/v2/";
|
|
47
|
-
break;
|
|
48
|
-
case "goerli":
|
|
49
|
-
host = "eth-goerli.g.alchemy.com/v2/";
|
|
50
|
-
break;
|
|
51
|
-
case "matic":
|
|
52
|
-
host = "polygon-mainnet.g.alchemy.com/v2/";
|
|
53
|
-
break;
|
|
54
|
-
case "maticmum":
|
|
55
|
-
host = "polygon-mumbai.g.alchemy.com/v2/";
|
|
56
|
-
break;
|
|
57
|
-
case "arbitrum":
|
|
58
|
-
host = "arb-mainnet.g.alchemy.com/v2/";
|
|
59
|
-
break;
|
|
60
|
-
case "arbitrum-goerli":
|
|
61
|
-
host = "arb-goerli.g.alchemy.com/v2/";
|
|
62
|
-
break;
|
|
63
|
-
case "optimism":
|
|
64
|
-
host = "opt-mainnet.g.alchemy.com/v2/";
|
|
65
|
-
break;
|
|
66
|
-
case "optimism-goerli":
|
|
67
|
-
host = "opt-goerli.g.alchemy.com/v2/";
|
|
68
|
-
break;
|
|
69
|
-
default:
|
|
70
|
-
logger.throwArgumentError("unsupported network", "network", arguments[0]);
|
|
71
|
-
}
|
|
72
|
-
return {
|
|
73
|
-
allowGzip: true,
|
|
74
|
-
url: ("https:/" + "/" + host + apiKey),
|
|
75
|
-
throttleCallback: (attempt, url) => {
|
|
76
|
-
if (apiKey === defaultApiKey) {
|
|
77
|
-
(0, formatter_1.showThrottleMessage)();
|
|
78
|
-
}
|
|
79
|
-
return Promise.resolve(true);
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
isCommunityResource() {
|
|
84
|
-
return (this.apiKey === defaultApiKey);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
exports.AlchemyProvider = AlchemyProvider;
|
|
88
|
-
//# sourceMappingURL=alchemy-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alchemy-provider.js","sourceRoot":"","sources":["../src.ts/alchemy-provider.ts"],"names":[],"mappings":"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"}
|
package/lib/ankr-provider.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Network } from "@ethersproject/networks";
|
|
2
|
-
import { UrlJsonRpcProvider } from "./url-json-rpc-provider";
|
|
3
|
-
import type { ConnectionInfo } from "@qevm/web";
|
|
4
|
-
export declare class AnkrProvider extends UrlJsonRpcProvider {
|
|
5
|
-
readonly apiKey: string;
|
|
6
|
-
isCommunityResource(): boolean;
|
|
7
|
-
static getApiKey(apiKey: any): any;
|
|
8
|
-
static getUrl(network: Network, apiKey: any): ConnectionInfo;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=ankr-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ankr-provider.d.ts","sourceRoot":"","sources":["../src.ts/ankr-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA6BhD,qBAAa,YAAa,SAAQ,kBAAkB;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,mBAAmB,IAAI,OAAO;IAI9B,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG;IAKlC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,cAAc;CAoB/D"}
|
package/lib/ankr-provider.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AnkrProvider = void 0;
|
|
4
|
-
const formatter_1 = require("./formatter");
|
|
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
|
-
const defaultApiKey = "9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";
|
|
10
|
-
function getHost(name) {
|
|
11
|
-
switch (name) {
|
|
12
|
-
case "homestead":
|
|
13
|
-
return "rpc.ankr.com/eth/";
|
|
14
|
-
case "ropsten":
|
|
15
|
-
return "rpc.ankr.com/eth_ropsten/";
|
|
16
|
-
case "rinkeby":
|
|
17
|
-
return "rpc.ankr.com/eth_rinkeby/";
|
|
18
|
-
case "goerli":
|
|
19
|
-
return "rpc.ankr.com/eth_goerli/";
|
|
20
|
-
case "matic":
|
|
21
|
-
return "rpc.ankr.com/polygon/";
|
|
22
|
-
case "arbitrum":
|
|
23
|
-
return "rpc.ankr.com/arbitrum/";
|
|
24
|
-
}
|
|
25
|
-
return logger.throwArgumentError("unsupported network", "name", name);
|
|
26
|
-
}
|
|
27
|
-
class AnkrProvider extends url_json_rpc_provider_1.UrlJsonRpcProvider {
|
|
28
|
-
isCommunityResource() {
|
|
29
|
-
return (this.apiKey === defaultApiKey);
|
|
30
|
-
}
|
|
31
|
-
static getApiKey(apiKey) {
|
|
32
|
-
if (apiKey == null) {
|
|
33
|
-
return defaultApiKey;
|
|
34
|
-
}
|
|
35
|
-
return apiKey;
|
|
36
|
-
}
|
|
37
|
-
static getUrl(network, apiKey) {
|
|
38
|
-
if (apiKey == null) {
|
|
39
|
-
apiKey = defaultApiKey;
|
|
40
|
-
}
|
|
41
|
-
const connection = {
|
|
42
|
-
allowGzip: true,
|
|
43
|
-
url: ("https:/\/" + getHost(network.name) + apiKey),
|
|
44
|
-
throttleCallback: (attempt, url) => {
|
|
45
|
-
if (apiKey.apiKey === defaultApiKey) {
|
|
46
|
-
(0, formatter_1.showThrottleMessage)();
|
|
47
|
-
}
|
|
48
|
-
return Promise.resolve(true);
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
if (apiKey.projectSecret != null) {
|
|
52
|
-
connection.user = "";
|
|
53
|
-
connection.password = apiKey.projectSecret;
|
|
54
|
-
}
|
|
55
|
-
return connection;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
exports.AnkrProvider = AnkrProvider;
|
|
59
|
-
//# sourceMappingURL=ankr-provider.js.map
|
package/lib/ankr-provider.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ankr-provider.js","sourceRoot":"","sources":["../src.ts/ankr-provider.ts"],"names":[],"mappings":";;;AAGA,2CAAkD;AAClD,mEAA6D;AAI7D,kDAA+C;AAC/C,yCAAqC;AACrC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,kBAAO,CAAC,CAAC;AAGnC,MAAM,aAAa,GAAG,kEAAkE,CAAC;AAEzF,SAAS,OAAO,CAAC,IAAY;IACzB,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,WAAW;YACZ,OAAO,mBAAmB,CAAC;QAC/B,KAAK,SAAS;YACV,OAAO,2BAA2B,CAAC;QACvC,KAAK,SAAS;YACV,OAAO,2BAA2B,CAAC;QACvC,KAAK,QAAQ;YACT,OAAO,0BAA0B,CAAC;QAEtC,KAAK,OAAO;YACR,OAAO,uBAAuB,CAAC;QAEnC,KAAK,UAAU;YACX,OAAO,wBAAwB,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,MAAa,YAAa,SAAQ,0CAAkB;IAGhD,mBAAmB;QACf,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAW;QACxB,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YAAC,OAAO,aAAa,CAAC;QAAC,CAAC;QAC7C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAgB,EAAE,MAAW;QACvC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YAAC,MAAM,GAAG,aAAa,CAAC;QAAC,CAAC;QAC/C,MAAM,UAAU,GAAmB;YAC/B,SAAS,EAAE,IAAI;YACf,GAAG,EAAE,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YACnD,gBAAgB,EAAE,CAAC,OAAe,EAAE,GAAW,EAAE,EAAE;gBAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;oBAClC,IAAA,+BAAmB,GAAE,CAAC;gBAC1B,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;SACJ,CAAC;QAEF,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC;YACrB,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAA;QAC9C,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AAhCD,oCAgCC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Network } from "@ethersproject/networks";
|
|
2
|
-
import { UrlJsonRpcProvider } from "./url-json-rpc-provider";
|
|
3
|
-
export declare class CloudflareProvider extends UrlJsonRpcProvider {
|
|
4
|
-
static getApiKey(apiKey: any): any;
|
|
5
|
-
static getUrl(network: Network, apiKey?: any): string;
|
|
6
|
-
perform(method: string, params: any): Promise<any>;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=cloudflare-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare-provider.d.ts","sourceRoot":"","sources":["../src.ts/cloudflare-provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAM7D,qBAAa,kBAAmB,SAAQ,kBAAkB;IAEtD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG;IAOlC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,MAAM;IAa/C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAU3D"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CloudflareProvider = void 0;
|
|
4
|
-
const url_json_rpc_provider_1 = require("./url-json-rpc-provider");
|
|
5
|
-
const logger_1 = require("@ethersproject/logger");
|
|
6
|
-
const _version_1 = require("./_version");
|
|
7
|
-
const logger = new logger_1.Logger(_version_1.version);
|
|
8
|
-
class CloudflareProvider extends url_json_rpc_provider_1.UrlJsonRpcProvider {
|
|
9
|
-
static getApiKey(apiKey) {
|
|
10
|
-
if (apiKey != null) {
|
|
11
|
-
logger.throwArgumentError("apiKey not supported for cloudflare", "apiKey", apiKey);
|
|
12
|
-
}
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
static getUrl(network, apiKey) {
|
|
16
|
-
let host = null;
|
|
17
|
-
switch (network.name) {
|
|
18
|
-
case "homestead":
|
|
19
|
-
host = "https://cloudflare-eth.com/";
|
|
20
|
-
break;
|
|
21
|
-
default:
|
|
22
|
-
logger.throwArgumentError("unsupported network", "network", arguments[0]);
|
|
23
|
-
}
|
|
24
|
-
return host;
|
|
25
|
-
}
|
|
26
|
-
async perform(method, params) {
|
|
27
|
-
// The Cloudflare provider does not support eth_blockNumber,
|
|
28
|
-
// so we get the latest block and pull it from that
|
|
29
|
-
if (method === "getBlockNumber") {
|
|
30
|
-
const block = await super.perform("getBlock", { blockTag: "latest" });
|
|
31
|
-
return block.number;
|
|
32
|
-
}
|
|
33
|
-
return super.perform(method, params);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
exports.CloudflareProvider = CloudflareProvider;
|
|
37
|
-
//# sourceMappingURL=cloudflare-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare-provider.js","sourceRoot":"","sources":["../src.ts/cloudflare-provider.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAGb,mEAA6D;AAE7D,kDAA+C;AAC/C,yCAAqC;AACrC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,kBAAO,CAAC,CAAC;AAEnC,MAAa,kBAAmB,SAAQ,0CAAkB;IAEtD,MAAM,CAAC,SAAS,CAAC,MAAW;QACxB,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,CAAC,kBAAkB,CAAC,qCAAqC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAgB,EAAE,MAAY;QACxC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,WAAW;gBACZ,IAAI,GAAG,6BAA6B,CAAC;gBACrC,MAAM;YACV;gBACG,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,MAAW;QACrC,4DAA4D;QAC5D,mDAAmD;QACnD,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACtE,OAAO,KAAK,CAAC,MAAM,CAAC;QACxB,CAAC;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;CACJ;AAhCD,gDAgCC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { BlockTag, TransactionResponse } from "@qevm/abstract-provider";
|
|
2
|
-
import { Network, Networkish } from "@ethersproject/networks";
|
|
3
|
-
import { BaseProvider } from "./base-provider";
|
|
4
|
-
export declare class EtherscanProvider extends BaseProvider {
|
|
5
|
-
readonly baseUrl: string;
|
|
6
|
-
readonly apiKey: string | null;
|
|
7
|
-
constructor(network?: Networkish, apiKey?: string);
|
|
8
|
-
getBaseUrl(): string;
|
|
9
|
-
getUrl(module: string, params: Record<string, string>): string;
|
|
10
|
-
getPostUrl(): string;
|
|
11
|
-
getPostData(module: string, params: Record<string, any>): Record<string, any>;
|
|
12
|
-
fetch(module: string, params: Record<string, any>, post?: boolean): Promise<any>;
|
|
13
|
-
detectNetwork(): Promise<Network>;
|
|
14
|
-
perform(method: string, params: any): Promise<any>;
|
|
15
|
-
getHistory(addressOrName: string | Promise<string>, startBlock?: BlockTag, endBlock?: BlockTag): Promise<Array<TransactionResponse>>;
|
|
16
|
-
isCommunityResource(): boolean;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=etherscan-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"etherscan-provider.d.ts","sourceRoot":"","sources":["../src.ts/etherscan-provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAsB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE5F,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAW9D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA+I/C,qBAAa,iBAAkB,SAAQ,YAAY;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEnB,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM;IAOjD,UAAU,IAAI,MAAM;IA0BpB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAY9D,UAAU,IAAI,MAAM;IAIpB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAMvE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IA0ChF,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAmKlD,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAwB1I,mBAAmB,IAAI,OAAO;CAGjC"}
|