-
Notifications
You must be signed in to change notification settings - Fork 224
/
tendermint.crypto.rs
64 lines (64 loc) · 2.13 KB
/
tendermint.crypto.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Proof {
#[prost(int64, tag="1")]
pub total: i64,
#[prost(int64, tag="2")]
pub index: i64,
#[prost(bytes, tag="3")]
pub leaf_hash: std::vec::Vec<u8>,
#[prost(bytes, repeated, tag="4")]
pub aunts: ::std::vec::Vec<std::vec::Vec<u8>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ValueOp {
/// Encoded in ProofOp.Key.
#[prost(bytes, tag="1")]
pub key: std::vec::Vec<u8>,
/// To encode in ProofOp.Data
#[prost(message, optional, tag="2")]
pub proof: ::std::option::Option<Proof>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DominoOp {
#[prost(string, tag="1")]
pub key: std::string::String,
#[prost(string, tag="2")]
pub input: std::string::String,
#[prost(string, tag="3")]
pub output: std::string::String,
}
/// ProofOp defines an operation used for calculating Merkle root
/// The data could be arbitrary format, providing nessecary data
/// for example neighbouring node hash
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProofOp {
#[prost(string, tag="1")]
pub r#type: std::string::String,
#[prost(bytes, tag="2")]
pub key: std::vec::Vec<u8>,
#[prost(bytes, tag="3")]
pub data: std::vec::Vec<u8>,
}
/// ProofOps is Merkle proof defined by the list of ProofOps
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProofOps {
#[prost(message, repeated, tag="1")]
pub ops: ::std::vec::Vec<ProofOp>,
}
/// PublicKey defines the keys available for use with Tendermint Validators
#[derive(Clone, PartialEq, ::prost::Message)]
#[derive(::serde::Deserialize, ::serde::Serialize)]
pub struct PublicKey {
#[prost(oneof="public_key::Sum", tags="1")]
pub sum: ::std::option::Option<public_key::Sum>,
}
pub mod public_key {
#[derive(Clone, PartialEq, ::prost::Oneof)]
#[derive(::serde::Deserialize, ::serde::Serialize)]
#[serde(tag = "type", content = "value")]
pub enum Sum {
#[prost(bytes, tag="1")]
#[serde(rename = "tendermint/PubKeyEd25519", with = "crate::serializers::bytes::base64string")]
Ed25519(std::vec::Vec<u8>),
}
}