Make state cache payload status aware

This commit is contained in:
Michael Sproul
2026-02-25 13:21:48 +11:00
parent a09839df1f
commit 984f0d70e0
13 changed files with 181 additions and 36 deletions

View File

@@ -305,8 +305,16 @@ impl<T: BeaconChainTypes> CanonicalHead<T> {
.get_full_block(&beacon_block_root)?
.ok_or(Error::MissingBeaconBlock(beacon_block_root))?;
let current_slot = fork_choice.fc_store().get_current_slot();
// TODO(gloas): pass a better payload status once fork choice is implemented
let payload_status = StatePayloadStatus::Pending;
let (_, beacon_state) = store
.get_advanced_hot_state(beacon_block_root, current_slot, beacon_block.state_root())?
.get_advanced_hot_state(
beacon_block_root,
payload_status,
current_slot,
beacon_block.state_root(),
)?
.ok_or(Error::MissingBeaconState(beacon_block.state_root()))?;
let snapshot = BeaconSnapshot {
@@ -673,10 +681,13 @@ impl<T: BeaconChainTypes> BeaconChain<T> {
.get_full_block(&new_view.head_block_root)?
.ok_or(Error::MissingBeaconBlock(new_view.head_block_root))?;
// TODO(gloas): update once we have fork choice
let payload_status = StatePayloadStatus::Pending;
let (_, beacon_state) = self
.store
.get_advanced_hot_state(
new_view.head_block_root,
payload_status,
current_slot,
beacon_block.state_root(),
)?