hdp_primitives/processed_types/
mpt.rs

1use alloy::primitives::Bytes;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Eq, Hash)]
5pub struct ProcessedMPTProof {
6    pub block_number: u64,
7    pub proof: Vec<Bytes>,
8}
9
10impl ProcessedMPTProof {
11    pub fn new(block_number: u64, proof: Vec<Bytes>) -> Self {
12        ProcessedMPTProof {
13            block_number,
14            proof,
15        }
16    }
17}
18
19#[cfg(test)]
20mod tests {
21    use std::fs;
22
23    use super::*;
24
25    #[test]
26    fn test_mpt_proof() {
27        let processed_string = fs::read_to_string("fixtures/processed/mpt.json").unwrap();
28        let processed_mpt: ProcessedMPTProof = serde_json::from_str(&processed_string).unwrap();
29        assert_eq!(processed_mpt.block_number, 5244634);
30        assert_eq!(processed_mpt.proof.len(), 8);
31    }
32}