@lodestar/state-transition 1.41.0-dev.9fa839a030 → 1.41.0-dev.aeb5a213ee

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 (42) hide show
  1. package/lib/cache/stateCache.d.ts +1 -1
  2. package/lib/cache/stateCache.d.ts.map +1 -1
  3. package/lib/index.d.ts +2 -0
  4. package/lib/index.d.ts.map +1 -1
  5. package/lib/index.js +1 -0
  6. package/lib/index.js.map +1 -1
  7. package/lib/lightClient/proofs.d.ts +10 -0
  8. package/lib/lightClient/proofs.d.ts.map +1 -0
  9. package/lib/lightClient/proofs.js +63 -0
  10. package/lib/lightClient/proofs.js.map +1 -0
  11. package/lib/lightClient/types.d.ts +34 -0
  12. package/lib/lightClient/types.d.ts.map +1 -0
  13. package/lib/lightClient/types.js +2 -0
  14. package/lib/lightClient/types.js.map +1 -0
  15. package/lib/stateTransition.d.ts +2 -1
  16. package/lib/stateTransition.d.ts.map +1 -1
  17. package/lib/stateTransition.js +1 -0
  18. package/lib/stateTransition.js.map +1 -1
  19. package/lib/stateView/beaconStateView.d.ts +144 -0
  20. package/lib/stateView/beaconStateView.d.ts.map +1 -0
  21. package/lib/stateView/beaconStateView.js +498 -0
  22. package/lib/stateView/beaconStateView.js.map +1 -0
  23. package/lib/stateView/index.d.ts +3 -0
  24. package/lib/stateView/index.d.ts.map +1 -0
  25. package/lib/stateView/index.js +3 -0
  26. package/lib/stateView/index.js.map +1 -0
  27. package/lib/stateView/interface.d.ts +118 -0
  28. package/lib/stateView/interface.d.ts.map +1 -0
  29. package/lib/stateView/interface.js +2 -0
  30. package/lib/stateView/interface.js.map +1 -0
  31. package/lib/util/weakSubjectivity.js +1 -1
  32. package/lib/util/weakSubjectivity.js.map +1 -1
  33. package/package.json +7 -7
  34. package/src/cache/stateCache.ts +1 -1
  35. package/src/index.ts +2 -0
  36. package/src/lightClient/proofs.ts +83 -0
  37. package/src/lightClient/types.ts +33 -0
  38. package/src/stateTransition.ts +1 -0
  39. package/src/stateView/beaconStateView.ts +746 -0
  40. package/src/stateView/index.ts +2 -0
  41. package/src/stateView/interface.ts +196 -0
  42. package/src/util/weakSubjectivity.ts +1 -1
