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}