syntax = "proto3";
package zgc.council.v1;

import "cosmos_proto/cosmos.proto";
import "gogoproto/gogo.proto";
import "google/protobuf/any.proto";
import "zgc/council/v1/genesis.proto";

option go_package = "github.com/0glabs/0g-chain/x/council/v1/types";
option (gogoproto.goproto_getters_all) = false;

// Msg defines the council Msg service
service Msg {
    rpc Register(MsgRegister) returns (MsgRegisterResponse);
    rpc Vote(MsgVote) returns (MsgVoteResponse);
}

message MsgRegister {
    string voter = 1;
    bytes key = 2;
}

message MsgRegisterResponse {}

message MsgVote {
    uint64 council_id = 1 [(gogoproto.customname) = "CouncilID"];
    string voter = 2;
    repeated Ballot ballots = 3;
}

message MsgVoteResponse {}