aboutsummaryrefslogtreecommitdiff
path: root/zkvms/zkm
diff options
context:
space:
mode:
Diffstat (limited to 'zkvms/zkm')
-rw-r--r--zkvms/zkm/guest/Cargo.lock31
-rw-r--r--zkvms/zkm/guest/Cargo.toml2
-rw-r--r--zkvms/zkm/host/Cargo.lock275
-rw-r--r--zkvms/zkm/host/Cargo.toml11
-rw-r--r--zkvms/zkm/host/src/main.rs41
5 files changed, 212 insertions, 148 deletions
diff --git a/zkvms/zkm/guest/Cargo.lock b/zkvms/zkm/guest/Cargo.lock
index f8879d4..9a69be7 100644
--- a/zkvms/zkm/guest/Cargo.lock
+++ b/zkvms/zkm/guest/Cargo.lock
@@ -21,6 +21,12 @@ dependencies = [
]
[[package]]
+name = "bytemuck"
+version = "1.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3"
+
+[[package]]
name = "byteorder"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -63,9 +69,9 @@ dependencies = [
[[package]]
name = "equivalent"
-version = "1.0.1"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
[[package]]
name = "generic-array"
@@ -246,9 +252,9 @@ dependencies = [
[[package]]
name = "toml"
-version = "0.8.19"
+version = "0.8.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
+checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148"
dependencies = [
"serde",
"serde_spanned",
@@ -267,9 +273,9 @@ dependencies = [
[[package]]
name = "toml_edit"
-version = "0.22.23"
+version = "0.22.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02a8b472d1a3d7c18e2d61a489aee3453fd9031c33e4f55bd533f4a7adca1bee"
+checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474"
dependencies = [
"indexmap",
"serde",
@@ -280,15 +286,15 @@ dependencies = [
[[package]]
name = "typenum"
-version = "1.17.0"
+version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
[[package]]
name = "unicode-ident"
-version = "1.0.16"
+version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
+checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe"
[[package]]
name = "version_check"
@@ -304,9 +310,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "winnow"
-version = "0.7.0"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e49d2d35d3fad69b39b94139037ecfb4f359f08958b9c11e7315ce770462419"
+checksum = "59690dea168f2198d1a3b0cac23b8063efcd11012f10ae4698f284808c8ef603"
dependencies = [
"memchr",
]
@@ -354,6 +360,7 @@ name = "zkm-runtime"
version = "0.2.0"
dependencies = [
"bincode",
+ "bytemuck",
"cfg-if",
"getrandom",
"lazy_static",
diff --git a/zkvms/zkm/guest/Cargo.toml b/zkvms/zkm/guest/Cargo.toml
index d22916a..befd80e 100644
--- a/zkvms/zkm/guest/Cargo.toml
+++ b/zkvms/zkm/guest/Cargo.toml
@@ -7,7 +7,7 @@ edition = "2021"
[workspace]
[dependencies]
-zkm-runtime = { path = "/nix/store/h9s6kmnx7iafllv10wqhjix5kpyfsh37-zkm-unstable-2025-01-05/runtime/entrypoint" }
+zkm-runtime = { path = "/nix/store/xv19lsmz5ards9q6nnyzspcdjlz6law5-zkm-unstable-2025-02-11/runtime/entrypoint" }
wrapper_macro = { version = "0.1.0", path = "../wrapper_macro" }
diff --git a/zkvms/zkm/host/Cargo.lock b/zkvms/zkm/host/Cargo.lock
index 8a62ed8..becb014 100644
--- a/zkvms/zkm/host/Cargo.lock
+++ b/zkvms/zkm/host/Cargo.lock
@@ -144,9 +144,9 @@ dependencies = [
[[package]]
name = "anyhow"
-version = "1.0.95"
+version = "1.0.96"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04"
+checksum = "6b964d184e89d9b6b67dd2715bc8e74cf3107fb2b529990c90cf517326150bf4"
[[package]]
name = "array-macro"
@@ -263,7 +263,7 @@ dependencies = [
"fastrand",
"hex",
"http 0.2.12",
- "ring 0.17.8",
+ "ring 0.17.11",
"time",
"tokio",
"tracing",
@@ -306,14 +306,14 @@ dependencies = [
"percent-encoding",
"pin-project-lite",
"tracing",
- "uuid 1.13.1",
+ "uuid 1.14.0",
]
[[package]]
name = "aws-sdk-s3"
-version = "1.68.0"
+version = "1.76.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc5ddf1dc70287dc9a2f953766a1fe15e3e74aef02fd1335f2afa475c9b4f4fc"
+checksum = "66e83401ad7287ad15244d557e35502c2a94105ca5b41d656c391f1a4fc04ca2"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -345,9 +345,9 @@ dependencies = [
[[package]]
name = "aws-sdk-sso"
-version = "1.58.0"
+version = "1.59.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16ff718c9ee45cc1ebd4774a0e086bb80a6ab752b4902edf1c9f56b86ee1f770"
+checksum = "00a35fc7e74f5be45839eb753568535c074a592185dd0a2d406685018d581c43"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -367,9 +367,9 @@ dependencies = [
[[package]]
name = "aws-sdk-ssooidc"
-version = "1.59.0"
+version = "1.60.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5183e088715cc135d8d396fdd3bc02f018f0da4c511f53cb8d795b6a31c55809"
+checksum = "f8fa655b4f313124ce272cbc38c5fef13793c832279cec750103e5e6b71a54b8"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -389,9 +389,9 @@ dependencies = [
[[package]]
name = "aws-sdk-sts"
-version = "1.59.0"
+version = "1.60.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9f944ef032717596639cea4a2118a3a457268ef51bbb5fde9637e54c465da00"
+checksum = "dc1cfe5e16b90421ea031f4c6348b534ef442e76f6bf4a1b2b592c12cc2c6af9"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -412,9 +412,9 @@ dependencies = [
[[package]]
name = "aws-sigv4"
-version = "1.2.8"
+version = "1.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bc5bbd1e4a2648fd8c5982af03935972c24a2f9846b396de661d351ee3ce837"
+checksum = "9bfe75fad52793ce6dec0dc3d4b1f388f038b5eb866c8d4d7f3a8e21b5ea5051"
dependencies = [
"aws-credential-types",
"aws-smithy-eventstream",
@@ -431,7 +431,7 @@ dependencies = [
"once_cell",
"p256",
"percent-encoding",
- "ring 0.17.8",
+ "ring 0.17.11",
"sha2",
"subtle",
"time",
@@ -452,15 +452,16 @@ dependencies = [
[[package]]
name = "aws-smithy-checksums"
-version = "0.60.13"
+version = "0.62.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba1a71073fca26775c8b5189175ea8863afb1c9ea2cceb02a5de5ad9dfbaa795"
+checksum = "f2f45a1c384d7a393026bc5f5c177105aa9fa68e4749653b985707ac27d77295"
dependencies = [
"aws-smithy-http",
"aws-smithy-types",
"bytes",
"crc32c",
"crc32fast",
+ "crc64fast-nvme",
"hex",
"http 0.2.12",
"http-body 0.4.6",
@@ -849,9 +850,9 @@ dependencies = [
[[package]]
name = "bzip2-sys"
-version = "0.1.11+1.0.8"
+version = "0.1.12+1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc"
+checksum = "72ebc2f1a417f01e1da30ef264ee86ae31d2dcd2d603ea283d3c244a883ca2a9"
dependencies = [
"cc",
"libc",
@@ -892,9 +893,9 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.2.13"
+version = "1.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7777341816418c02e033934a09f20dc0ccaf65a5201ef8a450ae0105a573fda"
+checksum = "c736e259eea577f443d5c86c304f9f4ae0295c43f3ba05c21f1d66b5f06001af"
dependencies = [
"jobserver",
"libc",
@@ -932,9 +933,9 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.5.28"
+version = "4.5.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e77c3243bd94243c03672cb5154667347c457ca271254724f9f393aee1c05ff"
+checksum = "92b7b18d71fad5313a1e320fa9897994228ce274b60faa4d694fe0ea89cd9e6d"
dependencies = [
"clap_builder",
"clap_derive",
@@ -942,9 +943,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.5.27"
+version = "4.5.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7"
+checksum = "a35db2071778a7344791a4fb4f95308b5673d219dee3ae348b86642574ecc90c"
dependencies = [
"anstream",
"anstyle",
@@ -1031,7 +1032,7 @@ checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
[[package]]
name = "common"
version = "0.1.0"
-source = "git+https://github.com/zkMIPS/zkm-prover?branch=main#bbf2d1f154eb5e8bf204b234d4a1ca3e707f83cc"
+source = "git+https://github.com/zkMIPS/zkm-prover?branch=main#55c48dffb87c6e3a3f5d7922151943c777ddf85b"
dependencies = [
"anyhow",
"aws-config",
@@ -1133,6 +1134,21 @@ dependencies = [
]
[[package]]
+name = "crc"
+version = "3.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636"
+dependencies = [
+ "crc-catalog",
+]
+
+[[package]]
+name = "crc-catalog"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
+
+[[package]]
name = "crc32c"
version = "0.6.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1151,6 +1167,15 @@ dependencies = [
]
[[package]]
+name = "crc64fast-nvme"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4955638f00a809894c947f85a024020a20815b65a5eea633798ea7924edab2b3"
+dependencies = [
+ "crc",
+]
+
+[[package]]
name = "crossbeam-deque"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1498,9 +1523,9 @@ dependencies = [
[[package]]
name = "either"
-version = "1.13.0"
+version = "1.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
+checksum = "b7914353092ddf589ad78f25c5c1c21b7f80b0ff8621e7c814c3485b5306da9d"
[[package]]
name = "elf"
@@ -1622,9 +1647,9 @@ dependencies = [
[[package]]
name = "equivalent"
-version = "1.0.1"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
[[package]]
name = "errno"
@@ -1672,7 +1697,7 @@ dependencies = [
"serde_json",
"sha3",
"thiserror 1.0.69",
- "uint",
+ "uint 0.9.5",
]
[[package]]
@@ -1703,7 +1728,7 @@ dependencies = [
"impl-serde",
"primitive-types 0.12.2",
"scale-info",
- "uint",
+ "uint 0.9.5",
]
[[package]]
@@ -2044,9 +2069,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
[[package]]
name = "flate2"
-version = "1.0.35"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c"
+checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc"
dependencies = [
"crc32fast",
"miniz_oxide",
@@ -2422,10 +2447,7 @@ name = "host-zkm"
version = "0.1.0"
dependencies = [
"anyhow",
- "aws-sdk-s3",
"bincode",
- "env_logger 0.10.2",
- "log",
"tokio",
"zkm-sdk",
"zkvms_host_io",
@@ -2806,9 +2828,9 @@ dependencies = [
[[package]]
name = "inout"
-version = "0.1.3"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
+checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01"
dependencies = [
"generic-array",
]
@@ -2952,6 +2974,26 @@ dependencies = [
]
[[package]]
+name = "keccak-hash"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b286e6b663fb926e1eeb68528e69cb70ed46c6d65871a21b2215ae8154c6d3c"
+dependencies = [
+ "primitive-types 0.12.2",
+ "tiny-keccak",
+]
+
+[[package]]
+name = "keccak-hash"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e1b8590eb6148af2ea2d75f38e7d29f5ca970d5a4df456b3ef19b8b415d0264"
+dependencies = [
+ "primitive-types 0.13.1",
+ "tiny-keccak",
+]
+
+[[package]]
name = "lalrpop"
version = "0.19.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3020,9 +3062,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
name = "libc"
-version = "0.2.169"
+version = "0.2.170"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
+checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828"
[[package]]
name = "libredox"
@@ -3058,9 +3100,9 @@ dependencies = [
[[package]]
name = "log"
-version = "0.4.25"
+version = "0.4.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f"
+checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e"
[[package]]
name = "logos"
@@ -3124,9 +3166,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]]
name = "miniz_oxide"
-version = "0.8.3"
+version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924"
+checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5"
dependencies = [
"adler2",
]
@@ -3150,9 +3192,9 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
[[package]]
name = "native-tls"
-version = "0.2.13"
+version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c"
+checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e"
dependencies = [
"libc",
"log",
@@ -3336,9 +3378,9 @@ dependencies = [
[[package]]
name = "openssl"
-version = "0.10.70"
+version = "0.10.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61cfb4e166a8bb8c9b55c500bc2308550148ece889be90f609377e58140f42c6"
+checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd"
dependencies = [
"bitflags 2.8.0",
"cfg-if",
@@ -3368,9 +3410,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
[[package]]
name = "openssl-sys"
-version = "0.9.105"
+version = "0.9.106"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc"
+checksum = "8bb61ea9811cc39e3c2069f40b8b8e2e70d8569b361f879786cc7ed48b777cdd"
dependencies = [
"cc",
"libc",
@@ -3636,7 +3678,7 @@ dependencies = [
"getrandom 0.2.15",
"hashbrown 0.14.5",
"itertools 0.11.0",
- "keccak-hash",
+ "keccak-hash 0.8.0",
"log",
"num",
"plonky2_field",
@@ -3717,7 +3759,7 @@ dependencies = [
"sha256",
"tokio",
"tracing",
- "uuid 1.13.1",
+ "uuid 1.14.0",
]
[[package]]
@@ -3778,7 +3820,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373"
dependencies = [
"fixed-hash 0.7.0",
- "uint",
+ "uint 0.9.5",
]
[[package]]
@@ -3792,7 +3834,17 @@ dependencies = [
"impl-rlp",
"impl-serde",
"scale-info",
- "uint",
+ "uint 0.9.5",
+]
+
+[[package]]
+name = "primitive-types"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d15600a7d856470b7d278b3fe0e311fe28c2526348549f8ef2ff7db3299c87f5"
+dependencies = [
+ "fixed-hash 0.8.0",
+ "uint 0.10.0",
]
[[package]]
@@ -3916,8 +3968,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94"
dependencies = [
"rand_chacha 0.9.0",
- "rand_core 0.9.0",
- "zerocopy 0.8.17",
+ "rand_core 0.9.2",
+ "zerocopy 0.8.20",
]
[[package]]
@@ -3937,7 +3989,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
dependencies = [
"ppv-lite86",
- "rand_core 0.9.0",
+ "rand_core 0.9.2",
]
[[package]]
@@ -3951,12 +4003,12 @@ dependencies = [
[[package]]
name = "rand_core"
-version = "0.9.0"
+version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b08f3c9802962f7e1b25113931d94f43ed9725bebc59db9d0c3e9a23b67e15ff"
+checksum = "7a509b1a2ffbe92afab0e55c8fd99dea1c280e8171bd2d88682bb20bc41cbc2c"
dependencies = [
"getrandom 0.3.1",
- "zerocopy 0.8.17",
+ "zerocopy 0.8.20",
]
[[package]]
@@ -3990,9 +4042,9 @@ dependencies = [
[[package]]
name = "redox_syscall"
-version = "0.5.8"
+version = "0.5.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834"
+checksum = "82b568323e98e49e2a0899dcee453dd679fae22d69adf9b11dd508d1549b7e2f"
dependencies = [
"bitflags 2.8.0",
]
@@ -4123,7 +4175,7 @@ dependencies = [
"cc",
"libc",
"once_cell",
- "spin 0.5.2",
+ "spin",
"untrusted 0.7.1",
"web-sys",
"winapi",
@@ -4131,15 +4183,14 @@ dependencies = [
[[package]]
name = "ring"
-version = "0.17.8"
+version = "0.17.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
+checksum = "da5349ae27d3887ca812fb375b45a4fbb36d8d12d2df394968cd86e35683fe73"
dependencies = [
"cc",
"cfg-if",
"getrandom 0.2.15",
"libc",
- "spin 0.9.8",
"untrusted 0.9.0",
"windows-sys 0.52.0",
]
@@ -4228,7 +4279,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e"
dependencies = [
"log",
- "ring 0.17.8",
+ "ring 0.17.11",
"rustls-webpki",
"sct",
]
@@ -4260,7 +4311,7 @@ version = "0.101.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
dependencies = [
- "ring 0.17.8",
+ "ring 0.17.11",
"untrusted 0.9.0",
]
@@ -4351,7 +4402,7 @@ version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
dependencies = [
- "ring 0.17.8",
+ "ring 0.17.11",
"untrusted 0.9.0",
]
@@ -4429,18 +4480,18 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73"
[[package]]
name = "serde"
-version = "1.0.217"
+version = "1.0.218"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70"
+checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.217"
+version = "1.0.218"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
+checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b"
dependencies = [
"proc-macro2",
"quote",
@@ -4449,9 +4500,9 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.138"
+version = "1.0.139"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949"
+checksum = "44f86c3acccc9c65b153fe1b85a3be07fe5515274ec9f0653b4a0875731c72a6"
dependencies = [
"itoa",
"memchr",
@@ -4628,9 +4679,9 @@ dependencies = [
[[package]]
name = "smallvec"
-version = "1.13.2"
+version = "1.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd"
[[package]]
name = "socket2"
@@ -4663,12 +4714,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
[[package]]
-name = "spin"
-version = "0.9.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
-
-[[package]]
name = "spki"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4843,9 +4888,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "tempfile"
-version = "3.16.0"
+version = "3.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91"
+checksum = "22e5a0acb1f3f55f65cc4a866c361b2fb2a0ff6366785ae6fbb5f85df07ba230"
dependencies = [
"cfg-if",
"fastrand",
@@ -5112,9 +5157,9 @@ dependencies = [
[[package]]
name = "toml_edit"
-version = "0.22.23"
+version = "0.22.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02a8b472d1a3d7c18e2d61a489aee3453fd9031c33e4f55bd533f4a7adca1bee"
+checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474"
dependencies = [
"indexmap 2.7.1",
"serde",
@@ -5271,9 +5316,9 @@ dependencies = [
[[package]]
name = "typenum"
-version = "1.17.0"
+version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
[[package]]
name = "uint"
@@ -5288,6 +5333,18 @@ dependencies = [
]
[[package]]
+name = "uint"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "909988d098b2f738727b161a106cfc7cab00c539c2687a8836f8e565976fb53e"
+dependencies = [
+ "byteorder",
+ "crunchy",
+ "hex",
+ "static_assertions",
+]
+
+[[package]]
name = "unarray"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5295,9 +5352,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
[[package]]
name = "unicode-ident"
-version = "1.0.16"
+version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
+checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe"
[[package]]
name = "unicode-xid"
@@ -5380,9 +5437,9 @@ dependencies = [
[[package]]
name = "uuid"
-version = "1.13.1"
+version = "1.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0"
+checksum = "93d59ca99a559661b96bf898d8fce28ed87935fd2bea9f05983c1464dd6c71b1"
dependencies = [
"getrandom 0.3.1",
"rand 0.9.0",
@@ -5392,9 +5449,9 @@ dependencies = [
[[package]]
name = "uuid-macro-internal"
-version = "1.13.1"
+version = "1.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d28dd23acb5f2fa7bd2155ab70b960e770596b3bb6395119b40476c3655dfba4"
+checksum = "1be57878a5f7e409a1a82be6691922b11e59687a168205b1f21b087c4acdd194"
dependencies = [
"proc-macro2",
"quote",
@@ -5540,7 +5597,7 @@ version = "0.22.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53"
dependencies = [
- "ring 0.17.8",
+ "ring 0.17.11",
"untrusted 0.9.0",
]
@@ -5752,9 +5809,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "winnow"
-version = "0.7.1"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86e376c75f4f43f44db463cf729e0d3acbf954d13e22c51e26e4c264b4ab545f"
+checksum = "0e7f4ea97f6f78012141bcdb6a216b2609f0979ada50b20ca5b52dde2eac2bb1"
dependencies = [
"memchr",
]
@@ -5866,11 +5923,11 @@ dependencies = [
[[package]]
name = "zerocopy"
-version = "0.8.17"
+version = "0.8.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa91407dacce3a68c56de03abe2760159582b846c6a4acd2f456618087f12713"
+checksum = "dde3bb8c68a8f3f1ed4ac9221aad6b10cece3e60a8e2ea54a6a2dec806d0084c"
dependencies = [
- "zerocopy-derive 0.8.17",
+ "zerocopy-derive 0.8.20",
]
[[package]]
@@ -5886,9 +5943,9 @@ dependencies = [
[[package]]
name = "zerocopy-derive"
-version = "0.8.17"
+version = "0.8.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06718a168365cad3d5ff0bb133aad346959a2074bd4a85c121255a11304a8626"
+checksum = "eea57037071898bf96a6da35fd626f4f27e9cee3ead2a6c703cf09d472b2e700"
dependencies = [
"proc-macro2",
"quote",
@@ -5973,6 +6030,7 @@ dependencies = [
"elf",
"hex",
"itertools 0.13.0",
+ "keccak-hash 0.11.0",
"lazy_static",
"log",
"plonky2",
@@ -5991,6 +6049,7 @@ dependencies = [
"hashbrown 0.14.5",
"hex",
"itertools 0.11.0",
+ "keccak-hash 0.10.0",
"lazy_static",
"log",
"num",
@@ -6012,7 +6071,7 @@ dependencies = [
[[package]]
name = "zkm-sdk"
version = "0.2.0"
-source = "git+https://github.com/zkMIPS/zkm-project-template?rev=28165b3c3574255158b38b491ce46d19f79c2cc0#28165b3c3574255158b38b491ce46d19f79c2cc0"
+source = "git+https://github.com/zkMIPS/zkm-project-template#155221dfa05daf31d7bfe6b601116ef5a03b82c9"
dependencies = [
"anyhow",
"async-trait",
@@ -6032,7 +6091,7 @@ dependencies = [
"tokio",
"tonic",
"tonic-build",
- "uuid 1.13.1",
+ "uuid 1.14.0",
"zkm-emulator",
"zkm-prover",
]
@@ -6070,9 +6129,9 @@ dependencies = [
[[package]]
name = "zstd-sys"
-version = "2.0.13+zstd.1.5.6"
+version = "2.0.14+zstd.1.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa"
+checksum = "8fb060d4926e4ac3a3ad15d864e99ceb5f343c6b34f5bd6d81ae6ed417311be5"
dependencies = [
"cc",
"pkg-config",
diff --git a/zkvms/zkm/host/Cargo.toml b/zkvms/zkm/host/Cargo.toml
index 1c5838a..2a7177e 100644
--- a/zkvms/zkm/host/Cargo.toml
+++ b/zkvms/zkm/host/Cargo.toml
@@ -4,18 +4,13 @@ version = "0.1.0"
edition = "2021"
[dependencies]
-zkm-sdk = { git = "https://github.com/zkMIPS/zkm-project-template", features = ["snark"], rev = "28165b3c3574255158b38b491ce46d19f79c2cc0" }
-aws-sdk-s3 = "=1.68.0"
+zkm-sdk = { git = "https://github.com/zkMIPS/zkm-project-template", features = ["snark"] }
bincode = "1.3.3"
-
tokio = { version = "1.21.0", features = ["macros", "rt-multi-thread", "signal"] }
-
-log = { version = "0.4.14", default-features = false }
-env_logger = "0.10.0"
anyhow = "1.0.75"
zkvms_host_io = { path = "../../../zkvms_host_io" }
[patch."https://github.com/zkMIPS/zkm"]
-zkm-emulator = { path = "/nix/store/h9s6kmnx7iafllv10wqhjix5kpyfsh37-zkm-unstable-2025-01-05/emulator" }
-zkm-prover = { path = "/nix/store/h9s6kmnx7iafllv10wqhjix5kpyfsh37-zkm-unstable-2025-01-05/prover" }
+zkm-emulator = { path = "/nix/store/xv19lsmz5ards9q6nnyzspcdjlz6law5-zkm-unstable-2025-02-11/emulator" }
+zkm-prover = { path = "/nix/store/xv19lsmz5ards9q6nnyzspcdjlz6law5-zkm-unstable-2025-02-11/prover" }
diff --git a/zkvms/zkm/host/src/main.rs b/zkvms/zkm/host/src/main.rs
index 7dce015..f71dcc5 100644
--- a/zkvms/zkm/host/src/main.rs
+++ b/zkvms/zkm/host/src/main.rs
@@ -4,6 +4,20 @@ use zkm_sdk::{prover::ClientCfg, prover::{ProverInput, ProverResult} , ProverCli
use zkvms_host_io::{read_args, benchmarkable, RunType::{ Execute, Prove, Verify }};
+async fn setup(
+ prover_client: &mut ProverClient,
+ prover_input: &mut ProverInput,
+ client_cfg: &mut ClientCfg,
+) {
+ let generation = prover_client
+ .setup_and_generate_sol_verifier(&client_cfg.zkm_prover, &client_cfg.vk_path, &prover_input)
+ .await;
+
+ if let Err(e) = generation {
+ panic!("Failed setup! Error: {e}");
+ }
+}
+
async fn get_proof(
prover_client: &mut ProverClient,
prover_input: &mut ProverInput,
@@ -22,12 +36,10 @@ async fn execute(
prover_client: &mut ProverClient,
prover_input: &mut ProverInput,
) {
- prover_input.execute_only = true;
-
let prover_result = get_proof(prover_client, prover_input).await;
prover_client
- .print_guest_execution_output(false, &prover_result)
+ .print_guest_execution_output(true, &prover_result)
.expect("print guest program excution's output false.")
}
@@ -37,17 +49,6 @@ async fn prove(
vk_path: &String,
proof_results_path: &String,
) {
- prover_input.execute_only = false;
-
- // As far as I can tell, we cannot evade generating the sol verifier step
- match prover_client
- .setup_and_generate_sol_verifier("local", &vk_path, &prover_input)
- .await
- {
- Ok(()) => println!("Succussfully setup_and_generate_sol_verifier."),
- Err(e) => panic!("Error during setup_and_generate_sol_verifier: {}", e),
- }
-
let prover_result = get_proof(prover_client, prover_input).await;
prover_client
@@ -87,11 +88,10 @@ async fn main() -> Result<()> {
"/tmp/input",
);
- let mut client_config: ClientCfg = ClientCfg {
- zkm_prover: "local".to_string(),
- vk_path: vk_path.to_owned(),
- ..Default::default()
- };
+ let mut client_config = ClientCfg::new(
+ "local".to_string(),
+ vk_path.to_owned(),
+ );
let mut prover_client = ProverClient::new(&client_config).await;
@@ -110,9 +110,12 @@ async fn main() -> Result<()> {
seg_size,
public_inputstream,
private_inputstream,
+ ..Default::default()
};
let start = Instant::now();
+ setup(&mut prover_client, &mut prover_input, &mut client_config).await;
+
match run_info.run_type {
// only excute the guest program without generating the proof.
Execute => benchmarkable!{