Refactor/codec back to spongefish#2
Closed
ricardo-perello wants to merge 37 commits into
Closed
Conversation
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [blake2](https://redirect.github.com/RustCrypto/hashes) | workspace.dependencies | patch | `0.11.0-rc.5` → `0.11.0-rc.6` | --- ### Release Notes <details> <summary>RustCrypto/hashes (blake2)</summary> ### [`v0.11.0-rc.6`](https://redirect.github.com/RustCrypto/hashes/compare/blake2-v0.11.0-rc.5...blake2-v0.11.0-rc.6) [Compare Source](https://redirect.github.com/RustCrypto/hashes/compare/blake2-v0.11.0-rc.5...blake2-v0.11.0-rc.6) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/arkworks-rs/spongefish). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjAuMiIsInVwZGF0ZWRJblZlciI6IjQzLjEyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [pallas](https://redirect.github.com/txpipe/pallas) | workspace.dependencies | minor | `^0.32` → `^0.35.0` | --- ### Release Notes <details> <summary>txpipe/pallas (pallas)</summary> ### [`v0.35.0`](https://redirect.github.com/txpipe/pallas/releases/tag/v0.35.0) [Compare Source](https://redirect.github.com/txpipe/pallas/compare/v0.34.0...v0.35.0) ##### Backport - **network:** incomplete CBOR support for DMQ local submission rejection ([#​727](https://redirect.github.com/txpipe/pallas/issues/727)) ##### Contributors [@​jpraynaud](https://redirect.github.com/jpraynaud) ### [`v0.34.0`](https://redirect.github.com/txpipe/pallas/releases/tag/v0.34.0) [Compare Source](https://redirect.github.com/txpipe/pallas/compare/v0.33.0...v0.34.0) ##### Features - **network:** add more data type derives required by downstream libs ([#​715](https://redirect.github.com/txpipe/pallas/issues/715)) - **network:** add data type derives required by downstream libs ([#​714](https://redirect.github.com/txpipe/pallas/issues/714)) ##### Bug Fixes - add missing PartialOrd and Ord for RedeemersKey ([#​676](https://redirect.github.com/txpipe/pallas/issues/676)) - encoding and decoding of NativeScript ([#​670](https://redirect.github.com/txpipe/pallas/issues/670)) ##### Chore - fix lints across the board ([#​720](https://redirect.github.com/txpipe/pallas/issues/720)) - **backport**: DMQ protocol ([#​717](https://redirect.github.com/txpipe/pallas/issues/717)) - fix duplicated entry in dev deps - add n2n handshake version 14 to default options ([#​665](https://redirect.github.com/txpipe/pallas/issues/665)) - **backport:** PlutusData fixes and tests ([#​675](https://redirect.github.com/txpipe/pallas/issues/675)) - **backport:** partial and total order for 'Voter' ([#​674](https://redirect.github.com/txpipe/pallas/issues/674)) ##### Contributors [@​etorreborre](https://redirect.github.com/etorreborre) [@​jpraynaud](https://redirect.github.com/jpraynaud) [@​scarmuega](https://redirect.github.com/scarmuega) ### [`v0.33.0`](https://redirect.github.com/txpipe/pallas/releases/tag/v0.33.0) [Compare Source](https://redirect.github.com/txpipe/pallas/compare/v0.32.1...v0.33.0) ##### Bug Fixes - add missing PartialOrd and Ord for RedeemersKey ([#​676](https://redirect.github.com/txpipe/pallas/issues/676)) - encoding and decoding of NativeScript ([#​670](https://redirect.github.com/txpipe/pallas/issues/670)) ##### Chore - **backport:** PlutusData fixes and tests ([#​675](https://redirect.github.com/txpipe/pallas/issues/675)) - **backport:** partial and total order for 'Voter' ([#​674](https://redirect.github.com/txpipe/pallas/issues/674)) #### Contributors [@​KtorZ](https://redirect.github.com/KtorZ) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/arkworks-rs/spongefish). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjMuOCIsInVwZGF0ZWRJblZlciI6IjQzLjEyMy44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
arkworks-rs#130) On `main` there the file `spongefish/.cargo/config.toml` specifies a flag to add KaTeX support to docs. This only applies when building from the `spongefish` directory, and not from the workspace root. It currently causes a test build failure when building from the `spongefish` directory. I looked into this a bit, to see if I could get the KaTeX HTML inserted without causing issues, and to make the behavior when building from the workspace consistent with building from the crate directory. I couldn't find a good solution. This PR removes the config file. On `docs.rs`, the KaTeX should still render (see https://docs.rs/spongefish/latest/spongefish/trait.NargDeserialize.html). Getting it to render locally can do accomplished with the following command. ```sh RUSTDOCFLAGS="--html-in-header spongefish/doc/katex-header.html" cargo doc --no-deps --all-features ```
As with sigma-rs/sigma-proofs#170 this PR adds the configuration to show required-feature badges on docs.rs.
## 🤖 New release * `spongefish-derive`: 0.6.0 -> 0.6.1 * `spongefish`: 0.6.0 -> 0.6.1 * `spongefish-circuit`: 0.6.0 -> 0.6.1 * `spongefish-pow`: 0.6.0 -> 0.6.1 <details><summary><i><b>Changelog</b></i></summary><p> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/checkout](https://redirect.github.com/actions/checkout) | action | major | `v4` → `v6` | --- ### Release Notes <details> <summary>actions/checkout (actions/checkout)</summary> ### [`v6.0.2`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v602) [Compare Source](https://redirect.github.com/actions/checkout/compare/v6.0.1...v6.0.2) - Fix tag handling: preserve annotations and explicit fetch-tags by [@​ericsciple](https://redirect.github.com/ericsciple) in [#​2356](https://redirect.github.com/actions/checkout/pull/2356) ### [`v6.0.1`](https://redirect.github.com/actions/checkout/compare/v6.0.0...v6.0.1) [Compare Source](https://redirect.github.com/actions/checkout/compare/v6...v6.0.1) ### [`v6-beta`](https://redirect.github.com/actions/checkout/releases/tag/v6-beta) [Compare Source](https://redirect.github.com/actions/checkout/compare/v6...v6) ##### What's Changed Updated persist-credentials to store the credentials under `$RUNNER_TEMP` instead of directly in the local git config. This requires a minimum Actions Runner version of [v2.329.0](https://redirect.github.com/actions/runner/releases/tag/v2.329.0) to access the persisted credentials for [Docker container action](https://docs.github.com/en/actions/tutorials/use-containerized-services/create-a-docker-container-action) scenarios. ### [`v6.0.0`](https://redirect.github.com/actions/checkout/compare/v5.0.1...v6.0.0) [Compare Source](https://redirect.github.com/actions/checkout/compare/v6...v6) ### [`v6`]() [Compare Source](https://redirect.github.com/actions/checkout/compare/v5.0.1...v6) ### [`v5.0.1`](https://redirect.github.com/actions/checkout/releases/tag/v5.0.1) [Compare Source](https://redirect.github.com/actions/checkout/compare/v5...v5.0.1) ##### What's Changed - Port v6 cleanup to v5 by [@​ericsciple](https://redirect.github.com/ericsciple) in [#​2301](https://redirect.github.com/actions/checkout/pull/2301) **Full Changelog**: <actions/checkout@v5...v5.0.1> ### [`v5.0.0`](https://redirect.github.com/actions/checkout/releases/tag/v5.0.0) [Compare Source](https://redirect.github.com/actions/checkout/compare/v5...v5) ##### What's Changed - Update actions checkout to use node 24 by [@​salmanmkc](https://redirect.github.com/salmanmkc) in [#​2226](https://redirect.github.com/actions/checkout/pull/2226) - Prepare v5.0.0 release by [@​salmanmkc](https://redirect.github.com/salmanmkc) in [#​2238](https://redirect.github.com/actions/checkout/pull/2238) #####⚠️ Minimum Compatible Runner Version **v2.327.1**\ [Release Notes](https://redirect.github.com/actions/runner/releases/tag/v2.327.1) Make sure your runner is updated to this version or newer to use this release. **Full Changelog**: <actions/checkout@v4...v5.0.0> ### [`v5`]() [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.3.1...v5) ### [`v4.3.1`](https://redirect.github.com/actions/checkout/releases/tag/v4.3.1) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.3.0...v4.3.1) ##### What's Changed - Port v6 cleanup to v4 by [@​ericsciple](https://redirect.github.com/ericsciple) in [#​2305](https://redirect.github.com/actions/checkout/pull/2305) **Full Changelog**: <actions/checkout@v4...v4.3.1> ### [`v4.3.0`](https://redirect.github.com/actions/checkout/releases/tag/v4.3.0) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.2.2...v4.3.0) ##### What's Changed - docs: update README.md by [@​motss](https://redirect.github.com/motss) in [#​1971](https://redirect.github.com/actions/checkout/pull/1971) - Add internal repos for checking out multiple repositories by [@​mouismail](https://redirect.github.com/mouismail) in [#​1977](https://redirect.github.com/actions/checkout/pull/1977) - Documentation update - add recommended permissions to Readme by [@​benwells](https://redirect.github.com/benwells) in [#​2043](https://redirect.github.com/actions/checkout/pull/2043) - Adjust positioning of user email note and permissions heading by [@​joshmgross](https://redirect.github.com/joshmgross) in [#​2044](https://redirect.github.com/actions/checkout/pull/2044) - Update README.md by [@​nebuk89](https://redirect.github.com/nebuk89) in [#​2194](https://redirect.github.com/actions/checkout/pull/2194) - Update CODEOWNERS for actions by [@​TingluoHuang](https://redirect.github.com/TingluoHuang) in [#​2224](https://redirect.github.com/actions/checkout/pull/2224) - Update package dependencies by [@​salmanmkc](https://redirect.github.com/salmanmkc) in [#​2236](https://redirect.github.com/actions/checkout/pull/2236) - Prepare release v4.3.0 by [@​salmanmkc](https://redirect.github.com/salmanmkc) in [#​2237](https://redirect.github.com/actions/checkout/pull/2237) ##### New Contributors - [@​motss](https://redirect.github.com/motss) made their first contribution in [#​1971](https://redirect.github.com/actions/checkout/pull/1971) - [@​mouismail](https://redirect.github.com/mouismail) made their first contribution in [#​1977](https://redirect.github.com/actions/checkout/pull/1977) - [@​benwells](https://redirect.github.com/benwells) made their first contribution in [#​2043](https://redirect.github.com/actions/checkout/pull/2043) - [@​nebuk89](https://redirect.github.com/nebuk89) made their first contribution in [#​2194](https://redirect.github.com/actions/checkout/pull/2194) - [@​salmanmkc](https://redirect.github.com/salmanmkc) made their first contribution in [#​2236](https://redirect.github.com/actions/checkout/pull/2236) **Full Changelog**: <actions/checkout@v4...v4.3.0> ### [`v4.2.2`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v422) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.2.1...v4.2.2) - `url-helper.ts` now leverages well-known environment variables by [@​jww3](https://redirect.github.com/jww3) in [#​1941](https://redirect.github.com/actions/checkout/pull/1941) - Expand unit test coverage for `isGhes` by [@​jww3](https://redirect.github.com/jww3) in [#​1946](https://redirect.github.com/actions/checkout/pull/1946) ### [`v4.2.1`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v421) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.2.0...v4.2.1) - Check out other refs/\* by commit if provided, fall back to ref by [@​orhantoy](https://redirect.github.com/orhantoy) in [#​1924](https://redirect.github.com/actions/checkout/pull/1924) ### [`v4.2.0`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v420) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.1.7...v4.2.0) - Add Ref and Commit outputs by [@​lucacome](https://redirect.github.com/lucacome) in [#​1180](https://redirect.github.com/actions/checkout/pull/1180) - Dependency updates by [@​dependabot-](https://redirect.github.com/dependabot-) [#​1777](https://redirect.github.com/actions/checkout/pull/1777), [#​1872](https://redirect.github.com/actions/checkout/pull/1872) ### [`v4.1.7`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v417) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.1.6...v4.1.7) - Bump the minor-npm-dependencies group across 1 directory with 4 updates by [@​dependabot](https://redirect.github.com/dependabot) in [#​1739](https://redirect.github.com/actions/checkout/pull/1739) - Bump actions/checkout from 3 to 4 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1697](https://redirect.github.com/actions/checkout/pull/1697) - Check out other refs/\* by commit by [@​orhantoy](https://redirect.github.com/orhantoy) in [#​1774](https://redirect.github.com/actions/checkout/pull/1774) - Pin actions/checkout's own workflows to a known, good, stable version. by [@​jww3](https://redirect.github.com/jww3) in [#​1776](https://redirect.github.com/actions/checkout/pull/1776) ### [`v4.1.6`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v416) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.1.5...v4.1.6) - Check platform to set archive extension appropriately by [@​cory-miller](https://redirect.github.com/cory-miller) in [#​1732](https://redirect.github.com/actions/checkout/pull/1732) ### [`v4.1.5`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v415) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.1.4...v4.1.5) - Update NPM dependencies by [@​cory-miller](https://redirect.github.com/cory-miller) in [#​1703](https://redirect.github.com/actions/checkout/pull/1703) - Bump github/codeql-action from 2 to 3 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1694](https://redirect.github.com/actions/checkout/pull/1694) - Bump actions/setup-node from 1 to 4 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1696](https://redirect.github.com/actions/checkout/pull/1696) - Bump actions/upload-artifact from 2 to 4 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1695](https://redirect.github.com/actions/checkout/pull/1695) - README: Suggest `user.email` to be `41898282+github-actions[bot]@​users.noreply.github.com` by [@​cory-miller](https://redirect.github.com/cory-miller) in [#​1707](https://redirect.github.com/actions/checkout/pull/1707) ### [`v4.1.4`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v414) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.1.3...v4.1.4) - Disable `extensions.worktreeConfig` when disabling `sparse-checkout` by [@​jww3](https://redirect.github.com/jww3) in [#​1692](https://redirect.github.com/actions/checkout/pull/1692) - Add dependabot config by [@​cory-miller](https://redirect.github.com/cory-miller) in [#​1688](https://redirect.github.com/actions/checkout/pull/1688) - Bump the minor-actions-dependencies group with 2 updates by [@​dependabot](https://redirect.github.com/dependabot) in [#​1693](https://redirect.github.com/actions/checkout/pull/1693) - Bump word-wrap from 1.2.3 to 1.2.5 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1643](https://redirect.github.com/actions/checkout/pull/1643) ### [`v4.1.3`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v413) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.1.2...v4.1.3) - Check git version before attempting to disable `sparse-checkout` by [@​jww3](https://redirect.github.com/jww3) in [#​1656](https://redirect.github.com/actions/checkout/pull/1656) - Add SSH user parameter by [@​cory-miller](https://redirect.github.com/cory-miller) in [#​1685](https://redirect.github.com/actions/checkout/pull/1685) - Update `actions/checkout` version in `update-main-version.yml` by [@​jww3](https://redirect.github.com/jww3) in [#​1650](https://redirect.github.com/actions/checkout/pull/1650) ### [`v4.1.2`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v412) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.1.1...v4.1.2) - Fix: Disable sparse checkout whenever `sparse-checkout` option is not present [@​dscho](https://redirect.github.com/dscho) in [#​1598](https://redirect.github.com/actions/checkout/pull/1598) ### [`v4.1.1`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v411) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.1.0...v4.1.1) - Correct link to GitHub Docs by [@​peterbe](https://redirect.github.com/peterbe) in [#​1511](https://redirect.github.com/actions/checkout/pull/1511) - Link to release page from what's new section by [@​cory-miller](https://redirect.github.com/cory-miller) in [#​1514](https://redirect.github.com/actions/checkout/pull/1514) ### [`v4.1.0`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v410) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4...v4.1.0) - [Add support for partial checkout filters](https://redirect.github.com/actions/checkout/pull/1396) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/arkworks-rs/spongefish). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjMuOCIsInVwZGF0ZWRJblZlciI6IjQzLjEzOC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [rayon](https://redirect.github.com/rayon-rs/rayon) | workspace.dependencies | minor | `1.11.0` → `1.12.0` | --- ### Release Notes <details> <summary>rayon-rs/rayon (rayon)</summary> ### [`v1.12.0`](https://redirect.github.com/rayon-rs/rayon/blob/HEAD/RELEASES.md#Release-rayon-1120-2026-04-13) [Compare Source](https://redirect.github.com/rayon-rs/rayon/compare/v1.11.0...v1.12.0) - Fixed a bug in parallel `Range<char>` when the end is 0xE000, just past the surrogate boundary, which was unsafely producing invalid `char` values. - The new method `ParallelSlice::par_array_windows` works like `par_windows` but with a constant length, producing `&[T; N]` items. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/arkworks-rs/spongefish). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjMuOCIsInVwZGF0ZWRJblZlciI6IjQzLjEyMy44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [spin](https://redirect.github.com/mvdnes/spin-rs) | workspace.dependencies | minor | `0.9` → `0.10` | --- ### Release Notes <details> <summary>mvdnes/spin-rs (spin)</summary> ### [`v0.10.0`](https://redirect.github.com/mvdnes/spin-rs/blob/HEAD/CHANGELOG.md#0100---2025-03-26) ##### Added - `Mutex::try_lock_weak` - `RwLock::try_write_weak` - `RwLock::try_upgrade_weak` ##### Changed - Updated MSRV to 1.60 - Use `dep:` syntax in Cargo.toml - `portable_atomic` feature has been renamed to `portable-atomic`, for consistency. ##### Fixed </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/arkworks-rs/spongefish). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjMuOCIsInVwZGF0ZWRJblZlciI6IjQzLjEyMy44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
The current circuit API is very primitive and basic, and does not impose any limit on the wire value, nor it checks for overflow, incorrect usages of zip, etc. Additionally, downstream of this crate, implementations will most likely need to convert the wire index into a field elements. This commit tries to improve the status quo with an upper-limit of wire vars of 2^30 (so it can just fit a group element for most finite fields used in zkps). Along the way, we improve the API for setting public vars
What does this PR do? - adds support for merged [Small Fp](arkworks-rs/algebra#1044) - doesn't change anything about Fp - fix impl_encoding! that affects extension fields (Fp2, Fp3) ```text to_bytes_be() → [00, 00, 00, 00, 00, 00, 00, 00, 01, 00, 00, 00, FF, FF, FF, FF] resize(8, 0) → [00, 00, 00, 00, 00, 00, 00, 00] // ❌ all zeros drain(..8) → [01, 00, 00, 00, FF, FF, FF, FF] // ✅ actual value ```
## 🤖 New release * `spongefish-derive`: 0.6.1 -> 0.7.0 * `spongefish`: 0.6.1 -> 0.7.0 * `spongefish-circuit`: 0.6.1 -> 0.7.0 * `spongefish-pow`: 0.6.1 -> 0.7.0 <details><summary><i><b>Changelog</b></i></summary><p> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Andrew Z <1497456+z-tech@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [digest](https://redirect.github.com/RustCrypto/traits) | workspace.dependencies | patch | `0.11.2` → `0.11.3` | --- ### Release Notes <details> <summary>RustCrypto/traits (digest)</summary> ### [`v0.11.3`](https://redirect.github.com/RustCrypto/traits/compare/digest-v0.11.2...digest-v0.11.3) [Compare Source](https://redirect.github.com/RustCrypto/traits/compare/digest-v0.11.2...digest-v0.11.3) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/arkworks-rs/spongefish). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [hashbrown](https://redirect.github.com/rust-lang/hashbrown) | workspace.dependencies | minor | `0.15.5` → `0.17.0` | --- ### Release Notes <details> <summary>rust-lang/hashbrown (hashbrown)</summary> ### [`v0.17.0`](https://redirect.github.com/rust-lang/hashbrown/blob/HEAD/CHANGELOG.md#0170---2026-04-06) [Compare Source](https://redirect.github.com/rust-lang/hashbrown/compare/v0.16.1...v0.17.0) ##### Added - Added `hash_table::OccupiedEntry::replace_entry_with` ([#​669](https://redirect.github.com/rust-lang/hashbrown/issues/669)) - Added `hash_map::{OccupiedEntry::into_entry, VacantEntryRef::insert_entry_with_key}` ([#​670](https://redirect.github.com/rust-lang/hashbrown/issues/670)) - Added `hash_table::UnsafeIter` ([#​667](https://redirect.github.com/rust-lang/hashbrown/issues/667)) - Added `iter` methods to various `HashTable` iterators ([#​667](https://redirect.github.com/rust-lang/hashbrown/issues/667)) - Added `HashMap::{replace_key,replace_key_unchecked,insert_with_key_unchecked}` ([#​681](https://redirect.github.com/rust-lang/hashbrown/issues/681)) - Added `into_map` methods to all `HashMap` entry types ([#​686](https://redirect.github.com/rust-lang/hashbrown/issues/686)) - Added `into_table` methods to all `HashTable` entry types ([#​686](https://redirect.github.com/rust-lang/hashbrown/issues/686)) - Added `#[must_use]` to constructors ([#​697](https://redirect.github.com/rust-lang/hashbrown/issues/697)) - `TryReserveError` now implements `Error` ([#​698](https://redirect.github.com/rust-lang/hashbrown/issues/698)) ##### Changed - Changed `EntryRef` to use `ToOwned` ([#​670](https://redirect.github.com/rust-lang/hashbrown/issues/670)) - Bumped MSRV to 1.85 (2024 edition) ([#​676](https://redirect.github.com/rust-lang/hashbrown/issues/676)) ##### Fixed - `HashTable:clone_from` now forwards to `RawTable::clone_from` instead of using the default implementation ([#​668](https://redirect.github.com/rust-lang/hashbrown/issues/668)) - Fixed potential UB in `RawTableInner::fallible_with_capacity` ([#​692](https://redirect.github.com/rust-lang/hashbrown/issues/692)) - Fixed incorrect length if a hasher panics during rehash ([#​710](https://redirect.github.com/rust-lang/hashbrown/issues/710)) ### [`v0.16.1`](https://redirect.github.com/rust-lang/hashbrown/blob/HEAD/CHANGELOG.md#0161---2025-11-20) [Compare Source](https://redirect.github.com/rust-lang/hashbrown/compare/v0.16.0...v0.16.1) ##### Added - Added `HashTable` methods related to the raw bucket index ([#​657](https://redirect.github.com/rust-lang/hashbrown/issues/657)) - Added `VacantEntryRef::insert_with_key` ([#​579](https://redirect.github.com/rust-lang/hashbrown/issues/579)) ##### Changed - Removed specialization for `Copy` types ([#​662](https://redirect.github.com/rust-lang/hashbrown/issues/662)) - The `get_many_mut` family of methods have been renamed to `get_disjoint_mut` to match the standard library. The old names are still present for now, but deprecated. ([#​648](https://redirect.github.com/rust-lang/hashbrown/issues/648)) - Recognize and use over-sized allocations when using custom allocators. ([#​523](https://redirect.github.com/rust-lang/hashbrown/issues/523)) - Depend on `serde_core` instead of `serde`. ([#​649](https://redirect.github.com/rust-lang/hashbrown/issues/649)) - Optimized `collect` on rayon parallel iterators. ([#​652](https://redirect.github.com/rust-lang/hashbrown/issues/652)) ### [`v0.16.0`](https://redirect.github.com/rust-lang/hashbrown/blob/HEAD/CHANGELOG.md#0160---2025-08-28) [Compare Source](https://redirect.github.com/rust-lang/hashbrown/compare/v0.15.5...v0.16.0) ##### Changed - Bump foldhash, the default hasher, to 0.2.0. - Replaced `DefaultHashBuilder` with a newtype wrapper around `foldhash` instead of re-exporting it directly. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/arkworks-rs/spongefish). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE1MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Move DSFS compiler implementation under spongefish::dsfs and re-export Argus-owned codec traits through spongefish for compatibility with existing derive outputs and paths.
Make p3-* features enable ia-core's p3 codecs and keep only the local Unit impls to avoid orphan impls.
Address clippy warnings and minor API polish in the new spongefish::dsfs module and related code.
…urn to spongefish
Splits the April 2026 codec inversion into three cleanly-stacked crates:
- spongefish: transcript + codecs (Encoding/Decoding/NargSerialize/NargDeserialize/
Deserialize) + foreign-type drivers. No ia-core dependency.
- ia-core (Argus): IA/IR/NIA/NIR protocol abstractions, depends on spongefish for
codec traits.
- spongefish-dsfs: DSFS bridge crate (Dsfs/DsfsReduction wrappers + free fns) that
depends on both spongefish and ia-core.
This reverses the prior arrangement where spongefish had a backwards dep on ia-core
just to see the codec traits. Codec impls for ark_ff/ark_ec/bls12_381/curve25519-
dalek/p256/k256/p3 fields are merged into spongefish/src/drivers/<type>.rs alongside
the existing Unit impls. SmallFp codec impls are not yet ported (ia-core did not
have them).
[patch.crates-io] spongefish = { path = "spongefish" } added to the spongefish
workspace so transitive deps (ia-core) see the local copy instead of the stale
crates.io 0.7.0 publish.
The free-fn DSFS surface (prove/verify/*_with_*) stays pub for now; it will be
flipped to pub(crate) in a follow-up after Argus call sites are swept onto the
Dsfs::new(...) wrapper.
cargo test --workspace --all-features passes.
The `Dsfs::new(...).prove(...)` / `DsfsReduction::new(...).prove(...)` wrappers are now the only public DSFS surface. Internal helper free fns kept (called by the wrapper): - `prove_with_sponge_and_salt` - `verify_with_sponge_and_salt` - `prove_reduction_with_sponge_and_salt_full` (private) - `verify_reduction_with_sponge_and_salt` Deleted (13 fns, no public callers and not needed internally since the wrapper parametrizes `Dsfs<IA, S, H, SALT_LEN>` over sponge + salt-length): - `prove`, `prove_with_salt`, `prove_with_sponge` - `verify`, `verify_with_salt`, `verify_with_sponge` - `prove_reduction`, `prove_reduction_with_salt`, `prove_reduction_with_sponge`, `prove_reduction_with_sponge_and_salt` - `verify_reduction`, `verify_reduction_with_salt`, `verify_reduction_with_sponge` The `Dsfs::new` const-generic salt + explicit sponge field already cover every variant the deleted free fns expressed. Custom-salt example: `Dsfs::<_, _, _, 16>::new(ia, sponge)`. Custom-sponge example: `Dsfs::<_, _, StdHash, 0>::new(ia, StdHash::default())`. Argus workspace tests pass (except 3 pre-existing sigma-bridge golden_vectors).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reverses the codec inversion that shipped in PR #1 of this fork. After this change, codec traits live in
spongefish(where they belong), and the DSFS compiler bridgingspongefishtranscripts with the Argusia-coreIA/NIA traits lives in a new sibling cratespongefish-dsfs.Why
PR #1 moved DSFS into core
spongefishand, to break the resulting dependency cycle, moved codec traits (Encoding,Decoding,NargSerialize,NargDeserialize) into Argusia-core. This leftspongefishwith a backwards dep onia-corepurely to import codec types it should own.The fix is the dependency direction the project actually wants:
What changes
New crate:
spongefish-dsfsAdded as the 5th workspace member. Contains the moved
dsfs::*module fromspongefish/src/dsfs/:compile.rs—Dsfs<IA, S, H, SALT_LEN>andDsfsReduction<IR, S, H, SALT_LEN>wrappers implementingNonInteractiveArgument/NonInteractiveReduction.channel.rs—SpongeProver,SpongeVerifier,TranscriptSponge.params.rs— DSFS-specificSpongeParams,SpongeInfo,STD_SPONGE_PARAMS,STD_HASH_SPONGE_PARAMS.KeccakandStdHashare re-aliased fromspongefish::instantiations::*.narg_security.rs—NargSecurity,security_for_*,reduction_security_for_*.Codec traits + foreign-type impls returned to
spongefishEncoding,Decoding,Codec,ByteArrayinspongefish/src/codecs.rs.NargSerialize,NargDeserializeinspongefish/src/io.rs.Deserializein newspongefish/src/deserialize.rs.VerificationError,VerificationResultinspongefish/src/error.rs.spongefish/src/drivers/<type>.rsalongside the existingUnitimpls.SmallFpcodec impls added on top of the existingSmallFpUnitimpl from chore(deps): update actions/deploy-pages action to v5 arkworks-rs/spongefish#126.pub(crate)flip on the free-fn surfaceThe 16 free fns (
prove,verify,prove_with_salt, …,verify_reduction_with_sponge_and_salt) are now eitherpub(crate)(4 internal helpers used by the wrappers) or deleted (13 dead variants). TheDsfs::new(...).prove(...)/DsfsReduction::new(...).prove(...)wrappers are the only public DSFS surface.Dsfs<IA, S, H = Keccak, const SALT_LEN: usize = 0>already covers every variant the deleted free fns expressed:Workspace plumbing
[patch.crates-io] spongefish = { path = "spongefish" }added so transitive deps (ia-corereached throughspongefish-dsfs) see the local copy instead of any stale crates.io publish.spongefish/Cargo.tomldropsia-core.workspace = trueand the 9"ia-core/<feat>"chain entries in[features]. Foreign-type features now gate spongefish's owndep:entries directly.What does NOT change
DomainSeparator::derivederivation (length-prefixed SHA-512 over(protocol_id, sponge_info, session)).KeccakandStdHash).TranscriptSpongeimpl forStdHashcontinues to usestd_prover/std_verifierfor byte-compat with σ-proofsNizk.Verification
Local: all spongefish workspace tests pass. ia-core (in Argus) builds and tests pass against this branch via the path-dep override.
Coordination
This is one half of a coordinated refactor. The Argus-side companion lives at:
ricardo-perello/argus:refactor/spongefish-dsfs-callsites— ia-core re-exports codec traits from spongefish; protocol crates pick up thespongefish-dsfsdep; call sites swept onto the wrapper.The Argus PR depends on this one — merge spongefish-side first.
Base / stacking
Branched off
dsfs/domain-separator-derive(PR arkworks-rs#114). Leaves that branch untouched. Carries 2 commits:f201a55 refactor: extract DSFS into spongefish-dsfs sibling crate; codecs return to spongefish74fee6b refactor(dsfs): flip free fns to pub(crate); delete dead variantsFollow-ups (out of scope for this PR)
dmpierre/ark-codes(used bywarp) needs an ark-* 0.6 fork before warp can re-enter the workspace. Tracked Argus-side.0010ea7 Require sessions in domain separator macrosettles upstream — same canary as PR DomainSeparator::derive: mandatory (protocol_id, sponge_info, session) and remove new / .session() arkworks-rs/spongefish#114.A couple of things you might want to tweak before posting: