@lodestar/beacon-node 1.36.0-dev.f259361847 → 1.36.0-dev.f3703b7882
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/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
- package/lib/api/impl/beacon/blocks/index.js +41 -22
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/lodestar/index.d.ts +5 -0
- package/lib/api/impl/lodestar/index.d.ts.map +1 -1
- package/lib/api/impl/lodestar/index.js +35 -10
- package/lib/api/impl/lodestar/index.js.map +1 -1
- package/lib/api/impl/node/utils.js +1 -1
- package/lib/api/impl/node/utils.js.map +1 -1
- package/lib/chain/chain.d.ts +5 -2
- package/lib/chain/chain.d.ts.map +1 -1
- package/lib/chain/chain.js +32 -16
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/errors/blobSidecarError.d.ts +5 -0
- package/lib/chain/errors/blobSidecarError.d.ts.map +1 -1
- package/lib/chain/errors/blobSidecarError.js.map +1 -1
- package/lib/chain/errors/dataColumnSidecarError.d.ts +21 -14
- package/lib/chain/errors/dataColumnSidecarError.d.ts.map +1 -1
- package/lib/chain/errors/dataColumnSidecarError.js +4 -0
- package/lib/chain/errors/dataColumnSidecarError.js.map +1 -1
- package/lib/chain/forkChoice/index.d.ts +9 -1
- package/lib/chain/forkChoice/index.d.ts.map +1 -1
- package/lib/chain/forkChoice/index.js +109 -4
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/interface.d.ts +2 -0
- package/lib/chain/interface.d.ts.map +1 -1
- package/lib/chain/options.d.ts +0 -2
- package/lib/chain/options.d.ts.map +1 -1
- package/lib/chain/options.js +2 -2
- package/lib/chain/options.js.map +1 -1
- package/lib/chain/stateCache/datastore/db.d.ts +12 -0
- package/lib/chain/stateCache/datastore/db.d.ts.map +1 -1
- package/lib/chain/stateCache/datastore/db.js +70 -0
- package/lib/chain/stateCache/datastore/db.js.map +1 -1
- package/lib/chain/stateCache/datastore/file.d.ts +1 -0
- package/lib/chain/stateCache/datastore/file.d.ts.map +1 -1
- package/lib/chain/stateCache/datastore/file.js +7 -0
- package/lib/chain/stateCache/datastore/file.js.map +1 -1
- package/lib/chain/stateCache/datastore/types.d.ts +1 -0
- package/lib/chain/stateCache/datastore/types.d.ts.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +16 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.js +31 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
- package/lib/chain/validation/blobSidecar.d.ts +4 -1
- package/lib/chain/validation/blobSidecar.d.ts.map +1 -1
- package/lib/chain/validation/blobSidecar.js +46 -11
- package/lib/chain/validation/blobSidecar.js.map +1 -1
- package/lib/chain/validation/dataColumnSidecar.d.ts +4 -1
- package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
- package/lib/chain/validation/dataColumnSidecar.js +64 -19
- package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/metrics/metrics/lodestar.js +1 -1
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/network/core/networkCore.d.ts.map +1 -1
- package/lib/network/core/networkCore.js +5 -1
- package/lib/network/core/networkCore.js.map +1 -1
- package/lib/network/core/networkCoreWorker.js +8 -8
- package/lib/network/core/networkCoreWorker.js.map +1 -1
- package/lib/network/core/networkCoreWorkerHandler.js +1 -1
- package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
- package/lib/network/discv5/worker.js +2 -7
- package/lib/network/discv5/worker.js.map +1 -1
- package/lib/network/events.d.ts +1 -0
- package/lib/network/events.d.ts.map +1 -1
- package/lib/network/gossip/encoding.js +1 -1
- package/lib/network/gossip/encoding.js.map +1 -1
- package/lib/network/gossip/gossipsub.d.ts.map +1 -1
- package/lib/network/gossip/gossipsub.js +6 -1
- package/lib/network/gossip/gossipsub.js.map +1 -1
- package/lib/network/gossip/interface.d.ts +2 -0
- package/lib/network/gossip/interface.d.ts.map +1 -1
- package/lib/network/gossip/snappy_bun.d.ts +3 -0
- package/lib/network/gossip/snappy_bun.d.ts.map +1 -0
- package/lib/network/gossip/snappy_bun.js +3 -0
- package/lib/network/gossip/snappy_bun.js.map +1 -0
- package/lib/network/metadata.d.ts +1 -1
- package/lib/network/metadata.d.ts.map +1 -1
- package/lib/network/metadata.js +1 -0
- package/lib/network/metadata.js.map +1 -1
- package/lib/network/options.d.ts +0 -1
- package/lib/network/options.d.ts.map +1 -1
- package/lib/network/options.js.map +1 -1
- package/lib/network/peers/discover.js +2 -2
- package/lib/network/peers/discover.js.map +1 -1
- package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
- package/lib/network/processor/gossipHandlers.js +15 -1
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
- package/lib/network/processor/gossipValidatorFn.js +3 -2
- package/lib/network/processor/gossipValidatorFn.js.map +1 -1
- package/lib/network/processor/types.d.ts +2 -0
- package/lib/network/processor/types.d.ts.map +1 -1
- package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
- package/lib/network/reqresp/ReqRespBeaconNode.js +3 -1
- package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +2 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js +14 -3
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts +2 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +9 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts +2 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +9 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/index.js +6 -6
- package/lib/network/reqresp/handlers/index.js.map +1 -1
- package/lib/network/reqresp/types.d.ts +1 -0
- package/lib/network/reqresp/types.d.ts.map +1 -1
- package/lib/node/nodejs.d.ts +2 -1
- package/lib/node/nodejs.d.ts.map +1 -1
- package/lib/node/nodejs.js +2 -1
- package/lib/node/nodejs.js.map +1 -1
- package/lib/sync/range/range.d.ts.map +1 -1
- package/lib/sync/range/range.js +2 -1
- package/lib/sync/range/range.js.map +1 -1
- package/lib/sync/unknownBlock.js +1 -1
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/sync/utils/downloadByRange.d.ts +59 -15
- package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
- package/lib/sync/utils/downloadByRange.js +204 -83
- package/lib/sync/utils/downloadByRange.js.map +1 -1
- package/lib/sync/utils/downloadByRoot.d.ts +8 -14
- package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
- package/lib/sync/utils/downloadByRoot.js +18 -33
- package/lib/sync/utils/downloadByRoot.js.map +1 -1
- package/lib/sync/utils/remoteSyncType.d.ts +2 -1
- package/lib/sync/utils/remoteSyncType.d.ts.map +1 -1
- package/lib/sync/utils/remoteSyncType.js +19 -4
- package/lib/sync/utils/remoteSyncType.js.map +1 -1
- package/lib/util/blobs.d.ts +1 -1
- package/lib/util/blobs.d.ts.map +1 -1
- package/lib/util/blobs.js +53 -20
- package/lib/util/blobs.js.map +1 -1
- package/lib/util/profile.d.ts +6 -4
- package/lib/util/profile.d.ts.map +1 -1
- package/lib/util/profile.js +40 -3
- package/lib/util/profile.js.map +1 -1
- package/lib/util/sszBytes.d.ts +2 -0
- package/lib/util/sszBytes.d.ts.map +1 -1
- package/lib/util/sszBytes.js +25 -0
- package/lib/util/sszBytes.js.map +1 -1
- package/package.json +32 -25
- package/src/api/impl/beacon/blocks/index.ts +47 -25
- package/src/api/impl/lodestar/index.ts +42 -10
- package/src/api/impl/node/utils.ts +1 -1
- package/src/chain/chain.ts +48 -23
- package/src/chain/errors/blobSidecarError.ts +12 -2
- package/src/chain/errors/dataColumnSidecarError.ts +31 -16
- package/src/chain/forkChoice/index.ts +178 -2
- package/src/chain/interface.ts +2 -0
- package/src/chain/options.ts +2 -3
- package/src/chain/stateCache/datastore/db.ts +89 -1
- package/src/chain/stateCache/datastore/file.ts +8 -0
- package/src/chain/stateCache/datastore/types.ts +1 -0
- package/src/chain/stateCache/persistentCheckpointsCache.ts +45 -2
- package/src/chain/validation/blobSidecar.ts +54 -10
- package/src/chain/validation/dataColumnSidecar.ts +76 -19
- package/src/index.ts +2 -0
- package/src/metrics/metrics/lodestar.ts +1 -1
- package/src/network/core/networkCore.ts +5 -1
- package/src/network/core/networkCoreWorker.ts +9 -9
- package/src/network/core/networkCoreWorkerHandler.ts +1 -1
- package/src/network/discv5/worker.ts +2 -7
- package/src/network/events.ts +1 -1
- package/src/network/gossip/encoding.ts +1 -1
- package/src/network/gossip/gossipsub.ts +7 -1
- package/src/network/gossip/interface.ts +2 -0
- package/src/network/gossip/snappy_bun.ts +2 -0
- package/src/network/metadata.ts +3 -1
- package/src/network/options.ts +0 -1
- package/src/network/peers/discover.ts +2 -2
- package/src/network/processor/gossipHandlers.ts +16 -1
- package/src/network/processor/gossipValidatorFn.ts +15 -2
- package/src/network/processor/types.ts +2 -0
- package/src/network/reqresp/ReqRespBeaconNode.ts +3 -1
- package/src/network/reqresp/handlers/beaconBlocksByRange.ts +18 -3
- package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +13 -1
- package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +13 -1
- package/src/network/reqresp/handlers/index.ts +6 -6
- package/src/network/reqresp/types.ts +1 -0
- package/src/node/nodejs.ts +3 -0
- package/src/sync/range/range.ts +2 -1
- package/src/sync/unknownBlock.ts +1 -1
- package/src/sync/utils/downloadByRange.ts +273 -108
- package/src/sync/utils/downloadByRoot.ts +22 -56
- package/src/sync/utils/remoteSyncType.ts +23 -4
- package/src/util/blobs.ts +64 -20
- package/src/util/profile.ts +45 -3
- package/src/util/sszBytes.ts +30 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isForkPostFulu, isForkPostGloas, } from "@lodestar/params";
|
|
2
|
+
import { LodestarError, fromHex, prettyPrintIndices, toRootHex } from "@lodestar/utils";
|
|
2
3
|
import { BlockInputSource, DAType, isBlockInputBlobs, isBlockInputColumns, } from "../../chain/blocks/blockInput/index.js";
|
|
3
4
|
import { validateBlockBlobSidecars } from "../../chain/validation/blobSidecar.js";
|
|
4
5
|
import { validateBlockDataColumnSidecars } from "../../chain/validation/dataColumnSidecar.js";
|
|
@@ -37,7 +38,11 @@ export function cacheByRangeResponses({ cache, peerIdStr, responses, batchBlocks
|
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
for (const { blockRoot, blobSidecars } of responses.validatedBlobSidecars ?? []) {
|
|
40
|
-
const
|
|
41
|
+
const dataSlot = blobSidecars.at(0)?.signedBlockHeader.message.slot;
|
|
42
|
+
if (dataSlot === undefined) {
|
|
43
|
+
throw new Error(`Coding Error: empty blobSidecars returned for blockRoot=${toRootHex(blockRoot)} from validation functions`);
|
|
44
|
+
}
|
|
45
|
+
const existing = updatedBatchBlocks.get(dataSlot);
|
|
41
46
|
const blockRootHex = toRootHex(blockRoot);
|
|
42
47
|
if (!existing) {
|
|
43
48
|
throw new Error("Coding error: blockInput must exist when adding blobs");
|
|
@@ -46,7 +51,7 @@ export function cacheByRangeResponses({ cache, peerIdStr, responses, batchBlocks
|
|
|
46
51
|
throw new DownloadByRangeError({
|
|
47
52
|
code: DownloadByRangeErrorCode.MISMATCH_BLOCK_INPUT_TYPE,
|
|
48
53
|
slot: existing.slot,
|
|
49
|
-
blockRoot:
|
|
54
|
+
blockRoot: existing.blockRootHex,
|
|
50
55
|
expected: DAType.Blobs,
|
|
51
56
|
actual: existing.type,
|
|
52
57
|
});
|
|
@@ -63,16 +68,20 @@ export function cacheByRangeResponses({ cache, peerIdStr, responses, batchBlocks
|
|
|
63
68
|
}
|
|
64
69
|
}
|
|
65
70
|
for (const { blockRoot, columnSidecars } of responses.validatedColumnSidecars ?? []) {
|
|
66
|
-
const
|
|
71
|
+
const dataSlot = columnSidecars.at(0)?.signedBlockHeader.message.slot;
|
|
72
|
+
if (dataSlot === undefined) {
|
|
73
|
+
throw new Error(`Coding Error: empty columnSidecars returned for blockRoot=${toRootHex(blockRoot)} from validation functions`);
|
|
74
|
+
}
|
|
75
|
+
const existing = updatedBatchBlocks.get(dataSlot);
|
|
67
76
|
const blockRootHex = toRootHex(blockRoot);
|
|
68
77
|
if (!existing) {
|
|
69
|
-
throw new Error("Coding error: blockInput must exist when adding
|
|
78
|
+
throw new Error("Coding error: blockInput must exist when adding columns");
|
|
70
79
|
}
|
|
71
80
|
if (!isBlockInputColumns(existing)) {
|
|
72
81
|
throw new DownloadByRangeError({
|
|
73
82
|
code: DownloadByRangeErrorCode.MISMATCH_BLOCK_INPUT_TYPE,
|
|
74
83
|
slot: existing.slot,
|
|
75
|
-
blockRoot:
|
|
84
|
+
blockRoot: existing.blockRootHex,
|
|
76
85
|
expected: DAType.Columns,
|
|
77
86
|
actual: existing.type,
|
|
78
87
|
});
|
|
@@ -157,23 +166,27 @@ export async function validateResponses({ config, batchBlocks, blocksRequest, bl
|
|
|
157
166
|
// If no blocksRequest is provided, batchBlocks must have been provided from cache
|
|
158
167
|
if ((blobsRequest || columnsRequest) && !(blocks || batchBlocks)) {
|
|
159
168
|
throw new DownloadByRangeError({
|
|
160
|
-
code: DownloadByRangeErrorCode.
|
|
169
|
+
code: DownloadByRangeErrorCode.MISSING_BLOCKS_RESPONSE,
|
|
161
170
|
...requestsLogMeta({ blobsRequest, columnsRequest }),
|
|
162
171
|
}, "No blocks to validate data requests against");
|
|
163
172
|
}
|
|
164
173
|
const validatedResponses = {};
|
|
165
174
|
let warnings = null;
|
|
166
175
|
if (blocksRequest) {
|
|
167
|
-
|
|
176
|
+
const result = validateBlockByRangeResponse(config, blocksRequest, blocks ?? []);
|
|
177
|
+
if (result.warnings?.length) {
|
|
178
|
+
warnings = result.warnings;
|
|
179
|
+
}
|
|
180
|
+
validatedResponses.validatedBlocks = result.result;
|
|
168
181
|
}
|
|
169
182
|
const dataRequest = blobsRequest ?? columnsRequest;
|
|
170
183
|
if (!dataRequest) {
|
|
171
|
-
return { result: validatedResponses, warnings
|
|
184
|
+
return { result: validatedResponses, warnings };
|
|
172
185
|
}
|
|
173
|
-
const
|
|
174
|
-
if (!
|
|
186
|
+
const blocksForDataValidation = getBlocksForDataValidation(dataRequest, batchBlocks, validatedResponses.validatedBlocks?.length ? validatedResponses.validatedBlocks : undefined);
|
|
187
|
+
if (!blocksForDataValidation.length) {
|
|
175
188
|
throw new DownloadByRangeError({
|
|
176
|
-
code: DownloadByRangeErrorCode.
|
|
189
|
+
code: DownloadByRangeErrorCode.MISSING_BLOCKS_RESPONSE,
|
|
177
190
|
...requestsLogMeta({ blobsRequest, columnsRequest }),
|
|
178
191
|
}, "No blocks in data request slot range to validate data response against");
|
|
179
192
|
}
|
|
@@ -184,7 +197,7 @@ export async function validateResponses({ config, batchBlocks, blocksRequest, bl
|
|
|
184
197
|
...requestsLogMeta({ blobsRequest, columnsRequest }),
|
|
185
198
|
}, "No blobSidecars to validate against blobsRequest");
|
|
186
199
|
}
|
|
187
|
-
validatedResponses.validatedBlobSidecars = await validateBlobsByRangeResponse(
|
|
200
|
+
validatedResponses.validatedBlobSidecars = await validateBlobsByRangeResponse(blocksForDataValidation, blobSidecars);
|
|
188
201
|
}
|
|
189
202
|
if (columnsRequest) {
|
|
190
203
|
if (!columnSidecars) {
|
|
@@ -193,7 +206,7 @@ export async function validateResponses({ config, batchBlocks, blocksRequest, bl
|
|
|
193
206
|
...requestsLogMeta({ blobsRequest, columnsRequest }),
|
|
194
207
|
}, "No columnSidecars to check columnRequest against");
|
|
195
208
|
}
|
|
196
|
-
const validatedColumnSidecarsResult = await validateColumnsByRangeResponse(columnsRequest,
|
|
209
|
+
const validatedColumnSidecarsResult = await validateColumnsByRangeResponse(config, columnsRequest, blocksForDataValidation, columnSidecars);
|
|
197
210
|
validatedResponses.validatedColumnSidecars = validatedColumnSidecarsResult.result;
|
|
198
211
|
warnings = validatedColumnSidecarsResult.warnings;
|
|
199
212
|
}
|
|
@@ -210,17 +223,27 @@ export async function validateResponses({ config, batchBlocks, blocksRequest, bl
|
|
|
210
223
|
*/
|
|
211
224
|
export function validateBlockByRangeResponse(config, blocksRequest, blocks) {
|
|
212
225
|
const { startSlot, count } = blocksRequest;
|
|
213
|
-
//
|
|
214
|
-
//
|
|
215
|
-
//
|
|
216
|
-
//
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
226
|
+
// An error was thrown here by @twoeths in #8150 but it breaks for epochs with 0 blocks during chain
|
|
227
|
+
// liveness issues. See comment https://github.com/ChainSafe/lodestar/issues/8147#issuecomment-3246434697
|
|
228
|
+
// There are instances where clients return no blocks though. Need to monitor this via the warns to see
|
|
229
|
+
// if what the correct behavior should be
|
|
230
|
+
if (!blocks.length) {
|
|
231
|
+
throw new DownloadByRangeError({
|
|
232
|
+
code: DownloadByRangeErrorCode.MISSING_BLOCKS_RESPONSE,
|
|
233
|
+
...requestsLogMeta({ blocksRequest }),
|
|
234
|
+
});
|
|
235
|
+
// TODO: this was causing deadlock again. need to come back and fix this so that its possible to process through
|
|
236
|
+
// an empty epoch for periods with poor liveness
|
|
237
|
+
// return {
|
|
238
|
+
// result: [],
|
|
239
|
+
// warnings: [
|
|
240
|
+
// new DownloadByRangeError({
|
|
241
|
+
// code: DownloadByRangeErrorCode.MISSING_BLOCKS_RESPONSE,
|
|
242
|
+
// ...requestsLogMeta({blocksRequest}),
|
|
243
|
+
// }),
|
|
244
|
+
// ],
|
|
245
|
+
// };
|
|
246
|
+
}
|
|
224
247
|
if (blocks.length > count) {
|
|
225
248
|
throw new DownloadByRangeError({
|
|
226
249
|
code: DownloadByRangeErrorCode.EXTRA_BLOCKS,
|
|
@@ -260,13 +283,16 @@ export function validateBlockByRangeResponse(config, blocksRequest, blocks) {
|
|
|
260
283
|
throw new DownloadByRangeError({
|
|
261
284
|
code: DownloadByRangeErrorCode.PARENT_ROOT_MISMATCH,
|
|
262
285
|
slot: blocks[i].message.slot,
|
|
263
|
-
expected:
|
|
264
|
-
actual:
|
|
286
|
+
expected: toRootHex(blockRoot),
|
|
287
|
+
actual: toRootHex(parentRoot),
|
|
265
288
|
}, `Block parent root does not match the previous block's root in BeaconBlocksByRange response`);
|
|
266
289
|
}
|
|
267
290
|
}
|
|
268
291
|
}
|
|
269
|
-
return
|
|
292
|
+
return {
|
|
293
|
+
result: response,
|
|
294
|
+
warnings: null,
|
|
295
|
+
};
|
|
270
296
|
}
|
|
271
297
|
/**
|
|
272
298
|
* Should not be called directly. Only exported for unit testing purposes.
|
|
@@ -306,89 +332,180 @@ export async function validateBlobsByRangeResponse(dataRequestBlocks, blobSideca
|
|
|
306
332
|
}, "Blob sidecars not in order or do not match expected indexes in BlobSidecarsByRange response");
|
|
307
333
|
}
|
|
308
334
|
}
|
|
309
|
-
validateSidecarsPromises.push(validateBlockBlobSidecars(
|
|
335
|
+
validateSidecarsPromises.push(validateBlockBlobSidecars(null, // do not pass chain here so we do not validate header signature
|
|
336
|
+
block.message.slot, blockRoot, blockKzgCommitments.length, blockBlobSidecars).then(() => ({ blockRoot, blobSidecars: blockBlobSidecars })));
|
|
310
337
|
}
|
|
311
338
|
// Await all sidecar validations in parallel
|
|
312
339
|
return Promise.all(validateSidecarsPromises);
|
|
313
340
|
}
|
|
314
341
|
/**
|
|
315
342
|
* Should not be called directly. Only exported for unit testing purposes
|
|
343
|
+
*
|
|
344
|
+
* Spec states:
|
|
345
|
+
* 1) must be within range [start_slot, start_slot + count]
|
|
346
|
+
* 2) should respond with all columns in the range or and 3:ResourceUnavailable (and potentially get down-scored)
|
|
347
|
+
* 3) must response with at least the sidecars of the first blob-carrying block that exists in the range
|
|
348
|
+
* 4) must include all sidecars from each block from which there are blobs
|
|
349
|
+
* 5) where they exists, sidecars must be sent in (slot, index) order
|
|
350
|
+
* 6) clients may limit the number of sidecars in a response
|
|
351
|
+
* 7) clients may stop responding mid-response if their view of fork-choice changes
|
|
352
|
+
*
|
|
353
|
+
* We will interpret the spec as follows
|
|
354
|
+
* - Errors when validating: 1, 3, 5
|
|
355
|
+
* - Warnings when validating: 2, 4, 6, 7
|
|
356
|
+
*
|
|
357
|
+
* For "warning" cases, where we get a partial response but sidecars are validated and correct with respect to the
|
|
358
|
+
* blocks, then they will be kept. This loosening of the spec is to help ensure sync goes smoothly and we can find
|
|
359
|
+
* the data needed in difficult network situations.
|
|
360
|
+
*
|
|
361
|
+
* Assume for the following two examples we request indices 5, 10, 15 for a range of slots 32-63
|
|
362
|
+
*
|
|
363
|
+
* For slots where we receive no sidecars, example slot 45, but blobs exist we will stop validating subsequent
|
|
364
|
+
* slots, 45-63. The next round of requests will get structured to pull the from the slot that had columns
|
|
365
|
+
* missing to the end of the range for all columns indices that were requested for the current partially failed
|
|
366
|
+
* request (slots 45-63 and indices 5, 10, 15).
|
|
367
|
+
*
|
|
368
|
+
* For slots where only some of the requested sidecars are received we will proceed with validation. For simplicity sake
|
|
369
|
+
* we will assume that if we only get some indices back for a (or several) slot(s) that the indices we get will be
|
|
370
|
+
* consistent. IE if a peer returns only index 5, they will most likely return that same index for subsequent slot
|
|
371
|
+
* (index 5 for slots 34, 35, 36, etc). They will not likely return 5 on slot 34, 10 on slot 35, 15 on slot 36, etc.
|
|
372
|
+
* This assumption makes the code simpler. For both cases the request for the next round will be structured correctly
|
|
373
|
+
* to pull any missing column indices for whatever range remains. The simplification just leads to re-verification
|
|
374
|
+
* of the columns but the number of columns downloaded will be the same regardless of if they are validated twice.
|
|
375
|
+
*
|
|
376
|
+
* validateColumnsByRangeResponse makes some assumptions about the data being passed in
|
|
377
|
+
* blocks are:
|
|
378
|
+
* - slotwise in order
|
|
379
|
+
* - form a chain
|
|
380
|
+
* - non-sparse response (any missing block is a skipped slot not a bad response)
|
|
381
|
+
* - last block is last slot received
|
|
316
382
|
*/
|
|
317
|
-
export async function validateColumnsByRangeResponse(request,
|
|
318
|
-
// Expected column count considering currently-validated batch blocks
|
|
319
|
-
// TODO GLOAS: Post-gloas's blobKzgCommitments is not in beacon block body. Need to source it from somewhere else.
|
|
320
|
-
const expectedColumnCount = dataRequestBlocks.reduce((acc, { block }) => {
|
|
321
|
-
return block.message.body.blobKzgCommitments.length > 0
|
|
322
|
-
? request.columns.length + acc
|
|
323
|
-
: acc;
|
|
324
|
-
}, 0);
|
|
325
|
-
const nextSlot = dataRequestBlocks.length
|
|
326
|
-
? dataRequestBlocks.at(-1).block.message.slot + 1
|
|
327
|
-
: request.startSlot;
|
|
328
|
-
const possiblyMissingBlocks = nextSlot - request.startSlot + request.count;
|
|
329
|
-
// Allow for extra columns if some blocks are missing from the end of a batch
|
|
330
|
-
// Eg: If we requested 10 blocks but only 8 were returned, allow for up to 2 * columns.length extra columns
|
|
331
|
-
const maxColumnCount = expectedColumnCount + possiblyMissingBlocks * request.columns.length;
|
|
332
|
-
if (columnSidecars.length > maxColumnCount) {
|
|
333
|
-
// this never happens on devnet, so throw error for now
|
|
334
|
-
throw new DownloadByRangeError({
|
|
335
|
-
code: DownloadByRangeErrorCode.OVER_COLUMNS,
|
|
336
|
-
max: maxColumnCount,
|
|
337
|
-
actual: columnSidecars.length,
|
|
338
|
-
}, "Extra data columns received in DataColumnSidecarsByRange response");
|
|
339
|
-
}
|
|
383
|
+
export async function validateColumnsByRangeResponse(config, request, blocks, columnSidecars) {
|
|
340
384
|
const warnings = [];
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
const slot =
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
.
|
|
351
|
-
|
|
352
|
-
if (
|
|
385
|
+
const seenColumns = new Map();
|
|
386
|
+
let currentSlot = -1;
|
|
387
|
+
let currentIndex = -1;
|
|
388
|
+
// Check for duplicates and order
|
|
389
|
+
for (const columnSidecar of columnSidecars) {
|
|
390
|
+
const slot = columnSidecar.signedBlockHeader.message.slot;
|
|
391
|
+
let seenSlotColumns = seenColumns.get(slot);
|
|
392
|
+
if (!seenSlotColumns) {
|
|
393
|
+
seenSlotColumns = new Map();
|
|
394
|
+
seenColumns.set(slot, seenSlotColumns);
|
|
395
|
+
}
|
|
396
|
+
if (seenSlotColumns.has(columnSidecar.index)) {
|
|
397
|
+
warnings.push(new DownloadByRangeError({
|
|
398
|
+
code: DownloadByRangeErrorCode.DUPLICATE_COLUMN,
|
|
399
|
+
slot,
|
|
400
|
+
index: columnSidecar.index,
|
|
401
|
+
}));
|
|
353
402
|
continue;
|
|
354
403
|
}
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
404
|
+
if (currentSlot > slot) {
|
|
405
|
+
warnings.push(new DownloadByRangeError({
|
|
406
|
+
code: DownloadByRangeErrorCode.OUT_OF_ORDER_COLUMNS,
|
|
407
|
+
slot,
|
|
408
|
+
}, "ColumnSidecars received out of slot order"));
|
|
409
|
+
}
|
|
410
|
+
if (currentSlot === slot && currentIndex > columnSidecar.index) {
|
|
411
|
+
warnings.push(new DownloadByRangeError({
|
|
412
|
+
code: DownloadByRangeErrorCode.OUT_OF_ORDER_COLUMNS,
|
|
413
|
+
slot,
|
|
414
|
+
}, "Column indices out of order within a slot"));
|
|
415
|
+
}
|
|
416
|
+
seenSlotColumns.set(columnSidecar.index, columnSidecar);
|
|
417
|
+
if (currentSlot !== slot) {
|
|
418
|
+
// a new slot has started, reset index
|
|
419
|
+
currentIndex = -1;
|
|
420
|
+
}
|
|
421
|
+
else {
|
|
422
|
+
currentIndex = columnSidecar.index;
|
|
423
|
+
}
|
|
424
|
+
currentSlot = slot;
|
|
425
|
+
}
|
|
426
|
+
const validationPromises = [];
|
|
427
|
+
for (const { blockRoot, block } of blocks) {
|
|
428
|
+
const slot = block.message.slot;
|
|
429
|
+
const rootHex = toRootHex(blockRoot);
|
|
430
|
+
const forkName = config.getForkName(slot);
|
|
431
|
+
const columnSidecarsMap = seenColumns.get(slot) ?? new Map();
|
|
432
|
+
const columnSidecars = Array.from(columnSidecarsMap.values()).sort((a, b) => a.index - b.index);
|
|
433
|
+
let blobCount;
|
|
434
|
+
if (!isForkPostFulu(forkName)) {
|
|
435
|
+
const dataSlot = columnSidecars.at(0)?.signedBlockHeader.message.slot;
|
|
436
|
+
throw new DownloadByRangeError({
|
|
437
|
+
code: DownloadByRangeErrorCode.MISMATCH_BLOCK_FORK,
|
|
438
|
+
slot,
|
|
439
|
+
blockFork: forkName,
|
|
440
|
+
dataFork: dataSlot ? config.getForkName(dataSlot) : "unknown",
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
if (isForkPostGloas(forkName)) {
|
|
444
|
+
// TODO GLOAS: Post-gloas's blobKzgCommitments is not in beacon block body. Need to source it from somewhere else.
|
|
445
|
+
// if block without columns is passed default to zero and throw below
|
|
446
|
+
blobCount = 0;
|
|
447
|
+
}
|
|
448
|
+
else {
|
|
449
|
+
blobCount = block.message.body.blobKzgCommitments.length;
|
|
450
|
+
}
|
|
451
|
+
if (columnSidecars.length === 0) {
|
|
452
|
+
if (!blobCount) {
|
|
453
|
+
// no columns in the slot
|
|
454
|
+
continue;
|
|
361
455
|
}
|
|
362
|
-
|
|
363
|
-
|
|
456
|
+
/**
|
|
457
|
+
* If no columns are found for a block and there are commitments on the block then stop checking and just
|
|
458
|
+
* return early. Even if there were columns returned for subsequent slots that doesn't matter because
|
|
459
|
+
* we will be re-requesting them again anyway. Leftovers just get ignored
|
|
460
|
+
*/
|
|
461
|
+
warnings.push(new DownloadByRangeError({
|
|
462
|
+
code: DownloadByRangeErrorCode.MISSING_COLUMNS,
|
|
463
|
+
slot,
|
|
464
|
+
blockRoot: rootHex,
|
|
465
|
+
missingIndices: prettyPrintIndices(request.columns),
|
|
466
|
+
}));
|
|
467
|
+
break;
|
|
364
468
|
}
|
|
365
|
-
const returnedColumns =
|
|
366
|
-
|
|
469
|
+
const returnedColumns = Array.from(columnSidecarsMap.keys()).sort();
|
|
470
|
+
if (!blobCount) {
|
|
471
|
+
// columns for a block that does not have blobs
|
|
472
|
+
// TODO(fulu): should this be a hard error with no data retained from peer or just a warning
|
|
473
|
+
throw new DownloadByRangeError({
|
|
474
|
+
code: DownloadByRangeErrorCode.NO_COLUMNS_FOR_BLOCK,
|
|
475
|
+
slot,
|
|
476
|
+
blockRoot: rootHex,
|
|
477
|
+
invalidIndices: prettyPrintIndices(returnedColumns),
|
|
478
|
+
}, "Block has no blob commitments but data column sidecars were provided");
|
|
479
|
+
}
|
|
480
|
+
const missingIndices = request.columns.filter((i) => !columnSidecarsMap.has(i));
|
|
367
481
|
if (missingIndices.length > 0) {
|
|
368
482
|
warnings.push(new DownloadByRangeError({
|
|
369
483
|
code: DownloadByRangeErrorCode.MISSING_COLUMNS,
|
|
370
484
|
slot,
|
|
371
|
-
blockRoot:
|
|
485
|
+
blockRoot: rootHex,
|
|
372
486
|
missingIndices: prettyPrintIndices(missingIndices),
|
|
373
487
|
}, "Missing data columns in DataColumnSidecarsByRange response"));
|
|
374
488
|
}
|
|
375
|
-
const extraIndices =
|
|
489
|
+
const extraIndices = returnedColumns.filter((i) => !request.columns.includes(i));
|
|
376
490
|
if (extraIndices.length > 0) {
|
|
377
491
|
warnings.push(new DownloadByRangeError({
|
|
378
492
|
code: DownloadByRangeErrorCode.EXTRA_COLUMNS,
|
|
379
493
|
slot,
|
|
380
|
-
blockRoot:
|
|
494
|
+
blockRoot: rootHex,
|
|
381
495
|
invalidIndices: prettyPrintIndices(extraIndices),
|
|
382
496
|
}, "Data column in not in requested columns in DataColumnSidecarsByRange response"));
|
|
383
497
|
}
|
|
384
|
-
|
|
498
|
+
validationPromises.push(validateBlockDataColumnSidecars(null, // do not pass chain here so we do not validate header signature
|
|
499
|
+
slot, blockRoot, blobCount, columnSidecars).then(() => ({
|
|
385
500
|
blockRoot,
|
|
386
|
-
columnSidecars
|
|
501
|
+
columnSidecars,
|
|
387
502
|
})));
|
|
388
503
|
}
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
504
|
+
const validatedColumns = await Promise.all(validationPromises);
|
|
505
|
+
return {
|
|
506
|
+
result: validatedColumns,
|
|
507
|
+
warnings: warnings.length ? warnings : null,
|
|
508
|
+
};
|
|
392
509
|
}
|
|
393
510
|
/**
|
|
394
511
|
* Given a data request, return only the blocks and roots that correspond to the data request (sorted). Assumes that
|
|
@@ -438,7 +555,7 @@ function requestsLogMeta({ blocksRequest, blobsRequest, columnsRequest }) {
|
|
|
438
555
|
}
|
|
439
556
|
export var DownloadByRangeErrorCode;
|
|
440
557
|
(function (DownloadByRangeErrorCode) {
|
|
441
|
-
DownloadByRangeErrorCode["
|
|
558
|
+
DownloadByRangeErrorCode["MISSING_BLOCKS_RESPONSE"] = "DOWNLOAD_BY_RANGE_ERROR_MISSING_BLOCK_RESPONSE";
|
|
442
559
|
DownloadByRangeErrorCode["MISSING_BLOBS_RESPONSE"] = "DOWNLOAD_BY_RANGE_ERROR_MISSING_BLOBS_RESPONSE";
|
|
443
560
|
DownloadByRangeErrorCode["MISSING_COLUMNS_RESPONSE"] = "DOWNLOAD_BY_RANGE_ERROR_MISSING_COLUMNS_RESPONSE";
|
|
444
561
|
/** Error at the reqresp layer */
|
|
@@ -454,7 +571,11 @@ export var DownloadByRangeErrorCode;
|
|
|
454
571
|
DownloadByRangeErrorCode["MISSING_COLUMNS"] = "DOWNLOAD_BY_RANGE_ERROR_MISSING_COLUMNS";
|
|
455
572
|
DownloadByRangeErrorCode["OVER_COLUMNS"] = "DOWNLOAD_BY_RANGE_ERROR_OVER_COLUMNS";
|
|
456
573
|
DownloadByRangeErrorCode["EXTRA_COLUMNS"] = "DOWNLOAD_BY_RANGE_ERROR_EXTRA_COLUMNS";
|
|
574
|
+
DownloadByRangeErrorCode["NO_COLUMNS_FOR_BLOCK"] = "DOWNLOAD_BY_RANGE_ERROR_NO_COLUMNS_FOR_BLOCK";
|
|
575
|
+
DownloadByRangeErrorCode["DUPLICATE_COLUMN"] = "DOWNLOAD_BY_RANGE_ERROR_DUPLICATE_COLUMN";
|
|
576
|
+
DownloadByRangeErrorCode["OUT_OF_ORDER_COLUMNS"] = "DOWNLOAD_BY_RANGE_OUT_OF_ORDER_COLUMNS";
|
|
457
577
|
/** Cached block input type mismatches new data */
|
|
578
|
+
DownloadByRangeErrorCode["MISMATCH_BLOCK_FORK"] = "DOWNLOAD_BY_RANGE_ERROR_MISMATCH_BLOCK_FORK";
|
|
458
579
|
DownloadByRangeErrorCode["MISMATCH_BLOCK_INPUT_TYPE"] = "DOWNLOAD_BY_RANGE_ERROR_MISMATCH_BLOCK_INPUT_TYPE";
|
|
459
580
|
})(DownloadByRangeErrorCode || (DownloadByRangeErrorCode = {}));
|
|
460
581
|
export class DownloadByRangeError extends LodestarError {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"downloadByRange.js","sourceRoot":"","sources":["../../../src/sync/utils/downloadByRange.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"downloadByRange.js","sourceRoot":"","sources":["../../../src/sync/utils/downloadByRange.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { ForkPostDeneb, ForkPostFulu, ForkPreFulu } from "@lodestar/params";
|
|
|
3
3
|
import { BlobIndex, ColumnIndex, SignedBeaconBlock, Slot, deneb, fulu } from "@lodestar/types";
|
|
4
4
|
import { LodestarError } from "@lodestar/utils";
|
|
5
5
|
import { ChainEventEmitter } from "../../chain/emitter.js";
|
|
6
|
-
import {
|
|
6
|
+
import { IBeaconChain } from "../../chain/interface.ts";
|
|
7
7
|
import { INetwork } from "../../network/interface.js";
|
|
8
8
|
import { PeerSyncMeta } from "../../network/peers/peersData.js";
|
|
9
9
|
import { PeerIdStr } from "../../util/peerId.js";
|
|
@@ -11,6 +11,7 @@ import { WarnResult } from "../../util/wrapError.js";
|
|
|
11
11
|
import { BlockInputSyncCacheItem, PendingBlockInput } from "../types.js";
|
|
12
12
|
export type FetchByRootCoreProps = {
|
|
13
13
|
config: ChainForkConfig;
|
|
14
|
+
chain: IBeaconChain | null;
|
|
14
15
|
network: INetwork;
|
|
15
16
|
peerMeta: PeerSyncMeta;
|
|
16
17
|
};
|
|
@@ -41,25 +42,18 @@ export type FetchByRootResponses = {
|
|
|
41
42
|
};
|
|
42
43
|
export type DownloadByRootProps = FetchByRootCoreProps & {
|
|
43
44
|
cacheItem: BlockInputSyncCacheItem;
|
|
44
|
-
|
|
45
|
+
chain: IBeaconChain;
|
|
45
46
|
emitter: ChainEventEmitter;
|
|
46
47
|
};
|
|
47
|
-
export declare function downloadByRoot({ config,
|
|
48
|
-
export declare function fetchByRoot({ config, network, peerMeta, blockRoot, cacheItem, }: FetchByRootProps): Promise<WarnResult<FetchByRootResponses, DownloadByRootError>>;
|
|
49
|
-
export declare function fetchAndValidateBlock({ config, network, peerIdStr, blockRoot, }: FetchByRootAndValidateBlockProps): Promise<SignedBeaconBlock>;
|
|
50
|
-
export declare function fetchAndValidateBlobs({ network, peerIdStr, blockRoot, block, missing, }: FetchByRootAndValidateBlobsProps): Promise<deneb.BlobSidecars>;
|
|
48
|
+
export declare function downloadByRoot({ config, chain, network, emitter, peerMeta, cacheItem, }: DownloadByRootProps): Promise<WarnResult<PendingBlockInput, DownloadByRootError>>;
|
|
49
|
+
export declare function fetchByRoot({ config, chain, network, peerMeta, blockRoot, cacheItem, }: FetchByRootProps): Promise<WarnResult<FetchByRootResponses, DownloadByRootError>>;
|
|
50
|
+
export declare function fetchAndValidateBlock({ config, network, peerIdStr, blockRoot, }: Omit<FetchByRootAndValidateBlockProps, "chain">): Promise<SignedBeaconBlock>;
|
|
51
|
+
export declare function fetchAndValidateBlobs({ chain, network, peerIdStr, blockRoot, block, missing, }: FetchByRootAndValidateBlobsProps): Promise<deneb.BlobSidecars>;
|
|
51
52
|
export declare function fetchBlobsByRoot({ network, peerIdStr, blockRoot, missing, indicesInPossession, }: Pick<FetchByRootAndValidateBlobsProps, "network" | "peerIdStr" | "blockRoot" | "missing"> & {
|
|
52
53
|
indicesInPossession?: number[];
|
|
53
54
|
}): Promise<deneb.BlobSidecars>;
|
|
54
|
-
export declare function fetchAndValidateColumns({ network, peerMeta, block, blockRoot, missing, }: FetchByRootAndValidateColumnsProps): Promise<WarnResult<fulu.DataColumnSidecars, DownloadByRootError>>;
|
|
55
|
+
export declare function fetchAndValidateColumns({ chain, network, peerMeta, block, blockRoot, missing, }: FetchByRootAndValidateColumnsProps): Promise<WarnResult<fulu.DataColumnSidecars, DownloadByRootError>>;
|
|
55
56
|
export declare function fetchColumnsByRoot({ network, peerMeta, blockRoot, missing, }: Pick<FetchByRootAndValidateColumnsProps, "network" | "peerMeta" | "blockRoot" | "missing">): Promise<fulu.DataColumnSidecars>;
|
|
56
|
-
export type ValidateColumnSidecarsProps = Pick<FetchByRootAndValidateColumnsProps, "config" | "peerMeta" | "blockRoot" | "missing"> & {
|
|
57
|
-
slot: number;
|
|
58
|
-
blobCount: number;
|
|
59
|
-
needed?: fulu.DataColumnSidecars;
|
|
60
|
-
needToPublish?: fulu.DataColumnSidecars;
|
|
61
|
-
};
|
|
62
|
-
export declare function validateColumnSidecars({ peerMeta, slot, blockRoot, blobCount, missing, needed, needToPublish, }: ValidateColumnSidecarsProps): Promise<void>;
|
|
63
57
|
export declare enum DownloadByRootErrorCode {
|
|
64
58
|
MISMATCH_BLOCK_ROOT = "DOWNLOAD_BY_ROOT_ERROR_MISMATCH_BLOCK_ROOT",
|
|
65
59
|
EXTRA_SIDECAR_RECEIVED = "DOWNLOAD_BY_ROOT_ERROR_EXTRA_SIDECAR_RECEIVED",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"downloadByRoot.d.ts","sourceRoot":"","sources":["../../../src/sync/utils/downloadByRoot.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EAIZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAkB,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"downloadByRoot.d.ts","sourceRoot":"","sources":["../../../src/sync/utils/downloadByRoot.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EAIZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAkB,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAC,aAAa,EAAgD,MAAM,iBAAiB,CAAC;AAG7F,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EAAC,QAAQ,EAAC,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,kCAAkC,CAAC;AAG9D,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EAIlB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG;IACpD,SAAS,EAAE,uBAAuB,CAAC;IACnC,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,gCAAgC,GAAG,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,GAAG;IACtF,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,gCAAgC,GAAG,gCAAgC,GAAG;IAChF,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACxC,SAAS,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,kCAAkC,GAAG,oBAAoB,GAAG;IACtE,SAAS,EAAE,UAAU,CAAC;IACtB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACvC,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,iBAAiB,CAAC;IACzB,YAAY,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAClC,cAAc,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,GAAG;IACvD,SAAS,EAAE,uBAAuB,CAAC;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAqInF;AAED,wBAAsB,WAAW,CAAC,EAChC,MAAM,EACN,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,SAAS,GACV,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC,CAwFnF;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAS,GACV,EAAE,IAAI,CAAC,gCAAgC,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuB9E;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,KAAK,EACL,OAAO,EACP,SAAS,EACT,SAAS,EACT,KAAK,EACL,OAAO,GACR,EAAE,gCAAgC,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAWhE;AAED,wBAAsB,gBAAgB,CAAC,EACrC,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,EACP,mBAAwB,GACzB,EAAE,IAAI,CAAC,gCAAgC,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC,GAAG;IAC7F,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAQ9B;AAED,wBAAsB,uBAAuB,CAAC,EAC5C,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,OAAO,GACR,EAAE,kCAAkC,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC,CAoExG;AAGD,wBAAsB,kBAAkB,CAAC,EACvC,OAAO,EACP,QAAQ,EACR,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CACL,kCAAkC,EAClC,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CACjD,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAEnC;AAED,oBAAY,uBAAuB;IACjC,mBAAmB,+CAA+C;IAClE,sBAAsB,kDAAkD;IACxE,mBAAmB,+CAA+C;IAClE,4BAA4B,wDAAwD;IACpF,uBAAuB,mDAAmD;IAC1E,iBAAiB,6CAA6C;IAC9D,sBAAsB,kDAAkD;IACxE,qBAAqB,iDAAiD;IACtE,uBAAuB,mDAAmD;IAC1E,CAAC,6BAA6B;CAC/B;AACD,MAAM,MAAM,uBAAuB,GAC/B;IACE,IAAI,EAAE,uBAAuB,CAAC,mBAAmB,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC,sBAAsB,CAAC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC,mBAAmB,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC,4BAA4B,CAAC;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC,uBAAuB,CAAC;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC,iBAAiB,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC,sBAAsB,CAAC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC,qBAAqB,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC,uBAAuB,CAAC;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEN,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,uBAAuB,CAAC;CAAG"}
|