persistence_std/types/tendermint/
crypto.rs

1use persistence_std_derive::CosmwasmExt;
2#[allow(clippy::derive_partial_eq_without_eq)]
3#[derive(
4    Clone,
5    PartialEq,
6    Eq,
7    ::prost::Message,
8    ::serde::Serialize,
9    ::serde::Deserialize,
10    ::schemars::JsonSchema,
11    CosmwasmExt,
12)]
13#[proto_message(type_url = "/tendermint.crypto.Proof")]
14pub struct Proof {
15    #[prost(int64, tag = "1")]
16    #[serde(
17        serialize_with = "crate::serde::as_str::serialize",
18        deserialize_with = "crate::serde::as_str::deserialize"
19    )]
20    pub total: i64,
21    #[prost(int64, tag = "2")]
22    #[serde(
23        serialize_with = "crate::serde::as_str::serialize",
24        deserialize_with = "crate::serde::as_str::deserialize"
25    )]
26    pub index: i64,
27    #[prost(bytes = "vec", tag = "3")]
28    pub leaf_hash: ::prost::alloc::vec::Vec<u8>,
29    #[prost(bytes = "vec", repeated, tag = "4")]
30    pub aunts: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
31}
32#[allow(clippy::derive_partial_eq_without_eq)]
33#[derive(
34    Clone,
35    PartialEq,
36    Eq,
37    ::prost::Message,
38    ::serde::Serialize,
39    ::serde::Deserialize,
40    ::schemars::JsonSchema,
41    CosmwasmExt,
42)]
43#[proto_message(type_url = "/tendermint.crypto.ValueOp")]
44pub struct ValueOp {
45    /// Encoded in ProofOp.Key.
46    #[prost(bytes = "vec", tag = "1")]
47    pub key: ::prost::alloc::vec::Vec<u8>,
48    /// To encode in ProofOp.Data
49    #[prost(message, optional, tag = "2")]
50    pub proof: ::core::option::Option<Proof>,
51}
52#[allow(clippy::derive_partial_eq_without_eq)]
53#[derive(
54    Clone,
55    PartialEq,
56    Eq,
57    ::prost::Message,
58    ::serde::Serialize,
59    ::serde::Deserialize,
60    ::schemars::JsonSchema,
61    CosmwasmExt,
62)]
63#[proto_message(type_url = "/tendermint.crypto.DominoOp")]
64pub struct DominoOp {
65    #[prost(string, tag = "1")]
66    pub key: ::prost::alloc::string::String,
67    #[prost(string, tag = "2")]
68    pub input: ::prost::alloc::string::String,
69    #[prost(string, tag = "3")]
70    pub output: ::prost::alloc::string::String,
71}
72/// ProofOp defines an operation used for calculating Merkle root
73/// The data could be arbitrary format, providing nessecary data
74/// for example neighbouring node hash
75#[allow(clippy::derive_partial_eq_without_eq)]
76#[derive(
77    Clone,
78    PartialEq,
79    Eq,
80    ::prost::Message,
81    ::serde::Serialize,
82    ::serde::Deserialize,
83    ::schemars::JsonSchema,
84    CosmwasmExt,
85)]
86#[proto_message(type_url = "/tendermint.crypto.ProofOp")]
87pub struct ProofOp {
88    #[prost(string, tag = "1")]
89    pub r#type: ::prost::alloc::string::String,
90    #[prost(bytes = "vec", tag = "2")]
91    pub key: ::prost::alloc::vec::Vec<u8>,
92    #[prost(bytes = "vec", tag = "3")]
93    pub data: ::prost::alloc::vec::Vec<u8>,
94}
95/// ProofOps is Merkle proof defined by the list of ProofOps
96#[allow(clippy::derive_partial_eq_without_eq)]
97#[derive(
98    Clone,
99    PartialEq,
100    Eq,
101    ::prost::Message,
102    ::serde::Serialize,
103    ::serde::Deserialize,
104    ::schemars::JsonSchema,
105    CosmwasmExt,
106)]
107#[proto_message(type_url = "/tendermint.crypto.ProofOps")]
108pub struct ProofOps {
109    #[prost(message, repeated, tag = "1")]
110    pub ops: ::prost::alloc::vec::Vec<ProofOp>,
111}
112/// PublicKey defines the keys available for use with Validators
113#[allow(clippy::derive_partial_eq_without_eq)]
114#[derive(
115    Clone,
116    PartialEq,
117    Eq,
118    ::prost::Message,
119    ::serde::Serialize,
120    ::serde::Deserialize,
121    ::schemars::JsonSchema,
122    CosmwasmExt,
123)]
124#[proto_message(type_url = "/tendermint.crypto.PublicKey")]
125pub struct PublicKey {
126    #[prost(oneof = "public_key::Sum", tags = "1, 2")]
127    pub sum: ::core::option::Option<public_key::Sum>,
128}
129/// Nested message and enum types in `PublicKey`.
130pub mod public_key {
131    use persistence_std_derive::CosmwasmExt;
132    #[allow(clippy::derive_partial_eq_without_eq)]
133    #[derive(
134        Clone,
135        PartialEq,
136        Eq,
137        ::prost::Oneof,
138        ::schemars::JsonSchema,
139        ::serde::Serialize,
140        ::serde::Deserialize,
141    )]
142    pub enum Sum {
143        #[prost(bytes, tag = "1")]
144        Ed25519(::prost::alloc::vec::Vec<u8>),
145        #[prost(bytes, tag = "2")]
146        Secp256k1(::prost::alloc::vec::Vec<u8>),
147    }
148}