#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ValidatorSet {
#[prost(string, repeated, tag = "1")]
pub validators: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TbftMsg {
#[prost(enumeration = "TbftMsgType", tag = "1")]
pub r#type: i32,
#[prost(bytes = "vec", tag = "2")]
pub msg: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Proposal {
#[prost(string, tag = "1")]
pub voter: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub height: u64,
#[prost(int32, tag = "3")]
pub round: i32,
#[prost(int32, tag = "4")]
pub pol_round: i32,
#[prost(message, optional, tag = "5")]
pub block: ::core::option::Option<super::common::Block>,
#[prost(message, optional, tag = "6")]
pub endorsement: ::core::option::Option<super::common::EndorsementEntry>,
#[prost(map = "string, message", tag = "7")]
pub txs_rw_set:
::std::collections::HashMap<::prost::alloc::string::String, super::common::TxRwSet>,
#[prost(message, repeated, tag = "8")]
pub qc: ::prost::alloc::vec::Vec<Vote>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Vote {
#[prost(enumeration = "VoteType", tag = "1")]
pub r#type: i32,
#[prost(string, tag = "2")]
pub voter: ::prost::alloc::string::String,
#[prost(uint64, tag = "3")]
pub height: u64,
#[prost(int32, tag = "4")]
pub round: i32,
#[prost(bytes = "vec", tag = "5")]
pub hash: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "6")]
pub endorsement: ::core::option::Option<super::common::EndorsementEntry>,
#[prost(string, repeated, tag = "7")]
pub invalid_txs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BlockVotes {
#[prost(map = "string, message", tag = "1")]
pub votes: ::std::collections::HashMap<::prost::alloc::string::String, Vote>,
#[prost(uint64, tag = "2")]
pub sum: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VoteSet {
#[prost(enumeration = "VoteType", tag = "1")]
pub r#type: i32,
#[prost(uint64, tag = "2")]
pub height: u64,
#[prost(int32, tag = "3")]
pub round: i32,
#[prost(uint64, tag = "4")]
pub sum: u64,
#[prost(bytes = "vec", tag = "5")]
pub maj23: ::prost::alloc::vec::Vec<u8>,
#[prost(map = "string, message", tag = "6")]
pub votes: ::std::collections::HashMap<::prost::alloc::string::String, Vote>,
#[prost(map = "string, message", tag = "7")]
pub votes_by_block: ::std::collections::HashMap<::prost::alloc::string::String, BlockVotes>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoundVoteSet {
#[prost(uint64, tag = "1")]
pub height: u64,
#[prost(int32, tag = "2")]
pub round: i32,
#[prost(message, optional, tag = "3")]
pub prevotes: ::core::option::Option<VoteSet>,
#[prost(message, optional, tag = "4")]
pub precommits: ::core::option::Option<VoteSet>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeightRoundVoteSet {
#[prost(uint64, tag = "1")]
pub height: u64,
#[prost(int32, tag = "2")]
pub round: i32,
#[prost(map = "int32, message", tag = "3")]
pub round_vote_sets: ::std::collections::HashMap<i32, RoundVoteSet>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConsensusState {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub height: u64,
#[prost(int32, tag = "3")]
pub round: i32,
#[prost(enumeration = "Step", tag = "4")]
pub step: i32,
#[prost(message, optional, tag = "5")]
pub proposal: ::core::option::Option<Proposal>,
#[prost(message, optional, tag = "6")]
pub verifing_proposal: ::core::option::Option<Proposal>,
#[prost(message, optional, tag = "7")]
pub locked_proposal: ::core::option::Option<Proposal>,
#[prost(message, optional, tag = "8")]
pub valid_proposal: ::core::option::Option<Proposal>,
#[prost(message, optional, tag = "9")]
pub height_round_vote_set: ::core::option::Option<HeightRoundVoteSet>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FetchRoundQc {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub height: u64,
#[prost(int32, tag = "3")]
pub round: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoundQc {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub height: u64,
#[prost(int32, tag = "3")]
pub round: i32,
#[prost(message, optional, tag = "4")]
pub qc: ::core::option::Option<VoteSet>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GossipState {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub height: u64,
#[prost(int32, tag = "3")]
pub round: i32,
#[prost(enumeration = "Step", tag = "4")]
pub step: i32,
#[prost(bytes = "vec", tag = "5")]
pub proposal: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "6")]
pub verifing_proposal: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "7")]
pub round_vote_set: ::core::option::Option<RoundVoteSet>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TimeoutInfo {
#[prost(int64, tag = "1")]
pub duration: i64,
#[prost(uint64, tag = "2")]
pub height: u64,
#[prost(int32, tag = "3")]
pub round: i32,
#[prost(enumeration = "Step", tag = "4")]
pub step: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WalEntry {
#[prost(uint64, tag = "1")]
pub height: u64,
#[prost(enumeration = "WalEntryType", tag = "2")]
pub r#type: i32,
#[prost(bytes = "vec", tag = "3")]
pub data: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TbftMsgType {
MsgPropose = 0,
MsgPrevote = 1,
MsgPrecommit = 2,
MsgState = 3,
MsgFetchRoundqc = 4,
MsgSendRoundQc = 5,
}
impl TbftMsgType {
pub fn as_str_name(&self) -> &'static str {
match self {
TbftMsgType::MsgPropose => "MSG_PROPOSE",
TbftMsgType::MsgPrevote => "MSG_PREVOTE",
TbftMsgType::MsgPrecommit => "MSG_PRECOMMIT",
TbftMsgType::MsgState => "MSG_STATE",
TbftMsgType::MsgFetchRoundqc => "MSG_FETCH_ROUNDQC",
TbftMsgType::MsgSendRoundQc => "MSG_SEND_ROUND_QC",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MSG_PROPOSE" => Some(Self::MsgPropose),
"MSG_PREVOTE" => Some(Self::MsgPrevote),
"MSG_PRECOMMIT" => Some(Self::MsgPrecommit),
"MSG_STATE" => Some(Self::MsgState),
"MSG_FETCH_ROUNDQC" => Some(Self::MsgFetchRoundqc),
"MSG_SEND_ROUND_QC" => Some(Self::MsgSendRoundQc),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum VoteType {
VotePrevote = 0,
VotePrecommit = 1,
}
impl VoteType {
pub fn as_str_name(&self) -> &'static str {
match self {
VoteType::VotePrevote => "VOTE_PREVOTE",
VoteType::VotePrecommit => "VOTE_PRECOMMIT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"VOTE_PREVOTE" => Some(Self::VotePrevote),
"VOTE_PRECOMMIT" => Some(Self::VotePrecommit),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Step {
NewHeight = 0,
NewRound = 1,
Propose = 2,
Prevote = 3,
PrevoteWait = 4,
Precommit = 5,
PrecommitWait = 6,
Commit = 7,
}
impl Step {
pub fn as_str_name(&self) -> &'static str {
match self {
Step::NewHeight => "NEW_HEIGHT",
Step::NewRound => "NEW_ROUND",
Step::Propose => "PROPOSE",
Step::Prevote => "PREVOTE",
Step::PrevoteWait => "PREVOTE_WAIT",
Step::Precommit => "PRECOMMIT",
Step::PrecommitWait => "PRECOMMIT_WAIT",
Step::Commit => "COMMIT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NEW_HEIGHT" => Some(Self::NewHeight),
"NEW_ROUND" => Some(Self::NewRound),
"PROPOSE" => Some(Self::Propose),
"PREVOTE" => Some(Self::Prevote),
"PREVOTE_WAIT" => Some(Self::PrevoteWait),
"PRECOMMIT" => Some(Self::Precommit),
"PRECOMMIT_WAIT" => Some(Self::PrecommitWait),
"COMMIT" => Some(Self::Commit),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum WalEntryType {
TimeoutEntry = 0,
ProposalEntry = 1,
VoteEntry = 2,
ProposalVoteEntry = 3,
}
impl WalEntryType {
pub fn as_str_name(&self) -> &'static str {
match self {
WalEntryType::TimeoutEntry => "TIMEOUT_ENTRY",
WalEntryType::ProposalEntry => "PROPOSAL_ENTRY",
WalEntryType::VoteEntry => "VOTE_ENTRY",
WalEntryType::ProposalVoteEntry => "PROPOSAL_VOTE_ENTRY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"TIMEOUT_ENTRY" => Some(Self::TimeoutEntry),
"PROPOSAL_ENTRY" => Some(Self::ProposalEntry),
"VOTE_ENTRY" => Some(Self::VoteEntry),
"PROPOSAL_VOTE_ENTRY" => Some(Self::ProposalVoteEntry),
_ => None,
}
}
}