diff --git a/.github/workflows/release-plz.yml b/.github/workflows/release-plz.yml new file mode 100644 index 0000000000..9a3f7f6ed9 --- /dev/null +++ b/.github/workflows/release-plz.yml @@ -0,0 +1,28 @@ +name: Release Plz + +permissions: + pull-requests: write + contents: write + +on: + push: + branches: + - dev + # - main + +jobs: + release-plz: + name: Release-plz + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@stable + - name: Run release-plz + uses: MarcoIeni/release-plz-action@v0.5 + env: + GITHUB_TOKEN: ${{ secrets.RELEASE_PLZ_TOKEN }} + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} diff --git a/Cargo.lock b/Cargo.lock index af71cf6aa6..cc2e4e613d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4684,7 +4684,7 @@ dependencies = [ [[package]] name = "sp1-cli" -version = "0.0.0-test" +version = "0.0.1-test" dependencies = [ "anstyle", "anyhow", @@ -4711,7 +4711,7 @@ dependencies = [ [[package]] name = "sp1-core" -version = "0.0.0-test" +version = "0.0.1-test" dependencies = [ "anyhow", "arrayref", @@ -4774,7 +4774,7 @@ dependencies = [ [[package]] name = "sp1-derive" -version = "0.0.0-test" +version = "0.0.1-test" dependencies = [ "proc-macro2", "quote", @@ -4783,7 +4783,7 @@ dependencies = [ [[package]] name = "sp1-eval" -version = "0.0.0-test" +version = "0.0.1-test" dependencies = [ "clap", "csv", @@ -4794,7 +4794,7 @@ dependencies = [ [[package]] name = "sp1-helper" -version = "0.0.0-test" +version = "0.0.1-test" dependencies = [ "cargo_metadata", "chrono", @@ -4802,7 +4802,7 @@ dependencies = [ [[package]] name = "sp1-lib" -version = "0.0.0-test" +version = "0.0.1-test" dependencies = [ "anyhow", "bincode", @@ -4815,7 +4815,7 @@ dependencies = [ [[package]] name = "sp1-primitives" -version = "0.0.0-test" +version = "0.0.1-test" dependencies = [ "itertools 0.13.0", "lazy_static", @@ -4827,7 +4827,7 @@ dependencies = [ [[package]] name = "sp1-prover" -version = "0.0.0-test" +version = "0.0.1-test" dependencies = [ "anyhow", "bincode", @@ -4861,7 +4861,7 @@ dependencies = [ [[package]] name = "sp1-recursion-circuit" -version = "0.0.0-test" +version = "0.0.1-test" dependencies = [ "bincode", "ff 0.13.0", @@ -4892,7 +4892,7 @@ dependencies = [ [[package]] name = "sp1-recursion-compiler" -version = "0.0.0-test" +version = "0.0.1-test" dependencies = [ "backtrace", "itertools 0.13.0", @@ -4920,7 +4920,7 @@ dependencies = [ [[package]] name = "sp1-recursion-core" -version = "0.0.0-test" +version = "0.0.1-test" dependencies = [ "arrayref", "backtrace", @@ -4954,7 +4954,7 @@ dependencies = [ [[package]] name = "sp1-recursion-derive" -version = "0.0.0-test" +version = "0.0.1-test" dependencies = [ "proc-macro2", "quote", @@ -4963,7 +4963,7 @@ dependencies = [ [[package]] name = "sp1-recursion-gnark-ffi" -version = "0.0.0-test" +version = "0.0.1-test" dependencies = [ "anyhow", "bincode", @@ -4987,7 +4987,7 @@ dependencies = [ [[package]] name = "sp1-recursion-program" -version = "0.0.0-test" +version = "0.0.1-test" dependencies = [ "itertools 0.13.0", "p3-air", @@ -5015,7 +5015,7 @@ dependencies = [ [[package]] name = "sp1-sdk" -version = "0.0.0-test" +version = "0.0.1-test" dependencies = [ "alloy-sol-types", "anyhow", @@ -5057,7 +5057,7 @@ dependencies = [ [[package]] name = "sp1-zkvm" -version = "0.0.0-test" +version = "0.0.1-test" dependencies = [ "bincode", "cfg-if", diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md new file mode 100644 index 0000000000..c4d792c81f --- /dev/null +++ b/cli/CHANGELOG.md @@ -0,0 +1,104 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.0.1-test](https://github.com/succinctlabs/sp1/compare/sp1-cli-v0.0.0-test...sp1-cli-v0.0.1-test) - 2024-07-11 + +### Added + +- publish sp1 to crates.io ([#1052](https://github.com/succinctlabs/sp1/pull/1052)) +- _(cli)_ use GH token during installation to avoid rate limiting ([#1031](https://github.com/succinctlabs/sp1/pull/1031)) +- _(cli)_ build --docker accepts an optional image tag ([#1022](https://github.com/succinctlabs/sp1/pull/1022)) +- _(cli)_ allow template version and fix CI ([#1012](https://github.com/succinctlabs/sp1/pull/1012)) +- _(cli)_ check for rust usage during installation ([#1006](https://github.com/succinctlabs/sp1/pull/1006)) +- _(cli)_ only template contracts when --evm is used ([#1004](https://github.com/succinctlabs/sp1/pull/1004)) +- (breaking changes to SDK API) use builder pattern for SDK execute/prove/verify ([#940](https://github.com/succinctlabs/sp1/pull/940)) +- cargo prove new from sp1-project-template ([#922](https://github.com/succinctlabs/sp1/pull/922)) +- update docs + add some tests around solidity contract export ([#693](https://github.com/succinctlabs/sp1/pull/693)) +- e2e groth16 with contract verifier ([#671](https://github.com/succinctlabs/sp1/pull/671)) +- aggregation fixes ([#649](https://github.com/succinctlabs/sp1/pull/649)) +- _(sdk)_ auto setup circuit ([#635](https://github.com/succinctlabs/sp1/pull/635)) +- fix cargo prove new issues ([#542](https://github.com/succinctlabs/sp1/pull/542)) +- added `--ignore-rust-version` to `cargo prove build` ([#462](https://github.com/succinctlabs/sp1/pull/462)) +- sdk using secp256k1 auth ([#483](https://github.com/succinctlabs/sp1/pull/483)) +- sp1-sdk, remote prover ([#370](https://github.com/succinctlabs/sp1/pull/370)) +- Many small features and chores ([#347](https://github.com/succinctlabs/sp1/pull/347)) +- add instructions for docker usage and setup CI ([#346](https://github.com/succinctlabs/sp1/pull/346)) +- _(cli)_ static toolchain + install from releases ([#300](https://github.com/succinctlabs/sp1/pull/300)) +- add gitignore in project creation ([#266](https://github.com/succinctlabs/sp1/pull/266)) +- _(cli)_ reproducible docker builds ([#254](https://github.com/succinctlabs/sp1/pull/254)) +- new README img ([#226](https://github.com/succinctlabs/sp1/pull/226)) +- _(cli)_ binary file or hex string input ([#210](https://github.com/succinctlabs/sp1/pull/210)) +- readme updates ([#205](https://github.com/succinctlabs/sp1/pull/205)) +- release v0.0.1-alpha ([#200](https://github.com/succinctlabs/sp1/pull/200)) +- upgrade toolchain to rust 1.75 ([#193](https://github.com/succinctlabs/sp1/pull/193)) +- more final touches ([#194](https://github.com/succinctlabs/sp1/pull/194)) +- hash function config in prover and verifier ([#186](https://github.com/succinctlabs/sp1/pull/186)) +- curtaup + release system + cargo prove CLI updates ([#178](https://github.com/succinctlabs/sp1/pull/178)) +- dynamic prover / verifier chips + proof size benchmarking ([#176](https://github.com/succinctlabs/sp1/pull/176)) +- (perf) updates from Plonky3 and verifier refactor ([#156](https://github.com/succinctlabs/sp1/pull/156)) +- developer experience improvements ([#145](https://github.com/succinctlabs/sp1/pull/145)) +- toolchain build from source & install ([#113](https://github.com/succinctlabs/sp1/pull/113)) +- io::read io::write ([#126](https://github.com/succinctlabs/sp1/pull/126)) +- tracing, profiling, benchmarking ([#99](https://github.com/succinctlabs/sp1/pull/99)) +- fix all cargo tests + add ci + rename curta to succinct ([#97](https://github.com/succinctlabs/sp1/pull/97)) +- tendermint example + runtime optimizations ([#93](https://github.com/succinctlabs/sp1/pull/93)) +- ssz withdrawals example ([#81](https://github.com/succinctlabs/sp1/pull/81)) +- simple benchmarks ([#72](https://github.com/succinctlabs/sp1/pull/72)) +- cargo prove + examples ([#67](https://github.com/succinctlabs/sp1/pull/67)) + +### Fixed + +- assets branch ([#752](https://github.com/succinctlabs/sp1/pull/752)) +- _(ci)_ downgrade `getrandom` ([#751](https://github.com/succinctlabs/sp1/pull/751)) +- install toolchain ([#650](https://github.com/succinctlabs/sp1/pull/650)) +- moving into toolchain dir ([#646](https://github.com/succinctlabs/sp1/pull/646)) +- sp1up ([#643](https://github.com/succinctlabs/sp1/pull/643)) +- outdated templates ([#473](https://github.com/succinctlabs/sp1/pull/473)) +- _(cli)_ get-target ([#270](https://github.com/succinctlabs/sp1/pull/270)) +- edit fibonacci example to use `u128` and note overflow case in quickstart ([#245](https://github.com/succinctlabs/sp1/pull/245)) + +### Other + +- _(deps)_ bump target-lexicon from 0.12.14 to 0.12.15 ([#1067](https://github.com/succinctlabs/sp1/pull/1067)) +- get docker url +- hm +- better build +- small fixes +- _(cli)_ informative logging ([#947](https://github.com/succinctlabs/sp1/pull/947)) +- Merge branch 'dev' into dependabot/cargo/dev/clap-4.5.8 +- _(deps)_ bump serde_json from 1.0.117 to 1.0.120 +- get rid of json convert to bin + add proof roundtrip to examples ([#924](https://github.com/succinctlabs/sp1/pull/924)) +- x86 mac also works +- failure on sp1 on unsupported target +- _(deps)_ bump clap from 4.5.4 to 4.5.7 ([#908](https://github.com/succinctlabs/sp1/pull/908)) +- _(deps)_ bump ubuntu from `3f85b7c` to `e3f92ab` in /cli/docker +- simplify quickstart ([#819](https://github.com/succinctlabs/sp1/pull/819)) +- remove unused deps ([#794](https://github.com/succinctlabs/sp1/pull/794)) +- Clean up TOML files ([#796](https://github.com/succinctlabs/sp1/pull/796)) +- update dev with latest main ([#728](https://github.com/succinctlabs/sp1/pull/728)) +- _(deps)_ bump dirs from 4.0.0 to 5.0.1 +- update all dependencies ([#689](https://github.com/succinctlabs/sp1/pull/689)) +- sdk improvements ([#580](https://github.com/succinctlabs/sp1/pull/580)) +- fixing dep tree for `prover`, `recursion`, `core` and `sdk` ([#545](https://github.com/succinctlabs/sp1/pull/545)) +- re-organise cpu air constraints ([#538](https://github.com/succinctlabs/sp1/pull/538)) +- better error messages on build-toolchain failure ([#490](https://github.com/succinctlabs/sp1/pull/490)) +- Typo in 'successfully' corrected across all instances ([#396](https://github.com/succinctlabs/sp1/pull/396)) +- remove manual openSSL installation in Dockerfile ([#352](https://github.com/succinctlabs/sp1/pull/352)) +- introduce a union type for `opcode_specific_columns` ([#310](https://github.com/succinctlabs/sp1/pull/310)) +- refactor air in keccak to not use `offset_of` ([#308](https://github.com/succinctlabs/sp1/pull/308)) +- mul trace gen ([#306](https://github.com/succinctlabs/sp1/pull/306)) +- clippy ([#255](https://github.com/succinctlabs/sp1/pull/255)) +- final touches for public release ([#239](https://github.com/succinctlabs/sp1/pull/239)) +- update docs with slight nits ([#224](https://github.com/succinctlabs/sp1/pull/224)) +- sp1 rename ([#212](https://github.com/succinctlabs/sp1/pull/212)) +- enshrine AlignedBorrow macro ([#209](https://github.com/succinctlabs/sp1/pull/209)) +- readme cleanup ([#196](https://github.com/succinctlabs/sp1/pull/196)) +- rename succinct to curta ([#192](https://github.com/succinctlabs/sp1/pull/192)) +- better curta graphic ([#184](https://github.com/succinctlabs/sp1/pull/184)) +- Initial commit diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 38a3b53f13..13196ab9de 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sp1-cli" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../README.md" diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md new file mode 100644 index 0000000000..7f1aabdeb5 --- /dev/null +++ b/core/CHANGELOG.md @@ -0,0 +1,432 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.0.1-test](https://github.com/succinctlabs/sp1/compare/sp1-core-v0.0.0-test...sp1-core-v0.0.1-test) - 2024-07-11 + +### Added + +- publish sp1 to crates.io ([#1052](https://github.com/succinctlabs/sp1/pull/1052)) +- critical constraint changes ([#1046](https://github.com/succinctlabs/sp1/pull/1046)) +- cycle limit ([#1027](https://github.com/succinctlabs/sp1/pull/1027)) +- suggest prover network if high cycles ([#1019](https://github.com/succinctlabs/sp1/pull/1019)) +- put hook results in the front of the input stream ([#973](https://github.com/succinctlabs/sp1/pull/973)) +- poseidon2 hash ([#885](https://github.com/succinctlabs/sp1/pull/885)) +- optimize byte trace gen +- optimize cpu tracegen ([#949](https://github.com/succinctlabs/sp1/pull/949)) +- (breaking changes to SDK API) use builder pattern for SDK execute/prove/verify ([#940](https://github.com/succinctlabs/sp1/pull/940)) +- circuit version in proof ([#926](https://github.com/succinctlabs/sp1/pull/926)) +- verify subproof in runtime ([#911](https://github.com/succinctlabs/sp1/pull/911)) +- sp1 circuit version ([#899](https://github.com/succinctlabs/sp1/pull/899)) +- log info from `ExecutionReport` in `prove` ([#896](https://github.com/succinctlabs/sp1/pull/896)) +- use docker by default for gnark ([#890](https://github.com/succinctlabs/sp1/pull/890)) +- info spans for prover execute instances ([#893](https://github.com/succinctlabs/sp1/pull/893)) +- generic const expr ([#854](https://github.com/succinctlabs/sp1/pull/854)) +- execute() exposes ExecutionReport ([#847](https://github.com/succinctlabs/sp1/pull/847)) +- runtime instruction/syscall report ([#839](https://github.com/succinctlabs/sp1/pull/839)) +- sp1 core prover opts +- plonk prover ([#795](https://github.com/succinctlabs/sp1/pull/795)) +- byte multiplicity channel ([#800](https://github.com/succinctlabs/sp1/pull/800)) +- exit code ([#750](https://github.com/succinctlabs/sp1/pull/750)) +- _(recursion)_ public values constraints ([#748](https://github.com/succinctlabs/sp1/pull/748)) +- add proof verification ([#729](https://github.com/succinctlabs/sp1/pull/729)) +- add `hash_public_values` ([#730](https://github.com/succinctlabs/sp1/pull/730)) +- reduce network prover ([#687](https://github.com/succinctlabs/sp1/pull/687)) +- fix execution + proving errors ([#715](https://github.com/succinctlabs/sp1/pull/715)) +- activate `cycle-tracker` with `RUST_LOG=info` ([#707](https://github.com/succinctlabs/sp1/pull/707)) +- ci refactor ([#684](https://github.com/succinctlabs/sp1/pull/684)) +- program refactor ([#651](https://github.com/succinctlabs/sp1/pull/651)) +- e2e groth16 with contract verifier ([#671](https://github.com/succinctlabs/sp1/pull/671)) +- `mulmod` uint256 precompile ([#642](https://github.com/succinctlabs/sp1/pull/642)) +- nextgen ci for sp1-prover ([#663](https://github.com/succinctlabs/sp1/pull/663)) +- Adding docs for new `ProverClient` and `groth16` and `compressed` mode ([#627](https://github.com/succinctlabs/sp1/pull/627)) +- aggregation fixes ([#649](https://github.com/succinctlabs/sp1/pull/649)) +- improve circuit by 3-4x ([#648](https://github.com/succinctlabs/sp1/pull/648)) +- _(recursion)_ poseidon2 max constraint degree const generic ([#634](https://github.com/succinctlabs/sp1/pull/634)) +- regularize proof shape ([#641](https://github.com/succinctlabs/sp1/pull/641)) +- shard chunking multiplier ([#633](https://github.com/succinctlabs/sp1/pull/633)) +- prover tweaks pt4 ([#632](https://github.com/succinctlabs/sp1/pull/632)) +- _(recursion)_ cpu branch constraints ([#578](https://github.com/succinctlabs/sp1/pull/578)) +- prover tweaks ([#603](https://github.com/succinctlabs/sp1/pull/603)) +- _(recursion)_ memory access timestamp constraints ([#589](https://github.com/succinctlabs/sp1/pull/589)) +- enable arbitrary constraint degree ([#593](https://github.com/succinctlabs/sp1/pull/593)) +- recursion compress layer + RecursionAirWideDeg3 + RecursionAirSkinnyDeg7 + optimized groth16 ([#590](https://github.com/succinctlabs/sp1/pull/590)) +- fixing memory interactions ([#587](https://github.com/succinctlabs/sp1/pull/587)) +- _(Recursion)_ evaluate constraints in a single expression ([#592](https://github.com/succinctlabs/sp1/pull/592)) +- _(recursion)_ memory builder + fri-fold precompile ([#581](https://github.com/succinctlabs/sp1/pull/581)) +- complete reduce program ([#565](https://github.com/succinctlabs/sp1/pull/565)) +- public inputs in gnark circuit ([#576](https://github.com/succinctlabs/sp1/pull/576)) +- _(recursion)_ cpu alu constraints ([#570](https://github.com/succinctlabs/sp1/pull/570)) +- _(recursion)_ recursion air builder ([#574](https://github.com/succinctlabs/sp1/pull/574)) +- a few simplifications to the Keccak AIR ([#568](https://github.com/succinctlabs/sp1/pull/568)) +- alu cpu columns ([#562](https://github.com/succinctlabs/sp1/pull/562)) +- stark cleanup and verification ([#556](https://github.com/succinctlabs/sp1/pull/556)) +- add range checks to field and new LT table ([#529](https://github.com/succinctlabs/sp1/pull/529)) +- fix cargo prove new issues ([#542](https://github.com/succinctlabs/sp1/pull/542)) +- feat(precompile) bls12-381 add and double precompile ([#448](https://github.com/succinctlabs/sp1/pull/448)) +- _(precompile)_ add biguint arithmetic precompiles ([#378](https://github.com/succinctlabs/sp1/pull/378)) +- verify shard transitions + fixes ([#482](https://github.com/succinctlabs/sp1/pull/482)) +- weierstrass decompress precompile ([#440](https://github.com/succinctlabs/sp1/pull/440)) +- preprocess memory program chip ([#480](https://github.com/succinctlabs/sp1/pull/480)) +- nested sp1 proof verification ([#494](https://github.com/succinctlabs/sp1/pull/494)) +- verify pc and shard transition in recursive proofs ([#514](https://github.com/succinctlabs/sp1/pull/514)) +- recursion profiling ([#521](https://github.com/succinctlabs/sp1/pull/521)) +- small permutation trace gen perf opt ([#517](https://github.com/succinctlabs/sp1/pull/517)) +- update to latest p3 ([#515](https://github.com/succinctlabs/sp1/pull/515)) +- reduce with different configs ([#508](https://github.com/succinctlabs/sp1/pull/508)) +- sdk using secp256k1 auth ([#483](https://github.com/succinctlabs/sp1/pull/483)) +- logup batching ([#487](https://github.com/succinctlabs/sp1/pull/487)) +- recursion vm public values ([#495](https://github.com/succinctlabs/sp1/pull/495)) +- shard transition public values ([#466](https://github.com/succinctlabs/sp1/pull/466)) +- recursion permutation challenges as variables ([#486](https://github.com/succinctlabs/sp1/pull/486)) +- add support for witness in programs ([#476](https://github.com/succinctlabs/sp1/pull/476)) +- setup recursion prover crate ([#475](https://github.com/succinctlabs/sp1/pull/475)) +- gnark recursive verifier ([#457](https://github.com/succinctlabs/sp1/pull/457)) +- add shard to byte and program table ([#463](https://github.com/succinctlabs/sp1/pull/463)) +- recursion cpu constraints ([#464](https://github.com/succinctlabs/sp1/pull/464)) +- public values ([#455](https://github.com/succinctlabs/sp1/pull/455)) +- Preprocessing + recursion ([#450](https://github.com/succinctlabs/sp1/pull/450)) +- one cycle input ([#451](https://github.com/succinctlabs/sp1/pull/451)) +- sp1-sdk, remote prover ([#370](https://github.com/succinctlabs/sp1/pull/370)) +- _(precompile)_ add bn254 precompile ([#384](https://github.com/succinctlabs/sp1/pull/384)) +- constrain EnterUnconstrained syscall ([#449](https://github.com/succinctlabs/sp1/pull/449)) +- verify shard ([#444](https://github.com/succinctlabs/sp1/pull/444)) +- working two adic pcs verifier in recursive zkvm ([#434](https://github.com/succinctlabs/sp1/pull/434)) +- plonky3 update ([#428](https://github.com/succinctlabs/sp1/pull/428)) +- poseidon2 permute ([#423](https://github.com/succinctlabs/sp1/pull/423)) +- cpu chip clk constraints ([#420](https://github.com/succinctlabs/sp1/pull/420)) +- verify constraints ([#409](https://github.com/succinctlabs/sp1/pull/409)) +- Connect CPU to ECALL tables ([#364](https://github.com/succinctlabs/sp1/pull/364)) +- poseidon2 air ([#397](https://github.com/succinctlabs/sp1/pull/397)) +- checkpoint runtime for constant memory usage ([#389](https://github.com/succinctlabs/sp1/pull/389)) +- update to the latest plonky3 version ([#398](https://github.com/succinctlabs/sp1/pull/398)) +- verify constraints in DSL + basic verifier setup ([#395](https://github.com/succinctlabs/sp1/pull/395)) +- array and symbolic evaluation ([#390](https://github.com/succinctlabs/sp1/pull/390)) +- core recursion air constraints ([#359](https://github.com/succinctlabs/sp1/pull/359)) +- initial recursion core ([#354](https://github.com/succinctlabs/sp1/pull/354)) +- serializable execution record ([#328](https://github.com/succinctlabs/sp1/pull/328)) +- Many small features and chores ([#347](https://github.com/succinctlabs/sp1/pull/347)) +- keccak + weierstrass trace gen opt ([#335](https://github.com/succinctlabs/sp1/pull/335)) +- use u32 based hasher for BabybearBlake3 ([#327](https://github.com/succinctlabs/sp1/pull/327)) +- update to new Merkle tree API ([#301](https://github.com/succinctlabs/sp1/pull/301)) +- prover memory optimizations ([#294](https://github.com/succinctlabs/sp1/pull/294)) +- trace for cycle tracker ([#163](https://github.com/succinctlabs/sp1/pull/163)) +- derive `MachineAir`, chip and machine cleanup ([#278](https://github.com/succinctlabs/sp1/pull/278)) +- new README img ([#226](https://github.com/succinctlabs/sp1/pull/226)) +- Allow deserialization of `StarkGenericConfig`s ([#218](https://github.com/succinctlabs/sp1/pull/218)) +- new trace generation api ([#208](https://github.com/succinctlabs/sp1/pull/208)) +- Make proof types deserializable ([#211](https://github.com/succinctlabs/sp1/pull/211)) +- readme updates ([#205](https://github.com/succinctlabs/sp1/pull/205)) +- preprocessing api, cleanup, and testing ([#195](https://github.com/succinctlabs/sp1/pull/195)) +- release v0.0.1-alpha ([#200](https://github.com/succinctlabs/sp1/pull/200)) +- upgrade toolchain to rust 1.75 ([#193](https://github.com/succinctlabs/sp1/pull/193)) +- more final touches ([#194](https://github.com/succinctlabs/sp1/pull/194)) +- Blake3 compress precompile ([#180](https://github.com/succinctlabs/sp1/pull/180)) +- tendermint optimizations ([#188](https://github.com/succinctlabs/sp1/pull/188)) +- hash function config in prover and verifier ([#186](https://github.com/succinctlabs/sp1/pull/186)) +- Stark cleanup ([#179](https://github.com/succinctlabs/sp1/pull/179)) +- curtaup + release system + cargo prove CLI updates ([#178](https://github.com/succinctlabs/sp1/pull/178)) +- dynamic prover / verifier chips + proof size benchmarking ([#176](https://github.com/succinctlabs/sp1/pull/176)) +- (perf) k12 config ([#160](https://github.com/succinctlabs/sp1/pull/160)) +- unconstrained macro + ecrecover fn ([#153](https://github.com/succinctlabs/sp1/pull/153)) +- (perf) updates from Plonky3 and verifier refactor ([#156](https://github.com/succinctlabs/sp1/pull/156)) +- zeth program ([#147](https://github.com/succinctlabs/sp1/pull/147)) +- developer experience improvements ([#145](https://github.com/succinctlabs/sp1/pull/145)) +- k256_decompress precompile ([#143](https://github.com/succinctlabs/sp1/pull/143)) +- Secp256k1 double precompile ([#142](https://github.com/succinctlabs/sp1/pull/142)) +- Secp251k addition precompile ([#137](https://github.com/succinctlabs/sp1/pull/137)) +- Verifier ([#123](https://github.com/succinctlabs/sp1/pull/123)) +- keccak precompile ([#108](https://github.com/succinctlabs/sp1/pull/108)) +- _(perf)_ use poseidon fri ([#132](https://github.com/succinctlabs/sp1/pull/132)) +- enable debug assertions in ci ([#130](https://github.com/succinctlabs/sp1/pull/130)) +- toolchain build from source & install ([#113](https://github.com/succinctlabs/sp1/pull/113)) +- use actions cache for perf regress [perf] ([#128](https://github.com/succinctlabs/sp1/pull/128)) +- ed_decompress precompile ([#114](https://github.com/succinctlabs/sp1/pull/114)) +- io::read io::write ([#126](https://github.com/succinctlabs/sp1/pull/126)) +- performance regression check ([#125](https://github.com/succinctlabs/sp1/pull/125)) +- Ed25519 base field sqrt operation (WIP) ([#122](https://github.com/succinctlabs/sp1/pull/122)) +- ed_add precompile ([#95](https://github.com/succinctlabs/sp1/pull/95)) +- Implement `F_p` division [WIP/Draft] ([#115](https://github.com/succinctlabs/sp1/pull/115)) +- serialize MainData ([#116](https://github.com/succinctlabs/sp1/pull/116)) +- implement `add5` and `or` operations ([#111](https://github.com/succinctlabs/sp1/pull/111)) +- cycle tracker macro and print ([#109](https://github.com/succinctlabs/sp1/pull/109)) +- fix prover work and update plonky3 upstream changes ([#110](https://github.com/succinctlabs/sp1/pull/110)) +- get_cycles helper ([#104](https://github.com/succinctlabs/sp1/pull/104)) +- implement `isEqualWordOperation` and use it in `DivRemChip` ([#103](https://github.com/succinctlabs/sp1/pull/103)) +- Implement `MSB` byte lookup op and use it in ALU tables ([#100](https://github.com/succinctlabs/sp1/pull/100)) +- `IsZero` Operation ([#92](https://github.com/succinctlabs/sp1/pull/92)) +- sha256 compress contraints ([#94](https://github.com/succinctlabs/sp1/pull/94)) +- add4 operations ([#91](https://github.com/succinctlabs/sp1/pull/91)) +- tracing, profiling, benchmarking ([#99](https://github.com/succinctlabs/sp1/pull/99)) +- fix all cargo tests + add ci + rename curta to succinct ([#97](https://github.com/succinctlabs/sp1/pull/97)) +- Implement `and` `not` `xor` operations ([#98](https://github.com/succinctlabs/sp1/pull/98)) +- Fp add, mul, sub, inner_product and den operations, and Edwards add operation ([#68](https://github.com/succinctlabs/sp1/pull/68)) +- Constrain memory related ts/segment values ([#84](https://github.com/succinctlabs/sp1/pull/84)) +- tendermint example + runtime optimizations ([#93](https://github.com/succinctlabs/sp1/pull/93)) +- working prover ([#90](https://github.com/succinctlabs/sp1/pull/90)) +- ssz withdrawals example ([#81](https://github.com/succinctlabs/sp1/pull/81)) +- implement add operations ([#88](https://github.com/succinctlabs/sp1/pull/88)) +- rustcrypto sha256 example ([#82](https://github.com/succinctlabs/sp1/pull/82)) +- cpu memory value constraints ([#74](https://github.com/succinctlabs/sp1/pull/74)) +- print syscall + start of ssz example ([#76](https://github.com/succinctlabs/sp1/pull/76)) +- sha256 syscalls + fix for mul events being in add events ([#75](https://github.com/succinctlabs/sp1/pull/75)) +- simple benchmarks ([#72](https://github.com/succinctlabs/sp1/pull/72)) +- move runtime execution to precompile module ([#71](https://github.com/succinctlabs/sp1/pull/71)) +- Arithmetic & logical right shift (`SRA`, `SRL`) ([#70](https://github.com/succinctlabs/sp1/pull/70)) +- CPU constraints for jump instructions and AIUPC ([#69](https://github.com/succinctlabs/sp1/pull/69)) +- sha compress ([#66](https://github.com/succinctlabs/sp1/pull/66)) +- cpu constraints for branching related op codes ([#58](https://github.com/succinctlabs/sp1/pull/58)) +- sha extend ([#61](https://github.com/succinctlabs/sp1/pull/61)) +- `DIV`, `REM`, `DIVU` and `REMU` ALU table ([#49](https://github.com/succinctlabs/sp1/pull/49)) +- proving with global challenges ([#64](https://github.com/succinctlabs/sp1/pull/64)) +- memory constraints on CPU table ([#56](https://github.com/succinctlabs/sp1/pull/56)) +- bus constraint between cpu and program table ([#50](https://github.com/succinctlabs/sp1/pull/50)) +- `lt` ALU table ([#44](https://github.com/succinctlabs/sp1/pull/44)) +- left shift `SLL` ALU table ([#60](https://github.com/succinctlabs/sp1/pull/60)) +- working malloc, syscalls, elf/program refactor ([#53](https://github.com/succinctlabs/sp1/pull/53)) +- small nits ([#47](https://github.com/succinctlabs/sp1/pull/47)) +- Add all `MUL*` ALU tables ([#45](https://github.com/succinctlabs/sp1/pull/45)) +- disassemble + opcode + instruction refactor ([#43](https://github.com/succinctlabs/sp1/pull/43)) +- `MUL` ALU table ([#41](https://github.com/succinctlabs/sp1/pull/41)) +- Byte lookup table ([#35](https://github.com/succinctlabs/sp1/pull/35)) +- CPU and Memory interactions match ([#29](https://github.com/succinctlabs/sp1/pull/29)) +- cleanup prove method + traits ([#37](https://github.com/succinctlabs/sp1/pull/37)) +- shift table + less table + interactions for all existing tables ([#28](https://github.com/succinctlabs/sp1/pull/28)) +- builder interactions ([#33](https://github.com/succinctlabs/sp1/pull/33)) +- shift/less ([#31](https://github.com/succinctlabs/sp1/pull/31)) +- v3 prover ([#24](https://github.com/succinctlabs/sp1/pull/24)) +- chip interactions ([#26](https://github.com/succinctlabs/sp1/pull/26)) +- end-to-end testing setup including AIR / interaction constraints ([#17](https://github.com/succinctlabs/sp1/pull/17)) +- memory table with proof generation ([#18](https://github.com/succinctlabs/sp1/pull/18)) +- CPU trace pads and proves ([#19](https://github.com/succinctlabs/sp1/pull/19)) +- Parse ELF files ([#7](https://github.com/succinctlabs/sp1/pull/7)) +- v1 prove method + program table ([#15](https://github.com/succinctlabs/sp1/pull/15)) +- working ALU tables for ADD + SUB + AND + XOR + OR minus interactions ([#10](https://github.com/succinctlabs/sp1/pull/10)) +- memory air ([#9](https://github.com/succinctlabs/sp1/pull/9)) +- basic runtime for add +- basic runtime for add +- basic runtime for add +- make imm i32 +- make imm i32 +- v1 of encoding +- v1 of encoding +- v1 of encoding + +### Fixed + +- correct permutation column counts in debug_constraints ([#1080](https://github.com/succinctlabs/sp1/pull/1080)) +- execution shard ([#1070](https://github.com/succinctlabs/sp1/pull/1070)) +- optimize serde for ExecutionState ([#1068](https://github.com/succinctlabs/sp1/pull/1068)) +- uint256 fixes ([#990](https://github.com/succinctlabs/sp1/pull/990)) +- range check halt/commit_deferred_proof operands ([#986](https://github.com/succinctlabs/sp1/pull/986)) +- verifier dos ([#1017](https://github.com/succinctlabs/sp1/pull/1017)) +- verifier dos +- apply plonky3's keccak air fix ([#984](https://github.com/succinctlabs/sp1/pull/984)) +- close unclosed file streams ([#954](https://github.com/succinctlabs/sp1/pull/954)) +- p3 audit change ([#964](https://github.com/succinctlabs/sp1/pull/964)) +- fix crhsi comments +- uint256 div ([#915](https://github.com/succinctlabs/sp1/pull/915)) +- remove mutable requirement ([#892](https://github.com/succinctlabs/sp1/pull/892)) +- set core opts from SHARD\* env vars ([#889](https://github.com/succinctlabs/sp1/pull/889)) +- unit tests to test nonces ([#875](https://github.com/succinctlabs/sp1/pull/875)) +- nonce in ed decompress ([#874](https://github.com/succinctlabs/sp1/pull/874)) +- install for `verify_plonk_bn254` ([#798](https://github.com/succinctlabs/sp1/pull/798)) +- _(core)_ Remove dummy constraint ([#783](https://github.com/succinctlabs/sp1/pull/783)) +- _(core)_ Fix benches warning for unstable features ([#763](https://github.com/succinctlabs/sp1/pull/763)) +- SHA_COMPRESS syscall added to syscall map twice ([#740](https://github.com/succinctlabs/sp1/pull/740)) +- multiply logged permutation column counts by extension field degree. ([#668](https://github.com/succinctlabs/sp1/pull/668)) +- proof aggregation issue ([#683](https://github.com/succinctlabs/sp1/pull/683)) +- verify reduced proofs ([#655](https://github.com/succinctlabs/sp1/pull/655)) +- shard_batch_size prover ([#659](https://github.com/succinctlabs/sp1/pull/659)) +- _(recursion)_ fixes for fri fold and poseidon2 ([#654](https://github.com/succinctlabs/sp1/pull/654)) +- _(core)_ assert_is_base_element fix for highest degree element ([#644](https://github.com/succinctlabs/sp1/pull/644)) +- some SubBuilder tweaks ([#622](https://github.com/succinctlabs/sp1/pull/622)) +- high degree constraints in recursion ([#619](https://github.com/succinctlabs/sp1/pull/619)) +- deferred proofs + cleanup hash_vkey ([#615](https://github.com/succinctlabs/sp1/pull/615)) +- posedion2 config bug ([#612](https://github.com/succinctlabs/sp1/pull/612)) +- update Poseidon2 air to match plonky3 ([#600](https://github.com/succinctlabs/sp1/pull/600)) +- downgrade `strum` ([#585](https://github.com/succinctlabs/sp1/pull/585)) +- verify read access for MemoryReadWriteCols cols in keccak precompile ([#531](https://github.com/succinctlabs/sp1/pull/531)) +- unaccessed hint input + small fixes ([#461](https://github.com/succinctlabs/sp1/pull/461)) +- observe only non-padded public values ([#523](https://github.com/succinctlabs/sp1/pull/523)) +- broken e2e recursion +- don't observe padded public values ([#520](https://github.com/succinctlabs/sp1/pull/520)) +- public inputs in recursion program ([#467](https://github.com/succinctlabs/sp1/pull/467)) +- few regression fixes ([#441](https://github.com/succinctlabs/sp1/pull/441)) +- only use tempfile if necessary ([#436](https://github.com/succinctlabs/sp1/pull/436)) +- don't use tempfile if unneeded ([#419](https://github.com/succinctlabs/sp1/pull/419)) +- silent lwa error ([#385](https://github.com/succinctlabs/sp1/pull/385)) +- non-default feature errors and check during ci ([#345](https://github.com/succinctlabs/sp1/pull/345)) +- BLAKE3 AIR constraint fix for handling multiple invocations ([#336](https://github.com/succinctlabs/sp1/pull/336)) +- S-box in Poseidon2 config ([#329](https://github.com/succinctlabs/sp1/pull/329)) +- ltu bug ([#284](https://github.com/succinctlabs/sp1/pull/284)) +- keccak memory bug ([#283](https://github.com/succinctlabs/sp1/pull/283)) +- verify proof in tests ([#280](https://github.com/succinctlabs/sp1/pull/280)) +- debug deserialization for SP1ProofWithIO. Test. ([#249](https://github.com/succinctlabs/sp1/pull/249)) +- Merkle tree config ([#251](https://github.com/succinctlabs/sp1/pull/251)) +- sha compress ([#252](https://github.com/succinctlabs/sp1/pull/252)) +- perf main bench ci ([#223](https://github.com/succinctlabs/sp1/pull/223)) +- k256 decompress ([#202](https://github.com/succinctlabs/sp1/pull/202)) +- blake3 interaction bug ([#199](https://github.com/succinctlabs/sp1/pull/199)) +- make SSZ work again ([#190](https://github.com/succinctlabs/sp1/pull/190)) +- remove verification checks from prove_core ([#185](https://github.com/succinctlabs/sp1/pull/185)) +- runtime sharding ([#181](https://github.com/succinctlabs/sp1/pull/181)) +- main ci ([#177](https://github.com/succinctlabs/sp1/pull/177)) +- proofs with dynamic jump clocks ([#172](https://github.com/succinctlabs/sp1/pull/172)) +- debug feature ([#171](https://github.com/succinctlabs/sp1/pull/171)) +- Interaction bug caused by carry arrays ([#131](https://github.com/succinctlabs/sp1/pull/131)) +- make memory argument safer ([#117](https://github.com/succinctlabs/sp1/pull/117)) +- bgeu ([#87](https://github.com/succinctlabs/sp1/pull/87)) +- revert to old fib program in tests ([#80](https://github.com/succinctlabs/sp1/pull/80)) +- sr byte lookup and memory events emitted during Syscall:PRINT ([#77](https://github.com/succinctlabs/sp1/pull/77)) +- support underflow case for sub chip ([#63](https://github.com/succinctlabs/sp1/pull/63)) +- use try_init() for env_logger ([#57](https://github.com/succinctlabs/sp1/pull/57)) +- bug ([#51](https://github.com/succinctlabs/sp1/pull/51)) +- `DIV`, `DIVU`, `REM`, `REMU` and add tests ([#42](https://github.com/succinctlabs/sp1/pull/42)) +- prover issue ([#32](https://github.com/succinctlabs/sp1/pull/32)) +- Fix the jump instructions, Fibonacci working now ([#27](https://github.com/succinctlabs/sp1/pull/27)) +- fix JALR and do not write to X0 ([#22](https://github.com/succinctlabs/sp1/pull/22)) +- jump bugs/jump decoding bugs ([#21](https://github.com/succinctlabs/sp1/pull/21)) + +### Other + +- generate dependencies optimizations for CPU and ALU chips ([#1048](https://github.com/succinctlabs/sp1/pull/1048)) +- _(deps)_ bump serde_with from 3.8.1 to 3.8.3 ([#1064](https://github.com/succinctlabs/sp1/pull/1064)) +- _(deps)_ bump generic-array from 1.0.0 to 1.1.0 ([#1066](https://github.com/succinctlabs/sp1/pull/1066)) +- cycle limit +- Merge branch 'dev' into dependabot/cargo/dev/log-0.4.22 +- _(deps)_ bump num-bigint from 0.4.5 to 0.4.6 +- merge main -> dev ([#969](https://github.com/succinctlabs/sp1/pull/969)) +- cleanup +- v1.0.7-testnet ([#930](https://github.com/succinctlabs/sp1/pull/930)) +- remove u256 +- _(deps)_ bump itertools from 0.12.1 to 0.13.0 ([#817](https://github.com/succinctlabs/sp1/pull/817)) +- logging cleanup + non-compressed fibonacci ([#903](https://github.com/succinctlabs/sp1/pull/903)) +- Merge branch 'dev' into john/fix-main-regression +- fix program and permutation trace exports ([#887](https://github.com/succinctlabs/sp1/pull/887)) +- refactor derive, serialize bounds ([#869](https://github.com/succinctlabs/sp1/pull/869)) +- increase byte lookup channes ([#876](https://github.com/succinctlabs/sp1/pull/876)) +- constraint selectors when is_real zero ([#873](https://github.com/succinctlabs/sp1/pull/873)) +- state_mem validity ([#871](https://github.com/succinctlabs/sp1/pull/871)) +- fixes ([#821](https://github.com/succinctlabs/sp1/pull/821)) +- program doc and remove unnecessary clones ([#857](https://github.com/succinctlabs/sp1/pull/857)) +- default reconstruct commitments = true ([#846](https://github.com/succinctlabs/sp1/pull/846)) +- fmt +- hm +- change challenger rate from 16 to 8 ([#807](https://github.com/succinctlabs/sp1/pull/807)) +- hm +- no remainder range checks if division by 0 ([#764](https://github.com/succinctlabs/sp1/pull/764)) +- Make some functions const ([#774](https://github.com/succinctlabs/sp1/pull/774)) +- remove unused deps ([#794](https://github.com/succinctlabs/sp1/pull/794)) +- Clean up TOML files ([#796](https://github.com/succinctlabs/sp1/pull/796)) +- logup format ([#788](https://github.com/succinctlabs/sp1/pull/788)) +- pk/vk serde/clone ([#770](https://github.com/succinctlabs/sp1/pull/770)) +- get_cycles don't need emit events ([#697](https://github.com/succinctlabs/sp1/pull/697)) +- update all dependencies ([#689](https://github.com/succinctlabs/sp1/pull/689)) +- sdk tweaks ([#653](https://github.com/succinctlabs/sp1/pull/653)) +- avoid a few allocations in constraint code ([#567](https://github.com/succinctlabs/sp1/pull/567)) +- improve tracing log readability ([#616](https://github.com/succinctlabs/sp1/pull/616)) +- sdk improvements ([#580](https://github.com/succinctlabs/sp1/pull/580)) +- poseidon2 config change ([#609](https://github.com/succinctlabs/sp1/pull/609)) +- prover tweaks ([#610](https://github.com/succinctlabs/sp1/pull/610)) +- `get_cycles` ([#595](https://github.com/succinctlabs/sp1/pull/595)) +- fixing dep tree for `prover`, `recursion`, `core` and `sdk` ([#545](https://github.com/succinctlabs/sp1/pull/545)) +- cleanup prover ([#551](https://github.com/succinctlabs/sp1/pull/551)) +- re-organise cpu air constraints ([#538](https://github.com/succinctlabs/sp1/pull/538)) +- replace std::time with drop-in web-time for wasm compat ([#437](https://github.com/succinctlabs/sp1/pull/437)) +- make ci faster ([#536](https://github.com/succinctlabs/sp1/pull/536)) +- cleanup for allen ([#518](https://github.com/succinctlabs/sp1/pull/518)) +- _(recursion)_ reduce program ([#497](https://github.com/succinctlabs/sp1/pull/497)) +- _(simd)_ avx512 by dyxushuai ([#492](https://github.com/succinctlabs/sp1/pull/492)) +- update to latest plonky3 main ([#491](https://github.com/succinctlabs/sp1/pull/491)) +- clear semantics of variables ([#452](https://github.com/succinctlabs/sp1/pull/452)) +- constrain halt, is_real, and pc ([#424](https://github.com/succinctlabs/sp1/pull/424)) +- Clean up the `MUL` ALU table code ([#189](https://github.com/succinctlabs/sp1/pull/189)) +- cleanup keccak + more constraints ([#447](https://github.com/succinctlabs/sp1/pull/447)) +- sha cleanup + constraints ([#425](https://github.com/succinctlabs/sp1/pull/425)) +- generic size limbs for curve precompiles ([#417](https://github.com/succinctlabs/sp1/pull/417)) +- Merge sub chip into add chip ([#410](https://github.com/succinctlabs/sp1/pull/410)) +- styling and comment fixes ([#414](https://github.com/succinctlabs/sp1/pull/414)) +- Move memory access timestamp check inline ([#404](https://github.com/succinctlabs/sp1/pull/404)) +- set clk = 0 in initialize ([#406](https://github.com/succinctlabs/sp1/pull/406)) +- remove repetitive words ([#391](https://github.com/succinctlabs/sp1/pull/391)) +- sunday cleanup ([#363](https://github.com/succinctlabs/sp1/pull/363)) +- recursion core cleanup ([#355](https://github.com/succinctlabs/sp1/pull/355)) +- split `validate_memory_access` to avoid warnings in the release profile ([#353](https://github.com/succinctlabs/sp1/pull/353)) +- introduce a union type for `opcode_specific_columns` ([#310](https://github.com/succinctlabs/sp1/pull/310)) +- rename to upper camel case ([#325](https://github.com/succinctlabs/sp1/pull/325)) +- enable reconstruct trace/commit by default instead of using disk + lower memory usage ([#323](https://github.com/succinctlabs/sp1/pull/323)) +- various AIR tweaks ([#311](https://github.com/succinctlabs/sp1/pull/311)) +- refactor air in keccak to not use `offset_of` ([#308](https://github.com/succinctlabs/sp1/pull/308)) +- mul trace gen ([#306](https://github.com/succinctlabs/sp1/pull/306)) +- small verifier cleanup ([#288](https://github.com/succinctlabs/sp1/pull/288)) +- decrease default shard size ([#246](https://github.com/succinctlabs/sp1/pull/246)) +- update for compatibility with recent Plonky3 ([#277](https://github.com/succinctlabs/sp1/pull/277)) +- final touches for public release ([#239](https://github.com/succinctlabs/sp1/pull/239)) +- update ssh dependencies to https ([#235](https://github.com/succinctlabs/sp1/pull/235)) +- Range check misc fixes ([#216](https://github.com/succinctlabs/sp1/pull/216)) +- examples/tests folder refactor ([#234](https://github.com/succinctlabs/sp1/pull/234)) +- update docs with slight nits ([#224](https://github.com/succinctlabs/sp1/pull/224)) +- sp1 rename ([#212](https://github.com/succinctlabs/sp1/pull/212)) +- enshrine AlignedBorrow macro ([#209](https://github.com/succinctlabs/sp1/pull/209)) +- make `FpOperations` use `PrimeField32` to clean up type inconsistency hacks ([#203](https://github.com/succinctlabs/sp1/pull/203)) +- clean up the ed25519 test ([#207](https://github.com/succinctlabs/sp1/pull/207)) +- readme cleanup ([#196](https://github.com/succinctlabs/sp1/pull/196)) +- rename succinct to curta ([#192](https://github.com/succinctlabs/sp1/pull/192)) +- better curta graphic ([#184](https://github.com/succinctlabs/sp1/pull/184)) +- Move random related packages to dev dependency and constant poseidon2 RCs ([#182](https://github.com/succinctlabs/sp1/pull/182)) +- cleanup double generics + runtime ([#175](https://github.com/succinctlabs/sp1/pull/175)) +- cleanup runtime ([#170](https://github.com/succinctlabs/sp1/pull/170)) +- make demo and test in programs ([#167](https://github.com/succinctlabs/sp1/pull/167)) +- add config for SEGMENT_SIZE ([#166](https://github.com/succinctlabs/sp1/pull/166)) +- cleanup chip to it's own module ([#165](https://github.com/succinctlabs/sp1/pull/165)) +- use parallelization in Blake3 ([#164](https://github.com/succinctlabs/sp1/pull/164)) +- stark cleanup ([#162](https://github.com/succinctlabs/sp1/pull/162)) +- cpu cleanup ([#161](https://github.com/succinctlabs/sp1/pull/161)) +- prover cleanup pt 1 ([#159](https://github.com/succinctlabs/sp1/pull/159)) +- global prover imp v1 + blake3 ([#152](https://github.com/succinctlabs/sp1/pull/152)) +- parallelize segment proving ([#148](https://github.com/succinctlabs/sp1/pull/148)) +- split memory access by type ([#140](https://github.com/succinctlabs/sp1/pull/140)) +- air/alu/bytes/cpu ([#133](https://github.com/succinctlabs/sp1/pull/133)) +- cleanup patches + patch tendermint sha ([#135](https://github.com/succinctlabs/sp1/pull/135)) +- get rid of unneeded cpu cols and fix quotient values profile ([#118](https://github.com/succinctlabs/sp1/pull/118)) +- more efficient field ltu table ([#119](https://github.com/succinctlabs/sp1/pull/119)) +- generate permutation trace optimizations ([#121](https://github.com/succinctlabs/sp1/pull/121)) +- range check all appropriate values in ALU chips ([#107](https://github.com/succinctlabs/sp1/pull/107)) +- precompile runtime refactor ([#112](https://github.com/succinctlabs/sp1/pull/112)) +- minor improvements in `debug_interactions_with_all_chips` ([#106](https://github.com/succinctlabs/sp1/pull/106)) +- ALU table interaction tests + Shift clean up ([#89](https://github.com/succinctlabs/sp1/pull/89)) +- DIV/REM interaction fix ([#83](https://github.com/succinctlabs/sp1/pull/83)) +- Uncomment `debug_constraints` inside `prove` ([#86](https://github.com/succinctlabs/sp1/pull/86)) +- Fix MUL ALU table interactions ([#78](https://github.com/succinctlabs/sp1/pull/78)) +- air folder ([#73](https://github.com/succinctlabs/sp1/pull/73)) +- small changes to add chip ([#65](https://github.com/succinctlabs/sp1/pull/65)) +- Split the shift ALU table into left and right ([#62](https://github.com/succinctlabs/sp1/pull/62)) +- New memory argument ([#55](https://github.com/succinctlabs/sp1/pull/55)) +- update the implementation of MULH, MULHU, MULHSU ([#39](https://github.com/succinctlabs/sp1/pull/39)) +- implement ecall & panic at UNIMP ([#34](https://github.com/succinctlabs/sp1/pull/34)) +- CPU trace works ([#25](https://github.com/succinctlabs/sp1/pull/25)) +- minor fixes in the opcode/instruction ([#20](https://github.com/succinctlabs/sp1/pull/20)) +- CPU column cleanup ([#16](https://github.com/succinctlabs/sp1/pull/16)) +- Better structure cpu cols ([#14](https://github.com/succinctlabs/sp1/pull/14)) +- Uma/cpu lookups ([#12](https://github.com/succinctlabs/sp1/pull/12)) +- (feat) CPU Table ([#11](https://github.com/succinctlabs/sp1/pull/11)) +- tests for all ALU instructions +- tests for all ALU instructions +- tests for all ALU instructions +- tests for all ALU instructions +- resolve merge conflicts +- resolve merge conflicts +- resolve merge conflicts +- resolve merge conflicts +- interpreter +- interpreter +- runtime v.0.0.1 +- wip +- initial rought +- Initial commit diff --git a/core/Cargo.toml b/core/Cargo.toml index 3baa2d9801..f505846aa7 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sp1-core" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../README.md" diff --git a/derive/Cargo.toml b/derive/Cargo.toml index b154acb987..67e9c903ae 100644 --- a/derive/Cargo.toml +++ b/derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sp1-derive" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../README.md" diff --git a/eval/Cargo.toml b/eval/Cargo.toml index 911cc33696..8782cba4a0 100644 --- a/eval/Cargo.toml +++ b/eval/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sp1-eval" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/aggregation/program/Cargo.toml b/examples/aggregation/program/Cargo.toml index 9ff5354695..8b5c1e45d5 100644 --- a/examples/aggregation/program/Cargo.toml +++ b/examples/aggregation/program/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "aggregation-program" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/aggregation/script/Cargo.toml b/examples/aggregation/script/Cargo.toml index 776845ec34..6341f0544b 100644 --- a/examples/aggregation/script/Cargo.toml +++ b/examples/aggregation/script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aggregation-script" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/chess/program/Cargo.toml b/examples/chess/program/Cargo.toml index 8238242ea6..3752d3a673 100644 --- a/examples/chess/program/Cargo.toml +++ b/examples/chess/program/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "chess-program" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/chess/script/Cargo.toml b/examples/chess/script/Cargo.toml index 9f899b563d..5a22a73386 100644 --- a/examples/chess/script/Cargo.toml +++ b/examples/chess/script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chess-script" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/cycle-tracking/program/Cargo.toml b/examples/cycle-tracking/program/Cargo.toml index d34a578a42..02327bf27a 100644 --- a/examples/cycle-tracking/program/Cargo.toml +++ b/examples/cycle-tracking/program/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "cycle-tracking-program" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/cycle-tracking/script/Cargo.toml b/examples/cycle-tracking/script/Cargo.toml index 887a3b4638..19c8fb58ad 100644 --- a/examples/cycle-tracking/script/Cargo.toml +++ b/examples/cycle-tracking/script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cycle-tracking-script" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/fibonacci/program/Cargo.toml b/examples/fibonacci/program/Cargo.toml index cba12659e3..aeab91d647 100644 --- a/examples/fibonacci/program/Cargo.toml +++ b/examples/fibonacci/program/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "fibonacci-program" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/fibonacci/script/Cargo.toml b/examples/fibonacci/script/Cargo.toml index b61af603d5..e20b73fa26 100644 --- a/examples/fibonacci/script/Cargo.toml +++ b/examples/fibonacci/script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fibonacci-script" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" default-run = "fibonacci-script" publish = false diff --git a/examples/io/program/Cargo.toml b/examples/io/program/Cargo.toml index 5798a18206..38b43430c3 100644 --- a/examples/io/program/Cargo.toml +++ b/examples/io/program/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "io-program" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/io/script/Cargo.toml b/examples/io/script/Cargo.toml index e28a1255c0..413017c7c3 100644 --- a/examples/io/script/Cargo.toml +++ b/examples/io/script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "io-script" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/is-prime/program/Cargo.toml b/examples/is-prime/program/Cargo.toml index 4bbdeb819d..3398df94fc 100644 --- a/examples/is-prime/program/Cargo.toml +++ b/examples/is-prime/program/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "is-prime-program" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/is-prime/script/Cargo.toml b/examples/is-prime/script/Cargo.toml index c803be5b20..efbda83301 100644 --- a/examples/is-prime/script/Cargo.toml +++ b/examples/is-prime/script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "is-prime-script" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/json/lib/Cargo.toml b/examples/json/lib/Cargo.toml index bbbcb744e4..0cb414e007 100644 --- a/examples/json/lib/Cargo.toml +++ b/examples/json/lib/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lib" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/json/program/Cargo.toml b/examples/json/program/Cargo.toml index 748f8b77a2..5374090cfc 100644 --- a/examples/json/program/Cargo.toml +++ b/examples/json/program/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "json-program" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/json/script/Cargo.toml b/examples/json/script/Cargo.toml index fc13ca4172..1a671a77cf 100644 --- a/examples/json/script/Cargo.toml +++ b/examples/json/script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "json-script" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/patch-testing/program/Cargo.toml b/examples/patch-testing/program/Cargo.toml index 64a16822ff..837b4ffc75 100644 --- a/examples/patch-testing/program/Cargo.toml +++ b/examples/patch-testing/program/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "patch-testing-program" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/patch-testing/script/Cargo.toml b/examples/patch-testing/script/Cargo.toml index 8ec909b508..63ed7470fb 100644 --- a/examples/patch-testing/script/Cargo.toml +++ b/examples/patch-testing/script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "patch-testing-script" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/regex/program/Cargo.toml b/examples/regex/program/Cargo.toml index b75a200767..21fc9f34ec 100644 --- a/examples/regex/program/Cargo.toml +++ b/examples/regex/program/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "regex-program" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/regex/script/Cargo.toml b/examples/regex/script/Cargo.toml index 46a5a4ec24..e565df8ac4 100644 --- a/examples/regex/script/Cargo.toml +++ b/examples/regex/script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "regex-script" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/rsa/program/Cargo.toml b/examples/rsa/program/Cargo.toml index 2c1a301910..6d25fb2c1c 100644 --- a/examples/rsa/program/Cargo.toml +++ b/examples/rsa/program/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "rsa-program" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/rsa/script/Cargo.toml b/examples/rsa/script/Cargo.toml index 35fd6ffb8a..7711195e21 100644 --- a/examples/rsa/script/Cargo.toml +++ b/examples/rsa/script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rsa-script" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/ssz-withdrawals/program/Cargo.toml b/examples/ssz-withdrawals/program/Cargo.toml index aa0c7cc7c4..a140f17612 100644 --- a/examples/ssz-withdrawals/program/Cargo.toml +++ b/examples/ssz-withdrawals/program/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "ssz-withdrawals-program" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/ssz-withdrawals/script/Cargo.toml b/examples/ssz-withdrawals/script/Cargo.toml index ac2ffb72d0..a37db560ca 100644 --- a/examples/ssz-withdrawals/script/Cargo.toml +++ b/examples/ssz-withdrawals/script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ssz-withdrawals-script" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/tendermint/program/Cargo.toml b/examples/tendermint/program/Cargo.toml index aee32ba113..50f222c720 100644 --- a/examples/tendermint/program/Cargo.toml +++ b/examples/tendermint/program/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "tendermint-program" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/examples/tendermint/script/Cargo.toml b/examples/tendermint/script/Cargo.toml index ebe77d6aaf..d8359921d5 100644 --- a/examples/tendermint/script/Cargo.toml +++ b/examples/tendermint/script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tendermint-script" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/helper/Cargo.toml b/helper/Cargo.toml index 8d7753e5c4..3a2af659c2 100644 --- a/helper/Cargo.toml +++ b/helper/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sp1-helper" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../README.md" diff --git a/primitives/CHANGELOG.md b/primitives/CHANGELOG.md new file mode 100644 index 0000000000..1eefec6568 --- /dev/null +++ b/primitives/CHANGELOG.md @@ -0,0 +1,14 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.0.1-test](https://github.com/succinctlabs/sp1/compare/sp1-primitives-v0.0.0-test...sp1-primitives-v0.0.1-test) - 2024-07-11 + +### Other + +- update Cargo.toml dependencies diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index 32fcda18d8..1b4293a92f 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sp1-primitives" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../README.md" diff --git a/prover/CHANGELOG.md b/prover/CHANGELOG.md new file mode 100644 index 0000000000..ccc78ab938 --- /dev/null +++ b/prover/CHANGELOG.md @@ -0,0 +1,140 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.0.1-test](https://github.com/succinctlabs/sp1/compare/sp1-prover-v0.0.0-test...sp1-prover-v0.0.1-test) - 2024-07-11 + +### Added + +- publish sp1 to crates.io ([#1052](https://github.com/succinctlabs/sp1/pull/1052)) +- critical constraint changes ([#1046](https://github.com/succinctlabs/sp1/pull/1046)) +- suggest prover network if high cycles ([#1019](https://github.com/succinctlabs/sp1/pull/1019)) +- plonk circuit optimizations ([#972](https://github.com/succinctlabs/sp1/pull/972)) +- poseidon2 hash ([#885](https://github.com/succinctlabs/sp1/pull/885)) +- (breaking changes to SDK API) use builder pattern for SDK execute/prove/verify ([#940](https://github.com/succinctlabs/sp1/pull/940)) +- verify subproof in runtime ([#911](https://github.com/succinctlabs/sp1/pull/911)) +- _(sdk)_ add explorer link ([#858](https://github.com/succinctlabs/sp1/pull/858)) +- generic const expr ([#854](https://github.com/succinctlabs/sp1/pull/854)) +- execute() exposes ExecutionReport ([#847](https://github.com/succinctlabs/sp1/pull/847)) +- update contract artifacts ([#802](https://github.com/succinctlabs/sp1/pull/802)) +- sp1 core prover opts +- batch sized recursion ([#785](https://github.com/succinctlabs/sp1/pull/785)) +- plonk prover ([#795](https://github.com/succinctlabs/sp1/pull/795)) +- groth16 feature flag ([#782](https://github.com/succinctlabs/sp1/pull/782)) +- Implement `verify_groth16` & `prove_groth16` on `MockProver` ([#745](https://github.com/succinctlabs/sp1/pull/745)) +- add proof verification ([#729](https://github.com/succinctlabs/sp1/pull/729)) +- reduce network prover ([#687](https://github.com/succinctlabs/sp1/pull/687)) +- auto rebuild dev artifacts in sdk ([#726](https://github.com/succinctlabs/sp1/pull/726)) +- fix execution + proving errors ([#715](https://github.com/succinctlabs/sp1/pull/715)) +- update groth16 artifacts ([#711](https://github.com/succinctlabs/sp1/pull/711)) +- program refactor ([#651](https://github.com/succinctlabs/sp1/pull/651)) +- serial tests in prover crate ([#673](https://github.com/succinctlabs/sp1/pull/673)) +- e2e groth16 with contract verifier ([#671](https://github.com/succinctlabs/sp1/pull/671)) +- nextgen ci for sp1-prover ([#663](https://github.com/succinctlabs/sp1/pull/663)) +- Adding docs for new `ProverClient` and `groth16` and `compressed` mode ([#627](https://github.com/succinctlabs/sp1/pull/627)) +- add `groth16` verification to gnark server ([#631](https://github.com/succinctlabs/sp1/pull/631)) +- aggregation fixes ([#649](https://github.com/succinctlabs/sp1/pull/649)) +- improve circuit by 3-4x ([#648](https://github.com/succinctlabs/sp1/pull/648)) +- regularize proof shape ([#641](https://github.com/succinctlabs/sp1/pull/641)) +- _(sdk)_ auto setup circuit ([#635](https://github.com/succinctlabs/sp1/pull/635)) +- prover tweaks pt4 ([#632](https://github.com/succinctlabs/sp1/pull/632)) +- groth16 server ([#594](https://github.com/succinctlabs/sp1/pull/594)) +- arbitrary degree in recursion ([#605](https://github.com/succinctlabs/sp1/pull/605)) +- prover tweaks ([#603](https://github.com/succinctlabs/sp1/pull/603)) +- recursion compress layer + RecursionAirWideDeg3 + RecursionAirSkinnyDeg7 + optimized groth16 ([#590](https://github.com/succinctlabs/sp1/pull/590)) +- plonk e2e prover ([#582](https://github.com/succinctlabs/sp1/pull/582)) +- complete reduce program ([#565](https://github.com/succinctlabs/sp1/pull/565)) +- public inputs in gnark circuit ([#576](https://github.com/succinctlabs/sp1/pull/576)) +- e2e groth16 flow ([#549](https://github.com/succinctlabs/sp1/pull/549)) +- stark cleanup and verification ([#556](https://github.com/succinctlabs/sp1/pull/556)) +- recursion experiments ([#522](https://github.com/succinctlabs/sp1/pull/522)) +- groth16 circuit build script ([#541](https://github.com/succinctlabs/sp1/pull/541)) +- verify shard transitions + fixes ([#482](https://github.com/succinctlabs/sp1/pull/482)) +- nested sp1 proof verification ([#494](https://github.com/succinctlabs/sp1/pull/494)) +- verify pc and shard transition in recursive proofs ([#514](https://github.com/succinctlabs/sp1/pull/514)) +- recursion profiling ([#521](https://github.com/succinctlabs/sp1/pull/521)) +- gnark wrap test + cleanup ([#511](https://github.com/succinctlabs/sp1/pull/511)) +- 0 cycle input for recursion program ([#510](https://github.com/succinctlabs/sp1/pull/510)) +- reduce with different configs ([#508](https://github.com/succinctlabs/sp1/pull/508)) +- _(recursion)_ reduce N sp1/recursive proofs ([#503](https://github.com/succinctlabs/sp1/pull/503)) +- recursion optimizations + compiler cleanup ([#499](https://github.com/succinctlabs/sp1/pull/499)) +- recursion vm public values ([#495](https://github.com/succinctlabs/sp1/pull/495)) +- add support for witness in programs ([#476](https://github.com/succinctlabs/sp1/pull/476)) +- setup recursion prover crate ([#475](https://github.com/succinctlabs/sp1/pull/475)) +- new README img ([#226](https://github.com/succinctlabs/sp1/pull/226)) +- readme updates ([#205](https://github.com/succinctlabs/sp1/pull/205)) +- more final touches ([#194](https://github.com/succinctlabs/sp1/pull/194)) +- curtaup + release system + cargo prove CLI updates ([#178](https://github.com/succinctlabs/sp1/pull/178)) +- (perf) updates from Plonky3 and verifier refactor ([#156](https://github.com/succinctlabs/sp1/pull/156)) +- developer experience improvements ([#145](https://github.com/succinctlabs/sp1/pull/145)) +- toolchain build from source & install ([#113](https://github.com/succinctlabs/sp1/pull/113)) +- io::read io::write ([#126](https://github.com/succinctlabs/sp1/pull/126)) +- tracing, profiling, benchmarking ([#99](https://github.com/succinctlabs/sp1/pull/99)) + +### Fixed + +- plonk feature off by default ([#852](https://github.com/succinctlabs/sp1/pull/852)) +- install for `verify_plonk_bn254` ([#798](https://github.com/succinctlabs/sp1/pull/798)) +- groth16 install when in existing runtime ([#735](https://github.com/succinctlabs/sp1/pull/735)) +- shutdown groth16 ([#667](https://github.com/succinctlabs/sp1/pull/667)) +- _(sdk)_ Small fix for getting vkey digest ([#665](https://github.com/succinctlabs/sp1/pull/665)) +- verify reduced proofs ([#655](https://github.com/succinctlabs/sp1/pull/655)) +- high degree constraints in recursion ([#619](https://github.com/succinctlabs/sp1/pull/619)) +- deferred proofs + cleanup hash_vkey ([#615](https://github.com/succinctlabs/sp1/pull/615)) +- groth16 prover issues ([#571](https://github.com/succinctlabs/sp1/pull/571)) +- observe only non-padded public values ([#523](https://github.com/succinctlabs/sp1/pull/523)) +- broken e2e recursion +- don't observe padded public values ([#520](https://github.com/succinctlabs/sp1/pull/520)) + +### Other + +- remove async crates `sp1-prover` ([#1042](https://github.com/succinctlabs/sp1/pull/1042)) +- Merge branch 'dev' into dependabot/cargo/dev/clap-4.5.8 +- _(deps)_ bump serde_json from 1.0.117 to 1.0.120 ([#1001](https://github.com/succinctlabs/sp1/pull/1001)) +- _(deps)_ bump num-bigint from 0.4.5 to 0.4.6 +- merge main -> dev ([#969](https://github.com/succinctlabs/sp1/pull/969)) +- cleanup compress ([#928](https://github.com/succinctlabs/sp1/pull/928)) +- v1.0.7-testnet ([#930](https://github.com/succinctlabs/sp1/pull/930)) +- Fixes from review. +- please clippy +- uncomment +- Merge branch 'dev' into erabinov/exp_rev_precompile +- Version of exp_rev_precompile +- _(deps)_ bump tokio from 1.37.0 to 1.38.0 +- update plonk artifacts ([#877](https://github.com/succinctlabs/sp1/pull/877)) +- fixes ([#821](https://github.com/succinctlabs/sp1/pull/821)) +- bump plonk artifacts ([#864](https://github.com/succinctlabs/sp1/pull/864)) +- `prove_plonk` ([#827](https://github.com/succinctlabs/sp1/pull/827)) +- hm +- remove unused deps ([#794](https://github.com/succinctlabs/sp1/pull/794)) +- Clean up TOML files ([#796](https://github.com/succinctlabs/sp1/pull/796)) +- SP1ProvingKey serde ([#772](https://github.com/succinctlabs/sp1/pull/772)) +- update groth16 build ([#758](https://github.com/succinctlabs/sp1/pull/758)) +- _(prover)_ expose functions for getting core/deferred inputs ([#755](https://github.com/succinctlabs/sp1/pull/755)) +- use actual ffi for gnark ([#738](https://github.com/succinctlabs/sp1/pull/738)) +- get_cycles don't need emit events ([#697](https://github.com/succinctlabs/sp1/pull/697)) +- update all dependencies ([#689](https://github.com/succinctlabs/sp1/pull/689)) +- _(recursion)_ poseidon2 loose ends ([#672](https://github.com/succinctlabs/sp1/pull/672)) +- gnark folder ([#677](https://github.com/succinctlabs/sp1/pull/677)) +- sdk tweaks ([#653](https://github.com/succinctlabs/sp1/pull/653)) +- sdk improvements ([#580](https://github.com/succinctlabs/sp1/pull/580)) +- prover tweaks ([#610](https://github.com/succinctlabs/sp1/pull/610)) +- `get_cycles` ([#595](https://github.com/succinctlabs/sp1/pull/595)) +- fixing dep tree for `prover`, `recursion`, `core` and `sdk` ([#545](https://github.com/succinctlabs/sp1/pull/545)) +- cleanup prover ([#551](https://github.com/succinctlabs/sp1/pull/551)) +- cleanup program + add missing constraints ([#547](https://github.com/succinctlabs/sp1/pull/547)) +- make ci faster ([#536](https://github.com/succinctlabs/sp1/pull/536)) +- _(recursion)_ reduce program ([#497](https://github.com/succinctlabs/sp1/pull/497)) +- final touches for public release ([#239](https://github.com/succinctlabs/sp1/pull/239)) +- update docs with slight nits ([#224](https://github.com/succinctlabs/sp1/pull/224)) +- sp1 rename ([#212](https://github.com/succinctlabs/sp1/pull/212)) +- enshrine AlignedBorrow macro ([#209](https://github.com/succinctlabs/sp1/pull/209)) +- readme cleanup ([#196](https://github.com/succinctlabs/sp1/pull/196)) +- rename succinct to curta ([#192](https://github.com/succinctlabs/sp1/pull/192)) +- better curta graphic ([#184](https://github.com/succinctlabs/sp1/pull/184)) +- Initial commit diff --git a/prover/Cargo.toml b/prover/Cargo.toml index 0199d5afae..4f825b1721 100644 --- a/prover/Cargo.toml +++ b/prover/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sp1-prover" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../README.md" diff --git a/recursion/circuit/CHANGELOG.md b/recursion/circuit/CHANGELOG.md new file mode 100644 index 0000000000..44a64d5249 --- /dev/null +++ b/recursion/circuit/CHANGELOG.md @@ -0,0 +1,98 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.0.1-test](https://github.com/succinctlabs/sp1/compare/sp1-recursion-circuit-v0.0.0-test...sp1-recursion-circuit-v0.0.1-test) - 2024-07-11 + +### Added + +- publish sp1 to crates.io ([#1052](https://github.com/succinctlabs/sp1/pull/1052)) +- critical constraint changes ([#1046](https://github.com/succinctlabs/sp1/pull/1046)) +- plonk circuit optimizations ([#972](https://github.com/succinctlabs/sp1/pull/972)) +- poseidon2 hash ([#885](https://github.com/succinctlabs/sp1/pull/885)) +- use docker by default for gnark ([#890](https://github.com/succinctlabs/sp1/pull/890)) +- sp1 core prover opts +- exit code ([#750](https://github.com/succinctlabs/sp1/pull/750)) +- program refactor ([#651](https://github.com/succinctlabs/sp1/pull/651)) +- e2e groth16 with contract verifier ([#671](https://github.com/succinctlabs/sp1/pull/671)) +- improve circuit by 3-4x ([#648](https://github.com/succinctlabs/sp1/pull/648)) +- regularize proof shape ([#641](https://github.com/succinctlabs/sp1/pull/641)) +- _(sdk)_ auto setup circuit ([#635](https://github.com/succinctlabs/sp1/pull/635)) +- arbitrary degree in recursion ([#605](https://github.com/succinctlabs/sp1/pull/605)) +- prover tweaks ([#603](https://github.com/succinctlabs/sp1/pull/603)) +- enable arbitrary constraint degree ([#593](https://github.com/succinctlabs/sp1/pull/593)) +- recursion compress layer + RecursionAirWideDeg3 + RecursionAirSkinnyDeg7 + optimized groth16 ([#590](https://github.com/succinctlabs/sp1/pull/590)) +- _(Recursion)_ evaluate constraints in a single expression ([#592](https://github.com/succinctlabs/sp1/pull/592)) +- expression caching ([#586](https://github.com/succinctlabs/sp1/pull/586)) +- plonk e2e prover ([#582](https://github.com/succinctlabs/sp1/pull/582)) +- public inputs in gnark circuit ([#576](https://github.com/succinctlabs/sp1/pull/576)) +- e2e groth16 flow ([#549](https://github.com/succinctlabs/sp1/pull/549)) +- stark cleanup and verification ([#556](https://github.com/succinctlabs/sp1/pull/556)) +- recursion experiments ([#522](https://github.com/succinctlabs/sp1/pull/522)) +- groth16 circuit build script ([#541](https://github.com/succinctlabs/sp1/pull/541)) +- verify shard transitions + fixes ([#482](https://github.com/succinctlabs/sp1/pull/482)) +- recursion profiling ([#521](https://github.com/succinctlabs/sp1/pull/521)) +- gnark wrap test + cleanup ([#511](https://github.com/succinctlabs/sp1/pull/511)) +- reduce with different configs ([#508](https://github.com/succinctlabs/sp1/pull/508)) +- groth16 recursion e2e ([#502](https://github.com/succinctlabs/sp1/pull/502)) +- logup batching ([#487](https://github.com/succinctlabs/sp1/pull/487)) +- recursion optimizations + compiler cleanup ([#499](https://github.com/succinctlabs/sp1/pull/499)) +- recursion vm public values ([#495](https://github.com/succinctlabs/sp1/pull/495)) +- cleanup compiler ir ([#496](https://github.com/succinctlabs/sp1/pull/496)) +- shard transition public values ([#466](https://github.com/succinctlabs/sp1/pull/466)) +- recursion permutation challenges as variables ([#486](https://github.com/succinctlabs/sp1/pull/486)) +- add support for witness in programs ([#476](https://github.com/succinctlabs/sp1/pull/476)) +- gnark recursive verifier ([#457](https://github.com/succinctlabs/sp1/pull/457)) +- Preprocessing + recursion ([#450](https://github.com/succinctlabs/sp1/pull/450)) +- working two adic pcs verifier in recursive zkvm ([#434](https://github.com/succinctlabs/sp1/pull/434)) +- new README img ([#226](https://github.com/succinctlabs/sp1/pull/226)) +- readme updates ([#205](https://github.com/succinctlabs/sp1/pull/205)) +- more final touches ([#194](https://github.com/succinctlabs/sp1/pull/194)) +- curtaup + release system + cargo prove CLI updates ([#178](https://github.com/succinctlabs/sp1/pull/178)) +- (perf) updates from Plonky3 and verifier refactor ([#156](https://github.com/succinctlabs/sp1/pull/156)) +- developer experience improvements ([#145](https://github.com/succinctlabs/sp1/pull/145)) +- toolchain build from source & install ([#113](https://github.com/succinctlabs/sp1/pull/113)) +- io::read io::write ([#126](https://github.com/succinctlabs/sp1/pull/126)) +- tracing, profiling, benchmarking ([#99](https://github.com/succinctlabs/sp1/pull/99)) + +### Fixed + +- fix overflow when compile to wasm32 ([#812](https://github.com/succinctlabs/sp1/pull/812)) +- p3 audit change ([#964](https://github.com/succinctlabs/sp1/pull/964)) +- _(recursion)_ assert curve bit length in circuit p2_hash ([#736](https://github.com/succinctlabs/sp1/pull/736)) +- fri fold mem access ([#660](https://github.com/succinctlabs/sp1/pull/660)) +- verify reduced proofs ([#655](https://github.com/succinctlabs/sp1/pull/655)) +- high degree constraints in recursion ([#619](https://github.com/succinctlabs/sp1/pull/619)) +- circuit sponge absorb rate ([#618](https://github.com/succinctlabs/sp1/pull/618)) +- groth16 prover issues ([#571](https://github.com/succinctlabs/sp1/pull/571)) +- observe only non-padded public values ([#523](https://github.com/succinctlabs/sp1/pull/523)) +- broken e2e recursion +- don't observe padded public values ([#520](https://github.com/succinctlabs/sp1/pull/520)) + +### Other + +- _(deps)_ bump serde from 1.0.203 to 1.0.204 ([#1063](https://github.com/succinctlabs/sp1/pull/1063)) +- _(deps)_ bump itertools from 0.12.1 to 0.13.0 ([#817](https://github.com/succinctlabs/sp1/pull/817)) +- circuit poseidon2 babybear ([#870](https://github.com/succinctlabs/sp1/pull/870)) +- remove unecessary todos in recursion +- permutation argument in circuit ([#804](https://github.com/succinctlabs/sp1/pull/804)) +- remove unecessary todo in bb31 to bn254 ([#805](https://github.com/succinctlabs/sp1/pull/805)) +- remove unecessary todo +- Clean up TOML files ([#796](https://github.com/succinctlabs/sp1/pull/796)) +- update all dependencies ([#689](https://github.com/succinctlabs/sp1/pull/689)) +- cleanup prover ([#551](https://github.com/succinctlabs/sp1/pull/551)) +- make ci faster ([#536](https://github.com/succinctlabs/sp1/pull/536)) +- cleanup for allen ([#518](https://github.com/succinctlabs/sp1/pull/518)) +- final touches for public release ([#239](https://github.com/succinctlabs/sp1/pull/239)) +- update docs with slight nits ([#224](https://github.com/succinctlabs/sp1/pull/224)) +- sp1 rename ([#212](https://github.com/succinctlabs/sp1/pull/212)) +- enshrine AlignedBorrow macro ([#209](https://github.com/succinctlabs/sp1/pull/209)) +- readme cleanup ([#196](https://github.com/succinctlabs/sp1/pull/196)) +- rename succinct to curta ([#192](https://github.com/succinctlabs/sp1/pull/192)) +- better curta graphic ([#184](https://github.com/succinctlabs/sp1/pull/184)) +- Initial commit diff --git a/recursion/circuit/Cargo.toml b/recursion/circuit/Cargo.toml index d8b5c8e83b..05973a810c 100644 --- a/recursion/circuit/Cargo.toml +++ b/recursion/circuit/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sp1-recursion-circuit" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../../README.md" diff --git a/recursion/compiler/CHANGELOG.md b/recursion/compiler/CHANGELOG.md new file mode 100644 index 0000000000..4280b1eb4e --- /dev/null +++ b/recursion/compiler/CHANGELOG.md @@ -0,0 +1,132 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.0.1-test](https://github.com/succinctlabs/sp1/compare/sp1-recursion-compiler-v0.0.0-test...sp1-recursion-compiler-v0.0.1-test) - 2024-07-11 + +### Added + +- publish sp1 to crates.io ([#1052](https://github.com/succinctlabs/sp1/pull/1052)) +- plonk circuit optimizations ([#972](https://github.com/succinctlabs/sp1/pull/972)) +- poseidon2 hash ([#885](https://github.com/succinctlabs/sp1/pull/885)) +- plonk prover ([#795](https://github.com/succinctlabs/sp1/pull/795)) +- _(recursion)_ public values constraints ([#748](https://github.com/succinctlabs/sp1/pull/748)) +- _(recursion)_ HALT instruction ([#703](https://github.com/succinctlabs/sp1/pull/703)) +- program refactor ([#651](https://github.com/succinctlabs/sp1/pull/651)) +- improve circuit by 3-4x ([#648](https://github.com/succinctlabs/sp1/pull/648)) +- regularize proof shape ([#641](https://github.com/succinctlabs/sp1/pull/641)) +- groth16 server ([#594](https://github.com/succinctlabs/sp1/pull/594)) +- prover tweaks pt 2 ([#607](https://github.com/succinctlabs/sp1/pull/607)) +- prover tweaks ([#603](https://github.com/succinctlabs/sp1/pull/603)) +- recursion compress layer + RecursionAirWideDeg3 + RecursionAirSkinnyDeg7 + optimized groth16 ([#590](https://github.com/succinctlabs/sp1/pull/590)) +- fixing memory interactions ([#587](https://github.com/succinctlabs/sp1/pull/587)) +- _(Recursion)_ evaluate constraints in a single expression ([#592](https://github.com/succinctlabs/sp1/pull/592)) +- expression caching ([#586](https://github.com/succinctlabs/sp1/pull/586)) +- complete reduce program ([#565](https://github.com/succinctlabs/sp1/pull/565)) +- public inputs in gnark circuit ([#576](https://github.com/succinctlabs/sp1/pull/576)) +- simplify compiler load/store ([#572](https://github.com/succinctlabs/sp1/pull/572)) +- e2e groth16 flow ([#549](https://github.com/succinctlabs/sp1/pull/549)) +- alu cpu columns ([#562](https://github.com/succinctlabs/sp1/pull/562)) +- recursion experiments ([#522](https://github.com/succinctlabs/sp1/pull/522)) +- fix cargo prove new issues ([#542](https://github.com/succinctlabs/sp1/pull/542)) +- nested sp1 proof verification ([#494](https://github.com/succinctlabs/sp1/pull/494)) +- verify pc and shard transition in recursive proofs ([#514](https://github.com/succinctlabs/sp1/pull/514)) +- recursion profiling ([#521](https://github.com/succinctlabs/sp1/pull/521)) +- 0 cycle input for recursion program ([#510](https://github.com/succinctlabs/sp1/pull/510)) +- reduce with different configs ([#508](https://github.com/succinctlabs/sp1/pull/508)) +- groth16 recursion e2e ([#502](https://github.com/succinctlabs/sp1/pull/502)) +- _(recursion)_ reduce N sp1/recursive proofs ([#503](https://github.com/succinctlabs/sp1/pull/503)) +- recursion optimizations + compiler cleanup ([#499](https://github.com/succinctlabs/sp1/pull/499)) +- recursion vm public values ([#495](https://github.com/succinctlabs/sp1/pull/495)) +- cleanup compiler ir ([#496](https://github.com/succinctlabs/sp1/pull/496)) +- add support for witness in programs ([#476](https://github.com/succinctlabs/sp1/pull/476)) +- fri-fold precompile ([#479](https://github.com/succinctlabs/sp1/pull/479)) +- gnark recursive verifier ([#457](https://github.com/succinctlabs/sp1/pull/457)) +- Preprocessing + recursion ([#450](https://github.com/succinctlabs/sp1/pull/450)) +- _(precompile)_ add bn254 precompile ([#384](https://github.com/succinctlabs/sp1/pull/384)) +- verify shard ([#444](https://github.com/succinctlabs/sp1/pull/444)) +- _(WIP)_ end-to-end verfier ([#439](https://github.com/succinctlabs/sp1/pull/439)) +- working two adic pcs verifier in recursive zkvm ([#434](https://github.com/succinctlabs/sp1/pull/434)) +- num2bits ([#426](https://github.com/succinctlabs/sp1/pull/426)) +- plonky3 update ([#428](https://github.com/succinctlabs/sp1/pull/428)) +- dsl derive macro + fri pow witness verify ([#422](https://github.com/succinctlabs/sp1/pull/422)) +- poseidon2 permute ([#423](https://github.com/succinctlabs/sp1/pull/423)) +- verify constraints ([#409](https://github.com/succinctlabs/sp1/pull/409)) +- continue work on fri verifier ([#411](https://github.com/succinctlabs/sp1/pull/411)) +- expression caching ([#407](https://github.com/succinctlabs/sp1/pull/407)) +- in progress fri verifier ([#402](https://github.com/succinctlabs/sp1/pull/402)) +- poseidon2 air ([#397](https://github.com/succinctlabs/sp1/pull/397)) +- update to the latest plonky3 version ([#398](https://github.com/succinctlabs/sp1/pull/398)) +- verify constraints in DSL + basic verifier setup ([#395](https://github.com/succinctlabs/sp1/pull/395)) +- arithmetic bug fix and add compiler to ci ([#394](https://github.com/succinctlabs/sp1/pull/394)) +- array and symbolic evaluation ([#390](https://github.com/succinctlabs/sp1/pull/390)) +- cleanup and array progress ([#387](https://github.com/succinctlabs/sp1/pull/387)) +- gnark if statements evaluation ([#386](https://github.com/succinctlabs/sp1/pull/386)) +- extension in vm backend ([#382](https://github.com/succinctlabs/sp1/pull/382)) +- gnark e2e build ([#381](https://github.com/succinctlabs/sp1/pull/381)) +- new ir ([#373](https://github.com/succinctlabs/sp1/pull/373)) +- builder control flow ([#360](https://github.com/succinctlabs/sp1/pull/360)) +- recursive DSL initial commit ([#357](https://github.com/succinctlabs/sp1/pull/357)) +- new README img ([#226](https://github.com/succinctlabs/sp1/pull/226)) +- readme updates ([#205](https://github.com/succinctlabs/sp1/pull/205)) +- more final touches ([#194](https://github.com/succinctlabs/sp1/pull/194)) +- curtaup + release system + cargo prove CLI updates ([#178](https://github.com/succinctlabs/sp1/pull/178)) +- (perf) updates from Plonky3 and verifier refactor ([#156](https://github.com/succinctlabs/sp1/pull/156)) +- developer experience improvements ([#145](https://github.com/succinctlabs/sp1/pull/145)) +- toolchain build from source & install ([#113](https://github.com/succinctlabs/sp1/pull/113)) +- io::read io::write ([#126](https://github.com/succinctlabs/sp1/pull/126)) +- tracing, profiling, benchmarking ([#99](https://github.com/succinctlabs/sp1/pull/99)) + +### Fixed + +- range check for shard number in recursion ([#952](https://github.com/succinctlabs/sp1/pull/952)) +- memory finalize duplicate address attack from audit ([#934](https://github.com/succinctlabs/sp1/pull/934)) +- _(recursion)_ num2bits fixes ([#732](https://github.com/succinctlabs/sp1/pull/732)) +- verify reduced proofs ([#655](https://github.com/succinctlabs/sp1/pull/655)) +- better groth16 file handling ([#620](https://github.com/succinctlabs/sp1/pull/620)) +- deferred proofs + cleanup hash_vkey ([#615](https://github.com/succinctlabs/sp1/pull/615)) +- run make on Groth16Prover::test ([#577](https://github.com/succinctlabs/sp1/pull/577)) +- groth16 prover issues ([#571](https://github.com/succinctlabs/sp1/pull/571)) +- don't observe padded public values ([#520](https://github.com/succinctlabs/sp1/pull/520)) +- two adic pcs issue when verifying tables of different heights ([#442](https://github.com/succinctlabs/sp1/pull/442)) +- compiler conditionals + working challenger ([#430](https://github.com/succinctlabs/sp1/pull/430)) +- random ci failure ([#415](https://github.com/succinctlabs/sp1/pull/415)) +- caching conflicts ([#413](https://github.com/succinctlabs/sp1/pull/413)) +- clippy ([#366](https://github.com/succinctlabs/sp1/pull/366)) + +### Other + +- _(deps)_ bump serde from 1.0.203 to 1.0.204 ([#1063](https://github.com/succinctlabs/sp1/pull/1063)) +- Fixes from review. +- Update recursion/compiler/src/ir/utils.rs +- please clippy +- Merge branch 'dev' into erabinov/exp_rev_precompile +- Version of exp_rev_precompile +- circuit poseidon2 babybear ([#870](https://github.com/succinctlabs/sp1/pull/870)) +- fixes ([#821](https://github.com/succinctlabs/sp1/pull/821)) +- remove unecessary todos in recursion +- Make some functions const ([#774](https://github.com/succinctlabs/sp1/pull/774)) +- remove unused deps ([#794](https://github.com/succinctlabs/sp1/pull/794)) +- Clean up TOML files ([#796](https://github.com/succinctlabs/sp1/pull/796)) +- _(recursion)_ document IR ([#737](https://github.com/succinctlabs/sp1/pull/737)) +- _(recursion)_ explicitly don't allow witness and public values related apis in sub-builder ([#744](https://github.com/succinctlabs/sp1/pull/744)) +- _(recursion)_ heap ptr checks ([#775](https://github.com/succinctlabs/sp1/pull/775)) +- _(recursion)_ convert ext2felt to hint ([#771](https://github.com/succinctlabs/sp1/pull/771)) +- update all dependencies ([#689](https://github.com/succinctlabs/sp1/pull/689)) +- make ci faster ([#536](https://github.com/succinctlabs/sp1/pull/536)) +- cleanup for allen ([#518](https://github.com/succinctlabs/sp1/pull/518)) +- _(recursion)_ reduce program ([#497](https://github.com/succinctlabs/sp1/pull/497)) +- for loop optimizations +- final touches for public release ([#239](https://github.com/succinctlabs/sp1/pull/239)) +- update docs with slight nits ([#224](https://github.com/succinctlabs/sp1/pull/224)) +- sp1 rename ([#212](https://github.com/succinctlabs/sp1/pull/212)) +- enshrine AlignedBorrow macro ([#209](https://github.com/succinctlabs/sp1/pull/209)) +- readme cleanup ([#196](https://github.com/succinctlabs/sp1/pull/196)) +- rename succinct to curta ([#192](https://github.com/succinctlabs/sp1/pull/192)) +- better curta graphic ([#184](https://github.com/succinctlabs/sp1/pull/184)) +- Initial commit diff --git a/recursion/compiler/Cargo.toml b/recursion/compiler/Cargo.toml index ce684cea3a..38e7dc1b02 100644 --- a/recursion/compiler/Cargo.toml +++ b/recursion/compiler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sp1-recursion-compiler" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../../README.md" diff --git a/recursion/core/CHANGELOG.md b/recursion/core/CHANGELOG.md new file mode 100644 index 0000000000..a837a8d163 --- /dev/null +++ b/recursion/core/CHANGELOG.md @@ -0,0 +1,173 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.0.1-test](https://github.com/succinctlabs/sp1/compare/sp1-recursion-core-v0.0.0-test...sp1-recursion-core-v0.0.1-test) - 2024-07-11 + +### Added + +- publish sp1 to crates.io ([#1052](https://github.com/succinctlabs/sp1/pull/1052)) +- critical constraint changes ([#1046](https://github.com/succinctlabs/sp1/pull/1046)) +- plonk circuit optimizations ([#972](https://github.com/succinctlabs/sp1/pull/972)) +- poseidon2 hash ([#885](https://github.com/succinctlabs/sp1/pull/885)) +- optimize cpu tracegen ([#949](https://github.com/succinctlabs/sp1/pull/949)) +- shrink/wrap multi opt +- generic const expr ([#854](https://github.com/succinctlabs/sp1/pull/854)) +- plonk prover ([#795](https://github.com/succinctlabs/sp1/pull/795)) +- exit code ([#750](https://github.com/succinctlabs/sp1/pull/750)) +- _(recursion)_ public values constraints ([#748](https://github.com/succinctlabs/sp1/pull/748)) +- _(recursion)_ HALT instruction ([#703](https://github.com/succinctlabs/sp1/pull/703)) +- program refactor ([#651](https://github.com/succinctlabs/sp1/pull/651)) +- e2e groth16 with contract verifier ([#671](https://github.com/succinctlabs/sp1/pull/671)) +- nextgen ci for sp1-prover ([#663](https://github.com/succinctlabs/sp1/pull/663)) +- _(recursion)_ Add interactions to poseidon2 skinny ([#658](https://github.com/succinctlabs/sp1/pull/658)) +- Adding docs for new `ProverClient` and `groth16` and `compressed` mode ([#627](https://github.com/succinctlabs/sp1/pull/627)) +- aggregation fixes ([#649](https://github.com/succinctlabs/sp1/pull/649)) +- improve circuit by 3-4x ([#648](https://github.com/succinctlabs/sp1/pull/648)) +- _(recursion)_ poseidon2 max constraint degree const generic ([#634](https://github.com/succinctlabs/sp1/pull/634)) +- regularize proof shape ([#641](https://github.com/succinctlabs/sp1/pull/641)) +- prover tweaks pt4 ([#632](https://github.com/succinctlabs/sp1/pull/632)) +- _(recursion)_ jump instruction constraints ([#617](https://github.com/succinctlabs/sp1/pull/617)) +- _(recursion)_ cpu branch constraints ([#578](https://github.com/succinctlabs/sp1/pull/578)) +- prover tweaks pt 2 ([#607](https://github.com/succinctlabs/sp1/pull/607)) +- prover tweaks ([#603](https://github.com/succinctlabs/sp1/pull/603)) +- _(recursion)_ memory access timestamp constraints ([#589](https://github.com/succinctlabs/sp1/pull/589)) +- enable arbitrary constraint degree ([#593](https://github.com/succinctlabs/sp1/pull/593)) +- recursion compress layer + RecursionAirWideDeg3 + RecursionAirSkinnyDeg7 + optimized groth16 ([#590](https://github.com/succinctlabs/sp1/pull/590)) +- fixing memory interactions ([#587](https://github.com/succinctlabs/sp1/pull/587)) +- _(recursion)_ memory builder + fri-fold precompile ([#581](https://github.com/succinctlabs/sp1/pull/581)) +- complete reduce program ([#565](https://github.com/succinctlabs/sp1/pull/565)) +- public inputs in gnark circuit ([#576](https://github.com/succinctlabs/sp1/pull/576)) +- _(recursion)_ cpu alu constraints ([#570](https://github.com/succinctlabs/sp1/pull/570)) +- _(recursion)_ recursion air builder ([#574](https://github.com/succinctlabs/sp1/pull/574)) +- simplify compiler load/store ([#572](https://github.com/succinctlabs/sp1/pull/572)) +- alu cpu columns ([#562](https://github.com/succinctlabs/sp1/pull/562)) +- recursion experiments ([#522](https://github.com/succinctlabs/sp1/pull/522)) +- _(recursion)_ impl `Poseidon2WideChip` ([#537](https://github.com/succinctlabs/sp1/pull/537)) +- groth16 circuit build script ([#541](https://github.com/succinctlabs/sp1/pull/541)) +- verify shard transitions + fixes ([#482](https://github.com/succinctlabs/sp1/pull/482)) +- preprocess memory program chip ([#480](https://github.com/succinctlabs/sp1/pull/480)) +- nested sp1 proof verification ([#494](https://github.com/succinctlabs/sp1/pull/494)) +- verify pc and shard transition in recursive proofs ([#514](https://github.com/succinctlabs/sp1/pull/514)) +- recursion profiling ([#521](https://github.com/succinctlabs/sp1/pull/521)) +- update to latest p3 ([#515](https://github.com/succinctlabs/sp1/pull/515)) +- gnark wrap test + cleanup ([#511](https://github.com/succinctlabs/sp1/pull/511)) +- reduce with different configs ([#508](https://github.com/succinctlabs/sp1/pull/508)) +- groth16 recursion e2e ([#502](https://github.com/succinctlabs/sp1/pull/502)) +- recursion optimizations + compiler cleanup ([#499](https://github.com/succinctlabs/sp1/pull/499)) +- recursion vm public values ([#495](https://github.com/succinctlabs/sp1/pull/495)) +- shard transition public values ([#466](https://github.com/succinctlabs/sp1/pull/466)) +- add support for witness in programs ([#476](https://github.com/succinctlabs/sp1/pull/476)) +- fri-fold precompile ([#479](https://github.com/succinctlabs/sp1/pull/479)) +- setup recursion prover crate ([#475](https://github.com/succinctlabs/sp1/pull/475)) +- gnark recursive verifier ([#457](https://github.com/succinctlabs/sp1/pull/457)) +- recursion cpu constraints ([#464](https://github.com/succinctlabs/sp1/pull/464)) +- public values ([#455](https://github.com/succinctlabs/sp1/pull/455)) +- Preprocessing + recursion ([#450](https://github.com/succinctlabs/sp1/pull/450)) +- _(precompile)_ add bn254 precompile ([#384](https://github.com/succinctlabs/sp1/pull/384)) +- verify shard ([#444](https://github.com/succinctlabs/sp1/pull/444)) +- _(WIP)_ end-to-end verfier ([#439](https://github.com/succinctlabs/sp1/pull/439)) +- working two adic pcs verifier in recursive zkvm ([#434](https://github.com/succinctlabs/sp1/pull/434)) +- num2bits ([#426](https://github.com/succinctlabs/sp1/pull/426)) +- poseidon2 permute ([#423](https://github.com/succinctlabs/sp1/pull/423)) +- verify constraints ([#409](https://github.com/succinctlabs/sp1/pull/409)) +- poseidon2 air ([#397](https://github.com/succinctlabs/sp1/pull/397)) +- checkpoint runtime for constant memory usage ([#389](https://github.com/succinctlabs/sp1/pull/389)) +- update to the latest plonky3 version ([#398](https://github.com/succinctlabs/sp1/pull/398)) +- array and symbolic evaluation ([#390](https://github.com/succinctlabs/sp1/pull/390)) +- extension in vm backend ([#382](https://github.com/succinctlabs/sp1/pull/382)) +- new ir ([#373](https://github.com/succinctlabs/sp1/pull/373)) +- core recursion air constraints ([#359](https://github.com/succinctlabs/sp1/pull/359)) +- recursive DSL initial commit ([#357](https://github.com/succinctlabs/sp1/pull/357)) +- recursion program table + memory tracing ([#356](https://github.com/succinctlabs/sp1/pull/356)) +- initial recursion core ([#354](https://github.com/succinctlabs/sp1/pull/354)) +- new README img ([#226](https://github.com/succinctlabs/sp1/pull/226)) +- readme updates ([#205](https://github.com/succinctlabs/sp1/pull/205)) +- more final touches ([#194](https://github.com/succinctlabs/sp1/pull/194)) +- curtaup + release system + cargo prove CLI updates ([#178](https://github.com/succinctlabs/sp1/pull/178)) +- (perf) updates from Plonky3 and verifier refactor ([#156](https://github.com/succinctlabs/sp1/pull/156)) +- developer experience improvements ([#145](https://github.com/succinctlabs/sp1/pull/145)) +- toolchain build from source & install ([#113](https://github.com/succinctlabs/sp1/pull/113)) +- io::read io::write ([#126](https://github.com/succinctlabs/sp1/pull/126)) +- tracing, profiling, benchmarking ([#99](https://github.com/succinctlabs/sp1/pull/99)) + +### Fixed + +- multi-builder first/last row issue ([#997](https://github.com/succinctlabs/sp1/pull/997)) +- recursion runtime +- changed fixed size for multi table ([#966](https://github.com/succinctlabs/sp1/pull/966)) +- frifold flag column consistency ([#946](https://github.com/succinctlabs/sp1/pull/946)) +- recursion audit fixes for Issues 7-10 ([#937](https://github.com/succinctlabs/sp1/pull/937)) +- memory finalize duplicate address attack from audit ([#934](https://github.com/succinctlabs/sp1/pull/934)) +- fix things +- fix +- _(recursion)_ num2bits fixes ([#732](https://github.com/succinctlabs/sp1/pull/732)) +- _(recursion)_ poseidon2 external flag ([#747](https://github.com/succinctlabs/sp1/pull/747)) +- _(recursion)_ enable mul constraint ([#686](https://github.com/succinctlabs/sp1/pull/686)) +- fixes to the multi table ([#669](https://github.com/succinctlabs/sp1/pull/669)) +- fri fold mem access ([#660](https://github.com/succinctlabs/sp1/pull/660)) +- verify reduced proofs ([#655](https://github.com/succinctlabs/sp1/pull/655)) +- _(recursion)_ fixes for fri fold and poseidon2 ([#654](https://github.com/succinctlabs/sp1/pull/654)) +- high degree constraints in recursion ([#619](https://github.com/succinctlabs/sp1/pull/619)) +- circuit sponge absorb rate ([#618](https://github.com/succinctlabs/sp1/pull/618)) +- deferred proofs + cleanup hash_vkey ([#615](https://github.com/succinctlabs/sp1/pull/615)) +- comment out MUL constraints ([#602](https://github.com/succinctlabs/sp1/pull/602)) +- update Poseidon2 air to match plonky3 ([#600](https://github.com/succinctlabs/sp1/pull/600)) +- circuit verification ([#599](https://github.com/succinctlabs/sp1/pull/599)) +- poseidon2wide `is_real` ([#591](https://github.com/succinctlabs/sp1/pull/591)) +- _(recursion)_ poseidon2 chip matches plonky3 ([#548](https://github.com/succinctlabs/sp1/pull/548)) +- observe only non-padded public values ([#523](https://github.com/succinctlabs/sp1/pull/523)) +- few regression fixes ([#441](https://github.com/succinctlabs/sp1/pull/441)) +- ci ([#401](https://github.com/succinctlabs/sp1/pull/401)) + +### Other + +- _(deps)_ bump serde_with from 3.8.1 to 3.8.3 ([#1064](https://github.com/succinctlabs/sp1/pull/1064)) +- merge main -> dev ([#969](https://github.com/succinctlabs/sp1/pull/969)) +- format PR [#934](https://github.com/succinctlabs/sp1/pull/934) ([#939](https://github.com/succinctlabs/sp1/pull/939)) +- Refactored is_last and is_first columns; added constraint to make sure that the last real row has is_last on. +- all hail clippy +- Removed defunct test +- please clippy +- Merge branch 'dev' into erabinov/exp_rev_precompile +- Version of exp_rev_precompile +- hm +- remove test +- fixes ([#821](https://github.com/succinctlabs/sp1/pull/821)) +- change challenger rate from 16 to 8 ([#807](https://github.com/succinctlabs/sp1/pull/807)) +- clippy fixes +- remove unecessary todos in recursion +- Make some functions const ([#774](https://github.com/succinctlabs/sp1/pull/774)) +- Clean up TOML files ([#796](https://github.com/succinctlabs/sp1/pull/796)) +- _(recursion)_ heap ptr checks ([#775](https://github.com/succinctlabs/sp1/pull/775)) +- _(recursion)_ convert ext2felt to hint ([#771](https://github.com/succinctlabs/sp1/pull/771)) +- update all dependencies ([#689](https://github.com/succinctlabs/sp1/pull/689)) +- _(recursion)_ poseidon2 loose ends ([#672](https://github.com/succinctlabs/sp1/pull/672)) +- sdk tweaks ([#653](https://github.com/succinctlabs/sp1/pull/653)) +- _(recursion)_ consolidate initial and finalize memory tables ([#656](https://github.com/succinctlabs/sp1/pull/656)) +- _(recursion)_ cpu column chores ([#614](https://github.com/succinctlabs/sp1/pull/614)) +- _(recursion)_ re-organized cpu chip and trace ([#613](https://github.com/succinctlabs/sp1/pull/613)) +- poseidon2 config change ([#609](https://github.com/succinctlabs/sp1/pull/609)) +- cleanup prover ([#551](https://github.com/succinctlabs/sp1/pull/551)) +- cleanup program + add missing constraints ([#547](https://github.com/succinctlabs/sp1/pull/547)) +- make ci faster ([#536](https://github.com/succinctlabs/sp1/pull/536)) +- attach dummy wide poseidon2 ([#512](https://github.com/succinctlabs/sp1/pull/512)) +- add poseidon2 chip to recursionAIR ([#504](https://github.com/succinctlabs/sp1/pull/504)) +- _(recursion)_ reduce program ([#497](https://github.com/succinctlabs/sp1/pull/497)) +- for loop optimizations +- update to latest plonky3 main ([#491](https://github.com/succinctlabs/sp1/pull/491)) +- sunday cleanup ([#363](https://github.com/succinctlabs/sp1/pull/363)) +- recursion core cleanup ([#355](https://github.com/succinctlabs/sp1/pull/355)) +- final touches for public release ([#239](https://github.com/succinctlabs/sp1/pull/239)) +- update docs with slight nits ([#224](https://github.com/succinctlabs/sp1/pull/224)) +- sp1 rename ([#212](https://github.com/succinctlabs/sp1/pull/212)) +- enshrine AlignedBorrow macro ([#209](https://github.com/succinctlabs/sp1/pull/209)) +- readme cleanup ([#196](https://github.com/succinctlabs/sp1/pull/196)) +- rename succinct to curta ([#192](https://github.com/succinctlabs/sp1/pull/192)) +- better curta graphic ([#184](https://github.com/succinctlabs/sp1/pull/184)) +- Initial commit diff --git a/recursion/core/Cargo.toml b/recursion/core/Cargo.toml index 0cd345786a..5ac02c8948 100644 --- a/recursion/core/Cargo.toml +++ b/recursion/core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sp1-recursion-core" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../../README.md" diff --git a/recursion/derive/Cargo.toml b/recursion/derive/Cargo.toml index d824b7d37a..fa6ae47f8e 100644 --- a/recursion/derive/Cargo.toml +++ b/recursion/derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sp1-recursion-derive" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../../README.md" diff --git a/recursion/gnark-cli/Cargo.toml b/recursion/gnark-cli/Cargo.toml index 940615d58c..626d3d9ac9 100644 --- a/recursion/gnark-cli/Cargo.toml +++ b/recursion/gnark-cli/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "sp1-recursion-gnark-cli" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../../README.md" diff --git a/recursion/gnark-ffi/CHANGELOG.md b/recursion/gnark-ffi/CHANGELOG.md new file mode 100644 index 0000000000..8d1b704b41 --- /dev/null +++ b/recursion/gnark-ffi/CHANGELOG.md @@ -0,0 +1,82 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.0.1-test](https://github.com/succinctlabs/sp1/compare/sp1-recursion-gnark-ffi-v0.0.0-test...sp1-recursion-gnark-ffi-v0.0.1-test) - 2024-07-11 + +### Added + +- publish sp1 to crates.io ([#1052](https://github.com/succinctlabs/sp1/pull/1052)) +- update verifier contract templates ([#963](https://github.com/succinctlabs/sp1/pull/963)) +- circuit version in proof ([#926](https://github.com/succinctlabs/sp1/pull/926)) +- sp1 circuit version ([#899](https://github.com/succinctlabs/sp1/pull/899)) +- use docker by default for gnark ([#890](https://github.com/succinctlabs/sp1/pull/890)) +- _(sdk)_ add explorer link ([#858](https://github.com/succinctlabs/sp1/pull/858)) +- update contract artifacts ([#802](https://github.com/succinctlabs/sp1/pull/802)) +- plonk prover ([#795](https://github.com/succinctlabs/sp1/pull/795)) +- groth16 feature flag ([#782](https://github.com/succinctlabs/sp1/pull/782)) +- add proof verification ([#729](https://github.com/succinctlabs/sp1/pull/729)) +- e2e groth16 with contract verifier ([#671](https://github.com/succinctlabs/sp1/pull/671)) +- add `groth16` verification to gnark server ([#631](https://github.com/succinctlabs/sp1/pull/631)) +- load circuit artifacts in faster ([#638](https://github.com/succinctlabs/sp1/pull/638)) +- regularize proof shape ([#641](https://github.com/succinctlabs/sp1/pull/641)) +- _(sdk)_ auto setup circuit ([#635](https://github.com/succinctlabs/sp1/pull/635)) +- canonicalize build dir paths ([#637](https://github.com/succinctlabs/sp1/pull/637)) +- groth16 server ([#594](https://github.com/succinctlabs/sp1/pull/594)) +- recursion compress layer + RecursionAirWideDeg3 + RecursionAirSkinnyDeg7 + optimized groth16 ([#590](https://github.com/succinctlabs/sp1/pull/590)) +- plonk e2e prover ([#582](https://github.com/succinctlabs/sp1/pull/582)) +- new README img ([#226](https://github.com/succinctlabs/sp1/pull/226)) +- readme updates ([#205](https://github.com/succinctlabs/sp1/pull/205)) +- more final touches ([#194](https://github.com/succinctlabs/sp1/pull/194)) +- curtaup + release system + cargo prove CLI updates ([#178](https://github.com/succinctlabs/sp1/pull/178)) +- (perf) updates from Plonky3 and verifier refactor ([#156](https://github.com/succinctlabs/sp1/pull/156)) +- developer experience improvements ([#145](https://github.com/succinctlabs/sp1/pull/145)) +- toolchain build from source & install ([#113](https://github.com/succinctlabs/sp1/pull/113)) +- io::read io::write ([#126](https://github.com/succinctlabs/sp1/pull/126)) +- tracing, profiling, benchmarking ([#99](https://github.com/succinctlabs/sp1/pull/99)) + +### Fixed + +- _(contracts)_ check verifier success ([#983](https://github.com/succinctlabs/sp1/pull/983)) +- close unclosed file streams ([#954](https://github.com/succinctlabs/sp1/pull/954)) +- some informational fixes from veridise audit ([#953](https://github.com/succinctlabs/sp1/pull/953)) +- mock verifier ([#936](https://github.com/succinctlabs/sp1/pull/936)) +- reduce minimum Solidity version for SP1 contracts ([#921](https://github.com/succinctlabs/sp1/pull/921)) +- plonk feature off by default ([#852](https://github.com/succinctlabs/sp1/pull/852)) +- gnark-ffi linking on mac +- solidity verifier +- shutdown groth16 ([#667](https://github.com/succinctlabs/sp1/pull/667)) +- better groth16 file handling ([#620](https://github.com/succinctlabs/sp1/pull/620)) + +### Other + +- _(deps)_ bump serde from 1.0.203 to 1.0.204 ([#1063](https://github.com/succinctlabs/sp1/pull/1063)) +- _(contracts)_ remove mock verifier and interface autogen ([#1045](https://github.com/succinctlabs/sp1/pull/1045)) +- Merge branch 'dev' into dependabot/cargo/dev/log-0.4.22 +- _(deps)_ bump serde_json from 1.0.117 to 1.0.120 ([#1001](https://github.com/succinctlabs/sp1/pull/1001)) +- _(deps)_ bump num-bigint from 0.4.5 to 0.4.6 +- circuit poseidon2 babybear ([#870](https://github.com/succinctlabs/sp1/pull/870)) +- docs +- lint +- encode proof solidity +- `prove_plonk` ([#827](https://github.com/succinctlabs/sp1/pull/827)) +- Make some functions const ([#774](https://github.com/succinctlabs/sp1/pull/774)) +- remove unused deps ([#794](https://github.com/succinctlabs/sp1/pull/794)) +- use actual ffi for gnark ([#738](https://github.com/succinctlabs/sp1/pull/738)) +- update all dependencies ([#689](https://github.com/succinctlabs/sp1/pull/689)) +- gnark folder ([#677](https://github.com/succinctlabs/sp1/pull/677)) +- Implement `Prover` on `MockProver` ([#629](https://github.com/succinctlabs/sp1/pull/629)) +- prover tweaks ([#610](https://github.com/succinctlabs/sp1/pull/610)) +- final touches for public release ([#239](https://github.com/succinctlabs/sp1/pull/239)) +- update docs with slight nits ([#224](https://github.com/succinctlabs/sp1/pull/224)) +- sp1 rename ([#212](https://github.com/succinctlabs/sp1/pull/212)) +- enshrine AlignedBorrow macro ([#209](https://github.com/succinctlabs/sp1/pull/209)) +- readme cleanup ([#196](https://github.com/succinctlabs/sp1/pull/196)) +- rename succinct to curta ([#192](https://github.com/succinctlabs/sp1/pull/192)) +- better curta graphic ([#184](https://github.com/succinctlabs/sp1/pull/184)) +- Initial commit diff --git a/recursion/gnark-ffi/Cargo.toml b/recursion/gnark-ffi/Cargo.toml index 0d28b37f7e..19f9c15986 100644 --- a/recursion/gnark-ffi/Cargo.toml +++ b/recursion/gnark-ffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sp1-recursion-gnark-ffi" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../../README.md" diff --git a/recursion/program/CHANGELOG.md b/recursion/program/CHANGELOG.md new file mode 100644 index 0000000000..233896d747 --- /dev/null +++ b/recursion/program/CHANGELOG.md @@ -0,0 +1,136 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.0.1-test](https://github.com/succinctlabs/sp1/compare/sp1-recursion-program-v0.0.0-test...sp1-recursion-program-v0.0.1-test) - 2024-07-11 + +### Added + +- publish sp1 to crates.io ([#1052](https://github.com/succinctlabs/sp1/pull/1052)) +- critical constraint changes ([#1046](https://github.com/succinctlabs/sp1/pull/1046)) +- suggest prover network if high cycles ([#1019](https://github.com/succinctlabs/sp1/pull/1019)) +- plonk circuit optimizations ([#972](https://github.com/succinctlabs/sp1/pull/972)) +- poseidon2 hash ([#885](https://github.com/succinctlabs/sp1/pull/885)) +- generic const expr ([#854](https://github.com/succinctlabs/sp1/pull/854)) +- sp1 core prover opts +- exit code ([#750](https://github.com/succinctlabs/sp1/pull/750)) +- _(recursion)_ public values constraints ([#748](https://github.com/succinctlabs/sp1/pull/748)) +- reduce network prover ([#687](https://github.com/succinctlabs/sp1/pull/687)) +- fix execution + proving errors ([#715](https://github.com/succinctlabs/sp1/pull/715)) +- _(recursion)_ HALT instruction ([#703](https://github.com/succinctlabs/sp1/pull/703)) +- ci refactor ([#684](https://github.com/succinctlabs/sp1/pull/684)) +- program refactor ([#651](https://github.com/succinctlabs/sp1/pull/651)) +- Adding docs for new `ProverClient` and `groth16` and `compressed` mode ([#627](https://github.com/succinctlabs/sp1/pull/627)) +- arbitrary degree in recursion ([#605](https://github.com/succinctlabs/sp1/pull/605)) +- prover tweaks pt 2 ([#607](https://github.com/succinctlabs/sp1/pull/607)) +- prover tweaks ([#603](https://github.com/succinctlabs/sp1/pull/603)) +- _(recursion)_ memory access timestamp constraints ([#589](https://github.com/succinctlabs/sp1/pull/589)) +- enable arbitrary constraint degree ([#593](https://github.com/succinctlabs/sp1/pull/593)) +- recursion compress layer + RecursionAirWideDeg3 + RecursionAirSkinnyDeg7 + optimized groth16 ([#590](https://github.com/succinctlabs/sp1/pull/590)) +- _(Recursion)_ evaluate constraints in a single expression ([#592](https://github.com/succinctlabs/sp1/pull/592)) +- expression caching ([#586](https://github.com/succinctlabs/sp1/pull/586)) +- complete reduce program ([#565](https://github.com/succinctlabs/sp1/pull/565)) +- e2e groth16 flow ([#549](https://github.com/succinctlabs/sp1/pull/549)) +- stark cleanup and verification ([#556](https://github.com/succinctlabs/sp1/pull/556)) +- recursion experiments ([#522](https://github.com/succinctlabs/sp1/pull/522)) +- groth16 circuit build script ([#541](https://github.com/succinctlabs/sp1/pull/541)) +- verify shard transitions + fixes ([#482](https://github.com/succinctlabs/sp1/pull/482)) +- nested sp1 proof verification ([#494](https://github.com/succinctlabs/sp1/pull/494)) +- verify pc and shard transition in recursive proofs ([#514](https://github.com/succinctlabs/sp1/pull/514)) +- recursion profiling ([#521](https://github.com/succinctlabs/sp1/pull/521)) +- update to latest p3 ([#515](https://github.com/succinctlabs/sp1/pull/515)) +- gnark wrap test + cleanup ([#511](https://github.com/succinctlabs/sp1/pull/511)) +- 0 cycle input for recursion program ([#510](https://github.com/succinctlabs/sp1/pull/510)) +- reduce with different configs ([#508](https://github.com/succinctlabs/sp1/pull/508)) +- sdk using secp256k1 auth ([#483](https://github.com/succinctlabs/sp1/pull/483)) +- logup batching ([#487](https://github.com/succinctlabs/sp1/pull/487)) +- _(recursion)_ reduce N sp1/recursive proofs ([#503](https://github.com/succinctlabs/sp1/pull/503)) +- recursion optimizations + compiler cleanup ([#499](https://github.com/succinctlabs/sp1/pull/499)) +- recursion vm public values ([#495](https://github.com/succinctlabs/sp1/pull/495)) +- cleanup compiler ir ([#496](https://github.com/succinctlabs/sp1/pull/496)) +- shard transition public values ([#466](https://github.com/succinctlabs/sp1/pull/466)) +- recursion permutation challenges as variables ([#486](https://github.com/succinctlabs/sp1/pull/486)) +- add support for witness in programs ([#476](https://github.com/succinctlabs/sp1/pull/476)) +- fri-fold precompile ([#479](https://github.com/succinctlabs/sp1/pull/479)) +- setup recursion prover crate ([#475](https://github.com/succinctlabs/sp1/pull/475)) +- gnark recursive verifier ([#457](https://github.com/succinctlabs/sp1/pull/457)) +- add shard to byte and program table ([#463](https://github.com/succinctlabs/sp1/pull/463)) +- recursion cpu constraints ([#464](https://github.com/succinctlabs/sp1/pull/464)) +- public values ([#455](https://github.com/succinctlabs/sp1/pull/455)) +- Preprocessing + recursion ([#450](https://github.com/succinctlabs/sp1/pull/450)) +- sp1-sdk, remote prover ([#370](https://github.com/succinctlabs/sp1/pull/370)) +- _(precompile)_ add bn254 precompile ([#384](https://github.com/succinctlabs/sp1/pull/384)) +- verify shard ([#444](https://github.com/succinctlabs/sp1/pull/444)) +- _(WIP)_ end-to-end verfier ([#439](https://github.com/succinctlabs/sp1/pull/439)) +- new README img ([#226](https://github.com/succinctlabs/sp1/pull/226)) +- readme updates ([#205](https://github.com/succinctlabs/sp1/pull/205)) +- more final touches ([#194](https://github.com/succinctlabs/sp1/pull/194)) +- curtaup + release system + cargo prove CLI updates ([#178](https://github.com/succinctlabs/sp1/pull/178)) +- (perf) updates from Plonky3 and verifier refactor ([#156](https://github.com/succinctlabs/sp1/pull/156)) +- developer experience improvements ([#145](https://github.com/succinctlabs/sp1/pull/145)) +- toolchain build from source & install ([#113](https://github.com/succinctlabs/sp1/pull/113)) +- io::read io::write ([#126](https://github.com/succinctlabs/sp1/pull/126)) +- tracing, profiling, benchmarking ([#99](https://github.com/succinctlabs/sp1/pull/99)) + +### Fixed + +- use correct value for blowup ([#965](https://github.com/succinctlabs/sp1/pull/965)) +- p3 audit change ([#964](https://github.com/succinctlabs/sp1/pull/964)) +- some informational fixes from veridise audit ([#953](https://github.com/succinctlabs/sp1/pull/953)) +- set sponge state to be zero ([#951](https://github.com/succinctlabs/sp1/pull/951)) +- range check for shard number in recursion ([#952](https://github.com/succinctlabs/sp1/pull/952)) +- memory finalize duplicate address attack from audit ([#934](https://github.com/succinctlabs/sp1/pull/934)) +- fix things +- unnecessary pc constraint ([#749](https://github.com/succinctlabs/sp1/pull/749)) +- _(recursion)_ enable mul constraint ([#686](https://github.com/succinctlabs/sp1/pull/686)) +- verify reduced proofs ([#655](https://github.com/succinctlabs/sp1/pull/655)) +- high degree constraints in recursion ([#619](https://github.com/succinctlabs/sp1/pull/619)) +- deferred proofs + cleanup hash_vkey ([#615](https://github.com/succinctlabs/sp1/pull/615)) +- observe only non-padded public values ([#523](https://github.com/succinctlabs/sp1/pull/523)) +- broken e2e recursion +- don't observe padded public values ([#520](https://github.com/succinctlabs/sp1/pull/520)) +- public inputs in recursion program ([#467](https://github.com/succinctlabs/sp1/pull/467)) + +### Other + +- _(deps)_ bump serde from 1.0.203 to 1.0.204 ([#1063](https://github.com/succinctlabs/sp1/pull/1063)) +- updated p3 dependency to 0.1.3 ([#1059](https://github.com/succinctlabs/sp1/pull/1059)) +- merge main -> dev ([#969](https://github.com/succinctlabs/sp1/pull/969)) +- Fixes from review. +- Reverted to exp_rev_bits_len_fast +- please clippy +- Merge branch 'dev' into erabinov/exp_rev_precompile +- Version of exp_rev_precompile +- fixes ([#821](https://github.com/succinctlabs/sp1/pull/821)) +- program doc and remove unnecessary clones ([#857](https://github.com/succinctlabs/sp1/pull/857)) +- recursive program docs ([#855](https://github.com/succinctlabs/sp1/pull/855)) +- fmt +- change challenger rate from 16 to 8 ([#807](https://github.com/succinctlabs/sp1/pull/807)) +- remove todos in recursion ([#809](https://github.com/succinctlabs/sp1/pull/809)) +- require cpu shard in verifier ([#808](https://github.com/succinctlabs/sp1/pull/808)) +- clippy +- hm +- Make some functions const ([#774](https://github.com/succinctlabs/sp1/pull/774)) +- remove unused deps ([#794](https://github.com/succinctlabs/sp1/pull/794)) +- Clean up TOML files ([#796](https://github.com/succinctlabs/sp1/pull/796)) +- update all dependencies ([#689](https://github.com/succinctlabs/sp1/pull/689)) +- fixing dep tree for `prover`, `recursion`, `core` and `sdk` ([#545](https://github.com/succinctlabs/sp1/pull/545)) +- cleanup prover ([#551](https://github.com/succinctlabs/sp1/pull/551)) +- cleanup program + add missing constraints ([#547](https://github.com/succinctlabs/sp1/pull/547)) +- make ci faster ([#536](https://github.com/succinctlabs/sp1/pull/536)) +- _(recursion)_ reduce program ([#497](https://github.com/succinctlabs/sp1/pull/497)) +- for loop optimizations +- update to latest plonky3 main ([#491](https://github.com/succinctlabs/sp1/pull/491)) +- final touches for public release ([#239](https://github.com/succinctlabs/sp1/pull/239)) +- update docs with slight nits ([#224](https://github.com/succinctlabs/sp1/pull/224)) +- sp1 rename ([#212](https://github.com/succinctlabs/sp1/pull/212)) +- enshrine AlignedBorrow macro ([#209](https://github.com/succinctlabs/sp1/pull/209)) +- readme cleanup ([#196](https://github.com/succinctlabs/sp1/pull/196)) +- rename succinct to curta ([#192](https://github.com/succinctlabs/sp1/pull/192)) +- better curta graphic ([#184](https://github.com/succinctlabs/sp1/pull/184)) +- Initial commit diff --git a/recursion/program/Cargo.toml b/recursion/program/Cargo.toml index c1d66cf5cb..5715130c50 100644 --- a/recursion/program/Cargo.toml +++ b/recursion/program/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sp1-recursion-program" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../../README.md" @@ -31,4 +31,4 @@ tracing = "0.1.40" stacker = "0.1" [features] -debug = ["sp1-core/debug"] \ No newline at end of file +debug = ["sp1-core/debug"] diff --git a/sdk/CHANGELOG.md b/sdk/CHANGELOG.md new file mode 100644 index 0000000000..717ac9a497 --- /dev/null +++ b/sdk/CHANGELOG.md @@ -0,0 +1,140 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.0.1-test](https://github.com/succinctlabs/sp1/compare/sp1-sdk-v0.0.0-test...sp1-sdk-v0.0.1-test) - 2024-07-11 + +### Added + +- publish sp1 to crates.io ([#1052](https://github.com/succinctlabs/sp1/pull/1052)) +- critical constraint changes ([#1046](https://github.com/succinctlabs/sp1/pull/1046)) +- cycle limit ([#1027](https://github.com/succinctlabs/sp1/pull/1027)) +- improve network prover error output ([#991](https://github.com/succinctlabs/sp1/pull/991)) +- _(sdk)_ finish mock prover implementation ([#1008](https://github.com/succinctlabs/sp1/pull/1008)) +- (breaking changes to SDK API) use builder pattern for SDK execute/prove/verify ([#940](https://github.com/succinctlabs/sp1/pull/940)) +- circuit version in proof ([#926](https://github.com/succinctlabs/sp1/pull/926)) +- sp1 circuit version ([#899](https://github.com/succinctlabs/sp1/pull/899)) +- use docker by default for gnark ([#890](https://github.com/succinctlabs/sp1/pull/890)) +- _(sdk)_ add explorer link ([#858](https://github.com/succinctlabs/sp1/pull/858)) +- check version for proof requests ([#862](https://github.com/succinctlabs/sp1/pull/862)) +- feature flag `alloy_sol_types` ([#850](https://github.com/succinctlabs/sp1/pull/850)) +- generic const expr ([#854](https://github.com/succinctlabs/sp1/pull/854)) +- execute() exposes ExecutionReport ([#847](https://github.com/succinctlabs/sp1/pull/847)) +- encode proof solidity ([#836](https://github.com/succinctlabs/sp1/pull/836)) +- switch to ethers ([#826](https://github.com/succinctlabs/sp1/pull/826)) +- sp1 core prover opts +- plonk prover ([#795](https://github.com/succinctlabs/sp1/pull/795)) +- groth16 feature flag ([#782](https://github.com/succinctlabs/sp1/pull/782)) +- Implement `verify_groth16` & `prove_groth16` on `MockProver` ([#745](https://github.com/succinctlabs/sp1/pull/745)) +- add proof verification ([#729](https://github.com/succinctlabs/sp1/pull/729)) +- reduce network prover ([#687](https://github.com/succinctlabs/sp1/pull/687)) +- auto rebuild dev artifacts in sdk ([#726](https://github.com/succinctlabs/sp1/pull/726)) +- fix execution + proving errors ([#715](https://github.com/succinctlabs/sp1/pull/715)) +- update docs + add some tests around solidity contract export ([#693](https://github.com/succinctlabs/sp1/pull/693)) +- add sp1-sdk tests with SP1_DEV=0 for release ci ([#694](https://github.com/succinctlabs/sp1/pull/694)) +- program refactor ([#651](https://github.com/succinctlabs/sp1/pull/651)) +- e2e groth16 with contract verifier ([#671](https://github.com/succinctlabs/sp1/pull/671)) +- nextgen ci for sp1-prover ([#663](https://github.com/succinctlabs/sp1/pull/663)) +- Adding docs for new `ProverClient` and `groth16` and `compressed` mode ([#627](https://github.com/succinctlabs/sp1/pull/627)) +- add multiple proving modes to network client ([#630](https://github.com/succinctlabs/sp1/pull/630)) +- aggregation fixes ([#649](https://github.com/succinctlabs/sp1/pull/649)) +- _(recursion)_ poseidon2 max constraint degree const generic ([#634](https://github.com/succinctlabs/sp1/pull/634)) +- _(sdk)_ auto setup circuit ([#635](https://github.com/succinctlabs/sp1/pull/635)) +- complete reduce program ([#565](https://github.com/succinctlabs/sp1/pull/565)) +- update network client with claim and fulfill ([#546](https://github.com/succinctlabs/sp1/pull/546)) +- fix cargo prove new issues ([#542](https://github.com/succinctlabs/sp1/pull/542)) +- verify shard transitions + fixes ([#482](https://github.com/succinctlabs/sp1/pull/482)) +- execute before `prove_remote_async` ([#530](https://github.com/succinctlabs/sp1/pull/530)) +- nonce in signed messages ([#507](https://github.com/succinctlabs/sp1/pull/507)) +- _(sdk)_ add `prove_async` ([#505](https://github.com/succinctlabs/sp1/pull/505)) +- sdk using secp256k1 auth ([#483](https://github.com/succinctlabs/sp1/pull/483)) +- recursion vm public values ([#495](https://github.com/succinctlabs/sp1/pull/495)) +- relay proofs ([#458](https://github.com/succinctlabs/sp1/pull/458)) +- setup recursion prover crate ([#475](https://github.com/succinctlabs/sp1/pull/475)) +- public values ([#455](https://github.com/succinctlabs/sp1/pull/455)) +- one cycle input ([#451](https://github.com/succinctlabs/sp1/pull/451)) +- sp1-sdk, remote prover ([#370](https://github.com/succinctlabs/sp1/pull/370)) +- new README img ([#226](https://github.com/succinctlabs/sp1/pull/226)) +- readme updates ([#205](https://github.com/succinctlabs/sp1/pull/205)) +- more final touches ([#194](https://github.com/succinctlabs/sp1/pull/194)) +- curtaup + release system + cargo prove CLI updates ([#178](https://github.com/succinctlabs/sp1/pull/178)) +- (perf) updates from Plonky3 and verifier refactor ([#156](https://github.com/succinctlabs/sp1/pull/156)) +- developer experience improvements ([#145](https://github.com/succinctlabs/sp1/pull/145)) +- toolchain build from source & install ([#113](https://github.com/succinctlabs/sp1/pull/113)) +- io::read io::write ([#126](https://github.com/succinctlabs/sp1/pull/126)) +- tracing, profiling, benchmarking ([#99](https://github.com/succinctlabs/sp1/pull/99)) + +### Fixed + +- _(sdk)_ options warning when using network prover ([#1069](https://github.com/succinctlabs/sp1/pull/1069)) +- _(sdk)_ lock axum to 0.7.4 ([#1029](https://github.com/succinctlabs/sp1/pull/1029)) +- plonk feature off by default ([#852](https://github.com/succinctlabs/sp1/pull/852)) +- fix +- install for `verify_plonk_bn254` ([#798](https://github.com/succinctlabs/sp1/pull/798)) +- download Groth16 artifacts on `prove_groth16` invocation ([#674](https://github.com/succinctlabs/sp1/pull/674)) +- _(sdk)_ Small fix for getting vkey digest ([#665](https://github.com/succinctlabs/sp1/pull/665)) +- verify reduced proofs ([#655](https://github.com/succinctlabs/sp1/pull/655)) +- compress before wrap ([#624](https://github.com/succinctlabs/sp1/pull/624)) +- fix +- return fulfilled proof ([#573](https://github.com/succinctlabs/sp1/pull/573)) +- use REMOTE_PROVE to check local or remote ([#524](https://github.com/succinctlabs/sp1/pull/524)) +- `prove_remote` serialization ([#509](https://github.com/succinctlabs/sp1/pull/509)) +- use bincode for sdk serialization ([#506](https://github.com/succinctlabs/sp1/pull/506)) +- fibonacci io ([#478](https://github.com/succinctlabs/sp1/pull/478)) + +### Other + +- remove async crates `sp1-prover` ([#1042](https://github.com/succinctlabs/sp1/pull/1042)) +- _(deps)_ bump serde from 1.0.203 to 1.0.204 ([#1063](https://github.com/succinctlabs/sp1/pull/1063)) +- switch to p3 from crates.io ([#1038](https://github.com/succinctlabs/sp1/pull/1038)) +- hm +- add memory error +- cycle limit +- Merge branch 'dev' into dependabot/cargo/dev/log-0.4.22 +- _(deps)_ bump serde_json from 1.0.117 to 1.0.120 ([#1001](https://github.com/succinctlabs/sp1/pull/1001)) +- _(deps)_ bump num-bigint from 0.4.5 to 0.4.6 ([#1002](https://github.com/succinctlabs/sp1/pull/1002)) +- _(deps)_ bump reqwest-middleware from 0.3.1 to 0.3.2 +- _(deps)_ bump strum from 0.26.2 to 0.26.3 +- v1.0.7-testnet ([#930](https://github.com/succinctlabs/sp1/pull/930)) +- add version to sdk ([#923](https://github.com/succinctlabs/sp1/pull/923)) +- hm +- network docs + cleanup ([#913](https://github.com/succinctlabs/sp1/pull/913)) +- _(deps)_ bump strum_macros from 0.26.3 to 0.26.4 ([#907](https://github.com/succinctlabs/sp1/pull/907)) +- _(deps)_ bump alloy-sol-types from 0.7.4 to 0.7.6 ([#909](https://github.com/succinctlabs/sp1/pull/909)) +- _(deps)_ bump tokio from 1.37.0 to 1.38.0 ([#882](https://github.com/succinctlabs/sp1/pull/882)) +- _(deps)_ bump strum_macros from 0.26.2 to 0.26.3 +- add network requester to requested proof ([#845](https://github.com/succinctlabs/sp1/pull/845)) +- Merge branch 'main' into dev +- clean +- change to network +- lint +- prover type +- update comments +- prover type +- encode proof solidity +- `prove_plonk` ([#827](https://github.com/succinctlabs/sp1/pull/827)) +- Make some functions const ([#774](https://github.com/succinctlabs/sp1/pull/774)) +- remove unused deps ([#794](https://github.com/succinctlabs/sp1/pull/794)) +- Clean up TOML files ([#796](https://github.com/succinctlabs/sp1/pull/796)) +- merge main into dev ([#801](https://github.com/succinctlabs/sp1/pull/801)) +- update dev with latest main ([#728](https://github.com/succinctlabs/sp1/pull/728)) +- _(deps)_ bump axum from 0.7.4 to 0.7.5 +- update all dependencies ([#689](https://github.com/succinctlabs/sp1/pull/689)) +- sdk tweaks ([#653](https://github.com/succinctlabs/sp1/pull/653)) +- Implement `Prover` on `MockProver` ([#629](https://github.com/succinctlabs/sp1/pull/629)) +- sdk improvements ([#580](https://github.com/succinctlabs/sp1/pull/580)) +- fixing dep tree for `prover`, `recursion`, `core` and `sdk` ([#545](https://github.com/succinctlabs/sp1/pull/545)) +- cleanup prover ([#551](https://github.com/succinctlabs/sp1/pull/551)) +- final touches for public release ([#239](https://github.com/succinctlabs/sp1/pull/239)) +- update docs with slight nits ([#224](https://github.com/succinctlabs/sp1/pull/224)) +- sp1 rename ([#212](https://github.com/succinctlabs/sp1/pull/212)) +- enshrine AlignedBorrow macro ([#209](https://github.com/succinctlabs/sp1/pull/209)) +- readme cleanup ([#196](https://github.com/succinctlabs/sp1/pull/196)) +- rename succinct to curta ([#192](https://github.com/succinctlabs/sp1/pull/192)) +- better curta graphic ([#184](https://github.com/succinctlabs/sp1/pull/184)) +- Initial commit diff --git a/sdk/Cargo.toml b/sdk/Cargo.toml index ea6bb7741f..24220e9933 100644 --- a/sdk/Cargo.toml +++ b/sdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sp1-sdk" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../README.md" diff --git a/tests/bls12381-add/Cargo.toml b/tests/bls12381-add/Cargo.toml index 464c7534a8..b9a3713430 100644 --- a/tests/bls12381-add/Cargo.toml +++ b/tests/bls12381-add/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "bls12381-add-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/bls12381-decompress/Cargo.toml b/tests/bls12381-decompress/Cargo.toml index 594ee591a8..3fb0a9f36f 100644 --- a/tests/bls12381-decompress/Cargo.toml +++ b/tests/bls12381-decompress/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "bls-decompress-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/bls12381-double/Cargo.toml b/tests/bls12381-double/Cargo.toml index 09bcf3c576..4b9a96e346 100644 --- a/tests/bls12381-double/Cargo.toml +++ b/tests/bls12381-double/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "bls12381-double-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/bls12381-mul/Cargo.toml b/tests/bls12381-mul/Cargo.toml index 4864bd2a07..141be592ed 100644 --- a/tests/bls12381-mul/Cargo.toml +++ b/tests/bls12381-mul/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "bls12381-mul-test" -version = "0.0.0-test" +version = "0.0.1-test" publish = false diff --git a/tests/bn254-add/Cargo.toml b/tests/bn254-add/Cargo.toml index 8a214344c4..68daf9cede 100644 --- a/tests/bn254-add/Cargo.toml +++ b/tests/bn254-add/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "bn254-add-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/bn254-double/Cargo.toml b/tests/bn254-double/Cargo.toml index c1749cf480..bd6c0688ab 100644 --- a/tests/bn254-double/Cargo.toml +++ b/tests/bn254-double/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "bn254-double-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/bn254-mul/Cargo.toml b/tests/bn254-mul/Cargo.toml index e241458c0d..c23299c39c 100644 --- a/tests/bn254-mul/Cargo.toml +++ b/tests/bn254-mul/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "bn254-mul-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/cycle-tracker/Cargo.toml b/tests/cycle-tracker/Cargo.toml index 1917d6fdd0..49a4d18f02 100644 --- a/tests/cycle-tracker/Cargo.toml +++ b/tests/cycle-tracker/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "cycle-tracker-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/ecrecover/Cargo.toml b/tests/ecrecover/Cargo.toml index 3cbde5d2a2..99acfd84d3 100644 --- a/tests/ecrecover/Cargo.toml +++ b/tests/ecrecover/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "ecrecover-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/ed-add/Cargo.toml b/tests/ed-add/Cargo.toml index 49d8977c90..2c6296bd69 100644 --- a/tests/ed-add/Cargo.toml +++ b/tests/ed-add/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "ed-add-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/ed-decompress/Cargo.toml b/tests/ed-decompress/Cargo.toml index 077e5fc981..fea8e60ba3 100644 --- a/tests/ed-decompress/Cargo.toml +++ b/tests/ed-decompress/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "ed-decompress-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/ed25519/Cargo.toml b/tests/ed25519/Cargo.toml index 0b67a56cc2..09aff17926 100644 --- a/tests/ed25519/Cargo.toml +++ b/tests/ed25519/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "ed25519-program" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/fibonacci/Cargo.toml b/tests/fibonacci/Cargo.toml index 0e3dd2dddd..cfedd14baa 100644 --- a/tests/fibonacci/Cargo.toml +++ b/tests/fibonacci/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "fibonacci-program-tests" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/hint-io/Cargo.toml b/tests/hint-io/Cargo.toml index 0b3005d15e..ff5a3b153a 100644 --- a/tests/hint-io/Cargo.toml +++ b/tests/hint-io/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "hint-io-test" -version = "0.0.0-test" +version = "0.0.1-test" publish = false [dependencies] diff --git a/tests/keccak-permute/Cargo.toml b/tests/keccak-permute/Cargo.toml index 74996de9e8..32fe000817 100644 --- a/tests/keccak-permute/Cargo.toml +++ b/tests/keccak-permute/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "keccak-permute-test" -version = "0.0.0-test" +version = "0.0.1-test" publish = false [dependencies] diff --git a/tests/keccak256/Cargo.toml b/tests/keccak256/Cargo.toml index bfe46e8068..4114202e9f 100644 --- a/tests/keccak256/Cargo.toml +++ b/tests/keccak256/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "keccak256-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/panic/Cargo.toml b/tests/panic/Cargo.toml index aa33037dcd..95b54f8f81 100644 --- a/tests/panic/Cargo.toml +++ b/tests/panic/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "panic-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/rand/Cargo.toml b/tests/rand/Cargo.toml index 962bed2502..bd87ccaa1f 100644 --- a/tests/rand/Cargo.toml +++ b/tests/rand/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "rand-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/secp256k1-add/Cargo.toml b/tests/secp256k1-add/Cargo.toml index 6e61a2b588..f7fb6c083a 100644 --- a/tests/secp256k1-add/Cargo.toml +++ b/tests/secp256k1-add/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "secp256k1-add-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/secp256k1-decompress/Cargo.toml b/tests/secp256k1-decompress/Cargo.toml index 6a82d98d33..ee4eb8059f 100644 --- a/tests/secp256k1-decompress/Cargo.toml +++ b/tests/secp256k1-decompress/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "secp256k1-decompress-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/secp256k1-double/Cargo.toml b/tests/secp256k1-double/Cargo.toml index ca23ebee79..4081003767 100644 --- a/tests/secp256k1-double/Cargo.toml +++ b/tests/secp256k1-double/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "secp256k1-double-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/secp256k1-mul/Cargo.toml b/tests/secp256k1-mul/Cargo.toml index 221545dfd5..40c3645b9c 100644 --- a/tests/secp256k1-mul/Cargo.toml +++ b/tests/secp256k1-mul/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "secp256k1-mul-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/sha-compress/Cargo.toml b/tests/sha-compress/Cargo.toml index bbb6fdc324..2436df9555 100644 --- a/tests/sha-compress/Cargo.toml +++ b/tests/sha-compress/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "sha-compress-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/sha-extend/Cargo.toml b/tests/sha-extend/Cargo.toml index 2279f347e2..27c88d3b35 100644 --- a/tests/sha-extend/Cargo.toml +++ b/tests/sha-extend/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "sha-extend-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/sha2/Cargo.toml b/tests/sha2/Cargo.toml index 8e243a79c5..ede269ff98 100644 --- a/tests/sha2/Cargo.toml +++ b/tests/sha2/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "sha2-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/tendermint-benchmark/Cargo.toml b/tests/tendermint-benchmark/Cargo.toml index ca14df6ff8..357049c4af 100644 --- a/tests/tendermint-benchmark/Cargo.toml +++ b/tests/tendermint-benchmark/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "tendermint-benchmark-program" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/uint256-arith/Cargo.toml b/tests/uint256-arith/Cargo.toml index f313557966..5643cae4b1 100644 --- a/tests/uint256-arith/Cargo.toml +++ b/tests/uint256-arith/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "uint256-arith-program" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/uint256-mul/Cargo.toml b/tests/uint256-mul/Cargo.toml index 580c99e01d..1d7fc42114 100644 --- a/tests/uint256-mul/Cargo.toml +++ b/tests/uint256-mul/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "biguint-mul-test" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/tests/verify-proof/Cargo.toml b/tests/verify-proof/Cargo.toml index e4c13cf9bb..617d60ff1a 100644 --- a/tests/verify-proof/Cargo.toml +++ b/tests/verify-proof/Cargo.toml @@ -1,7 +1,7 @@ [workspace] [package] name = "verify-proof" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" publish = false diff --git a/zkvm/entrypoint/CHANGELOG.md b/zkvm/entrypoint/CHANGELOG.md new file mode 100644 index 0000000000..c1d79374ab --- /dev/null +++ b/zkvm/entrypoint/CHANGELOG.md @@ -0,0 +1,76 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.0.1-test](https://github.com/succinctlabs/sp1/compare/sp1-zkvm-v0.0.0-test...sp1-zkvm-v0.0.1-test) - 2024-07-11 + +### Added + +- publish sp1 to crates.io ([#1052](https://github.com/succinctlabs/sp1/pull/1052)) +- `mulmod` uint256 precompile ([#642](https://github.com/succinctlabs/sp1/pull/642)) +- aggregation fixes ([#649](https://github.com/succinctlabs/sp1/pull/649)) +- complete reduce program ([#565](https://github.com/succinctlabs/sp1/pull/565)) +- feat(precompile) bls12-381 add and double precompile ([#448](https://github.com/succinctlabs/sp1/pull/448)) +- _(precompile)_ add biguint arithmetic precompiles ([#378](https://github.com/succinctlabs/sp1/pull/378)) +- weierstrass decompress precompile ([#440](https://github.com/succinctlabs/sp1/pull/440)) +- nested sp1 proof verification ([#494](https://github.com/succinctlabs/sp1/pull/494)) +- setup recursion prover crate ([#475](https://github.com/succinctlabs/sp1/pull/475)) +- public values ([#455](https://github.com/succinctlabs/sp1/pull/455)) +- one cycle input ([#451](https://github.com/succinctlabs/sp1/pull/451)) +- _(precompile)_ add bn254 precompile ([#384](https://github.com/succinctlabs/sp1/pull/384)) +- Connect CPU to ECALL tables ([#364](https://github.com/succinctlabs/sp1/pull/364)) +- Many small features and chores ([#347](https://github.com/succinctlabs/sp1/pull/347)) +- program build script ([#296](https://github.com/succinctlabs/sp1/pull/296)) +- add musl-libc memcpy ([#279](https://github.com/succinctlabs/sp1/pull/279)) +- new README img ([#226](https://github.com/succinctlabs/sp1/pull/226)) +- readme updates ([#205](https://github.com/succinctlabs/sp1/pull/205)) +- more final touches ([#194](https://github.com/succinctlabs/sp1/pull/194)) +- curtaup + release system + cargo prove CLI updates ([#178](https://github.com/succinctlabs/sp1/pull/178)) +- (perf) updates from Plonky3 and verifier refactor ([#156](https://github.com/succinctlabs/sp1/pull/156)) +- developer experience improvements ([#145](https://github.com/succinctlabs/sp1/pull/145)) +- toolchain build from source & install ([#113](https://github.com/succinctlabs/sp1/pull/113)) +- io::read io::write ([#126](https://github.com/succinctlabs/sp1/pull/126)) +- tracing, profiling, benchmarking ([#99](https://github.com/succinctlabs/sp1/pull/99)) + +### Fixed + +- uint256 fixes ([#990](https://github.com/succinctlabs/sp1/pull/990)) +- no mangle +- replace `jal` with `call` in entrypoint ([#898](https://github.com/succinctlabs/sp1/pull/898)) +- sys_bigint duplicate symbol ([#880](https://github.com/succinctlabs/sp1/pull/880)) +- `getrandom` version ([#753](https://github.com/succinctlabs/sp1/pull/753)) +- _(zkvm)_ libm math intrinsics ([#287](https://github.com/succinctlabs/sp1/pull/287)) +- memcpy & memset ([#282](https://github.com/succinctlabs/sp1/pull/282)) +- zkvm crate refactor bug ([#276](https://github.com/succinctlabs/sp1/pull/276)) + +### Other + +- _(deps)_ bump serde from 1.0.203 to 1.0.204 ([#1063](https://github.com/succinctlabs/sp1/pull/1063)) +- clenaup zkvm +- hm +- cleanup zkvm/lib +- _(deps)_ bump lazy_static from 1.4.0 to 1.5.0 +- fix sys rand ([#919](https://github.com/succinctlabs/sp1/pull/919)) +- runtime gets printed out 3 times +- hm +- sys rand szn +- Make some functions const ([#774](https://github.com/succinctlabs/sp1/pull/774)) +- Clean up TOML files ([#796](https://github.com/succinctlabs/sp1/pull/796)) +- update all dependencies ([#689](https://github.com/succinctlabs/sp1/pull/689)) +- sdk improvements ([#580](https://github.com/succinctlabs/sp1/pull/580)) +- prover tweaks ([#610](https://github.com/succinctlabs/sp1/pull/610)) +- sha cleanup + constraints ([#425](https://github.com/succinctlabs/sp1/pull/425)) +- split zkvm crate into entrypoint and precompiles ([#275](https://github.com/succinctlabs/sp1/pull/275)) +- final touches for public release ([#239](https://github.com/succinctlabs/sp1/pull/239)) +- update docs with slight nits ([#224](https://github.com/succinctlabs/sp1/pull/224)) +- sp1 rename ([#212](https://github.com/succinctlabs/sp1/pull/212)) +- enshrine AlignedBorrow macro ([#209](https://github.com/succinctlabs/sp1/pull/209)) +- readme cleanup ([#196](https://github.com/succinctlabs/sp1/pull/196)) +- rename succinct to curta ([#192](https://github.com/succinctlabs/sp1/pull/192)) +- better curta graphic ([#184](https://github.com/succinctlabs/sp1/pull/184)) +- Initial commit diff --git a/zkvm/entrypoint/Cargo.toml b/zkvm/entrypoint/Cargo.toml index ed0130601a..8b71af9dd9 100644 --- a/zkvm/entrypoint/Cargo.toml +++ b/zkvm/entrypoint/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sp1-zkvm" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../../README.md" @@ -35,4 +35,4 @@ verify = [ ] bn254 = ["sp1-lib/bn254"] secp256k1 = ["sp1-lib/secp256k1"] -bls12381 = ["sp1-lib/bls12381"] \ No newline at end of file +bls12381 = ["sp1-lib/bls12381"] diff --git a/zkvm/lib/CHANGELOG.md b/zkvm/lib/CHANGELOG.md new file mode 100644 index 0000000000..a5bf1d8179 --- /dev/null +++ b/zkvm/lib/CHANGELOG.md @@ -0,0 +1,42 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.0.1-test](https://github.com/succinctlabs/sp1/compare/sp1-lib-v0.0.0-test...sp1-lib-v0.0.1-test) - 2024-07-11 + +### Added + +- publish sp1 to crates.io ([#1052](https://github.com/succinctlabs/sp1/pull/1052)) +- new README img ([#226](https://github.com/succinctlabs/sp1/pull/226)) +- readme updates ([#205](https://github.com/succinctlabs/sp1/pull/205)) +- more final touches ([#194](https://github.com/succinctlabs/sp1/pull/194)) +- curtaup + release system + cargo prove CLI updates ([#178](https://github.com/succinctlabs/sp1/pull/178)) +- (perf) updates from Plonky3 and verifier refactor ([#156](https://github.com/succinctlabs/sp1/pull/156)) +- developer experience improvements ([#145](https://github.com/succinctlabs/sp1/pull/145)) +- toolchain build from source & install ([#113](https://github.com/succinctlabs/sp1/pull/113)) +- io::read io::write ([#126](https://github.com/succinctlabs/sp1/pull/126)) +- tracing, profiling, benchmarking ([#99](https://github.com/succinctlabs/sp1/pull/99)) + +### Fixed + +- handle mul_assign scalar zero ([#1077](https://github.com/succinctlabs/sp1/pull/1077)) + +### Other + +- _(deps)_ bump serde from 1.0.203 to 1.0.204 ([#1063](https://github.com/succinctlabs/sp1/pull/1063)) +- hm +- ignore +- cleanup zkvm/lib +- final touches for public release ([#239](https://github.com/succinctlabs/sp1/pull/239)) +- update docs with slight nits ([#224](https://github.com/succinctlabs/sp1/pull/224)) +- sp1 rename ([#212](https://github.com/succinctlabs/sp1/pull/212)) +- enshrine AlignedBorrow macro ([#209](https://github.com/succinctlabs/sp1/pull/209)) +- readme cleanup ([#196](https://github.com/succinctlabs/sp1/pull/196)) +- rename succinct to curta ([#192](https://github.com/succinctlabs/sp1/pull/192)) +- better curta graphic ([#184](https://github.com/succinctlabs/sp1/pull/184)) +- Initial commit diff --git a/zkvm/lib/Cargo.toml b/zkvm/lib/Cargo.toml index 76e4753864..909bdb7b57 100644 --- a/zkvm/lib/Cargo.toml +++ b/zkvm/lib/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sp1-lib" -version = "0.0.0-test" +version = "0.0.1-test" edition = "2021" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../../README.md" @@ -19,7 +19,11 @@ amcl = { package = "snowbridge-amcl", version = "1.0.2", default-features = fals hex = { version = "0.4.3", optional = true } # k256 -k256 = { version = "0.13.3", features = ["ecdsa", "std", "bits"], optional = true } +k256 = { version = "0.13.3", features = [ + "ecdsa", + "std", + "bits", +], optional = true } [features] default = []