@lodestar/beacon-node 1.45.0 → 1.46.0-dev.4191d8e353

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 (198) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +186 -57
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  5. package/lib/api/impl/lodestar/index.js +2 -3
  6. package/lib/api/impl/lodestar/index.js.map +1 -1
  7. package/lib/api/impl/validator/index.d.ts.map +1 -1
  8. package/lib/api/impl/validator/index.js +172 -88
  9. package/lib/api/impl/validator/index.js.map +1 -1
  10. package/lib/api/rest/base.d.ts.map +1 -1
  11. package/lib/api/rest/base.js +6 -3
  12. package/lib/api/rest/base.js.map +1 -1
  13. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +1 -1
  14. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -1
  15. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  16. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  17. package/lib/chain/blocks/importBlock.js +2 -17
  18. package/lib/chain/blocks/importBlock.js.map +1 -1
  19. package/lib/chain/blocks/utils/chainSegment.d.ts.map +1 -1
  20. package/lib/chain/blocks/utils/chainSegment.js +13 -5
  21. package/lib/chain/blocks/utils/chainSegment.js.map +1 -1
  22. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +1 -1
  23. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  24. package/lib/chain/blocks/verifyBlocksSanityChecks.js +1 -1
  25. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  26. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js +2 -2
  27. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js.map +1 -1
  28. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  29. package/lib/chain/bls/multithread/index.js +0 -1
  30. package/lib/chain/bls/multithread/index.js.map +1 -1
  31. package/lib/chain/chain.d.ts.map +1 -1
  32. package/lib/chain/chain.js +44 -2
  33. package/lib/chain/chain.js.map +1 -1
  34. package/lib/chain/errors/blockError.d.ts +48 -6
  35. package/lib/chain/errors/blockError.d.ts.map +1 -1
  36. package/lib/chain/errors/blockError.js +25 -4
  37. package/lib/chain/errors/blockError.js.map +1 -1
  38. package/lib/chain/errors/executionPayloadEnvelope.d.ts +11 -0
  39. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  40. package/lib/chain/errors/executionPayloadEnvelope.js +2 -0
  41. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  42. package/lib/chain/errors/proposerPreferences.d.ts +14 -1
  43. package/lib/chain/errors/proposerPreferences.d.ts.map +1 -1
  44. package/lib/chain/errors/proposerPreferences.js +2 -0
  45. package/lib/chain/errors/proposerPreferences.js.map +1 -1
  46. package/lib/chain/lightClient/index.d.ts.map +1 -1
  47. package/lib/chain/lightClient/index.js +11 -6
  48. package/lib/chain/lightClient/index.js.map +1 -1
  49. package/lib/chain/lightClient/proofs.d.ts.map +1 -1
  50. package/lib/chain/lightClient/proofs.js +28 -2
  51. package/lib/chain/lightClient/proofs.js.map +1 -1
  52. package/lib/chain/lightClient/types.d.ts +3 -1
  53. package/lib/chain/lightClient/types.d.ts.map +1 -1
  54. package/lib/chain/opPools/aggregatedAttestationPool.js +1 -1
  55. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  56. package/lib/chain/opPools/proposerPreferencesPool.d.ts +1 -1
  57. package/lib/chain/opPools/proposerPreferencesPool.d.ts.map +1 -1
  58. package/lib/chain/opPools/proposerPreferencesPool.js +1 -1
  59. package/lib/chain/opPools/proposerPreferencesPool.js.map +1 -1
  60. package/lib/chain/validation/aggregateAndProof.js +10 -6
  61. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  62. package/lib/chain/validation/attestation.d.ts.map +1 -1
  63. package/lib/chain/validation/attestation.js +10 -6
  64. package/lib/chain/validation/attestation.js.map +1 -1
  65. package/lib/chain/validation/block.d.ts.map +1 -1
  66. package/lib/chain/validation/block.js +53 -4
  67. package/lib/chain/validation/block.js.map +1 -1
  68. package/lib/chain/validation/executionPayloadBid.d.ts +5 -0
  69. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
  70. package/lib/chain/validation/executionPayloadBid.js +31 -3
  71. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  72. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  73. package/lib/chain/validation/executionPayloadEnvelope.js +29 -0
  74. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  75. package/lib/chain/validation/proposerPreferences.d.ts +9 -2
  76. package/lib/chain/validation/proposerPreferences.d.ts.map +1 -1
  77. package/lib/chain/validation/proposerPreferences.js +61 -9
  78. package/lib/chain/validation/proposerPreferences.js.map +1 -1
  79. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +1 -1
  80. package/lib/chain/validation/signatureSets/aggregateAndProof.js +2 -3
  81. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  82. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +1 -1
  83. package/lib/db/repositories/lightclientSyncCommitteeWitness.js +42 -7
  84. package/lib/db/repositories/lightclientSyncCommitteeWitness.js.map +1 -1
  85. package/lib/metrics/nodeJsMetrics.js +1 -1
  86. package/lib/metrics/nodeJsMetrics.js.map +1 -1
  87. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  88. package/lib/network/core/networkCoreWorkerHandler.js +2 -7
  89. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  90. package/lib/network/discv5/index.d.ts.map +1 -1
  91. package/lib/network/discv5/index.js +1 -4
  92. package/lib/network/discv5/index.js.map +1 -1
  93. package/lib/network/gossip/encoding.d.ts +2 -2
  94. package/lib/network/gossip/encoding.d.ts.map +1 -1
  95. package/lib/network/gossip/encoding.js +15 -9
  96. package/lib/network/gossip/encoding.js.map +1 -1
  97. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  98. package/lib/network/gossip/gossipsub.js +2 -2
  99. package/lib/network/gossip/gossipsub.js.map +1 -1
  100. package/lib/network/gossip/topic.d.ts +74 -231
  101. package/lib/network/gossip/topic.d.ts.map +1 -1
  102. package/lib/network/gossip/topic.js +24 -1
  103. package/lib/network/gossip/topic.js.map +1 -1
  104. package/lib/network/interface.d.ts +4 -1
  105. package/lib/network/interface.d.ts.map +1 -1
  106. package/lib/network/libp2p/index.d.ts.map +1 -1
  107. package/lib/network/libp2p/index.js +2 -9
  108. package/lib/network/libp2p/index.js.map +1 -1
  109. package/lib/network/network.d.ts +4 -1
  110. package/lib/network/network.d.ts.map +1 -1
  111. package/lib/network/network.js +19 -11
  112. package/lib/network/network.js.map +1 -1
  113. package/lib/network/peers/datastore.d.ts +1 -1
  114. package/lib/network/peers/datastore.d.ts.map +1 -1
  115. package/lib/network/peers/datastore.js +1 -1
  116. package/lib/network/peers/datastore.js.map +1 -1
  117. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  118. package/lib/network/processor/gossipHandlers.js +12 -6
  119. package/lib/network/processor/gossipHandlers.js.map +1 -1
  120. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.d.ts.map +1 -1
  121. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js +4 -2
  122. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js.map +1 -1
  123. package/lib/network/reqresp/handlers/index.d.ts.map +1 -1
  124. package/lib/network/reqresp/handlers/index.js +20 -11
  125. package/lib/network/reqresp/handlers/index.js.map +1 -1
  126. package/lib/network/util.d.ts +1 -0
  127. package/lib/network/util.d.ts.map +1 -1
  128. package/lib/network/util.js +4 -0
  129. package/lib/network/util.js.map +1 -1
  130. package/lib/sync/sync.d.ts.map +1 -1
  131. package/lib/sync/sync.js +7 -0
  132. package/lib/sync/sync.js.map +1 -1
  133. package/lib/sync/unknownBlock.d.ts.map +1 -1
  134. package/lib/sync/unknownBlock.js +7 -2
  135. package/lib/sync/unknownBlock.js.map +1 -1
  136. package/lib/util/execution.js +1 -1
  137. package/lib/util/execution.js.map +1 -1
  138. package/lib/util/profile.d.ts +3 -0
  139. package/lib/util/profile.d.ts.map +1 -1
  140. package/lib/util/profile.js +1 -27
  141. package/lib/util/profile.js.map +1 -1
  142. package/package.json +29 -38
  143. package/src/api/impl/beacon/blocks/index.ts +221 -63
  144. package/src/api/impl/lodestar/index.ts +2 -3
  145. package/src/api/impl/validator/index.ts +206 -98
  146. package/src/api/rest/base.ts +8 -3
  147. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -1
  148. package/src/chain/blocks/importBlock.ts +0 -17
  149. package/src/chain/blocks/utils/chainSegment.ts +16 -5
  150. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +1 -1
  151. package/src/chain/blocks/verifyBlocksSanityChecks.ts +1 -1
  152. package/src/chain/blocks/verifyExecutionPayloadEnvelope.ts +2 -2
  153. package/src/chain/bls/multithread/index.ts +0 -1
  154. package/src/chain/chain.ts +61 -2
  155. package/src/chain/errors/blockError.ts +44 -7
  156. package/src/chain/errors/executionPayloadEnvelope.ts +9 -0
  157. package/src/chain/errors/proposerPreferences.ts +16 -1
  158. package/src/chain/lightClient/index.ts +12 -7
  159. package/src/chain/lightClient/proofs.ts +36 -1
  160. package/src/chain/lightClient/types.ts +3 -1
  161. package/src/chain/opPools/aggregatedAttestationPool.ts +1 -1
  162. package/src/chain/opPools/proposerPreferencesPool.ts +1 -1
  163. package/src/chain/validation/aggregateAndProof.ts +12 -6
  164. package/src/chain/validation/attestation.ts +12 -6
  165. package/src/chain/validation/block.ts +69 -4
  166. package/src/chain/validation/executionPayloadBid.ts +33 -3
  167. package/src/chain/validation/executionPayloadEnvelope.ts +37 -0
  168. package/src/chain/validation/proposerPreferences.ts +71 -9
  169. package/src/chain/validation/signatureSets/aggregateAndProof.ts +3 -3
  170. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +57 -9
  171. package/src/metrics/nodeJsMetrics.ts +1 -1
  172. package/src/network/core/networkCoreWorkerHandler.ts +2 -6
  173. package/src/network/discv5/index.ts +1 -4
  174. package/src/network/gossip/encoding.ts +13 -7
  175. package/src/network/gossip/gossipsub.ts +7 -2
  176. package/src/network/gossip/topic.ts +30 -0
  177. package/src/network/interface.ts +3 -1
  178. package/src/network/libp2p/index.ts +2 -10
  179. package/src/network/network.ts +24 -15
  180. package/src/network/peers/datastore.ts +1 -1
  181. package/src/network/processor/gossipHandlers.ts +12 -6
  182. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRange.ts +4 -2
  183. package/src/network/reqresp/handlers/index.ts +21 -12
  184. package/src/network/util.ts +5 -0
  185. package/src/sync/sync.ts +10 -0
  186. package/src/sync/unknownBlock.ts +8 -2
  187. package/src/util/execution.ts +1 -1
  188. package/src/util/profile.ts +1 -31
  189. package/lib/bun-wrappers/prometheus-gc-stats.d.ts +0 -2
  190. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  191. package/lib/bun-wrappers/prometheus-gc-stats.js +0 -8
  192. package/lib/bun-wrappers/prometheus-gc-stats.js.map +0 -1
  193. package/lib/network/peers/datastore_bun.d.ts +0 -3
  194. package/lib/network/peers/datastore_bun.d.ts.map +0 -1
  195. package/lib/network/peers/datastore_bun.js +0 -3
  196. package/lib/network/peers/datastore_bun.js.map +0 -1
  197. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  198. package/src/network/peers/datastore_bun.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../../src/chain/validation/attestation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../../src/chain/validation/attestation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,QAAQ,EAAwD,MAAM,kBAAkB,CAAC;AASjG,OAAO,EAAC,iBAAiB,EAAmC,MAAM,iBAAiB,CAAC;AAGpF,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAG7C,MAAM,MAAM,2BAA2B,GAAG;IACxC,4FAA4F;IAC5F,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,iBAAiB,EAC9B,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,2BAA2B,CAAC,CA0NtC"}
