@lodestar/state-transition 1.43.0-dev.e341cdc614 → 1.43.0-dev.f758dd5f38

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 (69) hide show
  1. package/lib/block/index.d.ts +2 -2
  2. package/lib/block/index.d.ts.map +1 -1
  3. package/lib/block/index.js +11 -4
  4. package/lib/block/index.js.map +1 -1
  5. package/lib/block/processParentExecutionPayload.d.ts +20 -0
  6. package/lib/block/processParentExecutionPayload.d.ts.map +1 -0
  7. package/lib/block/processParentExecutionPayload.js +100 -0
  8. package/lib/block/processParentExecutionPayload.js.map +1 -0
  9. package/lib/block/processWithdrawals.d.ts.map +1 -1
  10. package/lib/block/processWithdrawals.js +12 -4
  11. package/lib/block/processWithdrawals.js.map +1 -1
  12. package/lib/cache/epochCache.d.ts +3 -1
  13. package/lib/cache/epochCache.d.ts.map +1 -1
  14. package/lib/cache/epochCache.js +31 -13
  15. package/lib/cache/epochCache.js.map +1 -1
  16. package/lib/cache/epochTransitionCache.d.ts +5 -0
  17. package/lib/cache/epochTransitionCache.d.ts.map +1 -1
  18. package/lib/cache/epochTransitionCache.js +1 -0
  19. package/lib/cache/epochTransitionCache.js.map +1 -1
  20. package/lib/epoch/index.d.ts +3 -1
  21. package/lib/epoch/index.d.ts.map +1 -1
  22. package/lib/epoch/index.js +8 -1
  23. package/lib/epoch/index.js.map +1 -1
  24. package/lib/epoch/processPtcWindow.d.ts +11 -0
  25. package/lib/epoch/processPtcWindow.d.ts.map +1 -0
  26. package/lib/epoch/processPtcWindow.js +28 -0
  27. package/lib/epoch/processPtcWindow.js.map +1 -0
  28. package/lib/signatureSets/executionPayloadEnvelope.js +1 -1
  29. package/lib/signatureSets/executionPayloadEnvelope.js.map +1 -1
  30. package/lib/slot/upgradeStateToGloas.d.ts.map +1 -1
  31. package/lib/slot/upgradeStateToGloas.js +3 -1
  32. package/lib/slot/upgradeStateToGloas.js.map +1 -1
  33. package/lib/stateTransition.js +1 -1
  34. package/lib/stateTransition.js.map +1 -1
  35. package/lib/stateView/beaconStateView.d.ts +8 -10
  36. package/lib/stateView/beaconStateView.d.ts.map +1 -1
  37. package/lib/stateView/beaconStateView.js +31 -36
  38. package/lib/stateView/beaconStateView.js.map +1 -1
  39. package/lib/stateView/interface.d.ts +19 -11
  40. package/lib/stateView/interface.d.ts.map +1 -1
  41. package/lib/stateView/interface.js.map +1 -1
  42. package/lib/util/computeAnchorCheckpoint.d.ts +1 -1
  43. package/lib/util/computeAnchorCheckpoint.d.ts.map +1 -1
  44. package/lib/util/computeAnchorCheckpoint.js +6 -19
  45. package/lib/util/computeAnchorCheckpoint.js.map +1 -1
  46. package/lib/util/gloas.d.ts +8 -3
  47. package/lib/util/gloas.d.ts.map +1 -1
  48. package/lib/util/gloas.js +27 -1
  49. package/lib/util/gloas.js.map +1 -1
  50. package/package.json +8 -8
  51. package/src/block/index.ts +12 -4
  52. package/src/block/processParentExecutionPayload.ts +116 -0
  53. package/src/block/processWithdrawals.ts +12 -4
  54. package/src/cache/epochCache.ts +32 -30
  55. package/src/cache/epochTransitionCache.ts +7 -0
  56. package/src/epoch/index.ts +9 -0
  57. package/src/epoch/processPtcWindow.ts +38 -0
  58. package/src/signatureSets/executionPayloadEnvelope.ts +1 -1
  59. package/src/slot/upgradeStateToGloas.ts +5 -1
  60. package/src/stateTransition.ts +1 -1
  61. package/src/stateView/beaconStateView.ts +36 -47
  62. package/src/stateView/interface.ts +26 -14
  63. package/src/util/computeAnchorCheckpoint.ts +6 -19
  64. package/src/util/gloas.ts +50 -3
  65. package/lib/block/processExecutionPayloadEnvelope.d.ts +0 -9
  66. package/lib/block/processExecutionPayloadEnvelope.d.ts.map +0 -1
  67. package/lib/block/processExecutionPayloadEnvelope.js +0 -106
  68. package/lib/block/processExecutionPayloadEnvelope.js.map +0 -1
  69. package/src/block/processExecutionPayloadEnvelope.ts +0 -175
