Files
ere/crates/dockerized/server/proto/api.proto

67 lines
1.1 KiB
Protocol Buffer

syntax = "proto3";
package api;
enum ProofKind {
Compressed = 0;
Groth16 = 1;
}
service ZkvmService {
rpc Execute(ExecuteRequest) returns (ExecuteResponse) {}
rpc Prove(ProveRequest) returns (ProveResponse) {}
rpc Verify(VerifyRequest) returns (VerifyResponse) {}
}
message ExecuteRequest {
bytes input_stdin = 1;
optional bytes input_proofs = 2;
}
message ExecuteResponse {
oneof result {
ExecuteOk ok = 1;
string err = 2;
}
}
message ExecuteOk {
bytes public_values = 1;
bytes report = 2;
}
message ProveRequest {
bytes input_stdin = 1;
optional bytes input_proofs = 2;
ProofKind proof_kind = 3;
}
message ProveResponse {
oneof result {
ProveOk ok = 1;
string err = 2;
}
}
message ProveOk {
bytes public_values = 1;
bytes proof = 2;
bytes report = 3;
}
message VerifyRequest {
bytes proof = 1;
ProofKind proof_kind = 2;
}
message VerifyResponse {
oneof result {
VerifyOk ok = 1;
string err = 2;
}
}
message VerifyOk {
bytes public_values = 1;
}