1
+ {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EACL,QAAQ,EAcT,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EAAC,iBAAiB,EAAmC,MAAM,iBAAiB,CAAC;AAGpF,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAG7C,MAAM,MAAM,2BAA2B,GAAG;IACxC,4FAA4F;IAC5F,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,iBAAiB,EAC9B,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,2BAA2B,CAAC,CA4QtC"}
@@ -1,5 +1,5 @@
1
1
  import { ExecutionStatus } from "@lodestar/fork-choice";
2
- import { isForkPostBellatrix, isForkPostDeneb, isForkPostGloas } from "@lodestar/params";
2
+ import { MAX_ATTESTATIONS_ELECTRA, MAX_ATTESTER_SLASHINGS_ELECTRA, MAX_BLS_TO_EXECUTION_CHANGES, MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD, MAX_BUILDER_EXIT_REQUESTS_PER_PAYLOAD, MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD, MAX_PAYLOAD_ATTESTATIONS, MAX_PROPOSER_SLASHINGS, MAX_VOLUNTARY_EXITS, MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD, isForkPostBellatrix, isForkPostDeneb, isForkPostGloas, } from "@lodestar/params";
3
3
  import { computeEpochAtSlot, computeStartSlotAtEpoch, computeTimeAtSlot, getBlockProposerSignatureSet, isExecutionBlockBodyType, isStatePostBellatrix, } from "@lodestar/state-transition";
4
4
  import { isGloasBeaconBlock } from "@lodestar/types";
5
5
  import { byteArrayEquals, sleep, toRootHex } from "@lodestar/utils";
@@ -62,8 +62,8 @@ export async function validateGossipBlock(config, chain, signedBlock, fork) {
62
62
  // 2. The parent is unknown to us, we probably want to download it since it might actually
63
63
  // descend from the finalized root.
64
64
  // (Non-Lighthouse): Since we prune all blocks non-descendant from finalized checking the `db.block` database won't be useful to guard
65
- // against known bad fork blocks, so we throw PARENT_UNKNOWN for cases (1) and (2)
66
- throw new BlockGossipError(GossipAction.IGNORE, { code: BlockErrorCode.PARENT_UNKNOWN, parentRoot });
65
+ // against known bad fork blocks, so we throw PARENT_BLOCK_UNKNOWN for cases (1) and (2)
66
+ throw new BlockGossipError(GossipAction.IGNORE, { code: BlockErrorCode.PARENT_BLOCK_UNKNOWN, parentRoot });
67
67
  }
68
68
  // [IGNORE] The block's parent (defined by `block.parent_root`) passes all validation
69
69
  // (including execution node verification of the `block.body.execution_payload`)
@@ -129,6 +129,55 @@ export async function validateGossipBlock(config, chain, signedBlock, fork) {
129
129
  blockParentRoot: parentRoot,
130
130
  });