@@ -7,13 +7,13 @@ import { processBlockHeader } from "./processBlockHeader.js";
7
7
  import { processEth1Data } from "./processEth1Data.js";
8
8
  import { processExecutionPayload } from "./processExecutionPayload.js";
9
9
  import { processExecutionPayloadBid } from "./processExecutionPayloadBid.js";
10
- import { processExecutionPayloadEnvelope } from "./processExecutionPayloadEnvelope.js";
10
+ import { processParentExecutionPayload } from "./processParentExecutionPayload.js";
11
11
  import { processPayloadAttestation } from "./processPayloadAttestation.js";
12
12
  import { processRandao } from "./processRandao.js";
13
13
  import { processSyncAggregate } from "./processSyncCommittee.js";
14
14
  import { processWithdrawals } from "./processWithdrawals.js";
15
15
  import { ProcessBlockOpts } from "./types.js";
16
- export { processBlockHeader, processExecutionPayload, processRandao, processEth1Data, processSyncAggregate, processWithdrawals, processExecutionPayloadBid, processPayloadAttestation, processExecutionPayloadEnvelope, };
16
+ export { processBlockHeader, processExecutionPayload, processRandao, processEth1Data, processSyncAggregate, processWithdrawals, processExecutionPayloadBid, processPayloadAttestation, processParentExecutionPayload, };
17
17
  export * from "./externalData.js";
18
18
  export * from "./initiateValidatorExit.js";
19
19
  export * from "./isValidIndexedAttestation.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/block/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,WAAW,EAAE,kBAAkB,EAAkB,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAC,4BAA4B,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,EACL,yBAAyB,EAI1B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAC,iBAAiB,EAAyB,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,0BAA0B,EAAC,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAC,+BAA+B,EAAC,MAAM,sCAAsC,CAAC;AAErF,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAqB,MAAM,YAAY,CAAC;AAGhE,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,+BAA+B,GAChC,CAAC;AAEF,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AAEvC,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,yBAAyB,EAChC,KAAK,EAAE,WAAW,GAAG,kBAAkB,EACvC,YAAY,EAAE,iBAAiB,GAAG,gBAAgB,EAClD,IAAI,CAAC,EAAE,gBAAgB,EACvB,OAAO,CAAC,EAAE,4BAA4B,GAAG,IAAI,GAC5C,IAAI,CAoDN"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/block/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,WAAW,EAAE,kBAAkB,EAAkB,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAC,4BAA4B,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,EACL,yBAAyB,EAI1B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAC,iBAAiB,EAAyB,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,0BAA0B,EAAC,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EAAC,6BAA6B,EAAC,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAqB,MAAM,YAAY,CAAC;AAGhE,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,GAC9B,CAAC;AAEF,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AAEvC,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,yBAAyB,EAChC,KAAK,EAAE,WAAW,GAAG,kBAAkB,EACvC,YAAY,EAAE,iBAAiB,GAAG,gBAAgB,EAClD,IAAI,CAAC,EAAE,gBAAgB,EACvB,OAAO,CAAC,EAAE,4BAA4B,GAAG,IAAI,GAC5C,IAAI,CA4DN"}
@@ -6,15 +6,15 @@ import { processBlockHeader } from "./processBlockHeader.js";
6
6
  import { processEth1Data } from "./processEth1Data.js";
7
7
  import { processExecutionPayload } from "./processExecutionPayload.js";
8
8
  import { processExecutionPayloadBid } from "./processExecutionPayloadBid.js";
9
- import { processExecutionPayloadEnvelope } from "./processExecutionPayloadEnvelope.js";
10
9
  import { processOperations } from "./processOperations.js";
10
+ import { processParentExecutionPayload } from "./processParentExecutionPayload.js";
11
11
  import { processPayloadAttestation } from "./processPayloadAttestation.js";
12
12
  import { processRandao } from "./processRandao.js";
