@lodestar/beacon-node 1.44.0-dev.1d0e0b9081 → 1.44.0-dev.6c85077978

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 (86) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +30 -0
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/pool/index.d.ts.map +1 -1
  5. package/lib/api/impl/beacon/pool/index.js +1 -1
  6. package/lib/api/impl/beacon/pool/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 +77 -37
  9. package/lib/api/impl/validator/index.js.map +1 -1
  10. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  11. package/lib/chain/blocks/importBlock.js +1 -1
  12. package/lib/chain/blocks/importBlock.js.map +1 -1
  13. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  14. package/lib/chain/blocks/importExecutionPayload.js +4 -2
  15. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  16. package/lib/chain/chain.d.ts +1 -1
  17. package/lib/chain/chain.d.ts.map +1 -1
  18. package/lib/chain/chain.js +2 -1
  19. package/lib/chain/chain.js.map +1 -1
  20. package/lib/chain/errors/executionPayloadBid.d.ts +6 -1
  21. package/lib/chain/errors/executionPayloadBid.d.ts.map +1 -1
  22. package/lib/chain/errors/executionPayloadBid.js +1 -0
  23. package/lib/chain/errors/executionPayloadBid.js.map +1 -1
  24. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  25. package/lib/chain/forkChoice/index.js +14 -4
  26. package/lib/chain/forkChoice/index.js.map +1 -1
  27. package/lib/chain/opPools/executionPayloadBidPool.d.ts +4 -4
  28. package/lib/chain/opPools/executionPayloadBidPool.d.ts.map +1 -1
  29. package/lib/chain/opPools/executionPayloadBidPool.js +6 -4
  30. package/lib/chain/opPools/executionPayloadBidPool.js.map +1 -1
  31. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  32. package/lib/chain/prepareNextSlot.js +2 -1
  33. package/lib/chain/prepareNextSlot.js.map +1 -1
  34. package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -1
  35. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  36. package/lib/chain/produceBlock/produceBlockBody.js +78 -24
  37. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  38. package/lib/chain/validation/executionPayloadBid.d.ts +7 -3
  39. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
  40. package/lib/chain/validation/executionPayloadBid.js +26 -10
  41. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  42. package/lib/chain/validatorMonitor.d.ts +1 -0
  43. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  44. package/lib/chain/validatorMonitor.js +16 -0
  45. package/lib/chain/validatorMonitor.js.map +1 -1
  46. package/lib/execution/builder/index.d.ts +1 -2
  47. package/lib/execution/builder/index.d.ts.map +1 -1
  48. package/lib/execution/builder/index.js +0 -1
  49. package/lib/execution/builder/index.js.map +1 -1
  50. package/lib/metrics/metrics/lodestar.d.ts +1 -1
  51. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  52. package/lib/metrics/metrics/lodestar.js +4 -3
  53. package/lib/metrics/metrics/lodestar.js.map +1 -1
  54. package/lib/network/interface.d.ts +1 -0
  55. package/lib/network/interface.d.ts.map +1 -1
  56. package/lib/network/network.d.ts +1 -0
  57. package/lib/network/network.d.ts.map +1 -1
  58. package/lib/network/network.js +5 -0
  59. package/lib/network/network.js.map +1 -1
  60. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  61. package/lib/network/processor/gossipHandlers.js +12 -4
  62. package/lib/network/processor/gossipHandlers.js.map +1 -1
  63. package/package.json +14 -14
  64. package/src/api/impl/beacon/blocks/index.ts +36 -0
  65. package/src/api/impl/beacon/pool/index.ts +2 -1
  66. package/src/api/impl/validator/index.ts +90 -38
  67. package/src/chain/blocks/importBlock.ts +2 -1
  68. package/src/chain/blocks/importExecutionPayload.ts +7 -1
  69. package/src/chain/chain.ts +2 -0
  70. package/src/chain/errors/executionPayloadBid.ts +4 -1
  71. package/src/chain/forkChoice/index.ts +14 -4
  72. package/src/chain/opPools/executionPayloadBidPool.ts +10 -9
  73. package/src/chain/prepareNextSlot.ts +2 -1
  74. package/src/chain/produceBlock/produceBlockBody.ts +108 -34
  75. package/src/chain/validation/executionPayloadBid.ts +32 -14
  76. package/src/chain/validatorMonitor.ts +18 -0
  77. package/src/execution/builder/index.ts +1 -4
  78. package/src/metrics/metrics/lodestar.ts +4 -3
  79. package/src/network/interface.ts +1 -0
  80. package/src/network/network.ts +11 -0
  81. package/src/network/processor/gossipHandlers.ts +16 -4
  82. package/lib/execution/builder/utils.d.ts +0 -5
  83. package/lib/execution/builder/utils.d.ts.map +0 -1
  84. package/lib/execution/builder/utils.js +0 -17
  85. package/lib/execution/builder/utils.js.map +0 -1
  86. package/src/execution/builder/utils.ts +0 -19
@@ -1117,7 +1117,16 @@ function getSequentialHandlers(modules: ValidatorFnsModules, options: GossipHand
1117
1117
  }
1118
1118
 
1119
1119
  const slot = envelope.payload.slotNumber;
