alloy_rpc_types_debug/debug.rs
1//! Types for the `debug` API.
2
3use alloy_primitives::Bytes;
4use serde::{Deserialize, Serialize};
5
6/// Represents the execution witness of a block. Contains an optional map of state preimages.
7#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
8pub struct ExecutionWitness {
9 /// List of all hashed trie nodes preimages that were required during the execution of
10 /// the block, including during state root recomputation.
11 pub state: Vec<Bytes>,
12 /// List of all contract codes (created / accessed) preimages that were required during
13 /// the execution of the block, including during state root recomputation.
14 pub codes: Vec<Bytes>,
15 /// List of all hashed account and storage keys (addresses and slots) preimages
16 /// (unhashed account addresses and storage slots, respectively) that were required during
17 /// the execution of the block.
18 pub keys: Vec<Bytes>,
19}