@lodestar/state-transition 1.51.0-dev.bdcac30ee0 → 1.51.0-dev.c0cca9aa48

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 (37) hide show
  1. package/lib/block/index.d.ts +1 -1
  2. package/lib/block/index.d.ts.map +1 -1
  3. package/lib/block/index.js +2 -2
  4. package/lib/block/index.js.map +1 -1
  5. package/lib/block/processOperations.d.ts +1 -1
  6. package/lib/block/processOperations.d.ts.map +1 -1
  7. package/lib/block/processOperations.js +1 -1
  8. package/lib/block/processOperations.js.map +1 -1
  9. package/lib/epoch/index.d.ts +2 -2
  10. package/lib/epoch/index.d.ts.map +1 -1
  11. package/lib/epoch/index.js +2 -2
  12. package/lib/epoch/index.js.map +1 -1
  13. package/lib/stateView/beaconStateView.d.ts +1 -0
  14. package/lib/stateView/beaconStateView.d.ts.map +1 -1
  15. package/lib/stateView/beaconStateView.js +5 -1
  16. package/lib/stateView/beaconStateView.js.map +1 -1
  17. package/lib/stateView/interface.d.ts +2 -4
  18. package/lib/stateView/interface.d.ts.map +1 -1
  19. package/lib/stateView/interface.js.map +1 -1
  20. package/lib/stateView/nativeBeaconStateView.d.ts +14 -6
  21. package/lib/stateView/nativeBeaconStateView.d.ts.map +1 -1
  22. package/lib/stateView/nativeBeaconStateView.js +85 -25
  23. package/lib/stateView/nativeBeaconStateView.js.map +1 -1
  24. package/lib/stateView/stateViewFactory.js +3 -2
  25. package/lib/stateView/stateViewFactory.js.map +1 -1
  26. package/lib/util/blindedBlock.d.ts.map +1 -1
  27. package/lib/util/blindedBlock.js +4 -12
  28. package/lib/util/blindedBlock.js.map +1 -1
  29. package/package.json +7 -7
  30. package/src/block/index.ts +11 -12
  31. package/src/block/processOperations.ts +5 -5
  32. package/src/epoch/index.ts +14 -15
  33. package/src/stateView/beaconStateView.ts +5 -1
  34. package/src/stateView/interface.ts +1 -10
  35. package/src/stateView/nativeBeaconStateView.ts +86 -29
  36. package/src/stateView/stateViewFactory.ts +3 -2
  37. package/src/util/blindedBlock.ts +4 -12