1120
- const delaySec = seenTimestampSec - computeTimeAtSlot(config, slot, chain.genesisTime);
1120
+ const delaySec = chain.clock.secFromSlot(slot, seenTimestampSec);
1121
+
1122
+ logger.debug("Received gossip payload envelope", {
1123
+ currentSlot: chain.clock.currentSlot,
1124
+ peerId: peerIdStr,
1125
+ slot,
1126
+ blockRoot: toRootHex(envelope.beaconBlockRoot),
1127
+ delaySec,
1128
+ });
1129
+
1121
1130
  metrics?.gossipExecutionPayloadEnvelope.elapsedTimeTillReceived.observe({source: OpSource.gossip}, delaySec);
1122
1131
  chain.validatorMonitor?.registerExecutionPayloadEnvelope(OpSource.gossip, delaySec, signedEnvelope);
1123
1132
 
@@ -1206,7 +1215,8 @@ function getSequentialHandlers(modules: ValidatorFnsModules, options: GossipHand
1206
1215
  chain.forkChoice.notifyPtcMessages(
1207
1216
  toRootHex(payloadAttestationMessage.data.beaconBlockRoot),
1208
1217
  validationResult.validatorCommitteeIndices,
1209
- payloadAttestationMessage.data.payloadPresent
1218
+ payloadAttestationMessage.data.payloadPresent,
1219
+ payloadAttestationMessage.data.blobDataAvailable
1210
1220
  );
1211
1221
  },
1212
1222
  [GossipType.execution_payload_bid]: async ({
@@ -1215,16 +1225,18 @@ function getSequentialHandlers(modules: ValidatorFnsModules, options: GossipHand
1215
1225
  }: GossipHandlerParamGeneric<GossipType.execution_payload_bid>) => {
1216
1226
  const {serializedData} = gossipData;
1217
1227
  const executionPayloadBid = sszDeserialize(topic, serializedData);
1218
- await validateGossipExecutionPayloadBid(chain, executionPayloadBid);
1228
+ const {proposerIndex} = await validateGossipExecutionPayloadBid(chain, executionPayloadBid);
1219
1229
 
1220
1230
  // Handle valid payload bid by storing in a bid pool
1221
1231
  try {
1222
- const insertOutcome = chain.executionPayloadBidPool.add(executionPayloadBid.message);
1232
+ const insertOutcome = chain.executionPayloadBidPool.add(executionPayloadBid);
1223
1233
  metrics?.opPool.executionPayloadBidPool.gossipInsertOutcome.inc({insertOutcome});
1224
1234
  } catch (e) {
1225
1235
  logger.error("Error adding to executionPayloadBid pool", {}, e as Error);
1226
1236
  }
1227
1237
 
1238
+ chain.validatorMonitor?.registerExecutionPayloadBid(OpSource.gossip, proposerIndex, executionPayloadBid.message);
1239
+
1228
1240
  chain.emitter.emit(routes.events.EventType.executionPayloadBid, {
1229
1241
  version: config.getForkName(executionPayloadBid.message.slot),
1230
1242
  data: executionPayloadBid,
@@ -1,5 +0,0 @@
1
- /**
2
- * Calculates expected gas limit based on parent gas limit and target gas limit
3
- */
4
- export declare function getExpectedGasLimit(parentGasLimit: number, targetGasLimit: number): number;
5
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/execution/builder/utils.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAU1F"}
@@ -1,17 +0,0 @@
1
- /**
2
- * From https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md
3
- */
4
- const gasLimitAdjustmentFactor = 1024;
5
- /**
6
- * Calculates expected gas limit based on parent gas limit and target gas limit
7
- */
8
- export function getExpectedGasLimit(parentGasLimit, targetGasLimit) {
9
- const maxGasLimitDifference = Math.max(Math.floor(parentGasLimit / gasLimitAdjustmentFactor) - 1, 0);
10
- if (targetGasLimit > parentGasLimit) {
11
- const gasDiff = targetGasLimit - parentGasLimit;
12
- return parentGasLimit + Math.min(gasDiff, maxGasLimitDifference);
13
- }
14
- const gasDiff = parentGasLimit - targetGasLimit;
15
- return parentGasLimit - Math.min(gasDiff, maxGasLimitDifference);
16
- }
17
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/execution/builder/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,cAAsB,EAAE,cAAsB,EAAU;IAC1F,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAErG,IAAI,cAAc,GAAG,cAAc,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,cAAc,GAAG,cAAc,CAAC;QAChD,OAAO,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,GAAG,cAAc,CAAC;IAChD,OAAO,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;AAAA,CAClE"}
@@ -1,19 +0,0 @@
1
- /**
2
- * From https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md
3
- */
4
- const gasLimitAdjustmentFactor = 1024;
5
-
6
- /**
7
- * Calculates expected gas limit based on parent gas limit and target gas limit
8
- */
9
- export function getExpectedGasLimit(parentGasLimit: number, targetGasLimit: number): number {
10
- const maxGasLimitDifference = Math.max(Math.floor(parentGasLimit / gasLimitAdjustmentFactor) - 1, 0);
11
-
12
- if (targetGasLimit > parentGasLimit) {
13
- const gasDiff = targetGasLimit - parentGasLimit;
14
- return parentGasLimit + Math.min(gasDiff, maxGasLimitDifference);
15
- }
16
-
17
- const gasDiff = parentGasLimit - targetGasLimit;
18
- return parentGasLimit - Math.min(gasDiff, maxGasLimitDifference);
19
- }