@lodestar/state-transition 1.51.0-dev.5e25b73306 → 1.51.0-dev.738aa9c1b2

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.
@@ -1,7 +1,15 @@
1
+ import { BitArray } from "@chainsafe/ssz";
1
2
  import { ForkSeq } from "@lodestar/params";
2
- import { isBlindedBeaconBlock, ssz, } from "@lodestar/types";
3
+ import { isBlindedBeaconBlock, ssz, sszTypesFor, } from "@lodestar/types";
3
4
  import { EMPTY_SIGNATURE } from "../constants/constants.js";
5
+ import { getStateSlotFromBytes } from "../util/sszBytes.js";
4
6
  import { computeNewStateRootStateTransitionOpts, getComputeNewStateRootResult } from "./computeNewStateRoot.js";
7
+ import { isStatePostGloas, } from "./interface.js";
8
+ export function assertNativeForkSupported(config, slot) {
9
+ if (config.getForkSeq(slot) > ForkSeq.gloas) {
10
+ throw Error(`Native state transition does not support ${config.getForkName(slot)}`);
11
+ }
12
+ }
5
13
  /**
6
14
  * Wraps a native binding (the auto-generated JS interface produced by a `.node`
7
15
  * file) and exposes it as a fully-conformant `IBeaconStateViewLatestFork`.
@@ -70,6 +78,14 @@ export class NativeBeaconStateView {
70
78
  cachedPendingConsolidationsCount = null;
71
79
  // fulu
72
80
  cachedProposerLookahead = null;
81
+ // gloas
82
+ cachedLatestBlockHash = null;
83
+ cachedExecutionPayloadAvailability = null;
84
+ cachedLatestExecutionPayloadBid = null;
85
+ cachedPayloadExpectedWithdrawals = null;
86
+ cachedBuilderPendingPayments = null;
87
+ cachedBuilderPendingWithdrawals = null;
88
+ cachedBuildersLength = null;
73
89
  // Per-argument caches for argument-taking methods. The binding is treated as
74
90
  // immutable for the view's lifetime, so a given argument always yields the
75
91
  // same result. Maps grow only with touched arguments — typical call patterns
@@ -116,7 +132,11 @@ export class NativeBeaconStateView {
116
132
  this.binding.release();
117
133
  }
118
134
  get executionPayloadAvailability() {
119
- throw new Error("NativeBeaconStateView does not support Gloas");
135
+ if (this.cachedExecutionPayloadAvailability === null) {
136
+ const { uint8Array, bitLen } = this.binding.executionPayloadAvailability;
137
+ this.cachedExecutionPayloadAvailability = new BitArray(uint8Array, bitLen);
138
+ }
139
+ return this.cachedExecutionPayloadAvailability;
120
140
  }
121
141
  // ─── phase0 ──────────────────────────────────────────────────────────────
122
142
  get forkName() {
@@ -464,6 +484,7 @@ export class NativeBeaconStateView {
464
484
  }
465
485
  // Serialization
466
486
  loadOtherState(stateBytes, seedValidatorsBytes, opts) {
487
+ assertNativeForkSupported(this.config, getStateSlotFromBytes(stateBytes));
467
488
  return new NativeBeaconStateView(this.config, this.binding.loadOtherState(stateBytes, seedValidatorsBytes, opts));
468
489
  }
469
490
  toValue() {
@@ -514,6 +535,7 @@ export class NativeBeaconStateView {
514
535
  return getComputeNewStateRootResult(postState);
515
536
  }
516
537
  stateTransition({ block, ssz }, options, _modules) {
538
+ assertNativeForkSupported(this.config, block.message.slot);
517
539
  const isBlinded = isBlindedBeaconBlock(block.message);
518
540
  const signedBlockBytes = ssz ??
519
541
  (isBlinded
@@ -524,6 +546,7 @@ export class NativeBeaconStateView {
524
546
  return new NativeBeaconStateView(this.config, this.binding.stateTransition(signedBlockBytes, isBlinded, options));
525
547
  }
526
548
  processSlots(slot, opts, _modules) {
549
+ assertNativeForkSupported(this.config, slot);
527
550
  return new NativeBeaconStateView(this.config, this.binding.processSlots(slot, opts));
528
551
  }
529
552
  // ─── altair ──────────────────────────────────────────────────────────────
@@ -647,7 +670,8 @@ export class NativeBeaconStateView {
647
670
  // ─── electra ─────────────────────────────────────────────────────────────
648
671
  get pendingDeposits() {
649
672
  if (this.cachedPendingDeposits === null) {
650
- this.cachedPendingDeposits = ssz.electra.PendingDeposits.deserialize(this.binding.pendingDeposits);
673
+ const type = sszTypesFor(this.forkName).PendingDeposits;
674
+ this.cachedPendingDeposits = type.deserialize(this.binding.pendingDeposits);
651
675
  }
652
676
  return this.cachedPendingDeposits;
653
677
  }
@@ -659,7 +683,8 @@ export class NativeBeaconStateView {
659
683
  }
660
684
  get pendingPartialWithdrawals() {
661
685
  if (this.cachedPendingPartialWithdrawals === null) {
662
- this.cachedPendingPartialWithdrawals = ssz.electra.PendingPartialWithdrawals.deserialize(this.binding.pendingPartialWithdrawals);
686
+ const type = sszTypesFor(this.forkName).PendingPartialWithdrawals;
687
+ this.cachedPendingPartialWithdrawals = type.deserialize(this.binding.pendingPartialWithdrawals);
663
688
  }
664
689
  return this.cachedPendingPartialWithdrawals;
665
690
  }
@@ -671,7 +696,8 @@ export class NativeBeaconStateView {
671
696
  }
672
697
  get pendingConsolidations() {
673
698
  if (this.cachedPendingConsolidations === null) {
674
- this.cachedPendingConsolidations = ssz.electra.PendingConsolidations.deserialize(this.binding.pendingConsolidations);
699
+ const type = sszTypesFor(this.forkName).PendingConsolidations;
700
+ this.cachedPendingConsolidations = type.deserialize(this.binding.pendingConsolidations);
675
701
  }
676
702
  return this.cachedPendingConsolidations;
677
703
  }
@@ -689,47 +715,81 @@ export class NativeBeaconStateView {
689
715
  return this.cachedProposerLookahead;
690
716
  }
691
717
  preVerifyBuilderDepositsPreGloas(_maxBuilderDeposits, _maxDurationMs) {
692
- throw new Error("NativeBeaconStateView does not support Gloas");
718
+ // The native fork upgrade verifies directly; it does not maintain a warm-up cache.
719
+ return {
720
+ validBuilderSignaturesCount: 0,
721
+ invalidBuilderSignaturesCount: 0,
722
+ validValidatorSignaturesCount: 0,
723
+ invalidValidatorSignaturesCount: 0,
724
+ scannedPendingDeposits: 0,
725
+ totalCachedDeposits: 0,
726
+ totalBuilderPubkeys: 0,
727
+ pendingDepositsCount: this.pendingDepositsCount,
728
+ };
693
729
  }
694
730
  clearPreGloasBuilderDepositCache() {
695
- throw new Error("NativeBeaconStateView does not support Gloas");
731
+ // The native implementation has no pre-Gloas deposit cache to clear.
696
732
  }
697
733
  // ─── gloas ───────────────────────────────────────────────────────────────
698
734
  get latestBlockHash() {
699
- throw new Error("NativeBeaconStateView does not support Gloas");
735
+ if (this.cachedLatestBlockHash === null) {
736
+ this.cachedLatestBlockHash = this.binding.latestBlockHash;
737
+ }
738
+ return this.cachedLatestBlockHash;
700
739
  }
701
740
  get latestExecutionPayloadBid() {
702
- throw new Error("NativeBeaconStateView does not support Gloas");
741
+ if (this.cachedLatestExecutionPayloadBid === null) {
742
+ this.cachedLatestExecutionPayloadBid = this.binding.latestExecutionPayloadBid;
743
+ }
744
+ return this.cachedLatestExecutionPayloadBid;
703
745
  }
704
746
  get payloadExpectedWithdrawals() {
705
- throw new Error("NativeBeaconStateView does not support Gloas");
747
+ if (this.cachedPayloadExpectedWithdrawals === null) {
748
+ this.cachedPayloadExpectedWithdrawals = this.binding.payloadExpectedWithdrawals;
749
+ }
750
+ return this.cachedPayloadExpectedWithdrawals;
706
751
  }
707
752
  get builderPendingPayments() {
708
- throw new Error("NativeBeaconStateView does not support Gloas");
753
+ if (this.cachedBuilderPendingPayments === null) {
754
+ this.cachedBuilderPendingPayments = this.binding.builderPendingPayments;
755
+ }
756
+ return this.cachedBuilderPendingPayments;
709
757
  }
710
758
  get builderPendingWithdrawals() {
711
- throw new Error("NativeBeaconStateView does not support Gloas");
759
+ if (this.cachedBuilderPendingWithdrawals === null) {
760
+ this.cachedBuilderPendingWithdrawals = this.binding.builderPendingWithdrawals;
761
+ }
762
+ return this.cachedBuilderPendingWithdrawals;
712
763
  }
713
- getBuilder(_index) {
714
- throw new Error("NativeBeaconStateView does not support Gloas");
764
+ getBuilder(index) {
765
+ return this.binding.getBuilder(index);
715
766
  }
716
767
  getBuildersLength() {
717
- throw new Error("NativeBeaconStateView does not support Gloas");
768
+ if (this.cachedBuildersLength === null) {
769
+ this.cachedBuildersLength = this.binding.getBuildersLength();
770
+ }
771
+ return this.cachedBuildersLength;
718
772
  }
719
- canBuilderCoverBid(_builderIndex, _bidAmount) {
720
- throw new Error("NativeBeaconStateView does not support Gloas");
773
+ canBuilderCoverBid(builderIndex, bidAmount) {
774
+ return this.binding.canBuilderCoverBid(builderIndex, bidAmount);
721
775
  }
722
- getEpochPTCs(_epoch) {
723
- throw new Error("NativeBeaconStateView does not support Gloas");
776
+ getEpochPTCs(epoch) {
777
+ return this.binding.getEpochPTCs(epoch);
724
778
  }
725
- getPayloadTimelinessCommittee(_slot) {
726
- throw new Error("NativeBeaconStateView does not support Gloas");
779
+ getPayloadTimelinessCommittee(slot) {
780
+ return this.binding.getPayloadTimelinessCommittee(slot);
727
781
  }
728
- getIndicesInPayloadTimelinessCommittee(_validatorIndex, _slot) {
729
- throw new Error("NativeBeaconStateView does not support Gloas");
782
+ getIndicesInPayloadTimelinessCommittee(validatorIndex, slot) {
783
+ return this.binding.getIndicesInPayloadTimelinessCommittee(validatorIndex, slot);
730
784
  }
731
- withParentPayloadApplied(_executionRequests) {
732
- throw new Error("NativeBeaconStateView does not support Gloas");
785
+ withParentPayloadApplied(executionRequests) {
786
+ const bytes = ssz.gloas.ExecutionRequests.serialize(executionRequests);
787
+ const state = new NativeBeaconStateView(this.config, this.binding.withParentPayloadApplied(bytes));
788
+ if (!isStatePostGloas(state)) {
789
+ state.release();
790
+ throw Error("Expected Gloas state after applying the parent payload");
791
+ }
792
+ return state;
733
793
  }
734
794
  }
735
795
  //# sourceMappingURL=nativeBeaconStateView.js.map
@@ -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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"}
@@ -1,9 +1,9 @@
1
1
  import bindings from "@chainsafe/lodestar-z";
2
2
  import { pubkeyCache } from "@chainsafe/lodestar-z/pubkeys";
3
3
  import { createCachedBeaconState } from "../cache/stateCache.js";
4
- import { getStateTypeFromBytes } from "../util/sszBytes.js";
4
+ import { getStateSlotFromBytes, getStateTypeFromBytes } from "../util/sszBytes.js";
5
5
  import { BeaconStateView } from "./beaconStateView.js";
6
- import { NativeBeaconStateView } from "./nativeBeaconStateView.js";
6
+ import { NativeBeaconStateView, assertNativeForkSupported } from "./nativeBeaconStateView.js";
7
7
  /**
8
8
  * Create a BeaconStateView from raw SSZ bytes. Used at node startup.
9
9
  *
@@ -35,6 +35,7 @@ export function createBeaconStateViewForHistoricalRegen(opts) {
35
35
  return new BeaconStateView(cachedState);
36
36
  }
37
37
  function createNativeBeaconStateView(config, stateBytes) {
38
+ assertNativeForkSupported(config, getStateSlotFromBytes(stateBytes));
38
39
  const nativeConfig = new bindings.BeaconConfig(config, config.genesisValidatorsRoot);
39
40
  return new NativeBeaconStateView(config, bindings.BeaconStateView.createFromBytes(stateBytes, nativeConfig));
40
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stateViewFactory.js","sourceRoot":"","sources":["../../src/stateView/stateViewFactory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAC,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAE1D,OAAO,EAAC,uBAAuB,EAAC,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AAUjE;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAA+B;IACnE,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,OAAO,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,EAAC,MAAM,EAAE,UAAU,EAAC,GAAG,IAAI,CAAC;IAClC,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACxF,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,EAAE,EAAC,MAAM,EAAE,WAAW,EAAC,EAAE,EAAC,eAAe,EAAE,KAAK,EAAC,CAAC,CAAC;IACpG,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAgBD;;;;GAIG;AACH,MAAM,UAAU,uCAAuC,CAAC,IAAuC;IAC7F,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,OAAO,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,EAAC,MAAM,EAAE,UAAU,EAAC,GAAG,IAAI,CAAC;IAClC,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACxF,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,EAAE,EAAC,MAAM,EAAE,WAAW,EAAC,EAAE,EAAC,eAAe,EAAE,IAAI,EAAC,CAAC,CAAC;IACnG,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAoB,EAAE,UAAsB;IAC/E,MAAM,YAAY,GAAG,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACrF,OAAO,IAAI,qBAAqB,CAC9B,MAAM,EACN,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,CAA2B,CAC7F,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"stateViewFactory.js","sourceRoot":"","sources":["../../src/stateView/stateViewFactory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAC,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAE1D,OAAO,EAAC,uBAAuB,EAAC,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAC,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAC,qBAAqB,EAAE,yBAAyB,EAAC,MAAM,4BAA4B,CAAC;AAU5F;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAA+B;IACnE,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,OAAO,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,EAAC,MAAM,EAAE,UAAU,EAAC,GAAG,IAAI,CAAC;IAClC,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACxF,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,EAAE,EAAC,MAAM,EAAE,WAAW,EAAC,EAAE,EAAC,eAAe,EAAE,KAAK,EAAC,CAAC,CAAC;IACpG,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAgBD;;;;GAIG;AACH,MAAM,UAAU,uCAAuC,CAAC,IAAuC;IAC7F,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,OAAO,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,EAAC,MAAM,EAAE,UAAU,EAAC,GAAG,IAAI,CAAC;IAClC,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACxF,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,EAAE,EAAC,MAAM,EAAE,WAAW,EAAC,EAAE,EAAC,eAAe,EAAE,IAAI,EAAC,CAAC,CAAC;IACnG,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAoB,EAAE,UAAsB;IAC/E,yBAAyB,CAAC,MAAM,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACrF,OAAO,IAAI,qBAAqB,CAC9B,MAAM,EACN,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,CAA2B,CAC7F,CAAC;AACJ,CAAC"}
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.51.0-dev.5e25b73306",
14
+ "version": "1.51.0-dev.738aa9c1b2",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -68,15 +68,15 @@
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.8.1",
72
- "@lodestar/config": "^1.51.0-dev.5e25b73306",
73
- "@lodestar/params": "^1.51.0-dev.5e25b73306",
74
- "@lodestar/types": "^1.51.0-dev.5e25b73306",
75
- "@lodestar/utils": "^1.51.0-dev.5e25b73306",
71
+ "@chainsafe/ssz": "^1.9.0",
72
+ "@lodestar/config": "^1.51.0-dev.738aa9c1b2",
73
+ "@lodestar/params": "^1.51.0-dev.738aa9c1b2",
74
+ "@lodestar/types": "^1.51.0-dev.738aa9c1b2",
75
+ "@lodestar/utils": "^1.51.0-dev.738aa9c1b2",
76
76
  "@vekexasia/bigint-buffer2": "^1.1.1"
77
77
  },
78
78
  "devDependencies": {
79
- "@lodestar/test-utils": "^1.51.0-dev.5e25b73306"
79
+ "@lodestar/test-utils": "^1.51.0-dev.738aa9c1b2"
80
80
  },
81
81
  "keywords": [
82
82
  "ethereum",
@@ -84,5 +84,5 @@
84
84
  "beacon",
85
85
  "blockchain"
86
86
  ],
87
- "gitHead": "567ed0a2eed4216219e3d492432ed565c7a4383a"
87
+ "gitHead": "275fdac918f29fa71319d254b2f03031a493e7e1"
88
88
  }
package/src/metrics.ts CHANGED
@@ -156,19 +156,20 @@ export function getMetrics(register: MetricsRegister) {
156
156
  }
157
157
 
158
158
  export function onStateCloneMetrics(
159
- state: CachedBeaconStateAllForks,
159
+ clonedState: CachedBeaconStateAllForks,
160
+ clonedCount: number,
160
161
  metrics: BeaconStateTransitionMetrics,
161
162
  source: StateCloneSource
162
163
  ): void {
163
- metrics.preStateClonedCount.observe(state.clonedCount);
164
+ metrics.preStateClonedCount.observe(clonedCount);
164
165
 
165
- if (isBalancesNodesPopulated(state)) {
166
+ if (isBalancesNodesPopulated(clonedState)) {
166
167
  metrics.preStateBalancesNodesPopulatedHit.inc({source});
167
168
  } else {
168
169
  metrics.preStateBalancesNodesPopulatedMiss.inc({source});
169
170
  }
170
171
 
171
- if (isValidatorsNodesPopulated(state)) {
172
+ if (isValidatorsNodesPopulated(clonedState)) {
172
173
  metrics.preStateValidatorsNodesPopulatedHit.inc({source});
173
174
  } else {
174
175
  metrics.preStateValidatorsNodesPopulatedMiss.inc({source});
@@ -101,7 +101,7 @@ export function stateTransition(
101
101
  let postState = state.clone(options.dontTransferCache);
102
102
 
103
103
  if (metrics) {
104
- onStateCloneMetrics(postState, metrics, StateCloneSource.stateTransition);
104
+ onStateCloneMetrics(postState, state.clonedCount, metrics, StateCloneSource.stateTransition);
105
105
  }
106
106
 
107
107
  // State is already a ViewDU, which won't commit changes. Equivalent to .setStateCachesAsTransient()
@@ -168,7 +168,7 @@ export function processSlots(
168
168
  let postState = state.clone(opts?.dontTransferCache);
169
169
 
170
170
  if (metrics) {
171
- onStateCloneMetrics(postState, metrics, StateCloneSource.processSlots);
171
+ onStateCloneMetrics(postState, state.clonedCount, metrics, StateCloneSource.processSlots);
172
172
  }
173
173
 
174
174
  // State is already a ViewDU, which won't commit changes. Equivalent to .setStateCachesAsTransient()
@@ -84,6 +84,7 @@ export class BeaconStateView implements IBeaconStateViewLatestFork {
84
84
  // phase0
85
85
  private cachedFork: Fork | null = null;
86
86
  private cachedLatestBlockHeader: phase0.BeaconBlockHeader | null = null;
87
+ private cachedEffectiveBalanceIncrementsZeroInactive: EffectiveBalanceIncrements | null = null;
87
88
  // altair
88
89
  private cachedCurrentSyncCommittee: SyncCommittee | null = null;
89
90
  private cachedNextSyncCommittee: SyncCommittee | null = null;
@@ -638,7 +639,10 @@ export class BeaconStateView implements IBeaconStateViewLatestFork {
638
639
  }
639
640
 
640
641
  getEffectiveBalanceIncrementsZeroInactive(): EffectiveBalanceIncrements {
641
- return getEffectiveBalanceIncrementsZeroInactive(this.cachedState);
642
+ if (this.cachedEffectiveBalanceIncrementsZeroInactive === null) {
643
+ this.cachedEffectiveBalanceIncrementsZeroInactive = getEffectiveBalanceIncrementsZeroInactive(this.cachedState);
644
+ }
645
+ return this.cachedEffectiveBalanceIncrementsZeroInactive;
642
646
  }
643
647
 
644
648
  getBalance(index: number): number {
@@ -336,8 +336,6 @@ export type IBeaconStateViewLatestFork = Omit<
336
336
  */
