elys_std/types/tendermint/
crypto.rs

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