provwasm_std/types/tendermint/
crypto.rs

1use provwasm_proc_macro::CosmwasmExt;
2#[allow(clippy::derive_partial_eq_without_eq)]
3#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
4#[proto_message(type_url = "/tendermint.crypto.Proof")]
5pub struct Proof {
6    #[prost(int64, tag = "1")]
7    pub total: i64,
8    #[prost(int64, tag = "2")]
9    pub index: i64,
10    #[prost(bytes = "vec", tag = "3")]
11    pub leaf_hash: ::prost::alloc::vec::Vec<u8>,
12    #[prost(bytes = "vec", repeated, tag = "4")]
13    pub aunts: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
14}
15#[allow(clippy::derive_partial_eq_without_eq)]
16#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
17#[proto_message(type_url = "/tendermint.crypto.ValueOp")]
18pub struct ValueOp {
19    /// Encoded in ProofOp.Key.
20    #[prost(bytes = "vec", tag = "1")]
21    pub key: ::prost::alloc::vec::Vec<u8>,
22    /// To encode in ProofOp.Data
23    #[prost(message, optional, tag = "2")]
24    pub proof: ::core::option::Option<Proof>,
25}
26#[allow(clippy::derive_partial_eq_without_eq)]
27#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
28#[proto_message(type_url = "/tendermint.crypto.DominoOp")]
29pub struct DominoOp {
30    #[prost(string, tag = "1")]
31    pub key: ::prost::alloc::string::String,
32    #[prost(string, tag = "2")]
33    pub input: ::prost::alloc::string::String,
34    #[prost(string, tag = "3")]
35    pub output: ::prost::alloc::string::String,
36}
37/// ProofOp defines an operation used for calculating Merkle root
38/// The data could be arbitrary format, providing nessecary data
39/// for example neighbouring node hash
40#[allow(clippy::derive_partial_eq_without_eq)]
41#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
42#[proto_message(type_url = "/tendermint.crypto.ProofOp")]
43pub struct ProofOp {
44    #[prost(string, tag = "1")]
45    pub r#type: ::prost::alloc::string::String,
46    #[prost(bytes = "vec", tag = "2")]
47    pub key: ::prost::alloc::vec::Vec<u8>,
48    #[prost(bytes = "vec", tag = "3")]
49    pub data: ::prost::alloc::vec::Vec<u8>,
50}
51/// ProofOps is Merkle proof defined by the list of ProofOps
52#[allow(clippy::derive_partial_eq_without_eq)]
53#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
54#[proto_message(type_url = "/tendermint.crypto.ProofOps")]
55pub struct ProofOps {
56    #[prost(message, repeated, tag = "1")]
57    pub ops: ::prost::alloc::vec::Vec<ProofOp>,
58}
59/// PublicKey defines the keys available for use with Validators
60#[allow(clippy::derive_partial_eq_without_eq)]
61#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
62#[proto_message(type_url = "/tendermint.crypto.PublicKey")]
63pub struct PublicKey {
64    #[prost(oneof = "public_key::Sum", tags = "1, 2")]
65    pub sum: ::core::option::Option<public_key::Sum>,
66}
67/// Nested message and enum types in `PublicKey`.
68pub mod public_key {
69    use provwasm_proc_macro::CosmwasmExt;
70    #[allow(clippy::derive_partial_eq_without_eq)]
71    #[derive(Clone, PartialEq, Eq, ::prost::Oneof, ::schemars::JsonSchema)]
72    pub enum Sum {
73        #[prost(bytes, tag = "1")]
74        Ed25519(::prost::alloc::vec::Vec<u8>),
75        #[prost(bytes, tag = "2")]
76        Secp256k1(::prost::alloc::vec::Vec<u8>),
77    }
78}