aboutsummaryrefslogtreecommitdiff
path: root/zkvms/zkm/sdk/src/proto
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2025-01-16 12:47:40 +0200
committerKamen Mladenov <kamen@syndamia.com>2025-01-16 12:47:40 +0200
commitf276736ceba61373fb60216256c477ab2ccffe29 (patch)
tree98824fd9e68847c608113aea107cd4e5e627ac5b /zkvms/zkm/sdk/src/proto
parent818ba1a13973fe64c3d73e2bf90c45e2dcafec72 (diff)
downloadzkVMs-benchmarks-f276736ceba61373fb60216256c477ab2ccffe29.tar
zkVMs-benchmarks-f276736ceba61373fb60216256c477ab2ccffe29.tar.gz
zkVMs-benchmarks-f276736ceba61373fb60216256c477ab2ccffe29.zip
feat(zkvms): Add zkm host
Diffstat (limited to 'zkvms/zkm/sdk/src/proto')
-rw-r--r--zkvms/zkm/sdk/src/proto/stage.proto82
1 files changed, 82 insertions, 0 deletions
diff --git a/zkvms/zkm/sdk/src/proto/stage.proto b/zkvms/zkm/sdk/src/proto/stage.proto
new file mode 100644
index 0000000..dea3e92
--- /dev/null
+++ b/zkvms/zkm/sdk/src/proto/stage.proto
@@ -0,0 +1,82 @@
+syntax = "proto3";
+
+package stage.v1;
+
+
+service StageService {
+ rpc GenerateProof(GenerateProofRequest) returns (GenerateProofResponse) {}
+ rpc GetStatus(GetStatusRequest) returns (GetStatusResponse) {}
+}
+
+enum Status {
+ SUCCESS = 0;
+ UNSPECIFIED = 1;
+ COMPUTING = 2;
+ INVALID_PARAMETER = 3;
+ INTERNAL_ERROR = 4;
+ SPLIT_ERROR = 5;
+ PROVE_ERROR = 6;
+ AGG_ERROR = 7;
+ FINAL_ERROR = 8;
+}
+
+enum Step {
+ Init = 0;
+ InSplit = 1;
+ InProve = 2;
+ InAgg = 3;
+ InAggAll = 4;
+ InFinal = 5;
+ End = 6;
+}
+
+message BlockFileItem {
+ string file_name = 1;
+ bytes file_content = 2;
+}
+
+message GenerateProofRequest {
+ string proof_id = 1;
+ bytes elf_data = 2;
+ repeated BlockFileItem block_data = 3;
+ optional uint64 block_no = 4;
+ uint32 seg_size = 5;
+
+ string signature = 7;
+ bytes public_input_stream = 8;
+ bytes private_input_stream = 9;
+ bool execute_only = 10;
+ bool precompile = 11;
+ repeated bytes receipt_input = 12;
+ repeated bytes receipt = 13;
+}
+
+message GenerateProofResponse {
+ uint32 status = 1;
+ string error_message = 2;
+ string proof_id = 3;
+ string proof_url = 4;
+ string stark_proof_url = 5;
+ string solidity_verifier_url = 6;
+ bytes output_stream = 7;
+ string public_values_url = 8;
+}
+
+message GetStatusRequest {
+ string proof_id = 1;
+}
+
+message GetStatusResponse {
+ string proof_id = 1;
+ uint32 status = 2;
+ bytes proof_with_public_inputs = 3;
+ string proof_url = 4;
+ string stark_proof_url = 5;
+ string solidity_verifier_url = 6;
+ bytes output_stream = 7;
+ int32 step = 8; // Step
+ string public_values_url = 9;
+ uint64 total_steps = 10;
+ bytes receipt = 11;
+ bytes elf_id = 12;
+} \ No newline at end of file