|
@ -145,12 +145,16 @@ message RequestProcessProposal { |
|
|
|
|
|
|
|
|
// Extends a vote with application-side injection |
|
|
// Extends a vote with application-side injection |
|
|
message RequestExtendVote { |
|
|
message RequestExtendVote { |
|
|
types.Vote vote = 1; |
|
|
|
|
|
|
|
|
bytes hash = 1; |
|
|
|
|
|
int64 height = 2; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// Verify the vote extension |
|
|
// Verify the vote extension |
|
|
message RequestVerifyVoteExtension { |
|
|
message RequestVerifyVoteExtension { |
|
|
types.Vote vote = 1; |
|
|
|
|
|
|
|
|
bytes hash = 1; |
|
|
|
|
|
bytes validator_address = 2; |
|
|
|
|
|
int64 height = 3; |
|
|
|
|
|
bytes vote_extension = 4; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
message RequestFinalizeBlock { |
|
|
message RequestFinalizeBlock { |
|
@ -342,7 +346,7 @@ message ResponseProcessProposal { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
message ResponseExtendVote { |
|
|
message ResponseExtendVote { |
|
|
tendermint.types.VoteExtension vote_extension = 1; |
|
|
|
|
|
|
|
|
bytes vote_extension = 1; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
message ResponseVerifyVoteExtension { |
|
|
message ResponseVerifyVoteExtension { |
|
@ -373,8 +377,14 @@ message CommitInfo { |
|
|
repeated VoteInfo votes = 2 [(gogoproto.nullable) = false]; |
|
|
repeated VoteInfo votes = 2 [(gogoproto.nullable) = false]; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// ExtendedCommitInfo is similar to CommitInfo except that it is only used in |
|
|
|
|
|
// the PrepareProposal request such that Tendermint can provide vote extensions |
|
|
|
|
|
// to the application. |
|
|
message ExtendedCommitInfo { |
|
|
message ExtendedCommitInfo { |
|
|
int32 round = 1; |
|
|
|
|
|
|
|
|
// The round at which the block proposer decided in the previous height. |
|
|
|
|
|
int32 round = 1; |
|
|
|
|
|
// List of validators' addresses in the last validator set with their voting |
|
|
|
|
|
// information, including vote extensions. |
|
|
repeated ExtendedVoteInfo votes = 2 [(gogoproto.nullable) = false]; |
|
|
repeated ExtendedVoteInfo votes = 2 [(gogoproto.nullable) = false]; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -455,10 +465,14 @@ message VoteInfo { |
|
|
reserved 4; // Placeholder for app_signed_extension in v0.37 |
|
|
reserved 4; // Placeholder for app_signed_extension in v0.37 |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// ExtendedVoteInfo |
|
|
message ExtendedVoteInfo { |
|
|
message ExtendedVoteInfo { |
|
|
Validator validator = 1 [(gogoproto.nullable) = false]; |
|
|
|
|
|
bool signed_last_block = 2; |
|
|
|
|
|
bytes vote_extension = 3; |
|
|
|
|
|
|
|
|
// The validator that sent the vote. |
|
|
|
|
|
Validator validator = 1 [(gogoproto.nullable) = false]; |
|
|
|
|
|
// Indicates whether the validator signed the last block, allowing for rewards based on validator availability. |
|
|
|
|
|
bool signed_last_block = 2; |
|
|
|
|
|
// Non-deterministic extension provided by the sending validator's application. |
|
|
|
|
|
bytes vote_extension = 3; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
enum EvidenceType { |
|
|
enum EvidenceType { |
|
|