syntax = "proto3";
package tendermint.types;

option go_package = "github.com/cometbft/cometbft/proto/tendermint/types";

import "gogoproto/gogo.proto";
import "tendermint/crypto/keys.proto";

message ValidatorSet {
  repeated Validator validators         = 1;
  Validator          proposer           = 2;
  int64              total_voting_power = 3;
}

message Validator {
  bytes                       address           = 1;
  tendermint.crypto.PublicKey pub_key           = 2 [(gogoproto.nullable) = false];
  int64                       voting_power      = 3;
  int64                       proposer_priority = 4;
}

message SimpleValidator {
  tendermint.crypto.PublicKey pub_key      = 1;
  int64                       voting_power = 2;
}
