@lodestar/state-transition 1.48.0-dev.605fa5a360 → 1.48.0-dev.60b5607f3a

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 (66) hide show
  1. package/lib/block/index.d.ts.map +1 -1
  2. package/lib/block/index.js +44 -13
  3. package/lib/block/index.js.map +1 -1
  4. package/lib/block/processExecutionPayloadBid.d.ts +2 -2
  5. package/lib/block/processExecutionPayloadBid.d.ts.map +1 -1
  6. package/lib/block/processExecutionPayloadBid.js +0 -2
  7. package/lib/block/processExecutionPayloadBid.js.map +1 -1
  8. package/lib/block/processOperations.d.ts.map +1 -1
  9. package/lib/block/processOperations.js +62 -33
  10. package/lib/block/processOperations.js.map +1 -1
  11. package/lib/block/processParentExecutionPayload.d.ts.map +1 -1
  12. package/lib/block/processParentExecutionPayload.js +2 -16
  13. package/lib/block/processParentExecutionPayload.js.map +1 -1
  14. package/lib/block/processPayloadAttestation.d.ts +1 -1
  15. package/lib/block/processPayloadAttestation.d.ts.map +1 -1
  16. package/lib/block/processPayloadAttestation.js +2 -2
  17. package/lib/block/processPayloadAttestation.js.map +1 -1
  18. package/lib/block/types.d.ts +30 -0
  19. package/lib/block/types.d.ts.map +1 -1
  20. package/lib/block/types.js +32 -0
  21. package/lib/block/types.js.map +1 -1
  22. package/lib/epoch/processPtcWindow.js +1 -1
  23. package/lib/epoch/processPtcWindow.js.map +1 -1
  24. package/lib/index.d.ts +1 -1
  25. package/lib/index.d.ts.map +1 -1
  26. package/lib/index.js +1 -1
  27. package/lib/index.js.map +1 -1
  28. package/lib/metrics.d.ts +7 -1
  29. package/lib/metrics.d.ts.map +1 -1
  30. package/lib/metrics.js +12 -1
  31. package/lib/metrics.js.map +1 -1
  32. package/lib/rewards/blockRewards.d.ts.map +1 -1
  33. package/lib/rewards/blockRewards.js +1 -3
  34. package/lib/rewards/blockRewards.js.map +1 -1
  35. package/lib/signatureSets/index.d.ts.map +1 -1
  36. package/lib/signatureSets/index.js +8 -0
  37. package/lib/signatureSets/index.js.map +1 -1
  38. package/lib/slot/upgradeStateToGloas.js +1 -1
  39. package/lib/slot/upgradeStateToGloas.js.map +1 -1
  40. package/lib/stateView/beaconStateView.d.ts +4 -0
  41. package/lib/stateView/beaconStateView.d.ts.map +1 -1
  42. package/lib/stateView/beaconStateView.js +9 -0
  43. package/lib/stateView/beaconStateView.js.map +1 -1
  44. package/lib/stateView/interface.d.ts +1 -0
  45. package/lib/stateView/interface.d.ts.map +1 -1
  46. package/lib/stateView/interface.js.map +1 -1
  47. package/lib/stateView/nativeBeaconStateView.d.ts +1 -0
  48. package/lib/stateView/nativeBeaconStateView.d.ts.map +1 -1
  49. package/lib/stateView/nativeBeaconStateView.js +3 -0
  50. package/lib/stateView/nativeBeaconStateView.js.map +1 -1
  51. package/package.json +8 -8
  52. package/src/block/index.ts +53 -17
  53. package/src/block/processExecutionPayloadBid.ts +2 -5
  54. package/src/block/processOperations.ts +63 -45
  55. package/src/block/processParentExecutionPayload.ts +2 -27
  56. package/src/block/processPayloadAttestation.ts +3 -2
  57. package/src/block/types.ts +32 -0
  58. package/src/epoch/processPtcWindow.ts +1 -1
  59. package/src/index.ts +1 -1
  60. package/src/metrics.ts +13 -2
  61. package/src/rewards/blockRewards.ts +1 -3
  62. package/src/signatureSets/index.ts +17 -3
  63. package/src/slot/upgradeStateToGloas.ts +1 -1
  64. package/src/stateView/beaconStateView.ts +12 -0
  65. package/src/stateView/interface.ts +1 -0
  66. package/src/stateView/nativeBeaconStateView.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"nativeBeaconStateView.js","sourceRoot":"","sources":["../../src/stateView/nativeBeaconStateView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nativeBeaconStateView.js","sourceRoot":"","sources":["../../src/stateView/nativeBeaconStateView.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.48.0-dev.605fa5a360",
14
+ "version": "1.48.0-dev.60b5607f3a",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -68,16 +68,16 @@
68
68
  "@chainsafe/as-sha256": "^1.2.5",
69
69
  "@chainsafe/lodestar-z": "catalog:",
70
70
  "@chainsafe/persistent-merkle-tree": "^1.3.1",
71
- "@chainsafe/ssz": "^1.6.3",
71
+ "@chainsafe/ssz": "^1.7.0",
72
72
  "@chainsafe/swap-or-not-shuffle": "^1.2.1",
73
- "@lodestar/config": "^1.48.0-dev.605fa5a360",
74
- "@lodestar/params": "^1.48.0-dev.605fa5a360",
75
- "@lodestar/types": "^1.48.0-dev.605fa5a360",
76
- "@lodestar/utils": "^1.48.0-dev.605fa5a360",
73
+ "@lodestar/config": "^1.48.0-dev.60b5607f3a",
74
+ "@lodestar/params": "^1.48.0-dev.60b5607f3a",
75
+ "@lodestar/types": "^1.48.0-dev.60b5607f3a",
76
+ "@lodestar/utils": "^1.48.0-dev.60b5607f3a",
77
77
  "@vekexasia/bigint-buffer2": "^1.1.1"
78
78
  },
79
79
  "devDependencies": {
80
- "@lodestar/api": "^1.48.0-dev.605fa5a360"
80
+ "@lodestar/api": "^1.48.0-dev.60b5607f3a"
81
81
  },
82
82
  "keywords": [
83
83
  "ethereum",
@@ -85,5 +85,5 @@
85
85
  "beacon",
86
86
  "blockchain"
87
87
  ],
88
- "gitHead": "359128416c62551caa3a53a1dcd5dbe7caa195a9"
88
+ "gitHead": "4ae22bbd6ea045f2c27c6ab75cca640ba9c029f1"
89
89
  }
