provwasm_std/types/tendermint/
crypto.rs

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