@lodestar/beacon-node 1.46.0-dev.1cd9a671ea → 1.46.0-dev.40d3816715

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/lib/api/impl/config/constants.d.ts +1 -0
  2. package/lib/api/impl/config/constants.d.ts.map +1 -1
  3. package/lib/api/impl/config/constants.js +2 -1
  4. package/lib/api/impl/config/constants.js.map +1 -1
  5. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  6. package/lib/api/impl/lodestar/index.js +2 -3
  7. package/lib/api/impl/lodestar/index.js.map +1 -1
  8. package/lib/api/impl/validator/index.js +1 -1
  9. package/lib/api/impl/validator/index.js.map +1 -1
  10. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  11. package/lib/chain/archiveStore/archiveStore.js +17 -3
  12. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  13. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +1 -1
  14. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -1
  15. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  16. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js +1 -1
  17. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js.map +1 -1
  18. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  19. package/lib/chain/bls/multithread/index.js +0 -1
  20. package/lib/chain/bls/multithread/index.js.map +1 -1
  21. package/lib/chain/errors/executionPayloadBid.d.ts +8 -1
  22. package/lib/chain/errors/executionPayloadBid.d.ts.map +1 -1
  23. package/lib/chain/errors/executionPayloadBid.js +1 -0
  24. package/lib/chain/errors/executionPayloadBid.js.map +1 -1
  25. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  26. package/lib/chain/opPools/aggregatedAttestationPool.js +2 -1
  27. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  28. package/lib/chain/prepareNextSlot.js +1 -1
  29. package/lib/chain/prepareNextSlot.js.map +1 -1
  30. package/lib/chain/produceBlock/produceBlockBody.js +3 -3
  31. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  32. package/lib/chain/seenCache/seenExecutionPayloadBids.d.ts +6 -5
  33. package/lib/chain/seenCache/seenExecutionPayloadBids.d.ts.map +1 -1
  34. package/lib/chain/seenCache/seenExecutionPayloadBids.js +16 -8
  35. package/lib/chain/seenCache/seenExecutionPayloadBids.js.map +1 -1
  36. package/lib/chain/validation/blobSidecar.js +1 -1
  37. package/lib/chain/validation/executionPayloadBid.d.ts +0 -5
  38. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
  39. package/lib/chain/validation/executionPayloadBid.js +70 -24
  40. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  41. package/lib/chain/validation/proposerPreferences.js +8 -8
  42. package/lib/chain/validation/proposerPreferences.js.map +1 -1
  43. package/lib/chain/validatorMonitor.js +1 -1
  44. package/lib/chain/validatorMonitor.js.map +1 -1
  45. package/lib/metrics/nodeJsMetrics.js +1 -1
  46. package/lib/metrics/nodeJsMetrics.js.map +1 -1
  47. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  48. package/lib/network/core/networkCoreWorkerHandler.js +2 -7
  49. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  50. package/lib/network/discv5/index.d.ts.map +1 -1
  51. package/lib/network/discv5/index.js +1 -4
  52. package/lib/network/discv5/index.js.map +1 -1
  53. package/lib/network/gossip/topic.d.ts +4 -4
  54. package/lib/network/libp2p/index.d.ts.map +1 -1
  55. package/lib/network/libp2p/index.js +2 -9
  56. package/lib/network/libp2p/index.js.map +1 -1
  57. package/lib/network/peers/datastore.d.ts +1 -1
  58. package/lib/network/peers/datastore.d.ts.map +1 -1
  59. package/lib/network/peers/datastore.js +1 -1
  60. package/lib/network/peers/datastore.js.map +1 -1
  61. package/lib/network/processor/index.d.ts.map +1 -1
  62. package/lib/network/processor/index.js +2 -1
  63. package/lib/network/processor/index.js.map +1 -1
  64. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +1 -1
  65. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js +5 -1
  66. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js.map +1 -1
  67. package/lib/sync/constants.d.ts +6 -5
  68. package/lib/sync/constants.d.ts.map +1 -1
  69. package/lib/sync/constants.js +6 -5
  70. package/lib/sync/constants.js.map +1 -1
  71. package/lib/sync/range/batch.d.ts +10 -1
  72. package/lib/sync/range/batch.d.ts.map +1 -1
  73. package/lib/sync/range/batch.js +28 -10
  74. package/lib/sync/range/batch.js.map +1 -1
  75. package/lib/sync/range/chain.d.ts.map +1 -1
  76. package/lib/sync/range/chain.js +30 -15
  77. package/lib/sync/range/chain.js.map +1 -1
  78. package/lib/sync/range/utils/batches.d.ts +18 -0
  79. package/lib/sync/range/utils/batches.d.ts.map +1 -1
  80. package/lib/sync/range/utils/batches.js +39 -0
  81. package/lib/sync/range/utils/batches.js.map +1 -1
  82. package/lib/util/profile.d.ts +3 -0
  83. package/lib/util/profile.d.ts.map +1 -1
  84. package/lib/util/profile.js +1 -27
  85. package/lib/util/profile.js.map +1 -1
  86. package/lib/util/sszBytes.js +1 -1
  87. package/package.json +25 -36
  88. package/src/api/impl/config/constants.ts +2 -0
  89. package/src/api/impl/lodestar/index.ts +2 -3
  90. package/src/api/impl/validator/index.ts +1 -1
  91. package/src/chain/archiveStore/archiveStore.ts +20 -3
  92. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -1
  93. package/src/chain/blocks/verifyExecutionPayloadEnvelope.ts +1 -1
  94. package/src/chain/bls/multithread/index.ts +0 -1
  95. package/src/chain/errors/executionPayloadBid.ts +9 -1
  96. package/src/chain/opPools/aggregatedAttestationPool.ts +3 -1
  97. package/src/chain/prepareNextSlot.ts +1 -1
  98. package/src/chain/produceBlock/produceBlockBody.ts +3 -3
  99. package/src/chain/seenCache/seenExecutionPayloadBids.ts +22 -9
  100. package/src/chain/validation/blobSidecar.ts +1 -1
  101. package/src/chain/validation/executionPayloadBid.ts +87 -26
  102. package/src/chain/validation/proposerPreferences.ts +8 -8
  103. package/src/chain/validatorMonitor.ts +1 -1
  104. package/src/metrics/nodeJsMetrics.ts +1 -1
  105. package/src/network/core/networkCoreWorkerHandler.ts +2 -6
  106. package/src/network/discv5/index.ts +1 -4
  107. package/src/network/libp2p/index.ts +2 -10
  108. package/src/network/peers/datastore.ts +1 -1
  109. package/src/network/processor/index.ts +2 -1
  110. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +5 -1
  111. package/src/sync/constants.ts +6 -5
  112. package/src/sync/range/batch.ts +31 -10
  113. package/src/sync/range/chain.ts +36 -16
  114. package/src/sync/range/utils/batches.ts +44 -0
  115. package/src/util/profile.ts +1 -31
  116. package/src/util/sszBytes.ts +1 -1
  117. package/lib/bun-wrappers/prometheus-gc-stats.d.ts +0 -2
  118. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  119. package/lib/bun-wrappers/prometheus-gc-stats.js +0 -8
  120. package/lib/bun-wrappers/prometheus-gc-stats.js.map +0 -1
  121. package/lib/network/peers/datastore_bun.d.ts +0 -3
  122. package/lib/network/peers/datastore_bun.d.ts.map +0 -1
  123. package/lib/network/peers/datastore_bun.js +0 -3
  124. package/lib/network/peers/datastore_bun.js.map +0 -1
  125. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  126. package/src/network/peers/datastore_bun.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/sync/range/chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/sync/range/chain.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { DownloadByRangeErrorCode } from "../utils/downloadByRange.js";
