Skip to main content

Module roots

Module roots 

Source
Expand description

Cold-start root baseline (roots.bin): persist observed storage roots so a restarting process can cheaply detect which tracked accounts changed while it was down.

An account’s storage-trie root (storageHash) is a collision-resistant commitment over all of that account’s storage, so root_unchanged ⟹ nothing under the account changed. The baseline compares the on-chain root across time — never a locally-reconstructed root against the chain: on restart, probe each tracked account’s root now and, where it equals the persisted baseline, the cached tracked slots are provably current and are not re-read. Where it diverges (or no baseline exists, or the probe fails), the tracked slots are re-read and the new root adopted.

This is a currency gate, not a completeness gate (spec §6): an unchanged root proves the tracked subset did not change, but it cannot tell you that a slot you should have been tracking was missing all along.

Structs§

RootBaseline
A persisted map of Address -> B256 storage roots — each tracked account’s last observed on-chain storage root (storageHash from eth_getProof).
RootBaselinePlanner
A restart planner that root-gates the tracked working set (Phase-8 §5.5).
RootProbeOutcome
The outcome of one declared probe-roots address: the storage root the account-proof fetcher observed at the pinned block, or None when it could not be observed.