@lodestar/beacon-node 1.30.0 → 1.31.0-dev.065cb80811

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 (92) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +4 -2
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/config/index.d.ts +1 -1
  5. package/lib/api/impl/config/index.js +5 -0
  6. package/lib/api/impl/config/index.js.map +1 -1
  7. package/lib/api/impl/validator/index.js +11 -33
  8. package/lib/api/impl/validator/index.js.map +1 -1
  9. package/lib/chain/archiveStore/historicalState/types.d.ts +2 -2
  10. package/lib/chain/archiveStore/utils/archiveBlocks.js +1 -2
  11. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  12. package/lib/chain/blocks/blockInput/blockInput.d.ts +166 -0
  13. package/lib/chain/blocks/blockInput/blockInput.js +538 -0
  14. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -0
  15. package/lib/chain/blocks/blockInput/errors.d.ts +38 -0
  16. package/lib/chain/blocks/blockInput/errors.js +17 -0
  17. package/lib/chain/blocks/blockInput/errors.js.map +1 -0
  18. package/lib/chain/blocks/blockInput/index.d.ts +5 -0
  19. package/lib/chain/blocks/blockInput/index.js +5 -0
  20. package/lib/chain/blocks/blockInput/index.js.map +1 -0
  21. package/lib/chain/blocks/blockInput/types.d.ts +117 -0
  22. package/lib/chain/blocks/blockInput/types.js +19 -0
  23. package/lib/chain/blocks/blockInput/types.js.map +1 -0
  24. package/lib/chain/blocks/blockInput/utils.d.ts +9 -0
  25. package/lib/chain/blocks/blockInput/utils.js +35 -0
  26. package/lib/chain/blocks/blockInput/utils.js.map +1 -0
  27. package/lib/chain/blocks/importBlock.d.ts +5 -0
  28. package/lib/chain/blocks/importBlock.js +27 -2
  29. package/lib/chain/blocks/importBlock.js.map +1 -1
  30. package/lib/chain/chain.d.ts +2 -0
  31. package/lib/chain/chain.js +16 -10
  32. package/lib/chain/chain.js.map +1 -1
  33. package/lib/chain/initState.js +11 -0
  34. package/lib/chain/initState.js.map +1 -1
  35. package/lib/chain/interface.d.ts +2 -0
  36. package/lib/chain/interface.js.map +1 -1
  37. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +20 -14
  38. package/lib/chain/opPools/aggregatedAttestationPool.js +41 -49
  39. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  40. package/lib/chain/opPools/syncContributionAndProofPool.d.ts +11 -4
  41. package/lib/chain/opPools/syncContributionAndProofPool.js +50 -8
  42. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  43. package/lib/chain/opPools/types.d.ts +1 -1
  44. package/lib/chain/opPools/types.js +1 -1
  45. package/lib/chain/opPools/types.js.map +1 -1
  46. package/lib/chain/produceBlock/produceBlockBody.js +2 -2
  47. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  48. package/lib/chain/seenCache/seenAggregateAndProof.d.ts +3 -3
  49. package/lib/chain/seenCache/seenAggregateAndProof.js +22 -10
  50. package/lib/chain/seenCache/seenAggregateAndProof.js.map +1 -1
  51. package/lib/chain/seenCache/seenAttesters.js +20 -11
  52. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  53. package/lib/chain/seenCache/seenBlockInput.d.ts +84 -0
  54. package/lib/chain/seenCache/seenBlockInput.js +225 -0
  55. package/lib/chain/seenCache/seenBlockInput.js.map +1 -0
  56. package/lib/chain/validation/aggregateAndProof.js +10 -2
  57. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  58. package/lib/chain/validation/attestation.js +8 -0
  59. package/lib/chain/validation/attestation.js.map +1 -1
  60. package/lib/chain/validation/blobSidecar.js +2 -2
  61. package/lib/chain/validation/blobSidecar.js.map +1 -1
  62. package/lib/chain/validation/block.js +2 -2
  63. package/lib/chain/validation/block.js.map +1 -1
  64. package/lib/chain/validatorMonitor.d.ts +3 -3
  65. package/lib/chain/validatorMonitor.js +273 -56
  66. package/lib/chain/validatorMonitor.js.map +1 -1
  67. package/lib/metrics/metrics/lodestar.d.ts +39 -70
  68. package/lib/metrics/metrics/lodestar.js +72 -215
  69. package/lib/metrics/metrics/lodestar.js.map +1 -1
  70. package/lib/network/core/networkCore.d.ts +2 -1
  71. package/lib/network/core/networkCore.js.map +1 -1
  72. package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -1
  73. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  74. package/lib/network/core/types.d.ts +3 -2
  75. package/lib/network/network.js +3 -3
  76. package/lib/network/network.js.map +1 -1
  77. package/lib/network/peers/score/interface.d.ts +1 -1
  78. package/lib/network/peers/score/interface.js.map +1 -1
  79. package/lib/network/peers/score/store.d.ts +2 -1
  80. package/lib/network/peers/score/store.js +1 -1
  81. package/lib/network/peers/score/store.js.map +1 -1
  82. package/lib/network/processor/gossipHandlers.js +5 -2
  83. package/lib/network/processor/gossipHandlers.js.map +1 -1
  84. package/lib/network/processor/index.d.ts +1 -6
  85. package/lib/network/processor/index.js +0 -14
  86. package/lib/network/processor/index.js.map +1 -1
  87. package/lib/node/nodejs.js +1 -1
  88. package/lib/node/nodejs.js.map +1 -1
  89. package/lib/util/graffiti.d.ts +3 -2
  90. package/lib/util/graffiti.js +2 -2
  91. package/lib/util/graffiti.js.map +1 -1
  92. package/package.json +15 -15
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockInput.js","sourceRoot":"","sources":["../../../../src/chain/blocks/blockInput/blockInput.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAE7E,OAAO,EAAC,4BAA4B,EAAC,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAC,MAAM,aAAa,CAAC;AACjE,OAAO,EAWL,MAAM,GAOP,MAAM,YAAY,CAAC;AAIpB,MAAM,UAAU,oBAAoB,CAAC,UAAuB;IAC1D,OAAO,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC;AAC5C,CAAC;AACD,MAAM,UAAU,iBAAiB,CAAC,UAAuB;IACvD,OAAO,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,UAAuB;IACzD,OAAO,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC;AAC5C,CAAC;AAED,SAAS,aAAa;IACpB,IAAI,OAA4B,CAAC;IACjC,IAAI,MAA2B,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QACnD,OAAO,GAAG,QAAQ,CAAC;QACnB,MAAM,GAAG,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,OAAO;QACL,OAAO;QACP,OAAO;QACP,MAAM;KACP,CAAC;AACJ,CAAC;AAyBD,MAAe,kBAAkB;IAiB/B,YAAY,IAAoB;QAHtB,iBAAY,GAAG,aAAa,EAAwB,CAAC;QACrD,gBAAW,GAAG,aAAa,EAAS,CAAC;QAG7C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IAC1C,CAAC;IAID,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,eAAe,CACvB;gBACE,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,SAAS,EAAE,IAAI,CAAC,YAAY;aAC7B,EACD,iDAAiD,CAClD,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,eAAe,CACvB;gBACE,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,SAAS,EAAE,IAAI,CAAC,YAAY;aAC7B,EACD,uDAAuD,CACxD,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IAC/B,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IACtD,CAAC;IAED,UAAU;QACR,OAAO;YACL,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;YACzC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC;IACJ,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACnD,MAAM,IAAI,eAAe,CACvB;gBACE,IAAI,EAAE,mBAAmB,CAAC,qBAAqB;gBAC/C,SAAS,EAAE,IAAI,CAAC,YAAY;aAC7B,EACD,iEAAiE,CAClE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,OAAe,EAAE,MAAoB;QAChD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzB,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,cAAc,CAAC,OAAe,EAAE,MAAoB;QAClD,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,OAAe,EAAE,MAAoB;QAChE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACnD,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/G,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAYD;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,kBAAsC;IAK3E,YAAoB,IAAoB,EAAE,KAA6B;QACrE,KAAK,CAAC,IAAI,CAAC,CAAC;QALd,SAAI,GAAG,MAAM,CAAC,OAAgB,CAAC;QAM7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,KAAsC;QAC3D,MAAM,IAAI,GAAmB;YAC3B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB;YAC1C,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;SACzD,CAAC;QACF,MAAM,KAAK,GAA2B;YACpC,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB;SAC/C,CAAC;QACF,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ,CAAC,CAAW;QAClB,MAAM,IAAI,eAAe,CACvB;YACE,IAAI,EAAE,mBAAmB,CAAC,oBAAoB;YAC9C,SAAS,EAAE,IAAI,CAAC,YAAY;SAC7B,EACD,sCAAsC,CACvC,CAAC;IACJ,CAAC;CACF;AA2BD;;;;;GAKG;AACH,MAAM,OAAO,eAAgB,SAAQ,kBAAmD;IAMtF,YAAoB,IAAoB,EAAE,KAA2B;QACnE,KAAK,CAAC,IAAI,CAAC,CAAC;QANd,SAAI,GAAG,MAAM,CAAC,KAAc,CAAC;QAGrB,eAAU,GAAG,IAAI,GAAG,EAA6B,CAAC;QAIxD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,KAAmD;QACxE,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC;QAElG,MAAM,KAAK,GAAG;YACZ,QAAQ,EAAE,IAAI;YACd,UAAU;YACV,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,4BAA4B,CAAC;YAC9F,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;SAChD,CAAC;QAC1B,MAAM,IAAI,GAAmB;YAC3B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB;YAC1C,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;SACzD,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpD,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,KAAqC;QACzD,MAAM,KAAK,GAAyB;YAClC,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB,CAAC;QACF,MAAM,IAAI,GAAmB;YAC3B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,KAAK,CAAC,gBAAgB;YACnC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC;YAChF,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI;SACvD,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpD,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE;YACjD,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,UAAU;QACR,OAAO;YACL,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;YACzC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACxG,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;SACpC,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,EAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAwB;QAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,eAAe,CACvB;gBACE,IAAI,EAAE,mBAAmB,CAAC,oBAAoB;gBAC9C,SAAS,EAAE,IAAI,CAAC,YAAY;aAC7B,EACD,iEAAiE,CAClE,CAAC;QACJ,CAAC;QAED,kEAAkE;QAClE,IAAI,YAAY,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,MAAM,IAAI,eAAe,CACvB;gBACE,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,cAAc,EAAE,IAAI,CAAC,YAAY;gBACjC,cAAc,EAAE,YAAY;gBAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE;aAC9B,EACD,8DAA8D,CAC/D,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,EAAC,WAAW,EAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC1C,iGAAiG;gBACjG,0FAA0F;YAC5F,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAEzF,IAAI,CAAC,KAAK,GAAG;YACX,GAAG,IAAI,CAAC,KAAK;YACb,QAAQ,EAAE,IAAI;YACd,UAAU;YACV,KAAK;YACL,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,4BAA4B,CAAC;YACxF,MAAM;YACN,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;SAC1C,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,CAAC,SAAoB;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,EAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAU;QAC/E,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,IAAI,eAAe,CACvB;gBACE,IAAI,EAAE,mBAAmB,CAAC,oBAAoB;gBAC9C,SAAS,EAAE,IAAI,CAAC,YAAY;aAC7B,EACD,gEAAgE,CACjE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,eAAe,CACvB;gBACE,IAAI,EAAE,mBAAmB,CAAC,oBAAoB;gBAC9C,SAAS,EAAE,IAAI,CAAC,YAAY;aAC7B,EACD,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QAED,kEAAkE;QAClE,IAAI,YAAY,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,MAAM,IAAI,eAAe,CACvB;gBACE,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,cAAc,EAAE,IAAI,CAAC,YAAY;gBACjC,cAAc,EAAE,YAAY;gBAC5B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,GAAG,SAAS,EAAE;aACvB,EACD,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,2BAA2B,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,EAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAC,CAAC,CAAC;QAE3F,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC5G,IAAI,CAAC,KAAK,GAAG;gBACX,GAAG,IAAI,CAAC,KAAK;gBACb,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,gBAAgB;aAClC,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,eAAe,CACvB;gBACE,IAAI,EAAE,mBAAmB,CAAC,eAAe;gBACzC,GAAG,IAAI,CAAC,UAAU,EAAE;aACrB,EACD,+CAA+C,CAChD,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACpC,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,eAAe,CACvB;gBACE,IAAI,EAAE,mBAAmB,CAAC,eAAe;gBACzC,GAAG,IAAI,CAAC,UAAU,EAAE;aACrB,EACD,4CAA4C,CAC7C,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,QAAQ,GAAe,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QACnD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,QAAQ,CAAC,IAAI,CAAC;oBACZ,KAAK;oBACL,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;oBACrC,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC;iBACpC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAe,CACvB;gBACE,IAAI,EAAE,mBAAmB,CAAC,eAAe;gBACzC,GAAG,IAAI,CAAC,UAAU,EAAE;aACrB,EACD,iDAAiD,CAClD,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IAC1E,CAAC;CACF;AAED,SAAS,qBAAqB,CAAC,KAAqC,EAAE,WAA8B;IAClG,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjF,IAAI,CAAC,eAAe,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,2BAA2B,CAClC,YAAoB,EACpB,KAAqC,EACrC,WAA8B;IAE9B,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;QAC/C,uGAAuG;QACvG,oGAAoG;QACpG,0EAA0E;QAC1E,MAAM,IAAI,eAAe,CACvB;YACE,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;YACnD,SAAS,EAAE,YAAY;YACvB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;YACxB,YAAY,EAAE,WAAW,CAAC,KAAK;SAChC,EACD,wDAAwD,CACzD,CAAC;IACJ,CAAC;AACH,CAAC;AAgCD;;;;;;GAMG;AACH,MAAM,OAAO,iBAAkB,SAAQ,kBAA0D;IAS/F,YACE,IAAoB,EACpB,KAA6B,EAC7B,cAA6B,EAC7B,cAA6B;QAE7B,KAAK,CAAC,IAAI,CAAC,CAAC;QAdd,SAAI,GAAG,MAAM,CAAC,OAAgB,CAAC;QAIvB,iBAAY,GAAG,IAAI,GAAG,EAAiC,CAAC;QAW9D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,eAAe,CACpB,KACuF;QAEvF,MAAM,UAAU,GACd,KAAK,CAAC,YAAY;YAClB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC;YACxD,KAAK,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG;YACZ,QAAQ,EAAE,IAAI;YACd,UAAU;YACV,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,4BAA4B,CAAC;YAC9F,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB;YAC1C,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC;QAC5B,MAAM,IAAI,GAAmB;YAC3B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB;YAC1C,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YACxD,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;SAC/B,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAElG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,gBAAgB,CACrB,KAAwG;QAExG,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;QACrD,MAAM,KAAK,GAA2B;YACpC,QAAQ,EAAE,KAAK;YACf,UAAU;YACV,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,4BAA4B,CAAC;SACtF,CAAC;QACF,MAAM,IAAI,GAAmB;YAC3B,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,KAAK,CAAC,gBAAgB;YACnC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC;YAClF,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI;SACzD,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAClG,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,UAAU;QACR,OAAO;YACL,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;YACzC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EACb,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC;gBAClF,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM;YAChC,eAAe,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM;SACjD,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,KAA8B;QACrC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,eAAe,CACvB;gBACE,IAAI,EAAE,mBAAmB,CAAC,oBAAoB;gBAC9C,SAAS,EAAE,IAAI,CAAC,YAAY;aAC7B,EACD,mEAAmE,CACpE,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,IAAI,eAAe,CACvB;gBACE,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,cAAc,EAAE,IAAI,CAAC,YAAY;gBACjC,cAAc,EAAE,KAAK,CAAC,YAAY;gBAClC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;gBAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE;aACpC,EACD,8DAA8D,CAC/D,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,EAAC,aAAa,EAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YACzD,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC9C,8FAA8F;YAChG,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAErG,IAAI,CAAC,KAAK,GAAG;YACX,GAAG,IAAI,CAAC,KAAK;YACb,QAAQ,EAAE,IAAI;YACd,UAAU;YACV,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC;QAE5B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,EAAC,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAY;QACrF,IAAI,YAAY,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,MAAM,IAAI,eAAe,CACvB;gBACE,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,cAAc,EAAE,IAAI,CAAC,YAAY;gBACjC,cAAc,EAAE,YAAY;gBAC5B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,GAAG,SAAS,EAAE;aACvB,EACD,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,6BAA6B,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,EAAC,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAC,CAAC,CAAC;QAEjG,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,cAAc,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAEjG,IAAI,CAAC,KAAK,GAAG;YACX,GAAG,IAAI,CAAC,KAAK;YACb,UAAU,EAAE,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU;YAC/C,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;SACjC,CAAC;QAE5B,IAAI,UAAU,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,SAAS,CAAC,WAAmB;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACpC,CAAC;IAED,iBAAiB;QACf,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,iBAAiB;QACf,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,uBAAuB;QACrB,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC,aAAa,EAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;IAChF,CAAC;IAED,2BAA2B;QACzB,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,SAAS,uBAAuB,CAC9B,KAAuC,EACvC,aAAqC;IAErC,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,aAAa,CAAC,cAAc,CAAC,MAAM;QACpF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAChE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAChE,CACF,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,YAAoB,EACpB,KAAuC,EACvC,aAAqC;IAErC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,eAAe,CACvB;YACE,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;YACnD,SAAS,EAAE,YAAY;YACvB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;YACxB,YAAY,EAAE,aAAa,CAAC,KAAK;SAClC,EACD,qEAAqE,CACtE,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { Slot } from "@lodestar/types";
2
+ import { LodestarError } from "@lodestar/utils";
3
+ import { PeerIdStr } from "../../../util/peerId.js";
4
+ import { BlockInputSource, LogMetaBlobs, LogMetaColumns } from "./types.js";
5
+ export declare enum BlockInputErrorCode {
6
+ INVALID_CONSTRUCTION = "BLOCK_INPUT_ERROR_INVALID_CONSTRUCTION",
7
+ INCOMPLETE_DATA = "BLOCK_INPUT_ERROR_INCOMPLETE_DATA",
8
+ MISSING_BLOCK = "BLOCK_INPUT_ERROR_MISSING_BLOCK",
9
+ MISSING_TIME_COMPLETE = "BLOCK_INPUT_ERROR_MISSING_TIME_COMPLETE",
10
+ MISMATCHED_ROOT_HEX = "BLOCK_INPUT_ERROR_MISMATCHED_ROOT_HEX",
11
+ MISMATCHED_KZG_COMMITMENT = "BLOCK_INPUT_ERROR_MISMATCHED_KZG_COMMITMENT"
12
+ }
13
+ export type BlockInputErrorType = {
14
+ code: BlockInputErrorCode.MISSING_BLOCK | BlockInputErrorCode.MISSING_TIME_COMPLETE;
15
+ blockRoot: string;
16
+ } | {
17
+ code: BlockInputErrorCode.INVALID_CONSTRUCTION;
18
+ blockRoot: string;
19
+ } | {
20
+ code: BlockInputErrorCode.MISMATCHED_ROOT_HEX;
21
+ blockInputRoot: string;
22
+ mismatchedRoot: string;
23
+ source: BlockInputSource;
24
+ peerId: PeerIdStr;
25
+ } | {
26
+ code: BlockInputErrorCode.MISMATCHED_KZG_COMMITMENT;
27
+ blockRoot: string;
28
+ slot: undefined | Slot;
29
+ sidecarIndex: number;
30
+ commitmentIndex?: number;
31
+ } | (LogMetaBlobs & {
32
+ code: BlockInputErrorCode.INCOMPLETE_DATA;
33
+ }) | (LogMetaColumns & {
34
+ code: BlockInputErrorCode.INCOMPLETE_DATA;
35
+ });
36
+ export declare class BlockInputError extends LodestarError<BlockInputErrorType> {
37
+ }
38
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1,17 @@
1
+ import { LodestarError } from "@lodestar/utils";
2
+ export var BlockInputErrorCode;
3
+ (function (BlockInputErrorCode) {
4
+ // Bad Arguments
5
+ BlockInputErrorCode["INVALID_CONSTRUCTION"] = "BLOCK_INPUT_ERROR_INVALID_CONSTRUCTION";
6
+ // Attempt to get all data but some is missing
7
+ BlockInputErrorCode["INCOMPLETE_DATA"] = "BLOCK_INPUT_ERROR_INCOMPLETE_DATA";
8
+ // Missing class property values for getters
9
+ BlockInputErrorCode["MISSING_BLOCK"] = "BLOCK_INPUT_ERROR_MISSING_BLOCK";
10
+ BlockInputErrorCode["MISSING_TIME_COMPLETE"] = "BLOCK_INPUT_ERROR_MISSING_TIME_COMPLETE";
11
+ // Mismatched values
12
+ BlockInputErrorCode["MISMATCHED_ROOT_HEX"] = "BLOCK_INPUT_ERROR_MISMATCHED_ROOT_HEX";
13
+ BlockInputErrorCode["MISMATCHED_KZG_COMMITMENT"] = "BLOCK_INPUT_ERROR_MISMATCHED_KZG_COMMITMENT";
14
+ })(BlockInputErrorCode || (BlockInputErrorCode = {}));
15
+ export class BlockInputError extends LodestarError {
16
+ }
17
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/chain/blocks/blockInput/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAI9C,MAAM,CAAN,IAAY,mBAcX;AAdD,WAAY,mBAAmB;IAC7B,gBAAgB;IAChB,sFAA+D,CAAA;IAE/D,8CAA8C;IAC9C,4EAAqD,CAAA;IAErD,4CAA4C;IAC5C,wEAAiD,CAAA;IACjD,wFAAiE,CAAA;IAEjE,oBAAoB;IACpB,oFAA6D,CAAA;IAC7D,gGAAyE,CAAA;AAC3E,CAAC,EAdW,mBAAmB,KAAnB,mBAAmB,QAc9B;AA4BD,MAAM,OAAO,eAAgB,SAAQ,aAAkC;CAAG"}
@@ -0,0 +1,5 @@
1
+ export * from "./blockInput.js";
2
+ export * from "./errors.js";
3
+ export * from "./utils.js";
4
+ export * from "./types.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,5 @@
1
+ export * from "./blockInput.js";
2
+ export * from "./errors.js";
3
+ export * from "./utils.js";
4
+ export * from "./types.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/chain/blocks/blockInput/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,117 @@
1
+ import { ForkName } from "@lodestar/params";
2
+ import { RootHex, SignedBeaconBlock, Slot, deneb, fulu } from "@lodestar/types";
3
+ export declare enum DAType {
4
+ PreData = "pre-data",
5
+ Blobs = "blobs",
6
+ Columns = "columns"
7
+ }
8
+ export type DAData = null | deneb.BlobSidecars | fulu.DataColumnSidecars;
9
+ /**
10
+ * Represents were input originated. Blocks and Data can come from different
11
+ * sources so each should be labelled individually.
12
+ */
13
+ export declare enum BlockInputSource {
14
+ gossip = "gossip",
15
+ api = "api",
16
+ engine = "engine",
17
+ byRange = "req_resp_by_range",
18
+ byRoot = "req_resp_by_root"
19
+ }
20
+ export type PromiseParts<T> = {
21
+ promise: Promise<T>;
22
+ resolve: (value: T) => void;
23
+ reject: (e: Error) => void;
24
+ };
25
+ export type LogMetaBasic = {
26
+ slot: number;
27
+ blockRoot: string;
28
+ timeCreatedSec: number;
29
+ };
30
+ export type LogMetaBlobs = LogMetaBasic & {
31
+ expectedBlobs: number | string;
32
+ receivedBlobs: number;
33
+ };
34
+ export type LogMetaColumns = LogMetaBasic & {
35
+ expectedColumns: number;
36
+ receivedColumns: number;
37
+ };
38
+ export type SourceMeta = {
39
+ source: BlockInputSource;
40
+ seenTimestampSec: number;
41
+ peerIdStr?: string;
42
+ };
43
+ export type BlobWithSource = SourceMeta & {
44
+ blobSidecar: deneb.BlobSidecar;
45
+ };
46
+ export type ColumnWithSource = SourceMeta & {
47
+ columnSidecar: fulu.DataColumnSidecar;
48
+ };
49
+ export type BlockHeaderMeta = {
50
+ forkName: ForkName;
51
+ slot: Slot;
52
+ blockRootHex: string;
53
+ parentRootHex: string;
54
+ };
55
+ export type CreateBlockInputMeta = {
56
+ daOutOfRange: boolean;
57
+ forkName: ForkName;
58
+ blockRootHex: string;
59
+ };
60
+ export type BlockInputInit = BlockHeaderMeta & {
61
+ daOutOfRange: boolean;
62
+ timeCreated: number;
63
+ };
64
+ export type AddBlock<F extends ForkName = ForkName> = {
65
+ block: SignedBeaconBlock<F>;
66
+ blockRootHex: string;
67
+ source: SourceMeta;
68
+ };
69
+ export type AddBlob = BlobWithSource & {
70
+ blockRootHex: RootHex;
71
+ };
72
+ export type AddColumn = ColumnWithSource & {
73
+ blockRootHex: RootHex;
74
+ };
75
+ export type BlobMeta = ColumnMeta & {
76
+ versionHash: Uint8Array;
77
+ };
78
+ export type ColumnMeta = {
79
+ blockRoot: Uint8Array;
80
+ index: number;
81
+ };
82
+ /**
83
+ * This is used to validate that BlockInput implementations follow some minimal subset of operations
84
+ * and that adding a new implementation won't break consumers that rely on this subset.
85
+ *
86
+ * Practically speaking, this interface is only used internally.
87
+ */
88
+ export interface IBlockInput<F extends ForkName = ForkName, TData extends DAData = DAData> {
89
+ type: DAType;
90
+ /** validator activities can't be performed on out of range data */
91
+ daOutOfRange: boolean;
92
+ timeCreatedSec: number;
93
+ forkName: ForkName;
94
+ slot: Slot;
95
+ blockRootHex: string;
96
+ parentRootHex: string;
97
+ addBlock(props: AddBlock<F>): void;
98
+ /** Whether the block has been seen and validated. If true, `getBlock` is guaranteed to not throw */
99
+ hasBlock(): boolean;
100
+ getBlock(): SignedBeaconBlock<F>;
101
+ getBlockSource(): SourceMeta;
102
+ /** Whether all expected DA data has been seen and validated. */
103
+ hasAllData(): boolean;
104
+ /**
105
+ * Whether the block and all DA data retrieved.
106
+ * If true, `getBlock` is guaranteed to not throw,
107
+ * and `getDAStatus` is guaranteed to be DAStatus.Complete
108
+ */
109
+ hasBlockAndAllData(): boolean;
110
+ getLogMeta(): LogMetaBasic;
111
+ /** Only safe to call when `hasBlockAndAllData` is true */
112
+ getTimeComplete(): number;
113
+ waitForBlock(timeout: number, signal?: AbortSignal): Promise<SignedBeaconBlock<F>>;
114
+ waitForAllData(timeout: number, signal?: AbortSignal): Promise<TData>;
115
+ waitForBlockAndAllData(timeout: number, signal?: AbortSignal): Promise<this>;
116
+ }
117
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,19 @@
1
+ export var DAType;
2
+ (function (DAType) {
3
+ DAType["PreData"] = "pre-data";
4
+ DAType["Blobs"] = "blobs";
5
+ DAType["Columns"] = "columns";
6
+ })(DAType || (DAType = {}));
7
+ /**
8
+ * Represents were input originated. Blocks and Data can come from different
9
+ * sources so each should be labelled individually.
10
+ */
11
+ export var BlockInputSource;
12
+ (function (BlockInputSource) {
13
+ BlockInputSource["gossip"] = "gossip";
14
+ BlockInputSource["api"] = "api";
15
+ BlockInputSource["engine"] = "engine";
16
+ BlockInputSource["byRange"] = "req_resp_by_range";
17
+ BlockInputSource["byRoot"] = "req_resp_by_root";
18
+ })(BlockInputSource || (BlockInputSource = {}));
19
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/chain/blocks/blockInput/types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,MAIX;AAJD,WAAY,MAAM;IAChB,8BAAoB,CAAA;IACpB,yBAAe,CAAA;IACf,6BAAmB,CAAA;AACrB,CAAC,EAJW,MAAM,KAAN,MAAM,QAIjB;AAID;;;GAGG;AACH,MAAM,CAAN,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,+BAAW,CAAA;IACX,qCAAiB,CAAA;IACjB,iDAA6B,CAAA;IAC7B,+CAA2B,CAAA;AAC7B,CAAC,EANW,gBAAgB,KAAhB,gBAAgB,QAM3B"}
@@ -0,0 +1,9 @@
1
+ import { ChainForkConfig } from "@lodestar/config";
2
+ import { ForkName } from "@lodestar/params";
3
+ import { Epoch, Slot } from "@lodestar/types";
4
+ import { BlobsSource, BlockSource as BlockSourceOld } from "../types.js";
5
+ import { BlockInputSource as BlockSource } from "./types.js";
6
+ export declare function isDaOutOfRange(config: ChainForkConfig, forkName: ForkName, blockSlot: Slot, currentEpoch: Epoch): boolean;
7
+ export declare function convertNewToOldBlockSource(source: BlockSource): BlockSourceOld;
8
+ export declare function convertNewToOldBlobSource(source: BlockSource): BlobsSource;
9
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1,35 @@
1
+ import { isForkPostDeneb } from "@lodestar/params";
2
+ import { computeEpochAtSlot } from "@lodestar/state-transition";
3
+ import { BlobsSource, BlockSource as BlockSourceOld } from "../types.js";
4
+ import { BlockInputSource as BlockSource } from "./types.js";
5
+ export function isDaOutOfRange(config, forkName, blockSlot, currentEpoch) {
6
+ if (!isForkPostDeneb(forkName)) {
7
+ return true;
8
+ }
9
+ return computeEpochAtSlot(blockSlot) < currentEpoch - config.MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS;
10
+ }
11
+ export function convertNewToOldBlockSource(source) {
12
+ switch (source) {
13
+ case BlockSource.api:
14
+ return BlockSourceOld.api;
15
+ case BlockSource.byRoot:
16
+ return BlockSourceOld.byRoot;
17
+ case BlockSource.byRange:
18
+ return BlockSourceOld.byRange;
19
+ default:
20
+ return BlockSourceOld.gossip;
21
+ }
22
+ }
23
+ export function convertNewToOldBlobSource(source) {
24
+ switch (source) {
25
+ case BlockSource.api:
26
+ return BlobsSource.api;
27
+ case BlockSource.byRoot:
28
+ return BlobsSource.byRoot;
29
+ case BlockSource.byRange:
30
+ return BlobsSource.byRange;
31
+ default:
32
+ return BlobsSource.gossip;
33
+ }
34
+ }
35
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/chain/blocks/blockInput/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAC,WAAW,EAAE,WAAW,IAAI,cAAc,EAAC,MAAM,aAAa,CAAC;AACvE,OAAO,EAAC,gBAAgB,IAAI,WAAW,EAAC,MAAM,YAAY,CAAC;AAE3D,MAAM,UAAU,cAAc,CAC5B,MAAuB,EACvB,QAAkB,EAClB,SAAe,EACf,YAAmB;IAEnB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,kBAAkB,CAAC,SAAS,CAAC,GAAG,YAAY,GAAG,MAAM,CAAC,qCAAqC,CAAC;AACrG,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAmB;IAC5D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW,CAAC,GAAG;YAClB,OAAO,cAAc,CAAC,GAAG,CAAC;QAC5B,KAAK,WAAW,CAAC,MAAM;YACrB,OAAO,cAAc,CAAC,MAAM,CAAC;QAC/B,KAAK,WAAW,CAAC,OAAO;YACtB,OAAO,cAAc,CAAC,OAAO,CAAC;QAChC;YACE,OAAO,cAAc,CAAC,MAAM,CAAC;IACjC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAmB;IAC3D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW,CAAC,GAAG;YAClB,OAAO,WAAW,CAAC,GAAG,CAAC;QACzB,KAAK,WAAW,CAAC,MAAM;YACrB,OAAO,WAAW,CAAC,MAAM,CAAC;QAC5B,KAAK,WAAW,CAAC,OAAO;YACtB,OAAO,WAAW,CAAC,OAAO,CAAC;QAC7B;YACE,OAAO,WAAW,CAAC,MAAM,CAAC;IAC9B,CAAC;AACH,CAAC"}
@@ -1,3 +1,6 @@
1
+ import { ForkPostElectra } from "@lodestar/params";
2
+ import { EpochCache } from "@lodestar/state-transition";
3
+ import { Attestation, electra, phase0 } from "@lodestar/types";
1
4
  import type { BeaconChain } from "../chain.js";
