@lodestar/beacon-node 1.36.0-dev.793f92c091 → 1.36.0-dev.d9cc6b90f7

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 (90) hide show
  1. package/lib/api/impl/config/constants.d.ts +4 -2
  2. package/lib/api/impl/config/constants.d.ts.map +1 -1
  3. package/lib/api/impl/config/constants.js +6 -3
  4. package/lib/api/impl/config/constants.js.map +1 -1
  5. package/lib/api/impl/validator/index.d.ts.map +1 -1
  6. package/lib/api/impl/validator/index.js +2 -2
  7. package/lib/api/impl/validator/index.js.map +1 -1
  8. package/lib/chain/chain.js +2 -2
  9. package/lib/chain/chain.js.map +1 -1
  10. package/lib/chain/errors/voluntaryExitError.d.ts +16 -2
  11. package/lib/chain/errors/voluntaryExitError.d.ts.map +1 -1
  12. package/lib/chain/errors/voluntaryExitError.js +22 -1
  13. package/lib/chain/errors/voluntaryExitError.js.map +1 -1
  14. package/lib/chain/lightClient/index.d.ts +3 -0
  15. package/lib/chain/lightClient/index.d.ts.map +1 -1
  16. package/lib/chain/lightClient/index.js +24 -13
  17. package/lib/chain/lightClient/index.js.map +1 -1
  18. package/lib/chain/opPools/syncContributionAndProofPool.d.ts +3 -1
  19. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +1 -1
  20. package/lib/chain/opPools/syncContributionAndProofPool.js +4 -3
  21. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  22. package/lib/chain/validation/attestation.d.ts.map +1 -1
  23. package/lib/chain/validation/attestation.js +6 -7
  24. package/lib/chain/validation/attestation.js.map +1 -1
  25. package/lib/chain/validation/block.d.ts.map +1 -1
  26. package/lib/chain/validation/block.js +1 -2
  27. package/lib/chain/validation/block.js.map +1 -1
  28. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +1 -1
  29. package/lib/chain/validation/lightClientOptimisticUpdate.js +1 -2
  30. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  31. package/lib/chain/validation/voluntaryExit.d.ts.map +1 -1
  32. package/lib/chain/validation/voluntaryExit.js +5 -4
  33. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  34. package/lib/constants/constants.d.ts +0 -5
  35. package/lib/constants/constants.d.ts.map +1 -1
  36. package/lib/constants/constants.js +0 -5
  37. package/lib/constants/constants.js.map +1 -1
  38. package/lib/constants/network.d.ts +0 -14
  39. package/lib/constants/network.d.ts.map +1 -1
  40. package/lib/constants/network.js +0 -15
  41. package/lib/constants/network.js.map +1 -1
  42. package/lib/metrics/metrics/lodestar.d.ts +1 -0
  43. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  44. package/lib/metrics/metrics/lodestar.js +4 -0
  45. package/lib/metrics/metrics/lodestar.js.map +1 -1
  46. package/lib/network/discv5/utils.d.ts.map +1 -1
  47. package/lib/network/discv5/utils.js +1 -2
  48. package/lib/network/discv5/utils.js.map +1 -1
  49. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  50. package/lib/network/gossip/gossipsub.js +1 -7
  51. package/lib/network/gossip/gossipsub.js.map +1 -1
  52. package/lib/network/network.d.ts.map +1 -1
  53. package/lib/network/network.js +1 -0
  54. package/lib/network/network.js.map +1 -1
  55. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +5 -5
  56. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  57. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +4 -4
  58. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  59. package/lib/network/subnets/attnetsService.d.ts +1 -1
  60. package/lib/network/subnets/attnetsService.js +6 -6
  61. package/lib/network/subnets/attnetsService.js.map +1 -1
  62. package/lib/network/subnets/util.d.ts +3 -2
  63. package/lib/network/subnets/util.d.ts.map +1 -1
  64. package/lib/network/subnets/util.js +6 -6
  65. package/lib/network/subnets/util.js.map +1 -1
  66. package/lib/util/clock.d.ts.map +1 -1
  67. package/lib/util/clock.js +3 -4
  68. package/lib/util/clock.js.map +1 -1
  69. package/package.json +14 -14
  70. package/src/api/impl/config/constants.ts +10 -4
  71. package/src/api/impl/validator/index.ts +5 -2
  72. package/src/chain/chain.ts +2 -2
  73. package/src/chain/errors/voluntaryExitError.ts +30 -2
  74. package/src/chain/lightClient/index.ts +26 -12
  75. package/src/chain/opPools/syncContributionAndProofPool.ts +3 -2
  76. package/src/chain/validation/attestation.ts +6 -7
  77. package/src/chain/validation/block.ts +1 -2
  78. package/src/chain/validation/lightClientOptimisticUpdate.ts +3 -2
  79. package/src/chain/validation/voluntaryExit.ts +14 -4
  80. package/src/constants/constants.ts +0 -6
  81. package/src/constants/network.ts +0 -19
  82. package/src/metrics/metrics/lodestar.ts +4 -0
  83. package/src/network/discv5/utils.ts +1 -2
  84. package/src/network/gossip/gossipsub.ts +1 -10
  85. package/src/network/network.ts +1 -0
  86. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +6 -6
  87. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +5 -5
  88. package/src/network/subnets/attnetsService.ts +6 -6
  89. package/src/network/subnets/util.ts +12 -12
  90. package/src/util/clock.ts +3 -4
