aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zkvms/sp1/Cargo.lock190
-rw-r--r--zkvms/sp1/host/Cargo.toml1
-rw-r--r--zkvms/sp1/host/src/main.rs12
3 files changed, 118 insertions, 85 deletions
diff --git a/zkvms/sp1/Cargo.lock b/zkvms/sp1/Cargo.lock
index 3b29c89..2b7dcda 100644
--- a/zkvms/sp1/Cargo.lock
+++ b/zkvms/sp1/Cargo.lock
@@ -62,7 +62,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e88e1edea70787c33e11197d3f32ae380f3db19e6e061e539a5bcf8184a6b326"
dependencies = [
"alloy-eips",
- "alloy-primitives 0.8.18",
+ "alloy-primitives 0.8.19",
"alloy-rlp",
"alloy-serde",
"alloy-trie",
@@ -80,7 +80,7 @@ checksum = "57b1bb53f40c0273cd1975573cd457b39213e68584e36d1401d25fd0398a1d65"
dependencies = [
"alloy-consensus",
"alloy-eips",
- "alloy-primitives 0.8.18",
+ "alloy-primitives 0.8.19",
"alloy-rlp",
"alloy-serde",
"serde",
@@ -92,7 +92,7 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0069cf0642457f87a01a014f6dc29d5d893cd4fd8fddf0c3cdfad1bb3ebafc41"
dependencies = [
- "alloy-primitives 0.8.18",
+ "alloy-primitives 0.8.19",
"alloy-rlp",
"serde",
]
@@ -103,7 +103,7 @@ version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c986539255fb839d1533c128e190e557e52ff652c9ef62939e233a81dd93f7e"
dependencies = [
- "alloy-primitives 0.8.18",
+ "alloy-primitives 0.8.19",
"alloy-rlp",
"derive_more 1.0.0",
"serde",
@@ -117,7 +117,7 @@ checksum = "5f9fadfe089e9ccc0650473f2d4ef0a28bc015bbca5631d9f0f09e49b557fdb3"
dependencies = [
"alloy-eip2930",
"alloy-eip7702",
- "alloy-primitives 0.8.18",
+ "alloy-primitives 0.8.19",
"alloy-rlp",
"alloy-serde",
"c-kzg",
@@ -129,11 +129,11 @@ dependencies = [
[[package]]
name = "alloy-json-abi"
-version = "0.8.18"
+version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "731ea743b3d843bc657e120fb1d1e9cc94f5dab8107e35a82125a63e6420a102"
+checksum = "24acd2f5ba97c7a320e67217274bc81fe3c3174b8e6144ec875d9d54e760e278"
dependencies = [
- "alloy-primitives 0.8.18",
+ "alloy-primitives 0.8.19",
"alloy-sol-type-parser",
"serde",
"serde_json",
@@ -145,8 +145,8 @@ version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e29040b9d5fe2fb70415531882685b64f8efd08dfbd6cc907120650504821105"
dependencies = [
- "alloy-primitives 0.8.18",
- "alloy-sol-types 0.8.18",
+ "alloy-primitives 0.8.19",
+ "alloy-sol-types 0.8.19",
"serde",
"serde_json",
"thiserror 2.0.11",
@@ -164,12 +164,12 @@ dependencies = [
"alloy-eips",
"alloy-json-rpc",
"alloy-network-primitives",
- "alloy-primitives 0.8.18",
+ "alloy-primitives 0.8.19",
"alloy-rpc-types-any",
"alloy-rpc-types-eth",
"alloy-serde",
"alloy-signer",
- "alloy-sol-types 0.8.18",
+ "alloy-sol-types 0.8.19",
"async-trait",
"auto_impl",
"futures-utils-wasm",
@@ -186,7 +186,7 @@ checksum = "9081c099e798b8a2bba2145eb82a9a146f01fc7a35e9ab6e7b43305051f97550"
dependencies = [
"alloy-consensus",
"alloy-eips",
- "alloy-primitives 0.8.18",
+ "alloy-primitives 0.8.19",
"alloy-serde",
"serde",
]
@@ -215,9 +215,9 @@ dependencies = [
[[package]]
name = "alloy-primitives"
-version = "0.8.18"
+version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "788bb18e8f61d5d9340b52143f27771daf7e1dccbaf2741621d2493f9debf52e"
+checksum = "ec878088ec6283ce1e90d280316aadd3d6ce3de06ff63d68953c855e7e447e92"
dependencies = [
"alloy-rlp",
"bytes",
@@ -226,7 +226,7 @@ dependencies = [
"derive_more 1.0.0",
"foldhash",
"hashbrown 0.15.2",
- "indexmap 2.7.0",
+ "indexmap 2.7.1",
"itoa",
"k256",
"keccak-asm",
@@ -242,9 +242,9 @@ dependencies = [
[[package]]
name = "alloy-rlp"
-version = "0.3.10"
+version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f542548a609dca89fcd72b3b9f355928cf844d4363c5eed9c5273a3dd225e097"
+checksum = "3d6c1d995bff8d011f7cd6c81820d51825e6e06d6db73914c1630ecf544d83d6"
dependencies = [
"alloy-rlp-derive",
"arrayvec",
@@ -253,9 +253,9 @@ dependencies = [
[[package]]
name = "alloy-rlp-derive"
-version = "0.3.10"
+version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a833d97bf8a5f0f878daf2c8451fff7de7f9de38baa5a45d936ec718d81255a"
+checksum = "a40e1ef334153322fd878d07e86af7a529bcb86b2439525920a88eba87bcf943"
dependencies = [
"proc-macro2",
"quote",
@@ -283,10 +283,10 @@ dependencies = [
"alloy-consensus-any",
"alloy-eips",
"alloy-network-primitives",
- "alloy-primitives 0.8.18",
+ "alloy-primitives 0.8.19",
"alloy-rlp",
"alloy-serde",
- "alloy-sol-types 0.8.18",
+ "alloy-sol-types 0.8.19",
"derive_more 1.0.0",
"itertools 0.13.0",
"serde",
@@ -299,7 +299,7 @@ version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5851bf8d5ad33014bd0c45153c603303e730acc8a209450a7ae6b4a12c2789e2"
dependencies = [
- "alloy-primitives 0.8.18",
+ "alloy-primitives 0.8.19",
"serde",
"serde_json",
]
@@ -310,7 +310,7 @@ version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e10ca565da6500cca015ba35ee424d59798f2e1b85bc0dd8f81dafd401f029a"
dependencies = [
- "alloy-primitives 0.8.18",
+ "alloy-primitives 0.8.19",
"async-trait",
"auto_impl",
"elliptic-curve",
@@ -326,7 +326,7 @@ checksum = "47fababf5a745133490cde927d48e50267f97d3d1209b9fc9f1d1d666964d172"
dependencies = [
"alloy-consensus",
"alloy-network",
- "alloy-primitives 0.8.18",
+ "alloy-primitives 0.8.19",
"alloy-signer",
"async-trait",
"k256",
@@ -350,12 +350,12 @@ dependencies = [
[[package]]
name = "alloy-sol-macro"
-version = "0.8.18"
+version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a07b74d48661ab2e4b50bb5950d74dbff5e61dd8ed03bb822281b706d54ebacb"
+checksum = "8d039d267aa5cbb7732fa6ce1fd9b5e9e29368f580f80ba9d7a8450c794de4b2"
dependencies = [
- "alloy-sol-macro-expander 0.8.18",
- "alloy-sol-macro-input 0.8.18",
+ "alloy-sol-macro-expander 0.8.19",
+ "alloy-sol-macro-input 0.8.19",
"proc-macro-error2",
"proc-macro2",
"quote",
@@ -371,7 +371,7 @@ dependencies = [
"alloy-sol-macro-input 0.7.7",
"const-hex",
"heck",
- "indexmap 2.7.0",
+ "indexmap 2.7.1",
"proc-macro-error",
"proc-macro2",
"quote",
@@ -382,19 +382,19 @@ dependencies = [
[[package]]
name = "alloy-sol-macro-expander"
-version = "0.8.18"
+version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19cc9c7f20b90f9be1a8f71a3d8e283a43745137b0837b1a1cb13159d37cad72"
+checksum = "620ae5eee30ee7216a38027dec34e0585c55099f827f92f50d11e3d2d3a4a954"
dependencies = [
- "alloy-sol-macro-input 0.8.18",
+ "alloy-sol-macro-input 0.8.19",
"const-hex",
"heck",
- "indexmap 2.7.0",
+ "indexmap 2.7.1",
"proc-macro-error2",
"proc-macro2",
"quote",
"syn 2.0.96",
- "syn-solidity 0.8.18",
+ "syn-solidity 0.8.19",
"tiny-keccak",
]
@@ -415,9 +415,9 @@ dependencies = [
[[package]]
name = "alloy-sol-macro-input"
-version = "0.8.18"
+version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "713b7e6dfe1cb2f55c80fb05fd22ed085a1b4e48217611365ed0ae598a74c6ac"
+checksum = "ad9f7d057e00f8c5994e4ff4492b76532c51ead39353aa2ed63f8c50c0f4d52e"
dependencies = [
"const-hex",
"dunce",
@@ -425,14 +425,14 @@ dependencies = [
"proc-macro2",
"quote",
"syn 2.0.96",
- "syn-solidity 0.8.18",
+ "syn-solidity 0.8.19",
]
[[package]]
name = "alloy-sol-type-parser"
-version = "0.8.18"
+version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1eda2711ab2e1fb517fc6e2ffa9728c9a232e296d16810810e6957b781a1b8bc"
+checksum = "74e60b084fe1aef8acecda2743ff2d93c18ff3eb67a2d3b12f62582a1e66ef5e"
dependencies = [
"serde",
"winnow 0.6.24",
@@ -452,13 +452,13 @@ dependencies = [
[[package]]
name = "alloy-sol-types"
-version = "0.8.18"
+version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3b478bc9c0c4737a04cd976accde4df7eba0bdc0d90ad6ff43d58bc93cf79c1"
+checksum = "c1382302752cd751efd275f4d6ef65877ddf61e0e6f5ac84ef4302b79a33a31a"
dependencies = [
"alloy-json-abi",
- "alloy-primitives 0.8.18",
- "alloy-sol-macro 0.8.18",
+ "alloy-primitives 0.8.19",
+ "alloy-sol-macro 0.8.19",
"const-hex",
"serde",
]
@@ -469,7 +469,7 @@ version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6917c79e837aa7b77b7a6dae9f89cbe15313ac161c4d3cfaf8909ef21f3d22d8"
dependencies = [
- "alloy-primitives 0.8.18",
+ "alloy-primitives 0.8.19",
"alloy-rlp",
"arrayvec",
"derive_more 1.0.0",
@@ -903,9 +903,9 @@ checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
[[package]]
name = "bitflags"
-version = "2.7.0"
+version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be"
+checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36"
[[package]]
name = "bitvec"
@@ -1047,7 +1047,7 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037"
dependencies = [
"camino",
"cargo-platform",
- "semver 1.0.24",
+ "semver 1.0.25",
"serde",
"serde_json",
"thiserror 1.0.69",
@@ -1055,9 +1055,9 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.2.9"
+version = "1.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8293772165d9345bdaaa39b45b2109591e63fe5e6fbc23c6ff930a048aa310b"
+checksum = "13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229"
dependencies = [
"jobserver",
"libc",
@@ -1110,9 +1110,9 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.5.26"
+version = "4.5.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783"
+checksum = "769b0145982b4b48713e01ec42d61614425f27b7058bda7180a3a41f30104796"
dependencies = [
"clap_builder",
"clap_derive",
@@ -1120,9 +1120,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.5.26"
+version = "4.5.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121"
+checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7"
dependencies = [
"anstream",
"anstyle",
@@ -1259,9 +1259,9 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
[[package]]
name = "crunchy"
-version = "0.2.2"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929"
[[package]]
name = "crypto-bigint"
@@ -1908,7 +1908,7 @@ dependencies = [
"futures-core",
"futures-sink",
"http",
- "indexmap 2.7.0",
+ "indexmap 2.7.1",
"slab",
"tokio",
"tokio-util",
@@ -2009,6 +2009,7 @@ version = "0.1.0"
dependencies = [
"alloy-sol-types 0.7.7",
"clap",
+ "generic-array 1.1.1",
"hex",
"serde",
"serde_json",
@@ -2334,9 +2335,9 @@ dependencies = [
[[package]]
name = "indexmap"
-version = "2.7.0"
+version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f"
+checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652"
dependencies = [
"equivalent",
"hashbrown 0.15.2",
@@ -2357,6 +2358,10 @@ dependencies = [
]
[[package]]
+name = "input_macros"
+version = "0.1.0"
+
+[[package]]
name = "instant"
version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2367,9 +2372,9 @@ dependencies = [
[[package]]
name = "ipnet"
-version = "2.10.1"
+version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708"
+checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130"
[[package]]
name = "is_terminal_polyfill"
@@ -3841,14 +3846,14 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
dependencies = [
- "semver 1.0.24",
+ "semver 1.0.25",
]
[[package]]
name = "rustix"
-version = "0.38.43"
+version = "0.38.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6"
+checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
dependencies = [
"bitflags",
"errno",
@@ -4039,9 +4044,9 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.24"
+version = "1.0.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba"
+checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03"
dependencies = [
"serde",
]
@@ -4077,9 +4082,9 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.135"
+version = "1.0.137"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9"
+checksum = "930cfb6e6abf99298aaad7d29abbef7a9999a9a8806a40088f55f0dcec03146b"
dependencies = [
"itoa",
"memchr",
@@ -4098,6 +4103,15 @@ dependencies = [
]
[[package]]
+name = "serde_spanned"
+version = "0.6.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
name = "serde_urlencoded"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4549,10 +4563,10 @@ dependencies = [
name = "sp1-sdk"
version = "3.4.0"
dependencies = [
- "alloy-primitives 0.8.18",
+ "alloy-primitives 0.8.19",
"alloy-signer",
"alloy-signer-local",
- "alloy-sol-types 0.8.18",
+ "alloy-sol-types 0.8.19",
"anyhow",
"async-trait",
"backoff",
@@ -4721,9 +4735,9 @@ dependencies = [
[[package]]
name = "syn-solidity"
-version = "0.8.18"
+version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31e89d8bf2768d277f40573c83a02a099e96d96dd3104e13ea676194e61ac4b0"
+checksum = "b84e4d83a0a6704561302b917a932484e1cae2d8c6354c64be8b7bac1c1fe057"
dependencies = [
"paste",
"proc-macro2",
@@ -4976,10 +4990,25 @@ dependencies = [
]
[[package]]
+name = "toml"
+version = "0.8.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.22.22",
+]
+
+[[package]]
name = "toml_datetime"
version = "0.6.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
+dependencies = [
+ "serde",
+]
[[package]]
name = "toml_edit"
@@ -4987,7 +5016,7 @@ version = "0.19.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
dependencies = [
- "indexmap 2.7.0",
+ "indexmap 2.7.1",
"toml_datetime",
"winnow 0.5.40",
]
@@ -4998,7 +5027,9 @@ version = "0.22.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5"
dependencies = [
- "indexmap 2.7.0",
+ "indexmap 2.7.1",
+ "serde",
+ "serde_spanned",
"toml_datetime",
"winnow 0.6.24",
]
@@ -5231,9 +5262,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
[[package]]
name = "unicode-ident"
-version = "1.0.14"
+version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
+checksum = "11cd88e12b17c6494200a9c1b683a04fcac9573ed74cd1b62aeb2727c5592243"
[[package]]
name = "unicode-width"
@@ -5284,9 +5315,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
name = "valuable"
-version = "0.1.0"
+version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
[[package]]
name = "vcpkg"
@@ -5864,5 +5895,8 @@ name = "zkvms_host_io"
version = "0.1.0"
dependencies = [
"clap",
+ "input_macros",
"num-traits",
+ "serde",
+ "toml",
]
diff --git a/zkvms/sp1/host/Cargo.toml b/zkvms/sp1/host/Cargo.toml
index 6ab50a3..8f4da63 100644
--- a/zkvms/sp1/host/Cargo.toml
+++ b/zkvms/sp1/host/Cargo.toml
@@ -5,6 +5,7 @@ edition = "2021"
[dependencies]
sp1-sdk = { path = "/nix/store/8g5sf8h6nfypnd736x6ns4c44s8g6qd4-sp1-unstable-2024-12-23/crates/sdk" }
+generic-array = "=1.1.1"
serde_json = { version = "1.0", default-features = false, features = ["alloc"] }
serde = { version = "1.0", default-features = false, features = ["derive"] }
clap = { version = "4.0", features = ["derive", "env"] }
diff --git a/zkvms/sp1/host/src/main.rs b/zkvms/sp1/host/src/main.rs
index 28cc319..ef069fb 100644
--- a/zkvms/sp1/host/src/main.rs
+++ b/zkvms/sp1/host/src/main.rs
@@ -1,16 +1,14 @@
-use zkvms_host_io::{read_args, RunType::{ Execute, Prove, Verify }};
+use zkvms_host_io::{Input, foreach_input_field, read_args, RunType::{ Execute, Prove, Verify }};
use sp1_sdk::{ProverClient, EnvProver, SP1Stdin, SP1ProofWithPublicValues, SP1VerifyingKey};
/// The ELF (executable and linkable format) file for the Succinct RISC-V zkVM.
pub const FIBONACCI_ELF: &[u8] = include_bytes!("./guest");
-type Input = (Vec<Vec<bool>>, u32, Vec<Vec<u32>>);
-
-fn build_stdin((graph, colors, coloring): &Input) -> SP1Stdin {
+fn build_stdin(input: &Input) -> SP1Stdin {
let mut stdin = SP1Stdin::new();
- stdin.write(&graph);
- stdin.write(&colors);
- stdin.write(&coloring);
+ foreach_input_field!{
+ stdin.write(&input.yield);
+ }
stdin
}