Skip to main content

agglayer_tries/
node.rs

1use agglayer_primitives::{keccak::keccak256_combine, Digest};
2use serde::{Deserialize, Serialize};
3use serde_with::serde_as;
4
5/// A node in an SMT
6#[serde_as]
7#[derive(Clone, Copy, Debug, Serialize, Deserialize, PartialEq)]
8pub struct Node {
9    #[serde_as(as = "_")]
10    pub left: Digest,
11
12    #[serde_as(as = "_")]
13    pub right: Digest,
14}
15
16impl Node {
17    #[inline]
18    pub fn hash(&self) -> Digest {
19        keccak256_combine([self.left.as_ref(), self.right.as_ref()])
20    }
21}