laconicd/third_party/proto/tendermint/types/evidence.proto

39 lines
1.4 KiB
Protocol Buffer
Raw Normal View History

2021-04-17 10:00:07 +00:00
syntax = "proto3";
package tendermint.types;
option go_package = "github.com/tendermint/tendermint/proto/tendermint/types";
import "gogoproto/gogo.proto";
2021-04-18 15:54:18 +00:00
import "google/protobuf/timestamp.proto";
2021-04-17 10:00:07 +00:00
import "tendermint/types/types.proto";
2021-04-18 15:54:18 +00:00
import "tendermint/types/validator.proto";
2021-04-17 10:00:07 +00:00
message Evidence {
oneof sum {
2021-04-18 15:54:18 +00:00
DuplicateVoteEvidence duplicate_vote_evidence = 1;
2021-04-17 10:00:07 +00:00
LightClientAttackEvidence light_client_attack_evidence = 2;
}
}
2021-04-18 15:54:18 +00:00
// DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.
message DuplicateVoteEvidence {
tendermint.types.Vote vote_a = 1;
tendermint.types.Vote vote_b = 2;
int64 total_voting_power = 3;
int64 validator_power = 4;
google.protobuf.Timestamp timestamp = 5 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true];
2021-04-18 15:54:18 +00:00
}
// LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.
message LightClientAttackEvidence {
tendermint.types.LightBlock conflicting_block = 1;
int64 common_height = 2;
2021-04-18 15:54:18 +00:00
repeated tendermint.types.Validator byzantine_validators = 3;
int64 total_voting_power = 4;
2021-04-18 15:54:18 +00:00
google.protobuf.Timestamp timestamp = 5 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true];
}
message EvidenceList {
repeated Evidence evidence = 1 [(gogoproto.nullable) = false];
2021-04-17 10:00:07 +00:00
}