|
|
- syntax = "proto3";
- package tendermint.types;
-
- option go_package = "github.com/tendermint/tendermint/proto/tendermint/types";
-
- import "gogoproto/gogo.proto";
- import "google/protobuf/timestamp.proto";
- import "tendermint/types/types.proto";
- import "tendermint/types/validator.proto";
-
- message Evidence {
- oneof sum {
- DuplicateVoteEvidence duplicate_vote_evidence = 1;
- LightClientAttackEvidence light_client_attack_evidence = 2;
- }
- }
-
- // 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];
- }
-
- // LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.
- message LightClientAttackEvidence {
- tendermint.types.LightBlock conflicting_block = 1;
- uint64 common_height = 2;
- repeated tendermint.types.Validator byzantine_validators = 3;
- int64 total_voting_power = 4;
- google.protobuf.Timestamp timestamp = 5 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true];
- }
-
- message EvidenceList {
- repeated Evidence evidence = 1 [(gogoproto.nullable) = false];
- }
|