13
13
  import { processSyncAggregate } from "./processSyncCommittee.js";
14
14
  import { processWithdrawals } from "./processWithdrawals.js";
15
15
  import { ProposerRewardType } from "./types.js";
16
16
  // Spec tests
17
- export { processBlockHeader, processExecutionPayload, processRandao, processEth1Data, processSyncAggregate, processWithdrawals, processExecutionPayloadBid, processPayloadAttestation, processExecutionPayloadEnvelope, };
17
+ export { processBlockHeader, processExecutionPayload, processRandao, processEth1Data, processSyncAggregate, processWithdrawals, processExecutionPayloadBid, processPayloadAttestation, processParentExecutionPayload, };
18
18
  export * from "./externalData.js";
19
19
  export * from "./initiateValidatorExit.js";
20
20
  export * from "./isValidIndexedAttestation.js";
@@ -22,9 +22,14 @@ export * from "./processDepositRequest.js";
22
22
  export * from "./processOperations.js";
23
23
  export function processBlock(fork, state, block, externalData, opts, metrics) {
24
24
  const { verifySignatures = true } = opts ?? {};
25
+ // Apply the parent's deferred payload effects before everything else. Must run before
26
+ // processBlockHeader and processExecutionPayloadBid so subsequent steps see the updated state.
27
+ if (fork >= ForkSeq.gloas) {
28
+ processParentExecutionPayload(state, block);
29
+ }
25
30
  processBlockHeader(state, block);
26
31
  if (fork >= ForkSeq.gloas) {
27
- // After gloas, processWithdrawals does not take a payload parameter
32
+ // Parent payload's execution requests were already applied by processParentExecutionPayload above
28
33
  processWithdrawals(fork, state);
29
34
  }
30
35
  else if (fork >= ForkSeq.capella) {
@@ -33,7 +38,9 @@ export function processBlock(fork, state, block, externalData, opts, metrics) {
33
38
  }
34
39
  // The call to the process_execution_payload must happen before the call to the process_randao as the former depends
35
40
  // on the randao_mix computed with the reveal of the previous block.
36
- // TODO GLOAS: We call processExecutionPayload somewhere else post-gloas
41
+ // Post-gloas: process_execution_payload is not part of block processing. The parent's payload
42
+ // effects are applied earlier via processParentExecutionPayload, and each execution payload is
43
+ // verified out-of-band via verifyExecutionPayloadEnvelope when it arrives.
37
44
  if (fork < ForkSeq.gloas &&
38
45
  fork >= ForkSeq.bellatrix &&
39
46
  isExecutionEnabled(state, block)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/block/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/block/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { ForkPostGloas } from "@lodestar/params";
2
+ import { BeaconBlock, electra } from "@lodestar/types";
3
+ import { CachedBeaconStateGloas } from "../types.js";
4
+ /**
5
+ * Process parent execution payload effects as the first step of processBlock.
6
+ *
7
+ * Spec: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.5/specs/gloas/beacon-chain.md#new-process_parent_execution_payload
8
+ */
9
+ export declare function processParentExecutionPayload(state: CachedBeaconStateGloas, block: BeaconBlock<ForkPostGloas>): void;
10
+ /**
11
+ * Process the parent's execution requests, queue the builder payment, update payload availability,
12
+ * and update the latest block hash.
13
+ *
14
+ * Called from processParentExecutionPayload during block processing, and from the validator during
15
+ * block production before computing withdrawals.
16
+ *
17
+ * Spec: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.5/specs/gloas/beacon-chain.md#new-apply_parent_execution_payload
18
+ */
19
+ export declare function applyParentExecutionPayload(state: CachedBeaconStateGloas, requests: electra.ExecutionRequests): void;
20
+ //# sourceMappingURL=processParentExecutionPayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processParentExecutionPayload.d.ts","sourceRoot":"","sources":["../../src/block/processParentExecutionPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAA6C,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAC,WAAW,EAAE,OAAO,EAAM,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAMnD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,IAAI,CAqBpH;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,OAAO,CAAC,iBAAiB,GAAG,IAAI,CA4CpH"}
@@ -0,0 +1,100 @@
1
+ import { SLOTS_PER_EPOCH, SLOTS_PER_HISTORICAL_ROOT } from "@lodestar/params";
2
+ import { ssz } from "@lodestar/types";
3
+ import { byteArrayEquals, toRootHex } from "@lodestar/utils";
4
+ import { computeEpochAtSlot } from "../util/epoch.js";
5
+ import { processConsolidationRequest } from "./processConsolidationRequest.js";
6
+ import { getPendingValidatorPubkeys, processDepositRequest } from "./processDepositRequest.js";
7
+ import { processWithdrawalRequest } from "./processWithdrawalRequest.js";
8
+ /**
9
+ * Process parent execution payload effects as the first step of processBlock.
10
+ *
11
+ * Spec: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.5/specs/gloas/beacon-chain.md#new-process_parent_execution_payload
12
+ */
13
+ export function processParentExecutionPayload(state, block) {
14
+ const bid = block.body.signedExecutionPayloadBid.message;
15
+ const parentBid = state.latestExecutionPayloadBid;
16
+ const requests = block.body.parentExecutionRequests;
17
+ const isParentBlockFull = byteArrayEquals(bid.parentBlockHash, parentBid.blockHash);
18
+ if (!isParentBlockFull) {
19
+ // Parent was EMPTY -- no execution requests expected
20
+ assertEmptyExecutionRequests(requests);
21
+ return;
22
+ }
23
+ // Parent was FULL -- verify the bid commitment and apply the payload
24
+ const requestsRoot = ssz.electra.ExecutionRequests.hashTreeRoot(requests);
25
+ if (!byteArrayEquals(requestsRoot, parentBid.executionRequestsRoot)) {
26
+ throw new Error(`Parent execution requests root mismatch actual=${toRootHex(requestsRoot)} expected=${toRootHex(parentBid.executionRequestsRoot)}`);
27
+ }
28
+ applyParentExecutionPayload(state, requests);
29
+ }
30
+ /**
31
+ * Process the parent's execution requests, queue the builder payment, update payload availability,
32
+ * and update the latest block hash.
33
+ *
34
+ * Called from processParentExecutionPayload during block processing, and from the validator during
35
+ * block production before computing withdrawals.
36
+ *
37
+ * Spec: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.5/specs/gloas/beacon-chain.md#new-apply_parent_execution_payload
38
+ */
39
+ export function applyParentExecutionPayload(state, requests) {
40
+ const fork = state.config.getForkSeq(state.slot);
41
+ const parentBid = state.latestExecutionPayloadBid;
42
+ const parentSlot = parentBid.slot;
43
+ const parentEpoch = computeEpochAtSlot(parentSlot);
44
+ const currentEpoch = computeEpochAtSlot(state.slot);
45
+ // Process execution requests from parent's payload. The execution
46
+ // requests are processed at state.slot (child's slot), not the parent's slot.
47
+ if (requests.deposits.length > 0) {
48
+ const pendingValidatorPubkeys = getPendingValidatorPubkeys(state.config, state);
49
+ for (const deposit of requests.deposits) {
50
+ processDepositRequest(fork, state, deposit, pendingValidatorPubkeys);
51
+ }
52
+ }
53
+ for (const withdrawal of requests.withdrawals) {
54
+ processWithdrawalRequest(fork, state, withdrawal);
55
+ }
56
+ for (const consolidation of requests.consolidations) {
57
+ processConsolidationRequest(state, consolidation);
58
+ }
59
+ // Settle the builder payment
60
+ if (parentEpoch === currentEpoch) {
61
+ settleBuilderPayment(state, SLOTS_PER_EPOCH + (parentSlot % SLOTS_PER_EPOCH));
62
+ }
63
+ else if (parentEpoch === currentEpoch - 1) {
64
+ settleBuilderPayment(state, parentSlot % SLOTS_PER_EPOCH);
65
+ }
66
+ else if (parentBid.value > 0) {
67
+ // Parent is older than the previous epoch, its payment entry has been evicted from
68
+ // builder_pending_payments. Append the withdrawal directly.
69
+ state.builderPendingWithdrawals.push(ssz.gloas.BuilderPendingWithdrawal.toViewDU({
70
+ feeRecipient: parentBid.feeRecipient,
71
+ amount: parentBid.value,
72
+ builderIndex: parentBid.builderIndex,
73
+ }));
74
+ }
75
+ // Update parent payload availability and latest block hash
76
+ state.executionPayloadAvailability.set(parentSlot % SLOTS_PER_HISTORICAL_ROOT, true);
77
+ state.latestBlockHash = parentBid.blockHash;
78
+ }
79
+ /**
80
+ * Settle a builder payment at the given index: move its withdrawal (if any) to the
81
+ * pending withdrawals list and clear the payment slot.
82
+ *
83
+ * Spec: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.5/specs/gloas/beacon-chain.md#new-settle_builder_payment
84
+ */
85
+ function settleBuilderPayment(state, paymentIndex) {
86
+ if (paymentIndex >= state.builderPendingPayments.length) {
87
+ throw new Error(`Invalid builder payment index paymentIndex=${paymentIndex} limit=${state.builderPendingPayments.length}`);
88
+ }
89
+ const payment = state.builderPendingPayments.get(paymentIndex).clone();
90
+ if (payment.withdrawal.amount > 0) {
91
+ state.builderPendingWithdrawals.push(payment.withdrawal);
92
+ }
93
+ state.builderPendingPayments.set(paymentIndex, ssz.gloas.BuilderPendingPayment.defaultViewDU());
94
+ }
95
+ function assertEmptyExecutionRequests(requests) {
96
+ if (requests.deposits.length !== 0 || requests.withdrawals.length !== 0 || requests.consolidations.length !== 0) {
97
+ throw new Error("Parent execution requests must be empty when parent block is EMPTY");
98
+ }
99
+ }
100
+ //# sourceMappingURL=processParentExecutionPayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processParentExecutionPayload.js","sourceRoot":"","sources":["../../src/block/processParentExecutionPayload.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"processWithdrawals.d.ts","sourceRoot":"","sources":["../../src/block/processWithdrawals.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAOR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAA+B,OAAO,EAAM,MAAM,iBAAiB,CAAC;AAE3E,OAAO,EAAC,wBAAwB,EAAE,wBAAwB,EAAE,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAgBvG,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,wBAAwB,GAAG,wBAAwB,GAAG,sBAAsB,EACnF,OAAO,CAAC,EAAE,OAAO,CAAC,6BAA6B,GAC9C,IAAI,CA4FN;AAsRD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,wBAAwB,GAAG,wBAAwB,GAAG,sBAAsB,GAClF;IACD,mBAAmB,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;IAC1C,gCAAgC,EAAE,MAAM,CAAC;IACzC,gCAAgC,EAAE,MAAM,CAAC;IACzC,2BAA2B,EAAE,MAAM,CAAC;IACpC,4BAA4B,EAAE,MAAM,CAAC;CACtC,CAuFA"}
1
+ {"version":3,"file":"processWithdrawals.d.ts","sourceRoot":"","sources":["../../src/block/processWithdrawals.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAOR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAA+B,OAAO,EAAM,MAAM,iBAAiB,CAAC;AAG3E,OAAO,EAAC,wBAAwB,EAAE,wBAAwB,EAAE,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAgBvG,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,wBAAwB,GAAG,wBAAwB,GAAG,sBAAsB,EACnF,OAAO,CAAC,EAAE,OAAO,CAAC,6BAA6B,GAC9C,IAAI,CAmGN;AAsRD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,wBAAwB,GAAG,wBAAwB,GAAG,sBAAsB,GAClF;IACD,mBAAmB,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;IAC1C,gCAAgC,EAAE,MAAM,CAAC;IACzC,gCAAgC,EAAE,MAAM,CAAC;IACzC,2BAA2B,EAAE,MAAM,CAAC;IACpC,4BAA4B,EAAE,MAAM,CAAC;CACtC,CAuFA"}
@@ -1,12 +1,18 @@
1
1
  import { FAR_FUTURE_EPOCH, ForkSeq, MAX_BUILDERS_PER_WITHDRAWALS_SWEEP, MAX_EFFECTIVE_BALANCE, MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP, MAX_VALIDATORS_PER_WITHDRAWALS_SWEEP, MAX_WITHDRAWALS_PER_PAYLOAD, MIN_ACTIVATION_BALANCE, } from "@lodestar/params";
2
2
  import { ssz } from "@lodestar/types";
3
3
  import { byteArrayEquals, toRootHex } from "@lodestar/utils";
4
+ import { ZERO_HASH } from "../constants/index.js";
4
5
  import { convertBuilderIndexToValidatorIndex, convertValidatorIndexToBuilderIndex, isBuilderIndex, isParentBlockFull, } from "../util/gloas.js";
5
6
  import { decreaseBalance, getMaxEffectiveBalance, hasEth1WithdrawalCredential, hasExecutionWithdrawalCredential, isCapellaPayloadHeader, isPartiallyWithdrawableValidator, } from "../util/index.js";
6
7
  export function processWithdrawals(fork, state, payload) {
7
- // Return early if the parent block is empty
8
- if (fork >= ForkSeq.gloas && !isParentBlockFull(state)) {
9
- return;
8
+ // Return early if this is genesis block or the parent block is empty
9
+ if (fork >= ForkSeq.gloas) {
10
+ const stateGloas = state;
11
+ const isGenesisBlock = byteArrayEquals(stateGloas.latestBlockHash, ZERO_HASH);
12
+ const isParentBlockEmpty = !isParentBlockFull(stateGloas);
13
+ if (isGenesisBlock || isParentBlockEmpty) {
14
+ return;
15
+ }
10
16
  }
11
17
  // processedBuilderWithdrawalsCount is withdrawals coming from builder payment since gloas (EIP-7732)
12
18
  // processedPartialWithdrawalsCount is withdrawals coming from EL since electra (EIP-7002)
@@ -14,7 +20,9 @@ export function processWithdrawals(fork, state, payload) {
14
20
  // processedValidatorSweepCount is withdrawals coming from validator sweep
15
21
  const { expectedWithdrawals, processedBuilderWithdrawalsCount, processedPartialWithdrawalsCount, processedBuildersSweepCount, } = getExpectedWithdrawals(fork, state);
16
22
  const numWithdrawals = expectedWithdrawals.length;
17
- // After gloas, withdrawals are verified later in processExecutionPayloadEnvelope
23
+ // Pre-gloas verifies the payload's withdrawals against expectedWithdrawals here.
24
+ // Post-gloas, the payload arrives later as an envelope and that consistency check
25
+ // happens in verifyExecutionPayloadEnvelope against state.payloadExpectedWithdrawals.
18
26
  if (fork < ForkSeq.gloas) {
19
27
  if (payload === undefined) {
20
28
  throw Error("payload is required for pre-gloas processWithdrawals");
@@ -1 +1 @@
1
- {"version":3,"file":"processWithdrawals.js","sourceRoot":"","sources":["../../src/block/processWithdrawals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processWithdrawals.js","sourceRoot":"","sources":["../../src/block/processWithdrawals.ts"],"names":[],"mappings":"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"}
@@ -168,6 +168,7 @@ export declare class EpochCache {
168
168
  nextSyncCommitteeIndexed: SyncCommitteeCache;
169
169
  previousPayloadTimelinessCommittees: Uint32Array[];
170
170
  payloadTimelinessCommittees: Uint32Array[];
171
+ nextPayloadTimelinessCommittees: Uint32Array[];
171
172
  syncPeriod: SyncPeriod;
172
173
  epoch: Epoch;
173
174
  get nextEpoch(): Epoch;
@@ -200,6 +201,7 @@ export declare class EpochCache {
200
201
  nextSyncCommitteeIndexed: SyncCommitteeCache;
201
202
  previousPayloadTimelinessCommittees: Uint32Array[];
202
203
  payloadTimelinessCommittees: Uint32Array[];
204
+ nextPayloadTimelinessCommittees: Uint32Array[];
203
205
  epoch: Epoch;
204
206
  syncPeriod: SyncPeriod;
205
207
  });
@@ -229,7 +231,7 @@ export declare class EpochCache {
229
231
  /**
230
232
  * At fork boundary, this runs post-fork logic and it happens after `upgradeState*` is called.
231
233
  */
232
- finalProcessEpoch(state: CachedBeaconStateAllForks): void;
234
+ finalProcessEpoch(state: CachedBeaconStateAllForks, epochTransitionCache: EpochTransitionCache): void;
233
235
  beforeEpochTransition(): void;
234
236
  /**
235
237
  * Return the beacon committee at slot for index.
@@ -1 +1 @@
1
- {"version":3,"file":"epochCache.d.ts","sourceRoot":"","sources":["../../src/cache/epochCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"epochCache.d.ts","sourceRoot":"","sources":["../../src/cache/epochCache.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@ import { ATTESTATION_SUBNET_COUNT, DOMAIN_BEACON_PROPOSER, EFFECTIVE_BALANCE_INC
3
3
  import { LodestarError } from "@lodestar/utils";
4
4
  import { getTotalSlashingsByIncrement } from "../epoch/processSlashings.js";
5
5
  import { calculateDecisionRoot, calculateShufflingDecisionRoot, computeEpochShuffling, } from "../util/epochShuffling.js";
6
- import { computeActivationExitEpoch, computeEpochAtSlot, computePayloadTimelinessCommitteesForEpoch, computeProposers, computeSyncPeriodAtEpoch, getActivationChurnLimit, getChurnLimit, getSeed, isActiveValidator, isAggregatorFromCommitteeLength, } from "../util/index.js";
6
+ import { getPtcWindowEpochCacheData } from "../util/gloas.js";
7
+ import { computeActivationExitEpoch, computeEpochAtSlot, computeProposers, computeSyncPeriodAtEpoch, getActivationChurnLimit, getChurnLimit, getSeed, isActiveValidator, isAggregatorFromCommitteeLength, } from "../util/index.js";
7
8
  import { calculateCommitteeAssignments, getAttestingIndices, getBeaconCommittees, getIndexedAttestation, } from "../util/shuffling.js";
8
9
  import { computeBaseRewardPerIncrement, computeSyncParticipantReward } from "../util/syncCommittee.js";
9
10
  import { sumTargetUnslashedBalanceIncrements } from "../util/targetUnslashedBalance.js";
@@ -148,11 +149,12 @@ export class EpochCache {
148
149
  currentSyncCommitteeIndexed;
149
150
  /** TODO: Indexed SyncCommitteeCache */
150
151
  nextSyncCommitteeIndexed;
151
- // TODO GLOAS: See if we need to cache PTC for next epoch
152
152
  // PTC for previous epoch, required for slot N block validating slot N-1 attestations
153
153
  previousPayloadTimelinessCommittees;
154
154
  // PTC for current epoch, computed eagerly at epoch transition
155
155
  payloadTimelinessCommittees;
156
+ // PTC for next epoch, precomputed from the ptc window for future duty serving
157
+ nextPayloadTimelinessCommittees;
156
158
  // TODO: Helper stats
157
159
  syncPeriod;
158
160
  epoch;
@@ -188,6 +190,7 @@ export class EpochCache {
188
190
  this.nextSyncCommitteeIndexed = data.nextSyncCommitteeIndexed;
189
191
  this.previousPayloadTimelinessCommittees = data.previousPayloadTimelinessCommittees;
190
192
  this.payloadTimelinessCommittees = data.payloadTimelinessCommittees;
193
+ this.nextPayloadTimelinessCommittees = data.nextPayloadTimelinessCommittees;
191
194
  this.epoch = data.epoch;
192
195
  this.syncPeriod = data.syncPeriod;
193
196
  }
@@ -309,14 +312,13 @@ export class EpochCache {
309
312
  currentSyncCommitteeIndexed = new SyncCommitteeCacheEmpty();
310
313
  nextSyncCommitteeIndexed = new SyncCommitteeCacheEmpty();
311
314
  }
312
- // Compute PTC for all slots in the prev/current epoch
315
+ // Copy previous/current epoch PTC slices from state.ptcWindow once, then serve hot-path lookups from epochCtx.
313
316
  let previousPayloadTimelinessCommittees = [];
314
317
  let payloadTimelinessCommittees = [];
318
+ let nextPayloadTimelinessCommittees = [];
315
319
  if (currentEpoch >= config.GLOAS_FORK_EPOCH) {
316
- payloadTimelinessCommittees = computePayloadTimelinessCommitteesForEpoch(state, currentEpoch, currentShuffling.committees, effectiveBalanceIncrements);
317
- if (!isGenesis && previousEpoch >= config.GLOAS_FORK_EPOCH) {
318
- previousPayloadTimelinessCommittees = computePayloadTimelinessCommitteesForEpoch(state, previousEpoch, previousShuffling.committees, effectiveBalanceIncrements);
319
- }
320
+ ({ previousPayloadTimelinessCommittees, payloadTimelinessCommittees, nextPayloadTimelinessCommittees } =
321
+ getPtcWindowEpochCacheData(state));
320
322
  }
321
323
  // Precompute churnLimit for efficient initiateValidatorExit() during block proposing MUST be recompute everytime the
322
324
  // active validator indices set changes in size. Validators change active status only when:
@@ -377,6 +379,7 @@ export class EpochCache {
377
379
  nextSyncCommitteeIndexed,
378
380
  previousPayloadTimelinessCommittees,
379
381
  payloadTimelinessCommittees,
382
+ nextPayloadTimelinessCommittees,
380
383
  epoch: currentEpoch,
381
384
  syncPeriod: computeSyncPeriodAtEpoch(currentEpoch),
382
385
  });
@@ -422,6 +425,7 @@ export class EpochCache {
422
425
  nextSyncCommitteeIndexed: this.nextSyncCommitteeIndexed,
423
426
  previousPayloadTimelinessCommittees: this.previousPayloadTimelinessCommittees,
424
427
  payloadTimelinessCommittees: this.payloadTimelinessCommittees,
428
+ nextPayloadTimelinessCommittees: this.nextPayloadTimelinessCommittees,
425
429
  epoch: this.epoch,
426
430
  syncPeriod: this.syncPeriod,
427
431
  });
@@ -511,15 +515,26 @@ export class EpochCache {
511
515
  /**
512
516
  * At fork boundary, this runs post-fork logic and it happens after `upgradeState*` is called.
513
517
  */
514
- finalProcessEpoch(state) {
518
+ finalProcessEpoch(state, epochTransitionCache) {
515
519
  // this.epoch was updated at the end of afterProcessEpoch()
516
520
  const upcomingEpoch = this.epoch;
517
521
  const epochAfterUpcoming = upcomingEpoch + 1;
518
522
  this.proposersPrevEpoch = this.proposers;
519
523
  if (upcomingEpoch >= this.config.GLOAS_FORK_EPOCH) {
520
- // Shift and compute current epoch PTC eagerly for all slots
521
- this.previousPayloadTimelinessCommittees = this.payloadTimelinessCommittees;
522
- this.payloadTimelinessCommittees = computePayloadTimelinessCommitteesForEpoch(state, upcomingEpoch, this.currentShuffling.committees, this.effectiveBalanceIncrements);
524
+ if (epochTransitionCache.nextEpochPayloadTimelinessCommittees) {
525
+ // shift arrays from transition cache
526
+ this.previousPayloadTimelinessCommittees = this.payloadTimelinessCommittees;
527
+ this.payloadTimelinessCommittees = this.nextPayloadTimelinessCommittees;
528
+ this.nextPayloadTimelinessCommittees = epochTransitionCache.nextEpochPayloadTimelinessCommittees;
529
+ }
530
+ else {
531
+ // Fork boundary: processPtcWindow didn't run, read from freshly initialized state.ptcWindow
532
+ ({
533
+ previousPayloadTimelinessCommittees: this.previousPayloadTimelinessCommittees,
534
+ payloadTimelinessCommittees: this.payloadTimelinessCommittees,
535
+ nextPayloadTimelinessCommittees: this.nextPayloadTimelinessCommittees,
536
+ } = getPtcWindowEpochCacheData(state));
537
+ }
523
538
  }
524
539
  if (upcomingEpoch >= this.config.FULU_FORK_EPOCH) {
525
540
  // Populate proposer cache with lookahead from state
@@ -799,11 +814,14 @@ export class EpochCache {
799
814
  if (epoch < this.config.GLOAS_FORK_EPOCH) {
800
815
  throw new Error("Payload Timeliness Committee is not available before gloas fork");
801
816
  }
817
+ if (epoch === this.epoch - 1) {
818
+ return this.previousPayloadTimelinessCommittees[slot % SLOTS_PER_EPOCH];
819
+ }
802
820
  if (epoch === this.epoch) {
803
821
  return this.payloadTimelinessCommittees[slot % SLOTS_PER_EPOCH];
804
822
  }
805
- if (epoch === this.epoch - 1 && this.previousPayloadTimelinessCommittees.length > 0) {
806
- return this.previousPayloadTimelinessCommittees[slot % SLOTS_PER_EPOCH];
823
+ if (epoch === this.epoch + 1) {
824
+ return this.nextPayloadTimelinessCommittees[slot % SLOTS_PER_EPOCH];
807
825
  }
808
826
  throw new Error(`Payload Timeliness Committee is not available for slot=${slot}`);
809
827
  }
@@ -1 +1 @@
1
- {"version":3,"file":"epochCache.js","sourceRoot":"","sources":["../../src/cache/epochCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"epochCache.js","sourceRoot":"","sources":["../../src/cache/epochCache.ts"],"names":[],"mappings":"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"}