gitlab.com/gpdionisio/tendermint@v0.34.19-dev2/proto/tendermint/types/evidence.proto (about)

     1  syntax = "proto3";
     2  package tendermint.types;
     3  
     4  option go_package = "github.com/tendermint/tendermint/proto/tendermint/types";
     5  
     6  import "gogoproto/gogo.proto";
     7  import "google/protobuf/timestamp.proto";
     8  import "tendermint/types/types.proto";
     9  import "tendermint/types/validator.proto";
    10  
    11  message Evidence {
    12    oneof sum {
    13      DuplicateVoteEvidence     duplicate_vote_evidence      = 1;
    14      LightClientAttackEvidence light_client_attack_evidence = 2;
    15    }
    16  }
    17  
    18  // DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.
    19  message DuplicateVoteEvidence {
    20    tendermint.types.Vote       vote_a = 1;
    21    tendermint.types.Vote       vote_b = 2;
    22    int64                       total_voting_power = 3;
    23    int64                       validator_power = 4;
    24    google.protobuf.Timestamp   timestamp = 5 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true];
    25  }
    26  
    27  // LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.
    28  message LightClientAttackEvidence {
    29    tendermint.types.LightBlock         conflicting_block = 1;
    30    int64                               common_height     = 2;
    31    repeated tendermint.types.Validator byzantine_validators = 3;
    32    int64                               total_voting_power = 4;
    33    google.protobuf.Timestamp           timestamp = 5 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true];
    34  }
    35  
    36  message EvidenceList {
    37    repeated Evidence evidence = 1 [(gogoproto.nullable) = false];
    38  }