From af381223f3248b9cc65bf4ee5ecb5aa2be7a6888 Mon Sep 17 00:00:00 2001 From: jonastheis Date: Mon, 10 Mar 2025 23:14:41 +0000 Subject: [PATCH 001/132] =?UTF-8?q?chore:=20auto=20version=20bump=E2=80=89?= =?UTF-8?q?[bot]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/version/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/version/version.go b/common/version/version.go index e3a8e74cc3..1c6a1469dd 100644 --- a/common/version/version.go +++ b/common/version/version.go @@ -5,7 +5,7 @@ import ( "runtime/debug" ) -var tag = "v4.4.93" +var tag = "v4.4.94" var commit = func() string { if info, ok := debug.ReadBuildInfo(); ok { From 2cc9f6585224d1b4ab60fa49f6cfd2a11bf3558b Mon Sep 17 00:00:00 2001 From: georgehao Date: Tue, 11 Mar 2025 10:45:50 +0000 Subject: [PATCH 002/132] =?UTF-8?q?chore:=20auto=20version=20bump=E2=80=89?= =?UTF-8?q?[bot]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/version/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/version/version.go b/common/version/version.go index 1c6a1469dd..96a807e8d9 100644 --- a/common/version/version.go +++ b/common/version/version.go @@ -5,7 +5,7 @@ import ( "runtime/debug" ) -var tag = "v4.4.94" +var tag = "v4.4.95" var commit = func() string { if info, ok := debug.ReadBuildInfo(); ok { From eacdc78ba7979e96f33a05df5e8a3bcde5b1ada3 Mon Sep 17 00:00:00 2001 From: colin <102356659+colinlyguo@users.noreply.github.com> Date: Tue, 11 Mar 2025 19:18:13 +0800 Subject: [PATCH 003/132] fix(bridge-history): overwrite l2geth dependency by replace (#1617) --- bridge-history-api/go.mod | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bridge-history-api/go.mod b/bridge-history-api/go.mod index 84ff9fe68e..6228dec68e 100644 --- a/bridge-history-api/go.mod +++ b/bridge-history-api/go.mod @@ -11,13 +11,15 @@ require ( github.com/pressly/goose/v3 v3.16.0 github.com/prometheus/client_golang v1.19.0 github.com/scroll-tech/da-codec v0.1.3-0.20250226072559-f8a8d3898f54 - github.com/scroll-tech/go-ethereum v1.10.14-0.20250305084331-57148478e950 // It's a hotfix for the header hash compatibility issue, pls change this with caution + github.com/scroll-tech/go-ethereum v1.10.14-0.20250305084331-57148478e950 github.com/stretchr/testify v1.9.0 github.com/urfave/cli/v2 v2.25.7 golang.org/x/sync v0.11.0 gorm.io/gorm v1.25.7-0.20240204074919-46816ad31dde ) +replace github.com/scroll-tech/go-ethereum => github.com/scroll-tech/go-ethereum v1.10.14-0.20250305084331-57148478e950 // It's a hotfix for the header hash incompatibility issue, pls change this with caution + require ( dario.cat/mergo v1.0.0 // indirect github.com/VictoriaMetrics/fastcache v1.12.2 // indirect From 7ec6d478b3d2a5c475897e8a7ed06d5c587b471e Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Mon, 10 Mar 2025 20:19:52 +0800 Subject: [PATCH 004/132] feat: openvm euclid v2 --- prover/Cargo.toml | 2 +- zkvm-prover/Cargo.lock | 2 +- zkvm-prover/Cargo.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/prover/Cargo.toml b/prover/Cargo.toml index 89ef9b54b3..87fc7639db 100644 --- a/prover/Cargo.toml +++ b/prover/Cargo.toml @@ -31,7 +31,7 @@ halo2_proofs = { git = "https://github.com/scroll-tech/halo2.git", branch = "v1. snark-verifier-sdk = { git = "https://github.com/scroll-tech/snark-verifier", branch = "develop", default-features = false, features = ["loader_halo2", "loader_evm", "halo2-pse"] } prover_darwin = { git = "https://github.com/scroll-tech/zkevm-circuits.git", tag = "v0.12.2", package = "prover", default-features = false, features = ["parallel_syn", "scroll"] } prover_darwin_v2 = { git = "https://github.com/scroll-tech/zkevm-circuits.git", tag = "v0.13.1", package = "prover", default-features = false, features = ["parallel_syn", "scroll"] } -scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "160db6c"} +scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "60a2f36"} base64 = "0.13.1" reqwest = { version = "0.12.4", features = ["gzip"] } reqwest-middleware = "0.3" diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index a6ad716131..465b9307e5 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -7530,7 +7530,7 @@ dependencies = [ [[package]] name = "scroll-proving-sdk" version = "0.1.0" -source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=af95d2a#af95d2a85109a4e44482cf4deb3dadfbb8617ef0" +source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=60a2f36#60a2f360c474116a3e514d3941c9a306b0589d05" dependencies = [ "alloy", "anyhow", diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index abe2e13ac8..aba3f8ccd1 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -21,7 +21,7 @@ futures = "0.3.30" scroll-zkvm-prover = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.0-rc.6" } ethers-core = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } ethers-providers = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } -scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "af95d2a", features = [ +scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "60a2f36", features = [ "openvm", ] } sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "zkvm/euclid-v2", features = [ From 893bf18d62021ec1d9029cb645f03f14b0a767ea Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Mon, 10 Mar 2025 21:45:59 +0800 Subject: [PATCH 005/132] update Cargo.lock --- zkvm-prover/Cargo.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index 465b9307e5..570e303c0b 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -1489,7 +1489,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -2069,7 +2069,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -5835,7 +5835,7 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -7213,7 +7213,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -8110,7 +8110,7 @@ dependencies = [ "cfg-if", "libc", "psm", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -8348,7 +8348,7 @@ dependencies = [ "getrandom 0.3.1", "once_cell", "rustix", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] From b3c1df7557ceb87c2b2946ca01cf0492ef52f033 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Mon, 10 Mar 2025 22:51:22 +0800 Subject: [PATCH 006/132] revert a change --- prover/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prover/Cargo.toml b/prover/Cargo.toml index 87fc7639db..89ef9b54b3 100644 --- a/prover/Cargo.toml +++ b/prover/Cargo.toml @@ -31,7 +31,7 @@ halo2_proofs = { git = "https://github.com/scroll-tech/halo2.git", branch = "v1. snark-verifier-sdk = { git = "https://github.com/scroll-tech/snark-verifier", branch = "develop", default-features = false, features = ["loader_halo2", "loader_evm", "halo2-pse"] } prover_darwin = { git = "https://github.com/scroll-tech/zkevm-circuits.git", tag = "v0.12.2", package = "prover", default-features = false, features = ["parallel_syn", "scroll"] } prover_darwin_v2 = { git = "https://github.com/scroll-tech/zkevm-circuits.git", tag = "v0.13.1", package = "prover", default-features = false, features = ["parallel_syn", "scroll"] } -scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "60a2f36"} +scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "160db6c"} base64 = "0.13.1" reqwest = { version = "0.12.4", features = ["gzip"] } reqwest-middleware = "0.3" From 110083c6c80bed79382e042ad221b0327ecf7dfc Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Mon, 10 Mar 2025 23:01:22 +0800 Subject: [PATCH 007/132] update rust version in CI --- .github/workflows/prover.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/prover.yml b/.github/workflows/prover.yml index 72d0ab825e..7f4a4bb92c 100644 --- a/.github/workflows/prover.yml +++ b/.github/workflows/prover.yml @@ -48,7 +48,7 @@ jobs: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: - toolchain: nightly-2023-12-03 + toolchain: nightly-2024-12-03 components: rustfmt - name: Cargo cache uses: Swatinem/rust-cache@v2 From fcbaa674c6ab2e16f070e296af0d049d7360f2bb Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Tue, 11 Mar 2025 20:26:57 +0800 Subject: [PATCH 008/132] update dependencies --- common/libzkp/impl/Cargo.lock | 86 +++++++++++++++++++++++++++-------- common/libzkp/impl/Cargo.toml | 4 +- zkvm-prover/Cargo.lock | 70 ++++++++++++++++++++++------ zkvm-prover/Cargo.toml | 2 +- 4 files changed, 126 insertions(+), 36 deletions(-) diff --git a/common/libzkp/impl/Cargo.lock b/common/libzkp/impl/Cargo.lock index b407878129..69bdb7e004 100644 --- a/common/libzkp/impl/Cargo.lock +++ b/common/libzkp/impl/Cargo.lock @@ -396,7 +396,7 @@ checksum = "46ff7aa715eb2404cb87fa94390d2c5d5addd70d9617e20b2398ee6f48cb21f0" dependencies = [ "alloy-sol-macro-input", "const-hex", - "heck", + "heck 0.5.0", "indexmap 2.7.1", "proc-macro-error2", "proc-macro2", @@ -414,7 +414,7 @@ checksum = "6f105fa700140c0cc6e2c3377adef650c389ac57b8ead8318a2e6bd52f1ae841" dependencies = [ "const-hex", "dunce", - "heck", + "heck 0.5.0", "proc-macro2", "quote", "syn 2.0.98", @@ -812,6 +812,12 @@ dependencies = [ "serde", ] +[[package]] +name = "bitstream-io" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2" + [[package]] name = "bitvec" version = "1.0.1" @@ -1078,7 +1084,7 @@ version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", "syn 2.0.98", @@ -2072,6 +2078,12 @@ dependencies = [ "serde", ] +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + [[package]] name = "heck" version = "0.5.0" @@ -2645,18 +2657,18 @@ dependencies = [ [[package]] name = "munge" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0091202c98cf06da46c279fdf50cccb6b1c43b4521abdf6a27b4c7e71d5d9d7" +checksum = "64142d38c84badf60abf06ff9bd80ad2174306a5b11bd4706535090a30a419df" dependencies = [ "munge_macro", ] [[package]] name = "munge_macro" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "734799cf91479720b2f970c61a22850940dd91e27d4f02b1c6fc792778df2459" +checksum = "1bb5c1d8184f13f7d0ccbeeca0def2f9a181bce2624302793005f5ca8aa62e5e" dependencies = [ "proc-macro2", "quote", @@ -5259,7 +5271,7 @@ dependencies = [ [[package]] name = "revm" version = "19.4.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#fdfbc90666769aec55c05a6aefdb6e5e1c32a3b3" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#562b7c67b8f0c0e4aee4f74fe6c0c983df58790c" dependencies = [ "auto_impl", "cfg-if", @@ -5298,7 +5310,7 @@ dependencies = [ [[package]] name = "revm-interpreter" version = "15.1.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#fdfbc90666769aec55c05a6aefdb6e5e1c32a3b3" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#562b7c67b8f0c0e4aee4f74fe6c0c983df58790c" dependencies = [ "revm-primitives 15.1.0", "serde", @@ -5336,7 +5348,7 @@ dependencies = [ [[package]] name = "revm-precompile" version = "16.0.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#fdfbc90666769aec55c05a6aefdb6e5e1c32a3b3" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#562b7c67b8f0c0e4aee4f74fe6c0c983df58790c" dependencies = [ "aurora-engine-modexp", "c-kzg", @@ -5393,7 +5405,7 @@ dependencies = [ [[package]] name = "revm-primitives" version = "15.1.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#fdfbc90666769aec55c05a6aefdb6e5e1c32a3b3" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#562b7c67b8f0c0e4aee4f74fe6c0c983df58790c" dependencies = [ "alloy-eip2930", "alloy-eip7702 0.5.1", @@ -5769,31 +5781,35 @@ dependencies = [ [[package]] name = "scroll-zkvm-circuit-input-types" -version = "0.1.0-rc.6" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" +version = "0.1.1-rc.2" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.2#c229b8d606126528ea44fde56495fddc6ad827ab" dependencies = [ "alloy-primitives", "alloy-serde 0.8.3", + "itertools 0.14.0", "openvm", "openvm-rv32im-guest", "rkyv", "sbv", "serde", "tiny-keccak", + "vm-zstd", ] [[package]] name = "scroll-zkvm-prover" -version = "0.1.0-rc.6" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" +version = "0.1.1-rc.2" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.2#c229b8d606126528ea44fde56495fddc6ad827ab" dependencies = [ "alloy-primitives", "base64 0.22.1", "bincode", + "c-kzg", "git-version", "hex", "metrics 0.23.0", "metrics-util", + "munge", "once_cell", "openvm-circuit", "openvm-native-circuit", @@ -5816,8 +5832,8 @@ dependencies = [ [[package]] name = "scroll-zkvm-verifier" -version = "0.1.0-rc.6" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" +version = "0.1.1-rc.2" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.2#c229b8d606126528ea44fde56495fddc6ad827ab" dependencies = [ "bincode", "eyre", @@ -6198,6 +6214,12 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" + [[package]] name = "strum" version = "0.26.3" @@ -6216,13 +6238,26 @@ dependencies = [ "strum_macros 0.27.1", ] +[[package]] +name = "strum_macros" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.98", +] + [[package]] name = "strum_macros" version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", "rustversion", @@ -6235,7 +6270,7 @@ version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", "rustversion", @@ -6797,6 +6832,19 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +[[package]] +name = "vm-zstd" +version = "0.1.1" +source = "git+https://github.com/scroll-tech/rust-zstd-decompressor.git?tag=v0.1.1#c7e953fc690d5f56f201892d88311c0f938f2d21" +dependencies = [ + "anyhow", + "bitstream-io", + "itertools 0.11.0", + "serde", + "strum 0.25.0", + "strum_macros 0.25.3", +] + [[package]] name = "wait-timeout" version = "0.2.1" diff --git a/common/libzkp/impl/Cargo.toml b/common/libzkp/impl/Cargo.toml index fe47028f68..7e3bdd7d9c 100644 --- a/common/libzkp/impl/Cargo.toml +++ b/common/libzkp/impl/Cargo.toml @@ -14,8 +14,8 @@ ruint = { git = "https://github.com/scroll-tech/uint.git", branch = "v1.12.3" } tiny-keccak = { git = "https://github.com/scroll-tech/tiny-keccak", branch = "scroll-patch-v2.0.2-openvm-v1.0.0-rc.1" } [dependencies] -euclid_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.6", package = "scroll-zkvm-prover" } -euclid_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.6", package = "scroll-zkvm-verifier" } +euclid_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-prover" } +euclid_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-verifier" } base64 = "0.13.0" env_logger = "0.9.0" diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index 570e303c0b..32564a9704 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -1149,6 +1149,12 @@ dependencies = [ "serde", ] +[[package]] +name = "bitstream-io" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2" + [[package]] name = "bitvec" version = "1.0.1" @@ -3741,18 +3747,18 @@ dependencies = [ [[package]] name = "munge" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0091202c98cf06da46c279fdf50cccb6b1c43b4521abdf6a27b4c7e71d5d9d7" +checksum = "64142d38c84badf60abf06ff9bd80ad2174306a5b11bd4706535090a30a419df" dependencies = [ "munge_macro", ] [[package]] name = "munge_macro" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "734799cf91479720b2f970c61a22850940dd91e27d4f02b1c6fc792778df2459" +checksum = "1bb5c1d8184f13f7d0ccbeeca0def2f9a181bce2624302793005f5ca8aa62e5e" dependencies = [ "proc-macro2", "quote", @@ -6823,7 +6829,7 @@ dependencies = [ [[package]] name = "revm" version = "19.4.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#fdfbc90666769aec55c05a6aefdb6e5e1c32a3b3" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#562b7c67b8f0c0e4aee4f74fe6c0c983df58790c" dependencies = [ "auto_impl", "cfg-if", @@ -6862,7 +6868,7 @@ dependencies = [ [[package]] name = "revm-interpreter" version = "15.1.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#fdfbc90666769aec55c05a6aefdb6e5e1c32a3b3" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#562b7c67b8f0c0e4aee4f74fe6c0c983df58790c" dependencies = [ "revm-primitives 15.1.0", "serde", @@ -6900,7 +6906,7 @@ dependencies = [ [[package]] name = "revm-precompile" version = "16.0.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#fdfbc90666769aec55c05a6aefdb6e5e1c32a3b3" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#562b7c67b8f0c0e4aee4f74fe6c0c983df58790c" dependencies = [ "aurora-engine-modexp", "c-kzg", @@ -6957,7 +6963,7 @@ dependencies = [ [[package]] name = "revm-primitives" version = "15.1.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#fdfbc90666769aec55c05a6aefdb6e5e1c32a3b3" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#562b7c67b8f0c0e4aee4f74fe6c0c983df58790c" dependencies = [ "alloy-eip2930", "alloy-eip7702 0.5.1", @@ -7562,31 +7568,35 @@ dependencies = [ [[package]] name = "scroll-zkvm-circuit-input-types" -version = "0.1.0-rc.6" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" +version = "0.1.1-rc.2" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.2#c229b8d606126528ea44fde56495fddc6ad827ab" dependencies = [ "alloy-primitives", "alloy-serde 0.8.3", + "itertools 0.14.0", "openvm", "openvm-rv32im-guest", "rkyv", "sbv", "serde", "tiny-keccak", + "vm-zstd", ] [[package]] name = "scroll-zkvm-prover" -version = "0.1.0-rc.6" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" +version = "0.1.1-rc.2" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.2#c229b8d606126528ea44fde56495fddc6ad827ab" dependencies = [ "alloy-primitives", "base64 0.22.1", "bincode", + "c-kzg", "git-version", "hex", "metrics 0.23.0", "metrics-util", + "munge", "once_cell", "openvm-circuit", "openvm-native-circuit", @@ -7609,8 +7619,8 @@ dependencies = [ [[package]] name = "scroll-zkvm-verifier" -version = "0.1.0-rc.6" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" +version = "0.1.1-rc.2" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.2#c229b8d606126528ea44fde56495fddc6ad827ab" dependencies = [ "bincode", "eyre", @@ -8140,6 +8150,12 @@ dependencies = [ "strum_macros 0.24.3", ] +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" + [[package]] name = "strum" version = "0.26.3" @@ -8171,6 +8187,19 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "strum_macros" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.98", +] + [[package]] name = "strum_macros" version = "0.26.4" @@ -9025,6 +9054,19 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +[[package]] +name = "vm-zstd" +version = "0.1.1" +source = "git+https://github.com/scroll-tech/rust-zstd-decompressor.git?tag=v0.1.1#c7e953fc690d5f56f201892d88311c0f938f2d21" +dependencies = [ + "anyhow", + "bitstream-io", + "itertools 0.11.0", + "serde", + "strum 0.25.0", + "strum_macros 0.25.3", +] + [[package]] name = "wait-timeout" version = "0.2.1" diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index aba3f8ccd1..e343de520d 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -18,7 +18,7 @@ serde = { version = "1.0.198", features = ["derive"] } serde_json = "1.0.116" futures = "0.3.30" -scroll-zkvm-prover = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.0-rc.6" } +scroll-zkvm-prover = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.1-rc.2" } ethers-core = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } ethers-providers = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "60a2f36", features = [ From 2d40f0f942dc2e1f5c8228a6e8eb6b571d172d68 Mon Sep 17 00:00:00 2001 From: Rohit Narurkar Date: Tue, 11 Mar 2025 13:19:02 +0000 Subject: [PATCH 009/132] fix: chunk task deserialisation from prove request input (#1620) --- zkvm-prover/src/zk_circuits_handler/euclid.rs | 39 +++++++++++-------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/zkvm-prover/src/zk_circuits_handler/euclid.rs b/zkvm-prover/src/zk_circuits_handler/euclid.rs index 3f33c9da68..4be074f36c 100644 --- a/zkvm-prover/src/zk_circuits_handler/euclid.rs +++ b/zkvm-prover/src/zk_circuits_handler/euclid.rs @@ -24,18 +24,33 @@ impl EuclidHandler { let cache_dir = workspace_path.join("cache"); let chunk_exe = workspace_path.join("chunk/app.vmexe"); let chunk_app_config = workspace_path.join("chunk/openvm.toml"); - let chunk_prover = ChunkProver::setup(chunk_exe, chunk_app_config, Some(cache_dir.clone())) - .expect("Failed to setup chunk prover"); + let chunk_prover = ChunkProver::setup( + chunk_exe, + chunk_app_config, + Some(cache_dir.clone()), + Default::default(), + ) + .expect("Failed to setup chunk prover"); let batch_exe = workspace_path.join("batch/app.vmexe"); let batch_app_config = workspace_path.join("batch/openvm.toml"); - let batch_prover = BatchProver::setup(batch_exe, batch_app_config, Some(cache_dir.clone())) - .expect("Failed to setup batch prover"); + let batch_prover = BatchProver::setup( + batch_exe, + batch_app_config, + Some(cache_dir.clone()), + Default::default(), + ) + .expect("Failed to setup batch prover"); let bundle_exe = workspace_path.join("bundle/app.vmexe"); let bundle_app_config = workspace_path.join("bundle/openvm.toml"); - let bundle_prover = BundleProver::setup(bundle_exe, bundle_app_config, Some(cache_dir)) - .expect("Failed to setup bundle prover"); + let bundle_prover = BundleProver::setup( + bundle_exe, + bundle_app_config, + Some(cache_dir), + Default::default(), + ) + .expect("Failed to setup bundle prover"); Self { chunk_prover, @@ -59,16 +74,8 @@ impl CircuitsHandler for Arc> { async fn get_proof_data(&self, prove_request: ProveRequest) -> Result { match prove_request.proof_type { ProofType::Chunk => { - let witnesses: Vec = - serde_json::from_str(&prove_request.input)?; - - let proof = self - .try_lock() - .unwrap() - .chunk_prover - .gen_proof(&ChunkProvingTask { - block_witnesses: witnesses, - })?; + let task: ChunkProvingTask = serde_json::from_str(&prove_request.input)?; + let proof = self.try_lock().unwrap().chunk_prover.gen_proof(&task)?; Ok(serde_json::to_string(&proof)?) } From 88da49383c9dc2a570a06ad8deab31e871864a5b Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Wed, 12 Mar 2025 00:29:49 +0800 Subject: [PATCH 010/132] update prover client --- zkvm-prover/Cargo.lock | 75 ++++++++++++- zkvm-prover/Cargo.toml | 3 +- zkvm-prover/config.json | 4 +- zkvm-prover/src/prover.rs | 3 +- zkvm-prover/src/zk_circuits_handler.rs | 1 + zkvm-prover/src/zk_circuits_handler/euclid.rs | 41 +++---- .../src/zk_circuits_handler/euclidV2.rs | 101 ++++++++++++++++++ 7 files changed, 196 insertions(+), 32 deletions(-) create mode 100644 zkvm-prover/src/zk_circuits_handler/euclidV2.rs diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index 32564a9704..2402af051d 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -5732,7 +5732,8 @@ dependencies = [ "rlp", "sbv-primitives", "scroll-proving-sdk", - "scroll-zkvm-prover", + "scroll-zkvm-prover 0.1.0-rc.6", + "scroll-zkvm-prover 0.1.1-rc.2", "serde", "serde_bytes", "serde_json", @@ -7566,6 +7567,21 @@ dependencies = [ "url", ] +[[package]] +name = "scroll-zkvm-circuit-input-types" +version = "0.1.0-rc.6" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" +dependencies = [ + "alloy-primitives", + "alloy-serde 0.8.3", + "openvm", + "openvm-rv32im-guest", + "rkyv", + "sbv", + "serde", + "tiny-keccak", +] + [[package]] name = "scroll-zkvm-circuit-input-types" version = "0.1.1-rc.2" @@ -7583,6 +7599,38 @@ dependencies = [ "vm-zstd", ] +[[package]] +name = "scroll-zkvm-prover" +version = "0.1.0-rc.6" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" +dependencies = [ + "alloy-primitives", + "base64 0.22.1", + "bincode", + "git-version", + "hex", + "metrics 0.23.0", + "metrics-util", + "once_cell", + "openvm-circuit", + "openvm-native-circuit", + "openvm-native-recursion", + "openvm-sdk", + "openvm-stark-sdk", + "revm 19.5.0", + "rkyv", + "sbv", + "scroll-zkvm-circuit-input-types 0.1.0-rc.6", + "scroll-zkvm-verifier 0.1.0-rc.6", + "serde", + "serde_json", + "serde_stacker", + "snark-verifier-sdk", + "thiserror 2.0.11", + "toml", + "tracing", +] + [[package]] name = "scroll-zkvm-prover" version = "0.1.1-rc.2" @@ -7606,8 +7654,8 @@ dependencies = [ "revm 19.5.0", "rkyv", "sbv", - "scroll-zkvm-circuit-input-types", - "scroll-zkvm-verifier", + "scroll-zkvm-circuit-input-types 0.1.1-rc.2", + "scroll-zkvm-verifier 0.1.1-rc.2", "serde", "serde_json", "serde_stacker", @@ -7617,6 +7665,25 @@ dependencies = [ "tracing", ] +[[package]] +name = "scroll-zkvm-verifier" +version = "0.1.0-rc.6" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" +dependencies = [ + "bincode", + "eyre", + "itertools 0.14.0", + "openvm-circuit", + "openvm-native-circuit", + "openvm-native-recursion", + "openvm-sdk", + "openvm-stark-sdk", + "revm 19.5.0", + "scroll-zkvm-circuit-input-types 0.1.0-rc.6", + "serde", + "snark-verifier-sdk", +] + [[package]] name = "scroll-zkvm-verifier" version = "0.1.1-rc.2" @@ -7631,7 +7698,7 @@ dependencies = [ "openvm-sdk", "openvm-stark-sdk", "revm 19.5.0", - "scroll-zkvm-circuit-input-types", + "scroll-zkvm-circuit-input-types 0.1.1-rc.2", "serde", "snark-verifier-sdk", ] diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index e343de520d..374c6d1a4c 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -18,7 +18,8 @@ serde = { version = "1.0.198", features = ["derive"] } serde_json = "1.0.116" futures = "0.3.30" -scroll-zkvm-prover = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.1-rc.2" } +scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.0-rc.6", package = "scroll-zkvm-prover" } +scroll-zkvm-prover-euclidv2 = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.1-rc.2", package = "scroll-zkvm-prover" } ethers-core = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } ethers-providers = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "60a2f36", features = [ diff --git a/zkvm-prover/config.json b/zkvm-prover/config.json index e6b88306db..978c2be570 100644 --- a/zkvm-prover/config.json +++ b/zkvm-prover/config.json @@ -23,8 +23,8 @@ "db_path": "unique-db-path-for-prover-1" }, "circuits": { - "euclid": { - "hard_fork_name": "euclid", + "euclidV2": { + "hard_fork_name": "euclidV2", "workspace_path": "/home/ubuntu/prover-workdir" } } diff --git a/zkvm-prover/src/prover.rs b/zkvm-prover/src/prover.rs index 3719f9b68e..e011b15c35 100644 --- a/zkvm-prover/src/prover.rs +++ b/zkvm-prover/src/prover.rs @@ -1,4 +1,4 @@ -use crate::zk_circuits_handler::{euclid::EuclidHandler, CircuitsHandler}; +use crate::zk_circuits_handler::{euclid::EuclidHandler, euclidV2::EuclidV2Handler, CircuitsHandler}; use anyhow::{anyhow, Result}; use async_trait::async_trait; use scroll_proving_sdk::{ @@ -183,6 +183,7 @@ impl LocalProver { Arc::new(match hard_fork_name { "euclid" => Arc::new(Mutex::new(EuclidHandler::new(&config.workspace_path))), + "euclidV2" => Arc::new(Mutex::new(EuclidV2Handler::new(&config.workspace_path))), _ => unreachable!(), }) as Arc } diff --git a/zkvm-prover/src/zk_circuits_handler.rs b/zkvm-prover/src/zk_circuits_handler.rs index efdac1c3c9..9d143de6b9 100644 --- a/zkvm-prover/src/zk_circuits_handler.rs +++ b/zkvm-prover/src/zk_circuits_handler.rs @@ -1,4 +1,5 @@ pub mod euclid; +pub mod euclidV2; use anyhow::Result; use async_trait::async_trait; diff --git a/zkvm-prover/src/zk_circuits_handler/euclid.rs b/zkvm-prover/src/zk_circuits_handler/euclid.rs index 4be074f36c..aef1b596b4 100644 --- a/zkvm-prover/src/zk_circuits_handler/euclid.rs +++ b/zkvm-prover/src/zk_circuits_handler/euclid.rs @@ -4,7 +4,7 @@ use super::CircuitsHandler; use anyhow::{anyhow, Result}; use async_trait::async_trait; use scroll_proving_sdk::prover::{proving_service::ProveRequest, ProofType}; -use scroll_zkvm_prover::{ +use scroll_zkvm_prover_euclid::{ task::{batch::BatchProvingTask, bundle::BundleProvingTask, chunk::ChunkProvingTask}, BatchProver, BundleProver, ChunkProver, }; @@ -24,33 +24,18 @@ impl EuclidHandler { let cache_dir = workspace_path.join("cache"); let chunk_exe = workspace_path.join("chunk/app.vmexe"); let chunk_app_config = workspace_path.join("chunk/openvm.toml"); - let chunk_prover = ChunkProver::setup( - chunk_exe, - chunk_app_config, - Some(cache_dir.clone()), - Default::default(), - ) - .expect("Failed to setup chunk prover"); + let chunk_prover = ChunkProver::setup(chunk_exe, chunk_app_config, Some(cache_dir.clone())) + .expect("Failed to setup chunk prover"); let batch_exe = workspace_path.join("batch/app.vmexe"); let batch_app_config = workspace_path.join("batch/openvm.toml"); - let batch_prover = BatchProver::setup( - batch_exe, - batch_app_config, - Some(cache_dir.clone()), - Default::default(), - ) - .expect("Failed to setup batch prover"); + let batch_prover = BatchProver::setup(batch_exe, batch_app_config, Some(cache_dir.clone())) + .expect("Failed to setup batch prover"); let bundle_exe = workspace_path.join("bundle/app.vmexe"); let bundle_app_config = workspace_path.join("bundle/openvm.toml"); - let bundle_prover = BundleProver::setup( - bundle_exe, - bundle_app_config, - Some(cache_dir), - Default::default(), - ) - .expect("Failed to setup bundle prover"); + let bundle_prover = BundleProver::setup(bundle_exe, bundle_app_config, Some(cache_dir)) + .expect("Failed to setup bundle prover"); Self { chunk_prover, @@ -74,8 +59,16 @@ impl CircuitsHandler for Arc> { async fn get_proof_data(&self, prove_request: ProveRequest) -> Result { match prove_request.proof_type { ProofType::Chunk => { - let task: ChunkProvingTask = serde_json::from_str(&prove_request.input)?; - let proof = self.try_lock().unwrap().chunk_prover.gen_proof(&task)?; + let witnesses: Vec = + serde_json::from_str(&prove_request.input)?; + + let proof = self + .try_lock() + .unwrap() + .chunk_prover + .gen_proof(&ChunkProvingTask { + block_witnesses: witnesses, + })?; Ok(serde_json::to_string(&proof)?) } diff --git a/zkvm-prover/src/zk_circuits_handler/euclidV2.rs b/zkvm-prover/src/zk_circuits_handler/euclidV2.rs new file mode 100644 index 0000000000..d14ab031bc --- /dev/null +++ b/zkvm-prover/src/zk_circuits_handler/euclidV2.rs @@ -0,0 +1,101 @@ +use std::{path::Path, sync::Arc}; + +use super::CircuitsHandler; +use anyhow::{anyhow, Result}; +use async_trait::async_trait; +use scroll_proving_sdk::prover::{proving_service::ProveRequest, ProofType}; +use scroll_zkvm_prover_euclidv2::{ + task::{batch::BatchProvingTask, bundle::BundleProvingTask, chunk::ChunkProvingTask}, + BatchProver, BundleProver, ChunkProver, +}; +use tokio::sync::Mutex; +pub struct EuclidV2Handler { + chunk_prover: ChunkProver, + batch_prover: BatchProver, + bundle_prover: BundleProver, +} + +unsafe impl Send for EuclidV2Handler {} + +impl EuclidV2Handler { + pub fn new(workspace_path: &str) -> Self { + let workspace_path = Path::new(workspace_path); + + let cache_dir = workspace_path.join("cache"); + let chunk_exe = workspace_path.join("chunk/app.vmexe"); + let chunk_app_config = workspace_path.join("chunk/openvm.toml"); + let chunk_prover = ChunkProver::setup( + chunk_exe, + chunk_app_config, + Some(cache_dir.clone()), + Default::default(), + ) + .expect("Failed to setup chunk prover"); + + let batch_exe = workspace_path.join("batch/app.vmexe"); + let batch_app_config = workspace_path.join("batch/openvm.toml"); + let batch_prover = BatchProver::setup( + batch_exe, + batch_app_config, + Some(cache_dir.clone()), + Default::default(), + ) + .expect("Failed to setup batch prover"); + + let bundle_exe = workspace_path.join("bundle/app.vmexe"); + let bundle_app_config = workspace_path.join("bundle/openvm.toml"); + let bundle_prover = BundleProver::setup( + bundle_exe, + bundle_app_config, + Some(cache_dir), + Default::default(), + ) + .expect("Failed to setup bundle prover"); + + Self { + chunk_prover, + batch_prover, + bundle_prover, + } + } +} + +#[async_trait] +impl CircuitsHandler for Arc> { + async fn get_vk(&self, task_type: ProofType) -> Option> { + Some(match task_type { + ProofType::Chunk => self.try_lock().unwrap().chunk_prover.get_app_vk(), + ProofType::Batch => self.try_lock().unwrap().batch_prover.get_app_vk(), + ProofType::Bundle => self.try_lock().unwrap().bundle_prover.get_app_vk(), + _ => unreachable!("Unsupported proof type"), + }) + } + + async fn get_proof_data(&self, prove_request: ProveRequest) -> Result { + match prove_request.proof_type { + ProofType::Chunk => { + let task: ChunkProvingTask = serde_json::from_str(&prove_request.input)?; + let proof = self.try_lock().unwrap().chunk_prover.gen_proof(&task)?; + + Ok(serde_json::to_string(&proof)?) + } + ProofType::Batch => { + let task: BatchProvingTask = serde_json::from_str(&prove_request.input)?; + let proof = self.try_lock().unwrap().batch_prover.gen_proof(&task)?; + + Ok(serde_json::to_string(&proof)?) + } + ProofType::Bundle => { + let batch_proofs: BundleProvingTask = serde_json::from_str(&prove_request.input)?; + let proof = self + .try_lock() + .unwrap() + .bundle_prover + .gen_proof_evm(&batch_proofs)?; + + Ok(serde_json::to_string(&proof)?) + } + _ => Err(anyhow!("Unsupported proof type")), + } + } +} From b8c7ec2b22ca9c250b6c818cfd51fe67ff6eb53e Mon Sep 17 00:00:00 2001 From: Rohit Narurkar Date: Tue, 11 Mar 2025 17:01:32 +0000 Subject: [PATCH 011/132] fix: compilation --- zkvm-prover/src/prover.rs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/zkvm-prover/src/prover.rs b/zkvm-prover/src/prover.rs index e011b15c35..c169343c52 100644 --- a/zkvm-prover/src/prover.rs +++ b/zkvm-prover/src/prover.rs @@ -1,4 +1,6 @@ -use crate::zk_circuits_handler::{euclid::EuclidHandler, euclidV2::EuclidV2Handler, CircuitsHandler}; +use crate::zk_circuits_handler::{ + euclid::EuclidHandler, euclidV2::EuclidV2Handler, CircuitsHandler, +}; use anyhow::{anyhow, Result}; use async_trait::async_trait; use scroll_proving_sdk::{ @@ -181,10 +183,14 @@ impl LocalProver { // coordinator let config = self.config.circuits.get(hard_fork_name).unwrap(); - Arc::new(match hard_fork_name { - "euclid" => Arc::new(Mutex::new(EuclidHandler::new(&config.workspace_path))), - "euclidV2" => Arc::new(Mutex::new(EuclidV2Handler::new(&config.workspace_path))), + match hard_fork_name { + "euclid" => Arc::new(Arc::new(Mutex::new(EuclidHandler::new( + &config.workspace_path, + )))) as Arc, + "euclidV2" => Arc::new(Arc::new(Mutex::new(EuclidV2Handler::new( + &config.workspace_path, + )))) as Arc, _ => unreachable!(), - }) as Arc + } } } From f288179451a7ef6f79c4d15de932bd92f6b5dfaa Mon Sep 17 00:00:00 2001 From: Rohit Narurkar Date: Tue, 11 Mar 2025 17:09:34 +0000 Subject: [PATCH 012/132] dbg: add dbg logs for prover vks --- zkvm-prover/src/prover.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/zkvm-prover/src/prover.rs b/zkvm-prover/src/prover.rs index c169343c52..dee62441c1 100644 --- a/zkvm-prover/src/prover.rs +++ b/zkvm-prover/src/prover.rs @@ -64,16 +64,22 @@ impl ProvingService for LocalProver { async fn get_vks(&self, req: GetVkRequest) -> GetVkResponse { let mut vks = vec![]; for hard_fork_name in self.config.circuits.keys() { + println!("\n\n\nhard fork = {:?}", hard_fork_name); let handler = self.new_handler(hard_fork_name); for proof_type in &req.proof_types { let vk = handler.get_vk(*proof_type).await; + println!("proof type = {:?}, vk = {:?}", proof_type, vk); if let Some(vk) = vk { - vks.push(base64::encode(vk)); + let vk_base64 = base64::encode(vk); + println!("vk (base64) = {:?}", vk_base64); + vks.push(vk_base64); } } } + println!("\n\n\nall vks = {:#?}", vks); + GetVkResponse { vks, error: None } } async fn prove(&mut self, req: ProveRequest) -> ProveResponse { From 64368f9a79b01c2f0bb33442f6e580fd819b2217 Mon Sep 17 00:00:00 2001 From: Rohit Narurkar Date: Tue, 11 Mar 2025 17:27:21 +0000 Subject: [PATCH 013/132] dbg: proof types from req --- zkvm-prover/src/prover.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/zkvm-prover/src/prover.rs b/zkvm-prover/src/prover.rs index dee62441c1..5ed08d58a8 100644 --- a/zkvm-prover/src/prover.rs +++ b/zkvm-prover/src/prover.rs @@ -66,6 +66,7 @@ impl ProvingService for LocalProver { for hard_fork_name in self.config.circuits.keys() { println!("\n\n\nhard fork = {:?}", hard_fork_name); let handler = self.new_handler(hard_fork_name); + println!("request proof-types = {:?}", req.proof_types); for proof_type in &req.proof_types { let vk = handler.get_vk(*proof_type).await; println!("proof type = {:?}, vk = {:?}", proof_type, vk); From be88ef6c398d79b40588d5f97dd541de2632f899 Mon Sep 17 00:00:00 2001 From: Rohit Narurkar Date: Tue, 11 Mar 2025 17:54:00 +0000 Subject: [PATCH 014/132] dbg: more println --- zkvm-prover/src/prover.rs | 2 ++ zkvm-prover/src/zk_circuits_handler/euclidV2.rs | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/zkvm-prover/src/prover.rs b/zkvm-prover/src/prover.rs index 5ed08d58a8..9dba6bd9d2 100644 --- a/zkvm-prover/src/prover.rs +++ b/zkvm-prover/src/prover.rs @@ -186,9 +186,11 @@ impl LocalProver { } fn new_handler(&self, hard_fork_name: &str) -> Arc { + println!("in new_handler"); // if we got assigned a task for an unknown hard fork, there is something wrong in the // coordinator let config = self.config.circuits.get(hard_fork_name).unwrap(); + println!("config workspace path for hard-fork {:?} = {:?}", hard_fork_name, config.workspace_path); match hard_fork_name { "euclid" => Arc::new(Arc::new(Mutex::new(EuclidHandler::new( diff --git a/zkvm-prover/src/zk_circuits_handler/euclidV2.rs b/zkvm-prover/src/zk_circuits_handler/euclidV2.rs index d14ab031bc..3edaa03350 100644 --- a/zkvm-prover/src/zk_circuits_handler/euclidV2.rs +++ b/zkvm-prover/src/zk_circuits_handler/euclidV2.rs @@ -20,6 +20,7 @@ unsafe impl Send for EuclidV2Handler {} impl EuclidV2Handler { pub fn new(workspace_path: &str) -> Self { let workspace_path = Path::new(workspace_path); + println!("ok 1"); let cache_dir = workspace_path.join("cache"); let chunk_exe = workspace_path.join("chunk/app.vmexe"); @@ -31,6 +32,7 @@ impl EuclidV2Handler { Default::default(), ) .expect("Failed to setup chunk prover"); + println!("ok 2"); let batch_exe = workspace_path.join("batch/app.vmexe"); let batch_app_config = workspace_path.join("batch/openvm.toml"); @@ -41,6 +43,7 @@ impl EuclidV2Handler { Default::default(), ) .expect("Failed to setup batch prover"); + println!("ok 3"); let bundle_exe = workspace_path.join("bundle/app.vmexe"); let bundle_app_config = workspace_path.join("bundle/openvm.toml"); @@ -51,6 +54,7 @@ impl EuclidV2Handler { Default::default(), ) .expect("Failed to setup bundle prover"); + println!("ok 4"); Self { chunk_prover, From fe6451b76cba06ecccab5e71fca7e847df743476 Mon Sep 17 00:00:00 2001 From: Rohit Narurkar Date: Tue, 11 Mar 2025 18:34:05 +0000 Subject: [PATCH 015/132] revert dbg commits --- zkvm-prover/src/prover.rs | 11 +---------- zkvm-prover/src/zk_circuits_handler.rs | 2 ++ zkvm-prover/src/zk_circuits_handler/euclidV2.rs | 4 ---- 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/zkvm-prover/src/prover.rs b/zkvm-prover/src/prover.rs index 9dba6bd9d2..c169343c52 100644 --- a/zkvm-prover/src/prover.rs +++ b/zkvm-prover/src/prover.rs @@ -64,23 +64,16 @@ impl ProvingService for LocalProver { async fn get_vks(&self, req: GetVkRequest) -> GetVkResponse { let mut vks = vec![]; for hard_fork_name in self.config.circuits.keys() { - println!("\n\n\nhard fork = {:?}", hard_fork_name); let handler = self.new_handler(hard_fork_name); - println!("request proof-types = {:?}", req.proof_types); for proof_type in &req.proof_types { let vk = handler.get_vk(*proof_type).await; - println!("proof type = {:?}, vk = {:?}", proof_type, vk); if let Some(vk) = vk { - let vk_base64 = base64::encode(vk); - println!("vk (base64) = {:?}", vk_base64); - vks.push(vk_base64); + vks.push(base64::encode(vk)); } } } - println!("\n\n\nall vks = {:#?}", vks); - GetVkResponse { vks, error: None } } async fn prove(&mut self, req: ProveRequest) -> ProveResponse { @@ -186,11 +179,9 @@ impl LocalProver { } fn new_handler(&self, hard_fork_name: &str) -> Arc { - println!("in new_handler"); // if we got assigned a task for an unknown hard fork, there is something wrong in the // coordinator let config = self.config.circuits.get(hard_fork_name).unwrap(); - println!("config workspace path for hard-fork {:?} = {:?}", hard_fork_name, config.workspace_path); match hard_fork_name { "euclid" => Arc::new(Arc::new(Mutex::new(EuclidHandler::new( diff --git a/zkvm-prover/src/zk_circuits_handler.rs b/zkvm-prover/src/zk_circuits_handler.rs index 9d143de6b9..6b97e3d906 100644 --- a/zkvm-prover/src/zk_circuits_handler.rs +++ b/zkvm-prover/src/zk_circuits_handler.rs @@ -1,4 +1,6 @@ pub mod euclid; + +#[allow(non_snake_case)] pub mod euclidV2; use anyhow::Result; diff --git a/zkvm-prover/src/zk_circuits_handler/euclidV2.rs b/zkvm-prover/src/zk_circuits_handler/euclidV2.rs index 3edaa03350..d14ab031bc 100644 --- a/zkvm-prover/src/zk_circuits_handler/euclidV2.rs +++ b/zkvm-prover/src/zk_circuits_handler/euclidV2.rs @@ -20,7 +20,6 @@ unsafe impl Send for EuclidV2Handler {} impl EuclidV2Handler { pub fn new(workspace_path: &str) -> Self { let workspace_path = Path::new(workspace_path); - println!("ok 1"); let cache_dir = workspace_path.join("cache"); let chunk_exe = workspace_path.join("chunk/app.vmexe"); @@ -32,7 +31,6 @@ impl EuclidV2Handler { Default::default(), ) .expect("Failed to setup chunk prover"); - println!("ok 2"); let batch_exe = workspace_path.join("batch/app.vmexe"); let batch_app_config = workspace_path.join("batch/openvm.toml"); @@ -43,7 +41,6 @@ impl EuclidV2Handler { Default::default(), ) .expect("Failed to setup batch prover"); - println!("ok 3"); let bundle_exe = workspace_path.join("bundle/app.vmexe"); let bundle_app_config = workspace_path.join("bundle/openvm.toml"); @@ -54,7 +51,6 @@ impl EuclidV2Handler { Default::default(), ) .expect("Failed to setup bundle prover"); - println!("ok 4"); Self { chunk_prover, From bcc6b0f7e00dcb4785fb3aebd5b0ebc5a422c042 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Wed, 12 Mar 2025 14:52:27 +0800 Subject: [PATCH 016/132] add PrevMsgQueueHash in chunk task detail --- common/types/message/message.go | 3 ++- .../internal/logic/provertask/chunk_prover_task.go | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index 7516faf44e..6a22230fcd 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -41,7 +41,8 @@ const ( // ChunkTaskDetail is a type containing ChunkTask detail. type ChunkTaskDetail struct { - BlockHashes []common.Hash `json:"block_hashes"` + BlockHashes []common.Hash `json:"block_hashes"` + PrevMsgQueueHash common.Hash `json:"prev_msg_queue_hash"` } // BatchTaskDetail is a type containing BatchTask detail. diff --git a/coordinator/internal/logic/provertask/chunk_prover_task.go b/coordinator/internal/logic/provertask/chunk_prover_task.go index 674f478912..644d203c7b 100644 --- a/coordinator/internal/logic/provertask/chunk_prover_task.go +++ b/coordinator/internal/logic/provertask/chunk_prover_task.go @@ -10,6 +10,7 @@ import ( "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promauto" "github.com/scroll-tech/da-codec/encoding" + "github.com/scroll-tech/go-ethereum/common" "github.com/scroll-tech/go-ethereum/log" "github.com/scroll-tech/go-ethereum/params" "gorm.io/gorm" @@ -168,7 +169,7 @@ func (cp *ChunkProverTask) Assign(ctx *gin.Context, getTaskParameter *coordinato return nil, ErrCoordinatorInternalFailure } - taskMsg, err := cp.formatProverTask(ctx.Copy(), &proverTask, hardForkName) + taskMsg, err := cp.formatProverTask(ctx.Copy(), &proverTask, chunkTask, hardForkName) if err != nil { cp.recoverActiveAttempts(ctx, chunkTask) log.Error("format prover task failure", "task_id", chunkTask.Hash, "err", err) @@ -194,7 +195,7 @@ func (cp *ChunkProverTask) hardForkName(ctx *gin.Context, chunkTask *orm.Chunk) return hardForkName, nil } -func (cp *ChunkProverTask) formatProverTask(ctx context.Context, task *orm.ProverTask, hardForkName string) (*coordinatorType.GetTaskSchema, error) { +func (cp *ChunkProverTask) formatProverTask(ctx context.Context, task *orm.ProverTask, chunk *orm.Chunk, hardForkName string) (*coordinatorType.GetTaskSchema, error) { // Get block hashes. blockHashes, dbErr := cp.blockOrm.GetL2BlockHashesByChunkHash(ctx, task.TaskID) if dbErr != nil || len(blockHashes) == 0 { @@ -202,7 +203,8 @@ func (cp *ChunkProverTask) formatProverTask(ctx context.Context, task *orm.Prove } taskDetail := message.ChunkTaskDetail{ - BlockHashes: blockHashes, + BlockHashes: blockHashes, + PrevMsgQueueHash: common.HexToHash(chunk.PrevL1MessageQueueHash), } blockHashesBytes, err := json.Marshal(taskDetail) if err != nil { From 5cf8cda8a72a596dd719d495e63a85f44d77d8d9 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Wed, 12 Mar 2025 15:06:21 +0800 Subject: [PATCH 017/132] add logs --- coordinator/internal/logic/provertask/chunk_prover_task.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/coordinator/internal/logic/provertask/chunk_prover_task.go b/coordinator/internal/logic/provertask/chunk_prover_task.go index 644d203c7b..82d789e77f 100644 --- a/coordinator/internal/logic/provertask/chunk_prover_task.go +++ b/coordinator/internal/logic/provertask/chunk_prover_task.go @@ -206,7 +206,7 @@ func (cp *ChunkProverTask) formatProverTask(ctx context.Context, task *orm.Prove BlockHashes: blockHashes, PrevMsgQueueHash: common.HexToHash(chunk.PrevL1MessageQueueHash), } - blockHashesBytes, err := json.Marshal(taskDetail) + taskDetailBytes, err := json.Marshal(taskDetail) if err != nil { return nil, fmt.Errorf("failed to marshal block hashes hash:%s, err:%w", task.TaskID, err) } @@ -215,10 +215,13 @@ func (cp *ChunkProverTask) formatProverTask(ctx context.Context, task *orm.Prove UUID: task.UUID.String(), TaskID: task.TaskID, TaskType: int(message.ProofTypeChunk), - TaskData: string(blockHashesBytes), + TaskData: string(taskDetailBytes), HardForkName: hardForkName, } + log.Info("format prover task", "task_id", task.TaskID, "task_type", message.ProofTypeChunk.String(), "hard_fork_name", hardForkName) + log.Info("TaskData", "task_id", task.TaskID, "task_data", proverTaskSchema.TaskData, "taskDetail", taskDetail) + return proverTaskSchema, nil } From 8db4e5c77df3bffeef7534ed2433fcceab239ac4 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Wed, 12 Mar 2025 15:55:57 +0800 Subject: [PATCH 018/132] update scroll-proving-sdk --- zkvm-prover/Cargo.lock | 14 +++++++------- zkvm-prover/Cargo.toml | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index 2402af051d..aeb59942df 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -1495,7 +1495,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2075,7 +2075,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -5842,7 +5842,7 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -7220,7 +7220,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -7537,7 +7537,7 @@ dependencies = [ [[package]] name = "scroll-proving-sdk" version = "0.1.0" -source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=60a2f36#60a2f360c474116a3e514d3941c9a306b0589d05" +source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=354f32f#354f32ff9d16238100682ed3fcd1d9d6cb280f94" dependencies = [ "alloy", "anyhow", @@ -8187,7 +8187,7 @@ dependencies = [ "cfg-if", "libc", "psm", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -8444,7 +8444,7 @@ dependencies = [ "getrandom 0.3.1", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index 374c6d1a4c..205c7f055f 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -22,7 +22,7 @@ scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover" scroll-zkvm-prover-euclidv2 = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.1-rc.2", package = "scroll-zkvm-prover" } ethers-core = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } ethers-providers = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } -scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "60a2f36", features = [ +scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "354f32f", features = [ "openvm", ] } sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "zkvm/euclid-v2", features = [ From a6ed321666a60c39fe47a36a60e669fa2616cc48 Mon Sep 17 00:00:00 2001 From: kunxian xia Date: Wed, 12 Mar 2025 17:10:16 +0800 Subject: [PATCH 019/132] update scroll-zkvm-prover v0.1.1-rc.2 --- common/libzkp/impl/Cargo.lock | 6 +++--- zkvm-prover/Cargo.lock | 18 +++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/common/libzkp/impl/Cargo.lock b/common/libzkp/impl/Cargo.lock index 69bdb7e004..254ebc515a 100644 --- a/common/libzkp/impl/Cargo.lock +++ b/common/libzkp/impl/Cargo.lock @@ -5782,7 +5782,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-circuit-input-types" version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.2#c229b8d606126528ea44fde56495fddc6ad827ab" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.2#a1217d1b65c713c7831e71aa6ed5dba43c6b93ef" dependencies = [ "alloy-primitives", "alloy-serde 0.8.3", @@ -5799,7 +5799,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-prover" version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.2#c229b8d606126528ea44fde56495fddc6ad827ab" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.2#a1217d1b65c713c7831e71aa6ed5dba43c6b93ef" dependencies = [ "alloy-primitives", "base64 0.22.1", @@ -5833,7 +5833,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-verifier" version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.2#c229b8d606126528ea44fde56495fddc6ad827ab" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.2#a1217d1b65c713c7831e71aa6ed5dba43c6b93ef" dependencies = [ "bincode", "eyre", diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index aeb59942df..23f00f49a9 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -1495,7 +1495,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -2075,7 +2075,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -5842,7 +5842,7 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -7220,7 +7220,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -7585,7 +7585,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-circuit-input-types" version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.2#c229b8d606126528ea44fde56495fddc6ad827ab" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.2#a1217d1b65c713c7831e71aa6ed5dba43c6b93ef" dependencies = [ "alloy-primitives", "alloy-serde 0.8.3", @@ -7634,7 +7634,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-prover" version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.2#c229b8d606126528ea44fde56495fddc6ad827ab" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.2#a1217d1b65c713c7831e71aa6ed5dba43c6b93ef" dependencies = [ "alloy-primitives", "base64 0.22.1", @@ -7687,7 +7687,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-verifier" version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.2#c229b8d606126528ea44fde56495fddc6ad827ab" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.2#a1217d1b65c713c7831e71aa6ed5dba43c6b93ef" dependencies = [ "bincode", "eyre", @@ -8187,7 +8187,7 @@ dependencies = [ "cfg-if", "libc", "psm", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -8444,7 +8444,7 @@ dependencies = [ "getrandom 0.3.1", "once_cell", "rustix", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] From 7486236a7ac3a18e46a03efcfbd187d8d477d080 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Wed, 12 Mar 2025 17:26:45 +0800 Subject: [PATCH 020/132] update scroll-proving-sdk --- zkvm-prover/Cargo.lock | 2 +- zkvm-prover/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index 23f00f49a9..b7423af2ec 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -7537,7 +7537,7 @@ dependencies = [ [[package]] name = "scroll-proving-sdk" version = "0.1.0" -source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=354f32f#354f32ff9d16238100682ed3fcd1d9d6cb280f94" +source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=1f33a10#1f33a109aaf536e4b8b64e762224c6ed3f27905c" dependencies = [ "alloy", "anyhow", diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index 205c7f055f..03a4c253f4 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -22,7 +22,7 @@ scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover" scroll-zkvm-prover-euclidv2 = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.1-rc.2", package = "scroll-zkvm-prover" } ethers-core = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } ethers-providers = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } -scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "354f32f", features = [ +scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "1f33a10", features = [ "openvm", ] } sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "zkvm/euclid-v2", features = [ From b984341991735484309555b40266e48828d0d2b4 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Wed, 12 Mar 2025 17:44:58 +0800 Subject: [PATCH 021/132] euclid & euclidv2 compatible logic --- common/types/message/message.go | 9 +++++-- .../logic/provertask/chunk_prover_task.go | 27 ++++++++++++++----- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index 6a22230fcd..4d7cb95b91 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -39,8 +39,13 @@ const ( ProofTypeBundle ) -// ChunkTaskDetail is a type containing ChunkTask detail. -type ChunkTaskDetail struct { +// LegacyChunkTaskDetail is a type containing ChunkTask detail. +type LegacyChunkTaskDetail struct { + BlockHashes []common.Hash `json:"block_hashes"` +} + +// EuclidV2ChunkTaskDetail is a type containing ChunkTask detail for euclid v2 chunk task. +type EuclidV2ChunkTaskDetail struct { BlockHashes []common.Hash `json:"block_hashes"` PrevMsgQueueHash common.Hash `json:"prev_msg_queue_hash"` } diff --git a/coordinator/internal/logic/provertask/chunk_prover_task.go b/coordinator/internal/logic/provertask/chunk_prover_task.go index 82d789e77f..2cdac79dd6 100644 --- a/coordinator/internal/logic/provertask/chunk_prover_task.go +++ b/coordinator/internal/logic/provertask/chunk_prover_task.go @@ -202,13 +202,26 @@ func (cp *ChunkProverTask) formatProverTask(ctx context.Context, task *orm.Prove return nil, fmt.Errorf("failed to fetch block hashes of a chunk, chunk hash:%s err:%w", task.TaskID, dbErr) } - taskDetail := message.ChunkTaskDetail{ - BlockHashes: blockHashes, - PrevMsgQueueHash: common.HexToHash(chunk.PrevL1MessageQueueHash), - } - taskDetailBytes, err := json.Marshal(taskDetail) - if err != nil { - return nil, fmt.Errorf("failed to marshal block hashes hash:%s, err:%w", task.TaskID, err) + var taskDetailBytes []byte + if hardForkName == "euclidV2" { + taskDetail := message.EuclidV2ChunkTaskDetail{ + BlockHashes: blockHashes, + PrevMsgQueueHash: common.HexToHash(chunk.PrevL1MessageQueueHash), + } + var err error + taskDetailBytes, err = json.Marshal(taskDetail) + if err != nil { + return nil, fmt.Errorf("failed to marshal block hashes hash:%s, err:%w", task.TaskID, err) + } + } else { + taskDetail := message.LegacyChunkTaskDetail{ + BlockHashes: blockHashes, + } + var err error + taskDetailBytes, err = json.Marshal(taskDetail) + if err != nil { + return nil, fmt.Errorf("failed to marshal block hashes hash:%s, err:%w", task.TaskID, err) + } } proverTaskSchema := &coordinatorType.GetTaskSchema{ From 8cf087c63b67a8366934f3bc4adfb63e4b297b14 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Wed, 12 Mar 2025 18:22:40 +0800 Subject: [PATCH 022/132] update scroll-proving-sdk --- zkvm-prover/Cargo.lock | 14 +++++++------- zkvm-prover/Cargo.toml | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index b7423af2ec..1ed0807a9e 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -1495,7 +1495,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2075,7 +2075,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -5842,7 +5842,7 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -7220,7 +7220,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -7537,7 +7537,7 @@ dependencies = [ [[package]] name = "scroll-proving-sdk" version = "0.1.0" -source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=1f33a10#1f33a109aaf536e4b8b64e762224c6ed3f27905c" +source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=c38dad0#c38dad0ad3d420e2567fb838eb9fe3e3548b9630" dependencies = [ "alloy", "anyhow", @@ -8187,7 +8187,7 @@ dependencies = [ "cfg-if", "libc", "psm", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -8444,7 +8444,7 @@ dependencies = [ "getrandom 0.3.1", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index 03a4c253f4..323f7c441b 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -22,7 +22,7 @@ scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover" scroll-zkvm-prover-euclidv2 = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.1-rc.2", package = "scroll-zkvm-prover" } ethers-core = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } ethers-providers = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } -scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "1f33a10", features = [ +scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "c38dad0", features = [ "openvm", ] } sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "zkvm/euclid-v2", features = [ From 9996af6227936182d4e0885f797e95a18e8eee0b Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Wed, 12 Mar 2025 19:29:05 +0800 Subject: [PATCH 023/132] Revert "revert dbg commits" This reverts commit fe6451b76cba06ecccab5e71fca7e847df743476. --- zkvm-prover/src/prover.rs | 11 ++++++++++- zkvm-prover/src/zk_circuits_handler.rs | 2 -- zkvm-prover/src/zk_circuits_handler/euclidV2.rs | 4 ++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/zkvm-prover/src/prover.rs b/zkvm-prover/src/prover.rs index c169343c52..9dba6bd9d2 100644 --- a/zkvm-prover/src/prover.rs +++ b/zkvm-prover/src/prover.rs @@ -64,16 +64,23 @@ impl ProvingService for LocalProver { async fn get_vks(&self, req: GetVkRequest) -> GetVkResponse { let mut vks = vec![]; for hard_fork_name in self.config.circuits.keys() { + println!("\n\n\nhard fork = {:?}", hard_fork_name); let handler = self.new_handler(hard_fork_name); + println!("request proof-types = {:?}", req.proof_types); for proof_type in &req.proof_types { let vk = handler.get_vk(*proof_type).await; + println!("proof type = {:?}, vk = {:?}", proof_type, vk); if let Some(vk) = vk { - vks.push(base64::encode(vk)); + let vk_base64 = base64::encode(vk); + println!("vk (base64) = {:?}", vk_base64); + vks.push(vk_base64); } } } + println!("\n\n\nall vks = {:#?}", vks); + GetVkResponse { vks, error: None } } async fn prove(&mut self, req: ProveRequest) -> ProveResponse { @@ -179,9 +186,11 @@ impl LocalProver { } fn new_handler(&self, hard_fork_name: &str) -> Arc { + println!("in new_handler"); // if we got assigned a task for an unknown hard fork, there is something wrong in the // coordinator let config = self.config.circuits.get(hard_fork_name).unwrap(); + println!("config workspace path for hard-fork {:?} = {:?}", hard_fork_name, config.workspace_path); match hard_fork_name { "euclid" => Arc::new(Arc::new(Mutex::new(EuclidHandler::new( diff --git a/zkvm-prover/src/zk_circuits_handler.rs b/zkvm-prover/src/zk_circuits_handler.rs index 6b97e3d906..9d143de6b9 100644 --- a/zkvm-prover/src/zk_circuits_handler.rs +++ b/zkvm-prover/src/zk_circuits_handler.rs @@ -1,6 +1,4 @@ pub mod euclid; - -#[allow(non_snake_case)] pub mod euclidV2; use anyhow::Result; diff --git a/zkvm-prover/src/zk_circuits_handler/euclidV2.rs b/zkvm-prover/src/zk_circuits_handler/euclidV2.rs index d14ab031bc..3edaa03350 100644 --- a/zkvm-prover/src/zk_circuits_handler/euclidV2.rs +++ b/zkvm-prover/src/zk_circuits_handler/euclidV2.rs @@ -20,6 +20,7 @@ unsafe impl Send for EuclidV2Handler {} impl EuclidV2Handler { pub fn new(workspace_path: &str) -> Self { let workspace_path = Path::new(workspace_path); + println!("ok 1"); let cache_dir = workspace_path.join("cache"); let chunk_exe = workspace_path.join("chunk/app.vmexe"); @@ -31,6 +32,7 @@ impl EuclidV2Handler { Default::default(), ) .expect("Failed to setup chunk prover"); + println!("ok 2"); let batch_exe = workspace_path.join("batch/app.vmexe"); let batch_app_config = workspace_path.join("batch/openvm.toml"); @@ -41,6 +43,7 @@ impl EuclidV2Handler { Default::default(), ) .expect("Failed to setup batch prover"); + println!("ok 3"); let bundle_exe = workspace_path.join("bundle/app.vmexe"); let bundle_app_config = workspace_path.join("bundle/openvm.toml"); @@ -51,6 +54,7 @@ impl EuclidV2Handler { Default::default(), ) .expect("Failed to setup bundle prover"); + println!("ok 4"); Self { chunk_prover, From 0e82c63ac4d682836689cb251eebc8222ae05730 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Wed, 12 Mar 2025 19:30:02 +0800 Subject: [PATCH 024/132] add back dbg logs --- zkvm-prover/src/zk_circuits_handler.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/zkvm-prover/src/zk_circuits_handler.rs b/zkvm-prover/src/zk_circuits_handler.rs index 9d143de6b9..6b97e3d906 100644 --- a/zkvm-prover/src/zk_circuits_handler.rs +++ b/zkvm-prover/src/zk_circuits_handler.rs @@ -1,4 +1,6 @@ pub mod euclid; + +#[allow(non_snake_case)] pub mod euclidV2; use anyhow::Result; From 2846ecffa58e3ce22d22a33d236dcf700c8a27f8 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Wed, 12 Mar 2025 19:51:26 +0800 Subject: [PATCH 025/132] fix a compilatin error --- coordinator/internal/logic/provertask/chunk_prover_task.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coordinator/internal/logic/provertask/chunk_prover_task.go b/coordinator/internal/logic/provertask/chunk_prover_task.go index 2cdac79dd6..f3bd0c80b7 100644 --- a/coordinator/internal/logic/provertask/chunk_prover_task.go +++ b/coordinator/internal/logic/provertask/chunk_prover_task.go @@ -233,7 +233,7 @@ func (cp *ChunkProverTask) formatProverTask(ctx context.Context, task *orm.Prove } log.Info("format prover task", "task_id", task.TaskID, "task_type", message.ProofTypeChunk.String(), "hard_fork_name", hardForkName) - log.Info("TaskData", "task_id", task.TaskID, "task_data", proverTaskSchema.TaskData, "taskDetail", taskDetail) + log.Info("TaskData", "task_id", task.TaskID, "task_data", proverTaskSchema.TaskData, "taskDetail", string(taskDetailBytes)) return proverTaskSchema, nil } From ad2e94e190efead192a8e7b3e0a1b7ca9060898c Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Wed, 12 Mar 2025 22:07:44 +0800 Subject: [PATCH 026/132] support euclidV2 in proof handling --- common/types/message/message.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index 4d7cb95b91..77f2cbe564 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -6,10 +6,12 @@ import ( "fmt" "github.com/scroll-tech/go-ethereum/common" + "github.com/scroll-tech/go-ethereum/log" ) const ( - euclidFork = "euclid" + euclidFork = "euclid" + euclidV2Fork = "euclidV2" ) // ProofType represents the type of task. @@ -92,8 +94,9 @@ type ChunkProof interface { // NewChunkProof creates a new ChunkProof instance. func NewChunkProof(hardForkName string) ChunkProof { + log.Info("NewChunkProof", "hardForkName", hardForkName, "euclidForkName", euclidFork, "euclidV2ForkName", euclidV2Fork) switch hardForkName { - case euclidFork: + case euclidFork, euclidV2Fork: return &OpenVMChunkProof{} default: return &Halo2ChunkProof{} @@ -126,8 +129,9 @@ type BatchProof interface { // NewBatchProof creates a new BatchProof instance. func NewBatchProof(hardForkName string) BatchProof { + log.Info("NewBatchProof", "hardForkName", hardForkName, "euclidForkName", euclidFork, "euclidV2ForkName", euclidV2Fork) switch hardForkName { - case euclidFork: + case euclidFork, euclidV2Fork: return &OpenVMBatchProof{} default: return &Halo2BatchProof{} @@ -183,8 +187,9 @@ type BundleProof interface { // NewBundleProof creates a new BundleProof instance. func NewBundleProof(hardForkName string) BundleProof { + log.Info("NewBundleProof", "hardForkName", hardForkName, "euclidForkName", euclidFork, "euclidV2ForkName", euclidV2Fork) switch hardForkName { - case euclidFork: + case euclidFork, euclidV2Fork: return &OpenVMBundleProof{} default: return &Halo2BundleProof{} From 0fc28cb5116d7eaef0869a7dcb4e5ad6bb3ae7b3 Mon Sep 17 00:00:00 2001 From: Morty <70688412+yiweichi@users.noreply.github.com> Date: Wed, 12 Mar 2025 22:22:06 +0800 Subject: [PATCH 027/132] fix(coordinator): euclid v2 prover compatibility (#1625) --- coordinator/internal/logic/auth/login.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coordinator/internal/logic/auth/login.go b/coordinator/internal/logic/auth/login.go index 205bcce197..452629b6fb 100644 --- a/coordinator/internal/logic/auth/login.go +++ b/coordinator/internal/logic/auth/login.go @@ -42,7 +42,7 @@ func NewLoginLogic(db *gorm.DB, cfg *config.Config, vf *verifier.Verifier) *Logi var highHardForks []string highHardForks = append(highHardForks, cfg.ProverManager.Verifier.HighVersionCircuit.ForkName) - if cfg.ProverManager.Verifier.HighVersionCircuit.ForkName != "euclid" { + if cfg.ProverManager.Verifier.HighVersionCircuit.ForkName != "euclid" && cfg.ProverManager.Verifier.HighVersionCircuit.ForkName != "euclidV2" { highHardForks = append(highHardForks, cfg.ProverManager.Verifier.LowVersionCircuit.ForkName) } proverVersionHardForkMap[cfg.ProverManager.Verifier.HighVersionCircuit.MinProverVersion] = highHardForks From ef9e25f14ca5c7491a6b14a35159df104cec69c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Faruk=20Irmak?= Date: Wed, 12 Mar 2025 18:17:59 +0300 Subject: [PATCH 028/132] feat: add euclidv2 verifier --- common/libzkp/impl/Cargo.lock | 78 +++++++++++++++++++-- common/libzkp/impl/Cargo.toml | 6 +- common/libzkp/impl/src/verifier.rs | 14 +++- common/libzkp/impl/src/verifier/euclidv2.rs | 65 +++++++++++++++++ 4 files changed, 155 insertions(+), 8 deletions(-) create mode 100644 common/libzkp/impl/src/verifier/euclidv2.rs diff --git a/common/libzkp/impl/Cargo.lock b/common/libzkp/impl/Cargo.lock index 254ebc515a..5142c49629 100644 --- a/common/libzkp/impl/Cargo.lock +++ b/common/libzkp/impl/Cargo.lock @@ -5779,6 +5779,21 @@ dependencies = [ "serde_json", ] +[[package]] +name = "scroll-zkvm-circuit-input-types" +version = "0.1.0-rc.6" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" +dependencies = [ + "alloy-primitives", + "alloy-serde 0.8.3", + "openvm", + "openvm-rv32im-guest", + "rkyv", + "sbv", + "serde", + "tiny-keccak", +] + [[package]] name = "scroll-zkvm-circuit-input-types" version = "0.1.1-rc.2" @@ -5796,6 +5811,38 @@ dependencies = [ "vm-zstd", ] +[[package]] +name = "scroll-zkvm-prover" +version = "0.1.0-rc.6" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" +dependencies = [ + "alloy-primitives", + "base64 0.22.1", + "bincode", + "git-version", + "hex", + "metrics 0.23.0", + "metrics-util", + "once_cell", + "openvm-circuit", + "openvm-native-circuit", + "openvm-native-recursion", + "openvm-sdk", + "openvm-stark-sdk", + "revm 19.5.0", + "rkyv", + "sbv", + "scroll-zkvm-circuit-input-types 0.1.0-rc.6", + "scroll-zkvm-verifier 0.1.0-rc.6", + "serde", + "serde_json", + "serde_stacker", + "snark-verifier-sdk", + "thiserror 2.0.11", + "toml", + "tracing", +] + [[package]] name = "scroll-zkvm-prover" version = "0.1.1-rc.2" @@ -5819,8 +5866,8 @@ dependencies = [ "revm 19.5.0", "rkyv", "sbv", - "scroll-zkvm-circuit-input-types", - "scroll-zkvm-verifier", + "scroll-zkvm-circuit-input-types 0.1.1-rc.2", + "scroll-zkvm-verifier 0.1.1-rc.2", "serde", "serde_json", "serde_stacker", @@ -5830,6 +5877,25 @@ dependencies = [ "tracing", ] +[[package]] +name = "scroll-zkvm-verifier" +version = "0.1.0-rc.6" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" +dependencies = [ + "bincode", + "eyre", + "itertools 0.14.0", + "openvm-circuit", + "openvm-native-circuit", + "openvm-native-recursion", + "openvm-sdk", + "openvm-stark-sdk", + "revm 19.5.0", + "scroll-zkvm-circuit-input-types 0.1.0-rc.6", + "serde", + "snark-verifier-sdk", +] + [[package]] name = "scroll-zkvm-verifier" version = "0.1.1-rc.2" @@ -5844,7 +5910,7 @@ dependencies = [ "openvm-sdk", "openvm-stark-sdk", "revm 19.5.0", - "scroll-zkvm-circuit-input-types", + "scroll-zkvm-circuit-input-types 0.1.1-rc.2", "serde", "snark-verifier-sdk", ] @@ -7358,8 +7424,10 @@ dependencies = [ "libc", "log", "once_cell", - "scroll-zkvm-prover", - "scroll-zkvm-verifier", + "scroll-zkvm-prover 0.1.0-rc.6", + "scroll-zkvm-prover 0.1.1-rc.2", + "scroll-zkvm-verifier 0.1.0-rc.6", + "scroll-zkvm-verifier 0.1.1-rc.2", "serde", "serde_derive", "serde_json", diff --git a/common/libzkp/impl/Cargo.toml b/common/libzkp/impl/Cargo.toml index 7e3bdd7d9c..7f13c81cae 100644 --- a/common/libzkp/impl/Cargo.toml +++ b/common/libzkp/impl/Cargo.toml @@ -14,8 +14,10 @@ ruint = { git = "https://github.com/scroll-tech/uint.git", branch = "v1.12.3" } tiny-keccak = { git = "https://github.com/scroll-tech/tiny-keccak", branch = "scroll-patch-v2.0.2-openvm-v1.0.0-rc.1" } [dependencies] -euclid_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-prover" } -euclid_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-verifier" } +euclid_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.6", package = "scroll-zkvm-prover" } +euclid_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.6", package = "scroll-zkvm-verifier" } +euclidv2_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-prover" } +euclidv2_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-verifier" } base64 = "0.13.0" env_logger = "0.9.0" diff --git a/common/libzkp/impl/src/verifier.rs b/common/libzkp/impl/src/verifier.rs index b890b52d55..dfb0da6470 100644 --- a/common/libzkp/impl/src/verifier.rs +++ b/common/libzkp/impl/src/verifier.rs @@ -1,9 +1,11 @@ #![allow(static_mut_refs)] mod euclid; +mod euclidv2; use anyhow::{bail, Result}; use euclid::EuclidVerifier; +use euclidv2::EuclidV2Verifier; use serde::{Deserialize, Serialize}; use std::{cell::OnceCell, path::Path, rc::Rc}; @@ -47,7 +49,17 @@ static mut VERIFIER_LOW: OnceCell = OnceCell::new(); static mut VERIFIER_HIGH: OnceCell = OnceCell::new(); pub fn init(config: VerifierConfig) { - let verifier = EuclidVerifier::new(&config.high_version_circuit.assets_path); + let verifier = EuclidVerifier::new(&config.low_version_circuit.assets_path); + unsafe { + VERIFIER_LOW + .set(VerifierPair( + config.low_version_circuit.fork_name, + Rc::new(Box::new(verifier)), + )) + .unwrap_unchecked(); + } + + let verifier = EuclidV2Verifier::new(&config.high_version_circuit.assets_path); unsafe { VERIFIER_LOW .set(VerifierPair( diff --git a/common/libzkp/impl/src/verifier/euclidv2.rs b/common/libzkp/impl/src/verifier/euclidv2.rs new file mode 100644 index 0000000000..4326c9787a --- /dev/null +++ b/common/libzkp/impl/src/verifier/euclidv2.rs @@ -0,0 +1,65 @@ +use super::{ProofVerifier, TaskType, VKDump}; + +use anyhow::Result; + +use crate::utils::panic_catch; +use euclidv2_prover::{BatchProof, BundleProof, ChunkProof}; +use euclidv2_verifier::verifier::{BatchVerifier, BundleVerifier, ChunkVerifier}; +use std::{fs::File, path::Path}; + +pub struct EuclidV2Verifier { + chunk_verifier: ChunkVerifier, + batch_verifier: BatchVerifier, + bundle_verifier: BundleVerifier, +} + +impl EuclidV2Verifier { + pub fn new(assets_dir: &str) -> Self { + let verifier_bin = Path::new(assets_dir).join("verifier.bin"); + let config = Path::new(assets_dir).join("root-verifier-vm-config"); + let exe = Path::new(assets_dir).join("root-verifier-committed-exe"); + + Self { + chunk_verifier: ChunkVerifier::setup(&config, &exe, &verifier_bin) + .expect("Setting up chunk verifier"), + batch_verifier: BatchVerifier::setup(&config, &exe, &verifier_bin) + .expect("Setting up batch verifier"), + bundle_verifier: BundleVerifier::setup(&config, &exe, &verifier_bin) + .expect("Setting up bundle verifier"), + } + } +} + +impl ProofVerifier for EuclidV2Verifier { + fn verify(&self, task_type: super::TaskType, proof: Vec) -> Result { + panic_catch(|| match task_type { + TaskType::Chunk => { + let proof = serde_json::from_slice::(proof.as_slice()).unwrap(); + self.chunk_verifier + .verify_proof(proof.proof.as_root_proof().unwrap()) + } + TaskType::Batch => { + let proof = serde_json::from_slice::(proof.as_slice()).unwrap(); + self.batch_verifier + .verify_proof(proof.proof.as_root_proof().unwrap()) + } + TaskType::Bundle => { + let proof = serde_json::from_slice::(proof.as_slice()).unwrap(); + self.bundle_verifier + .verify_proof_evm(&proof.proof.as_evm_proof().unwrap()) + } + }) + .map_err(|err_str: String| anyhow::anyhow!(err_str)) + } + + fn dump_vk(&self, file: &Path) { + let f = File::create(file).expect("Failed to open file to dump VK"); + + let dump = VKDump { + chunk_vk: base64::encode(self.chunk_verifier.get_app_vk()), + batch_vk: base64::encode(self.batch_verifier.get_app_vk()), + bundle_vk: base64::encode(self.bundle_verifier.get_app_vk()), + }; + serde_json::to_writer(f, &dump).expect("Failed to dump VK"); + } +} From e3b17a0740be89e24e36c5f4b1577f2b190451e9 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Wed, 12 Mar 2025 23:17:51 +0800 Subject: [PATCH 029/132] add PostMsgQueueHash in chunk info --- common/types/message/message.go | 1 + coordinator/internal/logic/provertask/batch_prover_task.go | 1 + 2 files changed, 2 insertions(+) diff --git a/common/types/message/message.go b/common/types/message/message.go index 77f2cbe564..0898c0c517 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -79,6 +79,7 @@ type ChunkInfo struct { TxBytes []byte `json:"tx_bytes"` TxBytesHash common.Hash `json:"tx_data_digest"` PrevMsgQueueHash common.Hash `json:"prev_msg_queue_hash"` + PostMsgQueueHash common.Hash `json:"post_msg_queue_hash"` } // SubCircuitRowUsage tracing info added in v0.11.0rc8 diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 524f1b3589..4cd2034344 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -230,6 +230,7 @@ func (bp *BatchProverTask) formatProverTask(ctx context.Context, task *orm.Prove WithdrawRoot: common.HexToHash(chunk.WithdrawRoot), DataHash: common.HexToHash(chunk.Hash), PrevMsgQueueHash: common.HexToHash(chunk.PrevL1MessageQueueHash), + PostMsgQueueHash: common.HexToHash(chunk.PostL1MessageQueueHash), IsPadding: false, } if haloProot, ok := proof.(*message.Halo2ChunkProof); ok { From 87e1235c7f71c27dabb170b8458227dd2c6ec056 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Wed, 12 Mar 2025 23:31:47 +0800 Subject: [PATCH 030/132] fix --- common/types/message/message.go | 16 ++++++++-------- .../logic/provertask/chunk_prover_task.go | 12 +----------- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index 0898c0c517..44d740f822 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -10,8 +10,8 @@ import ( ) const ( - euclidFork = "euclid" - euclidV2Fork = "euclidV2" + EuclidFork = "euclid" + EuclidV2Fork = "euclidV2" ) // ProofType represents the type of task. @@ -95,9 +95,9 @@ type ChunkProof interface { // NewChunkProof creates a new ChunkProof instance. func NewChunkProof(hardForkName string) ChunkProof { - log.Info("NewChunkProof", "hardForkName", hardForkName, "euclidForkName", euclidFork, "euclidV2ForkName", euclidV2Fork) + log.Info("NewChunkProof", "hardForkName", hardForkName, "euclidForkName", EuclidFork, "euclidV2ForkName", EuclidV2Fork) switch hardForkName { - case euclidFork, euclidV2Fork: + case EuclidFork, EuclidV2Fork: return &OpenVMChunkProof{} default: return &Halo2ChunkProof{} @@ -130,9 +130,9 @@ type BatchProof interface { // NewBatchProof creates a new BatchProof instance. func NewBatchProof(hardForkName string) BatchProof { - log.Info("NewBatchProof", "hardForkName", hardForkName, "euclidForkName", euclidFork, "euclidV2ForkName", euclidV2Fork) + log.Info("NewBatchProof", "hardForkName", hardForkName, "euclidForkName", EuclidFork, "euclidV2ForkName", EuclidV2Fork) switch hardForkName { - case euclidFork, euclidV2Fork: + case EuclidFork, EuclidV2Fork: return &OpenVMBatchProof{} default: return &Halo2BatchProof{} @@ -188,9 +188,9 @@ type BundleProof interface { // NewBundleProof creates a new BundleProof instance. func NewBundleProof(hardForkName string) BundleProof { - log.Info("NewBundleProof", "hardForkName", hardForkName, "euclidForkName", euclidFork, "euclidV2ForkName", euclidV2Fork) + log.Info("NewBundleProof", "hardForkName", hardForkName, "euclidForkName", EuclidFork, "euclidV2ForkName", EuclidV2Fork) switch hardForkName { - case euclidFork, euclidV2Fork: + case EuclidFork, EuclidV2Fork: return &OpenVMBundleProof{} default: return &Halo2BundleProof{} diff --git a/coordinator/internal/logic/provertask/chunk_prover_task.go b/coordinator/internal/logic/provertask/chunk_prover_task.go index 3859213b72..c914980ea6 100644 --- a/coordinator/internal/logic/provertask/chunk_prover_task.go +++ b/coordinator/internal/logic/provertask/chunk_prover_task.go @@ -9,7 +9,6 @@ import ( "github.com/gin-gonic/gin" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promauto" - "github.com/scroll-tech/da-codec/encoding" "github.com/scroll-tech/go-ethereum/common" "github.com/scroll-tech/go-ethereum/log" "github.com/scroll-tech/go-ethereum/params" @@ -181,15 +180,6 @@ func (cp *ChunkProverTask) Assign(ctx *gin.Context, getTaskParameter *coordinato return taskMsg, nil } -func (cp *ChunkProverTask) hardForkName(ctx *gin.Context, chunkTask *orm.Chunk) (string, error) { - l2Block, getBlockErr := cp.blockOrm.GetL2BlockByNumber(ctx.Copy(), chunkTask.StartBlockNumber) - if getBlockErr != nil { - return "", getBlockErr - } - hardForkName := encoding.GetHardforkName(cp.chainCfg, l2Block.Number, l2Block.BlockTimestamp) - return hardForkName, nil -} - func (cp *ChunkProverTask) formatProverTask(ctx context.Context, task *orm.ProverTask, chunk *orm.Chunk, hardForkName string) (*coordinatorType.GetTaskSchema, error) { // Get block hashes. blockHashes, dbErr := cp.blockOrm.GetL2BlockHashesByChunkHash(ctx, task.TaskID) @@ -198,7 +188,7 @@ func (cp *ChunkProverTask) formatProverTask(ctx context.Context, task *orm.Prove } var taskDetailBytes []byte - if hardForkName == "euclidV2" { + if hardForkName == message.EuclidV2Fork { taskDetail := message.EuclidV2ChunkTaskDetail{ BlockHashes: blockHashes, PrevMsgQueueHash: common.HexToHash(chunk.PrevL1MessageQueueHash), From 5f8bb53dce9f14148b0d131e1ad01701517ccebe Mon Sep 17 00:00:00 2001 From: Morty <70688412+yiweichi@users.noreply.github.com> Date: Wed, 12 Mar 2025 23:43:40 +0800 Subject: [PATCH 031/132] update scroll-proving-sdk version (#1626) --- zkvm-prover/Cargo.lock | 2 +- zkvm-prover/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index 1ed0807a9e..18f741f69b 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -7537,7 +7537,7 @@ dependencies = [ [[package]] name = "scroll-proving-sdk" version = "0.1.0" -source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=c38dad0#c38dad0ad3d420e2567fb838eb9fe3e3548b9630" +source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=ea16370#ea163700741aebde4422ac6c9798a47c8704ccab" dependencies = [ "alloy", "anyhow", diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index 323f7c441b..6e3d1f7486 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -22,7 +22,7 @@ scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover" scroll-zkvm-prover-euclidv2 = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.1-rc.2", package = "scroll-zkvm-prover" } ethers-core = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } ethers-providers = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } -scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "c38dad0", features = [ +scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "ea16370", features = [ "openvm", ] } sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "zkvm/euclid-v2", features = [ From 7d5b77a36cf57f042c9c2876f02fccc6abc33c6f Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 13 Mar 2025 00:40:24 +0800 Subject: [PATCH 032/132] Revert "feat: add euclidv2 verifier" This reverts commit ef9e25f14ca5c7491a6b14a35159df104cec69c6. --- common/libzkp/impl/Cargo.lock | 78 ++------------------- common/libzkp/impl/Cargo.toml | 6 +- common/libzkp/impl/src/verifier.rs | 14 +--- common/libzkp/impl/src/verifier/euclidv2.rs | 65 ----------------- 4 files changed, 8 insertions(+), 155 deletions(-) delete mode 100644 common/libzkp/impl/src/verifier/euclidv2.rs diff --git a/common/libzkp/impl/Cargo.lock b/common/libzkp/impl/Cargo.lock index 5142c49629..254ebc515a 100644 --- a/common/libzkp/impl/Cargo.lock +++ b/common/libzkp/impl/Cargo.lock @@ -5779,21 +5779,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "scroll-zkvm-circuit-input-types" -version = "0.1.0-rc.6" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" -dependencies = [ - "alloy-primitives", - "alloy-serde 0.8.3", - "openvm", - "openvm-rv32im-guest", - "rkyv", - "sbv", - "serde", - "tiny-keccak", -] - [[package]] name = "scroll-zkvm-circuit-input-types" version = "0.1.1-rc.2" @@ -5811,38 +5796,6 @@ dependencies = [ "vm-zstd", ] -[[package]] -name = "scroll-zkvm-prover" -version = "0.1.0-rc.6" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" -dependencies = [ - "alloy-primitives", - "base64 0.22.1", - "bincode", - "git-version", - "hex", - "metrics 0.23.0", - "metrics-util", - "once_cell", - "openvm-circuit", - "openvm-native-circuit", - "openvm-native-recursion", - "openvm-sdk", - "openvm-stark-sdk", - "revm 19.5.0", - "rkyv", - "sbv", - "scroll-zkvm-circuit-input-types 0.1.0-rc.6", - "scroll-zkvm-verifier 0.1.0-rc.6", - "serde", - "serde_json", - "serde_stacker", - "snark-verifier-sdk", - "thiserror 2.0.11", - "toml", - "tracing", -] - [[package]] name = "scroll-zkvm-prover" version = "0.1.1-rc.2" @@ -5866,8 +5819,8 @@ dependencies = [ "revm 19.5.0", "rkyv", "sbv", - "scroll-zkvm-circuit-input-types 0.1.1-rc.2", - "scroll-zkvm-verifier 0.1.1-rc.2", + "scroll-zkvm-circuit-input-types", + "scroll-zkvm-verifier", "serde", "serde_json", "serde_stacker", @@ -5877,25 +5830,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "scroll-zkvm-verifier" -version = "0.1.0-rc.6" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" -dependencies = [ - "bincode", - "eyre", - "itertools 0.14.0", - "openvm-circuit", - "openvm-native-circuit", - "openvm-native-recursion", - "openvm-sdk", - "openvm-stark-sdk", - "revm 19.5.0", - "scroll-zkvm-circuit-input-types 0.1.0-rc.6", - "serde", - "snark-verifier-sdk", -] - [[package]] name = "scroll-zkvm-verifier" version = "0.1.1-rc.2" @@ -5910,7 +5844,7 @@ dependencies = [ "openvm-sdk", "openvm-stark-sdk", "revm 19.5.0", - "scroll-zkvm-circuit-input-types 0.1.1-rc.2", + "scroll-zkvm-circuit-input-types", "serde", "snark-verifier-sdk", ] @@ -7424,10 +7358,8 @@ dependencies = [ "libc", "log", "once_cell", - "scroll-zkvm-prover 0.1.0-rc.6", - "scroll-zkvm-prover 0.1.1-rc.2", - "scroll-zkvm-verifier 0.1.0-rc.6", - "scroll-zkvm-verifier 0.1.1-rc.2", + "scroll-zkvm-prover", + "scroll-zkvm-verifier", "serde", "serde_derive", "serde_json", diff --git a/common/libzkp/impl/Cargo.toml b/common/libzkp/impl/Cargo.toml index 7f13c81cae..7e3bdd7d9c 100644 --- a/common/libzkp/impl/Cargo.toml +++ b/common/libzkp/impl/Cargo.toml @@ -14,10 +14,8 @@ ruint = { git = "https://github.com/scroll-tech/uint.git", branch = "v1.12.3" } tiny-keccak = { git = "https://github.com/scroll-tech/tiny-keccak", branch = "scroll-patch-v2.0.2-openvm-v1.0.0-rc.1" } [dependencies] -euclid_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.6", package = "scroll-zkvm-prover" } -euclid_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.6", package = "scroll-zkvm-verifier" } -euclidv2_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-prover" } -euclidv2_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-verifier" } +euclid_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-prover" } +euclid_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-verifier" } base64 = "0.13.0" env_logger = "0.9.0" diff --git a/common/libzkp/impl/src/verifier.rs b/common/libzkp/impl/src/verifier.rs index dfb0da6470..b890b52d55 100644 --- a/common/libzkp/impl/src/verifier.rs +++ b/common/libzkp/impl/src/verifier.rs @@ -1,11 +1,9 @@ #![allow(static_mut_refs)] mod euclid; -mod euclidv2; use anyhow::{bail, Result}; use euclid::EuclidVerifier; -use euclidv2::EuclidV2Verifier; use serde::{Deserialize, Serialize}; use std::{cell::OnceCell, path::Path, rc::Rc}; @@ -49,17 +47,7 @@ static mut VERIFIER_LOW: OnceCell = OnceCell::new(); static mut VERIFIER_HIGH: OnceCell = OnceCell::new(); pub fn init(config: VerifierConfig) { - let verifier = EuclidVerifier::new(&config.low_version_circuit.assets_path); - unsafe { - VERIFIER_LOW - .set(VerifierPair( - config.low_version_circuit.fork_name, - Rc::new(Box::new(verifier)), - )) - .unwrap_unchecked(); - } - - let verifier = EuclidV2Verifier::new(&config.high_version_circuit.assets_path); + let verifier = EuclidVerifier::new(&config.high_version_circuit.assets_path); unsafe { VERIFIER_LOW .set(VerifierPair( diff --git a/common/libzkp/impl/src/verifier/euclidv2.rs b/common/libzkp/impl/src/verifier/euclidv2.rs deleted file mode 100644 index 4326c9787a..0000000000 --- a/common/libzkp/impl/src/verifier/euclidv2.rs +++ /dev/null @@ -1,65 +0,0 @@ -use super::{ProofVerifier, TaskType, VKDump}; - -use anyhow::Result; - -use crate::utils::panic_catch; -use euclidv2_prover::{BatchProof, BundleProof, ChunkProof}; -use euclidv2_verifier::verifier::{BatchVerifier, BundleVerifier, ChunkVerifier}; -use std::{fs::File, path::Path}; - -pub struct EuclidV2Verifier { - chunk_verifier: ChunkVerifier, - batch_verifier: BatchVerifier, - bundle_verifier: BundleVerifier, -} - -impl EuclidV2Verifier { - pub fn new(assets_dir: &str) -> Self { - let verifier_bin = Path::new(assets_dir).join("verifier.bin"); - let config = Path::new(assets_dir).join("root-verifier-vm-config"); - let exe = Path::new(assets_dir).join("root-verifier-committed-exe"); - - Self { - chunk_verifier: ChunkVerifier::setup(&config, &exe, &verifier_bin) - .expect("Setting up chunk verifier"), - batch_verifier: BatchVerifier::setup(&config, &exe, &verifier_bin) - .expect("Setting up batch verifier"), - bundle_verifier: BundleVerifier::setup(&config, &exe, &verifier_bin) - .expect("Setting up bundle verifier"), - } - } -} - -impl ProofVerifier for EuclidV2Verifier { - fn verify(&self, task_type: super::TaskType, proof: Vec) -> Result { - panic_catch(|| match task_type { - TaskType::Chunk => { - let proof = serde_json::from_slice::(proof.as_slice()).unwrap(); - self.chunk_verifier - .verify_proof(proof.proof.as_root_proof().unwrap()) - } - TaskType::Batch => { - let proof = serde_json::from_slice::(proof.as_slice()).unwrap(); - self.batch_verifier - .verify_proof(proof.proof.as_root_proof().unwrap()) - } - TaskType::Bundle => { - let proof = serde_json::from_slice::(proof.as_slice()).unwrap(); - self.bundle_verifier - .verify_proof_evm(&proof.proof.as_evm_proof().unwrap()) - } - }) - .map_err(|err_str: String| anyhow::anyhow!(err_str)) - } - - fn dump_vk(&self, file: &Path) { - let f = File::create(file).expect("Failed to open file to dump VK"); - - let dump = VKDump { - chunk_vk: base64::encode(self.chunk_verifier.get_app_vk()), - batch_vk: base64::encode(self.batch_verifier.get_app_vk()), - bundle_vk: base64::encode(self.bundle_verifier.get_app_vk()), - }; - serde_json::to_writer(f, &dump).expect("Failed to dump VK"); - } -} From 12a262ad9934d28004d6766ecf85217ac248b58a Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 13 Mar 2025 02:25:49 +0800 Subject: [PATCH 033/132] align new types --- common/types/message/message.go | 47 ++++++++++++------- .../logic/provertask/batch_prover_task.go | 11 +++-- 2 files changed, 39 insertions(+), 19 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index 44d740f822..cbdb62798c 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -70,16 +70,28 @@ type BundleTaskDetail struct { // ChunkInfo is for calculating pi_hash for chunk type ChunkInfo struct { - ChainID uint64 `json:"chain_id"` - PrevStateRoot common.Hash `json:"prev_state_root"` - PostStateRoot common.Hash `json:"post_state_root"` - WithdrawRoot common.Hash `json:"withdraw_root"` - DataHash common.Hash `json:"data_hash"` - IsPadding bool `json:"is_padding"` - TxBytes []byte `json:"tx_bytes"` - TxBytesHash common.Hash `json:"tx_data_digest"` - PrevMsgQueueHash common.Hash `json:"prev_msg_queue_hash"` - PostMsgQueueHash common.Hash `json:"post_msg_queue_hash"` + ChainID uint64 `json:"chain_id"` + PrevStateRoot common.Hash `json:"prev_state_root"` + PostStateRoot common.Hash `json:"post_state_root"` + WithdrawRoot common.Hash `json:"withdraw_root"` + DataHash common.Hash `json:"data_hash"` + IsPadding bool `json:"is_padding"` + TxBytes []byte `json:"tx_bytes"` + TxBytesHash common.Hash `json:"tx_data_digest"` + PrevMsgQueueHash common.Hash `json:"prev_msg_queue_hash"` + PostMsgQueueHash common.Hash `json:"post_msg_queue_hash"` + TxDataLength uint64 `json:"tx_data_length"` + InitialBlockNumber uint64 `json:"initial_block_number"` + BlockCtxs []BlockContextV2 `json:"block_ctxs"` +} + +// BlockContextV2 is the block context for euclid v2 +type BlockContextV2 struct { + Timestamp uint64 `json:"timestamp"` + BaseFee common.Hash `json:"base_fee"` + GasLimit uint64 `json:"gas_limit"` + NumTxs uint16 `json:"num_txs"` + NumL1Msgs uint16 `json:"num_l1_msgs"` } // SubCircuitRowUsage tracing info added in v0.11.0rc8 @@ -270,12 +282,14 @@ func (p *OpenVMChunkProof) Proof() []byte { // OpenVMBatchInfo is for calculating pi_hash for batch header type OpenVMBatchInfo struct { - ParentBatchHash common.Hash `json:"parent_batch_hash"` - ParentStateRoot common.Hash `json:"parent_state_root"` - StateRoot common.Hash `json:"state_root"` - WithdrawRoot common.Hash `json:"withdraw_root"` - BatchHash common.Hash `json:"batch_hash"` - ChainID uint64 `json:"chain_id"` + ParentBatchHash common.Hash `json:"parent_batch_hash"` + ParentStateRoot common.Hash `json:"parent_state_root"` + StateRoot common.Hash `json:"state_root"` + WithdrawRoot common.Hash `json:"withdraw_root"` + BatchHash common.Hash `json:"batch_hash"` + ChainID uint64 `json:"chain_id"` + PrevMsgQueueHash common.Hash `json:"prev_msg_queue_hash"` + PostMsgQueueHash common.Hash `json:"post_msg_queue_hash"` } // BatchProof includes the proof info that are required for batch verification and rollup. @@ -335,6 +349,7 @@ type OpenVMBundleInfo struct { NumBatches uint32 `json:"num_batches"` PrevBatchHash common.Hash `json:"prev_batch_hash"` BatchHash common.Hash `json:"batch_hash"` + MsgQueueHash common.Hash `json:"msg_queue_hash"` } // OpenVMBundleProof includes the proof info that are required for verification of a bundle of batch proofs. diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index d120f602d2..a90e6e4410 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -214,11 +214,16 @@ func (bp *BatchProverTask) formatProverTask(ctx context.Context, task *orm.Prove PostMsgQueueHash: common.HexToHash(chunk.PostL1MessageQueueHash), IsPadding: false, } - if haloProot, ok := proof.(*message.Halo2ChunkProof); ok { - if haloProot.ChunkInfo != nil { - chunkInfo.TxBytes = haloProot.ChunkInfo.TxBytes + if halo2Proof, ok := proof.(*message.Halo2ChunkProof); ok { + if halo2Proof.ChunkInfo != nil { + chunkInfo.TxBytes = halo2Proof.ChunkInfo.TxBytes } } + if openvmProof, ok := proof.(*message.OpenVMChunkProof); ok { + chunkInfo.InitialBlockNumber = openvmProof.MetaData.ChunkInfo.InitialBlockNumber + chunkInfo.BlockCtxs = openvmProof.MetaData.ChunkInfo.BlockCtxs + chunkInfo.TxDataLength = openvmProof.MetaData.ChunkInfo.TxDataLength + } chunkInfos = append(chunkInfos, &chunkInfo) } From 5869bfd82511edc295e39cb530f50bca99eb49e5 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 13 Mar 2025 02:59:42 +0800 Subject: [PATCH 034/132] load low version open vm circuit --- coordinator/internal/logic/verifier/verifier.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/coordinator/internal/logic/verifier/verifier.go b/coordinator/internal/logic/verifier/verifier.go index 1d3d55a539..41ca6e3c61 100644 --- a/coordinator/internal/logic/verifier/verifier.go +++ b/coordinator/internal/logic/verifier/verifier.go @@ -103,6 +103,10 @@ func NewVerifier(cfg *config.VerifierConfig) (*Verifier, error) { return nil, err } + if err := v.loadOpenVMVks(cfg.LowVersionCircuit.ForkName); err != nil { + return nil, err + } + if err := v.loadOpenVMVks(cfg.HighVersionCircuit.ForkName); err != nil { return nil, err } From 7d4ff80edfff2c2d9821fc7234ad1920cb645fa6 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 13 Mar 2025 03:07:52 +0800 Subject: [PATCH 035/132] update type error --- common/types/message/message.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index cbdb62798c..eb93797995 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -4,6 +4,7 @@ import ( "encoding/json" "errors" "fmt" + "math/big" "github.com/scroll-tech/go-ethereum/common" "github.com/scroll-tech/go-ethereum/log" @@ -87,11 +88,11 @@ type ChunkInfo struct { // BlockContextV2 is the block context for euclid v2 type BlockContextV2 struct { - Timestamp uint64 `json:"timestamp"` - BaseFee common.Hash `json:"base_fee"` - GasLimit uint64 `json:"gas_limit"` - NumTxs uint16 `json:"num_txs"` - NumL1Msgs uint16 `json:"num_l1_msgs"` + Timestamp uint64 `json:"timestamp"` + BaseFee *big.Int `json:"base_fee"` + GasLimit uint64 `json:"gas_limit"` + NumTxs uint16 `json:"num_txs"` + NumL1Msgs uint16 `json:"num_l1_msgs"` } // SubCircuitRowUsage tracing info added in v0.11.0rc8 From 9f480e53979ca1be708d68734a5be6fb8d55f38b Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 13 Mar 2025 03:12:11 +0800 Subject: [PATCH 036/132] fix --- coordinator/internal/logic/verifier/verifier.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/coordinator/internal/logic/verifier/verifier.go b/coordinator/internal/logic/verifier/verifier.go index 41ca6e3c61..ab4db81995 100644 --- a/coordinator/internal/logic/verifier/verifier.go +++ b/coordinator/internal/logic/verifier/verifier.go @@ -103,8 +103,10 @@ func NewVerifier(cfg *config.VerifierConfig) (*Verifier, error) { return nil, err } - if err := v.loadOpenVMVks(cfg.LowVersionCircuit.ForkName); err != nil { - return nil, err + if cfg.LowVersionCircuit.ForkName == message.EuclidFork { + if err := v.loadOpenVMVks(cfg.LowVersionCircuit.ForkName); err != nil { + return nil, err + } } if err := v.loadOpenVMVks(cfg.HighVersionCircuit.ForkName); err != nil { From 459941d942b75079c6a377529aee37841036618f Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 13 Mar 2025 03:27:38 +0800 Subject: [PATCH 037/132] use hexutil.Big --- common/types/message/message.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index eb93797995..f4a690d627 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -4,9 +4,9 @@ import ( "encoding/json" "errors" "fmt" - "math/big" "github.com/scroll-tech/go-ethereum/common" + "github.com/scroll-tech/go-ethereum/common/hexutil" "github.com/scroll-tech/go-ethereum/log" ) @@ -88,11 +88,11 @@ type ChunkInfo struct { // BlockContextV2 is the block context for euclid v2 type BlockContextV2 struct { - Timestamp uint64 `json:"timestamp"` - BaseFee *big.Int `json:"base_fee"` - GasLimit uint64 `json:"gas_limit"` - NumTxs uint16 `json:"num_txs"` - NumL1Msgs uint16 `json:"num_l1_msgs"` + Timestamp uint64 `json:"timestamp"` + BaseFee hexutil.Big `json:"base_fee"` + GasLimit uint64 `json:"gas_limit"` + NumTxs uint16 `json:"num_txs"` + NumL1Msgs uint16 `json:"num_l1_msgs"` } // SubCircuitRowUsage tracing info added in v0.11.0rc8 From b4546af43467c8a5d5507fb448ebf6f20a430fc4 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 13 Mar 2025 03:29:38 +0800 Subject: [PATCH 038/132] remove load vks --- .../internal/logic/verifier/verifier.go | 30 ------------------- 1 file changed, 30 deletions(-) diff --git a/coordinator/internal/logic/verifier/verifier.go b/coordinator/internal/logic/verifier/verifier.go index ab4db81995..2f1d2b5ee3 100644 --- a/coordinator/internal/logic/verifier/verifier.go +++ b/coordinator/internal/logic/verifier/verifier.go @@ -99,10 +99,6 @@ func NewVerifier(cfg *config.VerifierConfig) (*Verifier, error) { OpenVMVkMap: make(map[string]struct{}), } - if err := v.loadLowVersionVKs(cfg); err != nil { - return nil, err - } - if cfg.LowVersionCircuit.ForkName == message.EuclidFork { if err := v.loadOpenVMVks(cfg.LowVersionCircuit.ForkName); err != nil { return nil, err @@ -113,7 +109,6 @@ func NewVerifier(cfg *config.VerifierConfig) (*Verifier, error) { return nil, err } - v.loadCurieVersionVKs() return v, nil } @@ -210,31 +205,6 @@ func (v *Verifier) readVK(filePat string) (string, error) { return base64.StdEncoding.EncodeToString(byt), nil } -// load low version vks, current is darwin -func (v *Verifier) loadLowVersionVKs(cfg *config.VerifierConfig) error { - bundleVK, err := v.readVK(path.Join(cfg.LowVersionCircuit.AssetsPath, "vk_bundle.vkey")) - if err != nil { - return err - } - batchVK, err := v.readVK(path.Join(cfg.LowVersionCircuit.AssetsPath, "vk_batch.vkey")) - if err != nil { - return err - } - chunkVK, err := v.readVK(path.Join(cfg.LowVersionCircuit.AssetsPath, "vk_chunk.vkey")) - if err != nil { - return err - } - v.BundleVkMap[bundleVK] = struct{}{} - v.BatchVKMap[batchVK] = struct{}{} - v.ChunkVKMap[chunkVK] = struct{}{} - return nil -} - -func (v *Verifier) loadCurieVersionVKs() { - v.BatchVKMap["AAAAGgAAAARX2S0K1wF333B1waOsnG/vcASJmWG9YM6SNWCBy1ywD9jfGkei+f0wNYpkjW7JO12EfU7CjYVBo+PGku3zaQJI64lbn6BwyTBa4RfrPFpV5mP47ix0sXZ+Wt5wklMLRW7OIJb1yfCDm+gkSsp3/Zqrxt4SY4rQ4WtHfynTCQ0KDi78jNuiFvwxO3ub3DkgGVaxMkGxTRP/Vz6E7MCZMUBR5wZFcMzJn+73f0wYjDxfj00krg9O1VrwVxbVV1ycLR6oQLcOgm/l+xwth8io0vDpF9OY21gD5DgJn9GgcYe8KoRVEbEqApLZPdBibpcSMTY9czZI2LnFcqrDDmYvhEwgjhZrsTog2xLXOODoOupZ/is5ekQ9Gi0y871b1mLlCGA="] = struct{}{} - v.ChunkVKMap["AAAAGQAAAATyWEABRbJ6hQQ5/zLX1gTasr7349minA9rSgMS6gDeHwZKqikRiO3md+pXjjxMHnKQtmXYgMXhJSvlmZ+Ws+cheuly2X1RuNQzcZuRImaKPR9LJsVZYsXfJbuqdKX8p0Gj8G83wMJOmTzNVUyUol0w0lTU+CEiTpHOnxBsTF3EWaW3s1u4ycOgWt1c9M6s7WmaBZLYgAWYCunO5CLCLApNGbCASeck/LuSoedEri5u6HccCKU2khG6zl6W07jvYSbDVLJktbjRiHv+/HQix+K14j8boo8Z/unhpwXCsPxkQA=="] = struct{}{} -} - func (v *Verifier) loadOpenVMVks(forkName string) error { tempFile := path.Join(os.TempDir(), "openVmVk.json") defer func() { From 3a3db5fe3298e4214e0bbbc77a042f34270d2040 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 13 Mar 2025 03:52:01 +0800 Subject: [PATCH 039/132] add logs --- coordinator/internal/logic/provertask/batch_prover_task.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index a90e6e4410..86d1614017 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -237,6 +237,9 @@ func (bp *BatchProverTask) formatProverTask(ctx context.Context, task *orm.Prove return nil, fmt.Errorf("failed to marshal chunk proofs, taskID:%s err:%w", task.TaskID, err) } + log.Info("get batch task", "task_id", task.TaskID, "public_key", task.ProverPublicKey, "prover_name", task.ProverName, "prover_version", task.ProverVersion) + log.Info("chunkProofsBytes", "chunkProofsBytes", string(chunkProofsBytes)) + taskMsg := &coordinatorType.GetTaskSchema{ UUID: task.UUID.String(), TaskID: task.TaskID, From cb87c7aedd47dd31309467b15cf1b8421b37c3c0 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 13 Mar 2025 04:24:35 +0800 Subject: [PATCH 040/132] another type fix --- common/types/message/message.go | 6 +++--- .../internal/logic/provertask/batch_prover_task.go | 8 +++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index f4a690d627..3d15b85e28 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -59,9 +59,9 @@ type BatchTaskDetail struct { ChunkProofs []ChunkProof `json:"chunk_proofs"` BatchHeader interface{} `json:"batch_header"` BlobBytes []byte `json:"blob_bytes"` - KzgProof []byte `json:"kzg_proof"` - KzgCommitment []byte `json:"kzg_commitment"` - Challenge common.Hash `json:"challenge"` + KzgProof [48]byte `json:"kzg_proof"` + KzgCommitment [48]byte `json:"kzg_commitment"` + Challenge hexutil.Big `json:"challenge"` } // BundleTaskDetail consists of all the information required to describe the task to generate a proof for a bundle of batches. diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 86d1614017..8069f373e4 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "fmt" + "math/big" "time" "github.com/gin-gonic/gin" @@ -11,6 +12,7 @@ import ( "github.com/prometheus/client_golang/prometheus/promauto" "github.com/scroll-tech/da-codec/encoding" "github.com/scroll-tech/go-ethereum/common" + "github.com/scroll-tech/go-ethereum/common/hexutil" "github.com/scroll-tech/go-ethereum/log" "github.com/scroll-tech/go-ethereum/params" "gorm.io/gorm" @@ -289,8 +291,8 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []* // | z | y | kzg_commitment | kzg_proof | // |---------|---------|----------------|-----------| // | bytes32 | bytes32 | bytes48 | bytes48 | - taskDetail.KzgProof = dbBatch.BlobDataProof[112:160] - taskDetail.KzgCommitment = dbBatch.BlobDataProof[64:112] - taskDetail.Challenge = common.Hash(dbBatch.BlobDataProof[0:32]) + copy(taskDetail.KzgProof[:], dbBatch.BlobDataProof[112:160]) + copy(taskDetail.KzgCommitment[:], dbBatch.BlobDataProof[64:112]) + taskDetail.Challenge = hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[0:32])) return taskDetail, nil } From 4822d38abacedefda9955c560da299365da0c2f8 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 13 Mar 2025 04:45:54 +0800 Subject: [PATCH 041/132] fix --- coordinator/internal/logic/provertask/batch_prover_task.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 8069f373e4..8cfad28d9f 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -291,8 +291,8 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []* // | z | y | kzg_commitment | kzg_proof | // |---------|---------|----------------|-----------| // | bytes32 | bytes32 | bytes48 | bytes48 | - copy(taskDetail.KzgProof[:], dbBatch.BlobDataProof[112:160]) - copy(taskDetail.KzgCommitment[:], dbBatch.BlobDataProof[64:112]) + taskDetail.KzgProof = hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[112:160])) + taskDetail.KzgCommitment = hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[64:112])) taskDetail.Challenge = hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[0:32])) return taskDetail, nil } From 8befb84910c79e29a8114a6a95d0bcbaf19edc09 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 13 Mar 2025 04:51:27 +0800 Subject: [PATCH 042/132] fix --- common/types/message/message.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index 3d15b85e28..79d4f1fa47 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -59,8 +59,8 @@ type BatchTaskDetail struct { ChunkProofs []ChunkProof `json:"chunk_proofs"` BatchHeader interface{} `json:"batch_header"` BlobBytes []byte `json:"blob_bytes"` - KzgProof [48]byte `json:"kzg_proof"` - KzgCommitment [48]byte `json:"kzg_commitment"` + KzgProof hexutil.Big `json:"kzg_proof"` + KzgCommitment hexutil.Big `json:"kzg_commitment"` Challenge hexutil.Big `json:"challenge"` } From 2d620ddf4fed441c4c325923a03b92b5e3071d32 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 13 Mar 2025 05:40:02 +0800 Subject: [PATCH 043/132] fix --- common/types/message/message.go | 14 +++++++------- .../internal/logic/provertask/batch_prover_task.go | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index 79d4f1fa47..3c89434dfd 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -55,13 +55,13 @@ type EuclidV2ChunkTaskDetail struct { // BatchTaskDetail is a type containing BatchTask detail. type BatchTaskDetail struct { - ChunkInfos []*ChunkInfo `json:"chunk_infos"` - ChunkProofs []ChunkProof `json:"chunk_proofs"` - BatchHeader interface{} `json:"batch_header"` - BlobBytes []byte `json:"blob_bytes"` - KzgProof hexutil.Big `json:"kzg_proof"` - KzgCommitment hexutil.Big `json:"kzg_commitment"` - Challenge hexutil.Big `json:"challenge"` + ChunkInfos []*ChunkInfo `json:"chunk_infos"` + ChunkProofs []ChunkProof `json:"chunk_proofs"` + BatchHeader interface{} `json:"batch_header"` + BlobBytes []byte `json:"blob_bytes"` + KzgProof hexutil.Big `json:"kzg_proof"` + KzgCommitment hexutil.Big `json:"kzg_commitment"` + ChallengeDigest hexutil.Big `json:"challenge_digest"` } // BundleTaskDetail consists of all the information required to describe the task to generate a proof for a bundle of batches. diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 8cfad28d9f..836fc5cce0 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -293,6 +293,6 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []* // | bytes32 | bytes32 | bytes48 | bytes48 | taskDetail.KzgProof = hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[112:160])) taskDetail.KzgCommitment = hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[64:112])) - taskDetail.Challenge = hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[0:32])) + taskDetail.ChallengeDigest = hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[0:32])) // FIXME: Challenge = ChallengeDigest % BLS_MODULUS, get the original ChallengeDigest. return taskDetail, nil } From 135073c0ad4ecd15bb0454a02329b4d9637d77f1 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 13 Mar 2025 14:26:31 +0800 Subject: [PATCH 044/132] Reapply "feat: add euclidv2 verifier" This reverts commit 7d5b77a36cf57f042c9c2876f02fccc6abc33c6f. --- common/libzkp/impl/Cargo.lock | 78 +++++++++++++++++++-- common/libzkp/impl/Cargo.toml | 6 +- common/libzkp/impl/src/verifier.rs | 14 +++- common/libzkp/impl/src/verifier/euclidv2.rs | 65 +++++++++++++++++ 4 files changed, 155 insertions(+), 8 deletions(-) create mode 100644 common/libzkp/impl/src/verifier/euclidv2.rs diff --git a/common/libzkp/impl/Cargo.lock b/common/libzkp/impl/Cargo.lock index 254ebc515a..5142c49629 100644 --- a/common/libzkp/impl/Cargo.lock +++ b/common/libzkp/impl/Cargo.lock @@ -5779,6 +5779,21 @@ dependencies = [ "serde_json", ] +[[package]] +name = "scroll-zkvm-circuit-input-types" +version = "0.1.0-rc.6" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" +dependencies = [ + "alloy-primitives", + "alloy-serde 0.8.3", + "openvm", + "openvm-rv32im-guest", + "rkyv", + "sbv", + "serde", + "tiny-keccak", +] + [[package]] name = "scroll-zkvm-circuit-input-types" version = "0.1.1-rc.2" @@ -5796,6 +5811,38 @@ dependencies = [ "vm-zstd", ] +[[package]] +name = "scroll-zkvm-prover" +version = "0.1.0-rc.6" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" +dependencies = [ + "alloy-primitives", + "base64 0.22.1", + "bincode", + "git-version", + "hex", + "metrics 0.23.0", + "metrics-util", + "once_cell", + "openvm-circuit", + "openvm-native-circuit", + "openvm-native-recursion", + "openvm-sdk", + "openvm-stark-sdk", + "revm 19.5.0", + "rkyv", + "sbv", + "scroll-zkvm-circuit-input-types 0.1.0-rc.6", + "scroll-zkvm-verifier 0.1.0-rc.6", + "serde", + "serde_json", + "serde_stacker", + "snark-verifier-sdk", + "thiserror 2.0.11", + "toml", + "tracing", +] + [[package]] name = "scroll-zkvm-prover" version = "0.1.1-rc.2" @@ -5819,8 +5866,8 @@ dependencies = [ "revm 19.5.0", "rkyv", "sbv", - "scroll-zkvm-circuit-input-types", - "scroll-zkvm-verifier", + "scroll-zkvm-circuit-input-types 0.1.1-rc.2", + "scroll-zkvm-verifier 0.1.1-rc.2", "serde", "serde_json", "serde_stacker", @@ -5830,6 +5877,25 @@ dependencies = [ "tracing", ] +[[package]] +name = "scroll-zkvm-verifier" +version = "0.1.0-rc.6" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" +dependencies = [ + "bincode", + "eyre", + "itertools 0.14.0", + "openvm-circuit", + "openvm-native-circuit", + "openvm-native-recursion", + "openvm-sdk", + "openvm-stark-sdk", + "revm 19.5.0", + "scroll-zkvm-circuit-input-types 0.1.0-rc.6", + "serde", + "snark-verifier-sdk", +] + [[package]] name = "scroll-zkvm-verifier" version = "0.1.1-rc.2" @@ -5844,7 +5910,7 @@ dependencies = [ "openvm-sdk", "openvm-stark-sdk", "revm 19.5.0", - "scroll-zkvm-circuit-input-types", + "scroll-zkvm-circuit-input-types 0.1.1-rc.2", "serde", "snark-verifier-sdk", ] @@ -7358,8 +7424,10 @@ dependencies = [ "libc", "log", "once_cell", - "scroll-zkvm-prover", - "scroll-zkvm-verifier", + "scroll-zkvm-prover 0.1.0-rc.6", + "scroll-zkvm-prover 0.1.1-rc.2", + "scroll-zkvm-verifier 0.1.0-rc.6", + "scroll-zkvm-verifier 0.1.1-rc.2", "serde", "serde_derive", "serde_json", diff --git a/common/libzkp/impl/Cargo.toml b/common/libzkp/impl/Cargo.toml index 7e3bdd7d9c..7f13c81cae 100644 --- a/common/libzkp/impl/Cargo.toml +++ b/common/libzkp/impl/Cargo.toml @@ -14,8 +14,10 @@ ruint = { git = "https://github.com/scroll-tech/uint.git", branch = "v1.12.3" } tiny-keccak = { git = "https://github.com/scroll-tech/tiny-keccak", branch = "scroll-patch-v2.0.2-openvm-v1.0.0-rc.1" } [dependencies] -euclid_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-prover" } -euclid_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-verifier" } +euclid_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.6", package = "scroll-zkvm-prover" } +euclid_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.6", package = "scroll-zkvm-verifier" } +euclidv2_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-prover" } +euclidv2_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-verifier" } base64 = "0.13.0" env_logger = "0.9.0" diff --git a/common/libzkp/impl/src/verifier.rs b/common/libzkp/impl/src/verifier.rs index b890b52d55..dfb0da6470 100644 --- a/common/libzkp/impl/src/verifier.rs +++ b/common/libzkp/impl/src/verifier.rs @@ -1,9 +1,11 @@ #![allow(static_mut_refs)] mod euclid; +mod euclidv2; use anyhow::{bail, Result}; use euclid::EuclidVerifier; +use euclidv2::EuclidV2Verifier; use serde::{Deserialize, Serialize}; use std::{cell::OnceCell, path::Path, rc::Rc}; @@ -47,7 +49,17 @@ static mut VERIFIER_LOW: OnceCell = OnceCell::new(); static mut VERIFIER_HIGH: OnceCell = OnceCell::new(); pub fn init(config: VerifierConfig) { - let verifier = EuclidVerifier::new(&config.high_version_circuit.assets_path); + let verifier = EuclidVerifier::new(&config.low_version_circuit.assets_path); + unsafe { + VERIFIER_LOW + .set(VerifierPair( + config.low_version_circuit.fork_name, + Rc::new(Box::new(verifier)), + )) + .unwrap_unchecked(); + } + + let verifier = EuclidV2Verifier::new(&config.high_version_circuit.assets_path); unsafe { VERIFIER_LOW .set(VerifierPair( diff --git a/common/libzkp/impl/src/verifier/euclidv2.rs b/common/libzkp/impl/src/verifier/euclidv2.rs new file mode 100644 index 0000000000..4326c9787a --- /dev/null +++ b/common/libzkp/impl/src/verifier/euclidv2.rs @@ -0,0 +1,65 @@ +use super::{ProofVerifier, TaskType, VKDump}; + +use anyhow::Result; + +use crate::utils::panic_catch; +use euclidv2_prover::{BatchProof, BundleProof, ChunkProof}; +use euclidv2_verifier::verifier::{BatchVerifier, BundleVerifier, ChunkVerifier}; +use std::{fs::File, path::Path}; + +pub struct EuclidV2Verifier { + chunk_verifier: ChunkVerifier, + batch_verifier: BatchVerifier, + bundle_verifier: BundleVerifier, +} + +impl EuclidV2Verifier { + pub fn new(assets_dir: &str) -> Self { + let verifier_bin = Path::new(assets_dir).join("verifier.bin"); + let config = Path::new(assets_dir).join("root-verifier-vm-config"); + let exe = Path::new(assets_dir).join("root-verifier-committed-exe"); + + Self { + chunk_verifier: ChunkVerifier::setup(&config, &exe, &verifier_bin) + .expect("Setting up chunk verifier"), + batch_verifier: BatchVerifier::setup(&config, &exe, &verifier_bin) + .expect("Setting up batch verifier"), + bundle_verifier: BundleVerifier::setup(&config, &exe, &verifier_bin) + .expect("Setting up bundle verifier"), + } + } +} + +impl ProofVerifier for EuclidV2Verifier { + fn verify(&self, task_type: super::TaskType, proof: Vec) -> Result { + panic_catch(|| match task_type { + TaskType::Chunk => { + let proof = serde_json::from_slice::(proof.as_slice()).unwrap(); + self.chunk_verifier + .verify_proof(proof.proof.as_root_proof().unwrap()) + } + TaskType::Batch => { + let proof = serde_json::from_slice::(proof.as_slice()).unwrap(); + self.batch_verifier + .verify_proof(proof.proof.as_root_proof().unwrap()) + } + TaskType::Bundle => { + let proof = serde_json::from_slice::(proof.as_slice()).unwrap(); + self.bundle_verifier + .verify_proof_evm(&proof.proof.as_evm_proof().unwrap()) + } + }) + .map_err(|err_str: String| anyhow::anyhow!(err_str)) + } + + fn dump_vk(&self, file: &Path) { + let f = File::create(file).expect("Failed to open file to dump VK"); + + let dump = VKDump { + chunk_vk: base64::encode(self.chunk_verifier.get_app_vk()), + batch_vk: base64::encode(self.batch_verifier.get_app_vk()), + bundle_vk: base64::encode(self.bundle_verifier.get_app_vk()), + }; + serde_json::to_writer(f, &dump).expect("Failed to dump VK"); + } +} From 77d63226c55850f911bd56fbf7c2ed0b87491c0c Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 13 Mar 2025 14:29:53 +0800 Subject: [PATCH 045/132] fix --- common/libzkp/impl/src/verifier.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/libzkp/impl/src/verifier.rs b/common/libzkp/impl/src/verifier.rs index dfb0da6470..96e306aa7b 100644 --- a/common/libzkp/impl/src/verifier.rs +++ b/common/libzkp/impl/src/verifier.rs @@ -61,7 +61,7 @@ pub fn init(config: VerifierConfig) { let verifier = EuclidV2Verifier::new(&config.high_version_circuit.assets_path); unsafe { - VERIFIER_LOW + VERIFIER_HIGH .set(VerifierPair( config.high_version_circuit.fork_name, Rc::new(Box::new(verifier)), From cf41048c0a122cda3712b82c1ce7e872a054215b Mon Sep 17 00:00:00 2001 From: Morty <70688412+yiweichi@users.noreply.github.com> Date: Thu, 13 Mar 2025 15:23:17 +0800 Subject: [PATCH 046/132] Update rc3 (#1629) --- zkvm-prover/Cargo.lock | 6 +++--- zkvm-prover/Cargo.toml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index 18f741f69b..df51385921 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -7585,7 +7585,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-circuit-input-types" version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.2#a1217d1b65c713c7831e71aa6ed5dba43c6b93ef" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.3#01fb5e3b8b04f6e8a59056e1741f5d973589e727" dependencies = [ "alloy-primitives", "alloy-serde 0.8.3", @@ -7634,7 +7634,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-prover" version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.2#a1217d1b65c713c7831e71aa6ed5dba43c6b93ef" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.3#01fb5e3b8b04f6e8a59056e1741f5d973589e727" dependencies = [ "alloy-primitives", "base64 0.22.1", @@ -7687,7 +7687,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-verifier" version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.2#a1217d1b65c713c7831e71aa6ed5dba43c6b93ef" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.3#01fb5e3b8b04f6e8a59056e1741f5d973589e727" dependencies = [ "bincode", "eyre", diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index 6e3d1f7486..e8d2f3295c 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -19,7 +19,7 @@ serde_json = "1.0.116" futures = "0.3.30" scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.0-rc.6", package = "scroll-zkvm-prover" } -scroll-zkvm-prover-euclidv2 = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.1-rc.2", package = "scroll-zkvm-prover" } +scroll-zkvm-prover-euclidv2 = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.1-rc.3", package = "scroll-zkvm-prover" } ethers-core = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } ethers-providers = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "ea16370", features = [ From 11afeb135437a8e22cea24d26b9f95866691b08d Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 13 Mar 2025 15:31:07 +0800 Subject: [PATCH 047/132] update verifier --- common/libzkp/impl/Cargo.lock | 6 +++--- common/libzkp/impl/Cargo.toml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/common/libzkp/impl/Cargo.lock b/common/libzkp/impl/Cargo.lock index 5142c49629..459311b7f5 100644 --- a/common/libzkp/impl/Cargo.lock +++ b/common/libzkp/impl/Cargo.lock @@ -5797,7 +5797,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-circuit-input-types" version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.2#a1217d1b65c713c7831e71aa6ed5dba43c6b93ef" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.3#01fb5e3b8b04f6e8a59056e1741f5d973589e727" dependencies = [ "alloy-primitives", "alloy-serde 0.8.3", @@ -5846,7 +5846,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-prover" version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.2#a1217d1b65c713c7831e71aa6ed5dba43c6b93ef" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.3#01fb5e3b8b04f6e8a59056e1741f5d973589e727" dependencies = [ "alloy-primitives", "base64 0.22.1", @@ -5899,7 +5899,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-verifier" version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.2#a1217d1b65c713c7831e71aa6ed5dba43c6b93ef" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.3#01fb5e3b8b04f6e8a59056e1741f5d973589e727" dependencies = [ "bincode", "eyre", diff --git a/common/libzkp/impl/Cargo.toml b/common/libzkp/impl/Cargo.toml index 7f13c81cae..003fa3731a 100644 --- a/common/libzkp/impl/Cargo.toml +++ b/common/libzkp/impl/Cargo.toml @@ -16,8 +16,8 @@ tiny-keccak = { git = "https://github.com/scroll-tech/tiny-keccak", branch = "sc [dependencies] euclid_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.6", package = "scroll-zkvm-prover" } euclid_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.6", package = "scroll-zkvm-verifier" } -euclidv2_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-prover" } -euclidv2_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-verifier" } +euclidv2_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.3", package = "scroll-zkvm-prover" } +euclidv2_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.3", package = "scroll-zkvm-verifier" } base64 = "0.13.0" env_logger = "0.9.0" From 07d1621310fe83d14c5d421419a98cdfe0e4672e Mon Sep 17 00:00:00 2001 From: Morty <70688412+yiweichi@users.noreply.github.com> Date: Thu, 13 Mar 2025 19:08:48 +0800 Subject: [PATCH 048/132] update scroll-proving-sdk commit (#1630) --- zkvm-prover/Cargo.lock | 2 +- zkvm-prover/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index df51385921..33df8f57fe 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -7537,7 +7537,7 @@ dependencies = [ [[package]] name = "scroll-proving-sdk" version = "0.1.0" -source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=ea16370#ea163700741aebde4422ac6c9798a47c8704ccab" +source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=78d118b#78d118b88cadc626efa9202c0e30192d9224acdd" dependencies = [ "alloy", "anyhow", diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index e8d2f3295c..63829e5528 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -22,7 +22,7 @@ scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover" scroll-zkvm-prover-euclidv2 = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.1-rc.3", package = "scroll-zkvm-prover" } ethers-core = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } ethers-providers = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } -scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "ea16370", features = [ +scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "78d118b", features = [ "openvm", ] } sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "zkvm/euclid-v2", features = [ From 60877d3c1686239d1918e5f17dbaa1486e0ce830 Mon Sep 17 00:00:00 2001 From: Rohit Narurkar Date: Thu, 13 Mar 2025 13:28:28 +0000 Subject: [PATCH 049/132] fix: reduce segment len in prover config (#1631) --- zkvm-prover/Cargo.lock | 26 +++++++++---------- zkvm-prover/src/prover.rs | 5 +++- .../src/zk_circuits_handler/euclidV2.rs | 14 +++++++--- 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index 33df8f57fe..a760b151e6 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -1495,7 +1495,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -2075,7 +2075,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -5842,7 +5842,7 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -6830,7 +6830,7 @@ dependencies = [ [[package]] name = "revm" version = "19.4.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#562b7c67b8f0c0e4aee4f74fe6c0c983df58790c" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#6fe1fae6d92f0f6a3ed234a955aca4bdcf864f97" dependencies = [ "auto_impl", "cfg-if", @@ -6869,7 +6869,7 @@ dependencies = [ [[package]] name = "revm-interpreter" version = "15.1.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#562b7c67b8f0c0e4aee4f74fe6c0c983df58790c" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#6fe1fae6d92f0f6a3ed234a955aca4bdcf864f97" dependencies = [ "revm-primitives 15.1.0", "serde", @@ -6907,7 +6907,7 @@ dependencies = [ [[package]] name = "revm-precompile" version = "16.0.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#562b7c67b8f0c0e4aee4f74fe6c0c983df58790c" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#6fe1fae6d92f0f6a3ed234a955aca4bdcf864f97" dependencies = [ "aurora-engine-modexp", "c-kzg", @@ -6964,7 +6964,7 @@ dependencies = [ [[package]] name = "revm-primitives" version = "15.1.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#562b7c67b8f0c0e4aee4f74fe6c0c983df58790c" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#6fe1fae6d92f0f6a3ed234a955aca4bdcf864f97" dependencies = [ "alloy-eip2930", "alloy-eip7702 0.5.1", @@ -7220,7 +7220,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -7585,7 +7585,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-circuit-input-types" version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.3#01fb5e3b8b04f6e8a59056e1741f5d973589e727" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.3#0f251ba4541e2d136b953f10dae163686c0e815d" dependencies = [ "alloy-primitives", "alloy-serde 0.8.3", @@ -7634,7 +7634,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-prover" version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.3#01fb5e3b8b04f6e8a59056e1741f5d973589e727" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.3#0f251ba4541e2d136b953f10dae163686c0e815d" dependencies = [ "alloy-primitives", "base64 0.22.1", @@ -7687,7 +7687,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-verifier" version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.3#01fb5e3b8b04f6e8a59056e1741f5d973589e727" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.3#0f251ba4541e2d136b953f10dae163686c0e815d" dependencies = [ "bincode", "eyre", @@ -8187,7 +8187,7 @@ dependencies = [ "cfg-if", "libc", "psm", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -8444,7 +8444,7 @@ dependencies = [ "getrandom 0.3.1", "once_cell", "rustix", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] diff --git a/zkvm-prover/src/prover.rs b/zkvm-prover/src/prover.rs index 9dba6bd9d2..e60ce9f28f 100644 --- a/zkvm-prover/src/prover.rs +++ b/zkvm-prover/src/prover.rs @@ -190,7 +190,10 @@ impl LocalProver { // if we got assigned a task for an unknown hard fork, there is something wrong in the // coordinator let config = self.config.circuits.get(hard_fork_name).unwrap(); - println!("config workspace path for hard-fork {:?} = {:?}", hard_fork_name, config.workspace_path); + println!( + "config workspace path for hard-fork {:?} = {:?}", + hard_fork_name, config.workspace_path + ); match hard_fork_name { "euclid" => Arc::new(Arc::new(Mutex::new(EuclidHandler::new( diff --git a/zkvm-prover/src/zk_circuits_handler/euclidV2.rs b/zkvm-prover/src/zk_circuits_handler/euclidV2.rs index 3edaa03350..4c0fd24fc0 100644 --- a/zkvm-prover/src/zk_circuits_handler/euclidV2.rs +++ b/zkvm-prover/src/zk_circuits_handler/euclidV2.rs @@ -6,7 +6,7 @@ use async_trait::async_trait; use scroll_proving_sdk::prover::{proving_service::ProveRequest, ProofType}; use scroll_zkvm_prover_euclidv2::{ task::{batch::BatchProvingTask, bundle::BundleProvingTask, chunk::ChunkProvingTask}, - BatchProver, BundleProver, ChunkProver, + BatchProver, BundleProver, ChunkProver, ProverConfig, }; use tokio::sync::Mutex; pub struct EuclidV2Handler { @@ -29,7 +29,9 @@ impl EuclidV2Handler { chunk_exe, chunk_app_config, Some(cache_dir.clone()), - Default::default(), + ProverConfig { + segment_len: Some((1 << 22) - 100), + }, ) .expect("Failed to setup chunk prover"); println!("ok 2"); @@ -40,7 +42,9 @@ impl EuclidV2Handler { batch_exe, batch_app_config, Some(cache_dir.clone()), - Default::default(), + ProverConfig { + segment_len: Some((1 << 22) - 100), + }, ) .expect("Failed to setup batch prover"); println!("ok 3"); @@ -51,7 +55,9 @@ impl EuclidV2Handler { bundle_exe, bundle_app_config, Some(cache_dir), - Default::default(), + ProverConfig { + segment_len: Some((1 << 22) - 100), + }, ) .expect("Failed to setup bundle prover"); println!("ok 4"); From 9b5c42e9d9c659173d33d986e8b6217781d660f9 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 14 Mar 2025 13:46:44 +0800 Subject: [PATCH 050/132] tweak logs --- common/types/message/message.go | 4 ---- coordinator/internal/logic/auth/login.go | 3 ++- .../internal/logic/provertask/batch_prover_task.go | 6 +++--- .../internal/logic/provertask/bundle_prover_task.go | 3 +++ .../internal/logic/provertask/chunk_prover_task.go | 3 +-- zkvm-prover/src/prover.rs | 10 +--------- zkvm-prover/src/zk_circuits_handler/euclidV2.rs | 4 ---- 7 files changed, 10 insertions(+), 23 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index 3c89434dfd..b247be24f3 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -7,7 +7,6 @@ import ( "github.com/scroll-tech/go-ethereum/common" "github.com/scroll-tech/go-ethereum/common/hexutil" - "github.com/scroll-tech/go-ethereum/log" ) const ( @@ -108,7 +107,6 @@ type ChunkProof interface { // NewChunkProof creates a new ChunkProof instance. func NewChunkProof(hardForkName string) ChunkProof { - log.Info("NewChunkProof", "hardForkName", hardForkName, "euclidForkName", EuclidFork, "euclidV2ForkName", EuclidV2Fork) switch hardForkName { case EuclidFork, EuclidV2Fork: return &OpenVMChunkProof{} @@ -143,7 +141,6 @@ type BatchProof interface { // NewBatchProof creates a new BatchProof instance. func NewBatchProof(hardForkName string) BatchProof { - log.Info("NewBatchProof", "hardForkName", hardForkName, "euclidForkName", EuclidFork, "euclidV2ForkName", EuclidV2Fork) switch hardForkName { case EuclidFork, EuclidV2Fork: return &OpenVMBatchProof{} @@ -201,7 +198,6 @@ type BundleProof interface { // NewBundleProof creates a new BundleProof instance. func NewBundleProof(hardForkName string) BundleProof { - log.Info("NewBundleProof", "hardForkName", hardForkName, "euclidForkName", EuclidFork, "euclidV2ForkName", EuclidV2Fork) switch hardForkName { case EuclidFork, EuclidV2Fork: return &OpenVMBundleProof{} diff --git a/coordinator/internal/logic/auth/login.go b/coordinator/internal/logic/auth/login.go index 452629b6fb..1954ccec6c 100644 --- a/coordinator/internal/logic/auth/login.go +++ b/coordinator/internal/logic/auth/login.go @@ -9,6 +9,7 @@ import ( "github.com/scroll-tech/go-ethereum/log" "gorm.io/gorm" + "scroll-tech/common/types/message" "scroll-tech/common/version" "scroll-tech/coordinator/internal/config" @@ -42,7 +43,7 @@ func NewLoginLogic(db *gorm.DB, cfg *config.Config, vf *verifier.Verifier) *Logi var highHardForks []string highHardForks = append(highHardForks, cfg.ProverManager.Verifier.HighVersionCircuit.ForkName) - if cfg.ProverManager.Verifier.HighVersionCircuit.ForkName != "euclid" && cfg.ProverManager.Verifier.HighVersionCircuit.ForkName != "euclidV2" { + if cfg.ProverManager.Verifier.HighVersionCircuit.ForkName != message.EuclidFork && cfg.ProverManager.Verifier.HighVersionCircuit.ForkName != message.EuclidV2Fork { highHardForks = append(highHardForks, cfg.ProverManager.Verifier.LowVersionCircuit.ForkName) } proverVersionHardForkMap[cfg.ProverManager.Verifier.HighVersionCircuit.MinProverVersion] = highHardForks diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 836fc5cce0..4027b44c89 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -239,9 +239,6 @@ func (bp *BatchProverTask) formatProverTask(ctx context.Context, task *orm.Prove return nil, fmt.Errorf("failed to marshal chunk proofs, taskID:%s err:%w", task.TaskID, err) } - log.Info("get batch task", "task_id", task.TaskID, "public_key", task.ProverPublicKey, "prover_name", task.ProverName, "prover_version", task.ProverVersion) - log.Info("chunkProofsBytes", "chunkProofsBytes", string(chunkProofsBytes)) - taskMsg := &coordinatorType.GetTaskSchema{ UUID: task.UUID.String(), TaskID: task.TaskID, @@ -249,6 +246,9 @@ func (bp *BatchProverTask) formatProverTask(ctx context.Context, task *orm.Prove TaskData: string(chunkProofsBytes), HardForkName: hardForkName, } + + log.Debug("TaskData", "task_id", task.TaskID, "task_type", message.ProofTypeChunk.String(), "hard_fork_name", hardForkName, "task_data", taskMsg.TaskData) + return taskMsg, nil } diff --git a/coordinator/internal/logic/provertask/bundle_prover_task.go b/coordinator/internal/logic/provertask/bundle_prover_task.go index 87e7b214fc..6891000516 100644 --- a/coordinator/internal/logic/provertask/bundle_prover_task.go +++ b/coordinator/internal/logic/provertask/bundle_prover_task.go @@ -219,6 +219,9 @@ func (bp *BundleProverTask) formatProverTask(ctx context.Context, task *orm.Prov TaskData: string(batchProofsBytes), HardForkName: hardForkName, } + + log.Debug("TaskData", "task_id", task.TaskID, "task_type", message.ProofTypeChunk.String(), "hard_fork_name", hardForkName, "task_data", taskMsg.TaskData) + return taskMsg, nil } diff --git a/coordinator/internal/logic/provertask/chunk_prover_task.go b/coordinator/internal/logic/provertask/chunk_prover_task.go index c914980ea6..36a78ed2ea 100644 --- a/coordinator/internal/logic/provertask/chunk_prover_task.go +++ b/coordinator/internal/logic/provertask/chunk_prover_task.go @@ -217,8 +217,7 @@ func (cp *ChunkProverTask) formatProverTask(ctx context.Context, task *orm.Prove HardForkName: hardForkName, } - log.Info("format prover task", "task_id", task.TaskID, "task_type", message.ProofTypeChunk.String(), "hard_fork_name", hardForkName) - log.Info("TaskData", "task_id", task.TaskID, "task_data", proverTaskSchema.TaskData, "taskDetail", string(taskDetailBytes)) + log.Debug("TaskData", "task_id", task.TaskID, "task_type", message.ProofTypeChunk.String(), "hard_fork_name", hardForkName, "task_data", proverTaskSchema.TaskData) return proverTaskSchema, nil } diff --git a/zkvm-prover/src/prover.rs b/zkvm-prover/src/prover.rs index e60ce9f28f..419e776827 100644 --- a/zkvm-prover/src/prover.rs +++ b/zkvm-prover/src/prover.rs @@ -64,23 +64,16 @@ impl ProvingService for LocalProver { async fn get_vks(&self, req: GetVkRequest) -> GetVkResponse { let mut vks = vec![]; for hard_fork_name in self.config.circuits.keys() { - println!("\n\n\nhard fork = {:?}", hard_fork_name); let handler = self.new_handler(hard_fork_name); - println!("request proof-types = {:?}", req.proof_types); for proof_type in &req.proof_types { let vk = handler.get_vk(*proof_type).await; - println!("proof type = {:?}, vk = {:?}", proof_type, vk); if let Some(vk) = vk { - let vk_base64 = base64::encode(vk); - println!("vk (base64) = {:?}", vk_base64); - vks.push(vk_base64); + vks.push(base64::encode(vk)); } } } - println!("\n\n\nall vks = {:#?}", vks); - GetVkResponse { vks, error: None } } async fn prove(&mut self, req: ProveRequest) -> ProveResponse { @@ -186,7 +179,6 @@ impl LocalProver { } fn new_handler(&self, hard_fork_name: &str) -> Arc { - println!("in new_handler"); // if we got assigned a task for an unknown hard fork, there is something wrong in the // coordinator let config = self.config.circuits.get(hard_fork_name).unwrap(); diff --git a/zkvm-prover/src/zk_circuits_handler/euclidV2.rs b/zkvm-prover/src/zk_circuits_handler/euclidV2.rs index 4c0fd24fc0..ac80e52e0b 100644 --- a/zkvm-prover/src/zk_circuits_handler/euclidV2.rs +++ b/zkvm-prover/src/zk_circuits_handler/euclidV2.rs @@ -20,7 +20,6 @@ unsafe impl Send for EuclidV2Handler {} impl EuclidV2Handler { pub fn new(workspace_path: &str) -> Self { let workspace_path = Path::new(workspace_path); - println!("ok 1"); let cache_dir = workspace_path.join("cache"); let chunk_exe = workspace_path.join("chunk/app.vmexe"); @@ -34,7 +33,6 @@ impl EuclidV2Handler { }, ) .expect("Failed to setup chunk prover"); - println!("ok 2"); let batch_exe = workspace_path.join("batch/app.vmexe"); let batch_app_config = workspace_path.join("batch/openvm.toml"); @@ -47,7 +45,6 @@ impl EuclidV2Handler { }, ) .expect("Failed to setup batch prover"); - println!("ok 3"); let bundle_exe = workspace_path.join("bundle/app.vmexe"); let bundle_app_config = workspace_path.join("bundle/openvm.toml"); @@ -60,7 +57,6 @@ impl EuclidV2Handler { }, ) .expect("Failed to setup bundle prover"); - println!("ok 4"); Self { chunk_prover, From ae212a919af5b27fb547911ef80fdfe4c41dd6db Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 14 Mar 2025 14:02:07 +0800 Subject: [PATCH 051/132] fix logs --- coordinator/internal/logic/provertask/batch_prover_task.go | 2 +- coordinator/internal/logic/provertask/bundle_prover_task.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 4027b44c89..c20e788b4b 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -247,7 +247,7 @@ func (bp *BatchProverTask) formatProverTask(ctx context.Context, task *orm.Prove HardForkName: hardForkName, } - log.Debug("TaskData", "task_id", task.TaskID, "task_type", message.ProofTypeChunk.String(), "hard_fork_name", hardForkName, "task_data", taskMsg.TaskData) + log.Debug("TaskData", "task_id", task.TaskID, "task_type", message.ProofTypeBatch.String(), "hard_fork_name", hardForkName, "task_data", taskMsg.TaskData) return taskMsg, nil } diff --git a/coordinator/internal/logic/provertask/bundle_prover_task.go b/coordinator/internal/logic/provertask/bundle_prover_task.go index 6891000516..9ac1022fc3 100644 --- a/coordinator/internal/logic/provertask/bundle_prover_task.go +++ b/coordinator/internal/logic/provertask/bundle_prover_task.go @@ -220,7 +220,7 @@ func (bp *BundleProverTask) formatProverTask(ctx context.Context, task *orm.Prov HardForkName: hardForkName, } - log.Debug("TaskData", "task_id", task.TaskID, "task_type", message.ProofTypeChunk.String(), "hard_fork_name", hardForkName, "task_data", taskMsg.TaskData) + log.Debug("TaskData", "task_id", task.TaskID, "task_type", message.ProofTypeBundle.String(), "hard_fork_name", hardForkName, "task_data", taskMsg.TaskData) return taskMsg, nil } From 09790c444820c2af1f135260f7d9374737db7e09 Mon Sep 17 00:00:00 2001 From: Morty Date: Fri, 14 Mar 2025 15:23:30 +0800 Subject: [PATCH 052/132] fix: clap deprecated warnings --- zkvm-prover/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zkvm-prover/src/main.rs b/zkvm-prover/src/main.rs index 83fd2bd8e1..145788b05a 100644 --- a/zkvm-prover/src/main.rs +++ b/zkvm-prover/src/main.rs @@ -10,7 +10,7 @@ use scroll_proving_sdk::{ }; #[derive(Parser, Debug)] -#[clap(disable_version_flag = true)] +#[command(disable_version_flag = true)] struct Args { /// Path of config file #[arg(long = "config", default_value = "conf/config.json")] From 0bb53140f506713be72c90685eecb073e7ddfc4a Mon Sep 17 00:00:00 2001 From: Ho Date: Fri, 14 Mar 2025 18:39:45 +0900 Subject: [PATCH 053/132] fix: byte48 type required in prover (#1627) Signed-off-by: noelwei Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com> --- common/types/message/message.go | 50 +++++++++++++++++-- common/types/message/message_test.go | 22 ++++++++ .../logic/provertask/batch_prover_task.go | 6 +-- 3 files changed, 72 insertions(+), 6 deletions(-) create mode 100644 common/types/message/message_test.go diff --git a/common/types/message/message.go b/common/types/message/message.go index b247be24f3..40bc7d495f 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -4,6 +4,7 @@ import ( "encoding/json" "errors" "fmt" + "math/big" "github.com/scroll-tech/go-ethereum/common" "github.com/scroll-tech/go-ethereum/common/hexutil" @@ -52,15 +53,58 @@ type EuclidV2ChunkTaskDetail struct { PrevMsgQueueHash common.Hash `json:"prev_msg_queue_hash"` } +// it is a hex encoded big with fixed length on 48 bytes +type Byte48 struct { + hexutil.Big +} + +func (e Byte48) MarshalText() ([]byte, error) { + i := e.ToInt() + // overrite encode big + if sign := i.Sign(); sign < 0 { + // sanity check + return nil, fmt.Errorf("Byte48 must be positive integer") + } else { + s := i.Text(16) + if len(s) > 96 { + return nil, fmt.Errorf("Integer Exceed 384bit") + } + return []byte(fmt.Sprintf("0x%0*s", 96, s)), nil + } +} + +func isString(input []byte) bool { + return len(input) >= 2 && input[0] == '"' && input[len(input)-1] == '"' +} + +// hexutil.Big has limition of 256bit so we have to override it ... +func (e *Byte48) UnmarshalJSON(input []byte) error { + if !isString(input) { + return fmt.Errorf("not hex string") + } + + b, err := hexutil.Decode(string(input[1 : len(input)-1])) + if err != nil { + return err + } + if len(b) != 48 { + return fmt.Errorf("not a 48 bytes hex string: %d", len(b)) + } + var dec big.Int + dec.SetBytes(b) + *e = Byte48{(hexutil.Big)(dec)} + return nil +} + // BatchTaskDetail is a type containing BatchTask detail. type BatchTaskDetail struct { ChunkInfos []*ChunkInfo `json:"chunk_infos"` ChunkProofs []ChunkProof `json:"chunk_proofs"` BatchHeader interface{} `json:"batch_header"` BlobBytes []byte `json:"blob_bytes"` - KzgProof hexutil.Big `json:"kzg_proof"` - KzgCommitment hexutil.Big `json:"kzg_commitment"` - ChallengeDigest hexutil.Big `json:"challenge_digest"` + KzgProof Byte48 `json:"kzg_proof"` + KzgCommitment Byte48 `json:"kzg_commitment"` + ChallengeDigest common.Hash `json:"challenge_digest"` } // BundleTaskDetail consists of all the information required to describe the task to generate a proof for a bundle of batches. diff --git a/common/types/message/message_test.go b/common/types/message/message_test.go new file mode 100644 index 0000000000..c757cbf248 --- /dev/null +++ b/common/types/message/message_test.go @@ -0,0 +1,22 @@ +package message + +import ( + "fmt" + "testing" +) + +func TestBytes48(t *testing.T) { + ti := &Byte48{} + ti.UnmarshalText([]byte("0x1")) + if s, err := ti.MarshalText(); err == nil { + if len(s) != 98 { + panic(fmt.Sprintf("wrong str: %s", s)) + } + } + ti.UnmarshalText([]byte("0x0")) + if s, err := ti.MarshalText(); err == nil { + if len(s) != 98 { + panic(fmt.Sprintf("wrong str: %s", s)) + } + } +} diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index c20e788b4b..00a4aca93f 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -291,8 +291,8 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []* // | z | y | kzg_commitment | kzg_proof | // |---------|---------|----------------|-----------| // | bytes32 | bytes32 | bytes48 | bytes48 | - taskDetail.KzgProof = hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[112:160])) - taskDetail.KzgCommitment = hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[64:112])) - taskDetail.ChallengeDigest = hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[0:32])) // FIXME: Challenge = ChallengeDigest % BLS_MODULUS, get the original ChallengeDigest. + taskDetail.KzgProof = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[112:160]))} + taskDetail.KzgCommitment = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[64:112]))} + taskDetail.ChallengeDigest = common.BytesToHash(dbBatch.BlobDataProof[0:32]) // FIXME: Challenge = ChallengeDigest % BLS_MODULUS, get the original ChallengeDigest. return taskDetail, nil } From 901693a2c00da3ecd34eca264f6f1fa1e176b15f Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 14 Mar 2025 18:42:31 +0800 Subject: [PATCH 054/132] remove a log --- zkvm-prover/src/prover.rs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/zkvm-prover/src/prover.rs b/zkvm-prover/src/prover.rs index 419e776827..c169343c52 100644 --- a/zkvm-prover/src/prover.rs +++ b/zkvm-prover/src/prover.rs @@ -182,10 +182,6 @@ impl LocalProver { // if we got assigned a task for an unknown hard fork, there is something wrong in the // coordinator let config = self.config.circuits.get(hard_fork_name).unwrap(); - println!( - "config workspace path for hard-fork {:?} = {:?}", - hard_fork_name, config.workspace_path - ); match hard_fork_name { "euclid" => Arc::new(Arc::new(Mutex::new(EuclidHandler::new( From 3454c6c6703c544065c83fce634625535338733e Mon Sep 17 00:00:00 2001 From: Morty Date: Sun, 16 Mar 2025 06:03:28 +0800 Subject: [PATCH 055/132] update scroll-proving-sdk commit --- zkvm-prover/Cargo.lock | 2 +- zkvm-prover/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index a760b151e6..7961506cd8 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -7537,7 +7537,7 @@ dependencies = [ [[package]] name = "scroll-proving-sdk" version = "0.1.0" -source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=78d118b#78d118b88cadc626efa9202c0e30192d9224acdd" +source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=36f1808#36f1808acb160949ad0977cd6333fc25839c2c5f" dependencies = [ "alloy", "anyhow", diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index 63829e5528..04c91b8543 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -22,7 +22,7 @@ scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover" scroll-zkvm-prover-euclidv2 = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.1-rc.3", package = "scroll-zkvm-prover" } ethers-core = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } ethers-providers = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } -scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "78d118b", features = [ +scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "36f1808", features = [ "openvm", ] } sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "zkvm/euclid-v2", features = [ From c6f0299373250fd902cae6ca1ab06f8c7c4f73e5 Mon Sep 17 00:00:00 2001 From: xkx Date: Mon, 17 Mar 2025 15:32:44 +0800 Subject: [PATCH 056/132] feat: euclid v2 GPU prover (#1623) Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com> Co-authored-by: Morty <70688412+yiweichi@users.noreply.github.com> --- zkvm-prover/Cargo.lock | 327 +++++++++++++++++++++++++++++++++++++---- zkvm-prover/Cargo.toml | 31 ++++ 2 files changed, 332 insertions(+), 26 deletions(-) diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index 7961506cd8..2ea676ca4b 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -755,6 +755,15 @@ version = "1.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b964d184e89d9b6b67dd2715bc8e74cf3107fb2b529990c90cf517326150bf4" +[[package]] +name = "approx" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +dependencies = [ + "num-traits", +] + [[package]] name = "ark-ff" version = "0.3.0" @@ -1300,6 +1309,20 @@ name = "bytemuck" version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", +] [[package]] name = "byteorder" @@ -1716,6 +1739,52 @@ dependencies = [ "cipher", ] +[[package]] +name = "cust" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d6cc71911e179f12483b9734120b45bd00bf64fab085cc4818428523eedd469" +dependencies = [ + "bitflags 1.3.2", + "bytemuck", + "cust_core", + "cust_derive", + "cust_raw", + "find_cuda_helper", +] + +[[package]] +name = "cust_core" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "039f79662cb8f890cbf335e818cd522d6e3a53fe63f61d1aaaf859cd3d975f06" +dependencies = [ + "cust_derive", + "glam", + "mint", + "vek", +] + +[[package]] +name = "cust_derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a3bc95fe629aed92b2423de6ccff9e40174b21d19cb6ee6281a4d04ac72f66" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "cust_raw" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf40d6ade12cb9828bbc844b9875c7b93d25e67a3c9bf61c7aa3ae09e402bf8" +dependencies = [ + "find_cuda_helper", +] + [[package]] name = "darling" version = "0.20.10" @@ -1880,6 +1949,15 @@ dependencies = [ "subtle", ] +[[package]] +name = "directories" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" +dependencies = [ + "dirs-sys", +] + [[package]] name = "dirs" version = "5.0.1" @@ -2277,6 +2355,15 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "find_cuda_helper" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9f9e65c593dd01ac77daad909ea4ad17f0d6d1776193fc8ea766356177abdad" +dependencies = [ + "glob", +] + [[package]] name = "fixed-hash" version = "0.8.0" @@ -2545,6 +2632,15 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "glam" +version = "0.20.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43e957e744be03f5801a55472f593d43fabdebf25a4585db250f04d86b1675f" +dependencies = [ + "num-traits", +] + [[package]] name = "glob" version = "0.3.2" @@ -2885,6 +2981,15 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "home" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + [[package]] name = "http" version = "0.2.12" @@ -3593,6 +3698,16 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +[[package]] +name = "matrixmultiply" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9380b911e3e96d10c1f415da0876389aaf1b56759054eeb0de7df940c456ba1a" +dependencies = [ + "autocfg", + "rawpointer", +] + [[package]] name = "maybe-rayon" version = "0.1.1" @@ -3713,6 +3828,12 @@ dependencies = [ "adler2", ] +[[package]] +name = "mint" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e53debba6bda7a793e5f99b8dacf19e626084f525f7829104ba9898f367d85ff" + [[package]] name = "mio" version = "1.0.3" @@ -3782,6 +3903,20 @@ dependencies = [ "tempfile", ] +[[package]] +name = "ndarray" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32" +dependencies = [ + "matrixmultiply", + "num-complex", + "num-integer", + "num-traits", + "rawpointer", + "rayon", +] + [[package]] name = "nibble_vec" version = "0.1.0" @@ -3910,6 +4045,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -4918,7 +5054,7 @@ dependencies = [ [[package]] name = "openvm-stark-backend" version = "1.0.0-rc.0" -source = "git+https://github.com/openvm-org/stark-backend.git?rev=bc364134b8315c27bfd29c6e77ac79fe77090137#bc364134b8315c27bfd29c6e77ac79fe77090137" +source = "git+ssh://git@github.com/scroll-tech/openvm-stark-gpu.git?branch=main#49db21be4060fe5430d02f5b5f59b36e3af2f7d4" dependencies = [ "async-trait", "cfg-if", @@ -4930,6 +5066,9 @@ dependencies = [ "p3-challenger", "p3-commit", "p3-field", + "p3-gpu-backend", + "p3-gpu-base", + "p3-gpu-module", "p3-matrix", "p3-maybe-rayon", "p3-uni-stark", @@ -4944,7 +5083,7 @@ dependencies = [ [[package]] name = "openvm-stark-sdk" version = "1.0.0-rc.0" -source = "git+https://github.com/openvm-org/stark-backend.git?rev=bc364134b8315c27bfd29c6e77ac79fe77090137#bc364134b8315c27bfd29c6e77ac79fe77090137" +source = "git+ssh://git@github.com/scroll-tech/openvm-stark-gpu.git?branch=main#49db21be4060fe5430d02f5b5f59b36e3af2f7d4" dependencies = [ "derivative", "derive_more 0.99.19", @@ -4960,6 +5099,7 @@ dependencies = [ "p3-dft", "p3-fri", "p3-goldilocks", + "p3-gpu-backend", "p3-keccak", "p3-merkle-tree", "p3-poseidon", @@ -5029,7 +5169,7 @@ dependencies = [ [[package]] name = "p3-air" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "p3-field", "p3-matrix", @@ -5038,7 +5178,7 @@ dependencies = [ [[package]] name = "p3-baby-bear" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "p3-field", "p3-mds", @@ -5052,7 +5192,7 @@ dependencies = [ [[package]] name = "p3-blake3" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "blake3", "p3-symmetric", @@ -5062,7 +5202,7 @@ dependencies = [ [[package]] name = "p3-bn254-fr" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "ff 0.13.0", "halo2curves", @@ -5077,7 +5217,7 @@ dependencies = [ [[package]] name = "p3-challenger" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "p3-field", "p3-maybe-rayon", @@ -5089,12 +5229,14 @@ dependencies = [ [[package]] name = "p3-commit" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ + "anyhow", "itertools 0.13.0", "p3-challenger", "p3-dft", "p3-field", + "p3-gpu-base", "p3-matrix", "p3-util", "serde", @@ -5103,7 +5245,7 @@ dependencies = [ [[package]] name = "p3-dft" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "itertools 0.13.0", "p3-field", @@ -5116,7 +5258,7 @@ dependencies = [ [[package]] name = "p3-field" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "itertools 0.13.0", "num-bigint 0.4.6", @@ -5133,26 +5275,31 @@ dependencies = [ [[package]] name = "p3-fri" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ + "anyhow", "itertools 0.13.0", "p3-challenger", "p3-commit", "p3-dft", "p3-field", + "p3-gpu-backend", + "p3-gpu-base", "p3-interpolation", "p3-matrix", "p3-maybe-rayon", + "p3-merkle-tree", "p3-util", "rand", "serde", "tracing", + "zkhash", ] [[package]] name = "p3-goldilocks" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "num-bigint 0.4.6", "p3-dft", @@ -5166,10 +5313,95 @@ dependencies = [ "serde", ] +[[package]] +name = "p3-gpu-backend" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +dependencies = [ + "anyhow", + "bytemuck", + "cc", + "cust", + "cust_raw", + "ff 0.13.0", + "itertools 0.13.0", + "lazy_static", + "ndarray", + "once_cell", + "p3-baby-bear", + "p3-commit", + "p3-dft", + "p3-field", + "p3-gpu-base", + "p3-gpu-build", + "p3-interpolation", + "p3-matrix", + "p3-maybe-rayon", + "p3-poseidon2", + "p3-util", + "parking_lot 0.12.3", + "paste", + "rand", + "rand_core", + "rayon", + "serde", + "sppark", + "tracing", + "transpose", +] + +[[package]] +name = "p3-gpu-base" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +dependencies = [ + "anyhow", + "bytemuck", + "cust", + "cust_raw", + "hex", + "lazy_static", + "p3-field", + "p3-matrix", + "parking_lot 0.12.3", + "tracing", +] + +[[package]] +name = "p3-gpu-build" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +dependencies = [ + "cc", + "directories", + "hex", + "p3-gpu-field", + "sha2", + "tempfile", +] + +[[package]] +name = "p3-gpu-field" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" + +[[package]] +name = "p3-gpu-module" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +dependencies = [ + "itertools 0.13.0", + "p3-field", + "p3-gpu-base", + "p3-matrix", + "p3-util", + "tracing", +] + [[package]] name = "p3-interpolation" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "p3-field", "p3-matrix", @@ -5180,7 +5412,7 @@ dependencies = [ [[package]] name = "p3-keccak" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "itertools 0.13.0", "p3-field", @@ -5192,21 +5424,23 @@ dependencies = [ [[package]] name = "p3-keccak-air" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "p3-air", "p3-field", + "p3-gpu-backend", "p3-matrix", "p3-maybe-rayon", "p3-util", "rand", "tracing", + "zkhash", ] [[package]] name = "p3-matrix" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "itertools 0.13.0", "p3-field", @@ -5221,7 +5455,7 @@ dependencies = [ [[package]] name = "p3-maybe-rayon" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "rayon", ] @@ -5229,7 +5463,7 @@ dependencies = [ [[package]] name = "p3-mds" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "itertools 0.13.0", "p3-dft", @@ -5243,11 +5477,13 @@ dependencies = [ [[package]] name = "p3-merkle-tree" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ + "anyhow", "itertools 0.13.0", "p3-commit", "p3-field", + "p3-gpu-base", "p3-matrix", "p3-maybe-rayon", "p3-symmetric", @@ -5260,7 +5496,7 @@ dependencies = [ [[package]] name = "p3-monty-31" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "itertools 0.13.0", "num-bigint 0.4.6", @@ -5281,7 +5517,7 @@ dependencies = [ [[package]] name = "p3-poseidon" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "p3-field", "p3-mds", @@ -5292,7 +5528,7 @@ dependencies = [ [[package]] name = "p3-poseidon2" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "gcd", "p3-field", @@ -5304,7 +5540,7 @@ dependencies = [ [[package]] name = "p3-poseidon2-air" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "p3-air", "p3-field", @@ -5320,7 +5556,7 @@ dependencies = [ [[package]] name = "p3-symmetric" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "itertools 0.13.0", "p3-field", @@ -5330,7 +5566,7 @@ dependencies = [ [[package]] name = "p3-uni-stark" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "itertools 0.13.0", "p3-air", @@ -5348,7 +5584,7 @@ dependencies = [ [[package]] name = "p3-util" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" dependencies = [ "serde", ] @@ -5928,6 +6164,12 @@ dependencies = [ "bitflags 2.8.0", ] +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + [[package]] name = "rayon" version = "1.10.0" @@ -8161,6 +8403,15 @@ dependencies = [ "der", ] +[[package]] +name = "sppark" +version = "0.1.8" +source = "git+https://github.com/scroll-tech/sppark.git?branch=sp1-v3.0#07fe0de43a745a395dd718c735cdfe0cfc457b0a" +dependencies = [ + "cc", + "which", +] + [[package]] name = "stability" version = "0.2.1" @@ -9115,6 +9366,18 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +[[package]] +name = "vek" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8085882662f9bc47fc8b0cdafa5e19df8f592f650c02b9083da8d45ac9eebd17" +dependencies = [ + "approx", + "num-integer", + "num-traits", + "rustc_version 0.4.1", +] + [[package]] name = "version_check" version = "0.9.5" @@ -9321,6 +9584,18 @@ dependencies = [ "rustls-pki-types", ] +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix", +] + [[package]] name = "winapi" version = "0.3.9" diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index 04c91b8543..d3df957a0b 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -46,3 +46,34 @@ clap = { version = "4.5", features = ["derive"] } ctor = "0.2.8" url = "2.5.4" serde_bytes = "0.11.15" + +[patch."https://github.com/openvm-org/stark-backend.git"] +openvm-stark-backend = { git = "ssh://git@github.com/scroll-tech/openvm-stark-gpu.git", branch = "main", features = ["gpu"] } +openvm-stark-sdk = { git = "ssh://git@github.com/scroll-tech/openvm-stark-gpu.git", branch = "main", features = ["gpu"] } + +[patch."https://github.com/Plonky3/Plonky3.git"] +p3-air = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-field = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-commit = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-matrix = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-baby-bear = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", features = [ + "nightly-features", +], branch = "openvm-v2" } +p3-util = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-challenger = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-dft = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-fri = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-goldilocks = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-keccak = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-keccak-air = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-blake3 = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-mds = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-merkle-tree = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-monty-31 = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-poseidon = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-poseidon2 = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-poseidon2-air = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-symmetric = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-uni-stark = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-maybe-rayon = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } # the "parallel" feature is NOT on by default to allow single-threaded benchmarking +p3-bn254-fr = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } From 4b21c79443ccaecd747eb194f70cf8ef488f033e Mon Sep 17 00:00:00 2001 From: Morty Date: Mon, 17 Mar 2025 18:08:21 +0800 Subject: [PATCH 057/132] update scroll-proving-sdk commit --- zkvm-prover/Cargo.lock | 2 +- zkvm-prover/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index 2ea676ca4b..4998621041 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -7779,7 +7779,7 @@ dependencies = [ [[package]] name = "scroll-proving-sdk" version = "0.1.0" -source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=36f1808#36f1808acb160949ad0977cd6333fc25839c2c5f" +source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=e27915b#e27915b4f978697f589a022029ecbc1665a9709c" dependencies = [ "alloy", "anyhow", diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index d3df957a0b..4b0151aa51 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -22,7 +22,7 @@ scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover" scroll-zkvm-prover-euclidv2 = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.1-rc.3", package = "scroll-zkvm-prover" } ethers-core = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } ethers-providers = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } -scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "36f1808", features = [ +scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "e27915b", features = [ "openvm", ] } sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "zkvm/euclid-v2", features = [ From 3ee2d2b39c45a784db608a861219e631af656930 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Tue, 18 Mar 2025 01:30:00 +0800 Subject: [PATCH 058/132] tweaks --- common/types/message/message.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index 40bc7d495f..1865a872c4 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -63,11 +63,11 @@ func (e Byte48) MarshalText() ([]byte, error) { // overrite encode big if sign := i.Sign(); sign < 0 { // sanity check - return nil, fmt.Errorf("Byte48 must be positive integer") + return nil, errors.New("Byte48 must be positive integer") } else { s := i.Text(16) if len(s) > 96 { - return nil, fmt.Errorf("Integer Exceed 384bit") + return nil, errors.New("integer Exceed 384bit") } return []byte(fmt.Sprintf("0x%0*s", 96, s)), nil } @@ -80,7 +80,7 @@ func isString(input []byte) bool { // hexutil.Big has limition of 256bit so we have to override it ... func (e *Byte48) UnmarshalJSON(input []byte) error { if !isString(input) { - return fmt.Errorf("not hex string") + return errors.New("not hex string") } b, err := hexutil.Decode(string(input[1 : len(input)-1])) From e3332885edafb361e4815bdabcf9a93f7b7e00ba Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Tue, 18 Mar 2025 11:35:12 +0800 Subject: [PATCH 059/132] merge message.LegacyChunkTaskDetail and message.EuclidV2ChunkTaskDetail --- common/types/message/message.go | 9 ++----- .../logic/provertask/chunk_prover_task.go | 27 ++++++------------- 2 files changed, 10 insertions(+), 26 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index 1865a872c4..b5e98e6b9d 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -42,13 +42,8 @@ const ( ProofTypeBundle ) -// LegacyChunkTaskDetail is a type containing ChunkTask detail. -type LegacyChunkTaskDetail struct { - BlockHashes []common.Hash `json:"block_hashes"` -} - -// EuclidV2ChunkTaskDetail is a type containing ChunkTask detail for euclid v2 chunk task. -type EuclidV2ChunkTaskDetail struct { +// ChunkTaskDetail is a type containing ChunkTask detail for chunk task. +type ChunkTaskDetail struct { BlockHashes []common.Hash `json:"block_hashes"` PrevMsgQueueHash common.Hash `json:"prev_msg_queue_hash"` } diff --git a/coordinator/internal/logic/provertask/chunk_prover_task.go b/coordinator/internal/logic/provertask/chunk_prover_task.go index 36a78ed2ea..0d9f6cd70d 100644 --- a/coordinator/internal/logic/provertask/chunk_prover_task.go +++ b/coordinator/internal/logic/provertask/chunk_prover_task.go @@ -188,25 +188,14 @@ func (cp *ChunkProverTask) formatProverTask(ctx context.Context, task *orm.Prove } var taskDetailBytes []byte - if hardForkName == message.EuclidV2Fork { - taskDetail := message.EuclidV2ChunkTaskDetail{ - BlockHashes: blockHashes, - PrevMsgQueueHash: common.HexToHash(chunk.PrevL1MessageQueueHash), - } - var err error - taskDetailBytes, err = json.Marshal(taskDetail) - if err != nil { - return nil, fmt.Errorf("failed to marshal block hashes hash:%s, err:%w", task.TaskID, err) - } - } else { - taskDetail := message.LegacyChunkTaskDetail{ - BlockHashes: blockHashes, - } - var err error - taskDetailBytes, err = json.Marshal(taskDetail) - if err != nil { - return nil, fmt.Errorf("failed to marshal block hashes hash:%s, err:%w", task.TaskID, err) - } + taskDetail := message.ChunkTaskDetail{ + BlockHashes: blockHashes, + PrevMsgQueueHash: common.HexToHash(chunk.PrevL1MessageQueueHash), + } + var err error + taskDetailBytes, err = json.Marshal(taskDetail) + if err != nil { + return nil, fmt.Errorf("failed to marshal block hashes hash:%s, err:%w", task.TaskID, err) } proverTaskSchema := &coordinatorType.GetTaskSchema{ From b3e46673f64f3642448439770a93856818f65add Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Tue, 18 Mar 2025 13:50:15 +0800 Subject: [PATCH 060/132] remove FIXME --- coordinator/internal/logic/provertask/batch_prover_task.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 00a4aca93f..4079d746b5 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -293,6 +293,6 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []* // | bytes32 | bytes32 | bytes48 | bytes48 | taskDetail.KzgProof = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[112:160]))} taskDetail.KzgCommitment = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[64:112]))} - taskDetail.ChallengeDigest = common.BytesToHash(dbBatch.BlobDataProof[0:32]) // FIXME: Challenge = ChallengeDigest % BLS_MODULUS, get the original ChallengeDigest. + taskDetail.ChallengeDigest = common.BytesToHash(dbBatch.BlobDataProof[0:32]) return taskDetail, nil } From ed057286d9761a23eb4c219db08764c5d674ef53 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Tue, 18 Mar 2025 18:40:20 +0800 Subject: [PATCH 061/132] add back fixme --- coordinator/internal/logic/provertask/batch_prover_task.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 4079d746b5..85c317019f 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -293,6 +293,8 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []* // | bytes32 | bytes32 | bytes48 | bytes48 | taskDetail.KzgProof = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[112:160]))} taskDetail.KzgCommitment = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[64:112]))} + // FIXME: Challenge = ChallengeDigest % BLS_MODULUS, get the original ChallengeDigest. + // Currently this is bypassed by disabling the sanity checks in the prover. taskDetail.ChallengeDigest = common.BytesToHash(dbBatch.BlobDataProof[0:32]) return taskDetail, nil } From d0cb8b9aa50c0ce111996d85280c2867b33b3c2b Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Wed, 19 Mar 2025 18:31:49 +0800 Subject: [PATCH 062/132] apply changes for sanity checks --- common/types/message/message.go | 6 +++--- coordinator/internal/logic/provertask/batch_prover_task.go | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index b5e98e6b9d..e6579d6992 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -97,9 +97,9 @@ type BatchTaskDetail struct { ChunkProofs []ChunkProof `json:"chunk_proofs"` BatchHeader interface{} `json:"batch_header"` BlobBytes []byte `json:"blob_bytes"` - KzgProof Byte48 `json:"kzg_proof"` - KzgCommitment Byte48 `json:"kzg_commitment"` - ChallengeDigest common.Hash `json:"challenge_digest"` + KzgProof Byte48 `json:"kzg_proof,omitempty"` + KzgCommitment Byte48 `json:"kzg_commitment,omitempty"` + ChallengeDigest common.Hash `json:"challenge_digest,omitempty"` } // BundleTaskDetail consists of all the information required to describe the task to generate a proof for a bundle of batches. diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 85c317019f..79d4f7c4a3 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -294,7 +294,9 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []* taskDetail.KzgProof = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[112:160]))} taskDetail.KzgCommitment = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[64:112]))} // FIXME: Challenge = ChallengeDigest % BLS_MODULUS, get the original ChallengeDigest. - // Currently this is bypassed by disabling the sanity checks in the prover. + // Simply omit the field now to skip sanity check in prover side + // Resume it later (or FIXME has worked or the prover side has relax its checking) + // taskDetail.ChallengeDigest = common.BytesToHash(dbBatch.BlobDataProof[0:32]) taskDetail.ChallengeDigest = common.BytesToHash(dbBatch.BlobDataProof[0:32]) return taskDetail, nil } From 77dceaea353840d120178c923d307b5d68ac2647 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Wed, 19 Mar 2025 23:05:48 +0800 Subject: [PATCH 063/132] fix --- common/types/message/message.go | 2 +- coordinator/internal/logic/provertask/batch_prover_task.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index e6579d6992..2bc11138fb 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -99,7 +99,7 @@ type BatchTaskDetail struct { BlobBytes []byte `json:"blob_bytes"` KzgProof Byte48 `json:"kzg_proof,omitempty"` KzgCommitment Byte48 `json:"kzg_commitment,omitempty"` - ChallengeDigest common.Hash `json:"challenge_digest,omitempty"` + ChallengeDigest *common.Hash `json:"challenge_digest,omitempty"` } // BundleTaskDetail consists of all the information required to describe the task to generate a proof for a bundle of batches. diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 79d4f7c4a3..c4aa982361 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -296,7 +296,7 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []* // FIXME: Challenge = ChallengeDigest % BLS_MODULUS, get the original ChallengeDigest. // Simply omit the field now to skip sanity check in prover side // Resume it later (or FIXME has worked or the prover side has relax its checking) - // taskDetail.ChallengeDigest = common.BytesToHash(dbBatch.BlobDataProof[0:32]) - taskDetail.ChallengeDigest = common.BytesToHash(dbBatch.BlobDataProof[0:32]) + // taskDetail.ChallengeDigest = new(common.Hash) + // *taskDetail.ChallengeDigest = common.BytesToHash(dbBatch.BlobDataProof[0:32]) return taskDetail, nil } From b73acca200918d0d05de4d7c1f367dc5a4acacde Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 20 Mar 2025 19:01:56 +0800 Subject: [PATCH 064/132] update scroll-proving-sdk commit --- zkvm-prover/Cargo.lock | 1801 +++++++++++++++++++++++++--------------- zkvm-prover/Cargo.toml | 2 +- 2 files changed, 1110 insertions(+), 693 deletions(-) diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index 4998621041..9410d8becc 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -48,7 +48,7 @@ dependencies = [ "cfg-if", "once_cell", "version_check", - "zerocopy", + "zerocopy 0.7.35", ] [[package]] @@ -91,9 +91,9 @@ dependencies = [ [[package]] name = "alloy-chains" -version = "0.1.63" +version = "0.1.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "996564c1782285d4e0299c29b318bc74f24b1d7f456cef3e040810b061ee3256" +checksum = "f8e42c54af787e3521229df1787d7b8300910dc6d9d04d378eb593b26388bd11" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -151,7 +151,7 @@ dependencies = [ "alloy-transport", "futures", "futures-util", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -181,7 +181,7 @@ dependencies = [ "itoa", "serde", "serde_json", - "winnow 0.7.3", + "winnow 0.7.4", ] [[package]] @@ -194,7 +194,7 @@ dependencies = [ "alloy-rlp", "crc", "serde", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -232,7 +232,7 @@ dependencies = [ "k256", "serde", "serde_with", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -290,7 +290,7 @@ dependencies = [ "alloy-sol-types", "serde", "serde_json", - "thiserror 2.0.11", + "thiserror 2.0.12", "tracing", ] @@ -316,7 +316,7 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -344,13 +344,13 @@ dependencies = [ "derive_more 1.0.0", "foldhash", "hashbrown 0.15.2", - "indexmap 2.7.1", + "indexmap 2.8.0", "itoa", "k256", "keccak-asm", "paste", "proptest", - "rand", + "rand 0.8.5", "rkyv", "ruint", "rustc-hash 2.1.1", @@ -386,10 +386,10 @@ dependencies = [ "lru", "parking_lot 0.12.3", "pin-project", - "reqwest 0.12.12", + "reqwest 0.12.15", "serde", "serde_json", - "thiserror 2.0.11", + "thiserror 2.0.12", "tokio", "tracing", "url", @@ -415,7 +415,7 @@ checksum = "a40e1ef334153322fd878d07e86af7a529bcb86b2439525920a88eba87bcf943" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -430,7 +430,7 @@ dependencies = [ "alloy-transport-http", "futures", "pin-project", - "reqwest 0.12.12", + "reqwest 0.12.15", "serde", "serde_json", "tokio", @@ -496,7 +496,7 @@ dependencies = [ "itertools 0.14.0", "serde", "serde_json", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -533,7 +533,7 @@ dependencies = [ "either", "elliptic-curve", "k256", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -548,8 +548,8 @@ dependencies = [ "alloy-signer", "async-trait", "k256", - "rand", - "thiserror 2.0.11", + "rand 0.8.5", + "thiserror 2.0.12", ] [[package]] @@ -563,7 +563,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -576,11 +576,11 @@ dependencies = [ "alloy-sol-macro-input", "const-hex", "heck 0.5.0", - "indexmap 2.7.1", + "indexmap 2.8.0", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", "syn-solidity", "tiny-keccak", ] @@ -598,18 +598,18 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.98", + "syn 2.0.100", "syn-solidity", ] [[package]] name = "alloy-sol-type-parser" -version = "0.8.22" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c649acc6c9d3893e392c737faeadce30b4a1751eed148ae43bc2f27f29c4480c" +checksum = "488a747fdcefeec5c1ed5aa9e08becd775106777fdeae2a35730729fc8a95910" dependencies = [ "serde", - "winnow 0.7.3", + "winnow 0.7.4", ] [[package]] @@ -636,7 +636,7 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.11", + "thiserror 2.0.12", "tokio", "tower 0.5.2", "tracing", @@ -652,7 +652,7 @@ checksum = "20819c4cb978fb39ce6ac31991ba90f386d595f922f42ef888b4a18be190713e" dependencies = [ "alloy-json-rpc", "alloy-transport", - "reqwest 0.12.12", + "reqwest 0.12.15", "serde_json", "tower 0.5.2", "tracing", @@ -751,9 +751,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.96" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b964d184e89d9b6b67dd2715bc8e74cf3107fb2b529990c90cf517326150bf4" +checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" [[package]] name = "approx" @@ -876,7 +876,7 @@ checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ "colored", "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -886,7 +886,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -906,9 +906,9 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.19" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06575e6a9673580f52661c92107baabffbf41e2141373441cbcdc47cb733003c" +checksum = "c0cf008e5e1a9e9e22a7d3c9a4992e21a350290069e36d8fb72304ed17e8f2d2" dependencies = [ "flate2", "futures-core", @@ -936,18 +936,18 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "async-trait" -version = "0.1.86" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -985,7 +985,7 @@ checksum = "e12882f59de5360c748c4cbf569a042d5fb0eb515f7bea9c1f470b47f6ffbd73" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -1085,9 +1085,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.6.0" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" [[package]] name = "bincode" @@ -1104,10 +1104,10 @@ version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "cexpr", "clang-sys", - "itertools 0.11.0", + "itertools 0.12.1", "lazy_static", "lazycell", "proc-macro2", @@ -1115,7 +1115,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -1135,14 +1135,28 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitcode" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18c1406a27371b2f76232a2259df6ab607b91b5a0a7476a7729ff590df5a969a" +checksum = "cf300f4aa6e66f3bdff11f1236a88c622fe47ea814524792240b4d554d9858ee" dependencies = [ + "arrayvec", + "bitcode_derive", "bytemuck", + "glam 0.30.1", "serde", ] +[[package]] +name = "bitcode_derive" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42b6b4cb608b8282dc3b53d0f4c9ab404655d562674c682db7e6c0458cc83c23" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -1151,9 +1165,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" dependencies = [ "serde", ] @@ -1199,9 +1213,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "675f87afced0413c9bb02843499dbbd3882a237645883f71a2b59644a6d2f753" +checksum = "b17679a8d69b6d7fd9cd9801a536cec9fa5e5970b69f9d4747f70b39b031f5e7" dependencies = [ "arrayref", "arrayvec", @@ -1228,7 +1242,7 @@ dependencies = [ "ff 0.12.1", "group 0.12.1", "pairing 0.22.0", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -1246,9 +1260,9 @@ dependencies = [ [[package]] name = "bon" -version = "3.3.2" +version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7acc34ff59877422326db7d6f2d845a582b16396b6b08194942bf34c6528ab" +checksum = "65268237be94042665b92034f979c42d431d2fd998b49809543afe3e66abad1c" dependencies = [ "bon-macros", "rustversion", @@ -1256,9 +1270,9 @@ dependencies = [ [[package]] name = "bon-macros" -version = "3.3.2" +version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4159dd617a7fbc9be6a692fe69dc2954f8e6bb6bb5e4d7578467441390d77fd0" +checksum = "803c95b2ecf650eb10b5f87dda6b9f6a1b758cee53245e2b7b825c9b3803a443" dependencies = [ "darling", "ident_case", @@ -1266,7 +1280,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -1277,9 +1291,9 @@ checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "byte-slice-cast" -version = "1.2.2" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" +checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" [[package]] name = "bytecheck" @@ -1301,27 +1315,27 @@ checksum = "efb7846e0cb180355c2dec69e721edafa36919850f1a9f52ffba4ebc0393cb71" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "bytemuck" -version = "1.21.0" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" +checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.8.1" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a" +checksum = "2ff22c2722516255d1823ce3cc4bc0b154dbc9364be5c905d6baa6eccbbc8774" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -1332,21 +1346,20 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" dependencies = [ "serde", ] [[package]] name = "bzip2-sys" -version = "0.1.12+1.0.8" +version = "0.1.13+1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ebc2f1a417f01e1da30ef264ee86ae31d2dcd2d603ea283d3c244a883ca2a9" +checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" dependencies = [ "cc", - "libc", "pkg-config", ] @@ -1391,7 +1404,7 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.25", + "semver 1.0.26", "serde", "serde_json", "thiserror 1.0.69", @@ -1399,9 +1412,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.15" +version = "1.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c736e259eea577f443d5c86c304f9f4ae0295c43f3ba05c21f1d66b5f06001af" +checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" dependencies = [ "jobserver", "libc", @@ -1467,9 +1480,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.31" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "027bb0d98429ae334a8698531da7077bdf906419543a35a55c2cb1b66437d767" +checksum = "6088f3ae8c3608d19260cd7445411865a485688711b78b5be70d78cd96136f83" dependencies = [ "clap_builder", "clap_derive", @@ -1477,9 +1490,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.31" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5589e0cba072e0f3d23791efac0fd8627b49c829c196a492e88168e6a669d863" +checksum = "22a7ef7f676155edfb82daa97f99441f3ebf4a58d5e32f295a56259f1b6facc8" dependencies = [ "anstream", "anstyle", @@ -1489,14 +1502,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.28" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" +checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -1518,7 +1531,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1705,7 +1718,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array", - "rand_core", + "rand_core 0.6.4", "subtle", "zeroize", ] @@ -1727,7 +1740,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" dependencies = [ "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -1760,7 +1773,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "039f79662cb8f890cbf335e818cd522d6e3a53fe63f61d1aaaf859cd3d975f06" dependencies = [ "cust_derive", - "glam", + "glam 0.20.5", "mint", "vek", ] @@ -1806,7 +1819,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -1817,7 +1830,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -1852,9 +1865,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", "serde", @@ -1879,7 +1892,7 @@ checksum = "d150dea618e920167e5973d70ae6ece4385b7164e0d799fe7c122dd0a5d912ad" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -1890,7 +1903,7 @@ checksum = "2cdc8d50f426189eef89dac62fabfa0abb27d5cc008f25bf4156a0203325becc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -1903,7 +1916,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.1", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -1924,7 +1937,7 @@ dependencies = [ "convert_case 0.6.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", "unicode-xid", ] @@ -1987,7 +2000,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -2010,9 +2023,9 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feeef44e73baff3a26d371801df019877a9866a8c493d315ab00177843314f35" +checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" [[package]] name = "ecdsa" @@ -2031,9 +2044,9 @@ dependencies = [ [[package]] name = "either" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7914353092ddf589ad78f25c5c1c21b7f80b0ff8621e7c814c3485b5306da9d" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "elf" @@ -2050,11 +2063,11 @@ dependencies = [ "base16ct", "crypto-bigint", "digest 0.10.7", - "ff 0.13.0", + "ff 0.13.1", "generic-array", "group 0.13.0", "pkcs8", - "rand_core", + "rand_core 0.6.4", "sec1", "serdect", "subtle", @@ -2087,7 +2100,7 @@ dependencies = [ "hex", "k256", "log", - "rand", + "rand 0.8.5", "rlp", "serde", "sha3", @@ -2103,7 +2116,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -2114,7 +2127,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -2129,14 +2142,14 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.11.6" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0" +checksum = "c3716d7a920fb4fac5d84e9d4bce8ceb321e9414b4409da61b07b75c1e3d0697" dependencies = [ "anstream", "anstyle", "env_filter", - "humantime", + "jiff", "log", ] @@ -2153,7 +2166,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2168,7 +2181,7 @@ dependencies = [ "hex", "hmac", "pbkdf2", - "rand", + "rand 0.8.5", "scrypt", "serde", "serde_json", @@ -2241,7 +2254,7 @@ dependencies = [ "k256", "num_enum 0.6.1", "open-fastrlp", - "rand", + "rand 0.8.5", "rlp", "serde", "serde_json", @@ -2322,31 +2335,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ "bitvec", - "rand_core", + "rand_core 0.6.4", "subtle", ] [[package]] name = "ff" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ "bitvec", "byteorder", "ff_derive", - "rand_core", + "rand_core 0.6.4", "subtle", ] [[package]] name = "ff_derive" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f54704be45ed286151c5e11531316eaef5b8f5af7d597b806fdb8af108d84a" +checksum = "f10d12652036b0e99197587c6ba87a8fc3031986499973c030d8b44fcc151b60" dependencies = [ "addchain", - "cfg-if", "num-bigint 0.3.3", "num-integer", "num-traits", @@ -2371,7 +2383,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand", + "rand 0.8.5", "rustc-hex", "static_assertions", ] @@ -2394,9 +2406,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "foreign-types" @@ -2494,7 +2506,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -2584,14 +2596,16 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" dependencies = [ "cfg-if", + "js-sys", "libc", - "wasi 0.13.3+wasi-0.2.2", - "windows-targets 0.52.6", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", + "wasm-bindgen", ] [[package]] @@ -2603,7 +2617,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -2629,7 +2643,7 @@ checksum = "53010ccb100b96a67bc32c0175f0ed1426b31b655d562898e57325f81c023ac0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -2641,6 +2655,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "glam" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf3aa70d918d2b234126ff4f850f628f172542bf0603ded26b8ee36e5e22d5f9" + [[package]] name = "glob" version = "0.3.2" @@ -2667,7 +2687,7 @@ checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ "ff 0.12.1", "memuse", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -2677,8 +2697,8 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ - "ff 0.13.0", - "rand_core", + "ff 0.13.1", + "rand_core 0.6.4", "subtle", ] @@ -2694,7 +2714,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.7.1", + "indexmap 2.8.0", "slab", "tokio", "tokio-util", @@ -2712,8 +2732,8 @@ dependencies = [ "fnv", "futures-core", "futures-sink", - "http 1.2.0", - "indexmap 2.7.1", + "http 1.3.1", + "indexmap 2.8.0", "slab", "tokio", "tokio-util", @@ -2737,14 +2757,14 @@ checksum = "9f81aee7974478f9e3ea0cfd349d2a59a3482f7844386486a98e4af9ed8bada6" dependencies = [ "blake2b_simd", "crossbeam", - "ff 0.13.0", + "ff 0.13.1", "group 0.13.0", "halo2curves-axiom 0.7.0", "itertools 0.11.0", "maybe-rayon", "pairing 0.23.0", - "rand", - "rand_core", + "rand 0.8.5", + "rand_core 0.6.4", "rayon", "rustc-hash 1.1.0", "sha3", @@ -2764,7 +2784,7 @@ dependencies = [ "num-integer", "num-traits", "poseidon-primitives", - "rand_chacha", + "rand_chacha 0.3.1", "rayon", "rustc-hash 1.1.0", "serde", @@ -2781,9 +2801,9 @@ dependencies = [ "num-bigint 0.4.6", "num-integer", "num-traits", - "rand", - "rand_chacha", - "rand_core", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_core 0.6.4", "rayon", "serde", "serde_json", @@ -2800,7 +2820,7 @@ dependencies = [ "ff 0.12.1", "group 0.12.1", "pasta_curves 0.4.1", - "rand_core", + "rand_core 0.6.4", "rayon", ] @@ -2812,7 +2832,7 @@ checksum = "b756596082144af6e57105a20403b7b80fe9dccd085700b74fae3af523b74dba" dependencies = [ "blake2", "digest 0.10.7", - "ff 0.13.0", + "ff 0.13.1", "group 0.13.0", "halo2derive", "hex", @@ -2822,8 +2842,8 @@ dependencies = [ "num-traits", "pairing 0.23.0", "paste", - "rand", - "rand_core", + "rand 0.8.5", + "rand_core 0.6.4", "rayon", "serde", "serde_arrays", @@ -2841,7 +2861,7 @@ checksum = "75bb262279138550a603b35a73da944fcde987a321eb550c05276ce7b0a4e692" dependencies = [ "blake2b_simd", "digest 0.10.7", - "ff 0.13.0", + "ff 0.13.1", "group 0.13.0", "hex", "lazy_static", @@ -2851,8 +2871,8 @@ dependencies = [ "pairing 0.23.0", "pasta_curves 0.5.1", "paste", - "rand", - "rand_core", + "rand 0.8.5", + "rand_core 0.6.4", "serde", "serde_arrays", "sha2", @@ -2868,7 +2888,7 @@ checksum = "dd8309e4638b4f1bcf6613d72265a84074d26034c35edc5d605b5688e580b8b8" dependencies = [ "blake2b_simd", "digest 0.10.7", - "ff 0.13.0", + "ff 0.13.1", "group 0.13.0", "hex", "lazy_static", @@ -2877,8 +2897,8 @@ dependencies = [ "pairing 0.23.0", "pasta_curves 0.5.1", "paste", - "rand", - "rand_core", + "rand 0.8.5", + "rand_core 0.6.4", "rayon", "serde", "serde_arrays", @@ -3003,9 +3023,9 @@ dependencies = [ [[package]] name = "http" -version = "1.2.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ "bytes", "fnv", @@ -3030,27 +3050,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.2.0", + "http 1.3.1", ] [[package]] name = "http-body-util" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", - "futures-util", - "http 1.2.0", + "futures-core", + "http 1.3.1", "http-body 1.0.1", "pin-project-lite", ] [[package]] name = "httparse" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "httpdate" @@ -3058,12 +3078,6 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - [[package]] name = "hyper" version = "0.14.32" @@ -3098,7 +3112,7 @@ dependencies = [ "futures-channel", "futures-util", "h2 0.4.8", - "http 1.2.0", + "http 1.3.1", "http-body 1.0.1", "httparse", "itoa", @@ -3129,13 +3143,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", - "http 1.2.0", + "http 1.3.1", "hyper 1.6.0", "hyper-util", - "rustls 0.23.23", + "rustls 0.23.25", "rustls-pki-types", "tokio", - "tokio-rustls 0.26.1", + "tokio-rustls 0.26.2", "tower-service", "webpki-roots 0.26.8", ] @@ -3165,7 +3179,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.2.0", + "http 1.3.1", "http-body 1.0.1", "hyper 1.6.0", "pin-project-lite", @@ -3313,7 +3327,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -3378,7 +3392,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -3400,9 +3414,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" +checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -3460,6 +3474,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itertools" version = "0.13.0" @@ -3480,9 +3503,33 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "jiff" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d699bc6dfc879fb1bf9bdff0d4c56f0884fc6f0d0eb0fba397a6d00cd9a6b85e" +dependencies = [ + "jiff-static", + "log", + "portable-atomic", + "portable-atomic-util", + "serde", +] + +[[package]] +name = "jiff-static" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d16e75759ee0aa64c57a56acbf43916987b20c77373cb7e808979e02b93c9f9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] [[package]] name = "jobserver" @@ -3513,7 +3560,7 @@ dependencies = [ "bls12_381", "ff 0.12.1", "group 0.12.1", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -3568,9 +3615,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.170" +version = "0.2.171" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828" +checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" [[package]] name = "libloading" @@ -3594,7 +3641,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "libc", ] @@ -3615,9 +3662,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.21" +version = "1.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df9b68e50e6e0b26f672573834882eb57759f6db9b3be2ea3c35c91188bb4eaa" +checksum = "8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d" dependencies = [ "cc", "pkg-config", @@ -3630,6 +3677,12 @@ version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" +[[package]] +name = "linux-raw-sys" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" + [[package]] name = "litemap" version = "0.7.5" @@ -3768,7 +3821,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -3777,7 +3830,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62a6a1f7141f1d9bc7a886b87536bbfc97752e08b369e1e0453a9acfab5f5da4" dependencies = [ - "indexmap 2.7.1", + "indexmap 2.8.0", "itoa", "lockfree-object-pool", "metrics 0.23.0", @@ -3798,7 +3851,7 @@ dependencies = [ "crossbeam-epoch", "crossbeam-utils", "hashbrown 0.14.5", - "indexmap 2.7.1", + "indexmap 2.8.0", "metrics 0.23.0", "num_cpus", "ordered-float", @@ -3883,7 +3936,7 @@ checksum = "1bb5c1d8184f13f7d0ccbeeca0def2f9a181bce2624302793005f5ca8aa62e5e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -3988,7 +4041,7 @@ checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", - "rand", + "rand 0.8.5", "serde", ] @@ -4085,7 +4138,7 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4096,7 +4149,7 @@ checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4108,7 +4161,7 @@ dependencies = [ "num-bigint 0.4.6", "num-integer", "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -4135,9 +4188,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.3" +version = "1.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" +checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" dependencies = [ "critical-section", "portable-atomic", @@ -4145,9 +4198,9 @@ dependencies = [ [[package]] name = "op-alloy-consensus" -version = "0.10.7" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed6cad421e41d400667a06df8bd306dd316c3e1fed803df065b1c65d7de6795" +checksum = "a9ddc5e1dcd2967e8325ab06ed52a2c7cfa562a6dd31ffc9f64e7075bba9f221" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4157,7 +4210,7 @@ dependencies = [ "derive_more 1.0.0", "serde", "serde_with", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -4191,7 +4244,7 @@ version = "0.10.71" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "cfg-if", "foreign-types", "libc", @@ -4208,7 +4261,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4238,7 +4291,7 @@ dependencies = [ "hex-literal", "num-bigint 0.4.6", "num-traits", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-platform", "openvm-rv32im-guest", "serde", ] @@ -4264,7 +4317,7 @@ dependencies = [ "openvm-rv32im-circuit", "openvm-stark-backend", "openvm-stark-sdk", - "rand", + "rand 0.8.5", "serde", "serde-big-array", "serde_with", @@ -4279,7 +4332,7 @@ source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c0 dependencies = [ "openvm-macros-common", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4292,7 +4345,7 @@ dependencies = [ "openvm", "openvm-algebra-complex-macros", "openvm-algebra-moduli-macros", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-platform", "serde", "serde-big-array", "strum_macros 0.26.4", @@ -4305,7 +4358,7 @@ source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c0 dependencies = [ "openvm-macros-common", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4341,7 +4394,7 @@ dependencies = [ "openvm-rv32im-transpiler", "openvm-stark-backend", "openvm-stark-sdk", - "rand", + "rand 0.8.5", "serde", ] @@ -4353,7 +4406,7 @@ dependencies = [ "num-bigint 0.4.6", "num-traits", "openvm", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-platform", "serde", "strum_macros 0.26.4", ] @@ -4382,7 +4435,7 @@ dependencies = [ "dirs", "eyre", "hex", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-platform", "serde", "serde_json", "tempfile", @@ -4413,9 +4466,9 @@ dependencies = [ "openvm-instructions", "openvm-poseidon2-air", "openvm-stark-backend", - "p3-baby-bear", - "p3-symmetric", - "rand", + "p3-baby-bear 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", "rayon", "rustc-hash 2.1.1", "serde", @@ -4434,7 +4487,7 @@ dependencies = [ "itertools 0.13.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4450,7 +4503,7 @@ dependencies = [ "num-traits", "openvm-circuit-primitives-derive", "openvm-stark-backend", - "rand", + "rand 0.8.5", "serde", "tracing", ] @@ -4463,17 +4516,7 @@ dependencies = [ "itertools 0.13.0", "proc-macro2", "quote", - "syn 2.0.98", -] - -[[package]] -name = "openvm-custom-insn" -version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.0.0-rc.1#30576cc6ce838f213bf05b2e4ad035d95498c8b3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4483,7 +4526,7 @@ source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c0 dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4536,10 +4579,10 @@ dependencies = [ "openvm-algebra-guest", "openvm-algebra-moduli-macros", "openvm-ecc-sw-macros", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-platform", "openvm-rv32im-guest", "p256", - "rand", + "rand 0.8.5", "serde", "strum_macros 0.26.4", ] @@ -4551,7 +4594,7 @@ source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c0 dependencies = [ "openvm-macros-common", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4592,7 +4635,7 @@ source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c0 dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4616,7 +4659,7 @@ dependencies = [ "openvm-stark-backend", "openvm-stark-sdk", "p3-keccak-air", - "rand", + "rand 0.8.5", "serde", "serde-big-array", "strum 0.26.3", @@ -4629,7 +4672,7 @@ name = "openvm-keccak256-guest" version = "1.0.0-rc.1" source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" dependencies = [ - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-platform", "serde", "tiny-keccak", ] @@ -4653,7 +4696,7 @@ name = "openvm-macros-common" version = "1.0.0-rc.1" source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" dependencies = [ - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4669,7 +4712,7 @@ dependencies = [ "openvm-instructions", "openvm-stark-backend", "openvm-stark-sdk", - "rand", + "rand 0.8.5", "serde", "serde_with", "tracing", @@ -4695,7 +4738,7 @@ dependencies = [ "openvm-rv32im-circuit", "openvm-stark-backend", "openvm-stark-sdk", - "rand", + "rand 0.8.5", "serde", "serde-big-array", "static_assertions", @@ -4734,7 +4777,7 @@ source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c0 dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4753,11 +4796,11 @@ dependencies = [ "openvm-native-compiler-derive", "openvm-stark-backend", "openvm-stark-sdk", - "p3-dft", + "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", "p3-fri", "p3-merkle-tree", - "p3-symmetric", - "rand", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", "serde", "serde_json", "snark-verifier-sdk", @@ -4790,7 +4833,7 @@ dependencies = [ "openvm-rv32-adapters", "openvm-rv32im-circuit", "openvm-stark-backend", - "rand", + "rand 0.8.5", "serde", "strum 0.26.3", ] @@ -4813,9 +4856,9 @@ dependencies = [ "openvm-algebra-moduli-macros", "openvm-ecc-guest", "openvm-ecc-sw-macros", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-platform", "openvm-rv32im-guest", - "rand", + "rand 0.8.5", "serde", "strum_macros 0.26.4", ] @@ -4834,16 +4877,6 @@ dependencies = [ "strum 0.26.3", ] -[[package]] -name = "openvm-platform" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.0.0-rc.1#30576cc6ce838f213bf05b2e4ad035d95498c8b3" -dependencies = [ - "openvm-custom-insn 0.1.0 (git+https://github.com/openvm-org/openvm.git?tag=v1.0.0-rc.1)", - "stability", - "strum_macros 0.26.4", -] - [[package]] name = "openvm-platform" version = "1.0.0-rc.1" @@ -4851,7 +4884,7 @@ source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c0 dependencies = [ "getrandom 0.2.15", "libm", - "openvm-custom-insn 0.1.0 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-custom-insn", "stability", "strum_macros 0.26.4", ] @@ -4867,11 +4900,11 @@ dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", "openvm-stark-sdk", - "p3-monty-31", - "p3-poseidon2", + "p3-monty-31 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", "p3-poseidon2-air", - "p3-symmetric", - "rand", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", "tracing", "zkhash", ] @@ -4890,7 +4923,7 @@ dependencies = [ "openvm-rv32im-circuit", "openvm-stark-backend", "openvm-stark-sdk", - "rand", + "rand 0.8.5", "serde", "serde-big-array", "serde_with", @@ -4917,7 +4950,7 @@ dependencies = [ "openvm-instructions", "openvm-rv32im-transpiler", "openvm-stark-backend", - "rand", + "rand 0.8.5", "serde", "serde-big-array", "strum 0.26.3", @@ -4929,7 +4962,7 @@ name = "openvm-rv32im-guest" version = "1.0.0-rc.1" source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" dependencies = [ - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-platform", "strum_macros 0.26.4", ] @@ -4999,7 +5032,7 @@ source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c0 dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", - "rand", + "rand 0.8.5", "sha2", ] @@ -5021,7 +5054,7 @@ dependencies = [ "openvm-sha256-transpiler", "openvm-stark-backend", "openvm-stark-sdk", - "rand", + "rand 0.8.5", "serde", "sha2", "strum 0.26.3", @@ -5033,7 +5066,7 @@ version = "1.0.0-rc.1" source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" dependencies = [ "openvm", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-platform", "sha2", ] @@ -5053,26 +5086,26 @@ dependencies = [ [[package]] name = "openvm-stark-backend" -version = "1.0.0-rc.0" -source = "git+ssh://git@github.com/scroll-tech/openvm-stark-gpu.git?branch=main#49db21be4060fe5430d02f5b5f59b36e3af2f7d4" +version = "1.0.0-rc.2" +source = "git+ssh://git@github.com/scroll-tech/openvm-stark-gpu.git?branch=main#482d7c8e3751d651fa0cda6de49b61c47d13a686" dependencies = [ - "async-trait", + "bitcode", "cfg-if", "derivative", "derive-new 0.7.0", - "itertools 0.13.0", + "itertools 0.14.0", "metrics 0.23.0", "p3-air", - "p3-challenger", - "p3-commit", - "p3-field", - "p3-gpu-backend", - "p3-gpu-base", + "p3-challenger 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-commit 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-gpu-backend 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-gpu-base 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", "p3-gpu-module", - "p3-matrix", - "p3-maybe-rayon", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", "p3-uni-stark", - "p3-util", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", "rayon", "rustc-hash 2.1.1", "serde", @@ -5082,30 +5115,30 @@ dependencies = [ [[package]] name = "openvm-stark-sdk" -version = "1.0.0-rc.0" -source = "git+ssh://git@github.com/scroll-tech/openvm-stark-gpu.git?branch=main#49db21be4060fe5430d02f5b5f59b36e3af2f7d4" +version = "1.0.0-rc.2" +source = "git+ssh://git@github.com/scroll-tech/openvm-stark-gpu.git?branch=main#482d7c8e3751d651fa0cda6de49b61c47d13a686" dependencies = [ "derivative", "derive_more 0.99.19", - "ff 0.13.0", - "itertools 0.13.0", + "ff 0.13.1", + "itertools 0.14.0", "metrics 0.23.0", "metrics-tracing-context", "metrics-util", "openvm-stark-backend", - "p3-baby-bear", + "p3-baby-bear 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", "p3-blake3", "p3-bn254-fr", - "p3-dft", + "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", "p3-fri", "p3-goldilocks", - "p3-gpu-backend", + "p3-gpu-backend 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", "p3-keccak", "p3-merkle-tree", "p3-poseidon", - "p3-poseidon2", - "p3-symmetric", - "rand", + "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", "serde", "serde_json", "static_assertions", @@ -5125,7 +5158,7 @@ dependencies = [ "elf", "eyre", "openvm-instructions", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-platform", "openvm-stark-backend", "rrs-lib", "strum 0.26.3", @@ -5169,105 +5202,177 @@ dependencies = [ [[package]] name = "p3-air" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "p3-field", - "p3-matrix", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", ] [[package]] name = "p3-baby-bear" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "p3-field", - "p3-mds", - "p3-monty-31", - "p3-poseidon2", - "p3-symmetric", - "rand", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-mds 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-monty-31 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "rand 0.8.5", + "serde", +] + +[[package]] +name = "p3-baby-bear" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +dependencies = [ + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-mds 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-monty-31 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", "serde", ] [[package]] name = "p3-blake3" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "blake3", - "p3-symmetric", - "p3-util", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", ] [[package]] name = "p3-bn254-fr" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "ff 0.13.0", + "ff 0.13.1", "halo2curves", "num-bigint 0.4.6", - "p3-field", - "p3-poseidon2", - "p3-symmetric", - "rand", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", "serde", ] [[package]] name = "p3-challenger" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +dependencies = [ + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "tracing", +] + +[[package]] +name = "p3-challenger" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "p3-field", - "p3-maybe-rayon", - "p3-symmetric", - "p3-util", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", "tracing", ] [[package]] name = "p3-commit" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "anyhow", - "itertools 0.13.0", - "p3-challenger", - "p3-dft", - "p3-field", - "p3-gpu-base", - "p3-matrix", - "p3-util", + "itertools 0.14.0", + "p3-challenger 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-gpu-base 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "serde", +] + +[[package]] +name = "p3-commit" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +dependencies = [ + "anyhow", + "itertools 0.14.0", + "p3-challenger 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-gpu-base 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", "serde", ] [[package]] name = "p3-dft" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "itertools 0.13.0", - "p3-field", - "p3-matrix", - "p3-maybe-rayon", - "p3-util", + "itertools 0.14.0", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "tracing", +] + +[[package]] +name = "p3-dft" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +dependencies = [ + "itertools 0.14.0", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", "tracing", ] [[package]] name = "p3-field" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", + "num-bigint 0.4.6", + "num-integer", + "num-traits", + "nums", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "rand 0.8.5", + "serde", + "tracing", +] + +[[package]] +name = "p3-field" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +dependencies = [ + "itertools 0.14.0", "num-bigint 0.4.6", "num-integer", "num-traits", "nums", - "p3-maybe-rayon", - "p3-util", - "rand", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", "serde", "tracing", ] @@ -5275,22 +5380,22 @@ dependencies = [ [[package]] name = "p3-fri" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "anyhow", - "itertools 0.13.0", - "p3-challenger", - "p3-commit", - "p3-dft", - "p3-field", - "p3-gpu-backend", - "p3-gpu-base", - "p3-interpolation", - "p3-matrix", - "p3-maybe-rayon", + "itertools 0.14.0", + "p3-challenger 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-commit 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-gpu-backend 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-gpu-base 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-interpolation 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", "p3-merkle-tree", - "p3-util", - "rand", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", "serde", "tracing", "zkhash", @@ -5299,50 +5404,87 @@ dependencies = [ [[package]] name = "p3-goldilocks" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "num-bigint 0.4.6", - "p3-dft", - "p3-field", - "p3-mds", + "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-mds 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", "p3-poseidon", - "p3-poseidon2", - "p3-symmetric", - "p3-util", - "rand", + "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", + "serde", +] + +[[package]] +name = "p3-gpu-backend" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +dependencies = [ + "anyhow", + "bytemuck", + "cc", + "cust", + "cust_raw", + "ff 0.13.1", + "itertools 0.13.0", + "lazy_static", + "ndarray", + "once_cell", + "p3-baby-bear 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-commit 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-gpu-base 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-gpu-build 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-interpolation 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "parking_lot 0.12.3", + "paste", + "rand 0.8.5", + "rand_core 0.6.4", + "rayon", "serde", + "sppark", + "tracing", + "transpose", ] [[package]] name = "p3-gpu-backend" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "anyhow", "bytemuck", "cc", "cust", "cust_raw", - "ff 0.13.0", + "ff 0.13.1", "itertools 0.13.0", "lazy_static", "ndarray", "once_cell", - "p3-baby-bear", - "p3-commit", - "p3-dft", - "p3-field", - "p3-gpu-base", - "p3-gpu-build", - "p3-interpolation", - "p3-matrix", - "p3-maybe-rayon", - "p3-poseidon2", - "p3-util", + "p3-baby-bear 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-commit 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-gpu-base 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-gpu-build 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-interpolation 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", "parking_lot 0.12.3", "paste", - "rand", - "rand_core", + "rand 0.8.5", + "rand_core 0.6.4", "rayon", "serde", "sppark", @@ -5353,7 +5495,7 @@ dependencies = [ [[package]] name = "p3-gpu-base" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "anyhow", "bytemuck", @@ -5361,21 +5503,51 @@ dependencies = [ "cust_raw", "hex", "lazy_static", - "p3-field", - "p3-matrix", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", "parking_lot 0.12.3", "tracing", ] +[[package]] +name = "p3-gpu-base" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +dependencies = [ + "anyhow", + "bytemuck", + "cust", + "cust_raw", + "hex", + "lazy_static", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "parking_lot 0.12.3", + "tracing", +] + +[[package]] +name = "p3-gpu-build" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +dependencies = [ + "cc", + "directories", + "hex", + "p3-gpu-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "sha2", + "tempfile", +] + [[package]] name = "p3-gpu-build" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "cc", "directories", "hex", - "p3-gpu-field", + "p3-gpu-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", "sha2", "tempfile", ] @@ -5383,56 +5555,72 @@ dependencies = [ [[package]] name = "p3-gpu-field" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" + +[[package]] +name = "p3-gpu-field" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" [[package]] name = "p3-gpu-module" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "itertools 0.13.0", - "p3-field", - "p3-gpu-base", - "p3-matrix", - "p3-util", + "itertools 0.14.0", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-gpu-base 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", "tracing", ] [[package]] name = "p3-interpolation" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +dependencies = [ + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", +] + +[[package]] +name = "p3-interpolation" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "p3-field", - "p3-matrix", - "p3-maybe-rayon", - "p3-util", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", ] [[package]] name = "p3-keccak" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "itertools 0.13.0", - "p3-field", - "p3-symmetric", - "p3-util", + "itertools 0.14.0", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", "tiny-keccak", ] [[package]] name = "p3-keccak-air" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "p3-air", - "p3-field", - "p3-gpu-backend", - "p3-matrix", - "p3-maybe-rayon", - "p3-util", - "rand", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-gpu-backend 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", "tracing", "zkhash", ] @@ -5440,13 +5628,28 @@ dependencies = [ [[package]] name = "p3-matrix" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "itertools 0.13.0", - "p3-field", - "p3-maybe-rayon", - "p3-util", - "rand", + "itertools 0.14.0", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "rand 0.8.5", + "serde", + "tracing", + "transpose", +] + +[[package]] +name = "p3-matrix" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +dependencies = [ + "itertools 0.14.0", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", "serde", "tracing", "transpose", @@ -5455,7 +5658,15 @@ dependencies = [ [[package]] name = "p3-maybe-rayon" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +dependencies = [ + "rayon", +] + +[[package]] +name = "p3-maybe-rayon" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "rayon", ] @@ -5463,32 +5674,46 @@ dependencies = [ [[package]] name = "p3-mds" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "itertools 0.13.0", - "p3-dft", - "p3-field", - "p3-matrix", - "p3-symmetric", - "p3-util", - "rand", + "itertools 0.14.0", + "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "rand 0.8.5", +] + +[[package]] +name = "p3-mds" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +dependencies = [ + "itertools 0.14.0", + "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", ] [[package]] name = "p3-merkle-tree" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "anyhow", - "itertools 0.13.0", - "p3-commit", - "p3-field", - "p3-gpu-base", - "p3-matrix", - "p3-maybe-rayon", - "p3-symmetric", - "p3-util", - "rand", + "itertools 0.14.0", + "p3-commit 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-gpu-base 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", "serde", "tracing", ] @@ -5496,19 +5721,40 @@ dependencies = [ [[package]] name = "p3-monty-31" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "num-bigint 0.4.6", - "p3-dft", - "p3-field", - "p3-matrix", - "p3-maybe-rayon", - "p3-mds", - "p3-poseidon2", - "p3-symmetric", - "p3-util", - "rand", + "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-mds 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "rand 0.8.5", + "serde", + "tracing", + "transpose", +] + +[[package]] +name = "p3-monty-31" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +dependencies = [ + "itertools 0.14.0", + "num-bigint 0.4.6", + "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-mds 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", "serde", "tracing", "transpose", @@ -5517,38 +5763,50 @@ dependencies = [ [[package]] name = "p3-poseidon" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "p3-field", - "p3-mds", - "p3-symmetric", - "rand", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-mds 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", ] [[package]] name = "p3-poseidon2" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "gcd", - "p3-field", - "p3-mds", - "p3-symmetric", - "rand", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-mds 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "rand 0.8.5", +] + +[[package]] +name = "p3-poseidon2" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +dependencies = [ + "gcd", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-mds 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", ] [[package]] name = "p3-poseidon2-air" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "p3-air", - "p3-field", - "p3-matrix", - "p3-maybe-rayon", - "p3-poseidon2", - "p3-util", - "rand", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "rand 0.8.5", "tikv-jemallocator", "tracing", ] @@ -5556,27 +5814,37 @@ dependencies = [ [[package]] name = "p3-symmetric" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "itertools 0.13.0", - "p3-field", + "itertools 0.14.0", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "serde", +] + +[[package]] +name = "p3-symmetric" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +dependencies = [ + "itertools 0.14.0", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", "serde", ] [[package]] name = "p3-uni-stark" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "p3-air", - "p3-challenger", - "p3-commit", - "p3-dft", - "p3-field", - "p3-matrix", - "p3-maybe-rayon", - "p3-util", + "p3-challenger 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-commit 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", "serde", "tracing", ] @@ -5584,7 +5852,15 @@ dependencies = [ [[package]] name = "p3-util" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#342685a5353519a56d26abea43ac40415f4189b3" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +dependencies = [ + "serde", +] + +[[package]] +name = "p3-util" +version = "0.1.0" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "serde", ] @@ -5630,10 +5906,10 @@ version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "581c837bb6b9541ce7faa9377c20616e4fb7650f6b0f68bc93c827ee504fb7b3" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -5679,7 +5955,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.9", + "redox_syscall 0.5.10", "smallvec", "windows-targets 0.52.6", ] @@ -5694,7 +5970,7 @@ dependencies = [ "ff 0.12.1", "group 0.12.1", "lazy_static", - "rand", + "rand 0.8.5", "static_assertions", "subtle", ] @@ -5706,10 +5982,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" dependencies = [ "blake2b_simd", - "ff 0.13.0", + "ff 0.13.1", "group 0.13.0", "lazy_static", - "rand", + "rand 0.8.5", "static_assertions", "subtle", ] @@ -5742,7 +6018,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" dependencies = [ "memchr", - "thiserror 2.0.11", + "thiserror 2.0.12", "ucd-trie", ] @@ -5758,22 +6034,22 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.9" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfe2e71e1471fe07709406bf725f710b02927c9c54b2b5b2ec0e8087d97c327d" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.9" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e859e6e5bd50440ab63c47e3ebabc90f26251f7c73c3d3e837b74a1cc3fa67" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -5800,9 +6076,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "portable-atomic" @@ -5810,6 +6086,15 @@ version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + [[package]] name = "poseidon-primitives" version = "0.1.1" @@ -5817,10 +6102,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bd95570f7ea849b4187298b5bb229643e44e1d47ddf3979d0db8a1c28be26a8" dependencies = [ "bitvec", - "ff 0.13.0", + "ff 0.13.1", "lazy_static", "log", - "rand", + "rand 0.8.5", "rand_xorshift", "thiserror 1.0.69", ] @@ -5833,21 +6118,21 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy", + "zerocopy 0.8.23", ] [[package]] name = "prettyplease" -version = "0.2.29" +version = "0.2.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" +checksum = "5316f57387668042f561aae71480de936257848f9c43ce528e311d89a07cadeb" dependencies = [ "proc-macro2", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -5885,9 +6170,9 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ "toml_edit 0.22.24", ] @@ -5911,14 +6196,14 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "proc-macro2" -version = "1.0.93" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" +checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" dependencies = [ "unicode-ident", ] @@ -5931,11 +6216,11 @@ checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.8.0", + "bitflags 2.9.0", "lazy_static", "num-traits", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "rand_xorshift", "regex-syntax 0.8.5", "rusty-fork", @@ -5958,11 +6243,11 @@ dependencies = [ "ethers-providers", "futures", "hex", - "http 1.2.0", + "http 1.3.1", "log", "once_cell", - "rand", - "reqwest 0.12.12", + "rand 0.8.5", + "reqwest 0.12.15", "reqwest-middleware", "reqwest-retry", "rlp", @@ -6005,7 +6290,7 @@ checksum = "ca414edb151b4c8d125c12566ab0d74dc9cdba36fb80eb7b848c15f495fd32d1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -6031,37 +6316,39 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quinn" -version = "0.11.6" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" +checksum = "c3bd15a6f2967aef83887dcb9fec0014580467e33720d073560cf015a5683012" dependencies = [ "bytes", + "cfg_aliases", "pin-project-lite", "quinn-proto", "quinn-udp", "rustc-hash 2.1.1", - "rustls 0.23.23", + "rustls 0.23.25", "socket2", - "thiserror 2.0.11", + "thiserror 2.0.12", "tokio", "tracing", + "web-time", ] [[package]] name = "quinn-proto" -version = "0.11.9" +version = "0.11.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" +checksum = "b820744eb4dc9b57a3398183639c511b5a26d2ed702cedd3febaa1393caa22cc" dependencies = [ "bytes", - "getrandom 0.2.15", - "rand", - "ring 0.17.11", + "getrandom 0.3.2", + "rand 0.9.0", + "ring 0.17.14", "rustc-hash 2.1.1", - "rustls 0.23.23", + "rustls 0.23.25", "rustls-pki-types", "slab", - "thiserror 2.0.11", + "thiserror 2.0.12", "tinyvec", "tracing", "web-time", @@ -6078,18 +6365,24 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "quote" -version = "1.0.38" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "radium" version = "0.7.0" @@ -6122,11 +6415,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", "serde", ] +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "zerocopy 0.8.23", +] + [[package]] name = "rand_chacha" version = "0.3.1" @@ -6134,7 +6438,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -6146,22 +6460,31 @@ dependencies = [ "getrandom 0.2.15", ] +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.2", +] + [[package]] name = "rand_xorshift" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "rand_core", + "rand_core 0.6.4", ] [[package]] name = "raw-cpuid" -version = "11.4.0" +version = "11.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "529468c1335c1c03919960dfefdb1b3648858c20d7ec2d0663e728e4a717efbc" +checksum = "c6df7ab838ed27997ba19a4664507e6f82b41fe6e20be42929332156e5e85146" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[package]] @@ -6201,11 +6524,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b568323e98e49e2a0899dcee453dd679fae22d69adf9b11dd508d1549b7e2f" +checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[package]] @@ -6315,9 +6638,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.12" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da" +checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" dependencies = [ "async-compression", "base64 0.22.1", @@ -6326,7 +6649,7 @@ dependencies = [ "futures-core", "futures-util", "h2 0.4.8", - "http 1.2.0", + "http 1.3.1", "http-body 1.0.1", "http-body-util", "hyper 1.6.0", @@ -6342,7 +6665,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.23", + "rustls 0.23.25", "rustls-pemfile 2.2.0", "rustls-pki-types", "serde", @@ -6352,7 +6675,7 @@ dependencies = [ "system-configuration 0.6.1", "tokio", "tokio-native-tls", - "tokio-rustls 0.26.1", + "tokio-rustls 0.26.2", "tokio-util", "tower 0.5.2", "tower-service", @@ -6372,8 +6695,8 @@ checksum = "562ceb5a604d3f7c885a792d42c199fd8af239d0a51b2fa6a78aafa092452b04" dependencies = [ "anyhow", "async-trait", - "http 1.2.0", - "reqwest 0.12.12", + "http 1.3.1", + "reqwest 0.12.15", "serde", "thiserror 1.0.69", "tower-service", @@ -6390,10 +6713,10 @@ dependencies = [ "chrono", "futures", "getrandom 0.2.15", - "http 1.2.0", + "http 1.3.1", "hyper 1.6.0", "parking_lot 0.11.2", - "reqwest 0.12.12", + "reqwest 0.12.15", "reqwest-middleware", "retry-policies", "tokio", @@ -6445,7 +6768,7 @@ dependencies = [ "convert_case 0.6.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -6495,7 +6818,7 @@ dependencies = [ "reth-trie-common", "serde", "sysinfo", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -6645,7 +6968,7 @@ dependencies = [ "nybbles", "reth-consensus", "reth-storage-errors", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -6673,7 +6996,7 @@ source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c9 dependencies = [ "serde", "serde_json", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -6694,7 +7017,7 @@ dependencies = [ "alloy-rlp", "secp256k1", "serde_with", - "thiserror 2.0.11", + "thiserror 2.0.12", "url", ] @@ -6710,7 +7033,7 @@ dependencies = [ "memmap2", "reth-fs-util", "serde", - "thiserror 2.0.11", + "thiserror 2.0.12", "tracing", "zstd", ] @@ -6754,7 +7077,7 @@ dependencies = [ "secp256k1", "serde", "serde_with", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -6767,7 +7090,7 @@ dependencies = [ "modular-bitfield", "reth-codecs", "serde", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -6838,7 +7161,7 @@ dependencies = [ "revm 19.4.0", "revm-primitives 15.1.0", "scroll-alloy-consensus", - "thiserror 2.0.11", + "thiserror 2.0.12", "tracing", ] @@ -6868,7 +7191,7 @@ dependencies = [ "modular-bitfield", "once_cell", "proptest", - "rand", + "rand 0.8.5", "reth-codecs", "reth-primitives-traits", "reth-zstd-compressors", @@ -6939,7 +7262,7 @@ dependencies = [ "reth-primitives-traits", "reth-prune-types", "reth-static-file-types", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -7032,7 +7355,7 @@ dependencies = [ "reth-tracing", "reth-trie-common", "smallvec", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -7051,7 +7374,7 @@ checksum = "493b4243e32d6eedd29f9a398896e35c6943a123b55eec97dcaee98310d25810" dependencies = [ "anyhow", "chrono", - "rand", + "rand 0.8.5", ] [[package]] @@ -7085,9 +7408,9 @@ dependencies = [ [[package]] name = "revm" -version = "19.5.0" +version = "19.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc5bef3c95fadf3b6a24a253600348380c169ef285f9780a793bb7090c8990d" +checksum = "7b906766b7ba049b515848952b5ae74f363d456e98de2021048a513e442b4f42" dependencies = [ "auto_impl", "cfg-if", @@ -7193,7 +7516,7 @@ dependencies = [ "alloy-eip7702 0.4.2", "alloy-primitives", "auto_impl", - "bitflags 2.8.0", + "bitflags 2.9.0", "bitvec", "c-kzg", "cfg-if", @@ -7212,7 +7535,7 @@ dependencies = [ "alloy-eip7702 0.5.1", "alloy-primitives", "auto_impl", - "bitflags 2.8.0", + "bitflags 2.9.0", "bitvec", "c-kzg", "cfg-if", @@ -7232,7 +7555,7 @@ dependencies = [ "alloy-eip7702 0.5.1", "alloy-primitives", "auto_impl", - "bitflags 2.8.0", + "bitflags 2.9.0", "bitvec", "c-kzg", "cfg-if", @@ -7269,9 +7592,9 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.11" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da5349ae27d3887ca812fb375b45a4fbb36d8d12d2df394968cd86e35683fe73" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", @@ -7299,14 +7622,14 @@ dependencies = [ "bytecheck", "bytes", "hashbrown 0.15.2", - "indexmap 2.7.1", + "indexmap 2.8.0", "munge", "ptr_meta", "rancor", "rend", "rkyv_derive", "tinyvec", - "uuid 1.15.1", + "uuid 1.16.0", ] [[package]] @@ -7317,7 +7640,7 @@ checksum = "246b40ac189af6c675d124b802e8ef6d5246c53e17367ce9501f8f66a81abb7a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -7396,7 +7719,7 @@ dependencies = [ "parity-scale-codec", "primitive-types", "proptest", - "rand", + "rand 0.8.5", "rkyv", "rlp", "ruint-macro", @@ -7449,7 +7772,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.25", + "semver 1.0.26", ] [[package]] @@ -7458,11 +7781,24 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "errno", "libc", - "linux-raw-sys", - "windows-sys 0.52.0", + "linux-raw-sys 0.4.15", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustix" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96" +dependencies = [ + "bitflags 2.9.0", + "errno", + "libc", + "linux-raw-sys 0.9.3", + "windows-sys 0.59.0", ] [[package]] @@ -7472,21 +7808,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", - "ring 0.17.11", + "ring 0.17.14", "rustls-webpki 0.101.7", "sct", ] [[package]] name = "rustls" -version = "0.23.23" +version = "0.23.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395" +checksum = "822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c" dependencies = [ "once_cell", - "ring 0.17.11", + "ring 0.17.14", "rustls-pki-types", - "rustls-webpki 0.102.8", + "rustls-webpki 0.103.0", "subtle", "zeroize", ] @@ -7534,26 +7870,26 @@ version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.17.11", + "ring 0.17.14", "untrusted 0.9.0", ] [[package]] name = "rustls-webpki" -version = "0.102.8" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +checksum = "0aa4eeac2588ffff23e9d7a7e9b3f971c5fb5b7ebc9452745e0c232c64f83b2f" dependencies = [ - "ring 0.17.11", + "ring 0.17.14", "rustls-pki-types", "untrusted 0.9.0", ] [[package]] name = "rustversion" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" +checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" [[package]] name = "rusty-fork" @@ -7569,9 +7905,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "salsa20" @@ -7706,10 +8042,10 @@ version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -7779,7 +8115,7 @@ dependencies = [ [[package]] name = "scroll-proving-sdk" version = "0.1.0" -source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=e27915b#e27915b4f978697f589a022029ecbc1665a9709c" +source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=c81e5f2#c81e5f2e5434f0a38f3cb9288cd6a8940bb246e5" dependencies = [ "alloy", "anyhow", @@ -7790,10 +8126,10 @@ dependencies = [ "ethers-core", "ethers-providers", "hex", - "http 1.2.0", + "http 1.3.1", "log", - "rand", - "reqwest 0.12.12", + "rand 0.8.5", + "reqwest 0.12.15", "reqwest-middleware", "reqwest-retry", "rlp", @@ -7859,7 +8195,7 @@ dependencies = [ "openvm-native-recursion", "openvm-sdk", "openvm-stark-sdk", - "revm 19.5.0", + "revm 19.6.0", "rkyv", "sbv", "scroll-zkvm-circuit-input-types 0.1.0-rc.6", @@ -7868,7 +8204,7 @@ dependencies = [ "serde_json", "serde_stacker", "snark-verifier-sdk", - "thiserror 2.0.11", + "thiserror 2.0.12", "toml", "tracing", ] @@ -7893,7 +8229,7 @@ dependencies = [ "openvm-native-recursion", "openvm-sdk", "openvm-stark-sdk", - "revm 19.5.0", + "revm 19.6.0", "rkyv", "sbv", "scroll-zkvm-circuit-input-types 0.1.1-rc.2", @@ -7902,7 +8238,7 @@ dependencies = [ "serde_json", "serde_stacker", "snark-verifier-sdk", - "thiserror 2.0.11", + "thiserror 2.0.12", "toml", "tracing", ] @@ -7920,7 +8256,7 @@ dependencies = [ "openvm-native-recursion", "openvm-sdk", "openvm-stark-sdk", - "revm 19.5.0", + "revm 19.6.0", "scroll-zkvm-circuit-input-types 0.1.0-rc.6", "serde", "snark-verifier-sdk", @@ -7939,7 +8275,7 @@ dependencies = [ "openvm-native-recursion", "openvm-sdk", "openvm-stark-sdk", - "revm 19.5.0", + "revm 19.6.0", "scroll-zkvm-circuit-input-types 0.1.1-rc.2", "serde", "snark-verifier-sdk", @@ -7963,7 +8299,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.17.11", + "ring 0.17.14", "untrusted 0.9.0", ] @@ -7988,7 +8324,7 @@ version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9465315bc9d4566e1724f0fffcbcc446268cb522e60f9a27bcded6b19c108113" dependencies = [ - "rand", + "rand 0.8.5", "secp256k1-sys", "serde", ] @@ -8008,7 +8344,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "core-foundation", "core-foundation-sys", "libc", @@ -8036,9 +8372,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.25" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" dependencies = [ "serde", ] @@ -8066,9 +8402,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.218" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] @@ -8093,31 +8429,31 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.15" +version = "0.11.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" +checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.218" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "serde_json" -version = "1.0.139" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44f86c3acccc9c65b153fe1b85a3be07fe5515274ec9f0653b4a0875731c72a6" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ - "indexmap 2.7.1", + "indexmap 2.8.0", "itoa", "memchr", "ryu", @@ -8126,9 +8462,9 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a" dependencies = [ "itoa", "serde", @@ -8145,9 +8481,9 @@ dependencies = [ [[package]] name = "serde_stacker" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "babfccff5773ff80657f0ecf553c7c516bdc2eb16389c0918b36b73e7015276e" +checksum = "69c8defe6c780725cce4ec6ad3bd91e321baf6fa4e255df1f31e345d507ef01a" dependencies = [ "serde", "stacker", @@ -8175,7 +8511,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.7.1", + "indexmap 2.8.0", "serde", "serde_derive", "serde_json", @@ -8192,7 +8528,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -8278,7 +8614,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -8330,7 +8666,7 @@ dependencies = [ [[package]] name = "snark-verifier" version = "0.1.8" -source = "git+https://github.com/axiom-crypto/snark-verifier?branch=zkvm-v0.1#ab65fda41b56571aa33dd27f68ef1ea461e3fadc" +source = "git+https://github.com/axiom-crypto/snark-verifier?branch=zkvm-v0.1#0e381253735fc0d75a6f6239c4fd9d155b4f1a5e" dependencies = [ "halo2-base", "halo2-ecc", @@ -8341,7 +8677,7 @@ dependencies = [ "num-integer", "num-traits", "pairing 0.23.0", - "rand", + "rand 0.8.5", "revm 18.0.0", "ruint", "serde", @@ -8351,7 +8687,7 @@ dependencies = [ [[package]] name = "snark-verifier-sdk" version = "0.1.8" -source = "git+https://github.com/axiom-crypto/snark-verifier?branch=zkvm-v0.1#ab65fda41b56571aa33dd27f68ef1ea461e3fadc" +source = "git+https://github.com/axiom-crypto/snark-verifier?branch=zkvm-v0.1#0e381253735fc0d75a6f6239c4fd9d155b4f1a5e" dependencies = [ "ark-std 0.3.0", "bincode", @@ -8364,8 +8700,8 @@ dependencies = [ "num-bigint 0.4.6", "num-integer", "num-traits", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "serde", "serde_json", "snark-verifier", @@ -8419,7 +8755,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" dependencies = [ "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -8430,15 +8766,15 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "stacker" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9156ebd5870ef293bfb43f91c7a74528d363ec0d424afe24160ed5a4343d08a" +checksum = "601f9201feb9b09c00266478bf459952b9ef9a6b94edb2f21eba14ab681a60a9" dependencies = [ "cc", "cfg-if", "libc", "psm", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -8515,7 +8851,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -8528,7 +8864,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -8541,7 +8877,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -8553,7 +8889,7 @@ dependencies = [ "byteorder", "crunchy", "lazy_static", - "rand", + "rand 0.8.5", "rustc-hex", ] @@ -8576,9 +8912,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.98" +version = "2.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" dependencies = [ "proc-macro2", "quote", @@ -8587,14 +8923,14 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.8.22" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac9f9798a84bca5cd4d1760db691075fda8f2c3a5d9647e8bfd29eb9b3fabb87" +checksum = "d975606bae72d8aad5b07d9342465e123a2cccf53a5a735aedf81ca92a709ecb" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -8620,7 +8956,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -8653,7 +8989,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "core-foundation", "system-configuration-sys 0.6.0", ] @@ -8686,16 +9022,15 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.17.1" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e5a0acb1f3f55f65cc4a866c361b2fb2a0ff6366785ae6fbb5f85df07ba230" +checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" dependencies = [ - "cfg-if", "fastrand", - "getrandom 0.3.1", + "getrandom 0.3.2", "once_cell", - "rustix", - "windows-sys 0.52.0", + "rustix 1.0.3", + "windows-sys 0.59.0", ] [[package]] @@ -8716,7 +9051,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -8727,7 +9062,7 @@ checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", "test-case-core", ] @@ -8742,11 +9077,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.11" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ - "thiserror-impl 2.0.11", + "thiserror-impl 2.0.12", ] [[package]] @@ -8757,18 +9092,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "thiserror-impl" -version = "2.0.11" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -8812,9 +9147,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.37" +version = "0.3.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" +checksum = "9d9c75b47bdff86fa3334a3db91356b8d7d86a9b839dab7d0bdc5c3d3a077618" dependencies = [ "deranged", "itoa", @@ -8827,15 +9162,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.19" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" +checksum = "29aa485584182073ed57fd5004aa09c371f021325014694e432313345865fd04" dependencies = [ "num-conv", "time-core", @@ -8844,11 +9179,11 @@ dependencies = [ [[package]] name = "tiny-keccak" version = "2.0.2" -source = "git+https://github.com/scroll-tech/tiny-keccak?branch=scroll-patch-v2.0.2-openvm-v1.0.0-rc.1#bfab37175b16c645419e77a77ffb796b6e5459be" +source = "git+https://github.com/scroll-tech/tiny-keccak?branch=scroll-patch-v2.0.2-openvm-v1.0.0-rc.1#4c7c96660cb852b4f8aed2296d30c31f06e103c9" dependencies = [ "cfg-if", "crunchy", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?tag=v1.0.0-rc.1)", + "openvm-platform", ] [[package]] @@ -8863,9 +9198,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" dependencies = [ "tinyvec_macros", ] @@ -8878,9 +9213,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.43.0" +version = "1.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e" +checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" dependencies = [ "backtrace", "bytes", @@ -8902,7 +9237,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -8927,11 +9262,11 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ - "rustls 0.23.23", + "rustls 0.23.25", "tokio", ] @@ -8964,9 +9299,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.13" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" +checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" dependencies = [ "bytes", "futures-core", @@ -9002,7 +9337,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.7.1", + "indexmap 2.8.0", "toml_datetime", "winnow 0.5.40", ] @@ -9013,11 +9348,11 @@ version = "0.22.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" dependencies = [ - "indexmap 2.7.1", + "indexmap 2.8.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.7.3", + "winnow 0.7.4", ] [[package]] @@ -9095,7 +9430,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -9224,7 +9559,7 @@ dependencies = [ "http 0.2.12", "httparse", "log", - "rand", + "rand 0.8.5", "rustls 0.21.12", "sha1", "thiserror 1.0.69", @@ -9265,9 +9600,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicode-ident" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-segmentation" @@ -9350,9 +9685,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.15.1" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0f540e3240398cce6128b64ba83fdbdd86129c16a3aa1a3a252efd66eb3d587" +checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" [[package]] name = "valuable" @@ -9423,9 +9758,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasi" -version = "0.13.3+wasi-0.2.2" +version = "0.14.2+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" dependencies = [ "wit-bindgen-rt", ] @@ -9452,7 +9787,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", "wasm-bindgen-shared", ] @@ -9487,7 +9822,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -9556,7 +9891,7 @@ version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" dependencies = [ - "ring 0.17.11", + "ring 0.17.14", "untrusted 0.9.0", ] @@ -9593,7 +9928,7 @@ dependencies = [ "either", "home", "once_cell", - "rustix", + "rustix 0.38.44", ] [[package]] @@ -9657,7 +9992,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -9668,24 +10003,24 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "windows-link" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3" +checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" [[package]] name = "windows-registry" -version = "0.2.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" dependencies = [ - "windows-result 0.2.0", + "windows-result 0.3.2", "windows-strings", - "windows-targets 0.52.6", + "windows-targets 0.53.0", ] [[package]] @@ -9699,21 +10034,20 @@ dependencies = [ [[package]] name = "windows-result" -version = "0.2.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" dependencies = [ - "windows-targets 0.52.6", + "windows-link", ] [[package]] name = "windows-strings" -version = "0.1.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" dependencies = [ - "windows-result 0.2.0", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -9767,13 +10101,29 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", + "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows-targets" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +dependencies = [ + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -9786,6 +10136,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -9798,6 +10154,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -9810,12 +10172,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -9828,6 +10202,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -9840,6 +10220,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -9852,6 +10238,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -9864,6 +10256,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + [[package]] name = "winnow" version = "0.5.40" @@ -9875,9 +10273,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7f4ea97f6f78012141bcdb6a216b2609f0979ada50b20ca5b52dde2eac2bb1" +checksum = "0e97b544156e9bebe1a0ffbc03484fc1ffe3100cbce3ffb17eac35f7cdd7ab36" dependencies = [ "memchr", ] @@ -9894,11 +10292,11 @@ dependencies = [ [[package]] name = "wit-bindgen-rt" -version = "0.33.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[package]] @@ -9961,7 +10359,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", "synstructure", ] @@ -9971,8 +10369,16 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ - "byteorder", - "zerocopy-derive", + "zerocopy-derive 0.7.35", +] + +[[package]] +name = "zerocopy" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" +dependencies = [ + "zerocopy-derive 0.8.23", ] [[package]] @@ -9983,7 +10389,18 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] @@ -10003,7 +10420,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", "synstructure", ] @@ -10024,7 +10441,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -10046,7 +10463,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -10068,7 +10485,7 @@ dependencies = [ "jubjub", "lazy_static", "pasta_curves 0.5.1", - "rand", + "rand 0.8.5", "serde", "sha2", "sha3", diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index 4b0151aa51..b78670386a 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -22,7 +22,7 @@ scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover" scroll-zkvm-prover-euclidv2 = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.1-rc.3", package = "scroll-zkvm-prover" } ethers-core = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } ethers-providers = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } -scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "e27915b", features = [ +scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "c81e5f2", features = [ "openvm", ] } sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "zkvm/euclid-v2", features = [ From 1bec9640979011fae86ea92d2a0cd3a1f847689a Mon Sep 17 00:00:00 2001 From: Ho Date: Thu, 27 Mar 2025 01:28:09 +0900 Subject: [PATCH 065/132] Adapt to rc11 (unified phase) (#1637) Signed-off-by: noelwei Co-authored-by: kunxian xia Co-authored-by: colinlyguo --- .github/workflows/prover.yml | 2 +- common/libzkp/impl/Cargo.lock | 829 +++++-------- common/libzkp/impl/Cargo.toml | 6 +- common/libzkp/impl/src/verifier.rs | 6 +- common/libzkp/impl/src/verifier/euclid.rs | 6 +- common/libzkp/impl/src/verifier/euclidv2.rs | 8 +- common/types/message/message.go | 12 +- .../logic/provertask/batch_prover_task.go | 10 +- .../logic/provertask/bundle_prover_task.go | 26 + .../logic/provertask/chunk_prover_task.go | 7 + .../internal/logic/verifier/verifier.go | 34 +- coordinator/internal/orm/batch.go | 30 +- zkvm-prover/Cargo.lock | 1060 ++++++----------- zkvm-prover/Cargo.toml | 56 +- zkvm-prover/src/zk_circuits_handler/euclid.rs | 86 +- .../src/zk_circuits_handler/euclidV2.rs | 50 +- 16 files changed, 881 insertions(+), 1347 deletions(-) diff --git a/.github/workflows/prover.yml b/.github/workflows/prover.yml index 7f4a4bb92c..72d0ab825e 100644 --- a/.github/workflows/prover.yml +++ b/.github/workflows/prover.yml @@ -48,7 +48,7 @@ jobs: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: - toolchain: nightly-2024-12-03 + toolchain: nightly-2023-12-03 components: rustfmt - name: Cargo cache uses: Swatinem/rust-cache@v2 diff --git a/common/libzkp/impl/Cargo.lock b/common/libzkp/impl/Cargo.lock index 459311b7f5..9c12935c1d 100644 --- a/common/libzkp/impl/Cargo.lock +++ b/common/libzkp/impl/Cargo.lock @@ -520,7 +520,7 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.59.0", + "windows-sys", ] [[package]] @@ -531,7 +531,7 @@ checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", "once_cell", - "windows-sys 0.59.0", + "windows-sys", ] [[package]] @@ -742,7 +742,7 @@ dependencies = [ "object", "rustc-demangle", "serde", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -799,10 +799,24 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18c1406a27371b2f76232a2259df6ab607b91b5a0a7476a7729ff590df5a969a" dependencies = [ + "arrayvec", + "bitcode_derive", "bytemuck", + "glam", "serde", ] +[[package]] +name = "bitcode_derive" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42b6b4cb608b8282dc3b53d0f4c9ab404655d562674c682db7e6c0458cc83c23" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", +] + [[package]] name = "bitflags" version = "2.8.0" @@ -1109,7 +1123,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.59.0", + "windows-sys", ] [[package]] @@ -1436,27 +1450,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - [[package]] name = "displaydoc" version = "0.2.5" @@ -1588,7 +1581,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys", ] [[package]] @@ -1800,7 +1793,7 @@ dependencies = [ "cfg-if", "libc", "wasi 0.13.3+wasi-0.2.2", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -1841,6 +1834,12 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "glam" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf3aa70d918d2b234126ff4f850f628f172542bf0603ded26b8ee36e5e22d5f9" + [[package]] name = "glob" version = "0.3.2" @@ -1881,9 +1880,9 @@ dependencies = [ [[package]] name = "halo2-axiom" -version = "0.4.5" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f81aee7974478f9e3ea0cfd349d2a59a3482f7844386486a98e4af9ed8bada6" +checksum = "62f0ca78d12ac5c893f286d7cdfe3869290305ab8cac376e2592cdc8396da102" dependencies = [ "blake2b_simd", "crossbeam", @@ -1903,8 +1902,8 @@ dependencies = [ [[package]] name = "halo2-base" -version = "0.4.1" -source = "git+https://github.com/axiom-crypto/halo2-lib.git?tag=v0.4.1-git#2fe813b3ccd4f224da195d61829effb20599dcbd" +version = "0.5.0" +source = "git+https://github.com/axiom-crypto/halo2-lib.git?tag=v0.5.0-git#2d4b70b8558439a908dea708f4721394b1ae3ef6" dependencies = [ "getset", "halo2-axiom", @@ -1923,8 +1922,8 @@ dependencies = [ [[package]] name = "halo2-ecc" -version = "0.4.1" -source = "git+https://github.com/axiom-crypto/halo2-lib.git?tag=v0.4.1-git#2fe813b3ccd4f224da195d61829effb20599dcbd" +version = "0.5.0" +source = "git+https://github.com/axiom-crypto/halo2-lib.git?tag=v0.5.0-git#2d4b70b8558439a908dea708f4721394b1ae3ef6" dependencies = [ "halo2-base", "itertools 0.11.0", @@ -2477,16 +2476,6 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags", - "libc", -] - [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -2888,26 +2877,25 @@ dependencies = [ [[package]] name = "openvm" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "bytemuck", - "hex-literal", "num-bigint 0.4.6", - "num-traits", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-custom-insn", + "openvm-platform", "openvm-rv32im-guest", "serde", ] [[package]] name = "openvm-algebra-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", - "itertools 0.13.0", + "itertools 0.14.0", "num-bigint 0.4.6", "num-traits", "openvm-algebra-transpiler", @@ -2926,13 +2914,12 @@ dependencies = [ "serde-big-array", "serde_with", "strum 0.26.3", - "tracing", ] [[package]] name = "openvm-algebra-complex-macros" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-macros-common", "quote", @@ -2941,24 +2928,21 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "halo2curves-axiom 0.5.3", "num-bigint 0.4.6", - "openvm", "openvm-algebra-complex-macros", "openvm-algebra-moduli-macros", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", - "serde", "serde-big-array", "strum_macros 0.26.4", ] [[package]] name = "openvm-algebra-moduli-macros" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-macros-common", "quote", @@ -2967,8 +2951,8 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -2977,13 +2961,12 @@ dependencies = [ "openvm-transpiler", "rrs-lib", "strum 0.26.3", - "strum_macros 0.26.4", ] [[package]] name = "openvm-bigint-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -3004,21 +2987,22 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "num-bigint 0.4.6", "num-traits", "openvm", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-platform", "serde", + "serde-big-array", "strum_macros 0.26.4", ] [[package]] name = "openvm-bigint-transpiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -3032,27 +3016,22 @@ dependencies = [ [[package]] name = "openvm-build" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "cargo_metadata", - "dirs", "eyre", - "hex", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-platform", "serde", "serde_json", - "tempfile", ] [[package]] name = "openvm-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "async-trait", "backtrace", - "bitcode", "cfg-if", "derivative", "derive-new 0.6.0", @@ -3060,10 +3039,8 @@ dependencies = [ "enum_dispatch", "eyre", "getset", - "itertools 0.13.0", + "itertools 0.14.0", "metrics 0.23.0", - "metrics-derive", - "once_cell", "openvm-circuit-derive", "openvm-circuit-primitives", "openvm-circuit-primitives-derive", @@ -3071,72 +3048,69 @@ dependencies = [ "openvm-poseidon2-air", "openvm-stark-backend", "p3-baby-bear", - "p3-symmetric", "rand", - "rayon", "rustc-hash 2.1.1", "serde", "serde-big-array", "static_assertions", "thiserror 1.0.69", - "toml", "tracing", ] [[package]] name = "openvm-circuit-derive" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "itertools 0.13.0", - "proc-macro2", + "itertools 0.14.0", "quote", "syn 2.0.98", ] [[package]] name = "openvm-circuit-primitives" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "bitcode", "derive-new 0.6.0", - "itertools 0.13.0", - "lazy_static", + "itertools 0.14.0", "num-bigint 0.4.6", "num-traits", "openvm-circuit-primitives-derive", "openvm-stark-backend", "rand", - "serde", "tracing", ] [[package]] name = "openvm-circuit-primitives-derive" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "itertools 0.13.0", - "proc-macro2", + "itertools 0.14.0", "quote", "syn 2.0.98", ] [[package]] -name = "openvm-custom-insn" -version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.0.0-rc.1#30576cc6ce838f213bf05b2e4ad035d95498c8b3" +name = "openvm-continuations" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", + "derivative", + "openvm-circuit", + "openvm-native-compiler", + "openvm-native-recursion", + "openvm-stark-backend", + "openvm-stark-sdk", + "serde", + "static_assertions", ] [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "proc-macro2", "quote", @@ -3145,13 +3119,12 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", "eyre", - "itertools 0.13.0", "num-bigint 0.4.6", "num-integer", "num-traits", @@ -3169,6 +3142,7 @@ dependencies = [ "openvm-rv32-adapters", "openvm-rv32im-circuit", "openvm-stark-backend", + "rand", "serde", "serde_with", "strum 0.26.3", @@ -3176,35 +3150,33 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "ecdsa", "elliptic-curve", "group 0.13.0", "halo2curves-axiom 0.5.3", "hex-literal", - "itertools 0.13.0", "k256", "lazy_static", "num-bigint 0.4.6", - "num-traits", + "once_cell", "openvm", "openvm-algebra-guest", "openvm-algebra-moduli-macros", + "openvm-custom-insn", "openvm-ecc-sw-macros", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", "openvm-rv32im-guest", "p256", - "rand", "serde", "strum_macros 0.26.4", ] [[package]] name = "openvm-ecc-sw-macros" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-macros-common", "quote", @@ -3213,8 +3185,8 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -3227,12 +3199,12 @@ dependencies = [ [[package]] name = "openvm-instructions" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "backtrace", "derive-new 0.6.0", - "itertools 0.13.0", + "itertools 0.14.0", "num-bigint 0.4.6", "num-traits", "openvm-instructions-derive", @@ -3244,25 +3216,21 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "proc-macro2", "quote", "syn 2.0.98", ] [[package]] name = "openvm-keccak256-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "bitcode", "derive-new 0.6.0", "derive_more 1.0.0", - "eyre", - "hex-literal", - "itertools 0.13.0", + "itertools 0.14.0", "openvm-circuit", "openvm-circuit-derive", "openvm-circuit-primitives", @@ -3283,18 +3251,17 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", - "serde", + "openvm-platform", "tiny-keccak", ] [[package]] name = "openvm-keccak256-transpiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -3307,18 +3274,18 @@ dependencies = [ [[package]] name = "openvm-macros-common" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "syn 2.0.98", ] [[package]] name = "openvm-mod-circuit-builder" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "num-bigint 0.4.6", "num-traits", "openvm-circuit", @@ -3334,14 +3301,13 @@ dependencies = [ [[package]] name = "openvm-native-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "bitcode", "derive-new 0.6.0", "derive_more 1.0.0", "eyre", - "itertools 0.13.0", + "itertools 0.14.0", "openvm-circuit", "openvm-circuit-derive", "openvm-circuit-primitives", @@ -3362,11 +3328,11 @@ dependencies = [ [[package]] name = "openvm-native-compiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "backtrace", - "itertools 0.13.0", + "itertools 0.14.0", "metrics 0.23.0", "num-bigint 0.4.6", "num-integer", @@ -3386,21 +3352,20 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "proc-macro2", "quote", "syn 2.0.98", ] [[package]] name = "openvm-native-recursion" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "cfg-if", - "itertools 0.13.0", + "itertools 0.14.0", "lazy_static", "metrics 0.23.0", "once_cell", @@ -3417,22 +3382,22 @@ dependencies = [ "rand", "serde", "serde_json", + "serde_with", "snark-verifier-sdk", "tracing", ] [[package]] name = "openvm-pairing-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", "eyre", - "itertools 0.13.0", + "itertools 0.14.0", "num-bigint 0.4.6", "num-traits", - "once_cell", "openvm-algebra-circuit", "openvm-circuit", "openvm-circuit-derive", @@ -3454,13 +3419,13 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "group 0.13.0", "halo2curves-axiom 0.5.3", "hex-literal", - "itertools 0.13.0", + "itertools 0.14.0", "lazy_static", "num-bigint 0.4.6", "num-traits", @@ -3468,9 +3433,10 @@ dependencies = [ "openvm-algebra-complex-macros", "openvm-algebra-guest", "openvm-algebra-moduli-macros", + "openvm-custom-insn", "openvm-ecc-guest", "openvm-ecc-sw-macros", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-platform", "openvm-rv32im-guest", "rand", "serde", @@ -3479,8 +3445,8 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -3493,35 +3459,22 @@ dependencies = [ [[package]] name = "openvm-platform" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.0.0-rc.1#30576cc6ce838f213bf05b2e4ad035d95498c8b3" -dependencies = [ - "openvm-custom-insn 0.1.0 (git+https://github.com/openvm-org/openvm.git?tag=v1.0.0-rc.1)", - "stability", - "strum_macros 0.26.4", -] - -[[package]] -name = "openvm-platform" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "getrandom 0.2.15", "libm", - "openvm-custom-insn 0.1.0 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", - "stability", - "strum_macros 0.26.4", + "openvm-custom-insn", + "openvm-rv32im-guest", ] [[package]] name = "openvm-poseidon2-air" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "derivative", - "itertools 0.13.0", "lazy_static", - "openvm-circuit-primitives", "openvm-stark-backend", "openvm-stark-sdk", "p3-monty-31", @@ -3529,17 +3482,16 @@ dependencies = [ "p3-poseidon2-air", "p3-symmetric", "rand", - "tracing", "zkhash", ] [[package]] name = "openvm-rv32-adapters" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "derive-new 0.6.0", - "itertools 0.13.0", + "itertools 0.14.0", "openvm-circuit", "openvm-circuit-primitives", "openvm-circuit-primitives-derive", @@ -3551,22 +3503,18 @@ dependencies = [ "serde", "serde-big-array", "serde_with", - "tracing", ] [[package]] name = "openvm-rv32im-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "bitcode", "derive-new 0.6.0", "derive_more 1.0.0", "eyre", - "itertools 0.13.0", "num-bigint 0.4.6", "num-integer", - "once_cell", "openvm-circuit", "openvm-circuit-derive", "openvm-circuit-primitives", @@ -3578,22 +3526,21 @@ dependencies = [ "serde", "serde-big-array", "strum 0.26.3", - "tracing", ] [[package]] name = "openvm-rv32im-guest" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-custom-insn", "strum_macros 0.26.4", ] [[package]] name = "openvm-rv32im-transpiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -3608,8 +3555,8 @@ dependencies = [ [[package]] name = "openvm-sdk" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "async-trait", "bitcode", @@ -3619,7 +3566,7 @@ dependencies = [ "derive_more 1.0.0", "eyre", "getset", - "itertools 0.13.0", + "itertools 0.14.0", "metrics 0.23.0", "openvm", "openvm-algebra-circuit", @@ -3628,6 +3575,7 @@ dependencies = [ "openvm-bigint-transpiler", "openvm-build", "openvm-circuit", + "openvm-continuations", "openvm-ecc-circuit", "openvm-ecc-transpiler", "openvm-keccak256-circuit", @@ -3644,15 +3592,18 @@ dependencies = [ "openvm-stark-backend", "openvm-stark-sdk", "openvm-transpiler", + "p3-fri", "serde", - "static_assertions", + "serde_json", + "serde_with", + "thiserror 1.0.69", "tracing", ] [[package]] name = "openvm-sha256-air" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -3662,10 +3613,9 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "bitcode", "derive-new 0.6.0", "derive_more 1.0.0", "openvm-circuit", @@ -3686,18 +3636,17 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "openvm", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-platform", "sha2", ] [[package]] name = "openvm-sha256-transpiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -3710,14 +3659,14 @@ dependencies = [ [[package]] name = "openvm-stark-backend" -version = "1.0.0-rc.0" -source = "git+https://github.com/openvm-org/stark-backend.git?rev=bc364134b8315c27bfd29c6e77ac79fe77090137#bc364134b8315c27bfd29c6e77ac79fe77090137" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/stark-backend.git?rev=4a223981722e75bf97c6807e4d56935196d86edf#4a223981722e75bf97c6807e4d56935196d86edf" dependencies = [ - "async-trait", + "bitcode", "cfg-if", "derivative", "derive-new 0.7.0", - "itertools 0.13.0", + "itertools 0.14.0", "metrics 0.23.0", "p3-air", "p3-challenger", @@ -3736,13 +3685,13 @@ dependencies = [ [[package]] name = "openvm-stark-sdk" -version = "1.0.0-rc.0" -source = "git+https://github.com/openvm-org/stark-backend.git?rev=bc364134b8315c27bfd29c6e77ac79fe77090137#bc364134b8315c27bfd29c6e77ac79fe77090137" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/stark-backend.git?rev=4a223981722e75bf97c6807e4d56935196d86edf#4a223981722e75bf97c6807e4d56935196d86edf" dependencies = [ "derivative", "derive_more 0.99.19", "ff 0.13.0", - "itertools 0.13.0", + "itertools 0.14.0", "metrics 0.23.0", "metrics-tracing-context", "metrics-util", @@ -3771,27 +3720,18 @@ dependencies = [ [[package]] name = "openvm-transpiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "derive_more 1.0.0", "elf", "eyre", "openvm-instructions", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?rev=f1b4844)", + "openvm-platform", "openvm-stark-backend", "rrs-lib", - "strum 0.26.3", "thiserror 1.0.69", - "tracing", ] -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - [[package]] name = "ordered-float" version = "4.6.0" @@ -3822,7 +3762,7 @@ dependencies = [ [[package]] name = "p3-air" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ "p3-field", "p3-matrix", @@ -3831,7 +3771,7 @@ dependencies = [ [[package]] name = "p3-baby-bear" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ "p3-field", "p3-mds", @@ -3845,7 +3785,7 @@ dependencies = [ [[package]] name = "p3-blake3" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ "blake3", "p3-symmetric", @@ -3855,7 +3795,7 @@ dependencies = [ [[package]] name = "p3-bn254-fr" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ "ff 0.13.0", "halo2curves", @@ -3870,7 +3810,7 @@ dependencies = [ [[package]] name = "p3-challenger" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ "p3-field", "p3-maybe-rayon", @@ -3882,9 +3822,9 @@ dependencies = [ [[package]] name = "p3-commit" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "p3-challenger", "p3-dft", "p3-field", @@ -3896,9 +3836,9 @@ dependencies = [ [[package]] name = "p3-dft" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "p3-field", "p3-matrix", "p3-maybe-rayon", @@ -3909,9 +3849,9 @@ dependencies = [ [[package]] name = "p3-field" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "num-bigint 0.4.6", "num-integer", "num-traits", @@ -3926,9 +3866,9 @@ dependencies = [ [[package]] name = "p3-fri" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "p3-challenger", "p3-commit", "p3-dft", @@ -3945,7 +3885,7 @@ dependencies = [ [[package]] name = "p3-goldilocks" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ "num-bigint 0.4.6", "p3-dft", @@ -3962,7 +3902,7 @@ dependencies = [ [[package]] name = "p3-interpolation" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ "p3-field", "p3-matrix", @@ -3973,9 +3913,9 @@ dependencies = [ [[package]] name = "p3-keccak" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "p3-field", "p3-symmetric", "p3-util", @@ -3985,7 +3925,7 @@ dependencies = [ [[package]] name = "p3-keccak-air" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ "p3-air", "p3-field", @@ -3999,9 +3939,9 @@ dependencies = [ [[package]] name = "p3-matrix" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "p3-field", "p3-maybe-rayon", "p3-util", @@ -4014,7 +3954,7 @@ dependencies = [ [[package]] name = "p3-maybe-rayon" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ "rayon", ] @@ -4022,9 +3962,9 @@ dependencies = [ [[package]] name = "p3-mds" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "p3-dft", "p3-field", "p3-matrix", @@ -4036,9 +3976,9 @@ dependencies = [ [[package]] name = "p3-merkle-tree" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "p3-commit", "p3-field", "p3-matrix", @@ -4053,9 +3993,9 @@ dependencies = [ [[package]] name = "p3-monty-31" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "num-bigint 0.4.6", "p3-dft", "p3-field", @@ -4074,7 +4014,7 @@ dependencies = [ [[package]] name = "p3-poseidon" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ "p3-field", "p3-mds", @@ -4085,7 +4025,7 @@ dependencies = [ [[package]] name = "p3-poseidon2" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ "gcd", "p3-field", @@ -4097,7 +4037,7 @@ dependencies = [ [[package]] name = "p3-poseidon2-air" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ "p3-air", "p3-field", @@ -4113,9 +4053,9 @@ dependencies = [ [[package]] name = "p3-symmetric" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "p3-field", "serde", ] @@ -4123,9 +4063,9 @@ dependencies = [ [[package]] name = "p3-uni-stark" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "p3-air", "p3-challenger", "p3-commit", @@ -4141,7 +4081,7 @@ dependencies = [ [[package]] name = "p3-util" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?rev=b0591e9#b0591e9b82d58d10f86359875b5d5fa96433b4cf" +source = "git+https://github.com/Plonky3/Plonky3.git?rev=88d7f05#88d7f059500fd956a7c1eb121e08653e5974728d" dependencies = [ "serde", ] @@ -4276,9 +4216,9 @@ checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" [[package]] name = "poseidon-primitives" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bd95570f7ea849b4187298b5bb229643e44e1d47ddf3979d0db8a1c28be26a8" +checksum = "6e4aaeda7a092e21165cc5f0cbc738e72a46f31c03c3cbd87b71ceae9d2d93bc" dependencies = [ "bitvec", "ff 0.13.0", @@ -4547,17 +4487,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "redox_users" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" -dependencies = [ - "getrandom 0.2.15", - "libredox", - "thiserror 1.0.69", -] - [[package]] name = "regex" version = "1.11.1" @@ -4614,7 +4543,7 @@ dependencies = [ [[package]] name = "reth-chainspec" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-chains", "alloy-consensus", @@ -4633,7 +4562,7 @@ dependencies = [ [[package]] name = "reth-codecs" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4650,7 +4579,7 @@ dependencies = [ [[package]] name = "reth-codecs-derive" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "convert_case 0.6.0", "proc-macro2", @@ -4661,7 +4590,7 @@ dependencies = [ [[package]] name = "reth-consensus" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4674,7 +4603,7 @@ dependencies = [ [[package]] name = "reth-consensus-common" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4687,7 +4616,7 @@ dependencies = [ [[package]] name = "reth-db" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -4711,7 +4640,7 @@ dependencies = [ [[package]] name = "reth-db-api" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-genesis", @@ -4736,7 +4665,7 @@ dependencies = [ [[package]] name = "reth-db-models" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-eips", "alloy-primitives", @@ -4750,7 +4679,7 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4766,7 +4695,7 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-chains", "alloy-eip2124", @@ -4781,7 +4710,7 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4801,7 +4730,7 @@ dependencies = [ [[package]] name = "reth-evm" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4826,7 +4755,7 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4847,7 +4776,7 @@ dependencies = [ [[package]] name = "reth-execution-errors" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-eips", "alloy-primitives", @@ -4861,7 +4790,7 @@ dependencies = [ [[package]] name = "reth-execution-types" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4879,7 +4808,7 @@ dependencies = [ [[package]] name = "reth-fs-util" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "serde", "serde_json", @@ -4889,7 +4818,7 @@ dependencies = [ [[package]] name = "reth-metrics" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "metrics 0.24.1", "metrics-derive", @@ -4898,7 +4827,7 @@ dependencies = [ [[package]] name = "reth-network-peers" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -4911,7 +4840,7 @@ dependencies = [ [[package]] name = "reth-nippy-jar" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "anyhow", "bincode", @@ -4928,7 +4857,7 @@ dependencies = [ [[package]] name = "reth-primitives" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "once_cell", @@ -4941,7 +4870,7 @@ dependencies = [ [[package]] name = "reth-primitives-traits" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4970,7 +4899,7 @@ dependencies = [ [[package]] name = "reth-prune-types" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-primitives", "derive_more 1.0.0", @@ -4983,7 +4912,7 @@ dependencies = [ [[package]] name = "reth-revm" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-eips", "alloy-primitives", @@ -4998,7 +4927,7 @@ dependencies = [ [[package]] name = "reth-scroll-chainspec" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-chains", "alloy-consensus", @@ -5021,7 +4950,7 @@ dependencies = [ [[package]] name = "reth-scroll-consensus" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "revm 19.4.0", ] @@ -5029,7 +4958,7 @@ dependencies = [ [[package]] name = "reth-scroll-evm" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -5055,7 +4984,7 @@ dependencies = [ [[package]] name = "reth-scroll-forks" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-chains", "alloy-primitives", @@ -5067,7 +4996,7 @@ dependencies = [ [[package]] name = "reth-scroll-primitives" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -5091,7 +5020,7 @@ dependencies = [ [[package]] name = "reth-stages-types" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-primitives", "bytes", @@ -5104,7 +5033,7 @@ dependencies = [ [[package]] name = "reth-static-file-types" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-primitives", "derive_more 1.0.0", @@ -5115,7 +5044,7 @@ dependencies = [ [[package]] name = "reth-storage-api" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -5140,7 +5069,7 @@ dependencies = [ [[package]] name = "reth-storage-errors" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-eips", "alloy-primitives", @@ -5155,7 +5084,7 @@ dependencies = [ [[package]] name = "reth-tracing" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "clap", "eyre", @@ -5170,7 +5099,7 @@ dependencies = [ [[package]] name = "reth-trie" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -5192,7 +5121,7 @@ dependencies = [ [[package]] name = "reth-trie-common" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -5215,7 +5144,7 @@ dependencies = [ [[package]] name = "reth-trie-db" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -5233,7 +5162,7 @@ dependencies = [ [[package]] name = "reth-trie-sparse" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -5248,7 +5177,7 @@ dependencies = [ [[package]] name = "reth-zstd-compressors" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "zstd", ] @@ -5271,7 +5200,7 @@ dependencies = [ [[package]] name = "revm" version = "19.4.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#562b7c67b8f0c0e4aee4f74fe6c0c983df58790c" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#17dfd866846f0fa19fa04bd6f848fb80cd5d73fc" dependencies = [ "auto_impl", "cfg-if", @@ -5310,7 +5239,7 @@ dependencies = [ [[package]] name = "revm-interpreter" version = "15.1.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#562b7c67b8f0c0e4aee4f74fe6c0c983df58790c" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#17dfd866846f0fa19fa04bd6f848fb80cd5d73fc" dependencies = [ "revm-primitives 15.1.0", "serde", @@ -5348,7 +5277,7 @@ dependencies = [ [[package]] name = "revm-precompile" version = "16.0.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#562b7c67b8f0c0e4aee4f74fe6c0c983df58790c" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#17dfd866846f0fa19fa04bd6f848fb80cd5d73fc" dependencies = [ "aurora-engine-modexp", "c-kzg", @@ -5405,7 +5334,7 @@ dependencies = [ [[package]] name = "revm-primitives" version = "15.1.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#562b7c67b8f0c0e4aee4f74fe6c0c983df58790c" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#17dfd866846f0fa19fa04bd6f848fb80cd5d73fc" dependencies = [ "alloy-eip2930", "alloy-eip7702 0.5.1", @@ -5610,7 +5539,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.59.0", + "windows-sys", ] [[package]] @@ -5637,22 +5566,10 @@ version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" -[[package]] -name = "sbv" -version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-v2#74d7fb0398b1bc94fe20ac29bdc445634c4bfeea" -dependencies = [ - "sbv-core", - "sbv-helpers", - "sbv-kv", - "sbv-primitives", - "sbv-trie", -] - [[package]] name = "sbv-core" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-v2#74d7fb0398b1bc94fe20ac29bdc445634c4bfeea" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-upgrade#6759d7b0893e31782e3a24abaad6be655edffdde" dependencies = [ "reth-evm", "reth-evm-ethereum", @@ -5669,7 +5586,7 @@ dependencies = [ [[package]] name = "sbv-helpers" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-v2#74d7fb0398b1bc94fe20ac29bdc445634c4bfeea" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-upgrade#6759d7b0893e31782e3a24abaad6be655edffdde" dependencies = [ "revm 19.4.0", ] @@ -5677,7 +5594,7 @@ dependencies = [ [[package]] name = "sbv-kv" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-v2#74d7fb0398b1bc94fe20ac29bdc445634c4bfeea" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-upgrade#6759d7b0893e31782e3a24abaad6be655edffdde" dependencies = [ "auto_impl", "hashbrown 0.15.2", @@ -5687,7 +5604,7 @@ dependencies = [ [[package]] name = "sbv-primitives" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-v2#74d7fb0398b1bc94fe20ac29bdc445634c4bfeea" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-upgrade#6759d7b0893e31782e3a24abaad6be655edffdde" dependencies = [ "alloy-consensus", "alloy-eips", @@ -5718,7 +5635,7 @@ dependencies = [ [[package]] name = "sbv-trie" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-v2#74d7fb0398b1bc94fe20ac29bdc445634c4bfeea" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-upgrade#6759d7b0893e31782e3a24abaad6be655edffdde" dependencies = [ "alloy-rlp", "alloy-trie", @@ -5733,7 +5650,7 @@ dependencies = [ [[package]] name = "scroll-alloy-consensus" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -5751,7 +5668,7 @@ dependencies = [ [[package]] name = "scroll-alloy-network" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-network", @@ -5765,7 +5682,7 @@ dependencies = [ [[package]] name = "scroll-alloy-rpc-types" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -5781,72 +5698,31 @@ dependencies = [ [[package]] name = "scroll-zkvm-circuit-input-types" -version = "0.1.0-rc.6" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" -dependencies = [ - "alloy-primitives", - "alloy-serde 0.8.3", - "openvm", - "openvm-rv32im-guest", - "rkyv", - "sbv", - "serde", - "tiny-keccak", -] - -[[package]] -name = "scroll-zkvm-circuit-input-types" -version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.3#01fb5e3b8b04f6e8a59056e1741f5d973589e727" +version = "0.1.0-rc.11" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.11#29a0373dfea03bcd8fd4aa93631ffd76da3d552c" dependencies = [ "alloy-primitives", "alloy-serde 0.8.3", "itertools 0.14.0", "openvm", + "openvm-custom-insn", "openvm-rv32im-guest", "rkyv", - "sbv", + "sbv-core", + "sbv-kv", + "sbv-primitives", + "sbv-trie", "serde", + "sha2", + "sha3", "tiny-keccak", "vm-zstd", ] [[package]] name = "scroll-zkvm-prover" -version = "0.1.0-rc.6" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" -dependencies = [ - "alloy-primitives", - "base64 0.22.1", - "bincode", - "git-version", - "hex", - "metrics 0.23.0", - "metrics-util", - "once_cell", - "openvm-circuit", - "openvm-native-circuit", - "openvm-native-recursion", - "openvm-sdk", - "openvm-stark-sdk", - "revm 19.5.0", - "rkyv", - "sbv", - "scroll-zkvm-circuit-input-types 0.1.0-rc.6", - "scroll-zkvm-verifier 0.1.0-rc.6", - "serde", - "serde_json", - "serde_stacker", - "snark-verifier-sdk", - "thiserror 2.0.11", - "toml", - "tracing", -] - -[[package]] -name = "scroll-zkvm-prover" -version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.3#01fb5e3b8b04f6e8a59056e1741f5d973589e727" +version = "0.1.0-rc.11" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.11#29a0373dfea03bcd8fd4aa93631ffd76da3d552c" dependencies = [ "alloy-primitives", "base64 0.22.1", @@ -5855,19 +5731,21 @@ dependencies = [ "git-version", "hex", "metrics 0.23.0", + "metrics-tracing-context", "metrics-util", "munge", "once_cell", "openvm-circuit", + "openvm-continuations", "openvm-native-circuit", "openvm-native-recursion", "openvm-sdk", "openvm-stark-sdk", "revm 19.5.0", "rkyv", - "sbv", - "scroll-zkvm-circuit-input-types 0.1.1-rc.2", - "scroll-zkvm-verifier 0.1.1-rc.2", + "sbv-primitives", + "scroll-zkvm-circuit-input-types", + "scroll-zkvm-verifier", "serde", "serde_json", "serde_stacker", @@ -5879,38 +5757,20 @@ dependencies = [ [[package]] name = "scroll-zkvm-verifier" -version = "0.1.0-rc.6" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" +version = "0.1.0-rc.11" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.11#29a0373dfea03bcd8fd4aa93631ffd76da3d552c" dependencies = [ "bincode", "eyre", "itertools 0.14.0", "openvm-circuit", + "openvm-continuations", "openvm-native-circuit", "openvm-native-recursion", "openvm-sdk", "openvm-stark-sdk", "revm 19.5.0", - "scroll-zkvm-circuit-input-types 0.1.0-rc.6", - "serde", - "snark-verifier-sdk", -] - -[[package]] -name = "scroll-zkvm-verifier" -version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.1-rc.3#01fb5e3b8b04f6e8a59056e1741f5d973589e727" -dependencies = [ - "bincode", - "eyre", - "itertools 0.14.0", - "openvm-circuit", - "openvm-native-circuit", - "openvm-native-recursion", - "openvm-sdk", - "openvm-stark-sdk", - "revm 19.5.0", - "scroll-zkvm-circuit-input-types 0.1.1-rc.2", + "scroll-zkvm-circuit-input-types", "serde", "snark-verifier-sdk", ] @@ -6175,8 +6035,8 @@ dependencies = [ [[package]] name = "snark-verifier" -version = "0.1.8" -source = "git+https://github.com/axiom-crypto/snark-verifier?branch=zkvm-v0.1#ab65fda41b56571aa33dd27f68ef1ea461e3fadc" +version = "0.2.0" +source = "git+https://github.com/axiom-crypto/snark-verifier?branch=zkvm-v0.1#9e1c165ff8816b9351791c2f939548beb12c183f" dependencies = [ "halo2-base", "halo2-ecc", @@ -6196,8 +6056,8 @@ dependencies = [ [[package]] name = "snark-verifier-sdk" -version = "0.1.8" -source = "git+https://github.com/axiom-crypto/snark-verifier?branch=zkvm-v0.1#ab65fda41b56571aa33dd27f68ef1ea461e3fadc" +version = "0.2.0" +source = "git+https://github.com/axiom-crypto/snark-verifier?branch=zkvm-v0.1#9e1c165ff8816b9351791c2f939548beb12c183f" dependencies = [ "ark-std 0.3.0", "bincode", @@ -6233,16 +6093,6 @@ dependencies = [ "der", ] -[[package]] -name = "stability" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" -dependencies = [ - "quote", - "syn 2.0.98", -] - [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -6259,7 +6109,7 @@ dependencies = [ "cfg-if", "libc", "psm", - "windows-sys 0.59.0", + "windows-sys", ] [[package]] @@ -6437,7 +6287,7 @@ dependencies = [ "getrandom 0.3.1", "once_cell", "rustix", - "windows-sys 0.59.0", + "windows-sys", ] [[package]] @@ -6599,7 +6449,6 @@ source = "git+https://github.com/scroll-tech/tiny-keccak?branch=scroll-patch-v2. dependencies = [ "cfg-if", "crunchy", - "openvm-platform 1.0.0-rc.1 (git+https://github.com/openvm-org/openvm.git?tag=v1.0.0-rc.1)", ] [[package]] @@ -7025,7 +6874,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.59.0", + "windows-sys", ] [[package]] @@ -7041,7 +6890,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" dependencies = [ "windows-core 0.57.0", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -7050,7 +6899,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -7062,7 +6911,7 @@ dependencies = [ "windows-implement", "windows-interface", "windows-result", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -7099,16 +6948,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", + "windows-targets", ] [[package]] @@ -7117,22 +6957,7 @@ 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" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", + "windows-targets", ] [[package]] @@ -7141,46 +6966,28 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -7193,48 +7000,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -7424,10 +7207,8 @@ dependencies = [ "libc", "log", "once_cell", - "scroll-zkvm-prover 0.1.0-rc.6", - "scroll-zkvm-prover 0.1.1-rc.2", - "scroll-zkvm-verifier 0.1.0-rc.6", - "scroll-zkvm-verifier 0.1.1-rc.2", + "scroll-zkvm-prover", + "scroll-zkvm-verifier", "serde", "serde_derive", "serde_json", @@ -7436,4 +7217,4 @@ dependencies = [ [[package]] name = "zstd" version = "1.1.4" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" diff --git a/common/libzkp/impl/Cargo.toml b/common/libzkp/impl/Cargo.toml index 003fa3731a..07b775cea2 100644 --- a/common/libzkp/impl/Cargo.toml +++ b/common/libzkp/impl/Cargo.toml @@ -14,10 +14,8 @@ ruint = { git = "https://github.com/scroll-tech/uint.git", branch = "v1.12.3" } tiny-keccak = { git = "https://github.com/scroll-tech/tiny-keccak", branch = "scroll-patch-v2.0.2-openvm-v1.0.0-rc.1" } [dependencies] -euclid_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.6", package = "scroll-zkvm-prover" } -euclid_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.6", package = "scroll-zkvm-verifier" } -euclidv2_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.3", package = "scroll-zkvm-prover" } -euclidv2_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.3", package = "scroll-zkvm-verifier" } +euclid_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.11", package = "scroll-zkvm-prover" } +euclid_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.11", package = "scroll-zkvm-verifier" } base64 = "0.13.0" env_logger = "0.9.0" diff --git a/common/libzkp/impl/src/verifier.rs b/common/libzkp/impl/src/verifier.rs index 96e306aa7b..f1bad49dd4 100644 --- a/common/libzkp/impl/src/verifier.rs +++ b/common/libzkp/impl/src/verifier.rs @@ -49,11 +49,11 @@ static mut VERIFIER_LOW: OnceCell = OnceCell::new(); static mut VERIFIER_HIGH: OnceCell = OnceCell::new(); pub fn init(config: VerifierConfig) { - let verifier = EuclidVerifier::new(&config.low_version_circuit.assets_path); + let verifier = EuclidVerifier::new(&config.high_version_circuit.assets_path); unsafe { VERIFIER_LOW .set(VerifierPair( - config.low_version_circuit.fork_name, + "euclid".to_string(), Rc::new(Box::new(verifier)), )) .unwrap_unchecked(); @@ -63,7 +63,7 @@ pub fn init(config: VerifierConfig) { unsafe { VERIFIER_HIGH .set(VerifierPair( - config.high_version_circuit.fork_name, + "euclidV2".to_string(), Rc::new(Box::new(verifier)), )) .unwrap_unchecked(); diff --git a/common/libzkp/impl/src/verifier/euclid.rs b/common/libzkp/impl/src/verifier/euclid.rs index 54eac746fa..93673d4544 100644 --- a/common/libzkp/impl/src/verifier/euclid.rs +++ b/common/libzkp/impl/src/verifier/euclid.rs @@ -4,13 +4,13 @@ use anyhow::Result; use crate::utils::panic_catch; use euclid_prover::{BatchProof, BundleProof, ChunkProof}; -use euclid_verifier::verifier::{BatchVerifier, BundleVerifier, ChunkVerifier}; +use euclid_verifier::verifier::{BatchVerifier, BundleVerifierEuclidV1, ChunkVerifier}; use std::{fs::File, path::Path}; pub struct EuclidVerifier { chunk_verifier: ChunkVerifier, batch_verifier: BatchVerifier, - bundle_verifier: BundleVerifier, + bundle_verifier: BundleVerifierEuclidV1, } impl EuclidVerifier { @@ -24,7 +24,7 @@ impl EuclidVerifier { .expect("Setting up chunk verifier"), batch_verifier: BatchVerifier::setup(&config, &exe, &verifier_bin) .expect("Setting up batch verifier"), - bundle_verifier: BundleVerifier::setup(&config, &exe, &verifier_bin) + bundle_verifier: BundleVerifierEuclidV1::setup(&config, &exe, &verifier_bin) .expect("Setting up bundle verifier"), } } diff --git a/common/libzkp/impl/src/verifier/euclidv2.rs b/common/libzkp/impl/src/verifier/euclidv2.rs index 4326c9787a..7f4cb9d433 100644 --- a/common/libzkp/impl/src/verifier/euclidv2.rs +++ b/common/libzkp/impl/src/verifier/euclidv2.rs @@ -3,14 +3,14 @@ use super::{ProofVerifier, TaskType, VKDump}; use anyhow::Result; use crate::utils::panic_catch; -use euclidv2_prover::{BatchProof, BundleProof, ChunkProof}; -use euclidv2_verifier::verifier::{BatchVerifier, BundleVerifier, ChunkVerifier}; +use euclid_prover::{BatchProof, BundleProof, ChunkProof}; +use euclid_verifier::verifier::{BatchVerifier, BundleVerifierEuclidV2, ChunkVerifier}; use std::{fs::File, path::Path}; pub struct EuclidV2Verifier { chunk_verifier: ChunkVerifier, batch_verifier: BatchVerifier, - bundle_verifier: BundleVerifier, + bundle_verifier: BundleVerifierEuclidV2, } impl EuclidV2Verifier { @@ -24,7 +24,7 @@ impl EuclidV2Verifier { .expect("Setting up chunk verifier"), batch_verifier: BatchVerifier::setup(&config, &exe, &verifier_bin) .expect("Setting up batch verifier"), - bundle_verifier: BundleVerifier::setup(&config, &exe, &verifier_bin) + bundle_verifier: BundleVerifierEuclidV2::setup(&config, &exe, &verifier_bin) .expect("Setting up bundle verifier"), } } diff --git a/common/types/message/message.go b/common/types/message/message.go index 2bc11138fb..11f4d97311 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -13,6 +13,9 @@ import ( const ( EuclidFork = "euclid" EuclidV2Fork = "euclidV2" + + EuclidForkNameForProver = "euclidv1" + EuclidV2ForkNameForProver = "euclidv2" ) // ProofType represents the type of task. @@ -44,6 +47,8 @@ const ( // ChunkTaskDetail is a type containing ChunkTask detail for chunk task. type ChunkTaskDetail struct { + // use one of the string of EuclidFork / EuclidV2Fork + ForkName string `json:"fork_name"` BlockHashes []common.Hash `json:"block_hashes"` PrevMsgQueueHash common.Hash `json:"prev_msg_queue_hash"` } @@ -93,6 +98,8 @@ func (e *Byte48) UnmarshalJSON(input []byte) error { // BatchTaskDetail is a type containing BatchTask detail. type BatchTaskDetail struct { + // use one of the string of EuclidFork / EuclidV2Fork + ForkName string `json:"fork_name"` ChunkInfos []*ChunkInfo `json:"chunk_infos"` ChunkProofs []ChunkProof `json:"chunk_proofs"` BatchHeader interface{} `json:"batch_header"` @@ -104,7 +111,10 @@ type BatchTaskDetail struct { // BundleTaskDetail consists of all the information required to describe the task to generate a proof for a bundle of batches. type BundleTaskDetail struct { - BatchProofs []BatchProof `json:"batch_proofs"` + // use one of the string of EuclidFork / EuclidV2Fork + ForkName string `json:"fork_name"` + BatchProofs []BatchProof `json:"batch_proofs"` + BundleInfo *OpenVMBundleInfo `json:"bundle_info,omitempty"` } // ChunkInfo is for calculating pi_hash for chunk diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index c4aa982361..b60641b006 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -229,7 +229,7 @@ func (bp *BatchProverTask) formatProverTask(ctx context.Context, task *orm.Prove chunkInfos = append(chunkInfos, &chunkInfo) } - taskDetail, err := bp.getBatchTaskDetail(batch, chunkInfos, chunkProofs) + taskDetail, err := bp.getBatchTaskDetail(batch, chunkInfos, chunkProofs, hardForkName) if err != nil { return nil, fmt.Errorf("failed to get batch task detail, taskID:%s err:%w", task.TaskID, err) } @@ -258,12 +258,18 @@ func (bp *BatchProverTask) recoverActiveAttempts(ctx *gin.Context, batchTask *or } } -func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []*message.ChunkInfo, chunkProofs []message.ChunkProof) (*message.BatchTaskDetail, error) { +func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []*message.ChunkInfo, chunkProofs []message.ChunkProof, hardForkName string) (*message.BatchTaskDetail, error) { taskDetail := &message.BatchTaskDetail{ ChunkInfos: chunkInfos, ChunkProofs: chunkProofs, } + if hardForkName == message.EuclidV2Fork { + taskDetail.ForkName = message.EuclidV2ForkNameForProver + } else if hardForkName == message.EuclidFork { + taskDetail.ForkName = message.EuclidForkNameForProver + } + dbBatchCodecVersion := encoding.CodecVersion(dbBatch.CodecVersion) switch dbBatchCodecVersion { case encoding.CodecV3, encoding.CodecV4, encoding.CodecV6, encoding.CodecV7: diff --git a/coordinator/internal/logic/provertask/bundle_prover_task.go b/coordinator/internal/logic/provertask/bundle_prover_task.go index 9ac1022fc3..c422f971d0 100644 --- a/coordinator/internal/logic/provertask/bundle_prover_task.go +++ b/coordinator/internal/logic/provertask/bundle_prover_task.go @@ -9,6 +9,7 @@ import ( "github.com/gin-gonic/gin" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promauto" + "github.com/scroll-tech/go-ethereum/common" "github.com/scroll-tech/go-ethereum/log" "github.com/scroll-tech/go-ethereum/params" "gorm.io/gorm" @@ -194,6 +195,11 @@ func (bp *BundleProverTask) formatProverTask(ctx context.Context, task *orm.Prov return nil, fmt.Errorf("failed to get batch proofs for bundle task id:%s, no batch found", task.TaskID) } + parentBatch, err := bp.batchOrm.GetBatchByHash(ctx, batches[0].ParentBatchHash) + if err != nil { + return nil, fmt.Errorf("failed to get parent batch for batch task id:%s err:%w", task.TaskID, err) + } + var batchProofs []message.BatchProof for _, batch := range batches { proof := message.NewBatchProof(hardForkName) @@ -207,6 +213,26 @@ func (bp *BundleProverTask) formatProverTask(ctx context.Context, task *orm.Prov BatchProofs: batchProofs, } + if hardForkName == message.EuclidV2Fork { + taskDetail.ForkName = message.EuclidV2ForkNameForProver + } else if hardForkName == message.EuclidFork { + taskDetail.ForkName = message.EuclidForkNameForProver + } + + taskDetail.BundleInfo = &message.OpenVMBundleInfo{ + ChainID: bp.cfg.L2.ChainID, + PrevStateRoot: common.HexToHash(parentBatch.StateRoot), + PostStateRoot: common.HexToHash(batches[len(batches)-1].StateRoot), + WithdrawRoot: common.HexToHash(batches[len(batches)-1].WithdrawRoot), + NumBatches: uint32(len(batches)), + PrevBatchHash: common.HexToHash(batches[0].ParentBatchHash), + BatchHash: common.HexToHash(batches[len(batches)-1].Hash), + } + + if hardForkName == message.EuclidV2Fork { + taskDetail.BundleInfo.MsgQueueHash = common.HexToHash(batches[len(batches)-1].PostL1MessageQueueHash) + } + batchProofsBytes, err := json.Marshal(taskDetail) if err != nil { return nil, fmt.Errorf("failed to marshal batch proofs, taskID:%s err:%w", task.TaskID, err) diff --git a/coordinator/internal/logic/provertask/chunk_prover_task.go b/coordinator/internal/logic/provertask/chunk_prover_task.go index 0d9f6cd70d..edc424cfb3 100644 --- a/coordinator/internal/logic/provertask/chunk_prover_task.go +++ b/coordinator/internal/logic/provertask/chunk_prover_task.go @@ -192,6 +192,13 @@ func (cp *ChunkProverTask) formatProverTask(ctx context.Context, task *orm.Prove BlockHashes: blockHashes, PrevMsgQueueHash: common.HexToHash(chunk.PrevL1MessageQueueHash), } + + if hardForkName == message.EuclidV2Fork { + taskDetail.ForkName = message.EuclidV2ForkNameForProver + } else if hardForkName == message.EuclidFork { + taskDetail.ForkName = message.EuclidForkNameForProver + } + var err error taskDetailBytes, err = json.Marshal(taskDetail) if err != nil { diff --git a/coordinator/internal/logic/verifier/verifier.go b/coordinator/internal/logic/verifier/verifier.go index 2f1d2b5ee3..fd18cdc368 100644 --- a/coordinator/internal/logic/verifier/verifier.go +++ b/coordinator/internal/logic/verifier/verifier.go @@ -99,16 +99,16 @@ func NewVerifier(cfg *config.VerifierConfig) (*Verifier, error) { OpenVMVkMap: make(map[string]struct{}), } - if cfg.LowVersionCircuit.ForkName == message.EuclidFork { - if err := v.loadOpenVMVks(cfg.LowVersionCircuit.ForkName); err != nil { - return nil, err - } + if err := v.loadLowVersionVKs(cfg); err != nil { + return nil, err } if err := v.loadOpenVMVks(cfg.HighVersionCircuit.ForkName); err != nil { return nil, err } + v.loadDarwinVKs() + return v, nil } @@ -205,6 +205,32 @@ func (v *Verifier) readVK(filePat string) (string, error) { return base64.StdEncoding.EncodeToString(byt), nil } +// load low version vks, current is darwin +func (v *Verifier) loadLowVersionVKs(cfg *config.VerifierConfig) error { + bundleVK, err := v.readVK(path.Join(cfg.LowVersionCircuit.AssetsPath, "vk_bundle.vkey")) + if err != nil { + return err + } + batchVK, err := v.readVK(path.Join(cfg.LowVersionCircuit.AssetsPath, "vk_batch.vkey")) + if err != nil { + return err + } + chunkVK, err := v.readVK(path.Join(cfg.LowVersionCircuit.AssetsPath, "vk_chunk.vkey")) + if err != nil { + return err + } + v.BundleVkMap[bundleVK] = struct{}{} + v.BatchVKMap[batchVK] = struct{}{} + v.ChunkVKMap[chunkVK] = struct{}{} + return nil +} + +func (v *Verifier) loadDarwinVKs() { + v.BundleVkMap["AAAAGgAAAARX2S0K1wF333B1waOsnG/vcASJmWG9YM6SNWCBy1ywD5dsp1rEy7PSqiIFikkkOPqKokLW2mZSwCbtKdkfLQcvTxARUwHSe4iZe27PRJ5WWaLqtRV1+x6+pSVKtcPtaV4kE7v2YJRf0582hxiAF0IBaOoREdpyNfA2a9cvhWb2TMaPrUYP9EDQ7CUiW1FQzxbjGc95ua2htscnpU7d9S5stHWzKb7okkCG7bTIL9aG6qTQo2YXW7n3H3Ir47oVJB7IKrUzKGvI5Wmanh2zpZOJ9Qm4/wY24cT7cJz+Ux6wAg=="] = struct{}{} + v.BatchVKMap["AAAAGgAAAARX2S0K1wF333B1waOsnG/vcASJmWG9YM6SNWCBy1ywD1DEjW4Kell67H07wazT5DdzrSh4+amh+cmosQHp9p9snFypyoBGt3UHtoJGQBZlywZWDS9ht5pnaEoGBdaKcQk+lFb+WxTiId0KOAa0mafTZTQw8yToy57Jple64qzlRu1dux30tZZGuerLN1CKzg5Xl2iOpMK+l87jCINwVp5cUtF/XrvhBbU7onKh3KBiy99iUqVyA3Y6iiIZhGKWBSuSA4bNgDYIoVkqjHpdL35aEShoRO6pNXt7rDzxFoPzH0JuPI54nE4OhVrzZXwtkAEosxVa/fszcE092FH+HhhtxZBYe/KEzwdISU9TOPdId3UF/UMYC0MiYOlqffVTgAg="] = struct{}{} + v.ChunkVKMap["AAAAGQAAAATyWEABRbJ6hQQ5/zLX1gTasr7349minA9rSgMS6gDeHwZKqikRiO3md+pXjjxMHnKQtmXYgMXhJSvlmZ+Ws+cheuly2X1RuNQzcZuRImaKPR9LJsVZYsXfJbuqdKX8p0Gj8G83wMJOmTzNVUyUol0w0lTU+CEiTpHOnxBsTF3EWaW3s1u4ycOgWt1c9M6s7WmaBZLYgAWYCunO5CLCLApNGbCASeck/LuSoedEri5u6HccCKU2khG6zl6W07jvYSbDVLJktbjRiHv+/HQix+K14j8boo8Z/unhpwXCsPxkQA=="] = struct{}{} +} + func (v *Verifier) loadOpenVMVks(forkName string) error { tempFile := path.Join(os.TempDir(), "openVmVk.json") defer func() { diff --git a/coordinator/internal/orm/batch.go b/coordinator/internal/orm/batch.go index 933eb320ec..6c085d7cf8 100644 --- a/coordinator/internal/orm/batch.go +++ b/coordinator/internal/orm/batch.go @@ -19,20 +19,22 @@ type Batch struct { db *gorm.DB `gorm:"column:-"` // batch - Index uint64 `json:"index" gorm:"column:index"` - Hash string `json:"hash" gorm:"column:hash"` - DataHash string `json:"data_hash" gorm:"column:data_hash"` - StartChunkIndex uint64 `json:"start_chunk_index" gorm:"column:start_chunk_index"` - StartChunkHash string `json:"start_chunk_hash" gorm:"column:start_chunk_hash"` - EndChunkIndex uint64 `json:"end_chunk_index" gorm:"column:end_chunk_index"` - EndChunkHash string `json:"end_chunk_hash" gorm:"column:end_chunk_hash"` - StateRoot string `json:"state_root" gorm:"column:state_root"` - WithdrawRoot string `json:"withdraw_root" gorm:"column:withdraw_root"` - ParentBatchHash string `json:"parent_batch_hash" gorm:"column:parent_batch_hash"` - BatchHeader []byte `json:"batch_header" gorm:"column:batch_header"` - CodecVersion int16 `json:"codec_version" gorm:"column:codec_version"` - EnableCompress bool `json:"enable_compress" gorm:"column:enable_compress"` - BlobBytes []byte `json:"blob_bytes" gorm:"column:blob_bytes"` + Index uint64 `json:"index" gorm:"column:index"` + Hash string `json:"hash" gorm:"column:hash"` + DataHash string `json:"data_hash" gorm:"column:data_hash"` + StartChunkIndex uint64 `json:"start_chunk_index" gorm:"column:start_chunk_index"` + StartChunkHash string `json:"start_chunk_hash" gorm:"column:start_chunk_hash"` + EndChunkIndex uint64 `json:"end_chunk_index" gorm:"column:end_chunk_index"` + EndChunkHash string `json:"end_chunk_hash" gorm:"column:end_chunk_hash"` + StateRoot string `json:"state_root" gorm:"column:state_root"` + WithdrawRoot string `json:"withdraw_root" gorm:"column:withdraw_root"` + ParentBatchHash string `json:"parent_batch_hash" gorm:"column:parent_batch_hash"` + BatchHeader []byte `json:"batch_header" gorm:"column:batch_header"` + CodecVersion int16 `json:"codec_version" gorm:"column:codec_version"` + PrevL1MessageQueueHash string `json:"prev_l1_message_queue_hash" gorm:"column:prev_l1_message_queue_hash"` + PostL1MessageQueueHash string `json:"post_l1_message_queue_hash" gorm:"column:post_l1_message_queue_hash"` + EnableCompress bool `json:"enable_compress" gorm:"column:enable_compress"` + BlobBytes []byte `json:"blob_bytes" gorm:"column:blob_bytes"` // proof ChunkProofsStatus int16 `json:"chunk_proofs_status" gorm:"column:chunk_proofs_status;default:1"` diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index 9410d8becc..6ceea9c2df 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -1971,15 +1971,6 @@ dependencies = [ "dirs-sys", ] -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys", -] - [[package]] name = "dirs-sys" version = "0.4.1" @@ -4284,13 +4275,12 @@ dependencies = [ [[package]] name = "openvm" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "bytemuck", - "hex-literal", "num-bigint 0.4.6", - "num-traits", + "openvm-custom-insn", "openvm-platform", "openvm-rv32im-guest", "serde", @@ -4298,12 +4288,12 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", - "itertools 0.13.0", + "itertools 0.14.0", "num-bigint 0.4.6", "num-traits", "openvm-algebra-transpiler", @@ -4322,13 +4312,12 @@ dependencies = [ "serde-big-array", "serde_with", "strum 0.26.3", - "tracing", ] [[package]] name = "openvm-algebra-complex-macros" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-macros-common", "quote", @@ -4337,24 +4326,21 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "halo2curves-axiom 0.5.3", "num-bigint 0.4.6", - "openvm", "openvm-algebra-complex-macros", "openvm-algebra-moduli-macros", - "openvm-platform", - "serde", "serde-big-array", "strum_macros 0.26.4", ] [[package]] name = "openvm-algebra-moduli-macros" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-macros-common", "quote", @@ -4363,8 +4349,8 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -4373,13 +4359,12 @@ dependencies = [ "openvm-transpiler", "rrs-lib", "strum 0.26.3", - "strum_macros 0.26.4", ] [[package]] name = "openvm-bigint-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -4400,21 +4385,22 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "num-bigint 0.4.6", "num-traits", "openvm", "openvm-platform", "serde", + "serde-big-array", "strum_macros 0.26.4", ] [[package]] name = "openvm-bigint-transpiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -4428,27 +4414,22 @@ dependencies = [ [[package]] name = "openvm-build" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "cargo_metadata", - "dirs", "eyre", - "hex", "openvm-platform", "serde", "serde_json", - "tempfile", ] [[package]] name = "openvm-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "async-trait", "backtrace", - "bitcode", "cfg-if", "derivative", "derive-new 0.6.0", @@ -4456,73 +4437,78 @@ dependencies = [ "enum_dispatch", "eyre", "getset", - "itertools 0.13.0", + "itertools 0.14.0", "metrics 0.23.0", - "metrics-derive", - "once_cell", "openvm-circuit-derive", "openvm-circuit-primitives", "openvm-circuit-primitives-derive", "openvm-instructions", "openvm-poseidon2-air", "openvm-stark-backend", - "p3-baby-bear 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-baby-bear", "rand 0.8.5", - "rayon", "rustc-hash 2.1.1", "serde", "serde-big-array", "static_assertions", "thiserror 1.0.69", - "toml", "tracing", ] [[package]] name = "openvm-circuit-derive" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "itertools 0.13.0", - "proc-macro2", + "itertools 0.14.0", "quote", "syn 2.0.100", ] [[package]] name = "openvm-circuit-primitives" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "bitcode", "derive-new 0.6.0", - "itertools 0.13.0", - "lazy_static", + "itertools 0.14.0", "num-bigint 0.4.6", "num-traits", "openvm-circuit-primitives-derive", "openvm-stark-backend", "rand 0.8.5", - "serde", "tracing", ] [[package]] name = "openvm-circuit-primitives-derive" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "itertools 0.13.0", - "proc-macro2", + "itertools 0.14.0", "quote", "syn 2.0.100", ] +[[package]] +name = "openvm-continuations" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +dependencies = [ + "derivative", + "openvm-circuit", + "openvm-native-compiler", + "openvm-native-recursion", + "openvm-stark-backend", + "openvm-stark-sdk", + "serde", + "static_assertions", +] + [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "proc-macro2", "quote", @@ -4531,13 +4517,12 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", "eyre", - "itertools 0.13.0", "num-bigint 0.4.6", "num-integer", "num-traits", @@ -4555,6 +4540,7 @@ dependencies = [ "openvm-rv32-adapters", "openvm-rv32im-circuit", "openvm-stark-backend", + "rand 0.8.5", "serde", "serde_with", "strum 0.26.3", @@ -4562,35 +4548,33 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "ecdsa", "elliptic-curve", "group 0.13.0", "halo2curves-axiom 0.5.3", "hex-literal", - "itertools 0.13.0", "k256", "lazy_static", "num-bigint 0.4.6", - "num-traits", + "once_cell", "openvm", "openvm-algebra-guest", "openvm-algebra-moduli-macros", + "openvm-custom-insn", "openvm-ecc-sw-macros", - "openvm-platform", "openvm-rv32im-guest", "p256", - "rand 0.8.5", "serde", "strum_macros 0.26.4", ] [[package]] name = "openvm-ecc-sw-macros" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-macros-common", "quote", @@ -4599,8 +4583,8 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -4613,12 +4597,12 @@ dependencies = [ [[package]] name = "openvm-instructions" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "backtrace", "derive-new 0.6.0", - "itertools 0.13.0", + "itertools 0.14.0", "num-bigint 0.4.6", "num-traits", "openvm-instructions-derive", @@ -4630,25 +4614,21 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "proc-macro2", "quote", "syn 2.0.100", ] [[package]] name = "openvm-keccak256-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "bitcode", "derive-new 0.6.0", "derive_more 1.0.0", - "eyre", - "hex-literal", - "itertools 0.13.0", + "itertools 0.14.0", "openvm-circuit", "openvm-circuit-derive", "openvm-circuit-primitives", @@ -4669,18 +4649,17 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-platform", - "serde", "tiny-keccak", ] [[package]] name = "openvm-keccak256-transpiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4693,18 +4672,18 @@ dependencies = [ [[package]] name = "openvm-macros-common" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "syn 2.0.100", ] [[package]] name = "openvm-mod-circuit-builder" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "num-bigint 0.4.6", "num-traits", "openvm-circuit", @@ -4720,14 +4699,13 @@ dependencies = [ [[package]] name = "openvm-native-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "bitcode", "derive-new 0.6.0", "derive_more 1.0.0", "eyre", - "itertools 0.13.0", + "itertools 0.14.0", "openvm-circuit", "openvm-circuit-derive", "openvm-circuit-primitives", @@ -4748,11 +4726,11 @@ dependencies = [ [[package]] name = "openvm-native-compiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "backtrace", - "itertools 0.13.0", + "itertools 0.14.0", "metrics 0.23.0", "num-bigint 0.4.6", "num-integer", @@ -4772,21 +4750,20 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "proc-macro2", "quote", "syn 2.0.100", ] [[package]] name = "openvm-native-recursion" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "cfg-if", - "itertools 0.13.0", + "itertools 0.14.0", "lazy_static", "metrics 0.23.0", "once_cell", @@ -4796,29 +4773,29 @@ dependencies = [ "openvm-native-compiler-derive", "openvm-stark-backend", "openvm-stark-sdk", - "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-dft", "p3-fri", "p3-merkle-tree", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-symmetric", "rand 0.8.5", "serde", "serde_json", + "serde_with", "snark-verifier-sdk", "tracing", ] [[package]] name = "openvm-pairing-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", "eyre", - "itertools 0.13.0", + "itertools 0.14.0", "num-bigint 0.4.6", "num-traits", - "once_cell", "openvm-algebra-circuit", "openvm-circuit", "openvm-circuit-derive", @@ -4840,13 +4817,13 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "group 0.13.0", "halo2curves-axiom 0.5.3", "hex-literal", - "itertools 0.13.0", + "itertools 0.14.0", "lazy_static", "num-bigint 0.4.6", "num-traits", @@ -4854,6 +4831,7 @@ dependencies = [ "openvm-algebra-complex-macros", "openvm-algebra-guest", "openvm-algebra-moduli-macros", + "openvm-custom-insn", "openvm-ecc-guest", "openvm-ecc-sw-macros", "openvm-platform", @@ -4865,8 +4843,8 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4879,43 +4857,39 @@ dependencies = [ [[package]] name = "openvm-platform" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "getrandom 0.2.15", "libm", "openvm-custom-insn", - "stability", - "strum_macros 0.26.4", + "openvm-rv32im-guest", ] [[package]] name = "openvm-poseidon2-air" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "derivative", - "itertools 0.13.0", "lazy_static", - "openvm-circuit-primitives", "openvm-stark-backend", "openvm-stark-sdk", - "p3-monty-31 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-monty-31", + "p3-poseidon2", "p3-poseidon2-air", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-symmetric", "rand 0.8.5", - "tracing", "zkhash", ] [[package]] name = "openvm-rv32-adapters" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "derive-new 0.6.0", - "itertools 0.13.0", + "itertools 0.14.0", "openvm-circuit", "openvm-circuit-primitives", "openvm-circuit-primitives-derive", @@ -4927,22 +4901,18 @@ dependencies = [ "serde", "serde-big-array", "serde_with", - "tracing", ] [[package]] name = "openvm-rv32im-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "bitcode", "derive-new 0.6.0", "derive_more 1.0.0", "eyre", - "itertools 0.13.0", "num-bigint 0.4.6", "num-integer", - "once_cell", "openvm-circuit", "openvm-circuit-derive", "openvm-circuit-primitives", @@ -4954,22 +4924,21 @@ dependencies = [ "serde", "serde-big-array", "strum 0.26.3", - "tracing", ] [[package]] name = "openvm-rv32im-guest" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "openvm-platform", + "openvm-custom-insn", "strum_macros 0.26.4", ] [[package]] name = "openvm-rv32im-transpiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4984,8 +4953,8 @@ dependencies = [ [[package]] name = "openvm-sdk" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "async-trait", "bitcode", @@ -4995,7 +4964,7 @@ dependencies = [ "derive_more 1.0.0", "eyre", "getset", - "itertools 0.13.0", + "itertools 0.14.0", "metrics 0.23.0", "openvm", "openvm-algebra-circuit", @@ -5004,6 +4973,7 @@ dependencies = [ "openvm-bigint-transpiler", "openvm-build", "openvm-circuit", + "openvm-continuations", "openvm-ecc-circuit", "openvm-ecc-transpiler", "openvm-keccak256-circuit", @@ -5020,15 +4990,18 @@ dependencies = [ "openvm-stark-backend", "openvm-stark-sdk", "openvm-transpiler", + "p3-fri", "serde", - "static_assertions", + "serde_json", + "serde_with", + "thiserror 1.0.69", "tracing", ] [[package]] name = "openvm-sha256-air" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -5038,10 +5011,9 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "bitcode", "derive-new 0.6.0", "derive_more 1.0.0", "openvm-circuit", @@ -5062,18 +5034,17 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "openvm", "openvm-platform", "sha2", ] [[package]] name = "openvm-sha256-transpiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -5096,16 +5067,16 @@ dependencies = [ "itertools 0.14.0", "metrics 0.23.0", "p3-air", - "p3-challenger 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-commit 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-gpu-backend 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-gpu-base 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-challenger", + "p3-commit", + "p3-field", + "p3-gpu-backend", + "p3-gpu-base", "p3-gpu-module", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-matrix", + "p3-maybe-rayon", "p3-uni-stark", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util", "rayon", "rustc-hash 2.1.1", "serde", @@ -5126,18 +5097,18 @@ dependencies = [ "metrics-tracing-context", "metrics-util", "openvm-stark-backend", - "p3-baby-bear 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-baby-bear", "p3-blake3", "p3-bn254-fr", - "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-dft", "p3-fri", "p3-goldilocks", - "p3-gpu-backend 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-gpu-backend", "p3-keccak", "p3-merkle-tree", "p3-poseidon", - "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-poseidon2", + "p3-symmetric", "rand 0.8.5", "serde", "serde_json", @@ -5151,19 +5122,16 @@ dependencies = [ [[package]] name = "openvm-transpiler" -version = "1.0.0-rc.1" -source = "git+https://github.com/openvm-org/openvm.git?rev=f1b4844#f1b484499b9c059d14949cdfaa648906757ca7aa" +version = "1.0.0-rc.2" +source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" dependencies = [ - "derive_more 1.0.0", "elf", "eyre", "openvm-instructions", "openvm-platform", "openvm-stark-backend", "rrs-lib", - "strum 0.26.3", "thiserror 1.0.69", - "tracing", ] [[package]] @@ -5202,36 +5170,22 @@ dependencies = [ [[package]] name = "p3-air" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -dependencies = [ - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", -] - -[[package]] -name = "p3-baby-bear" -version = "0.1.0" source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-mds 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-monty-31 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "rand 0.8.5", - "serde", + "p3-field", + "p3-matrix", ] [[package]] name = "p3-baby-bear" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-mds 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-monty-31 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field", + "p3-mds", + "p3-monty-31", + "p3-poseidon2", + "p3-symmetric", "rand 0.8.5", "serde", ] @@ -5239,24 +5193,24 @@ dependencies = [ [[package]] name = "p3-blake3" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "blake3", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-symmetric", + "p3-util", ] [[package]] name = "p3-bn254-fr" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "ff 0.13.1", "halo2curves", "num-bigint 0.4.6", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field", + "p3-poseidon2", + "p3-symmetric", "rand 0.8.5", "serde", ] @@ -5266,22 +5220,10 @@ name = "p3-challenger" version = "0.1.0" source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "tracing", -] - -[[package]] -name = "p3-challenger" -version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -dependencies = [ - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field", + "p3-maybe-rayon", + "p3-symmetric", + "p3-util", "tracing", ] @@ -5292,28 +5234,12 @@ source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd8 dependencies = [ "anyhow", "itertools 0.14.0", - "p3-challenger 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-gpu-base 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "serde", -] - -[[package]] -name = "p3-commit" -version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -dependencies = [ - "anyhow", - "itertools 0.14.0", - "p3-challenger 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-gpu-base 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-challenger", + "p3-dft", + "p3-field", + "p3-gpu-base", + "p3-matrix", + "p3-util", "serde", ] @@ -5323,23 +5249,10 @@ version = "0.1.0" source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "itertools 0.14.0", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "tracing", -] - -[[package]] -name = "p3-dft" -version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -dependencies = [ - "itertools 0.14.0", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", "tracing", ] @@ -5353,25 +5266,8 @@ dependencies = [ "num-integer", "num-traits", "nums", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "rand 0.8.5", - "serde", - "tracing", -] - -[[package]] -name = "p3-field" -version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -dependencies = [ - "itertools 0.14.0", - "num-bigint 0.4.6", - "num-integer", - "num-traits", - "nums", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-maybe-rayon", + "p3-util", "rand 0.8.5", "serde", "tracing", @@ -5380,21 +5276,21 @@ dependencies = [ [[package]] name = "p3-fri" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "anyhow", "itertools 0.14.0", - "p3-challenger 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-commit 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-gpu-backend 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-gpu-base 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-interpolation 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-gpu-backend", + "p3-gpu-base", + "p3-interpolation", + "p3-matrix", + "p3-maybe-rayon", "p3-merkle-tree", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-util", "rand 0.8.5", "serde", "tracing", @@ -5404,16 +5300,16 @@ dependencies = [ [[package]] name = "p3-goldilocks" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "num-bigint 0.4.6", - "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-mds 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-dft", + "p3-field", + "p3-mds", "p3-poseidon", - "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-poseidon2", + "p3-symmetric", + "p3-util", "rand 0.8.5", "serde", ] @@ -5433,54 +5329,17 @@ dependencies = [ "lazy_static", "ndarray", "once_cell", - "p3-baby-bear 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-commit 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-gpu-base 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-gpu-build 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-interpolation 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "parking_lot 0.12.3", - "paste", - "rand 0.8.5", - "rand_core 0.6.4", - "rayon", - "serde", - "sppark", - "tracing", - "transpose", -] - -[[package]] -name = "p3-gpu-backend" -version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -dependencies = [ - "anyhow", - "bytemuck", - "cc", - "cust", - "cust_raw", - "ff 0.13.1", - "itertools 0.13.0", - "lazy_static", - "ndarray", - "once_cell", - "p3-baby-bear 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-commit 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-gpu-base 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-gpu-build 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-interpolation 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-baby-bear", + "p3-commit", + "p3-dft", + "p3-field", + "p3-gpu-base", + "p3-gpu-build", + "p3-interpolation", + "p3-matrix", + "p3-maybe-rayon", + "p3-poseidon2", + "p3-util", "parking_lot 0.12.3", "paste", "rand 0.8.5", @@ -5503,25 +5362,8 @@ dependencies = [ "cust_raw", "hex", "lazy_static", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "parking_lot 0.12.3", - "tracing", -] - -[[package]] -name = "p3-gpu-base" -version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -dependencies = [ - "anyhow", - "bytemuck", - "cust", - "cust_raw", - "hex", - "lazy_static", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field", + "p3-matrix", "parking_lot 0.12.3", "tracing", ] @@ -5534,20 +5376,7 @@ dependencies = [ "cc", "directories", "hex", - "p3-gpu-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "sha2", - "tempfile", -] - -[[package]] -name = "p3-gpu-build" -version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -dependencies = [ - "cc", - "directories", - "hex", - "p3-gpu-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-gpu-field", "sha2", "tempfile", ] @@ -5557,21 +5386,16 @@ name = "p3-gpu-field" version = "0.1.0" source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -[[package]] -name = "p3-gpu-field" -version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" - [[package]] name = "p3-gpu-module" version = "0.1.0" source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "itertools 0.14.0", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-gpu-base 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-field", + "p3-gpu-base", + "p3-matrix", + "p3-util", "tracing", ] @@ -5580,46 +5404,35 @@ name = "p3-interpolation" version = "0.1.0" source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", -] - -[[package]] -name = "p3-interpolation" -version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -dependencies = [ - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", ] [[package]] name = "p3-keccak" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "itertools 0.14.0", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field", + "p3-symmetric", + "p3-util", "tiny-keccak", ] [[package]] name = "p3-keccak-air" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "p3-air", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-gpu-backend 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field", + "p3-gpu-backend", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", "rand 0.8.5", "tracing", "zkhash", @@ -5631,24 +5444,9 @@ version = "0.1.0" source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "itertools 0.14.0", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "rand 0.8.5", - "serde", - "tracing", - "transpose", -] - -[[package]] -name = "p3-matrix" -version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -dependencies = [ - "itertools 0.14.0", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field", + "p3-maybe-rayon", + "p3-util", "rand 0.8.5", "serde", "tracing", @@ -5663,56 +5461,34 @@ dependencies = [ "rayon", ] -[[package]] -name = "p3-maybe-rayon" -version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -dependencies = [ - "rayon", -] - [[package]] name = "p3-mds" version = "0.1.0" source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "itertools 0.14.0", - "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "rand 0.8.5", -] - -[[package]] -name = "p3-mds" -version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -dependencies = [ - "itertools 0.14.0", - "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-dft", + "p3-field", + "p3-matrix", + "p3-symmetric", + "p3-util", "rand 0.8.5", ] [[package]] name = "p3-merkle-tree" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "anyhow", "itertools 0.14.0", - "p3-commit 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-gpu-base 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-commit", + "p3-field", + "p3-gpu-base", + "p3-matrix", + "p3-maybe-rayon", + "p3-symmetric", + "p3-util", "rand 0.8.5", "serde", "tracing", @@ -5725,35 +5501,14 @@ source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd8 dependencies = [ "itertools 0.14.0", "num-bigint 0.4.6", - "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-mds 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "rand 0.8.5", - "serde", - "tracing", - "transpose", -] - -[[package]] -name = "p3-monty-31" -version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -dependencies = [ - "itertools 0.14.0", - "num-bigint 0.4.6", - "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-mds 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-dft", + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-mds", + "p3-poseidon2", + "p3-symmetric", + "p3-util", "rand 0.8.5", "serde", "tracing", @@ -5763,49 +5518,37 @@ dependencies = [ [[package]] name = "p3-poseidon" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -dependencies = [ - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-mds 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "rand 0.8.5", -] - -[[package]] -name = "p3-poseidon2" -version = "0.1.0" source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ - "gcd", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-mds 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", + "p3-field", + "p3-mds", + "p3-symmetric", "rand 0.8.5", ] [[package]] name = "p3-poseidon2" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "gcd", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-mds 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-symmetric 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field", + "p3-mds", + "p3-symmetric", "rand 0.8.5", ] [[package]] name = "p3-poseidon2-air" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "p3-air", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-poseidon2 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-poseidon2", + "p3-util", "rand 0.8.5", "tikv-jemallocator", "tracing", @@ -5817,34 +5560,24 @@ version = "0.1.0" source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "itertools 0.14.0", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0)", - "serde", -] - -[[package]] -name = "p3-symmetric" -version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -dependencies = [ - "itertools 0.14.0", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-field", "serde", ] [[package]] name = "p3-uni-stark" version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" +source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?tag=v0.1.0#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" dependencies = [ "itertools 0.14.0", "p3-air", - "p3-challenger 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-commit 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-dft 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-field 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-matrix 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-maybe-rayon 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", - "p3-util 0.1.0 (git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2)", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", "serde", "tracing", ] @@ -5857,14 +5590,6 @@ dependencies = [ "serde", ] -[[package]] -name = "p3-util" -version = "0.1.0" -source = "git+ssh://git@github.com/scroll-tech/plonky3-gpu.git?branch=openvm-v2#0cebd85e85ae9fa3ef436fe716a5d10ab1d70aeb" -dependencies = [ - "serde", -] - [[package]] name = "pairing" version = "0.22.0" @@ -6253,8 +5978,7 @@ dependencies = [ "rlp", "sbv-primitives", "scroll-proving-sdk", - "scroll-zkvm-prover 0.1.0-rc.6", - "scroll-zkvm-prover 0.1.1-rc.2", + "scroll-zkvm-prover", "serde", "serde_bytes", "serde_json", @@ -6727,7 +6451,7 @@ dependencies = [ [[package]] name = "reth-chainspec" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-chains", "alloy-consensus", @@ -6746,7 +6470,7 @@ dependencies = [ [[package]] name = "reth-codecs" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6763,7 +6487,7 @@ dependencies = [ [[package]] name = "reth-codecs-derive" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "convert_case 0.6.0", "proc-macro2", @@ -6774,7 +6498,7 @@ dependencies = [ [[package]] name = "reth-consensus" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6787,7 +6511,7 @@ dependencies = [ [[package]] name = "reth-consensus-common" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6800,7 +6524,7 @@ dependencies = [ [[package]] name = "reth-db" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -6824,7 +6548,7 @@ dependencies = [ [[package]] name = "reth-db-api" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-genesis", @@ -6849,7 +6573,7 @@ dependencies = [ [[package]] name = "reth-db-models" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-eips", "alloy-primitives", @@ -6863,7 +6587,7 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6879,7 +6603,7 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-chains", "alloy-eip2124", @@ -6894,7 +6618,7 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6914,7 +6638,7 @@ dependencies = [ [[package]] name = "reth-evm" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6939,7 +6663,7 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6960,7 +6684,7 @@ dependencies = [ [[package]] name = "reth-execution-errors" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-eips", "alloy-primitives", @@ -6974,7 +6698,7 @@ dependencies = [ [[package]] name = "reth-execution-types" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6992,7 +6716,7 @@ dependencies = [ [[package]] name = "reth-fs-util" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "serde", "serde_json", @@ -7002,7 +6726,7 @@ dependencies = [ [[package]] name = "reth-metrics" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "metrics 0.24.1", "metrics-derive", @@ -7011,7 +6735,7 @@ dependencies = [ [[package]] name = "reth-network-peers" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7024,7 +6748,7 @@ dependencies = [ [[package]] name = "reth-nippy-jar" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "anyhow", "bincode", @@ -7041,7 +6765,7 @@ dependencies = [ [[package]] name = "reth-primitives" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "once_cell", @@ -7054,7 +6778,7 @@ dependencies = [ [[package]] name = "reth-primitives-traits" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7083,7 +6807,7 @@ dependencies = [ [[package]] name = "reth-prune-types" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-primitives", "derive_more 1.0.0", @@ -7096,7 +6820,7 @@ dependencies = [ [[package]] name = "reth-revm" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7111,7 +6835,7 @@ dependencies = [ [[package]] name = "reth-scroll-chainspec" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-chains", "alloy-consensus", @@ -7134,7 +6858,7 @@ dependencies = [ [[package]] name = "reth-scroll-consensus" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "revm 19.4.0", ] @@ -7142,7 +6866,7 @@ dependencies = [ [[package]] name = "reth-scroll-evm" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7168,7 +6892,7 @@ dependencies = [ [[package]] name = "reth-scroll-forks" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-chains", "alloy-primitives", @@ -7180,7 +6904,7 @@ dependencies = [ [[package]] name = "reth-scroll-primitives" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7204,7 +6928,7 @@ dependencies = [ [[package]] name = "reth-stages-types" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-primitives", "bytes", @@ -7217,7 +6941,7 @@ dependencies = [ [[package]] name = "reth-static-file-types" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-primitives", "derive_more 1.0.0", @@ -7228,7 +6952,7 @@ dependencies = [ [[package]] name = "reth-storage-api" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7253,7 +6977,7 @@ dependencies = [ [[package]] name = "reth-storage-errors" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7268,7 +6992,7 @@ dependencies = [ [[package]] name = "reth-tracing" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "clap", "eyre", @@ -7283,7 +7007,7 @@ dependencies = [ [[package]] name = "reth-trie" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7305,7 +7029,7 @@ dependencies = [ [[package]] name = "reth-trie-common" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7328,7 +7052,7 @@ dependencies = [ [[package]] name = "reth-trie-db" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7346,7 +7070,7 @@ dependencies = [ [[package]] name = "reth-trie-sparse" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7361,7 +7085,7 @@ dependencies = [ [[package]] name = "reth-zstd-compressors" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "zstd", ] @@ -7395,7 +7119,7 @@ dependencies = [ [[package]] name = "revm" version = "19.4.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#6fe1fae6d92f0f6a3ed234a955aca4bdcf864f97" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#17dfd866846f0fa19fa04bd6f848fb80cd5d73fc" dependencies = [ "auto_impl", "cfg-if", @@ -7434,7 +7158,7 @@ dependencies = [ [[package]] name = "revm-interpreter" version = "15.1.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#6fe1fae6d92f0f6a3ed234a955aca4bdcf864f97" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#17dfd866846f0fa19fa04bd6f848fb80cd5d73fc" dependencies = [ "revm-primitives 15.1.0", "serde", @@ -7472,7 +7196,7 @@ dependencies = [ [[package]] name = "revm-precompile" version = "16.0.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#6fe1fae6d92f0f6a3ed234a955aca4bdcf864f97" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#17dfd866846f0fa19fa04bd6f848fb80cd5d73fc" dependencies = [ "aurora-engine-modexp", "c-kzg", @@ -7529,7 +7253,7 @@ dependencies = [ [[package]] name = "revm-primitives" version = "15.1.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-v2#6fe1fae6d92f0f6a3ed234a955aca4bdcf864f97" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#17dfd866846f0fa19fa04bd6f848fb80cd5d73fc" dependencies = [ "alloy-eip2930", "alloy-eip7702 0.5.1", @@ -7918,22 +7642,10 @@ dependencies = [ "cipher", ] -[[package]] -name = "sbv" -version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-v2#74d7fb0398b1bc94fe20ac29bdc445634c4bfeea" -dependencies = [ - "sbv-core", - "sbv-helpers", - "sbv-kv", - "sbv-primitives", - "sbv-trie", -] - [[package]] name = "sbv-core" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-v2#74d7fb0398b1bc94fe20ac29bdc445634c4bfeea" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-upgrade#6759d7b0893e31782e3a24abaad6be655edffdde" dependencies = [ "reth-evm", "reth-evm-ethereum", @@ -7950,7 +7662,7 @@ dependencies = [ [[package]] name = "sbv-helpers" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-v2#74d7fb0398b1bc94fe20ac29bdc445634c4bfeea" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-upgrade#6759d7b0893e31782e3a24abaad6be655edffdde" dependencies = [ "revm 19.4.0", ] @@ -7958,7 +7670,7 @@ dependencies = [ [[package]] name = "sbv-kv" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-v2#74d7fb0398b1bc94fe20ac29bdc445634c4bfeea" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-upgrade#6759d7b0893e31782e3a24abaad6be655edffdde" dependencies = [ "auto_impl", "hashbrown 0.15.2", @@ -7968,7 +7680,7 @@ dependencies = [ [[package]] name = "sbv-primitives" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-v2#74d7fb0398b1bc94fe20ac29bdc445634c4bfeea" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-upgrade#6759d7b0893e31782e3a24abaad6be655edffdde" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7999,7 +7711,7 @@ dependencies = [ [[package]] name = "sbv-trie" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-v2#74d7fb0398b1bc94fe20ac29bdc445634c4bfeea" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-upgrade#6759d7b0893e31782e3a24abaad6be655edffdde" dependencies = [ "alloy-rlp", "alloy-trie", @@ -8014,7 +7726,7 @@ dependencies = [ [[package]] name = "sbv-utils" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-v2#74d7fb0398b1bc94fe20ac29bdc445634c4bfeea" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=zkvm%2Feuclid-upgrade#6759d7b0893e31782e3a24abaad6be655edffdde" dependencies = [ "alloy-provider", "alloy-transport", @@ -8066,7 +7778,7 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scroll-alloy-consensus" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8084,7 +7796,7 @@ dependencies = [ [[package]] name = "scroll-alloy-network" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-network", @@ -8098,7 +7810,7 @@ dependencies = [ [[package]] name = "scroll-alloy-rpc-types" version = "1.1.5" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8115,7 +7827,7 @@ dependencies = [ [[package]] name = "scroll-proving-sdk" version = "0.1.0" -source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?rev=c81e5f2#c81e5f2e5434f0a38f3cb9288cd6a8940bb246e5" +source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?branch=feat%2Fopenvm-euclid-upgrade#48a2df00c7549b8aca4ed2e3b0a54c9943c627fb" dependencies = [ "alloy", "anyhow", @@ -8147,72 +7859,31 @@ dependencies = [ [[package]] name = "scroll-zkvm-circuit-input-types" -version = "0.1.0-rc.6" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" -dependencies = [ - "alloy-primitives", - "alloy-serde 0.8.3", - "openvm", - "openvm-rv32im-guest", - "rkyv", - "sbv", - "serde", - "tiny-keccak", -] - -[[package]] -name = "scroll-zkvm-circuit-input-types" -version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.3#0f251ba4541e2d136b953f10dae163686c0e815d" +version = "0.1.0-rc.11" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.0-rc.11#29a0373dfea03bcd8fd4aa93631ffd76da3d552c" dependencies = [ "alloy-primitives", "alloy-serde 0.8.3", "itertools 0.14.0", "openvm", + "openvm-custom-insn", "openvm-rv32im-guest", "rkyv", - "sbv", + "sbv-core", + "sbv-kv", + "sbv-primitives", + "sbv-trie", "serde", + "sha2", + "sha3", "tiny-keccak", "vm-zstd", ] [[package]] name = "scroll-zkvm-prover" -version = "0.1.0-rc.6" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" -dependencies = [ - "alloy-primitives", - "base64 0.22.1", - "bincode", - "git-version", - "hex", - "metrics 0.23.0", - "metrics-util", - "once_cell", - "openvm-circuit", - "openvm-native-circuit", - "openvm-native-recursion", - "openvm-sdk", - "openvm-stark-sdk", - "revm 19.6.0", - "rkyv", - "sbv", - "scroll-zkvm-circuit-input-types 0.1.0-rc.6", - "scroll-zkvm-verifier 0.1.0-rc.6", - "serde", - "serde_json", - "serde_stacker", - "snark-verifier-sdk", - "thiserror 2.0.12", - "toml", - "tracing", -] - -[[package]] -name = "scroll-zkvm-prover" -version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.3#0f251ba4541e2d136b953f10dae163686c0e815d" +version = "0.1.0-rc.11" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.0-rc.11#29a0373dfea03bcd8fd4aa93631ffd76da3d552c" dependencies = [ "alloy-primitives", "base64 0.22.1", @@ -8221,19 +7892,21 @@ dependencies = [ "git-version", "hex", "metrics 0.23.0", + "metrics-tracing-context", "metrics-util", "munge", "once_cell", "openvm-circuit", + "openvm-continuations", "openvm-native-circuit", "openvm-native-recursion", "openvm-sdk", "openvm-stark-sdk", "revm 19.6.0", "rkyv", - "sbv", - "scroll-zkvm-circuit-input-types 0.1.1-rc.2", - "scroll-zkvm-verifier 0.1.1-rc.2", + "sbv-primitives", + "scroll-zkvm-circuit-input-types", + "scroll-zkvm-verifier", "serde", "serde_json", "serde_stacker", @@ -8245,38 +7918,20 @@ dependencies = [ [[package]] name = "scroll-zkvm-verifier" -version = "0.1.0-rc.6" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084" -dependencies = [ - "bincode", - "eyre", - "itertools 0.14.0", - "openvm-circuit", - "openvm-native-circuit", - "openvm-native-recursion", - "openvm-sdk", - "openvm-stark-sdk", - "revm 19.6.0", - "scroll-zkvm-circuit-input-types 0.1.0-rc.6", - "serde", - "snark-verifier-sdk", -] - -[[package]] -name = "scroll-zkvm-verifier" -version = "0.1.1-rc.2" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.1-rc.3#0f251ba4541e2d136b953f10dae163686c0e815d" +version = "0.1.0-rc.11" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.0-rc.11#29a0373dfea03bcd8fd4aa93631ffd76da3d552c" dependencies = [ "bincode", "eyre", "itertools 0.14.0", "openvm-circuit", + "openvm-continuations", "openvm-native-circuit", "openvm-native-recursion", "openvm-sdk", "openvm-stark-sdk", "revm 19.6.0", - "scroll-zkvm-circuit-input-types 0.1.1-rc.2", + "scroll-zkvm-circuit-input-types", "serde", "snark-verifier-sdk", ] @@ -8748,16 +8403,6 @@ dependencies = [ "which", ] -[[package]] -name = "stability" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" -dependencies = [ - "quote", - "syn 2.0.100", -] - [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -9183,7 +8828,6 @@ source = "git+https://github.com/scroll-tech/tiny-keccak?branch=scroll-patch-v2. dependencies = [ "cfg-if", "crunchy", - "openvm-platform", ] [[package]] @@ -10495,7 +10139,7 @@ dependencies = [ [[package]] name = "zstd" version = "1.1.4" -source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-v2#b037c98a5a3462526829179f58cd67f51511f227" +source = "git+https://github.com/scroll-tech/reth?branch=zkvm%2Feuclid-upgrade#eb41a605a7efd77c2292a110745179d7d1a5b1de" [[package]] name = "zstd-sys" diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index b78670386a..75bfae7926 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -18,14 +18,16 @@ serde = { version = "1.0.198", features = ["derive"] } serde_json = "1.0.116" futures = "0.3.30" -scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.0-rc.6", package = "scroll-zkvm-prover" } -scroll-zkvm-prover-euclidv2 = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.1-rc.3", package = "scroll-zkvm-prover" } +scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.0-rc.11", package = "scroll-zkvm-prover" } ethers-core = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } ethers-providers = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } -scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "c81e5f2", features = [ +#scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "c81e5f2", features = [ +# "openvm", +#] } +scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", branch = "feat/openvm-euclid-upgrade", features = [ "openvm", ] } -sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "zkvm/euclid-v2", features = [ +sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "zkvm/euclid-upgrade", features = [ "scroll", ] } base64 = "0.13.1" @@ -52,28 +54,28 @@ openvm-stark-backend = { git = "ssh://git@github.com/scroll-tech/openvm-stark-gp openvm-stark-sdk = { git = "ssh://git@github.com/scroll-tech/openvm-stark-gpu.git", branch = "main", features = ["gpu"] } [patch."https://github.com/Plonky3/Plonky3.git"] -p3-air = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-field = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-commit = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-matrix = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +p3-air = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-field = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-commit = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-matrix = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } p3-baby-bear = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", features = [ "nightly-features", -], branch = "openvm-v2" } -p3-util = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-challenger = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-dft = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-fri = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-goldilocks = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-keccak = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-keccak-air = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-blake3 = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-mds = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-merkle-tree = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-monty-31 = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-poseidon = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-poseidon2 = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-poseidon2-air = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-symmetric = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-uni-stark = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } -p3-maybe-rayon = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } # the "parallel" feature is NOT on by default to allow single-threaded benchmarking -p3-bn254-fr = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", branch = "openvm-v2" } +], tag = "v0.1.0" } +p3-util = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-challenger = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-dft = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-fri = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-goldilocks = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-keccak = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-keccak-air = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-blake3 = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-mds = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-merkle-tree = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-monty-31 = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-poseidon = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-poseidon2 = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-poseidon2-air = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-symmetric = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-uni-stark = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } +p3-maybe-rayon = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } # the "parallel" feature is NOT on by default to allow single-threaded benchmarking +p3-bn254-fr = { git = "ssh://git@github.com/scroll-tech/plonky3-gpu.git", tag = "v0.1.0" } diff --git a/zkvm-prover/src/zk_circuits_handler/euclid.rs b/zkvm-prover/src/zk_circuits_handler/euclid.rs index aef1b596b4..d31898b891 100644 --- a/zkvm-prover/src/zk_circuits_handler/euclid.rs +++ b/zkvm-prover/src/zk_circuits_handler/euclid.rs @@ -6,35 +6,93 @@ use async_trait::async_trait; use scroll_proving_sdk::prover::{proving_service::ProveRequest, ProofType}; use scroll_zkvm_prover_euclid::{ task::{batch::BatchProvingTask, bundle::BundleProvingTask, chunk::ChunkProvingTask}, - BatchProver, BundleProver, ChunkProver, + BatchProver, BundleProverEuclidV1, ChunkProver, ProverConfig, }; use tokio::sync::Mutex; pub struct EuclidHandler { chunk_prover: ChunkProver, batch_prover: BatchProver, - bundle_prover: BundleProver, + bundle_prover: BundleProverEuclidV1, +} + +#[derive(Clone, Copy)] +pub(crate) enum Phase { + EuclidV1, + EuclidV2, +} + +impl Phase { + pub fn as_str(&self) -> &str { + match self { + Phase::EuclidV1 => "euclidv1", + Phase::EuclidV2 => "euclidv2", + } + } + + pub fn phase_spec_chunk(&self, workspace_path: &Path) -> ProverConfig { + let dir_cache = Some(workspace_path.join("cache")); + let path_app_exe = workspace_path.join("chunk/app.vmexe"); + let path_app_config = workspace_path.join("chunk/openvm.toml"); + let segment_len = Some((1 << 22) - 100); + ProverConfig { + dir_cache, + path_app_config, + path_app_exe, + segment_len, + ..Default::default() + } + } + + pub fn phase_spec_batch(&self, workspace_path: &Path) -> ProverConfig { + let dir_cache = Some(workspace_path.join("cache")); + let path_app_exe = workspace_path.join("batch/app.vmexe"); + let path_app_config = workspace_path.join("batch/openvm.toml"); + let segment_len = Some((1 << 22) - 100); + ProverConfig { + dir_cache, + path_app_config, + path_app_exe, + segment_len, + ..Default::default() + } + } + + pub fn phase_spec_bundle(&self, workspace_path: &Path) -> ProverConfig { + let dir_cache = Some(workspace_path.join("cache")); + let path_app_config = workspace_path.join("bundle/openvm.toml"); + let segment_len = Some((1 << 22) - 100); + match self { + Phase::EuclidV1 => ProverConfig { + dir_cache, + path_app_config, + segment_len, + path_app_exe: workspace_path.join("bundle/app_euclidv1.vmexe"), + ..Default::default() + }, + Phase::EuclidV2 => ProverConfig { + dir_cache, + path_app_config, + segment_len, + path_app_exe: workspace_path.join("bundle/app.vmexe"), + ..Default::default() + }, + } + } } unsafe impl Send for EuclidHandler {} impl EuclidHandler { pub fn new(workspace_path: &str) -> Self { + let p = Phase::EuclidV1; let workspace_path = Path::new(workspace_path); - - let cache_dir = workspace_path.join("cache"); - let chunk_exe = workspace_path.join("chunk/app.vmexe"); - let chunk_app_config = workspace_path.join("chunk/openvm.toml"); - let chunk_prover = ChunkProver::setup(chunk_exe, chunk_app_config, Some(cache_dir.clone())) + let chunk_prover = ChunkProver::setup(p.phase_spec_chunk(workspace_path)) .expect("Failed to setup chunk prover"); - let batch_exe = workspace_path.join("batch/app.vmexe"); - let batch_app_config = workspace_path.join("batch/openvm.toml"); - let batch_prover = BatchProver::setup(batch_exe, batch_app_config, Some(cache_dir.clone())) + let batch_prover = BatchProver::setup(p.phase_spec_batch(workspace_path)) .expect("Failed to setup batch prover"); - let bundle_exe = workspace_path.join("bundle/app.vmexe"); - let bundle_app_config = workspace_path.join("bundle/openvm.toml"); - let bundle_prover = BundleProver::setup(bundle_exe, bundle_app_config, Some(cache_dir)) + let bundle_prover = BundleProverEuclidV1::setup(p.phase_spec_bundle(workspace_path)) .expect("Failed to setup bundle prover"); Self { @@ -68,6 +126,8 @@ impl CircuitsHandler for Arc> { .chunk_prover .gen_proof(&ChunkProvingTask { block_witnesses: witnesses, + prev_msg_queue_hash: Default::default(), + fork_name: Phase::EuclidV1.as_str().to_string(), })?; Ok(serde_json::to_string(&proof)?) diff --git a/zkvm-prover/src/zk_circuits_handler/euclidV2.rs b/zkvm-prover/src/zk_circuits_handler/euclidV2.rs index ac80e52e0b..2191f0d5f3 100644 --- a/zkvm-prover/src/zk_circuits_handler/euclidV2.rs +++ b/zkvm-prover/src/zk_circuits_handler/euclidV2.rs @@ -1,62 +1,34 @@ use std::{path::Path, sync::Arc}; -use super::CircuitsHandler; +use super::{euclid::Phase, CircuitsHandler}; use anyhow::{anyhow, Result}; use async_trait::async_trait; use scroll_proving_sdk::prover::{proving_service::ProveRequest, ProofType}; -use scroll_zkvm_prover_euclidv2::{ +use scroll_zkvm_prover_euclid::{ task::{batch::BatchProvingTask, bundle::BundleProvingTask, chunk::ChunkProvingTask}, - BatchProver, BundleProver, ChunkProver, ProverConfig, + BatchProver, BundleProverEuclidV2, ChunkProver, }; use tokio::sync::Mutex; pub struct EuclidV2Handler { chunk_prover: ChunkProver, batch_prover: BatchProver, - bundle_prover: BundleProver, + bundle_prover: BundleProverEuclidV2, } unsafe impl Send for EuclidV2Handler {} impl EuclidV2Handler { pub fn new(workspace_path: &str) -> Self { + let p = Phase::EuclidV2; let workspace_path = Path::new(workspace_path); + let chunk_prover = ChunkProver::setup(p.phase_spec_chunk(workspace_path)) + .expect("Failed to setup chunk prover"); - let cache_dir = workspace_path.join("cache"); - let chunk_exe = workspace_path.join("chunk/app.vmexe"); - let chunk_app_config = workspace_path.join("chunk/openvm.toml"); - let chunk_prover = ChunkProver::setup( - chunk_exe, - chunk_app_config, - Some(cache_dir.clone()), - ProverConfig { - segment_len: Some((1 << 22) - 100), - }, - ) - .expect("Failed to setup chunk prover"); + let batch_prover = BatchProver::setup(p.phase_spec_batch(workspace_path)) + .expect("Failed to setup batch prover"); - let batch_exe = workspace_path.join("batch/app.vmexe"); - let batch_app_config = workspace_path.join("batch/openvm.toml"); - let batch_prover = BatchProver::setup( - batch_exe, - batch_app_config, - Some(cache_dir.clone()), - ProverConfig { - segment_len: Some((1 << 22) - 100), - }, - ) - .expect("Failed to setup batch prover"); - - let bundle_exe = workspace_path.join("bundle/app.vmexe"); - let bundle_app_config = workspace_path.join("bundle/openvm.toml"); - let bundle_prover = BundleProver::setup( - bundle_exe, - bundle_app_config, - Some(cache_dir), - ProverConfig { - segment_len: Some((1 << 22) - 100), - }, - ) - .expect("Failed to setup bundle prover"); + let bundle_prover = BundleProverEuclidV2::setup(p.phase_spec_bundle(workspace_path)) + .expect("Failed to setup bundle prover"); Self { chunk_prover, From 899476731d51d481e8db52ca1d56f2a2b9071d13 Mon Sep 17 00:00:00 2001 From: kunxian xia Date: Thu, 27 Mar 2025 10:32:50 +0800 Subject: [PATCH 066/132] upgrade stark-gpu crate --- zkvm-prover/Cargo.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index 6ceea9c2df..d984782175 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -1531,7 +1531,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -2157,7 +2157,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -5058,7 +5058,7 @@ dependencies = [ [[package]] name = "openvm-stark-backend" version = "1.0.0-rc.2" -source = "git+ssh://git@github.com/scroll-tech/openvm-stark-gpu.git?branch=main#482d7c8e3751d651fa0cda6de49b61c47d13a686" +source = "git+ssh://git@github.com/scroll-tech/openvm-stark-gpu.git?branch=main#f9c6b4c74d28debcab45ac4eb699c3a194beb307" dependencies = [ "bitcode", "cfg-if", @@ -5087,7 +5087,7 @@ dependencies = [ [[package]] name = "openvm-stark-sdk" version = "1.0.0-rc.2" -source = "git+ssh://git@github.com/scroll-tech/openvm-stark-gpu.git?branch=main#482d7c8e3751d651fa0cda6de49b61c47d13a686" +source = "git+ssh://git@github.com/scroll-tech/openvm-stark-gpu.git?branch=main#f9c6b4c74d28debcab45ac4eb699c3a194beb307" dependencies = [ "derivative", "derive_more 0.99.19", @@ -6089,7 +6089,7 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -7509,7 +7509,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -7522,7 +7522,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.9.3", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -8419,7 +8419,7 @@ dependencies = [ "cfg-if", "libc", "psm", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -8675,7 +8675,7 @@ dependencies = [ "getrandom 0.3.2", "once_cell", "rustix 1.0.3", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] From b59db732c3ceb8c07fca7df8d95b7ba39365d56c Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 27 Mar 2025 15:43:57 +0800 Subject: [PATCH 067/132] hardcode openvm vks --- coordinator/internal/logic/verifier/verifier.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/coordinator/internal/logic/verifier/verifier.go b/coordinator/internal/logic/verifier/verifier.go index fd18cdc368..45edab51a4 100644 --- a/coordinator/internal/logic/verifier/verifier.go +++ b/coordinator/internal/logic/verifier/verifier.go @@ -103,7 +103,11 @@ func NewVerifier(cfg *config.VerifierConfig) (*Verifier, error) { return nil, err } - if err := v.loadOpenVMVks(cfg.HighVersionCircuit.ForkName); err != nil { + if err := v.loadOpenVMVks("euclid"); err != nil { + return nil, err + } + + if err := v.loadOpenVMVks("euclidV2"); err != nil { return nil, err } From 5cfb8b6a694716215ac248ec7d0c117d041ccb19 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 27 Mar 2025 15:51:25 +0800 Subject: [PATCH 068/132] change string to var --- coordinator/internal/logic/verifier/verifier.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/coordinator/internal/logic/verifier/verifier.go b/coordinator/internal/logic/verifier/verifier.go index 45edab51a4..33de675619 100644 --- a/coordinator/internal/logic/verifier/verifier.go +++ b/coordinator/internal/logic/verifier/verifier.go @@ -103,11 +103,11 @@ func NewVerifier(cfg *config.VerifierConfig) (*Verifier, error) { return nil, err } - if err := v.loadOpenVMVks("euclid"); err != nil { + if err := v.loadOpenVMVks(message.EuclidFork); err != nil { return nil, err } - if err := v.loadOpenVMVks("euclidV2"); err != nil { + if err := v.loadOpenVMVks(message.EuclidV2Fork); err != nil { return nil, err } From 01d0e48e9a8f7a4ab644c59ffd22e2393b346193 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 27 Mar 2025 16:16:13 +0800 Subject: [PATCH 069/132] add more details in the log --- coordinator/internal/logic/provertask/prover_task.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coordinator/internal/logic/provertask/prover_task.go b/coordinator/internal/logic/provertask/prover_task.go index 4b9f60bf0d..1f25cc82dc 100644 --- a/coordinator/internal/logic/provertask/prover_task.go +++ b/coordinator/internal/logic/provertask/prover_task.go @@ -122,7 +122,7 @@ func (b *BaseProverTask) hardForkSanityCheck(ctx *gin.Context, taskCtx *proverTa } if _, ok := taskCtx.HardForkNames[hardForkName]; !ok { - return "", errors.New("to be assigned prover task's hard-fork name is not the same as prover") + return "", fmt.Errorf("to be assigned prover task's hard-fork name is not the same as prover, proverName: %s, proverVersion: %s, hardForkName: %s", taskCtx.ProverName, taskCtx.ProverVersion, hardForkName) } return hardForkName, nil } From 78a458daa56e596bf15a8aa3dd6cc9593dafaaa4 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 27 Mar 2025 16:20:16 +0800 Subject: [PATCH 070/132] update logs --- coordinator/internal/logic/provertask/prover_task.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coordinator/internal/logic/provertask/prover_task.go b/coordinator/internal/logic/provertask/prover_task.go index 1f25cc82dc..6d7278f7d5 100644 --- a/coordinator/internal/logic/provertask/prover_task.go +++ b/coordinator/internal/logic/provertask/prover_task.go @@ -122,7 +122,7 @@ func (b *BaseProverTask) hardForkSanityCheck(ctx *gin.Context, taskCtx *proverTa } if _, ok := taskCtx.HardForkNames[hardForkName]; !ok { - return "", fmt.Errorf("to be assigned prover task's hard-fork name is not the same as prover, proverName: %s, proverVersion: %s, hardForkName: %s", taskCtx.ProverName, taskCtx.ProverVersion, hardForkName) + return "", fmt.Errorf("to be assigned prover task's hard-fork name is not the same as prover, proverName: %s, proverVersion: %s, hardForkName: %s, taskHardForkName: %s", taskCtx.ProverName, taskCtx.ProverVersion, hardForkName, taskCtx.HardForkNames) } return hardForkName, nil } From 83c0a0870c06ac5026bc47ef27fab4bbf10a31df Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 27 Mar 2025 16:22:49 +0800 Subject: [PATCH 071/132] fix --- coordinator/internal/logic/provertask/prover_task.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coordinator/internal/logic/provertask/prover_task.go b/coordinator/internal/logic/provertask/prover_task.go index 6d7278f7d5..1c4f2fd3e6 100644 --- a/coordinator/internal/logic/provertask/prover_task.go +++ b/coordinator/internal/logic/provertask/prover_task.go @@ -122,7 +122,7 @@ func (b *BaseProverTask) hardForkSanityCheck(ctx *gin.Context, taskCtx *proverTa } if _, ok := taskCtx.HardForkNames[hardForkName]; !ok { - return "", fmt.Errorf("to be assigned prover task's hard-fork name is not the same as prover, proverName: %s, proverVersion: %s, hardForkName: %s, taskHardForkName: %s", taskCtx.ProverName, taskCtx.ProverVersion, hardForkName, taskCtx.HardForkNames) + return "", fmt.Errorf("to be assigned prover task's hard-fork name is not the same as prover, proverName: %s, proverVersion: %s, proverSupportHardForkNames: %s, taskHardForkName: %v", taskCtx.ProverName, taskCtx.ProverVersion, taskCtx.HardForkNames, hardForkName) } return hardForkName, nil } From 42bfcb84d7faba712468356b6dd9bf4fa9dc30b0 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 27 Mar 2025 16:55:13 +0800 Subject: [PATCH 072/132] add euclid v1 and v2 to hard fork map --- coordinator/internal/logic/auth/login.go | 1 + 1 file changed, 1 insertion(+) diff --git a/coordinator/internal/logic/auth/login.go b/coordinator/internal/logic/auth/login.go index 1954ccec6c..b8d1bf4775 100644 --- a/coordinator/internal/logic/auth/login.go +++ b/coordinator/internal/logic/auth/login.go @@ -46,6 +46,7 @@ func NewLoginLogic(db *gorm.DB, cfg *config.Config, vf *verifier.Verifier) *Logi if cfg.ProverManager.Verifier.HighVersionCircuit.ForkName != message.EuclidFork && cfg.ProverManager.Verifier.HighVersionCircuit.ForkName != message.EuclidV2Fork { highHardForks = append(highHardForks, cfg.ProverManager.Verifier.LowVersionCircuit.ForkName) } + highHardForks = append(highHardForks, message.EuclidFork, message.EuclidV2Fork) proverVersionHardForkMap[cfg.ProverManager.Verifier.HighVersionCircuit.MinProverVersion] = highHardForks proverVersionHardForkMap[cfg.ProverManager.Verifier.LowVersionCircuit.MinProverVersion] = []string{cfg.ProverManager.Verifier.LowVersionCircuit.ForkName} From d82e10936024f84d4aea9f514d16531e15cae629 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 27 Mar 2025 18:31:59 +0800 Subject: [PATCH 073/132] update scroll-proving-sdk dep --- zkvm-prover/Cargo.lock | 35 +++++++++++++---------------------- zkvm-prover/Cargo.toml | 5 +---- 2 files changed, 14 insertions(+), 26 deletions(-) diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index d984782175..e5adc72168 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -1107,7 +1107,7 @@ dependencies = [ "bitflags 2.9.0", "cexpr", "clang-sys", - "itertools 0.12.1", + "itertools 0.11.0", "lazy_static", "lazycell", "proc-macro2", @@ -1531,7 +1531,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2157,7 +2157,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3465,15 +3465,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.13.0" @@ -6089,7 +6080,7 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -7119,7 +7110,7 @@ dependencies = [ [[package]] name = "revm" version = "19.4.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#17dfd866846f0fa19fa04bd6f848fb80cd5d73fc" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#c7a586deca0d1e2ec079cb9a7bab1ecdb53dc4a6" dependencies = [ "auto_impl", "cfg-if", @@ -7158,7 +7149,7 @@ dependencies = [ [[package]] name = "revm-interpreter" version = "15.1.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#17dfd866846f0fa19fa04bd6f848fb80cd5d73fc" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#c7a586deca0d1e2ec079cb9a7bab1ecdb53dc4a6" dependencies = [ "revm-primitives 15.1.0", "serde", @@ -7196,7 +7187,7 @@ dependencies = [ [[package]] name = "revm-precompile" version = "16.0.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#17dfd866846f0fa19fa04bd6f848fb80cd5d73fc" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#c7a586deca0d1e2ec079cb9a7bab1ecdb53dc4a6" dependencies = [ "aurora-engine-modexp", "c-kzg", @@ -7253,7 +7244,7 @@ dependencies = [ [[package]] name = "revm-primitives" version = "15.1.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#17dfd866846f0fa19fa04bd6f848fb80cd5d73fc" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#c7a586deca0d1e2ec079cb9a7bab1ecdb53dc4a6" dependencies = [ "alloy-eip2930", "alloy-eip7702 0.5.1", @@ -7509,7 +7500,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -7522,7 +7513,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.9.3", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -7827,7 +7818,7 @@ dependencies = [ [[package]] name = "scroll-proving-sdk" version = "0.1.0" -source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?branch=feat%2Fopenvm-euclid-upgrade#48a2df00c7549b8aca4ed2e3b0a54c9943c627fb" +source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?branch=feat%2Fopenvm-euclid-v2#926ff95d0fe0935b65a0023a5c2cb493a65f4394" dependencies = [ "alloy", "anyhow", @@ -8419,7 +8410,7 @@ dependencies = [ "cfg-if", "libc", "psm", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -8675,7 +8666,7 @@ dependencies = [ "getrandom 0.3.2", "once_cell", "rustix 1.0.3", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index 75bfae7926..b8fcef5651 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -21,10 +21,7 @@ futures = "0.3.30" scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.0-rc.11", package = "scroll-zkvm-prover" } ethers-core = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } ethers-providers = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } -#scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", rev = "c81e5f2", features = [ -# "openvm", -#] } -scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", branch = "feat/openvm-euclid-upgrade", features = [ +scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", branch = "feat/openvm-euclid-v2", features = [ "openvm", ] } sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "zkvm/euclid-upgrade", features = [ From 2a8330c346abaf1f8892241a6269e8b3abd237ba Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 27 Mar 2025 18:54:17 +0800 Subject: [PATCH 074/132] fix --- zkvm-prover/Cargo.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index e5adc72168..b2f915e8d2 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -7818,7 +7818,7 @@ dependencies = [ [[package]] name = "scroll-proving-sdk" version = "0.1.0" -source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?branch=feat%2Fopenvm-euclid-v2#926ff95d0fe0935b65a0023a5c2cb493a65f4394" +source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?branch=feat%2Fopenvm-euclid-v2#2a6c3d4b6d71ea3539b7efff7c529b06724409fa" dependencies = [ "alloy", "anyhow", From 4c2a75576f1d927adabc8ae6d7065620b07f5aff Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 27 Mar 2025 20:08:48 +0800 Subject: [PATCH 075/132] fix --- zkvm-prover/src/zk_circuits_handler/euclid.rs | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/zkvm-prover/src/zk_circuits_handler/euclid.rs b/zkvm-prover/src/zk_circuits_handler/euclid.rs index d31898b891..1235da4fc3 100644 --- a/zkvm-prover/src/zk_circuits_handler/euclid.rs +++ b/zkvm-prover/src/zk_circuits_handler/euclid.rs @@ -117,18 +117,8 @@ impl CircuitsHandler for Arc> { async fn get_proof_data(&self, prove_request: ProveRequest) -> Result { match prove_request.proof_type { ProofType::Chunk => { - let witnesses: Vec = - serde_json::from_str(&prove_request.input)?; - - let proof = self - .try_lock() - .unwrap() - .chunk_prover - .gen_proof(&ChunkProvingTask { - block_witnesses: witnesses, - prev_msg_queue_hash: Default::default(), - fork_name: Phase::EuclidV1.as_str().to_string(), - })?; + let task: ChunkProvingTask = serde_json::from_str(&prove_request.input)?; + let proof = self.try_lock().unwrap().chunk_prover.gen_proof(&task)?; Ok(serde_json::to_string(&proof)?) } From 2b318ec7c743beb16c227a06912530e704126eda Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 27 Mar 2025 20:15:20 +0800 Subject: [PATCH 076/132] add zero padding in BlobBytes --- coordinator/internal/logic/provertask/batch_prover_task.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index b60641b006..a9d0043e43 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -288,6 +288,10 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []* } taskDetail.BatchHeader = batchHeader taskDetail.BlobBytes = dbBatch.BlobBytes + if hardForkName == message.EuclidV2Fork && len(taskDetail.BlobBytes) < 126976 { + zeroPadding := make([]byte, 126976-len(taskDetail.BlobBytes)) + taskDetail.BlobBytes = append(taskDetail.BlobBytes, zeroPadding...) + } if len(dbBatch.BlobDataProof) < 160 { return nil, fmt.Errorf("blob data proof length is less than 160 bytes = %d, taskID: %s: %s", len(dbBatch.BlobDataProof), dbBatch.Hash, common.Bytes2Hex(dbBatch.BlobDataProof)) From 886af073c12ece576694d838831450d61d50be28 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Thu, 27 Mar 2025 23:50:08 +0800 Subject: [PATCH 077/132] fix challenge digest --- common/types/message/message.go | 2 +- coordinator/go.mod | 4 +-- coordinator/go.sum | 4 +-- .../logic/provertask/batch_prover_task.go | 30 +++++++++---------- rollup/go.mod | 4 +-- rollup/go.sum | 4 +-- 6 files changed, 22 insertions(+), 26 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index 11f4d97311..6b69ce00cc 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -106,7 +106,7 @@ type BatchTaskDetail struct { BlobBytes []byte `json:"blob_bytes"` KzgProof Byte48 `json:"kzg_proof,omitempty"` KzgCommitment Byte48 `json:"kzg_commitment,omitempty"` - ChallengeDigest *common.Hash `json:"challenge_digest,omitempty"` + ChallengeDigest common.Hash `json:"challenge_digest,omitempty"` } // BundleTaskDetail consists of all the information required to describe the task to generate a proof for a bundle of batches. diff --git a/coordinator/go.mod b/coordinator/go.mod index 92ad5b33be..7c7f64df77 100644 --- a/coordinator/go.mod +++ b/coordinator/go.mod @@ -2,8 +2,6 @@ module scroll-tech/coordinator go 1.22 -toolchain go1.22.2 - require ( github.com/appleboy/gin-jwt/v2 v2.9.1 github.com/gin-gonic/gin v1.9.1 @@ -11,7 +9,7 @@ require ( github.com/google/uuid v1.6.0 github.com/mitchellh/mapstructure v1.5.0 github.com/prometheus/client_golang v1.19.0 - github.com/scroll-tech/da-codec v0.1.3-0.20250310095435-012aaee6b435 + github.com/scroll-tech/da-codec v0.1.3-0.20250327153440-cd3e5728df9c github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601 github.com/shopspring/decimal v1.3.1 github.com/stretchr/testify v1.10.0 diff --git a/coordinator/go.sum b/coordinator/go.sum index 30b5c6f5ce..cddbb1c2d4 100644 --- a/coordinator/go.sum +++ b/coordinator/go.sum @@ -177,8 +177,8 @@ github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/scroll-tech/da-codec v0.1.3-0.20250310095435-012aaee6b435 h1:X9fkvjrYBY79lGgKEPpUhuiJ4vWpWwzOVw4H8CU8L54= -github.com/scroll-tech/da-codec v0.1.3-0.20250310095435-012aaee6b435/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= +github.com/scroll-tech/da-codec v0.1.3-0.20250327153440-cd3e5728df9c h1:MCbuwFynRgxQeoyXwt/wUAPo3vfb61rMWxqADE2he4A= +github.com/scroll-tech/da-codec v0.1.3-0.20250327153440-cd3e5728df9c/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601 h1:NEsjCG6uSvLRBlsP3+x6PL1kM+Ojs3g8UGotIPgJSz8= github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601/go.mod h1:OblWe1+QrZwdpwO0j/LY3BSGuKT3YPUFBDQQgvvfStQ= github.com/scroll-tech/zktrie v0.8.4 h1:UagmnZ4Z3ITCk+aUq9NQZJNAwnWl4gSxsLb2Nl7IgRE= diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index a9d0043e43..4ac339992e 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -288,25 +288,25 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []* } taskDetail.BatchHeader = batchHeader taskDetail.BlobBytes = dbBatch.BlobBytes - if hardForkName == message.EuclidV2Fork && len(taskDetail.BlobBytes) < 126976 { - zeroPadding := make([]byte, 126976-len(taskDetail.BlobBytes)) - taskDetail.BlobBytes = append(taskDetail.BlobBytes, zeroPadding...) - } if len(dbBatch.BlobDataProof) < 160 { return nil, fmt.Errorf("blob data proof length is less than 160 bytes = %d, taskID: %s: %s", len(dbBatch.BlobDataProof), dbBatch.Hash, common.Bytes2Hex(dbBatch.BlobDataProof)) } - // Memory layout of `BlobDataProof`: used in Codec.BlobDataProofForPointEvaluation() - // | z | y | kzg_commitment | kzg_proof | - // |---------|---------|----------------|-----------| - // | bytes32 | bytes32 | bytes48 | bytes48 | - taskDetail.KzgProof = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[112:160]))} - taskDetail.KzgCommitment = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[64:112]))} - // FIXME: Challenge = ChallengeDigest % BLS_MODULUS, get the original ChallengeDigest. - // Simply omit the field now to skip sanity check in prover side - // Resume it later (or FIXME has worked or the prover side has relax its checking) - // taskDetail.ChallengeDigest = new(common.Hash) - // *taskDetail.ChallengeDigest = common.BytesToHash(dbBatch.BlobDataProof[0:32]) + challengeDigest, kzgProof, kzgCommitment, err := codec.BlobDataProofFromBlobBytes(dbBatch.BlobBytes) + if err != nil { + return nil, fmt.Errorf("failed to get challenge digest from blob bytes, taskID: %s, err: %w", dbBatch.Hash, err) + } + + taskDetail.ChallengeDigest = challengeDigest + taskDetail.KzgProof = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(kzgProof[:]))} + taskDetail.KzgCommitment = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(kzgCommitment[:]))} + + // FIXME: remove this hot fix logic after stable release. + if hardForkName == message.EuclidV2Fork && len(taskDetail.BlobBytes) < 126976 { + zeroPadding := make([]byte, 126976-len(taskDetail.BlobBytes)) + taskDetail.BlobBytes = append(taskDetail.BlobBytes, zeroPadding...) + } + return taskDetail, nil } diff --git a/rollup/go.mod b/rollup/go.mod index 71741a3aa1..0a8d91dd2f 100644 --- a/rollup/go.mod +++ b/rollup/go.mod @@ -2,8 +2,6 @@ module scroll-tech/rollup go 1.22 -toolchain go1.22.2 - require ( github.com/agiledragon/gomonkey/v2 v2.12.0 github.com/consensys/gnark-crypto v0.16.0 @@ -13,7 +11,7 @@ require ( github.com/holiman/uint256 v1.3.2 github.com/mitchellh/mapstructure v1.5.0 github.com/prometheus/client_golang v1.16.0 - github.com/scroll-tech/da-codec v0.1.3-0.20250313030021-a8341d04bc4e + github.com/scroll-tech/da-codec v0.1.3-0.20250327153440-cd3e5728df9c github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601 github.com/smartystreets/goconvey v1.8.0 github.com/spf13/viper v1.19.0 diff --git a/rollup/go.sum b/rollup/go.sum index 5ea8461cbd..3ddec7f6e4 100644 --- a/rollup/go.sum +++ b/rollup/go.sum @@ -249,8 +249,8 @@ github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6ke github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= -github.com/scroll-tech/da-codec v0.1.3-0.20250313030021-a8341d04bc4e h1:0IkSVltsMrKCprOOfQyJsLeqhPEuA0sTp41pZBpDeDk= -github.com/scroll-tech/da-codec v0.1.3-0.20250313030021-a8341d04bc4e/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= +github.com/scroll-tech/da-codec v0.1.3-0.20250327153440-cd3e5728df9c h1:MCbuwFynRgxQeoyXwt/wUAPo3vfb61rMWxqADE2he4A= +github.com/scroll-tech/da-codec v0.1.3-0.20250327153440-cd3e5728df9c/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601 h1:NEsjCG6uSvLRBlsP3+x6PL1kM+Ojs3g8UGotIPgJSz8= github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601/go.mod h1:OblWe1+QrZwdpwO0j/LY3BSGuKT3YPUFBDQQgvvfStQ= github.com/scroll-tech/zktrie v0.8.4 h1:UagmnZ4Z3ITCk+aUq9NQZJNAwnWl4gSxsLb2Nl7IgRE= From 9033471930139ebb8e1aadea415b79ed9eb3dafb Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 28 Mar 2025 00:24:41 +0800 Subject: [PATCH 078/132] tmp comment out a Don't dispatch logic --- .../logic/provertask/batch_prover_task.go | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 4ac339992e..364fb577de 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -24,7 +24,6 @@ import ( "scroll-tech/coordinator/internal/config" "scroll-tech/coordinator/internal/orm" coordinatorType "scroll-tech/coordinator/internal/types" - cutils "scroll-tech/coordinator/internal/utils" ) // BatchProverTask is prover task implement for batch proof @@ -115,18 +114,18 @@ func (bp *BatchProverTask) Assign(ctx *gin.Context, getTaskParameter *coordinato } // Don't dispatch the same failing job to the same prover - proverTasks, getFailedTaskError := bp.proverTaskOrm.GetFailedProverTasksByHash(ctx.Copy(), message.ProofTypeBatch, tmpBatchTask.Hash, 2) - if getFailedTaskError != nil { - log.Error("failed to get prover tasks", "proof type", message.ProofTypeBatch.String(), "task ID", tmpBatchTask.Hash, "error", getFailedTaskError) - return nil, ErrCoordinatorInternalFailure - } - for i := 0; i < len(proverTasks); i++ { - if proverTasks[i].ProverPublicKey == taskCtx.PublicKey || - taskCtx.ProverProviderType == uint8(coordinatorType.ProverProviderTypeExternal) && cutils.IsExternalProverNameMatch(proverTasks[i].ProverName, taskCtx.ProverName) { - log.Debug("get empty batch, the prover already failed this task", "height", getTaskParameter.ProverHeight) - return nil, nil - } - } + //proverTasks, getFailedTaskError := bp.proverTaskOrm.GetFailedProverTasksByHash(ctx.Copy(), message.ProofTypeBatch, tmpBatchTask.Hash, 2) + //if getFailedTaskError != nil { + // log.Error("failed to get prover tasks", "proof type", message.ProofTypeBatch.String(), "task ID", tmpBatchTask.Hash, "error", getFailedTaskError) + // return nil, ErrCoordinatorInternalFailure + //} + //for i := 0; i < len(proverTasks); i++ { + // if proverTasks[i].ProverPublicKey == taskCtx.PublicKey || + // taskCtx.ProverProviderType == uint8(coordinatorType.ProverProviderTypeExternal) && cutils.IsExternalProverNameMatch(proverTasks[i].ProverName, taskCtx.ProverName) { + // log.Debug("get empty batch, the prover already failed this task", "height", getTaskParameter.ProverHeight) + // return nil, nil + // } + //} rowsAffected, updateAttemptsErr := bp.batchOrm.UpdateBatchAttempts(ctx.Copy(), tmpBatchTask.Index, tmpBatchTask.ActiveAttempts, tmpBatchTask.TotalAttempts) if updateAttemptsErr != nil { From 9bb768e4540a8a668d380c0be89b3c0bcb0496b9 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 28 Mar 2025 01:09:53 +0800 Subject: [PATCH 079/132] fix --- coordinator/internal/logic/provertask/batch_prover_task.go | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 364fb577de..7e4b64095c 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -286,13 +286,8 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []* return nil, fmt.Errorf("failed to decode batch header version %d: %w", dbBatch.CodecVersion, decodeErr) } taskDetail.BatchHeader = batchHeader - taskDetail.BlobBytes = dbBatch.BlobBytes - if len(dbBatch.BlobDataProof) < 160 { - return nil, fmt.Errorf("blob data proof length is less than 160 bytes = %d, taskID: %s: %s", len(dbBatch.BlobDataProof), dbBatch.Hash, common.Bytes2Hex(dbBatch.BlobDataProof)) - } - - challengeDigest, kzgProof, kzgCommitment, err := codec.BlobDataProofFromBlobBytes(dbBatch.BlobBytes) + challengeDigest, kzgCommitment, kzgProof, err := codec.BlobDataProofFromBlobBytes(dbBatch.BlobBytes) if err != nil { return nil, fmt.Errorf("failed to get challenge digest from blob bytes, taskID: %s, err: %w", dbBatch.Hash, err) } From 0023934c23172e83407a31dfc11002d430d58069 Mon Sep 17 00:00:00 2001 From: Morty Date: Fri, 28 Mar 2025 01:19:32 +0800 Subject: [PATCH 080/132] fix: permissionless batch signal import --- rollup/cmd/permissionless_batches/app/app.go | 1 + 1 file changed, 1 insertion(+) diff --git a/rollup/cmd/permissionless_batches/app/app.go b/rollup/cmd/permissionless_batches/app/app.go index e0188303fa..de9c7ff09a 100644 --- a/rollup/cmd/permissionless_batches/app/app.go +++ b/rollup/cmd/permissionless_batches/app/app.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "os" + "os/signal" "github.com/prometheus/client_golang/prometheus" "github.com/scroll-tech/da-codec/encoding" From c4849251c64c895e7e02fc8cdd3fea9f4f626472 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 28 Mar 2025 01:34:24 +0800 Subject: [PATCH 081/132] add back BlobBytes --- coordinator/internal/logic/provertask/batch_prover_task.go | 1 + 1 file changed, 1 insertion(+) diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 7e4b64095c..1d71f564dc 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -286,6 +286,7 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []* return nil, fmt.Errorf("failed to decode batch header version %d: %w", dbBatch.CodecVersion, decodeErr) } taskDetail.BatchHeader = batchHeader + taskDetail.BlobBytes = dbBatch.BlobBytes challengeDigest, kzgCommitment, kzgProof, err := codec.BlobDataProofFromBlobBytes(dbBatch.BlobBytes) if err != nil { From 917b14355783ff75204867636ecd825570284ac4 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 28 Mar 2025 02:19:16 +0800 Subject: [PATCH 082/132] Remove mask --- .../logic/provertask/bundle_prover_task.go | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/coordinator/internal/logic/provertask/bundle_prover_task.go b/coordinator/internal/logic/provertask/bundle_prover_task.go index c422f971d0..be78950e16 100644 --- a/coordinator/internal/logic/provertask/bundle_prover_task.go +++ b/coordinator/internal/logic/provertask/bundle_prover_task.go @@ -17,7 +17,6 @@ import ( "scroll-tech/coordinator/internal/config" "scroll-tech/coordinator/internal/orm" coordinatorType "scroll-tech/coordinator/internal/types" - cutils "scroll-tech/coordinator/internal/utils" "scroll-tech/common/types" "scroll-tech/common/types/message" @@ -113,18 +112,18 @@ func (bp *BundleProverTask) Assign(ctx *gin.Context, getTaskParameter *coordinat } // Don't dispatch the same failing job to the same prover - proverTasks, getTaskError := bp.proverTaskOrm.GetFailedProverTasksByHash(ctx.Copy(), message.ProofTypeBundle, tmpBundleTask.Hash, 2) - if getTaskError != nil { - log.Error("failed to get prover tasks", "proof type", message.ProofTypeBundle.String(), "task ID", tmpBundleTask.Hash, "error", getTaskError) - return nil, ErrCoordinatorInternalFailure - } - for i := 0; i < len(proverTasks); i++ { - if proverTasks[i].ProverPublicKey == taskCtx.PublicKey || - taskCtx.ProverProviderType == uint8(coordinatorType.ProverProviderTypeExternal) && cutils.IsExternalProverNameMatch(proverTasks[i].ProverName, taskCtx.ProverName) { - log.Debug("get empty bundle, the prover already failed this task", "height", getTaskParameter.ProverHeight) - return nil, nil - } - } + //proverTasks, getTaskError := bp.proverTaskOrm.GetFailedProverTasksByHash(ctx.Copy(), message.ProofTypeBundle, tmpBundleTask.Hash, 2) + //if getTaskError != nil { + // log.Error("failed to get prover tasks", "proof type", message.ProofTypeBundle.String(), "task ID", tmpBundleTask.Hash, "error", getTaskError) + // return nil, ErrCoordinatorInternalFailure + //} + //for i := 0; i < len(proverTasks); i++ { + // if proverTasks[i].ProverPublicKey == taskCtx.PublicKey || + // taskCtx.ProverProviderType == uint8(coordinatorType.ProverProviderTypeExternal) && cutils.IsExternalProverNameMatch(proverTasks[i].ProverName, taskCtx.ProverName) { + // log.Debug("get empty bundle, the prover already failed this task", "height", getTaskParameter.ProverHeight) + // return nil, nil + // } + //} rowsAffected, updateAttemptsErr := bp.bundleOrm.UpdateBundleAttempts(ctx.Copy(), tmpBundleTask.Hash, tmpBundleTask.ActiveAttempts, tmpBundleTask.TotalAttempts) if updateAttemptsErr != nil { From 8f4fc9af95cdad6a88ec22f9ca998d63571a1155 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 28 Mar 2025 15:53:05 +0800 Subject: [PATCH 083/132] uncomment some logic --- .../logic/provertask/batch_prover_task.go | 25 ++++++++++--------- .../logic/provertask/bundle_prover_task.go | 25 ++++++++++--------- .../logic/provertask/chunk_prover_task.go | 2 +- 3 files changed, 27 insertions(+), 25 deletions(-) diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 1d71f564dc..596aaff44d 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -24,6 +24,7 @@ import ( "scroll-tech/coordinator/internal/config" "scroll-tech/coordinator/internal/orm" coordinatorType "scroll-tech/coordinator/internal/types" + cutils "scroll-tech/coordinator/internal/utils" ) // BatchProverTask is prover task implement for batch proof @@ -114,18 +115,18 @@ func (bp *BatchProverTask) Assign(ctx *gin.Context, getTaskParameter *coordinato } // Don't dispatch the same failing job to the same prover - //proverTasks, getFailedTaskError := bp.proverTaskOrm.GetFailedProverTasksByHash(ctx.Copy(), message.ProofTypeBatch, tmpBatchTask.Hash, 2) - //if getFailedTaskError != nil { - // log.Error("failed to get prover tasks", "proof type", message.ProofTypeBatch.String(), "task ID", tmpBatchTask.Hash, "error", getFailedTaskError) - // return nil, ErrCoordinatorInternalFailure - //} - //for i := 0; i < len(proverTasks); i++ { - // if proverTasks[i].ProverPublicKey == taskCtx.PublicKey || - // taskCtx.ProverProviderType == uint8(coordinatorType.ProverProviderTypeExternal) && cutils.IsExternalProverNameMatch(proverTasks[i].ProverName, taskCtx.ProverName) { - // log.Debug("get empty batch, the prover already failed this task", "height", getTaskParameter.ProverHeight) - // return nil, nil - // } - //} + proverTasks, getFailedTaskError := bp.proverTaskOrm.GetFailedProverTasksByHash(ctx.Copy(), message.ProofTypeBatch, tmpBatchTask.Hash, 2) + if getFailedTaskError != nil { + log.Error("failed to get prover tasks", "proof type", message.ProofTypeBatch.String(), "task ID", tmpBatchTask.Hash, "error", getFailedTaskError) + return nil, ErrCoordinatorInternalFailure + } + for i := 0; i < len(proverTasks); i++ { + if proverTasks[i].ProverPublicKey == taskCtx.PublicKey || + taskCtx.ProverProviderType == uint8(coordinatorType.ProverProviderTypeExternal) && cutils.IsExternalProverNameMatch(proverTasks[i].ProverName, taskCtx.ProverName) { + log.Debug("get empty batch, the prover already failed this task", "height", getTaskParameter.ProverHeight, "task ID", tmpBatchTask.Hash, "prover name", taskCtx.ProverName, "prover public key", taskCtx.PublicKey) + return nil, nil + } + } rowsAffected, updateAttemptsErr := bp.batchOrm.UpdateBatchAttempts(ctx.Copy(), tmpBatchTask.Index, tmpBatchTask.ActiveAttempts, tmpBatchTask.TotalAttempts) if updateAttemptsErr != nil { diff --git a/coordinator/internal/logic/provertask/bundle_prover_task.go b/coordinator/internal/logic/provertask/bundle_prover_task.go index be78950e16..1f9dc1a46e 100644 --- a/coordinator/internal/logic/provertask/bundle_prover_task.go +++ b/coordinator/internal/logic/provertask/bundle_prover_task.go @@ -17,6 +17,7 @@ import ( "scroll-tech/coordinator/internal/config" "scroll-tech/coordinator/internal/orm" coordinatorType "scroll-tech/coordinator/internal/types" + cutils "scroll-tech/coordinator/internal/utils" "scroll-tech/common/types" "scroll-tech/common/types/message" @@ -112,18 +113,18 @@ func (bp *BundleProverTask) Assign(ctx *gin.Context, getTaskParameter *coordinat } // Don't dispatch the same failing job to the same prover - //proverTasks, getTaskError := bp.proverTaskOrm.GetFailedProverTasksByHash(ctx.Copy(), message.ProofTypeBundle, tmpBundleTask.Hash, 2) - //if getTaskError != nil { - // log.Error("failed to get prover tasks", "proof type", message.ProofTypeBundle.String(), "task ID", tmpBundleTask.Hash, "error", getTaskError) - // return nil, ErrCoordinatorInternalFailure - //} - //for i := 0; i < len(proverTasks); i++ { - // if proverTasks[i].ProverPublicKey == taskCtx.PublicKey || - // taskCtx.ProverProviderType == uint8(coordinatorType.ProverProviderTypeExternal) && cutils.IsExternalProverNameMatch(proverTasks[i].ProverName, taskCtx.ProverName) { - // log.Debug("get empty bundle, the prover already failed this task", "height", getTaskParameter.ProverHeight) - // return nil, nil - // } - //} + proverTasks, getTaskError := bp.proverTaskOrm.GetFailedProverTasksByHash(ctx.Copy(), message.ProofTypeBundle, tmpBundleTask.Hash, 2) + if getTaskError != nil { + log.Error("failed to get prover tasks", "proof type", message.ProofTypeBundle.String(), "task ID", tmpBundleTask.Hash, "error", getTaskError) + return nil, ErrCoordinatorInternalFailure + } + for i := 0; i < len(proverTasks); i++ { + if proverTasks[i].ProverPublicKey == taskCtx.PublicKey || + taskCtx.ProverProviderType == uint8(coordinatorType.ProverProviderTypeExternal) && cutils.IsExternalProverNameMatch(proverTasks[i].ProverName, taskCtx.ProverName) { + log.Debug("get empty bundle, the prover already failed this task", "height", getTaskParameter.ProverHeight, "task ID", tmpBundleTask.Hash, "prover name", taskCtx.ProverName, "prover public key", taskCtx.PublicKey) + return nil, nil + } + } rowsAffected, updateAttemptsErr := bp.bundleOrm.UpdateBundleAttempts(ctx.Copy(), tmpBundleTask.Hash, tmpBundleTask.ActiveAttempts, tmpBundleTask.TotalAttempts) if updateAttemptsErr != nil { diff --git a/coordinator/internal/logic/provertask/chunk_prover_task.go b/coordinator/internal/logic/provertask/chunk_prover_task.go index edc424cfb3..40e34674f2 100644 --- a/coordinator/internal/logic/provertask/chunk_prover_task.go +++ b/coordinator/internal/logic/provertask/chunk_prover_task.go @@ -119,7 +119,7 @@ func (cp *ChunkProverTask) Assign(ctx *gin.Context, getTaskParameter *coordinato for i := 0; i < len(proverTasks); i++ { if proverTasks[i].ProverPublicKey == taskCtx.PublicKey || taskCtx.ProverProviderType == uint8(coordinatorType.ProverProviderTypeExternal) && cutils.IsExternalProverNameMatch(proverTasks[i].ProverName, taskCtx.ProverName) { - log.Debug("get empty chunk, the prover already failed this task", "height", getTaskParameter.ProverHeight) + log.Debug("get empty chunk, the prover already failed this task", "height", getTaskParameter.ProverHeight, "task ID", tmpChunkTask.Hash, "prover name", taskCtx.ProverName, "prover public key", taskCtx.PublicKey) return nil, nil } } From 157268056661238e137d7277a1279a19aac8221b Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 28 Mar 2025 19:24:05 +0800 Subject: [PATCH 084/132] update challenge digest and zkvm prover dep --- common/libzkp/impl/Cargo.lock | 163 +++++++--------- common/libzkp/impl/Cargo.toml | 4 +- coordinator/go.mod | 2 +- coordinator/go.sum | 4 +- .../logic/provertask/batch_prover_task.go | 22 +-- coordinator/internal/orm/batch.go | 1 + database/migrate/migrate_test.go | 6 +- .../migrations/00026_add_challenge_digest.sql | 15 ++ rollup/go.mod | 2 +- rollup/go.sum | 4 +- rollup/internal/orm/batch.go | 2 + rollup/internal/utils/utils.go | 10 +- zkvm-prover/Cargo.lock | 181 ++++++++---------- zkvm-prover/Cargo.toml | 2 +- 14 files changed, 192 insertions(+), 226 deletions(-) create mode 100644 database/migrate/migrations/00026_add_challenge_digest.sql diff --git a/common/libzkp/impl/Cargo.lock b/common/libzkp/impl/Cargo.lock index 9c12935c1d..1465f17866 100644 --- a/common/libzkp/impl/Cargo.lock +++ b/common/libzkp/impl/Cargo.lock @@ -1888,7 +1888,7 @@ dependencies = [ "crossbeam", "ff 0.13.0", "group 0.13.0", - "halo2curves-axiom 0.7.0", + "halo2curves-axiom", "itertools 0.11.0", "maybe-rayon", "pairing 0.23.0", @@ -1903,7 +1903,8 @@ dependencies = [ [[package]] name = "halo2-base" version = "0.5.0" -source = "git+https://github.com/axiom-crypto/halo2-lib.git?tag=v0.5.0-git#2d4b70b8558439a908dea708f4721394b1ae3ef6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "678cf3adc0a39d7b4d9b82315a655201aa24a430dd1902b162c508047f56ac69" dependencies = [ "getset", "halo2-axiom", @@ -1923,7 +1924,8 @@ dependencies = [ [[package]] name = "halo2-ecc" version = "0.5.0" -source = "git+https://github.com/axiom-crypto/halo2-lib.git?tag=v0.5.0-git#2d4b70b8558439a908dea708f4721394b1ae3ef6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645c00681fdd1febaf552d8814e9f5a6a142d81a1514102190da07039588b366" dependencies = [ "halo2-base", "itertools 0.11.0", @@ -1982,33 +1984,6 @@ dependencies = [ "unroll", ] -[[package]] -name = "halo2curves-axiom" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75bb262279138550a603b35a73da944fcde987a321eb550c05276ce7b0a4e692" -dependencies = [ - "blake2b_simd", - "digest 0.10.7", - "ff 0.13.0", - "group 0.13.0", - "hex", - "lazy_static", - "maybe-rayon", - "num-bigint 0.4.6", - "num-traits", - "pairing 0.23.0", - "pasta_curves 0.5.1", - "paste", - "rand", - "rand_core", - "serde", - "serde_arrays", - "sha2", - "static_assertions", - "subtle", -] - [[package]] name = "halo2curves-axiom" version = "0.7.0" @@ -2878,7 +2853,7 @@ dependencies = [ [[package]] name = "openvm" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "bytemuck", "num-bigint 0.4.6", @@ -2891,7 +2866,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -2919,7 +2894,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-macros-common", "quote", @@ -2929,9 +2904,9 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ - "halo2curves-axiom 0.5.3", + "halo2curves-axiom", "num-bigint 0.4.6", "openvm-algebra-complex-macros", "openvm-algebra-moduli-macros", @@ -2942,7 +2917,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-macros-common", "quote", @@ -2952,7 +2927,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -2966,7 +2941,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -2988,7 +2963,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "num-bigint 0.4.6", "num-traits", @@ -3002,7 +2977,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -3017,7 +2992,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "cargo_metadata", "eyre", @@ -3029,7 +3004,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "backtrace", "cfg-if", @@ -3060,7 +3035,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "itertools 0.14.0", "quote", @@ -3070,7 +3045,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -3085,7 +3060,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "itertools 0.14.0", "quote", @@ -3095,7 +3070,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derivative", "openvm-circuit", @@ -3110,7 +3085,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "proc-macro2", "quote", @@ -3120,7 +3095,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -3151,12 +3126,12 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "ecdsa", "elliptic-curve", "group 0.13.0", - "halo2curves-axiom 0.5.3", + "halo2curves-axiom", "hex-literal", "k256", "lazy_static", @@ -3176,7 +3151,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-macros-common", "quote", @@ -3186,7 +3161,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -3200,7 +3175,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -3217,7 +3192,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "quote", "syn 2.0.98", @@ -3226,7 +3201,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -3252,7 +3227,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-platform", "tiny-keccak", @@ -3261,7 +3236,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -3275,7 +3250,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "syn 2.0.98", ] @@ -3283,7 +3258,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "itertools 0.14.0", "num-bigint 0.4.6", @@ -3302,7 +3277,7 @@ dependencies = [ [[package]] name = "openvm-native-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -3329,7 +3304,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "backtrace", "itertools 0.14.0", @@ -3353,7 +3328,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "quote", "syn 2.0.98", @@ -3362,7 +3337,7 @@ dependencies = [ [[package]] name = "openvm-native-recursion" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "cfg-if", "itertools 0.14.0", @@ -3390,7 +3365,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -3420,10 +3395,10 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "group 0.13.0", - "halo2curves-axiom 0.5.3", + "halo2curves-axiom", "hex-literal", "itertools 0.14.0", "lazy_static", @@ -3446,7 +3421,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -3460,7 +3435,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "getrandom 0.2.15", "libm", @@ -3471,7 +3446,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derivative", "lazy_static", @@ -3488,7 +3463,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -3508,7 +3483,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -3531,7 +3506,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-custom-insn", "strum_macros 0.26.4", @@ -3540,7 +3515,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -3556,7 +3531,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "async-trait", "bitcode", @@ -3603,7 +3578,7 @@ dependencies = [ [[package]] name = "openvm-sha256-air" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -3614,7 +3589,7 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -3637,7 +3612,7 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-platform", "sha2", @@ -3646,7 +3621,7 @@ dependencies = [ [[package]] name = "openvm-sha256-transpiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -3660,7 +3635,7 @@ dependencies = [ [[package]] name = "openvm-stark-backend" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/stark-backend.git?rev=4a223981722e75bf97c6807e4d56935196d86edf#4a223981722e75bf97c6807e4d56935196d86edf" +source = "git+https://github.com/openvm-org/stark-backend.git?rev=b051e8978da9c829a76b262abf4a9736c8d1681e#b051e8978da9c829a76b262abf4a9736c8d1681e" dependencies = [ "bitcode", "cfg-if", @@ -3686,7 +3661,7 @@ dependencies = [ [[package]] name = "openvm-stark-sdk" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/stark-backend.git?rev=4a223981722e75bf97c6807e4d56935196d86edf#4a223981722e75bf97c6807e4d56935196d86edf" +source = "git+https://github.com/openvm-org/stark-backend.git?rev=b051e8978da9c829a76b262abf4a9736c8d1681e#b051e8978da9c829a76b262abf4a9736c8d1681e" dependencies = [ "derivative", "derive_more 0.99.19", @@ -3721,7 +3696,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "elf", "eyre", @@ -5200,7 +5175,7 @@ dependencies = [ [[package]] name = "revm" version = "19.4.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#17dfd866846f0fa19fa04bd6f848fb80cd5d73fc" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#c7a586deca0d1e2ec079cb9a7bab1ecdb53dc4a6" dependencies = [ "auto_impl", "cfg-if", @@ -5239,7 +5214,7 @@ dependencies = [ [[package]] name = "revm-interpreter" version = "15.1.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#17dfd866846f0fa19fa04bd6f848fb80cd5d73fc" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#c7a586deca0d1e2ec079cb9a7bab1ecdb53dc4a6" dependencies = [ "revm-primitives 15.1.0", "serde", @@ -5277,7 +5252,7 @@ dependencies = [ [[package]] name = "revm-precompile" version = "16.0.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#17dfd866846f0fa19fa04bd6f848fb80cd5d73fc" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#c7a586deca0d1e2ec079cb9a7bab1ecdb53dc4a6" dependencies = [ "aurora-engine-modexp", "c-kzg", @@ -5334,7 +5309,7 @@ dependencies = [ [[package]] name = "revm-primitives" version = "15.1.0" -source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#17dfd866846f0fa19fa04bd6f848fb80cd5d73fc" +source = "git+https://github.com/scroll-tech/revm?branch=scroll-evm-executor%2Ffeat%2Fv55%2Feuclid-upgrade#c7a586deca0d1e2ec079cb9a7bab1ecdb53dc4a6" dependencies = [ "alloy-eip2930", "alloy-eip7702 0.5.1", @@ -5698,8 +5673,8 @@ dependencies = [ [[package]] name = "scroll-zkvm-circuit-input-types" -version = "0.1.0-rc.11" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.11#29a0373dfea03bcd8fd4aa93631ffd76da3d552c" +version = "0.2.0" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.2.0#5854f8179d14f2afa489a499290e0ff6a953b314" dependencies = [ "alloy-primitives", "alloy-serde 0.8.3", @@ -5721,8 +5696,8 @@ dependencies = [ [[package]] name = "scroll-zkvm-prover" -version = "0.1.0-rc.11" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.11#29a0373dfea03bcd8fd4aa93631ffd76da3d552c" +version = "0.2.0" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.2.0#5854f8179d14f2afa489a499290e0ff6a953b314" dependencies = [ "alloy-primitives", "base64 0.22.1", @@ -5757,8 +5732,8 @@ dependencies = [ [[package]] name = "scroll-zkvm-verifier" -version = "0.1.0-rc.11" -source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.11#29a0373dfea03bcd8fd4aa93631ffd76da3d552c" +version = "0.2.0" +source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.2.0#5854f8179d14f2afa489a499290e0ff6a953b314" dependencies = [ "bincode", "eyre", @@ -6036,7 +6011,8 @@ dependencies = [ [[package]] name = "snark-verifier" version = "0.2.0" -source = "git+https://github.com/axiom-crypto/snark-verifier?branch=zkvm-v0.1#9e1c165ff8816b9351791c2f939548beb12c183f" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28e4c4ed1edca41687fe2d8a09ba30badb0a5cc7fa56dd1159d62aeab7c99ace" dependencies = [ "halo2-base", "halo2-ecc", @@ -6057,7 +6033,8 @@ dependencies = [ [[package]] name = "snark-verifier-sdk" version = "0.2.0" -source = "git+https://github.com/axiom-crypto/snark-verifier?branch=zkvm-v0.1#9e1c165ff8816b9351791c2f939548beb12c183f" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "babff70ce6292fce03f692d68569f76b8f6710dbac7be7fe5f32c915909c9065" dependencies = [ "ark-std 0.3.0", "bincode", diff --git a/common/libzkp/impl/Cargo.toml b/common/libzkp/impl/Cargo.toml index 07b775cea2..b1b6a13bb3 100644 --- a/common/libzkp/impl/Cargo.toml +++ b/common/libzkp/impl/Cargo.toml @@ -14,8 +14,8 @@ ruint = { git = "https://github.com/scroll-tech/uint.git", branch = "v1.12.3" } tiny-keccak = { git = "https://github.com/scroll-tech/tiny-keccak", branch = "scroll-patch-v2.0.2-openvm-v1.0.0-rc.1" } [dependencies] -euclid_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.11", package = "scroll-zkvm-prover" } -euclid_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.11", package = "scroll-zkvm-verifier" } +euclid_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.2.0", package = "scroll-zkvm-prover" } +euclid_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.2.0", package = "scroll-zkvm-verifier" } base64 = "0.13.0" env_logger = "0.9.0" diff --git a/coordinator/go.mod b/coordinator/go.mod index 7c7f64df77..64e9ba1303 100644 --- a/coordinator/go.mod +++ b/coordinator/go.mod @@ -9,7 +9,7 @@ require ( github.com/google/uuid v1.6.0 github.com/mitchellh/mapstructure v1.5.0 github.com/prometheus/client_golang v1.19.0 - github.com/scroll-tech/da-codec v0.1.3-0.20250327153440-cd3e5728df9c + github.com/scroll-tech/da-codec v0.1.3-0.20250328105417-4d1233d2569b github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601 github.com/shopspring/decimal v1.3.1 github.com/stretchr/testify v1.10.0 diff --git a/coordinator/go.sum b/coordinator/go.sum index cddbb1c2d4..f7f46524ef 100644 --- a/coordinator/go.sum +++ b/coordinator/go.sum @@ -177,8 +177,8 @@ github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/scroll-tech/da-codec v0.1.3-0.20250327153440-cd3e5728df9c h1:MCbuwFynRgxQeoyXwt/wUAPo3vfb61rMWxqADE2he4A= -github.com/scroll-tech/da-codec v0.1.3-0.20250327153440-cd3e5728df9c/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= +github.com/scroll-tech/da-codec v0.1.3-0.20250328105417-4d1233d2569b h1:9yV268g1ejAabKCidmCbiRflqKOIErKjO85gDKzhsF8= +github.com/scroll-tech/da-codec v0.1.3-0.20250328105417-4d1233d2569b/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601 h1:NEsjCG6uSvLRBlsP3+x6PL1kM+Ojs3g8UGotIPgJSz8= github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601/go.mod h1:OblWe1+QrZwdpwO0j/LY3BSGuKT3YPUFBDQQgvvfStQ= github.com/scroll-tech/zktrie v0.8.4 h1:UagmnZ4Z3ITCk+aUq9NQZJNAwnWl4gSxsLb2Nl7IgRE= diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 596aaff44d..5103530760 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -288,21 +288,13 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []* } taskDetail.BatchHeader = batchHeader taskDetail.BlobBytes = dbBatch.BlobBytes - - challengeDigest, kzgCommitment, kzgProof, err := codec.BlobDataProofFromBlobBytes(dbBatch.BlobBytes) - if err != nil { - return nil, fmt.Errorf("failed to get challenge digest from blob bytes, taskID: %s, err: %w", dbBatch.Hash, err) - } - - taskDetail.ChallengeDigest = challengeDigest - taskDetail.KzgProof = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(kzgProof[:]))} - taskDetail.KzgCommitment = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(kzgCommitment[:]))} - - // FIXME: remove this hot fix logic after stable release. - if hardForkName == message.EuclidV2Fork && len(taskDetail.BlobBytes) < 126976 { - zeroPadding := make([]byte, 126976-len(taskDetail.BlobBytes)) - taskDetail.BlobBytes = append(taskDetail.BlobBytes, zeroPadding...) - } + taskDetail.ChallengeDigest = common.HexToHash(dbBatch.ChallengeDigest) + // Memory layout of `BlobDataProof`: used in Codec.BlobDataProofForPointEvaluation() + // | z | y | kzg_commitment | kzg_proof | + // |---------|---------|----------------|-----------| + // | bytes32 | bytes32 | bytes48 | bytes48 | + taskDetail.KzgProof = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[112:160]))} + taskDetail.KzgCommitment = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[64:112]))} return taskDetail, nil } diff --git a/coordinator/internal/orm/batch.go b/coordinator/internal/orm/batch.go index 6c085d7cf8..51e904a016 100644 --- a/coordinator/internal/orm/batch.go +++ b/coordinator/internal/orm/batch.go @@ -35,6 +35,7 @@ type Batch struct { PostL1MessageQueueHash string `json:"post_l1_message_queue_hash" gorm:"column:post_l1_message_queue_hash"` EnableCompress bool `json:"enable_compress" gorm:"column:enable_compress"` BlobBytes []byte `json:"blob_bytes" gorm:"column:blob_bytes"` + ChallengeDigest string `json:"challenge_digest" gorm:"column:challenge_digest"` // proof ChunkProofsStatus int16 `json:"chunk_proofs_status" gorm:"column:chunk_proofs_status;default:1"` diff --git a/database/migrate/migrate_test.go b/database/migrate/migrate_test.go index 6c44252218..91697ef311 100644 --- a/database/migrate/migrate_test.go +++ b/database/migrate/migrate_test.go @@ -59,20 +59,20 @@ func testResetDB(t *testing.T) { cur, err := Current(pgDB) assert.NoError(t, err) // total number of tables. - assert.Equal(t, int64(25), cur) + assert.Equal(t, int64(26), cur) } func testMigrate(t *testing.T) { assert.NoError(t, Migrate(pgDB)) cur, err := Current(pgDB) assert.NoError(t, err) - assert.Equal(t, int64(25), cur) + assert.Equal(t, int64(26), cur) } func testRollback(t *testing.T) { version, err := Current(pgDB) assert.NoError(t, err) - assert.Equal(t, int64(25), version) + assert.Equal(t, int64(26), version) assert.NoError(t, Rollback(pgDB, nil)) diff --git a/database/migrate/migrations/00026_add_challenge_digest.sql b/database/migrate/migrations/00026_add_challenge_digest.sql new file mode 100644 index 0000000000..abd9a072b0 --- /dev/null +++ b/database/migrate/migrations/00026_add_challenge_digest.sql @@ -0,0 +1,15 @@ +-- +goose Up +-- +goose StatementBegin + +ALTER TABLE batch +ADD COLUMN challenge_digest VARCHAR DEFAULT ''; + +-- +goose StatementEnd + +-- +goose Down +-- +goose StatementBegin + +ALTER TABLE IF EXISTS batch +DROP COLUMN IF EXISTS challenge_digest; + +-- +goose StatementEnd diff --git a/rollup/go.mod b/rollup/go.mod index 0a8d91dd2f..5d622d5b06 100644 --- a/rollup/go.mod +++ b/rollup/go.mod @@ -11,7 +11,7 @@ require ( github.com/holiman/uint256 v1.3.2 github.com/mitchellh/mapstructure v1.5.0 github.com/prometheus/client_golang v1.16.0 - github.com/scroll-tech/da-codec v0.1.3-0.20250327153440-cd3e5728df9c + github.com/scroll-tech/da-codec v0.1.3-0.20250328105417-4d1233d2569b github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601 github.com/smartystreets/goconvey v1.8.0 github.com/spf13/viper v1.19.0 diff --git a/rollup/go.sum b/rollup/go.sum index 3ddec7f6e4..79862a6363 100644 --- a/rollup/go.sum +++ b/rollup/go.sum @@ -249,8 +249,8 @@ github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6ke github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= -github.com/scroll-tech/da-codec v0.1.3-0.20250327153440-cd3e5728df9c h1:MCbuwFynRgxQeoyXwt/wUAPo3vfb61rMWxqADE2he4A= -github.com/scroll-tech/da-codec v0.1.3-0.20250327153440-cd3e5728df9c/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= +github.com/scroll-tech/da-codec v0.1.3-0.20250328105417-4d1233d2569b h1:9yV268g1ejAabKCidmCbiRflqKOIErKjO85gDKzhsF8= +github.com/scroll-tech/da-codec v0.1.3-0.20250328105417-4d1233d2569b/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601 h1:NEsjCG6uSvLRBlsP3+x6PL1kM+Ojs3g8UGotIPgJSz8= github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601/go.mod h1:OblWe1+QrZwdpwO0j/LY3BSGuKT3YPUFBDQQgvvfStQ= github.com/scroll-tech/zktrie v0.8.4 h1:UagmnZ4Z3ITCk+aUq9NQZJNAwnWl4gSxsLb2Nl7IgRE= diff --git a/rollup/internal/orm/batch.go b/rollup/internal/orm/batch.go index 7267e32d98..237de27b9b 100644 --- a/rollup/internal/orm/batch.go +++ b/rollup/internal/orm/batch.go @@ -39,6 +39,7 @@ type Batch struct { PostL1MessageQueueHash string `json:"post_l1_message_queue_hash" gorm:"column:post_l1_message_queue_hash"` EnableCompress bool `json:"enable_compress" gorm:"column:enable_compress"` // use for debug BlobBytes []byte `json:"blob_bytes" gorm:"column:blob_bytes"` + ChallengeDigest string `json:"challenge_digest" gorm:"column:challenge_digest"` // proof ChunkProofsStatus int16 `json:"chunk_proofs_status" gorm:"column:chunk_proofs_status;default:1"` @@ -305,6 +306,7 @@ func (o *Batch) InsertBatch(ctx context.Context, batch *encoding.Batch, codecVer PostL1MessageQueueHash: batch.PostL1MessageQueueHash.Hex(), EnableCompress: enableCompress, BlobBytes: batchMeta.BlobBytes, + ChallengeDigest: batchMeta.ChallengeDigest.Hex(), ChunkProofsStatus: int16(types.ChunkProofsStatusPending), ProvingStatus: int16(types.ProvingTaskUnassigned), RollupStatus: int16(types.RollupPending), diff --git a/rollup/internal/utils/utils.go b/rollup/internal/utils/utils.go index 4f9a1f91d1..a5026a737f 100644 --- a/rollup/internal/utils/utils.go +++ b/rollup/internal/utils/utils.go @@ -164,6 +164,7 @@ type BatchMetadata struct { StartChunkHash common.Hash EndChunkHash common.Hash BlobBytes []byte + ChallengeDigest common.Hash } // GetBatchMetadata retrieves the metadata of a batch. @@ -179,10 +180,11 @@ func GetBatchMetadata(batch *encoding.Batch, codecVersion encoding.CodecVersion) } batchMeta := &BatchMetadata{ - BatchHash: daBatch.Hash(), - BatchDataHash: daBatch.DataHash(), - BatchBytes: daBatch.Encode(), - BlobBytes: daBatch.BlobBytes(), + BatchHash: daBatch.Hash(), + BatchDataHash: daBatch.DataHash(), + BatchBytes: daBatch.Encode(), + BlobBytes: daBatch.BlobBytes(), + ChallengeDigest: daBatch.ChallengeDigest(), } batchMeta.BatchBlobDataProof, err = daBatch.BlobDataProofForPointEvaluation() diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index b2f915e8d2..2fd0816f9e 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -1531,7 +1531,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -2157,7 +2157,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -2742,15 +2742,15 @@ dependencies = [ [[package]] name = "halo2-axiom" -version = "0.4.5" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f81aee7974478f9e3ea0cfd349d2a59a3482f7844386486a98e4af9ed8bada6" +checksum = "62f0ca78d12ac5c893f286d7cdfe3869290305ab8cac376e2592cdc8396da102" dependencies = [ "blake2b_simd", "crossbeam", "ff 0.13.1", "group 0.13.0", - "halo2curves-axiom 0.7.0", + "halo2curves-axiom", "itertools 0.11.0", "maybe-rayon", "pairing 0.23.0", @@ -2764,8 +2764,9 @@ dependencies = [ [[package]] name = "halo2-base" -version = "0.4.1" -source = "git+https://github.com/axiom-crypto/halo2-lib.git?tag=v0.4.1-git#2fe813b3ccd4f224da195d61829effb20599dcbd" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "678cf3adc0a39d7b4d9b82315a655201aa24a430dd1902b162c508047f56ac69" dependencies = [ "getset", "halo2-axiom", @@ -2784,8 +2785,9 @@ dependencies = [ [[package]] name = "halo2-ecc" -version = "0.4.1" -source = "git+https://github.com/axiom-crypto/halo2-lib.git?tag=v0.4.1-git#2fe813b3ccd4f224da195d61829effb20599dcbd" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645c00681fdd1febaf552d8814e9f5a6a142d81a1514102190da07039588b366" dependencies = [ "halo2-base", "itertools 0.11.0", @@ -2844,33 +2846,6 @@ dependencies = [ "unroll", ] -[[package]] -name = "halo2curves-axiom" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75bb262279138550a603b35a73da944fcde987a321eb550c05276ce7b0a4e692" -dependencies = [ - "blake2b_simd", - "digest 0.10.7", - "ff 0.13.1", - "group 0.13.0", - "hex", - "lazy_static", - "maybe-rayon", - "num-bigint 0.4.6", - "num-traits", - "pairing 0.23.0", - "pasta_curves 0.5.1", - "paste", - "rand 0.8.5", - "rand_core 0.6.4", - "serde", - "serde_arrays", - "sha2", - "static_assertions", - "subtle", -] - [[package]] name = "halo2curves-axiom" version = "0.7.0" @@ -4267,7 +4242,7 @@ dependencies = [ [[package]] name = "openvm" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "bytemuck", "num-bigint 0.4.6", @@ -4280,7 +4255,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -4308,7 +4283,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-macros-common", "quote", @@ -4318,9 +4293,9 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ - "halo2curves-axiom 0.5.3", + "halo2curves-axiom", "num-bigint 0.4.6", "openvm-algebra-complex-macros", "openvm-algebra-moduli-macros", @@ -4331,7 +4306,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-macros-common", "quote", @@ -4341,7 +4316,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -4355,7 +4330,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -4377,7 +4352,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "num-bigint 0.4.6", "num-traits", @@ -4391,7 +4366,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -4406,7 +4381,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "cargo_metadata", "eyre", @@ -4418,7 +4393,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "backtrace", "cfg-if", @@ -4449,7 +4424,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "itertools 0.14.0", "quote", @@ -4459,7 +4434,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -4474,7 +4449,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "itertools 0.14.0", "quote", @@ -4484,7 +4459,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derivative", "openvm-circuit", @@ -4499,7 +4474,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "proc-macro2", "quote", @@ -4509,7 +4484,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -4540,12 +4515,12 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "ecdsa", "elliptic-curve", "group 0.13.0", - "halo2curves-axiom 0.5.3", + "halo2curves-axiom", "hex-literal", "k256", "lazy_static", @@ -4565,7 +4540,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-macros-common", "quote", @@ -4575,7 +4550,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -4589,7 +4564,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -4606,7 +4581,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "quote", "syn 2.0.100", @@ -4615,7 +4590,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -4641,7 +4616,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-platform", "tiny-keccak", @@ -4650,7 +4625,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4664,7 +4639,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "syn 2.0.100", ] @@ -4672,7 +4647,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "itertools 0.14.0", "num-bigint 0.4.6", @@ -4691,7 +4666,7 @@ dependencies = [ [[package]] name = "openvm-native-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -4718,7 +4693,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "backtrace", "itertools 0.14.0", @@ -4742,7 +4717,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "quote", "syn 2.0.100", @@ -4751,7 +4726,7 @@ dependencies = [ [[package]] name = "openvm-native-recursion" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "cfg-if", "itertools 0.14.0", @@ -4779,7 +4754,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -4809,10 +4784,10 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "group 0.13.0", - "halo2curves-axiom 0.5.3", + "halo2curves-axiom", "hex-literal", "itertools 0.14.0", "lazy_static", @@ -4835,7 +4810,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4849,7 +4824,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "getrandom 0.2.15", "libm", @@ -4860,7 +4835,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derivative", "lazy_static", @@ -4877,7 +4852,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -4897,7 +4872,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -4920,7 +4895,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-custom-insn", "strum_macros 0.26.4", @@ -4929,7 +4904,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4945,7 +4920,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "async-trait", "bitcode", @@ -4992,7 +4967,7 @@ dependencies = [ [[package]] name = "openvm-sha256-air" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -5003,7 +4978,7 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -5026,7 +5001,7 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-platform", "sha2", @@ -5035,7 +5010,7 @@ dependencies = [ [[package]] name = "openvm-sha256-transpiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -5114,7 +5089,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "1.0.0-rc.2" -source = "git+https://github.com/openvm-org/openvm.git?rev=de2d3a0#de2d3a0a111cc2da1a967e8d1271f709b01ba6d2" +source = "git+https://github.com/openvm-org/openvm.git?rev=3c35e9f#3c35e9f369da8dee065a089fb72f3580af7dcaf9" dependencies = [ "elf", "eyre", @@ -5813,9 +5788,9 @@ dependencies = [ [[package]] name = "poseidon-primitives" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bd95570f7ea849b4187298b5bb229643e44e1d47ddf3979d0db8a1c28be26a8" +checksum = "6e4aaeda7a092e21165cc5f0cbc738e72a46f31c03c3cbd87b71ceae9d2d93bc" dependencies = [ "bitvec", "ff 0.13.1", @@ -6080,7 +6055,7 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -7500,7 +7475,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -7513,7 +7488,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.9.3", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -7850,8 +7825,8 @@ dependencies = [ [[package]] name = "scroll-zkvm-circuit-input-types" -version = "0.1.0-rc.11" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.0-rc.11#29a0373dfea03bcd8fd4aa93631ffd76da3d552c" +version = "0.2.0" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.2.0#5854f8179d14f2afa489a499290e0ff6a953b314" dependencies = [ "alloy-primitives", "alloy-serde 0.8.3", @@ -7873,8 +7848,8 @@ dependencies = [ [[package]] name = "scroll-zkvm-prover" -version = "0.1.0-rc.11" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.0-rc.11#29a0373dfea03bcd8fd4aa93631ffd76da3d552c" +version = "0.2.0" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.2.0#5854f8179d14f2afa489a499290e0ff6a953b314" dependencies = [ "alloy-primitives", "base64 0.22.1", @@ -7909,8 +7884,8 @@ dependencies = [ [[package]] name = "scroll-zkvm-verifier" -version = "0.1.0-rc.11" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.1.0-rc.11#29a0373dfea03bcd8fd4aa93631ffd76da3d552c" +version = "0.2.0" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.2.0#5854f8179d14f2afa489a499290e0ff6a953b314" dependencies = [ "bincode", "eyre", @@ -8311,8 +8286,9 @@ dependencies = [ [[package]] name = "snark-verifier" -version = "0.1.8" -source = "git+https://github.com/axiom-crypto/snark-verifier?branch=zkvm-v0.1#0e381253735fc0d75a6f6239c4fd9d155b4f1a5e" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28e4c4ed1edca41687fe2d8a09ba30badb0a5cc7fa56dd1159d62aeab7c99ace" dependencies = [ "halo2-base", "halo2-ecc", @@ -8332,8 +8308,9 @@ dependencies = [ [[package]] name = "snark-verifier-sdk" -version = "0.1.8" -source = "git+https://github.com/axiom-crypto/snark-verifier?branch=zkvm-v0.1#0e381253735fc0d75a6f6239c4fd9d155b4f1a5e" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "babff70ce6292fce03f692d68569f76b8f6710dbac7be7fe5f32c915909c9065" dependencies = [ "ark-std 0.3.0", "bincode", @@ -8410,7 +8387,7 @@ dependencies = [ "cfg-if", "libc", "psm", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -8666,7 +8643,7 @@ dependencies = [ "getrandom 0.3.2", "once_cell", "rustix 1.0.3", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index b8fcef5651..3ab70b098f 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -18,7 +18,7 @@ serde = { version = "1.0.198", features = ["derive"] } serde_json = "1.0.116" futures = "0.3.30" -scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.1.0-rc.11", package = "scroll-zkvm-prover" } +scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.2.0", package = "scroll-zkvm-prover" } ethers-core = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } ethers-providers = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", branch = "feat/openvm-euclid-v2", features = [ From d1138653e04f735fee0f9489b1f8d0819e475a5f Mon Sep 17 00:00:00 2001 From: Velaciela Date: Fri, 28 Mar 2025 19:37:56 +0800 Subject: [PATCH 085/132] upgrade stark-gpu crate --- zkvm-prover/Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index 2fd0816f9e..56f10cbb5a 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -5024,7 +5024,7 @@ dependencies = [ [[package]] name = "openvm-stark-backend" version = "1.0.0-rc.2" -source = "git+ssh://git@github.com/scroll-tech/openvm-stark-gpu.git?branch=main#f9c6b4c74d28debcab45ac4eb699c3a194beb307" +source = "git+ssh://git@github.com/scroll-tech/openvm-stark-gpu.git?branch=main#1baaa78b1b2d707d41a55ea0920d2555222d3108" dependencies = [ "bitcode", "cfg-if", @@ -5053,7 +5053,7 @@ dependencies = [ [[package]] name = "openvm-stark-sdk" version = "1.0.0-rc.2" -source = "git+ssh://git@github.com/scroll-tech/openvm-stark-gpu.git?branch=main#f9c6b4c74d28debcab45ac4eb699c3a194beb307" +source = "git+ssh://git@github.com/scroll-tech/openvm-stark-gpu.git?branch=main#1baaa78b1b2d707d41a55ea0920d2555222d3108" dependencies = [ "derivative", "derive_more 0.99.19", From de9a3975c07604e385a751ef3eb124c61b52f9f2 Mon Sep 17 00:00:00 2001 From: Morty Date: Mon, 31 Mar 2025 15:27:14 +0800 Subject: [PATCH 086/132] feat: add config to enable submit with/without proof --- permissionless-batches/conf/relayer/config.json | 3 ++- rollup/cmd/permissionless_batches/app/app.go | 2 +- rollup/internal/config/recovery.go | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/permissionless-batches/conf/relayer/config.json b/permissionless-batches/conf/relayer/config.json index 3b06b6dcc3..ed07243b7f 100644 --- a/permissionless-batches/conf/relayer/config.json +++ b/permissionless-batches/conf/relayer/config.json @@ -50,6 +50,7 @@ "latest_finalized_batch": , "l2_block_height_limit": , "force_latest_finalized_batch": false, - "force_l1_message_count": 0 + "force_l1_message_count": 0, + "submit_without_proof": false } } diff --git a/rollup/cmd/permissionless_batches/app/app.go b/rollup/cmd/permissionless_batches/app/app.go index de9c7ff09a..c966957cd9 100644 --- a/rollup/cmd/permissionless_batches/app/app.go +++ b/rollup/cmd/permissionless_batches/app/app.go @@ -110,7 +110,7 @@ func action(ctx *cli.Context) error { if err != nil { return fmt.Errorf("failed to create submitter: %w", err) } - if err = submitter.Submit(false); err != nil { + if err = submitter.Submit(!cfg.RecoveryConfig.SubmitWithoutProof); err != nil { return fmt.Errorf("failed to submit batch: %w", err) } diff --git a/rollup/internal/config/recovery.go b/rollup/internal/config/recovery.go index 34b1f82062..3cb5783148 100644 --- a/rollup/internal/config/recovery.go +++ b/rollup/internal/config/recovery.go @@ -10,4 +10,5 @@ type RecoveryConfig struct { L2BlockHeightLimit uint64 `json:"l2_block_height_limit"` ForceL1MessageCount uint64 `json:"force_l1_message_count"` + SubmitWithoutProof bool `json:"submit_without_proof"` } From 0df9ede841315c1e4daa2328acbe817a12360a6c Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Mon, 31 Mar 2025 19:24:09 +0800 Subject: [PATCH 087/132] temporarily mask challenge digest --- common/types/message/message.go | 2 +- coordinator/internal/logic/provertask/batch_prover_task.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index 6b69ce00cc..11f4d97311 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -106,7 +106,7 @@ type BatchTaskDetail struct { BlobBytes []byte `json:"blob_bytes"` KzgProof Byte48 `json:"kzg_proof,omitempty"` KzgCommitment Byte48 `json:"kzg_commitment,omitempty"` - ChallengeDigest common.Hash `json:"challenge_digest,omitempty"` + ChallengeDigest *common.Hash `json:"challenge_digest,omitempty"` } // BundleTaskDetail consists of all the information required to describe the task to generate a proof for a bundle of batches. diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 5103530760..ca52f31c53 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -288,7 +288,7 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []* } taskDetail.BatchHeader = batchHeader taskDetail.BlobBytes = dbBatch.BlobBytes - taskDetail.ChallengeDigest = common.HexToHash(dbBatch.ChallengeDigest) + // taskDetail.ChallengeDigest = common.HexToHash(dbBatch.ChallengeDigest) // Memory layout of `BlobDataProof`: used in Codec.BlobDataProofForPointEvaluation() // | z | y | kzg_commitment | kzg_proof | // |---------|---------|----------------|-----------| From 4c4cff0ca4a454af5cf8680b713f61fc92e72354 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Mon, 31 Mar 2025 20:04:22 +0800 Subject: [PATCH 088/132] temporarily mask KzgProof --- common/types/message/message.go | 12 ++++++------ .../internal/logic/provertask/batch_prover_task.go | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index 11f4d97311..e9add354bb 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -99,12 +99,12 @@ func (e *Byte48) UnmarshalJSON(input []byte) error { // BatchTaskDetail is a type containing BatchTask detail. type BatchTaskDetail struct { // use one of the string of EuclidFork / EuclidV2Fork - ForkName string `json:"fork_name"` - ChunkInfos []*ChunkInfo `json:"chunk_infos"` - ChunkProofs []ChunkProof `json:"chunk_proofs"` - BatchHeader interface{} `json:"batch_header"` - BlobBytes []byte `json:"blob_bytes"` - KzgProof Byte48 `json:"kzg_proof,omitempty"` + ForkName string `json:"fork_name"` + ChunkInfos []*ChunkInfo `json:"chunk_infos"` + ChunkProofs []ChunkProof `json:"chunk_proofs"` + BatchHeader interface{} `json:"batch_header"` + BlobBytes []byte `json:"blob_bytes"` + // KzgProof Byte48 `json:"kzg_proof,omitempty"` KzgCommitment Byte48 `json:"kzg_commitment,omitempty"` ChallengeDigest *common.Hash `json:"challenge_digest,omitempty"` } diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index ca52f31c53..9b0e78c199 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -293,7 +293,7 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []* // | z | y | kzg_commitment | kzg_proof | // |---------|---------|----------------|-----------| // | bytes32 | bytes32 | bytes48 | bytes48 | - taskDetail.KzgProof = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[112:160]))} + // taskDetail.KzgProof = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[112:160]))} taskDetail.KzgCommitment = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[64:112]))} return taskDetail, nil From e04eaa96078dfad76ef4f9665a2a416d52722f20 Mon Sep 17 00:00:00 2001 From: Morty Date: Mon, 31 Mar 2025 22:33:34 +0800 Subject: [PATCH 089/132] Add log when GetBlobByVersionedHashAndBlockTime --- permissionless-batches/docker-compose.yml | 3 ++- .../controller/permissionless_batches/minimal_recovery.go | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/permissionless-batches/docker-compose.yml b/permissionless-batches/docker-compose.yml index dca785c1fd..7857bff00f 100644 --- a/permissionless-batches/docker-compose.yml +++ b/permissionless-batches/docker-compose.yml @@ -5,11 +5,12 @@ services: build: context: ../ dockerfile: build/dockerfiles/recovery_permissionless_batches.Dockerfile + network_mode: host container_name: permissionless-batches-relayer volumes: - ./conf/relayer/config.json:/app/conf/config.json - ./conf/genesis.json:/app/conf/genesis.json - command: "--config /app/conf/config.json" + command: "--config /app/conf/config.json --min-codec-version 0" profiles: - batch-production-submission depends_on: diff --git a/rollup/internal/controller/permissionless_batches/minimal_recovery.go b/rollup/internal/controller/permissionless_batches/minimal_recovery.go index 0e323ed238..fc72e8fa3c 100644 --- a/rollup/internal/controller/permissionless_batches/minimal_recovery.go +++ b/rollup/internal/controller/permissionless_batches/minimal_recovery.go @@ -388,6 +388,7 @@ func (r *MinimalRecovery) decodeLatestFinalizedBatch(reader *l1.Reader, event *l blobClient.AddBlobClient(client) } + log.Info("Getting blob by versioned hash and block time", "TargetBlobVersionedHash", targetBlobVersionedHash, "BlockTime", blockHeader.Time, "BlockNumber", blockHeader.Number) blob, err := blobClient.GetBlobByVersionedHashAndBlockTime(r.ctx, targetBlobVersionedHash, blockHeader.Time) if err != nil { return nil, nil, fmt.Errorf("failed to get blob by versioned hash and block time for batch %d: %w", event.BatchIndex(), err) From 80af42695d24e61ea67e140da2430eb7118af5ce Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Mon, 31 Mar 2025 23:45:28 +0800 Subject: [PATCH 090/132] unmask cross-check fields and update scroll-proving-sdk deps --- common/types/message/message.go | 14 +++++++------- .../logic/provertask/batch_prover_task.go | 4 ++-- zkvm-prover/Cargo.lock | 16 ++++++++-------- zkvm-prover/Cargo.toml | 2 +- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/common/types/message/message.go b/common/types/message/message.go index e9add354bb..6b69ce00cc 100644 --- a/common/types/message/message.go +++ b/common/types/message/message.go @@ -99,14 +99,14 @@ func (e *Byte48) UnmarshalJSON(input []byte) error { // BatchTaskDetail is a type containing BatchTask detail. type BatchTaskDetail struct { // use one of the string of EuclidFork / EuclidV2Fork - ForkName string `json:"fork_name"` - ChunkInfos []*ChunkInfo `json:"chunk_infos"` - ChunkProofs []ChunkProof `json:"chunk_proofs"` - BatchHeader interface{} `json:"batch_header"` - BlobBytes []byte `json:"blob_bytes"` - // KzgProof Byte48 `json:"kzg_proof,omitempty"` + ForkName string `json:"fork_name"` + ChunkInfos []*ChunkInfo `json:"chunk_infos"` + ChunkProofs []ChunkProof `json:"chunk_proofs"` + BatchHeader interface{} `json:"batch_header"` + BlobBytes []byte `json:"blob_bytes"` + KzgProof Byte48 `json:"kzg_proof,omitempty"` KzgCommitment Byte48 `json:"kzg_commitment,omitempty"` - ChallengeDigest *common.Hash `json:"challenge_digest,omitempty"` + ChallengeDigest common.Hash `json:"challenge_digest,omitempty"` } // BundleTaskDetail consists of all the information required to describe the task to generate a proof for a bundle of batches. diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 9b0e78c199..5103530760 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -288,12 +288,12 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkInfos []* } taskDetail.BatchHeader = batchHeader taskDetail.BlobBytes = dbBatch.BlobBytes - // taskDetail.ChallengeDigest = common.HexToHash(dbBatch.ChallengeDigest) + taskDetail.ChallengeDigest = common.HexToHash(dbBatch.ChallengeDigest) // Memory layout of `BlobDataProof`: used in Codec.BlobDataProofForPointEvaluation() // | z | y | kzg_commitment | kzg_proof | // |---------|---------|----------------|-----------| // | bytes32 | bytes32 | bytes48 | bytes48 | - // taskDetail.KzgProof = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[112:160]))} + taskDetail.KzgProof = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[112:160]))} taskDetail.KzgCommitment = message.Byte48{Big: hexutil.Big(*new(big.Int).SetBytes(dbBatch.BlobDataProof[64:112]))} return taskDetail, nil diff --git a/zkvm-prover/Cargo.lock b/zkvm-prover/Cargo.lock index 56f10cbb5a..00ee2e80f7 100644 --- a/zkvm-prover/Cargo.lock +++ b/zkvm-prover/Cargo.lock @@ -1531,7 +1531,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2157,7 +2157,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -6055,7 +6055,7 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -7475,7 +7475,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -7488,7 +7488,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.9.3", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -7793,7 +7793,7 @@ dependencies = [ [[package]] name = "scroll-proving-sdk" version = "0.1.0" -source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?branch=feat%2Fopenvm-euclid-v2#2a6c3d4b6d71ea3539b7efff7c529b06724409fa" +source = "git+https://github.com/scroll-tech/scroll-proving-sdk.git?branch=main#3e673acb63d2506beec2fec340ed2288f290327f" dependencies = [ "alloy", "anyhow", @@ -8387,7 +8387,7 @@ dependencies = [ "cfg-if", "libc", "psm", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -8643,7 +8643,7 @@ dependencies = [ "getrandom 0.3.2", "once_cell", "rustix 1.0.3", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] diff --git a/zkvm-prover/Cargo.toml b/zkvm-prover/Cargo.toml index 3ab70b098f..22bce3ec16 100644 --- a/zkvm-prover/Cargo.toml +++ b/zkvm-prover/Cargo.toml @@ -21,7 +21,7 @@ futures = "0.3.30" scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.2.0", package = "scroll-zkvm-prover" } ethers-core = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } ethers-providers = { git = "https://github.com/scroll-tech/ethers-rs.git", branch = "v2.0.7" } -scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", branch = "feat/openvm-euclid-v2", features = [ +scroll-proving-sdk = { git = "https://github.com/scroll-tech/scroll-proving-sdk.git", branch = "main", features = [ "openvm", ] } sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "zkvm/euclid-upgrade", features = [ From 38af170acc93785d31a373711d9be9bc4196ba4c Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Tue, 1 Apr 2025 06:17:30 +0000 Subject: [PATCH 091/132] =?UTF-8?q?chore:=20auto=20version=20bump=E2=80=89?= =?UTF-8?q?[bot]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/version/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/version/version.go b/common/version/version.go index 4b56e16a49..f23a398ffa 100644 --- a/common/version/version.go +++ b/common/version/version.go @@ -5,7 +5,7 @@ import ( "runtime/debug" ) -var tag = "v4.4.99" +var tag = "v4.4.100" var commit = func() string { if info, ok := debug.ReadBuildInfo(); ok { From 445b6bf7f7e1a8d7a0abb4257633990b7ffe5b01 Mon Sep 17 00:00:00 2001 From: Morty Date: Tue, 1 Apr 2025 17:01:19 +0800 Subject: [PATCH 092/132] update docker compose --- permissionless-batches/Makefile | 13 +++++ .../conf/proving-service/config.json | 31 ++++++------ permissionless-batches/docker-compose.yml | 48 +++++++------------ .../minimal_recovery.go | 2 +- 4 files changed, 44 insertions(+), 50 deletions(-) create mode 100644 permissionless-batches/Makefile diff --git a/permissionless-batches/Makefile b/permissionless-batches/Makefile new file mode 100644 index 0000000000..ff7360ebbe --- /dev/null +++ b/permissionless-batches/Makefile @@ -0,0 +1,13 @@ +.PHONY: batch-production-submission launch_local_prover launch_cloud_prover + +IMAGE_VERSION=latest +REPO_ROOT_DIR=./.. + +batch_production_submission: + docker compose --profile batch-production-submission up + +launch_local_prover: + docker compose --profile cloud-prover up + +launch_cloud_prover: + docker compose --profile local-prover up \ No newline at end of file diff --git a/permissionless-batches/conf/proving-service/config.json b/permissionless-batches/conf/proving-service/config.json index de7fc9334c..a43a428913 100644 --- a/permissionless-batches/conf/proving-service/config.json +++ b/permissionless-batches/conf/proving-service/config.json @@ -1,26 +1,23 @@ { - "prover_name_prefix": "prover_", - "keys_dir": "/app/", - "db_path": "/app/", + "prover_name_prefix": "prover", + "keys_dir": "keys", "coordinator": { "base_url": "http://coordinator:8390", - "retry_count": 3, - "retry_wait_time_sec": 5, - "connection_timeout_sec": 60 + "retry_count": 10, + "retry_wait_time_sec": 10, + "connection_timeout_sec": 30 }, "l2geth": { "endpoint": "" }, "prover": { "circuit_type": 2, - "circuit_version": "v0.13.1", - "n_workers": 1, - "cloud": { - "base_url": "https://sindri.app/api/v1/", - "api_key": "", - "retry_count": 3, - "retry_wait_time_sec": 5, - "connection_timeout_sec": 60 - } - } -} \ No newline at end of file + "supported_proof_types": [ + 1, + 2, + 3 + ], + "circuit_version": "v0.13.1" + }, + "db_path": "db" +} diff --git a/permissionless-batches/docker-compose.yml b/permissionless-batches/docker-compose.yml index 7857bff00f..a230c99ee5 100644 --- a/permissionless-batches/docker-compose.yml +++ b/permissionless-batches/docker-compose.yml @@ -42,7 +42,8 @@ services: - ./conf/genesis.json:/app/conf/genesis.json command: "--config /app/conf/config.json --http.port 8390 --verbosity 5" profiles: - - proving + - local-prover + - cloud-prover depends_on: db: condition: service_healthy @@ -61,22 +62,24 @@ services: - ./conf/coordinator/:/app/conf command: "--config /app/conf/config.json --verbosity 3" profiles: - - proving + - local-prover + - cloud-prover depends_on: db: condition: service_healthy - - proving-service-chunk: - image: scrolltech/sdk-cloud-prover:sindri-v0.0.5 + local-prover: + image: scrolltech/cuda-prover:v4.4.98-d1138653-5854f81-0cebd85 platform: linux/amd64 + runtime: nvidia command: "--config /app/config.json" profiles: - - proving + - local-prover environment: - PROVER_NAME_PREFIX: "sindri_chunk" - CIRCUIT_TYPE: 1 # 1 for chunk proving - N_WORKERS: 1 + - LD_LIBRARY_PATH=/prover:/usr/local/cuda/lib64 + - RUST_MIN_STACK=16777216 + - RUST_BACKTRACE=1 + - RUST_LOG=info volumes: - ./conf/proving-service/chunk/:/app/ - ./conf/proving-service/config.json:/app/config.json @@ -84,35 +87,16 @@ services: coordinator: condition: service_healthy - proving-service-batch: - image: scrolltech/sdk-cloud-prover:sindri-v0.0.5 - platform: linux/amd64 - command: "--config /app/config.json" - profiles: - - proving - environment: - PROVER_NAME_PREFIX: "sindri_batch" - CIRCUIT_TYPE: 2 # 2 for batch proving - N_WORKERS: 1 - volumes: - - ./conf/proving-service/batch/:/app - - ./conf/proving-service/config.json:/app/config.json - depends_on: - coordinator: - condition: service_healthy - - proving-service-bundle: + cloud-prover: image: scrolltech/sdk-cloud-prover:sindri-v0.0.5 platform: linux/amd64 command: "--config /app/config.json" profiles: - - proving + - cloud-prover environment: - PROVER_NAME_PREFIX: "sindri_bundle" - CIRCUIT_TYPE: 3 # 3 for bundle proving - N_WORKERS: 1 + - N_WORKERS=1 volumes: - - ./conf/proving-service/bundle/:/app + - ./conf/proving-service/chunk/:/app/ - ./conf/proving-service/config.json:/app/config.json depends_on: coordinator: diff --git a/rollup/internal/controller/permissionless_batches/minimal_recovery.go b/rollup/internal/controller/permissionless_batches/minimal_recovery.go index fc72e8fa3c..85251d2626 100644 --- a/rollup/internal/controller/permissionless_batches/minimal_recovery.go +++ b/rollup/internal/controller/permissionless_batches/minimal_recovery.go @@ -388,7 +388,7 @@ func (r *MinimalRecovery) decodeLatestFinalizedBatch(reader *l1.Reader, event *l blobClient.AddBlobClient(client) } - log.Info("Getting blob by versioned hash and block time", "TargetBlobVersionedHash", targetBlobVersionedHash, "BlockTime", blockHeader.Time, "BlockNumber", blockHeader.Number) + log.Info("Fetching blob by versioned hash and block time", "TargetBlobVersionedHash", targetBlobVersionedHash, "BlockTime", blockHeader.Time, "BlockNumber", blockHeader.Number) blob, err := blobClient.GetBlobByVersionedHashAndBlockTime(r.ctx, targetBlobVersionedHash, blockHeader.Time) if err != nil { return nil, nil, fmt.Errorf("failed to get blob by versioned hash and block time for batch %d: %w", event.BatchIndex(), err) From db65d8d7598789fe5d6141b571a7398c2c2e0c36 Mon Sep 17 00:00:00 2001 From: Morty Date: Tue, 1 Apr 2025 17:22:02 +0800 Subject: [PATCH 093/132] update docker compose --- .../conf/proving-service/batch/.gitkeep | 0 .../conf/proving-service/bundle/.gitkeep | 0 .../conf/proving-service/chunk/.gitkeep | 0 .../conf/proving-service/config.json | 23 ------------------- permissionless-batches/docker-compose.yml | 5 ++-- 5 files changed, 2 insertions(+), 26 deletions(-) delete mode 100644 permissionless-batches/conf/proving-service/batch/.gitkeep delete mode 100644 permissionless-batches/conf/proving-service/bundle/.gitkeep delete mode 100644 permissionless-batches/conf/proving-service/chunk/.gitkeep delete mode 100644 permissionless-batches/conf/proving-service/config.json diff --git a/permissionless-batches/conf/proving-service/batch/.gitkeep b/permissionless-batches/conf/proving-service/batch/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/permissionless-batches/conf/proving-service/bundle/.gitkeep b/permissionless-batches/conf/proving-service/bundle/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/permissionless-batches/conf/proving-service/chunk/.gitkeep b/permissionless-batches/conf/proving-service/chunk/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/permissionless-batches/conf/proving-service/config.json b/permissionless-batches/conf/proving-service/config.json deleted file mode 100644 index a43a428913..0000000000 --- a/permissionless-batches/conf/proving-service/config.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "prover_name_prefix": "prover", - "keys_dir": "keys", - "coordinator": { - "base_url": "http://coordinator:8390", - "retry_count": 10, - "retry_wait_time_sec": 10, - "connection_timeout_sec": 30 - }, - "l2geth": { - "endpoint": "" - }, - "prover": { - "circuit_type": 2, - "supported_proof_types": [ - 1, - 2, - 3 - ], - "circuit_version": "v0.13.1" - }, - "db_path": "db" -} diff --git a/permissionless-batches/docker-compose.yml b/permissionless-batches/docker-compose.yml index a230c99ee5..f977fb3c30 100644 --- a/permissionless-batches/docker-compose.yml +++ b/permissionless-batches/docker-compose.yml @@ -72,7 +72,6 @@ services: image: scrolltech/cuda-prover:v4.4.98-d1138653-5854f81-0cebd85 platform: linux/amd64 runtime: nvidia - command: "--config /app/config.json" profiles: - local-prover environment: @@ -81,8 +80,8 @@ services: - RUST_BACKTRACE=1 - RUST_LOG=info volumes: - - ./conf/proving-service/chunk/:/app/ - - ./conf/proving-service/config.json:/app/config.json + - ./conf/proving-service/local-prover/openvm:/openvm + - ./conf/proving-service/local-prover/config.json:/prover/conf/config.json:ro depends_on: coordinator: condition: service_healthy From f045984c991bc35e32bd1b01d35d2d8e995c2445 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Tue, 1 Apr 2025 18:36:31 +0800 Subject: [PATCH 094/132] update da-codec deps --- coordinator/go.mod | 2 +- coordinator/go.sum | 4 ++-- go.work.sum | 4 ++-- rollup/go.mod | 2 +- rollup/go.sum | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/coordinator/go.mod b/coordinator/go.mod index 64e9ba1303..d99242556e 100644 --- a/coordinator/go.mod +++ b/coordinator/go.mod @@ -9,7 +9,7 @@ require ( github.com/google/uuid v1.6.0 github.com/mitchellh/mapstructure v1.5.0 github.com/prometheus/client_golang v1.19.0 - github.com/scroll-tech/da-codec v0.1.3-0.20250328105417-4d1233d2569b + github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601 github.com/shopspring/decimal v1.3.1 github.com/stretchr/testify v1.10.0 diff --git a/coordinator/go.sum b/coordinator/go.sum index f7f46524ef..a4777cd1b1 100644 --- a/coordinator/go.sum +++ b/coordinator/go.sum @@ -177,8 +177,8 @@ github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/scroll-tech/da-codec v0.1.3-0.20250328105417-4d1233d2569b h1:9yV268g1ejAabKCidmCbiRflqKOIErKjO85gDKzhsF8= -github.com/scroll-tech/da-codec v0.1.3-0.20250328105417-4d1233d2569b/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= +github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 h1:Ioc01J0WEMxuwFvEPGJeBKXdf2KY4Yc3XbFky/IxLlI= +github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601 h1:NEsjCG6uSvLRBlsP3+x6PL1kM+Ojs3g8UGotIPgJSz8= github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601/go.mod h1:OblWe1+QrZwdpwO0j/LY3BSGuKT3YPUFBDQQgvvfStQ= github.com/scroll-tech/zktrie v0.8.4 h1:UagmnZ4Z3ITCk+aUq9NQZJNAwnWl4gSxsLb2Nl7IgRE= diff --git a/go.work.sum b/go.work.sum index 1b9fd1ee1d..f252c743d6 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1357,13 +1357,13 @@ github.com/scroll-tech/da-codec v0.1.1-0.20241014152913-2703f226fb0b h1:5H6V6yba github.com/scroll-tech/da-codec v0.1.1-0.20241014152913-2703f226fb0b/go.mod h1:48uxaqVgpD8ulH8p+nrBtfeLHZ9tX82bVVdPNkW3rPE= github.com/scroll-tech/da-codec v0.1.3-0.20250227072756-a1482833595f h1:YYbhuUwjowqI4oyXtECRofck7Fyj18e1tcRjuQlZpJE= github.com/scroll-tech/da-codec v0.1.3-0.20250227072756-a1482833595f/go.mod h1:xECEHZLVzbdUn+tNbRJhRIjLGTOTmnFQuTgUTeVLX58= +github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 h1:Ioc01J0WEMxuwFvEPGJeBKXdf2KY4Yc3XbFky/IxLlI= +github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= github.com/scroll-tech/go-ethereum v1.10.14-0.20240607130425-e2becce6a1a4/go.mod h1:byf/mZ8jLYUCnUePTicjJWn+RvKdxDn7buS6glTnMwQ= github.com/scroll-tech/go-ethereum v1.10.14-0.20240821074444-b3fa00861e5e/go.mod h1:swB5NSp8pKNDuYsTxfR08bHS6L56i119PBx8fxvV8Cs= github.com/scroll-tech/go-ethereum v1.10.14-0.20241010064814-3d88e870ae22/go.mod h1:r9FwtxCtybMkTbWYCyBuevT9TW3zHmOTHqD082Uh+Oo= github.com/scroll-tech/go-ethereum v1.10.14-0.20250206083728-ea43834c198f/go.mod h1:Ik3OBLl7cJxPC+CFyCBYNXBPek4wpdzkWehn/y5qLM8= github.com/scroll-tech/go-ethereum v1.10.14-0.20250225152658-bcfdb48dd939/go.mod h1:AgU8JJxC7+nfs7R7ma35AU7dMAGW7wCw3dRZRefIKyQ= -github.com/scroll-tech/go-ethereum v1.10.14-0.20250305084331-57148478e950 h1:qfOaRflvH1vtnFWloB7BveKlP/VqYgMqLJ6e9TlBJ/8= -github.com/scroll-tech/go-ethereum v1.10.14-0.20250305084331-57148478e950/go.mod h1:OblWe1+QrZwdpwO0j/LY3BSGuKT3YPUFBDQQgvvfStQ= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= diff --git a/rollup/go.mod b/rollup/go.mod index 5d622d5b06..d06be48597 100644 --- a/rollup/go.mod +++ b/rollup/go.mod @@ -11,7 +11,7 @@ require ( github.com/holiman/uint256 v1.3.2 github.com/mitchellh/mapstructure v1.5.0 github.com/prometheus/client_golang v1.16.0 - github.com/scroll-tech/da-codec v0.1.3-0.20250328105417-4d1233d2569b + github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601 github.com/smartystreets/goconvey v1.8.0 github.com/spf13/viper v1.19.0 diff --git a/rollup/go.sum b/rollup/go.sum index 79862a6363..e87d0e6980 100644 --- a/rollup/go.sum +++ b/rollup/go.sum @@ -249,8 +249,8 @@ github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6ke github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= -github.com/scroll-tech/da-codec v0.1.3-0.20250328105417-4d1233d2569b h1:9yV268g1ejAabKCidmCbiRflqKOIErKjO85gDKzhsF8= -github.com/scroll-tech/da-codec v0.1.3-0.20250328105417-4d1233d2569b/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= +github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 h1:Ioc01J0WEMxuwFvEPGJeBKXdf2KY4Yc3XbFky/IxLlI= +github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601 h1:NEsjCG6uSvLRBlsP3+x6PL1kM+Ojs3g8UGotIPgJSz8= github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601/go.mod h1:OblWe1+QrZwdpwO0j/LY3BSGuKT3YPUFBDQQgvvfStQ= github.com/scroll-tech/zktrie v0.8.4 h1:UagmnZ4Z3ITCk+aUq9NQZJNAwnWl4gSxsLb2Nl7IgRE= From c3c733c1518183b08eff1f69d93af2635885073f Mon Sep 17 00:00:00 2001 From: Morty Date: Tue, 1 Apr 2025 20:00:00 +0800 Subject: [PATCH 095/132] update docker compose --- .../conf/coordinator/assets/.gitkeep | 0 .../conf/coordinator/config.json | 31 +++++++++---------- .../conf/coordinator/params/.gitkeep | 0 permissionless-batches/docker-compose.yml | 19 ++++++++---- 4 files changed, 28 insertions(+), 22 deletions(-) delete mode 100644 permissionless-batches/conf/coordinator/assets/.gitkeep delete mode 100644 permissionless-batches/conf/coordinator/params/.gitkeep diff --git a/permissionless-batches/conf/coordinator/assets/.gitkeep b/permissionless-batches/conf/coordinator/assets/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/permissionless-batches/conf/coordinator/config.json b/permissionless-batches/conf/coordinator/config.json index fd38cc25f4..8fc24ee79e 100644 --- a/permissionless-batches/conf/coordinator/config.json +++ b/permissionless-batches/conf/coordinator/config.json @@ -1,23 +1,22 @@ { "prover_manager": { "provers_per_session": 1, - "session_attempts": 5, - "bundle_collection_time_sec": 3600, - "batch_collection_time_sec": 3600, - "chunk_collection_time_sec": 3600, + "session_attempts": 100, + "chunk_collection_time_sec": 36000, + "batch_collection_time_sec": 2700, + "bundle_collection_time_sec": 2700, "verifier": { "mock_mode": false, - "low_version_circuit": { - "params_path": "./conf/params", - "assets_path": "./conf/assets", - "fork_name": "darwinV2", - "min_prover_version": "v4.4.55" - }, - "high_version_circuit": { - "params_path": "./conf/params", - "assets_path": "./conf/assets", + "low_version_circuit" : { "fork_name": "darwinV2", + "params_path": "/verifier/params", + "assets_path": "/verifier/assets", "min_prover_version": "v4.4.56" + }, + "high_version_circuit" : { + "fork_name": "euclid", + "assets_path": "/verifier/openvm/verifier", + "min_prover_version": "v4.4.98" } } }, @@ -28,11 +27,11 @@ "maxIdleNum": 20 }, "l2": { - "chain_id": 111 + "chain_id": 333333 }, "auth": { - "secret": "prover secret key", - "challenge_expire_duration_sec": 3600, + "secret": "e788b62d39254928a821ac1c76b274a8c835aa1e20ecfb6f50eb10e87847de44", + "challenge_expire_duration_sec": 10, "login_expire_duration_sec": 3600 } } diff --git a/permissionless-batches/conf/coordinator/params/.gitkeep b/permissionless-batches/conf/coordinator/params/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/permissionless-batches/docker-compose.yml b/permissionless-batches/docker-compose.yml index f977fb3c30..c876d6a8e0 100644 --- a/permissionless-batches/docker-compose.yml +++ b/permissionless-batches/docker-compose.yml @@ -33,17 +33,23 @@ services: ports: - "5432:5432" - coordinator: + coordinator-api: build: context: ../ dockerfile: build/dockerfiles/coordinator-api.Dockerfile volumes: - - ./conf/coordinator/config.json:/app/conf/config.json - - ./conf/genesis.json:/app/conf/genesis.json - command: "--config /app/conf/config.json --http.port 8390 --verbosity 5" + - ./conf/coordinator/config.json:/coordinator/config.json + - ./conf/genesis.json:/coordinator/genesis.json + - ./conf/coordinator/coordinator_run.sh:/bin/coordinator_run.sh + command: ["bash", "/bin/coordinator_run.sh"] profiles: - local-prover - cloud-prover + ports: [8555:8555] + environment: + - SCROLL_PROVER_ASSETS_DIR=/verifier/assets/ + - HTTP_PORT=8555 + - METRICS_PORT=8390 depends_on: db: condition: service_healthy @@ -59,7 +65,7 @@ services: context: ../ dockerfile: build/dockerfiles/coordinator-cron.Dockerfile volumes: - - ./conf/coordinator/:/app/conf + - ./conf/coordinator/config.json:/app/conf/config.json command: "--config /app/conf/config.json --verbosity 3" profiles: - local-prover @@ -72,6 +78,7 @@ services: image: scrolltech/cuda-prover:v4.4.98-d1138653-5854f81-0cebd85 platform: linux/amd64 runtime: nvidia + command: ["bash", "/bin/prover_run.sh"] profiles: - local-prover environment: @@ -80,8 +87,8 @@ services: - RUST_BACKTRACE=1 - RUST_LOG=info volumes: - - ./conf/proving-service/local-prover/openvm:/openvm - ./conf/proving-service/local-prover/config.json:/prover/conf/config.json:ro + - ./conf/proving-service/local-prover/prover_run.sh:/bin/prover_run.sh depends_on: coordinator: condition: service_healthy From a808f4bbbf0361a0de1e7db050bb0e51f1258e9b Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 2 Apr 2025 01:27:26 +0800 Subject: [PATCH 096/132] update docker compose --- permissionless-batches/conf/relayer/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/permissionless-batches/conf/relayer/config.json b/permissionless-batches/conf/relayer/config.json index ed07243b7f..ebe10b0a4c 100644 --- a/permissionless-batches/conf/relayer/config.json +++ b/permissionless-batches/conf/relayer/config.json @@ -40,7 +40,7 @@ }, "db_config": { "driver_name": "postgres", - "dsn": "postgres://db/scroll?sslmode=disable&user=postgres", + "dsn": "postgres://172.17.0.1:5432/scroll?sslmode=disable&user=postgres", "maxOpenNum": 200, "maxIdleNum": 20 }, From 8b52ad545756b807e0e40119f77146d52efba3c7 Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 2 Apr 2025 01:31:05 +0800 Subject: [PATCH 097/132] fix: compose depends --- permissionless-batches/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/permissionless-batches/docker-compose.yml b/permissionless-batches/docker-compose.yml index c876d6a8e0..e9e9380c9c 100644 --- a/permissionless-batches/docker-compose.yml +++ b/permissionless-batches/docker-compose.yml @@ -90,7 +90,7 @@ services: - ./conf/proving-service/local-prover/config.json:/prover/conf/config.json:ro - ./conf/proving-service/local-prover/prover_run.sh:/bin/prover_run.sh depends_on: - coordinator: + coordinator-api: condition: service_healthy cloud-prover: @@ -105,7 +105,7 @@ services: - ./conf/proving-service/chunk/:/app/ - ./conf/proving-service/config.json:/app/config.json depends_on: - coordinator: + coordinator-api: condition: service_healthy volumes: From ec4b1bf14b04e430939eb04de768713f1076ff6d Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 2 Apr 2025 03:32:50 +0800 Subject: [PATCH 098/132] add coordinator_run.sh --- permissionless-batches/.gitignore | 1 - .../conf/coordinator/coordinator_run.sh | 118 ++++++++++++++++++ .../proving-service/cloud-prover/.gitkeep | 0 .../proving-service/cloud-prover/config.json | 23 ++++ .../proving-service/local-prover/config.json | 27 ++++ .../local-prover/prover_run.sh | 46 +++++++ permissionless-batches/docker-compose.yml | 2 +- 7 files changed, 215 insertions(+), 2 deletions(-) create mode 100644 permissionless-batches/conf/coordinator/coordinator_run.sh create mode 100644 permissionless-batches/conf/proving-service/cloud-prover/.gitkeep create mode 100644 permissionless-batches/conf/proving-service/cloud-prover/config.json create mode 100644 permissionless-batches/conf/proving-service/local-prover/config.json create mode 100644 permissionless-batches/conf/proving-service/local-prover/prover_run.sh diff --git a/permissionless-batches/.gitignore b/permissionless-batches/.gitignore index ac3d45c877..e69de29bb2 100644 --- a/permissionless-batches/.gitignore +++ b/permissionless-batches/.gitignore @@ -1 +0,0 @@ -conf/ \ No newline at end of file diff --git a/permissionless-batches/conf/coordinator/coordinator_run.sh b/permissionless-batches/conf/coordinator/coordinator_run.sh new file mode 100644 index 0000000000..e3fbda985a --- /dev/null +++ b/permissionless-batches/conf/coordinator/coordinator_run.sh @@ -0,0 +1,118 @@ +#!/usr/bin/sh + +if [ -z "${HTTP_PORT}" ]; then + echo "HTTP_PORT not set" + exit 1 +fi + +if [ -z "${METRICS_PORT}" ]; then + echo "METRICS_PORT not set" + exit 1 +fi + +case $CHAIN_ID in +"5343532222") # staging network + echo "staging network not supported" + exit 1 + ;; +"534353") # alpha network + echo "alpha network not supported" + exit 1 + ;; +esac + +BASE_DOWNLOAD_DIR="/verifier" +# Ensure the base directory exists +mkdir -p "$BASE_DOWNLOAD_DIR" + +# Set subdirectories +ASSETS_DIR="$BASE_DOWNLOAD_DIR/assets" +OPENVM_DIR="$BASE_DOWNLOAD_DIR/openvm" + +# Create necessary directories +mkdir -p "$ASSETS_DIR" +mkdir -p "$OPENVM_DIR/verifier" + +# Define URLs for asset files +ASSETS_CHECKSUM_URL="https://circuit-release.s3.us-west-2.amazonaws.com/release-v0.13.1/sha256sum" +ASSETS_CHECKSUM_FILE="$ASSETS_DIR/sha256sum" + +ASSETS_URLS=( + "https://circuit-release.s3.us-west-2.amazonaws.com/release-v0.13.1/vk_batch.vkey" + "https://circuit-release.s3.us-west-2.amazonaws.com/release-v0.13.1/vk_bundle.vkey" + "https://circuit-release.s3.us-west-2.amazonaws.com/release-v0.13.1/vk_chunk.vkey" +) + +# Define URLs for OpenVM files (No checksum verification) +OPENVM_URLS=( + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/verifier/verifier.bin" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/verifier/root-verifier-vm-config" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/verifier/root-verifier-committed-exe" +) + +# Function to download and verify files (skips existing valid files) +download_and_verify() { + local url="$1" + local dest_dir="$2" + local checksum_file="$3" + + local filename=$(basename "$url") + local filepath="$dest_dir/$filename" + + if [[ -f "$filepath" ]]; then + echo "Checking existing file: $filename..." + if grep "$filename" "$checksum_file" | sed "s|$filename|$filepath|" | sha256sum --check --status; then + echo "File is already present and valid ✅ - Skipping download." + return + else + echo "File exists but checksum mismatch ❌ - Re-downloading." + rm -f "$filepath" + fi + fi + + echo "Downloading $filename..." + curl -o "$filepath" -L "$url" + + if [[ ! -f "$filepath" ]]; then + echo "Download failed for $filename ❌" + exit 1 + fi + + echo "Verifying checksum for $filename..." + grep "$filename" "$checksum_file" | sed "s|$filename|$filepath|" | sha256sum --check --status || exit 1 + echo "Checksum verification passed for $filename ✅" +} + +# Download and verify asset files +curl -o "$ASSETS_CHECKSUM_FILE" -L "$ASSETS_CHECKSUM_URL" +for url in "${ASSETS_URLS[@]}"; do + download_and_verify "$url" "$ASSETS_DIR" "$ASSETS_CHECKSUM_FILE" +done + +# Download OpenVM files (No checksum verification, but skips if file exists) +for url in "${OPENVM_URLS[@]}"; do + dest_subdir="$OPENVM_DIR/$(basename $(dirname "$url"))" + mkdir -p "$dest_subdir" + + filepath="$dest_subdir/$(basename "$url")" + echo "Downloading $filepath..." + curl -o "$filepath" -L "$url" +done + +mkdir -p "$HOME/.openvm" +ln -s "$OPENVM_DIR/params" "$HOME/.openvm/params" + +echo "All files downloaded successfully! 🎉" + +mkdir -p /usr/local/bin +wget https://github.com/ethereum/solidity/releases/download/v0.8.19/solc-static-linux -O /usr/local/bin/solc +chmod +x /usr/local/bin/solc + +# Start coordinator +echo "Starting coordinator api" + +RUST_BACKTRACE=1 exec coordinator_api --config /coordinator/config.json \ + --genesis /coordinator/genesis.json \ + --http --http.addr "0.0.0.0" --http.port ${HTTP_PORT} \ + --metrics --metrics.addr "0.0.0.0" --metrics.port ${METRICS_PORT} \ + --log.debug diff --git a/permissionless-batches/conf/proving-service/cloud-prover/.gitkeep b/permissionless-batches/conf/proving-service/cloud-prover/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/permissionless-batches/conf/proving-service/cloud-prover/config.json b/permissionless-batches/conf/proving-service/cloud-prover/config.json new file mode 100644 index 0000000000..a43a428913 --- /dev/null +++ b/permissionless-batches/conf/proving-service/cloud-prover/config.json @@ -0,0 +1,23 @@ +{ + "prover_name_prefix": "prover", + "keys_dir": "keys", + "coordinator": { + "base_url": "http://coordinator:8390", + "retry_count": 10, + "retry_wait_time_sec": 10, + "connection_timeout_sec": 30 + }, + "l2geth": { + "endpoint": "" + }, + "prover": { + "circuit_type": 2, + "supported_proof_types": [ + 1, + 2, + 3 + ], + "circuit_version": "v0.13.1" + }, + "db_path": "db" +} diff --git a/permissionless-batches/conf/proving-service/local-prover/config.json b/permissionless-batches/conf/proving-service/local-prover/config.json new file mode 100644 index 0000000000..0cc4a78805 --- /dev/null +++ b/permissionless-batches/conf/proving-service/local-prover/config.json @@ -0,0 +1,27 @@ +{ + "sdk_config": { + "prover_name_prefix": "local_prover", + "keys_dir": "/prover/volume/keys", + "db_path": "/prover/volume/db/", + "coordinator": { + "base_url": "http://172.17.0.1:8556", + "retry_count": 10, + "retry_wait_time_sec": 10, + "connection_timeout_sec": 30 + }, + "l2geth": { + "endpoint": "http://172.17.0.1:9999" + }, + "prover": { + "circuit_type": 2, + "supported_proof_types": [1,2,3], + "circuit_version": "v0.13.1" + } + }, + "circuits": { + "euclidV2": { + "hard_fork_name": "euclidV2", + "workspace_path": "/openvm" + } + } +} \ No newline at end of file diff --git a/permissionless-batches/conf/proving-service/local-prover/prover_run.sh b/permissionless-batches/conf/proving-service/local-prover/prover_run.sh new file mode 100644 index 0000000000..f5d7643125 --- /dev/null +++ b/permissionless-batches/conf/proving-service/local-prover/prover_run.sh @@ -0,0 +1,46 @@ +#!/usr/bin/sh + +BASE_DOWNLOAD_DIR="/openvm" +# Ensure the base directory exists +mkdir -p "$BASE_DOWNLOAD_DIR" + +# Define URLs for OpenVM files (No checksum verification) +OPENVM_URLS=( + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/chunk/app.vmexe" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/chunk/openvm.toml" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/batch/app.vmexe" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/batch/openvm.toml" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/app.vmexe" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/app_euclidv1.vmexe" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/openvm.toml" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/verifier.bin" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/verifier.sol" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/digest_1.hex" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/digest_2.hex" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/digest_1_euclidv1.hex" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/digest_2_euclidv1.hex" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/params/kzg_bn254_22.srs" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/params/kzg_bn254_24.srs" +) + +# Download OpenVM files (No checksum verification, but skips if file exists) +for url in "${OPENVM_URLS[@]}"; do + dest_subdir="$BASE_DOWNLOAD_DIR/$(basename $(dirname "$url"))" + mkdir -p "$dest_subdir" + + filepath="$dest_subdir/$(basename "$url")" + echo "Downloading $filepath..." + curl -o "$filepath" -L "$url" +done + +mkdir -p "$HOME/.openvm" +ln -s "/openvm/params" "$HOME/.openvm/params" + +mkdir -p /usr/local/bin +wget https://github.com/ethereum/solidity/releases/download/v0.8.19/solc-static-linux -O /usr/local/bin/solc +chmod +x /usr/local/bin/solc + +mkdir -p /openvm/cache + +RUST_MIN_STACK=16777216 RUST_BACKTRACE=1 exec prover --config /config.json + diff --git a/permissionless-batches/docker-compose.yml b/permissionless-batches/docker-compose.yml index e9e9380c9c..d047179b2c 100644 --- a/permissionless-batches/docker-compose.yml +++ b/permissionless-batches/docker-compose.yml @@ -45,7 +45,7 @@ services: profiles: - local-prover - cloud-prover - ports: [8555:8555] + ports: [8556:8555] environment: - SCROLL_PROVER_ASSETS_DIR=/verifier/assets/ - HTTP_PORT=8555 From 6356c7900919ba7fa9e016d12c36946a537ad514 Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 2 Apr 2025 03:58:08 +0800 Subject: [PATCH 099/132] chmod exec coordinator_run.sh --- .../conf/coordinator/coordinator_run.sh | 0 .../conf/proving-service/local-prover/prover_run.sh | 0 permissionless-batches/docker-compose.yml | 8 ++++---- 3 files changed, 4 insertions(+), 4 deletions(-) mode change 100644 => 100755 permissionless-batches/conf/coordinator/coordinator_run.sh mode change 100644 => 100755 permissionless-batches/conf/proving-service/local-prover/prover_run.sh diff --git a/permissionless-batches/conf/coordinator/coordinator_run.sh b/permissionless-batches/conf/coordinator/coordinator_run.sh old mode 100644 new mode 100755 diff --git a/permissionless-batches/conf/proving-service/local-prover/prover_run.sh b/permissionless-batches/conf/proving-service/local-prover/prover_run.sh old mode 100644 new mode 100755 diff --git a/permissionless-batches/docker-compose.yml b/permissionless-batches/docker-compose.yml index d047179b2c..8cda4df5d9 100644 --- a/permissionless-batches/docker-compose.yml +++ b/permissionless-batches/docker-compose.yml @@ -38,10 +38,10 @@ services: context: ../ dockerfile: build/dockerfiles/coordinator-api.Dockerfile volumes: - - ./conf/coordinator/config.json:/coordinator/config.json - - ./conf/genesis.json:/coordinator/genesis.json + - ./conf/coordinator/config.json:/coordinator/config.json:ro + - ./conf/genesis.json:/coordinator/genesis.json:ro - ./conf/coordinator/coordinator_run.sh:/bin/coordinator_run.sh - command: ["bash", "/bin/coordinator_run.sh"] + entrypoint: /bin/coordinator_run.sh profiles: - local-prover - cloud-prover @@ -78,7 +78,7 @@ services: image: scrolltech/cuda-prover:v4.4.98-d1138653-5854f81-0cebd85 platform: linux/amd64 runtime: nvidia - command: ["bash", "/bin/prover_run.sh"] + entrypoint: /bin/prover_run.sh profiles: - local-prover environment: From bc05b878528e6c4ad7298d987ddf5b1996250025 Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 2 Apr 2025 04:11:21 +0800 Subject: [PATCH 100/132] update run.sh --- permissionless-batches/conf/coordinator/coordinator_run.sh | 5 ++++- .../conf/proving-service/local-prover/prover_run.sh | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/permissionless-batches/conf/coordinator/coordinator_run.sh b/permissionless-batches/conf/coordinator/coordinator_run.sh index e3fbda985a..75533d39cb 100755 --- a/permissionless-batches/conf/coordinator/coordinator_run.sh +++ b/permissionless-batches/conf/coordinator/coordinator_run.sh @@ -1,4 +1,7 @@ -#!/usr/bin/sh +#!/usr/bin/bash + +apt update +apt install -y wget libdigest-sha-perl if [ -z "${HTTP_PORT}" ]; then echo "HTTP_PORT not set" diff --git a/permissionless-batches/conf/proving-service/local-prover/prover_run.sh b/permissionless-batches/conf/proving-service/local-prover/prover_run.sh index f5d7643125..31713cd20d 100755 --- a/permissionless-batches/conf/proving-service/local-prover/prover_run.sh +++ b/permissionless-batches/conf/proving-service/local-prover/prover_run.sh @@ -1,4 +1,7 @@ -#!/usr/bin/sh +#!/usr/bin/bash + +apt update +apt install -y wget curl BASE_DOWNLOAD_DIR="/openvm" # Ensure the base directory exists From 52c9eab1d523cc0dc4cca697af83567cb2601a68 Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 2 Apr 2025 04:23:30 +0800 Subject: [PATCH 101/132] fix: prover_run.sh --- .../conf/proving-service/local-prover/prover_run.sh | 2 +- permissionless-batches/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/permissionless-batches/conf/proving-service/local-prover/prover_run.sh b/permissionless-batches/conf/proving-service/local-prover/prover_run.sh index 31713cd20d..f50926f724 100755 --- a/permissionless-batches/conf/proving-service/local-prover/prover_run.sh +++ b/permissionless-batches/conf/proving-service/local-prover/prover_run.sh @@ -45,5 +45,5 @@ chmod +x /usr/local/bin/solc mkdir -p /openvm/cache -RUST_MIN_STACK=16777216 RUST_BACKTRACE=1 exec prover --config /config.json +RUST_MIN_STACK=16777216 RUST_BACKTRACE=1 exec /prover/prover --config /prover/conf/config.json diff --git a/permissionless-batches/docker-compose.yml b/permissionless-batches/docker-compose.yml index 8cda4df5d9..c19dfef87c 100644 --- a/permissionless-batches/docker-compose.yml +++ b/permissionless-batches/docker-compose.yml @@ -54,7 +54,7 @@ services: db: condition: service_healthy healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8390/coordinator/v1/challenge"] + test: ["CMD", "curl", "-f", "http://localhost:8555/coordinator/v1/challenge"] interval: 1s timeout: 1s retries: 10 From 20a4c38753352dbb41c92d64541418e0133bd471 Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 2 Apr 2025 04:38:19 +0800 Subject: [PATCH 102/132] fix: prover db path --- .../conf/proving-service/local-prover/config.json | 4 ++-- permissionless-batches/docker-compose.yml | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/permissionless-batches/conf/proving-service/local-prover/config.json b/permissionless-batches/conf/proving-service/local-prover/config.json index 0cc4a78805..370a2b3a5c 100644 --- a/permissionless-batches/conf/proving-service/local-prover/config.json +++ b/permissionless-batches/conf/proving-service/local-prover/config.json @@ -1,8 +1,8 @@ { "sdk_config": { "prover_name_prefix": "local_prover", - "keys_dir": "/prover/volume/keys", - "db_path": "/prover/volume/db/", + "keys_dir": "/keys", + "db_path": "/db", "coordinator": { "base_url": "http://172.17.0.1:8556", "retry_count": 10, diff --git a/permissionless-batches/docker-compose.yml b/permissionless-batches/docker-compose.yml index c19dfef87c..6b26e105e1 100644 --- a/permissionless-batches/docker-compose.yml +++ b/permissionless-batches/docker-compose.yml @@ -89,6 +89,8 @@ services: volumes: - ./conf/proving-service/local-prover/config.json:/prover/conf/config.json:ro - ./conf/proving-service/local-prover/prover_run.sh:/bin/prover_run.sh + - ./conf/proving-service/local-prover/db:/db + - ./conf/proving-service/local-prover/keys:/keys depends_on: coordinator-api: condition: service_healthy From eb04383a8ac4bb2e3bffe8341441dddab2b1f496 Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 2 Apr 2025 04:52:18 +0800 Subject: [PATCH 103/132] fix: prover network mode --- permissionless-batches/docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/permissionless-batches/docker-compose.yml b/permissionless-batches/docker-compose.yml index 6b26e105e1..27c97e54a5 100644 --- a/permissionless-batches/docker-compose.yml +++ b/permissionless-batches/docker-compose.yml @@ -76,6 +76,7 @@ services: local-prover: image: scrolltech/cuda-prover:v4.4.98-d1138653-5854f81-0cebd85 + network_mode: host platform: linux/amd64 runtime: nvidia entrypoint: /bin/prover_run.sh From 83ba89238aa7e5fd365a3154cb062f2cac2066a7 Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 2 Apr 2025 05:21:49 +0800 Subject: [PATCH 104/132] fix: prover health listener port --- .../conf/proving-service/local-prover/config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/permissionless-batches/conf/proving-service/local-prover/config.json b/permissionless-batches/conf/proving-service/local-prover/config.json index 370a2b3a5c..5c152d2375 100644 --- a/permissionless-batches/conf/proving-service/local-prover/config.json +++ b/permissionless-batches/conf/proving-service/local-prover/config.json @@ -16,7 +16,8 @@ "circuit_type": 2, "supported_proof_types": [1,2,3], "circuit_version": "v0.13.1" - } + }, + "health_listener_addr": "0.0.0.0:89" }, "circuits": { "euclidV2": { From dced0c6a821e757abdbb33486b5f330f84a148ec Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Wed, 2 Apr 2025 16:16:38 +0800 Subject: [PATCH 105/132] bump minor version --- common/version/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/version/version.go b/common/version/version.go index f23a398ffa..b3f1ccd72c 100644 --- a/common/version/version.go +++ b/common/version/version.go @@ -5,7 +5,7 @@ import ( "runtime/debug" ) -var tag = "v4.4.100" +var tag = "v4.5.0" var commit = func() string { if info, ok := debug.ReadBuildInfo(); ok { From 9d43e97667075d617b3d3e248f1e7c303a754d7e Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 3 Apr 2025 00:15:06 +0800 Subject: [PATCH 106/132] fix: geth dependency --- go.work.sum | 5 +++-- rollup/go.mod | 2 +- rollup/go.sum | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/go.work.sum b/go.work.sum index 1173bc3c6a..589861564e 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1360,13 +1360,14 @@ github.com/scroll-tech/da-codec v0.1.1-0.20241014152913-2703f226fb0b h1:5H6V6yba github.com/scroll-tech/da-codec v0.1.1-0.20241014152913-2703f226fb0b/go.mod h1:48uxaqVgpD8ulH8p+nrBtfeLHZ9tX82bVVdPNkW3rPE= github.com/scroll-tech/da-codec v0.1.3-0.20250227072756-a1482833595f h1:YYbhuUwjowqI4oyXtECRofck7Fyj18e1tcRjuQlZpJE= github.com/scroll-tech/da-codec v0.1.3-0.20250227072756-a1482833595f/go.mod h1:xECEHZLVzbdUn+tNbRJhRIjLGTOTmnFQuTgUTeVLX58= -github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 h1:Ioc01J0WEMxuwFvEPGJeBKXdf2KY4Yc3XbFky/IxLlI= -github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= +github.com/scroll-tech/da-codec v0.1.3-0.20250313120912-344f2d5e33e1/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= github.com/scroll-tech/go-ethereum v1.10.14-0.20240607130425-e2becce6a1a4/go.mod h1:byf/mZ8jLYUCnUePTicjJWn+RvKdxDn7buS6glTnMwQ= github.com/scroll-tech/go-ethereum v1.10.14-0.20240821074444-b3fa00861e5e/go.mod h1:swB5NSp8pKNDuYsTxfR08bHS6L56i119PBx8fxvV8Cs= github.com/scroll-tech/go-ethereum v1.10.14-0.20241010064814-3d88e870ae22/go.mod h1:r9FwtxCtybMkTbWYCyBuevT9TW3zHmOTHqD082Uh+Oo= github.com/scroll-tech/go-ethereum v1.10.14-0.20250206083728-ea43834c198f/go.mod h1:Ik3OBLl7cJxPC+CFyCBYNXBPek4wpdzkWehn/y5qLM8= github.com/scroll-tech/go-ethereum v1.10.14-0.20250225152658-bcfdb48dd939/go.mod h1:AgU8JJxC7+nfs7R7ma35AU7dMAGW7wCw3dRZRefIKyQ= +github.com/scroll-tech/go-ethereum v1.10.14-0.20250327115338-364cece66071 h1:CndIA7Xy4eEFpzB+OmyBfmP8AlbZn9UG4WAOSNy6ZtM= +github.com/scroll-tech/go-ethereum v1.10.14-0.20250327115338-364cece66071/go.mod h1:756YMENiSfx/5pCwKq3+uSTWjXuHTbiCB+TirJjsQT8= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= diff --git a/rollup/go.mod b/rollup/go.mod index d06be48597..217c5119c2 100644 --- a/rollup/go.mod +++ b/rollup/go.mod @@ -12,7 +12,7 @@ require ( github.com/mitchellh/mapstructure v1.5.0 github.com/prometheus/client_golang v1.16.0 github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 - github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601 + github.com/scroll-tech/go-ethereum v1.10.14-0.20250327115338-364cece66071 github.com/smartystreets/goconvey v1.8.0 github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.10.0 diff --git a/rollup/go.sum b/rollup/go.sum index e87d0e6980..30a193bc0b 100644 --- a/rollup/go.sum +++ b/rollup/go.sum @@ -251,8 +251,8 @@ github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6g github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 h1:Ioc01J0WEMxuwFvEPGJeBKXdf2KY4Yc3XbFky/IxLlI= github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= -github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601 h1:NEsjCG6uSvLRBlsP3+x6PL1kM+Ojs3g8UGotIPgJSz8= -github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601/go.mod h1:OblWe1+QrZwdpwO0j/LY3BSGuKT3YPUFBDQQgvvfStQ= +github.com/scroll-tech/go-ethereum v1.10.14-0.20250327115338-364cece66071 h1:CndIA7Xy4eEFpzB+OmyBfmP8AlbZn9UG4WAOSNy6ZtM= +github.com/scroll-tech/go-ethereum v1.10.14-0.20250327115338-364cece66071/go.mod h1:756YMENiSfx/5pCwKq3+uSTWjXuHTbiCB+TirJjsQT8= github.com/scroll-tech/zktrie v0.8.4 h1:UagmnZ4Z3ITCk+aUq9NQZJNAwnWl4gSxsLb2Nl7IgRE= github.com/scroll-tech/zktrie v0.8.4/go.mod h1:XvNo7vAk8yxNyTjBDj5WIiFzYW4bx/gJ78+NK6Zn6Uk= github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI= From 8d76b47053080cf9da82626d6e5aff8396c90450 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 3 Apr 2025 00:56:45 +0800 Subject: [PATCH 107/132] fix: coordinator ci --- coordinator/internal/logic/provertask/chunk_prover_task.go | 1 - 1 file changed, 1 deletion(-) diff --git a/coordinator/internal/logic/provertask/chunk_prover_task.go b/coordinator/internal/logic/provertask/chunk_prover_task.go index d58c46134f..40e34674f2 100644 --- a/coordinator/internal/logic/provertask/chunk_prover_task.go +++ b/coordinator/internal/logic/provertask/chunk_prover_task.go @@ -180,7 +180,6 @@ func (cp *ChunkProverTask) Assign(ctx *gin.Context, getTaskParameter *coordinato return taskMsg, nil } - func (cp *ChunkProverTask) formatProverTask(ctx context.Context, task *orm.ProverTask, chunk *orm.Chunk, hardForkName string) (*coordinatorType.GetTaskSchema, error) { // Get block hashes. blockHashes, dbErr := cp.blockOrm.GetL2BlockHashesByChunkHash(ctx, task.TaskID) From e7597b346be22d89b7999e18b8798a641d730e86 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 3 Apr 2025 03:01:20 +0800 Subject: [PATCH 108/132] hardcode stateroot for testing --- rollup/internal/orm/chunk.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rollup/internal/orm/chunk.go b/rollup/internal/orm/chunk.go index 43d3bd3158..f552b30a93 100644 --- a/rollup/internal/orm/chunk.go +++ b/rollup/internal/orm/chunk.go @@ -286,7 +286,7 @@ func (o *Chunk) InsertPermissionlessChunk(ctx context.Context, index uint64, cod PrevL1MessageQueueHash: daBlobPayload.PrevL1MessageQueueHash().Hex(), PostL1MessageQueueHash: daBlobPayload.PostL1MessageQueueHash().Hex(), ParentChunkHash: emptyHash, - StateRoot: emptyHash, + StateRoot: "0x51093cf969a05a5075bb7bc0fe4ae988ef47e25dc4828058d7cf957ef92e9f46", ParentChunkStateRoot: emptyHash, WithdrawRoot: emptyHash, CodecVersion: int16(codecVersion), From 69a71ec2f7d2eb1ac8840c5ffec39daecb97161d Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 3 Apr 2025 03:15:20 +0800 Subject: [PATCH 109/132] hardcode stateroot for testing --- rollup/internal/orm/batch.go | 1 + 1 file changed, 1 insertion(+) diff --git a/rollup/internal/orm/batch.go b/rollup/internal/orm/batch.go index 278c3c9156..8a5de061d6 100644 --- a/rollup/internal/orm/batch.go +++ b/rollup/internal/orm/batch.go @@ -343,6 +343,7 @@ func (o *Batch) InsertPermissionlessBatch(ctx context.Context, batchIndex *big.I StartChunkHash: chunk.Hash, EndChunkIndex: chunk.Index, EndChunkHash: chunk.Hash, + StateRoot: chunk.StateRoot, PrevL1MessageQueueHash: chunk.PrevL1MessageQueueHash, PostL1MessageQueueHash: chunk.PostL1MessageQueueHash, BatchHeader: []byte{1, 2, 3}, From e3bab2477b34ecd28507ba98f1e0ff47a0f40576 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 3 Apr 2025 05:41:35 +0800 Subject: [PATCH 110/132] fix: get state root for permission less chunk --- rollup/go.mod | 2 +- rollup/go.sum | 4 ++-- .../permissionless_batches/minimal_recovery.go | 11 +++++++++-- rollup/internal/orm/chunk.go | 4 ++-- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/rollup/go.mod b/rollup/go.mod index 217c5119c2..8084f38f34 100644 --- a/rollup/go.mod +++ b/rollup/go.mod @@ -12,7 +12,7 @@ require ( github.com/mitchellh/mapstructure v1.5.0 github.com/prometheus/client_golang v1.16.0 github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 - github.com/scroll-tech/go-ethereum v1.10.14-0.20250327115338-364cece66071 + github.com/scroll-tech/go-ethereum v1.10.14-0.20250402213402-4937c8f69474 github.com/smartystreets/goconvey v1.8.0 github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.10.0 diff --git a/rollup/go.sum b/rollup/go.sum index 30a193bc0b..bf62b8a6c8 100644 --- a/rollup/go.sum +++ b/rollup/go.sum @@ -251,8 +251,8 @@ github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6g github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 h1:Ioc01J0WEMxuwFvEPGJeBKXdf2KY4Yc3XbFky/IxLlI= github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= -github.com/scroll-tech/go-ethereum v1.10.14-0.20250327115338-364cece66071 h1:CndIA7Xy4eEFpzB+OmyBfmP8AlbZn9UG4WAOSNy6ZtM= -github.com/scroll-tech/go-ethereum v1.10.14-0.20250327115338-364cece66071/go.mod h1:756YMENiSfx/5pCwKq3+uSTWjXuHTbiCB+TirJjsQT8= +github.com/scroll-tech/go-ethereum v1.10.14-0.20250402213402-4937c8f69474 h1:FirYK87gtyxNE+Niwa3Pp7I1eOk8j70xHUFpoQi2YwY= +github.com/scroll-tech/go-ethereum v1.10.14-0.20250402213402-4937c8f69474/go.mod h1:756YMENiSfx/5pCwKq3+uSTWjXuHTbiCB+TirJjsQT8= github.com/scroll-tech/zktrie v0.8.4 h1:UagmnZ4Z3ITCk+aUq9NQZJNAwnWl4gSxsLb2Nl7IgRE= github.com/scroll-tech/zktrie v0.8.4/go.mod h1:XvNo7vAk8yxNyTjBDj5WIiFzYW4bx/gJ78+NK6Zn6Uk= github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI= diff --git a/rollup/internal/controller/permissionless_batches/minimal_recovery.go b/rollup/internal/controller/permissionless_batches/minimal_recovery.go index 85251d2626..2ad66a265e 100644 --- a/rollup/internal/controller/permissionless_batches/minimal_recovery.go +++ b/rollup/internal/controller/permissionless_batches/minimal_recovery.go @@ -265,7 +265,7 @@ func (r *MinimalRecovery) restoreMinimalPreviousState() (*orm.Chunk, *orm.Batch, log.Info("Last L2 block in batch", "batch", batchCommitEvent.BatchIndex(), "L2 block", lastBlockInBatch, "PostL1MessageQueueHash", daBlobPayload.PostL1MessageQueueHash()) - // 4. Get the L1 messages count after the latest finalized batch. + // 4. Get the L1 messages count and state root after the latest finalized batch. var l1MessagesCount uint64 if r.cfg.RecoveryConfig.ForceL1MessageCount == 0 { l1MessagesCount, err = reader.NextUnfinalizedL1MessageQueueIndex(latestFinalizedL1Block) @@ -278,8 +278,15 @@ func (r *MinimalRecovery) restoreMinimalPreviousState() (*orm.Chunk, *orm.Batch, log.Info("L1 messages count after latest finalized batch", "batch", batchCommitEvent.BatchIndex(), "count", l1MessagesCount) + stateRoot, err := reader.GetFinalizedStateRootByBatchIndex(latestFinalizedL1Block, latestFinalizedBatchIndex) + if err != nil { + return nil, nil, nil, fmt.Errorf("failed to get state root: %w", err) + } + + log.Info("State root after latest finalized batch", "batch", batchCommitEvent.BatchIndex(), "count", l1MessagesCount) + // 5. Insert minimal state to DB. - chunk, err := r.chunkORM.InsertPermissionlessChunk(r.ctx, defaultFakeRestoredChunkIndex, daBatch.Version(), daBlobPayload, l1MessagesCount) + chunk, err := r.chunkORM.InsertPermissionlessChunk(r.ctx, defaultFakeRestoredChunkIndex, daBatch.Version(), daBlobPayload, l1MessagesCount, stateRoot) if err != nil { return nil, nil, nil, fmt.Errorf("failed to insert chunk raw: %w", err) } diff --git a/rollup/internal/orm/chunk.go b/rollup/internal/orm/chunk.go index f552b30a93..ac8c46b725 100644 --- a/rollup/internal/orm/chunk.go +++ b/rollup/internal/orm/chunk.go @@ -262,7 +262,7 @@ func (o *Chunk) InsertChunk(ctx context.Context, chunk *encoding.Chunk, codecVer return &newChunk, nil } -func (o *Chunk) InsertPermissionlessChunk(ctx context.Context, index uint64, codecVersion encoding.CodecVersion, daBlobPayload encoding.DABlobPayload, totalL1MessagePoppedBefore uint64) (*Chunk, error) { +func (o *Chunk) InsertPermissionlessChunk(ctx context.Context, index uint64, codecVersion encoding.CodecVersion, daBlobPayload encoding.DABlobPayload, totalL1MessagePoppedBefore uint64, stateRoot common.Hash) (*Chunk, error) { // Create some unique identifier. It is not really used for anything except in DB. var chunkBytes []byte for _, block := range daBlobPayload.Blocks() { @@ -286,7 +286,7 @@ func (o *Chunk) InsertPermissionlessChunk(ctx context.Context, index uint64, cod PrevL1MessageQueueHash: daBlobPayload.PrevL1MessageQueueHash().Hex(), PostL1MessageQueueHash: daBlobPayload.PostL1MessageQueueHash().Hex(), ParentChunkHash: emptyHash, - StateRoot: "0x51093cf969a05a5075bb7bc0fe4ae988ef47e25dc4828058d7cf957ef92e9f46", + StateRoot: stateRoot.Hex(), ParentChunkStateRoot: emptyHash, WithdrawRoot: emptyHash, CodecVersion: int16(codecVersion), From e011f6a20a825693861fe1acc5cb5089540cf8fb Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 3 Apr 2025 05:51:35 +0800 Subject: [PATCH 111/132] update geth version --- rollup/go.mod | 2 +- rollup/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rollup/go.mod b/rollup/go.mod index 8084f38f34..1aa6ebffe0 100644 --- a/rollup/go.mod +++ b/rollup/go.mod @@ -12,7 +12,7 @@ require ( github.com/mitchellh/mapstructure v1.5.0 github.com/prometheus/client_golang v1.16.0 github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 - github.com/scroll-tech/go-ethereum v1.10.14-0.20250402213402-4937c8f69474 + github.com/scroll-tech/go-ethereum v1.10.14-0.20250402214937-0452dd6ff8d9 github.com/smartystreets/goconvey v1.8.0 github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.10.0 diff --git a/rollup/go.sum b/rollup/go.sum index bf62b8a6c8..f660785f63 100644 --- a/rollup/go.sum +++ b/rollup/go.sum @@ -251,8 +251,8 @@ github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6g github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 h1:Ioc01J0WEMxuwFvEPGJeBKXdf2KY4Yc3XbFky/IxLlI= github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= -github.com/scroll-tech/go-ethereum v1.10.14-0.20250402213402-4937c8f69474 h1:FirYK87gtyxNE+Niwa3Pp7I1eOk8j70xHUFpoQi2YwY= -github.com/scroll-tech/go-ethereum v1.10.14-0.20250402213402-4937c8f69474/go.mod h1:756YMENiSfx/5pCwKq3+uSTWjXuHTbiCB+TirJjsQT8= +github.com/scroll-tech/go-ethereum v1.10.14-0.20250402214937-0452dd6ff8d9 h1:4HLiBF1r8dpFB2rJXoY5EUkrtMe1aClJWMAJYYAUc9M= +github.com/scroll-tech/go-ethereum v1.10.14-0.20250402214937-0452dd6ff8d9/go.mod h1:756YMENiSfx/5pCwKq3+uSTWjXuHTbiCB+TirJjsQT8= github.com/scroll-tech/zktrie v0.8.4 h1:UagmnZ4Z3ITCk+aUq9NQZJNAwnWl4gSxsLb2Nl7IgRE= github.com/scroll-tech/zktrie v0.8.4/go.mod h1:XvNo7vAk8yxNyTjBDj5WIiFzYW4bx/gJ78+NK6Zn6Uk= github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI= From 0d95f6a11d8eeea9645c096869e75567feef46e3 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 3 Apr 2025 06:00:19 +0800 Subject: [PATCH 112/132] update geth version --- rollup/go.mod | 2 +- rollup/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rollup/go.mod b/rollup/go.mod index 1aa6ebffe0..5b95b02801 100644 --- a/rollup/go.mod +++ b/rollup/go.mod @@ -12,7 +12,7 @@ require ( github.com/mitchellh/mapstructure v1.5.0 github.com/prometheus/client_golang v1.16.0 github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 - github.com/scroll-tech/go-ethereum v1.10.14-0.20250402214937-0452dd6ff8d9 + github.com/scroll-tech/go-ethereum v1.10.14-0.20250402215857-b025a505968e github.com/smartystreets/goconvey v1.8.0 github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.10.0 diff --git a/rollup/go.sum b/rollup/go.sum index f660785f63..9ead94b0d5 100644 --- a/rollup/go.sum +++ b/rollup/go.sum @@ -251,8 +251,8 @@ github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6g github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 h1:Ioc01J0WEMxuwFvEPGJeBKXdf2KY4Yc3XbFky/IxLlI= github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= -github.com/scroll-tech/go-ethereum v1.10.14-0.20250402214937-0452dd6ff8d9 h1:4HLiBF1r8dpFB2rJXoY5EUkrtMe1aClJWMAJYYAUc9M= -github.com/scroll-tech/go-ethereum v1.10.14-0.20250402214937-0452dd6ff8d9/go.mod h1:756YMENiSfx/5pCwKq3+uSTWjXuHTbiCB+TirJjsQT8= +github.com/scroll-tech/go-ethereum v1.10.14-0.20250402215857-b025a505968e h1:qzRmlP49+6kBrWYFSHq7bhuh821zIP9jE1Jh2325lqM= +github.com/scroll-tech/go-ethereum v1.10.14-0.20250402215857-b025a505968e/go.mod h1:756YMENiSfx/5pCwKq3+uSTWjXuHTbiCB+TirJjsQT8= github.com/scroll-tech/zktrie v0.8.4 h1:UagmnZ4Z3ITCk+aUq9NQZJNAwnWl4gSxsLb2Nl7IgRE= github.com/scroll-tech/zktrie v0.8.4/go.mod h1:XvNo7vAk8yxNyTjBDj5WIiFzYW4bx/gJ78+NK6Zn6Uk= github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI= From a5e911e98cda8e9f55cc688259c8820b71881310 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 3 Apr 2025 06:22:21 +0800 Subject: [PATCH 113/132] fix: typo --- .../controller/permissionless_batches/minimal_recovery.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rollup/internal/controller/permissionless_batches/minimal_recovery.go b/rollup/internal/controller/permissionless_batches/minimal_recovery.go index 2ad66a265e..c2dcadbd12 100644 --- a/rollup/internal/controller/permissionless_batches/minimal_recovery.go +++ b/rollup/internal/controller/permissionless_batches/minimal_recovery.go @@ -283,7 +283,7 @@ func (r *MinimalRecovery) restoreMinimalPreviousState() (*orm.Chunk, *orm.Batch, return nil, nil, nil, fmt.Errorf("failed to get state root: %w", err) } - log.Info("State root after latest finalized batch", "batch", batchCommitEvent.BatchIndex(), "count", l1MessagesCount) + log.Info("State root after latest finalized batch", "batch", batchCommitEvent.BatchIndex(), "stateRoot", stateRoot.Hex()) // 5. Insert minimal state to DB. chunk, err := r.chunkORM.InsertPermissionlessChunk(r.ctx, defaultFakeRestoredChunkIndex, daBatch.Version(), daBlobPayload, l1MessagesCount, stateRoot) From 404657961628459769dbb78c1bed91edf588e1d8 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 3 Apr 2025 17:18:05 +0800 Subject: [PATCH 114/132] docs: update readme --- permissionless-batches/Makefile | 20 +++++++++--- permissionless-batches/README.md | 29 +++++++++++++---- .../conf/coordinator/coordinator_run.sh | 12 +++++-- .../proving-service/local-prover/config.json | 2 +- .../local-prover/prover_run.sh | 32 +++++++++++-------- .../conf/relayer/config.json | 8 ++--- permissionless-batches/docker-compose.yml | 2 ++ 7 files changed, 73 insertions(+), 32 deletions(-) diff --git a/permissionless-batches/Makefile b/permissionless-batches/Makefile index ff7360ebbe..e5891b0046 100644 --- a/permissionless-batches/Makefile +++ b/permissionless-batches/Makefile @@ -1,7 +1,7 @@ -.PHONY: batch-production-submission launch_local_prover launch_cloud_prover +.PHONY: batch-production-submission launch_local_prover launch_cloud_prover psql check_proving_status -IMAGE_VERSION=latest -REPO_ROOT_DIR=./.. +export SCROLL_ZKVM_VERSION=0.2.0 # set SCROLL_ZKVM_VERSION to the correct version +PG_URL=postgres://postgres@localhost:5432/scroll batch_production_submission: docker compose --profile batch-production-submission up @@ -10,4 +10,16 @@ launch_local_prover: docker compose --profile cloud-prover up launch_cloud_prover: - docker compose --profile local-prover up \ No newline at end of file + docker compose --profile local-prover up + +psql: + psql 'postgres://postgres@localhost:5432/scroll' + +check_proving_status: + @echo "Checking proving status..." + @result=$$(psql "${PG_URL}" -t -c "SELECT proving_status = 4 AS is_status_success FROM batch ORDER BY index LIMIT 1;" | tr -d '[:space:]'); \ + if [ "$$result" = "t" ]; then \ + echo "✅ Prove succeeded! You're ready to submit permissionless batch and proof!"; \ + else \ + echo "Proof is not ready..."; \ + fi \ No newline at end of file diff --git a/permissionless-batches/README.md b/permissionless-batches/README.md index 42481fd031..294c9fc17b 100644 --- a/permissionless-batches/README.md +++ b/permissionless-batches/README.md @@ -90,19 +90,34 @@ To produce a batch you need to run the `batch-production-submission` profile in 3. Fill in required fields in `conf/relayer/config.json` -Run with `docker compose --profile batch-production-submission up`. +Run with `make batch_production_submission`. This will produce chunks, a batch and bundle which will be proven in the next step. `Success! You're ready to generate proofs!` indicates that everything is working correctly and the batch is ready to be proven. #### Proving a batch -To prove the chunk, batch and bundle you just generated you need to run the `proving` profile in `docker-compose.yml`. +To prove the chunk, batch and bundle you just generated you need to run the `local-prover` or `cloud-prover` profile in `docker-compose.yml`. + +Local Proving: + +1. Hardware spec for local prover: CPU: 36+ core, 128G memory GPU: 24G memory (eg. Rtx 3090/3090Ti/4090/A10/L4) +2. Make sure `verifier` `low_version_circuit` and `high_version_circuit` in `conf/coordinator/config.json` are correct for the latest fork: [TODO link list with versions](#batch-production-toolkit) +2. Set the `SCROLL_ZKVM_VERSION` environment variable on `Makefile` to the correct version. [TODO link list with versions](#batch-production-toolkit) +4. Fill in the required fields in `conf/proving-service/local-prover/config.json` + +Run with `make local_prover`. + +Cloud Proving: 1. Make sure `verifier` `low_version_circuit` and `high_version_circuit` in `conf/coordinator/config.json` are correct for the latest fork: [TODO link list with versions](#batch-production-toolkit) -2. Download the latest `assets` and `params` for the circuit from [TODO link list with versions](#batch-production-toolkit) into `conf/coordinator/assets` and `conf/coordinator/params` respectively. -3. Fill in the required fields in `conf/proving-service/config.json`. It is recommended to use Sindri. You'll need to obtain credits and an API key from their [website](https://sindri.app/). -4. Alternatively, you can run your own prover: https://github.com/scroll-tech/scroll-prover. However, this requires more configuration. +2. Set the `SCROLL_ZKVM_VERSION` environment variable on `Makefile` to the correct version. [TODO link list with versions](#batch-production-toolkit) +3. Fill in the required fields in `conf/proving-service/cloud-prover/config.json`. It is recommended to use Sindri. You'll need to obtain credits and an API key from their [website](https://sindri.app/). + +Run with `make cloud_prover`. + +This will prove chunks, the batch and bundle. +Run `make check_proving_status` +`Success! You're ready to submit permissionless batch and proof!` indicates that everything is working correctly and the batch is ready to be submit. -Run with `docker compose --profile proving up`. #### Batch submission @@ -110,7 +125,7 @@ To submit the batch you need to run the `batch-production-submission` profile in 1. Fill in required fields in `conf/relayer/config.json` for the sender config. -Run with `docker compose --profile batch-production-submission up`. +Run with `make batch_production_submission`. This will submit the batch to L1 and finalize it. The transaction will be retried in case of failure. **Troubleshooting** diff --git a/permissionless-batches/conf/coordinator/coordinator_run.sh b/permissionless-batches/conf/coordinator/coordinator_run.sh index 75533d39cb..dfdf941728 100755 --- a/permissionless-batches/conf/coordinator/coordinator_run.sh +++ b/permissionless-batches/conf/coordinator/coordinator_run.sh @@ -3,6 +3,12 @@ apt update apt install -y wget libdigest-sha-perl +# release version +if [ -z "${SCROLL_ZKVM_VERSION}" ]; then + echo "SCROLL_ZKVM_VERSION not set" + exit 1 +fi + if [ -z "${HTTP_PORT}" ]; then echo "HTTP_PORT not set" exit 1 @@ -48,9 +54,9 @@ ASSETS_URLS=( # Define URLs for OpenVM files (No checksum verification) OPENVM_URLS=( - "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/verifier/verifier.bin" - "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/verifier/root-verifier-vm-config" - "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/verifier/root-verifier-committed-exe" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/verifier/verifier.bin" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/verifier/root-verifier-vm-config" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/verifier/root-verifier-committed-exe" ) # Function to download and verify files (skips existing valid files) diff --git a/permissionless-batches/conf/proving-service/local-prover/config.json b/permissionless-batches/conf/proving-service/local-prover/config.json index 5c152d2375..719872cef9 100644 --- a/permissionless-batches/conf/proving-service/local-prover/config.json +++ b/permissionless-batches/conf/proving-service/local-prover/config.json @@ -10,7 +10,7 @@ "connection_timeout_sec": 30 }, "l2geth": { - "endpoint": "http://172.17.0.1:9999" + "endpoint": "" }, "prover": { "circuit_type": 2, diff --git a/permissionless-batches/conf/proving-service/local-prover/prover_run.sh b/permissionless-batches/conf/proving-service/local-prover/prover_run.sh index f50926f724..0b40a785e6 100755 --- a/permissionless-batches/conf/proving-service/local-prover/prover_run.sh +++ b/permissionless-batches/conf/proving-service/local-prover/prover_run.sh @@ -3,25 +3,31 @@ apt update apt install -y wget curl +# release version +if [ -z "${SCROLL_ZKVM_VERSION}" ]; then + echo "SCROLL_ZKVM_VERSION not set" + exit 1 +fi + BASE_DOWNLOAD_DIR="/openvm" # Ensure the base directory exists mkdir -p "$BASE_DOWNLOAD_DIR" # Define URLs for OpenVM files (No checksum verification) OPENVM_URLS=( - "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/chunk/app.vmexe" - "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/chunk/openvm.toml" - "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/batch/app.vmexe" - "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/batch/openvm.toml" - "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/app.vmexe" - "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/app_euclidv1.vmexe" - "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/openvm.toml" - "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/verifier.bin" - "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/verifier.sol" - "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/digest_1.hex" - "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/digest_2.hex" - "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/digest_1_euclidv1.hex" - "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.2.0/bundle/digest_2_euclidv1.hex" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/chunk/app.vmexe" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/chunk/openvm.toml" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/batch/app.vmexe" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/batch/openvm.toml" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/bundle/app.vmexe" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/bundle/app_euclidv1.vmexe" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/bundle/openvm.toml" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/bundle/verifier.bin" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/bundle/verifier.sol" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/bundle/digest_1.hex" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/bundle/digest_2.hex" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/bundle/digest_1_euclidv1.hex" + "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/bundle/digest_2_euclidv1.hex" "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/params/kzg_bn254_22.srs" "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/params/kzg_bn254_24.srs" ) diff --git a/permissionless-batches/conf/relayer/config.json b/permissionless-batches/conf/relayer/config.json index ebe10b0a4c..4ed6dc56ec 100644 --- a/permissionless-batches/conf/relayer/config.json +++ b/permissionless-batches/conf/relayer/config.json @@ -9,7 +9,7 @@ "commit_sender_signer_config": { "signer_type": "PrivateKey", "private_key_signer_config": { - "private_key": "1414141414141414141414141414141414141414141414141414141414141414" + "private_key": "" } }, "l1_commit_gas_limit_multiplier": 1.2 @@ -46,9 +46,9 @@ }, "recovery_config": { "enable": true, - "l1_block_height": , - "latest_finalized_batch": , - "l2_block_height_limit": , + "l1_block_height": "", + "latest_finalized_batch": "", + "l2_block_height_limit": "", "force_latest_finalized_batch": false, "force_l1_message_count": 0, "submit_without_proof": false diff --git a/permissionless-batches/docker-compose.yml b/permissionless-batches/docker-compose.yml index 27c97e54a5..1e58af26dd 100644 --- a/permissionless-batches/docker-compose.yml +++ b/permissionless-batches/docker-compose.yml @@ -47,6 +47,7 @@ services: - cloud-prover ports: [8556:8555] environment: + - SCROLL_ZKVM_VERSION=${SCROLL_ZKVM_VERSION} - SCROLL_PROVER_ASSETS_DIR=/verifier/assets/ - HTTP_PORT=8555 - METRICS_PORT=8390 @@ -83,6 +84,7 @@ services: profiles: - local-prover environment: + - SCROLL_ZKVM_VERSION=${SCROLL_ZKVM_VERSION} - LD_LIBRARY_PATH=/prover:/usr/local/cuda/lib64 - RUST_MIN_STACK=16777216 - RUST_BACKTRACE=1 From ecc392621afa40cbcac797d3aa8e04a5a7b1ed11 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 3 Apr 2025 17:21:50 +0800 Subject: [PATCH 115/132] fix: makefile --- permissionless-batches/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/permissionless-batches/Makefile b/permissionless-batches/Makefile index e5891b0046..8f7be79cdb 100644 --- a/permissionless-batches/Makefile +++ b/permissionless-batches/Makefile @@ -6,11 +6,11 @@ PG_URL=postgres://postgres@localhost:5432/scroll batch_production_submission: docker compose --profile batch-production-submission up -launch_local_prover: - docker compose --profile cloud-prover up +local_prover: + docker compose --profile local_prover up -launch_cloud_prover: - docker compose --profile local-prover up +cloud_prover: + docker compose --profile cloud_prover up psql: psql 'postgres://postgres@localhost:5432/scroll' From 17214d4e6bcd26bba0a7395d46070f147c751ee2 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 3 Apr 2025 20:24:36 +0800 Subject: [PATCH 116/132] fix: coordinator_run.sh --- permissionless-batches/conf/coordinator/coordinator_run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/permissionless-batches/conf/coordinator/coordinator_run.sh b/permissionless-batches/conf/coordinator/coordinator_run.sh index dfdf941728..de3e95f869 100755 --- a/permissionless-batches/conf/coordinator/coordinator_run.sh +++ b/permissionless-batches/conf/coordinator/coordinator_run.sh @@ -100,7 +100,7 @@ done # Download OpenVM files (No checksum verification, but skips if file exists) for url in "${OPENVM_URLS[@]}"; do - dest_subdir="$OPENVM_DIR/$(basename $(dirname "$url"))" + dest_subdir="$OPENVM_DIR/verifier" mkdir -p "$dest_subdir" filepath="$dest_subdir/$(basename "$url")" From e3a1e5de5fd5f8d8c5c1ae0c82e4d05928ef7d85 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 3 Apr 2025 21:37:47 +0800 Subject: [PATCH 117/132] fix: makefile --- permissionless-batches/conf/coordinator/coordinator_run.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/permissionless-batches/conf/coordinator/coordinator_run.sh b/permissionless-batches/conf/coordinator/coordinator_run.sh index de3e95f869..302606a4ec 100755 --- a/permissionless-batches/conf/coordinator/coordinator_run.sh +++ b/permissionless-batches/conf/coordinator/coordinator_run.sh @@ -100,7 +100,9 @@ done # Download OpenVM files (No checksum verification, but skips if file exists) for url in "${OPENVM_URLS[@]}"; do - dest_subdir="$OPENVM_DIR/verifier" + dest_subdir="$OPENVM_DIR/$(basename $(dirname "$url"))" + echo "dest_subdir------------------" + echo dest_subdir mkdir -p "$dest_subdir" filepath="$dest_subdir/$(basename "$url")" From 50d5e65e88c0162b1eba67bdd3b0f3b7cd3ff655 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 3 Apr 2025 21:38:45 +0800 Subject: [PATCH 118/132] fix: makefile --- permissionless-batches/Makefile | 4 ++-- permissionless-batches/conf/coordinator/coordinator_run.sh | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/permissionless-batches/Makefile b/permissionless-batches/Makefile index 8f7be79cdb..89f25ca948 100644 --- a/permissionless-batches/Makefile +++ b/permissionless-batches/Makefile @@ -7,10 +7,10 @@ batch_production_submission: docker compose --profile batch-production-submission up local_prover: - docker compose --profile local_prover up + docker compose --profile local-prover up cloud_prover: - docker compose --profile cloud_prover up + docker compose --profile cloud-prover up psql: psql 'postgres://postgres@localhost:5432/scroll' diff --git a/permissionless-batches/conf/coordinator/coordinator_run.sh b/permissionless-batches/conf/coordinator/coordinator_run.sh index 302606a4ec..de3e95f869 100755 --- a/permissionless-batches/conf/coordinator/coordinator_run.sh +++ b/permissionless-batches/conf/coordinator/coordinator_run.sh @@ -100,9 +100,7 @@ done # Download OpenVM files (No checksum verification, but skips if file exists) for url in "${OPENVM_URLS[@]}"; do - dest_subdir="$OPENVM_DIR/$(basename $(dirname "$url"))" - echo "dest_subdir------------------" - echo dest_subdir + dest_subdir="$OPENVM_DIR/verifier" mkdir -p "$dest_subdir" filepath="$dest_subdir/$(basename "$url")" From 3be65c13be1f1deb2fc4e9d53045301fb90cd21e Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 3 Apr 2025 22:07:21 +0800 Subject: [PATCH 119/132] fix: makefile --- permissionless-batches/Makefile | 2 +- permissionless-batches/conf/coordinator/coordinator_run.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/permissionless-batches/Makefile b/permissionless-batches/Makefile index 89f25ca948..a00facf7ec 100644 --- a/permissionless-batches/Makefile +++ b/permissionless-batches/Makefile @@ -1,6 +1,6 @@ .PHONY: batch-production-submission launch_local_prover launch_cloud_prover psql check_proving_status -export SCROLL_ZKVM_VERSION=0.2.0 # set SCROLL_ZKVM_VERSION to the correct version +export SCROLL_ZKVM_VERSION=0.2.0 PG_URL=postgres://postgres@localhost:5432/scroll batch_production_submission: diff --git a/permissionless-batches/conf/coordinator/coordinator_run.sh b/permissionless-batches/conf/coordinator/coordinator_run.sh index de3e95f869..dfdf941728 100755 --- a/permissionless-batches/conf/coordinator/coordinator_run.sh +++ b/permissionless-batches/conf/coordinator/coordinator_run.sh @@ -100,7 +100,7 @@ done # Download OpenVM files (No checksum verification, but skips if file exists) for url in "${OPENVM_URLS[@]}"; do - dest_subdir="$OPENVM_DIR/verifier" + dest_subdir="$OPENVM_DIR/$(basename $(dirname "$url"))" mkdir -p "$dest_subdir" filepath="$dest_subdir/$(basename "$url")" From 912726d9740b9913197d2a14966d388cbc846231 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 3 Apr 2025 22:51:07 +0800 Subject: [PATCH 120/132] fix: ci --- common/version/version.go | 1 - rollup/internal/orm/batch.go | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/common/version/version.go b/common/version/version.go index 91aec0992c..b3f1ccd72c 100644 --- a/common/version/version.go +++ b/common/version/version.go @@ -5,7 +5,6 @@ import ( "runtime/debug" ) - var tag = "v4.5.0" var commit = func() string { diff --git a/rollup/internal/orm/batch.go b/rollup/internal/orm/batch.go index 8a5de061d6..8c97fb994c 100644 --- a/rollup/internal/orm/batch.go +++ b/rollup/internal/orm/batch.go @@ -343,7 +343,7 @@ func (o *Batch) InsertPermissionlessBatch(ctx context.Context, batchIndex *big.I StartChunkHash: chunk.Hash, EndChunkIndex: chunk.Index, EndChunkHash: chunk.Hash, - StateRoot: chunk.StateRoot, + StateRoot: chunk.StateRoot, PrevL1MessageQueueHash: chunk.PrevL1MessageQueueHash, PostL1MessageQueueHash: chunk.PostL1MessageQueueHash, BatchHeader: []byte{1, 2, 3}, From af5f1e04c210cedc5c21222605e90322fdcf14d7 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 24 Apr 2025 16:11:44 +0800 Subject: [PATCH 121/132] fix: lint --- rollup/cmd/permissionless_batches/app/app.go | 1 + rollup/cmd/rollup_relayer/app/app.go | 1 + rollup/go.mod | 2 +- rollup/go.sum | 4 ++-- .../permissionless_batches/minimal_recovery.go | 1 + .../controller/permissionless_batches/submitter.go | 1 + rollup/internal/controller/relayer/full_recovery.go | 13 +++++-------- 7 files changed, 12 insertions(+), 11 deletions(-) diff --git a/rollup/cmd/permissionless_batches/app/app.go b/rollup/cmd/permissionless_batches/app/app.go index c966957cd9..7437bd57f0 100644 --- a/rollup/cmd/permissionless_batches/app/app.go +++ b/rollup/cmd/permissionless_batches/app/app.go @@ -17,6 +17,7 @@ import ( "scroll-tech/common/observability" "scroll-tech/common/utils" "scroll-tech/common/version" + "scroll-tech/rollup/internal/config" "scroll-tech/rollup/internal/controller/permissionless_batches" "scroll-tech/rollup/internal/controller/watcher" diff --git a/rollup/cmd/rollup_relayer/app/app.go b/rollup/cmd/rollup_relayer/app/app.go index 9c23a6e69c..e123d8a91b 100644 --- a/rollup/cmd/rollup_relayer/app/app.go +++ b/rollup/cmd/rollup_relayer/app/app.go @@ -18,6 +18,7 @@ import ( "scroll-tech/common/observability" "scroll-tech/common/utils" "scroll-tech/common/version" + "scroll-tech/rollup/internal/config" "scroll-tech/rollup/internal/controller/relayer" "scroll-tech/rollup/internal/controller/watcher" diff --git a/rollup/go.mod b/rollup/go.mod index d06be48597..785671209d 100644 --- a/rollup/go.mod +++ b/rollup/go.mod @@ -12,7 +12,7 @@ require ( github.com/mitchellh/mapstructure v1.5.0 github.com/prometheus/client_golang v1.16.0 github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 - github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601 + github.com/scroll-tech/go-ethereum v1.10.14-0.20250424075057-cdf3f1d83158 github.com/smartystreets/goconvey v1.8.0 github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.10.0 diff --git a/rollup/go.sum b/rollup/go.sum index e87d0e6980..5b1ef4b140 100644 --- a/rollup/go.sum +++ b/rollup/go.sum @@ -251,8 +251,8 @@ github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6g github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 h1:Ioc01J0WEMxuwFvEPGJeBKXdf2KY4Yc3XbFky/IxLlI= github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= -github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601 h1:NEsjCG6uSvLRBlsP3+x6PL1kM+Ojs3g8UGotIPgJSz8= -github.com/scroll-tech/go-ethereum v1.10.14-0.20250305151038-478940e79601/go.mod h1:OblWe1+QrZwdpwO0j/LY3BSGuKT3YPUFBDQQgvvfStQ= +github.com/scroll-tech/go-ethereum v1.10.14-0.20250424075057-cdf3f1d83158 h1:E3QKPLoZfDTt2QxpnA7Nn7cXskPK05cSk4j1w15PLmc= +github.com/scroll-tech/go-ethereum v1.10.14-0.20250424075057-cdf3f1d83158/go.mod h1:756YMENiSfx/5pCwKq3+uSTWjXuHTbiCB+TirJjsQT8= github.com/scroll-tech/zktrie v0.8.4 h1:UagmnZ4Z3ITCk+aUq9NQZJNAwnWl4gSxsLb2Nl7IgRE= github.com/scroll-tech/zktrie v0.8.4/go.mod h1:XvNo7vAk8yxNyTjBDj5WIiFzYW4bx/gJ78+NK6Zn6Uk= github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI= diff --git a/rollup/internal/controller/permissionless_batches/minimal_recovery.go b/rollup/internal/controller/permissionless_batches/minimal_recovery.go index c2dcadbd12..150d145dff 100644 --- a/rollup/internal/controller/permissionless_batches/minimal_recovery.go +++ b/rollup/internal/controller/permissionless_batches/minimal_recovery.go @@ -17,6 +17,7 @@ import ( "scroll-tech/common/types" "scroll-tech/database/migrate" + "scroll-tech/rollup/internal/config" "scroll-tech/rollup/internal/controller/watcher" "scroll-tech/rollup/internal/orm" diff --git a/rollup/internal/controller/permissionless_batches/submitter.go b/rollup/internal/controller/permissionless_batches/submitter.go index 9e4d201edb..12f6602f89 100644 --- a/rollup/internal/controller/permissionless_batches/submitter.go +++ b/rollup/internal/controller/permissionless_batches/submitter.go @@ -19,6 +19,7 @@ import ( "scroll-tech/common/types" "scroll-tech/common/types/message" + bridgeAbi "scroll-tech/rollup/abi" "scroll-tech/rollup/internal/config" "scroll-tech/rollup/internal/controller/sender" diff --git a/rollup/internal/controller/relayer/full_recovery.go b/rollup/internal/controller/relayer/full_recovery.go index acffc772b4..3444f951a4 100644 --- a/rollup/internal/controller/relayer/full_recovery.go +++ b/rollup/internal/controller/relayer/full_recovery.go @@ -13,6 +13,7 @@ import ( "gorm.io/gorm" "scroll-tech/common/types" + "scroll-tech/rollup/internal/config" "scroll-tech/rollup/internal/controller/watcher" "scroll-tech/rollup/internal/orm" @@ -118,7 +119,7 @@ func (f *FullRecovery) RestoreFullPreviousState() error { var bundle []*batchEvents - // with bundles all commited batches until this finalized batch are finalized in the same bundle + // with bundles all committed batches until this finalized batch are finalized in the same bundle for commitsHeapMap.Len() > 0 { commitEvent := commitsHeapMap.Peek() if commitEvent.BatchIndex().Uint64() > finalizeEvent.BatchIndex().Uint64() { @@ -138,7 +139,7 @@ func (f *FullRecovery) RestoreFullPreviousState() error { return false } - case l1.RevertEventType: + case l1.RevertEventV7Type: // We ignore reverted batches. commitsHeapMap.RemoveByKey(event.BatchIndex().Uint64()) } @@ -252,9 +253,7 @@ func (f *FullRecovery) processFinalizedBatch(nextBatch *batchEvents) error { log.Info("Reproducing chunk", "start block", start, "end block", end) var chunk encoding.Chunk - for _, block := range blocks { - chunk.Blocks = append(chunk.Blocks, block) - } + chunk.Blocks = append(chunk.Blocks, blocks...) metrics, err := butils.CalculateChunkMetrics(&chunk, codec.Version()) if err != nil { @@ -297,9 +296,7 @@ func (f *FullRecovery) processFinalizedBatch(nextBatch *batchEvents) error { batch.ParentBatchHash = common.HexToHash(dbParentBatch.Hash) batch.TotalL1MessagePoppedBefore = dbChunks[0].TotalL1MessagesPoppedBefore - for _, chunk := range daChunks { - batch.Chunks = append(batch.Chunks, chunk) - } + batch.Chunks = append(batch.Chunks, daChunks...) metrics, err := butils.CalculateBatchMetrics(&batch, codec.Version()) if err != nil { From ee3b49b312d4ec2e106ce488718b57ac91fac5e3 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 24 Apr 2025 16:14:05 +0800 Subject: [PATCH 122/132] fix: lint --- go.work.sum | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/go.work.sum b/go.work.sum index 1173bc3c6a..6e264b0df7 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1360,8 +1360,7 @@ github.com/scroll-tech/da-codec v0.1.1-0.20241014152913-2703f226fb0b h1:5H6V6yba github.com/scroll-tech/da-codec v0.1.1-0.20241014152913-2703f226fb0b/go.mod h1:48uxaqVgpD8ulH8p+nrBtfeLHZ9tX82bVVdPNkW3rPE= github.com/scroll-tech/da-codec v0.1.3-0.20250227072756-a1482833595f h1:YYbhuUwjowqI4oyXtECRofck7Fyj18e1tcRjuQlZpJE= github.com/scroll-tech/da-codec v0.1.3-0.20250227072756-a1482833595f/go.mod h1:xECEHZLVzbdUn+tNbRJhRIjLGTOTmnFQuTgUTeVLX58= -github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 h1:Ioc01J0WEMxuwFvEPGJeBKXdf2KY4Yc3XbFky/IxLlI= -github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= +github.com/scroll-tech/da-codec v0.1.3-0.20250313120912-344f2d5e33e1/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= github.com/scroll-tech/go-ethereum v1.10.14-0.20240607130425-e2becce6a1a4/go.mod h1:byf/mZ8jLYUCnUePTicjJWn+RvKdxDn7buS6glTnMwQ= github.com/scroll-tech/go-ethereum v1.10.14-0.20240821074444-b3fa00861e5e/go.mod h1:swB5NSp8pKNDuYsTxfR08bHS6L56i119PBx8fxvV8Cs= github.com/scroll-tech/go-ethereum v1.10.14-0.20241010064814-3d88e870ae22/go.mod h1:r9FwtxCtybMkTbWYCyBuevT9TW3zHmOTHqD082Uh+Oo= From 9d46ed12c74c68b15bcbce81077a4e0bd5f81bff Mon Sep 17 00:00:00 2001 From: Morty Date: Fri, 25 Apr 2025 18:13:09 +0800 Subject: [PATCH 123/132] hack ci --- rollup/tests/process_start_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rollup/tests/process_start_test.go b/rollup/tests/process_start_test.go index 08b9659990..b4a9b056ea 100644 --- a/rollup/tests/process_start_test.go +++ b/rollup/tests/process_start_test.go @@ -18,7 +18,7 @@ import ( func testProcessStart(t *testing.T) { db := setupDB(t) defer database.CloseDB(db) - rollupApp.RunApp(t, cutils.GasOracleApp, "--genesis", "../conf/genesis.json") + // rollupApp.RunApp(t, cutils.GasOracleApp, "--genesis", "../conf/genesis.json") rollupApp.RunApp(t, cutils.RollupRelayerApp, "--genesis", "../conf/genesis.json", "--min-codec-version", "4") rollupApp.WaitExit() From 7fcbe396889f8e5217ad1e929a9b143c015ddd9a Mon Sep 17 00:00:00 2001 From: Morty Date: Sat, 26 Apr 2025 06:34:00 +0800 Subject: [PATCH 124/132] fix: RecoveryConfig nil backward compatibility --- rollup/cmd/rollup_relayer/app/app.go | 2 +- rollup/tests/process_start_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rollup/cmd/rollup_relayer/app/app.go b/rollup/cmd/rollup_relayer/app/app.go index e123d8a91b..043f04769f 100644 --- a/rollup/cmd/rollup_relayer/app/app.go +++ b/rollup/cmd/rollup_relayer/app/app.go @@ -109,7 +109,7 @@ func action(ctx *cli.Context) error { l2watcher := watcher.NewL2WatcherClient(subCtx, l2client, cfg.L2Config.Confirmations, cfg.L2Config.L2MessageQueueAddress, cfg.L2Config.WithdrawTrieRootSlot, genesis.Config, db, registry) - if cfg.RecoveryConfig.Enable { + if cfg.RecoveryConfig != nil && cfg.RecoveryConfig.Enable { log.Info("Starting rollup-relayer in recovery mode", "version", version.Version) l1Client, err := ethclient.Dial(cfg.L1Config.Endpoint) diff --git a/rollup/tests/process_start_test.go b/rollup/tests/process_start_test.go index b4a9b056ea..08b9659990 100644 --- a/rollup/tests/process_start_test.go +++ b/rollup/tests/process_start_test.go @@ -18,7 +18,7 @@ import ( func testProcessStart(t *testing.T) { db := setupDB(t) defer database.CloseDB(db) - // rollupApp.RunApp(t, cutils.GasOracleApp, "--genesis", "../conf/genesis.json") + rollupApp.RunApp(t, cutils.GasOracleApp, "--genesis", "../conf/genesis.json") rollupApp.RunApp(t, cutils.RollupRelayerApp, "--genesis", "../conf/genesis.json", "--min-codec-version", "4") rollupApp.WaitExit() From 794bc0a53ea8659117e93e74bc8d3b552ade56f2 Mon Sep 17 00:00:00 2001 From: Morty Date: Tue, 29 Apr 2025 04:33:14 +0800 Subject: [PATCH 125/132] update prover to 0.3.0 --- permissionless-batches/Makefile | 2 +- rollup/internal/controller/permissionless_batches/submitter.go | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/permissionless-batches/Makefile b/permissionless-batches/Makefile index a00facf7ec..94ca37dd09 100644 --- a/permissionless-batches/Makefile +++ b/permissionless-batches/Makefile @@ -1,6 +1,6 @@ .PHONY: batch-production-submission launch_local_prover launch_cloud_prover psql check_proving_status -export SCROLL_ZKVM_VERSION=0.2.0 +export SCROLL_ZKVM_VERSION=0.3.0 PG_URL=postgres://postgres@localhost:5432/scroll batch_production_submission: diff --git a/rollup/internal/controller/permissionless_batches/submitter.go b/rollup/internal/controller/permissionless_batches/submitter.go index 12f6602f89..9e4d201edb 100644 --- a/rollup/internal/controller/permissionless_batches/submitter.go +++ b/rollup/internal/controller/permissionless_batches/submitter.go @@ -19,7 +19,6 @@ import ( "scroll-tech/common/types" "scroll-tech/common/types/message" - bridgeAbi "scroll-tech/rollup/abi" "scroll-tech/rollup/internal/config" "scroll-tech/rollup/internal/controller/sender" From 21d8d9f1f1e8bcf4c9ad26fa7e354aed05285174 Mon Sep 17 00:00:00 2001 From: Morty Date: Tue, 29 Apr 2025 05:52:24 +0800 Subject: [PATCH 126/132] update coordinator config --- permissionless-batches/conf/coordinator/config.json | 2 +- permissionless-batches/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/permissionless-batches/conf/coordinator/config.json b/permissionless-batches/conf/coordinator/config.json index 8fc24ee79e..93bd2631a8 100644 --- a/permissionless-batches/conf/coordinator/config.json +++ b/permissionless-batches/conf/coordinator/config.json @@ -16,7 +16,7 @@ "high_version_circuit" : { "fork_name": "euclid", "assets_path": "/verifier/openvm/verifier", - "min_prover_version": "v4.4.98" + "min_prover_version": "v4.5.7" } } }, diff --git a/permissionless-batches/docker-compose.yml b/permissionless-batches/docker-compose.yml index 1e58af26dd..e1d0d79178 100644 --- a/permissionless-batches/docker-compose.yml +++ b/permissionless-batches/docker-compose.yml @@ -76,7 +76,7 @@ services: condition: service_healthy local-prover: - image: scrolltech/cuda-prover:v4.4.98-d1138653-5854f81-0cebd85 + image: scrolltech/cuda-prover:v4.5.7-a18fe064-fcc09d1-9174aff network_mode: host platform: linux/amd64 runtime: nvidia From 0d5571cc71cbb8651f7b9577bb30016a66d2e7ce Mon Sep 17 00:00:00 2001 From: Morty Date: Tue, 29 Apr 2025 06:24:05 +0800 Subject: [PATCH 127/132] update geth version --- rollup/go.mod | 2 +- rollup/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rollup/go.mod b/rollup/go.mod index 785671209d..e8b327cb39 100644 --- a/rollup/go.mod +++ b/rollup/go.mod @@ -12,7 +12,7 @@ require ( github.com/mitchellh/mapstructure v1.5.0 github.com/prometheus/client_golang v1.16.0 github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 - github.com/scroll-tech/go-ethereum v1.10.14-0.20250424075057-cdf3f1d83158 + github.com/scroll-tech/go-ethereum v1.10.14-0.20250428071010-eaf06e30a037 github.com/smartystreets/goconvey v1.8.0 github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.10.0 diff --git a/rollup/go.sum b/rollup/go.sum index 5b1ef4b140..1e836cf7b9 100644 --- a/rollup/go.sum +++ b/rollup/go.sum @@ -251,8 +251,8 @@ github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6g github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493 h1:Ioc01J0WEMxuwFvEPGJeBKXdf2KY4Yc3XbFky/IxLlI= github.com/scroll-tech/da-codec v0.1.3-0.20250401062930-9f9f53898493/go.mod h1:yhTS9OVC0xQGhg7DN5iV5KZJvnSIlFWAxDdp+6jxQtY= -github.com/scroll-tech/go-ethereum v1.10.14-0.20250424075057-cdf3f1d83158 h1:E3QKPLoZfDTt2QxpnA7Nn7cXskPK05cSk4j1w15PLmc= -github.com/scroll-tech/go-ethereum v1.10.14-0.20250424075057-cdf3f1d83158/go.mod h1:756YMENiSfx/5pCwKq3+uSTWjXuHTbiCB+TirJjsQT8= +github.com/scroll-tech/go-ethereum v1.10.14-0.20250428071010-eaf06e30a037 h1:AAnzT1IvUe2QdPjqBMpSrl0frfqaR9kLw/rBqLn/Bj0= +github.com/scroll-tech/go-ethereum v1.10.14-0.20250428071010-eaf06e30a037/go.mod h1:756YMENiSfx/5pCwKq3+uSTWjXuHTbiCB+TirJjsQT8= github.com/scroll-tech/zktrie v0.8.4 h1:UagmnZ4Z3ITCk+aUq9NQZJNAwnWl4gSxsLb2Nl7IgRE= github.com/scroll-tech/zktrie v0.8.4/go.mod h1:XvNo7vAk8yxNyTjBDj5WIiFzYW4bx/gJ78+NK6Zn6Uk= github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI= From f314228ab837776a303b2087ceb39f5fd76eb63c Mon Sep 17 00:00:00 2001 From: Morty Date: Tue, 29 Apr 2025 06:45:26 +0800 Subject: [PATCH 128/132] fix: ci --- .github/workflows/rollup.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/rollup.yml b/.github/workflows/rollup.yml index 7f5bb47014..8cc1fb0591 100644 --- a/.github/workflows/rollup.yml +++ b/.github/workflows/rollup.yml @@ -34,7 +34,7 @@ jobs: - name: Install Go uses: actions/setup-go@v2 with: - go-version: 1.21.x + go-version: 1.22.x - name: Checkout code uses: actions/checkout@v4 - name: Install Solc @@ -58,7 +58,7 @@ jobs: - name: Install Go uses: actions/setup-go@v2 with: - go-version: 1.21.x + go-version: 1.22.x - name: Checkout code uses: actions/checkout@v4 - name: Install goimports @@ -83,7 +83,7 @@ jobs: - name: Install Go uses: actions/setup-go@v2 with: - go-version: 1.21.x + go-version: 1.22.x - name: Checkout code uses: actions/checkout@v4 - name: Install Solc From a1300bda635055a9eeced9a7d40d9625d7d9f350 Mon Sep 17 00:00:00 2001 From: Morty Date: Tue, 29 Apr 2025 06:53:54 +0800 Subject: [PATCH 129/132] fix: ci --- .github/workflows/rollup.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/rollup.yml b/.github/workflows/rollup.yml index 8cc1fb0591..7f5bb47014 100644 --- a/.github/workflows/rollup.yml +++ b/.github/workflows/rollup.yml @@ -34,7 +34,7 @@ jobs: - name: Install Go uses: actions/setup-go@v2 with: - go-version: 1.22.x + go-version: 1.21.x - name: Checkout code uses: actions/checkout@v4 - name: Install Solc @@ -58,7 +58,7 @@ jobs: - name: Install Go uses: actions/setup-go@v2 with: - go-version: 1.22.x + go-version: 1.21.x - name: Checkout code uses: actions/checkout@v4 - name: Install goimports @@ -83,7 +83,7 @@ jobs: - name: Install Go uses: actions/setup-go@v2 with: - go-version: 1.22.x + go-version: 1.21.x - name: Checkout code uses: actions/checkout@v4 - name: Install Solc From c0aa3bd28bdc1815791577b0d609fa81b76728ca Mon Sep 17 00:00:00 2001 From: Morty Date: Tue, 29 Apr 2025 06:54:46 +0800 Subject: [PATCH 130/132] fix: ci --- rollup/internal/controller/permissionless_batches/submitter.go | 1 + 1 file changed, 1 insertion(+) diff --git a/rollup/internal/controller/permissionless_batches/submitter.go b/rollup/internal/controller/permissionless_batches/submitter.go index 9e4d201edb..12f6602f89 100644 --- a/rollup/internal/controller/permissionless_batches/submitter.go +++ b/rollup/internal/controller/permissionless_batches/submitter.go @@ -19,6 +19,7 @@ import ( "scroll-tech/common/types" "scroll-tech/common/types/message" + bridgeAbi "scroll-tech/rollup/abi" "scroll-tech/rollup/internal/config" "scroll-tech/rollup/internal/controller/sender" From c26446e6fa72ec7125df730473c130b2dab69180 Mon Sep 17 00:00:00 2001 From: Morty Date: Tue, 29 Apr 2025 16:32:16 +0800 Subject: [PATCH 131/132] fix: coodinator-api use dockerhub image --- permissionless-batches/docker-compose.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/permissionless-batches/docker-compose.yml b/permissionless-batches/docker-compose.yml index e1d0d79178..d982739ee0 100644 --- a/permissionless-batches/docker-compose.yml +++ b/permissionless-batches/docker-compose.yml @@ -34,9 +34,7 @@ services: - "5432:5432" coordinator-api: - build: - context: ../ - dockerfile: build/dockerfiles/coordinator-api.Dockerfile + image: scrolltech/coordinator-api:v4.5.7 volumes: - ./conf/coordinator/config.json:/coordinator/config.json:ro - ./conf/genesis.json:/coordinator/genesis.json:ro From 36e151884d616d5b0d919d7e2009c228463afb38 Mon Sep 17 00:00:00 2001 From: Morty Date: Wed, 30 Apr 2025 01:51:25 +0800 Subject: [PATCH 132/132] perfect makefile --- permissionless-batches/Makefile | 2 +- permissionless-batches/README.md | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/permissionless-batches/Makefile b/permissionless-batches/Makefile index 94ca37dd09..bb0e344903 100644 --- a/permissionless-batches/Makefile +++ b/permissionless-batches/Makefile @@ -7,7 +7,7 @@ batch_production_submission: docker compose --profile batch-production-submission up local_prover: - docker compose --profile local-prover up + docker compose --profile local-prover up -d cloud_prover: docker compose --profile cloud-prover up diff --git a/permissionless-batches/README.md b/permissionless-batches/README.md index 294c9fc17b..a7ebf3f3cf 100644 --- a/permissionless-batches/README.md +++ b/permissionless-batches/README.md @@ -106,7 +106,7 @@ Local Proving: Run with `make local_prover`. -Cloud Proving: +Cloud Proving(not supported yet): 1. Make sure `verifier` `low_version_circuit` and `high_version_circuit` in `conf/coordinator/config.json` are correct for the latest fork: [TODO link list with versions](#batch-production-toolkit) 2. Set the `SCROLL_ZKVM_VERSION` environment variable on `Makefile` to the correct version. [TODO link list with versions](#batch-production-toolkit) @@ -119,7 +119,6 @@ Run `make check_proving_status` `Success! You're ready to submit permissionless batch and proof!` indicates that everything is working correctly and the batch is ready to be submit. - #### Batch submission To submit the batch you need to run the `batch-production-submission` profile in `docker-compose.yml`.