@@ -128,7 +128,7 @@ export declare function createCachedBeaconState<T extends BeaconStateAllForks>(s
128
128
  * Check loadState() api for more details
129
129
  * // TODO: rename to loadUnfinalizedCachedBeaconState() due to ELECTRA
130
130
  */
131
- export declare function loadCachedBeaconState<T extends BeaconStateAllForks & BeaconStateCache>(cachedSeedState: T, stateBytes: Uint8Array, opts?: EpochCacheOpts, seedValidatorsBytes?: Uint8Array): T;
131
+ export declare function loadCachedBeaconState<T extends CachedBeaconStateAllForks>(cachedSeedState: T, stateBytes: Uint8Array, opts?: EpochCacheOpts, seedValidatorsBytes?: Uint8Array): T;
132
132
  /**
133
133
  * Attach an already computed BeaconStateCache to a BeaconState object
134
134
  */
@@ -1 +1 @@
1
- {"version":3,"file":"stateCache.d.ts","sourceRoot":"","sources":["../../src/cache/stateCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stateCache.d.ts","sourceRoot":"","sources":["../../src/cache/stateCache.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAC,UAAU,EAAE,uBAAuB,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAC,WAAW,EAAyB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,+EAA+E;IAC/E,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;IACrB,mHAAmH;IACnH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;IAC3C,eAAe,EAAE,WAAW,CAAC;CAC9B,CAAC;AAQF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,mBAAmB,IAAI,CAAC,GAAG,gBAAgB,CAAC;AAEpF,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAC3E,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAC3E,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AACjF,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AAC7E,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AACzE,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AAC7E,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AACvE,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAEzE,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;AAC/E,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;AACnF;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,mBAAmB,EACnE,KAAK,EAAE,CAAC,EACR,aAAa,EAAE,uBAAuB,EACtC,IAAI,CAAC,EAAE,cAAc,GACpB,CAAC,GAAG,gBAAgB,CAYtB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,yBAAyB,EACvE,eAAe,EAAE,CAAC,EAClB,UAAU,EAAE,UAAU,EACtB,IAAI,CAAC,EAAE,cAAc,EACrB,mBAAmB,CAAC,EAAE,UAAU,GAC/B,CAAC,CA0BH;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,mBAAmB,EAChE,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,gBAAgB,GACtB,CAAC,GAAG,gBAAgB,CAoCtB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,mBAAmB,EAC/D,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,GAChC,KAAK,IAAI,CAAC,GAAG,gBAAgB,CAE/B;AAKD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAGzF;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAGvF"}
package/lib/index.d.ts CHANGED
@@ -12,12 +12,14 @@ export { EpochCache, type EpochCacheImmutableData, createEmptyEpochCacheImmutabl
12
12
  export { type EpochTransitionCache, beforeProcessEpoch } from "./cache/epochTransitionCache.js";
13
13
  export { type Index2PubkeyCache, syncPubkeys } from "./cache/pubkeyCache.js";
14
14
  export { type BeaconStateCache, createCachedBeaconState, isCachedBeaconState, isStateBalancesNodesPopulated, isStateValidatorsNodesPopulated, loadCachedBeaconState, } from "./cache/stateCache.js";
15
+ export { type SyncCommitteeCache } from "./cache/syncCommitteeCache.js";
15
16
  export * from "./constants/index.js";
16
17
  export type { EpochTransitionStep } from "./epoch/index.js";
17
18
  export { type BeaconStateTransitionMetrics, getMetrics } from "./metrics.js";
18
19
  export * from "./rewards/index.js";
19
20
  export * from "./signatureSets/index.js";
20
21
  export * from "./stateTransition.js";
22
+ export * from "./stateView/index.js";
21
23
  export type { BeaconStateAllForks, BeaconStateAltair, BeaconStateBellatrix, BeaconStateCapella, BeaconStateDeneb, BeaconStateElectra, BeaconStateExecutions, BeaconStateFulu, BeaconStateGloas, BeaconStatePhase0, CachedBeaconStateAllForks, CachedBeaconStateAltair, CachedBeaconStateBellatrix, CachedBeaconStateCapella, CachedBeaconStateDeneb, CachedBeaconStateElectra, CachedBeaconStateExecutions, CachedBeaconStateFulu, CachedBeaconStateGloas, CachedBeaconStatePhase0, } from "./types.js";
22
24
  export * from "./util/index.js";
23
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,iCAAiC,EAAE,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAClH,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAC,MAAM,wCAAwC,CAAC;AAEnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAC,qBAAqB,EAAE,wBAAwB,EAAE,oBAAoB,EAAC,MAAM,iCAAiC,CAAC;AAEtH,OAAO,EAAC,sBAAsB,EAAC,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,KAAK,0BAA0B,EAC/B,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,UAAU,EACV,KAAK,uBAAuB,EAC5B,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,KAAK,oBAAoB,EAAE,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EAAC,KAAK,iBAAiB,EAAE,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAE3E,OAAO,EACL,KAAK,gBAAgB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,YAAY,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAC,KAAK,4BAA4B,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC3E,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAEhB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,iCAAiC,EAAE,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAClH,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAC,MAAM,wCAAwC,CAAC;AAEnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAC,qBAAqB,EAAE,wBAAwB,EAAE,oBAAoB,EAAC,MAAM,iCAAiC,CAAC;AAEtH,OAAO,EAAC,sBAAsB,EAAC,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,KAAK,0BAA0B,EAC/B,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,UAAU,EACV,KAAK,uBAAuB,EAC5B,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,KAAK,oBAAoB,EAAE,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EAAC,KAAK,iBAAiB,EAAE,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAE3E,OAAO,EACL,KAAK,gBAAgB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,KAAK,kBAAkB,EAAC,MAAM,+BAA+B,CAAC;AACtE,cAAc,sBAAsB,CAAC;AACrC,YAAY,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAC,KAAK,4BAA4B,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC3E,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAEhB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,cAAc,iBAAiB,CAAC"}
package/lib/index.js CHANGED
@@ -21,5 +21,6 @@ export { getMetrics } from "./metrics.js";
21
21
  export * from "./rewards/index.js";
22
22
  export * from "./signatureSets/index.js";
23
23
  export * from "./stateTransition.js";
24
+ export * from "./stateView/index.js";
24
25
  export * from "./util/index.js";
25
26
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,iCAAiC,EAAE,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAClH,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAC,MAAM,wCAAwC,CAAC;AACnF,qCAAqC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,yBAAyB;AACzB,OAAO,EAAC,qBAAqB,EAAE,wBAAwB,EAAE,oBAAoB,EAAC,MAAM,iCAAiC,CAAC;AACtH,6BAA6B;AAC7B,OAAO,EAAC,sBAAsB,EAAC,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAEL,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,UAAU,EAEV,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAA4B,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EAAyB,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAC3E,oBAAoB;AACpB,OAAO,EAEL,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AAErC,OAAO,EAAoC,UAAU,EAAC,MAAM,cAAc,CAAC;AAC3E,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AAwBrC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,iCAAiC,EAAE,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAClH,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAC,MAAM,wCAAwC,CAAC;AACnF,qCAAqC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,yBAAyB;AACzB,OAAO,EAAC,qBAAqB,EAAE,wBAAwB,EAAE,oBAAoB,EAAC,MAAM,iCAAiC,CAAC;AACtH,6BAA6B;AAC7B,OAAO,EAAC,sBAAsB,EAAC,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAEL,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,UAAU,EAEV,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAA4B,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EAAyB,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAC3E,oBAAoB;AACpB,OAAO,EAEL,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,cAAc,sBAAsB,CAAC;AAErC,OAAO,EAAoC,UAAU,EAAC,MAAM,cAAc,CAAC;AAC3E,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AAwBrC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { ForkName, ForkPostBellatrix } from "@lodestar/params";
2
+ import { BeaconBlockBody } from "@lodestar/types";
3
+ import { BeaconStateAllForks, CachedBeaconStateAllForks } from "../types.js";
4
+ import { SyncCommitteeWitness } from "./types.js";
5
+ export declare function getSyncCommitteesWitness(fork: ForkName, state: BeaconStateAllForks): SyncCommitteeWitness;
6
+ export declare function getNextSyncCommitteeBranch(syncCommitteesWitness: SyncCommitteeWitness): Uint8Array[];
7
+ export declare function getCurrentSyncCommitteeBranch(syncCommitteesWitness: SyncCommitteeWitness): Uint8Array[];
8
+ export declare function getFinalizedRootProof(state: CachedBeaconStateAllForks): Uint8Array[];
9
+ export declare function getBlockBodyExecutionHeaderProof(fork: ForkPostBellatrix, body: BeaconBlockBody<ForkPostBellatrix>): Uint8Array[];
10
+ //# sourceMappingURL=proofs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proofs.d.ts","sourceRoot":"","sources":["../../src/lightClient/proofs.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,QAAQ,EACR,iBAAiB,EAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,eAAe,EAAmB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAC,mBAAmB,EAAE,yBAAyB,EAAC,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAC,oBAAoB,EAAC,MAAM,YAAY,CAAC;AAEhD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CA8CzG;AAED,wBAAgB,0BAA0B,CAAC,qBAAqB,EAAE,oBAAoB,GAAG,UAAU,EAAE,CAGpG;AAED,wBAAgB,6BAA6B,CAAC,qBAAqB,EAAE,oBAAoB,GAAG,UAAU,EAAE,CAGvG;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,yBAAyB,GAAG,UAAU,EAAE,CAGpF;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC,GACvC,UAAU,EAAE,CAGd"}
@@ -0,0 +1,63 @@
1
+ import { Tree } from "@chainsafe/persistent-merkle-tree";
2
+ import { BLOCK_BODY_EXECUTION_PAYLOAD_GINDEX, FINALIZED_ROOT_GINDEX, FINALIZED_ROOT_GINDEX_ELECTRA, isForkPostElectra, } from "@lodestar/params";
3
+ import { ssz } from "@lodestar/types";
4
+ export function getSyncCommitteesWitness(fork, state) {
5
+ const n1 = state.node;
6
+ let witness;
7
+ let currentSyncCommitteeRoot;
8
+ let nextSyncCommitteeRoot;
9
+ if (isForkPostElectra(fork)) {
10
+ const n2 = n1.left;
11
+ const n5 = n2.right;
12
+ const n10 = n5.left;
13
+ const n21 = n10.right;
14
+ const n43 = n21.right;
15
+ currentSyncCommitteeRoot = n43.left.root; // n86
16
+ nextSyncCommitteeRoot = n43.right.root; // n87
17
+ // Witness branch is sorted by descending gindex
18
+ witness = [
19
+ n21.left.root, // 42
20
+ n10.left.root, // 20
21
+ n5.right.root, // 11
22
+ n2.left.root, // 4
23
+ n1.right.root, // 3
24
+ ];
25
+ }
26
+ else {
27
+ const n3 = n1.right; // [1]0110
28
+ const n6 = n3.left; // 1[0]110
29
+ const n13 = n6.right; // 10[1]10
30
+ const n27 = n13.right; // 101[1]0
31
+ currentSyncCommitteeRoot = n27.left.root; // n54 1011[0]
32
+ nextSyncCommitteeRoot = n27.right.root; // n55 1011[1]
33
+ // Witness branch is sorted by descending gindex
34
+ witness = [
35
+ n13.left.root, // 26
36
+ n6.left.root, // 12
37
+ n3.right.root, // 7
38
+ n1.left.root, // 2
39
+ ];
40
+ }
41
+ return {
42
+ witness,
43
+ currentSyncCommitteeRoot,
44
+ nextSyncCommitteeRoot,
45
+ };
46
+ }
47
+ export function getNextSyncCommitteeBranch(syncCommitteesWitness) {
48
+ // Witness branch is sorted by descending gindex
49
+ return [syncCommitteesWitness.currentSyncCommitteeRoot, ...syncCommitteesWitness.witness];
50
+ }
51
+ export function getCurrentSyncCommitteeBranch(syncCommitteesWitness) {
52
+ // Witness branch is sorted by descending gindex
53
+ return [syncCommitteesWitness.nextSyncCommitteeRoot, ...syncCommitteesWitness.witness];
54
+ }
55
+ export function getFinalizedRootProof(state) {
56
+ const finalizedRootGindex = state.epochCtx.isPostElectra() ? FINALIZED_ROOT_GINDEX_ELECTRA : FINALIZED_ROOT_GINDEX;
57
+ return new Tree(state.node).getSingleProof(BigInt(finalizedRootGindex));
58
+ }
59
+ export function getBlockBodyExecutionHeaderProof(fork, body) {
60
+ const bodyView = ssz[fork].BeaconBlockBody.toView(body);
61
+ return new Tree(bodyView.node).getSingleProof(BigInt(BLOCK_BODY_EXECUTION_PAYLOAD_GINDEX));
62
+ }
63
+ //# sourceMappingURL=proofs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proofs.js","sourceRoot":"","sources":["../../src/lightClient/proofs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mCAAmC,CAAC;AACvD,OAAO,EACL,mCAAmC,EACnC,qBAAqB,EACrB,6BAA6B,EAG7B,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAA+B,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAIlE,MAAM,UAAU,wBAAwB,CAAC,IAAc,EAAE,KAA0B;IACjF,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;IACtB,IAAI,OAAqB,CAAC;IAC1B,IAAI,wBAAoC,CAAC;IACzC,IAAI,qBAAiC,CAAC;IAEtC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;QACnB,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;QACpB,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;QACpB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;QAEtB,wBAAwB,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;QAChD,qBAAqB,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;QAE9C,gDAAgD;QAChD,OAAO,GAAG;YACR,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK;YACpB,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK;YACpB,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK;YACpB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI;YAClB,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,UAAU;QAC/B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU;QAC9B,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,UAAU;QAChC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU;QACjC,wBAAwB,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc;QACxD,qBAAqB,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,cAAc;QAEtD,gDAAgD;QAChD,OAAO,GAAG;YACR,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK;YACpB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK;YACnB,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI;YACnB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO;QACP,wBAAwB;QACxB,qBAAqB;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,qBAA2C;IACpF,gDAAgD;IAChD,OAAO,CAAC,qBAAqB,CAAC,wBAAwB,EAAE,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,qBAA2C;IACvF,gDAAgD;IAChD,OAAO,CAAC,qBAAqB,CAAC,qBAAqB,EAAE,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAgC;IACpE,MAAM,mBAAmB,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACnH,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,IAAuB,EACvB,IAAwC;IAExC,MAAM,QAAQ,GAAI,GAAG,CAAC,IAAI,CAAC,CAAC,eAAqE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/G,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;AAC7F,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * We aren't creating the sync committee proofs separately because our ssz library automatically adds leaves to composite types,
3
+ * so they're already included in the state proof, currently with no way to specify otherwise
4
+ *
5
+ * remove two offsets so the # of offsets in the state proof will be the # expected
6
+ * This is a hack, but properly setting the offsets in the state proof would require either removing witnesses needed for the committees
7
+ * or setting the roots of the committees in the state proof
8
+ * this will always be 1, syncProofLeavesLength
9
+ *
10
+ *
11
+ * With empty state (minimal)
12
+ * - `genesisTime = 0xffffffff`
13
+ * - `genesisValidatorsRoot = Buffer.alloc(32, 1)`
14
+ *
15
+ * Proof:
16
+ * ```
17
+ * offsets: [ 5, 4, 3, 2, 1 ]
18
+ * leaves: [
19
+ * '0xffffffff00000000000000000000000000000000000000000000000000000000',
20
+ * '0x0101010101010101010101010101010101010101010101010101010101010101',
21
+ * '0xb11b8bcf59425d6c99019cca1d2c2e47b51a2f74917a67ad132274f43e13ec43',
22
+ * '0x74bd1f2437cdf74b0904ee525d8da070a3fa27570942bf42cbab3dc5939600f0',
23
+ * '0x7f06739e5a42360c56e519a511675901c95402ea9877edc0d9a87471b1374a6a',
24
+ * '0x9f534204ba3c0b69fcb42a11987bfcbc5aea0463e5b0614312ded4b62cf3a380'
25
+ * ]
26
+ * ```
27
+ */
28
+ export type SyncCommitteeWitness = {
29
+ /** Vector[Bytes32, 4] or Vector[Bytes32, 5] depending on the fork */
30
+ witness: Uint8Array[];
31
+ currentSyncCommitteeRoot: Uint8Array;
32
+ nextSyncCommitteeRoot: Uint8Array;
33
+ };
34
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lightClient/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,qEAAqE;IACrE,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,wBAAwB,EAAE,UAAU,CAAC;IACrC,qBAAqB,EAAE,UAAU,CAAC;CACnC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lightClient/types.ts"],"names":[],"mappings":""}
@@ -33,7 +33,8 @@ export declare enum StateHashTreeRootSource {
33
33
  prepareNextSlot = "prepare_next_slot",
34
34
  prepareNextEpoch = "prepare_next_epoch",
35
35
  regenState = "regen_state",
36
- computeNewStateRoot = "compute_new_state_root"
36
+ computeNewStateRoot = "compute_new_state_root",
37
+ computeEnvelopeStateRoot = "compute_envelope_state_root"
37
38
  }
38
39
  /**
39
40
  * Implementation Note: follows the optimizations in protolambda's eth2fastspec (https://github.com/protolambda/eth2fastspec)
@@ -1 +1 @@
1
- {"version":3,"file":"stateTransition.d.ts","sourceRoot":"","sources":["../src/stateTransition.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,IAAI,EAAM,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EAAC,iBAAiB,EAAiD,MAAM,yBAAyB,CAAC;AAE1G,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAuB,wBAAwB,EAAqB,MAAM,iCAAiC,CAAC;AAEnH,OAAO,EAAC,4BAA4B,EAA0C,MAAM,cAAc,CAAC;AAYnG,OAAO,EACL,yBAAyB,EAQ1B,MAAM,YAAY,CAAC;AAMpB,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GACjD,wBAAwB,GACxB,gBAAgB,GAAG;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEJ,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,CAAC,EAAE,4BAA4B,GAAG,IAAI,CAAC;IAC9C,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC5C,CAAC;AAEF,UAAU,gBAAgB;IACxB,yBAAyB,CACvB,YAAY,EAAE,KAAK,EACnB,eAAe,EAAE,MAAM,EAAE,EACzB,KAAK,EAAE,MAAM,EAAE,EACf,iBAAiB,EAAE,OAAO,EAAE,EAC5B,iBAAiB,EAAE,OAAO,EAAE,EAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,IAAI,CAAC;CACT;AAED;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,eAAe,oBAAoB;IACnC,YAAY,iBAAiB;CAC9B;AAED;;GAEG;AACH,oBAAY,uBAAuB;IACjC,eAAe,qBAAqB;IACpC,eAAe,qBAAqB;IACpC,eAAe,sBAAsB;IACrC,gBAAgB,uBAAuB;IACvC,UAAU,gBAAgB;IAC1B,mBAAmB,2BAA2B;CAC/C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,yBAAyB,EAChC,WAAW,EAAE,iBAAiB,GAAG,wBAAwB,EACzD,OAAO,GAAE,mBAIR,EACD,EAAC,OAAO,EAAE,gBAAgB,EAAC,GAAE,sBAA2B,GACvD,yBAAyB,CA8D3B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,yBAAyB,EAChC,IAAI,EAAE,IAAI,EACV,wBAAwB,CAAC,EAAE,wBAAwB,GAAG;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAC,EACnF,EAAC,OAAO,EAAE,gBAAgB,EAAC,GAAE,sBAA2B,GACvD,yBAAyB,CAiB3B"}
1
+ {"version":3,"file":"stateTransition.d.ts","sourceRoot":"","sources":["../src/stateTransition.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,IAAI,EAAM,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EAAC,iBAAiB,EAAiD,MAAM,yBAAyB,CAAC;AAE1G,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAuB,wBAAwB,EAAqB,MAAM,iCAAiC,CAAC;AAEnH,OAAO,EAAC,4BAA4B,EAA0C,MAAM,cAAc,CAAC;AAYnG,OAAO,EACL,yBAAyB,EAQ1B,MAAM,YAAY,CAAC;AAMpB,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GACjD,wBAAwB,GACxB,gBAAgB,GAAG;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEJ,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,CAAC,EAAE,4BAA4B,GAAG,IAAI,CAAC;IAC9C,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC5C,CAAC;AAEF,UAAU,gBAAgB;IACxB,yBAAyB,CACvB,YAAY,EAAE,KAAK,EACnB,eAAe,EAAE,MAAM,EAAE,EACzB,KAAK,EAAE,MAAM,EAAE,EACf,iBAAiB,EAAE,OAAO,EAAE,EAC5B,iBAAiB,EAAE,OAAO,EAAE,EAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,IAAI,CAAC;CACT;AAED;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,eAAe,oBAAoB;IACnC,YAAY,iBAAiB;CAC9B;AAED;;GAEG;AACH,oBAAY,uBAAuB;IACjC,eAAe,qBAAqB;IACpC,eAAe,qBAAqB;IACpC,eAAe,sBAAsB;IACrC,gBAAgB,uBAAuB;IACvC,UAAU,gBAAgB;IAC1B,mBAAmB,2BAA2B;IAC9C,wBAAwB,gCAAgC;CACzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,yBAAyB,EAChC,WAAW,EAAE,iBAAiB,GAAG,wBAAwB,EACzD,OAAO,GAAE,mBAIR,EACD,EAAC,OAAO,EAAE,gBAAgB,EAAC,GAAE,sBAA2B,GACvD,yBAAyB,CA8D3B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,yBAAyB,EAChC,IAAI,EAAE,IAAI,EACV,wBAAwB,CAAC,EAAE,wBAAwB,GAAG;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAC,EACnF,EAAC,OAAO,EAAE,gBAAgB,EAAC,GAAE,sBAA2B,GACvD,yBAAyB,CAiB3B"}
@@ -29,6 +29,7 @@ export var StateHashTreeRootSource;
29
29
  StateHashTreeRootSource["prepareNextEpoch"] = "prepare_next_epoch";
30
30
  StateHashTreeRootSource["regenState"] = "regen_state";
31
31
  StateHashTreeRootSource["computeNewStateRoot"] = "compute_new_state_root";
32
+ StateHashTreeRootSource["computeEnvelopeStateRoot"] = "compute_envelope_state_root";
32
33
  })(StateHashTreeRootSource || (StateHashTreeRootSource = {}));
33
34
  /**
34
35
  * Implementation Note: follows the optimizations in protolambda's eth2fastspec (https://github.com/protolambda/eth2fastspec)
@@ -1 +1 @@
1
- {"version":3,"file":"stateTransition.js","sourceRoot":"","sources":["../src/stateTransition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stateTransition.js","sourceRoot":"","sources":["../src/stateTransition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import { CompactMultiProof } from "@chainsafe/persistent-merkle-tree";
2
+ import { ByteViews } from "@chainsafe/ssz";
3
+ import { BeaconConfig } from "@lodestar/config";
4
+ import { BeaconBlock, BlindedBeaconBlock, BuilderIndex, Bytes32, Epoch, ExecutionPayloadBid, ExecutionPayloadHeader, Root, RootHex, SignedBeaconBlock, SignedBlindedBeaconBlock, Slot, SyncCommittee, ValidatorIndex, capella, electra, fulu, gloas, phase0, rewards } from "@lodestar/types";
5
+ import { Checkpoint, Fork } from "@lodestar/types/phase0";
6
+ import { VoluntaryExitValidity } from "../block/processVoluntaryExit.js";
7
+ import { EffectiveBalanceIncrements } from "../cache/effectiveBalanceIncrements.js";
8
+ import { EpochTransitionCacheOpts } from "../cache/epochTransitionCache.js";
9
+ import { RewardCache } from "../cache/rewardCache.js";
10
+ import { CachedBeaconStateAllForks } from "../cache/stateCache.js";
11
+ import { SyncCommitteeCache } from "../cache/syncCommitteeCache.js";
12
+ import { SyncCommitteeWitness } from "../lightClient/types.js";
13
+ import { StateTransitionModules, StateTransitionOpts } from "../stateTransition.js";
14
+ import { EpochShuffling } from "../util/epochShuffling.js";
15
+ import { IBeaconStateView } from "./interface.js";
16
+ export declare class BeaconStateView implements IBeaconStateView {
17
+ readonly cachedState: CachedBeaconStateAllForks;
18
+ private readonly config;
19
+ private _fork;
20
+ private _latestBlockHeader;
21
+ private _currentSyncCommittee;
22
+ private _nextSyncCommittee;
23
+ private _previousEpochParticipation;
24
+ private _currentEpochParticipation;
25
+ private _latestExecutionPayloadHeader;
26
+ private _historicalSummaries;
27
+ private _pendingPartialWithdrawals;
28
+ private _pendingConsolidations;
29
+ private _pendingDeposits;
30
+ private _proposerLookahead;
31
+ private _executionPayloadAvailability;
32
+ private _latestExecutionPayloadBid;
33
+ constructor(cachedState: CachedBeaconStateAllForks);
34
+ get slot(): number;
35
+ get fork(): Fork;
36
+ get epoch(): number;
37
+ get genesisTime(): number;
38
+ get genesisValidatorsRoot(): Root;
39
+ get eth1Data(): phase0.Eth1Data;
40
+ get latestBlockHeader(): phase0.BeaconBlockHeader;
41
+ get previousJustifiedCheckpoint(): Checkpoint;
42
+ get currentJustifiedCheckpoint(): Checkpoint;
43
+ get finalizedCheckpoint(): Checkpoint;
44
+ getBlockRootAtSlot(slot: Slot): Root;
45
+ getBlockRootAtEpoch(epoch: Epoch): Root;
46
+ getStateRootAtSlot(slot: Slot): Root;
47
+ getRandaoMix(epoch: Epoch): Bytes32;
48
+ get previousEpochParticipation(): number[];
49
+ get currentEpochParticipation(): number[];
50
+ get latestExecutionPayloadHeader(): ExecutionPayloadHeader;
51
+ get historicalSummaries(): capella.HistoricalSummaries;
52
+ get pendingDeposits(): electra.PendingDeposits;
53
+ get pendingDepositsCount(): number;
54
+ get pendingPartialWithdrawals(): electra.PendingPartialWithdrawals;
55
+ get pendingPartialWithdrawalsCount(): number;
56
+ get pendingConsolidations(): electra.PendingConsolidations;
57
+ get pendingConsolidationsCount(): number;
58
+ get proposerLookahead(): fulu.ProposerLookahead;
59
+ get executionPayloadAvailability(): boolean[];
60
+ get latestExecutionPayloadBid(): ExecutionPayloadBid;
61
+ getBuilder(index: BuilderIndex): gloas.Builder;
62
+ canBuilderCoverBid(builderIndex: BuilderIndex, bidAmount: number): boolean;
63
+ /**
64
+ * Return the index of the validator in the PTC committee for the given slot.
65
+ * return -1 if validator is not in the PTC committee for the given slot.
66
+ */
67
+ validatorPTCCommitteeIndex(validatorIndex: ValidatorIndex, slot: Slot): number;
68
+ getShufflingAtEpoch(epoch: Epoch): EpochShuffling;
69
+ get previousDecisionRoot(): RootHex;
70
+ get currentDecisionRoot(): RootHex;
71
+ get nextDecisionRoot(): RootHex;
72
+ getShufflingDecisionRoot(epoch: Epoch): RootHex;
73
+ getPreviousShuffling(): EpochShuffling;
74
+ getCurrentShuffling(): EpochShuffling;
75
+ getNextShuffling(): EpochShuffling;
76
+ get previousProposers(): ValidatorIndex[] | null;
77
+ get currentProposers(): ValidatorIndex[];
78
+ get nextProposers(): ValidatorIndex[];
79
+ getBeaconProposer(slot: number): ValidatorIndex;
80
+ computeAnchorCheckpoint(): {
81
+ checkpoint: phase0.Checkpoint;
82
+ blockHeader: phase0.BeaconBlockHeader;
83
+ };
84
+ get currentSyncCommittee(): SyncCommittee;
85
+ get nextSyncCommittee(): SyncCommittee;
86
+ get currentSyncCommitteeIndexed(): SyncCommitteeCache;
87
+ get syncProposerReward(): number;
88
+ getIndexedSyncCommitteeAtEpoch(epoch: Epoch): SyncCommitteeCache;
89
+ get effectiveBalanceIncrements(): EffectiveBalanceIncrements;
90
+ getEffectiveBalanceIncrementsZeroInactive(): EffectiveBalanceIncrements;
91
+ getBalance(index: number): number;
92
+ getValidator(index: ValidatorIndex): phase0.Validator;
93
+ getValidatorsByStatus(statuses: Set<string>, currentEpoch: Epoch): phase0.Validator[];
94
+ get validatorCount(): number;
95
+ get activeValidatorCount(): number;
96
+ getAllValidators(): phase0.Validator[];
97
+ getAllBalances(): number[];
98
+ get isExecutionStateType(): boolean;
99
+ isExecutionEnabled(block: BeaconBlock | BlindedBeaconBlock): boolean;
100
+ get isMergeTransitionComplete(): boolean;
101
+ getExpectedWithdrawals(): {
102
+ expectedWithdrawals: capella.Withdrawal[];
103
+ processedBuilderWithdrawalsCount: number;
104
+ processedPartialWithdrawalsCount: number;
105
+ processedBuildersSweepCount: number;
106
+ processedValidatorSweepCount: number;
107
+ };
108
+ get proposerRewards(): RewardCache;
109
+ computeBlockRewards(block: BeaconBlock, proposerRewards?: RewardCache): Promise<rewards.BlockRewards>;
110
+ computeAttestationsRewards(validatorIds?: (ValidatorIndex | string)[]): Promise<rewards.AttestationsRewards>;
111
+ computeSyncCommitteeRewards(block: BeaconBlock, validatorIds: (ValidatorIndex | string)[]): Promise<rewards.SyncCommitteeRewards>;
112
+ getLatestWeakSubjectivityCheckpointEpoch(): Epoch;
113
+ getVoluntaryExitValidity(signedVoluntaryExit: phase0.SignedVoluntaryExit, verifySignature?: boolean): VoluntaryExitValidity;
114
+ isValidVoluntaryExit(signedVoluntaryExit: phase0.SignedVoluntaryExit, verifySignature: boolean): boolean;
115
+ getFinalizedRootProof(): Uint8Array[];
116
+ getSyncCommitteesWitness(): SyncCommitteeWitness;
117
+ getSingleProof(gindex: bigint): Uint8Array[];
118
+ createMultiProof(descriptor: Uint8Array): CompactMultiProof;
119
+ computeUnrealizedCheckpoints(): {
120
+ justifiedCheckpoint: phase0.Checkpoint;
121
+ finalizedCheckpoint: phase0.Checkpoint;
122
+ };
123
+ get clonedCount(): number;
124
+ get clonedCountWithTransferCache(): number;
125
+ get createdWithTransferCache(): boolean;
126
+ isStateValidatorsNodesPopulated(): boolean;
127
+ loadOtherState(stateBytes: Uint8Array, seedValidatorsBytes?: Uint8Array): IBeaconStateView;
128
+ serialize(): Uint8Array;
129
+ serializedSize(): number;
130
+ serializeToBytes(output: ByteViews, offset: number): number;
131
+ serializeValidators(): Uint8Array;
132
+ serializedValidatorsSize(): number;
133
+ serializeValidatorsToBytes(output: ByteViews, offset: number): number;
134
+ hashTreeRoot(): Uint8Array;
135
+ stateTransition(signedBlock: SignedBeaconBlock | SignedBlindedBeaconBlock, options: StateTransitionOpts, { metrics, validatorMonitor }: StateTransitionModules): IBeaconStateView;
136
+ processSlots(slot: Slot, epochTransitionCacheOpts?: EpochTransitionCacheOpts & {
137
+ dontTransferCache?: boolean;
138
+ }, modules?: StateTransitionModules): IBeaconStateView;
139
+ }
140
+ /**
141
+ * Create BeaconStateView for historical state regen, no need to sync pubkey cache there.
142
+ */
143
+ export declare function createBeaconStateViewForHistoricalRegen(config: BeaconConfig, stateBytes: Uint8Array): IBeaconStateView;
144
+ //# sourceMappingURL=beaconStateView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beaconStateView.d.ts","sourceRoot":"","sources":["../../src/stateView/beaconStateView.ts"],"names":[],"mappings":"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"}