337
337
  export type IBeaconStateViewNative = Omit<
338
338
  IBeaconStateViewLatestFork,
339
- | "builderPendingPayments"
340
- | "builderPendingWithdrawals"
341
339
  | "computeAttestationsRewards"
342
340
  | "computeBlockRewards"
343
341
  | "computeNewStateRoot"
@@ -346,8 +344,6 @@ export type IBeaconStateViewNative = Omit<
346
344
  | "eth1Data"
347
345
  | "executionPayloadAvailability"
348
346
  | "getBeaconCommittee"
349
- | "getIndicesInPayloadTimelinessCommittee"
350
- | "getPayloadTimelinessCommittee"
351
347
  | "loadOtherState"
352
348
  | "pendingConsolidations"
353
349
  | "pendingDeposits"
@@ -365,7 +361,6 @@ export type IBeaconStateViewNative = Omit<
365
361
  pendingPartialWithdrawals: Uint8Array;
366
362
  pendingConsolidations: Uint8Array;
367
363
  proposerLookahead: Uint32Array;
368
- // UintBn64 lowers to number across the FFI boundary; the wrapper lifts it back to bigint
369
364
  eth1Data: phase0.Eth1Data;
370
365
  executionPayloadAvailability: {uint8Array: Uint8Array; bitLen: number};
