diff --git a/prover/Cargo.lock b/prover/Cargo.lock index a8ce247c7..4e162d873 100644 --- a/prover/Cargo.lock +++ b/prover/Cargo.lock @@ -97,11 +97,11 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59febb24956a41c29bb5f450978fbe825bd6456b3f80586c8bd558dc882e7b6a" dependencies = [ - "alloy-consensus 0.8.3", + "alloy-consensus", "alloy-core", "alloy-eips 0.8.3", "alloy-genesis", - "alloy-network 0.8.3", + "alloy-network", "alloy-provider", "alloy-rpc-client", "alloy-rpc-types", @@ -120,22 +120,6 @@ dependencies = [ "strum 0.26.3", ] -[[package]] -name = "alloy-consensus" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41ed961a48297c732a5d97ee321aa8bb5009ecadbcb077d8bec90cb54e651629" -dependencies = [ - "alloy-eips 0.5.4", - "alloy-primitives", - "alloy-rlp", - "alloy-serde 0.5.4", - "auto_impl", - "c-kzg", - "derive_more 1.0.0", - "serde", -] - [[package]] name = "alloy-consensus" version = "0.8.3" @@ -160,7 +144,7 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57b1bb53f40c0273cd1975573cd457b39213e68584e36d1401d25fd0398a1d65" dependencies = [ - "alloy-consensus 0.8.3", + "alloy-consensus", "alloy-eips 0.8.3", "alloy-primitives", "alloy-rlp", @@ -221,18 +205,6 @@ dependencies = [ "serde", ] -[[package]] -name = "alloy-eip7702" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ffc577390ce50234e02d841214b3dc0bea6aaaae8e04bbf3cb82e9a45da9eb" -dependencies = [ - "alloy-primitives", - "alloy-rlp", - "derive_more 1.0.0", - "serde", -] - [[package]] name = "alloy-eip7702" version = "0.4.2" @@ -263,24 +235,6 @@ dependencies = [ "serde", ] -[[package]] -name = "alloy-eips" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b69e06cf9c37be824b9d26d6d101114fdde6af0c87de2828b414c05c4b3daa71" -dependencies = [ - "alloy-eip2930", - "alloy-eip7702 0.3.2", - "alloy-primitives", - "alloy-rlp", - "alloy-serde 0.5.4", - "c-kzg", - "derive_more 1.0.0", - "once_cell", - "serde", - "sha2", -] - [[package]] name = "alloy-eips" version = "0.8.3" @@ -323,20 +277,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "alloy-json-rpc" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af5979e0d5a7bf9c7eb79749121e8256e59021af611322aee56e77e20776b4b3" -dependencies = [ - "alloy-primitives", - "alloy-sol-types", - "serde", - "serde_json", - "thiserror 1.0.69", - "tracing", -] - [[package]] name = "alloy-json-rpc" version = "0.8.3" @@ -351,43 +291,22 @@ dependencies = [ "tracing", ] -[[package]] -name = "alloy-network" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "204237129086ce5dc17a58025e93739b01b45313841f98fa339eb1d780511e57" -dependencies = [ - "alloy-consensus 0.5.4", - "alloy-eips 0.5.4", - "alloy-json-rpc 0.5.4", - "alloy-network-primitives 0.5.4", - "alloy-primitives", - "alloy-rpc-types-eth 0.5.4", - "alloy-serde 0.5.4", - "alloy-signer 0.5.4", - "alloy-sol-types", - "async-trait", - "auto_impl", - "futures-utils-wasm", - "thiserror 1.0.69", -] - [[package]] name = "alloy-network" version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "510cc00b318db0dfccfdd2d032411cfae64fc144aef9679409e014145d3dacc4" dependencies = [ - "alloy-consensus 0.8.3", + "alloy-consensus", "alloy-consensus-any", "alloy-eips 0.8.3", - "alloy-json-rpc 0.8.3", - "alloy-network-primitives 0.8.3", + "alloy-json-rpc", + "alloy-network-primitives", "alloy-primitives", "alloy-rpc-types-any", - "alloy-rpc-types-eth 0.8.3", + "alloy-rpc-types-eth", "alloy-serde 0.8.3", - "alloy-signer 0.8.3", + "alloy-signer", "alloy-sol-types", "async-trait", "auto_impl", @@ -397,26 +316,13 @@ dependencies = [ "thiserror 2.0.9", ] -[[package]] -name = "alloy-network-primitives" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514f70ee2a953db21631cd817b13a1571474ec77ddc03d47616d5e8203489fde" -dependencies = [ - "alloy-consensus 0.5.4", - "alloy-eips 0.5.4", - "alloy-primitives", - "alloy-serde 0.5.4", - "serde", -] - [[package]] name = "alloy-network-primitives" version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9081c099e798b8a2bba2145eb82a9a146f01fc7a35e9ab6e7b43305051f97550" dependencies = [ - "alloy-consensus 0.8.3", + "alloy-consensus", "alloy-eips 0.8.3", "alloy-primitives", "alloy-serde 0.8.3", @@ -458,14 +364,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc2dfaddd9a30aa870a78a4e1316e3e115ec1e12e552cbc881310456b85c1f24" dependencies = [ "alloy-chains", - "alloy-consensus 0.8.3", + "alloy-consensus", "alloy-eips 0.8.3", - "alloy-json-rpc 0.8.3", - "alloy-network 0.8.3", - "alloy-network-primitives 0.8.3", + "alloy-json-rpc", + "alloy-network", + "alloy-network-primitives", "alloy-primitives", "alloy-rpc-client", - "alloy-rpc-types-eth 0.8.3", + "alloy-rpc-types-eth", "alloy-transport", "alloy-transport-http", "async-stream", @@ -516,7 +422,7 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "531137b283547d5b9a5cafc96b006c64ef76810c681d606f28be9781955293b6" dependencies = [ - "alloy-json-rpc 0.8.3", + "alloy-json-rpc", "alloy-primitives", "alloy-transport", "alloy-transport-http", @@ -540,7 +446,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3410a472ce26c457e9780f708ee6bd540b30f88f1f31fdab7a11d00bd6aa1aee" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth 0.8.3", + "alloy-rpc-types-eth", "alloy-serde 0.8.3", "serde", ] @@ -552,39 +458,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed98e1af55a7d856bfa385f30f63d8d56be2513593655c904a8f4a7ec963aa3e" dependencies = [ "alloy-consensus-any", - "alloy-rpc-types-eth 0.8.3", + "alloy-rpc-types-eth", "alloy-serde 0.8.3", ] -[[package]] -name = "alloy-rpc-types-eth" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b034779a4850b4b03f5be5ea674a1cf7d746b2da762b34d1860ab45e48ca27" -dependencies = [ - "alloy-consensus 0.5.4", - "alloy-eips 0.5.4", - "alloy-network-primitives 0.5.4", - "alloy-primitives", - "alloy-rlp", - "alloy-serde 0.5.4", - "alloy-sol-types", - "derive_more 1.0.0", - "itertools 0.13.0", - "serde", - "serde_json", -] - [[package]] name = "alloy-rpc-types-eth" version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8737d7a6e37ca7bba9c23e9495c6534caec6760eb24abc9d5ffbaaba147818e1" dependencies = [ - "alloy-consensus 0.8.3", + "alloy-consensus", "alloy-consensus-any", "alloy-eips 0.8.3", - "alloy-network-primitives 0.8.3", + "alloy-network-primitives", "alloy-primitives", "alloy-rlp", "alloy-serde 0.8.3", @@ -606,17 +493,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "alloy-serde" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "028e72eaa9703e4882344983cfe7636ce06d8cce104a78ea62fd19b46659efc4" -dependencies = [ - "alloy-primitives", - "serde", - "serde_json", -] - [[package]] name = "alloy-serde" version = "0.8.3" @@ -628,20 +504,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "alloy-signer" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "592c185d7100258c041afac51877660c7bf6213447999787197db4842f0e938e" -dependencies = [ - "alloy-primitives", - "async-trait", - "auto_impl", - "elliptic-curve", - "k256", - "thiserror 1.0.69", -] - [[package]] name = "alloy-signer" version = "0.8.3" @@ -658,18 +520,18 @@ dependencies = [ [[package]] name = "alloy-signer-local" -version = "0.5.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6614f02fc1d5b079b2a4a5320018317b506fd0a6d67c1fd5542a71201724986c" +checksum = "47fababf5a745133490cde927d48e50267f97d3d1209b9fc9f1d1d666964d172" dependencies = [ - "alloy-consensus 0.5.4", - "alloy-network 0.5.4", + "alloy-consensus", + "alloy-network", "alloy-primitives", - "alloy-signer 0.5.4", + "alloy-signer", "async-trait", "k256", "rand", - "thiserror 1.0.69", + "thiserror 2.0.9", ] [[package]] @@ -748,7 +610,7 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "538a04a37221469cac0ce231b737fd174de2fdfcdd843bdd068cb39ed3e066ad" dependencies = [ - "alloy-json-rpc 0.8.3", + "alloy-json-rpc", "base64", "futures-util", "futures-utils-wasm", @@ -768,7 +630,7 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ed40eb1e1265b2911512f6aa1dcece9702d078f5a646730c45e39e2be00ac1c" dependencies = [ - "alloy-json-rpc 0.8.3", + "alloy-json-rpc", "alloy-transport", "reqwest", "serde_json", @@ -1187,6 +1049,20 @@ dependencies = [ "tracing", ] +[[package]] +name = "backoff" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" +dependencies = [ + "futures-core", + "getrandom", + "instant", + "pin-project-lite", + "rand", + "tokio", +] + [[package]] name = "backtrace" version = "0.3.73" @@ -1491,6 +1367,25 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "cbindgen" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fce8dd7fcfcbf3a0a87d8f515194b49d6135acab73e18bd380d1d93bb1a15eb" +dependencies = [ + "clap", + "heck 0.4.1", + "indexmap 2.7.0", + "log", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn 2.0.91", + "tempfile", + "toml", +] + [[package]] name = "cc" version = "1.2.9" @@ -1523,6 +1418,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" @@ -1759,29 +1660,13 @@ dependencies = [ ] [[package]] -name = "curve25519-dalek" -version = "4.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" -dependencies = [ - "cfg-if 1.0.0", - "cpufeatures", - "curve25519-dalek-derive", - "fiat-crypto", - "rustc_version 0.4.0", - "subtle", - "zeroize", -] - -[[package]] -name = "curve25519-dalek-derive" -version = "0.1.1" +name = "ctrlc" +version = "3.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.91", + "nix", + "windows-sys 0.59.0", ] [[package]] @@ -2029,6 +1914,20 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "downloader" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ac1e888d6830712d565b2f3a974be3200be9296bc1b03db8251a4cbf18a4a34" +dependencies = [ + "digest 0.10.7", + "futures", + "rand", + "reqwest", + "thiserror 1.0.69", + "tokio", +] + [[package]] name = "dtoa" version = "1.0.9" @@ -2234,12 +2133,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - [[package]] name = "fixed-hash" version = "0.8.0" @@ -2767,6 +2660,19 @@ dependencies = [ "webpki-roots", ] +[[package]] +name = "hyper-timeout" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3203a961e5c83b6f5498933e78b6b263e208c197b63e9c6c53cc82ffd3f63793" +dependencies = [ + "hyper 1.4.1", + "hyper-util", + "pin-project-lite", + "tokio", + "tower-service", +] + [[package]] name = "hyper-tls" version = "0.6.0" @@ -3041,13 +2947,14 @@ dependencies = [ [[package]] name = "kzg-rs" -version = "0.2.3" -source = "git+https://github.com/morph-l2/kzg-rs.git?branch=sp1-bls-dev#aa836987cee72d66147fd1c39d370031f0363c58" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6efe7b9aea4a6b9454dc95a67f2de13505f6b4fbea885bc7a5c09bda48a85b18" dependencies = [ - "bls12_381 0.8.0", "ff 0.13.0", "hex", "sha2", + "sp1_bls12_381", "spin 0.9.8", ] @@ -3310,6 +3217,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 1.0.0", + "cfg_aliases", + "libc", +] + [[package]] name = "nohash-hasher" version = "0.2.0" @@ -3635,8 +3554,9 @@ dependencies = [ [[package]] name = "p3-air" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02634a874a2286b73f3e0a121e79d6774e92ccbec648c5568f4a7479a4830858" dependencies = [ "p3-field", "p3-matrix", @@ -3644,8 +3564,9 @@ dependencies = [ [[package]] name = "p3-baby-bear" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "080896e9d09e9761982febafe3b3da5cbf320e32f0c89b6e2e01e875129f4c2d" dependencies = [ "num-bigint 0.4.6", "p3-field", @@ -3658,8 +3579,9 @@ dependencies = [ [[package]] name = "p3-bn254-fr" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8c53da73873e24d751ec3bd9d8da034bb5f99c71f24f4903ff37190182bff10" dependencies = [ "ff 0.13.0", "num-bigint 0.4.6", @@ -3672,8 +3594,9 @@ dependencies = [ [[package]] name = "p3-challenger" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f5c497659a7d9a87882e30ee9a8d0e20c8dcd32cd10d432410e7d6f146ef103" dependencies = [ "p3-field", "p3-maybe-rayon", @@ -3685,8 +3608,9 @@ dependencies = [ [[package]] name = "p3-commit" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54ec340c5cb17739a7b9ee189378bdac8f0e684b9b5ce539476c26e77cd6a27d" dependencies = [ "itertools 0.12.1", "p3-challenger", @@ -3698,8 +3622,9 @@ dependencies = [ [[package]] name = "p3-dft" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "292e97d02d4c38d8b306c2b8c0428bf15f4d32a11a40bcf80018f675bf33267e" dependencies = [ "p3-field", "p3-matrix", @@ -3710,8 +3635,9 @@ dependencies = [ [[package]] name = "p3-field" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91d8e5f9ede1171adafdb0b6a0df1827fbd4eb6a6217bfa36374e5d86248757" dependencies = [ "itertools 0.12.1", "num-bigint 0.4.6", @@ -3723,8 +3649,9 @@ dependencies = [ [[package]] name = "p3-fri" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ef838ff24d9b3de3d88d0ac984937d2aa2923bf25cb108ba9b2dc357e472197" dependencies = [ "itertools 0.12.1", "p3-challenger", @@ -3741,8 +3668,9 @@ dependencies = [ [[package]] name = "p3-interpolation" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c806c3afb8d6acf1d3a78f4be1e9e8b026f13c01b0cdd5ae2e068b70a3ba6d80" dependencies = [ "p3-field", "p3-matrix", @@ -3751,8 +3679,9 @@ dependencies = [ [[package]] name = "p3-keccak-air" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b46cef7ee8ae1f7cb560e7b7c137e272f6ba75be98179b3aa18695705231e0fb" dependencies = [ "p3-air", "p3-field", @@ -3764,8 +3693,9 @@ dependencies = [ [[package]] name = "p3-matrix" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98bf2c7680b8e906a5e147fe4ceb05a11cc9fa35678aa724333bcb35c72483c1" dependencies = [ "itertools 0.12.1", "p3-field", @@ -3778,16 +3708,18 @@ dependencies = [ [[package]] name = "p3-maybe-rayon" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd9ac6f1d11ad4d3c13cc496911109d6282315e64f851a666ed80ad4d77c0983" dependencies = [ "rayon", ] [[package]] name = "p3-mds" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "706cea48976f54702dc68dffa512684c1304d1a3606cadea423cfe0b1ee25134" dependencies = [ "itertools 0.12.1", "p3-dft", @@ -3800,8 +3732,9 @@ dependencies = [ [[package]] name = "p3-merkle-tree" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f4ced385da80dd6b3fd830eaa452c9fa899f2dc3f6463aceba00620d5f071ec" dependencies = [ "itertools 0.12.1", "p3-commit", @@ -3816,8 +3749,9 @@ dependencies = [ [[package]] name = "p3-poseidon2" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2ce5f5ec7f1ba3a233a671621029def7bd416e7c51218c9d1167d21602cf312" dependencies = [ "gcd", "p3-field", @@ -3829,8 +3763,9 @@ dependencies = [ [[package]] name = "p3-symmetric" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f29dc5bb6c99d3de75869d5c086874b64890280eeb7d3e068955f939e219253" dependencies = [ "itertools 0.12.1", "p3-field", @@ -3839,8 +3774,9 @@ dependencies = [ [[package]] name = "p3-uni-stark" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83ceaeef06b0bc97e5af2d220cd340b0b3a72bdf37e4584b73b3bc357cfc9ed3" dependencies = [ "itertools 0.12.1", "p3-air", @@ -3857,8 +3793,9 @@ dependencies = [ [[package]] name = "p3-util" -version = "0.1.6-succinct" -source = "git+https://github.com/Plonky3/Plonky3?branch=sp1-v4#33c0dcbaa58792fdeab302871801018c2e36ec92" +version = "0.2.0-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1b84d324cd4ac09194a9d0e8ab1834e67a0e47dec477c28fcf9d68b2824c1fe" dependencies = [ "serde", ] @@ -3966,6 +3903,12 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +[[package]] +name = "pathdiff" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" + [[package]] name = "pem-rfc7468" version = "0.7.0" @@ -4049,7 +3992,7 @@ checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" [[package]] name = "poseidon-bn254" version = "0.1.0" -source = "git+https://github.com/morph-l2/poseidon-bn254.git?branch=main#aa8593d1c09ee731d54c47168e7af64557e8b5d8" +source = "git+https://github.com/morph-l2/poseidon-bn254.git?branch=v4#800e519c961358d312afc3c1455e79e3232ec7fc" dependencies = [ "bn254", "itertools 0.13.0", @@ -4594,7 +4537,7 @@ dependencies = [ [[package]] name = "revm" version = "14.0.0" -source = "git+https://github.com/morph-l2/revm?branch=poseidon-dev#20628e85ea0a664dc10f2b938c760ff3e1d2feb0" +source = "git+https://github.com/morph-l2/revm?branch=sp1_v4_dev#f87704b06b2f257219d8e7d2af95dfde8aa9f046" dependencies = [ "auto_impl", "cfg-if 1.0.0", @@ -4608,7 +4551,7 @@ dependencies = [ [[package]] name = "revm-interpreter" version = "10.0.0" -source = "git+https://github.com/morph-l2/revm?branch=poseidon-dev#20628e85ea0a664dc10f2b938c760ff3e1d2feb0" +source = "git+https://github.com/morph-l2/revm?branch=sp1_v4_dev#f87704b06b2f257219d8e7d2af95dfde8aa9f046" dependencies = [ "cfg-if 1.0.0", "revm-primitives", @@ -4618,7 +4561,7 @@ dependencies = [ [[package]] name = "revm-precompile" version = "11.0.0" -source = "git+https://github.com/morph-l2/revm?branch=poseidon-dev#20628e85ea0a664dc10f2b938c760ff3e1d2feb0" +source = "git+https://github.com/morph-l2/revm?branch=sp1_v4_dev#f87704b06b2f257219d8e7d2af95dfde8aa9f046" dependencies = [ "aurora-engine-modexp", "c-kzg", @@ -4635,7 +4578,7 @@ dependencies = [ [[package]] name = "revm-primitives" version = "9.0.0" -source = "git+https://github.com/morph-l2/revm?branch=poseidon-dev#20628e85ea0a664dc10f2b938c760ff3e1d2feb0" +source = "git+https://github.com/morph-l2/revm?branch=sp1_v4_dev#f87704b06b2f257219d8e7d2af95dfde8aa9f046" dependencies = [ "alloy-eips 0.3.6", "alloy-primitives", @@ -4832,6 +4775,7 @@ version = "0.23.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" dependencies = [ + "log", "once_cell", "ring", "rustls-pki-types", @@ -4840,6 +4784,19 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rustls-native-certs" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcaf18a4f2be7326cd874a5fa579fae794320a0f388d365dca7e480e55f83f8a" +dependencies = [ + "openssl-probe", + "rustls-pemfile", + "rustls-pki-types", + "schannel", + "security-framework", +] + [[package]] name = "rustls-pemfile" version = "2.1.3" @@ -5155,6 +5112,15 @@ dependencies = [ "serde", ] +[[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" @@ -5338,8 +5304,8 @@ dependencies = [ [[package]] name = "sp1-build" -version = "3.0.0" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" dependencies = [ "anyhow", "cargo_metadata", @@ -5350,11 +5316,12 @@ dependencies = [ [[package]] name = "sp1-core-executor" -version = "3.0.0" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" dependencies = [ "bincode", "bytemuck", + "clap", "elf", "enum-map", "eyre", @@ -5365,16 +5332,20 @@ dependencies = [ "log", "nohash-hasher", "num", + "p3-baby-bear", "p3-field", "p3-maybe-rayon", + "p3-util", "rand", "rrs-succinct", "serde", + "serde_json", "sp1-curves", - "sp1-primitives", + "sp1-primitives 4.0.1", "sp1-stark", "strum 0.26.3", "strum_macros 0.26.4", + "subenum", "thiserror 1.0.69", "tiny-keccak", "tracing", @@ -5384,13 +5355,16 @@ dependencies = [ [[package]] name = "sp1-core-machine" -version = "3.0.0" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" dependencies = [ "bincode", + "cbindgen", + "cc", "cfg-if 1.0.0", "elliptic-curve", "generic-array 1.1.0", + "glob", "hashbrown 0.14.5", "hex", "itertools 0.13.0", @@ -5406,16 +5380,22 @@ dependencies = [ "p3-keccak-air", "p3-matrix", "p3-maybe-rayon", + "p3-poseidon2", + "p3-symmetric", "p3-uni-stark", "p3-util", + "pathdiff", "rand", + "rayon", + "rayon-scan", "serde", + "serde_json", "size", "snowbridge-amcl", "sp1-core-executor", "sp1-curves", "sp1-derive", - "sp1-primitives", + "sp1-primitives 4.0.1", "sp1-stark", "static_assertions", "strum 0.26.3", @@ -5429,13 +5409,28 @@ dependencies = [ "web-time", ] +[[package]] +name = "sp1-cuda" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" +dependencies = [ + "bincode", + "ctrlc", + "prost", + "serde", + "sp1-core-machine", + "sp1-prover", + "tokio", + "tracing", + "twirp-rs", +] + [[package]] name = "sp1-curves" -version = "3.0.0" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" dependencies = [ "cfg-if 1.0.0", - "curve25519-dalek", "dashu", "elliptic-curve", "generic-array 1.1.0", @@ -5446,15 +5441,15 @@ dependencies = [ "p3-field", "serde", "snowbridge-amcl", - "sp1-primitives", + "sp1-primitives 4.0.1", "sp1-stark", "typenum", ] [[package]] name = "sp1-derive" -version = "3.0.0" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" dependencies = [ "quote", "syn 1.0.109", @@ -5462,8 +5457,8 @@ dependencies = [ [[package]] name = "sp1-helper" -version = "3.0.0" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" dependencies = [ "sp1-build", ] @@ -5478,17 +5473,47 @@ dependencies = [ [[package]] name = "sp1-lib" -version = "3.0.0" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" +dependencies = [ + "bincode", + "serde", + "sp1-primitives 4.0.1", +] + +[[package]] +name = "sp1-lib" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fab1b5989a446f294724cebab0e759ffd7034ba93d2aa7b97045303f7c50bf74" dependencies = [ "bincode", "serde", + "sp1-primitives 4.1.1", +] + +[[package]] +name = "sp1-primitives" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" +dependencies = [ + "bincode", + "hex", + "lazy_static", + "num-bigint 0.4.6", + "p3-baby-bear", + "p3-field", + "p3-poseidon2", + "p3-symmetric", + "serde", + "sha2", ] [[package]] name = "sp1-primitives" -version = "3.0.0" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cf66c2781c36037c94a5905b6e05e7396fd4d12df09cd7f05cf96e3f0889f49" dependencies = [ "bincode", "hex", @@ -5504,14 +5529,16 @@ dependencies = [ [[package]] name = "sp1-prover" -version = "3.0.0" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" dependencies = [ "anyhow", "bincode", "clap", "dirs", + "downloader", "eyre", + "hex", "itertools 0.13.0", "lru", "num-bigint 0.4.6", @@ -5522,12 +5549,15 @@ dependencies = [ "p3-field", "p3-matrix", "p3-symmetric", + "p3-util", + "rayon", "serde", "serde_json", "serial_test", + "sha2", "sp1-core-executor", "sp1-core-machine", - "sp1-primitives", + "sp1-primitives 4.0.1", "sp1-recursion-circuit", "sp1-recursion-compiler", "sp1-recursion-core", @@ -5541,8 +5571,8 @@ dependencies = [ [[package]] name = "sp1-recursion-circuit" -version = "3.0.0" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" dependencies = [ "hashbrown 0.14.5", "itertools 0.13.0", @@ -5564,7 +5594,7 @@ dependencies = [ "sp1-core-executor", "sp1-core-machine", "sp1-derive", - "sp1-primitives", + "sp1-primitives 4.0.1", "sp1-recursion-compiler", "sp1-recursion-core", "sp1-recursion-gnark-ffi", @@ -5574,8 +5604,8 @@ dependencies = [ [[package]] name = "sp1-recursion-compiler" -version = "3.0.0" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" dependencies = [ "backtrace", "itertools 0.13.0", @@ -5585,7 +5615,7 @@ dependencies = [ "p3-symmetric", "serde", "sp1-core-machine", - "sp1-primitives", + "sp1-primitives 4.0.1", "sp1-recursion-core", "sp1-recursion-derive", "sp1-stark", @@ -5595,13 +5625,18 @@ dependencies = [ [[package]] name = "sp1-recursion-core" -version = "3.0.0" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" dependencies = [ "backtrace", + "cbindgen", + "cc", + "cfg-if 1.0.0", "ff 0.13.0", + "glob", "hashbrown 0.14.5", "itertools 0.13.0", + "num_cpus", "p3-air", "p3-baby-bear", "p3-bn254-fr", @@ -5616,10 +5651,12 @@ dependencies = [ "p3-poseidon2", "p3-symmetric", "p3-util", + "pathdiff", + "rand", "serde", "sp1-core-machine", "sp1-derive", - "sp1-primitives", + "sp1-primitives 4.0.1", "sp1-stark", "static_assertions", "thiserror 1.0.69", @@ -5630,8 +5667,8 @@ dependencies = [ [[package]] name = "sp1-recursion-derive" -version = "3.0.0" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" dependencies = [ "quote", "syn 1.0.109", @@ -5639,8 +5676,8 @@ dependencies = [ [[package]] name = "sp1-recursion-gnark-ffi" -version = "3.0.0" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" dependencies = [ "anyhow", "bincode", @@ -5664,14 +5701,16 @@ dependencies = [ [[package]] name = "sp1-sdk" -version = "3.0.0" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" dependencies = [ - "alloy-signer 0.5.4", + "alloy-primitives", + "alloy-signer", "alloy-signer-local", "alloy-sol-types", "anyhow", "async-trait", + "backoff", "bincode", "cfg-if 1.0.0", "dirs", @@ -5688,10 +5727,12 @@ dependencies = [ "reqwest", "reqwest-middleware", "serde", + "serde_json", "sp1-build", "sp1-core-executor", "sp1-core-machine", - "sp1-primitives", + "sp1-cuda", + "sp1-primitives 4.0.1", "sp1-prover", "sp1-stark", "strum 0.26.3", @@ -5699,6 +5740,7 @@ dependencies = [ "tempfile", "thiserror 1.0.69", "tokio", + "tonic", "tracing", "twirp-rs", "vergen", @@ -5706,12 +5748,13 @@ dependencies = [ [[package]] name = "sp1-stark" -version = "3.0.0" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" dependencies = [ "arrayref", "hashbrown 0.14.5", "itertools 0.13.0", + "num-bigint 0.4.6", "num-traits", "p3-air", "p3-baby-bear", @@ -5730,7 +5773,7 @@ dependencies = [ "rayon-scan", "serde", "sp1-derive", - "sp1-primitives", + "sp1-primitives 4.0.1", "strum 0.26.3", "strum_macros 0.26.4", "sysinfo", @@ -5739,8 +5782,8 @@ dependencies = [ [[package]] name = "sp1-zkvm" -version = "3.0.1" -source = "git+https://github.com/morph-l2/sp1.git?branch=fix-memcopy-chip#24ed56e9df83cd950aacabdeed81e81288b03bfb" +version = "4.0.1" +source = "git+https://github.com/morph-l2/sp1.git?branch=v4#832fb257197a5ff432a83337e2db023557d9d08d" dependencies = [ "cfg-if 1.0.0", "getrandom", @@ -5748,7 +5791,23 @@ dependencies = [ "libm", "rand", "sha2", - "sp1-lib", + "sp1-lib 4.0.1", + "sp1-primitives 4.0.1", +] + +[[package]] +name = "sp1_bls12_381" +version = "0.8.0-sp1-4.0.0-v2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0800e0491c38cc686233518fce535d01ba0a0707781766fec38aee9c1b33890" +dependencies = [ + "cfg-if 1.0.0", + "ff 0.13.0", + "group 0.13.0", + "pairing 0.23.0", + "rand_core", + "sp1-lib 4.1.1", + "subtle", ] [[package]] @@ -5826,6 +5885,18 @@ dependencies = [ "syn 2.0.91", ] +[[package]] +name = "subenum" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f5d5dfb8556dd04017db5e318bbeac8ab2b0c67b76bf197bfb79e9b29f18ecf" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "substrate-bn" version = "0.6.0" @@ -6146,11 +6217,26 @@ dependencies = [ "tokio", ] +[[package]] +name = "toml" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.22.24", +] + [[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" @@ -6174,6 +6260,52 @@ dependencies = [ "winnow 0.5.40", ] +[[package]] +name = "toml_edit" +version = "0.22.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" +dependencies = [ + "indexmap 2.7.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow 0.7.2", +] + +[[package]] +name = "tonic" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +dependencies = [ + "async-stream", + "async-trait", + "axum 0.7.4", + "base64", + "bytes", + "h2", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-timeout", + "hyper-util", + "percent-encoding", + "pin-project", + "prost", + "rustls-native-certs", + "rustls-pemfile", + "socket2", + "tokio", + "tokio-rustls", + "tokio-stream", + "tower 0.4.13", + "tower-layer", + "tower-service", + "tracing", +] + [[package]] name = "tower" version = "0.4.13" @@ -6182,8 +6314,11 @@ checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ "futures-core", "futures-util", + "indexmap 1.9.3", "pin-project", "pin-project-lite", + "rand", + "slab", "tokio", "tokio-util", "tower-layer", @@ -6867,6 +7002,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "winnow" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59690dea168f2198d1a3b0cac23b8063efcd11012f10ae4698f284808c8ef603" +dependencies = [ + "memchr", +] + [[package]] name = "winreg" version = "0.52.0" diff --git a/prover/Cargo.toml b/prover/Cargo.toml index 3cc0cc1d7..37182cee2 100644 --- a/prover/Cargo.toml +++ b/prover/Cargo.toml @@ -44,15 +44,15 @@ ruzstd = { git = "https://github.com/KillingSpark/zstd-rs.git", branch = "master # crypto c-kzg = "1.0.3" -kzg-rs = { git = "https://github.com/morph-l2/kzg-rs.git", branch = "sp1-bls-dev" } +kzg-rs = { version = "0.2.5" } sha2 = "0.10.8" -sp1-zkvm = { git = "https://github.com/morph-l2/sp1.git", branch = "fix-memcopy-chip"} -sp1-sdk = { git = "https://github.com/morph-l2/sp1.git", branch = "fix-memcopy-chip"} -sp1-helper = { git = "https://github.com/morph-l2/sp1.git", branch = "fix-memcopy-chip"} +sp1-zkvm = { git = "https://github.com/morph-l2/sp1.git", branch = "v4"} +sp1-sdk = { git = "https://github.com/morph-l2/sp1.git", branch = "v4"} +sp1-helper = { git = "https://github.com/morph-l2/sp1.git", branch = "v4"} # dependencies from scroll-tech -poseidon-bn254 = { git = "https://github.com/morph-l2/poseidon-bn254.git", branch = "main", features = ["bn254"] } +poseidon-bn254 = { git = "https://github.com/morph-l2/poseidon-bn254.git", branch = "v4", features = ["bn254"] } zktrie = { git = "https://github.com/scroll-tech/zktrie.git", branch = "main", features= ["rs_zktrie"] } @@ -103,7 +103,7 @@ morph-prove = { path = "bin/host" } [workspace.dependencies.revm] git = "https://github.com/morph-l2/revm" -branch = "poseidon-dev" +branch = "sp1_v4_dev" default-features = false features = [ "morph-default-handler", @@ -114,7 +114,7 @@ features = [ [workspace.dependencies.revm-primitives] git = "https://github.com/morph-l2/revm" -branch = "poseidon-dev" +branch = "sp1_v4_dev" default-features = false features = [ "morph-default-handler", diff --git a/prover/bin/client/elf/riscv32im-succinct-zkvm-elf b/prover/bin/client/elf/riscv32im-succinct-zkvm-elf index f33c5a18b..29526ddb4 100755 Binary files a/prover/bin/client/elf/riscv32im-succinct-zkvm-elf and b/prover/bin/client/elf/riscv32im-succinct-zkvm-elf differ diff --git a/prover/bin/host/build.rs b/prover/bin/host/build.rs deleted file mode 100644 index 007dec366..000000000 --- a/prover/bin/host/build.rs +++ /dev/null @@ -1,15 +0,0 @@ -use morph_executor_utils::read_env_var; -use sp1_helper::{build_program_with_args, BuildArgs}; - -fn main() { - // if read_env_var("DEVNET", false) { - // build_program_with_args( - // "../client", - // BuildArgs { - // ignore_rust_version: true, - // output_directory: "bin/client/elf".to_string(), - // ..Default::default() - // }, - // ); - // } -} diff --git a/prover/bin/host/src/lib.rs b/prover/bin/host/src/lib.rs index 928db6cb9..6ec90b29a 100644 --- a/prover/bin/host/src/lib.rs +++ b/prover/bin/host/src/lib.rs @@ -49,11 +49,11 @@ pub fn prove( // Execute the program in sp1-vm let mut stdin = SP1Stdin::new(); stdin.write(&serde_json::to_string(&client_input).unwrap()); - let client = ProverClient::new(); + let client = ProverClient::from_env(); if read_env_var("DEVNET", false) { let (mut public_values, execution_report) = client - .execute(BATCH_VERIFIER_ELF, stdin.clone()) + .execute(BATCH_VERIFIER_ELF, &stdin.clone()) .run() .map_err(|e| anyhow!(format!("sp1-vm execution err: {:?}", e)))?; @@ -84,7 +84,7 @@ pub fn prove( // Generate the proof let start = Instant::now(); let mut proof = client - .prove(&pk, stdin) + .prove(&pk, &stdin) .plonk() .run() .map_err(|e| anyhow!(format!("proving failed: {:?}", e)))?; diff --git a/prover/crates/morph-executor/client/src/verifier/blob_verifier.rs b/prover/crates/morph-executor/client/src/verifier/blob_verifier.rs index 4dcae4500..334859600 100644 --- a/prover/crates/morph-executor/client/src/verifier/blob_verifier.rs +++ b/prover/crates/morph-executor/client/src/verifier/blob_verifier.rs @@ -29,12 +29,18 @@ impl BlobVerifier { let commitent = Bytes48::from_slice(&blob_info.commitment).unwrap(); let proof = Bytes48::from_slice(&blob_info.proof).unwrap(); - // let verify_result = - // kzg_rs::KzgProof::verify_blob_kzg_proof(blob, &commitent, &proof, - // &get_kzg_settings()) .map_err(|e| anyhow!("blob verification failed, kzg - // err: {:?}", e))?; if !verify_result { - // return Err(anyhow!("The blob kzg verification result is Failed")); - // } + let verify_result = + kzg_rs::KzgProof::verify_blob_kzg_proof(blob, &commitent, &proof, &get_kzg_settings()) + .map_err(|e| { + anyhow!( + "blob verification failed, kzg + err: {:?}", + e + ) + })?; + if !verify_result { + return Err(anyhow!("The blob kzg verification result is Failed")); + } println!("cycle-tracker-end: verify_blob_kzg_proof"); println!( "verify_blob_kzg_proof successfully, versioned_hash: {:?}", diff --git a/prover/tests/algebra/host/build.rs b/prover/tests/algebra/host/build.rs deleted file mode 100644 index 5b62505c7..000000000 --- a/prover/tests/algebra/host/build.rs +++ /dev/null @@ -1,12 +0,0 @@ -use sp1_helper::{build_program_with_args, BuildArgs}; - -fn main() { - build_program_with_args( - "../client", - BuildArgs { - ignore_rust_version: true, - output_directory: "tests/algebra/client/elf".to_string(), - ..Default::default() - }, - ) -} diff --git a/prover/tests/algebra/host/src/main.rs b/prover/tests/algebra/host/src/main.rs index fe5a6d4e3..7e6636e34 100644 --- a/prover/tests/algebra/host/src/main.rs +++ b/prover/tests/algebra/host/src/main.rs @@ -16,7 +16,7 @@ fn main() { let dev_elf: &[u8] = include_bytes!("../../client/elf/riscv32im-succinct-zkvm-elf"); // Setup the prover client. - let client = ProverClient::new(); + let client = ProverClient::from_env(); // Setup the inputs. let mut stdin = SP1Stdin::new(); @@ -25,7 +25,7 @@ fn main() { stdin.write(&data); // Execute the program in sp1-vm - let (public_values, execution_report) = client.execute(dev_elf, stdin.clone()).run().unwrap(); + let (public_values, execution_report) = client.execute(dev_elf, &stdin.clone()).run().unwrap(); println!("Program executed successfully."); // Record the number of cycles executed. println!("Number of cycles: {}", execution_report.total_instruction_count()); @@ -39,7 +39,7 @@ fn main() { let (pk, vk) = client.setup(dev_elf); // Generate the proof - let proof = client.prove(&pk, stdin).plonk().run().expect("failed to generate proof"); + let proof = client.prove(&pk, &stdin).plonk().run().expect("failed to generate proof"); let duration_mins = start.elapsed().as_secs() / 60; println!("Successfully generated proof!, time use: {:?} minutes", duration_mins); diff --git a/prover/tests/bls12381/host/build.rs b/prover/tests/bls12381/host/build.rs deleted file mode 100644 index a68444b99..000000000 --- a/prover/tests/bls12381/host/build.rs +++ /dev/null @@ -1,12 +0,0 @@ -use sp1_helper::{build_program_with_args, BuildArgs}; - -fn main() { - build_program_with_args( - "../client", - BuildArgs { - ignore_rust_version: true, - output_directory: "tests/bls12381/client/elf".to_string(), - ..Default::default() - }, - ) -} diff --git a/prover/tests/bls12381/host/src/main.rs b/prover/tests/bls12381/host/src/main.rs index 1e46ee588..7387c7326 100644 --- a/prover/tests/bls12381/host/src/main.rs +++ b/prover/tests/bls12381/host/src/main.rs @@ -9,7 +9,7 @@ fn main() { let dev_elf: &[u8] = include_bytes!("../../client/elf/riscv32im-succinct-zkvm-elf"); // Setup the prover client. - let client = ProverClient::new(); + let client = ProverClient::from_env(); // Setup the inputs. let mut stdin = SP1Stdin::new(); @@ -18,19 +18,13 @@ fn main() { stdin.write(&data); // Execute the program in sp1-vm - let (public_values, execution_report) = client.execute(dev_elf, stdin.clone()).run().unwrap(); + let (public_values, execution_report) = client.execute(dev_elf, &stdin.clone()).run().unwrap(); println!("Program executed successfully."); // Record the number of cycles executed. - println!( - "Number of cycles: {}", - execution_report.total_instruction_count() - ); + println!("Number of cycles: {}", execution_report.total_instruction_count()); let rt_data = public_values.as_slice(); - println!( - "pi_hash generated with sp1-vm execution: {}", - hex::encode(rt_data) - ); + println!("pi_hash generated with sp1-vm execution: {}", hex::encode(rt_data)); let start = Instant::now(); @@ -38,16 +32,10 @@ fn main() { let (pk, vk) = client.setup(dev_elf); // Generate the proof - let proof = client - .prove(&pk, stdin) - .run() - .expect("failed to generate proof"); + let proof = client.prove(&pk, &stdin).run().expect("failed to generate proof"); let duration_mins = start.elapsed().as_secs() / 60; - println!( - "Successfully generated proof!, time use: {:?} minutes", - duration_mins - ); + println!("Successfully generated proof!, time use: {:?} minutes", duration_mins); // Verify the proof. client.verify(&proof, &vk).expect("failed to verify proof"); diff --git a/prover/tests/keccak256/host/build.rs b/prover/tests/keccak256/host/build.rs deleted file mode 100644 index 370dce295..000000000 --- a/prover/tests/keccak256/host/build.rs +++ /dev/null @@ -1,12 +0,0 @@ -use sp1_helper::{build_program_with_args, BuildArgs}; - -fn main() { - build_program_with_args( - "../client", - BuildArgs { - ignore_rust_version: true, - output_directory: "tests/keccak256/client/elf".to_string(), - ..Default::default() - }, - ) -} diff --git a/prover/tests/keccak256/host/src/main.rs b/prover/tests/keccak256/host/src/main.rs index 1e46ee588..7387c7326 100644 --- a/prover/tests/keccak256/host/src/main.rs +++ b/prover/tests/keccak256/host/src/main.rs @@ -9,7 +9,7 @@ fn main() { let dev_elf: &[u8] = include_bytes!("../../client/elf/riscv32im-succinct-zkvm-elf"); // Setup the prover client. - let client = ProverClient::new(); + let client = ProverClient::from_env(); // Setup the inputs. let mut stdin = SP1Stdin::new(); @@ -18,19 +18,13 @@ fn main() { stdin.write(&data); // Execute the program in sp1-vm - let (public_values, execution_report) = client.execute(dev_elf, stdin.clone()).run().unwrap(); + let (public_values, execution_report) = client.execute(dev_elf, &stdin.clone()).run().unwrap(); println!("Program executed successfully."); // Record the number of cycles executed. - println!( - "Number of cycles: {}", - execution_report.total_instruction_count() - ); + println!("Number of cycles: {}", execution_report.total_instruction_count()); let rt_data = public_values.as_slice(); - println!( - "pi_hash generated with sp1-vm execution: {}", - hex::encode(rt_data) - ); + println!("pi_hash generated with sp1-vm execution: {}", hex::encode(rt_data)); let start = Instant::now(); @@ -38,16 +32,10 @@ fn main() { let (pk, vk) = client.setup(dev_elf); // Generate the proof - let proof = client - .prove(&pk, stdin) - .run() - .expect("failed to generate proof"); + let proof = client.prove(&pk, &stdin).run().expect("failed to generate proof"); let duration_mins = start.elapsed().as_secs() / 60; - println!( - "Successfully generated proof!, time use: {:?} minutes", - duration_mins - ); + println!("Successfully generated proof!, time use: {:?} minutes", duration_mins); // Verify the proof. client.verify(&proof, &vk).expect("failed to verify proof"); diff --git a/prover/tests/poseidon-bn254/client/elf/riscv32im-succinct-zkvm-elf b/prover/tests/poseidon-bn254/client/elf/riscv32im-succinct-zkvm-elf index e05c4005b..1e0db4af3 100755 Binary files a/prover/tests/poseidon-bn254/client/elf/riscv32im-succinct-zkvm-elf and b/prover/tests/poseidon-bn254/client/elf/riscv32im-succinct-zkvm-elf differ diff --git a/prover/tests/poseidon-bn254/host/build.rs b/prover/tests/poseidon-bn254/host/build.rs deleted file mode 100644 index 9c37197a5..000000000 --- a/prover/tests/poseidon-bn254/host/build.rs +++ /dev/null @@ -1,12 +0,0 @@ -use sp1_helper::{build_program_with_args, BuildArgs}; - -fn main() { - // build_program_with_args( - // "../client", - // BuildArgs { - // ignore_rust_version: true, - // output_directory: "tests/keccak256/client/elf".to_string(), - // ..Default::default() - // }, - // ) -} diff --git a/prover/tests/poseidon-bn254/host/src/main.rs b/prover/tests/poseidon-bn254/host/src/main.rs index 5e31ab315..78337d179 100644 --- a/prover/tests/poseidon-bn254/host/src/main.rs +++ b/prover/tests/poseidon-bn254/host/src/main.rs @@ -13,13 +13,15 @@ fn main() { // Step2. Run in sp1-vm // The ELF (executable and linkable format) file for the Succinct RISC-V zkVM. + // let dev_elf: &[u8] = include_elf!("poseidon"); let dev_elf: &[u8] = include_bytes!("../../client/elf/riscv32im-succinct-zkvm-elf"); + // Setup the prover client. - let client = ProverClient::new(); + let client = ProverClient::from_env(); // Setup the inputs. let stdin = SP1Stdin::new(); // Execute the program in sp1-vm - let (public_values, execution_report) = client.execute(dev_elf, stdin.clone()).run().unwrap(); + let (public_values, execution_report) = client.execute(dev_elf, &stdin.clone()).run().unwrap(); // Record the number of cycles executed. println!( "Program executed successfully, Number of cycles: {}", diff --git a/prover/tests/zstd/host/build.rs b/prover/tests/zstd/host/build.rs deleted file mode 100644 index d0a9bbbd4..000000000 --- a/prover/tests/zstd/host/build.rs +++ /dev/null @@ -1,12 +0,0 @@ -use sp1_helper::{build_program_with_args, BuildArgs}; - -fn main() { - build_program_with_args( - "../client", - BuildArgs { - ignore_rust_version: true, - output_directory: "tests/zstd/client/elf".to_string(), - ..Default::default() - }, - ) -} diff --git a/prover/tests/zstd/host/src/main.rs b/prover/tests/zstd/host/src/main.rs index 862deeaaf..4fc92ea43 100644 --- a/prover/tests/zstd/host/src/main.rs +++ b/prover/tests/zstd/host/src/main.rs @@ -1,6 +1,5 @@ use sp1_sdk::{ProverClient, SP1Stdin}; -use std::io::Read; -use std::{fs::File, path::Path, time::Instant}; +use std::{fs::File, io::Read, path::Path, time::Instant}; fn main() { // Setup the logger. @@ -19,21 +18,15 @@ fn main() { stdin.write_slice(&data); - let client = ProverClient::new(); + let client = ProverClient::from_env(); // Execute the program in sp1-vm - let (public_values, execution_report) = client.execute(dev_elf, stdin.clone()).run().unwrap(); + let (public_values, execution_report) = client.execute(dev_elf, &stdin.clone()).run().unwrap(); println!("Program executed successfully."); // Record the number of cycles executed. - println!( - "Number of cycles: {}", - execution_report.total_instruction_count() - ); + println!("Number of cycles: {}", execution_report.total_instruction_count()); let rt_data = public_values.as_slice(); - println!( - "pi_hash generated with sp1-vm execution: {}", - hex::encode(rt_data) - ); + println!("pi_hash generated with sp1-vm execution: {}", hex::encode(rt_data)); let start = Instant::now(); @@ -41,16 +34,10 @@ fn main() { let (pk, vk) = client.setup(dev_elf); // Generate the proof - let proof = client - .prove(&pk, stdin) - .run() - .expect("failed to generate proof"); + let proof = client.prove(&pk, &stdin).run().expect("failed to generate proof"); let duration_mins = start.elapsed().as_secs() / 60; - println!( - "Successfully generated proof!, time use: {:?} minutes", - duration_mins - ); + println!("Successfully generated proof!, time use: {:?} minutes", duration_mins); // Verify the proof. client.verify(&proof, &vk).expect("failed to verify proof");