The tiny library verifies an ext_getStorageProof response against the reported
Nomt state_root, checks that the opened key matches the requested
(contract_address, slot) pair, and decodes the verified value as U256.
use alloy_primitives::{Address, U256};
use eth_proofs_minimal::{verify_storage_proof, GetProofResponse};
fn verify(
address: Address,
slot: U256,
response: GetProofResponse,
) -> Result<U256, eth_proofs_minimal::ProofVerificationError> {
verify_storage_proof(address, slot, response)
}The binary keeps the existing fetch-and-print behavior and is enabled by the
default cli feature.
cargo run -- \
--rpc-url http://localhost:12346/rpc \
--contract-address 0x1234567890123456789012345678901234567890 \
--slot 0If you only want the library, disable default features:
cargo check --no-default-features --libDirect dependencies always used by the library:
sov-statebcssha2alloy-primitivesserdethiserror
Binary-only direct dependencies behind the cli feature:
clapjsonrpseetokio