diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e6173197b2..3d394cef02 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -147,7 +147,7 @@ jobs: [[ "$target" == *windows* ]] && exe=".exe" - cargo build --release -p curta-cli --target "$target" "${flags[@]}" + cargo build --release -p sp1-cli --target "$target" "${flags[@]}" bins=(cargo-prove) for name in "${bins[@]}"; do diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c49e4512ee..4ab925c08f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -50,7 +50,7 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: -p curta-core --release + args: -p sp1-core --release env: RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 RUST_LOG: 1 diff --git a/Cargo.lock b/Cargo.lock index 1aefe07581..9233596b7a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -492,104 +492,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-cli" -version = "0.1.0" -dependencies = [ - "anyhow", - "cargo_metadata", - "clap", - "curta-core", - "dirs", - "downloader", - "flate2", - "futures-util", - "hex", - "indicatif", - "rand", - "reqwest", - "serde", - "serde_json", - "tar", - "tokio", - "vergen", - "yansi", -] - -[[package]] -name = "curta-core" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "clap", - "criterion", - "curta-derive", - "curve25519-dalek", - "elf", - "elliptic-curve", - "flate2", - "hex", - "itertools 0.12.1", - "k256", - "lazy_static", - "log", - "nohash-hasher", - "num", - "p3-air", - "p3-baby-bear", - "p3-blake3", - "p3-challenger", - "p3-commit", - "p3-dft", - "p3-field", - "p3-fri", - "p3-goldilocks", - "p3-keccak", - "p3-keccak-air", - "p3-matrix", - "p3-maybe-rayon", - "p3-mds", - "p3-merkle-tree", - "p3-poseidon2", - "p3-symmetric", - "p3-uni-stark", - "p3-util", - "rand", - "rrs-lib", - "serde", - "serde_json", - "serial_test", - "size", - "tempfile", - "tracing", - "tracing-forest", - "tracing-log", - "tracing-subscriber", -] - -[[package]] -name = "curta-derive" -version = "0.1.0" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "curve25519-dalek" version = "4.0.0" @@ -718,7 +620,7 @@ dependencies = [ name = "ed25519-example" version = "0.1.0" dependencies = [ - "curta-core", + "sp1-core", ] [[package]] @@ -811,7 +713,7 @@ checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77" name = "fibonacci-io-example" version = "0.1.0" dependencies = [ - "curta-core", + "sp1-core", ] [[package]] @@ -1255,7 +1157,7 @@ dependencies = [ name = "json-decoder-script" version = "0.1.0" dependencies = [ - "curta-core", + "sp1-core", ] [[package]] @@ -2114,7 +2016,7 @@ dependencies = [ name = "regex-example" version = "0.1.0" dependencies = [ - "curta-core", + "sp1-core", ] [[package]] @@ -2498,6 +2400,104 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "sp1-cli" +version = "0.1.0" +dependencies = [ + "anyhow", + "cargo_metadata", + "clap", + "dirs", + "downloader", + "flate2", + "futures-util", + "hex", + "indicatif", + "rand", + "reqwest", + "serde", + "serde_json", + "sp1-core", + "tar", + "tokio", + "vergen", + "yansi", +] + +[[package]] +name = "sp1-core" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "clap", + "criterion", + "curve25519-dalek", + "elf", + "elliptic-curve", + "flate2", + "hex", + "itertools 0.12.1", + "k256", + "lazy_static", + "log", + "nohash-hasher", + "num", + "p3-air", + "p3-baby-bear", + "p3-blake3", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-fri", + "p3-goldilocks", + "p3-keccak", + "p3-keccak-air", + "p3-matrix", + "p3-maybe-rayon", + "p3-mds", + "p3-merkle-tree", + "p3-poseidon2", + "p3-symmetric", + "p3-uni-stark", + "p3-util", + "rand", + "rrs-lib", + "serde", + "serde_json", + "serial_test", + "size", + "sp1-derive", + "tempfile", + "tracing", + "tracing-forest", + "tracing-log", + "tracing-subscriber", +] + +[[package]] +name = "sp1-derive" +version = "0.1.0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spin" version = "0.9.8" @@ -2518,7 +2518,7 @@ dependencies = [ name = "ssz" version = "0.1.0" dependencies = [ - "curta-core", + "sp1-core", ] [[package]] @@ -2615,7 +2615,7 @@ dependencies = [ name = "tendermint-example" version = "0.1.0" dependencies = [ - "curta-core", + "sp1-core", ] [[package]] diff --git a/README.md b/README.md index e6a0c6df9e..f44a0ae715 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,28 @@ -# Curta +# SP1 [![Telegram Chat][tg-badge]][tg-url] A performant, 100% open-source, contributor-friendly zero-knowledge virtual machine (zkVM) that can prove the execution of arbitrary Rust (or any LLVM-compiled language) programs. -![](assets/curta.svg) +SP1 is inspired by the open-source software movement and takes a collaborative approach towards building the best zkVM for rollups, coprocessors and other ZKP applications. We envision a diversity of contributors integrating the latest ZK innovations, creating a zkVM that is _performant_, _customizable_ and will stand the _test of time_. -Curta is inspired by the open-source software movement and takes a collaborative approach towards building the best zkVM for rollups, coprocessors and other ZKP applications. We envision a diversity of contributors integrating the latest ZK innovations, creating a zkVM that is _performant_, _customizable_ and will stand the _test of time_. +**[Install](https://succinctlabs.github.io/sp1/getting-started/install.html)** +| [Docs](https://succinctlabs.github.io/sp1) +| [Examples](https://github.com/succinctlabs/sp1/tree/main/examples) -**[Install](https://succinctlabs.github.io/curta/getting-started/install.html)** -| [Docs](https://succinctlabs.github.io/curta) -| [Examples](https://github.com/succinctlabs/curta/tree/main/examples) - -[tg-badge]: https://img.shields.io/endpoint?color=neon&logo=telegram&label=chat&url=https://tg.sumanjay.workers.dev/succinct_curta -[tg-url]: https://t.me/succinct_curta +[tg-badge]: https://img.shields.io/endpoint?color=neon&logo=telegram&label=chat&url=https://tg.sumanjay.workers.dev/succinct_sp1 +[tg-url]: https://t.me/succinct_sp1 ## Install Make sure you have [Rust](https://www.rust-lang.org/tools/install) installed. Open your terminal and run the following command: ``` -curl -L https://curta.succinct.xyz | bash +curl -L https://sp1.succinct.xyz | bash ``` -This will install `curtaup`, then simply follow the instructions on the screen, which will make the `curtaup` command available in your CLI. -Running `curtaup` will install the latest (nightly) precompiled binary for `cargo-prove` and the custom rust toolchain for the zkVM. +This will install `sp1up`, then simply follow the instructions on the screen, which will make the `sp1up` command available in your CLI. +Running `sp1up` will install the latest (nightly) precompiled binary for `cargo-prove` and the custom rust toolchain for the zkVM. ## Quickstart @@ -53,7 +51,7 @@ Note that the `RUST_LOG` and `RUST_TRACER` enviroment variables can be set to di If you want to build the `cargo-prove` CLI from source, run the following commands: ``` -git clone https://github.com/succinctlabs/curta.git +git clone https://github.com/succinctlabs/sp1.git cd vm cd cli cargo install --locked --path . @@ -81,6 +79,6 @@ Note that if you use `cargo prove new` inside a monorepo, you will need to add t We would like to acknowledge the projects below whose previous work has been instrumental in making this project a reality. -- [Plonky3](https://github.com/Plonky3/Plonky3): The Curta zkVM's prover is powered by the Plonky3 toolkit. -- [Valida](https://github.com/valida-xyz/valida): The Curta zkVM cross-table lookups, prover, borrow macro, and chip design, including constraints, are inspired by Valida. -- [RISC0](https://github.com/risc0/risc0): The Curta zkVM rust toolchain, install/build scripts, and our RISCV runtime borrow code from RISC0. +- [Plonky3](https://github.com/Plonky3/Plonky3): The SP1's prover is powered by the Plonky3 toolkit. +- [Valida](https://github.com/valida-xyz/valida): The SP1 cross-table lookups, prover, borrow macro, and chip design, including constraints, are inspired by Valida. +- [RISC0](https://github.com/risc0/risc0): The SP1 rust toolchain, install/build scripts, and our RISCV runtime borrow code from RISC0. diff --git a/assets/curta.svg b/assets/curta.svg deleted file mode 100644 index c8e2d820a7..0000000000 --- a/assets/curta.svg +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book.toml b/book.toml index 3559be0272..a3b4a79e6c 100644 --- a/book.toml +++ b/book.toml @@ -1,14 +1,14 @@ [book] -authors = ["Curta Contributors"] +authors = ["SP1 Contributors"] language = "en" multilingual = false src = "book" -title = "Curta Book" +title = "SP1 Book" description = "A book on all things Reth" [output.html] theme = "book/theme" -git-repository-url = "https://github.com/succinctlabs/curta" +git-repository-url = "https://github.com/succinctlabs/sp1" default-theme = "ayu" no-section-label = true diff --git a/book/curta.svg b/book/curta.svg deleted file mode 100644 index c8e2d820a7..0000000000 --- a/book/curta.svg +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book/generating-proofs/advanced.md b/book/generating-proofs/advanced.md index 075089b73c..43f0061d0b 100644 --- a/book/generating-proofs/advanced.md +++ b/book/generating-proofs/advanced.md @@ -6,16 +6,16 @@ We recommend that during development of large programs (> 1 million cycles) that Instead, you should have your script only execute the program with the RISC-V runtime and read `stdout`. Here is an example: ```rust,noplayground -use curta_core::{CurtaProver, CurtaStdin, CurtaVerifier}; +use sp1_core::{SP1Prover, SP1Stdin, SP1Verifier}; // The ELF file with the RISC-V bytecode of the program from above. -const ELF: &[u8] = include_bytes!("../../program/elf/riscv32im-curta-zkvm-elf"); +const ELF: &[u8] = include_bytes!("../../program/elf/riscv32im-sp1-zkvm-elf"); fn main() { - let mut stdin = CurtaStdin::new(); + let mut stdin = SP1Stdin::new(); let n = 5000u32; stdin.write(&n); - let mut stdout = CurtaProver::execute(ELF, stdin).expect("execution failed"); + let mut stdout = SP1Prover::execute(ELF, stdin).expect("execution failed"); let a = stdout.read::(); let b = stdout.read::(); @@ -46,16 +46,16 @@ SAVE_DISK_THRESHOLD=64 SHARD_SIZE=2097152 RUST_LOG=info RUSTFLAGS='-C target-cpu #### Blake3 on ARM machines -Blake3 on ARM machines requires using the `neon` feature of `curta-core`. For examples in the the curta-core repo, you can use: +Blake3 on ARM machines requires using the `neon` feature of `sp1-core`. For examples in the the sp1-core repo, you can use: ```rust,noplayground SHARD_SIZE=2097152 RUST_LOG=info RUSTFLAGS='-C target-cpu=native' cargo run --release --features neon ``` -Otherwise, make sure to include the "neon" feature when importing `curta-zkvm` in your `Cargo.toml`: +Otherwise, make sure to include the "neon" feature when importing `sp1-zkvm` in your `Cargo.toml`: ```toml,noplayground -curta-core = { git = "ssh://git@github.com/succinctlabs/curta.git", features = [ "neon" ] } +sp1-core = { git = "ssh://git@github.com/succinctlabs/sp1.git", features = [ "neon" ] } ``` ## Logging and Tracing Information diff --git a/book/generating-proofs/basics.md b/book/generating-proofs/basics.md index 9632da3ae0..b209fe6b23 100644 --- a/book/generating-proofs/basics.md +++ b/book/generating-proofs/basics.md @@ -1,9 +1,9 @@ # Generating Proofs: Basics -An end-to-end flow of proving `f(x) = y` with the Curta zkVM looks like as follows: +An end-to-end flow of proving `f(x) = y` with the SP1 looks like as follows: - Define `f` using normal rust code and compile it to a proving key `pk` and a verifying key `vk`. -- Generate a proof `π` using the Curta zkVM that `f(x) = y` with `prove(pk, x)`. +- Generate a proof `π` using the SP1 that `f(x) = y` with `prove(pk, x)`. - Verify the proof `π` using `verify(vk, x, y, π)`. To make this more concrete, let's walk through a simple example of generate a proof for a Fiboancci program inside the zkVM. diff --git a/book/generating-proofs/setup.md b/book/generating-proofs/setup.md index cf3db7ae13..68972c4b38 100644 --- a/book/generating-proofs/setup.md +++ b/book/generating-proofs/setup.md @@ -1,6 +1,6 @@ # Generating Proofs: Setup -In this section, we will teach you how to setup a self-contained crate which can run ELFs that have been compiled with the curta toolchain inside the Curta zkVM. +In this section, we will teach you how to setup a self-contained crate which can run ELFs that have been compiled with the sp1 toolchain inside the SP1. ## CLI (Recommended) @@ -23,7 +23,7 @@ cd script #### Cargo Manifest -Inside this crate, add the `curta-core` crate as a dependency. Your `Cargo.toml` should look like as follows: +Inside this crate, add the `sp1-core` crate as a dependency. Your `Cargo.toml` should look like as follows: ```rust,noplayground [workspace] @@ -33,7 +33,7 @@ name = "script" edition = "2021" [dependencies] -curta-core = { git = "https://github.com/succinctlabs/curta.git" } +sp1-core = { git = "https://github.com/succinctlabs/sp1.git" } ``` -The `curta-core` crate includes necessary utilities to generate, save, and verify proofs. +The `sp1-core` crate includes necessary utilities to generate, save, and verify proofs. diff --git a/book/getting-started/install.md b/book/getting-started/install.md index 8db8d6bc40..4db417ab11 100644 --- a/book/getting-started/install.md +++ b/book/getting-started/install.md @@ -1,27 +1,27 @@ # Installation -Curta currently runs on Linux and macOS. You can either use prebuilt binaries through Curtaup or +SP1 currently runs on Linux and macOS. You can either use prebuilt binaries through sp1up or build the toolchain and CLI from source. Make sure you have [Rust](https://www.rust-lang.org/tools/install) installed. ## Option 1: Prebuilt Binaries (Recommended) -Curtaup is the Curta zkVM toolchain installer. Open your terminal and run the following command and follow the instructions: +sp1up is the SP1 toolchain installer. Open your terminal and run the following command and follow the instructions: ```bash -curl -L https://curta.succinct.xyz | bash +curl -L https://sp1.succinct.xyz | bash ``` -This will install Curtaup, then simply follow the instructions on-screen, which will make the `curtaup` command available in your CLI. +This will install sp1up, then simply follow the instructions on-screen, which will make the `sp1up` command available in your CLI. -After following the instructions, you can run `curtaup` to install the toolchain: +After following the instructions, you can run `sp1up` to install the toolchain: ```bash -curtaup +sp1up ``` -This will install support for the `riscv32im-curta-zkvm-elf` compilation target within your Rust compiler +This will install support for the `riscv32im-sp1-zkvm-elf` compilation target within your Rust compiler and a `cargo prove` CLI tool that will let you compile provable programs and then prove their correctness. You can verify the installation by running `cargo prove --version`: @@ -36,10 +36,10 @@ If this works, go to the [next section](./quickstart.md) to compile and prove a Make sure you have installed the [dependencies](https://github.com/rust-lang/rust/blob/master/INSTALL.md#dependencies) needed to build the rust toolchain from source. -Clone the `curta` repository and navigate to the root directory. +Clone the `sp1` repository and navigate to the root directory. ```bash -git clone git@github.com:succinctlabs/curta.git +git clone git@github.com:succinctlabs/sp1.git cd vm cd cli cargo install --locked --path . diff --git a/book/getting-started/quickstart.md b/book/getting-started/quickstart.md index 58b583a144..d9c40767c8 100644 --- a/book/getting-started/quickstart.md +++ b/book/getting-started/quickstart.md @@ -1,6 +1,6 @@ # Quickstart -In this section, we will show you how to create a simple Fibonacci program using the Curta zkVM. +In this section, we will show you how to create a simple Fibonacci program using the SP1. ## Create Project @@ -44,17 +44,17 @@ cd program cargo prove build ``` -The resulting compiled executable is called an [ELF (Executable and Linkable Format)](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format) and contains bytecode that can be executed by the Curta zkVM. +The resulting compiled executable is called an [ELF (Executable and Linkable Format)](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format) and contains bytecode that can be executed by the SP1. -You can verify that the ELF was generated by looking in the `elf` directory and looking for a file called `riscv32im-curta-zkvm-elf`: +You can verify that the ELF was generated by looking in the `elf` directory and looking for a file called `riscv32im-sp1-zkvm-elf`: ```bash ls elf ``` ## Generate Proof -To generate a proof, we take the [ELF] file that was generated in the previous step and execute it within the Curta zkVM. The code in the `script` directory is already scaffolded with a script that has logic to generate a proof, save the proof to disk, and verify it. +To generate a proof, we take the [ELF] file that was generated in the previous step and execute it within the SP1. The code in the `script` directory is already scaffolded with a script that has logic to generate a proof, save the proof to disk, and verify it. ```bash cd ../script diff --git a/book/introduction.md b/book/introduction.md index 316985f0dc..f600d273c1 100644 --- a/book/introduction.md +++ b/book/introduction.md @@ -1,22 +1,20 @@ -# Curta +# SP1 [![Telegram Chat][tg-badge]][tg-url] -*Documentation for Curta zkVM users and developers*. +*Documentation for SP1 users and developers*. -![](./curta.svg) +SP1 is a performant, 100% open-source, contributor-friendly zero-knowledge virtual machine (zkVM) that verifies the execution of arbitrary Rust (or any LLVM-compiled language) programs. -Curta zkVM is a performant, 100% open-source, contributor-friendly zero-knowledge virtual machine (zkVM) that verifies the execution of arbitrary Rust (or any LLVM-compiled language) programs. - -[tg-badge]: https://img.shields.io/endpoint?color=neon&logo=telegram&label=chat&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Fsuccinct%5Fcurta -[tg-url]: https://t.me/succinct_curta +[tg-badge]: https://img.shields.io/endpoint?color=neon&logo=telegram&label=chat&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Fsuccinct%5Fsp1 +[tg-url]: https://t.me/succinct_sp1 ## The future of truth is programmable **The future of ZK is writing normal code.** Zero-knowledge proofs (ZKPs) are a powerful primitive that will enable a new generation of more secure, scalable and innovative blockchain architectures that rely on truth not trust. But ZKP adoption has been held back because it is “moon math”, requiring specialized knowledge in obscure ZKP frameworks and hard to maintain one-off deployments. -General-purpose zkVMs, like Curta, will obsolete the current paradigm of specialized teams hand rolling their own custom ZK stack and create a future where all blockchain infrastructure, including rollups, bridges, coprocessors, and more, utilize ZKPs via **maintainable software** written in Rust (or other LLVM-compiled languages). +General-purpose zkVMs, like SP1, will obsolete the current paradigm of specialized teams hand rolling their own custom ZK stack and create a future where all blockchain infrastructure, including rollups, bridges, coprocessors, and more, utilize ZKPs via **maintainable software** written in Rust (or other LLVM-compiled languages). ## Built from day one to be customizable and maintained by a diverse ecosystem of contributors -Curta zkVM is 100% open-source (MIT / Apache 2.0) with no code obfuscation and built to be contributor friendly, with all development done in the open. Unlike existing zkVMs whose constraint logic is closed-source and impossible to modify, Curta is modularly architected and designed to be customizable from day one. This customizability (unique to Curta) allows for users to add “precompiles” to the core zkVM logic that yield substantial performance gains, making Curta’s performance not only SOTA vs. existing zkVMs, but also competitive with circuits in a variety of use-cases. +SP1 is 100% open-source (MIT / Apache 2.0) with no code obfuscation and built to be contributor friendly, with all development done in the open. Unlike existing zkVMs whose constraint logic is closed-source and impossible to modify, SP1 is modularly architected and designed to be customizable from day one. This customizability (unique to SP1) allows for users to add “precompiles” to the core zkVM logic that yield substantial performance gains, making SP1’s performance not only SOTA vs. existing zkVMs, but also competitive with circuits in a variety of use-cases. diff --git a/book/theme/head.hbs b/book/theme/head.hbs index 699d192901..2bfbd9f0b3 100644 --- a/book/theme/head.hbs +++ b/book/theme/head.hbs @@ -1,5 +1,5 @@ - + diff --git a/book/writing-programs/basics.md b/book/writing-programs/basics.md index 332b366c08..089ad1c8b6 100644 --- a/book/writing-programs/basics.md +++ b/book/writing-programs/basics.md @@ -1,7 +1,7 @@ # Writing Programs: Basics A zero-knowledge proof generally proves that some function `f` when applied to some input `x` produces some output `y` (i.e. `f(x) = y`). -In the context of the Curta zkVM: +In the context of the SP1: - `f` is written in normal rust code. - `x` are bytes that can be serialized / deserialized into objects @@ -11,7 +11,7 @@ To make this more concrete, let's walk through a simple example of writing a Fib ## Fibonacci -This program is from the `programs` directory in the Curta zkVM repo which contains several program examples of varying complexity. +This program is from the `programs` directory in the SP1 repo which contains several program examples of varying complexity. ```rust,noplayground {{#include ../../programs/demo/fibonacci-io/src/main.rs}} diff --git a/book/writing-programs/inputs-and-outputs.md b/book/writing-programs/inputs-and-outputs.md index a2bc937b57..2f5df54d8c 100644 --- a/book/writing-programs/inputs-and-outputs.md +++ b/book/writing-programs/inputs-and-outputs.md @@ -9,27 +9,27 @@ In this section, we cover how you pass inputs and outputs to the zkVM and create ## Reading Data -For most usecases, use the `curta_zkvm::io::read::` method: +For most usecases, use the `sp1_zkvm::io::read::` method: ```rust,noplayground -let a = curta_zkvm::io::read::(); -let b = curta_zkvm::io::read::(); -let c = curta_zkvm::io::read::(); +let a = sp1_zkvm::io::read::(); +let b = sp1_zkvm::io::read::(); +let c = sp1_zkvm::io::read::(); ``` -Note that `T` must implement the `Serialize` and `Deserialize` trait. If you want to read bytes directly, you can also use `curta_zkvm::io::read_slice`. +Note that `T` must implement the `Serialize` and `Deserialize` trait. If you want to read bytes directly, you can also use `sp1_zkvm::io::read_slice`. ## Writing Data -For most usecases, use the `curta_zkvm::io::write::` method: +For most usecases, use the `sp1_zkvm::io::write::` method: ```rust,noplayground -curta_zkvm::io::write::(&a); -curta_zkvm::io::write::(&b); -curta_zkvm::io::write::(&c); +sp1_zkvm::io::write::(&a); +sp1_zkvm::io::write::(&b); +sp1_zkvm::io::write::(&c); ``` -Note that `T` must implement the `Serialize` and `Deserialize` trait. If you want to write bytes directly, you can also use `curta_zkvm::io::write_slice`. +Note that `T` must implement the `Serialize` and `Deserialize` trait. If you want to write bytes directly, you can also use `sp1_zkvm::io::write_slice`. ## Creating Serializable Types diff --git a/book/writing-programs/precompiles.md b/book/writing-programs/precompiles.md index 6490407fb7..e92b97faa2 100644 --- a/book/writing-programs/precompiles.md +++ b/book/writing-programs/precompiles.md @@ -1,13 +1,13 @@ # Precompiles -Precompiles are built into the Curta zkVM and accelerate commonly used operations such as elliptic curve arithmetic and hashing. +Precompiles are built into the SP1 and accelerate commonly used operations such as elliptic curve arithmetic and hashing. Under the hood, precompiles are implemented as custom tables dedicated to proving one or few operations. **They typically improve the performance of executing expensive operations by a few order of magnitudes.** Inside the zkVM, precompiles are exposed as system calls executed through the `ecall` RISC-V instruction. Each precompile has a unique system call number and implements an interface for the computation. -Curta zkVM also has been designed specifically to make it easy for external contributors to create and extend the zkVM with their own precompiles. +SP1 also has been designed specifically to make it easy for external contributors to create and extend the zkVM with their own precompiles. To learn more about this, go to [Custom Precompiles](). ## Supported Precompiles diff --git a/book/writing-programs/setup.md b/book/writing-programs/setup.md index 425d6ca245..4ff8181318 100644 --- a/book/writing-programs/setup.md +++ b/book/writing-programs/setup.md @@ -19,7 +19,7 @@ To build the program, simply run: cargo prove build ``` -This will compile the ELF that can be executed in the zkVM and put the executable in `elf/riscv32im-curta-zkvm-elf`. +This will compile the ELF that can be executed in the zkVM and put the executable in `elf/riscv32im-sp1-zkvm-elf`. ## Manual @@ -33,7 +33,7 @@ cd program #### Cargo Manifest -Inside this crate, add the `curta-zkvm` crate as a dependency. Your `Cargo.toml` should look like as follows: +Inside this crate, add the `sp1-zkvm` crate as a dependency. Your `Cargo.toml` should look like as follows: ```rust,noplayground [workspace] @@ -43,10 +43,10 @@ name = "program" edition = "2021" [dependencies] -curta-zkvm = { git = "https://github.com/succinctlabs/curta.git" } +sp1-zkvm = { git = "https://github.com/succinctlabs/sp1.git" } ``` -The `curta-zkvm` crate includes necessary utilities to ensure succesful program execution, handling inputs and outputs, +The `sp1-zkvm` crate includes necessary utilities to ensure succesful program execution, handling inputs and outputs, precompiles, patches, and more. #### Main.rs @@ -56,7 +56,7 @@ properly compiles. ```rust,noplayground #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); ``` These two lines of code wrap your main function with some additional logic to ensure that your program executes correctly. @@ -70,4 +70,4 @@ To build the program, simply run: cargo prove build ``` -This will compile the ELF that can be executed in the zkVM and put the executable in `elf/riscv32im-curta-zkvm-elf`. \ No newline at end of file +This will compile the ELF that can be executed in the zkVM and put the executable in `elf/riscv32im-sp1-zkvm-elf`. \ No newline at end of file diff --git a/cli/Cargo.toml b/cli/Cargo.toml index a88331cd29..1b7e0985de 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "curta-cli" +name = "sp1-cli" version = "0.1.0" edition = "2021" @@ -12,7 +12,7 @@ vergen = { version = "8", default-features = false, features = ["build", "git", anyhow = { version = "1.0.79", features = ["backtrace"] } cargo_metadata = "0.18.1" clap = { version = "4.4.15", features = ["derive"] } -curta-core = { path = "../core", features = ["perf"] } +sp1-core = { path = "../core", features = ["perf"] } reqwest = { version = "0.11.3", features = ["stream", "json"] } futures-util = "0.3.14" indicatif = "0.15.0" diff --git a/cli/src/assets/program/Cargo.toml b/cli/src/assets/program/Cargo.toml index 9474a607f5..5f5d91a34e 100644 --- a/cli/src/assets/program/Cargo.toml +++ b/cli/src/assets/program/Cargo.toml @@ -5,4 +5,4 @@ name = "unnamed-program" edition = "2021" [dependencies] -curta-zkvm = { git = "https://github.com/succinctlabs/curta.git" } \ No newline at end of file +sp1-zkvm = { git = "https://github.com/succinctlabs/sp1.git" } \ No newline at end of file diff --git a/cli/src/assets/program/main.rs b/cli/src/assets/program/main.rs index 17b3c7bb94..98fd44bed1 100644 --- a/cli/src/assets/program/main.rs +++ b/cli/src/assets/program/main.rs @@ -1,10 +1,10 @@ //! A simple program to be proven inside the zkVM. #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); pub fn main() { - let n = curta_zkvm::io::read::(); + let n = sp1_zkvm::io::read::(); let mut a = 0; let mut b = 1; let mut sum; @@ -14,6 +14,6 @@ pub fn main() { b = sum; } - curta_zkvm::io::write(&a); - curta_zkvm::io::write(&b); + sp1_zkvm::io::write(&a); + sp1_zkvm::io::write(&b); } diff --git a/cli/src/assets/script/Cargo.toml b/cli/src/assets/script/Cargo.toml index 368b261bbe..40e384990d 100644 --- a/cli/src/assets/script/Cargo.toml +++ b/cli/src/assets/script/Cargo.toml @@ -5,4 +5,4 @@ name = "unnamed-script" edition = "2021" [dependencies] -curta-core = { git = "https://github.com/succinctlabs/curta.git" } +sp1-core = { git = "https://github.com/succinctlabs/sp1.git" } diff --git a/cli/src/assets/script/main.rs b/cli/src/assets/script/main.rs index 6b62c57f80..7a8da0e97e 100644 --- a/cli/src/assets/script/main.rs +++ b/cli/src/assets/script/main.rs @@ -1,14 +1,14 @@ //! A simple script to generate and verify the proof of a given program. -use curta_core::{CurtaProver, CurtaStdin, CurtaVerifier}; +use sp1_core::{SP1Prover, SP1Stdin, SP1Verifier}; -const ELF: &[u8] = include_bytes!("../../program/elf/riscv32im-curta-zkvm-elf"); +const ELF: &[u8] = include_bytes!("../../program/elf/riscv32im-sp1-zkvm-elf"); fn main() { // Generate proof. - let mut stdin = CurtaStdin::new(); + let mut stdin = SP1Stdin::new(); stdin.write(&5000u32); - let mut proof = CurtaProver::prove(ELF, stdin).expect("proving failed"); + let mut proof = SP1Prover::prove(ELF, stdin).expect("proving failed"); // Read output. let a = proof.stdout.read::(); @@ -17,7 +17,7 @@ fn main() { println!("b: {}", b); // Verify proof. - CurtaVerifier::verify(ELF, &proof).expect("verification failed"); + SP1Verifier::verify(ELF, &proof).expect("verification failed"); // Save proof. proof diff --git a/cli/src/bin/cargo-prove.rs b/cli/src/bin/cargo-prove.rs index 3b85530745..f66a94f4e5 100644 --- a/cli/src/bin/cargo-prove.rs +++ b/cli/src/bin/cargo-prove.rs @@ -1,12 +1,12 @@ use anyhow::Result; use clap::{Parser, Subcommand}; -use curta_cli::commands::{ +use sp1_cli::commands::{ build::BuildCmd, build_toolchain::BuildToolchainCmd, install_toolchain::InstallToolchainCmd, new::NewCmd, prove::ProveCmd, }; const VERSION_MESSAGE: &str = concat!( - env!("CARGO_PKG_VERSION"), + "sp1", " (", env!("VERGEN_GIT_SHA"), " ", diff --git a/cli/src/commands/build.rs b/cli/src/commands/build.rs index 283cf26956..1eb43621d6 100644 --- a/cli/src/commands/build.rs +++ b/cli/src/commands/build.rs @@ -18,7 +18,7 @@ impl BuildCmd { let root_package = metadata.root_package(); let root_package_name = root_package.as_ref().map(|p| &p.name); - let build_target = "riscv32im-curta-zkvm-elf"; + let build_target = "riscv32im-succinct-zkvm-elf"; let rust_flags = [ "-C", "passes=loweratomic", @@ -29,9 +29,9 @@ impl BuildCmd { ]; Command::new("cargo") - .env("RUSTUP_TOOLCHAIN", "curta") + .env("RUSTUP_TOOLCHAIN", "succinct") .env("CARGO_ENCODED_RUSTFLAGS", rust_flags.join("\x1f")) - .env("CURTA_BUILD_IGNORE", "1") + .env("SP1_BUILD_IGNORE", "1") .args(["build", "--release", "--target", build_target, "--locked"]) .run() .unwrap(); @@ -43,7 +43,7 @@ impl BuildCmd { .join(root_package_name.unwrap()); let elf_dir = metadata.target_directory.parent().unwrap().join("elf"); fs::create_dir_all(&elf_dir)?; - fs::copy(elf_path, elf_dir.join("riscv32im-curta-zkvm-elf"))?; + fs::copy(elf_path, elf_dir.join("riscv32im-succinct-zkvm-elf"))?; Ok(()) } diff --git a/cli/src/commands/build_toolchain.rs b/cli/src/commands/build_toolchain.rs index 3791cb4bcf..06c12194cf 100644 --- a/cli/src/commands/build_toolchain.rs +++ b/cli/src/commands/build_toolchain.rs @@ -12,16 +12,16 @@ impl BuildToolchainCmd { pub fn run(&self) -> Result<()> { // Get enviroment variables. let github_access_token = std::env::var("GITHUB_ACCESS_TOKEN"); - let build_dir = std::env::var("CURTA_BUILD_DIR"); + let build_dir = std::env::var("SP1_BUILD_DIR"); // Clone our rust fork, if necessary. let rust_dir = match build_dir { Ok(build_dir) => { - println!("Detected CURTA_BUILD_DIR, skipping cloning rust."); + println!("Detected SP1_BUILD_DIR, skipping cloning rust."); PathBuf::from(build_dir).join("rust") } Err(_) => { - println!("No CURTA_BUILD_DIR detected, cloning rust."); + println!("No SP1_BUILD_DIR detected, cloning rust."); let repo_url = match github_access_token { Ok(github_access_token) => { println!("Detected GITHUB_ACCESS_TOKEN, using it to clone rust."); @@ -59,7 +59,7 @@ impl BuildToolchainCmd { // Build the toolchain (stage 1). Command::new("python3") .env( - "CARGO_TARGET_RISCV32IM_CURTA_ZKVM_ELF_RUSTFLAGS", + "CARGO_TARGET_RISCV32IM_SUCCINCT_ZKVM_ELF_RUSTFLAGS", "-Cpasses=loweratomic", ) .args(["x.py", "build"]) @@ -69,7 +69,7 @@ impl BuildToolchainCmd { // Build the toolchain (stage 2). Command::new("python3") .env( - "CARGO_TARGET_RISCV32IM_CURTA_ZKVM_ELF_RUSTFLAGS", + "CARGO_TARGET_RISCV32IM_SUCCINCT_ZKVM_ELF_RUSTFLAGS", "-Cpasses=loweratomic", ) .args(["x.py", "build", "--stage", "2"]) diff --git a/cli/src/commands/config.toml b/cli/src/commands/config.toml index 4220bbc9b4..230eb61727 100644 --- a/cli/src/commands/config.toml +++ b/cli/src/commands/config.toml @@ -1,7 +1,7 @@ changelog-seen = 2 [build] -target = ["riscv32im-curta-zkvm-elf"] +target = ["riscv32im-succinct-zkvm-elf"] extended = true tools = ["cargo", "cargo-clippy", "clippy", "rustfmt"] configure-args = [] diff --git a/cli/src/commands/install_toolchain.rs b/cli/src/commands/install_toolchain.rs index ae752d5721..f0cd1648dd 100644 --- a/cli/src/commands/install_toolchain.rs +++ b/cli/src/commands/install_toolchain.rs @@ -27,7 +27,7 @@ impl InstallToolchainCmd { let client = Client::builder().user_agent("Mozilla/5.0").build()?; // Setup variables. - let root_dir = home_dir().unwrap().join(".curta"); + let root_dir = home_dir().unwrap().join(".sp1"); match fs::read_dir(&root_dir) { Ok(entries) => { @@ -47,12 +47,12 @@ impl InstallToolchainCmd { } } } - Err(_) => println!("No existing ~/.curta directory to remove."), + Err(_) => println!("No existing ~/.sp1 directory to remove."), } - println!("Succesfully cleaned up ~/.curta directory."); + println!("Succesfully cleaned up ~/.sp1 directory."); match fs::create_dir_all(&root_dir) { - Ok(_) => println!("Succesfully created ~/.curta directory."), - Err(err) => println!("Failed to create ~/.curta directory: {}", err), + Ok(_) => println!("Succesfully created ~/.sp1 directory."), + Err(err) => println!("Failed to create ~/.sp1 directory: {}", err), }; let target = get_target(); let toolchain_asset_name = format!("rust-toolchain-{}.tar.gz", target); diff --git a/cli/src/commands/new.rs b/cli/src/commands/new.rs index 2aaeb64260..376b1a3654 100644 --- a/cli/src/commands/new.rs +++ b/cli/src/commands/new.rs @@ -10,10 +10,7 @@ const SCRIPT_MAIN_RS: &str = include_str!("../assets/script/main.rs"); const SCRIPT_RUST_TOOLCHAIN: &str = include_str!("../assets/script/rust-toolchain"); #[derive(Parser)] -#[command( - name = "new", - about = "Setup a new project that runs inside the Curta zkVM." -)] +#[command(name = "new", about = "Setup a new project that runs inside the SP1.")] pub struct NewCmd { name: String, } diff --git a/cli/src/commands/prove.rs b/cli/src/commands/prove.rs index a43b31ed7b..0f95176d2e 100644 --- a/cli/src/commands/prove.rs +++ b/cli/src/commands/prove.rs @@ -1,8 +1,8 @@ use anyhow::Result; use clap::Parser; -use curta_core::{ +use sp1_core::{ utils::{self}, - CurtaProver, CurtaStdin, + SP1Prover, SP1Stdin, }; use std::{ env, @@ -80,7 +80,7 @@ impl ProveCmd { let root_package = metadata.root_package(); let root_package_name = root_package.as_ref().map(|p| &p.name); - let build_target = "riscv32im-curta-zkvm-elf"; + let build_target = "riscv32im-succinct-zkvm-elf"; let rust_flags = [ "-C", "passes=loweratomic", @@ -91,7 +91,7 @@ impl ProveCmd { ]; Command::new("cargo") - .env("RUSTUP_TOOLCHAIN", "curta") + .env("RUSTUP_TOOLCHAIN", "succinct") .env("CARGO_ENCODED_RUSTFLAGS", rust_flags.join("\x1f")) .env("SUCCINCT_BUILD_IGNORE", "1") .args(["build", "--release", "--target", build_target, "--locked"]) @@ -105,7 +105,7 @@ impl ProveCmd { .join(root_package_name.unwrap()); let elf_dir = metadata.target_directory.parent().unwrap().join("elf"); fs::create_dir_all(&elf_dir)?; - fs::copy(&elf_path, elf_dir.join("riscv32im-curta-zkvm-elf"))?; + fs::copy(&elf_path, elf_dir.join("riscv32im-succinct-zkvm-elf"))?; if !self.profile { match env::var("RUST_LOG") { @@ -127,7 +127,7 @@ impl ProveCmd { .read_to_end(&mut elf) .expect("failed to read from input file"); - let mut stdin = CurtaStdin::new(); + let mut stdin = SP1Stdin::new(); if let Some(ref input) = self.input { match input { Input::FilePath(ref path) => { @@ -141,7 +141,7 @@ impl ProveCmd { } } } - let proof = CurtaProver::prove(&elf, stdin).unwrap(); + let proof = SP1Prover::prove(&elf, stdin).unwrap(); if let Some(ref path) = self.output { proof diff --git a/cli/src/lib.rs b/cli/src/lib.rs index 333f14eb08..cd17c9a03f 100644 --- a/cli/src/lib.rs +++ b/cli/src/lib.rs @@ -9,7 +9,7 @@ use std::fs::File as SyncFile; use std::io::Write; use std::process::{Command, Stdio}; -pub const RUSTUP_TOOLCHAIN_NAME: &str = "curta"; +pub const RUSTUP_TOOLCHAIN_NAME: &str = "succinct"; trait CommandExecutor { fn run(&mut self) -> Result<()>; @@ -77,13 +77,13 @@ pub fn get_target() -> &'static str { #[allow(unreachable_code)] pub fn get_toolchain_download_url() -> &'static str { #[cfg(all(target_arch = "x86_64", target_os = "linux"))] - return "https://pub-f7c772c7ed31435ca5ee55a4e49d31b7.r2.dev/rust-toolchain-x86_64-unknown-linux-gnu.tar.gz"; + return "https://pub-e4d9616fb885415597ff4c4d2b476ffb.r2.dev/rust-toolchain-x86_64-unknown-linux-gnu.tar.gz"; #[cfg(all(target_arch = "aarch64", target_os = "linux"))] - return "https://pub-f7c772c7ed31435ca5ee55a4e49d31b7.r2.dev/rust-toolchain-aarch64-unknown-linux-gnu.tar.gz"; + return "https://pub-e4d9616fb885415597ff4c4d2b476ffb.r2.dev/rust-toolchain-aarch64-unknown-linux-gnu.tar.gz"; #[cfg(all(target_arch = "aarch64", target_os = "macos"))] - return "https://pub-f7c772c7ed31435ca5ee55a4e49d31b7.r2.dev/rust-toolchain-aarch64-apple-darwin.tar.gz"; + return "https://pub-e4d9616fb885415597ff4c4d2b476ffb.r2.dev/rust-toolchain-aarch64-apple-darwin.tar.gz"; panic!("Unsupported architecture. Please build the toolchain from source.") } diff --git a/core/Cargo.toml b/core/Cargo.toml index c27eba6c71..b9b6b9c49a 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "curta-core" +name = "sp1-core" version = "0.1.0" edition = "2021" @@ -11,7 +11,7 @@ p3-air = { workspace = true } p3-matrix = { workspace = true } p3-baby-bear = { workspace = true } elf = "0.7.4" -curta-derive = { path = "../derive" } +sp1-derive = { path = "../derive" } p3-commit = { workspace = true } p3-challenger = { workspace = true } p3-dft = { workspace = true } diff --git a/core/benches/main.rs b/core/benches/main.rs index b732f95dcc..d952d47d9f 100644 --- a/core/benches/main.rs +++ b/core/benches/main.rs @@ -1,6 +1,6 @@ use criterion::{black_box, criterion_group, criterion_main, Criterion}; -use curta_core::runtime::{Program, Runtime}; -use curta_core::utils::prove; +use sp1_core::runtime::{Program, Runtime}; +use sp1_core::utils::prove; #[allow(unreachable_code)] pub fn criterion_benchmark(c: &mut Criterion) { @@ -11,7 +11,7 @@ pub fn criterion_benchmark(c: &mut Criterion) { group.sample_size(10); let programs = ["fibonacci"]; for p in programs { - let elf_path = format!("../programs/demo/{}/elf/riscv32im-curta-zkvm-elf", p); + let elf_path = format!("../programs/demo/{}/elf/riscv32im-sp1-zkvm-elf", p); let program = Program::from_elf(&elf_path); let cycles = { let mut runtime = Runtime::new(program.clone()); diff --git a/core/src/air/builder.rs b/core/src/air/builder.rs index 2844205fa0..b56b3e512b 100644 --- a/core/src/air/builder.rs +++ b/core/src/air/builder.rs @@ -469,7 +469,7 @@ pub trait MultiTableAirBuilder: PermutationAirBuilder { } /// A trait which contains all helper methods for building an AIR. -pub trait CurtaAirBuilder: +pub trait SP1AirBuilder: BaseAirBuilder + ByteAirBuilder + WordAirBuilder @@ -496,7 +496,7 @@ impl>> WordAirBuilder f impl>> AluAirBuilder for AB {} impl>> MemoryAirBuilder for AB {} impl>> ProgramAirBuilder for AB {} -impl>> CurtaAirBuilder for AB {} +impl>> SP1AirBuilder for AB {} impl<'a, SC: StarkGenericConfig> EmptyMessageBuilder for ProverConstraintFolder<'a, SC> {} impl<'a, Challenge: Field> EmptyMessageBuilder for VerifierConstraintFolder<'a, Challenge> {} diff --git a/core/src/air/word.rs b/core/src/air/word.rs index c437d433b4..76c37d6ea1 100644 --- a/core/src/air/word.rs +++ b/core/src/air/word.rs @@ -3,12 +3,12 @@ use std::mem::size_of; use std::ops::{Index, IndexMut}; use core::borrow::{Borrow, BorrowMut}; -use curta_derive::AlignedBorrow; use p3_air::AirBuilder; use p3_field::AbstractField; use p3_field::Field; +use sp1_derive::AlignedBorrow; -use super::CurtaAirBuilder; +use super::SP1AirBuilder; /// The size of a word in bytes. pub const WORD_SIZE: usize = 4; @@ -28,7 +28,7 @@ impl Word { } /// Extends a variable to a word. - pub fn extend_var>(var: T) -> Word { + pub fn extend_var>(var: T) -> Word { Word([ AB::Expr::zero() + var, AB::Expr::zero(), @@ -40,7 +40,7 @@ impl Word { impl Word { /// Extends a variable to a word. - pub fn extend_expr>(expr: T) -> Word { + pub fn extend_expr>(expr: T) -> Word { Word([ AB::Expr::zero() + expr, AB::Expr::zero(), diff --git a/core/src/alu/add/mod.rs b/core/src/alu/add/mod.rs index a29e40fbfc..03167c09f3 100644 --- a/core/src/alu/add/mod.rs +++ b/core/src/alu/add/mod.rs @@ -1,14 +1,14 @@ use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; -use curta_derive::AlignedBorrow; use p3_air::{Air, BaseAir}; use p3_field::PrimeField; use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; +use sp1_derive::AlignedBorrow; use tracing::instrument; use crate::air::MachineAir; -use crate::air::{CurtaAirBuilder, Word}; +use crate::air::{SP1AirBuilder, Word}; use crate::operations::AddOperation; use crate::runtime::{ExecutionRecord, Opcode}; use crate::utils::pad_to_power_of_two; @@ -80,7 +80,7 @@ impl BaseAir for AddChip { impl Air for AddChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/alu/bitwise/mod.rs b/core/src/alu/bitwise/mod.rs index 5226177535..799c5887ea 100644 --- a/core/src/alu/bitwise/mod.rs +++ b/core/src/alu/bitwise/mod.rs @@ -1,14 +1,14 @@ use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; -use curta_derive::AlignedBorrow; use p3_air::{Air, BaseAir}; use p3_field::PrimeField; use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; +use sp1_derive::AlignedBorrow; use tracing::instrument; use crate::air::MachineAir; -use crate::air::{CurtaAirBuilder, Word}; +use crate::air::{SP1AirBuilder, Word}; use crate::bytes::{ByteLookupEvent, ByteOpcode}; use crate::runtime::{ExecutionRecord, Opcode}; use crate::utils::pad_to_power_of_two; @@ -108,7 +108,7 @@ impl BaseAir for BitwiseChip { impl Air for BitwiseChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/alu/divrem/mod.rs b/core/src/alu/divrem/mod.rs index 2d807c47f7..1eb07e69a7 100644 --- a/core/src/alu/divrem/mod.rs +++ b/core/src/alu/divrem/mod.rs @@ -64,17 +64,17 @@ mod utils; use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; -use curta_derive::AlignedBorrow; use p3_air::{Air, AirBuilder, BaseAir}; use p3_field::AbstractField; use p3_field::PrimeField; use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; +use sp1_derive::AlignedBorrow; use tracing::instrument; use self::utils::eval_abs_value; use crate::air::MachineAir; -use crate::air::{CurtaAirBuilder, Word}; +use crate::air::{SP1AirBuilder, Word}; use crate::alu::divrem::utils::{get_msb, get_quotient_and_remainder, is_signed_operation}; use crate::alu::AluEvent; use crate::bytes::{ByteLookupEvent, ByteOpcode}; @@ -406,7 +406,7 @@ impl BaseAir for DivRemChip { impl Air for DivRemChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/alu/divrem/utils.rs b/core/src/alu/divrem/utils.rs index 6c195563fc..1bb854fe55 100644 --- a/core/src/alu/divrem/utils.rs +++ b/core/src/alu/divrem/utils.rs @@ -1,7 +1,7 @@ use p3_air::AirBuilder; use p3_field::AbstractField; -use crate::air::{CurtaAirBuilder, Word, WORD_SIZE}; +use crate::air::{SP1AirBuilder, Word, WORD_SIZE}; use crate::runtime::Opcode; /// Returns `true` if the given `opcode` is a signed operation. @@ -56,7 +56,7 @@ pub fn eval_abs_value( abs_value: &Word, is_negative: &AB::Var, ) where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { for i in 0..WORD_SIZE { let exp_sum_if_negative = AB::Expr::from_canonical_u32({ diff --git a/core/src/alu/lt/mod.rs b/core/src/alu/lt/mod.rs index 2442f33a74..97d396e7fa 100644 --- a/core/src/alu/lt/mod.rs +++ b/core/src/alu/lt/mod.rs @@ -1,15 +1,16 @@ +use crate::air::MachineAir; use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; -use curta_derive::AlignedBorrow; use p3_air::{Air, AirBuilder, BaseAir}; use p3_field::PrimeField; use p3_field::{AbstractField, PrimeField32}; use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; use p3_maybe_rayon::prelude::*; +use sp1_derive::AlignedBorrow; use tracing::instrument; -use crate::air::{CurtaAirBuilder, MachineAir, Word}; +use crate::air::{SP1AirBuilder, Word}; use crate::runtime::{ExecutionRecord, Opcode}; use crate::utils::pad_to_power_of_two; @@ -176,7 +177,7 @@ impl BaseAir for LtChip { impl Air for LtChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/alu/mul/mod.rs b/core/src/alu/mul/mod.rs index 505565cc0e..af49bb4385 100644 --- a/core/src/alu/mul/mod.rs +++ b/core/src/alu/mul/mod.rs @@ -27,16 +27,16 @@ mod utils; use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; -use curta_derive::AlignedBorrow; use p3_air::{Air, AirBuilder, BaseAir}; use p3_field::AbstractField; use p3_field::PrimeField; use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; +use sp1_derive::AlignedBorrow; use tracing::instrument; use crate::air::MachineAir; -use crate::air::{CurtaAirBuilder, Word}; +use crate::air::{SP1AirBuilder, Word}; use crate::alu::mul::utils::get_msb; use crate::bytes::{ByteLookupEvent, ByteOpcode}; use crate::disassembler::WORD_SIZE; @@ -234,7 +234,7 @@ impl BaseAir for MulChip { impl Air for MulChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/alu/sll/mod.rs b/core/src/alu/sll/mod.rs index 2c672690be..ae26d7dde5 100644 --- a/core/src/alu/sll/mod.rs +++ b/core/src/alu/sll/mod.rs @@ -32,16 +32,16 @@ use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; -use curta_derive::AlignedBorrow; use p3_air::{Air, AirBuilder, BaseAir}; use p3_field::AbstractField; use p3_field::PrimeField; use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; +use sp1_derive::AlignedBorrow; use tracing::instrument; use crate::air::MachineAir; -use crate::air::{CurtaAirBuilder, Word}; +use crate::air::{SP1AirBuilder, Word}; use crate::disassembler::WORD_SIZE; use crate::runtime::{ExecutionRecord, Opcode}; use crate::utils::pad_to_power_of_two; @@ -199,7 +199,7 @@ impl BaseAir for ShiftLeft { impl Air for ShiftLeft where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/alu/sr/mod.rs b/core/src/alu/sr/mod.rs index 89e34a8042..409e7a4e4f 100644 --- a/core/src/alu/sr/mod.rs +++ b/core/src/alu/sr/mod.rs @@ -45,16 +45,16 @@ mod utils; use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; -use curta_derive::AlignedBorrow; use p3_air::{Air, AirBuilder, BaseAir}; use p3_field::AbstractField; use p3_field::PrimeField; use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; +use sp1_derive::AlignedBorrow; use tracing::instrument; use crate::air::MachineAir; -use crate::air::{CurtaAirBuilder, Word}; +use crate::air::{SP1AirBuilder, Word}; use crate::alu::sr::utils::{nb_bits_to_shift, nb_bytes_to_shift}; use crate::bytes::utils::shr_carry; use crate::bytes::{ByteLookupEvent, ByteOpcode}; @@ -276,7 +276,7 @@ impl BaseAir for ShiftRightChip { impl Air for ShiftRightChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/alu/sub/mod.rs b/core/src/alu/sub/mod.rs index 44331573ea..e0f7f4d441 100644 --- a/core/src/alu/sub/mod.rs +++ b/core/src/alu/sub/mod.rs @@ -7,11 +7,11 @@ use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; use p3_maybe_rayon::prelude::*; -use curta_derive::AlignedBorrow; +use sp1_derive::AlignedBorrow; use tracing::instrument; use crate::air::MachineAir; -use crate::air::{CurtaAirBuilder, Word}; +use crate::air::{SP1AirBuilder, Word}; use crate::runtime::{ExecutionRecord, Opcode}; use crate::utils::pad_to_power_of_two; @@ -106,7 +106,7 @@ impl BaseAir for SubChip { impl Air for SubChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/bytes/air.rs b/core/src/bytes/air.rs index 4f696be1e2..40a0c96340 100644 --- a/core/src/bytes/air.rs +++ b/core/src/bytes/air.rs @@ -10,7 +10,7 @@ use super::columns::ByteCols; use super::columns::NUM_BYTE_COLS; use super::NUM_BYTE_OPS; use super::{ByteChip, ByteOpcode}; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; /// Makes the column map for the byte chip. const fn make_col_map() -> ByteCols { @@ -30,7 +30,7 @@ impl BaseAir for ByteChip { } } -impl Air for ByteChip { +impl Air for ByteChip { fn eval(&self, builder: &mut AB) { let main = builder.main(); let local: &ByteCols = main.row_slice(0).borrow(); diff --git a/core/src/bytes/columns.rs b/core/src/bytes/columns.rs index 9e31c6ac46..e2f8883e34 100644 --- a/core/src/bytes/columns.rs +++ b/core/src/bytes/columns.rs @@ -1,6 +1,6 @@ use core::borrow::Borrow; use core::borrow::BorrowMut; -use curta_derive::AlignedBorrow; +use sp1_derive::AlignedBorrow; use std::mem::size_of; use super::NUM_BYTE_OPS; diff --git a/core/src/cpu/air/branch.rs b/core/src/cpu/air/branch.rs index 504f877fe9..58a0999ebe 100644 --- a/core/src/cpu/air/branch.rs +++ b/core/src/cpu/air/branch.rs @@ -3,13 +3,13 @@ use core::borrow::Borrow; use p3_air::AirBuilder; use p3_field::AbstractField; -use crate::air::{BaseAirBuilder, CurtaAirBuilder, Word, WordAirBuilder}; +use crate::air::{BaseAirBuilder, SP1AirBuilder, Word, WordAirBuilder}; use crate::cpu::columns::{BranchCols, CpuCols, OpcodeSelectorCols, NUM_BRANCH_COLS}; use crate::{cpu::CpuChip, runtime::Opcode}; impl CpuChip { /// Computes whether the opcode is a branch instruction. - pub(crate) fn is_branch_instruction( + pub(crate) fn is_branch_instruction( &self, opcode_selectors: &OpcodeSelectorCols, ) -> AB::Expr { @@ -29,7 +29,7 @@ impl CpuChip { /// 2. It verifies the correct value of branching based on the helper bool columns (a_eq_b, /// a_gt_b, a_lt_b). /// 3. It verifier the correct values of the helper bool columns based on op_a and op_b. - pub(crate) fn branch_ops_eval( + pub(crate) fn branch_ops_eval( &self, builder: &mut AB, is_branch_instruction: AB::Expr, diff --git a/core/src/cpu/air/memory.rs b/core/src/cpu/air/memory.rs index ab2a5bded5..dc64d6a31b 100644 --- a/core/src/cpu/air/memory.rs +++ b/core/src/cpu/air/memory.rs @@ -3,7 +3,7 @@ use core::borrow::Borrow; use p3_air::AirBuilder; use p3_field::AbstractField; -use crate::air::{BaseAirBuilder, CurtaAirBuilder, Word, WordAirBuilder}; +use crate::air::{BaseAirBuilder, SP1AirBuilder, Word, WordAirBuilder}; use crate::cpu::columns::{CpuCols, MemoryColumns, OpcodeSelectorCols, NUM_MEMORY_COLUMNS}; use crate::cpu::CpuChip; use crate::memory::MemoryCols; @@ -11,7 +11,7 @@ use crate::runtime::Opcode; impl CpuChip { /// Computes whether the opcode is a memory instruction. - pub(crate) fn is_memory_instruction( + pub(crate) fn is_memory_instruction( &self, opcode_selectors: &OpcodeSelectorCols, ) -> AB::Expr { @@ -26,7 +26,7 @@ impl CpuChip { } /// Computes whether the opcode is a load instruction. - pub(crate) fn is_load_instruction( + pub(crate) fn is_load_instruction( &self, opcode_selectors: &OpcodeSelectorCols, ) -> AB::Expr { @@ -38,7 +38,7 @@ impl CpuChip { } /// Computes whether the opcode is a store instruction. - pub(crate) fn is_store_instruction( + pub(crate) fn is_store_instruction( &self, opcode_selectors: &OpcodeSelectorCols, ) -> AB::Expr { @@ -46,7 +46,7 @@ impl CpuChip { } /// Evaluates constraints related to loading from memory. - pub(crate) fn eval_memory_load( + pub(crate) fn eval_memory_load( &self, builder: &mut AB, local: &CpuCols, @@ -102,7 +102,7 @@ impl CpuChip { } /// Evaluates constraints related to storing to memory. - pub(crate) fn eval_memory_store( + pub(crate) fn eval_memory_store( &self, builder: &mut AB, local: &CpuCols, @@ -161,7 +161,7 @@ impl CpuChip { .assert_word_eq(mem_val.map(|x| x.into()), a_val.map(|x| x.into())); } - pub(crate) fn eval_unsigned_mem_value( + pub(crate) fn eval_unsigned_mem_value( &self, builder: &mut AB, memory_columns: &MemoryColumns, @@ -211,7 +211,7 @@ impl CpuChip { } /// Evaluates the decomposition of the most significant byte of the memory value. - pub(crate) fn eval_most_sig_byte_bit_decomp( + pub(crate) fn eval_most_sig_byte_bit_decomp( &self, builder: &mut AB, memory_columns: &MemoryColumns, @@ -233,7 +233,7 @@ impl CpuChip { } /// Evaluates the offset value flags. - pub(crate) fn eval_offset_value_flags( + pub(crate) fn eval_offset_value_flags( &self, builder: &mut AB, memory_columns: &MemoryColumns, diff --git a/core/src/cpu/air/mod.rs b/core/src/cpu/air/mod.rs index 8eb5b26ce8..43842aecee 100644 --- a/core/src/cpu/air/mod.rs +++ b/core/src/cpu/air/mod.rs @@ -9,7 +9,7 @@ use p3_field::AbstractField; use p3_matrix::MatrixRowSlices; use super::columns::{NUM_AUIPC_COLS, NUM_JUMP_COLS, NUM_MEMORY_COLUMNS}; -use crate::air::{CurtaAirBuilder, WordAirBuilder}; +use crate::air::{SP1AirBuilder, WordAirBuilder}; use crate::cpu::columns::OpcodeSelectorCols; use crate::cpu::columns::{AUIPCCols, CpuCols, JumpCols, MemoryColumns, NUM_CPU_COLS}; use crate::cpu::CpuChip; @@ -18,7 +18,7 @@ use crate::runtime::{AccessPosition, Opcode}; impl Air for CpuChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { #[inline(never)] fn eval(&self, builder: &mut AB) { @@ -160,7 +160,7 @@ where impl CpuChip { /// Whether the instruction is a memory instruction. - pub(crate) fn is_alu_instruction( + pub(crate) fn is_alu_instruction( &self, opcode_selectors: &OpcodeSelectorCols, ) -> AB::Expr { @@ -168,7 +168,7 @@ impl CpuChip { } /// Constraints related to jump operations. - pub(crate) fn jump_ops_eval( + pub(crate) fn jump_ops_eval( &self, builder: &mut AB, local: &CpuCols, @@ -217,11 +217,7 @@ impl CpuChip { } /// Constraints related to the AUIPC opcode. - pub(crate) fn auipc_eval( - &self, - builder: &mut AB, - local: &CpuCols, - ) { + pub(crate) fn auipc_eval(&self, builder: &mut AB, local: &CpuCols) { // Get the auipc specific columns. let auipc_columns: AUIPCCols = *local.opcode_specific_columns[..NUM_AUIPC_COLS].borrow(); diff --git a/core/src/cpu/columns/auipc.rs b/core/src/cpu/columns/auipc.rs index 65c6ad5a24..b627fe6d37 100644 --- a/core/src/cpu/columns/auipc.rs +++ b/core/src/cpu/columns/auipc.rs @@ -1,5 +1,5 @@ use core::borrow::{Borrow, BorrowMut}; -use curta_derive::AlignedBorrow; +use sp1_derive::AlignedBorrow; use std::mem::size_of; use crate::air::Word; diff --git a/core/src/cpu/columns/branch.rs b/core/src/cpu/columns/branch.rs index b3d0f0fc58..dc5d128b6b 100644 --- a/core/src/cpu/columns/branch.rs +++ b/core/src/cpu/columns/branch.rs @@ -1,5 +1,5 @@ use core::borrow::{Borrow, BorrowMut}; -use curta_derive::AlignedBorrow; +use sp1_derive::AlignedBorrow; use std::mem::size_of; use crate::air::Word; diff --git a/core/src/cpu/columns/instruction.rs b/core/src/cpu/columns/instruction.rs index 3847c82686..178c88bda8 100644 --- a/core/src/cpu/columns/instruction.rs +++ b/core/src/cpu/columns/instruction.rs @@ -1,6 +1,6 @@ use core::borrow::{Borrow, BorrowMut}; -use curta_derive::AlignedBorrow; use p3_field::PrimeField; +use sp1_derive::AlignedBorrow; use std::mem::size_of; use std::{iter::once, vec::IntoIter}; diff --git a/core/src/cpu/columns/jump.rs b/core/src/cpu/columns/jump.rs index 1cea008d20..8376c7dc2b 100644 --- a/core/src/cpu/columns/jump.rs +++ b/core/src/cpu/columns/jump.rs @@ -1,5 +1,5 @@ use core::borrow::{Borrow, BorrowMut}; -use curta_derive::AlignedBorrow; +use sp1_derive::AlignedBorrow; use std::mem::size_of; use crate::air::Word; diff --git a/core/src/cpu/columns/memory.rs b/core/src/cpu/columns/memory.rs index 227b4367bf..9363397ccc 100644 --- a/core/src/cpu/columns/memory.rs +++ b/core/src/cpu/columns/memory.rs @@ -1,5 +1,5 @@ use core::borrow::{Borrow, BorrowMut}; -use curta_derive::AlignedBorrow; +use sp1_derive::AlignedBorrow; use std::mem::size_of; use crate::{air::Word, memory::MemoryReadWriteCols}; diff --git a/core/src/cpu/columns/mod.rs b/core/src/cpu/columns/mod.rs index d7550f9ed3..e1997364d3 100644 --- a/core/src/cpu/columns/mod.rs +++ b/core/src/cpu/columns/mod.rs @@ -13,8 +13,8 @@ pub use memory::*; pub use opcode::*; use core::borrow::{Borrow, BorrowMut}; -use curta_derive::AlignedBorrow; use p3_util::indices_arr; +use sp1_derive::AlignedBorrow; use std::mem::{size_of, transmute}; use crate::{ diff --git a/core/src/cpu/columns/opcode.rs b/core/src/cpu/columns/opcode.rs index 28ba37fd1a..dda2db93eb 100644 --- a/core/src/cpu/columns/opcode.rs +++ b/core/src/cpu/columns/opcode.rs @@ -1,6 +1,6 @@ use core::borrow::{Borrow, BorrowMut}; -use curta_derive::AlignedBorrow; use p3_field::PrimeField; +use sp1_derive::AlignedBorrow; use std::mem::size_of; use std::vec::IntoIter; diff --git a/core/src/field/mod.rs b/core/src/field/mod.rs index be04a59f72..7c6233ab68 100644 --- a/core/src/field/mod.rs +++ b/core/src/field/mod.rs @@ -3,16 +3,15 @@ pub mod event; use core::borrow::Borrow; use core::borrow::BorrowMut; use core::mem::size_of; -use curta_derive::AlignedBorrow; use p3_air::{Air, AirBuilder, BaseAir}; use p3_field::{AbstractField, Field, PrimeField}; use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; - -use crate::air::CurtaAirBuilder; +use sp1_derive::AlignedBorrow; use crate::air::FieldAirBuilder; use crate::air::MachineAir; +use crate::air::SP1AirBuilder; use crate::runtime::ExecutionRecord; use crate::utils::pad_to_power_of_two; @@ -97,7 +96,7 @@ impl BaseAir for FieldLTUChip { } } -impl Air for FieldLTUChip { +impl Air for FieldLTUChip { fn eval(&self, builder: &mut AB) { let main = builder.main(); let local: &FieldLTUCols = main.row_slice(0).borrow(); diff --git a/core/src/io.rs b/core/src/io.rs index ec4c21ae06..a15134d81b 100644 --- a/core/src/io.rs +++ b/core/src/io.rs @@ -6,25 +6,25 @@ use crate::Proof; /// Standard input for the prover. #[derive(Serialize, Deserialize)] -pub struct CurtaStdin { +pub struct SP1Stdin { pub buffer: Buffer, } /// Standard output for the prover. #[derive(Serialize, Deserialize)] -pub struct CurtaStdout { +pub struct SP1Stdout { pub buffer: Buffer, } -impl CurtaStdin { - /// Create a new `CurtaStdin`. +impl SP1Stdin { + /// Create a new `SP1Stdin`. pub fn new() -> Self { Self { buffer: Buffer::new(), } } - /// Create a `CurtaStdin` from a slice of bytes. + /// Create a `SP1Stdin` from a slice of bytes. pub fn from(data: &[u8]) -> Self { Self { buffer: Buffer::from(data), @@ -52,15 +52,15 @@ impl CurtaStdin { } } -impl CurtaStdout { - /// Create a new `CurtaStdout`. +impl SP1Stdout { + /// Create a new `SP1Stdout`. pub fn new() -> Self { Self { buffer: Buffer::new(), } } - /// Create a `CurtaStdout` from a slice of bytes. + /// Create a `SP1Stdout` from a slice of bytes. pub fn from(data: &[u8]) -> Self { Self { buffer: Buffer::from(data), diff --git a/core/src/lib.rs b/core/src/lib.rs index 070ed23055..509c0d803a 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -43,32 +43,32 @@ use std::fs; use utils::{prove_core, BabyBearBlake3, StarkUtils}; /// A prover that can prove RISCV ELFs. -pub struct CurtaProver; +pub struct SP1Prover; -/// A verifier that can verify proofs generated by `CurtaProver`. -pub struct CurtaVerifier; +/// A verifier that can verify proofs generated by `SP1Prover`. +pub struct SP1Verifier; /// A proof of a RISCV ELF execution with given inputs and outputs. #[derive(Serialize, Deserialize)] -pub struct CurtaProofWithIO { +pub struct SP1ProofWithIO { #[serde(serialize_with = "serialize_proof")] pub proof: Proof, - pub stdin: CurtaStdin, - pub stdout: CurtaStdout, + pub stdin: SP1Stdin, + pub stdout: SP1Stdout, } -impl CurtaProver { +impl SP1Prover { /// Executes the elf with the given inputs and returns the output. - pub fn execute(elf: &[u8], stdin: CurtaStdin) -> Result { + pub fn execute(elf: &[u8], stdin: SP1Stdin) -> Result { let program = Program::from(elf); let mut runtime = Runtime::new(program); runtime.write_stdin_slice(&stdin.buffer.data); runtime.run(); - Ok(CurtaStdout::from(&runtime.state.output_stream)) + Ok(SP1Stdout::from(&runtime.state.output_stream)) } /// Generate a proof for the execution of the ELF with the given public inputs. - pub fn prove(elf: &[u8], stdin: CurtaStdin) -> Result> { + pub fn prove(elf: &[u8], stdin: SP1Stdin) -> Result> { let program = Program::from(elf); let mut runtime = Runtime::new(program); runtime.write_stdin_slice(&stdin.buffer.data); @@ -77,19 +77,19 @@ impl CurtaProver { }); let config = BabyBearBlake3::new(); let proof = prove_core(config, &mut runtime); - Ok(CurtaProofWithIO { + Ok(SP1ProofWithIO { proof, stdin, - stdout: CurtaStdout::from(&runtime.state.output_stream), + stdout: SP1Stdout::from(&runtime.state.output_stream), }) } /// Generate a proof for the execution of the ELF with the given public inputs and a custom config. pub fn prove_with_config( elf: &[u8], - stdin: CurtaStdin, + stdin: SP1Stdin, config: SC, - ) -> Result> + ) -> Result> where SC: StarkUtils + Send + Sync + Serialize + Clone, SC::Challenger: Clone, @@ -104,20 +104,20 @@ impl CurtaProver { runtime.write_stdin_slice(&stdin.buffer.data); runtime.run(); let proof = prove_core(config, &mut runtime); - Ok(CurtaProofWithIO { + Ok(SP1ProofWithIO { proof, stdin, - stdout: CurtaStdout::from(&runtime.state.output_stream), + stdout: SP1Stdout::from(&runtime.state.output_stream), }) } } -impl CurtaVerifier { - /// Verify a proof generated by `CurtaProver`. +impl SP1Verifier { + /// Verify a proof generated by `SP1Prover`. #[allow(unused_variables)] pub fn verify( elf: &[u8], - proof: &CurtaProofWithIO, + proof: &SP1ProofWithIO, ) -> Result<(), ProgramVerificationError> { let config = BabyBearBlake3::new(); let mut challenger = config.challenger(); @@ -126,11 +126,11 @@ impl CurtaVerifier { machine.verify(&vk, &proof.proof, &mut challenger) } - /// Verify a proof generated by `CurtaProver` with a custom config. + /// Verify a proof generated by `SP1Prover` with a custom config. #[allow(unused_variables)] pub fn verify_with_config( elf: &[u8], - proof: &CurtaProofWithIO, + proof: &SP1ProofWithIO, config: SC, ) -> Result<(), ProgramVerificationError> where @@ -150,7 +150,7 @@ impl CurtaVerifier { } } -impl CurtaProofWithIO { +impl SP1ProofWithIO { /// Saves the proof as a JSON to the given path. pub fn save(&self, path: &str) -> Result<()> { let data = serde_json::to_string(self).unwrap(); diff --git a/core/src/lookup/builder.rs b/core/src/lookup/builder.rs index 028644f72d..cd56ce6a30 100644 --- a/core/src/lookup/builder.rs +++ b/core/src/lookup/builder.rs @@ -166,7 +166,7 @@ mod tests { use super::*; use crate::{ - air::CurtaAirBuilder, + air::SP1AirBuilder, lookup::{InteractionBuilder, InteractionKind}, }; @@ -203,7 +203,7 @@ mod tests { } } - impl Air for LookupTestAir { + impl Air for LookupTestAir { fn eval(&self, builder: &mut AB) { let main = builder.main(); let local = main.row_slice(0); diff --git a/core/src/memory/columns.rs b/core/src/memory/columns.rs index 6f8c5d3833..9b9b6130ef 100644 --- a/core/src/memory/columns.rs +++ b/core/src/memory/columns.rs @@ -1,5 +1,5 @@ use core::borrow::{Borrow, BorrowMut}; -use curta_derive::AlignedBorrow; +use sp1_derive::AlignedBorrow; use std::mem::size_of; use crate::air::Word; diff --git a/core/src/memory/global.rs b/core/src/memory/global.rs index d094d0fa2c..3c01fb5714 100644 --- a/core/src/memory/global.rs +++ b/core/src/memory/global.rs @@ -1,5 +1,5 @@ use crate::air::MachineAir; -use crate::air::{AirInteraction, CurtaAirBuilder, Word}; +use crate::air::{AirInteraction, SP1AirBuilder, Word}; use crate::utils::pad_to_power_of_two; use p3_field::PrimeField; use p3_matrix::dense::RowMajorMatrix; @@ -7,12 +7,12 @@ use p3_matrix::dense::RowMajorMatrix; use crate::runtime::ExecutionRecord; use core::borrow::{Borrow, BorrowMut}; use core::mem::{size_of, transmute}; -use curta_derive::AlignedBorrow; use p3_air::Air; use p3_air::BaseAir; use p3_field::AbstractField; use p3_matrix::MatrixRowSlices; use p3_util::indices_arr; +use sp1_derive::AlignedBorrow; #[derive(PartialEq)] pub enum MemoryChipKind { @@ -102,7 +102,7 @@ const fn make_col_map() -> MemoryInitCols { impl Air for MemoryGlobalChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/operations/add.rs b/core/src/operations/add.rs index 2215c1d353..dd63f50871 100644 --- a/core/src/operations/add.rs +++ b/core/src/operations/add.rs @@ -1,11 +1,11 @@ use core::borrow::Borrow; use core::borrow::BorrowMut; -use curta_derive::AlignedBorrow; use p3_air::AirBuilder; use p3_field::Field; +use sp1_derive::AlignedBorrow; use std::mem::size_of; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; use crate::air::Word; use crate::bytes::ByteOpcode; @@ -59,7 +59,7 @@ impl AddOperation { expected } - pub fn eval( + pub fn eval( builder: &mut AB, a: Word, b: Word, diff --git a/core/src/operations/add4.rs b/core/src/operations/add4.rs index b58745f819..2bc5545a64 100644 --- a/core/src/operations/add4.rs +++ b/core/src/operations/add4.rs @@ -1,13 +1,13 @@ use core::borrow::Borrow; use core::borrow::BorrowMut; -use curta_derive::AlignedBorrow; use p3_air::AirBuilder; use p3_field::AbstractField; use p3_field::Field; +use sp1_derive::AlignedBorrow; use std::mem::size_of; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; use crate::air::Word; use crate::air::WORD_SIZE; use crate::bytes::ByteOpcode; @@ -83,7 +83,7 @@ impl Add4Operation { expected } - pub fn eval( + pub fn eval( builder: &mut AB, a: Word, b: Word, diff --git a/core/src/operations/add5.rs b/core/src/operations/add5.rs index 3c02cd8217..8febc8210e 100644 --- a/core/src/operations/add5.rs +++ b/core/src/operations/add5.rs @@ -1,11 +1,11 @@ use core::borrow::Borrow; use core::borrow::BorrowMut; -use curta_derive::AlignedBorrow; use p3_air::AirBuilder; use p3_field::Field; +use sp1_derive::AlignedBorrow; use std::mem::size_of; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; use crate::air::Word; use crate::air::WORD_SIZE; use p3_field::AbstractField; @@ -75,7 +75,7 @@ impl Add5Operation { expected } - pub fn eval( + pub fn eval( builder: &mut AB, words: &[Word; 5], is_real: AB::Var, diff --git a/core/src/operations/and.rs b/core/src/operations/and.rs index d8df08916c..f1f52b892d 100644 --- a/core/src/operations/and.rs +++ b/core/src/operations/and.rs @@ -1,11 +1,11 @@ use core::borrow::Borrow; use core::borrow::BorrowMut; -use curta_derive::AlignedBorrow; use p3_field::AbstractField; use p3_field::Field; +use sp1_derive::AlignedBorrow; use std::mem::size_of; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; use crate::air::Word; use crate::bytes::ByteLookupEvent; use crate::bytes::ByteOpcode; @@ -42,7 +42,7 @@ impl AndOperation { } #[allow(unused_variables)] - pub fn eval( + pub fn eval( builder: &mut AB, a: Word, b: Word, diff --git a/core/src/operations/field/field_den.rs b/core/src/operations/field/field_den.rs index a919008840..d2a41934bc 100644 --- a/core/src/operations/field/field_den.rs +++ b/core/src/operations/field/field_den.rs @@ -2,14 +2,14 @@ use super::params::Limbs; use super::params::NUM_WITNESS_LIMBS; use super::util::{compute_root_quotient_and_shift, split_u16_limbs_to_u8_limbs}; use super::util_air::eval_field_operation; -use crate::air::CurtaAirBuilder; use crate::air::Polynomial; +use crate::air::SP1AirBuilder; use crate::utils::ec::field::FieldParameters; use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; -use curta_derive::AlignedBorrow; use num::BigUint; use p3_field::PrimeField32; +use sp1_derive::AlignedBorrow; use std::fmt::Debug; /// A set of columns to compute `FieldDen(a, b)` where `a`, `b` are field elements. @@ -87,7 +87,7 @@ impl FieldDenCols { impl FieldDenCols { #[allow(unused_variables)] - pub fn eval, P: FieldParameters>( + pub fn eval, P: FieldParameters>( &self, builder: &mut AB, a: &Limbs, @@ -138,16 +138,16 @@ mod tests { use crate::utils::ec::field::FieldParameters; use crate::utils::{uni_stark_prove as prove, uni_stark_verify as verify}; use crate::utils::{BabyBearPoseidon2, StarkUtils}; - use crate::{air::CurtaAirBuilder, runtime::ExecutionRecord}; + use crate::{air::SP1AirBuilder, runtime::ExecutionRecord}; use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; - use curta_derive::AlignedBorrow; use num::bigint::RandBigInt; use p3_air::Air; use p3_baby_bear::BabyBear; use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; use rand::thread_rng; + use sp1_derive::AlignedBorrow; #[derive(AlignedBorrow, Debug, Clone)] pub struct TestCols { pub a: Limbs, @@ -231,7 +231,7 @@ mod tests { impl Air for FieldDenChip

where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/operations/field/field_inner_product.rs b/core/src/operations/field/field_inner_product.rs index e417fb2795..150055e01e 100644 --- a/core/src/operations/field/field_inner_product.rs +++ b/core/src/operations/field/field_inner_product.rs @@ -2,15 +2,15 @@ use super::params::Limbs; use super::params::NUM_WITNESS_LIMBS; use super::util::{compute_root_quotient_and_shift, split_u16_limbs_to_u8_limbs}; use super::util_air::eval_field_operation; -use crate::air::CurtaAirBuilder; use crate::air::Polynomial; +use crate::air::SP1AirBuilder; use crate::utils::ec::field::FieldParameters; use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; -use curta_derive::AlignedBorrow; use num::BigUint; use num::Zero; use p3_field::{AbstractField, PrimeField32}; +use sp1_derive::AlignedBorrow; use std::fmt::Debug; /// A set of columns to compute `FieldInnerProduct(Vec, Vec)` where a, b are field elements. @@ -77,7 +77,7 @@ impl FieldInnerProductCols { impl FieldInnerProductCols { #[allow(unused_variables)] - pub fn eval, P: FieldParameters>( + pub fn eval, P: FieldParameters>( &self, builder: &mut AB, a: &[Limbs], @@ -126,16 +126,16 @@ mod tests { use crate::utils::ec::field::FieldParameters; use crate::utils::{pad_to_power_of_two, BabyBearPoseidon2, StarkUtils}; use crate::utils::{uni_stark_prove as prove, uni_stark_verify as verify}; - use crate::{air::CurtaAirBuilder, runtime::ExecutionRecord}; + use crate::{air::SP1AirBuilder, runtime::ExecutionRecord}; use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; - use curta_derive::AlignedBorrow; use num::bigint::RandBigInt; use p3_air::Air; use p3_baby_bear::BabyBear; use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; use rand::thread_rng; + use sp1_derive::AlignedBorrow; #[derive(AlignedBorrow, Debug, Clone)] pub struct TestCols { @@ -216,7 +216,7 @@ mod tests { impl Air for FieldIpChip

where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/operations/field/field_op.rs b/core/src/operations/field/field_op.rs index 59e4cf5ad2..b1126a43e8 100644 --- a/core/src/operations/field/field_op.rs +++ b/core/src/operations/field/field_op.rs @@ -2,15 +2,15 @@ use super::params::Limbs; use super::params::NUM_WITNESS_LIMBS; use super::util::{compute_root_quotient_and_shift, split_u16_limbs_to_u8_limbs}; use super::util_air::eval_field_operation; -use crate::air::CurtaAirBuilder; use crate::air::Polynomial; +use crate::air::SP1AirBuilder; use crate::utils::ec::field::FieldParameters; use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; -use curta_derive::AlignedBorrow; use num::{BigUint, Zero}; use p3_air::AirBuilder; use p3_field::PrimeField32; +use sp1_derive::AlignedBorrow; use std::fmt::Debug; #[derive(PartialEq, Copy, Clone, Debug)] @@ -133,7 +133,7 @@ impl FieldOpCols { impl FieldOpCols { #[allow(unused_variables)] pub fn eval< - AB: CurtaAirBuilder, + AB: SP1AirBuilder, P: FieldParameters, A: Into> + Clone, B: Into> + Clone, @@ -181,16 +181,16 @@ mod tests { use crate::utils::ec::field::FieldParameters; use crate::utils::{pad_to_power_of_two, BabyBearPoseidon2, StarkUtils}; use crate::utils::{uni_stark_prove as prove, uni_stark_verify as verify}; - use crate::{air::CurtaAirBuilder, runtime::ExecutionRecord}; + use crate::{air::SP1AirBuilder, runtime::ExecutionRecord}; use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; - use curta_derive::AlignedBorrow; use num::bigint::RandBigInt; use p3_air::Air; use p3_baby_bear::BabyBear; use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; use rand::thread_rng; + use sp1_derive::AlignedBorrow; #[derive(AlignedBorrow, Debug, Clone)] pub struct TestCols { @@ -277,7 +277,7 @@ mod tests { impl Air for FieldOpChip

where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/operations/field/field_sqrt.rs b/core/src/operations/field/field_sqrt.rs index 0bdf933930..21bca7423b 100644 --- a/core/src/operations/field/field_sqrt.rs +++ b/core/src/operations/field/field_sqrt.rs @@ -1,12 +1,12 @@ use super::field_op::FieldOpCols; use super::params::Limbs; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; use crate::utils::ec::field::FieldParameters; use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; -use curta_derive::AlignedBorrow; use num::BigUint; use p3_field::PrimeField32; +use sp1_derive::AlignedBorrow; use std::fmt::Debug; /// A set of columns to compute the square root in the ed25519 curve. `T` is the field in which each @@ -50,7 +50,7 @@ impl FieldSqrtCols { impl FieldSqrtCols { /// Calculates the square root of `a`. - pub fn eval, P: FieldParameters>( + pub fn eval, P: FieldParameters>( &self, builder: &mut AB, a: &Limbs, @@ -88,16 +88,16 @@ mod tests { use crate::utils::ec::field::FieldParameters; use crate::utils::{pad_to_power_of_two, BabyBearPoseidon2, StarkUtils}; use crate::utils::{uni_stark_prove as prove, uni_stark_verify as verify}; - use crate::{air::CurtaAirBuilder, runtime::ExecutionRecord}; + use crate::{air::SP1AirBuilder, runtime::ExecutionRecord}; use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; - use curta_derive::AlignedBorrow; use num::bigint::RandBigInt; use p3_air::Air; use p3_baby_bear::BabyBear; use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; use rand::thread_rng; + use sp1_derive::AlignedBorrow; #[derive(AlignedBorrow, Debug, Clone)] pub struct TestCols { pub a: Limbs, @@ -174,7 +174,7 @@ mod tests { impl Air for EdSqrtChip

where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/operations/field/util_air.rs b/core/src/operations/field/util_air.rs index 9d64a77c00..f4aea7c5bb 100644 --- a/core/src/operations/field/util_air.rs +++ b/core/src/operations/field/util_air.rs @@ -1,9 +1,9 @@ -use crate::air::CurtaAirBuilder; use crate::air::Polynomial; +use crate::air::SP1AirBuilder; use crate::utils::ec::field::FieldParameters; use p3_field::AbstractField; -pub fn eval_field_operation( +pub fn eval_field_operation( builder: &mut AB, p_vanishing: &Polynomial, p_witness_low: &Polynomial, diff --git a/core/src/operations/fixed_rotate_right.rs b/core/src/operations/fixed_rotate_right.rs index 8d1839f61f..fec38d10c0 100644 --- a/core/src/operations/fixed_rotate_right.rs +++ b/core/src/operations/fixed_rotate_right.rs @@ -1,10 +1,10 @@ use core::borrow::Borrow; use core::borrow::BorrowMut; -use curta_derive::AlignedBorrow; use p3_field::Field; +use sp1_derive::AlignedBorrow; use std::mem::size_of; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; use crate::air::Word; use crate::bytes::utils::shr_carry; use crate::bytes::ByteLookupEvent; @@ -100,7 +100,7 @@ impl FixedRotateRightOperation { expected } - pub fn eval( + pub fn eval( builder: &mut AB, input: Word, rotation: usize, diff --git a/core/src/operations/fixed_shift_right.rs b/core/src/operations/fixed_shift_right.rs index 6026180420..30bdbadb2a 100644 --- a/core/src/operations/fixed_shift_right.rs +++ b/core/src/operations/fixed_shift_right.rs @@ -1,10 +1,10 @@ use core::borrow::Borrow; use core::borrow::BorrowMut; -use curta_derive::AlignedBorrow; use p3_field::Field; +use sp1_derive::AlignedBorrow; use std::mem::size_of; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; use crate::air::Word; use crate::bytes::utils::shr_carry; use crate::bytes::ByteLookupEvent; @@ -99,7 +99,7 @@ impl FixedShiftRightOperation { expected } - pub fn eval( + pub fn eval( builder: &mut AB, input: Word, rotation: usize, diff --git a/core/src/operations/is_equal_word.rs b/core/src/operations/is_equal_word.rs index 45a51b7a0b..a1126965d6 100644 --- a/core/src/operations/is_equal_word.rs +++ b/core/src/operations/is_equal_word.rs @@ -1,10 +1,10 @@ use core::borrow::Borrow; use core::borrow::BorrowMut; -use curta_derive::AlignedBorrow; use p3_field::Field; +use sp1_derive::AlignedBorrow; use std::mem::size_of; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; use crate::air::Word; use super::IsZeroWordOperation; @@ -33,7 +33,7 @@ impl IsEqualWordOperation { (a_u32 == b_u32) as u32 } - pub fn eval( + pub fn eval( builder: &mut AB, a: Word, b: Word, diff --git a/core/src/operations/is_zero.rs b/core/src/operations/is_zero.rs index ccedfd4aa9..908d9f24a8 100644 --- a/core/src/operations/is_zero.rs +++ b/core/src/operations/is_zero.rs @@ -6,13 +6,13 @@ //! is 0. use core::borrow::Borrow; use core::borrow::BorrowMut; -use curta_derive::AlignedBorrow; use p3_air::AirBuilder; use p3_field::AbstractField; use p3_field::Field; +use sp1_derive::AlignedBorrow; use std::mem::size_of; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; /// A set of columns needed to compute whether the given word is 0. #[derive(AlignedBorrow, Default, Debug, Clone, Copy)] @@ -43,7 +43,7 @@ impl IsZeroOperation { (a == F::zero()) as u32 } - pub fn eval( + pub fn eval( builder: &mut AB, a: AB::Expr, cols: IsZeroOperation, diff --git a/core/src/operations/is_zero_word.rs b/core/src/operations/is_zero_word.rs index 7b663b9656..06a45cf1fa 100644 --- a/core/src/operations/is_zero_word.rs +++ b/core/src/operations/is_zero_word.rs @@ -4,12 +4,12 @@ //! this operation doesn't do a range check. use core::borrow::Borrow; use core::borrow::BorrowMut; -use curta_derive::AlignedBorrow; use p3_air::AirBuilder; use p3_field::Field; +use sp1_derive::AlignedBorrow; use std::mem::size_of; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; use crate::air::Word; use crate::disassembler::WORD_SIZE; @@ -51,7 +51,7 @@ impl IsZeroWordOperation { is_zero as u32 } - pub fn eval( + pub fn eval( builder: &mut AB, a: Word, cols: IsZeroWordOperation, diff --git a/core/src/operations/not.rs b/core/src/operations/not.rs index c62cae5e46..657b059b11 100644 --- a/core/src/operations/not.rs +++ b/core/src/operations/not.rs @@ -1,11 +1,11 @@ use core::borrow::Borrow; use core::borrow::BorrowMut; -use curta_derive::AlignedBorrow; use p3_air::AirBuilder; use p3_field::Field; +use sp1_derive::AlignedBorrow; use std::mem::size_of; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; use crate::air::Word; use crate::bytes::ByteOpcode; use crate::disassembler::WORD_SIZE; @@ -32,7 +32,7 @@ impl NotOperation { } #[allow(unused_variables)] - pub fn eval( + pub fn eval( builder: &mut AB, a: Word, cols: NotOperation, diff --git a/core/src/operations/or.rs b/core/src/operations/or.rs index 94b6505259..cb7440c8b0 100644 --- a/core/src/operations/or.rs +++ b/core/src/operations/or.rs @@ -1,11 +1,11 @@ use core::borrow::Borrow; use core::borrow::BorrowMut; -use curta_derive::AlignedBorrow; use p3_field::AbstractField; use p3_field::Field; +use sp1_derive::AlignedBorrow; use std::mem::size_of; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; use crate::air::Word; use crate::bytes::ByteOpcode; use crate::disassembler::WORD_SIZE; @@ -33,7 +33,7 @@ impl OrOperation { expected } - pub fn eval( + pub fn eval( builder: &mut AB, a: Word, b: Word, diff --git a/core/src/operations/xor.rs b/core/src/operations/xor.rs index 94d44a453b..1a1d433f5c 100644 --- a/core/src/operations/xor.rs +++ b/core/src/operations/xor.rs @@ -1,11 +1,11 @@ use core::borrow::Borrow; use core::borrow::BorrowMut; -use curta_derive::AlignedBorrow; use p3_field::AbstractField; use p3_field::Field; +use sp1_derive::AlignedBorrow; use std::mem::size_of; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; use crate::air::Word; use crate::bytes::ByteLookupEvent; use crate::bytes::ByteOpcode; @@ -43,7 +43,7 @@ impl XorOperation { } #[allow(unused_variables)] - pub fn eval( + pub fn eval( builder: &mut AB, a: Word, b: Word, diff --git a/core/src/program/mod.rs b/core/src/program/mod.rs index df1bd2cb50..7b576b4de3 100644 --- a/core/src/program/mod.rs +++ b/core/src/program/mod.rs @@ -6,9 +6,10 @@ use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; use std::collections::HashMap; -use curta_derive::AlignedBorrow; +use sp1_derive::AlignedBorrow; -use crate::air::{CurtaAirBuilder, MachineAir}; +use crate::air::MachineAir; +use crate::air::SP1AirBuilder; use crate::cpu::columns::InstructionCols; use crate::cpu::columns::OpcodeSelectorCols; use crate::runtime::ExecutionRecord; @@ -99,7 +100,7 @@ impl BaseAir for ProgramChip { impl Air for ProgramChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/runtime/mod.rs b/core/src/runtime/mod.rs index 8dc5274de2..0f39c54e76 100644 --- a/core/src/runtime/mod.rs +++ b/core/src/runtime/mod.rs @@ -38,7 +38,7 @@ pub enum AccessPosition { A = 3, } -/// An implementation of a runtime for the Curta VM. +/// An implementation of a runtime for the SP1 VM. /// /// The runtime is responsible for executing a user program and tracing important events which occur /// during execution (i.e., memory reads, alu operations, etc). diff --git a/core/src/stark/chip.rs b/core/src/stark/chip.rs index 715e85fdae..453092d40e 100644 --- a/core/src/stark/chip.rs +++ b/core/src/stark/chip.rs @@ -4,7 +4,7 @@ use p3_matrix::dense::RowMajorMatrix; use p3_util::log2_ceil_usize; use crate::{ - air::{CurtaAirBuilder, MachineAir, MultiTableAirBuilder}, + air::{MachineAir, MultiTableAirBuilder, SP1AirBuilder}, lookup::{Interaction, InteractionBuilder}, runtime::{ExecutionRecord, Program}, }; @@ -64,7 +64,7 @@ impl<'a, SC: StarkGenericConfig> ChipRef<'a, SC> { /// /// This trait is for specifying a trait bound for explicit types of builders used in the stark /// proving system. It is automatically implemented on any type that implements `Air` with -/// `AB: CurtaAirBuilder`. Users should not need to implement this trait manually. +/// `AB: SP1AirBuilder`. Users should not need to implement this trait manually. pub trait StarkAir: MachineAir + Air> @@ -166,7 +166,7 @@ impl Air for Chip where F: Field, A: Air, - AB: CurtaAirBuilder + MultiTableAirBuilder + PairBuilder, + AB: SP1AirBuilder + MultiTableAirBuilder + PairBuilder, { fn eval(&self, builder: &mut AB) { // Evaluate the execution trace constraints. diff --git a/core/src/syscall/precompiles/blake3/compress/air.rs b/core/src/syscall/precompiles/blake3/compress/air.rs index 1d283c7240..ce9494ad6d 100644 --- a/core/src/syscall/precompiles/blake3/compress/air.rs +++ b/core/src/syscall/precompiles/blake3/compress/air.rs @@ -7,7 +7,7 @@ use super::{ Blake3CompressInnerChip, G_INDEX, MSG_SCHEDULE, NUM_MSG_WORDS_PER_CALL, NUM_STATE_WORDS_PER_CALL, OPERATION_COUNT, ROUND_COUNT, }; -use crate::air::{CurtaAirBuilder, WORD_SIZE}; +use crate::air::{SP1AirBuilder, WORD_SIZE}; use core::borrow::Borrow; use p3_matrix::MatrixRowSlices; @@ -20,7 +20,7 @@ impl BaseAir for Blake3CompressInnerChip { impl Air for Blake3CompressInnerChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); @@ -38,7 +38,7 @@ where impl Blake3CompressInnerChip { /// Constrains the given index is correct for the given selector. The `selector` is an /// `n`-dimensional boolean array whose `i`-th element is true if and only if the index is `i`. - fn constrain_index_selector( + fn constrain_index_selector( &self, builder: &mut AB, selector: &[AB::Var], @@ -61,7 +61,7 @@ impl Blake3CompressInnerChip { } /// Constrains the control flow flags such as the operation index and the round index. - fn constrain_control_flow_flags( + fn constrain_control_flow_flags( &self, builder: &mut AB, local: &Blake3CompressInnerCols, @@ -96,7 +96,7 @@ impl Blake3CompressInnerChip { } /// Constrain the memory access for the state and the message. - fn constrain_memory( + fn constrain_memory( &self, builder: &mut AB, local: &Blake3CompressInnerCols, @@ -170,7 +170,7 @@ impl Blake3CompressInnerChip { } /// Constrains the input and the output of the `g` operation. - fn constraint_g_operation( + fn constraint_g_operation( &self, builder: &mut AB, local: &Blake3CompressInnerCols, diff --git a/core/src/syscall/precompiles/blake3/compress/columns.rs b/core/src/syscall/precompiles/blake3/compress/columns.rs index 0f4367b9f0..3cb26494ef 100644 --- a/core/src/syscall/precompiles/blake3/compress/columns.rs +++ b/core/src/syscall/precompiles/blake3/compress/columns.rs @@ -2,7 +2,7 @@ use core::borrow::Borrow; use core::borrow::BorrowMut; use std::mem::size_of; -use curta_derive::AlignedBorrow; +use sp1_derive::AlignedBorrow; use crate::memory::MemoryReadCols; use crate::memory::MemoryReadWriteCols; diff --git a/core/src/syscall/precompiles/blake3/compress/g.rs b/core/src/syscall/precompiles/blake3/compress/g.rs index 06894722ec..176d47c2dc 100644 --- a/core/src/syscall/precompiles/blake3/compress/g.rs +++ b/core/src/syscall/precompiles/blake3/compress/g.rs @@ -2,10 +2,10 @@ use core::borrow::Borrow; use core::borrow::BorrowMut; use p3_field::Field; -use curta_derive::AlignedBorrow; +use sp1_derive::AlignedBorrow; use std::mem::size_of; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; use crate::air::Word; use crate::air::WORD_SIZE; use crate::operations::AddOperation; @@ -99,7 +99,7 @@ impl GOperation { result } - pub fn eval( + pub fn eval( builder: &mut AB, input: [Word; 6], cols: GOperation, diff --git a/core/src/syscall/precompiles/edwards/ed_add.rs b/core/src/syscall/precompiles/edwards/ed_add.rs index 7136b7288a..869dfc148e 100644 --- a/core/src/syscall/precompiles/edwards/ed_add.rs +++ b/core/src/syscall/precompiles/edwards/ed_add.rs @@ -1,6 +1,5 @@ -use crate::air::CurtaAirBuilder; - use crate::air::MachineAir; +use crate::air::SP1AirBuilder; use crate::field::event::FieldEvent; use crate::memory::MemoryCols; use crate::memory::MemoryReadCols; @@ -23,7 +22,6 @@ use crate::utils::limbs_from_prev_access; use crate::utils::pad_rows; use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; -use curta_derive::AlignedBorrow; use num::BigUint; use num::Zero; use p3_air::AirBuilder; @@ -34,6 +32,7 @@ use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; use p3_maybe_rayon::prelude::IntoParallelRefIterator; use p3_maybe_rayon::prelude::ParallelIterator; +use sp1_derive::AlignedBorrow; use std::fmt::Debug; use std::marker::PhantomData; use tracing::instrument; @@ -201,7 +200,7 @@ impl BaseAir for EdAddAssignChip impl Air for EdAddAssignChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); @@ -296,18 +295,18 @@ mod tests { self, tests::{ED25519_ELF, ED_ADD_ELF}, }, - CurtaProver, CurtaStdin, + SP1Prover, SP1Stdin, }; #[test] fn test_ed_add_simple() { utils::setup_logger(); - CurtaProver::prove(ED_ADD_ELF, CurtaStdin::new()).unwrap(); + SP1Prover::prove(ED_ADD_ELF, SP1Stdin::new()).unwrap(); } #[test] fn test_ed25519_program() { utils::setup_logger(); - CurtaProver::prove(ED25519_ELF, CurtaStdin::new()).unwrap(); + SP1Prover::prove(ED25519_ELF, SP1Stdin::new()).unwrap(); } } diff --git a/core/src/syscall/precompiles/edwards/ed_decompress.rs b/core/src/syscall/precompiles/edwards/ed_decompress.rs index 75b3b3cf74..96919bc090 100644 --- a/core/src/syscall/precompiles/edwards/ed_decompress.rs +++ b/core/src/syscall/precompiles/edwards/ed_decompress.rs @@ -1,7 +1,6 @@ use crate::air::BaseAirBuilder; -use crate::air::CurtaAirBuilder; - use crate::air::MachineAir; +use crate::air::SP1AirBuilder; use crate::air::WORD_SIZE; use crate::cpu::MemoryReadRecord; use crate::cpu::MemoryWriteRecord; @@ -37,8 +36,8 @@ use p3_field::PrimeField32; use p3_matrix::MatrixRowSlices; use std::marker::PhantomData; -use curta_derive::AlignedBorrow; use p3_matrix::dense::RowMajorMatrix; +use sp1_derive::AlignedBorrow; use std::fmt::Debug; #[derive(Debug, Clone, Copy)] @@ -116,7 +115,7 @@ impl EdDecompressCols { } impl EdDecompressCols { - pub fn eval, P: FieldParameters, E: EdwardsParameters>( + pub fn eval, P: FieldParameters, E: EdwardsParameters>( &self, builder: &mut AB, ) where @@ -316,7 +315,7 @@ impl BaseAir for EdDecompressChip { impl Air for EdDecompressChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); @@ -329,12 +328,12 @@ where pub mod tests { use crate::{ utils::{self, tests::ED_DECOMPRESS_ELF}, - CurtaProver, CurtaStdin, + SP1Prover, SP1Stdin, }; #[test] fn test_ed_decompress() { utils::setup_logger(); - CurtaProver::prove(ED_DECOMPRESS_ELF, CurtaStdin::new()).unwrap(); + SP1Prover::prove(ED_DECOMPRESS_ELF, SP1Stdin::new()).unwrap(); } } diff --git a/core/src/syscall/precompiles/k256/decompress.rs b/core/src/syscall/precompiles/k256/decompress.rs index 405032b962..df2220bdc0 100644 --- a/core/src/syscall/precompiles/k256/decompress.rs +++ b/core/src/syscall/precompiles/k256/decompress.rs @@ -1,7 +1,6 @@ use crate::air::BaseAirBuilder; -use crate::air::CurtaAirBuilder; - use crate::air::MachineAir; +use crate::air::SP1AirBuilder; use crate::air::Word; use crate::cpu::MemoryReadRecord; use crate::cpu::MemoryWriteRecord; @@ -40,8 +39,8 @@ use p3_field::PrimeField32; use p3_matrix::MatrixRowSlices; use std::str::FromStr; -use curta_derive::AlignedBorrow; use p3_matrix::dense::RowMajorMatrix; +use sp1_derive::AlignedBorrow; use std::fmt::Debug; #[derive(Debug, Clone, Copy)] @@ -199,7 +198,7 @@ impl K256DecompressCols { } impl K256DecompressCols { - pub fn eval>(&self, builder: &mut AB) + pub fn eval>(&self, builder: &mut AB) where V: Into, { @@ -347,7 +346,7 @@ impl BaseAir for K256DecompressChip { impl Air for K256DecompressChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); @@ -365,7 +364,7 @@ pub mod tests { use crate::utils::setup_logger; use crate::utils::tests::SECP256K1_DECOMPRESS_ELF; - use crate::{CurtaProver, CurtaStdin, CurtaVerifier}; + use crate::{SP1Prover, SP1Stdin, SP1Verifier}; #[test] fn test_k256_decompress() { @@ -379,14 +378,14 @@ pub mod tests { let decompressed = encoded.as_bytes(); let compressed = public_key.to_sec1_bytes(); - let inputs = CurtaStdin::from(&compressed); + let inputs = SP1Stdin::from(&compressed); - let mut proof = CurtaProver::prove(SECP256K1_DECOMPRESS_ELF, inputs).unwrap(); + let mut proof = SP1Prover::prove(SECP256K1_DECOMPRESS_ELF, inputs).unwrap(); let mut result = [0; 65]; proof.stdout.read_slice(&mut result); assert_eq!(result, decompressed); - CurtaVerifier::verify(SECP256K1_DECOMPRESS_ELF, &proof).unwrap(); + SP1Verifier::verify(SECP256K1_DECOMPRESS_ELF, &proof).unwrap(); } } } diff --git a/core/src/syscall/precompiles/keccak256/air.rs b/core/src/syscall/precompiles/keccak256/air.rs index 29d9ca08b0..beb11de7c6 100644 --- a/core/src/syscall/precompiles/keccak256/air.rs +++ b/core/src/syscall/precompiles/keccak256/air.rs @@ -6,7 +6,7 @@ use p3_keccak_air::{KeccakAir, U64_LIMBS}; use p3_matrix::MatrixRowSlices; use crate::{ - air::{CurtaAirBuilder, SubAirBuilder}, + air::{SP1AirBuilder, SubAirBuilder}, memory::MemoryCols, }; @@ -23,7 +23,7 @@ impl BaseAir for KeccakPermuteChip { impl Air for KeccakPermuteChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/syscall/precompiles/keccak256/columns.rs b/core/src/syscall/precompiles/keccak256/columns.rs index 3478579b5e..653e7ad3db 100644 --- a/core/src/syscall/precompiles/keccak256/columns.rs +++ b/core/src/syscall/precompiles/keccak256/columns.rs @@ -1,8 +1,8 @@ use core::borrow::{Borrow, BorrowMut}; use core::mem::{offset_of, size_of}; -use curta_derive::AlignedBorrow; use p3_keccak_air::KeccakCols as P3KeccakCols; +use sp1_derive::AlignedBorrow; use crate::memory::MemoryReadWriteCols; diff --git a/core/src/syscall/precompiles/keccak256/mod.rs b/core/src/syscall/precompiles/keccak256/mod.rs index 6337509e4e..3c3b018eb9 100644 --- a/core/src/syscall/precompiles/keccak256/mod.rs +++ b/core/src/syscall/precompiles/keccak256/mod.rs @@ -49,7 +49,7 @@ pub mod permute_tests { runtime::{Instruction, Opcode, Program, Runtime}, stark::{LocalProver, RiscvStark}, utils::{self, tests::KECCAK_PERMUTE_ELF, BabyBearPoseidon2, StarkUtils}, - CurtaProver, CurtaStdin, + SP1Prover, SP1Stdin, }; pub fn keccak_permute_program() -> Program { @@ -95,6 +95,6 @@ pub mod permute_tests { #[test] fn test_keccak_permute_program_prove() { utils::setup_logger(); - CurtaProver::prove(KECCAK_PERMUTE_ELF, CurtaStdin::new()).unwrap(); + SP1Prover::prove(KECCAK_PERMUTE_ELF, SP1Stdin::new()).unwrap(); } } diff --git a/core/src/syscall/precompiles/mod.rs b/core/src/syscall/precompiles/mod.rs index 444415cf20..afac749ffc 100644 --- a/core/src/syscall/precompiles/mod.rs +++ b/core/src/syscall/precompiles/mod.rs @@ -7,7 +7,7 @@ pub mod weierstrass; use num::BigUint; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; use crate::operations::field::params::Limbs; use crate::runtime::SyscallContext; use crate::utils::ec::field::FieldParameters; @@ -119,7 +119,7 @@ pub fn create_ec_double_event(rt: &mut SyscallContext) -> ECDo pub fn limbs_from_biguint(value: &BigUint) -> Limbs where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { let a_const = F::to_limbs_field::(value); Limbs::(a_const.0.map(|x| x.into())) diff --git a/core/src/syscall/precompiles/sha256/compress/air.rs b/core/src/syscall/precompiles/sha256/compress/air.rs index 8713e67eac..9170a7040b 100644 --- a/core/src/syscall/precompiles/sha256/compress/air.rs +++ b/core/src/syscall/precompiles/sha256/compress/air.rs @@ -3,7 +3,7 @@ use p3_field::AbstractField; use super::columns::{ShaCompressCols, NUM_SHA_COMPRESS_COLS}; use super::ShaCompressChip; -use crate::air::{BaseAirBuilder, CurtaAirBuilder, Word, WordAirBuilder}; +use crate::air::{BaseAirBuilder, SP1AirBuilder, Word, WordAirBuilder}; use crate::memory::MemoryCols; use crate::operations::{ AddOperation, AndOperation, FixedRotateRightOperation, NotOperation, XorOperation, @@ -19,7 +19,7 @@ impl BaseAir for ShaCompressChip { impl Air for ShaCompressChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); @@ -37,7 +37,7 @@ where } impl ShaCompressChip { - fn contrain_control_flow_flags( + fn contrain_control_flow_flags( &self, builder: &mut AB, local: &ShaCompressCols, @@ -119,7 +119,7 @@ impl ShaCompressChip { ); } - fn constrain_memory( + fn constrain_memory( &self, builder: &mut AB, local: &ShaCompressCols, @@ -184,7 +184,7 @@ impl ShaCompressChip { } } - fn constrain_compression_ops( + fn constrain_compression_ops( &self, builder: &mut AB, local: &ShaCompressCols, @@ -345,7 +345,7 @@ impl ShaCompressChip { ); } - fn constrain_finalize_ops( + fn constrain_finalize_ops( &self, builder: &mut AB, local: &ShaCompressCols, diff --git a/core/src/syscall/precompiles/sha256/compress/columns.rs b/core/src/syscall/precompiles/sha256/compress/columns.rs index 99b5fd1ebc..eda80e946a 100644 --- a/core/src/syscall/precompiles/sha256/compress/columns.rs +++ b/core/src/syscall/precompiles/sha256/compress/columns.rs @@ -2,7 +2,7 @@ use core::borrow::Borrow; use core::borrow::BorrowMut; use std::mem::size_of; -use curta_derive::AlignedBorrow; +use sp1_derive::AlignedBorrow; use crate::air::Word; use crate::memory::MemoryReadWriteCols; diff --git a/core/src/syscall/precompiles/sha256/extend/air.rs b/core/src/syscall/precompiles/sha256/extend/air.rs index 103e0d7df7..570bedd522 100644 --- a/core/src/syscall/precompiles/sha256/extend/air.rs +++ b/core/src/syscall/precompiles/sha256/extend/air.rs @@ -1,7 +1,7 @@ use p3_air::{Air, AirBuilder, BaseAir}; use super::{ShaExtendChip, ShaExtendCols, NUM_SHA_EXTEND_COLS}; -use crate::air::{BaseAirBuilder, CurtaAirBuilder}; +use crate::air::{BaseAirBuilder, SP1AirBuilder}; use crate::memory::MemoryCols; use crate::operations::{ Add4Operation, FixedRotateRightOperation, FixedShiftRightOperation, XorOperation, @@ -18,7 +18,7 @@ impl BaseAir for ShaExtendChip { impl Air for ShaExtendChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { // Initialize columns. diff --git a/core/src/syscall/precompiles/sha256/extend/columns.rs b/core/src/syscall/precompiles/sha256/extend/columns.rs index 0d33120e4d..d27f860fed 100644 --- a/core/src/syscall/precompiles/sha256/extend/columns.rs +++ b/core/src/syscall/precompiles/sha256/extend/columns.rs @@ -2,7 +2,7 @@ use core::borrow::Borrow; use core::borrow::BorrowMut; use std::mem::size_of; -use curta_derive::AlignedBorrow; +use sp1_derive::AlignedBorrow; use crate::memory::MemoryReadCols; use crate::memory::MemoryWriteCols; diff --git a/core/src/syscall/precompiles/sha256/extend/flags.rs b/core/src/syscall/precompiles/sha256/extend/flags.rs index a4f09bf208..f46a925ae5 100644 --- a/core/src/syscall/precompiles/sha256/extend/flags.rs +++ b/core/src/syscall/precompiles/sha256/extend/flags.rs @@ -8,7 +8,7 @@ use p3_field::TwoAdicField; use p3_matrix::MatrixRowSlices; -use crate::air::CurtaAirBuilder; +use crate::air::SP1AirBuilder; use super::ShaExtendChip; use super::ShaExtendCols; @@ -49,7 +49,7 @@ impl ShaExtendCols { } impl ShaExtendChip { - pub fn eval_flags(&self, builder: &mut AB) { + pub fn eval_flags(&self, builder: &mut AB) { let main = builder.main(); let local: &ShaExtendCols = main.row_slice(0).borrow(); let next: &ShaExtendCols = main.row_slice(1).borrow(); diff --git a/core/src/syscall/precompiles/weierstrass/weierstrass_add.rs b/core/src/syscall/precompiles/weierstrass/weierstrass_add.rs index 3592877d56..732a4c794d 100644 --- a/core/src/syscall/precompiles/weierstrass/weierstrass_add.rs +++ b/core/src/syscall/precompiles/weierstrass/weierstrass_add.rs @@ -1,6 +1,5 @@ -use crate::air::CurtaAirBuilder; - use crate::air::MachineAir; +use crate::air::SP1AirBuilder; use crate::memory::MemoryCols; use crate::memory::MemoryReadCols; use crate::memory::MemoryWriteCols; @@ -21,7 +20,6 @@ use crate::utils::limbs_from_prev_access; use crate::utils::pad_rows; use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; -use curta_derive::AlignedBorrow; use num::BigUint; use num::Zero; use p3_air::AirBuilder; @@ -30,6 +28,7 @@ use p3_field::AbstractField; use p3_field::PrimeField32; use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; +use sp1_derive::AlignedBorrow; use std::fmt::Debug; use std::marker::PhantomData; @@ -219,7 +218,7 @@ impl BaseAir for WeierstrassAddAssignChip { impl Air for WeierstrassAddAssignChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/syscall/precompiles/weierstrass/weierstrass_double.rs b/core/src/syscall/precompiles/weierstrass/weierstrass_double.rs index cbe05b13f7..ced770596d 100644 --- a/core/src/syscall/precompiles/weierstrass/weierstrass_double.rs +++ b/core/src/syscall/precompiles/weierstrass/weierstrass_double.rs @@ -1,6 +1,5 @@ -use crate::air::CurtaAirBuilder; - use crate::air::MachineAir; +use crate::air::SP1AirBuilder; use crate::memory::MemoryCols; use crate::memory::MemoryWriteCols; use crate::operations::field::field_op::FieldOpCols; @@ -20,7 +19,6 @@ use crate::utils::limbs_from_prev_access; use crate::utils::pad_rows; use core::borrow::{Borrow, BorrowMut}; use core::mem::size_of; -use curta_derive::AlignedBorrow; use num::BigUint; use num::Zero; use p3_air::AirBuilder; @@ -29,6 +27,7 @@ use p3_field::AbstractField; use p3_field::PrimeField32; use p3_matrix::dense::RowMajorMatrix; use p3_matrix::MatrixRowSlices; +use sp1_derive::AlignedBorrow; use std::fmt::Debug; use std::marker::PhantomData; @@ -223,7 +222,7 @@ impl BaseAir for WeierstrassDoub impl Air for WeierstrassDoubleAssignChip where - AB: CurtaAirBuilder, + AB: SP1AirBuilder, { fn eval(&self, builder: &mut AB) { let main = builder.main(); diff --git a/core/src/utils/programs.rs b/core/src/utils/programs.rs index 6db6728fb4..362398e0d5 100644 --- a/core/src/utils/programs.rs +++ b/core/src/utils/programs.rs @@ -3,52 +3,53 @@ pub mod tests { /// Demos. pub const ED25519_ELF: &[u8] = - include_bytes!("../../../programs/demo/ed25519/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/demo/ed25519/elf/riscv32im-succinct-zkvm-elf"); pub const IO_ELF: &[u8] = - include_bytes!("../../../programs/demo/io/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/demo/io/elf/riscv32im-succinct-zkvm-elf"); pub const SSZ_WITHDRAWALS_ELF: &[u8] = - include_bytes!("../../../programs/demo/ssz-withdrawals/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/demo/ssz-withdrawals/elf/riscv32im-succinct-zkvm-elf"); pub const TENDERMINT_ELF: &[u8] = - include_bytes!("../../../programs/demo/tendermint/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/demo/tendermint/elf/riscv32im-succinct-zkvm-elf"); /// Tests. pub const CYCLE_TRACKER_ELF: &[u8] = - include_bytes!("../../../programs/test/cycle-tracker/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/test/cycle-tracker/elf/riscv32im-succinct-zkvm-elf"); pub const ED_ADD_ELF: &[u8] = - include_bytes!("../../../programs/test/ed-add/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/test/ed-add/elf/riscv32im-succinct-zkvm-elf"); pub const ED_DECOMPRESS_ELF: &[u8] = - include_bytes!("../../../programs/test/ed-decompress/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/test/ed-decompress/elf/riscv32im-succinct-zkvm-elf"); pub const FIBONACCI_ELF: &[u8] = - include_bytes!("../../../programs/demo/fibonacci/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/demo/fibonacci/elf/riscv32im-succinct-zkvm-elf"); pub const KECCAK_PERMUTE_ELF: &[u8] = - include_bytes!("../../../programs/test/keccak-permute/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/test/keccak-permute/elf/riscv32im-succinct-zkvm-elf"); pub const SECP256K1_ADD_ELF: &[u8] = - include_bytes!("../../../programs/test/secp256k1-add/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/test/secp256k1-add/elf/riscv32im-succinct-zkvm-elf"); - pub const SECP256K1_DECOMPRESS_ELF: &[u8] = - include_bytes!("../../../programs/test/secp256k1-decompress/elf/riscv32im-curta-zkvm-elf"); + pub const SECP256K1_DECOMPRESS_ELF: &[u8] = include_bytes!( + "../../../programs/test/secp256k1-decompress/elf/riscv32im-succinct-zkvm-elf" + ); pub const SECP256K1_DOUBLE_ELF: &[u8] = - include_bytes!("../../../programs/test/secp256k1-double/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/test/secp256k1-double/elf/riscv32im-succinct-zkvm-elf"); pub const SHA_COMPRESS_ELF: &[u8] = - include_bytes!("../../../programs/test/sha-compress/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/test/sha-compress/elf/riscv32im-succinct-zkvm-elf"); pub const SHA_EXTEND_ELF: &[u8] = - include_bytes!("../../../programs/test/sha-extend/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/test/sha-extend/elf/riscv32im-succinct-zkvm-elf"); pub const SHA2_ELF: &[u8] = - include_bytes!("../../../programs/test/sha2/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/test/sha2/elf/riscv32im-succinct-zkvm-elf"); pub const BLAKE3_COMPRESS_ELF: &[u8] = - include_bytes!("../../../programs/test/blake3-compress/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/test/blake3-compress/elf/riscv32im-succinct-zkvm-elf"); } diff --git a/core/src/utils/tracer.rs b/core/src/utils/tracer.rs index b3497123d4..0b51b2c2b4 100644 --- a/core/src/utils/tracer.rs +++ b/core/src/utils/tracer.rs @@ -16,9 +16,9 @@ pub fn setup_tracer() { .with_default_directive("log::=off".parse().unwrap()) .from_env_lossy(); if tracer_config == "info" { - env_filter = env_filter.add_directive("curta_core=info".parse().unwrap()); + env_filter = env_filter.add_directive("sp1_core=info".parse().unwrap()); } else if tracer_config == "debug" { - env_filter = env_filter.add_directive("curta_core=debug".parse().unwrap()); + env_filter = env_filter.add_directive("sp1_core=debug".parse().unwrap()); } Registry::default() .with(env_filter) diff --git a/derive/Cargo.toml b/derive/Cargo.toml index 0280173fb1..089de420fb 100644 --- a/derive/Cargo.toml +++ b/derive/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "curta-derive" +name = "sp1-derive" version = "0.1.0" edition = "2021" diff --git a/examples/ed25519/Cargo.toml b/examples/ed25519/Cargo.toml index 5b6540ca5c..f52a42a333 100644 --- a/examples/ed25519/Cargo.toml +++ b/examples/ed25519/Cargo.toml @@ -4,4 +4,4 @@ name = "ed25519-example" edition = "2021" [dependencies] -curta-core = { path = "../../core" } +sp1-core = { path = "../../core" } diff --git a/examples/ed25519/src/main.rs b/examples/ed25519/src/main.rs index ad5b82e7ac..8be948a908 100644 --- a/examples/ed25519/src/main.rs +++ b/examples/ed25519/src/main.rs @@ -1,16 +1,16 @@ -use curta_core::{utils, CurtaProver, CurtaStdin, CurtaVerifier}; +use sp1_core::{utils, SP1Prover, SP1Stdin, SP1Verifier}; const ED25519_ELF: &[u8] = - include_bytes!("../../../programs/demo/ed25519/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/demo/ed25519/elf/riscv32im-succinct-zkvm-elf"); fn main() { // Generate proof. utils::setup_logger(); - let stdin = CurtaStdin::new(); - let proof = CurtaProver::prove(ED25519_ELF, stdin).expect("proving failed"); + let stdin = SP1Stdin::new(); + let proof = SP1Prover::prove(ED25519_ELF, stdin).expect("proving failed"); // Verify proof. - CurtaVerifier::verify(ED25519_ELF, &proof).expect("verification failed"); + SP1Verifier::verify(ED25519_ELF, &proof).expect("verification failed"); // Save proof. proof diff --git a/examples/fibonacci-io/Cargo.toml b/examples/fibonacci-io/Cargo.toml index 4a51a193a8..f275805889 100644 --- a/examples/fibonacci-io/Cargo.toml +++ b/examples/fibonacci-io/Cargo.toml @@ -4,4 +4,4 @@ name = "fibonacci-io-example" edition = "2021" [dependencies] -curta-core = { path = "../../core" } \ No newline at end of file +sp1-core = { path = "../../core" } \ No newline at end of file diff --git a/examples/fibonacci-io/src/main.rs b/examples/fibonacci-io/src/main.rs index b990c6f716..755687db6d 100644 --- a/examples/fibonacci-io/src/main.rs +++ b/examples/fibonacci-io/src/main.rs @@ -1,19 +1,19 @@ -use curta_core::{utils, CurtaProver, CurtaStdin, CurtaVerifier}; +use sp1_core::{utils, SP1Prover, SP1Stdin, SP1Verifier}; /// The ELF we want to execute inside the zkVM. const FIBONACCI_IO_ELF: &[u8] = - include_bytes!("../../../programs/demo/rsa/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/demo/rsa/elf/riscv32im-succinct-zkvm-elf"); fn main() { // Setup a tracer for logging. utils::setup_tracer(); // Create an input stream and write '5000' to it. - let mut stdin = CurtaStdin::new(); + let mut stdin = SP1Stdin::new(); stdin.write(&5000u32); // Generate the proof for the given program and input. - let mut proof = CurtaProver::prove(FIBONACCI_IO_ELF, stdin).expect("proving failed"); + let mut proof = SP1Prover::prove(FIBONACCI_IO_ELF, stdin).expect("proving failed"); // Read the output. let a = proof.stdout.read::(); @@ -22,7 +22,7 @@ fn main() { println!("b: {}", b); // Verify proof. - CurtaVerifier::verify(FIBONACCI_IO_ELF, &proof).expect("verification failed"); + SP1Verifier::verify(FIBONACCI_IO_ELF, &proof).expect("verification failed"); // Save the proof. proof diff --git a/examples/json/Cargo.toml b/examples/json/Cargo.toml index 214461cd90..030868e021 100644 --- a/examples/json/Cargo.toml +++ b/examples/json/Cargo.toml @@ -4,4 +4,4 @@ name = "json-decoder-script" edition = "2021" [dependencies] -curta-core = { path = "../../core" } +sp1-core = { path = "../../core" } diff --git a/examples/json/src/main.rs b/examples/json/src/main.rs index d10d688eb2..fa59ee1fcc 100644 --- a/examples/json/src/main.rs +++ b/examples/json/src/main.rs @@ -1,14 +1,15 @@ //! A simple script to generate and verify the proof of a given program. -use curta_core::{utils, CurtaProver, CurtaStdin, CurtaVerifier}; +use sp1_core::{utils, SP1Prover, SP1Stdin, SP1Verifier}; -const JSON_ELF: &[u8] = include_bytes!("../../../programs/demo/json/elf/riscv32im-curta-zkvm-elf"); +const JSON_ELF: &[u8] = + include_bytes!("../../../programs/demo/json/elf/riscv32im-succinct-zkvm-elf"); fn main() { // setup tracer for logging. utils::setup_tracer(); // Generate proof. - let mut stdin = CurtaStdin::new(); + let mut stdin = SP1Stdin::new(); // Sample JSON as a string input. let data_str = r#" @@ -23,14 +24,14 @@ fn main() { stdin.write(&data_str); stdin.write(&key); - let mut proof = CurtaProver::prove(JSON_ELF, stdin).expect("proving failed"); + let mut proof = SP1Prover::prove(JSON_ELF, stdin).expect("proving failed"); // Read output. let val = proof.stdout.read::(); println!("Value of {} is {}", key, val); // Verify proof. - CurtaVerifier::verify(JSON_ELF, &proof).expect("verification failed"); + SP1Verifier::verify(JSON_ELF, &proof).expect("verification failed"); // Save proof. proof diff --git a/examples/regex/Cargo.toml b/examples/regex/Cargo.toml index 1105c412d2..883098d026 100644 --- a/examples/regex/Cargo.toml +++ b/examples/regex/Cargo.toml @@ -4,4 +4,4 @@ name = "regex-example" edition = "2021" [dependencies] -curta-core = { path = "../../core" } +sp1-core = { path = "../../core" } diff --git a/examples/regex/src/main.rs b/examples/regex/src/main.rs index 88410695f1..9bf8ff5150 100644 --- a/examples/regex/src/main.rs +++ b/examples/regex/src/main.rs @@ -1,4 +1,4 @@ -use curta_core::{utils, CurtaProver, CurtaStdin, CurtaVerifier}; +use sp1_core::{utils, SP1Prover, SP1Stdin, SP1Verifier}; /// The ELF we want to execute inside the zkVM. const REGEX_IO_ELF: &[u8] = @@ -9,7 +9,7 @@ fn main() { utils::setup_tracer(); // Create a new stdin with d the input for the program. - let mut stdin = CurtaStdin::new(); + let mut stdin = SP1Stdin::new(); let pattern = "a+".to_string(); let target_string = "an era of truth, not trust".to_string(); @@ -19,14 +19,14 @@ fn main() { stdin.write(&target_string); // Generate the proof for the given program and input. - let mut proof = CurtaProver::prove(REGEX_IO_ELF, stdin).expect("proving failed"); + let mut proof = SP1Prover::prove(REGEX_IO_ELF, stdin).expect("proving failed"); // Read the output. let res = proof.stdout.read::(); println!("res: {}", res); // Verify proof. - CurtaVerifier::verify(REGEX_IO_ELF, &proof).expect("verification failed"); + SP1Verifier::verify(REGEX_IO_ELF, &proof).expect("verification failed"); // Save the proof. proof diff --git a/examples/ssz-withdrawals/Cargo.toml b/examples/ssz-withdrawals/Cargo.toml index 99ba2cfc99..2cee6ac4e4 100644 --- a/examples/ssz-withdrawals/Cargo.toml +++ b/examples/ssz-withdrawals/Cargo.toml @@ -4,4 +4,4 @@ name = "ssz" edition = "2021" [dependencies] -curta-core = { path = "../../core" } +sp1-core = { path = "../../core" } diff --git a/examples/ssz-withdrawals/src/main.rs b/examples/ssz-withdrawals/src/main.rs index c51131089a..d7d16a4403 100644 --- a/examples/ssz-withdrawals/src/main.rs +++ b/examples/ssz-withdrawals/src/main.rs @@ -1,18 +1,18 @@ -use curta_core::{utils, CurtaProver, CurtaStdin, CurtaVerifier}; +use sp1_core::{utils, SP1Prover, SP1Stdin, SP1Verifier}; const ELF: &[u8] = - include_bytes!("../../../programs/demo/ssz-withdrawals/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/demo/ssz-withdrawals/elf/riscv32im-succinct-zkvm-elf"); fn main() { // Generate proof. // utils::setup_tracer(); utils::setup_logger(); - let stdin = CurtaStdin::new(); - let proof = CurtaProver::prove(ELF, stdin).expect("proving failed"); + let stdin = SP1Stdin::new(); + let proof = SP1Prover::prove(ELF, stdin).expect("proving failed"); // Verify proof. - CurtaVerifier::verify(ELF, &proof).expect("verification failed"); + SP1Verifier::verify(ELF, &proof).expect("verification failed"); // Save proof. proof diff --git a/examples/tendermint/Cargo.toml b/examples/tendermint/Cargo.toml index 6d5574a1dc..ded1a5d73a 100644 --- a/examples/tendermint/Cargo.toml +++ b/examples/tendermint/Cargo.toml @@ -4,4 +4,4 @@ name = "tendermint-example" edition = "2021" [dependencies] -curta-core = { path = "../../core", features = ["neon"] } +sp1-core = { path = "../../core", features = ["neon"] } diff --git a/examples/tendermint/src/main.rs b/examples/tendermint/src/main.rs index 96a6401c7f..e3b7226f2e 100644 --- a/examples/tendermint/src/main.rs +++ b/examples/tendermint/src/main.rs @@ -1,16 +1,16 @@ -use curta_core::{utils, CurtaProver, CurtaStdin, CurtaVerifier}; +use sp1_core::{utils, SP1Prover, SP1Stdin, SP1Verifier}; const ED25519_ELF: &[u8] = - include_bytes!("../../../programs/demo/tendermint/elf/riscv32im-curta-zkvm-elf"); + include_bytes!("../../../programs/demo/tendermint/elf/riscv32im-succinct-zkvm-elf"); fn main() { // Generate proof. utils::setup_logger(); - let stdin = CurtaStdin::new(); - let proof = CurtaProver::prove(ED25519_ELF, stdin).expect("proving failed"); + let stdin = SP1Stdin::new(); + let proof = SP1Prover::prove(ED25519_ELF, stdin).expect("proving failed"); // Verify proof. - CurtaVerifier::verify(ED25519_ELF, &proof).expect("verification failed"); + SP1Verifier::verify(ED25519_ELF, &proof).expect("verification failed"); // Save proof. proof diff --git a/programs/demo/ed25519/Cargo.lock b/programs/demo/ed25519/Cargo.lock index b8a546ad02..b43df404fb 100644 --- a/programs/demo/ed25519/Cargo.lock +++ b/programs/demo/ed25519/Cargo.lock @@ -93,19 +93,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "curve25519-dalek" version = "4.1.1" @@ -195,9 +182,9 @@ dependencies = [ name = "ed25519-zkvm" version = "0.1.0" dependencies = [ - "curta-zkvm", "ed25519-dalek", "hex-literal", + "sp1-zkvm", ] [[package]] @@ -473,6 +460,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" diff --git a/programs/demo/ed25519/Cargo.toml b/programs/demo/ed25519/Cargo.toml index c2d0819520..ad7d26a504 100644 --- a/programs/demo/ed25519/Cargo.toml +++ b/programs/demo/ed25519/Cargo.toml @@ -5,7 +5,7 @@ name = "ed25519-zkvm" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } +sp1-zkvm = { path = "../../../zkvm" } ed25519-dalek = { git = "https://github.com/dalek-cryptography/curve25519-dalek.git", rev = "0b45e00", version = "2.1.0" } hex-literal = "0.4.1" diff --git a/programs/demo/ed25519/elf/riscv32im-curta-zkvm-elf b/programs/demo/ed25519/elf/riscv32im-succinct-zkvm-elf similarity index 52% rename from programs/demo/ed25519/elf/riscv32im-curta-zkvm-elf rename to programs/demo/ed25519/elf/riscv32im-succinct-zkvm-elf index 7e087a5b67..6c0d502127 100755 Binary files a/programs/demo/ed25519/elf/riscv32im-curta-zkvm-elf and b/programs/demo/ed25519/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/demo/ed25519/src/main.rs b/programs/demo/ed25519/src/main.rs index 7338511472..46feb1d508 100644 --- a/programs/demo/ed25519/src/main.rs +++ b/programs/demo/ed25519/src/main.rs @@ -1,5 +1,5 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); use ed25519_dalek::*; use hex_literal::hex; diff --git a/programs/demo/fibonacci-io/Cargo.lock b/programs/demo/fibonacci-io/Cargo.lock index 8c86d398e4..44120d420a 100644 --- a/programs/demo/fibonacci-io/Cargo.lock +++ b/programs/demo/fibonacci-io/Cargo.lock @@ -93,19 +93,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "der" version = "0.7.8" @@ -177,7 +164,7 @@ dependencies = [ name = "fibonacci-io-zkvm" version = "0.1.0" dependencies = [ - "curta-zkvm", + "sp1-zkvm", ] [[package]] @@ -389,6 +376,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" diff --git a/programs/demo/fibonacci-io/Cargo.toml b/programs/demo/fibonacci-io/Cargo.toml index 902239ec7c..4f0609a5a8 100644 --- a/programs/demo/fibonacci-io/Cargo.toml +++ b/programs/demo/fibonacci-io/Cargo.toml @@ -5,4 +5,4 @@ name = "fibonacci-io-zkvm" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } \ No newline at end of file +sp1-zkvm = { path = "../../../zkvm" } \ No newline at end of file diff --git a/programs/demo/fibonacci-io/elf/riscv32im-curta-zkvm-elf b/programs/demo/fibonacci-io/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index 39a6d70b20..0000000000 Binary files a/programs/demo/fibonacci-io/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/demo/fibonacci-io/elf/riscv32im-succinct-zkvm-elf b/programs/demo/fibonacci-io/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..dc46bc87cc Binary files /dev/null and b/programs/demo/fibonacci-io/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/demo/fibonacci-io/src/main.rs b/programs/demo/fibonacci-io/src/main.rs index 59651cc1c4..2bc4d9fff4 100644 --- a/programs/demo/fibonacci-io/src/main.rs +++ b/programs/demo/fibonacci-io/src/main.rs @@ -6,14 +6,14 @@ // Under the hood, we wrap your main function with some extra code so that it behaves properly // inside the zkVM. #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); pub fn main() { // Read an input to the program. // // Behind the scenes, this compiles down to a custom system call which handles reading inputs // from the prover. - let n = curta_zkvm::io::read::(); + let n = sp1_zkvm::io::read::(); // Compute the n'th fibonacci number, using normal Rust code. let mut a = 0; @@ -29,6 +29,6 @@ pub fn main() { // // Behind the scenes, this also compiles down to a custom system call which handles writing // outputs to the prover. - curta_zkvm::io::write(&a); - curta_zkvm::io::write(&b); + sp1_zkvm::io::write(&a); + sp1_zkvm::io::write(&b); } diff --git a/programs/demo/fibonacci/Cargo.lock b/programs/demo/fibonacci/Cargo.lock index 90b35488cb..cb82ccca20 100644 --- a/programs/demo/fibonacci/Cargo.lock +++ b/programs/demo/fibonacci/Cargo.lock @@ -93,19 +93,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "der" version = "0.7.8" @@ -177,7 +164,7 @@ dependencies = [ name = "fibonacci-zkvm" version = "0.1.0" dependencies = [ - "curta-zkvm", + "sp1-zkvm", ] [[package]] @@ -389,6 +376,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" diff --git a/programs/demo/fibonacci/Cargo.toml b/programs/demo/fibonacci/Cargo.toml index 8c5335ad83..4e237b127b 100644 --- a/programs/demo/fibonacci/Cargo.toml +++ b/programs/demo/fibonacci/Cargo.toml @@ -5,4 +5,4 @@ name = "fibonacci-zkvm" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } \ No newline at end of file +sp1-zkvm = { path = "../../../zkvm" } \ No newline at end of file diff --git a/programs/demo/fibonacci/elf/riscv32im-curta-zkvm-elf b/programs/demo/fibonacci/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index 567d65a1c2..0000000000 Binary files a/programs/demo/fibonacci/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/demo/fibonacci/elf/riscv32im-succinct-zkvm-elf b/programs/demo/fibonacci/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..89f514a39e Binary files /dev/null and b/programs/demo/fibonacci/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/demo/fibonacci/src/main.rs b/programs/demo/fibonacci/src/main.rs index e00e9d3cb5..76f534a63b 100644 --- a/programs/demo/fibonacci/src/main.rs +++ b/programs/demo/fibonacci/src/main.rs @@ -1,5 +1,5 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); pub fn main() { let n = 50000; diff --git a/programs/demo/io/Cargo.lock b/programs/demo/io/Cargo.lock index 36105ae8e5..f6fa320d24 100644 --- a/programs/demo/io/Cargo.lock +++ b/programs/demo/io/Cargo.lock @@ -93,19 +93,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "der" version = "0.7.8" @@ -226,8 +213,8 @@ name = "io-zkvm" version = "0.1.0" dependencies = [ "bincode", - "curta-zkvm", "serde", + "sp1-zkvm", ] [[package]] @@ -391,6 +378,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" diff --git a/programs/demo/io/Cargo.toml b/programs/demo/io/Cargo.toml index 5a0dcd8904..929ac09f54 100644 --- a/programs/demo/io/Cargo.toml +++ b/programs/demo/io/Cargo.toml @@ -5,6 +5,6 @@ name = "io-zkvm" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } +sp1-zkvm = { path = "../../../zkvm" } serde = { version = "1.0.195", features = ["derive"] } bincode = "1.3.3" \ No newline at end of file diff --git a/programs/demo/io/elf/riscv32im-curta-zkvm-elf b/programs/demo/io/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index 74fe939956..0000000000 Binary files a/programs/demo/io/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/demo/io/elf/riscv32im-succinct-zkvm-elf b/programs/demo/io/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..ff67adba4c Binary files /dev/null and b/programs/demo/io/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/demo/io/src/main.rs b/programs/demo/io/src/main.rs index a118bf127e..b2983471f0 100644 --- a/programs/demo/io/src/main.rs +++ b/programs/demo/io/src/main.rs @@ -1,5 +1,5 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); use serde::{Deserialize, Serialize}; @@ -17,10 +17,10 @@ struct MyPointUnaligned { } pub fn main() { - let p1 = curta_zkvm::io::read::(); + let p1 = sp1_zkvm::io::read::(); println!("Read point: {:?}", p1); - let p2 = curta_zkvm::io::read::(); + let p2 = sp1_zkvm::io::read::(); println!("Read point: {:?}", p2); let p3: MyPointUnaligned = MyPointUnaligned { @@ -29,5 +29,5 @@ pub fn main() { b: p1.b && p2.b, }; println!("Addition of 2 points: {:?}", p3); - curta_zkvm::io::write(&p3); + sp1_zkvm::io::write(&p3); } diff --git a/programs/demo/json/elf/riscv32im-curta-zkvm-elf b/programs/demo/json/elf/riscv32im-curta-zkvm-elf index ffc3242f32..396eaeaf25 100755 Binary files a/programs/demo/json/elf/riscv32im-curta-zkvm-elf and b/programs/demo/json/elf/riscv32im-curta-zkvm-elf differ diff --git a/programs/demo/json/elf/riscv32im-succinct-zkvm-elf b/programs/demo/json/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..aa8289beb1 Binary files /dev/null and b/programs/demo/json/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/demo/rebuild.sh b/programs/demo/rebuild.sh new file mode 100644 index 0000000000..2bdc03db40 --- /dev/null +++ b/programs/demo/rebuild.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# Define the parent directory containing the subdirectories +PARENT_DIR="./" # Adjust this to your specific directory + +# Iterate over each subdirectory in the specified parent directory +for SUBDIR in "$PARENT_DIR"*/; do + # Check if the directory is not empty + if [ -d "$SUBDIR" ]; then + echo "Processing $SUBDIR" + cd "$SUBDIR" || exit + + # Your commands + rm -rf elf + mkdir elf + cargo clean + cargo prove build + + # Return to the parent directory + cd .. + fi +done + +echo "All subdirectories processed." diff --git a/programs/demo/regex/Cargo.lock b/programs/demo/regex/Cargo.lock index 240561f778..460ea46a81 100644 --- a/programs/demo/regex/Cargo.lock +++ b/programs/demo/regex/Cargo.lock @@ -102,19 +102,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "der" version = "0.7.8" @@ -182,14 +169,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "fibonacci-io-zkvm" -version = "0.1.0" -dependencies = [ - "curta-zkvm", - "regex", -] - [[package]] name = "funty" version = "2.0.0" @@ -363,6 +342,14 @@ dependencies = [ "regex-syntax", ] +[[package]] +name = "regex-demo" +version = "0.1.0" +dependencies = [ + "regex", + "sp1-zkvm", +] + [[package]] name = "regex-syntax" version = "0.8.2" @@ -434,6 +421,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" diff --git a/programs/demo/regex/Cargo.toml b/programs/demo/regex/Cargo.toml index 499fe86461..0147393c71 100644 --- a/programs/demo/regex/Cargo.toml +++ b/programs/demo/regex/Cargo.toml @@ -5,5 +5,5 @@ name = "regex-demo" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } +sp1-zkvm = { path = "../../../zkvm" } regex = "1.10.3" diff --git a/programs/demo/regex/elf/riscv32im-succinct-zkvm-elf b/programs/demo/regex/elf/riscv32im-succinct-zkvm-elf index 2a3a9872fe..2e5c85316b 100755 Binary files a/programs/demo/regex/elf/riscv32im-succinct-zkvm-elf and b/programs/demo/regex/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/demo/regex/src/main.rs b/programs/demo/regex/src/main.rs index 5c65a07c15..6d064ddbf6 100644 --- a/programs/demo/regex/src/main.rs +++ b/programs/demo/regex/src/main.rs @@ -1,5 +1,7 @@ //! A simple program that takes a regex pattern and a string and returns whether the string //! matches the pattern. +#![no_main] +sp1_zkvm::entrypoint!(main); use regex::Regex; @@ -7,13 +9,11 @@ use regex::Regex; // // Under the hood, we wrap your main function with some extra code so that it behaves properly // inside the zkVM. -#![no_main] -curta_zkvm::entrypoint!(main); pub fn main() { // Read two inputs from the prover: a regex pattern and a target string. - let pattern = curta_zkvm::io::read::(); - let target_string = curta_zkvm::io::read::(); + let pattern = sp1_zkvm::io::read::(); + let target_string = sp1_zkvm::io::read::(); // Try to compile the regex pattern. If it fails, write `false` as output and return. let regex = match Regex::new(&pattern) { @@ -27,5 +27,5 @@ pub fn main() { let result = regex.is_match(&target_string); // Write the result (true or false) to the output. - curta_zkvm::io::write(&result); + sp1_zkvm::io::write(&result); } diff --git a/programs/demo/rsa/Cargo.lock b/programs/demo/rsa/Cargo.lock index de430586b3..c9644cb843 100644 --- a/programs/demo/rsa/Cargo.lock +++ b/programs/demo/rsa/Cargo.lock @@ -130,19 +130,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "der" version = "0.5.1" @@ -507,11 +494,11 @@ dependencies = [ name = "rsa-zkvm" version = "0.1.0" dependencies = [ - "curta-zkvm", "digest 0.10.7", "rand", "rsa", "sha2 0.9.8", + "sp1-zkvm", ] [[package]] @@ -587,6 +574,19 @@ version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spin" version = "0.5.2" diff --git a/programs/demo/rsa/Cargo.toml b/programs/demo/rsa/Cargo.toml index 8ecc1a8a33..47bba4b74f 100644 --- a/programs/demo/rsa/Cargo.toml +++ b/programs/demo/rsa/Cargo.toml @@ -5,7 +5,7 @@ name = "rsa-zkvm" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } +sp1-zkvm = { path = "../../../zkvm" } digest = "0.10.7" rand = "0.8.5" rsa = "0.6" # Check for the latest version diff --git a/programs/demo/rsa/elf/riscv32im-curta-zkvm-elf b/programs/demo/rsa/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index 69fc12b574..0000000000 Binary files a/programs/demo/rsa/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/demo/rsa/elf/riscv32im-succinct-zkvm-elf b/programs/demo/rsa/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..3ff6b06e86 Binary files /dev/null and b/programs/demo/rsa/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/demo/rsa/src/main.rs b/programs/demo/rsa/src/main.rs index ce4344648f..d73a8241ac 100644 --- a/programs/demo/rsa/src/main.rs +++ b/programs/demo/rsa/src/main.rs @@ -1,5 +1,5 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); use rsa::PaddingScheme; use rsa::PublicKey; diff --git a/programs/demo/ssz-withdrawals/Cargo.lock b/programs/demo/ssz-withdrawals/Cargo.lock index 4f8edc041b..d979eb2a0b 100644 --- a/programs/demo/ssz-withdrawals/Cargo.lock +++ b/programs/demo/ssz-withdrawals/Cargo.lock @@ -406,19 +406,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "darling" version = "0.20.5" @@ -1328,6 +1315,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" @@ -1343,13 +1343,13 @@ name = "ssz-withdrawals-zkvm" version = "0.1.0" dependencies = [ "alloy-primitives", - "curta-zkvm", "hex", "hex-literal", "serde", "serde_json", "serde_with", "sha2 0.9.9", + "sp1-zkvm", "ssz_rs", ] diff --git a/programs/demo/ssz-withdrawals/Cargo.toml b/programs/demo/ssz-withdrawals/Cargo.toml index b2d6ff7336..74f87f764d 100644 --- a/programs/demo/ssz-withdrawals/Cargo.toml +++ b/programs/demo/ssz-withdrawals/Cargo.toml @@ -5,7 +5,7 @@ name = "ssz-withdrawals-zkvm" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } +sp1-zkvm = { path = "../../../zkvm" } hex-literal = "0.4.1" sha2 = "0.9.8" ssz_rs = { version = "0.9.0", features = ["serde"] } diff --git a/programs/demo/ssz-withdrawals/elf/riscv32im-curta-zkvm-elf b/programs/demo/ssz-withdrawals/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index 58d54c59dc..0000000000 Binary files a/programs/demo/ssz-withdrawals/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/demo/ssz-withdrawals/elf/riscv32im-succinct-zkvm-elf b/programs/demo/ssz-withdrawals/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..bbe8969f58 Binary files /dev/null and b/programs/demo/ssz-withdrawals/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/demo/ssz-withdrawals/src/main.rs b/programs/demo/ssz-withdrawals/src/main.rs index 8f6d0d766a..777cba235f 100644 --- a/programs/demo/ssz-withdrawals/src/main.rs +++ b/programs/demo/ssz-withdrawals/src/main.rs @@ -2,7 +2,7 @@ //! sum of all beacon partial withdrawals in [start_slot, end_slot) to the given eigenpod address. #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); mod beacon; diff --git a/programs/demo/tendermint/Cargo.lock b/programs/demo/tendermint/Cargo.lock index 337081f1ed..b208bc62ad 100644 --- a/programs/demo/tendermint/Cargo.lock +++ b/programs/demo/tendermint/Cargo.lock @@ -689,6 +689,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" @@ -720,19 +733,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" -[[package]] -name = "succinct-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "syn" version = "1.0.109" @@ -827,7 +827,7 @@ version = "0.1.0" dependencies = [ "serde", "serde_json", - "succinct-zkvm", + "sp1-zkvm", "tendermint", "tendermint-light-client-verifier", ] diff --git a/programs/demo/tendermint/Cargo.toml b/programs/demo/tendermint/Cargo.toml index 7cc1ee8e0d..63434f40b1 100644 --- a/programs/demo/tendermint/Cargo.toml +++ b/programs/demo/tendermint/Cargo.toml @@ -5,7 +5,7 @@ name = "tendermint-zkvm" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } +sp1-zkvm = { path = "../../../zkvm" } serde_json = { version = "1.0", default-features = false, features = ["alloc"] } serde = { version = "1.0", default-features = false, features = ["derive"] } tendermint = { version = "0.34.0", default-features = false } diff --git a/programs/demo/tendermint/elf/riscv32im-curta-zkvm-elf b/programs/demo/tendermint/elf/riscv32im-succinct-zkvm-elf similarity index 53% rename from programs/demo/tendermint/elf/riscv32im-curta-zkvm-elf rename to programs/demo/tendermint/elf/riscv32im-succinct-zkvm-elf index 29ff491453..5aa2cad514 100755 Binary files a/programs/demo/tendermint/elf/riscv32im-curta-zkvm-elf and b/programs/demo/tendermint/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/demo/tendermint/src/main.rs b/programs/demo/tendermint/src/main.rs index d855f9b87d..3408be65b9 100644 --- a/programs/demo/tendermint/src/main.rs +++ b/programs/demo/tendermint/src/main.rs @@ -1,5 +1,5 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); use core::time::Duration; use serde::Deserialize; diff --git a/programs/demo/zeth/Cargo.lock b/programs/demo/zeth/Cargo.lock new file mode 100644 index 0000000000..4584b73c9b --- /dev/null +++ b/programs/demo/zeth/Cargo.lock @@ -0,0 +1,3623 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "adler32" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" + +[[package]] +name = "ahash" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" + +[[package]] +name = "alloy-primitives" +version = "0.6.2" +source = "git+ssh://git@github.com/succinctlabs/alloy-core-private?branch=patch-v0.6.2#8884619d9fc0f28344d015752985863afbeaeeba" +dependencies = [ + "alloy-rlp", + "bytes", + "cfg-if", + "const-hex", + "derive_more", + "hex-literal", + "itoa", + "k256", + "keccak-asm", + "proptest", + "rand", + "ruint", + "serde", + "tiny-keccak 2.0.2 (git+ssh://git@github.com/succinctlabs/tiny-keccak-private.git)", +] + +[[package]] +name = "alloy-rlp" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d58d9f5da7b40e9bfff0b7e7816700be4019db97d4b6359fe7f94a9e22e42ac" +dependencies = [ + "arrayvec", + "bytes", +] + +[[package]] +name = "alloy-rlp-derive" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a047897373be4bbb0224c1afdabca92648dc57a9c9ef6e7b0be3aff7a859c83" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "alloy-sol-macro" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b0b5ab0cb07c21adf9d72e988b34e8200ce648c2bba8d009183bb1c50fb1216" +dependencies = [ + "const-hex", + "dunce", + "heck", + "indexmap 2.2.2", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.48", + "syn-solidity", + "tiny-keccak 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "alloy-sol-types" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c08f62ded7ce03513bfb60ef5cad4fff5d4f67eac6feb4df80426b7b9ffb06e" +dependencies = [ + "alloy-primitives", + "alloy-sol-macro", + "const-hex", + "serde", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" + +[[package]] +name = "ark-ff" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" +dependencies = [ + "ark-ff-asm 0.3.0", + "ark-ff-macros 0.3.0", + "ark-serialize 0.3.0", + "ark-std 0.3.0", + "derivative", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.3.3", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "digest 0.10.7", + "itertools", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.4.0", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" +dependencies = [ + "num-bigint", + "num-traits", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-serialize" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" +dependencies = [ + "ark-std 0.3.0", + "digest 0.9.0", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-std 0.4.0", + "digest 0.10.7", + "num-bigint", +] + +[[package]] +name = "ark-std" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" +dependencies = [ + "num-traits", + "rand", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand", +] + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "async-trait" +version = "0.1.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "async_io_stream" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" +dependencies = [ + "futures", + "pharos", + "rustc_version 0.4.0", +] + +[[package]] +name = "aurora-engine-modexp" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfacad86e9e138fca0670949eb8ed4ffdf73a55bded8887efe0863cd1a3a6f70" +dependencies = [ + "hex", + "num", +] + +[[package]] +name = "auto_impl" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "823b8bb275161044e2ac7a25879cb3e2480cb403e3943022c7c769c599b756aa" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "backtrace" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" +dependencies = [ + "serde", +] + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "serde", + "tap", + "wyz", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "blst" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c94087b935a822949d3291a9989ad2b2051ea141eda0fd4e478a75f6aa3e604b" +dependencies = [ + "cc", + "glob", + "threadpool", + "zeroize", +] + +[[package]] +name = "bumpalo" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" + +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +dependencies = [ + "serde", +] + +[[package]] +name = "c-kzg" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d8c306be83ec04bf5f73710badd8edf56dea23f2f0d8b7f9fe4644d371c758" +dependencies = [ + "blst", + "cc", + "glob", + "hex", + "libc", + "serde", +] + +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "num-traits", + "serde", + "windows-targets 0.52.0", +] + +[[package]] +name = "const-hex" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18d59688ad0945eaf6b84cb44fedbe93484c81b48970e98f09db8a22832d7961" +dependencies = [ + "cfg-if", + "cpufeatures", + "hex", + "proptest", + "serde", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "core2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" +dependencies = [ + "memchr", +] + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "darling" +version = "0.20.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc5d6b04b3fd0ba9926f945895de7d806260a2d7431ba82e7edaecb043c4c6b8" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04e48a959bcd5c761246f5d090ebc2fbf7b9cd527a492b07a67510c108f1e7e3" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.48", +] + +[[package]] +name = "darling_macro" +version = "0.20.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1545d67a2149e1d93b7e5c7752dce5a7426eb5d1357ddcfd89336b94444f77" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "dary_heap" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7762d17f1241643615821a8455a0b2c3e803784b058693d990b11f2dce25a0ca" + +[[package]] +name = "data-encoding" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" + +[[package]] +name = "der" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +dependencies = [ + "const-oid", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "serde", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version 0.4.0", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "dunce" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "either" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core", + "sec1", + "subtle", + "tap", + "zeroize", +] + +[[package]] +name = "encoding_rs" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enr" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe81b5c06ecfdbc71dd845216f225f53b62a10cb8a16c946836a3467f701d05b" +dependencies = [ + "base64 0.21.7", + "bytes", + "hex", + "k256", + "log", + "rand", + "rlp", + "serde", + "sha3", + "zeroize", +] + +[[package]] +name = "enumn" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "ethabi" +version = "18.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" +dependencies = [ + "ethereum-types", + "hex", + "once_cell", + "regex", + "serde", + "serde_json", + "sha3", + "thiserror", + "uint", +] + +[[package]] +name = "ethbloom" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" +dependencies = [ + "crunchy", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "tiny-keccak 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ethereum-types" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" +dependencies = [ + "ethbloom", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "primitive-types", + "scale-info", + "uint", +] + +[[package]] +name = "ethers-core" +version = "2.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aab3cef6cc1c9fd7f787043c81ad3052eff2b96a3878ef1526aa446311bdbfc9" +dependencies = [ + "arrayvec", + "bytes", + "chrono", + "const-hex", + "elliptic-curve", + "ethabi", + "generic-array", + "k256", + "num_enum", + "open-fastrlp", + "rand", + "rlp", + "serde", + "serde_json", + "strum", + "tempfile", + "thiserror", + "tiny-keccak 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid", +] + +[[package]] +name = "ethers-providers" +version = "2.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb6b15393996e3b8a78ef1332d6483c11d839042c17be58decc92fa8b1c3508a" +dependencies = [ + "async-trait", + "auto_impl", + "base64 0.21.7", + "bytes", + "const-hex", + "enr", + "ethers-core", + "futures-channel", + "futures-core", + "futures-timer", + "futures-util", + "hashers", + "http", + "instant", + "jsonwebtoken", + "once_cell", + "pin-project", + "reqwest", + "serde", + "serde_json", + "thiserror", + "tokio", + "tokio-tungstenite", + "tracing", + "tracing-futures", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "ws_stream_wasm", +] + +[[package]] +name = "fastrand" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" + +[[package]] +name = "fastrlp" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] + +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "bitvec", + "rand_core", + "subtle", +] + +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "flate2" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-executor" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-timer" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +dependencies = [ + "gloo-timers", + "send_wrapper 0.4.0", +] + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core", + "subtle", +] + +[[package]] +name = "h2" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 2.2.2", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +dependencies = [ + "ahash", + "allocator-api2", + "serde", +] + +[[package]] +name = "hashers" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2bca93b15ea5a746f220e56587f71e73c6165eab783df9e26590069953e3c30" +dependencies = [ + "fxhash", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] + +[[package]] +name = "hex-literal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "http" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "0.14.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +dependencies = [ + "futures-util", + "http", + "hyper", + "rustls", + "tokio", + "tokio-rustls", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-rlp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +dependencies = [ + "rlp", +] + +[[package]] +name = "impl-serde" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +dependencies = [ + "serde", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520" +dependencies = [ + "equivalent", + "hashbrown 0.14.3", + "serde", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ipnet" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" + +[[package]] +name = "js-sys" +version = "0.3.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jsonwebtoken" +version = "8.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" +dependencies = [ + "base64 0.21.7", + "pem", + "ring 0.16.20", + "serde", + "serde_json", + "simple_asn1", +] + +[[package]] +name = "k256" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2", + "signature", +] + +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "keccak-asm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb8515fff80ed850aea4a1595f2e519c003e2a00a82fe168ebf5269196caf444" +dependencies = [ + "digest 0.10.7", + "sha3-asm", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +dependencies = [ + "spin 0.5.2", +] + +[[package]] +name = "libc" +version = "0.2.153" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" + +[[package]] +name = "libflate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7d5654ae1795afc7ff76f4365c2c8791b0feb18e8996a96adad8ffd7c3b2bf" +dependencies = [ + "adler32", + "core2", + "crc32fast", + "dary_heap", + "libflate_lz77", +] + +[[package]] +name = "libflate_lz77" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be5f52fb8c451576ec6b79d3f4deb327398bc05bbdbd99021a6e77a4c855d524" +dependencies = [ + "core2", + "hashbrown 0.13.2", + "rle-decode-fast", +] + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "linux-raw-sys" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" + +[[package]] +name = "lock_api" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "memchr" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "num" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" +dependencies = [ + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +dependencies = [ + "autocfg", + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "open-fastrlp" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", + "ethereum-types", + "open-fastrlp-derive", +] + +[[package]] +name = "open-fastrlp-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" +dependencies = [ + "bytes", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "parity-scale-codec" +version = "3.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" +dependencies = [ + "arrayvec", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" +dependencies = [ + "proc-macro-crate 2.0.0", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.48.5", +] + +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + +[[package]] +name = "pem" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +dependencies = [ + "base64 0.13.1", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pest" +version = "2.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "219c0dcc30b6a27553f9cc242972b67f75b60eb0db71f0b5462f38b058c41546" +dependencies = [ + "memchr", + "thiserror", + "ucd-trie", +] + +[[package]] +name = "pharos" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +dependencies = [ + "futures", + "rustc_version 0.4.0", +] + +[[package]] +name = "pin-project" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "primitive-types" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" +dependencies = [ + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +dependencies = [ + "toml_edit 0.20.7", +] + +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit 0.21.1", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "proptest" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" +dependencies = [ + "bit-set", + "bit-vec", + "bitflags 2.4.2", + "lazy_static", + "num-traits", + "rand", + "rand_chacha", + "rand_xorshift", + "regex-syntax", + "rusty-fork", + "tempfile", + "unarray", +] + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +dependencies = [ + "rand_core", +] + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "regex" +version = "1.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + +[[package]] +name = "reqwest" +version = "0.11.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" +dependencies = [ + "base64 0.21.7", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-rustls", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls", + "rustls-pemfile", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "system-configuration", + "tokio", + "tokio-rustls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots", + "winreg", +] + +[[package]] +name = "revm" +version = "3.5.0" +source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +dependencies = [ + "auto_impl", + "revm-interpreter", + "revm-precompile", + "serde", + "serde_json", +] + +[[package]] +name = "revm-interpreter" +version = "1.3.0" +source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +dependencies = [ + "revm-primitives", + "serde", +] + +[[package]] +name = "revm-precompile" +version = "2.2.0" +source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +dependencies = [ + "aurora-engine-modexp", + "c-kzg", + "k256", + "once_cell", + "revm-primitives", + "ripemd", + "secp256k1", + "sha2", + "substrate-bn", +] + +[[package]] +name = "revm-primitives" +version = "1.3.0" +source = "git+https://github.com/bluealloy/revm.git?rev=6cd0bfc96da64513affe01c1964dd80beeb8c620#6cd0bfc96da64513affe01c1964dd80beeb8c620" +dependencies = [ + "alloy-primitives", + "auto_impl", + "bitflags 2.4.2", + "bitvec", + "c-kzg", + "enumn", + "hashbrown 0.14.3", + "hex", + "serde", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin 0.5.2", + "untrusted 0.7.1", + "web-sys", + "winapi", +] + +[[package]] +name = "ring" +version = "0.17.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" +dependencies = [ + "cc", + "getrandom", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys 0.48.0", +] + +[[package]] +name = "ripemd" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "rle-decode-fast" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422" + +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rlp-derive", + "rustc-hex", +] + +[[package]] +name = "rlp-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ruint" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "608a5726529f2f0ef81b8fde9873c4bb829d6b5b5ca6be4d97345ddf0749c825" +dependencies = [ + "alloy-rlp", + "ark-ff 0.3.0", + "ark-ff 0.4.2", + "bytes", + "fastrlp", + "num-bigint", + "num-traits", + "parity-scale-codec", + "primitive-types", + "proptest", + "rand", + "rlp", + "ruint-macro", + "serde", + "valuable", + "zeroize", +] + +[[package]] +name = "ruint-macro" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e666a5496a0b2186dbcd0ff6106e29e093c15591bde62c20d3842007c6978a09" + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver 1.0.21", +] + +[[package]] +name = "rustix" +version = "0.38.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" +dependencies = [ + "bitflags 2.4.2", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls" +version = "0.21.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +dependencies = [ + "log", + "ring 0.17.7", + "rustls-webpki", + "sct", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring 0.17.7", + "untrusted 0.9.0", +] + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + +[[package]] +name = "rusty-fork" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +dependencies = [ + "fnv", + "quick-error", + "tempfile", + "wait-timeout", +] + +[[package]] +name = "ryu" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" + +[[package]] +name = "scale-info" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60" +dependencies = [ + "cfg-if", + "derive_more", + "parity-scale-codec", + "scale-info-derive", +] + +[[package]] +name = "scale-info-derive" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring 0.17.7", + "untrusted 0.9.0", +] + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + +[[package]] +name = "secp256k1" +version = "0.28.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" +dependencies = [ + "secp256k1-sys", +] + +[[package]] +name = "secp256k1-sys" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d1746aae42c19d583c3c1a8c646bfad910498e2051c551a7f2e3c0c9fbb7eb" +dependencies = [ + "cc", +] + +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" + +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +dependencies = [ + "pest", +] + +[[package]] +name = "send_wrapper" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" + +[[package]] +name = "send_wrapper" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + +[[package]] +name = "serde" +version = "1.0.196" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.196" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "serde_json" +version = "1.0.113" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" +dependencies = [ + "indexmap 2.2.2", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15d167997bd841ec232f5b2b8e0e26606df2e7caa4c31b95ea9ca52b200bd270" +dependencies = [ + "base64 0.21.7", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.2.2", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "865f9743393e638991566a8b7a479043c2c8da94a33e0a31f18214c9cae0a64d" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha2" +version = "0.10.6" +source = "git+https://github.com/succinctbot/RustCrypto-hashes.git?branch=main#482efd7c1a750c300f3740a2c75dda9eb4eb1ddd" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest 0.10.7", + "keccak", +] + +[[package]] +name = "sha3-asm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bac61da6b35ad76b195eb4771210f947734321a8d81d7738e1580d953bc7a15e" +dependencies = [ + "cc", + "cfg-if", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core", +] + +[[package]] +name = "simple_asn1" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +dependencies = [ + "num-bigint", + "num-traits", + "thiserror", + "time", +] + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" + +[[package]] +name = "socket2" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.48", +] + +[[package]] +name = "substrate-bn" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b5bbfa79abbae15dd642ea8176a21a635ff3c00059961d1ea27ad04e5b441c" +dependencies = [ + "byteorder", + "crunchy", + "lazy_static", + "rand", + "rustc-hex", +] + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "succinct-zkvm" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/vm.git?rev=74db01ba0013d7e691e5d0edb934cae8adcbf0c2#74db01ba0013d7e691e5d0edb934cae8adcbf0c2" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn-solidity" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63bef2e2c735acbc06874eca3a8506f02a3c4700e6e748afc92cc2e4220e8a03" +dependencies = [ + "paste", + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tempfile" +version = "3.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" +dependencies = [ + "cfg-if", + "fastrand", + "rustix", + "windows-sys 0.52.0", +] + +[[package]] +name = "thiserror" +version = "1.0.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] +name = "time" +version = "0.3.28" +source = "git+https://github.com/time-rs/time.git?rev=v0.3.28#bb9b38e4a444f7b5e0648a1bd16e52003e01cfbd" +dependencies = [ + "deranged", + "itoa", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.1" +source = "git+https://github.com/time-rs/time.git?rev=v0.3.28#bb9b38e4a444f7b5e0648a1bd16e52003e01cfbd" + +[[package]] +name = "time-macros" +version = "0.2.14" +source = "git+https://github.com/time-rs/time.git?rev=v0.3.28#bb9b38e4a444f7b5e0648a1bd16e52003e01cfbd" +dependencies = [ + "time-core", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "git+ssh://git@github.com/succinctlabs/tiny-keccak-private.git#7ff8a065b9f1414adb60d9aef3859f28705863ea" +dependencies = [ + "cfg-if", + "crunchy", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-macros" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +dependencies = [ + "futures-util", + "log", + "rustls", + "tokio", + "tokio-rustls", + "tungstenite", + "webpki-roots", +] + +[[package]] +name = "tokio-util" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.2.2", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap 2.2.2", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap 2.2.2", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http", + "httparse", + "log", + "rand", + "rustls", + "sha1", + "thiserror", + "url", + "utf-8", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + +[[package]] +name = "uint" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wait-timeout" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +dependencies = [ + "libc", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.48", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" + +[[package]] +name = "web-sys" +version = "0.3.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.0", +] + +[[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", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.0", +] + +[[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", +] + +[[package]] +name = "windows-targets" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", +] + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" + +[[package]] +name = "winnow" +version = "0.5.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "ws_stream_wasm" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" +dependencies = [ + "async_io_stream", + "futures", + "js-sys", + "log", + "pharos", + "rustc_version 0.4.0", + "send_wrapper 0.6.0", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "zerocopy" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "zeroize" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "zeth" +version = "0.1.0" +dependencies = [ + "ahash", + "serde", + "serde_json", + "sp1-zkvm", + "zeth-lib", +] + +[[package]] +name = "zeth-lib" +version = "0.1.0" +source = "git+ssh://git@github.com/succinctlabs/zeth-private.git?branch=chris/zeth-lib#ef3bbc71a1f07976e4a9bd83a7ee052a8376b56c" +dependencies = [ + "alloy-sol-types", + "anyhow", + "bytes", + "chrono", + "ethers-core", + "ethers-providers", + "flate2", + "hashbrown 0.14.3", + "libflate", + "log", + "once_cell", + "revm", + "ruint", + "serde", + "serde_json", + "serde_with", + "thiserror", + "tokio", + "zeth-primitives", +] + +[[package]] +name = "zeth-primitives" +version = "0.1.0" +source = "git+ssh://git@github.com/succinctlabs/zeth-private.git?branch=chris/zeth-lib#ef3bbc71a1f07976e4a9bd83a7ee052a8376b56c" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "alloy-rlp-derive", + "anyhow", + "bytes", + "ethers-core", + "k256", + "revm-primitives", + "rlp", + "serde", + "sha3", + "succinct-zkvm", + "thiserror", +] diff --git a/programs/demo/zeth/Cargo.toml b/programs/demo/zeth/Cargo.toml new file mode 100644 index 0000000000..2b3f4c291f --- /dev/null +++ b/programs/demo/zeth/Cargo.toml @@ -0,0 +1,21 @@ +[workspace] +[package] +name = "zeth" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +sp1-zkvm = { path = "../../../zkvm" } +serde_json = { version = "1.0", default-features = false, features = ["alloc"] } +serde = { version = "1.0", default-features = false, features = ["derive"] } +zeth-lib = { git = "ssh://git@github.com/succinctlabs/zeth-private.git", branch = "chris/zeth-lib", default-features = false } +ahash = "=0.8.6" + +[patch.crates-io] +# Patch sha2 so we can use sha precompiles +sha2-v0-10-6 = { git = "https://github.com/succinctbot/RustCrypto-hashes.git", package = "sha2", branch = "main" } +# Patch time because newer version breaks with older toolchains +time = { git = "https://github.com/time-rs/time.git", rev = "v0.3.28" } +alloy-primitives-v0-6-2 = { git = "ssh://git@github.com/succinctlabs/alloy-core-private", package = "alloy-primitives", branch = "patch-v0.6.2" } diff --git a/programs/demo/zeth/elf/riscv32im-succinct-zkvm-elf b/programs/demo/zeth/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..a847a6e46c Binary files /dev/null and b/programs/demo/zeth/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/demo/zeth/src/main.rs b/programs/demo/zeth/src/main.rs new file mode 100644 index 0000000000..fd7cfc5025 --- /dev/null +++ b/programs/demo/zeth/src/main.rs @@ -0,0 +1,23 @@ +#![no_main] +sp1_zkvm::entrypoint!(main); + +use zeth_lib::{ + builder::{BlockBuilderStrategy, EthereumStrategy}, + consts::ETH_MAINNET_CHAIN_SPEC, + input::Input, + EthereumTxEssence, +}; + +fn main() { + println!("cycle-tracker-start: read input"); + let input = sp1_zkvm::io::read::>(); + println!("cycle-tracker-end: read input"); + + let (header, state) = EthereumStrategy::build_from(Ð_MAINNET_CHAIN_SPEC, input).unwrap(); + + let hash = header.hash(); + println!("Block hash: {:x}", hash); + + sp1_zkvm::io::write_slice(&hash.0); + core::mem::forget((header, state)); +} diff --git a/programs/rebuild.sh b/programs/rebuild.sh new file mode 100644 index 0000000000..f6c7b87580 --- /dev/null +++ b/programs/rebuild.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +DIR=$1 + +# Iterate over each subdirectory in the specified directory +for d in "$DIR"/*/ ; do + echo "Entering directory $d" + cd "$d" + + # Remove the elf directory if it exists + if [ -d "elf" ]; then + rm -rf elf + fi + + # Create a new elf directory + mkdir elf + + # Run cargo build + cargo clean + cargo prove build + + # Go back to the original directory + cd .. +done diff --git a/programs/test/blake3-compress/Cargo.lock b/programs/test/blake3-compress/Cargo.lock new file mode 100644 index 0000000000..37c656c916 --- /dev/null +++ b/programs/test/blake3-compress/Cargo.lock @@ -0,0 +1,462 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "anyhow" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake3-compress" +version = "0.1.0" +dependencies = [ + "sp1-zkvm", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "der" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +dependencies = [ + "const-oid", + "zeroize", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core", + "sec1", + "subtle", + "tap", + "zeroize", +] + +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "bitvec", + "rand_core", + "subtle", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core", + "subtle", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "k256" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2", + "signature", +] + +[[package]] +name = "libc" +version = "0.2.153" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "proc-macro2" +version = "1.0.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + +[[package]] +name = "serde" +version = "1.0.196" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.196" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core", +] + +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "syn" +version = "2.0.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "zeroize" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" diff --git a/programs/test/blake3-compress/Cargo.toml b/programs/test/blake3-compress/Cargo.toml index a59209ca89..0f5fb29917 100644 --- a/programs/test/blake3-compress/Cargo.toml +++ b/programs/test/blake3-compress/Cargo.toml @@ -5,4 +5,4 @@ name = "blake3-compress" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } \ No newline at end of file +sp1-zkvm = { path = "../../../zkvm" } \ No newline at end of file diff --git a/programs/test/blake3-compress/elf/riscv32im-curta-zkvm-elf b/programs/test/blake3-compress/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index f33a08d27b..0000000000 Binary files a/programs/test/blake3-compress/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/test/blake3-compress/elf/riscv32im-succinct-zkvm-elf b/programs/test/blake3-compress/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..850ed4d262 Binary files /dev/null and b/programs/test/blake3-compress/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/test/blake3-compress/src/main.rs b/programs/test/blake3-compress/src/main.rs index 043c481e7b..cbda6a9c42 100644 --- a/programs/test/blake3-compress/src/main.rs +++ b/programs/test/blake3-compress/src/main.rs @@ -1,5 +1,5 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); extern "C" { fn syscall_blake3_compress_inner(p: *mut u32, q: *const u32); diff --git a/programs/test/cycle-tracker/Cargo.lock b/programs/test/cycle-tracker/Cargo.lock index 3b109efdf7..e29a17c1e9 100644 --- a/programs/test/cycle-tracker/Cargo.lock +++ b/programs/test/cycle-tracker/Cargo.lock @@ -93,34 +93,12 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-derive" -version = "0.1.0" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "cycle-tracker-zkvm" version = "0.1.0" dependencies = [ - "curta-derive", - "curta-zkvm", + "sp1-derive", + "sp1-zkvm", ] [[package]] @@ -399,6 +377,28 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-derive" +version = "0.1.0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" diff --git a/programs/test/cycle-tracker/Cargo.toml b/programs/test/cycle-tracker/Cargo.toml index c4875dc6a6..f8a0d0e2b7 100644 --- a/programs/test/cycle-tracker/Cargo.toml +++ b/programs/test/cycle-tracker/Cargo.toml @@ -5,5 +5,5 @@ name = "cycle-tracker-zkvm" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } -curta-derive = { path = "../../../derive" } \ No newline at end of file +sp1-zkvm = { path = "../../../zkvm" } +sp1-derive = { path = "../../../derive" } \ No newline at end of file diff --git a/programs/test/cycle-tracker/elf/riscv32im-curta-zkvm-elf b/programs/test/cycle-tracker/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index be2497e70e..0000000000 Binary files a/programs/test/cycle-tracker/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/test/cycle-tracker/elf/riscv32im-succinct-zkvm-elf b/programs/test/cycle-tracker/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..5ecd87e691 Binary files /dev/null and b/programs/test/cycle-tracker/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/test/cycle-tracker/src/main.rs b/programs/test/cycle-tracker/src/main.rs index 41963ae628..79db0b9766 100644 --- a/programs/test/cycle-tracker/src/main.rs +++ b/programs/test/cycle-tracker/src/main.rs @@ -1,9 +1,9 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); use std::hint::black_box; -#[curta_derive::cycle_tracker] +#[sp1_derive::cycle_tracker] pub fn f(x: usize) -> usize { x + 1 } diff --git a/programs/test/ecrecover/Cargo.lock b/programs/test/ecrecover/Cargo.lock index e14e8fa577..f320297c5d 100644 --- a/programs/test/ecrecover/Cargo.lock +++ b/programs/test/ecrecover/Cargo.lock @@ -99,19 +99,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "der" version = "0.7.8" @@ -152,10 +139,10 @@ dependencies = [ name = "ecrecover" version = "0.1.0" dependencies = [ - "curta-zkvm", "hex-literal", "k256", "num", + "sp1-zkvm", ] [[package]] @@ -467,6 +454,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" diff --git a/programs/test/ecrecover/Cargo.toml b/programs/test/ecrecover/Cargo.toml index bde969fcbd..ae7038123a 100644 --- a/programs/test/ecrecover/Cargo.toml +++ b/programs/test/ecrecover/Cargo.toml @@ -5,7 +5,7 @@ name = "ecrecover" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } +sp1-zkvm = { path = "../../../zkvm" } hex-literal = "0.4.1" num = { version = "0.4.1", default-features = false } k256 = { version = "0.13.3", features = ["ecdsa"] } diff --git a/programs/test/ecrecover/elf/riscv32im-curta-zkvm-elf b/programs/test/ecrecover/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index 9ad9a550ca..0000000000 Binary files a/programs/test/ecrecover/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/test/ecrecover/elf/riscv32im-succinct-zkvm-elf b/programs/test/ecrecover/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..3c03f8efa4 Binary files /dev/null and b/programs/test/ecrecover/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/test/ecrecover/src/main.rs b/programs/test/ecrecover/src/main.rs index 6951e679e1..d1434debf2 100644 --- a/programs/test/ecrecover/src/main.rs +++ b/programs/test/ecrecover/src/main.rs @@ -1,9 +1,9 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); -use curta_zkvm::precompiles::io; -use curta_zkvm::precompiles::secp256k1::ecrecover; use hex_literal::hex; +use sp1_zkvm::precompiles::io; +use sp1_zkvm::precompiles::secp256k1::ecrecover; pub fn main() { // recovery param: 1 diff --git a/programs/test/ed-add/Cargo.lock b/programs/test/ed-add/Cargo.lock index 5ae9d323e0..79bfb66d73 100644 --- a/programs/test/ed-add/Cargo.lock +++ b/programs/test/ed-add/Cargo.lock @@ -99,19 +99,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "der" version = "0.7.8" @@ -152,9 +139,9 @@ dependencies = [ name = "ed-add-zkvm" version = "0.1.0" dependencies = [ - "curta-zkvm", "hex-literal", "num", + "sp1-zkvm", ] [[package]] @@ -466,6 +453,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" diff --git a/programs/test/ed-add/Cargo.toml b/programs/test/ed-add/Cargo.toml index a86fcbf9e6..1f92f23743 100644 --- a/programs/test/ed-add/Cargo.toml +++ b/programs/test/ed-add/Cargo.toml @@ -5,6 +5,6 @@ version = "0.1.0" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } +sp1-zkvm = { path = "../../../zkvm" } hex-literal = "0.4.1" num = { version = "0.4.1", default-features = false } \ No newline at end of file diff --git a/programs/test/ed-add/elf/riscv32im-curta-zkvm-elf b/programs/test/ed-add/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index 72f25b73f8..0000000000 Binary files a/programs/test/ed-add/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/test/ed-add/elf/riscv32im-succinct-zkvm-elf b/programs/test/ed-add/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..9bc0a3b5a0 Binary files /dev/null and b/programs/test/ed-add/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/test/ed-add/src/main.rs b/programs/test/ed-add/src/main.rs index b96f30a667..057aea4823 100644 --- a/programs/test/ed-add/src/main.rs +++ b/programs/test/ed-add/src/main.rs @@ -1,5 +1,5 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); extern "C" { fn syscall_ed_add(p: *mut u32, q: *const u32); diff --git a/programs/test/ed-decompress/Cargo.lock b/programs/test/ed-decompress/Cargo.lock index 6ce2b48898..18ac716166 100644 --- a/programs/test/ed-decompress/Cargo.lock +++ b/programs/test/ed-decompress/Cargo.lock @@ -93,19 +93,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "der" version = "0.7.8" @@ -146,8 +133,8 @@ dependencies = [ name = "ed-decompress-zkvm" version = "0.1.0" dependencies = [ - "curta-zkvm", "hex-literal", + "sp1-zkvm", ] [[package]] @@ -396,6 +383,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" diff --git a/programs/test/ed-decompress/Cargo.toml b/programs/test/ed-decompress/Cargo.toml index 0c2e3569ff..62af1cd6b8 100644 --- a/programs/test/ed-decompress/Cargo.toml +++ b/programs/test/ed-decompress/Cargo.toml @@ -5,5 +5,5 @@ name = "ed-decompress-zkvm" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } +sp1-zkvm = { path = "../../../zkvm" } hex-literal = "0.4.1" \ No newline at end of file diff --git a/programs/test/ed-decompress/elf/riscv32im-curta-zkvm-elf b/programs/test/ed-decompress/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index dc380fa7a4..0000000000 Binary files a/programs/test/ed-decompress/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/test/ed-decompress/elf/riscv32im-succinct-zkvm-elf b/programs/test/ed-decompress/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..b3b07e0c27 Binary files /dev/null and b/programs/test/ed-decompress/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/test/ed-decompress/src/main.rs b/programs/test/ed-decompress/src/main.rs index 30623842c1..32f4eef659 100644 --- a/programs/test/ed-decompress/src/main.rs +++ b/programs/test/ed-decompress/src/main.rs @@ -1,5 +1,5 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); use hex_literal::hex; diff --git a/programs/test/keccak-permute/Cargo.lock b/programs/test/keccak-permute/Cargo.lock index aad56faa58..8fcf51cd26 100644 --- a/programs/test/keccak-permute/Cargo.lock +++ b/programs/test/keccak-permute/Cargo.lock @@ -93,19 +93,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "der" version = "0.7.8" @@ -239,7 +226,7 @@ dependencies = [ name = "keccak-permute-zkvm" version = "0.1.0" dependencies = [ - "curta-zkvm", + "sp1-zkvm", ] [[package]] @@ -389,6 +376,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" diff --git a/programs/test/keccak-permute/Cargo.toml b/programs/test/keccak-permute/Cargo.toml index c9ffbcb3be..1ec5ecc074 100644 --- a/programs/test/keccak-permute/Cargo.toml +++ b/programs/test/keccak-permute/Cargo.toml @@ -5,4 +5,4 @@ name = "keccak-permute-zkvm" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } \ No newline at end of file +sp1-zkvm = { path = "../../../zkvm" } \ No newline at end of file diff --git a/programs/test/keccak-permute/elf/riscv32im-curta-zkvm-elf b/programs/test/keccak-permute/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index 08fce48e22..0000000000 Binary files a/programs/test/keccak-permute/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/test/keccak-permute/elf/riscv32im-succinct-zkvm-elf b/programs/test/keccak-permute/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..662377a695 Binary files /dev/null and b/programs/test/keccak-permute/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/test/keccak-permute/src/main.rs b/programs/test/keccak-permute/src/main.rs index 8e8d1dd880..18c6e1aeb6 100644 --- a/programs/test/keccak-permute/src/main.rs +++ b/programs/test/keccak-permute/src/main.rs @@ -1,7 +1,7 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); -use curta_zkvm::syscalls::syscall_keccak_permute; +use sp1_zkvm::syscalls::syscall_keccak_permute; pub fn main() { let mut state = [1u64; 25]; diff --git a/programs/test/rebuild.sh b/programs/test/rebuild.sh new file mode 100644 index 0000000000..2bdc03db40 --- /dev/null +++ b/programs/test/rebuild.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# Define the parent directory containing the subdirectories +PARENT_DIR="./" # Adjust this to your specific directory + +# Iterate over each subdirectory in the specified parent directory +for SUBDIR in "$PARENT_DIR"*/; do + # Check if the directory is not empty + if [ -d "$SUBDIR" ]; then + echo "Processing $SUBDIR" + cd "$SUBDIR" || exit + + # Your commands + rm -rf elf + mkdir elf + cargo clean + cargo prove build + + # Return to the parent directory + cd .. + fi +done + +echo "All subdirectories processed." diff --git a/programs/test/secp256k1-add/Cargo.lock b/programs/test/secp256k1-add/Cargo.lock index 7c6f12080b..28cb08b04a 100644 --- a/programs/test/secp256k1-add/Cargo.lock +++ b/programs/test/secp256k1-add/Cargo.lock @@ -99,19 +99,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "der" version = "0.7.8" @@ -420,9 +407,9 @@ dependencies = [ name = "secp256k1-add-zkvm" version = "0.1.0" dependencies = [ - "curta-zkvm", "hex-literal", "num", + "sp1-zkvm", ] [[package]] @@ -466,6 +453,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" diff --git a/programs/test/secp256k1-add/Cargo.toml b/programs/test/secp256k1-add/Cargo.toml index f67b367f5a..ab61c1d231 100644 --- a/programs/test/secp256k1-add/Cargo.toml +++ b/programs/test/secp256k1-add/Cargo.toml @@ -5,6 +5,6 @@ name = "secp256k1-add-zkvm" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } +sp1-zkvm = { path = "../../../zkvm" } hex-literal = "0.4.1" num = { version = "0.4.1", default-features = false } \ No newline at end of file diff --git a/programs/test/secp256k1-add/elf/riscv32im-curta-zkvm-elf b/programs/test/secp256k1-add/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index 1b30c77504..0000000000 Binary files a/programs/test/secp256k1-add/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/test/secp256k1-add/elf/riscv32im-succinct-zkvm-elf b/programs/test/secp256k1-add/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..042f5b6dc7 Binary files /dev/null and b/programs/test/secp256k1-add/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/test/secp256k1-add/src/main.rs b/programs/test/secp256k1-add/src/main.rs index 24e4035b1b..c45601bcc8 100644 --- a/programs/test/secp256k1-add/src/main.rs +++ b/programs/test/secp256k1-add/src/main.rs @@ -1,5 +1,5 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); extern "C" { fn syscall_secp256k1_add(p: *mut u32, q: *const u32); diff --git a/programs/test/secp256k1-decompress/Cargo.lock b/programs/test/secp256k1-decompress/Cargo.lock index 9b7f2028c6..1f3dbb4d66 100644 --- a/programs/test/secp256k1-decompress/Cargo.lock +++ b/programs/test/secp256k1-decompress/Cargo.lock @@ -93,19 +93,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "der" version = "0.7.8" @@ -345,7 +332,7 @@ dependencies = [ name = "secp256k1-decompress-zkvm" version = "0.1.0" dependencies = [ - "curta-zkvm", + "sp1-zkvm", ] [[package]] @@ -389,6 +376,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" diff --git a/programs/test/secp256k1-decompress/Cargo.toml b/programs/test/secp256k1-decompress/Cargo.toml index 3c16e1eeab..f5930216ee 100644 --- a/programs/test/secp256k1-decompress/Cargo.toml +++ b/programs/test/secp256k1-decompress/Cargo.toml @@ -5,4 +5,4 @@ name = "secp256k1-decompress-zkvm" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } \ No newline at end of file +sp1-zkvm = { path = "../../../zkvm" } \ No newline at end of file diff --git a/programs/test/secp256k1-decompress/elf/riscv32im-curta-zkvm-elf b/programs/test/secp256k1-decompress/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index 4760cdeb70..0000000000 Binary files a/programs/test/secp256k1-decompress/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/test/secp256k1-decompress/elf/riscv32im-succinct-zkvm-elf b/programs/test/secp256k1-decompress/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..c6770d17b2 Binary files /dev/null and b/programs/test/secp256k1-decompress/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/test/secp256k1-decompress/src/main.rs b/programs/test/secp256k1-decompress/src/main.rs index 55a92f60cd..c0a76296b2 100644 --- a/programs/test/secp256k1-decompress/src/main.rs +++ b/programs/test/secp256k1-decompress/src/main.rs @@ -1,5 +1,5 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); extern "C" { fn syscall_secp256k1_decompress(compressed_key: &mut [u8; 64], is_odd: bool); @@ -7,7 +7,7 @@ extern "C" { pub fn main() { let mut compressed_key: [u8; 33] = [0; 33]; - curta_zkvm::io::read_slice(&mut compressed_key); + sp1_zkvm::io::read_slice(&mut compressed_key); let mut decompressed_key: [u8; 64] = [0; 64]; decompressed_key[..32].copy_from_slice(&compressed_key[1..]); @@ -24,5 +24,5 @@ pub fn main() { result[0] = 4; result[1..].copy_from_slice(&decompressed_key); - curta_zkvm::io::write_slice(&result); + sp1_zkvm::io::write_slice(&result); } diff --git a/programs/test/secp256k1-double/Cargo.lock b/programs/test/secp256k1-double/Cargo.lock index 26fbaa3dd4..7c95761708 100644 --- a/programs/test/secp256k1-double/Cargo.lock +++ b/programs/test/secp256k1-double/Cargo.lock @@ -99,19 +99,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "der" version = "0.7.8" @@ -420,9 +407,9 @@ dependencies = [ name = "secp256k1-double-zkvm" version = "0.1.0" dependencies = [ - "curta-zkvm", "hex-literal", "num", + "sp1-zkvm", ] [[package]] @@ -466,6 +453,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" diff --git a/programs/test/secp256k1-double/Cargo.toml b/programs/test/secp256k1-double/Cargo.toml index 5ef2494dbf..40c171324c 100644 --- a/programs/test/secp256k1-double/Cargo.toml +++ b/programs/test/secp256k1-double/Cargo.toml @@ -5,6 +5,6 @@ name = "secp256k1-double-zkvm" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } +sp1-zkvm = { path = "../../../zkvm" } hex-literal = "0.4.1" num = { version = "0.4.1", default-features = false } \ No newline at end of file diff --git a/programs/test/secp256k1-double/elf/riscv32im-curta-zkvm-elf b/programs/test/secp256k1-double/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index 8509e927d0..0000000000 Binary files a/programs/test/secp256k1-double/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/test/secp256k1-double/elf/riscv32im-succinct-zkvm-elf b/programs/test/secp256k1-double/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..367b7d007b Binary files /dev/null and b/programs/test/secp256k1-double/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/test/secp256k1-double/src/main.rs b/programs/test/secp256k1-double/src/main.rs index 924454ecb9..52aa791145 100644 --- a/programs/test/secp256k1-double/src/main.rs +++ b/programs/test/secp256k1-double/src/main.rs @@ -1,5 +1,5 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); extern "C" { fn syscall_secp256k1_double(p: *mut u32); diff --git a/programs/test/sha-compress/Cargo.lock b/programs/test/sha-compress/Cargo.lock index 8fc96b4ca8..0942f78303 100644 --- a/programs/test/sha-compress/Cargo.lock +++ b/programs/test/sha-compress/Cargo.lock @@ -93,19 +93,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "der" version = "0.7.8" @@ -365,7 +352,7 @@ dependencies = [ name = "sha-compress-zkvm" version = "0.1.0" dependencies = [ - "curta-zkvm", + "sp1-zkvm", ] [[package]] @@ -389,6 +376,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" diff --git a/programs/test/sha-compress/Cargo.toml b/programs/test/sha-compress/Cargo.toml index b972dc933a..ea995a8bf6 100644 --- a/programs/test/sha-compress/Cargo.toml +++ b/programs/test/sha-compress/Cargo.toml @@ -5,4 +5,4 @@ name = "sha-compress-zkvm" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } \ No newline at end of file +sp1-zkvm = { path = "../../../zkvm" } \ No newline at end of file diff --git a/programs/test/sha-compress/elf/riscv32im-curta-zkvm-elf b/programs/test/sha-compress/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index 867e74291d..0000000000 Binary files a/programs/test/sha-compress/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/test/sha-compress/elf/riscv32im-succinct-zkvm-elf b/programs/test/sha-compress/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..1d1b1f5df9 Binary files /dev/null and b/programs/test/sha-compress/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/test/sha-compress/src/main.rs b/programs/test/sha-compress/src/main.rs index 1bb56ac8d3..bdddab1662 100644 --- a/programs/test/sha-compress/src/main.rs +++ b/programs/test/sha-compress/src/main.rs @@ -1,7 +1,7 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); -use curta_zkvm::syscalls::syscall_sha256_compress; +use sp1_zkvm::syscalls::syscall_sha256_compress; pub fn main() { let mut w = [1u32; 64]; diff --git a/programs/test/sha-extend/Cargo.lock b/programs/test/sha-extend/Cargo.lock index f2d7c72c5b..e95e8edb50 100644 --- a/programs/test/sha-extend/Cargo.lock +++ b/programs/test/sha-extend/Cargo.lock @@ -93,19 +93,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "der" version = "0.7.8" @@ -365,7 +352,7 @@ dependencies = [ name = "sha-extend-zkvm" version = "0.1.0" dependencies = [ - "curta-zkvm", + "sp1-zkvm", ] [[package]] @@ -389,6 +376,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" diff --git a/programs/test/sha-extend/Cargo.toml b/programs/test/sha-extend/Cargo.toml index 03a9857c47..7933e48bf6 100644 --- a/programs/test/sha-extend/Cargo.toml +++ b/programs/test/sha-extend/Cargo.toml @@ -5,4 +5,4 @@ name = "sha-extend-zkvm" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } \ No newline at end of file +sp1-zkvm = { path = "../../../zkvm" } \ No newline at end of file diff --git a/programs/test/sha-extend/elf/riscv32im-curta-zkvm-elf b/programs/test/sha-extend/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index 287133f71c..0000000000 Binary files a/programs/test/sha-extend/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/test/sha-extend/elf/riscv32im-succinct-zkvm-elf b/programs/test/sha-extend/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..9e25b11a42 Binary files /dev/null and b/programs/test/sha-extend/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/test/sha-extend/src/main.rs b/programs/test/sha-extend/src/main.rs index 55aa182b1e..8ef9a5f374 100644 --- a/programs/test/sha-extend/src/main.rs +++ b/programs/test/sha-extend/src/main.rs @@ -1,7 +1,7 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); -use curta_zkvm::syscalls::syscall_sha256_extend; +use sp1_zkvm::syscalls::syscall_sha256_extend; pub fn main() { let mut w = [1u32; 64]; diff --git a/programs/test/sha2/Cargo.lock b/programs/test/sha2/Cargo.lock index b1da609747..feca3ac713 100644 --- a/programs/test/sha2/Cargo.lock +++ b/programs/test/sha2/Cargo.lock @@ -93,19 +93,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "curta-zkvm" -version = "0.1.0" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom", - "k256", - "rand", - "serde", -] - [[package]] name = "der" version = "0.7.8" @@ -398,10 +385,10 @@ dependencies = [ name = "sha2-zkvm" version = "0.1.0" dependencies = [ - "curta-zkvm", "hex", "hex-literal", "sha2 0.10.6", + "sp1-zkvm", ] [[package]] @@ -414,6 +401,19 @@ dependencies = [ "rand_core", ] +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "k256", + "rand", + "serde", +] + [[package]] name = "spki" version = "0.7.3" diff --git a/programs/test/sha2/Cargo.toml b/programs/test/sha2/Cargo.toml index 36b8cfa76a..f50b5593da 100644 --- a/programs/test/sha2/Cargo.toml +++ b/programs/test/sha2/Cargo.toml @@ -5,7 +5,7 @@ name = "sha2-zkvm" edition = "2021" [dependencies] -curta-zkvm = { path = "../../../zkvm" } +sp1-zkvm = { path = "../../../zkvm" } hex-literal = "0.4.1" sha2 = { git = "https://github.com/succinctbot/RustCrypto-hashes.git" } hex = "0.4.3" \ No newline at end of file diff --git a/programs/test/sha2/elf/riscv32im-curta-zkvm-elf b/programs/test/sha2/elf/riscv32im-curta-zkvm-elf deleted file mode 100755 index 2215acb489..0000000000 Binary files a/programs/test/sha2/elf/riscv32im-curta-zkvm-elf and /dev/null differ diff --git a/programs/test/sha2/elf/riscv32im-succinct-zkvm-elf b/programs/test/sha2/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000..9ec6c6c893 Binary files /dev/null and b/programs/test/sha2/elf/riscv32im-succinct-zkvm-elf differ diff --git a/programs/test/sha2/src/main.rs b/programs/test/sha2/src/main.rs index da3027a571..6c6d5acd18 100644 --- a/programs/test/sha2/src/main.rs +++ b/programs/test/sha2/src/main.rs @@ -1,5 +1,5 @@ #![no_main] -curta_zkvm::entrypoint!(main); +sp1_zkvm::entrypoint!(main); use hex_literal::hex; use sha2::{Digest, Sha256}; diff --git a/curtaup/install b/sp1up/install similarity index 63% rename from curtaup/install rename to sp1up/install index c797e7da28..28a18df684 100644 --- a/curtaup/install +++ b/sp1up/install @@ -4,17 +4,17 @@ set -e -echo Installing curtaup... +echo Installing sp1up... BASE_DIR=${XDG_CONFIG_HOME:-$HOME} -CURTA_DIR=${CURTA_DIR-"$BASE_DIR/.curta"} -CURTA_BIN_DIR="$CURTA_DIR/bin" +SP1_DIR=${SP1_DIR-"$BASE_DIR/.sp1"} +SP1_BIN_DIR="$SP1_DIR/bin" -BIN_URL="https://curta.succinct.xyz/curtaup" -BIN_PATH="$CURTA_BIN_DIR/curtaup" +BIN_URL="https://sp1.succinct.xyz/sp1up" +BIN_PATH="$SP1_BIN_DIR/sp1up" -# Create the .curta bin directory and curtaup binary if it doesn't exist. -mkdir -p $CURTA_BIN_DIR +# Create the .sp1 bin directory and sp1up binary if it doesn't exist. +mkdir -p $SP1_BIN_DIR curl -# -L $BIN_URL -o $BIN_PATH chmod +x $BIN_PATH @@ -37,14 +37,14 @@ case $SHELL in PREF_SHELL=ash ;; *) - echo "curtaup: could not detect shell, manually add ${CURTA_BIN_DIR} to your PATH." + echo "sp1up: could not detect shell, manually add ${SP1_BIN_DIR} to your PATH." exit 1 esac -# Only add curtaup if it isn't already in PATH. -if [[ ":$PATH:" != *":${CURTA_BIN_DIR}:"* ]]; then - # Add the curtaup directory to the path and ensure the old PATH variables remain. - echo >> $PROFILE && echo "export PATH=\"\$PATH:$CURTA_BIN_DIR\"" >> $PROFILE +# Only add sp1up if it isn't already in PATH. +if [[ ":$PATH:" != *":${SP1_BIN_DIR}:"* ]]; then + # Add the sp1up directory to the path and ensure the old PATH variables remain. + echo >> $PROFILE && echo "export PATH=\"\$PATH:$SP1_BIN_DIR\"" >> $PROFILE fi # Warn MacOS users that they may need to manually install libusb via Homebrew: @@ -57,5 +57,5 @@ if [[ "$OSTYPE" =~ ^darwin ]] && [[ ! -f /usr/local/opt/openssl/lib/libssl.3.dyl echo && echo "warning: libusb not found. You may need to install it manually on MacOS via Homebrew (brew install openssl)." fi -echo && echo "Detected your preferred shell is ${PREF_SHELL} and added curtaup to PATH. Run 'source ${PROFILE}' or start a new terminal session to use curtaup." -echo "Then, simply run 'curtaup' to install Curta." \ No newline at end of file +echo && echo "Detected your preferred shell is ${PREF_SHELL} and added sp1up to PATH. Run 'source ${PROFILE}' or start a new terminal session to use sp1up." +echo "Then, simply run 'sp1up' to install SP1." diff --git a/curtaup/curtaup b/sp1up/sp1up similarity index 59% rename from curtaup/curtaup rename to sp1up/sp1up index 69df219020..13023af1a5 100644 --- a/curtaup/curtaup +++ b/sp1up/sp1up @@ -5,9 +5,9 @@ set -eo pipefail BASE_DIR=${XDG_CONFIG_HOME:-$HOME} -CURTA_DIR=${CURTA_DIR:-"$BASE_DIR/.curta"} -CURTA_BIN_DIR="$CURTA_DIR/bin" -mkdir -p $CURTA_BIN_DIR +SP1_DIR=${SP1_DIR:-"$BASE_DIR/.sp1"} +SP1_BIN_DIR="$SP1_DIR/bin" +mkdir -p $SP1_BIN_DIR BINS=(cargo-prove) @@ -21,14 +21,14 @@ main() { case $1 in --) shift; break;; - -r|--repo) shift; CURTAUP_REPO=$1;; - -b|--branch) shift; CURTAUP_BRANCH=$1;; - -v|--version) shift; CURTAUP_VERSION=$1;; - -p|--path) shift; CURTAUP_LOCAL_REPO=$1;; - -P|--pr) shift; CURTAUP_PR=$1;; - -C|--commit) shift; CURTAUP_COMMIT=$1;; - --arch) shift; CURTAUP_ARCH=$1;; - --platform) shift; CURTAUP_PLATFORM=$1;; + -r|--repo) shift; SP1UP_REPO=$1;; + -b|--branch) shift; SP1UP_BRANCH=$1;; + -v|--version) shift; SP1UP_VERSION=$1;; + -p|--path) shift; SP1UP_LOCAL_REPO=$1;; + -P|--pr) shift; SP1UP_PR=$1;; + -C|--commit) shift; SP1UP_COMMIT=$1;; + --arch) shift; SP1UP_ARCH=$1;; + --platform) shift; SP1UP_PLATFORM=$1;; -h|--help) usage exit 0 @@ -43,59 +43,59 @@ main() { # Print the banner after successfully parsing args banner - if [ -n "$CURTAUP_PR" ]; then - if [ -z "$CURTAUP_BRANCH" ]; then - CURTAUP_BRANCH="refs/pull/$CURTAUP_PR/head" + if [ -n "$SP1UP_PR" ]; then + if [ -z "$SP1UP_BRANCH" ]; then + SP1UP_BRANCH="refs/pull/$SP1UP_PR/head" else err "can't use --pr and --branch at the same time" fi fi - # Installs curta from a local repository if --path parameter is provided - if [[ -n "$CURTAUP_LOCAL_REPO" ]]; then + # Installs sp1 from a local repository if --path parameter is provided + if [[ -n "$SP1UP_LOCAL_REPO" ]]; then need_cmd cargo # Ignore branches/versions as we do not want to modify local git state - if [ -n "$CURTAUP_REPO" ] || [ -n "$CURTAUP_BRANCH" ] || [ -n "$CURTAUP_VERSION" ]; then + if [ -n "$SP1UP_REPO" ] || [ -n "$SP1UP_BRANCH" ] || [ -n "$SP1UP_VERSION" ]; then warn "--branch, --version, and --repo arguments are ignored during local install" fi # Enter local repo and build - say "installing from $CURTAUP_LOCAL_REPO" - cd "$CURTAUP_LOCAL_REPO" + say "installing from $SP1UP_LOCAL_REPO" + cd "$SP1UP_LOCAL_REPO" ensure cargo build --bins --release # need 4 speed for bin in "${BINS[@]}"; do # Remove prior installations if they exist - rm -f "$CURTA_BIN_DIR/$bin" + rm -f "$SP1_BIN_DIR/$bin" # Symlink from local repo binaries to bin dir - ensure ln -s "$PWD/target/release/$bin" "$CURTA_BIN_DIR/$bin" + ensure ln -s "$PWD/target/release/$bin" "$SP1_BIN_DIR/$bin" done say "done" exit 0 fi - CURTAUP_REPO=${CURTAUP_REPO:-succinctlabs/curta} + SP1UP_REPO=${SP1UP_REPO:-succinctlabs/sp1} # Install by downloading binaries - if [[ "$CURTAUP_REPO" == "succinctlabs/curta" && -z "$CURTAUP_BRANCH" && -z "$CURTAUP_COMMIT" ]]; then - CURTAUP_VERSION=${CURTAUP_VERSION:-nightly} - CURTAUP_TAG=$CURTAUP_VERSION + if [[ "$SP1UP_REPO" == "succinctlabs/sp1" && -z "$SP1UP_BRANCH" && -z "$SP1UP_COMMIT" ]]; then + SP1UP_VERSION=${SP1UP_VERSION:-nightly} + SP1UP_TAG=$SP1UP_VERSION # Normalize versions (handle channels, versions without v prefix - if [[ "$CURTAUP_VERSION" =~ ^nightly ]]; then - CURTAUP_VERSION="nightly" - elif [[ "$CURTAUP_VERSION" == [[:digit:]]* ]]; then + if [[ "$SP1UP_VERSION" =~ ^nightly ]]; then + SP1UP_VERSION="nightly" + elif [[ "$SP1UP_VERSION" == [[:digit:]]* ]]; then # Add v prefix - CURTAUP_VERSION="v${CURTAUP_VERSION}" - CURTAUP_TAG="${CURTAUP_VERSION}" + SP1UP_VERSION="v${SP1UP_VERSION}" + SP1UP_TAG="${SP1UP_VERSION}" fi - say "installing curta (version ${CURTAUP_VERSION}, tag ${CURTAUP_TAG})" + say "installing sp1 (version ${SP1UP_VERSION}, tag ${SP1UP_TAG})" uname_s=$(uname -s) - PLATFORM=$(tolower "${CURTAUP_PLATFORM:-$uname_s}") + PLATFORM=$(tolower "${SP1UP_PLATFORM:-$uname_s}") EXT="tar.gz" case $PLATFORM in linux) ;; @@ -112,7 +112,7 @@ main() { esac uname_m=$(uname -m) - ARCHITECTURE=$(tolower "${CURTAUP_ARCH:-$uname_m}") + ARCHITECTURE=$(tolower "${SP1UP_ARCH:-$uname_m}") if [ "${ARCHITECTURE}" = "x86_64" ]; then # Redirect stderr to /dev/null to avoid printing errors if non Rosetta. if [ "$(sysctl -n sysctl.proc_translated 2>/dev/null)" = "1" ]; then @@ -126,30 +126,30 @@ main() { ARCHITECTURE="amd64" # Amd. fi - # Compute the URL of the release tarball in the curta repository. - RELEASE_URL="https://github.com/${CURTAUP_REPO}/releases/download/${CURTAUP_TAG}/" - RELEASE_URL="https://pub-f7c772c7ed31435ca5ee55a4e49d31b7.r2.dev/" - BIN_ARCHIVE_URL="${RELEASE_URL}cargo_prove_${CURTAUP_VERSION}_${PLATFORM}_${ARCHITECTURE}.$EXT" - MAN_TARBALL_URL="${RELEASE_URL}cargo_prove_man_${CURTAUP_VERSION}.tar.gz" + # Compute the URL of the release tarball in the sp1 repository. + RELEASE_URL="https://github.com/${SP1UP_REPO}/releases/download/${SP1UP_TAG}/" + RELEASE_URL="https://pub-e4d9616fb885415597ff4c4d2b476ffb.r2.dev/" + BIN_ARCHIVE_URL="${RELEASE_URL}cargo_prove_${SP1UP_VERSION}_${PLATFORM}_${ARCHITECTURE}.$EXT" + MAN_TARBALL_URL="${RELEASE_URL}cargo_prove_man_${SP1UP_VERSION}.tar.gz" # Download and extract the binaries archive say "downloading latest cargo-prove" if [ "$PLATFORM" = "win32" ]; then tmp="$(mktemp -d 2>/dev/null || echo ".")/cargo-prove.zip" ensure download "$BIN_ARCHIVE_URL" "$tmp" - ensure unzip "$tmp" -d "$CURTA_BIN_DIR" + ensure unzip "$tmp" -d "$SP1_BIN_DIR" rm -f "$tmp" else - ensure download "$BIN_ARCHIVE_URL" | ensure tar -xzC "$CURTA_BIN_DIR" + ensure download "$BIN_ARCHIVE_URL" | ensure tar -xzC "$SP1_BIN_DIR" fi for bin in "${BINS[@]}"; do - bin_path="$CURTA_BIN_DIR/$bin" + bin_path="$SP1_BIN_DIR/$bin" # Print installed msg say "installed - $(ensure "$bin_path" prove --version)" - # Check if the default path of the binary is not in CURTA_BIN_DIR + # Check if the default path of the binary is not in SP1_BIN_DIR which_path="$(command -v "$bin" || true)" if [ -n "$which_path" ] && [ "$which_path" != "$bin_path" ]; then warn "" @@ -157,7 +157,7 @@ main() { There are multiple binaries with the name '$bin' present in your 'PATH'. This may be the result of installing '$bin' using another method, like Cargo or other package managers. -You may need to run 'rm $which_path' or move '$CURTA_BIN_DIR' +You may need to run 'rm $which_path' or move '$SP1_BIN_DIR' in your 'PATH' to allow the newly installed version to take precedence! EOF @@ -173,35 +173,35 @@ EOF # Install by cloning the repo with the provided branch/tag else need_cmd cargo - CURTAUP_BRANCH=${CURTAUP_BRANCH:-master} - REPO_PATH="$CURTA_DIR/$CURTAUP_REPO" + SP1UP_BRANCH=${SP1UP_BRANCH:-master} + REPO_PATH="$SP1_DIR/$SP1UP_REPO" # If repo path does not exist, grab the author from the repo, make a directory in .foundry, cd to it and clone. if [ ! -d "$REPO_PATH" ]; then - AUTHOR="$(echo "$CURTAUP_REPO" | cut -d'/' -f1 -)" - ensure mkdir -p "$CURTA_DIR/$AUTHOR" - cd "$CURTA_DIR/$AUTHOR" - ensure git clone "https://github.com/$CURTAUP_REPO" + AUTHOR="$(echo "$SP1UP_REPO" | cut -d'/' -f1 -)" + ensure mkdir -p "$SP1_DIR/$AUTHOR" + cd "$SP1_DIR/$AUTHOR" + ensure git clone "https://github.com/$SP1UP_REPO" fi # Force checkout, discarding any local changes cd "$REPO_PATH" - ensure git fetch origin "${CURTAUP_BRANCH}:remotes/origin/${CURTAUP_BRANCH}" - ensure git checkout "origin/${CURTAUP_BRANCH}" + ensure git fetch origin "${SP1UP_BRANCH}:remotes/origin/${SP1UP_BRANCH}" + ensure git checkout "origin/${SP1UP_BRANCH}" # If set, checkout specific commit from branch - if [ -n "$CURTAUP_COMMIT" ]; then - say "installing at commit $CURTAUP_COMMIT" - ensure git checkout "$CURTAUP_COMMIT" + if [ -n "$SP1UP_COMMIT" ]; then + say "installing at commit $SP1UP_COMMIT" + ensure git checkout "$SP1UP_COMMIT" fi - # Build the repo and install the binaries locally to the .curta bin directory. + # Build the repo and install the binaries locally to the .sp1 bin directory. ensure cargo build --bins --release for bin in "${BINS[@]}"; do for try_path in target/release/$bin target/release/$bin.exe; do if [ -f "$try_path" ]; then - [ -e "$CURTA_BIN_DIR/$bin" ] && warn "overwriting existing $bin in $CURTA_BIN_DIR" - mv -f "$try_path" "$CURTA_BIN_DIR" + [ -e "$SP1_BIN_DIR/$bin" ] && warn "overwriting existing $bin in $SP1_BIN_DIR" + mv -f "$try_path" "$SP1_BIN_DIR" fi done done @@ -212,12 +212,12 @@ EOF usage() { cat 1>&2 < + sp1up OPTIONS: -h, --help Print help information @@ -233,7 +233,7 @@ EOF } say() { - printf "curtaup: %s\n" "$1" + printf "sp1up: %s\n" "$1" } warn() { @@ -284,22 +284,22 @@ download() { fi } -# Banner Function for curta +# Banner Function for sp1 banner() { printf " .______ ._______ ._______ ._______ ._______ ._______ ._______ ._______ ._______ - ________ ______ _________ - / ____/ / / / __ \/_ __/ | - / / / / / / /_/ / / / / /| | A performant, 100%% open-source, -/ /___/ /_/ / _, _/ / / / ___ | contributor-friendly, zkVM. -\____/\____/_/ |_| /_/ /_/ |_| + _____ ____ ___ + / ___/ / __ \< / + \__ \ / /_/ // / A performant, 100%% open-source, + ___/ // ____// / general-purpose zkVM. +/____//_/ /_/ ._______ ._______ ._______ ._______ ._______ ._______ ._______ ._______ ._______ -Repo : https://github.com/succinctlabs/curta -Book : https://succinctlabs.github.io/curta -Telegram : https://t.me/succinct_curta +Repo : https://github.com/succinctlabs/sp1 +Book : https://succinctlabs.github.io/sp1 +Telegram : https://t.me/succinct_sp1 ._______ ._______ ._______ ._______ ._______ ._______ ._______ ._______ ._______ @@ -307,4 +307,4 @@ Telegram : https://t.me/succinct_curta } -main "$@" \ No newline at end of file +main "$@" diff --git a/zkvm/Cargo.toml b/zkvm/Cargo.toml index b22f67691d..d0000a26ef 100644 --- a/zkvm/Cargo.toml +++ b/zkvm/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "curta-zkvm" +name = "sp1-zkvm" version = "0.1.0" edition = "2021"