hbbft/proto/message.proto

55 lines
829 B
Protocol Buffer

syntax = "proto3";
message MessageProto {
oneof payload {
BroadcastProto broadcast = 1;
AgreementProto agreement = 2;
}
}
message BroadcastProto {
oneof payload {
ValueProto value = 1;
EchoProto echo = 2;
ReadyProto ready = 3;
}
}
message ValueProto {
ProofProto proof = 1;
}
message EchoProto {
ProofProto proof = 1;
}
message ReadyProto {
bytes root_hash = 1;
}
message ProofProto {
bytes root_hash = 1;
LemmaProto lemma = 2;
bytes value = 3;
}
message LemmaProto {
bytes node_hash = 1;
LemmaProto sub_lemma = 2;
oneof sibling_hash {
bytes left_sibling_hash = 3;
bytes right_sibling_hash = 4;
}
}
message AgreementProto {
uint32 epoch = 1;
oneof payload {
bool bval = 2;
bool aux = 3;
uint32 conf = 4;
bool term = 5;
bytes coin = 6;
}
}