11
11
  import { getRateLimitedUntilMs } from "../utils/rateLimit.js";
12
12
  import { RangeSyncType } from "../utils/remoteSyncType.js";
13
13
  import { Batch, BatchError, BatchErrorCode, BatchStatus } from "./batch.js";
14
- import { ChainPeersBalancer, batchStartEpochIsAfterSlot, computeHighestTarget, getBatchSlotRange, getNextBatchToProcess, isSyncChainDone, toArr, toBeDownloadedStartEpoch, validateBatchesStatus, } from "./utils/index.js";
14
+ import { ChainPeersBalancer, ProcessingFaultKind, batchStartEpochIsAfterSlot, classifyProcessingFault, computeHighestTarget, getBatchSlotRange, getNextBatchToProcess, isSyncChainDone, toArr, toBeDownloadedStartEpoch, validateBatchesStatus, } from "./utils/index.js";
15
15
  export class SyncChainStartError extends Error {
16
16
  }
17
17
  export { SyncChainStatus };
@@ -541,21 +541,36 @@ export class SyncChain {
541
541
  }
542
542
  else {
543
543
  this.logger.verbose("Batch process error", logCtx, res.err);
544
- batch.processingError(res.err); // Throws after MAX_BATCH_PROCESSING_ATTEMPTS
545
- // At least one block was successfully verified and imported, so we can be sure all
546
- // previous batches are valid and we only need to download the current failed batch.
547
- // TODO: Disabled for now
548
- // if (res.err instanceof ChainSegmentError && res.err.importedBlocks > 0) {
549
- // this.advanceChain(batch.startEpoch);
550
- // }
551
- // The current batch could not be processed, so either this or previous batches are invalid.
552
- // All previous batches (AwaitingValidation) are potentially faulty and marked for retry.
553
- // Progress will be drop back to `this.startEpoch`
554
- for (const pendingBatch of this.batches.values()) {
555
- if (pendingBatch.startEpoch < batch.startEpoch) {
556
- this.logger.verbose("Batch validation error", { id: this.logId, ...pendingBatch.getMetadata() });
557
- pendingBatch.validationError(res.err); // Throws after MAX_BATCH_PROCESSING_ATTEMPTS
544
+ const invalidatePreviousBatches = () => {
545
+ let invalidatedCount = 0;
546
+ for (const pendingBatch of this.batches.values()) {
547
+ if (pendingBatch.startEpoch < batch.startEpoch &&
548
+ pendingBatch.state.status === BatchStatus.AwaitingValidation) {
549
+ this.logger.verbose("Batch validation error", { id: this.logId, ...pendingBatch.getMetadata() });
550
+ pendingBatch.validationError(res.err);
551
+ invalidatedCount++;
552
+ }
558
553
  }
554
+ return invalidatedCount;
555
+ };
556
+ const prevBatch = this.batches.get(batch.startEpoch - EPOCHS_PER_BATCH);
557
+ switch (classifyProcessingFault(res.err, batch, prevBatch)) {
558
+ case ProcessingFaultKind.CurrentBatch:
559
+ batch.processingError(res.err);
560
+ break;
561
+ case ProcessingFaultKind.PreviousBatch:
562
+ // If no previous batch was invalidated, it means the error is on this batch
563
+ if (invalidatePreviousBatches() === 0) {
564
+ batch.processingError(res.err);
565
+ }
566
+ else {
567
+ batch.retainForReprocessing();
568
+ }
569
+ break;
570
+ case ProcessingFaultKind.Ambiguous:
571
+ batch.processingError(res.err);
572
+ invalidatePreviousBatches();
573
+ break;
559
574
  }
560
575
  }
561
576
  // A batch is no longer in Processing status, queue has an empty spot to download next batch
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/sync/range/chain.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAyB,kBAAkB,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAC,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,6CAA6C,CAAC;AACnG,OAAO,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAC;AAG5E,OAAO,EAAC,oBAAoB,EAAC,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAC,0BAA0B,EAAC,MAAM,8CAA8C,CAAC;AAExF,OAAO,EAAC,UAAU,EAAE,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAIxE,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAElD,OAAO,EAAa,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAE,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAuB,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAC,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAiB,WAAW,EAAC,MAAM,YAAY,CAAC;AACzF,OAAO,EACL,kBAAkB,EAElB,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,KAAK,EACL,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AA+C1B,MAAM,OAAO,mBAAoB,SAAQ,KAAK;CAAG;SAYrC,eAAe;AAA3B,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;IACnB,gCAAa,CAAA;IACb,kCAAe,CAAA;AAAC,CAClB,EALY,eAAe,KAAf,eAAe,QAK1B;AAED,8GAA8G;AAC9G,wGAAwG;AACxG,IAAI,WAAW,GAAG,CAAC,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,OAAO,SAAS;IACpB,yDAAyD;IAChD,KAAK,CAAS;IACd,QAAQ,CAAgB;IACjC;;;OAGG;IACH,MAAM,CAAc;IAEpB,yFAAyF;IACzF,eAAe,GAAG,CAAC,CAAC;IAEX,eAAe,CAAQ;IAChC;;;;OAIG;IACK,0BAA0B,CAAQ;IAClC,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC;IAExB,mBAAmB,CAAsC;IACzD,eAAe,CAAkC;IACjD,UAAU,CAA6B;IACvC,wBAAwB,CAA2C;IACnE,gBAAgB,CAAmC;IAEpE,uFAAuF;IACtE,cAAc,GAAG,IAAI,SAAS,EAAE,CAAC;IAClD,gEAAgE;IAC/C,OAAO,GAAG,IAAI,GAAG,EAAgB,CAAC;IACnD;;OAEG;IACK,YAAY,GAAG,IAAI,CAAC;IACX,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC7D;;;;OAIG;IACc,gBAAgB,GAAG,IAAI,GAAG,EAAqB,CAAC;IACzD,uBAAuB,CAA6B;IAE3C,MAAM,CAAS;IACf,MAAM,CAAkB;IACxB,KAAK,CAAS;IACd,OAAO,CAAiB;IACxB,aAAa,CAAgB;IAC7B,SAAS,CAAwC;IAElE,YACE,iBAAwB,EACxB,aAA0B,EAC1B,QAAuB,EACvB,GAAiB,EACjB,OAAyB,EACzB,SAAgD,EAChD;QACA,MAAM,EAAC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAC,GAAG,OAAO,CAAC;QAChE,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC;QACzC,IAAI,CAAC,0BAA0B,GAAG,iBAAiB,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,mBAAmB,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;QAC7C,IAAI,CAAC,wBAAwB,GAAG,GAAG,CAAC,wBAAwB,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,GAAG,QAAQ,IAAI,WAAW,EAAE,EAAE,CAAC;QAE5C,gCAAgC;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CACd,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAClC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAC1B,CAAC;IAAA,CACH;IAED;;;OAGG;IACH,YAAY,CAAC,mBAA0B,EAAQ;QAC7C,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,eAAe,CAAC,OAAO;gBAC1B,MAAM,CAAC,eAAe;YACxB,KAAK,eAAe,CAAC,OAAO;gBAC1B,OAAO,CAAC,wBAAwB;YAClC,KAAK,eAAe,CAAC,KAAK,CAAC;YAC3B,KAAK,eAAe,CAAC,IAAI;gBACvB,MAAM,IAAI,mBAAmB,CAAC,yCAAyC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;YAC1C,mBAAmB;YACnB,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;YAC3D,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;SAC7B,CAAC,CAAC;QAEH,oFAAoF;QACpF,mFAAmF;QACnF,MAAM,iCAAiC,GACrC,IAAI,CAAC,0BAA0B;YAC/B,IAAI,CAAC,KAAK,CAAC,CAAC,mBAAmB,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;QAC5G,IAAI,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC;QAErD,uDAAuD;QACvD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAAA,CAC9B;IAED;;OAEG;IACH,WAAW,GAAS;QAClB,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC;IAAA,CAC9D;IAED;;OAEG;IACH,MAAM,GAAS;QACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC;QACxD,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IAAA,CACxD;IAED;;OAEG;IACH,OAAO,CAAC,IAAe,EAAE,MAAmB,EAAQ;QAClD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAAA,CAC/B;IAED;;;OAGG;IACH,UAAU,CAAC,MAAiB,EAAW;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC;IAAA,CAChB;IAED;;OAEG;IACH,eAAe,GAAoB;QACjC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAAA,CAChE;IAED,IAAI,iBAAiB,GAAS;QAC5B,uDAAuD;QACvD,OAAO,iBAAiB,CAAC,IAAI,CAAC,0BAA0B,GAAG,gBAAgB,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;IAAA,CAC5F;IAED,IAAI,SAAS,GAAY;QACvB,OAAO,IAAI,CAAC,MAAM,KAAK,eAAe,CAAC,OAAO,CAAC;IAAA,CAChD;IAED,IAAI,WAAW,GAAY;QACzB,OAAO,IAAI,CAAC,MAAM,KAAK,eAAe,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe,CAAC,IAAI,CAAC;IAAA,CACtF;IAED,IAAI,KAAK,GAAW;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAAA,CAC1B;IAED,QAAQ,GAAgB;QACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAAA,CACxC;IAED,wCAAwC;IACxC,aAAa,GAAwB;QACnC,OAAO;YACL,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,0BAA0B;YAC3C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE;SAChC,CAAC;IAAA,CACH;IAEO,aAAa,GAAS;QAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;IAAA,CACF;IAED;;;OAGG;IACK,KAAK,CAAC,IAAI,GAAkB;QAClC,IAAI,CAAC;YACH,wDAAwD;YACxD,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC;oBAC5C,SAAS;gBACX,CAAC;gBAED,6EAA6E;gBAC7E,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAE3C,uFAAuF;gBACvF,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5F,MAAM;gBACR,CAAC;gBAED,oCAAoC;gBACpC,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzD,IAAI,KAAK;oBAAE,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC;gBAC9B,OAAO,CAAC,SAAS;YACnB,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAC,EAAE,CAAU,CAAC,CAAC;YAErE,8DAA8D;YAC9D,8FAA8F;YAC9F,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;gBAC5B,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnE,IAAI,gBAAgB,EAAE,CAAC;oBACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBACvC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC;IAAA,CACF;IAED;;OAEG;IACK,qBAAqB,GAAS;QACpC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IAAA,CAC/B;IAED;;;OAGG;IACK,sBAAsB,GAAS;QACrC,IAAI,CAAC;YACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,sDAAsD;YACtD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAU,CAAC,CAAC;QACtC,CAAC;IAAA,CACF;IAEO,6BAA6B,GAAS;QAC5C,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAChF,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,KAAK,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YACzE,IAAI,gBAAgB,IAAI,GAAG,EAAE,CAAC;gBAC5B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrC,SAAS;YACX,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,uBAAuB,GAAG,UAAU,CACvC,GAAG,EAAE,CAAC;YACJ,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;YACzC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAAA,CACtC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,CAC3B,CAAC;IAAA,CACH;IAEO,0BAA0B,GAAS;QACzC,IAAI,IAAI,CAAC,uBAAuB,KAAK,SAAS,EAAE,CAAC;YAC/C,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC3C,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;QAC3C,CAAC;IAAA,CACF;IAED;;;OAGG;IACK,cAAc,GAAS;QAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,sDAAsD;YACtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,GAAG,GAAG,gBAAgB,EAAE,CAAC;oBAC3B,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;YAED,IAAI,CAAC;gBACH,aAAa,CAAC,IAAI,CAAC,EAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAC,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAC,MAAM,EAAC,EAAE,CAAU,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEnH,qCAAqC;QACrC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,gBAAgB,EAAE,CAAC;gBACxD,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,YAAY,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,OAAO,KAAK,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,4IAA4I;gBAC5I,MAAM;YACR,CAAC;YACD,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACjC,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAClC,CAAC;IAAA,CACF;IAED;;OAEG;IACK,gBAAgB,GAAiB;QACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpC,mDAAmD;QACnD,sFAAsF;QACtF,+EAA+E;QAC/E,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,kBAAkB,CAAC;QAAA,CAChH,CAAC,CAAC;QACH,IAAI,eAAe,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,wGAAwG;QACxG,gGAAgG;QAChG,8HAA8H;QAC9H,IACE,OAAO,CAAC,MAAM,GAAG,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,0BAA0B,GAAG,qBAAqB,EACxG,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,iHAAiH;QACjH,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAEtF,mHAAmH;QACnH,IAAI,0BAA0B,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAC,CAAC,CAAC;YACjG,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,UAAU,EACV,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,YAAY;QACjB,4EAA4E;QAC5E,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CACjB,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IAAA,CACd;IAED;;OAEG;IACK,KAAK,CAAC,SAAS,CAAC,KAAY,EAAE,IAAkB,EAAiB;QACvE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE;YACvC,EAAE,EAAE,IAAI,CAAC,KAAK;YACd,GAAG,KAAK,CAAC,WAAW,EAAE;YACtB,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;SACxC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAE7B,yEAAyE;YACzE,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAE9E,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;gBACZ,6EAA6E;gBAC7E,MAAM,OAAO,GAAI,GAAG,CAAC,GAAqC,CAAC,IAAI,EAAE,IAAI,CAAC;gBACtE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,SAAS,EAAC,CAAC,CAAC;gBACrG,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC,SAAS,EAAE,CAAC;oBAC9C,2GAA2G;oBAC3G,wGAAwG;oBACxG,QAAQ,OAAO,EAAE,CAAC;wBAChB,KAAK,mBAAmB,CAAC,mBAAmB,CAAC;wBAC7C,KAAK,wBAAwB,CAAC,aAAa,CAAC;wBAC5C,KAAK,wBAAwB,CAAC,WAAW,CAAC;wBAC1C,KAAK,wBAAwB,CAAC,eAAe,CAAC;wBAC9C,KAAK,wBAAwB,CAAC,aAAa,CAAC;wBAC5C,KAAK,oBAAoB,CAAC,uBAAuB,CAAC;wBAClD,KAAK,oBAAoB,CAAC,eAAe,CAAC;wBAC1C,KAAK,0BAA0B,CAAC,uBAAuB,CAAC;wBACxD,KAAK,0BAA0B,CAAC,eAAe;4BAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAChF,CAAC;gBACH,CAAC;gBACD,QAAQ,OAAO,EAAE,CAAC;oBAChB,KAAK,wBAAwB,CAAC,YAAY,CAAC;oBAC3C,KAAK,wBAAwB,CAAC,mBAAmB,CAAC;oBAClD,KAAK,wBAAwB,CAAC,mBAAmB,CAAC;oBAClD,KAAK,wBAAwB,CAAC,oBAAoB,CAAC;oBACnD,KAAK,wBAAwB,CAAC,kCAAkC,CAAC;oBACjE,KAAK,wBAAwB,CAAC,qBAAqB,CAAC;oBACpD,KAAK,oBAAoB,CAAC,uBAAuB,CAAC;oBAClD,KAAK,oBAAoB,CAAC,uBAAuB,CAAC;oBAClD,KAAK,0BAA0B,CAAC,+BAA+B,CAAC;oBAChE,KAAK,0BAA0B,CAAC,yBAAyB,CAAC;oBAC1D,KAAK,0BAA0B,CAAC,uBAAuB,CAAC;oBACxD,KAAK,0BAA0B,CAAC,uBAAuB;wBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChF,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,sBAAsB,EACtB,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,EACjF,GAAG,CAAC,GAAG,CACR,CAAC;gBACF,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1D,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;oBAChC,4FAA4F;oBAC5F,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;oBAC3D,IAAI,CAAC,6BAA6B,EAAE,CAAC;oBACrC,KAAK,CAAC,sBAAsB,EAAE,CAAC;oBAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,qCAAqC;gBAC5E,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAE;oBAC5C,EAAE,EAAE,IAAI,CAAC,KAAK;oBACd,GAAG,KAAK,CAAC,WAAW,EAAE;oBACtB,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;iBACxC,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACtD,MAAM,EAAC,QAAQ,EAAE,MAAM,EAAC,GAAG,GAAG,CAAC,MAAM,CAAC;gBACtC,MAAM,EAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAC,GAAG,MAAM,CAAC;gBAC5D,MAAM,qBAAqB,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBACxG,MAAM,OAAO,GAA2B;oBACtC,UAAU,EAAE,qBAAqB,CAAC,MAAM,CAAC,MAAM;iBAChD,CAAC;gBAEF,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;wBAC/B,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;wBACjG,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,+BAA+B,EAC/B,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,EAC7F,OAAO,CACR,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,KAAK,MAAM,KAAK,IAAI,qBAAqB,CAAC,MAAM,EAAE,CAAC;oBACjD,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;wBACxC,MAAM,aAAa,GAAG,OAAO,YAAY,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtG,OAAO,CAAC,iBAAiB,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,aAAa,CAAC;wBAC7E,OAAO,CAAC,iBAAiB,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,aAAa,CAAC;oBAC5F,CAAC;yBAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;wBACtC,OAAO,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;oBACxF,CAAC;gBACH,CAAC;gBAED,IAAI,UAAkB,CAAC;gBACvB,IAAI,qBAAqB,CAAC,MAAM,KAAK,WAAW,CAAC,kBAAkB,EAAE,CAAC;oBACpE,UAAU,GAAG,qCAAqC,CAAC;oBACnD,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,4EAA4E,CAAC;oBAC1F,gEAAgE;gBAClE,CAAC;gBAED,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnE,MAAM,aAAa,GAAG,qBAAqB,CAAC,gBAAgB;oBAC1D,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;oBAC3D,CAAC,CAAC,IAAI,CAAC;gBAET,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE;oBAC5B,EAAE,EAAE,IAAI,CAAC,KAAK;oBACd,GAAG,KAAK,CAAC,WAAW,EAAE;oBACtB,GAAG,OAAO;oBACV,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC;oBAC1C,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAC,aAAa,EAAE,kBAAkB,CAAC,aAAa,CAAC,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5E,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;iBACxC,CAAC,CAAC;YACL,CAAC;YAED,+EAA+E;YAC/E,EAAE;YACF,8GAA8G;YAC9G,kDAAkD;YAClD,iCAAiC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,sDAAsD;YACtD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAU,CAAC,CAAC;QACtC,CAAC;QAED,+EAA+E;QAC/E,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAAA,CAC/B;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,KAAY,EAAiB;QACtD,MAAM,EAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAC,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;QAElE,MAAM,MAAM,GAAG;YACb,EAAE,EAAE,IAAI,CAAC,KAAK;YACd,GAAG,KAAK,CAAC,WAAW,EAAE;YACtB,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzD,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAC,aAAa,EAAE,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrG,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SACjD,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAEhD,yEAAyE;QACzE,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE/F,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAC,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,EAAC,CAAC,CAAC;YAE5E,oFAAoF;YACpF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACtC,CAAC;YAED,oDAAoD;YACpD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5D,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,6CAA6C;YAE7E,mFAAmF;YACnF,oFAAoF;YACpF,yBAAyB;YACzB,4EAA4E;YAC5E,yCAAyC;YACzC,IAAI;YAEJ,4FAA4F;YAC5F,yFAAyF;YACzF,kDAAkD;YAClD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBACjD,IAAI,YAAY,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;oBAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,YAAY,CAAC,WAAW,EAAE,EAAC,CAAC,CAAC;oBAC/F,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,6CAA6C;gBACtF,CAAC;YACH,CAAC;QACH,CAAC;QAED,4FAA4F;QAC5F,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAAA,CAC/B;IAED;;OAEG;IACK,YAAY,CAAC,6BAAoC,EAAQ;QAC/D,+CAA+C;QAC/C,IAAI,6BAA6B,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACrE,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,KAAK,CAAC,UAAU,GAAG,6BAA6B,EAAE,CAAC;gBACrD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9B,IAAI,CAAC,eAAe,IAAI,gBAAgB,CAAC;gBAEzC,8EAA8E;gBAC9E,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAC5C,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,wBAAwB,EAAE,CAAC;oBACrD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;wBACpC,KAAK,MAAM,cAAc,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;4BAC3C,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,cAAc,CAAC,EAAE,CAAC;gCACpE,+CAA+C;gCAC/C,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,iBAAiB,EAAE,2BAA2B,CAAC,CAAC;4BAC7F,CAAC;iCAAM,CAAC;gCACN,qCAAqC;gCACrC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,iBAAiB,EAAE,4BAA4B,CAAC,CAAC;4BAC9F,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,0BAA0B,GAAG,6BAA6B,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE;YACpC,EAAE,EAAE,IAAI,CAAC,KAAK;YACd,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;SAC5D,CAAC,CAAC;IAAA,CACJ;IAED;;OAEG;IACH,aAAa,CAAC,OAAgB,EAAQ;QACpC,MAAM,eAAe,GACnB,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC,SAAS;YACvC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,kBAAkB;YACtC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC;QAEtC,MAAM,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;QACzD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,kDAAkD;YACpD,CAAC;QACH,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACrD,KAAK,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;YAChF,KAAK,MAAM,EAAC,cAAc,EAAC,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;gBACtD,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpC,kBAAkB,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtF,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,IAAI,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;YAChG,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3D,eAAe,CAAC,GAAG,CAAC,EAAC,WAAW,EAAC,EAAE,SAAS,CAAC,CAAC;QAChD,CAAC;IAAA,CACF;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAoB,EAC2C;IAC/D,QAAQ,IAAI,EAAE,CAAC;QACb,mFAAmF;QACnF,0FAA0F;QAC1F,0CAA0C;QAC1C,2FAA2F;QAC3F,KAAK,cAAc,CAAC,uBAAuB;YACzC,OAAO,EAAC,MAAM,EAAE,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,gCAAgC,EAAC,CAAC;QAE1F,4DAA4D;QAC5D,KAAK,cAAc,CAAC,qBAAqB,CAAC;QAC1C,KAAK,cAAc,CAAC,aAAa,CAAC;QAClC,KAAK,cAAc,CAAC,YAAY,CAAC;QACjC,KAAK,cAAc,CAAC,mCAAmC;YACrD,OAAO,IAAI,CAAC;IAChB,CAAC;AAAA,CACF"}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/sync/range/chain.ts"],"names":[],"mappings":"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"}
@@ -36,4 +36,22 @@ export declare function batchStartEpochIsAfterSlot(startEpoch: Epoch, targetSlot
36
36
  * Returns true if SyncChain has processed all possible blocks with slot <= target.slot
37
37
  */
38
38
  export declare function isSyncChainDone(batches: Batch[], lastEpochWithProcessBlocks: Epoch, targetSlot: Slot): boolean;
39
+ /**
40
+ * Where a batch processing error should be attributed.
41
+ */
42
+ export declare enum ProcessingFaultKind {
43
+ /** This batch's own blocks are bad or incomplete, so redownload this batch. */
44
+ CurrentBatch = "CurrentBatch",
45
+ /** This batch is valid, but a previous batch did not deliver the parent. */
46
+ PreviousBatch = "PreviousBatch",
47
+ /** The fault could be in this batch or a previous batch, so hedge both ways. */
48
+ Ambiguous = "Ambiguous"
49
+ }
50
+ /**
51
+ * Classify a processChainSegment error for a batch so range sync only redownloads
52
+ * the batch or batches that could actually be at fault.
53
+ * Note that range sync is supposed to only handle linear chain, for forky condition we'll handle it via backward sync
54
+ * in BlockInputSync or the upcoming/TODO beacon_blocks_by_head req/resp.
55
+ */
56
+ export declare function classifyProcessingFault(err: Error, batch: Batch, prevBatch: Batch | undefined): ProcessingFaultKind;
39
57
  //# sourceMappingURL=batches.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"batches.d.ts","sourceRoot":"","sources":["../../../../src/sync/range/utils/batches.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAC,KAAK,EAAc,MAAM,aAAa,CAAC;AAE/C;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CA2B5D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,IAAI,CAmBpE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,GAAG,KAAK,CAInF;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAE/C;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,KAAK,GAAG;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAKvF;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAKvF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,0BAA0B,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAY9G"}
1
+ {"version":3,"file":"batches.d.ts","sourceRoot":"","sources":["../../../../src/sync/range/utils/batches.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAC,KAAK,EAAc,MAAM,aAAa,CAAC;AAE/C;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CA2B5D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,IAAI,CAmBpE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,GAAG,KAAK,CAInF;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAE/C;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,KAAK,GAAG;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAKvF;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAKvF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,0BAA0B,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAY9G;AAED;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,+EAA+E;IAC/E,YAAY,iBAAiB;IAC7B,4EAA4E;IAC5E,aAAa,kBAAkB;IAC/B,gFAAgF;IAChF,SAAS,cAAc;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,SAAS,GAAG,mBAAmB,CAuBnH"}
@@ -1,5 +1,6 @@
1
1
  import { SLOTS_PER_EPOCH } from "@lodestar/params";
2
2
  import { computeStartSlotAtEpoch } from "@lodestar/state-transition";
3
+ import { BlockError, BlockErrorCode } from "../../../chain/errors/index.js";
3
4
  import { BATCH_SLOT_OFFSET, EPOCHS_PER_BATCH } from "../../constants.js";
4
5
  import { BatchStatus } from "../batch.js";
5
6
  /**
@@ -105,4 +106,42 @@ export function isSyncChainDone(batches, lastEpochWithProcessBlocks, targetSlot)
105
106
  }
106
107
  return batchStartEpochIsAfterSlot(lastEpochWithProcessBlocks, targetSlot);
107
108
  }
109
+ export { ProcessingFaultKind };
110
+ /**
111
+ * Where a batch processing error should be attributed.
112
+ */
113
+ var ProcessingFaultKind;
114
+ (function (ProcessingFaultKind) {
115
+ /** This batch's own blocks are bad or incomplete, so redownload this batch. */
116
+ ProcessingFaultKind["CurrentBatch"] = "CurrentBatch";
117
+ /** This batch is valid, but a previous batch did not deliver the parent. */
118
+ ProcessingFaultKind["PreviousBatch"] = "PreviousBatch";
119
+ /** The fault could be in this batch or a previous batch, so hedge both ways. */
120
+ ProcessingFaultKind["Ambiguous"] = "Ambiguous";
121
+ })(ProcessingFaultKind || (ProcessingFaultKind = {}));
122
+ /**
123
+ * Classify a processChainSegment error for a batch so range sync only redownloads
124
+ * the batch or batches that could actually be at fault.
125
+ * Note that range sync is supposed to only handle linear chain, for forky condition we'll handle it via backward sync
126
+ * in BlockInputSync or the upcoming/TODO beacon_blocks_by_head req/resp.
127
+ */
128
+ export function classifyProcessingFault(err, batch, prevBatch) {
129
+ if (!(err instanceof BlockError)) {
130
+ return ProcessingFaultKind.CurrentBatch;
131
+ }
132
+ const { code } = err.type;
133
+ if (code !== BlockErrorCode.PARENT_BLOCK_UNKNOWN && code !== BlockErrorCode.PARENT_PAYLOAD_UNKNOWN) {
134
+ return ProcessingFaultKind.CurrentBatch;
135
+ }
136
+ const firstErrorSlot = err.signedBlock.message.slot;
137
+ if (firstErrorSlot === batch.startSlot) {
138
+ // note that range sync is for linear chain, so this is clearly an issue of the previous batch
139
+ return prevBatch === undefined ? ProcessingFaultKind.CurrentBatch : ProcessingFaultKind.PreviousBatch;
140
+ }
141
+ const prevTailSlot = batch.startSlot - 1;
142
+ const prevHasFullTail = code === BlockErrorCode.PARENT_PAYLOAD_UNKNOWN
143
+ ? (prevBatch?.getPayloadEnvelopes()?.get(prevTailSlot)?.hasPayloadEnvelope() ?? false)
144
+ : (prevBatch?.getBlocks().some((b) => b.slot === prevTailSlot) ?? false);
145
+ return prevHasFullTail ? ProcessingFaultKind.CurrentBatch : ProcessingFaultKind.Ambiguous;
146
+ }
108
147
  //# sourceMappingURL=batches.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"batches.js","sourceRoot":"","sources":["../../../../src/sync/range/utils/batches.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batches.js","sourceRoot":"","sources":["../../../../src/sync/range/utils/batches.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,9 @@ export declare enum ProfileThread {
3
3
  NETWORK = "network",
4
4
  DISC5 = "discv5"
5
5
  }
6
+ /**
7
+ * Take `durationMs` profile of the current thread and return the persisted file path.
8
+ */
6
9
  export declare function profileThread(thread: ProfileThread, durationMs: number, dirpath: string): Promise<string>;
7
10
  /**
8
11
  * Write heap snapshot of the current thread to the specified file.
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/util/profile.ts"],"names":[],"mappings":"AAIA,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,WAAW;CACjB;AASD,wBAAsB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE/G;AAwDD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBxF"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/util/profile.ts"],"names":[],"mappings":"AAIA,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,WAAW;CACjB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA8B/G;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBxF"}
@@ -8,19 +8,10 @@ var ProfileThread;
8
8
  ProfileThread["NETWORK"] = "network";
9
9
  ProfileThread["DISC5"] = "discv5";
10
10
  })(ProfileThread || (ProfileThread = {}));
11
- /**
12
- * The time to take a Bun profile.
13
- * If we increase this time it'll potentiall cause the app to crash.
14
- * If we decrease this time, profile recorded will be fragmented and hard to analyze.
15
- */
16
- const BUN_PROFILE_MS = 3 * 1000;
17
- export async function profileThread(thread, durationMs, dirpath) {
18
- return globalThis.Bun ? profileBun(thread, durationMs) : profileNodeJS(thread, durationMs, dirpath);
19
- }
20
11
  /**
21
12
  * Take `durationMs` profile of the current thread and return the persisted file path.
22
13
  */
23
- async function profileNodeJS(thread, durationMs, dirpath) {
14
+ export async function profileThread(thread, durationMs, dirpath) {
24
15
  const inspector = await import("node:inspector");
25
16
  // due to some typing issues, not able to use promisify here
26
17
  const profile = await new Promise((resolve, reject) => {
@@ -48,23 +39,6 @@ async function profileNodeJS(thread, durationMs, dirpath) {
48
39
  fs.writeFileSync(filePath, profile);
49
40
  return filePath;
50
41
  }
51
- /**
52
- * Unlike NodeJS, Bun console.profile() api flush data to the inspector,
53
- * so this api returns ms taken of this profile instead of file path.
54
- */
55
- async function profileBun(thread, durationMs) {
56
- const start = Date.now();
57
- let now = Date.now();
58
- while (now - start < durationMs) {
59
- // biome-ignore lint/suspicious/noConsole: need to use console api to profile in Bun
60
- console.profile(String(now));
61
- await sleep(BUN_PROFILE_MS);
62
- // biome-ignore lint/suspicious/noConsole: need to use console api to profile in Bun
63
- console.profileEnd(String(now));
64
- now = Date.now();
65
- }
66
- return `Successfully take Bun ${thread} thread profile in ${now - start}ms. Check your inspector to see the profile.`;
67
- }
68
42
  /**
69
43
  * Write heap snapshot of the current thread to the specified file.
70
44
  */
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/util/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/util/profile.ts"],"names":[],"mappings":"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"}
@@ -549,7 +549,7 @@ export function getBlockRootFromPayloadAttestationMessageSerialized(data) {
549
549
  * blockHash: Bytes32 (32 bytes)
550
550
  * prevRandao: Bytes32 (32 bytes)
551
551
  * feeRecipient: ExecutionAddress(20 bytes)
552
- * gasLimit: UintNum64 (8 bytes)
552
+ * gasLimit: UintBn64 (8 bytes)
553
553
  * builderIndex: BuilderIndex (8 bytes)
554
554
  * slot: Slot (8 bytes) ← absolute offset 264
555
555
  */
package/package.json CHANGED
@@ -11,75 +11,65 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.46.0-dev.1cd9a671ea",
14
+ "version": "1.46.0-dev.40d3816715",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
18
- "bun": "./src/index.ts",
18
+ "typescript": "./src/index.ts",
19
19
  "types": "./lib/index.d.ts",
20
20
  "import": "./lib/index.js"
21
21
  },
22
22
  "./api": {
23
- "bun": "./src/api/index.ts",
23
+ "typescript": "./src/api/index.ts",
24
24
  "types": "./lib/api/index.d.ts",
25
25
  "import": "./lib/api/index.js"
26
26
  },
27
27
  "./chain": {
28
- "bun": "./src/chain/index.ts",
28
+ "typescript": "./src/chain/index.ts",
29
29
  "types": "./lib/chain/index.d.ts",
30
30
  "import": "./lib/chain/index.js"
31
31
  },
32
32
  "./constants": {
33
- "bun": "./src/constants/index.ts",
33
+ "typescript": "./src/constants/index.ts",
34
34
  "types": "./lib/constants/index.d.ts",
35
35
  "import": "./lib/constants/index.js"
36
36
  },
37
37
  "./db": {
38
- "bun": "./src/db/index.ts",
38
+ "typescript": "./src/db/index.ts",
39
39
  "types": "./lib/db/index.d.ts",
40
40
  "import": "./lib/db/index.js"
41
41
  },
42
42
  "./metrics": {
43
- "bun": "./src/metrics/index.ts",
43
+ "typescript": "./src/metrics/index.ts",
44
44
  "types": "./lib/metrics/index.d.ts",
45
45
  "import": "./lib/metrics/index.js"
46
46
  },
47
47
  "./monitoring": {
48
- "bun": "./src/monitoring/index.ts",
48
+ "typescript": "./src/monitoring/index.ts",
49
49
  "types": "./lib/monitoring/index.d.ts",
50
50
  "import": "./lib/monitoring/index.js"
51
51
  },
52
52
  "./network": {
53
- "bun": "./src/network/index.ts",
53
+ "typescript": "./src/network/index.ts",
54
54
  "types": "./lib/network/index.d.ts",
55
55
  "import": "./lib/network/index.js"
56
56
  },
57
57
  "./node": {
58
- "bun": "./src/node/index.ts",
58
+ "typescript": "./src/node/index.ts",
59
59
  "types": "./lib/node/index.d.ts",
60
60
  "import": "./lib/node/index.js"
61
61
  },
62
62
  "./sync": {
63
- "bun": "./src/sync/index.ts",
63
+ "typescript": "./src/sync/index.ts",
64
64
  "types": "./lib/sync/index.d.ts",
65
65
  "import": "./lib/sync/index.js"
66
66
  },
67
67
  "./util": {
68
- "bun": "./src/util/index.ts",
68
+ "typescript": "./src/util/index.ts",
69
69
  "types": "./lib/util/index.d.ts",
70
70
  "import": "./lib/util/index.js"
71
71
  }
72
72
  },
73
- "imports": {
74
- "#prometheus-gc-stats-wrapper": {
75
- "bun": "./src/bun-wrappers/prometheus-gc-stats.ts",
76
- "default": "@chainsafe/prometheus-gc-stats"
77
- },
78
- "#datastore-wrapper": {
79
- "bun": "./src/network/peers/datastore_bun.ts",
80
- "default": "datastore-level"
81
- }
82
- },
83
73
  "files": [
84
74
  "src",
85
75
  "lib",
@@ -136,20 +126,19 @@
136
126
  "@libp2p/peer-id": "^6.0.4",
137
127
  "@libp2p/prometheus-metrics": "^5.0.14",
138
128
  "@libp2p/tcp": "^11.0.13",
139
- "@lodestar/api": "^1.46.0-dev.1cd9a671ea",
140
- "@lodestar/config": "^1.46.0-dev.1cd9a671ea",
141
- "@lodestar/db": "^1.46.0-dev.1cd9a671ea",
142
- "@lodestar/fork-choice": "^1.46.0-dev.1cd9a671ea",
143
- "@lodestar/logger": "^1.46.0-dev.1cd9a671ea",
144
- "@lodestar/params": "^1.46.0-dev.1cd9a671ea",
145
- "@lodestar/reqresp": "^1.46.0-dev.1cd9a671ea",
146
- "@lodestar/state-transition": "^1.46.0-dev.1cd9a671ea",
147
- "@lodestar/types": "^1.46.0-dev.1cd9a671ea",
148
- "@lodestar/utils": "^1.46.0-dev.1cd9a671ea",
149
- "@lodestar/validator": "^1.46.0-dev.1cd9a671ea",
129
+ "@lodestar/api": "^1.46.0-dev.40d3816715",
130
+ "@lodestar/config": "^1.46.0-dev.40d3816715",
131
+ "@lodestar/db": "^1.46.0-dev.40d3816715",
132
+ "@lodestar/fork-choice": "^1.46.0-dev.40d3816715",
133
+ "@lodestar/logger": "^1.46.0-dev.40d3816715",
134
+ "@lodestar/params": "^1.46.0-dev.40d3816715",
135
+ "@lodestar/reqresp": "^1.46.0-dev.40d3816715",
136
+ "@lodestar/state-transition": "^1.46.0-dev.40d3816715",
137
+ "@lodestar/types": "^1.46.0-dev.40d3816715",
138
+ "@lodestar/utils": "^1.46.0-dev.40d3816715",
139
+ "@lodestar/validator": "^1.46.0-dev.40d3816715",
150
140
  "@multiformats/multiaddr": "^13.0.1",
151
141
  "datastore-core": "^11.0.2",
152
- "datastore-fs": "^11.0.2",
153
142
  "datastore-level": "^12.0.2",
154
143
  "deepmerge": "^4.3.1",
155
144
  "fastify": "^5.8.1",
@@ -169,7 +158,7 @@
169
158
  "@libp2p/interface-internal": "^3.0.13",
170
159
  "@libp2p/logger": "^6.2.2",
171
160
  "@libp2p/utils": "^7.0.13",
172
- "@lodestar/spec-test-util": "^1.46.0-dev.1cd9a671ea",
161
+ "@lodestar/spec-test-util": "^1.46.0-dev.40d3816715",
173
162
  "@types/js-yaml": "^4.0.5",
174
163
  "@types/qs": "^6.9.7",
175
164
  "@types/tmp": "^0.2.3",
@@ -186,5 +175,5 @@
186
175
  "beacon",
187
176
  "blockchain"
188
177
  ],
189
- "gitHead": "4b927ade924253bac78cab64f9ffc45862b91682"
178
+ "gitHead": "0dd05c3d89714a45fef20f1cac051da5b5df2b50"
190
179
  }
@@ -12,6 +12,7 @@ import {
12
12
  BUILDER_PAYMENT_THRESHOLD_DENOMINATOR,
13
13
  BUILDER_PAYMENT_THRESHOLD_NUMERATOR,
14
14
  BUILDER_WITHDRAWAL_PREFIX,
15
+ BYTES_PER_FIELD_ELEMENT,
15
16
  COMPOUNDING_WITHDRAWAL_PREFIX,
16
17
  CONSOLIDATION_REQUEST_TYPE,
17
18
  DEPOSIT_CONTRACT_TREE_DEPTH,
@@ -131,6 +132,7 @@ export const specConstants = {
131
132
  // Deneb types
132
133
  BLOB_TX_TYPE: toHexByte(BLOB_TX_TYPE),
133
134
  VERSIONED_HASH_VERSION_KZG: toHexByte(VERSIONED_HASH_VERSION_KZG),
135
+ BYTES_PER_FIELD_ELEMENT,
134
136
 
135
137
  // electra
136
138
  UNSET_DEPOSIT_REQUESTS_START_INDEX,
@@ -32,9 +32,8 @@ export function getLodestarApi({
32
32
  }: Pick<ApiModules, "chain" | "config" | "db" | "network" | "sync">): ApplicationMethods<routes.lodestar.Endpoints> {
33
33
  let writingHeapdump = false;
34
34
  let writingProfile = false;
35
- // for NodeJS, profile the whole epoch
36
- // for Bun, profile 1 slot. Otherwise it will either crash the app, and/or inspector cannot render the profile
37
- const defaultProfileMs = globalThis.Bun ? config.SLOT_DURATION_MS : SLOTS_PER_EPOCH * config.SLOT_DURATION_MS;
35
+ // profile the whole epoch by default
36
+ const defaultProfileMs = SLOTS_PER_EPOCH * config.SLOT_DURATION_MS;
38
37
 
39
38
  return {
40
39
  async writeHeapdump({thread = "main", dirpath = "."}) {
@@ -1808,7 +1808,7 @@ export function getValidatorApi(
1808
1808
  const filteredRegistrations = registrations.filter((registration) => {
1809
1809
  const {pubkey} = registration.message;
1810
1810
  const validatorIndex = chain.pubkeyCache.getIndex(pubkey);
1811
- if (validatorIndex === null) return false;
1811
+ if (validatorIndex === null || validatorIndex >= headState.validatorCount) return false;
1812
1812
 
1813
1813
  const validator = headState.getValidator(validatorIndex);
1814
1814
  const status = getValidatorStatus(validator, currentEpoch);
@@ -4,6 +4,7 @@ import {Checkpoint} from "@lodestar/types/phase0";
4
4
  import {callFnWhenAwait} from "@lodestar/utils";
5
5
  import {IBeaconDb} from "../../db/index.js";
6
6
  import {Metrics} from "../../metrics/metrics.js";
7
+ import {callInNextEventLoop} from "../../util/eventLoop.js";
7
8
  import {isOptimisticBlock} from "../../util/forkChoice.js";
8
9
  import {JobItemQueue, isQueueErrorAborted} from "../../util/queue/index.js";
9
10
  import {ChainEvent} from "../emitter.js";
@@ -166,9 +167,25 @@ export class ArchiveStore {
166
167
  // Event handlers
167
168
  //-------------------------------------------------------------------------
168
169
  private onFinalizedCheckpoint = (finalized: CheckpointWithHex): void => {
169
- this.jobQueue.push(finalized).catch((e) => {
170
- if (!isQueueErrorAborted(e)) {
171
- this.logger.error("Error queuing finalized checkpoint", {epoch: finalized.epoch}, e as Error);
170
+ // Decouple finalized-checkpoint processing from block import. This handler runs synchronously
171
+ // inside the `ChainEvent.forkChoiceFinalized` emit from `forkChoice.onBlock()` during
172
+ // `importBlock()`; deferring the work to the next event-loop tick keeps any failure here off the
173
+ // import call stack, so it can't abort `importBlock()` before `regen.processState()` caches the
174
+ // head post-state — the deep-sync wedge this PR fixes (#9716).
175
+ //
176
+ // `jobQueue.push()` can throw synchronously (queue aborted / full) or reject asynchronously;
177
+ // awaiting it inside the deferred callback funnels both failure modes into the one catch.
178
+ callInNextEventLoop(async () => {
179
+ try {
180
+ await this.jobQueue.push(finalized);
181
+ } catch (e) {
182
+ if (!isQueueErrorAborted(e)) {
183
+ this.logger.error(
184
+ "Error queuing finalized checkpoint",
185
+ {epoch: finalized.epoch, rootHex: finalized.rootHex},
186
+ e as Error
187
+ );
188
+ }
172
189
  }
173
190
  });
174
191
  };
@@ -39,7 +39,6 @@ export class HistoricalStateRegen implements HistoricalStateWorkerApi {
39
39
  };
40
40
 
41
41
  const worker = new Worker(path.join(WORKER_DIR, "worker.js"), {
42
- suppressTranspileTS: Boolean(globalThis.Bun),
43
42
  workerData,
44
43
  } as ConstructorParameters<typeof Worker>[1]);
45
44
 
@@ -61,7 +61,7 @@ export function verifyExecutionPayloadEnvelope(
61
61
  `Prev randao mismatch between bid and payload bid=${toHex(bid.prevRandao)} payload=${toHex(payload.prevRandao)}`
62
62
  );
63
63
  }
64
- if (bid.gasLimit !== payload.gasLimit) {
64
+ if (bid.gasLimit !== BigInt(payload.gasLimit)) {
65
65
  throw new Error(`Gas limit mismatch between payload and bid payload=${payload.gasLimit} bid=${bid.gasLimit}`);
66
66
  }
67
67
  if (!byteArrayEquals(bid.blockHash, payload.blockHash)) {
@@ -267,7 +267,6 @@ export class BlsMultiThreadWorkerPool implements IBlsVerifier {
267
267
  for (let i = 0; i < poolSize; i++) {
268
268
  const workerData: WorkerData = {workerId: i};
269
269
  const worker = new Worker(path.join(workerDir, "worker.js"), {
270
- suppressTranspileTS: Boolean(globalThis.Bun),
271
270
  workerData,
272
271
  } as ConstructorParameters<typeof Worker>[1]);
273
272