2
5
  import { FullyVerifiedBlock, ImportBlockOpts } from "./types.js";
3
6
  /**
@@ -21,4 +24,6 @@ import { FullyVerifiedBlock, ImportBlockOpts } from "./types.js";
21
24
  * 7. Add post state to stateCache
22
25
  */
23
26
  export declare function importBlock(this: BeaconChain, fullyVerifiedBlock: FullyVerifiedBlock, opts: ImportBlockOpts): Promise<void>;
27
+ export declare function addAttestationPreElectra(this: BeaconChain, _: EpochCache, target: phase0.Checkpoint, attDataRoot: string, attestation: Attestation, indexedAttestation: phase0.IndexedAttestation): void;
28
+ export declare function addAttestationPostElectra(this: BeaconChain, epochCtx: EpochCache, target: phase0.Checkpoint, attDataRoot: string, attestation: Attestation<ForkPostElectra>, indexedAttestation: electra.IndexedAttestation): void;
24
29
  //# sourceMappingURL=importBlock.d.ts.map
@@ -1,6 +1,7 @@
1
+ import { BitArray } from "@chainsafe/ssz";
1
2
  import { routes } from "@lodestar/api";
2
3
  import { AncestorStatus, EpochDifference, ForkChoiceError, ForkChoiceErrorCode } from "@lodestar/fork-choice";