@@ -1 +1 @@
1
- {"version":3,"file":"blobSidecarsByRange.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/blobSidecarsByRange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blobSidecarsByRange.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/blobSidecarsByRange.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { BLOBSIDECAR_FIXED_SIZE } from "@lodestar/params";
1
+ import { BLOB_SIDECAR_FIXED_SIZE } from "@lodestar/params";
2
2
  import { RespStatus, ResponseError } from "@lodestar/reqresp";
3
3
  import { computeEpochAtSlot } from "@lodestar/state-transition";
4
4
  import { fromHex, toRootHex } from "@lodestar/utils";
@@ -29,9 +29,9 @@ export async function* onBlobSidecarsByRoot(requestBody, chain, db) {
29
29
  const blobSideCarsBytes = blobSideCarsBytesWrapped.slice(BLOB_SIDECARS_IN_WRAPPER_INDEX);
30
30
  lastFetchedSideCars = { blockRoot: blockRootHex, bytes: blobSideCarsBytes };
31
31
  }
32
- const blobSidecarBytes = lastFetchedSideCars.bytes.slice(index * BLOBSIDECAR_FIXED_SIZE, (index + 1) * BLOBSIDECAR_FIXED_SIZE);
33
- if (blobSidecarBytes.length !== BLOBSIDECAR_FIXED_SIZE) {
34
- throw Error(`Inconsistent state, blobSidecar blockRoot=${blockRootHex} index=${index} blobSidecarBytes=${blobSidecarBytes.length} expected=${BLOBSIDECAR_FIXED_SIZE}`);
32
+ const blobSidecarBytes = lastFetchedSideCars.bytes.slice(index * BLOB_SIDECAR_FIXED_SIZE, (index + 1) * BLOB_SIDECAR_FIXED_SIZE);
33
+ if (blobSidecarBytes.length !== BLOB_SIDECAR_FIXED_SIZE) {
34
+ throw Error(`Inconsistent state, blobSidecar blockRoot=${blockRootHex} index=${index} blobSidecarBytes=${blobSidecarBytes.length} expected=${BLOB_SIDECAR_FIXED_SIZE}`);
35
35
  }
36
36
  yield {
37
37
  data: blobSidecarBytes,
@@ -1 +1 @@
1
- {"version":3,"file":"blobSidecarsByRoot.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/blobSidecarsByRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,UAAU,EAAE,aAAa,EAAmB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAC,OAAO,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAC,8BAA8B,EAAC,MAAM,0CAA0C,CAAC;AAGxF,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,oBAAoB,CACzC,WAAsC,EACtC,KAAmB,EACnB,EAAa;IAEb,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC;IAEhE,qFAAqF;IACrF,mFAAmF;IACnF,aAAa;IACb,IAAI,mBAAmB,GAAmD,IAAI,CAAC;IAE/E,KAAK,MAAM,cAAc,IAAI,WAAW,EAAE,CAAC;QACzC,MAAM,EAAC,SAAS,EAAE,KAAK,EAAC,GAAG,cAAc,CAAC;QAC1C,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAEzD,2CAA2C;QAC3C,8FAA8F;QAC9F,+JAA+J;QAC/J,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,aAAa,EAAE,CAAC;YAC1C,SAAS;QACX,CAAC;QAED,yDAAyD;QACzD,IAAI,mBAAmB,KAAK,IAAI,IAAI,mBAAmB,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;YACnF,MAAM,wBAAwB,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAC9B,2CAA2C;gBAC3C,MAAM,IAAI,aAAa,CAAC,UAAU,CAAC,YAAY,EAAE,oBAAoB,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7G,CAAC;YACD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAEzF,mBAAmB,GAAG,EAAC,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAC,CAAC;QAC5E,CAAC;QAED,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CACtD,KAAK,GAAG,sBAAsB,EAC9B,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,sBAAsB,CACrC,CAAC;QACF,IAAI,gBAAgB,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;YACvD,MAAM,KAAK,CACT,6CAA6C,YAAY,UAAU,KAAK,qBAAqB,gBAAgB,CAAC,MAAM,aAAa,sBAAsB,EAAE,CAC1J,CAAC;QACJ,CAAC;QAED,MAAM;YACJ,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9E,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"blobSidecarsByRoot.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/blobSidecarsByRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAC,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAC,UAAU,EAAE,aAAa,EAAmB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAC,OAAO,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAC,8BAA8B,EAAC,MAAM,0CAA0C,CAAC;AAGxF,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,oBAAoB,CACzC,WAAsC,EACtC,KAAmB,EACnB,EAAa;IAEb,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC;IAEhE,qFAAqF;IACrF,mFAAmF;IACnF,aAAa;IACb,IAAI,mBAAmB,GAAmD,IAAI,CAAC;IAE/E,KAAK,MAAM,cAAc,IAAI,WAAW,EAAE,CAAC;QACzC,MAAM,EAAC,SAAS,EAAE,KAAK,EAAC,GAAG,cAAc,CAAC;QAC1C,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAEzD,2CAA2C;QAC3C,8FAA8F;QAC9F,+JAA+J;QAC/J,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,aAAa,EAAE,CAAC;YAC1C,SAAS;QACX,CAAC;QAED,yDAAyD;QACzD,IAAI,mBAAmB,KAAK,IAAI,IAAI,mBAAmB,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;YACnF,MAAM,wBAAwB,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAC9B,2CAA2C;gBAC3C,MAAM,IAAI,aAAa,CAAC,UAAU,CAAC,YAAY,EAAE,oBAAoB,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7G,CAAC;YACD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAEzF,mBAAmB,GAAG,EAAC,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAC,CAAC;QAC5E,CAAC;QAED,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CACtD,KAAK,GAAG,uBAAuB,EAC/B,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,uBAAuB,CACtC,CAAC;QACF,IAAI,gBAAgB,CAAC,MAAM,KAAK,uBAAuB,EAAE,CAAC;YACxD,MAAM,KAAK,CACT,6CAA6C,YAAY,UAAU,KAAK,qBAAqB,gBAAgB,CAAC,MAAM,aAAa,uBAAuB,EAAE,CAC3J,CAAC;QACJ,CAAC;QAED,MAAM;YACJ,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9E,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -80,7 +80,7 @@ export declare class AttnetsService implements IAttnetsService {
80
80
  private trackTimeToStableMesh;
81
81
  /**
82
82
  * Run per epoch, clean-up operations that are not urgent
83
- * Subscribe to new random subnets every EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION epochs
83
+ * Subscribe to new random subnets every EPOCHS_PER_SUBNET_SUBSCRIPTION epochs
84
84
  */
85
85
  private onEpoch;
86
86
  private recomputeLongLivedSubnets;
@@ -1,4 +1,4 @@
1
- import { ATTESTATION_SUBNET_COUNT, EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION, SLOTS_PER_EPOCH } from "@lodestar/params";
1
+ import { ATTESTATION_SUBNET_COUNT, SLOTS_PER_EPOCH } from "@lodestar/params";
2
2
  import { computeEpochAtSlot } from "@lodestar/state-transition";
3
3
  import { ssz } from "@lodestar/types";
4
4
  import { MapDef } from "@lodestar/utils";
@@ -83,8 +83,8 @@ export class AttnetsService {
83
83
  */
84
84
  getActiveSubnets() {
85
85
  const shortLivedSubnets = this.committeeSubnets.getActiveTtl(this.clock.currentSlot);
86
- const longLivedSubscriptionsToSlot = (Math.floor(this.clock.currentEpoch / EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION) + 1) *
87
- EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION *
86
+ const longLivedSubscriptionsToSlot = (Math.floor(this.clock.currentEpoch / this.config.EPOCHS_PER_SUBNET_SUBSCRIPTION) + 1) *
87
+ this.config.EPOCHS_PER_SUBNET_SUBSCRIPTION *
88
88
  SLOTS_PER_EPOCH;
89
89
  const longLivedSubnets = Array.from(this.longLivedSubscriptions).map((subnet) => ({
90
90
  subnet,
@@ -211,11 +211,11 @@ export class AttnetsService {
211
211
  }
212
212
  /**
213
213
  * Run per epoch, clean-up operations that are not urgent
214
- * Subscribe to new random subnets every EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION epochs
214
+ * Subscribe to new random subnets every EPOCHS_PER_SUBNET_SUBSCRIPTION epochs
215
215
  */
216
216
  onEpoch = (epoch) => {
217
217
  try {
218
- if (epoch % EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION === 0) {
218
+ if (epoch % this.config.EPOCHS_PER_SUBNET_SUBSCRIPTION === 0) {
219
219
  this.recomputeLongLivedSubnets();
220
220
  }
221
221
  }
@@ -229,7 +229,7 @@ export class AttnetsService {
229
229
  return;
230
230
  }
231
231
  const oldSubnets = this.longLivedSubscriptions;
232
- const newSubnets = computeSubscribedSubnet(this.nodeId, this.clock.currentEpoch);
232
+ const newSubnets = computeSubscribedSubnet(this.config, this.nodeId, this.clock.currentEpoch);
233
233
  this.logger.verbose("Recomputing long-lived subscriptions", {
234
234
  epoch: this.clock.currentEpoch,
235
235
  oldSubnets: Array.from(oldSubnets).join(","),
@@ -1 +1 @@
1
- {"version":3,"file":"attnetsService.js","sourceRoot":"","sources":["../../../src/network/subnets/attnetsService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attnetsService.js","sourceRoot":"","sources":["../../../src/network/subnets/attnetsService.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
+ import { ChainConfig } from "@lodestar/config";
1
2
  import { Epoch } from "@lodestar/types";
2
3
  import { NodeId } from "./interface.js";
3
4
  /**
4
5
  * Spec https://github.com/ethereum/consensus-specs/blob/v1.4.0-alpha.3/specs/phase0/p2p-interface.md
5
6
  */
6
- export declare function computeSubscribedSubnet(nodeId: NodeId, epoch: Epoch): number[];
7
+ export declare function computeSubscribedSubnet(config: ChainConfig, nodeId: NodeId, epoch: Epoch): number[];
7
8
  /**
8
9
  * Spec https://github.com/ethereum/consensus-specs/blob/v1.4.0-alpha.3/specs/phase0/p2p-interface.md
9
10
  */
10
- export declare function computeSubscribedSubnetByIndex(nodeId: NodeId, epoch: Epoch, index: number): number;
11
+ export declare function computeSubscribedSubnetByIndex(config: ChainConfig, nodeId: NodeId, epoch: Epoch, index: number): number;
11
12
  /**
12
13
  * Should return node_id >> (NODE_ID_BITS - int(ATTESTATION_SUBNET_PREFIX_BITS))
13
14
  * Ideally we should use bigint here but since these constants are not likely to change we can use number
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/network/subnets/util.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,KAAK,EAAM,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAEtC;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,CAM9E;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQlG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAStD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAOpD"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/network/subnets/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAC,KAAK,EAAM,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAEtC;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,CAMnG;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,GACZ,MAAM,CAQR;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAStD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAOpD"}
@@ -1,24 +1,24 @@
1
1
  import { digest } from "@chainsafe/as-sha256";
2
- import { ATTESTATION_SUBNET_COUNT, ATTESTATION_SUBNET_PREFIX_BITS, EPOCHS_PER_SUBNET_SUBSCRIPTION, NODE_ID_BITS, SUBNETS_PER_NODE, } from "@lodestar/params";
2
+ import { ATTESTATION_SUBNET_COUNT, ATTESTATION_SUBNET_PREFIX_BITS, NODE_ID_BITS } from "@lodestar/params";
3
3
  import { computeShuffledIndex } from "@lodestar/state-transition";
4
4
  import { ssz } from "@lodestar/types";
5
5
  /**
6
6
  * Spec https://github.com/ethereum/consensus-specs/blob/v1.4.0-alpha.3/specs/phase0/p2p-interface.md
7
7
  */
8
- export function computeSubscribedSubnet(nodeId, epoch) {
8
+ export function computeSubscribedSubnet(config, nodeId, epoch) {
9
9
  const subnets = [];
10
- for (let index = 0; index < SUBNETS_PER_NODE; index++) {
11
- subnets.push(computeSubscribedSubnetByIndex(nodeId, epoch, index));
10
+ for (let index = 0; index < config.SUBNETS_PER_NODE; index++) {
11
+ subnets.push(computeSubscribedSubnetByIndex(config, nodeId, epoch, index));
12
12
  }
13
13
  return subnets;
14
14
  }
15
15
  /**
16
16
  * Spec https://github.com/ethereum/consensus-specs/blob/v1.4.0-alpha.3/specs/phase0/p2p-interface.md
17
17
  */
18
- export function computeSubscribedSubnetByIndex(nodeId, epoch, index) {
18
+ export function computeSubscribedSubnetByIndex(config, nodeId, epoch, index) {
19
19
  const nodeIdPrefix = getNodeIdPrefix(nodeId);
20
20
  const nodeOffset = getNodeOffset(nodeId);
21
- const permutationSeed = digest(ssz.UintNum64.serialize(Math.floor((epoch + nodeOffset) / EPOCHS_PER_SUBNET_SUBSCRIPTION)));
21
+ const permutationSeed = digest(ssz.UintNum64.serialize(Math.floor((epoch + nodeOffset) / config.EPOCHS_PER_SUBNET_SUBSCRIPTION)));
22
22
  const permutatedPrefix = computeShuffledIndex(nodeIdPrefix, 1 << ATTESTATION_SUBNET_PREFIX_BITS, permutationSeed);
23
23
  return (permutatedPrefix + index) % ATTESTATION_SUBNET_COUNT;
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/network/subnets/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,8BAA8B,EAC9B,YAAY,EACZ,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAQ,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAG3C;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,KAAY;IAClE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,gBAAgB,EAAE,KAAK,EAAE,EAAE,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAc,EAAE,KAAY,EAAE,KAAa;IACxF,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,eAAe,GAAG,MAAM,CAC5B,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,8BAA8B,CAAC,CAAC,CAC3F,CAAC;IACF,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,YAAY,EAAE,CAAC,IAAI,8BAA8B,EAAE,eAAe,CAAC,CAAC;IAClH,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC,GAAG,wBAAwB,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,gBAAgB,GAAG,YAAY,GAAG,8BAA8B,CAAC;IACvE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,gBAAgB,GAAG,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAClG,wDAAwD;IACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC;IACnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,8DAA8D;IAC9D,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEvE,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/network/subnets/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAC,wBAAwB,EAAE,8BAA8B,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;AACxG,OAAO,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAQ,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAG3C;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAmB,EAAE,MAAc,EAAE,KAAY;IACvF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC5C,MAAmB,EACnB,MAAc,EACd,KAAY,EACZ,KAAa;IAEb,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,eAAe,GAAG,MAAM,CAC5B,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAClG,CAAC;IACF,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,YAAY,EAAE,CAAC,IAAI,8BAA8B,EAAE,eAAe,CAAC,CAAC;IAClH,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC,GAAG,wBAAwB,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,gBAAgB,GAAG,YAAY,GAAG,8BAA8B,CAAC;IACvE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,gBAAgB,GAAG,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAClG,wDAAwD;IACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC;IACnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,8DAA8D;IAC9D,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEvE,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../../src/util/clock.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAIjD,oBAAY,UAAU;IACpB;;;OAGG;IACH,IAAI,eAAe;IACnB;;;OAGG;IACH,KAAK,gBAAgB;CACtB;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACxC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG;IACnE,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,8BAA8B,EAAE,IAAI,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC;IAC7B,8EAA8E;IAC9E,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,8EAA8E;IAC9E,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD;;OAEG;IACH,iCAAiC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IACvD;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChD;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/C,CAAC;AAEF;;GAEG;AACH,qBAAa,KAAM,SAAQ,YAAa,YAAW,MAAM;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,YAAY,CAAS;gBAEjB,EAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAC,EAAE;QAAC,MAAM,EAAE,eAAe,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAC;IAW9G,IAAI,WAAW,IAAI,IAAI,CAOtB;IAED;;;OAGG;IACH,IAAI,8BAA8B,IAAI,IAAI,CAIzC;IAED,IAAI,YAAY,IAAI,KAAK,CAExB;IAED,8EAA8E;IAC9E,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAKnD,8EAA8E;IAC9E,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAKjD;;OAEG;IACH,iCAAiC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAkBhD,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC5C,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,SAAoB,GAAG,MAAM;IAI1D,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,SAAa,GAAG,MAAM;IAIjD,OAAO,CAAC,UAAU,CAqBhB;IAEF,OAAO,CAAC,eAAe;CAKxB"}
1
+ {"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../../src/util/clock.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAGjD,oBAAY,UAAU;IACpB;;;OAGG;IACH,IAAI,eAAe;IACnB;;;OAGG;IACH,KAAK,gBAAgB;CACtB;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACxC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG;IACnE,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,8BAA8B,EAAE,IAAI,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC;IAC7B,8EAA8E;IAC9E,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,8EAA8E;IAC9E,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD;;OAEG;IACH,iCAAiC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IACvD;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChD;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/C,CAAC;AAEF;;GAEG;AACH,qBAAa,KAAM,SAAQ,YAAa,YAAW,MAAM;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,YAAY,CAAS;gBAEjB,EAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAC,EAAE;QAAC,MAAM,EAAE,eAAe,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAC;IAW9G,IAAI,WAAW,IAAI,IAAI,CAOtB;IAED;;;OAGG;IACH,IAAI,8BAA8B,IAAI,IAAI,CAIzC;IAED,IAAI,YAAY,IAAI,KAAK,CAExB;IAED,8EAA8E;IAC9E,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAKnD,8EAA8E;IAC9E,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAKjD;;OAEG;IACH,iCAAiC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAkBhD,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC5C,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,SAAoB,GAAG,MAAM;IAI1D,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,SAAa,GAAG,MAAM;IAIjD,OAAO,CAAC,UAAU,CAqBhB;IAEF,OAAO,CAAC,eAAe;CAKxB"}
package/lib/util/clock.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import EventEmitter from "node:events";
2
2
  import { computeEpochAtSlot, computeTimeAtSlot, getCurrentSlot } from "@lodestar/state-transition";
3
3
  import { ErrorAborted } from "@lodestar/utils";
4
- import { MAXIMUM_GOSSIP_CLOCK_DISPARITY } from "../constants/constants.js";
5
4
  export var ClockEvent;
6
5
  (function (ClockEvent) {
7
6
  /**
@@ -48,7 +47,7 @@ export class Clock extends EventEmitter {
48
47
  get currentSlotWithGossipDisparity() {
49
48
  const currentSlot = this.currentSlot;
50
49
  const nextSlotTime = computeTimeAtSlot(this.config, currentSlot + 1, this.genesisTime) * 1000;
51
- return nextSlotTime - Date.now() < MAXIMUM_GOSSIP_CLOCK_DISPARITY ? currentSlot + 1 : currentSlot;
50
+ return nextSlotTime - Date.now() < this.config.MAXIMUM_GOSSIP_CLOCK_DISPARITY ? currentSlot + 1 : currentSlot;
52
51
  }
53
52
  get currentEpoch() {
54
53
  return computeEpochAtSlot(this.currentSlot);
@@ -73,12 +72,12 @@ export class Clock extends EventEmitter {
73
72
  }
74
73
  const nextSlotTime = computeTimeAtSlot(this.config, currentSlot + 1, this.genesisTime) * 1000;
75
74
  // we're too close to next slot, accept next slot
76
- if (nextSlotTime - Date.now() < MAXIMUM_GOSSIP_CLOCK_DISPARITY) {
75
+ if (nextSlotTime - Date.now() < this.config.MAXIMUM_GOSSIP_CLOCK_DISPARITY) {
77
76
  return slot === currentSlot + 1;
78
77
  }
79
78
  const currentSlotTime = computeTimeAtSlot(this.config, currentSlot, this.genesisTime) * 1000;
80
79
  // we've just passed the current slot, accept previous slot
81
- if (Date.now() - currentSlotTime < MAXIMUM_GOSSIP_CLOCK_DISPARITY) {
80
+ if (Date.now() - currentSlotTime < this.config.MAXIMUM_GOSSIP_CLOCK_DISPARITY) {
82
81
  return slot === currentSlot - 1;
83
82
  }
84
83
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"clock.js","sourceRoot":"","sources":["../../src/util/clock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clock.js","sourceRoot":"","sources":["../../src/util/clock.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.36.0-dev.793f92c091",
14
+ "version": "1.36.0-dev.d9cc6b90f7",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -138,18 +138,18 @@
138
138
  "@libp2p/peer-id": "^5.1.0",
139
139
  "@libp2p/prometheus-metrics": "^4.3.15",
140
140
  "@libp2p/tcp": "^10.1.8",
141
- "@lodestar/api": "1.36.0-dev.793f92c091",
142
- "@lodestar/config": "1.36.0-dev.793f92c091",
143
- "@lodestar/db": "1.36.0-dev.793f92c091",
144
- "@lodestar/fork-choice": "1.36.0-dev.793f92c091",
145
- "@lodestar/light-client": "1.36.0-dev.793f92c091",
146
- "@lodestar/logger": "1.36.0-dev.793f92c091",
147
- "@lodestar/params": "1.36.0-dev.793f92c091",
148
- "@lodestar/reqresp": "1.36.0-dev.793f92c091",
149
- "@lodestar/state-transition": "1.36.0-dev.793f92c091",
150
- "@lodestar/types": "1.36.0-dev.793f92c091",
151
- "@lodestar/utils": "1.36.0-dev.793f92c091",
152
- "@lodestar/validator": "1.36.0-dev.793f92c091",
141
+ "@lodestar/api": "1.36.0-dev.d9cc6b90f7",
142
+ "@lodestar/config": "1.36.0-dev.d9cc6b90f7",
143
+ "@lodestar/db": "1.36.0-dev.d9cc6b90f7",
144
+ "@lodestar/fork-choice": "1.36.0-dev.d9cc6b90f7",
145
+ "@lodestar/light-client": "1.36.0-dev.d9cc6b90f7",
146
+ "@lodestar/logger": "1.36.0-dev.d9cc6b90f7",
147
+ "@lodestar/params": "1.36.0-dev.d9cc6b90f7",
148
+ "@lodestar/reqresp": "1.36.0-dev.d9cc6b90f7",
149
+ "@lodestar/state-transition": "1.36.0-dev.d9cc6b90f7",
150
+ "@lodestar/types": "1.36.0-dev.d9cc6b90f7",
151
+ "@lodestar/utils": "1.36.0-dev.d9cc6b90f7",
152
+ "@lodestar/validator": "1.36.0-dev.d9cc6b90f7",
153
153
  "@multiformats/multiaddr": "^12.1.3",
154
154
  "datastore-core": "^10.0.2",
155
155
  "datastore-fs": "^10.0.6",
@@ -185,5 +185,5 @@
185
185
  "beacon",
186
186
  "blockchain"
187
187
  ],
188
- "gitHead": "77b9473f42e62290ea090af8b4e3cbd9eb7084b3"
188
+ "gitHead": "e12e6a3eea6e631d76427de1128cd3b3aabb21bb"
189
189
  }
@@ -1,5 +1,7 @@
1
1
  import {
2
2
  ATTESTATION_SUBNET_COUNT,
3
+ ATTESTATION_SUBNET_EXTRA_BITS,
4
+ ATTESTATION_SUBNET_PREFIX_BITS,
3
5
  BASE_REWARDS_PER_EPOCH,
4
6
  BLOB_TX_TYPE,
5
7
  BLS_WITHDRAWAL_PREFIX,
@@ -25,15 +27,15 @@ import {
25
27
  DOMAIN_SYNC_COMMITTEE,
26
28
  DOMAIN_SYNC_COMMITTEE_SELECTION_PROOF,
27
29
  DOMAIN_VOLUNTARY_EXIT,
28
- EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION,
29
30
  ETH1_ADDRESS_WITHDRAWAL_PREFIX,
30
31
  FAR_FUTURE_EPOCH,
31
32
  FULL_EXIT_REQUEST_AMOUNT,
32
33
  GENESIS_EPOCH,
33
34
  GENESIS_SLOT,
34
35
  JUSTIFICATION_BITS_LENGTH,
36
+ MAX_CONCURRENT_REQUESTS,
37
+ NODE_ID_BITS,
35
38
  PROPOSER_WEIGHT,
36
- RANDOM_SUBNETS_PER_VALIDATOR,
37
39
  SYNC_COMMITTEE_SUBNET_COUNT,
38
40
  SYNC_REWARD_WEIGHT,
39
41
  TARGET_AGGREGATORS_PER_COMMITTEE,
@@ -84,9 +86,13 @@ export const specConstants = {
84
86
 
85
87
  // phase0/validator.md
86
88
  TARGET_AGGREGATORS_PER_COMMITTEE,
87
- RANDOM_SUBNETS_PER_VALIDATOR,
88
- EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION,
89
+
90
+ // phase0/p2p-interface.md
91
+ NODE_ID_BITS,
92
+ MAX_CONCURRENT_REQUESTS,
89
93
  ATTESTATION_SUBNET_COUNT,
94
+ ATTESTATION_SUBNET_EXTRA_BITS,
95
+ ATTESTATION_SUBNET_PREFIX_BITS,
90
96
 
91
97
  // altair/beacon-chain.md
92
98
  // ## Participation flag indices
@@ -179,10 +179,13 @@ export function getValidatorApi(
179
179
  /**
180
180
  * Validator clock may be advanced from beacon's clock. If the validator requests a resource in a
181
181
  * future slot, wait some time instead of rejecting the request because it's in the future.
182
- * This value is the same to MAXIMUM_GOSSIP_CLOCK_DISPARITY_SEC.
182
+ * This value is the same to MAXIMUM_GOSSIP_CLOCK_DISPARITY.
183
183
  * For very fast networks, reduce clock disparity to half a slot.
184
184
  */
185
- const MAX_API_CLOCK_DISPARITY_SEC = Math.min(0.5, config.SLOT_DURATION_MS / 2000);
185
+ const MAX_API_CLOCK_DISPARITY_SEC = Math.min(
186
+ config.MAXIMUM_GOSSIP_CLOCK_DISPARITY / 1000,
187
+ config.SLOT_DURATION_MS / 2000
188
+ );
186
189
  const MAX_API_CLOCK_DISPARITY_MS = MAX_API_CLOCK_DISPARITY_SEC * 1000;
187
190
 
188
191
  /** Compute and cache the genesis block root */
@@ -257,7 +257,7 @@ export class BeaconChain implements IBeaconChain {
257
257
  this.attestationPool = new AttestationPool(config, clock, this.opts?.preaggregateSlotDistance, metrics);
258
258
  this.aggregatedAttestationPool = new AggregatedAttestationPool(this.config, metrics);
259
259
  this.syncCommitteeMessagePool = new SyncCommitteeMessagePool(config, clock, this.opts?.preaggregateSlotDistance);
260
- this.syncContributionAndProofPool = new SyncContributionAndProofPool(clock, metrics, logger);
260
+ this.syncContributionAndProofPool = new SyncContributionAndProofPool(config, clock, metrics, logger);
261
261
 
262
262
  this.seenAggregatedAttestations = new SeenAggregatedAttestations(metrics);
263
263
  this.seenContributionAndProof = new SeenContributionAndProof(metrics);
@@ -372,7 +372,7 @@ export class BeaconChain implements IBeaconChain {
372
372
  });
373
373
 
374
374
  if (!opts.disableLightClientServer) {
375
- this.lightClientServer = new LightClientServer(opts, {config, db, metrics, emitter, logger});
375
+ this.lightClientServer = new LightClientServer(opts, {config, clock, db, metrics, emitter, logger});
376
376
  }
377
377
 
378
378
  this.reprocessController = new ReprocessController(this.metrics);
@@ -1,13 +1,41 @@
1
+ import {VoluntaryExitValidity} from "@lodestar/state-transition";
1
2
  import {GossipActionError} from "./gossipValidation.js";
2
3
 
3
4
  export enum VoluntaryExitErrorCode {
4
5
  ALREADY_EXISTS = "VOLUNTARY_EXIT_ERROR_ALREADY_EXISTS",
5
- INVALID = "VOLUNTARY_EXIT_ERROR_INVALID",
6
+ INACTIVE = "VOLUNTARY_EXIT_ERROR_INACTIVE",
7
+ ALREADY_EXITED = "VOLUNTARY_EXIT_ERROR_ALREADY_EXITED",
8
+ EARLY_EPOCH = "VOLUNTARY_EXIT_ERROR_EARLY_EPOCH",
9
+ SHORT_TIME_ACTIVE = "VOLUNTARY_EXIT_ERROR_SHORT_TIME_ACTIVE",
10
+ PENDING_WITHDRAWALS = "VOLUNTARY_EXIT_ERROR_PENDING_WITHDRAWALS",
6
11
  INVALID_SIGNATURE = "VOLUNTARY_EXIT_ERROR_INVALID_SIGNATURE",
7
12
  }
8
13
  export type VoluntaryExitErrorType =
9
14
  | {code: VoluntaryExitErrorCode.ALREADY_EXISTS}
10
- | {code: VoluntaryExitErrorCode.INVALID}
15
+ | {code: VoluntaryExitErrorCode.INACTIVE}
16
+ | {code: VoluntaryExitErrorCode.ALREADY_EXITED}
17
+ | {code: VoluntaryExitErrorCode.EARLY_EPOCH}
18
+ | {code: VoluntaryExitErrorCode.SHORT_TIME_ACTIVE}
19
+ | {code: VoluntaryExitErrorCode.PENDING_WITHDRAWALS}
11
20
  | {code: VoluntaryExitErrorCode.INVALID_SIGNATURE};
12
21
 
13
22
  export class VoluntaryExitError extends GossipActionError<VoluntaryExitErrorType> {}
23
+
24
+ export function voluntaryExitValidityToErrorCode(
25
+ validity: Exclude<VoluntaryExitValidity, VoluntaryExitValidity.valid>
26
+ ): VoluntaryExitErrorCode {
27
+ switch (validity) {
28
+ case VoluntaryExitValidity.inactive:
29
+ return VoluntaryExitErrorCode.INACTIVE;
30
+ case VoluntaryExitValidity.alreadyExited:
31
+ return VoluntaryExitErrorCode.ALREADY_EXITED;
32
+ case VoluntaryExitValidity.earlyEpoch:
33
+ return VoluntaryExitErrorCode.EARLY_EPOCH;
34
+ case VoluntaryExitValidity.shortTimeActive:
35
+ return VoluntaryExitErrorCode.SHORT_TIME_ACTIVE;
36
+ case VoluntaryExitValidity.pendingWithdrawals:
37
+ return VoluntaryExitErrorCode.PENDING_WITHDRAWALS;
38
+ case VoluntaryExitValidity.invalidSignature:
39
+ return VoluntaryExitErrorCode.INVALID_SIGNATURE;
40
+ }
41
+ }
@@ -14,6 +14,7 @@ import {
14
14
  ForkPreGloas,
15
15
  ForkSeq,
16
16
  MIN_SYNC_COMMITTEE_PARTICIPANTS,
17
+ SLOTS_PER_EPOCH,
17
18
  SYNC_COMMITTEE_SIZE,
18
19
  forkPostAltair,
19
20
  highestFork,
@@ -51,6 +52,7 @@ import {IBeaconDb} from "../../db/index.js";
51
52
  import {NUM_WITNESS, NUM_WITNESS_ELECTRA} from "../../db/repositories/lightclientSyncCommitteeWitness.js";
52
53
  import {Metrics} from "../../metrics/index.js";
53
54
  import {byteArrayEquals} from "../../util/bytes.js";
55
+ import {IClock} from "../../util/clock.js";
54
56
  import {ChainEventEmitter} from "../emitter.js";
55
57
  import {LightClientServerError, LightClientServerErrorCode} from "../errors/lightClientError.js";
56
58
  import {
@@ -86,6 +88,7 @@ export type SyncAttestedData = {
86
88
 
87
89
  type LightClientServerModules = {
88
90
  config: ChainForkConfig;
91
+ clock: IClock;
89
92
  db: IBeaconDb;
90
93
  metrics: Metrics | null;
91
94
  emitter: ChainEventEmitter;
@@ -201,6 +204,7 @@ export class LightClientServer {
201
204
  private readonly metrics: Metrics | null;
202
205
  private readonly emitter: ChainEventEmitter;
203
206
  private readonly logger: Logger;
207
+ private readonly clock: IClock;
204
208
  private readonly knownSyncCommittee = new MapDef<SyncPeriod, Set<DependentRootHex>>(() => new Set());
205
209
  private storedCurrentSyncCommittee = false;
206
210
 
@@ -221,8 +225,9 @@ export class LightClientServer {
221
225
  private readonly opts: LightClientServerOpts,
222
226
  modules: LightClientServerModules
223
227
  ) {
224
- const {config, db, metrics, emitter, logger} = modules;
228
+ const {config, clock, db, metrics, emitter, logger} = modules;
225
229
  this.config = config;
230
+ this.clock = clock;
226
231
  this.db = db;
227
232
  this.metrics = metrics;
228
233
  this.emitter = emitter;
@@ -533,12 +538,19 @@ export class LightClientServer {
533
538
  // Fork of LightClientOptimisticUpdate and LightClientFinalityUpdate is based off on attested header's fork
534
539
  const attestedFork = this.config.getForkName(attestedHeader.beacon.slot);
535
540
 
536
- // Emit update
537
- // Note: Always emit optimistic update even if we have emitted one with higher or equal attested_header.slot
538
- this.emitter.emit(routes.events.EventType.lightClientOptimisticUpdate, {
539
- version: attestedFork,
540
- data: headerUpdate,
541
- });
541
+ // Check if node is syncing / too far behind to avoid emitting stale light client updates
542
+ const isStaleLightClientUpdate = this.clock.currentSlot - signatureSlot > SLOTS_PER_EPOCH;
543
+
544
+ if (!isStaleLightClientUpdate) {
545
+ // Emit update
546
+ // Note: Always emit optimistic update even if we have emitted one with higher or equal attested_header.slot
547
+ this.emitter.emit(routes.events.EventType.lightClientOptimisticUpdate, {
548
+ version: attestedFork,
549
+ data: headerUpdate,
550
+ });
551
+ } else {
552
+ this.metrics?.lightclientServer.staleLightClientUpdates.inc();
553
+ }
542
554
 
543
555
  // Persist latest best update for getLatestHeadUpdate()
544
556
  // TODO: Once SyncAggregate are constructed from P2P too, count bits to decide "best"
@@ -569,11 +581,13 @@ export class LightClientServer {
569
581
  };
570
582
  this.metrics?.lightclientServer.onSyncAggregate.inc({event: "update_latest_finalized_update"});
571
583
 
572
- // Note: Ignores gossip rule to always emit finality_update with higher finalized_header.slot, for simplicity
573
- this.emitter.emit(routes.events.EventType.lightClientFinalityUpdate, {
574
- version: attestedFork,
575
- data: this.finalized,
576
- });
584
+ if (!isStaleLightClientUpdate) {
585
+ // Note: Ignores gossip rule to always emit finality_update with higher finalized_header.slot, for simplicity
586
+ this.emitter.emit(routes.events.EventType.lightClientFinalityUpdate, {
587
+ version: attestedFork,
588
+ data: this.finalized,
589
+ });
590
+ }
577
591
  }
578
592
  }
579
593
 
@@ -1,10 +1,10 @@
1
1
  import {Signature, aggregateSignatures} from "@chainsafe/blst";
2
2
  import {BitArray} from "@chainsafe/ssz";
3
+ import {ChainForkConfig} from "@lodestar/config";
3
4
  import {SYNC_COMMITTEE_SIZE, SYNC_COMMITTEE_SUBNET_SIZE} from "@lodestar/params";
4
5
  import {G2_POINT_AT_INFINITY} from "@lodestar/state-transition";
5
6
  import {Root, Slot, SubnetID, altair, ssz} from "@lodestar/types";
6
7
  import {Logger, MapDef, toRootHex} from "@lodestar/utils";
7
- import {MAXIMUM_GOSSIP_CLOCK_DISPARITY} from "../../constants/constants.js";
8
8
  import {Metrics} from "../../metrics/metrics.js";
9
9
  import {IClock} from "../../util/clock.js";
10
10
  import {InsertOutcome, OpPoolError, OpPoolErrorCode} from "./types.js";
@@ -51,6 +51,7 @@ export class SyncContributionAndProofPool {
51
51
  private lowestPermissibleSlot = 0;
52
52
 
53
53
  constructor(
54
+ private readonly config: ChainForkConfig,
54
55
  private readonly clock: IClock,
55
56
  private readonly metrics: Metrics | null = null,
56
57
  private logger: Logger | null = null
@@ -92,7 +93,7 @@ export class SyncContributionAndProofPool {
92
93
 
93
94
  // Reject ContributionAndProofs of previous slots
94
95
  // for api ContributionAndProofs, we allow them to be added to the pool
95
- if (!priority && slot < this.clock.slotWithPastTolerance(MAXIMUM_GOSSIP_CLOCK_DISPARITY)) {
96
+ if (!priority && slot < this.clock.slotWithPastTolerance(this.config.MAXIMUM_GOSSIP_CLOCK_DISPARITY / 1000)) {
96
97
  return InsertOutcome.Late;
97
98
  }
98
99
 
@@ -36,7 +36,6 @@ import {
36
36
  ssz,
37
37
  } from "@lodestar/types";
38
38
  import {assert, toRootHex} from "@lodestar/utils";
39
- import {MAXIMUM_GOSSIP_CLOCK_DISPARITY_SEC} from "../../constants/index.js";
40
39
  import {sszDeserializeSingleAttestation} from "../../network/gossip/topic.js";
41
40
  import {getShufflingDependentRoot} from "../../util/dependentRoot.js";
42
41
  import {
@@ -570,8 +569,8 @@ async function validateAttestationNoSignatureCheck(
570
569
  * Note: We do not queue future attestations for later processing
571
570
  */
572
571
  export function verifyPropagationSlotRange(fork: ForkName, chain: IBeaconChain, attestationSlot: Slot): void {
573
- // slot with future tolerance of MAXIMUM_GOSSIP_CLOCK_DISPARITY_SEC
574
- const latestPermissibleSlot = chain.clock.slotWithFutureTolerance(MAXIMUM_GOSSIP_CLOCK_DISPARITY_SEC);
572
+ // slot with future tolerance of MAXIMUM_GOSSIP_CLOCK_DISPARITY
573
+ const latestPermissibleSlot = chain.clock.slotWithFutureTolerance(chain.config.MAXIMUM_GOSSIP_CLOCK_DISPARITY / 1000);
575
574
  if (attestationSlot > latestPermissibleSlot) {
576
575
  throw new AttestationError(GossipAction.IGNORE, {
577
576
  code: AttestationErrorCode.FUTURE_SLOT,
@@ -586,9 +585,9 @@ export function verifyPropagationSlotRange(fork: ForkName, chain: IBeaconChain,
586
585
  // see: https://github.com/ethereum/consensus-specs/pull/3360
587
586
  if (ForkSeq[fork] < ForkSeq.deneb) {
588
587
  const earliestPermissibleSlot = Math.max(
589
- // slot with past tolerance of MAXIMUM_GOSSIP_CLOCK_DISPARITY_SEC
590
- // ATTESTATION_PROPAGATION_SLOT_RANGE = SLOTS_PER_EPOCH
591
- chain.clock.slotWithPastTolerance(MAXIMUM_GOSSIP_CLOCK_DISPARITY_SEC) - SLOTS_PER_EPOCH,
588
+ // slot with past tolerance of MAXIMUM_GOSSIP_CLOCK_DISPARITY
589
+ chain.clock.slotWithPastTolerance(chain.config.MAXIMUM_GOSSIP_CLOCK_DISPARITY / 1000) -
590
+ chain.config.ATTESTATION_PROPAGATION_SLOT_RANGE,
592
591
  0
593
592
  );
594
593
 
@@ -614,7 +613,7 @@ export function verifyPropagationSlotRange(fork: ForkName, chain: IBeaconChain,
614
613
 
615
614
  // lower bound for previous epoch is same as epoch of earliestPermissibleSlot
616
615
  const currentEpochWithPastTolerance = computeEpochAtSlot(
617
- chain.clock.slotWithPastTolerance(MAXIMUM_GOSSIP_CLOCK_DISPARITY_SEC)
616
+ chain.clock.slotWithPastTolerance(chain.config.MAXIMUM_GOSSIP_CLOCK_DISPARITY / 1000)
618
617
  );
619
618
 
620
619
  const earliestPermissiblePreviousEpoch = Math.max(currentEpochWithPastTolerance - 1, 0);