diff --git a/Cargo.lock b/Cargo.lock index 6125a6d..b3ca7eb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1038,9 +1038,9 @@ checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "bytemuck" -version = "1.16.1" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" +checksum = "6fd4c6dcc3b0aea2f5c0b4b82c2b15fe39ddbc76041a310848f4706edf76bb31" [[package]] name = "byteorder" @@ -1128,6 +1128,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chrono" version = "0.4.38" @@ -1453,6 +1459,16 @@ dependencies = [ "cipher", ] +[[package]] +name = "ctrlc" +version = "3.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" +dependencies = [ + "nix", + "windows-sys 0.59.0", +] + [[package]] name = "curve25519-dalek" version = "4.1.3" @@ -1527,6 +1543,84 @@ dependencies = [ "parking_lot_core", ] +[[package]] +name = "dashu" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b3e5ac1e23ff1995ef05b912e2b012a8784506987a2651552db2c73fb3d7e0" +dependencies = [ + "dashu-base", + "dashu-float", + "dashu-int", + "dashu-macros", + "dashu-ratio", + "rustversion", +] + +[[package]] +name = "dashu-base" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b80bf6b85aa68c58ffea2ddb040109943049ce3fbdf4385d0380aef08ef289" + +[[package]] +name = "dashu-float" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85078445a8dbd2e1bd21f04a816f352db8d333643f0c9b78ca7c3d1df71063e7" +dependencies = [ + "dashu-base", + "dashu-int", + "num-modular", + "num-order", + "rustversion", + "static_assertions", +] + +[[package]] +name = "dashu-int" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee99d08031ca34a4d044efbbb21dff9b8c54bb9d8c82a189187c0651ffdb9fbf" +dependencies = [ + "cfg-if", + "dashu-base", + "num-modular", + "num-order", + "rustversion", + "static_assertions", +] + +[[package]] +name = "dashu-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93381c3ef6366766f6e9ed9cf09e4ef9dec69499baf04f0c60e70d653cf0ab10" +dependencies = [ + "dashu-base", + "dashu-float", + "dashu-int", + "dashu-ratio", + "paste", + "proc-macro2", + "quote", + "rustversion", +] + +[[package]] +name = "dashu-ratio" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47e33b04dd7ce1ccf8a02a69d3419e354f2bbfdf4eb911a0b7465487248764c9" +dependencies = [ + "dashu-base", + "dashu-float", + "dashu-int", + "num-modular", + "num-order", + "rustversion", +] + [[package]] name = "der" version = "0.7.9" @@ -3155,6 +3249,18 @@ dependencies = [ "tempfile", ] +[[package]] +name = "nix" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "cfg_aliases", + "libc", +] + [[package]] name = "nohash-hasher" version = "0.2.0" @@ -3260,6 +3366,21 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-modular" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17bb261bf36fa7d83f4c294f834e91256769097b3cb505d44831e0a179ac647f" + +[[package]] +name = "num-order" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "537b596b97c40fcf8056d153049eb22f481c17ebce72a513ec9286e4986d1bb6" +dependencies = [ + "num-modular", +] + [[package]] name = "num-rational" version = "0.4.2" @@ -4139,6 +4260,15 @@ dependencies = [ "syn 2.0.72", ] +[[package]] +name = "prost-types" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +dependencies = [ + "prost", +] + [[package]] name = "psm" version = "0.1.21" @@ -5591,18 +5721,18 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.204" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" dependencies = [ "proc-macro2", "quote", @@ -5854,9 +5984,44 @@ dependencies = [ ] [[package]] -name = "sp1-core" +name = "sp1-core-executor" +version = "1.1.1" +source = "git+https://github.com/succinctlabs/sp1?rev=fb967e8c409b318d18985f8f92353e93d38c7cda#fb967e8c409b318d18985f8f92353e93d38c7cda" +dependencies = [ + "bincode", + "bytemuck", + "elf", + "eyre", + "generic-array 1.1.0", + "hashbrown 0.14.5", + "hex", + "itertools 0.13.0", + "log", + "nohash-hasher", + "num", + "p3-field", + "p3-keccak-air", + "p3-maybe-rayon", + "rand", + "rrs-succinct", + "serde", + "serde_with", + "sp1-curves", + "sp1-derive", + "sp1-primitives", + "sp1-stark", + "strum", + "strum_macros", + "thiserror", + "tiny-keccak", + "tracing", + "typenum", +] + +[[package]] +name = "sp1-core-machine" version = "1.1.1" -source = "git+https://github.com/succinctlabs/sp1?branch=experimental#33bfaaa2d5b5ee91ec06ad361a35f53accb10a75" +source = "git+https://github.com/succinctlabs/sp1?rev=fb967e8c409b318d18985f8f92353e93d38c7cda#fb967e8c409b318d18985f8f92353e93d38c7cda" dependencies = [ "anyhow", "arrayref", @@ -5901,8 +6066,11 @@ dependencies = [ "serde_with", "size", "snowbridge-amcl", + "sp1-core-executor", + "sp1-curves", "sp1-derive", "sp1-primitives", + "sp1-stark", "static_assertions", "strum", "strum_macros", @@ -5915,10 +6083,50 @@ dependencies = [ "web-time", ] +[[package]] +name = "sp1-cuda" +version = "1.1.1" +source = "git+https://github.com/succinctlabs/sp1?rev=fb967e8c409b318d18985f8f92353e93d38c7cda#fb967e8c409b318d18985f8f92353e93d38c7cda" +dependencies = [ + "bincode", + "ctrlc", + "prost", + "prost-types", + "serde", + "serde_json", + "sp1-core-machine", + "sp1-prover", + "sp1-stark", + "tokio", + "tracing", + "tracing-subscriber", + "twirp-rs", +] + +[[package]] +name = "sp1-curves" +version = "1.1.1" +source = "git+https://github.com/succinctlabs/sp1?rev=fb967e8c409b318d18985f8f92353e93d38c7cda#fb967e8c409b318d18985f8f92353e93d38c7cda" +dependencies = [ + "curve25519-dalek", + "dashu", + "elliptic-curve", + "generic-array 1.1.0", + "itertools 0.13.0", + "k256", + "num", + "p3-field", + "serde", + "snowbridge-amcl", + "sp1-primitives", + "sp1-stark", + "typenum", +] + [[package]] name = "sp1-derive" version = "1.1.1" -source = "git+https://github.com/succinctlabs/sp1?branch=experimental#33bfaaa2d5b5ee91ec06ad361a35f53accb10a75" +source = "git+https://github.com/succinctlabs/sp1?rev=fb967e8c409b318d18985f8f92353e93d38c7cda#fb967e8c409b318d18985f8f92353e93d38c7cda" dependencies = [ "proc-macro2", "quote", @@ -5939,7 +6147,7 @@ dependencies = [ [[package]] name = "sp1-primitives" version = "1.1.1" -source = "git+https://github.com/succinctlabs/sp1?branch=experimental#33bfaaa2d5b5ee91ec06ad361a35f53accb10a75" +source = "git+https://github.com/succinctlabs/sp1?rev=fb967e8c409b318d18985f8f92353e93d38c7cda#fb967e8c409b318d18985f8f92353e93d38c7cda" dependencies = [ "itertools 0.13.0", "lazy_static", @@ -5952,7 +6160,7 @@ dependencies = [ [[package]] name = "sp1-prover" version = "1.1.1" -source = "git+https://github.com/succinctlabs/sp1?branch=experimental#33bfaaa2d5b5ee91ec06ad361a35f53accb10a75" +source = "git+https://github.com/succinctlabs/sp1?rev=fb967e8c409b318d18985f8f92353e93d38c7cda#fb967e8c409b318d18985f8f92353e93d38c7cda" dependencies = [ "anyhow", "bincode", @@ -5972,13 +6180,15 @@ dependencies = [ "serde", "serde_json", "serial_test", - "sp1-core", + "sp1-core-executor", + "sp1-core-machine", "sp1-primitives", "sp1-recursion-circuit", "sp1-recursion-compiler", "sp1-recursion-core", "sp1-recursion-gnark-ffi", "sp1-recursion-program", + "sp1-stark", "subtle-encoding", "tempfile", "thiserror", @@ -5989,7 +6199,7 @@ dependencies = [ [[package]] name = "sp1-recursion-circuit" version = "1.1.1" -source = "git+https://github.com/succinctlabs/sp1?branch=experimental#33bfaaa2d5b5ee91ec06ad361a35f53accb10a75" +source = "git+https://github.com/succinctlabs/sp1?rev=fb967e8c409b318d18985f8f92353e93d38c7cda#fb967e8c409b318d18985f8f92353e93d38c7cda" dependencies = [ "bincode", "itertools 0.13.0", @@ -6002,17 +6212,18 @@ dependencies = [ "p3-matrix", "p3-util", "serde", - "sp1-core", + "sp1-core-machine", "sp1-recursion-compiler", "sp1-recursion-core", "sp1-recursion-derive", "sp1-recursion-program", + "sp1-stark", ] [[package]] name = "sp1-recursion-compiler" version = "1.1.1" -source = "git+https://github.com/succinctlabs/sp1?branch=experimental#33bfaaa2d5b5ee91ec06ad361a35f53accb10a75" +source = "git+https://github.com/succinctlabs/sp1?rev=fb967e8c409b318d18985f8f92353e93d38c7cda#fb967e8c409b318d18985f8f92353e93d38c7cda" dependencies = [ "backtrace", "itertools 0.13.0", @@ -6026,19 +6237,21 @@ dependencies = [ "p3-poseidon2", "p3-symmetric", "p3-util", + "rayon", "serde", - "sp1-core", + "sp1-core-machine", "sp1-primitives", "sp1-recursion-core", "sp1-recursion-core-v2", "sp1-recursion-derive", + "sp1-stark", "tracing", ] [[package]] name = "sp1-recursion-core" version = "1.1.1" -source = "git+https://github.com/succinctlabs/sp1?branch=experimental#33bfaaa2d5b5ee91ec06ad361a35f53accb10a75" +source = "git+https://github.com/succinctlabs/sp1?rev=fb967e8c409b318d18985f8f92353e93d38c7cda#fb967e8c409b318d18985f8f92353e93d38c7cda" dependencies = [ "arrayref", "backtrace", @@ -6062,9 +6275,11 @@ dependencies = [ "p3-util", "serde", "serde_with", - "sp1-core", + "sp1-core-executor", + "sp1-core-machine", "sp1-derive", "sp1-primitives", + "sp1-stark", "static_assertions", "tracing", "zkhash", @@ -6073,7 +6288,7 @@ dependencies = [ [[package]] name = "sp1-recursion-core-v2" version = "1.1.1" -source = "git+https://github.com/succinctlabs/sp1?branch=experimental#33bfaaa2d5b5ee91ec06ad361a35f53accb10a75" +source = "git+https://github.com/succinctlabs/sp1?rev=fb967e8c409b318d18985f8f92353e93d38c7cda#fb967e8c409b318d18985f8f92353e93d38c7cda" dependencies = [ "arrayref", "backtrace", @@ -6097,10 +6312,12 @@ dependencies = [ "p3-util", "serde", "serde_with", - "sp1-core", + "sp1-core-executor", + "sp1-core-machine", "sp1-derive", "sp1-primitives", "sp1-recursion-core", + "sp1-stark", "static_assertions", "thiserror", "tracing", @@ -6110,7 +6327,7 @@ dependencies = [ [[package]] name = "sp1-recursion-derive" version = "1.1.1" -source = "git+https://github.com/succinctlabs/sp1?branch=experimental#33bfaaa2d5b5ee91ec06ad361a35f53accb10a75" +source = "git+https://github.com/succinctlabs/sp1?rev=fb967e8c409b318d18985f8f92353e93d38c7cda#fb967e8c409b318d18985f8f92353e93d38c7cda" dependencies = [ "proc-macro2", "quote", @@ -6120,7 +6337,7 @@ dependencies = [ [[package]] name = "sp1-recursion-gnark-ffi" version = "1.1.1" -source = "git+https://github.com/succinctlabs/sp1?branch=experimental#33bfaaa2d5b5ee91ec06ad361a35f53accb10a75" +source = "git+https://github.com/succinctlabs/sp1?rev=fb967e8c409b318d18985f8f92353e93d38c7cda#fb967e8c409b318d18985f8f92353e93d38c7cda" dependencies = [ "anyhow", "bincode", @@ -6137,15 +6354,16 @@ dependencies = [ "serde", "serde_json", "sha2", - "sp1-core", + "sp1-core-machine", "sp1-recursion-compiler", + "sp1-stark", "tempfile", ] [[package]] name = "sp1-recursion-program" version = "1.1.1" -source = "git+https://github.com/succinctlabs/sp1?branch=experimental#33bfaaa2d5b5ee91ec06ad361a35f53accb10a75" +source = "git+https://github.com/succinctlabs/sp1?rev=fb967e8c409b318d18985f8f92353e93d38c7cda#fb967e8c409b318d18985f8f92353e93d38c7cda" dependencies = [ "itertools 0.13.0", "p3-air", @@ -6163,10 +6381,12 @@ dependencies = [ "p3-util", "rand", "serde", - "sp1-core", + "sp1-core-executor", + "sp1-core-machine", "sp1-primitives", "sp1-recursion-compiler", "sp1-recursion-core", + "sp1-stark", "stacker", "tracing", ] @@ -6174,7 +6394,7 @@ dependencies = [ [[package]] name = "sp1-sdk" version = "1.1.1" -source = "git+https://github.com/succinctlabs/sp1?branch=experimental#33bfaaa2d5b5ee91ec06ad361a35f53accb10a75" +source = "git+https://github.com/succinctlabs/sp1?rev=fb967e8c409b318d18985f8f92353e93d38c7cda#fb967e8c409b318d18985f8f92353e93d38c7cda" dependencies = [ "alloy-sol-types", "anyhow", @@ -6201,8 +6421,11 @@ dependencies = [ "serde", "serde_json", "sha2", - "sp1-core", + "sp1-core-executor", + "sp1-core-machine", + "sp1-cuda", "sp1-prover", + "sp1-stark", "strum", "strum_macros", "sysinfo", @@ -6214,6 +6437,35 @@ dependencies = [ "vergen", ] +[[package]] +name = "sp1-stark" +version = "1.1.1" +source = "git+https://github.com/succinctlabs/sp1?rev=fb967e8c409b318d18985f8f92353e93d38c7cda#fb967e8c409b318d18985f8f92353e93d38c7cda" +dependencies = [ + "arrayref", + "hashbrown 0.14.5", + "itertools 0.13.0", + "p3-air", + "p3-baby-bear", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-fri", + "p3-matrix", + "p3-maybe-rayon", + "p3-merkle-tree", + "p3-poseidon2", + "p3-symmetric", + "p3-uni-stark", + "p3-util", + "rayon-scan", + "serde", + "sp1-derive", + "sp1-primitives", + "tracing", +] + [[package]] name = "spin" version = "0.5.2" @@ -7215,6 +7467,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-targets" version = "0.48.5" diff --git a/README.md b/README.md index ac0f5f5..9c03442 100644 --- a/README.md +++ b/README.md @@ -105,14 +105,13 @@ SP1_PROVER=network SP1_PRIVATE_KEY= To specify a custom prover network RPC, you can use the `PROVER_NETWORK_RPC` environment variable. - - +``` ## FAQ diff --git a/bin/host/Cargo.toml b/bin/host/Cargo.toml index 76dabd3..427418b 100644 --- a/bin/host/Cargo.toml +++ b/bin/host/Cargo.toml @@ -24,11 +24,11 @@ alloy-provider.workspace = true reth-primitives.workspace = true # sp1 -# We use the experimental version because it has the "cycle report tracker" feature that we need. -sp1-sdk = { git = "https://github.com/succinctlabs/sp1", branch = "experimental" } +sp1-sdk = { git = "https://github.com/succinctlabs/sp1", rev = "fb967e8c409b318d18985f8f92353e93d38c7cda" } [build-dependencies] sp1-helper = "1.0.1" [features] -# cuda = ["sp1-sdk/cuda"] +default = [] +cuda = ["sp1-sdk/cuda"]