131
131
  }
132
+ // [REJECT] The counts of `block.body.parent_execution_requests` are within
133
+ // their respective limits -- i.e. validate that
134
+ // `len(block.body.parent_execution_requests.withdrawals) <= MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD`,
135
+ // `len(block.body.parent_execution_requests.consolidations) <= MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD`,
136
+ // `len(block.body.parent_execution_requests.builder_deposits) <= MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD`,
137
+ // and
138
+ // `len(block.body.parent_execution_requests.builder_exits) <= MAX_BUILDER_EXIT_REQUESTS_PER_PAYLOAD`.
139
+ // [REJECT] The counts of the block body operations are within their respective
140
+ // limits -- i.e. validate that
141
+ // `len(block.body.proposer_slashings) <= MAX_PROPOSER_SLASHINGS`,
142
+ // `len(block.body.attester_slashings) <= MAX_ATTESTER_SLASHINGS_ELECTRA`,
143
+ // `len(block.body.attestations) <= MAX_ATTESTATIONS_ELECTRA`,
144
+ // `len(block.body.deposits) == 0`,
145
+ // `len(block.body.voluntary_exits) <= MAX_VOLUNTARY_EXITS`,
146
+ // `len(block.body.bls_to_execution_changes) <= MAX_BLS_TO_EXECUTION_CHANGES`,
147
+ // and `len(block.body.payload_attestations) <= MAX_PAYLOAD_ATTESTATIONS`.
148
+ const body = block.body;
149
+ const requests = body.parentExecutionRequests;
150
+ const countLimits = [
151
+ ["parentExecutionRequests.withdrawals", requests.withdrawals.length, MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD],
152
+ [
153
+ "parentExecutionRequests.consolidations",
154
+ requests.consolidations.length,
155
+ MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD,
156
+ ],
157
+ [
158
+ "parentExecutionRequests.builderDeposits",
159
+ requests.builderDeposits.length,
160
+ MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD,
161
+ ],
162
+ ["parentExecutionRequests.builderExits", requests.builderExits.length, MAX_BUILDER_EXIT_REQUESTS_PER_PAYLOAD],
163
+ ["proposerSlashings", body.proposerSlashings.length, MAX_PROPOSER_SLASHINGS],
164
+ ["attesterSlashings", body.attesterSlashings.length, MAX_ATTESTER_SLASHINGS_ELECTRA],
165
+ ["attestations", body.attestations.length, MAX_ATTESTATIONS_ELECTRA],
166
+ ["deposits", body.deposits.length, 0],
167
+ ["voluntaryExits", body.voluntaryExits.length, MAX_VOLUNTARY_EXITS],
168
+ ["blsToExecutionChanges", body.blsToExecutionChanges.length, MAX_BLS_TO_EXECUTION_CHANGES],
169
+ ["payloadAttestations", body.payloadAttestations.length, MAX_PAYLOAD_ATTESTATIONS],
170
+ ];
171
+ for (const [name, count, limit] of countLimits) {
172
+ if (count > limit) {
173
+ throw new BlockGossipError(GossipAction.REJECT, {
174
+ code: BlockErrorCode.TOO_MANY_BLOCK_OPERATIONS,
175
+ name,
176
+ count,
177
+ limit,
178
+ });
179
+ }
180
+ }
132
181
  // TODO GLOAS: [REJECT] The block's execution payload parent (defined by bid.parent_block_hash) passes all validation
133
182
  // This requires execution engine integration to verify the parent block hash
134
183
  }
