Skip to content

fix(stm): stop forcing rustls in the future_snark feature - #3439

Open
jpraynaud wants to merge 3 commits into
mainfrom
jpraynaud/3423-fix-rustls-setup-stm
Open

fix(stm): stop forcing rustls in the future_snark feature#3439
jpraynaud wants to merge 3 commits into
mainfrom
jpraynaud/3423-fix-rustls-setup-stm

Conversation

@jpraynaud

@jpraynaud jpraynaud commented Jul 28, 2026

Copy link
Copy Markdown
Member

Content

This PR includes the removal of the forced rustls activation in the future_snark feature of mithril-stm, so the TLS backend of the SRS download is selected by the callers:

  • Removed rustls from the future_snark feature list of mithril-stm, which makes its native-tls feature usable and activates the existing compile time guard that fails the build when no TLS backend is selected.
  • Added the native-tls and rustls features to mithril-common, forwarding to the matching features of mithril-stm.
  • Forwarded the TLS features of mithril-client to mithril-common, each native-tls variant to native-tls and rustls-no-provider to rustls.
  • Selected the TLS backend in the rustls feature of the mithril-signer, mithril-aggregator, mithril-relay and mithril-end-to-end crates.
  • Added a rustls default feature to the protocol demo, which depends on mithril-stm directly and had no TLS feature.
  • Updated the documented mithril-stm commands of the READMEs, of the circuit keys runbook and of the future_snark CI test job to select a TLS backend explicitly.

Pre-submit checklist

  • Branch
    • Crates versions are updated (if relevant)
    • CHANGELOG file is updated (if relevant)
    • Commit sequence broadly makes sense
    • Key commits have useful messages
  • PR
    • All check jobs of the CI have succeeded
    • Self-reviewed the diff
    • Useful pull request description
    • Reviewer requested

Issue(s)

Closes #3423

The TLS backend of the SRS download is now selected by the callers,
which makes the native-tls feature usable.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes the implicit selection of the rustls TLS backend when enabling mithril-stm’s future_snark feature, and pushes TLS-backend selection to downstream crates by introducing/forwarding explicit native-tls / rustls feature flags across the workspace. It also updates documentation and CI commands so builds explicitly choose a TLS backend when SNARK circuits require HTTPS SRS downloads.

Changes:

  • Removed the forced rustls activation from mithril-stm’s future_snark feature, making TLS backend selection an explicit downstream choice.
  • Added/forwarded native-tls and rustls features through mithril-common and mithril-client, and selected rustls in several top-level crates.
  • Updated README/runbook/docs and the future_snark CI job to pass an explicit TLS backend feature.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
mithril-test-lab/mithril-end-to-end/Cargo.toml Selects mithril-common/rustls when the crate’s rustls feature is enabled.
mithril-stm/src/circuits/halo2_ivc/tests/assets/README.md Updates asset-generation test commands to explicitly enable rustls with future_snark.
mithril-stm/README.md Documents the need to select a TLS backend (rustls/native-tls) when using future_snark; updates bench commands accordingly.
mithril-stm/CHANGELOG.md Adds a changelog entry describing the TLS backend selection change.
mithril-stm/Cargo.toml Removes forced rustls from future_snark feature set.
mithril-stm/benches/README.md Updates benchmark invocation examples to explicitly enable a TLS backend.
mithril-signer/Cargo.toml Wires rustls feature through mithril-common in addition to reqwest.
mithril-relay/Cargo.toml Wires rustls feature through mithril-common in addition to reqwest.
mithril-common/Cargo.toml Introduces native-tls and rustls features that forward to mithril-stm.
mithril-client/Cargo.toml Forwards TLS backend features to mithril-common while preserving the reqwest TLS variants for the client itself.
mithril-aggregator/Cargo.toml Wires rustls feature through mithril-common in addition to reqwest.
docs/runbook/update-circuit-keys/README.md Updates runbook commands to explicitly enable rustls with future_snark.
demo/protocol-demo/Cargo.toml Adds a default rustls feature so the demo selects a TLS backend when using SNARK-related functionality.
.github/workflows/test-rust.yml Updates the future_snark CI job to pass --features future_snark,rustls.

Comment thread mithril-stm/Cargo.toml
Comment thread mithril-stm/CHANGELOG.md
@github-actions

Copy link
Copy Markdown

Test Results

     5 files  ± 0     209 suites  ±0   1h 24m 31s ⏱️ - 1h 47m 19s
 3 349 tests  - 52   3 349 ✅  - 52  0 💤 ±0  0 ❌ ±0 
11 100 runs   - 55  11 100 ✅  - 55  0 💤 ±0  0 ❌ ±0 

Results for commit 64c1b07. ± Comparison against base commit bc9d8c1.

This pull request removes 52 tests.
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::index_out_of_bounds
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::index_too_large_for_circuit_range
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::indices_not_increasing
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::leaf_merkle_path_mismatch
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::leaf_swap_keep_merkle_path
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::leaf_wrong_verification_key
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::merkle_path_corrupt_sibling
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::merkle_path_flip_position
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::merkle_path_length_long
mithril-stm ‑ circuits::halo2::tests::golden::cases::negative::slow::merkle_path_length_short
…

@jpraynaud
jpraynaud temporarily deployed to testing-2-preview July 28, 2026 18:29 — with GitHub Actions Inactive
@jpraynaud
jpraynaud temporarily deployed to testing-preview July 28, 2026 18:29 — with GitHub Actions Inactive
@jpraynaud
jpraynaud marked this pull request as ready for review July 28, 2026 18:29

@damrobi damrobi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍
Just the changelog to update if necessary

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stop forcing rustls in the future_snark feature of STM

3 participants