From 4bba003e7d8cdb58aa20a35adb1e249e99af3ad4 Mon Sep 17 00:00:00 2001 From: Kamen Mladenov Date: Tue, 25 Feb 2025 13:20:03 +0200 Subject: fix(zkvms/zkm): Override zkm SDK The SDK is out of date. A PR is opened: https://github.com/zkMIPS/zkm-project-template/pull/54 However, its not certain it will be merged soon, so for now this workaround will have to do. --- .../0001-chore-Increase-DEGREE_BITS_RANGE.patch | 42 ++++++++++++++++++++++ zkvms/zkm/default.nix | 10 ++++++ 2 files changed, 52 insertions(+) create mode 100644 zkvms/zkm/0001-chore-Increase-DEGREE_BITS_RANGE.patch diff --git a/zkvms/zkm/0001-chore-Increase-DEGREE_BITS_RANGE.patch b/zkvms/zkm/0001-chore-Increase-DEGREE_BITS_RANGE.patch new file mode 100644 index 0000000..a8d0a8a --- /dev/null +++ b/zkvms/zkm/0001-chore-Increase-DEGREE_BITS_RANGE.patch @@ -0,0 +1,42 @@ +From 1ad671fc0694f28c3c8fe224d33b403bc6be0952 Mon Sep 17 00:00:00 2001 +From: Kamen Mladenov +Date: Fri, 21 Feb 2025 11:33:26 +0200 +Subject: [PATCH] chore: Increase DEGREE_BITS_RANGE + +After SHA256 precompile was introduced, the DEGREE_BITS_RANGE value was +increased to 12 elements. +https://github.com/zkMIPS/zkm/pull/222 +--- + sdk/src/local/util.rs | 16 ++++++++++++++-- + 1 file changed, 14 insertions(+), 2 deletions(-) + +diff --git a/sdk/src/local/util.rs b/sdk/src/local/util.rs +index 702ae8b..e389f1e 100644 +--- a/sdk/src/local/util.rs ++++ b/sdk/src/local/util.rs +@@ -16,8 +16,20 @@ use zkm_prover::cpu::kernel::assembler::segment_kernel; + use zkm_prover::fixed_recursive_verifier::AllRecursiveCircuits; + use zkm_prover::generation::state::{AssumptionReceipts, Receipt}; + +-const DEGREE_BITS_RANGE: [Range; 8] = +- [10..21, 12..22, 11..21, 8..21, 6..21, 6..21, 6..21, 13..23]; ++const DEGREE_BITS_RANGE: [Range; 12] = [ ++ 10..21, ++ 12..22, ++ 11..21, ++ 8..21, ++ 6..10, ++ 6..10, ++ 6..16, ++ 6..16, ++ 6..16, ++ 6..16, ++ 6..21, ++ 13..23, ++]; + + const D: usize = 2; + type C = PoseidonGoldilocksConfig; +-- +2.47.0 + diff --git a/zkvms/zkm/default.nix b/zkvms/zkm/default.nix index ffd28e3..fc45226 100644 --- a/zkvms/zkm/default.nix +++ b/zkvms/zkm/default.nix @@ -55,6 +55,16 @@ let protobuf metacraft-labs.zkm ]; + + overrideVendorGitCheckout = ps: drv: + if drv.src.shortRev == "155221d" && builtins.any (p: p.name == "zkm-sdk") ps then + drv.overrideAttrs (_: { + patches = [ + ./0001-chore-Increase-DEGREE_BITS_RANGE.patch + ]; + }) + else + drv; }; craneLib = craneLib-default.overrideToolchain metacraft-labs.zkm; -- cgit v1.2.3