miden_node_proto/generated/
smt.rs

1// This file is @generated by prost-build.
2/// Represents a single SMT leaf entry.
3#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4pub struct SmtLeafEntry {
5    /// The key of the entry.
6    #[prost(message, optional, tag = "1")]
7    pub key: ::core::option::Option<super::digest::Digest>,
8    /// The value of the entry.
9    #[prost(message, optional, tag = "2")]
10    pub value: ::core::option::Option<super::digest::Digest>,
11}
12/// Represents multiple leaf entries in an SMT.
13#[derive(Clone, PartialEq, ::prost::Message)]
14pub struct SmtLeafEntries {
15    /// The entries list.
16    #[prost(message, repeated, tag = "1")]
17    pub entries: ::prost::alloc::vec::Vec<SmtLeafEntry>,
18}
19/// A leaf in an SMT, sitting at depth 64. A leaf can contain 0, 1 or multiple leaf entries.
20#[derive(Clone, PartialEq, ::prost::Message)]
21pub struct SmtLeaf {
22    #[prost(oneof = "smt_leaf::Leaf", tags = "1, 2, 3")]
23    pub leaf: ::core::option::Option<smt_leaf::Leaf>,
24}
25/// Nested message and enum types in `SmtLeaf`.
26pub mod smt_leaf {
27    #[derive(Clone, PartialEq, ::prost::Oneof)]
28    pub enum Leaf {
29        /// An empty leaf.
30        #[prost(uint64, tag = "1")]
31        Empty(u64),
32        /// A single leaf entry.
33        #[prost(message, tag = "2")]
34        Single(super::SmtLeafEntry),
35        /// Multiple leaf entries.
36        #[prost(message, tag = "3")]
37        Multiple(super::SmtLeafEntries),
38    }
39}
40/// The opening of a leaf in an SMT.
41#[derive(Clone, PartialEq, ::prost::Message)]
42pub struct SmtOpening {
43    /// The merkle path to the leaf.
44    #[prost(message, optional, tag = "1")]
45    pub path: ::core::option::Option<super::merkle::MerklePath>,
46    /// The leaf itself.
47    #[prost(message, optional, tag = "2")]
48    pub leaf: ::core::option::Option<SmtLeaf>,
49}