diff --git a/.github/workflows/docker-gnark.yml b/.github/workflows/docker-gnark.yml index 7e33a57769..ff5b045c9c 100644 --- a/.github/workflows/docker-gnark.yml +++ b/.github/workflows/docker-gnark.yml @@ -29,7 +29,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup diff --git a/.github/workflows/docker-publish-gnark.yml b/.github/workflows/docker-publish-gnark.yml index 2990ceb016..e93b2ec5d4 100644 --- a/.github/workflows/docker-publish-gnark.yml +++ b/.github/workflows/docker-publish-gnark.yml @@ -27,7 +27,7 @@ jobs: contents: read steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Set up Docker BuildX uses: docker/setup-buildx-action@v3 - name: Log into registry ${{ env.REGISTRY }} @@ -55,7 +55,7 @@ jobs: contents: read steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Set up Docker BuildX uses: docker/setup-buildx-action@v3 - name: Log into registry ${{ env.REGISTRY }} diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index f34c66c071..a687913654 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -36,7 +36,7 @@ jobs: steps: - name: Checkout repository id: checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Install Docker BuildX uses: docker/setup-buildx-action@v3 diff --git a/.github/workflows/executor-suite.yml b/.github/workflows/executor-suite.yml index 360df39a4b..cb5519a29c 100644 --- a/.github/workflows/executor-suite.yml +++ b/.github/workflows/executor-suite.yml @@ -35,7 +35,7 @@ jobs: ] steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -87,7 +87,7 @@ jobs: ] steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -139,7 +139,7 @@ jobs: ] steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3d13435b13..c8abb70920 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -34,7 +34,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -74,7 +74,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -114,7 +114,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -154,7 +154,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -200,7 +200,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -242,7 +242,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -280,7 +280,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -323,7 +323,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -352,7 +352,7 @@ jobs: # CARGO_NET_GIT_FETCH_WITH_CLI: "true" # steps: # - name: Checkout sources - # uses: actions/checkout@v5 + # uses: actions/checkout@v6 # - name: Setup CI # uses: ./.github/actions/setup diff --git a/.github/workflows/patch-testing-cycles.yml b/.github/workflows/patch-testing-cycles.yml index e014727058..526c53c172 100644 --- a/.github/workflows/patch-testing-cycles.yml +++ b/.github/workflows/patch-testing-cycles.yml @@ -10,7 +10,7 @@ jobs: runs-on: [runs-on, runner=16cpu-linux-x64, disk=large, "run-id=${{ github.run_id }}"] steps: - name: "Checkout sources" - uses: "actions/checkout@v5" + uses: "actions/checkout@v6" with: fetch-depth: 0 diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 185fccb1fb..b43e31b21a 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -35,7 +35,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -79,7 +79,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -123,7 +123,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -159,7 +159,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -205,7 +205,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -244,7 +244,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -291,7 +291,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -331,7 +331,7 @@ jobs: fail-fast: false steps: - name: Checkout Actions Repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable @@ -361,7 +361,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: "Checkout sources" - uses: "actions/checkout@v5" + uses: "actions/checkout@v6" - name: Setup CI uses: ./.github/actions/setup @@ -391,7 +391,7 @@ jobs: runs-on: [runs-on, runner=16cpu-linux-x64, disk=large, "run-id=${{ github.run_id }}"] steps: - name: "Checkout sources" - uses: "actions/checkout@v5" + uses: "actions/checkout@v6" - name: "Setup CI" uses: ./.github/actions/setup diff --git a/.github/workflows/release-plz.yml b/.github/workflows/release-plz.yml index 20e3a5aa8b..58af143461 100644 --- a/.github/workflows/release-plz.yml +++ b/.github/workflows/release-plz.yml @@ -15,13 +15,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable - name: Run release-plz - uses: MarcoIeni/release-plz-action@v0.5.117 + uses: MarcoIeni/release-plz-action@v0.5.120 with: command: release env: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 432e92c0bc..6055922c31 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: release_name: ${{ steps.release_info.outputs.release_name }} changelog: ${{ steps.build_changelog.outputs.changelog }} steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: fetch-depth: 0 @@ -96,7 +96,7 @@ jobs: # platform: win32 # arch: amd64 steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 # Install rust and go - name: Install rust @@ -197,7 +197,7 @@ jobs: needs: [release, prepare] if: success() steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Set latest release env: @@ -227,7 +227,7 @@ jobs: runs-on: "${{ matrix.runner }}" steps: - name: "Checkout source code" - uses: "actions/checkout@v5" + uses: "actions/checkout@v6" - name: "Install SP1" run: | @@ -280,7 +280,7 @@ jobs: needs: [prepare, release] if: failure() steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 # todo remove this and use GH cli to create the issue - uses: JasonEtco/create-an-issue@v2 @@ -299,7 +299,7 @@ jobs: needs: [prepare, release] if: failure() steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Delete failed release env: diff --git a/.github/workflows/suite.yml b/.github/workflows/suite.yml index 7b046451a9..bf5c756edf 100644 --- a/.github/workflows/suite.yml +++ b/.github/workflows/suite.yml @@ -39,7 +39,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -100,7 +100,7 @@ jobs: ] steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup @@ -160,7 +160,7 @@ jobs: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup CI uses: ./.github/actions/setup diff --git a/.github/workflows/toolchain-ec2.yml b/.github/workflows/toolchain-ec2.yml index 0420a3e127..8d5e30f872 100644 --- a/.github/workflows/toolchain-ec2.yml +++ b/.github/workflows/toolchain-ec2.yml @@ -82,7 +82,7 @@ jobs: fi - name: "Checkout" - uses: "actions/checkout@v5" + uses: "actions/checkout@v6" - name: "Install Rust" run: | diff --git a/Cargo.lock b/Cargo.lock index 865e3d1c22..9ddea2c1ed 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2772,20 +2772,6 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" -[[package]] -name = "downloader" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ac1e888d6830712d565b2f3a974be3200be9296bc1b03db8251a4cbf18a4a34" -dependencies = [ - "digest 0.10.7", - "futures", - "rand 0.8.5", - "reqwest", - "thiserror 1.0.69", - "tokio", -] - [[package]] name = "dunce" version = "1.0.5" @@ -5875,6 +5861,7 @@ dependencies = [ "base64 0.22.1", "bytes 1.10.1", "encoding_rs", + "futures-channel", "futures-core", "futures-util", "h2 0.4.10", @@ -6884,7 +6871,7 @@ dependencies = [ [[package]] name = "sp1-build" -version = "5.2.3" +version = "5.2.4" dependencies = [ "anyhow", "cargo_metadata", @@ -6896,7 +6883,7 @@ dependencies = [ [[package]] name = "sp1-cli" -version = "5.2.3" +version = "5.2.4" dependencies = [ "anstyle", "anyhow", @@ -6925,7 +6912,7 @@ dependencies = [ [[package]] name = "sp1-core-executor" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "bytemuck", @@ -6968,7 +6955,7 @@ dependencies = [ [[package]] name = "sp1-core-machine" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "cbindgen", @@ -7026,7 +7013,7 @@ dependencies = [ [[package]] name = "sp1-cuda" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "ctrlc", @@ -7044,7 +7031,7 @@ dependencies = [ [[package]] name = "sp1-curves" -version = "5.2.3" +version = "5.2.4" dependencies = [ "cfg-if", "dashu", @@ -7066,7 +7053,7 @@ dependencies = [ [[package]] name = "sp1-derive" -version = "5.2.3" +version = "5.2.4" dependencies = [ "quote", "syn 1.0.109", @@ -7074,7 +7061,7 @@ dependencies = [ [[package]] name = "sp1-eval" -version = "5.2.3" +version = "5.2.4" dependencies = [ "anyhow", "bincode", @@ -7092,14 +7079,14 @@ dependencies = [ [[package]] name = "sp1-helper" -version = "5.2.3" +version = "5.2.4" dependencies = [ "sp1-build", ] [[package]] name = "sp1-lib" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "elliptic-curve", @@ -7109,7 +7096,7 @@ dependencies = [ [[package]] name = "sp1-perf" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "clap", @@ -7129,7 +7116,7 @@ dependencies = [ [[package]] name = "sp1-primitives" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "blake3", @@ -7147,13 +7134,12 @@ dependencies = [ [[package]] name = "sp1-prover" -version = "5.2.3" +version = "5.2.4" dependencies = [ "anyhow", "bincode", "clap", "dirs", - "downloader", "enum-map", "eyre", "hashbrown 0.14.5", @@ -7170,6 +7156,7 @@ dependencies = [ "p3-symmetric", "p3-util", "rayon", + "reqwest", "serde", "serde_json", "serial_test", @@ -7192,7 +7179,7 @@ dependencies = [ [[package]] name = "sp1-recursion-circuit" -version = "5.2.3" +version = "5.2.4" dependencies = [ "ff 0.13.1", "hashbrown 0.14.5", @@ -7230,7 +7217,7 @@ dependencies = [ [[package]] name = "sp1-recursion-compiler" -version = "5.2.3" +version = "5.2.4" dependencies = [ "backtrace", "criterion", @@ -7255,7 +7242,7 @@ dependencies = [ [[package]] name = "sp1-recursion-core" -version = "5.2.3" +version = "5.2.4" dependencies = [ "backtrace", "cbindgen", @@ -7298,7 +7285,7 @@ dependencies = [ [[package]] name = "sp1-recursion-derive" -version = "5.2.3" +version = "5.2.4" dependencies = [ "quote", "syn 1.0.109", @@ -7306,7 +7293,7 @@ dependencies = [ [[package]] name = "sp1-recursion-gnark-cli" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "clap", @@ -7315,7 +7302,7 @@ dependencies = [ [[package]] name = "sp1-recursion-gnark-ffi" -version = "5.2.3" +version = "5.2.4" dependencies = [ "anyhow", "bincode", @@ -7339,7 +7326,7 @@ dependencies = [ [[package]] name = "sp1-sdk" -version = "5.2.3" +version = "5.2.4" dependencies = [ "alloy-primitives", "alloy-signer", @@ -7392,7 +7379,7 @@ dependencies = [ [[package]] name = "sp1-stark" -version = "5.2.3" +version = "5.2.4" dependencies = [ "arrayref", "hashbrown 0.14.5", @@ -7425,7 +7412,7 @@ dependencies = [ [[package]] name = "sp1-verifier" -version = "5.2.3" +version = "5.2.4" dependencies = [ "ark-bn254", "ark-ec", @@ -7456,7 +7443,7 @@ dependencies = [ [[package]] name = "sp1-zkvm" -version = "5.2.3" +version = "5.2.4" dependencies = [ "blake3", "cfg-if", @@ -7808,7 +7795,7 @@ dependencies = [ [[package]] name = "test-artifacts" -version = "5.2.3" +version = "5.2.4" dependencies = [ "sp1-build", ] diff --git a/Cargo.toml b/Cargo.toml index 411cf4f4b4..53bfe6619f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace.package] -version = "5.2.3" +version = "5.2.4" edition = "2021" license = "MIT OR Apache-2.0" repository = "https://github.com/succinctlabs/sp1" @@ -49,27 +49,27 @@ debug-assertions = true [workspace.dependencies] # sp1 -sp1-build = { path = "crates/build", version = "5.2.3" } -sp1-cli = { path = "crates/cli", version = "5.2.3", default-features = false } -sp1-core-machine = { path = "crates/core/machine", version = "5.2.3", default-features = false } -sp1-core-executor = { path = "crates/core/executor", version = "5.2.3" } -sp1-curves = { path = "crates/curves", version = "5.2.3" } -sp1-derive = { path = "crates/derive", version = "5.2.3" } -sp1-eval = { path = "crates/eval", version = "5.2.3" } -sp1-helper = { path = "crates/helper", version = "5.2.3", default-features = false } -sp1-primitives = { path = "crates/primitives", version = "5.2.3" } -sp1-prover = { path = "crates/prover", version = "5.2.3" } -sp1-recursion-compiler = { path = "crates/recursion/compiler", version = "5.2.3" } -sp1-recursion-core = { path = "crates/recursion/core", version = "5.2.3", default-features = false } -sp1-recursion-derive = { path = "crates/recursion/derive", version = "5.2.3", default-features = false } -sp1-recursion-gnark-ffi = { path = "crates/recursion/gnark-ffi", version = "5.2.3", default-features = false } -sp1-recursion-circuit = { path = "crates/recursion/circuit", version = "5.2.3", default-features = false } -sp1-sdk = { path = "crates/sdk", version = "5.2.3" } -sp1-cuda = { path = "crates/cuda", version = "5.2.3" } -sp1-stark = { path = "crates/stark", version = "5.2.3" } -sp1-lib = { path = "crates/zkvm/lib", version = "5.2.3", default-features = false } -sp1-zkvm = { path = "crates/zkvm/entrypoint", version = "5.2.3", default-features = false } -sp1-verifier = { path = "crates/verifier", version = "5.2.3", default-features = false } +sp1-build = { path = "crates/build", version = "5.2.4" } +sp1-cli = { path = "crates/cli", version = "5.2.4", default-features = false } +sp1-core-machine = { path = "crates/core/machine", version = "5.2.4", default-features = false } +sp1-core-executor = { path = "crates/core/executor", version = "5.2.4" } +sp1-curves = { path = "crates/curves", version = "5.2.4" } +sp1-derive = { path = "crates/derive", version = "5.2.4" } +sp1-eval = { path = "crates/eval", version = "5.2.4" } +sp1-helper = { path = "crates/helper", version = "5.2.4", default-features = false } +sp1-primitives = { path = "crates/primitives", version = "5.2.4" } +sp1-prover = { path = "crates/prover", version = "5.2.4" } +sp1-recursion-compiler = { path = "crates/recursion/compiler", version = "5.2.4" } +sp1-recursion-core = { path = "crates/recursion/core", version = "5.2.4", default-features = false } +sp1-recursion-derive = { path = "crates/recursion/derive", version = "5.2.4", default-features = false } +sp1-recursion-gnark-ffi = { path = "crates/recursion/gnark-ffi", version = "5.2.4", default-features = false } +sp1-recursion-circuit = { path = "crates/recursion/circuit", version = "5.2.4", default-features = false } +sp1-sdk = { path = "crates/sdk", version = "5.2.4" } +sp1-cuda = { path = "crates/cuda", version = "5.2.4" } +sp1-stark = { path = "crates/stark", version = "5.2.4" } +sp1-lib = { path = "crates/zkvm/lib", version = "5.2.4", default-features = false } +sp1-zkvm = { path = "crates/zkvm/entrypoint", version = "5.2.4", default-features = false } +sp1-verifier = { path = "crates/verifier", version = "5.2.4", default-features = false } # For testing. test-artifacts = { path = "crates/test-artifacts" } diff --git a/crates/core/executor/src/disassembler/elf.rs b/crates/core/executor/src/disassembler/elf.rs index d6e872d565..7223934a2e 100644 --- a/crates/core/executor/src/disassembler/elf.rs +++ b/crates/core/executor/src/disassembler/elf.rs @@ -82,7 +82,7 @@ impl Elf { } let mut instructions: Vec = Vec::new(); - let mut base_address = None; + let mut base_address: Option = None; // Data about the last segment. let mut prev_segment_end_addr = None; @@ -136,23 +136,22 @@ impl Elf { Some(vaddr.checked_add(mem_size).ok_or_eyre("last addr overflow")?); if (segment.p_flags & PF_X) != 0 { - if base_address.is_none() { - base_address = Some(vaddr); - eyre::ensure!( - base_address.unwrap() > 0x20, - "base address {} should be greater than 0x20", - base_address.unwrap() - ); - } else { + if let Some(base_address) = base_address { let instr_len: u32 = WORD_SIZE .checked_mul(instructions.len()) .ok_or_eyre("instructions length overflow")? .try_into()?; let last_instruction_addr = base_address - .unwrap() .checked_add(instr_len) .ok_or_eyre("instruction addr overflow")?; eyre::ensure!(vaddr == last_instruction_addr, "unsupported elf structure"); + } else { + base_address = Some(vaddr); + eyre::ensure!( + base_address.unwrap() > 0x20, + "base address {} should be greater than 0x20", + base_address.unwrap() + ); } } diff --git a/crates/core/executor/src/syscalls/unconstrained.rs b/crates/core/executor/src/syscalls/unconstrained.rs index 7abf6c8511..0e94b87c4f 100644 --- a/crates/core/executor/src/syscalls/unconstrained.rs +++ b/crates/core/executor/src/syscalls/unconstrained.rs @@ -12,7 +12,7 @@ impl Syscall for EnterUnconstrainedSyscall { panic!("Unconstrained block is already active."); } ctx.rt.unconstrained = true; - ctx.rt.unconstrained_state = Box::new(ForkState { + *ctx.rt.unconstrained_state = ForkState { global_clk: ctx.rt.state.global_clk, clk: ctx.rt.state.clk, pc: ctx.rt.state.pc, @@ -21,7 +21,7 @@ impl Syscall for EnterUnconstrainedSyscall { op_record: std::mem::take(&mut ctx.rt.memory_accesses), executor_mode: ctx.rt.executor_mode, total_unconstrained_cycles: ctx.rt.unconstrained_state.total_unconstrained_cycles, - }); + }; ctx.rt.executor_mode = ExecutorMode::Simple; Some(1) } @@ -55,7 +55,7 @@ impl Syscall for ExitUnconstrainedSyscall { ctx.rt.unconstrained = false; } - ctx.rt.unconstrained_state = Box::new(ForkState::default()); + *ctx.rt.unconstrained_state = ForkState::default(); // Persist the total number of unconstrained cycles. ctx.rt.unconstrained_state.total_unconstrained_cycles = total_unconstrained_cycles; diff --git a/crates/core/machine/src/alu/add_sub/mod.rs b/crates/core/machine/src/alu/add_sub/mod.rs index 626af8aa16..63f531d739 100644 --- a/crates/core/machine/src/alu/add_sub/mod.rs +++ b/crates/core/machine/src/alu/add_sub/mod.rs @@ -464,8 +464,8 @@ mod tests { )> { let mut malicious_record = record.clone(); malicious_record.cpu_events[0].a = op_a; - if let Some(MemoryRecordEnum::Write(mut write_record)) = - malicious_record.cpu_events[0].a_record + if let Some(MemoryRecordEnum::Write(write_record)) = + malicious_record.cpu_events[0].a_record.as_mut() { write_record.value = op_a; } diff --git a/crates/core/machine/src/alu/bitwise/mod.rs b/crates/core/machine/src/alu/bitwise/mod.rs index 536fc89ad8..590149d2f3 100644 --- a/crates/core/machine/src/alu/bitwise/mod.rs +++ b/crates/core/machine/src/alu/bitwise/mod.rs @@ -333,8 +333,8 @@ mod tests { )> { let mut malicious_record = record.clone(); malicious_record.cpu_events[0].a = op_a; - if let Some(MemoryRecordEnum::Write(mut write_record)) = - malicious_record.cpu_events[0].a_record + if let Some(MemoryRecordEnum::Write(write_record)) = + malicious_record.cpu_events[0].a_record.as_mut() { write_record.value = op_a; } diff --git a/crates/core/machine/src/alu/divrem/mod.rs b/crates/core/machine/src/alu/divrem/mod.rs index 835812f0cb..ea3f7b4548 100644 --- a/crates/core/machine/src/alu/divrem/mod.rs +++ b/crates/core/machine/src/alu/divrem/mod.rs @@ -977,8 +977,8 @@ mod tests { )> { let mut malicious_record = record.clone(); malicious_record.cpu_events[0].a = op_a; - if let Some(MemoryRecordEnum::Write(mut write_record)) = - malicious_record.cpu_events[0].a_record + if let Some(MemoryRecordEnum::Write(write_record)) = + malicious_record.cpu_events[0].a_record.as_mut() { write_record.value = op_a; } diff --git a/crates/core/machine/src/alu/lt/mod.rs b/crates/core/machine/src/alu/lt/mod.rs index 862d832f5e..c58f6fc065 100644 --- a/crates/core/machine/src/alu/lt/mod.rs +++ b/crates/core/machine/src/alu/lt/mod.rs @@ -601,8 +601,8 @@ mod tests { )> { let mut malicious_record = record.clone(); malicious_record.cpu_events[0].a = op_a as u32; - if let Some(MemoryRecordEnum::Write(mut write_record)) = - malicious_record.cpu_events[0].a_record + if let Some(MemoryRecordEnum::Write(write_record)) = + malicious_record.cpu_events[0].a_record.as_mut() { write_record.value = op_a as u32; } diff --git a/crates/core/machine/src/alu/mul/mod.rs b/crates/core/machine/src/alu/mul/mod.rs index 77892fad0e..3a0b158f7b 100644 --- a/crates/core/machine/src/alu/mul/mod.rs +++ b/crates/core/machine/src/alu/mul/mod.rs @@ -645,8 +645,8 @@ mod tests { )> { let mut malicious_record = record.clone(); malicious_record.cpu_events[0].a = op_a as u32; - if let Some(MemoryRecordEnum::Write(mut write_record)) = - malicious_record.cpu_events[0].a_record + if let Some(MemoryRecordEnum::Write(write_record)) = + malicious_record.cpu_events[0].a_record.as_mut() { write_record.value = op_a as u32; } diff --git a/crates/core/machine/src/alu/sll/mod.rs b/crates/core/machine/src/alu/sll/mod.rs index 6d84f6be20..e79ec21e9d 100644 --- a/crates/core/machine/src/alu/sll/mod.rs +++ b/crates/core/machine/src/alu/sll/mod.rs @@ -530,8 +530,8 @@ mod tests { -> Vec<(String, RowMajorMatrix>)> { let mut malicious_record = record.clone(); malicious_record.cpu_events[0].a = op_a as u32; - if let Some(MemoryRecordEnum::Write(mut write_record)) = - malicious_record.cpu_events[0].a_record + if let Some(MemoryRecordEnum::Write(write_record)) = + malicious_record.cpu_events[0].a_record.as_mut() { write_record.value = op_a as u32; } diff --git a/crates/core/machine/src/alu/sr/mod.rs b/crates/core/machine/src/alu/sr/mod.rs index 1a3662b801..5d3cedb4ca 100644 --- a/crates/core/machine/src/alu/sr/mod.rs +++ b/crates/core/machine/src/alu/sr/mod.rs @@ -672,8 +672,8 @@ mod tests { )> { let mut malicious_record = record.clone(); malicious_record.cpu_events[0].a = op_a as u32; - if let Some(MemoryRecordEnum::Write(mut write_record)) = - malicious_record.cpu_events[0].a_record + if let Some(MemoryRecordEnum::Write(write_record)) = + malicious_record.cpu_events[0].a_record.as_mut() { write_record.value = op_a as u32; } diff --git a/crates/core/machine/src/operations/add.rs b/crates/core/machine/src/operations/add.rs index 428a6ca631..91dd364653 100644 --- a/crates/core/machine/src/operations/add.rs +++ b/crates/core/machine/src/operations/add.rs @@ -19,6 +19,7 @@ pub struct AddOperation { } impl AddOperation { + #[allow(unused_assignments)] pub fn populate(&mut self, record: &mut impl ByteRecord, a_u32: u32, b_u32: u32) -> u32 { let expected = a_u32.wrapping_add(b_u32); self.value = Word::from(expected); diff --git a/crates/cuda/src/lib.rs b/crates/cuda/src/lib.rs index 8bba067ef2..803d63c156 100644 --- a/crates/cuda/src/lib.rs +++ b/crates/cuda/src/lib.rs @@ -204,7 +204,7 @@ impl SP1CudaProver { // If the moongate endpoint url hasn't been provided, we start the Docker container let container_name = port.map(|p| format!("sp1-gpu-{p}")).unwrap_or("sp1-gpu".to_string()); let image_name = std::env::var("SP1_GPU_IMAGE") - .unwrap_or_else(|_| "public.ecr.aws/succinct-labs/moongate:v5.0.8".to_string()); + .unwrap_or_else(|_| "public.ecr.aws/succinct-labs/sp1-gpu:8fd1ef7".to_string()); let cleaned_up = Arc::new(AtomicBool::new(false)); let port = port.unwrap_or(3000); diff --git a/crates/eval/src/lib.rs b/crates/eval/src/lib.rs index 6bccc6ad22..0695b180b4 100644 --- a/crates/eval/src/lib.rs +++ b/crates/eval/src/lib.rs @@ -1,5 +1,5 @@ use anyhow::Result; -use clap::{command, Parser}; +use clap::Parser; use reqwest::Client; use serde::Serialize; use serde_json::json; diff --git a/crates/perf/src/executor.rs b/crates/perf/src/executor.rs index c91c050d9c..a3ed5bdd21 100644 --- a/crates/perf/src/executor.rs +++ b/crates/perf/src/executor.rs @@ -1,6 +1,6 @@ use std::time::{Duration, Instant}; -use clap::{command, Parser}; +use clap::Parser; use p3_baby_bear::BabyBear; use sp1_core_executor::{Executor, ExecutorMode, Program}; use sp1_core_machine::shape::CoreShapeConfig; diff --git a/crates/perf/src/main.rs b/crates/perf/src/main.rs index 1944db771a..3073a92343 100644 --- a/crates/perf/src/main.rs +++ b/crates/perf/src/main.rs @@ -1,6 +1,6 @@ use std::time::{Duration, Instant}; -use clap::{command, Parser}; +use clap::Parser; use rand::Rng; use sp1_cuda::{MoongateServer, SP1CudaProver}; use sp1_prover::{components::CpuProverComponents, HashableKey, ProverMode}; diff --git a/crates/prover/Cargo.toml b/crates/prover/Cargo.toml index e201209731..3ba2fbaad8 100644 --- a/crates/prover/Cargo.toml +++ b/crates/prover/Cargo.toml @@ -11,21 +11,22 @@ categories = { workspace = true } exclude = ["src/vk_map.bin"] [dependencies] -p3-matrix = { workspace = true } sp1-recursion-compiler = { workspace = true } sp1-recursion-core = { workspace = true, default-features = true } sp1-recursion-circuit = { workspace = true } sp1-recursion-gnark-ffi = { workspace = true } sp1-core-machine = { workspace = true, default-features = true } sp1-stark = { workspace = true } -p3-symmetric = { workspace = true } sp1-core-executor = { workspace = true } sp1-primitives = { workspace = true } +sp1-verifier = { workspace = true } p3-field = { workspace = true } p3-challenger = { workspace = true } p3-baby-bear = { workspace = true } p3-bn254-fr = { workspace = true } p3-commit = { workspace = true } +p3-matrix = { workspace = true } +p3-symmetric = { workspace = true } p3-util = { workspace = true } bincode = "1.3.3" serde = { workspace = true, features = ["derive", "rc"] } @@ -47,9 +48,9 @@ hashbrown = { workspace = true, features = ["inline-more"] } enum-map = { version = "2.7.3" } [build-dependencies] -downloader = { version = "0.2", default-features = false, features = [ +reqwest = { version = "0.12", default-features = false, features = [ "rustls-tls", - "verify", + "blocking", ] } sha2 = { version = "0.10" } hex = "0.4" diff --git a/crates/prover/build.rs b/crates/prover/build.rs index cfffb8bb99..dda51ae954 100644 --- a/crates/prover/build.rs +++ b/crates/prover/build.rs @@ -1,10 +1,10 @@ use std::{ env, fs, + io::Write, path::{Path, PathBuf}, str::FromStr, }; -use downloader::{verify, Download, DownloadSummary, Downloader}; use sha2::{Digest, Sha256}; const FILENAME: &str = "vk_map.bin"; @@ -48,15 +48,25 @@ fn main() { return; } - let mut downloader = Downloader::builder().download_folder(out_dir).build().unwrap(); - let url = "https://sp1-circuits.s3.us-east-2.amazonaws.com/vk-map-v5.0.0".to_string(); + let url = "https://sp1-circuits.s3.us-east-2.amazonaws.com/vk-map-v5.0.0"; eprintln!("Downloading {url}"); - let dl = Download::new(&url) - .file_name(&PathBuf::from_str(FILENAME).unwrap()) - .verify(verify::with_digest::(hex::decode(SHA256_HASH).unwrap())); - let results = downloader.download(&[dl]).unwrap(); - for result in results { - let summary: DownloadSummary = result.unwrap(); - eprintln!("{summary}"); + + let client = reqwest::blocking::Client::builder().use_rustls_tls().build().unwrap(); + + let response = client.get(url).send().unwrap(); + if !response.status().is_success() { + panic!("Failed to download file: HTTP {}", response.status()); } + + let bytes = response.bytes().unwrap(); + + let computed_hash = hex::encode(Sha256::digest(&bytes)); + if computed_hash != SHA256_HASH { + panic!("SHA256 mismatch: expected {}, got {}", SHA256_HASH, computed_hash); + } + + let mut file = fs::File::create(&out_path).unwrap(); + file.write_all(&bytes).unwrap(); + + eprintln!("Successfully downloaded and verified {} ({} bytes)", FILENAME, bytes.len()); } diff --git a/crates/sdk/src/network/client.rs b/crates/sdk/src/network/client.rs index 078e910d81..a8616b9a16 100644 --- a/crates/sdk/src/network/client.rs +++ b/crates/sdk/src/network/client.rs @@ -529,21 +529,44 @@ impl NetworkClient { request_id: B256, timeout: Option, ) -> Result { - let res = self - .with_retry_timeout( - || async { - let mut rpc = self.prover_network_client().await?; - Ok(rpc - .get_proof_request_details(GetProofRequestDetailsRequest { - request_id: request_id.to_vec(), - }) - .await? - .into_inner()) - }, - timeout.unwrap_or(DEFAULT_RETRY_TIMEOUT), - "getting proof request details", - ) - .await?; + let res = match self.network_mode { + NetworkMode::Mainnet => { + self.with_retry_timeout( + || async { + let mut rpc = self.auction_prover_network_client().await?; + Ok(rpc + .get_proof_request_details(GetProofRequestDetailsRequest { + request_id: request_id.to_vec(), + }) + .await? + .into_inner()) + }, + timeout.unwrap_or(DEFAULT_RETRY_TIMEOUT), + "getting proof request details", + ) + .await? + } + NetworkMode::Reserved => { + let base_response = self + .with_retry_timeout( + || async { + let mut rpc = self.base_prover_network_client().await?; + Ok(rpc + .get_proof_request_details( + crate::network::proto::base_types::GetProofRequestDetailsRequest { + request_id: request_id.to_vec(), + }, + ) + .await? + .into_inner()) + }, + timeout.unwrap_or(DEFAULT_RETRY_TIMEOUT), + "getting proof request details", + ) + .await?; + Self::convert_base_to_auction_response(base_response) + } + }; Ok(res) } @@ -841,6 +864,58 @@ impl NetworkClient { NetworkMode::Reserved => Ok(CancelRequestResponse::Unsupported), } } + + /// Convert a base (reserved) `GetProofRequestDetailsResponse` to auction format. + /// + /// This is necessary because the public API returns the auction type by default, + /// but the reserved network uses a different `ProofRequest` schema. + fn convert_base_to_auction_response( + base_response: crate::network::proto::base_types::GetProofRequestDetailsResponse, + ) -> GetProofRequestDetailsResponse { + GetProofRequestDetailsResponse { + request: base_response.request.map(|base_req| { + crate::network::proto::auction_types::ProofRequest { + request_id: base_req.request_id, + vk_hash: base_req.vk_hash, + version: base_req.version, + mode: base_req.mode, + strategy: base_req.strategy, + program_uri: base_req.program_uri, + stdin_uri: base_req.stdin_uri, + deadline: base_req.deadline, + cycle_limit: base_req.cycle_limit, + gas_price: base_req.gas_price, + fulfillment_status: base_req.fulfillment_status, + execution_status: base_req.execution_status, + requester: base_req.requester, + fulfiller: base_req.fulfiller, + program_name: base_req.program_name, + requester_name: base_req.requester_name, + fulfiller_name: base_req.fulfiller_name, + created_at: base_req.created_at, + updated_at: base_req.updated_at, + fulfilled_at: base_req.fulfilled_at, + tx_hash: base_req.tx_hash, + cycles: base_req.cycles, + public_values_hash: base_req.public_values_hash, + deduction_amount: base_req.deduction_amount, + refund_amount: base_req.refund_amount, + gas_limit: base_req.gas_limit, + gas_used: base_req.gas_used, + execute_fail_cause: base_req.execute_fail_cause, + settlement_status: base_req.settlement_status, + program_public_uri: base_req.program_public_uri, + stdin_public_uri: base_req.stdin_public_uri, + min_auction_period: base_req.min_auction_period, + whitelist: base_req.whitelist, + // Auction-only fields not present in base - set to None/default + base_fee: None, + max_price_per_pgu: None, + error: base_req.error, + } + }), + } + } } #[cfg(test)] diff --git a/crates/sdk/src/network/prover.rs b/crates/sdk/src/network/prover.rs index 98dfe1c40f..31b199b2f0 100644 --- a/crates/sdk/src/network/prover.rs +++ b/crates/sdk/src/network/prover.rs @@ -516,11 +516,7 @@ impl NetworkProver { } let remaining_timeout = timeout.map(|t| { let elapsed = start_time.elapsed(); - if elapsed < t { - t - elapsed - } else { - Duration::from_secs(0) - } + t.checked_sub(elapsed).unwrap_or_default() }); let (maybe_proof, fulfillment_status) = diff --git a/crates/test-artifacts/programs/Cargo.lock b/crates/test-artifacts/programs/Cargo.lock index 400017f185..59b927ce87 100644 --- a/crates/test-artifacts/programs/Cargo.lock +++ b/crates/test-artifacts/programs/Cargo.lock @@ -346,7 +346,7 @@ version = "1.1.0" dependencies = [ "common-test-utils", "sp1-curves", - "sp1-lib 5.2.3", + "sp1-lib 5.2.4", "sp1-zkvm", ] @@ -389,7 +389,7 @@ name = "bls12381-mul-test" version = "1.1.0" dependencies = [ "sp1-derive", - "sp1-lib 5.2.3", + "sp1-lib 5.2.4", "sp1-zkvm", ] @@ -399,7 +399,7 @@ version = "1.1.0" dependencies = [ "common-test-utils", "sp1-curves", - "sp1-lib 5.2.3", + "sp1-lib 5.2.4", "sp1-zkvm", ] @@ -442,7 +442,7 @@ name = "bn254-mul-test" version = "1.1.0" dependencies = [ "sp1-derive", - "sp1-lib 5.2.3", + "sp1-lib 5.2.4", "sp1-zkvm", ] @@ -512,7 +512,7 @@ name = "common-test-utils" version = "1.1.0" dependencies = [ "num-bigint", - "sp1-lib 5.2.3", + "sp1-lib 5.2.4", ] [[package]] @@ -2347,7 +2347,7 @@ version = "1.1.0" dependencies = [ "common-test-utils", "sp1-curves", - "sp1-lib 5.2.3", + "sp1-lib 5.2.4", "sp1-zkvm", ] @@ -2383,7 +2383,7 @@ dependencies = [ "num", "p256", "sp1-curves", - "sp1-lib 5.2.3", + "sp1-lib 5.2.4", "sp1-zkvm", ] @@ -2404,7 +2404,7 @@ dependencies = [ "num", "p256", "sp1-curves", - "sp1-lib 5.2.3", + "sp1-lib 5.2.4", "sp1-zkvm", ] @@ -2619,7 +2619,7 @@ dependencies = [ [[package]] name = "sp1-curves" -version = "5.2.3" +version = "5.2.4" dependencies = [ "cfg-if", "dashu", @@ -2639,7 +2639,7 @@ dependencies = [ [[package]] name = "sp1-derive" -version = "5.2.3" +version = "5.2.4" dependencies = [ "quote", "syn 1.0.109", @@ -2657,7 +2657,7 @@ dependencies = [ [[package]] name = "sp1-lib" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "elliptic-curve", @@ -2667,7 +2667,7 @@ dependencies = [ [[package]] name = "sp1-primitives" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "blake3", @@ -2685,7 +2685,7 @@ dependencies = [ [[package]] name = "sp1-stark" -version = "5.2.3" +version = "5.2.4" dependencies = [ "arrayref", "hashbrown 0.14.5", @@ -2717,7 +2717,7 @@ dependencies = [ [[package]] name = "sp1-zkvm" -version = "5.2.3" +version = "5.2.4" dependencies = [ "cfg-if", "getrandom 0.2.16", @@ -2728,7 +2728,7 @@ dependencies = [ "p3-field", "rand 0.8.5", "sha2 0.10.9", - "sp1-lib 5.2.3", + "sp1-lib 5.2.4", "sp1-primitives", ] diff --git a/crates/test-artifacts/programs/fibonacci-blake3/Cargo.lock b/crates/test-artifacts/programs/fibonacci-blake3/Cargo.lock index a2d93a5e6b..40e2a5f422 100644 --- a/crates/test-artifacts/programs/fibonacci-blake3/Cargo.lock +++ b/crates/test-artifacts/programs/fibonacci-blake3/Cargo.lock @@ -446,7 +446,7 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "sp1-lib" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "serde", @@ -455,7 +455,7 @@ dependencies = [ [[package]] name = "sp1-primitives" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "blake3", @@ -473,7 +473,7 @@ dependencies = [ [[package]] name = "sp1-zkvm" -version = "5.2.3" +version = "5.2.4" dependencies = [ "blake3", "cfg-if", diff --git a/crates/verifier/guest-verify-programs/Cargo.lock b/crates/verifier/guest-verify-programs/Cargo.lock index da12ad3f9e..1a7883e74d 100644 --- a/crates/verifier/guest-verify-programs/Cargo.lock +++ b/crates/verifier/guest-verify-programs/Cargo.lock @@ -596,7 +596,7 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "sp1-lib" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "elliptic-curve", @@ -606,7 +606,7 @@ dependencies = [ [[package]] name = "sp1-primitives" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "blake3", @@ -624,7 +624,7 @@ dependencies = [ [[package]] name = "sp1-verifier" -version = "5.2.3" +version = "5.2.4" dependencies = [ "blake3", "cfg-if", @@ -637,7 +637,7 @@ dependencies = [ [[package]] name = "sp1-zkvm" -version = "5.2.3" +version = "5.2.4" dependencies = [ "blake3", "cfg-if", diff --git a/examples/Cargo.lock b/examples/Cargo.lock index 74042338a4..8bdaae20e7 100644 --- a/examples/Cargo.lock +++ b/examples/Cargo.lock @@ -2265,20 +2265,6 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" -[[package]] -name = "downloader" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ac1e888d6830712d565b2f3a974be3200be9296bc1b03db8251a4cbf18a4a34" -dependencies = [ - "digest 0.10.7", - "futures", - "rand 0.8.5", - "reqwest", - "thiserror 1.0.69", - "tokio", -] - [[package]] name = "dunce" version = "1.0.5" @@ -4985,6 +4971,7 @@ checksum = "e98ff6b0dbbe4d5a37318f433d4fc82babd21631f194d370409ceb2e40b2f0b5" dependencies = [ "base64 0.22.1", "bytes", + "futures-channel", "futures-core", "futures-util", "http 1.3.1", @@ -5833,7 +5820,7 @@ dependencies = [ [[package]] name = "sp1-build" -version = "5.2.3" +version = "5.2.4" dependencies = [ "anyhow", "cargo_metadata", @@ -5845,7 +5832,7 @@ dependencies = [ [[package]] name = "sp1-core-executor" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "bytemuck", @@ -5882,7 +5869,7 @@ dependencies = [ [[package]] name = "sp1-core-machine" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "cbindgen", @@ -5936,7 +5923,7 @@ dependencies = [ [[package]] name = "sp1-cuda" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "ctrlc", @@ -5951,7 +5938,7 @@ dependencies = [ [[package]] name = "sp1-curves" -version = "5.2.3" +version = "5.2.4" dependencies = [ "cfg-if", "dashu", @@ -5971,7 +5958,7 @@ dependencies = [ [[package]] name = "sp1-derive" -version = "5.2.3" +version = "5.2.4" dependencies = [ "quote", "syn 1.0.109", @@ -5979,7 +5966,7 @@ dependencies = [ [[package]] name = "sp1-lib" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "elliptic-curve", @@ -5989,7 +5976,7 @@ dependencies = [ [[package]] name = "sp1-primitives" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "blake3", @@ -6007,13 +5994,12 @@ dependencies = [ [[package]] name = "sp1-prover" -version = "5.2.3" +version = "5.2.4" dependencies = [ "anyhow", "bincode", "clap", "dirs", - "downloader", "enum-map", "eyre", "hashbrown 0.14.5", @@ -6030,6 +6016,7 @@ dependencies = [ "p3-symmetric", "p3-util", "rayon", + "reqwest", "serde", "serde_json", "serial_test", @@ -6042,6 +6029,7 @@ dependencies = [ "sp1-recursion-core", "sp1-recursion-gnark-ffi", "sp1-stark", + "sp1-verifier", "thiserror 1.0.69", "tracing", "tracing-appender", @@ -6050,7 +6038,7 @@ dependencies = [ [[package]] name = "sp1-recursion-circuit" -version = "5.2.3" +version = "5.2.4" dependencies = [ "hashbrown 0.14.5", "itertools 0.13.0", @@ -6083,7 +6071,7 @@ dependencies = [ [[package]] name = "sp1-recursion-compiler" -version = "5.2.3" +version = "5.2.4" dependencies = [ "backtrace", "itertools 0.13.0", @@ -6103,7 +6091,7 @@ dependencies = [ [[package]] name = "sp1-recursion-core" -version = "5.2.3" +version = "5.2.4" dependencies = [ "backtrace", "cbindgen", @@ -6144,7 +6132,7 @@ dependencies = [ [[package]] name = "sp1-recursion-derive" -version = "5.2.3" +version = "5.2.4" dependencies = [ "quote", "syn 1.0.109", @@ -6152,7 +6140,7 @@ dependencies = [ [[package]] name = "sp1-recursion-gnark-ffi" -version = "5.2.3" +version = "5.2.4" dependencies = [ "anyhow", "bincode", @@ -6176,7 +6164,7 @@ dependencies = [ [[package]] name = "sp1-sdk" -version = "5.2.3" +version = "5.2.4" dependencies = [ "alloy-primitives 1.1.2", "alloy-signer", @@ -6227,7 +6215,7 @@ dependencies = [ [[package]] name = "sp1-stark" -version = "5.2.3" +version = "5.2.4" dependencies = [ "arrayref", "hashbrown 0.14.5", @@ -6259,7 +6247,7 @@ dependencies = [ [[package]] name = "sp1-verifier" -version = "5.2.3" +version = "5.2.4" dependencies = [ "blake3", "cfg-if", @@ -6272,7 +6260,7 @@ dependencies = [ [[package]] name = "sp1-zkvm" -version = "5.2.3" +version = "5.2.4" dependencies = [ "cfg-if", "critical-section", diff --git a/patch-testing/Cargo.lock b/patch-testing/Cargo.lock index 8f25611a98..d2e5651d01 100644 --- a/patch-testing/Cargo.lock +++ b/patch-testing/Cargo.lock @@ -1244,20 +1244,6 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" -[[package]] -name = "downloader" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ac1e888d6830712d565b2f3a974be3200be9296bc1b03db8251a4cbf18a4a34" -dependencies = [ - "digest 0.10.7", - "futures", - "rand 0.8.5", - "reqwest", - "thiserror 1.0.69", - "tokio", -] - [[package]] name = "dunce" version = "1.0.5" @@ -3548,7 +3534,9 @@ dependencies = [ "base64", "bytes", "encoding_rs", + "futures-channel", "futures-core", + "futures-util", "h2", "http", "http-body", @@ -4194,7 +4182,7 @@ dependencies = [ [[package]] name = "sp1-build" -version = "5.2.3" +version = "5.2.4" dependencies = [ "anyhow", "cargo_metadata", @@ -4206,7 +4194,7 @@ dependencies = [ [[package]] name = "sp1-core-executor" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "bytemuck", @@ -4243,7 +4231,7 @@ dependencies = [ [[package]] name = "sp1-core-machine" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "cbindgen", @@ -4297,7 +4285,7 @@ dependencies = [ [[package]] name = "sp1-cuda" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "ctrlc", @@ -4312,7 +4300,7 @@ dependencies = [ [[package]] name = "sp1-curves" -version = "5.2.3" +version = "5.2.4" dependencies = [ "cfg-if", "dashu", @@ -4332,7 +4320,7 @@ dependencies = [ [[package]] name = "sp1-derive" -version = "5.2.3" +version = "5.2.4" dependencies = [ "quote", "syn 1.0.109", @@ -4340,7 +4328,7 @@ dependencies = [ [[package]] name = "sp1-lib" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "elliptic-curve", @@ -4350,7 +4338,7 @@ dependencies = [ [[package]] name = "sp1-primitives" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "blake3", @@ -4368,13 +4356,12 @@ dependencies = [ [[package]] name = "sp1-prover" -version = "5.2.3" +version = "5.2.4" dependencies = [ "anyhow", "bincode", "clap", "dirs", - "downloader", "enum-map", "eyre", "hashbrown 0.14.5", @@ -4391,6 +4378,7 @@ dependencies = [ "p3-symmetric", "p3-util", "rayon", + "reqwest", "serde", "serde_json", "serial_test", @@ -4403,6 +4391,7 @@ dependencies = [ "sp1-recursion-core", "sp1-recursion-gnark-ffi", "sp1-stark", + "sp1-verifier", "thiserror 1.0.69", "tracing", "tracing-appender", @@ -4411,7 +4400,7 @@ dependencies = [ [[package]] name = "sp1-recursion-circuit" -version = "5.2.3" +version = "5.2.4" dependencies = [ "hashbrown 0.14.5", "itertools 0.13.0", @@ -4444,7 +4433,7 @@ dependencies = [ [[package]] name = "sp1-recursion-compiler" -version = "5.2.3" +version = "5.2.4" dependencies = [ "backtrace", "itertools 0.13.0", @@ -4464,7 +4453,7 @@ dependencies = [ [[package]] name = "sp1-recursion-core" -version = "5.2.3" +version = "5.2.4" dependencies = [ "backtrace", "cbindgen", @@ -4505,7 +4494,7 @@ dependencies = [ [[package]] name = "sp1-recursion-derive" -version = "5.2.3" +version = "5.2.4" dependencies = [ "quote", "syn 1.0.109", @@ -4513,7 +4502,7 @@ dependencies = [ [[package]] name = "sp1-recursion-gnark-ffi" -version = "5.2.3" +version = "5.2.4" dependencies = [ "anyhow", "bincode", @@ -4537,7 +4526,7 @@ dependencies = [ [[package]] name = "sp1-sdk" -version = "5.2.3" +version = "5.2.4" dependencies = [ "alloy-sol-types", "anyhow", @@ -4571,7 +4560,7 @@ dependencies = [ [[package]] name = "sp1-stark" -version = "5.2.3" +version = "5.2.4" dependencies = [ "arrayref", "hashbrown 0.14.5", @@ -4626,9 +4615,22 @@ dependencies = [ "syn 2.0.106", ] +[[package]] +name = "sp1-verifier" +version = "5.2.4" +dependencies = [ + "blake3", + "cfg-if", + "hex", + "lazy_static", + "sha2 0.10.9", + "substrate-bn-succinct", + "thiserror 2.0.16", +] + [[package]] name = "sp1-zkvm" -version = "5.2.3" +version = "5.2.4" dependencies = [ "cfg-if", "getrandom 0.2.16", @@ -4738,6 +4740,23 @@ dependencies = [ "sp1-lib", ] +[[package]] +name = "substrate-bn-succinct" +version = "0.6.0-v5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ba32f1b74728f92887c3ad17c42bf82998eb52c9091018f35294e9cd388b0c8" +dependencies = [ + "bytemuck", + "byteorder", + "cfg-if", + "crunchy", + "lazy_static", + "num-bigint 0.4.6", + "rand 0.8.5", + "rustc-hex", + "sp1-lib", +] + [[package]] name = "subtle" version = "2.6.1" diff --git a/patch-testing/secp256k1/program-v0.29.1/Cargo.lock b/patch-testing/secp256k1/program-v0.29.1/Cargo.lock index fe3be9042f..e493fd49fc 100644 --- a/patch-testing/secp256k1/program-v0.29.1/Cargo.lock +++ b/patch-testing/secp256k1/program-v0.29.1/Cargo.lock @@ -640,7 +640,7 @@ dependencies = [ [[package]] name = "sp1-lib" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "elliptic-curve", @@ -650,7 +650,7 @@ dependencies = [ [[package]] name = "sp1-primitives" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "blake3", @@ -668,7 +668,7 @@ dependencies = [ [[package]] name = "sp1-zkvm" -version = "5.2.3" +version = "5.2.4" dependencies = [ "cfg-if", "getrandom 0.2.15", diff --git a/patch-testing/secp256k1/program-v0.30.0/Cargo.lock b/patch-testing/secp256k1/program-v0.30.0/Cargo.lock index dbd8960126..b25e0aeceb 100644 --- a/patch-testing/secp256k1/program-v0.30.0/Cargo.lock +++ b/patch-testing/secp256k1/program-v0.30.0/Cargo.lock @@ -667,7 +667,7 @@ dependencies = [ [[package]] name = "sp1-lib" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "elliptic-curve", @@ -677,7 +677,7 @@ dependencies = [ [[package]] name = "sp1-primitives" -version = "5.2.3" +version = "5.2.4" dependencies = [ "bincode", "blake3", @@ -695,7 +695,7 @@ dependencies = [ [[package]] name = "sp1-zkvm" -version = "5.2.3" +version = "5.2.4" dependencies = [ "cfg-if", "getrandom 0.2.15",