@@ -140,7 +189,7 @@ export async function validateGossipBlock(config, chain, signedBlock, fork) {
140
189
  const blockState = await chain.regen
141
190
  .getPreState(block, { dontTransferCache: true }, RegenCaller.validateGossipBlock)
142
191
  .catch(() => {
143
- throw new BlockGossipError(GossipAction.IGNORE, { code: BlockErrorCode.PARENT_UNKNOWN, parentRoot });
192
+ throw new BlockGossipError(GossipAction.IGNORE, { code: BlockErrorCode.PARENT_BLOCK_UNKNOWN, parentRoot });
144
193
  });
145
194
  // in forky condition, make sure to populate ShufflingCache with regened state
146
195
  chain.shufflingCache.processState(blockState);
@@ -1 +1 @@
1
- {"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/chain/validation/block.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/chain/validation/block.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,10 @@
1
1
  import { ValidatorIndex, gloas } from "@lodestar/types";
2
2
  import { IBeaconChain } from "../index.js";
3
+ /**
4
+ * Return the minimum value a new bid must have to be forwarded given the current highest bid.
5
+ * Division before multiplication to stay within safe integer range for max gwei values.
6
+ */
7
+ export declare function getMinBidValue(currentHighestBid: number): number;
3
8
  export declare function validateApiExecutionPayloadBid(chain: IBeaconChain, signedExecutionPayloadBid: gloas.SignedExecutionPayloadBid): Promise<{
4
9
  proposerIndex: ValidatorIndex;
5
10
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"executionPayloadBid.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadBid.ts"],"names":[],"mappings":"AAUA,OAAO,EAAC,cAAc,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAItD,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAGzC,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,YAAY,EACnB,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,GACzD,OAAO,CAAC;IAAC,aAAa,EAAE,cAAc,CAAA;CAAC,CAAC,CAE1C;AAED,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,YAAY,EACnB,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,GACzD,OAAO,CAAC;IAAC,aAAa,EAAE,cAAc,CAAA;CAAC,CAAC,CAE1C"}
1
+ {"version":3,"file":"executionPayloadBid.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadBid.ts"],"names":[],"mappings":"AAUA,OAAO,EAAC,cAAc,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAItD,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAoBzC;;;GAGG;AACH,wBAAgB,cAAc,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,YAAY,EACnB,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,GACzD,OAAO,CAAC;IAAC,aAAa,EAAE,cAAc,CAAA;CAAC,CAAC,CAE1C;AAED,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,YAAY,EACnB,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,GACzD,OAAO,CAAC;IAAC,aAAa,EAAE,cAAc,CAAA;CAAC,CAAC,CAE1C"}
@@ -5,6 +5,31 @@ import { byteArrayEquals, toHex, toRootHex } from "@lodestar/utils";
5
5
  import { getShufflingDependentRoot } from "../../util/dependentRoot.js";
6
6
  import { ExecutionPayloadBidError, ExecutionPayloadBidErrorCode, GossipAction } from "../errors/index.js";
7
7
  import { RegenCaller } from "../regen/index.js";
8
+ /**
9
+ * Relative increment over the current highest bid required to forward a bid, in basis points.
10
+ * With 3%, laddering from 1 gwei to 1 ETH takes ~256 bids given the floor and cap below, see
11
+ * https://github.com/ethereum/consensus-specs/pull/4792#issuecomment-3714553549.
12
+ */
13
+ const BID_INCREMENT_BPS = 300;
14
+ /**
15
+ * Minimum absolute increment (0.0001 ETH). Covers low bid values where the relative increment
16
+ * is tiny and provides weak spam protection.
17
+ */
18
+ const BID_INCREMENT_FLOOR_GWEI = 100_000;
19
+ /**
20
+ * Maximum absolute increment (0.01 ETH). Bounds the barrier for legitimate competition on
21
+ * high value blocks where the relative increment would suppress closely competing bids.
22
+ */
23
+ const BID_INCREMENT_CAP_GWEI = 10_000_000;
24
+ /**
25
+ * Return the minimum value a new bid must have to be forwarded given the current highest bid.
26
+ * Division before multiplication to stay within safe integer range for max gwei values.
27
+ */
28
+ export function getMinBidValue(currentHighestBid) {
29
+ const relativeIncrement = Math.floor(currentHighestBid / 10_000) * BID_INCREMENT_BPS;
30
+ const increment = Math.min(Math.max(BID_INCREMENT_FLOOR_GWEI, relativeIncrement), BID_INCREMENT_CAP_GWEI);
31
+ return currentHighestBid + increment;
32
+ }
8
33
  export async function validateApiExecutionPayloadBid(chain, signedExecutionPayloadBid) {
9
34
  return validateExecutionPayloadBid(chain, signedExecutionPayloadBid);
10
35
  }
@@ -130,9 +155,9 @@ async function validateExecutionPayloadBid(chain, signedExecutionPayloadBid) {
130
155
  executionPayment: bid.executionPayment,
131
156
  });
132
157
  }
