mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-12-27 00:35:18 +00:00
53 lines
1.5 KiB
Protocol Buffer
53 lines
1.5 KiB
Protocol Buffer
syntax = "proto3";
|
|
package zgc.committee.v1;
|
|
|
|
import "cosmos_proto/cosmos.proto";
|
|
import "gogoproto/gogo.proto";
|
|
import "google/protobuf/any.proto";
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
option go_package = "github.com/0glabs/0g-chain/x/committee/v1/types";
|
|
|
|
message Params {
|
|
uint64 committee_size = 1;
|
|
}
|
|
|
|
// GenesisState defines the committee module's genesis state.
|
|
message GenesisState {
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
Params params = 1 [(gogoproto.nullable) = false];
|
|
uint64 voting_start_height = 2;
|
|
uint64 voting_period = 3;
|
|
uint64 current_committee_id = 4 [(gogoproto.customname) = "CurrentCommitteeID"];
|
|
repeated Committee committees = 5 [(gogoproto.nullable) = false];
|
|
}
|
|
|
|
message Committee {
|
|
uint64 id = 1 [(gogoproto.customname) = "ID"];
|
|
uint64 voting_start_height = 2;
|
|
uint64 start_height = 3;
|
|
uint64 end_height = 4;
|
|
repeated Vote votes = 5 [(gogoproto.nullable) = false];
|
|
repeated bytes members = 6 [
|
|
(cosmos_proto.scalar) = "cosmos.AddressBytes",
|
|
(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.ValAddress"
|
|
];
|
|
}
|
|
|
|
message Vote {
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
uint64 committee_id = 1 [(gogoproto.customname) = "CommitteeID"];
|
|
bytes voter = 2 [
|
|
(cosmos_proto.scalar) = "cosmos.AddressBytes",
|
|
(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.ValAddress"
|
|
];
|
|
repeated Ballot ballots = 3;
|
|
}
|
|
|
|
message Ballot {
|
|
uint64 id = 1 [(gogoproto.customname) = "ID"];
|
|
bytes content = 2;
|
|
}
|