light_indexed_array/
changelog.rs

1/// NET_HEIGHT = HEIGHT -  CANOPY_DEPTH
2#[derive(Clone, Debug, PartialEq, Eq)]
3pub struct IndexedChangelogEntry<I, const NET_HEIGHT: usize>
4where
5    I: Clone,
6{
7    /// Element that was a subject to the change.
8    pub element: RawIndexedElement<I>,
9    /// Merkle proof of that operation.
10    pub proof: [[u8; 32]; NET_HEIGHT],
11    /// Index of a changelog entry in `ConcurrentMerkleTree` corresponding to
12    /// the same operation.
13    pub changelog_index: usize,
14}
15
16#[derive(Debug, Default, Clone, Copy, Eq, PartialEq)]
17pub struct RawIndexedElement<I>
18where
19    I: Clone,
20{
21    pub value: [u8; 32],
22    pub next_index: I,
23    pub next_value: [u8; 32],
24    pub index: I,
25}