Skip to content

feat: activate snark by default - #3650

Draft
damrobi wants to merge 14 commits into
mainfrom
damrobi/msnark/3573-activate-snark-by-default
Draft

damrobi wants to merge 14 commits into
mainfrom
damrobi/msnark/3573-activate-snark-by-default

Conversation

@damrobi

@damrobi damrobi commented Oct 26, 2026

Copy link
Copy Markdown
Collaborator

Content

This PR includes the removal of unused values from the STM crate and the activation of the snark feature by default across the full library.

Pre-submit checklist

  • Branch
    • Tests are provided (if possible)
    • 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
  • Documentation
    • Update README file (if relevant)
    • Update documentation website (if relevant)
    • Add dev blog post (if relevant)
    • Add ADR blog post or Dev ADR entry (if relevant)
    • No new TODOs introduced

Comments

Issue(s)

Relates to #3573

@damrobi damrobi self-assigned this Oct 26, 2026
@damrobi
damrobi force-pushed the damrobi/msnark/3573-activate-snark-by-default branch from 9922568 to 69e851a Compare October 26, 2026 13:57
@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Test Results

     5 files  ±  0     211 suites   - 25   2h 16m 47s ⏱️ + 8m 54s
 4 104 tests +  5   4 104 ✅ +  5  0 💤 ±0  0 ❌ ±0 
13 134 runs  +282  13 134 ✅ +282  0 💤 ±0  0 ❌ ±0 

Results for commit 4c65935. ± Comparison against base commit caa8432.

This pull request removes 11 and adds 16 tests. Note that renamed tests count towards both.
mithril-aggregator ‑ tools::genesis::operations::tests::bootstrap_test_genesis_certificate_works
mithril-aggregator ‑ tools::genesis::operations::tests::export_sign_then_import_genesis_payload
mithril-common ‑ certificate_chain::certificate_verifier::tests::verify_certificate_chain_fails_when_adversarial_with_registered_signer_forgery_through_protocol_parameters
mithril-common ‑ entities::protocol_message::tests::rigid_preimage_total_byte_length_is_pinned_to_one_hundred_ninety
mithril-common ‑ test::builder::mithril_fixture::tests::bound_to_keeps_the_signer_unchanged
mithril-end-to-end ‑ mithril::genesis_keys::tests::legacy_keys_for_lagrange_without_the_snark_feature
mithril-stm ‑ proof_system::halo2_ivc_snark::prover_setup::tests::slow::ivc_setup_downsizes_keys_and_srs_to_the_circuit_degree
mithril-stm ‑ proof_system::halo2_ivc_snark::prover_setup::tests::slow::ivc_verifying_key_loaded_alone_is_the_one_of_the_setup
mithril-stm ‑ proof_system::halo2_ivc_snark::prover_setup::tests::slow::load_succeeds_with_unsafe_srs
mithril-stm ‑ proof_system::halo2_snark::aggregate_key::tests::properties::the_rigid_slot_carries_the_root_the_pad_and_the_little_endian_stake
…
mithril-client ‑ certificate_client::verify::tests::cache::early_stop_verification::commits_to_and_stops_in_the_space_of_a_dual_genesis_verification_key
mithril-client ‑ certificate_client::verify::tests::verification_key_formats::constructor_accepts_dual_verification_key_bundle
mithril-client ‑ certificate_client::verify::tests::verification_key_formats::verify_chain_succeeds_with_dual_bundle_on_pythagoras_chain
mithril-client ‑ certificate_client::verify::tests::verification_key_formats::verify_chain_succeeds_with_legacy_verification_key_on_lagrange_chain
mithril-client ‑ circuit_key_registry::tests::fails_on_a_response_exceeding_the_body_size_limit_before_using_it
mithril-client ‑ circuit_key_registry::tests::fails_when_no_network_is_served_by_the_aggregator_endpoint
mithril-client ‑ circuit_key_registry::tests::parses_a_network_without_registry_reference
mithril-client ‑ circuit_key_registry::tests::resolves_the_registry_of_the_network_matching_the_aggregator_endpoint
mithril-client ‑ circuit_key_registry::tests::retries_a_failed_download
mithril-client ‑ circuit_key_registry::tests::tolerates_top_level_metadata_entries_in_the_networks_configuration
…

♻️ This comment has been updated with latest results.

@damrobi
damrobi deployed to testing-preview October 26, 2026 14:39 — with GitHub Actions Active
@damrobi
damrobi deployed to testing-2-preview October 26, 2026 14:39 — with GitHub Actions Active
replaced it with cfg(test) when necessary
Some functions are only used in their test (mostly to/from_bytes) maybe we
want to remove them
…metic backend

The SNARK lottery target computation was only compiled with the
num-integer backend, so a `rug-backend` + `snark` build failed on Unix.
It now always uses num-integer arithmetic, which keeps the target value
identical for every signer and aggregator whatever backend is selected,
and the `snark` feature enables `num-integer` and `num-rational`.
…ed rand dependency

`rand` was only used by tests, which already get it as a dev-dependency.
`rand_chacha` is only needed outside tests by the benchmark helpers, so
it is now enabled by `benchmark-internals` instead of `snark`.
…ature

The batch commitment bytes round trip and its golden tests do not depend
on SNARK code, so they no longer need the `snark` feature.
The `PhantomData` marker was encoded as `"hash": null` in every IVC
proof without carrying any information.
removed 4 bytes reserved for the number of leaves that are never used
updated the stm, common and aggregator crates to reflect that
updated the IVC test assets
updated the circuit verification keys
it also excludes the slow tests from running
on arm and macos plateforms
@damrobi
damrobi force-pushed the damrobi/msnark/3573-activate-snark-by-default branch from 5ae648c to 4c65935 Compare October 26, 2026 15:47
@damrobi
damrobi deployed to testing-preview October 26, 2026 16:15 — with GitHub Actions Active
@damrobi
damrobi deployed to testing-2-preview October 26, 2026 16:15 — with GitHub Actions Active

This branch was successfully deployed

2 active deployments
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.

1 participant