You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.5 KiB

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