@lodestar/beacon-node 1.48.0-dev.acdde443d2 → 1.48.0-dev.af8bc602aa
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 +4 -4
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/chain/archiveStore/archiveStore.d.ts +0 -1
- package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
- package/lib/chain/archiveStore/archiveStore.js +0 -1
- package/lib/chain/archiveStore/archiveStore.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +1 -1
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -1
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +1 -1
- package/lib/chain/archiveStore/historicalState/metrics.js +1 -12
- package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/types.d.ts +0 -2
- package/lib/chain/archiveStore/historicalState/types.d.ts.map +1 -1
- package/lib/chain/archiveStore/historicalState/types.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/worker.js +1 -4
- package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.js +34 -31
- package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
- package/lib/chain/blocks/index.d.ts.map +1 -1
- package/lib/chain/blocks/index.js +2 -3
- package/lib/chain/blocks/index.js.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.js +16 -9
- package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
- package/lib/chain/chain.d.ts +3 -4
- package/lib/chain/chain.d.ts.map +1 -1
- package/lib/chain/chain.js +35 -60
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/errors/blockError.d.ts +7 -19
- package/lib/chain/errors/blockError.d.ts.map +1 -1
- package/lib/chain/errors/blockError.js +2 -2
- package/lib/chain/errors/blockError.js.map +1 -1
- package/lib/chain/errors/dataColumnSidecarError.d.ts +2 -15
- package/lib/chain/errors/dataColumnSidecarError.d.ts.map +1 -1
- package/lib/chain/errors/dataColumnSidecarError.js.map +1 -1
- package/lib/chain/errors/executionPayloadEnvelope.d.ts +11 -10
- package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
- package/lib/chain/errors/executionPayloadEnvelope.js +2 -0
- package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
- package/lib/chain/interface.d.ts +2 -2
- package/lib/chain/interface.d.ts.map +1 -1
- package/lib/chain/prepareNextSlot.js +13 -13
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/validation/block.d.ts.map +1 -1
- package/lib/chain/validation/block.js +54 -35
- package/lib/chain/validation/block.js.map +1 -1
- package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
- package/lib/chain/validation/dataColumnSidecar.js +13 -38
- package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
- package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
- package/lib/chain/validation/executionPayloadEnvelope.js +29 -10
- package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
- package/lib/db/beacon.d.ts +5 -14
- package/lib/db/beacon.d.ts.map +1 -1
- package/lib/db/beacon.js +3 -17
- package/lib/db/beacon.js.map +1 -1
- package/lib/db/index.d.ts +0 -1
- package/lib/db/index.d.ts.map +1 -1
- package/lib/db/interface.d.ts +1 -8
- package/lib/db/interface.d.ts.map +1 -1
- package/lib/db/repositories/blockArchive.d.ts +1 -8
- package/lib/db/repositories/blockArchive.d.ts.map +1 -1
- package/lib/db/repositories/blockArchive.js +28 -65
- package/lib/db/repositories/blockArchive.js.map +1 -1
- package/lib/db/repositories/blockArchiveIndex.d.ts +2 -1
- package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
- package/lib/db/repositories/blockArchiveIndex.js +7 -3
- package/lib/db/repositories/blockArchiveIndex.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +0 -18
- package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
- package/lib/metrics/metrics/lodestar.js +1 -55
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/monitoring/clientStats.js +1 -1
- package/lib/monitoring/clientStats.js.map +1 -1
- package/lib/network/gossip/encoding.d.ts.map +1 -1
- package/lib/network/gossip/encoding.js +6 -0
- package/lib/network/gossip/encoding.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +1 -2
- package/lib/network/gossip/topic.d.ts.map +1 -1
- package/lib/network/gossip/topic.js +20 -4
- package/lib/network/gossip/topic.js.map +1 -1
- package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
- package/lib/network/processor/gossipHandlers.js +7 -6
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/index.d.ts +3 -49
- package/lib/network/processor/index.d.ts.map +1 -1
- package/lib/network/processor/index.js +98 -232
- package/lib/network/processor/index.js.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +91 -112
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +0 -2
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
- package/lib/network/reqresp/protocols.d.ts.map +1 -1
- package/lib/network/reqresp/protocols.js +22 -6
- package/lib/network/reqresp/protocols.js.map +1 -1
- package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts +1 -2
- package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +1 -1
- package/lib/network/reqresp/utils/dataColumnResponseValidation.js +9 -14
- package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
- package/lib/node/nodejs.d.ts +1 -2
- package/lib/node/nodejs.d.ts.map +1 -1
- package/lib/node/nodejs.js +2 -4
- package/lib/node/nodejs.js.map +1 -1
- package/lib/util/sszBytes.d.ts +0 -6
- package/lib/util/sszBytes.d.ts.map +1 -1
- package/lib/util/sszBytes.js +1 -1
- package/lib/util/sszBytes.js.map +1 -1
- package/package.json +16 -16
- package/src/api/impl/beacon/blocks/index.ts +4 -8
- package/src/chain/archiveStore/archiveStore.ts +1 -6
- package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -1
- package/src/chain/archiveStore/historicalState/metrics.ts +1 -14
- package/src/chain/archiveStore/historicalState/types.ts +0 -2
- package/src/chain/archiveStore/historicalState/worker.ts +1 -4
- package/src/chain/archiveStore/utils/archiveBlocks.ts +39 -34
- package/src/chain/blocks/index.ts +2 -13
- package/src/chain/blocks/writeBlockInputToDb.ts +17 -10
- package/src/chain/chain.ts +34 -75
- package/src/chain/errors/blockError.ts +10 -22
- package/src/chain/errors/dataColumnSidecarError.ts +8 -24
- package/src/chain/errors/executionPayloadEnvelope.ts +11 -14
- package/src/chain/interface.ts +2 -2
- package/src/chain/prepareNextSlot.ts +16 -16
- package/src/chain/validation/block.ts +70 -35
- package/src/chain/validation/dataColumnSidecar.ts +14 -47
- package/src/chain/validation/executionPayloadEnvelope.ts +37 -10
- package/src/db/beacon.ts +6 -33
- package/src/db/index.ts +0 -1
- package/src/db/interface.ts +1 -9
- package/src/db/repositories/blockArchive.ts +30 -89
- package/src/db/repositories/blockArchiveIndex.ts +9 -4
- package/src/metrics/metrics/lodestar.ts +1 -57
- package/src/monitoring/clientStats.ts +1 -1
- package/src/network/gossip/encoding.ts +6 -0
- package/src/network/gossip/topic.ts +25 -3
- package/src/network/processor/gossipHandlers.ts +11 -11
- package/src/network/processor/index.ts +148 -263
- package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +105 -139
- package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -2
- package/src/network/reqresp/protocols.ts +24 -7
- package/src/network/reqresp/utils/dataColumnResponseValidation.ts +7 -15
- package/src/node/nodejs.ts +1 -6
- package/src/util/sszBytes.ts +1 -1
- package/lib/db/dataColumnStore.d.ts +0 -39
- package/lib/db/dataColumnStore.d.ts.map +0 -1
- package/lib/db/dataColumnStore.js +0 -81
- package/lib/db/dataColumnStore.js.map +0 -1
- package/lib/db/flatFileStore/atomicWrite.d.ts +0 -8
- package/lib/db/flatFileStore/atomicWrite.d.ts.map +0 -1
- package/lib/db/flatFileStore/atomicWrite.js +0 -61
- package/lib/db/flatFileStore/atomicWrite.js.map +0 -1
- package/lib/db/flatFileStore/dcolFormat.d.ts +0 -90
- package/lib/db/flatFileStore/dcolFormat.d.ts.map +0 -1
- package/lib/db/flatFileStore/dcolFormat.js +0 -286
- package/lib/db/flatFileStore/dcolFormat.js.map +0 -1
- package/lib/db/flatFileStore/errors.d.ts +0 -82
- package/lib/db/flatFileStore/errors.d.ts.map +0 -1
- package/lib/db/flatFileStore/errors.js +0 -32
- package/lib/db/flatFileStore/errors.js.map +0 -1
- package/lib/db/flatFileStore/flatFileStore.d.ts +0 -41
- package/lib/db/flatFileStore/flatFileStore.d.ts.map +0 -1
- package/lib/db/flatFileStore/flatFileStore.js +0 -251
- package/lib/db/flatFileStore/flatFileStore.js.map +0 -1
- package/lib/db/flatFileStore/index.d.ts +0 -4
- package/lib/db/flatFileStore/index.d.ts.map +0 -1
- package/lib/db/flatFileStore/index.js +0 -2
- package/lib/db/flatFileStore/index.js.map +0 -1
- package/lib/db/flatFileStore/interface.d.ts +0 -25
- package/lib/db/flatFileStore/interface.d.ts.map +0 -1
- package/lib/db/flatFileStore/interface.js +0 -2
- package/lib/db/flatFileStore/interface.js.map +0 -1
- package/lib/db/flatFileStore/metrics.d.ts +0 -24
- package/lib/db/flatFileStore/metrics.d.ts.map +0 -1
- package/lib/db/flatFileStore/metrics.js +0 -25
- package/lib/db/flatFileStore/metrics.js.map +0 -1
- package/lib/db/flatFileStore/path.d.ts +0 -9
- package/lib/db/flatFileStore/path.d.ts.map +0 -1
- package/lib/db/flatFileStore/path.js +0 -21
- package/lib/db/flatFileStore/path.js.map +0 -1
- package/lib/db/flatFileStore/slotIndex.d.ts +0 -14
- package/lib/db/flatFileStore/slotIndex.d.ts.map +0 -1
- package/lib/db/flatFileStore/slotIndex.js +0 -46
- package/lib/db/flatFileStore/slotIndex.js.map +0 -1
- package/lib/db/flatFileStore/snappy.d.ts +0 -3
- package/lib/db/flatFileStore/snappy.d.ts.map +0 -1
- package/lib/db/flatFileStore/snappy.js +0 -12
- package/lib/db/flatFileStore/snappy.js.map +0 -1
- package/src/db/dataColumnStore.ts +0 -113
- package/src/db/flatFileStore/atomicWrite.ts +0 -65
- package/src/db/flatFileStore/dcolFormat.ts +0 -389
- package/src/db/flatFileStore/errors.ts +0 -53
- package/src/db/flatFileStore/flatFileStore.ts +0 -310
- package/src/db/flatFileStore/index.ts +0 -3
- package/src/db/flatFileStore/interface.ts +0 -21
- package/src/db/flatFileStore/metrics.ts +0 -48
- package/src/db/flatFileStore/path.ts +0 -32
- package/src/db/flatFileStore/slotIndex.ts +0 -56
- package/src/db/flatFileStore/snappy.ts +0 -14
|
@@ -13,13 +13,11 @@ export async function validateGossipFuluDataColumnSidecar(chain, dataColumnSidec
|
|
|
13
13
|
const blockHeader = dataColumnSidecar.signedBlockHeader.message;
|
|
14
14
|
const blockRootHex = toRootHex(ssz.phase0.BeaconBlockHeader.hashTreeRoot(blockHeader));
|
|
15
15
|
// 1) [REJECT] The sidecar is valid as verified by verify_data_column_sidecar
|
|
16
|
-
verifyFuluDataColumnSidecar(chain.config, dataColumnSidecar
|
|
16
|
+
verifyFuluDataColumnSidecar(chain.config, dataColumnSidecar);
|
|
17
17
|
// 2) [REJECT] The sidecar is for the correct subnet -- i.e. compute_subnet_for_data_column_sidecar(sidecar.index) == subnet_id
|
|
18
18
|
if (computeSubnetForDataColumnSidecar(chain.config, dataColumnSidecar) !== gossipSubnet) {
|
|
19
19
|
throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
|
|
20
20
|
code: DataColumnSidecarErrorCode.INVALID_SUBNET,
|
|
21
|
-
slot: blockHeader.slot,
|
|
22
|
-
root: blockRootHex,
|
|
23
21
|
columnIndex: dataColumnSidecar.index,
|
|
24
22
|
gossipSubnet: gossipSubnet,
|
|
25
23
|
});
|
|
@@ -71,9 +69,8 @@ export async function validateGossipFuluDataColumnSidecar(chain, dataColumnSidec
|
|
|
71
69
|
if (parentBlock.slot >= blockHeader.slot) {
|
|
72
70
|
throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
|
|
73
71
|
code: DataColumnSidecarErrorCode.NOT_LATER_THAN_PARENT,
|
|
74
|
-
slot: blockHeader.slot,
|
|
75
|
-
root: blockRootHex,
|
|
76
72
|
parentSlot: parentBlock.slot,
|
|
73
|
+
slot: blockHeader.slot,
|
|
77
74
|
});
|
|
78
75
|
}
|
|
79
76
|
// 7) [REJECT] The sidecar's block's parent passes validation.
|
|
@@ -104,8 +101,6 @@ export async function validateGossipFuluDataColumnSidecar(chain, dataColumnSidec
|
|
|
104
101
|
if (proposerIndex !== expectedProposerIndex) {
|
|
105
102
|
throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
|
|
106
103
|
code: DataColumnSidecarErrorCode.INCORRECT_PROPOSER,
|
|
107
|
-
slot: blockHeader.slot,
|
|
108
|
-
root: blockRootHex,
|
|
109
104
|
actualProposerIndex: proposerIndex,
|
|
110
105
|
expectedProposerIndex,
|
|
111
106
|
});
|
|
@@ -120,9 +115,9 @@ export async function validateGossipFuluDataColumnSidecar(chain, dataColumnSidec
|
|
|
120
115
|
}))) {
|
|
121
116
|
throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
|
|
122
117
|
code: DataColumnSidecarErrorCode.PROPOSAL_SIGNATURE_INVALID,
|
|
123
|
-
|
|
124
|
-
root: blockRootHex,
|
|
118
|
+
blockRoot: blockRootHex,
|
|
125
119
|
index: dataColumnSidecar.index,
|
|
120
|
+
slot: blockHeader.slot,
|
|
126
121
|
});
|
|
127
122
|
}
|
|
128
123
|
chain.seenBlockInputCache.markVerifiedProposerSignature(blockHeader.slot, blockRootHex, signature);
|
|
@@ -140,8 +135,7 @@ export async function validateGossipFuluDataColumnSidecar(chain, dataColumnSidec
|
|
|
140
135
|
if (!valid) {
|
|
141
136
|
throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
|
|
142
137
|
code: DataColumnSidecarErrorCode.INCLUSION_PROOF_INVALID,
|
|
143
|
-
slot:
|
|
144
|
-
root: blockRootHex,
|
|
138
|
+
slot: dataColumnSidecar.signedBlockHeader.message.slot,
|
|
145
139
|
columnIndex: dataColumnSidecar.index,
|
|
146
140
|
});
|
|
147
141
|
}
|
|
@@ -155,7 +149,6 @@ export async function validateGossipFuluDataColumnSidecar(chain, dataColumnSidec
|
|
|
155
149
|
throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
|
|
156
150
|
code: DataColumnSidecarErrorCode.INVALID_KZG_PROOF,
|
|
157
151
|
slot: blockHeader.slot,
|
|
158
|
-
root: blockRootHex,
|
|
159
152
|
columnIndex: dataColumnSidecar.index,
|
|
160
153
|
});
|
|
161
154
|
}
|
|
@@ -183,7 +176,6 @@ export async function validateGossipGloasDataColumnSidecar(chain, payloadInput,
|
|
|
183
176
|
if (block.slot !== dataColumnSidecar.slot) {
|
|
184
177
|
throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
|
|
185
178
|
code: DataColumnSidecarErrorCode.INCORRECT_SIDECAR_SLOT,
|
|
186
|
-
root: blockRootHex,
|
|
187
179
|
columnIndex: dataColumnSidecar.index,
|
|
188
180
|
expected: block.slot,
|
|
189
181
|
actual: dataColumnSidecar.slot,
|
|
@@ -191,13 +183,11 @@ export async function validateGossipGloasDataColumnSidecar(chain, payloadInput,
|
|
|
191
183
|
}
|
|
192
184
|
// [REJECT] The sidecar must pass verify_data_column_sidecar against the block commitments
|
|
193
185
|
const kzgCommitments = payloadInput.getBlobKzgCommitments();
|
|
194
|
-
verifyGloasDataColumnSidecar(dataColumnSidecar, kzgCommitments
|
|
186
|
+
verifyGloasDataColumnSidecar(dataColumnSidecar, kzgCommitments);
|
|
195
187
|
// [REJECT] The sidecar must be on the correct subnet
|
|
196
188
|
if (computeSubnetForDataColumnSidecar(chain.config, dataColumnSidecar) !== gossipSubnet) {
|
|
197
189
|
throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
|
|
198
190
|
code: DataColumnSidecarErrorCode.INVALID_SUBNET,
|
|
199
|
-
slot: dataColumnSidecar.slot,
|
|
200
|
-
root: blockRootHex,
|
|
201
191
|
columnIndex: dataColumnSidecar.index,
|
|
202
192
|
gossipSubnet,
|
|
203
193
|
});
|
|
@@ -211,7 +201,6 @@ export async function validateGossipGloasDataColumnSidecar(chain, payloadInput,
|
|
|
211
201
|
throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
|
|
212
202
|
code: DataColumnSidecarErrorCode.INVALID_KZG_PROOF,
|
|
213
203
|
slot: dataColumnSidecar.slot,
|
|
214
|
-
root: blockRootHex,
|
|
215
204
|
columnIndex: dataColumnSidecar.index,
|
|
216
205
|
});
|
|
217
206
|
}
|
|
@@ -223,31 +212,27 @@ export async function validateGossipGloasDataColumnSidecar(chain, payloadInput,
|
|
|
223
212
|
* SPEC FUNCTION
|
|
224
213
|
* https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#verify_data_column_sidecar
|
|
225
214
|
*/
|
|
226
|
-
function verifyFuluDataColumnSidecar(config, dataColumnSidecar
|
|
227
|
-
const slot = dataColumnSidecar.signedBlockHeader.message.slot;
|
|
215
|
+
function verifyFuluDataColumnSidecar(config, dataColumnSidecar) {
|
|
228
216
|
if (dataColumnSidecar.index >= NUMBER_OF_COLUMNS) {
|
|
229
217
|
throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
|
|
230
218
|
code: DataColumnSidecarErrorCode.INVALID_INDEX,
|
|
231
|
-
slot,
|
|
232
|
-
root: blockRootHex,
|
|
219
|
+
slot: dataColumnSidecar.signedBlockHeader.message.slot,
|
|
233
220
|
columnIndex: dataColumnSidecar.index,
|
|
234
221
|
});
|
|
235
222
|
}
|
|
236
223
|
if (dataColumnSidecar.kzgCommitments.length === 0) {
|
|
237
224
|
throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
|
|
238
225
|
code: DataColumnSidecarErrorCode.NO_COMMITMENTS,
|
|
239
|
-
slot,
|
|
240
|
-
root: blockRootHex,
|
|
226
|
+
slot: dataColumnSidecar.signedBlockHeader.message.slot,
|
|
241
227
|
columnIndex: dataColumnSidecar.index,
|
|
242
228
|
});
|
|
243
229
|
}
|
|
244
|
-
const epoch = computeEpochAtSlot(slot);
|
|
230
|
+
const epoch = computeEpochAtSlot(dataColumnSidecar.signedBlockHeader.message.slot);
|
|
245
231
|
const maxBlobsPerBlock = config.getMaxBlobsPerBlock(epoch);
|
|
246
232
|
if (dataColumnSidecar.kzgCommitments.length > maxBlobsPerBlock) {
|
|
247
233
|
throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
|
|
248
234
|
code: DataColumnSidecarErrorCode.TOO_MANY_KZG_COMMITMENTS,
|
|
249
|
-
slot,
|
|
250
|
-
root: blockRootHex,
|
|
235
|
+
slot: dataColumnSidecar.signedBlockHeader.message.slot,
|
|
251
236
|
columnIndex: dataColumnSidecar.index,
|
|
252
237
|
count: dataColumnSidecar.kzgCommitments.length,
|
|
253
238
|
limit: maxBlobsPerBlock,
|
|
@@ -257,8 +242,6 @@ function verifyFuluDataColumnSidecar(config, dataColumnSidecar, blockRootHex) {
|
|
|
257
242
|
dataColumnSidecar.column.length !== dataColumnSidecar.kzgProofs.length) {
|
|
258
243
|
throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
|
|
259
244
|
code: DataColumnSidecarErrorCode.MISMATCHED_LENGTHS,
|
|
260
|
-
slot,
|
|
261
|
-
root: blockRootHex,
|
|
262
245
|
columnLength: dataColumnSidecar.column.length,
|
|
263
246
|
commitmentsLength: dataColumnSidecar.kzgCommitments.length,
|
|
264
247
|
proofsLength: dataColumnSidecar.kzgProofs.length,
|
|
@@ -269,13 +252,12 @@ function verifyFuluDataColumnSidecar(config, dataColumnSidecar, blockRootHex) {
|
|
|
269
252
|
* SPEC FUNCTION
|
|
270
253
|
* https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.3/specs/gloas/p2p-interface.md#modified-verify_data_column_sidecar
|
|
271
254
|
*/
|
|
272
|
-
function verifyGloasDataColumnSidecar(dataColumnSidecar, kzgCommitments
|
|
255
|
+
function verifyGloasDataColumnSidecar(dataColumnSidecar, kzgCommitments) {
|
|
273
256
|
const slot = getDataColumnSidecarSlot(dataColumnSidecar);
|
|
274
257
|
if (dataColumnSidecar.index >= NUMBER_OF_COLUMNS) {
|
|
275
258
|
throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
|
|
276
259
|
code: DataColumnSidecarErrorCode.INVALID_INDEX,
|
|
277
260
|
slot,
|
|
278
|
-
root: blockRootHex,
|
|
279
261
|
columnIndex: dataColumnSidecar.index,
|
|
280
262
|
});
|
|
281
263
|
}
|
|
@@ -283,7 +265,6 @@ function verifyGloasDataColumnSidecar(dataColumnSidecar, kzgCommitments, blockRo
|
|
|
283
265
|
throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
|
|
284
266
|
code: DataColumnSidecarErrorCode.NO_COMMITMENTS,
|
|
285
267
|
slot,
|
|
286
|
-
root: blockRootHex,
|
|
287
268
|
columnIndex: dataColumnSidecar.index,
|
|
288
269
|
});
|
|
289
270
|
}
|
|
@@ -291,8 +272,6 @@ function verifyGloasDataColumnSidecar(dataColumnSidecar, kzgCommitments, blockRo
|
|
|
291
272
|
dataColumnSidecar.column.length !== dataColumnSidecar.kzgProofs.length) {
|
|
292
273
|
throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
|
|
293
274
|
code: DataColumnSidecarErrorCode.MISMATCHED_LENGTHS,
|
|
294
|
-
slot,
|
|
295
|
-
root: blockRootHex,
|
|
296
275
|
columnLength: dataColumnSidecar.column.length,
|
|
297
276
|
commitmentsLength: kzgCommitments.length,
|
|
298
277
|
proofsLength: dataColumnSidecar.kzgProofs.length,
|
|
@@ -370,8 +349,8 @@ export async function validateFuluBlockDataColumnSidecars(chain, blockSlot, bloc
|
|
|
370
349
|
}))) {
|
|
371
350
|
throw new DataColumnSidecarValidationError({
|
|
372
351
|
code: DataColumnSidecarErrorCode.PROPOSAL_SIGNATURE_INVALID,
|
|
352
|
+
blockRoot: rootHex,
|
|
373
353
|
slot: blockSlot,
|
|
374
|
-
root: rootHex,
|
|
375
354
|
index: dataColumnSidecars[0].index,
|
|
376
355
|
});
|
|
377
356
|
}
|
|
@@ -397,7 +376,6 @@ export async function validateFuluBlockDataColumnSidecars(chain, blockSlot, bloc
|
|
|
397
376
|
throw new DataColumnSidecarValidationError({
|
|
398
377
|
code: DataColumnSidecarErrorCode.INVALID_INDEX,
|
|
399
378
|
slot: blockSlot,
|
|
400
|
-
root: toRootHex(blockRoot),
|
|
401
379
|
columnIndex: columnSidecar.index,
|
|
402
380
|
}, "DataColumnSidecar has invalid index");
|
|
403
381
|
}
|
|
@@ -435,7 +413,6 @@ export async function validateFuluBlockDataColumnSidecars(chain, blockSlot, bloc
|
|
|
435
413
|
throw new DataColumnSidecarValidationError({
|
|
436
414
|
code: DataColumnSidecarErrorCode.INCLUSION_PROOF_INVALID,
|
|
437
415
|
slot: blockSlot,
|
|
438
|
-
root: toRootHex(blockRoot),
|
|
439
416
|
columnIndex: columnSidecar.index,
|
|
440
417
|
}, "DataColumnSidecar has invalid inclusion proof");
|
|
441
418
|
}
|
|
@@ -499,7 +476,6 @@ export async function validateGloasBlockDataColumnSidecars(blockSlot, blockRoot,
|
|
|
499
476
|
if (columnSidecar.slot !== blockSlot) {
|
|
500
477
|
throw new DataColumnSidecarValidationError({
|
|
501
478
|
code: DataColumnSidecarErrorCode.INCORRECT_SIDECAR_SLOT,
|
|
502
|
-
root: toRootHex(blockRoot),
|
|
503
479
|
columnIndex: columnSidecar.index,
|
|
504
480
|
expected: blockSlot,
|
|
505
481
|
actual: columnSidecar.slot,
|
|
@@ -518,7 +494,6 @@ export async function validateGloasBlockDataColumnSidecars(blockSlot, blockRoot,
|
|
|
518
494
|
throw new DataColumnSidecarValidationError({
|
|
519
495
|
code: DataColumnSidecarErrorCode.INVALID_INDEX,
|
|
520
496
|
slot: blockSlot,
|
|
521
|
-
root: toRootHex(blockRoot),
|
|
522
497
|
columnIndex: columnSidecar.index,
|
|
523
498
|
}, "DataColumnSidecar has invalid index");
|
|
524
499
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataColumnSidecar.js","sourceRoot":"","sources":["../../../src/chain/validation/dataColumnSidecar.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qCAAqC,EACrC,6BAA6B,EAC7B,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,8CAA8C,GAC/C,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAgF,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACnH,OAAO,EAAC,eAAe,EAAE,SAAS,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAG/E,OAAO,EAAC,wBAAwB,EAAC,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAC,GAAG,EAAC,MAAM,mBAAmB,CAAC;AAEtC,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAElD,gBAAgB;AAChB,4HAA4H;AAC5H,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,KAAmB,EACnB,iBAAyC,EACzC,YAAsB,EACtB,OAAuB;IAEvB,MAAM,WAAW,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC;IAChE,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IAEvF,6EAA6E;IAC7E,2BAA2B,CAAC,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAE3E,+HAA+H;IAC/H,IAAI,iCAAiC,CAAC,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,YAAY,EAAE,CAAC;QACxF,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,cAAc;YAC/C,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,iBAAiB,CAAC,KAAK;YACpC,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,sGAAsG;IACtG,mGAAmG;IACnG,uDAAuD;IACvD,MAAM,8BAA8B,GAAG,KAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC;IAClF,IAAI,8BAA8B,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,WAAW;YAC5C,WAAW,EAAE,8BAA8B;YAC3C,SAAS,EAAE,WAAW,CAAC,IAAI;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,sGAAsG;IACtG,2FAA2F;IAC3F,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;IACtE,MAAM,aAAa,GAAG,uBAAuB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACzE,IAAI,WAAW,CAAC,IAAI,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,2BAA2B;YAC5D,SAAS,EAAE,WAAW,CAAC,IAAI;YAC3B,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED,2GAA2G;IAC3G,qCAAqC;IACrC,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAC1E,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,2FAA2F;QAC3F,iCAAiC;QACjC,EAAE;QACF,sFAAsF;QACtF,mFAAmF;QACnF,wDAAwD;QACxD,0FAA0F;QAC1F,sCAAsC;QACtC,sIAAsI;QACtI,kFAAkF;QAClF,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,cAAc;YAC/C,UAAU;YACV,IAAI,EAAE,WAAW,CAAC,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;IAED,kFAAkF;IAClF,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,qBAAqB;YACtD,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE,WAAW,CAAC,IAAI;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,8DAA8D;IAC9D,iGAAiG;IACjG,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,KAAK,IAA6B,EAAE;QAC3D,IAAI,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,GAAG,WAAW,IAAI,kBAAkB,EAAE,CAAC;YACjH,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,wBAAwB,CAAC,CAAC;YAC5G,OAAO,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,iBAAiB,CACpD,WAAW,EACX,WAAW,CAAC,IAAI,EAChB,EAAC,iBAAiB,EAAE,IAAI,EAAC,EACzB,WAAW,CAAC,wBAAwB,CACrC,CAAC;QACF,OAAO,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,yHAAyH;IACzH,+GAA+G;IAC/G,sHAAsH;IACtH,qHAAqH;IACrH,6BAA6B;IAC7B,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;IAChD,MAAM,qBAAqB,GAAG,MAAM,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;QAChE,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,cAAc;YAC/C,UAAU;YACV,IAAI,EAAE,WAAW,CAAC,IAAI;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,aAAa,KAAK,qBAAqB,EAAE,CAAC;QAC5C,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,kBAAkB;YACnD,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,YAAY;YAClB,mBAAmB,EAAE,aAAa;YAClC,qBAAqB;SACtB,CAAC,CAAC;IACL,CAAC;IAED,sIAAsI;IACtI,MAAM,SAAS,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC;IAChE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;QACtG,MAAM,YAAY,GAAG,8CAA8C,CACjE,KAAK,CAAC,MAAM,EACZ,iBAAiB,CAAC,iBAAiB,CACpC,CAAC;QAEF,IACE,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,EAAE;YACpD,+FAA+F;YAC/F,kBAAkB,EAAE,IAAI;SACzB,CAAC,CAAC,EACH,CAAC;YACD,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC1D,IAAI,EAAE,0BAA0B,CAAC,0BAA0B;gBAC3D,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,iBAAiB,CAAC,KAAK;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IACrG,CAAC;IAED,qFAAqF;IACrF,8GAA8G;IAC9G,yDAAyD;IACzD,gBAAgB;IAEhB,2FAA2F;IAC3F,0DAA0D;IAC1D,oFAAoF;IACpF,MAAM,KAAK,GAAG,OAAO,EAAE,OAAO,CAAC,+CAA+C,CAAC,UAAU,EAAE,CAAC;IAC5F,MAAM,KAAK,GAAG,qCAAqC,CAAC,iBAAiB,CAAC,CAAC;IACvE,KAAK,EAAE,EAAE,CAAC;IAEV,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,uBAAuB;YACxD,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,iBAAiB,CAAC,KAAK;SACrC,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,OAAO,EAAE,OAAO,CAAC,0CAA0C,CAAC,UAAU,EAAE,CAAC;IAC/F,uGAAuG;IACvG,IAAI,CAAC;QACH,MAAM,gCAAgC,CACpC,iBAAiB,CAAC,cAAc,EAChC,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAC,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EACpF,iBAAiB,CAAC,MAAM,EACxB,iBAAiB,CAAC,SAAS,CAC5B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,iBAAiB;YAClD,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,iBAAiB,CAAC,KAAK;SACrC,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,aAAa,EAAE,EAAE,CAAC;IACpB,CAAC;IAED,+GAA+G;IAC/G,kGAAkG;IAClG,kDAAkD;AACpD,CAAC;AAED,gBAAgB;AAChB,6HAA6H;AAC7H,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,KAAmB,EACnB,YAAkC,EAClC,iBAA0C,EAC1C,YAAsB,EACtB,OAAuB;IAEvB,MAAM,YAAY,GAAG,SAAS,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;IAEtE,iEAAiE;IACjE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,aAAa;YAC9C,SAAS,EAAE,YAAY;YACvB,IAAI,EAAE,iBAAiB,CAAC,IAAI;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,uFAAuF;IACvF,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,sBAAsB;YACvD,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,iBAAiB,CAAC,KAAK;YACpC,QAAQ,EAAE,KAAK,CAAC,IAAI;YACpB,MAAM,EAAE,iBAAiB,CAAC,IAAI;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,0FAA0F;IAC1F,MAAM,cAAc,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAC;IAC5D,4BAA4B,CAAC,iBAAiB,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IAE9E,qDAAqD;IACrD,IAAI,iCAAiC,CAAC,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,YAAY,EAAE,CAAC;QACxF,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,cAAc;YAC/C,IAAI,EAAE,iBAAiB,CAAC,IAAI;YAC5B,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,iBAAiB,CAAC,KAAK;YACpC,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,MAAM,aAAa,GAAG,OAAO,EAAE,OAAO,CAAC,0CAA0C,CAAC,UAAU,EAAE,CAAC;IAC/F,IAAI,CAAC;QACH,MAAM,gCAAgC,CACpC,cAAc,EACd,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAC,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EACpF,iBAAiB,CAAC,MAAM,EACxB,iBAAiB,CAAC,SAAS,CAC5B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,iBAAiB;YAClD,IAAI,EAAE,iBAAiB,CAAC,IAAI;YAC5B,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,iBAAiB,CAAC,KAAK;SACrC,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,aAAa,EAAE,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,2BAA2B,CAClC,MAAuB,EACvB,iBAAyC,EACzC,YAAqB;IAErB,MAAM,IAAI,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC;IAC9D,IAAI,iBAAiB,CAAC,KAAK,IAAI,iBAAiB,EAAE,CAAC;QACjD,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,aAAa;YAC9C,IAAI;YACJ,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,iBAAiB,CAAC,KAAK;SACrC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,cAAc;YAC/C,IAAI;YACJ,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,iBAAiB,CAAC,KAAK;SACrC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAE3D,IAAI,iBAAiB,CAAC,cAAc,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAC/D,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,wBAAwB;YACzD,IAAI;YACJ,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,iBAAiB,CAAC,KAAK;YACpC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,MAAM;YAC9C,KAAK,EAAE,gBAAgB;SACxB,CAAC,CAAC;IACL,CAAC;IAED,IACE,iBAAiB,CAAC,MAAM,CAAC,MAAM,KAAK,iBAAiB,CAAC,cAAc,CAAC,MAAM;QAC3E,iBAAiB,CAAC,MAAM,CAAC,MAAM,KAAK,iBAAiB,CAAC,SAAS,CAAC,MAAM,EACtE,CAAC;QACD,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,kBAAkB;YACnD,IAAI;YACJ,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM;YAC7C,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,CAAC,MAAM;YAC1D,YAAY,EAAE,iBAAiB,CAAC,SAAS,CAAC,MAAM;SACjD,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,4BAA4B,CACnC,iBAA0C,EAC1C,cAA4B,EAC5B,YAAqB;IAErB,MAAM,IAAI,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;IACzD,IAAI,iBAAiB,CAAC,KAAK,IAAI,iBAAiB,EAAE,CAAC;QACjD,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,aAAa;YAC9C,IAAI;YACJ,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,iBAAiB,CAAC,KAAK;SACrC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,cAAc;YAC/C,IAAI;YACJ,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,iBAAiB,CAAC,KAAK;SACrC,CAAC,CAAC;IACL,CAAC;IAED,IACE,iBAAiB,CAAC,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;QACzD,iBAAiB,CAAC,MAAM,CAAC,MAAM,KAAK,iBAAiB,CAAC,SAAS,CAAC,MAAM,EACtE,CAAC;QACD,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC1D,IAAI,EAAE,0BAA0B,CAAC,kBAAkB;YACnD,IAAI;YACJ,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM;YAC7C,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,YAAY,EAAE,iBAAiB,CAAC,SAAS,CAAC,MAAM;SACjD,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,WAAyB,EACzB,WAAqB,EACrB,KAAmB,EACnB,MAAoB;IAEpB,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,GAAG,CAAC,4BAA4B,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACV,CAAW,CAAC,OAAO,GAAG,0CAA2C,CAAW,CAAC,OAAO,EAAE,CAAC;QACxF,MAAM,CAAC,CAAC;IACV,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qCAAqC,CAAC,iBAAyC;IAC7F,OAAO,kBAAkB,CACvB,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,YAAY,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAC3E,iBAAiB,CAAC,4BAA4B,EAC9C,qCAAqC,EACrC,6BAA6B,EAC7B,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CACrD,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,KAA0B,EAC1B,SAAe,EACf,SAAe,EACf,cAAsB,EACtB,kBAA4C,EAC5C,OAAyC;IAEzC,OAAO,EAAE,mCAAmC,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,iBAAiB,GAAG,OAAO,EAAE,uCAAuC,CAAC,UAAU,EAAE,CAAC;IACxF,IAAI,CAAC;QACH,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,gCAAgC,CACxC;gBACE,IAAI,EAAE,0BAA0B,CAAC,uBAAuB;gBACxD,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,kBAAkB,CAAC,MAAM;aAClC,EACD,sEAAsE,CACvE,CAAC;QACJ,CAAC;QACD,kFAAkF;QAClF,MAAM,6BAA6B,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC9E,MAAM,uBAAuB,GAAG,6BAA6B,CAAC,OAAO,CAAC;QACtE,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;QAC1F,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,gCAAgC,CACxC;gBACE,IAAI,EAAE,0BAA0B,CAAC,eAAe;gBAChD,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,CAAC;gBACd,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC;gBAC9B,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC;aAClC,EACD,qDAAqD,CACtD,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC;YACxD,MAAM,SAAS,GAAG,6BAA6B,CAAC,SAAS,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;gBACrF,MAAM,YAAY,GAAG,8CAA8C,CACjE,KAAK,CAAC,MAAM,EACZ,6BAA6B,CAC9B,CAAC;gBAEF,IACE,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,EAAE;oBACpD,kBAAkB,EAAE,IAAI;iBACzB,CAAC,CAAC,EACH,CAAC;oBACD,MAAM,IAAI,gCAAgC,CAAC;wBACzC,IAAI,EAAE,0BAA0B,CAAC,0BAA0B;wBAC3D,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAK;qBACnC,CAAC,CAAC;gBACL,CAAC;gBAED,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAiB,EAAE,CAAC;QACrC,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAE5C,IACE,CAAC,KAAK,CAAC;gBACP,CAAC,GAAG,CAAC,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,6BAA6B,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAC1G,CAAC;gBACD,MAAM,IAAI,gCAAgC,CAAC;oBACzC,IAAI,EAAE,0BAA0B,CAAC,qBAAqB;oBACtD,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC;oBAC9B,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;iBACtG,CAAC,CAAC;YACL,CAAC;YAED,IAAI,aAAa,CAAC,KAAK,IAAI,iBAAiB,EAAE,CAAC;gBAC7C,MAAM,IAAI,gCAAgC,CACxC;oBACE,IAAI,EAAE,0BAA0B,CAAC,aAAa;oBAC9C,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC;oBAC1B,WAAW,EAAE,aAAa,CAAC,KAAK;iBACjC,EACD,qCAAqC,CACtC,CAAC;YACJ,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;gBACnD,MAAM,IAAI,gCAAgC,CAAC;oBACzC,IAAI,EAAE,0BAA0B,CAAC,oBAAoB;oBACrD,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,aAAa,CAAC,KAAK;oBAChC,QAAQ,EAAE,cAAc;oBACxB,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM;iBACpC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;gBACxE,MAAM,IAAI,gCAAgC,CAAC;oBACzC,IAAI,EAAE,0BAA0B,CAAC,+BAA+B;oBAChE,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,aAAa,CAAC,KAAK;oBAChC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM;oBACrC,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,MAAM;iBAC5C,CAAC,CAAC;YACL,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBACnE,MAAM,IAAI,gCAAgC,CAAC;oBACzC,IAAI,EAAE,0BAA0B,CAAC,yBAAyB;oBAC1D,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,aAAa,CAAC,KAAK;oBAChC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM;oBACrC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM;iBACvC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,mBAAmB,GAAG,OAAO,EAAE,+CAA+C,CAAC,UAAU,EAAE,CAAC;YAClG,MAAM,mBAAmB,GAAG,qCAAqC,CAAC,aAAa,CAAC,CAAC;YACjF,mBAAmB,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,MAAM,IAAI,gCAAgC,CACxC;oBACE,IAAI,EAAE,0BAA0B,CAAC,uBAAuB;oBACxD,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC;oBAC1B,WAAW,EAAE,aAAa,CAAC,KAAK;iBACjC,EACD,+CAA+C,CAChD,CAAC;YACJ,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;YAClD,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAC,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YAClG,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,MAA0B,CAAC;QAC/B,uEAAuE;QACvE,MAAM,oBAAoB,GAAG,OAAO,EAAE,kCAAkC,CAAC,UAAU,EAAE,CAAC;QACtF,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,4BAA4B,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9F,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,GAAG,yBAAyB,CAAC;YACrC,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAI,CAAW,CAAC,OAAO,CAAC;QAChC,CAAC;gBAAS,CAAC;YACT,oBAAoB,EAAE,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,gCAAgC,CACxC;gBACE,IAAI,EAAE,0BAA0B,CAAC,uBAAuB;gBACxD,IAAI,EAAE,SAAS;gBACf,MAAM;aACP,EACD,+CAA+C,CAChD,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,oCAAoC,CAAC,GAAG,EAAE,CAAC;IACtD,CAAC;YAAS,CAAC;QACT,iBAAiB,EAAE,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,SAAe,EACf,SAAe,EACf,mBAAiC,EACjC,kBAA6C,EAC7C,OAAyC;IAEzC,OAAO,EAAE,mCAAmC,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,iBAAiB,GAAG,OAAO,EAAE,uCAAuC,CAAC,UAAU,EAAE,CAAC;IACxF,IAAI,CAAC;QACH,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,gCAAgC,CACxC;gBACE,IAAI,EAAE,0BAA0B,CAAC,uBAAuB;gBACxD,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,kBAAkB,CAAC,MAAM;aAClC,EACD,sEAAsE,CACvE,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAiB,EAAE,CAAC;QACrC,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,KAAK,MAAM,aAAa,IAAI,kBAAkB,EAAE,CAAC;YAC/C,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,IAAI,gCAAgC,CAAC;oBACzC,IAAI,EAAE,0BAA0B,CAAC,sBAAsB;oBACvD,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC;oBAC1B,WAAW,EAAE,aAAa,CAAC,KAAK;oBAChC,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,aAAa,CAAC,IAAI;iBAC3B,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,gCAAgC,CAAC;oBACzC,IAAI,EAAE,0BAA0B,CAAC,eAAe;oBAChD,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,aAAa,CAAC,KAAK;oBAChC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC;oBAC9B,MAAM,EAAE,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC;iBACjD,CAAC,CAAC;YACL,CAAC;YAED,IAAI,aAAa,CAAC,KAAK,IAAI,iBAAiB,EAAE,CAAC;gBAC7C,MAAM,IAAI,gCAAgC,CACxC;oBACE,IAAI,EAAE,0BAA0B,CAAC,aAAa;oBAC9C,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC;oBAC1B,WAAW,EAAE,aAAa,CAAC,KAAK;iBACjC,EACD,qCAAqC,CACtC,CAAC;YACJ,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,mBAAmB,CAAC,MAAM,EAAE,CAAC;gBAC/D,MAAM,IAAI,gCAAgC,CAAC;oBACzC,IAAI,EAAE,0BAA0B,CAAC,oBAAoB;oBACrD,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,aAAa,CAAC,KAAK;oBAChC,QAAQ,EAAE,mBAAmB,CAAC,MAAM;oBACpC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM;iBACpC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBACnE,MAAM,IAAI,gCAAgC,CAAC;oBACzC,IAAI,EAAE,0BAA0B,CAAC,yBAAyB;oBAC1D,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,aAAa,CAAC,KAAK;oBAChC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM;oBACrC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM;iBACvC,CAAC,CAAC;YACL,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;YACzC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAC,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YAClG,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,MAA0B,CAAC;QAC/B,uEAAuE;QACvE,MAAM,oBAAoB,GAAG,OAAO,EAAE,kCAAkC,CAAC,UAAU,EAAE,CAAC;QACtF,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,4BAA4B,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9F,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,GAAG,yBAAyB,CAAC;YACrC,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAI,CAAW,CAAC,OAAO,CAAC;QAChC,CAAC;gBAAS,CAAC;YACT,oBAAoB,EAAE,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,gCAAgC,CACxC;gBACE,IAAI,EAAE,0BAA0B,CAAC,uBAAuB;gBACxD,IAAI,EAAE,SAAS;gBACf,MAAM;aACP,EACD,+CAA+C,CAChD,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,oCAAoC,CAAC,GAAG,EAAE,CAAC;IACtD,CAAC;YAAS,CAAC;QACT,iBAAiB,EAAE,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iCAAiC,CAAC,MAAmB,EAAE,aAAgC;IACrG,OAAO,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,gCAAgC,CAAC;AACvE,CAAC"}
|
|
1
|
+
{"version":3,"file":"dataColumnSidecar.js","sourceRoot":"","sources":["../../../src/chain/validation/dataColumnSidecar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executionPayloadEnvelope.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadEnvelope.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"executionPayloadEnvelope.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadEnvelope.ts"],"names":[],"mappings":"AAaA,OAAO,EAAC,KAAK,EAAM,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAGzC,wBAAsB,mCAAmC,CACvD,KAAK,EAAE,YAAY,EACnB,wBAAwB,EAAE,KAAK,CAAC,8BAA8B,GAC7D,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,sCAAsC,CAC1D,KAAK,EAAE,YAAY,EACnB,wBAAwB,EAAE,KAAK,CAAC,8BAA8B,GAC7D,OAAO,CAAC,IAAI,CAAC,CAEf"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PayloadStatus } from "@lodestar/fork-choice";
|
|
2
|
+
import { MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD, MAX_BUILDER_EXIT_REQUESTS_PER_PAYLOAD, MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD, MAX_WITHDRAWALS_PER_PAYLOAD, MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD, } from "@lodestar/params";
|
|
2
3
|
import { computeStartSlotAtEpoch, getExecutionPayloadEnvelopeSignatureSet, isStatePostGloas, } from "@lodestar/state-transition";
|
|
3
4
|
import { ssz } from "@lodestar/types";
|
|
4
5
|
import { byteArrayEquals, toRootHex } from "@lodestar/utils";
|
|
@@ -59,8 +60,6 @@ async function validateExecutionPayloadEnvelope(chain, executionPayloadEnvelope)
|
|
|
59
60
|
if (block.slot !== payload.slotNumber) {
|
|
60
61
|
throw new ExecutionPayloadEnvelopeError(GossipAction.REJECT, {
|
|
61
62
|
code: ExecutionPayloadEnvelopeErrorCode.SLOT_MISMATCH,
|
|
62
|
-
slot: payload.slotNumber,
|
|
63
|
-
root: blockRootHex,
|
|
64
63
|
envelopeSlot: payload.slotNumber,
|
|
65
64
|
blockSlot: block.slot,
|
|
66
65
|
});
|
|
@@ -69,8 +68,6 @@ async function validateExecutionPayloadEnvelope(chain, executionPayloadEnvelope)
|
|
|
69
68
|
if (envelope.builderIndex !== payloadInput.getBuilderIndex()) {
|
|
70
69
|
throw new ExecutionPayloadEnvelopeError(GossipAction.REJECT, {
|
|
71
70
|
code: ExecutionPayloadEnvelopeErrorCode.BUILDER_INDEX_MISMATCH,
|
|
72
|
-
slot: payload.slotNumber,
|
|
73
|
-
root: blockRootHex,
|
|
74
71
|
envelopeBuilderIndex: envelope.builderIndex,
|
|
75
72
|
bidBuilderIndex: payloadInput.getBuilderIndex(),
|
|
76
73
|
});
|
|
@@ -79,8 +76,6 @@ async function validateExecutionPayloadEnvelope(chain, executionPayloadEnvelope)
|
|
|
79
76
|
if (toRootHex(payload.blockHash) !== payloadInput.getBlockHashHex()) {
|
|
80
77
|
throw new ExecutionPayloadEnvelopeError(GossipAction.REJECT, {
|
|
81
78
|
code: ExecutionPayloadEnvelopeErrorCode.BLOCK_HASH_MISMATCH,
|
|
82
|
-
slot: payload.slotNumber,
|
|
83
|
-
root: blockRootHex,
|
|
84
79
|
envelopeBlockHash: toRootHex(payload.blockHash),
|
|
85
80
|
bidBlockHash: payloadInput.getBlockHashHex(),
|
|
86
81
|
});
|
|
@@ -90,12 +85,38 @@ async function validateExecutionPayloadEnvelope(chain, executionPayloadEnvelope)
|
|
|
90
85
|
if (!byteArrayEquals(requestsRoot, payloadInput.getBid().executionRequestsRoot)) {
|
|
91
86
|
throw new ExecutionPayloadEnvelopeError(GossipAction.REJECT, {
|
|
92
87
|
code: ExecutionPayloadEnvelopeErrorCode.EXECUTION_REQUESTS_ROOT_MISMATCH,
|
|
93
|
-
slot: payload.slotNumber,
|
|
94
|
-
root: blockRootHex,
|
|
95
88
|
envelopeRequestsRoot: toRootHex(requestsRoot),
|
|
96
89
|
bidRequestsRoot: toRootHex(payloadInput.getBid().executionRequestsRoot),
|
|
97
90
|
});
|
|
98
91
|
}
|
|
92
|
+
// [REJECT] The counts of `execution_requests` are within their respective limits.
|
|
93
|
+
// New in Gloas:EIP7688 — progressive lists are unbounded at the type level, so bounds
|
|
94
|
+
// are enforced here in gossip validation.
|
|
95
|
+
const { executionRequests } = envelope;
|
|
96
|
+
const requestCountLimits = [
|
|
97
|
+
["withdrawals", executionRequests.withdrawals.length, MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD],
|
|
98
|
+
["consolidations", executionRequests.consolidations.length, MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD],
|
|
99
|
+
["builderDeposits", executionRequests.builderDeposits.length, MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD],
|
|
100
|
+
["builderExits", executionRequests.builderExits.length, MAX_BUILDER_EXIT_REQUESTS_PER_PAYLOAD],
|
|
101
|
+
];
|
|
102
|
+
for (const [name, count, limit] of requestCountLimits) {
|
|
103
|
+
if (count > limit) {
|
|
104
|
+
throw new ExecutionPayloadEnvelopeError(GossipAction.REJECT, {
|
|
105
|
+
code: ExecutionPayloadEnvelopeErrorCode.EXECUTION_REQUESTS_COUNT_EXCEEDED,
|
|
106
|
+
name,
|
|
107
|
+
count,
|
|
108
|
+
limit,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// [REJECT] The number of withdrawals is within the limit.
|
|
113
|
+
if (payload.withdrawals.length > MAX_WITHDRAWALS_PER_PAYLOAD) {
|
|
114
|
+
throw new ExecutionPayloadEnvelopeError(GossipAction.REJECT, {
|
|
115
|
+
code: ExecutionPayloadEnvelopeErrorCode.WITHDRAWALS_COUNT_EXCEEDED,
|
|
116
|
+
count: payload.withdrawals.length,
|
|
117
|
+
limit: MAX_WITHDRAWALS_PER_PAYLOAD,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
99
120
|
// Get the block state to verify the builder's signature.
|
|
100
121
|
const blockState = await chain.regen
|
|
101
122
|
.getState(block.stateRoot, RegenCaller.validateGossipPayloadEnvelope)
|
|
@@ -115,8 +136,6 @@ async function validateExecutionPayloadEnvelope(chain, executionPayloadEnvelope)
|
|
|
115
136
|
if (!(await chain.bls.verifySignatureSets([signatureSet], { verifyOnMainThread: true }))) {
|
|
116
137
|
throw new ExecutionPayloadEnvelopeError(GossipAction.REJECT, {
|
|
117
138
|
code: ExecutionPayloadEnvelopeErrorCode.INVALID_SIGNATURE,
|
|
118
|
-
slot: payload.slotNumber,
|
|
119
|
-
root: blockRootHex,
|
|
120
139
|
});
|
|
121
140
|
}
|
|
122
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executionPayloadEnvelope.js","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadEnvelope.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"executionPayloadEnvelope.js","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadEnvelope.ts"],"names":[],"mappings":"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"}
|
package/lib/db/beacon.d.ts
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
import { ChainForkConfig } from "@lodestar/config";
|
|
2
2
|
import { Db, LevelDbControllerMetrics } from "@lodestar/db";
|
|
3
|
-
import { Slot } from "@lodestar/types";
|
|
4
|
-
import { Logger } from "@lodestar/utils";
|
|
5
|
-
import { type IDataColumnStore } from "./dataColumnStore.js";
|
|
6
|
-
import type { FlatFileStoreMetrics } from "./flatFileStore/metrics.js";
|
|
7
3
|
import { IBeaconDb } from "./interface.js";
|
|
8
4
|
import { CheckpointStateRepository } from "./repositories/checkpointState.js";
|
|
9
5
|
import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BackfilledRanges, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, ExecutionPayloadEnvelopeArchiveRepository, ExecutionPayloadEnvelopeRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository } from "./repositories/index.js";
|
|
10
|
-
export type
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
metrics?: FlatFileStoreMetrics | null;
|
|
6
|
+
export type BeaconDbModules = {
|
|
7
|
+
config: ChainForkConfig;
|
|
8
|
+
db: Db;
|
|
14
9
|
};
|
|
15
10
|
export declare class BeaconDb implements IBeaconDb {
|
|
16
11
|
protected readonly db: Db;
|
|
@@ -33,13 +28,9 @@ export declare class BeaconDb implements IBeaconDb {
|
|
|
33
28
|
syncCommittee: SyncCommitteeRepository;
|
|
34
29
|
syncCommitteeWitness: SyncCommitteeWitnessRepository;
|
|
35
30
|
backfilledRanges: BackfilledRanges;
|
|
36
|
-
|
|
37
|
-
lastLegacyArchiveSlot: Slot | null;
|
|
38
|
-
private readonly flatFileStore;
|
|
39
|
-
constructor(config: ChainForkConfig, db: Db, opts: BeaconDbOpts);
|
|
40
|
-
init(): Promise<void>;
|
|
31
|
+
constructor(config: ChainForkConfig, db: Db);
|
|
41
32
|
close(): Promise<void>;
|
|
42
|
-
setMetrics(metrics: LevelDbControllerMetrics
|
|
33
|
+
setMetrics(metrics: LevelDbControllerMetrics): void;
|
|
43
34
|
pruneHotDb(): Promise<void>;
|
|
44
35
|
deleteDeprecatedEth1Data(): Promise<void>;
|
|
45
36
|
private deleteBucketData;
|
package/lib/db/beacon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beacon.d.ts","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,wBAAwB,EAAY,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"beacon.d.ts","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,wBAAwB,EAAY,MAAM,cAAc,CAAC;AAErE,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,yBAAyB,EAAC,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,gBAAgB,EAChB,+BAA+B,EAC/B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,yCAAyC,EACzC,kCAAkC,EAClC,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,eAAe,CAAC;IACxB,EAAE,EAAE,EAAE,CAAC;CACR,CAAC;AAEF,qBAAa,QAAS,YAAW,SAAS;IA8BtC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE;IA7B3B,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,EAAE,sBAAsB,CAAC;IAErC,YAAY,EAAE,sBAAsB,CAAC;IACrC,mBAAmB,EAAE,6BAA6B,CAAC;IACnD,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,wBAAwB,EAAE,kCAAkC,CAAC;IAE7D,wBAAwB,EAAE,kCAAkC,CAAC;IAC7D,+BAA+B,EAAE,yCAAyC,CAAC;IAE3E,YAAY,EAAE,sBAAsB,CAAC;IACrC,eAAe,EAAE,yBAAyB,CAAC;IAE3C,aAAa,EAAE,uBAAuB,CAAC;IACvC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,oBAAoB,EAAE,8BAA8B,CAAC;IAGrD,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,aAAa,EAAE,uBAAuB,CAAC;IACvC,oBAAoB,EAAE,8BAA8B,CAAC;IAErD,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC,YACE,MAAM,EAAE,eAAe,EACJ,EAAE,EAAE,EAAE,EA4B1B;IAED,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAErB;IAED,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAElD;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAMhC;IAEK,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAa9C;YAEa,gBAAgB;CAoB/B"}
|
package/lib/db/beacon.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { encodeKey } from "@lodestar/db";
|
|
2
2
|
import { Bucket } from "./buckets.js";
|
|
3
|
-
import { LegacyDataColumnStore } from "./dataColumnStore.js";
|
|
4
|
-
import { FlatFileStore } from "./flatFileStore/flatFileStore.js";
|
|
5
3
|
import { CheckpointStateRepository } from "./repositories/checkpointState.js";
|
|
6
4
|
import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BackfilledRanges, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, ExecutionPayloadEnvelopeArchiveRepository, ExecutionPayloadEnvelopeRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository, } from "./repositories/index.js";
|
|
7
5
|
export class BeaconDb {
|
|
@@ -26,10 +24,7 @@ export class BeaconDb {
|
|
|
26
24
|
syncCommittee;
|
|
27
25
|
syncCommitteeWitness;
|
|
28
26
|
backfilledRanges;
|
|
29
|
-
|
|
30
|
-
lastLegacyArchiveSlot = null;
|
|
31
|
-
flatFileStore;
|
|
32
|
-
constructor(config, db, opts) {
|
|
27
|
+
constructor(config, db) {
|
|
33
28
|
this.db = db;
|
|
34
29
|
// Warning: If code is ever run in the constructor, must change this stub to not extend 'packages/beacon-node/test/utils/stub/beaconDb.ts' -
|
|
35
30
|
this.block = new BlockRepository(config, db);
|
|
@@ -52,21 +47,12 @@ export class BeaconDb {
|
|
|
52
47
|
this.syncCommittee = new SyncCommitteeRepository(config, db);
|
|
53
48
|
this.syncCommitteeWitness = new SyncCommitteeWitnessRepository(config, db);
|
|
54
49
|
this.backfilledRanges = new BackfilledRanges(config, db);
|
|
55
|
-
this.flatFileStore = new FlatFileStore(opts.dataColumnDir, config, opts.logger, opts.metrics);
|
|
56
|
-
this.dataColumns = new LegacyDataColumnStore(this.flatFileStore, this.dataColumnSidecar, this.dataColumnSidecarArchive, this.blockArchive);
|
|
57
50
|
}
|
|
58
|
-
|
|
59
|
-
await this.flatFileStore.init();
|
|
60
|
-
const [lastLegacyKey] = await this.dataColumnSidecarArchive.keys({ reverse: true, limit: 1 });
|
|
61
|
-
this.lastLegacyArchiveSlot = lastLegacyKey?.prefix ?? null;
|
|
62
|
-
}
|
|
63
|
-
async close() {
|
|
64
|
-
await this.flatFileStore.close();
|
|
51
|
+
close() {
|
|
65
52
|
return this.db.close();
|
|
66
53
|
}
|
|
67
|
-
setMetrics(metrics
|
|
54
|
+
setMetrics(metrics) {
|
|
68
55
|
this.db.setMetrics(metrics);
|
|
69
|
-
this.flatFileStore.setMetrics(flatFileStoreMetrics);
|
|
70
56
|
}
|
|
71
57
|
async pruneHotDb() {
|
|
72
58
|
// Prune all hot blobs
|
package/lib/db/beacon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,SAAS,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"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"}
|
package/lib/db/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export { BeaconDb } from "./beacon.js";
|
|
2
2
|
export { Bucket } from "./buckets.js";
|
|
3
|
-
export type { DataColumnKey, IDataColumnStore, IndexedDataColumnBytes } from "./dataColumnStore.js";
|
|
4
3
|
export type { IBeaconDb } from "./interface.js";
|
|
5
4
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/db/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AACrC,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACpC,YAAY,EAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AACrC,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACpC,YAAY,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC"}
|
package/lib/db/interface.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { LevelDbControllerMetrics } from "@lodestar/db";
|
|
2
|
-
import { Slot } from "@lodestar/types";
|
|
3
|
-
import type { IDataColumnStore } from "./dataColumnStore.js";
|
|
4
|
-
import type { FlatFileStoreMetrics } from "./flatFileStore/metrics.js";
|
|
5
2
|
import { CheckpointStateRepository } from "./repositories/checkpointState.js";
|
|
6
3
|
import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BackfilledRanges, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, ExecutionPayloadEnvelopeArchiveRepository, ExecutionPayloadEnvelopeRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository } from "./repositories/index.js";
|
|
7
4
|
/**
|
|
@@ -29,15 +26,11 @@ export interface IBeaconDb {
|
|
|
29
26
|
syncCommittee: SyncCommitteeRepository;
|
|
30
27
|
syncCommitteeWitness: SyncCommitteeWitnessRepository;
|
|
31
28
|
backfilledRanges: BackfilledRanges;
|
|
32
|
-
dataColumns: IDataColumnStore;
|
|
33
|
-
/** Highest legacy column slot at startup; later archival writes the block-root index first. */
|
|
34
|
-
readonly lastLegacyArchiveSlot: Slot | null;
|
|
35
|
-
init(): Promise<void>;
|
|
36
29
|
pruneHotDb(): Promise<void>;
|
|
37
30
|
deleteDeprecatedEth1Data(): Promise<void>;
|
|
38
31
|
/** Close the connection to the db instance and close the db store. */
|
|
39
32
|
close(): Promise<void>;
|
|
40
33
|
/** To inject metrics after CLI initialization */
|
|
41
|
-
setMetrics(metrics: LevelDbControllerMetrics
|
|
34
|
+
setMetrics(metrics: LevelDbControllerMetrics): void;
|
|
42
35
|
}
|
|
43
36
|
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/db/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/db/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,yBAAyB,EAAC,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,gBAAgB,EAChB,+BAA+B,EAC/B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,yCAAyC,EACzC,kCAAkC,EAClC,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AACH,MAAM,WAAW,SAAS;IAExB,KAAK,EAAE,eAAe,CAAC;IAEvB,YAAY,EAAE,sBAAsB,CAAC;IAErC,YAAY,EAAE,sBAAsB,CAAC;IACrC,mBAAmB,EAAE,6BAA6B,CAAC;IACnD,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,wBAAwB,EAAE,kCAAkC,CAAC;IAE7D,wBAAwB,EAAE,kCAAkC,CAAC;IAC7D,+BAA+B,EAAE,yCAAyC,CAAC;IAG3E,YAAY,EAAE,sBAAsB,CAAC;IAErC,eAAe,EAAE,yBAAyB,CAAC;IAG3C,aAAa,EAAE,uBAAuB,CAAC;IACvC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,oBAAoB,EAAE,8BAA8B,CAAC;IAGrD,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,aAAa,EAAE,uBAAuB,CAAC;IACvC,oBAAoB,EAAE,8BAA8B,CAAC;IAErD,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C,uEAAuE;IACvE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,iDAAiD;IACjD,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAC;CACrD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
-
import { Db,
|
|
2
|
+
import { Db, FilterOptions, KeyValue, Repository } from "@lodestar/db";
|
|
3
3
|
import { Root, SignedBeaconBlock, Slot } from "@lodestar/types";
|
|
4
4
|
export interface BlockFilterOptions extends FilterOptions<Slot> {
|
|
5
5
|
step?: number;
|
|
@@ -19,14 +19,8 @@ export declare class BlockArchiveRepository extends Repository<Slot, SignedBeaco
|
|
|
19
19
|
getId(value: SignedBeaconBlock): Slot;
|
|
20
20
|
decodeKey(data: Uint8Array): number;
|
|
21
21
|
put(key: Slot, value: SignedBeaconBlock): Promise<void>;
|
|
22
|
-
putBinary(key: Slot, value: Uint8Array): Promise<void>;
|
|
23
22
|
batchPut(items: KeyValue<Slot, SignedBeaconBlock>[]): Promise<void>;
|
|
24
23
|
batchPutBinary(items: BlockArchiveBatchPutBinaryItem[]): Promise<void>;
|
|
25
|
-
delete(slot: Slot): Promise<void>;
|
|
26
|
-
batchDelete(slots: Slot[]): Promise<void>;
|
|
27
|
-
batch(operations: DbBatch<Slot, SignedBeaconBlock>): Promise<void>;
|
|
28
|
-
batchBinary(operations: DbBatch<Slot, Uint8Array>): Promise<void>;
|
|
29
|
-
private indexedBlockEntries;
|
|
30
24
|
remove(value: SignedBeaconBlock): Promise<void>;
|
|
31
25
|
batchRemove(values: SignedBeaconBlock[]): Promise<void>;
|
|
32
26
|
valuesStream(opts?: BlockFilterOptions): AsyncIterable<SignedBeaconBlock>;
|
|
@@ -34,7 +28,6 @@ export declare class BlockArchiveRepository extends Repository<Slot, SignedBeaco
|
|
|
34
28
|
getByRoot(root: Root): Promise<SignedBeaconBlock | null>;
|
|
35
29
|
getBinaryEntryByRoot(root: Root): Promise<KeyValue<Slot, Buffer> | null>;
|
|
36
30
|
getByParentRoot(root: Root): Promise<SignedBeaconBlock | null>;
|
|
37
|
-
getRootBySlot(slot: Slot): Promise<Root | null>;
|
|
38
31
|
getSlotByRoot(root: Root): Promise<Slot | null>;
|
|
39
32
|
getSlotByParentRoot(root: Root): Promise<Slot | null>;
|
|
40
33
|
private parseSlot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockArchive.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/blockArchive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"blockArchive.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/blockArchive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AACrE,OAAO,EAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAM,MAAM,iBAAiB,CAAC;AAanE,MAAM,WAAW,kBAAmB,SAAQ,aAAa,CAAC,IAAI,CAAC;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG;IACxE,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAC7E,YAAY,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAI1C;IAID,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU,CAEhD;IAED,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAE/C;IAID,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAEpC;IAED,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAElC;IAIK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5D;IAEK,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAcxE;IAEK,cAAc,CAAC,KAAK,EAAE,8BAA8B,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3E;IAEK,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpD;IAEK,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5D;IAEM,YAAY,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAU/E;IAEK,MAAM,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAEpE;IAIK,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAG7D;IAEK,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAG7E;IAEK,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAGnE;IAEK,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAEpD;IAEK,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAE1D;IAED,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,YAAY;CAWrB"}
|