3
- import { ForkSeq, INTERVALS_PER_SLOT, MAX_SEED_LOOKAHEAD, SLOTS_PER_EPOCH } from "@lodestar/params";
4
+ import { ForkSeq, INTERVALS_PER_SLOT, MAX_SEED_LOOKAHEAD, SLOTS_PER_EPOCH, } from "@lodestar/params";
4
5
  import { RootCache, computeEpochAtSlot, computeStartSlotAtEpoch, isStateValidatorsNodesPopulated, } from "@lodestar/state-transition";
5
6
  import { ssz } from "@lodestar/types";
6
7
  import { isErrorAborted, toHex, toRootHex } from "@lodestar/utils";
@@ -88,13 +89,14 @@ export async function importBlock(fullyVerifiedBlock, opts) {
88
89
  const attestations = block.message.body.attestations;
89
90
  const rootCache = new RootCache(postState);
90
91
  const invalidAttestationErrorsByCode = new Map();
92
+ const addAttestation = fork >= ForkSeq.electra ? addAttestationPostElectra : addAttestationPreElectra;
91
93
  for (const attestation of attestations) {
92
94
  try {
93
95
  // TODO Electra: figure out how to reuse the attesting indices computed from state transition
94
96
  const indexedAttestation = postState.epochCtx.getIndexedAttestation(fork, attestation);
95
97
  const { target, beaconBlockRoot } = attestation.data;
96
98
  const attDataRoot = toRootHex(ssz.phase0.AttestationData.hashTreeRoot(indexedAttestation.data));
97
- this.seenAggregatedAttestations.add(target.epoch, attDataRoot, { aggregationBits: attestation.aggregationBits, trueBitCount: indexedAttestation.attestingIndices.length }, true);
99
+ addAttestation.call(this, postState.epochCtx, target, attDataRoot, attestation, indexedAttestation);
98
100
  // Duplicated logic from fork-choice onAttestation validation logic.
99
101
  // Attestations outside of this range will be dropped as Errors, so no need to import
100
102
  if (opts.importAttestations === AttestationImportOpt.Force ||
@@ -380,4 +382,27 @@ export async function importBlock(fullyVerifiedBlock, opts) {
380
382
  delaySec: this.clock.secFromSlot(blockSlot),
381
383
  });
382
384
  }
385
+ export function addAttestationPreElectra(
386
+ // added to have the same signature as addAttestationPostElectra
387
+ _, target, attDataRoot, attestation, indexedAttestation) {
388
+ this.seenAggregatedAttestations.add(target.epoch, attestation.data.index, attDataRoot, { aggregationBits: attestation.aggregationBits, trueBitCount: indexedAttestation.attestingIndices.length }, true);
389
+ }
390
+ export function addAttestationPostElectra(epochCtx, target, attDataRoot, attestation, indexedAttestation) {
391
+ const committeeIndices = attestation.committeeBits.getTrueBitIndexes();
392
+ if (committeeIndices.length === 1) {
393
+ this.seenAggregatedAttestations.add(target.epoch, committeeIndices[0], attDataRoot, { aggregationBits: attestation.aggregationBits, trueBitCount: indexedAttestation.attestingIndices.length }, true);
394
+ }
395
+ else {
396
+ const committees = epochCtx.getBeaconCommittees(attestation.data.slot, committeeIndices);
397
+ const aggregationBools = attestation.aggregationBits.toBoolArray();
398
+ let offset = 0;
399
+ for (let i = 0; i < committees.length; i++) {
400
+ const committee = committees[i];
401
+ const aggregationBits = BitArray.fromBoolArray(aggregationBools.slice(offset, offset + committee.length));
402
+ const trueBitCount = aggregationBits.getTrueBitIndexes().length;
403
+ offset += committee.length;
404
+ this.seenAggregatedAttestations.add(target.epoch, committeeIndices[i], attDataRoot, { aggregationBits, trueBitCount }, true);
405
+ }
406
+ }
407
+ }
383
408
  //# sourceMappingURL=importBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"importBlock.js","sourceRoot":"","sources":["../../../src/chain/blocks/importBlock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importBlock.js","sourceRoot":"","sources":["../../../src/chain/blocks/importBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC5G,OAAO,EAGL,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAGL,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAA6D,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAChG,OAAO,EAAC,cAAc,EAAE,KAAK,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAC,4BAA4B,EAAC,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAC,UAAU,EAAiB,MAAM,eAAe,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAC,mCAAmC,EAAC,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAC,oBAAoB,EAAE,cAAc,EAAsC,MAAM,YAAY,CAAC;AACrG,OAAO,EAAC,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,MAAM,2BAA2B,GAAG,CAAC,CAAC;AACtC;;GAEG;AACH,MAAM,mCAAmC,GAAG,EAAE,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAE/B,kBAAsC,EACtC,IAAqB;IAErB,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,sBAAsB,EAAC,GAAG,kBAAkB,CAAC;IAC7G,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,UAAU,CAAC;IACnC,MAAM,EAAC,IAAI,EAAE,SAAS,EAAC,GAAG,KAAK,CAAC,OAAO,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9F,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC;IAC1E,MAAM,aAAa,GAAG,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACnH,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAE/C,4FAA4F;IAC5F,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACrE,CAAC;IAED,6CAA6C;IAC7C,uHAAuH;IACvH,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5B,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,iCAAiC;IAEjC,+DAA+D;IAC/D,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAC1C,KAAK,CAAC,OAAO,EACb,SAAS,EACT,aAAa,EACb,IAAI,CAAC,KAAK,CAAC,WAAW,EACtB,eAAe,EACf,sBAAsB,CACvB,CAAC;IAEF,0DAA0D;IAC1D,kHAAkH;IAClH,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAEjD,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2CAA2C,EAAE,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAC,CAAC,CAAC;IAExG,wCAAwC;IACxC,EAAE;IACF,yBAAyB;IACzB,8BAA8B;IAC9B,4CAA4C;IAC5C,oEAAoE;IACpE,sFAAsF;IACtF,oGAAoG;IACpG,6GAA6G;IAC7G,IACE,IAAI,CAAC,kBAAkB,KAAK,oBAAoB,CAAC,KAAK;QACtD,CAAC,IAAI,CAAC,kBAAkB,KAAK,oBAAoB,CAAC,IAAI,IAAI,UAAU,IAAI,YAAY,GAAG,2BAA2B,CAAC,EACnH,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,8BAA8B,GAAG,IAAI,GAAG,EAAyC,CAAC;QAExF,MAAM,cAAc,GAAG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAEtG,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,6FAA6F;gBAC7F,MAAM,kBAAkB,GAAG,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACvF,MAAM,EAAC,MAAM,EAAE,eAAe,EAAC,GAAG,WAAW,CAAC,IAAI,CAAC;gBAEnD,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChG,cAAc,CAAC,IAAI,CACjB,IAAI,EACJ,SAAS,CAAC,QAAQ,EAClB,MAAM,EACN,WAAW,EACX,WAA2C,EAC3C,kBAAkB,CACnB,CAAC;gBACF,oEAAoE;gBACpE,qFAAqF;gBACrF,IACE,IAAI,CAAC,kBAAkB,KAAK,oBAAoB,CAAC,KAAK;oBACtD,CAAC,MAAM,CAAC,KAAK,IAAI,YAAY,IAAI,MAAM,CAAC,KAAK,IAAI,YAAY,GAAG,2BAA2B,CAAC,EAC5F,CAAC;oBACD,IAAI,CAAC,UAAU,CAAC,aAAa,CAC3B,kBAAkB,EAClB,WAAW,EACX,IAAI,CAAC,kBAAkB,KAAK,oBAAoB,CAAC,KAAK,CACvD,CAAC;gBACJ,CAAC;gBAED,kGAAkG;gBAClG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAU,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;gBAEpF,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;gBAC1G,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CACpC,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EACvD,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CACpD,CAAC;gBACF,IAAI,CAAC,gBAAgB,EAAE,0BAA0B,CAC/C,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,cAAc,EACd,YAAY,EACZ,SAAS,CACV,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,gGAAgG;gBAChG,IAAI,CAAC,YAAY,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,mBAAmB,EAAE,CAAC;oBAC5F,IAAI,YAAY,GAAG,8BAA8B,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACvE,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;wBAC/B,YAAY,GAAG,EAAC,KAAK,EAAE,CAAU,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC;wBAC7C,8BAA8B,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBACpE,CAAC;yBAAM,CAAC;wBACN,YAAY,CAAC,KAAK,EAAE,CAAC;oBACvB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,0BAA0B;oBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC,EAAE,CAAU,CAAC,CAAC;gBAC7F,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,IAAI,8BAA8B,CAAC,MAAM,EAAE,EAAE,CAAC;YACrE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,0CAA0C,EAC1C,EAAC,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,KAAK,EAAC,EAC7C,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,EAAE;IACF,iEAAiE;IACjE,mGAAmG;IACnG,qFAAqF;IACrF,IACE,IAAI,CAAC,kBAAkB,KAAK,oBAAoB,CAAC,KAAK;QACtD,CAAC,IAAI,CAAC,kBAAkB,KAAK,oBAAoB,CAAC,IAAI;YACpD,UAAU,IAAI,YAAY,GAAG,2BAA2B,GAAG,CAAC,GAAG,kBAAkB,CAAC,EACpF,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACH,uDAAuD;gBACvD,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC,EAAE,CAAU,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;IACH,CAAC;IAED,sEAAsE;IAEtE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC3E,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC;IAE1E,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5C,qCAAqC;QACrC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE/C,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;gBAC9C,KAAK,EAAE,OAAO,CAAC,SAAS;gBACxB,eAAe,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI;gBAC3F,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,SAAS;gBACxB,yBAAyB,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC;gBAC9F,wBAAwB,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC;gBAC5F,mBAAmB,EAAE,iBAAiB,CAAC,OAAO,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,0GAA0G;YAC1G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAC,EAAE,CAAU,CAAC,CAAC;QAC5G,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,SAAS;YACvB,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,+EAA+E;YAC/E,kFAAkF;YAClF,IAAI,QAAQ,GAAG,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC9D,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACrE,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,kBAAkB,EAAE,CAAC;oBACjE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,GAAG,EAAE,CAAC;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAExB,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QAE3C,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChF,IAAI,cAAc,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,EAAE,CAAC;YAC1D,6EAA6E;YAE7E,MAAM,wBAAwB,GAAmB;gBAC/C,KAAK,EAAE,cAAc,CAAC,KAAK;gBAC3B,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC;gBACvC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,YAAY,EAAE,OAAO,CAAC,SAAS;gBAC/B,YAAY,EAAE,OAAO,CAAC,SAAS;gBAC/B,YAAY,EAAE,OAAO,CAAC,SAAS;gBAC/B,YAAY,EAAE,OAAO,CAAC,SAAS;gBAC/B,mBAAmB,EAAE,iBAAiB,CAAC,OAAO,CAAC;aAChD,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;YAE7D,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACvE,CAAC;QAED,iDAAiD;QACjD,0BAA0B;QAC1B,8BAA8B;QAC9B,IAAI,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAChD,iEAAiE;YACjE,mBAAmB,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CACvC,KAAK,CAAC,OAAsC,EAC5C,SAAoC,EACpC,eAAe,CAChB,CAAC;gBACJ,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uCAAuC,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC,EAAE,CAAU,CAAC,CAAC;gBAC9F,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,EAAE;IACF,gGAAgG;IAChG,qGAAqG;IACrG,oGAAoG;IACpG,+GAA+G;IAC/G,IACE,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB;QACpC,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,IAAI,kBAAkB,KAAK,kBAAkB,CAAC,EACtF,CAAC;QACD;;;;;;WAMG;QACH,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,yBAAyB,IAAI,aAAa,CAAC;QAC3F;;;;WAIG;QACH,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,yBAAyB,IAAI,aAAa,CAAC;QACrG,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,yBAAyB,IAAI,aAAa,CAAC;QAC1G,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,eAAe;iBACjB,sBAAsB,CACrB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EACvD,aAAa,EACb,aAAa,EACb,kBAAkB,CACnB;iBACA,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACX,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAC,aAAa,EAAE,kBAAkB,EAAC,EAAE,CAAC,CAAC,CAAC;gBACtG,CAAC;YACH,CAAC,CAAC,CAAC;QACP,CAAC;IACH,CAAC;IAED,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uDAAuD,EAAE,EAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAC,CAAC,CAAC;IACvG,CAAC;IAED,IAAI,SAAS,GAAG,eAAe,KAAK,CAAC,EAAE,CAAC;QACtC,gDAAgD;QAChD,MAAM,eAAe,GAAG,SAAS,CAAC;QAClC,MAAM,EAAE,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QACnD,0DAA0D;QAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1E,oEAAoE;QACpE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;QAEjE,MAAM,qBAAqB,GAAG,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC;QAC7F,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAE,qBAAqB,CAAC,CAAC;QAE/E,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAElG,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,mBAAmB,GAAG,eAAe,CAAC,0BAA0B,CAAC;YACvE,MAAM,cAAc,GAAG,mBAAmB,CAAC,KAAK,CAAC;YACjD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,cAAc,CAAC;YAC5D,IAAI,cAAc,GAAG,iBAAiB,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAClF,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,GAAG,CAAC,eAAe,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;gBAC5F,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,mBAAmB,GAAG,eAAe,CAAC,mBAAmB,CAAC;YAChE,MAAM,cAAc,GAAG,mBAAmB,CAAC,KAAK,CAAC;YACjD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,cAAc,CAAC;YAC5D,IAAI,cAAc,GAAG,iBAAiB,EAAE,CAAC;gBACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE;oBAC7D,KAAK,EAAE,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC;oBAC1C,KAAK,EAAE,mBAAmB,CAAC,KAAK;oBAChC,KAAK,EAAE,SAAS,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;oBAChD,mBAAmB,EAAE,KAAK;iBAC3B,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAClF,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAED,mDAAmD;IAEnD,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,GAAG,mCAAmC,EAAE,CAAC;QAC7E,gFAAgF;QAChF,mBAAmB,CAAC,GAAG,EAAE;YACvB,6DAA6D;YAC7D,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE;oBAC/C,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,SAAS;oBACf,mBAAmB,EAAE,YAAY,IAAI,IAAI,IAAI,iBAAiB,CAAC,YAAY,CAAC;iBAC7E,CAAC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;gBACtE,KAAK,MAAM,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC9D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC7E,KAAK,MAAM,oBAAoB,IAAK,KAAK,CAAC,OAA+B,CAAC,IAAI,CAAC,qBAAqB,IAAI,EAAE,EAAE,CAAC;oBAC3G,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpE,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACzE,KAAK,MAAM,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACpE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACzE,KAAK,MAAM,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACpE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC;YACD,IACE,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,aAAa;gBAChD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAC/D,CAAC;gBACD,MAAM,EAAC,KAAK,EAAC,GAAG,UAAU,CAAC,SAAS,CAAC;gBACrC,KAAK,MAAM,WAAW,IAAI,KAAK,EAAE,CAAC;oBAChC,MAAM,EAAC,KAAK,EAAE,aAAa,EAAC,GAAG,WAAW,CAAC;oBAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;wBACrD,SAAS,EAAE,YAAY;wBACvB,IAAI,EAAE,SAAS;wBACf,KAAK;wBACL,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC;wBACnC,aAAa,EAAE,KAAK,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;qBAClE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2DAA2D;IAC3D,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC;IACvE,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IACvF,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAChF,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACxD,IAAI,CAAC,gBAAgB,EAAE,4BAA4B,CACjD,UAAU,EACT,KAAkC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAC9D,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,2BAA2B,CAAC,gBAAgB,CACnF,CAAC;IACJ,CAAC;IACD,8FAA8F;IAC9F,2FAA2F;IAC3F,+DAA+D;IAC/D,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,aAAa,EAAE,CAAC;QACrD,MAAM,EAAC,WAAW,EAAC,GAAG,UAAU,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,EAAC,WAAW,EAAC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,mCAAmC,CAAC,CAAC;IAE7F,iGAAiG;IACjG,gFAAgF;IAChF,mBAAmB,CAAC,GAAG,EAAE;QACvB,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAC,EAAE,YAAY,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACnE,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;QAE3D,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACjF,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAE7E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAC,CAAC,CAAC;IAC7G,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE;QACrC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC;KAC5C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB;AAEtC,gEAAgE;AAChE,CAAa,EACb,MAAyB,EACzB,WAAmB,EACnB,WAAwB,EACxB,kBAA6C;IAE7C,IAAI,CAAC,0BAA0B,CAAC,GAAG,CACjC,MAAM,CAAC,KAAK,EACZ,WAAW,CAAC,IAAI,CAAC,KAAK,EACtB,WAAW,EACX,EAAC,eAAe,EAAE,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,EAAC,EACxG,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAEvC,QAAoB,EACpB,MAAyB,EACzB,WAAmB,EACnB,WAAyC,EACzC,kBAA8C;IAE9C,MAAM,gBAAgB,GAAG,WAAW,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;IACvE,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CACjC,MAAM,CAAC,KAAK,EACZ,gBAAgB,CAAC,CAAC,CAAC,EACnB,WAAW,EACX,EAAC,eAAe,EAAE,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,EAAC,EACxG,IAAI,CACL,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACzF,MAAM,gBAAgB,GAAG,WAAW,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;QACnE,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1G,MAAM,YAAY,GAAG,eAAe,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC;YAChE,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,0BAA0B,CAAC,GAAG,CACjC,MAAM,CAAC,KAAK,EACZ,gBAAgB,CAAC,CAAC,CAAC,EACnB,WAAW,EACX,EAAC,eAAe,EAAE,YAAY,EAAC,EAC/B,IAAI,CACL,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -37,6 +37,7 @@ import { SeenGossipBlockInput } from "./seenCache/index.js";
37
37
  import { SeenAggregatedAttestations } from "./seenCache/seenAggregateAndProof.js";
38
38
  import { SeenAttestationDatas } from "./seenCache/seenAttestationData.js";
39
39
  import { SeenBlockAttesters } from "./seenCache/seenBlockAttesters.js";
40
+ import { SeenBlockInputCache } from "./seenCache/seenBlockInput.js";
40
41
  import { ShufflingCache } from "./shufflingCache.js";
41
42
  import { ValidatorMonitor } from "./validatorMonitor.js";
42
43
  export declare class BeaconChain implements IBeaconChain {
@@ -72,6 +73,7 @@ export declare class BeaconChain implements IBeaconChain {
72
73
  readonly seenContributionAndProof: SeenContributionAndProof;
73
74
  readonly seenAttestationDatas: SeenAttestationDatas;
74
75
  readonly seenGossipBlockInput: SeenGossipBlockInput;
76
+ readonly seenBlockInputCache: SeenBlockInputCache;
75
77
  readonly seenBlockAttesters: SeenBlockAttesters;
76
78
  readonly pubkey2index: PubkeyIndexMap;
77
79
  readonly index2pubkey: Index2PubkeyCache;
@@ -2,7 +2,7 @@ import path from "node:path";
2
2
  import { PubkeyIndexMap } from "@chainsafe/pubkey-index-map";
3
3
  import { ExecutionStatus, UpdateHeadOpt } from "@lodestar/fork-choice";
4
4
  import { ForkSeq, GENESIS_SLOT, SLOTS_PER_EPOCH, isForkPostElectra } from "@lodestar/params";
5
- import { computeAnchorCheckpoint, computeEndSlotAtEpoch, computeEpochAtSlot, computeStartSlotAtEpoch, createCachedBeaconState, getCurrentSlot, getEffectiveBalanceIncrementsZeroInactive, isCachedBeaconState, } from "@lodestar/state-transition";
5
+ import { computeAnchorCheckpoint, computeEndSlotAtEpoch, computeEpochAtSlot, computeStartSlotAtEpoch, createCachedBeaconState, getEffectiveBalanceIncrementsZeroInactive, isCachedBeaconState, processSlots, } from "@lodestar/state-transition";
6
6
  import { isBlindedBeaconBlock, } from "@lodestar/types";
7
7
  import { fromHex, gweiToWei, isErrorAborted, pruneSetToMax, sleep, toRootHex } from "@lodestar/utils";
8
8
  import { GENESIS_EPOCH, ZERO_HASH } from "../constants/index.js";
@@ -35,6 +35,7 @@ import { SeenGossipBlockInput } from "./seenCache/index.js";
35
35
  import { SeenAggregatedAttestations } from "./seenCache/seenAggregateAndProof.js";
36
36
  import { SeenAttestationDatas } from "./seenCache/seenAttestationData.js";
37
37
  import { SeenBlockAttesters } from "./seenCache/seenBlockAttesters.js";
38
+ import { SeenBlockInputCache } from "./seenCache/seenBlockInput.js";
38
39
  import { ShufflingCache } from "./shufflingCache.js";
39
40
  import { BlockStateCacheImpl } from "./stateCache/blockStateCacheImpl.js";
40
41
  import { DbCPStateDatastore } from "./stateCache/datastore/db.js";
@@ -50,7 +51,6 @@ import { PersistentCheckpointStateCache } from "./stateCache/persistentCheckpoin
50
51
  const DEFAULT_MAX_CACHED_PRODUCED_ROOTS = 4;
51
52
  export class BeaconChain {
52
53
  constructor(opts, { config, db, dbName, dataDir, logger, processShutdownCallback, clock, metrics, validatorMonitor, anchorState, eth1, executionEngine, executionBuilder, }) {
53
- this.syncContributionAndProofPool = new SyncContributionAndProofPool();
54
54
  this.opPool = new OpPool();
55
55
  // Gossip seen cache
56
56
  this.seenAttesters = new SeenAttesters();
@@ -94,11 +94,20 @@ export class BeaconChain {
94
94
  this.attestationPool = new AttestationPool(config, clock, preAggregateCutOffTime, this.opts?.preaggregateSlotDistance, metrics);
95
95
  this.aggregatedAttestationPool = new AggregatedAttestationPool(this.config, metrics);
96
96
  this.syncCommitteeMessagePool = new SyncCommitteeMessagePool(clock, preAggregateCutOffTime, this.opts?.preaggregateSlotDistance);
97
+ this.syncContributionAndProofPool = new SyncContributionAndProofPool(clock, metrics, logger);
97
98
  this.seenAggregatedAttestations = new SeenAggregatedAttestations(metrics);
98
99
  this.seenContributionAndProof = new SeenContributionAndProof(metrics);
99
100
  this.seenAttestationDatas = new SeenAttestationDatas(metrics, this.opts?.attDataCacheSlotDistance);
100
101
  this.beaconProposerCache = new BeaconProposerCache(opts);
101
102
  this.checkpointBalancesCache = new CheckpointBalancesCache();
103
+ this.seenBlockInputCache = new SeenBlockInputCache({
104
+ config,
105
+ clock,
106
+ chainEvents: emitter,
107
+ signal,
108
+ metrics,
109
+ logger,
110
+ });
102
111
  // Restore state caches
103
112
  // anchorState may already by a CachedBeaconState. If so, don't create the cache again, since deserializing all
104
113
  // pubkeys takes ~30 seconds for 350k keys (mainnet 2022Q2).
@@ -192,11 +201,6 @@ export class BeaconChain {
192
201
  }
193
202
  if (metrics) {
194
203
  metrics.clockSlot.addCollect(() => this.onScrapeMetrics(metrics));
195
- // Register a single collect() function to run all validatorMonitor metrics
196
- metrics.validatorMonitor.validatorsConnected.addCollect(() => {
197
- const clockSlot = getCurrentSlot(config, this.genesisTime);
198
- this.validatorMonitor?.scrapeMetrics(clockSlot);
199
- });
200
204
  }
201
205
  // Event handlers. emitter is created internally and dropped on close(). Not need to .removeListener()
202
206
  clock.addListener(ClockEvent.slot, this.onClockSlot.bind(this));
@@ -737,7 +741,7 @@ export class BeaconChain {
737
741
  metrics.opPool.proposerSlashingPoolSize.set(this.opPool.proposerSlashingsSize);
738
742
  metrics.opPool.voluntaryExitPoolSize.set(this.opPool.voluntaryExitsSize);
739
743
  metrics.opPool.syncCommitteeMessagePoolSize.set(this.syncCommitteeMessagePool.size);
740
- metrics.opPool.syncContributionAndProofPoolSize.set(this.syncContributionAndProofPool.size);
744
+ // syncContributionAndProofPool tracks metrics on its own
741
745
  metrics.opPool.blsToExecutionChangePoolSize.set(this.opPool.blsToExecutionChangeSize);
742
746
  metrics.chain.blacklistedBlocks.set(this.blacklistedBlocks.size);
743
747
  const forkChoiceMetrics = this.forkChoice.getMetrics();
@@ -854,10 +858,11 @@ export class BeaconChain {
854
858
  }
855
859
  }
856
860
  async getBlockRewards(block) {
857
- const preState = this.regen.getPreStateSync(block);
861
+ let preState = this.regen.getPreStateSync(block);
858
862
  if (preState === null) {
859
863
  throw Error(`Pre-state is unavailable given block's parent root ${toRootHex(block.parentRoot)}`);
860
864
  }
865
+ preState = processSlots(preState, block.slot); // Dial preState's slot to block.slot
861
866
  const postState = this.regen.getStateSync(toRootHex(block.stateRoot)) ?? undefined;
862
867
  return computeBlockRewards(block, preState.clone(), postState?.clone());
863
868
  }
@@ -878,10 +883,11 @@ export class BeaconChain {
878
883
  return { rewards, executionOptimistic, finalized };
879
884
  }
880
885
  async getSyncCommitteeRewards(block, validatorIds) {
881
- const preState = this.regen.getPreStateSync(block);
886
+ let preState = this.regen.getPreStateSync(block);
882
887
  if (preState === null) {
883
888
  throw Error(`Pre-state is unavailable given block's parent root ${toRootHex(block.parentRoot)}`);
884
889
  }
890
+ preState = processSlots(preState, block.slot); // Dial preState's slot to block.slot
885
891
  return computeSyncCommitteeRewards(block, preState.clone(), validatorIds);
886
892
  }
887
893
  }