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}