gecko/vms/rpcchainvm/vmproto/vm.proto

100 lines
2.0 KiB
Protocol Buffer

syntax = "proto3";
package vmproto;
message InitializeRequest {
uint32 dbServer = 1;
bytes genesisBytes = 2;
uint32 engineServer = 3;
}
message InitializeResponse {}
message ShutdownRequest {}
message ShutdownResponse {}
message CreateHandlersRequest {}
message CreateHandlersResponse {
repeated Handler handlers = 1;
}
message Handler {
string prefix = 1;
uint32 lockOptions = 2;
uint32 server = 3;
}
message BuildBlockRequest {}
message BuildBlockResponse {
bytes id = 1;
bytes parentID = 2;
bytes bytes = 3;
// status is always processing
}
message ParseBlockRequest {
bytes bytes = 1;
}
message ParseBlockResponse {
bytes id = 1;
bytes parentID = 2;
uint32 status = 3;
}
message GetBlockRequest {
bytes id = 1;
}
message GetBlockResponse {
bytes parentID = 1;
bytes bytes = 2;
uint32 status = 3;
}
message SetPreferenceRequest {
bytes id = 1;
}
message SetPreferenceResponse {}
message LastAcceptedRequest {}
message LastAcceptedResponse {
bytes id = 1;
}
message BlockVerifyRequest {
bytes id = 1;
}
message BlockVerifyResponse {}
message BlockAcceptRequest {
bytes id = 1;
}
message BlockAcceptResponse {}
message BlockRejectRequest {
bytes id = 1;
}
message BlockRejectResponse {}
service VM {
rpc Initialize(InitializeRequest) returns (InitializeResponse);
rpc Shutdown(ShutdownRequest) returns (ShutdownResponse);
rpc CreateHandlers(CreateHandlersRequest) returns (CreateHandlersResponse);
rpc BuildBlock(BuildBlockRequest) returns (BuildBlockResponse);
rpc ParseBlock(ParseBlockRequest) returns (ParseBlockResponse);
rpc GetBlock(GetBlockRequest) returns (GetBlockResponse);
rpc SetPreference(SetPreferenceRequest) returns (SetPreferenceResponse);
rpc LastAccepted(LastAcceptedRequest) returns (LastAcceptedResponse);
rpc BlockVerify(BlockVerifyRequest) returns (BlockVerifyResponse);
rpc BlockAccept(BlockAcceptRequest) returns (BlockAcceptResponse);
rpc BlockReject(BlockRejectRequest) returns (BlockRejectResponse);
}