133
- // [REJECT] `bid.fee_recipient == proposer_preferences.fee_recipient`.
158
+ // [IGNORE] `bid.fee_recipient == proposer_preferences.fee_recipient`.
134
159
  if (!byteArrayEquals(bid.feeRecipient, proposerPreferences.message.feeRecipient)) {
135
- throw new ExecutionPayloadBidError(GossipAction.REJECT, {
160
+ throw new ExecutionPayloadBidError(GossipAction.IGNORE, {
136
161
  code: ExecutionPayloadBidErrorCode.PROPOSER_PREFERENCES_FEE_RECIPIENT_MISMATCH,
137
162
  builderIndex: bid.builderIndex,
138
163
  bidFeeRecipient: toHex(bid.feeRecipient),
@@ -191,8 +216,11 @@ async function validateExecutionPayloadBid(chain, signedExecutionPayloadBid) {
191
216
  }
192
217
  // [IGNORE] this bid is the highest value bid seen for the tuple
193
218
  // `(bid.slot, bid.parent_block_hash, bid.parent_block_root)`.
219
+ // As a DoS prevention measure, the bid must also exceed the current highest bid by a minimum
220
+ // increment, see https://github.com/ethereum/consensus-specs/pull/4831. This prevents spam
221
+ // from builders submitting numerous bids with minimal value increments.
194
222
  const bestBid = chain.executionPayloadBidPool.getBestBid(bid.slot, parentBlockHashHex, parentBlockRootHex);
195
- if (bestBid !== null && bestBid.message.value >= bid.value) {
223
+ if (bestBid !== null && bid.value < getMinBidValue(bestBid.message.value)) {
196
224
  throw new ExecutionPayloadBidError(GossipAction.IGNORE, {
197
225
  code: ExecutionPayloadBidErrorCode.BID_TOO_LOW,
198
226
  bidValue: bid.value,
@@ -1 +1 @@
1
- {"version":3,"file":"executionPayloadBid.js","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadBid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executionPayloadBid.js","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadBid.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"executionPayloadEnvelope.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadEnvelope.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,KAAK,EAAM,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAGzC,wBAAsB,mCAAmC,CACvD,KAAK,EAAE,YAAY,EACnB,wBAAwB,EAAE,KAAK,CAAC,8BAA8B,GAC7D,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,sCAAsC,CAC1D,KAAK,EAAE,YAAY,EACnB,wBAAwB,EAAE,KAAK,CAAC,8BAA8B,GAC7D,OAAO,CAAC,IAAI,CAAC,CAEf"}
1
+ {"version":3,"file":"executionPayloadEnvelope.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadEnvelope.ts"],"names":[],"mappings":"AAaA,OAAO,EAAC,KAAK,EAAM,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAGzC,wBAAsB,mCAAmC,CACvD,KAAK,EAAE,YAAY,EACnB,wBAAwB,EAAE,KAAK,CAAC,8BAA8B,GAC7D,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,sCAAsC,CAC1D,KAAK,EAAE,YAAY,EACnB,wBAAwB,EAAE,KAAK,CAAC,8BAA8B,GAC7D,OAAO,CAAC,IAAI,CAAC,CAEf"}
@@ -1,4 +1,5 @@
1
1
  import { PayloadStatus } from "@lodestar/fork-choice";
2
+ import { MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD, MAX_BUILDER_EXIT_REQUESTS_PER_PAYLOAD, MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD, MAX_WITHDRAWALS_PER_PAYLOAD, MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD, } from "@lodestar/params";
2
3
  import { computeStartSlotAtEpoch, getExecutionPayloadEnvelopeSignatureSet, isStatePostGloas, } from "@lodestar/state-transition";
3
4
  import { ssz } from "@lodestar/types";
4
5
  import { byteArrayEquals, toRootHex } from "@lodestar/utils";
@@ -88,6 +89,34 @@ async function validateExecutionPayloadEnvelope(chain, executionPayloadEnvelope)
88
89
  bidRequestsRoot: toRootHex(payloadInput.getBid().executionRequestsRoot),
89
90
  });
90
91
  }
92
+ // [REJECT] The counts of `execution_requests` are within their respective limits.
93
+ // New in Gloas:EIP7688 — progressive lists are unbounded at the type level, so bounds
94
+ // are enforced here in gossip validation.
95
+ const { executionRequests } = envelope;
96
+ const requestCountLimits = [
97
+ ["withdrawals", executionRequests.withdrawals.length, MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD],
98
+ ["consolidations", executionRequests.consolidations.length, MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD],
99
+ ["builderDeposits", executionRequests.builderDeposits.length, MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD],
100
+ ["builderExits", executionRequests.builderExits.length, MAX_BUILDER_EXIT_REQUESTS_PER_PAYLOAD],
101
+ ];
102
+ for (const [name, count, limit] of requestCountLimits) {
103
+ if (count > limit) {
104
+ throw new ExecutionPayloadEnvelopeError(GossipAction.REJECT, {
105
+ code: ExecutionPayloadEnvelopeErrorCode.EXECUTION_REQUESTS_COUNT_EXCEEDED,
106
+ name,
107
+ count,
108
+ limit,
109
+ });
110
+ }
111
+ }
112
+ // [REJECT] The number of withdrawals is within the limit.
113
+ if (payload.withdrawals.length > MAX_WITHDRAWALS_PER_PAYLOAD) {
114
+ throw new ExecutionPayloadEnvelopeError(GossipAction.REJECT, {
115
+ code: ExecutionPayloadEnvelopeErrorCode.WITHDRAWALS_COUNT_EXCEEDED,
116
+ count: payload.withdrawals.length,
117
+ limit: MAX_WITHDRAWALS_PER_PAYLOAD,
118
+ });
119
+ }
91
120
  // Get the block state to verify the builder's signature.
92
121
  const blockState = await chain.regen
93
122
  .getState(block.stateRoot, RegenCaller.validateGossipPayloadEnvelope)
@@ -1 +1 @@
1
- {"version":3,"file":"executionPayloadEnvelope.js","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadEnvelope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executionPayloadEnvelope.js","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,wCAAwC,EACxC,qCAAqC,EACrC,sCAAsC,EACtC,2BAA2B,EAC3B,mCAAmC,GACpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,uCAAuC,EACvC,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAQ,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,eAAe,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAC,6BAA6B,EAAE,iCAAiC,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAElH,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,KAAmB,EACnB,wBAA8D,EAC/C;IACf,OAAO,gCAAgC,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;AAAA,CAC1E;AAED,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC1D,KAAmB,EACnB,wBAA8D,EAC/C;IACf,OAAO,gCAAgC,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;AAAA,CAC1E;AAED,KAAK,UAAU,gCAAgC,CAC7C,KAAmB,EACnB,wBAA8D,EAC/C;IACf,MAAM,QAAQ,GAAG,wBAAwB,CAAC,OAAO,CAAC;IAClD,MAAM,EAAC,OAAO,EAAC,GAAG,QAAQ,CAAC;IAC3B,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAEzD,qFAAqF;IACrF,gFAAgF;IAChF,2BAA2B;IAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,qBAAqB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC/E,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC3D,IAAI,EAAE,iCAAiC,CAAC,kBAAkB;YAC1D,SAAS,EAAE,YAAY;SACxB,CAAC,CAAC;IACL,CAAC;IAED,+CAA+C;IAC/C,0EAA0E;IAC1E,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACrF,MAAM,YAAY,GAAG,KAAK,CAAC,6BAA6B,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC3E,IAAI,aAAa,IAAI,YAAY,EAAE,kBAAkB,EAAE,EAAE,CAAC;QACxD,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC3D,IAAI,EAAE,iCAAiC,CAAC,sBAAsB;YAC9D,SAAS,EAAE,YAAY;YACvB,IAAI,EAAE,OAAO,CAAC,UAAU;SACzB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,oEAAoE;QACpE,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC3D,IAAI,EAAE,iCAAiC,CAAC,8BAA8B;YACtE,SAAS,EAAE,YAAY;SACxB,CAAC,CAAC;IACL,CAAC;IAED,sMAAsM;IACtM,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;IACtE,MAAM,aAAa,GAAG,uBAAuB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,UAAU,GAAG,aAAa,EAAE,CAAC;QACvC,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC3D,IAAI,EAAE,iCAAiC,CAAC,yBAAyB;YACjE,YAAY,EAAE,OAAO,CAAC,UAAU;YAChC,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED,sCAAsC;IACtC,yFAAyF;IACzF,2DAA2D;IAE3D,qDAAqD;IACrD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC3D,IAAI,EAAE,iCAAiC,CAAC,aAAa;YACrD,YAAY,EAAE,OAAO,CAAC,UAAU;YAChC,SAAS,EAAE,KAAK,CAAC,IAAI;SACtB,CAAC,CAAC;IACL,CAAC;IAED,yDAAyD;IACzD,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY,CAAC,eAAe,EAAE,EAAE,CAAC;QAC7D,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC3D,IAAI,EAAE,iCAAiC,CAAC,sBAAsB;YAC9D,oBAAoB,EAAE,QAAQ,CAAC,YAAY;YAC3C,eAAe,EAAE,YAAY,CAAC,eAAe,EAAE;SAChD,CAAC,CAAC;IACL,CAAC;IAED,kDAAkD;IAClD,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,YAAY,CAAC,eAAe,EAAE,EAAE,CAAC;QACpE,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC3D,IAAI,EAAE,iCAAiC,CAAC,mBAAmB;YAC3D,iBAAiB,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;YAC/C,YAAY,EAAE,YAAY,CAAC,eAAe,EAAE;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,wFAAwF;IACxF,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC1F,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC3D,IAAI,EAAE,iCAAiC,CAAC,gCAAgC;YACxE,oBAAoB,EAAE,SAAS,CAAC,YAAY,CAAC;YAC7C,eAAe,EAAE,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,qBAAqB,CAAC;SACxE,CAAC,CAAC;IACL,CAAC;IAED,kFAAkF;IAClF,sFAAsF;IACtF,0CAA0C;IAC1C,MAAM,EAAC,iBAAiB,EAAC,GAAG,QAAQ,CAAC;IACrC,MAAM,kBAAkB,GAA+B;QACrD,CAAC,aAAa,EAAE,iBAAiB,CAAC,WAAW,CAAC,MAAM,EAAE,mCAAmC,CAAC;QAC1F,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,cAAc,CAAC,MAAM,EAAE,sCAAsC,CAAC;QACnG,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,eAAe,CAAC,MAAM,EAAE,wCAAwC,CAAC;QACvG,CAAC,cAAc,EAAE,iBAAiB,CAAC,YAAY,CAAC,MAAM,EAAE,qCAAqC,CAAC;KAC/F,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACtD,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;YAClB,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC3D,IAAI,EAAE,iCAAiC,CAAC,iCAAiC;gBACzE,IAAI;gBACJ,KAAK;gBACL,KAAK;aACN,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,2BAA2B,EAAE,CAAC;QAC7D,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC3D,IAAI,EAAE,iCAAiC,CAAC,0BAA0B;YAClE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;YACjC,KAAK,EAAE,2BAA2B;SACnC,CAAC,CAAC;IACL,CAAC;IAED,yDAAyD;IACzD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,KAAK;SACjC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,6BAA6B,CAAC;SACpE,KAAK,CAAC,GAAG,EAAE,CAAC;QACX,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC3D,IAAI,EAAE,iCAAiC,CAAC,mBAAmB;YAC3D,SAAS,EAAE,YAAY;YACvB,IAAI,EAAE,OAAO,CAAC,UAAU;SACzB,CAAC,CAAC;IAAA,CACJ,CAAC,CAAC;IACL,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,6EAA6E,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtH,CAAC;IAED,8EAA8E;IAC9E,oDAAoD;IACpD,MAAM,YAAY,GAAG,uCAAuC,CAC1D,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,WAAW,EACjB,UAAU,EACV,wBAAwB,EACxB,YAAY,CAAC,aAAa,CAC3B,CAAC;IAEF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,EAAE,EAAC,kBAAkB,EAAE,IAAI,EAAC,CAAC,CAAC,EAAE,CAAC;QACvF,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,MAAM,EAAE;YAC3D,IAAI,EAAE,iCAAiC,CAAC,iBAAiB;SAC1D,CAAC,CAAC;IACL,CAAC;AAAA,CACF"}
@@ -1,8 +1,15 @@
1
- import { gloas } from "@lodestar/types";
1
+ import { IForkChoice, ProtoBlock } from "@lodestar/fork-choice";
2
+ import { Epoch, gloas } from "@lodestar/types";
2
3
  import { IBeaconChain } from "../index.js";
3
4
  /**
4
5
  * Validates a gossiped `SignedProposerPreferences` per
5
- * https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/p2p-interface.md#proposer_preferences
6
+ * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.13/specs/gloas/p2p-interface.md#new-proposer_preferences
6
7
  */
7
8
  export declare function validateGossipProposerPreferences(chain: IBeaconChain, signedProposerPreferences: gloas.SignedProposerPreferences): Promise<void>;
9
+ /**
10
+ * Check whether `dependentBlock` is a viable shuffling-dependent root for `epoch`:
11
+ * it is before the epoch boundary and either has a direct child at or after
12
+ * the boundary, or is the current fork-choice head.
13
+ */
14
+ export declare function isValidDependentRoot(forkChoice: IForkChoice, dependentBlock: ProtoBlock, epoch: Epoch): boolean;
8
15
  //# sourceMappingURL=proposerPreferences.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proposerPreferences.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/proposerPreferences.ts"],"names":[],"mappings":"AAMA,OAAO,EAAiB,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AACH,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,YAAY,EACnB,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,GACzD,OAAO,CAAC,IAAI,CAAC,CAqGf"}
1
+ {"version":3,"file":"proposerPreferences.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/proposerPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAQ9D,OAAO,EAAC,KAAK,EAAwB,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAGnE,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AACH,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,YAAY,EACnB,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,GACzD,OAAO,CAAC,IAAI,CAAC,CAwIf;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAa/G"}
@@ -1,19 +1,19 @@
1
- import { SLOTS_PER_EPOCH } from "@lodestar/params";
2
- import { computeEpochAtSlot, createSingleSignatureSetFromComponents, getProposerPreferencesSigningRoot, } from "@lodestar/state-transition";
1
+ import { GENESIS_SLOT, MIN_SEED_LOOKAHEAD, SLOTS_PER_EPOCH } from "@lodestar/params";
2
+ import { computeEpochAtSlot, computeStartSlotAtEpoch, createSingleSignatureSetFromComponents, getProposerPreferencesSigningRoot, } from "@lodestar/state-transition";
3
3
  import { toRootHex } from "@lodestar/utils";
4
4
  import { GossipAction, ProposerPreferencesError, ProposerPreferencesErrorCode } from "../errors/index.js";
5
5
  /**
6
6
  * Validates a gossiped `SignedProposerPreferences` per
7
- * https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/p2p-interface.md#proposer_preferences
7
+ * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.13/specs/gloas/p2p-interface.md#new-proposer_preferences
8
8
  */
9
9
  export async function validateGossipProposerPreferences(chain, signedProposerPreferences) {
10
10
  const preferences = signedProposerPreferences.message;
11
11
  const { proposalSlot, validatorIndex, dependentRoot } = preferences;
12
12
  const dependentRootHex = toRootHex(dependentRoot);
13
13
  const proposalEpoch = computeEpochAtSlot(proposalSlot);
14
- // [IGNORE] `preferences.proposal_slot` is in the current or next epoch.
14
+ // [IGNORE] `preferences.proposal_slot` is within the proposer lookahead.
15
15
  const currentEpoch = chain.clock.currentEpoch;
16
- if (proposalEpoch < currentEpoch || proposalEpoch > currentEpoch + 1) {
16
+ if (proposalEpoch < currentEpoch || proposalEpoch > currentEpoch + MIN_SEED_LOOKAHEAD) {
17
17
  throw new ProposerPreferencesError(GossipAction.IGNORE, {
18
18
  code: ProposerPreferencesErrorCode.INVALID_EPOCH,
19
19
  proposalSlot,
@@ -31,23 +31,54 @@ export async function validateGossipProposerPreferences(chain, signedProposerPre
31
31
  });
32
32
  }
33
33
  // [IGNORE] The block with root `dependent_root` has been seen by the node.
34
+ const dependentBlock = chain.forkChoice.getBlockHexDefaultStatus(dependentRootHex);
35
+ if (dependentBlock === null) {
36
+ throw new ProposerPreferencesError(GossipAction.IGNORE, {
37
+ code: ProposerPreferencesErrorCode.UNKNOWN_DEPENDENT_ROOT,
38
+ proposalSlot,
39
+ dependentRoot: dependentRootHex,
40
+ });
41
+ }
42
+ const dependentEpoch = proposalEpoch - MIN_SEED_LOOKAHEAD;
43
+ const dependentRootSlot = getDependentRootSlot(dependentEpoch);
44
+ // [REJECT] The slot of the block with root `preferences.dependent_root` is strictly less than
45
+ // `compute_start_slot_at_epoch(compute_epoch_at_slot(preferences.proposal_slot) - MIN_SEED_LOOKAHEAD)`.
46
+ if (dependentBlock.slot > dependentRootSlot) {
47
+ throw new ProposerPreferencesError(GossipAction.REJECT, {
48
+ code: ProposerPreferencesErrorCode.INVALID_DEPENDENT_ROOT_SLOT,
49
+ dependentRoot: dependentRootHex,
50
+ dependentBlockSlot: dependentBlock.slot,
51
+ dependentRootSlot,
52
+ dependentEpoch,
53
+ });
54
+ }
55
+ // [IGNORE] `is_valid_dependent_root(store, preferences.dependent_root, epoch)` returns `True`,
56
+ // where `epoch` is `compute_epoch_at_slot(preferences.proposal_slot) - MIN_SEED_LOOKAHEAD`.
57
+ if (!isValidDependentRoot(chain.forkChoice, dependentBlock, dependentEpoch)) {
58
+ throw new ProposerPreferencesError(GossipAction.IGNORE, {
59
+ code: ProposerPreferencesErrorCode.INVALID_DEPENDENT_ROOT,
60
+ dependentRoot: dependentRootHex,
61
+ dependentBlockSlot: dependentBlock.slot,
62
+ dependentEpoch,
63
+ });
64
+ }
34
65
  // Resolve the proposer lookahead for the message's branch via head state (fast path) or
35
66
  // the previous-root checkpoint state (populated by `processSlotsToNearestCheckpoint` for
36
- // any imported branch crossing into `proposalEpoch - 1`). The head-state path also handles
67
+ // any imported branch crossing into `dependentEpoch`). The head-state path also handles
37
68
  // narrow timing windows where the checkpoint state isn't yet populated.
38
69
  const headState = chain.getHeadState();
39
70
  let proposers = null;
40
71
  if (headState.epoch === proposalEpoch && headState.currentDecisionRoot === dependentRootHex) {
41
72
  proposers = headState.currentProposers;
42
73
  }
43
- else if (headState.epoch === proposalEpoch - 1 && headState.nextDecisionRoot === dependentRootHex) {
74
+ else if (headState.epoch === dependentEpoch && headState.nextDecisionRoot === dependentRootHex) {
44
75
  proposers = headState.nextProposers;
45
76
  }
46
77
  else {
47
78
  // Sync lookup only to not trigger disk reload from gossip input.
48
- const checkpointState = chain.regen.getCheckpointStateSync({ epoch: proposalEpoch - 1, rootHex: dependentRootHex });
79
+ const checkpointState = chain.regen.getCheckpointStateSync({ epoch: dependentEpoch, rootHex: dependentRootHex });
49
80
  if (checkpointState !== null) {
50
- // State is at `proposalEpoch - 1`, so proposers for `proposalSlot` (next epoch from
81
+ // State is at `dependentEpoch`, so proposers for `proposalSlot` (next epoch from
51
82
  // the state's perspective) live in `nextProposers`.
52
83
  proposers = checkpointState.nextProposers;
53
84
  }
@@ -97,4 +128,25 @@ export async function validateGossipProposerPreferences(chain, signedProposerPre
97
128
  }
98
129
  chain.proposerPreferencesPool.add(signedProposerPreferences);
99
130
  }
131
+ /**
132
+ * Check whether `dependentBlock` is a viable shuffling-dependent root for `epoch`:
133
+ * it is before the epoch boundary and either has a direct child at or after
134
+ * the boundary, or is the current fork-choice head.
135
+ */
136
+ export function isValidDependentRoot(forkChoice, dependentBlock, epoch) {
137
+ const epochStartSlot = computeStartSlotAtEpoch(epoch);
138
+ if (dependentBlock.slot > getDependentRootSlot(epoch)) {
139
+ return false;
140
+ }
141
+ for (const block of forkChoice.getBlockSummariesByParentRoot(dependentBlock.blockRoot)) {
142
+ if (block.slot >= epochStartSlot) {
143
+ return true;
144
+ }
145
+ }
146
+ return dependentBlock.blockRoot === forkChoice.getHeadRoot();
147
+ }
148
+ /** Return the slot used to select a dependent root for `epoch`, clamped to genesis. */
149
+ function getDependentRootSlot(epoch) {
150
+ return Math.max(GENESIS_SLOT, computeStartSlotAtEpoch(epoch) - 1);
151
+ }
100
152
  //# sourceMappingURL=proposerPreferences.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proposerPreferences.js","sourceRoot":"","sources":["../../../src/chain/validation/proposerPreferences.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proposerPreferences.js","sourceRoot":"","sources":["../../../src/chain/validation/proposerPreferences.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"aggregateAndProof.d.ts","sourceRoot":"","sources":["../../../../src/chain/validation/signatureSets/aggregateAndProof.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAC,aAAa,EAAgE,MAAM,4BAA4B,CAAC;AACxH,OAAO,EAAC,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAM,MAAM,iBAAiB,CAAC;AAEpF,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,uBAAuB,GACzC,UAAU,CASZ;AAED,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,cAAc,EAC/B,iBAAiB,EAAE,uBAAuB,GACzC,aAAa,CAOf"}
1
+ {"version":3,"file":"aggregateAndProof.d.ts","sourceRoot":"","sources":["../../../../src/chain/validation/signatureSets/aggregateAndProof.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAC,aAAa,EAAgE,MAAM,4BAA4B,CAAC;AACxH,OAAO,EAAC,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAE/E,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,uBAAuB,GACzC,UAAU,CASZ;AAED,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,cAAc,EAC/B,iBAAiB,EAAE,uBAAuB,GACzC,aAAa,CAOf"}
@@ -1,6 +1,5 @@
1
- import { DOMAIN_AGGREGATE_AND_PROOF, ForkSeq } from "@lodestar/params";
1
+ import { DOMAIN_AGGREGATE_AND_PROOF } from "@lodestar/params";
2
2
  import { SignatureSetType, computeSigningRoot, computeStartSlotAtEpoch } from "@lodestar/state-transition";
3
- import { ssz } from "@lodestar/types";
4
3
  export function getAggregateAndProofSigningRoot(config, epoch, aggregateAndProof) {
5
4
  // previously, we call `const aggregatorDomain = config.getDomain(state.slot, DOMAIN_AGGREGATE_AND_PROOF, slot);`
6
5
  // at fork boundary, it's required to dial to target epoch https://github.com/ChainSafe/lodestar/blob/v1.11.3/packages/beacon-node/src/chain/validation/attestation.ts#L573
@@ -8,7 +7,7 @@ export function getAggregateAndProofSigningRoot(config, epoch, aggregateAndProof
8
7
  const slot = computeStartSlotAtEpoch(epoch);
9
8
  const fork = config.getForkName(slot);
10
9
  const aggregatorDomain = config.getDomainAtFork(fork, DOMAIN_AGGREGATE_AND_PROOF);
11
- const sszType = ForkSeq[fork] >= ForkSeq.electra ? ssz.electra.AggregateAndProof : ssz.phase0.AggregateAndProof;
10
+ const sszType = config.getForkTypes(slot).AggregateAndProof;
12
11
  return computeSigningRoot(sszType, aggregateAndProof.message, aggregatorDomain);
13
12
  }
14
13
  export function getAggregateAndProofSignatureSet(config, epoch, aggregatorIndex, aggregateAndProof) {
@@ -1 +1 @@
1
- {"version":3,"file":"aggregateAndProof.js","sourceRoot":"","sources":["../../../../src/chain/validation/signatureSets/aggregateAndProof.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,0BAA0B,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAgB,gBAAgB,EAAE,kBAAkB,EAAE,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AACxH,OAAO,EAAiD,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpF,MAAM,UAAU,+BAA+B,CAC7C,MAAoB,EACpB,KAAY,EACZ,iBAA0C,EAC9B;IACZ,iHAAiH;IACjH,2KAA2K;IAC3K,qEAAqE;IACrE,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC;IAChH,OAAO,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AAAA,CACjF;AAED,MAAM,UAAU,gCAAgC,CAC9C,MAAoB,EACpB,KAAY,EACZ,eAA+B,EAC/B,iBAA0C,EAC3B;IACf,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,OAAO;QAC9B,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,+BAA+B,CAAC,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC;QAC9E,SAAS,EAAE,iBAAiB,CAAC,SAAS;KACvC,CAAC;AAAA,CACH"}
1
+ {"version":3,"file":"aggregateAndProof.js","sourceRoot":"","sources":["../../../../src/chain/validation/signatureSets/aggregateAndProof.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,0BAA0B,EAAC,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAgB,gBAAgB,EAAE,kBAAkB,EAAE,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAGxH,MAAM,UAAU,+BAA+B,CAC7C,MAAoB,EACpB,KAAY,EACZ,iBAA0C,EAC9B;IACZ,iHAAiH;IACjH,2KAA2K;IAC3K,qEAAqE;IACrE,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC;IAC5D,OAAO,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AAAA,CACjF;AAED,MAAM,UAAU,gCAAgC,CAC9C,MAAoB,EACpB,KAAY,EACZ,eAA+B,EAC/B,iBAA0C,EAC3B;IACf,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,OAAO;QAC9B,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,+BAA+B,CAAC,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC;QAC9E,SAAS,EAAE,iBAAiB,CAAC,SAAS;KACvC,CAAC;AAAA,CACH"}