
A contract shipped without the event you needed. The data is all in the chain history, but the log was never emitted, so nothing indexes it. The usual fix is to re-execute the range yourself and rebuild the state by hand. Erigon's overlay namespace does it as a query instead. You supply a version of the contract with the events you wish it had emitted, the node replays the historical blocks against that bytecode, and you get back the logs it would have produced. Nothing is deployed and no on-chain state is touched. overlay_getLogs runs it across a block range. overlay_callConstructor gives you the deployed bytecode to start from. Why it works this way: the state is already there, and Erigon keeps history as immutable files it can replay cheaply. Retro-fitting observability is a read, not a migration. The constraint is honest. Overlay replays historical state, so it needs a node that still has it, and the call fails on pruned blocks. Enable with --http.api=...,overlay https://t.co/6Ugkt9PYUW #Erigon #Ethereum
