aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Vertices-010.in5
-rw-r--r--flake.nix1
-rw-r--r--zkvms/risc0/Justfile12
-rw-r--r--zkvms/risc0/default.nix54
l---------zkvms/risc0/guest/Cargo.lock1
l---------zkvms/risc0/guest/guests_macro1
6 files changed, 74 insertions, 0 deletions
diff --git a/Vertices-010.in b/Vertices-010.in
new file mode 100644
index 0000000..d93d036
--- /dev/null
+++ b/Vertices-010.in
@@ -0,0 +1,5 @@
+(
+vec![vec![false, false, false, false, true, false, false, true, false, false], vec![false, false, false, true, false, false, false, false, false, false], vec![false, false, false, false, false, true, false, true, false, true], vec![false, true, false, false, true, false, false, false, true, true], vec![true, false, false, true, false, false, false, true, false, true], vec![false, false, true, false, false, false, false, true, false, false], vec![false, false, false, false, false, false, false, false, true, false], vec![true, false, true, false, true, true, false, false, true, true], vec![false, false, false, true, false, false, true, true, false, false], vec![false, false, true, true, true, false, false, true, false, false]],
+3,
+vec![vec![0, 2], vec![1, 1], vec![2, 1], vec![3, 0], vec![4, 1], vec![5, 2], vec![6, 0], vec![7, 0], vec![8, 1], vec![9, 2]]
+)
diff --git a/flake.nix b/flake.nix
index 35e3402..7299b4b 100644
--- a/flake.nix
+++ b/flake.nix
@@ -21,5 +21,6 @@
callPackage = pkgs.lib.callPackageWith pkgs;
in {
+ packages.${system}.risc0 = callPackage ./zkvms/risc0/default.nix {craneLib-default = crane.mkLib pkgs;};
};
}
diff --git a/zkvms/risc0/Justfile b/zkvms/risc0/Justfile
new file mode 100644
index 0000000..9cd78fe
--- /dev/null
+++ b/zkvms/risc0/Justfile
@@ -0,0 +1,12 @@
+execute: build-guest
+ time cargo run --bin host-risc0 --release -- execute
+
+prove: build-guest
+ time cargo run --bin host-risc0 --release -- prove
+
+verify: build-guest
+ time cargo run --bin host-risc0 --release -- verify
+
+build-guest:
+ cd guest && \
+ cargo build --release --target riscv32im-risc0-zkvm-elf
diff --git a/zkvms/risc0/default.nix b/zkvms/risc0/default.nix
new file mode 100644
index 0000000..42ebf8a
--- /dev/null
+++ b/zkvms/risc0/default.nix
@@ -0,0 +1,54 @@
+{ stdenv,
+ lib,
+ just,
+ metacraft-labs,
+ pkg-config,
+ craneLib-default,
+}:
+let
+ fs = lib.fileset;
+
+ commonArgs = rec {
+ pname = "risc0";
+ version = "infdev";
+
+ src = fs.toSource {
+ root = ../..;
+ fileset = fs.intersection (fs.gitTracked ../..) (fs.unions [
+ ./.
+ ../../guests
+ ../../guests_macro
+ ../../Cargo.lock
+ ../../Cargo.toml
+ ../../Vertices-010.in
+ ]);
+ };
+ };
+
+ craneLib = craneLib-default.overrideToolchain metacraft-labs.risc0;
+ cargoArtifacts = craneLib.buildDepsOnly commonArgs;
+in
+ craneLib.buildPackage (commonArgs
+ // {
+ inherit cargoArtifacts;
+
+ nativeBuildInputs = [
+ just
+ metacraft-labs.risc0
+ stdenv.cc
+ pkg-config
+ ];
+
+ postPatch = ''
+ ln -s ../../../../guests/graph_coloring ./zkvms/risc0/guest/src/zkp
+ '';
+
+ preBuild = ''
+ INPUTS="$PWD/Vertices-010.in"
+ export INPUTS
+ cd zkvms/risc0
+ just prove
+ '';
+
+ doCheck = false;
+ })
diff --git a/zkvms/risc0/guest/Cargo.lock b/zkvms/risc0/guest/Cargo.lock
new file mode 120000
index 0000000..ee3be30
--- /dev/null
+++ b/zkvms/risc0/guest/Cargo.lock
@@ -0,0 +1 @@
+../../../Cargo.lock \ No newline at end of file
diff --git a/zkvms/risc0/guest/guests_macro b/zkvms/risc0/guest/guests_macro
new file mode 120000
index 0000000..98e8cf9
--- /dev/null
+++ b/zkvms/risc0/guest/guests_macro
@@ -0,0 +1 @@
+../../../guests_macro/ \ No newline at end of file