bal-archive
Local, verified history of contract storage. Accumulates every change from
EIP-7928 BALs into an embedded redb file,
backfills older blocks, handles reorgs, and answers "what was in slot X at block N"
with one ordered seek. Knows blocks and slots; knows nothing about
Solidity — see bal-layout for names.
use ;
use ;
use JsonRpcSource;
# async
Every stored word carries its Provenance (Bal, Proof, or opt-in
Unverified/Imported). Every miss is a typed NotAvailable. All
methods take &self: share the archive in an Arc and read while sync
runs.
sync(&node, Some(&state)) additionally proves the earlier value of newly
seen slots with eth_getProof while the node's state window allows — an
optional shortcut for what backfill reads from blocks.
Key layout, backfill and creation rules, reorg handling and the trust model are
documented in the repository
(docs/DECISIONS.md, docs/SECURITY-AUDIT.md).