mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-12-25 07:45:18 +00:00
53 lines
1.4 KiB
Protocol Buffer
53 lines
1.4 KiB
Protocol Buffer
syntax = "proto3";
|
|
package zgc.council.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/council/v1/types";
|
|
|
|
message Params {
|
|
uint64 council_size = 1;
|
|
}
|
|
|
|
// GenesisState defines the council 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_council_id = 4 [(gogoproto.customname) = "CurrentCouncilID"];
|
|
repeated Council councils = 5 [(gogoproto.nullable) = false];
|
|
}
|
|
|
|
message Council {
|
|
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 council_id = 1 [(gogoproto.customname) = "CouncilID"];
|
|
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;
|
|
}
|