81 lines
1.6 KiB
Protocol Buffer
81 lines
1.6 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package arbiter.operator.governance;
|
|
|
|
message Request {
|
|
oneof payload {
|
|
CreateProposalRequest create = 1;
|
|
CastVoteRequest vote = 2;
|
|
QueryPendingRequest query = 3;
|
|
}
|
|
}
|
|
|
|
message CreateProposalRequest {
|
|
oneof kind {
|
|
ApproveSdkClientPayload approve_sdk_client = 1;
|
|
GrantWalletAccessPayload grant_wallet_access = 3;
|
|
ApproveServerUpdatePayload approve_server_update = 4;
|
|
ReplaceOperatorPayload replace_operator = 5;
|
|
}
|
|
optional uint32 ttl_secs = 2;
|
|
}
|
|
|
|
message ReplaceOperatorPayload {
|
|
bytes new_pubkey = 1;
|
|
}
|
|
|
|
message ApproveServerUpdatePayload {}
|
|
|
|
message ApproveSdkClientPayload {
|
|
int32 client_id = 1;
|
|
}
|
|
|
|
message GrantWalletAccessPayload {
|
|
int32 wallet_id = 1;
|
|
int32 client_id = 2;
|
|
}
|
|
|
|
message CastVoteRequest {
|
|
int32 proposal_id = 1;
|
|
bool approve = 2;
|
|
bytes signature = 3;
|
|
}
|
|
|
|
message QueryPendingRequest {}
|
|
|
|
message Response {
|
|
oneof payload {
|
|
CreateProposalResponse created = 1;
|
|
VoteResponse voted = 2;
|
|
QueryPendingResponse pending = 3;
|
|
}
|
|
}
|
|
|
|
message CreateProposalResponse {
|
|
int32 proposal_id = 1;
|
|
}
|
|
|
|
message VoteResponse {
|
|
VoteOutcome outcome = 1;
|
|
}
|
|
|
|
enum VoteOutcome {
|
|
VOTE_OUTCOME_UNSPECIFIED = 0;
|
|
VOTE_OUTCOME_PENDING = 1;
|
|
VOTE_OUTCOME_APPROVED = 2;
|
|
VOTE_OUTCOME_REJECTED = 3;
|
|
}
|
|
|
|
message ProposalSummary {
|
|
int32 id = 1;
|
|
string kind = 2;
|
|
int32 initiator_id = 3;
|
|
int64 expires_at = 4;
|
|
int64 approve_count = 5;
|
|
int64 reject_count = 6;
|
|
}
|
|
|
|
message QueryPendingResponse {
|
|
repeated ProposalSummary proposals = 1;
|
|
}
|