@@ -20,7 +20,7 @@ import {processPayloadAttestation} from "./processPayloadAttestation.js";
20
20
  import {processRandao} from "./processRandao.js";
21
21
  import {processSyncAggregate} from "./processSyncCommittee.js";
22
22
  import {processWithdrawals} from "./processWithdrawals.js";
23
- import {ProcessBlockOpts, ProposerRewardType} from "./types.js";
23
+ import {BlockProcessStep, ProcessBlockOpts, ProposerRewardType} from "./types.js";
24
24
 
25
25
  // Spec tests
26
26
  export {
@@ -53,24 +53,38 @@ export function processBlock(
53
53
  ): void {
54
54
  const {verifySignatures = true} = opts ?? {};
55
55
 
56
+ // Capture the parent block's slot before processBlockHeader overwrites latestBlockHeader
57
+ const parentSlot: Slot | null =
58
+ fork >= ForkSeq.gloas ? (state as CachedBeaconStateGloas).latestBlockHeader.slot : null;
59
+
56
60
  // Apply the parent's deferred payload effects before everything else. Must run before
57
61
  // processBlockHeader and processExecutionPayloadBid so subsequent steps see the updated state.
58
62
  if (fork >= ForkSeq.gloas) {
63
+ const timer = metrics?.processBlockStepTime.startTimer({step: BlockProcessStep.processParentExecutionPayload});
59
64
  processParentExecutionPayload(state as CachedBeaconStateGloas, block as BeaconBlock<ForkPostGloas>);
65
+ timer?.();
60
66
  }
61
67
 
62
- processBlockHeader(state, block);
68
+ {
69
+ const timer = metrics?.processBlockStepTime.startTimer({step: BlockProcessStep.processBlockHeader});
70
+ processBlockHeader(state, block);
71
+ timer?.();
72
+ }
63
73
 
64
- if (fork >= ForkSeq.gloas) {
65
- // Parent payload's execution requests were already applied by processParentExecutionPayload above
66
- processWithdrawals(fork, state as CachedBeaconStateGloas);
67
- } else if (fork >= ForkSeq.capella) {
68
- const fullOrBlindedPayload = getFullOrBlindedPayload(block);
69
- processWithdrawals(
70
- fork,
71
- state as CachedBeaconStateCapella,
72
- fullOrBlindedPayload as capella.FullOrBlindedExecutionPayload
73
- );
74
+ if (fork >= ForkSeq.capella) {
75
+ const timer = metrics?.processBlockStepTime.startTimer({step: BlockProcessStep.processWithdrawals});
76
+ if (fork >= ForkSeq.gloas) {
77
+ // Parent payload's execution requests were already applied by processParentExecutionPayload above
78
+ processWithdrawals(fork, state as CachedBeaconStateGloas);
79
+ } else {
80
+ const fullOrBlindedPayload = getFullOrBlindedPayload(block);
81
+ processWithdrawals(
82
+ fork,
83
+ state as CachedBeaconStateCapella,
84
+ fullOrBlindedPayload as capella.FullOrBlindedExecutionPayload
85
+ );
86
+ }
87
+ timer?.();
74
88
  }
75
89
 
76
90
  // The call to the process_execution_payload must happen before the call to the process_randao as the former depends
@@ -83,26 +97,48 @@ export function processBlock(
83
97
  fork >= ForkSeq.bellatrix &&
84
98
  isExecutionEnabled(state as CachedBeaconStateBellatrix, block)
85
99
  ) {
100
+ const timer = metrics?.processBlockStepTime.startTimer({step: BlockProcessStep.processExecutionPayload});
86
101
  processExecutionPayload(fork, state as CachedBeaconStateBellatrix, block.body, externalData);
102
+ timer?.();
87
103
  }
88
104
 
89
- let parentSlot: Slot | null = null;
90
105
  if (fork >= ForkSeq.gloas) {
91
- parentSlot = processExecutionPayloadBid(
106
+ const timer = metrics?.processBlockStepTime.startTimer({step: BlockProcessStep.processExecutionPayloadBid});
107
+ processExecutionPayloadBid(
92
108
  state as CachedBeaconStateGloas,
93
109
  (block as BeaconBlock<ForkPostGloas>).body.signedExecutionPayloadBid
94
110
  );
111
+ timer?.();
112
+ }
113
+
114
+ {
115
+ const timer = metrics?.processBlockStepTime.startTimer({step: BlockProcessStep.processRandao});
116
+ processRandao(state, block, verifySignatures);
117
+ timer?.();
118
+ }
119
+
120
+ {
121
+ const timer = metrics?.processBlockStepTime.startTimer({step: BlockProcessStep.processEth1Data});
122
+ processEth1Data(state, block.body.eth1Data);
123
+ timer?.();
124
+ }
125
+
126
+ {
127
+ const timer = metrics?.processBlockStepTime.startTimer({step: BlockProcessStep.processOperations});
128
+ processOperations(fork, state, block.body, parentSlot, opts, metrics);
129
+ timer?.();
95
130
  }
96
131
 
97
- processRandao(state, block, verifySignatures);
98
- processEth1Data(state, block.body.eth1Data);
99
- processOperations(fork, state, block.body, parentSlot, opts, metrics);
100
132
  if (fork >= ForkSeq.altair) {
133
+ const timer = metrics?.processBlockStepTime.startTimer({step: BlockProcessStep.processSyncAggregate});
101
134
  processSyncAggregate(state, block as altair.BeaconBlock, verifySignatures);
135
+ timer?.();
102
136
  }
103
137
 
104
138
  if (fork >= ForkSeq.deneb) {
139
+ const timer = metrics?.processBlockStepTime.startTimer({step: BlockProcessStep.processBlobKzgCommitments});
105
140
  processBlobKzgCommitments(externalData);
141
+ timer?.();
106
142
  // Only throw PreData so beacon can also sync/process blocks optimistically
107
143
  // and let forkChoice handle it
108
144
  if (externalData.dataAvailabilityStatus === DataAvailabilityStatus.PreData) {
@@ -5,7 +5,7 @@ import {
5
5
  PAYLOAD_BUILDER_VERSION,
6
6
  SLOTS_PER_EPOCH,
7
7
  } from "@lodestar/params";
8
- import {Slot, gloas, heze, ssz} from "@lodestar/types";
8
+ import {gloas, heze, ssz} from "@lodestar/types";
9
9
  import {byteArrayEquals, toHex, toRootHex} from "@lodestar/utils";
10
10
  import {G2_POINT_AT_INFINITY} from "../constants/constants.js";
11
11
  import {getExecutionPayloadBidSigningRoot} from "../signatureSets/executionPayloadBid.js";
@@ -22,7 +22,7 @@ import {
22
22
  export function processExecutionPayloadBid(
23
23
  state: CachedBeaconStateGloas | CachedBeaconStateHeze,
24
24
  signedBid: gloas.SignedExecutionPayloadBid
25
- ): Slot {
25
+ ): void {
26
26
  const bid = signedBid.message;
27
27
  const {builderIndex, value: amount} = bid;
28
28
 
@@ -114,14 +114,11 @@ export function processExecutionPayloadBid(
114
114
  state.builderPendingPayments.set(SLOTS_PER_EPOCH + (bid.slot % SLOTS_PER_EPOCH), pendingPaymentView);
115
115
  }
116
116
 
117
- const parentSlot = state.latestExecutionPayloadBid.slot;
118
117
  if (state.config.getForkSeq(state.slot) >= ForkSeq.heze) {
119
118
  state.latestExecutionPayloadBid = ssz.heze.ExecutionPayloadBid.toViewDU(bid as heze.ExecutionPayloadBid);
120
119
  } else {
121
120
  state.latestExecutionPayloadBid = ssz.gloas.ExecutionPayloadBid.toViewDU(bid);
122
121
  }
123
-
124
- return parentSlot;
125
122
  }
126
123
 
127
124
  function verifyExecutionPayloadBidSignature(
@@ -1,12 +1,4 @@
1
- import {
2
- ForkSeq,
3
- MAX_ATTESTATIONS_ELECTRA,
4
- MAX_ATTESTER_SLASHINGS_ELECTRA,
5
- MAX_BLS_TO_EXECUTION_CHANGES,
6
- MAX_PAYLOAD_ATTESTATIONS,
7
- MAX_PROPOSER_SLASHINGS,
8
- MAX_VOLUNTARY_EXITS,
9
- } from "@lodestar/params";
1
+ import {ForkSeq} from "@lodestar/params";
10
2
  import {BeaconBlockBody, Slot, capella, electra, gloas} from "@lodestar/types";
11
3
  import {BeaconStateTransitionMetrics} from "../metrics.js";
12
4
  import {
@@ -26,7 +18,7 @@ import {processPayloadAttestation} from "./processPayloadAttestation.js";
26
18
  import {processProposerSlashing} from "./processProposerSlashing.js";
27
19
  import {processVoluntaryExit} from "./processVoluntaryExit.js";
28
20
  import {processWithdrawalRequest} from "./processWithdrawalRequest.js";
29
- import {ProcessBlockOpts} from "./types.js";
21
+ import {ProcessBlockOpts, ProcessOperationsStep} from "./types.js";
30
22
 
31
23
  export {
32
24
  processProposerSlashing,
@@ -48,10 +40,6 @@ export function processOperations(
48
40
  opts: ProcessBlockOpts = {verifySignatures: true},
49
41
  metrics?: BeaconStateTransitionMetrics | null
50
42
  ): void {
51
- if (fork >= ForkSeq.gloas) {
52
- assertGloasOperationLimits(body as gloas.BeaconBlockBody);
53
- }
54
-
55
43
  // verify that outstanding deposits are processed up to the maximum number of deposits.
56
44
  // From Fulu the eth1 bridge deposit mechanism was removed, so blocks must not contain any deposits.
57
45
  const maxDeposits = fork >= ForkSeq.fulu ? 0 : getEth1DepositCount(state);
@@ -61,64 +49,94 @@ export function processOperations(
61
49
  );
62
50
  }
63
51
 
64
- for (const proposerSlashing of body.proposerSlashings) {
65
- processProposerSlashing(fork, state, proposerSlashing, opts.verifySignatures);
52
+ {
53
+ const timer = metrics?.processOperationsStepTime.startTimer({step: ProcessOperationsStep.processProposerSlashing});
54
+ for (const proposerSlashing of body.proposerSlashings) {
55
+ processProposerSlashing(fork, state, proposerSlashing, opts.verifySignatures);
56
+ }
57
+ timer?.();
66
58
  }
67
- for (const attesterSlashing of body.attesterSlashings) {
68
- processAttesterSlashing(fork, state, attesterSlashing, opts.verifySignatures);
59
+
60
+ {
61
+ const timer = metrics?.processOperationsStepTime.startTimer({step: ProcessOperationsStep.processAttesterSlashing});
62
+ for (const attesterSlashing of body.attesterSlashings) {
63
+ processAttesterSlashing(fork, state, attesterSlashing, opts.verifySignatures);
64
+ }
65
+ timer?.();
69
66
  }
70
67
 
71
- processAttestations(fork, state, body.attestations, parentSlot, opts.verifySignatures, metrics);
68
+ {
69
+ const timer = metrics?.processOperationsStepTime.startTimer({step: ProcessOperationsStep.processAttestations});
70
+ processAttestations(fork, state, body.attestations, parentSlot, opts.verifySignatures, metrics);
71
+ timer?.();
72
+ }
72
73
 
73
- for (const deposit of body.deposits) {
74
- processDeposit(fork, state, deposit);
74
+ {
75
+ const timer = metrics?.processOperationsStepTime.startTimer({step: ProcessOperationsStep.processDeposit});
76
+ for (const deposit of body.deposits) {
77
+ processDeposit(fork, state, deposit);
78
+ }
79
+ timer?.();
75
80
  }
76
81
 
77
- for (const voluntaryExit of body.voluntaryExits) {
78
- processVoluntaryExit(fork, state, voluntaryExit, opts.verifySignatures);
82
+ {
83
+ const timer = metrics?.processOperationsStepTime.startTimer({step: ProcessOperationsStep.processVoluntaryExit});
84
+ for (const voluntaryExit of body.voluntaryExits) {
85
+ processVoluntaryExit(fork, state, voluntaryExit, opts.verifySignatures);
86
+ }
87
+ timer?.();
79
88
  }
80
89
 
81
90
  if (fork >= ForkSeq.capella) {
91
+ const timer = metrics?.processOperationsStepTime.startTimer({
92
+ step: ProcessOperationsStep.processBlsToExecutionChange,
93
+ });
82
94
  for (const blsToExecutionChange of (body as capella.BeaconBlockBody).blsToExecutionChanges) {
83
95
  processBlsToExecutionChange(state as CachedBeaconStateCapella, blsToExecutionChange);
84
96
  }
97
+ timer?.();
85
98
  }
86
99
 
87
100
  if (fork >= ForkSeq.electra && fork < ForkSeq.gloas) {
88
101
  const stateElectra = state as CachedBeaconStateElectra;
89
102
  const bodyElectra = body as electra.BeaconBlockBody;
90
103
 
91
- for (const depositRequest of bodyElectra.executionRequests.deposits) {
92
- processDepositRequest(fork, stateElectra, depositRequest);
104
+ {
105
+ const timer = metrics?.processOperationsStepTime.startTimer({step: ProcessOperationsStep.processDepositRequest});
106
+ for (const depositRequest of bodyElectra.executionRequests.deposits) {
107
+ processDepositRequest(fork, stateElectra, depositRequest);
108
+ }
109
+ timer?.();
93
110
  }
94
111
 
95
- for (const elWithdrawalRequest of bodyElectra.executionRequests.withdrawals) {
96
- processWithdrawalRequest(fork, stateElectra, elWithdrawalRequest);
112
+ {
113
+ const timer = metrics?.processOperationsStepTime.startTimer({
114
+ step: ProcessOperationsStep.processWithdrawalRequest,
115
+ });
116
+ for (const elWithdrawalRequest of bodyElectra.executionRequests.withdrawals) {
117
+ processWithdrawalRequest(fork, stateElectra, elWithdrawalRequest);
118
+ }
119
+ timer?.();
97
120
  }
98
121
 
99
- for (const elConsolidationRequest of bodyElectra.executionRequests.consolidations) {
100
- processConsolidationRequest(stateElectra, elConsolidationRequest);
122
+ {
123
+ const timer = metrics?.processOperationsStepTime.startTimer({
124
+ step: ProcessOperationsStep.processConsolidationRequest,
125
+ });
126
+ for (const elConsolidationRequest of bodyElectra.executionRequests.consolidations) {
127
+ processConsolidationRequest(stateElectra, elConsolidationRequest);
128
+ }
129
+ timer?.();
101
130
  }
102
131
  }
103
132
 
104
133
  if (fork >= ForkSeq.gloas) {
134
+ const timer = metrics?.processOperationsStepTime.startTimer({
135
+ step: ProcessOperationsStep.processPayloadAttestation,
136
+ });
105
137
  for (const payloadAttestation of (body as gloas.BeaconBlockBody).payloadAttestations) {
106
- processPayloadAttestation(state as CachedBeaconStateGloas, payloadAttestation);
138
+ processPayloadAttestation(state as CachedBeaconStateGloas, payloadAttestation, opts.verifySignatures);
107
139
  }
108
- }
109
- }
110
-
111
- function assertGloasOperationLimits(body: gloas.BeaconBlockBody): void {
112
- assertMaxLength("proposerSlashings", body.proposerSlashings.length, MAX_PROPOSER_SLASHINGS);
113
- assertMaxLength("attesterSlashings", body.attesterSlashings.length, MAX_ATTESTER_SLASHINGS_ELECTRA);
114
- assertMaxLength("attestations", body.attestations.length, MAX_ATTESTATIONS_ELECTRA);
115
- assertMaxLength("voluntaryExits", body.voluntaryExits.length, MAX_VOLUNTARY_EXITS);
116
- assertMaxLength("blsToExecutionChanges", body.blsToExecutionChanges.length, MAX_BLS_TO_EXECUTION_CHANGES);
117
- assertMaxLength("payloadAttestations", body.payloadAttestations.length, MAX_PAYLOAD_ATTESTATIONS);
118
- }
119
-
120
- function assertMaxLength(name: string, length: number, limit: number): void {
121
- if (length > limit) {
122
- throw new Error(`Block contains too many ${name}: count=${length} limit=${limit}`);
140
+ timer?.();
123
141
  }
124
142
  }
@@ -1,12 +1,4 @@
1
- import {
2
- ForkPostGloas,
3
- MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD,
4
- MAX_BUILDER_EXIT_REQUESTS_PER_PAYLOAD,
5
- MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD,
6
- MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD,
7
- SLOTS_PER_EPOCH,
8
- SLOTS_PER_HISTORICAL_ROOT,
9
- } from "@lodestar/params";
1
+ import {ForkPostGloas, SLOTS_PER_EPOCH, SLOTS_PER_HISTORICAL_ROOT} from "@lodestar/params";
10
2
  import {BeaconBlock, gloas, ssz} from "@lodestar/types";
11
3
  import {byteArrayEquals, toRootHex} from "@lodestar/utils";
12
4
  import {CachedBeaconStateGloas} from "../types.js";
@@ -55,11 +47,9 @@ export function processParentExecutionPayload(state: CachedBeaconStateGloas, blo
55
47
  * Spec: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.6/specs/gloas/beacon-chain.md#new-apply_parent_execution_payload
56
48
  */
57
49
  export function applyParentExecutionPayload(state: CachedBeaconStateGloas, requests: gloas.ExecutionRequests): void {
58
- assertExecutionRequestsWithinLimits(requests);
59
-
60
50
  const fork = state.config.getForkSeq(state.slot);
61
51
  const parentBid = state.latestExecutionPayloadBid;
62
- const parentSlot = parentBid.slot;
52
+ const parentSlot = state.latestBlockHeader.slot;
63
53
  const parentEpoch = computeEpochAtSlot(parentSlot);
64
54
  const currentEpoch = computeEpochAtSlot(state.slot);
65
55
 
@@ -126,21 +116,6 @@ function settleBuilderPayment(state: CachedBeaconStateGloas, paymentIndex: numbe
126
116
  state.builderPendingPayments.set(paymentIndex, ssz.gloas.BuilderPendingPayment.defaultViewDU());
127
117
  }
128
118
 
129
- function assertExecutionRequestsWithinLimits(requests: gloas.ExecutionRequests): void {
130
- assertMaxLength("withdrawals", requests.withdrawals.length, MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD);
131
- assertMaxLength("consolidations", requests.consolidations.length, MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD);
132
- // New in GLOAS:EIP8282
133
- assertMaxLength("builderDeposits", requests.builderDeposits.length, MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD);
134
- // New in GLOAS:EIP8282
135
- assertMaxLength("builderExits", requests.builderExits.length, MAX_BUILDER_EXIT_REQUESTS_PER_PAYLOAD);
136
- }
137
-
138
- function assertMaxLength(name: string, length: number, limit: number): void {
139
- if (length > limit) {
140
- throw new Error(`Too many parent execution request ${name} count=${length} limit=${limit}`);
141
- }
142
- }
143
-
144
119
  function assertEmptyExecutionRequests(requests: gloas.ExecutionRequests): void {
145
120
  if (
146
121
  requests.deposits.length !== 0 ||
@@ -5,7 +5,8 @@ import {isValidIndexedPayloadAttestation} from "./isValidIndexedPayloadAttestati
5
5
 
6
6
  export function processPayloadAttestation(
7
7
  state: CachedBeaconStateGloas,
8
- payloadAttestation: gloas.PayloadAttestation
8
+ payloadAttestation: gloas.PayloadAttestation,
9
+ verifySignature = true
9
10
  ): void {
10
11
  const data = payloadAttestation.data;
11
12
 
@@ -19,7 +20,7 @@ export function processPayloadAttestation(
19
20
 
20
21
  const indexedPayloadAttestation = state.epochCtx.getIndexedPayloadAttestation(data.slot, payloadAttestation);
21
22
 
22
- if (!isValidIndexedPayloadAttestation(state, indexedPayloadAttestation, true)) {
23
+ if (!isValidIndexedPayloadAttestation(state, indexedPayloadAttestation, verifySignature)) {
23
24
  throw Error("Invalid payload attestation");
24
25
  }
25
26
  }
@@ -7,3 +7,35 @@ export enum ProposerRewardType {
7
7
  syncAggregate = "sync_aggregate",
8
8
  slashing = "slashing",
9
9
  }
10
+
11
+ /**
12
+ * Steps of `processBlock()` tracked in metrics
13
+ */
14
+ export enum BlockProcessStep {
15
+ processParentExecutionPayload = "processParentExecutionPayload",
16
+ processBlockHeader = "processBlockHeader",
17
+ processWithdrawals = "processWithdrawals",
18
+ processExecutionPayload = "processExecutionPayload",
19
+ processExecutionPayloadBid = "processExecutionPayloadBid",
20
+ processRandao = "processRandao",
21
+ processEth1Data = "processEth1Data",
22
+ processOperations = "processOperations",
23
+ processSyncAggregate = "processSyncAggregate",
24
+ processBlobKzgCommitments = "processBlobKzgCommitments",
25
+ }
26
+
27
+ /**
28
+ * Steps of `processOperations()` tracked in metrics
29
+ */
30
+ export enum ProcessOperationsStep {
31
+ processProposerSlashing = "processProposerSlashing",
32
+ processAttesterSlashing = "processAttesterSlashing",
33
+ processAttestations = "processAttestations",
34
+ processDeposit = "processDeposit",
35
+ processVoluntaryExit = "processVoluntaryExit",
36
+ processBlsToExecutionChange = "processBlsToExecutionChange",
37
+ processDepositRequest = "processDepositRequest",
38
+ processWithdrawalRequest = "processWithdrawalRequest",
39
+ processConsolidationRequest = "processConsolidationRequest",
40
+ processPayloadAttestation = "processPayloadAttestation",
41
+ }
@@ -30,7 +30,7 @@ export function processPtcWindow(state: CachedBeaconStateGloas, cache: EpochTran
30
30
 
31
31
  // Write shifted window to state: current(N) + next(N+1) + newlyComputed(N+2)
32
32
  // From the perspective of upcoming epoch N+1, this is previous + current + next
33
- state.ptcWindow = ssz.gloas.PtcWindow.toViewDU([
33
+ state.ptcWindow = ssz.gloas.PayloadTimelinessCommitteeWindow.toViewDU([
34
34
  ...state.epochCtx.payloadTimelinessCommittees,
35
35
  ...state.epochCtx.nextPayloadTimelinessCommittees,
36
36
  ...newNextPayloadTimelinessCommittees,
package/src/index.ts CHANGED
@@ -13,7 +13,7 @@ export {
13
13
  } from "./block/processVoluntaryExit.js";
14
14
  // Withdrawals for new blocks
15
15
  export {getExpectedWithdrawals} from "./block/processWithdrawals.js";
16
- export {ProposerRewardType} from "./block/types.js";
16
+ export {BlockProcessStep, ProcessOperationsStep, ProposerRewardType} from "./block/types.js";
17
17
  export {
18
18
  type EffectiveBalanceIncrements,
19
19
  getEffectiveBalanceIncrementsWithLen,
package/src/metrics.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import {ForkName} from "@lodestar/params";
2
2
  import {MetricsRegister} from "@lodestar/utils";
3
- import {ProposerRewardType} from "./block/types.js";
3
+ import {BlockProcessStep, ProcessOperationsStep, ProposerRewardType} from "./block/types.js";
4
4
  import {EpochTransitionStep} from "./epoch/index.js";
5
5
  import {StateCloneSource, StateHashTreeRootSource} from "./stateTransition.js";
6
6
  import {CachedBeaconStateAllForks} from "./types.js";
@@ -57,10 +57,21 @@ export function getMetrics(register: MetricsRegister) {
57
57
  processBlockTime: register.histogram({
58
58
  name: "lodestar_stfn_process_block_seconds",
59
59
  help: "Time to process a single block in seconds",
60
- // TODO: Add metrics for each step
61
60
  // Block processing can take 5-40ms, 100ms max
62
61
  buckets: [0.005, 0.01, 0.02, 0.05, 0.1, 1],
63
62
  }),
63
+ processBlockStepTime: register.histogram<{step: BlockProcessStep}>({
64
+ name: "lodestar_stfn_process_block_step_seconds",
65
+ help: "Time to call each step of process block in seconds",
66
+ labelNames: ["step"],
67
+ buckets: [0.001, 0.005, 0.01, 0.025, 0.05, 0.1],
68
+ }),
69
+ processOperationsStepTime: register.histogram<{step: ProcessOperationsStep}>({
70
+ name: "lodestar_stfn_process_operations_step_seconds",
71
+ help: "Time to call each step of process operations in seconds",
72
+ labelNames: ["step"],
73
+ buckets: [0.001, 0.005, 0.01, 0.025, 0.05, 0.1],
74
+ }),
64
75
  processBlockCommitTime: register.histogram({
65
76
  name: "lodestar_stfn_process_block_commit_seconds",
66
77
  help: "Time to call commit after process a single block in seconds",
@@ -42,9 +42,7 @@ export async function computeBlockRewards(
42
42
  let syncAggregateReward = cachedSyncAggregateReward;
43
43
 
44
44
  if (blockAttestationReward === 0) {
45
- const parentSlot = isForkPostGloas(fork)
46
- ? (preState as CachedBeaconStateGloas).latestExecutionPayloadBid.slot
47
- : null;
45
+ const parentSlot = isForkPostGloas(fork) ? (preState as CachedBeaconStateGloas).latestBlockHeader.slot : null;
48
46
  blockAttestationReward =
49
47
  fork === ForkName.phase0
50
48
  ? computeBlockAttestationRewardPhase0(block as phase0.BeaconBlock, preState as CachedBeaconStatePhase0)