371
366
  computeBlockRewards(
@@ -379,8 +374,6 @@ export type IBeaconStateViewNative = Omit<
379
374
  validatorIds: (ValidatorIndex | string)[]
380
375
  ): rewards.SyncCommitteeRewards;
381
376
  getBeaconCommittee(slot: Slot, index: CommitteeIndex): Uint32Array;
382
- getIndexInPayloadTimelinessCommittee?(validatorIndex: ValidatorIndex, slot: Slot): number;
383
- getIndicesInPayloadTimelinessCommittee?(validatorIndex: ValidatorIndex, slot: Slot): number[];
384
377
  loadOtherState(...args: Parameters<IBeaconStateViewLatestFork["loadOtherState"]>): IBeaconStateViewNative;
385
378
  stateTransition(
386
379
  signedBlockBytes: Uint8Array,
@@ -388,9 +381,7 @@ export type IBeaconStateViewNative = Omit<
388
381
  options?: StateTransitionOpts
389
382
  ): IBeaconStateViewNative;
390
383
  processSlots(slot: Slot, opts?: {dontTransferCache?: boolean}): IBeaconStateViewNative;
391
- withParentPayloadApplied(
392
- ...args: Parameters<IBeaconStateViewLatestFork["withParentPayloadApplied"]>
393
- ): IBeaconStateViewNative;
384
+ withParentPayloadApplied(executionRequestsBytes: Uint8Array): IBeaconStateViewNative;
394
385
  };
395
386
 
396
387
  export function isStatePostAltair(state: IBeaconStateView): state is IBeaconStateViewAltair {