@@ -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"}
@@ -1 +1 @@
1
- {"version":3,"file":"blindedBlock.d.ts","sourceRoot":"","sources":["../../src/util/blindedBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,QAAQ,EACR,iBAAiB,EAGjB,YAAY,EAKb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,8BAA8B,EAE9B,IAAI,EACJ,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EAGpB,MAAM,iBAAiB,CAAC;AAGzB,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,WAAW,GAAG,kBAAkB,GAC9C,IAAI,CAUN;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,WAAW,GAAG,kBAAkB,GAC9C,iBAAiB,CAkBnB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,WAAW,CAAC,iBAAiB,GAAG,YAAY,CAAC,GACnD,kBAAkB,CAKpB;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,iBAAiB,CAAC,iBAAiB,GAAG,YAAY,CAAC,GAC/D,wBAAwB,CAK1B;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,QAAQ,EACd,kBAAkB,EAAE,wBAAwB,EAC5C,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,GACxC,iBAAiB,CAqBnB;AAED,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,gBAAgB,GAAG,8BAA8B,GAAG;IAC5G,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;CACjC,CAQA;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,QAAQ,EACd,kBAAkB,EAAE,wBAAwB,EAC5C,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,EACzC,WAAW,EAAE,WAAW,GAAG,IAAI,GAC9B,mBAAmB,CAAC,YAAY,CAAC,CAiBnC"}
1
+ {"version":3,"file":"blindedBlock.d.ts","sourceRoot":"","sources":["../../src/util/blindedBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,QAAQ,EACR,iBAAiB,EAGjB,YAAY,EAKb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,8BAA8B,EAE9B,IAAI,EACJ,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EAGpB,MAAM,iBAAiB,CAAC;AAGzB,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,WAAW,GAAG,kBAAkB,GAC9C,IAAI,CAMN;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,WAAW,GAAG,kBAAkB,GAC9C,iBAAiB,CAcnB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,WAAW,CAAC,iBAAiB,GAAG,YAAY,CAAC,GACnD,kBAAkB,CAKpB;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,iBAAiB,CAAC,iBAAiB,GAAG,YAAY,CAAC,GAC/D,wBAAwB,CAK1B;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,QAAQ,EACd,kBAAkB,EAAE,wBAAwB,EAC5C,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,GACxC,iBAAiB,CAqBnB;AAED,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,gBAAgB,GAAG,8BAA8B,GAAG;IAC5G,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;CACjC,CAQA;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,QAAQ,EACd,kBAAkB,EAAE,wBAAwB,EAC5C,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,EACzC,WAAW,EAAE,WAAW,GAAG,IAAI,GAC9B,mBAAmB,CAAC,YAAY,CAAC,CAiBnC"}
@@ -4,24 +4,16 @@ import { executionPayloadToPayloadHeader } from "./execution.js";
4
4
  export function blindedOrFullBlockHashTreeRoot(config, blindedOrFull) {
5
5
  return isBlindedBeaconBlock(blindedOrFull)
6
6
  ? // Blinded
7
- config
8
- .getPostBellatrixForkTypes(blindedOrFull.slot)
9
- .BlindedBeaconBlock.hashTreeRoot(blindedOrFull)
7
+ config.getPostBellatrixForkTypes(blindedOrFull.slot).BlindedBeaconBlock.hashTreeRoot(blindedOrFull)
10
8
  : // Full
11
- config
12
- .getForkTypes(blindedOrFull.slot)
13
- .BeaconBlock.hashTreeRoot(blindedOrFull);
9
+ config.getForkTypes(blindedOrFull.slot).BeaconBlock.hashTreeRoot(blindedOrFull);
14
10
  }
15
11
  export function blindedOrFullBlockToHeader(config, blindedOrFull) {
16
12
  const bodyRoot = isBlindedBeaconBlock(blindedOrFull)
17
13
  ? // Blinded
18
- config
19
- .getPostBellatrixForkTypes(blindedOrFull.slot)
20
- .BlindedBeaconBlockBody.hashTreeRoot(blindedOrFull.body)
14
+ config.getPostBellatrixForkTypes(blindedOrFull.slot).BlindedBeaconBlockBody.hashTreeRoot(blindedOrFull.body)
21
15
  : // Full
22
- config
23
- .getForkTypes(blindedOrFull.slot)
24
- .BeaconBlockBody.hashTreeRoot(blindedOrFull.body);
16
+ config.getForkTypes(blindedOrFull.slot).BeaconBlockBody.hashTreeRoot(blindedOrFull.body);
25
17
  return {
26
18
  slot: blindedOrFull.slot,
27
19
  proposerIndex: blindedOrFull.proposerIndex,
@@ -1 +1 @@
1
- {"version":3,"file":"blindedBlock.js","sourceRoot":"","sources":["../../src/util/blindedBlock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blindedBlock.js","sourceRoot":"","sources":["../../src/util/blindedBlock.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.51.0-dev.bdcac30ee0",
14
+ "version": "1.51.0-dev.c0cca9aa48",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -69,14 +69,14 @@
69
69
  "@chainsafe/lodestar-z": "catalog:",
70
70
  "@chainsafe/persistent-merkle-tree": "^1.3.1",
71
71
  "@chainsafe/ssz": "^1.9.0",
72
- "@lodestar/config": "^1.51.0-dev.bdcac30ee0",
73
- "@lodestar/params": "^1.51.0-dev.bdcac30ee0",
74
- "@lodestar/types": "^1.51.0-dev.bdcac30ee0",
75
- "@lodestar/utils": "^1.51.0-dev.bdcac30ee0",
72
+ "@lodestar/config": "^1.51.0-dev.c0cca9aa48",
73
+ "@lodestar/params": "^1.51.0-dev.c0cca9aa48",
74
+ "@lodestar/types": "^1.51.0-dev.c0cca9aa48",
75
+ "@lodestar/utils": "^1.51.0-dev.c0cca9aa48",
76
76
  "@vekexasia/bigint-buffer2": "^1.1.1"
77
77
  },
78
78
  "devDependencies": {
79
- "@lodestar/test-utils": "^1.51.0-dev.bdcac30ee0"
79
+ "@lodestar/test-utils": "^1.51.0-dev.c0cca9aa48"
80
80
  },
81
81
  "keywords": [
82
82
  "ethereum",
@@ -84,5 +84,5 @@
84
84
  "beacon",
85
85
  "blockchain"
86
86
  ],
87
- "gitHead": "65341a6398fb897b59a5d7ce096104155a244d5f"
87
+ "gitHead": "bbff9fde332dc670c232427fee423e2f1e32a924"
88
88
  }
@@ -23,27 +23,26 @@ import {processSyncAggregate} from "./processSyncCommittee.js";
23
23
  import {processWithdrawals} from "./processWithdrawals.js";
24
24
  import {BlockProcessStep, ProcessBlockOpts, ProposerRewardType} from "./types.js";
25
25
 
26
+ export * from "./externalData.js";
27
+ export * from "./initiateValidatorExit.js";
28
+ export * from "./isValidIndexedAttestation.js";
29
+ export * from "./processBuilderDepositRequest.js";
30
+ export * from "./processBuilderExitRequest.js";
31
+ export * from "./processDepositRequest.js";
32
+ export * from "./processOperations.js";
26
33
  // Spec tests
27
34
  export {
28
35
  processBlockHeader,
36
+ processEth1Data,
29
37
  processExecutionPayload,
38
+ processExecutionPayloadBid,
39
+ processParentExecutionPayload,
40
+ processPayloadAttestation,
30
41
  processRandao,
31
- processEth1Data,
32
42
  processSyncAggregate,
33
43
  processWithdrawals,
34
- processExecutionPayloadBid,
35
- processPayloadAttestation,
36
- processParentExecutionPayload,
37
44
  };
38
45
 
39
- export * from "./externalData.js";
40
- export * from "./initiateValidatorExit.js";
41
- export * from "./isValidIndexedAttestation.js";
42
- export * from "./processBuilderDepositRequest.js";
43
- export * from "./processBuilderExitRequest.js";
44
- export * from "./processDepositRequest.js";
45
- export * from "./processOperations.js";
46
-
47
46
  export function processBlock(
48
47
  fork: ForkSeq,
49
48
  state: CachedBeaconStateAllForks,
@@ -22,15 +22,15 @@ import {processWithdrawalRequest} from "./processWithdrawalRequest.js";
22
22
  import {ProcessBlockOpts, ProcessOperationsStep} from "./types.js";
23
23
 
24
24
  export {
25
- processProposerSlashing,
26
- processAttesterSlashing,
27
25
  processAttestations,
26
+ processAttesterSlashing,
27
+ processBlsToExecutionChange,
28
+ processConsolidationRequest,
28
29
  processDeposit,
30
+ processDepositRequest,
31
+ processProposerSlashing,
29
32
  processVoluntaryExit,
30
33
  processWithdrawalRequest,
31
- processBlsToExecutionChange,
32
- processDepositRequest,
33
- processConsolidationRequest,
34
34
  };
35
35
 
36
36
  export function processOperations(
@@ -37,32 +37,31 @@ import {processSlashings} from "./processSlashings.js";
37
37
  import {processSlashingsReset} from "./processSlashingsReset.js";
38
38
  import {processSyncCommitteeUpdates} from "./processSyncCommitteeUpdates.js";
39
39
 
40
+ export {computeUnrealizedCheckpoints} from "./computeUnrealizedCheckpoints.js";
40
41
  // For spec tests
41
42
  export {getRewardsAndPenalties} from "./processRewardsAndPenalties.js";
42
43
  export {
43
- processJustificationAndFinalization,
44
- processInactivityUpdates,
45
- processRewardsAndPenalties,
46
- processRegistryUpdates,
47
- processSlashings,
48
- processEth1DataReset,
44
+ processBuilderPendingPayments,
49
45
  processEffectiveBalanceUpdates,
50
- processSlashingsReset,
51
- processRandaoMixesReset,
46
+ processEth1DataReset,
52
47
  processHistoricalRootsUpdate,
53
- processParticipationRecordUpdates,
54
- processParticipationFlagUpdates,
55
- processSyncCommitteeUpdates,
56
48
  processHistoricalSummariesUpdate,
57
- processPendingDeposits,
49
+ processInactivityUpdates,
50
+ processJustificationAndFinalization,
51
+ processParticipationFlagUpdates,
52
+ processParticipationRecordUpdates,
58
53
  processPendingConsolidations,
54
+ processPendingDeposits,
59
55
  processProposerLookahead,
60
56
  processPtcWindow,
61
- processBuilderPendingPayments,
57
+ processRandaoMixesReset,
58
+ processRegistryUpdates,
59
+ processRewardsAndPenalties,
60
+ processSlashings,
61
+ processSlashingsReset,
62
+ processSyncCommitteeUpdates,
62
63
  };
63
64
 
64
- export {computeUnrealizedCheckpoints} from "./computeUnrealizedCheckpoints.js";
65
-
66
65
  const maxValidatorsPerStateSlashing = SLOTS_PER_EPOCH * MAX_ATTESTER_SLASHINGS * MAX_VALIDATORS_PER_COMMITTEE;
67
66
  const maxSafeValidators = Math.floor(Number.MAX_SAFE_INTEGER / MAX_EFFECTIVE_BALANCE);
68
67
 
@@ -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 {