diff --git a/packages/beacon-node/src/api/impl/beacon/state/utils.ts b/packages/beacon-node/src/api/impl/beacon/state/utils.ts index b7af79f2d73d..bd5364199ce0 100644 --- a/packages/beacon-node/src/api/impl/beacon/state/utils.ts +++ b/packages/beacon-node/src/api/impl/beacon/state/utils.ts @@ -71,9 +71,11 @@ export async function getStateResponseWithRegen( typeof stateId === "string" ? await chain.getStateByStateRoot(stateId, {allowRegen: true}) : typeof stateId === "number" - ? stateId >= chain.forkChoice.getFinalizedBlock().slot - ? await chain.getStateBySlot(stateId, {allowRegen: true}) - : await chain.getHistoricalStateBySlot(stateId) + ? stateId > chain.clock.currentSlot + ? null // Don't try to serve future slots + : stateId >= chain.forkChoice.getFinalizedBlock().slot + ? await chain.getStateBySlot(stateId, {allowRegen: true}) + : await chain.getHistoricalStateBySlot(stateId) : await chain.getStateOrBytesByCheckpoint(stateId); if (!res) {