penumbra_sdk_proto/gen/
penumbra.crypto.tct.v1.rs

1// This file is @generated by prost-build.
2#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct StateCommitment {
4    #[prost(bytes = "vec", tag = "1")]
5    pub inner: ::prost::alloc::vec::Vec<u8>,
6}
7impl ::prost::Name for StateCommitment {
8    const NAME: &'static str = "StateCommitment";
9    const PACKAGE: &'static str = "penumbra.crypto.tct.v1";
10    fn full_name() -> ::prost::alloc::string::String {
11        "penumbra.crypto.tct.v1.StateCommitment".into()
12    }
13    fn type_url() -> ::prost::alloc::string::String {
14        "/penumbra.crypto.tct.v1.StateCommitment".into()
15    }
16}
17#[derive(Clone, PartialEq, ::prost::Message)]
18pub struct MerkleRoot {
19    #[prost(bytes = "vec", tag = "1")]
20    pub inner: ::prost::alloc::vec::Vec<u8>,
21}
22impl ::prost::Name for MerkleRoot {
23    const NAME: &'static str = "MerkleRoot";
24    const PACKAGE: &'static str = "penumbra.crypto.tct.v1";
25    fn full_name() -> ::prost::alloc::string::String {
26        "penumbra.crypto.tct.v1.MerkleRoot".into()
27    }
28    fn type_url() -> ::prost::alloc::string::String {
29        "/penumbra.crypto.tct.v1.MerkleRoot".into()
30    }
31}
32/// An authentication path from a state commitment to the root of the state commitment tree.
33#[derive(Clone, PartialEq, ::prost::Message)]
34pub struct StateCommitmentProof {
35    #[prost(message, optional, tag = "1")]
36    pub note_commitment: ::core::option::Option<StateCommitment>,
37    #[prost(uint64, tag = "2")]
38    pub position: u64,
39    /// always length 24
40    #[prost(message, repeated, tag = "3")]
41    pub auth_path: ::prost::alloc::vec::Vec<MerklePathChunk>,
42}
43impl ::prost::Name for StateCommitmentProof {
44    const NAME: &'static str = "StateCommitmentProof";
45    const PACKAGE: &'static str = "penumbra.crypto.tct.v1";
46    fn full_name() -> ::prost::alloc::string::String {
47        "penumbra.crypto.tct.v1.StateCommitmentProof".into()
48    }
49    fn type_url() -> ::prost::alloc::string::String {
50        "/penumbra.crypto.tct.v1.StateCommitmentProof".into()
51    }
52}
53/// A set of 3 sibling hashes in the auth path for some note commitment.
54#[derive(Clone, PartialEq, ::prost::Message)]
55pub struct MerklePathChunk {
56    #[prost(bytes = "vec", tag = "1")]
57    pub sibling_1: ::prost::alloc::vec::Vec<u8>,
58    #[prost(bytes = "vec", tag = "2")]
59    pub sibling_2: ::prost::alloc::vec::Vec<u8>,
60    #[prost(bytes = "vec", tag = "3")]
61    pub sibling_3: ::prost::alloc::vec::Vec<u8>,
62}
63impl ::prost::Name for MerklePathChunk {
64    const NAME: &'static str = "MerklePathChunk";
65    const PACKAGE: &'static str = "penumbra.crypto.tct.v1";
66    fn full_name() -> ::prost::alloc::string::String {
67        "penumbra.crypto.tct.v1.MerklePathChunk".into()
68    }
69    fn type_url() -> ::prost::alloc::string::String {
70        "/penumbra.crypto.tct.v1.MerklePathChunk".into()
71    }
72}