Remove `snark` feature
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- rust
- Domain
- blockchain, cryptography
Research direction
Start by inventorying every future_snark reference across the crate manifests, workspace cargo profiles, code, tests, benches, examples, and CI configuration. Use CODEC.md and the duplicated golden vectors as key checkpoints; done means the feature gates, TODOs, duplicate vectors and dependencies are removed, and the dedicated CI job is merged into the standard Rust test jobs.
Written by the indexing model from the issue text.
Description
Why
The snark feature (formerly future_snark) gates the SNARK support while it is experimental. It has a high maintenance cost: around 870 cfg sites, feature plumbing in ten crate manifests, a dedicated CI job and cargo profile, duplicated golden vectors, a duplicated getrandom dependency in the WASM client, and a series of allow(dead_code) directives waiting for the feature to be activated. Once the SNARK support is enabled by default, all of this can go away.
What
Remove the snark feature and everything that exists only to support it.
How
- Remove the feature from all the crate manifests and the workspace cargo profiles
- Remove the
cfg(feature = "snark")gates in the code, the tests, the benches, and the examples - Remove all TODOs
- Keep a single set of golden vectors and update
CODEC.md - Merge the dedicated CI job into the standard Rust test jobs
- "Later" steps of #3151:
- Run multiple tiers of e2e tests (depending on which files have been modified)
- Use the binaries of the last merge on main in the SNARK nightly end-to-end tests
- Dominant language
- Rust
- Stars
- 155
- Forks
- 52
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 37
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from IntersectMBO/mithril
-
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
IntersectMBO/mithril#1605 · 2 comments ·
Maintainers usually reply within 2 days
-
spike :satellite:
Difficulty 5/5 Over a week Newbie friendliness 10/100
IntersectMBO/mithril#3701 ·
Maintainers usually reply within 2 days
-
Publish a DNSLink record of the immutable archives IPNS name in the Mithril networks DNS zonesPossibly taken @jpraynaud claimed this 2 days ago. Openfeature :rocket:
IntersectMBO/mithril#3700 · 1 assignee ·
Maintainers usually reply within 2 days
-
feature :rocket:
Difficulty 4/5 3-5 days Newbie friendliness 25/100
IntersectMBO/mithril#3699 ·
Maintainers usually reply within 2 days
-
feature :rocket:
Difficulty 4/5 3-5 days Newbie friendliness 35/100
IntersectMBO/mithril#3698 ·
Maintainers usually reply within 2 days
All issues in IntersectMBO/mithril
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
storytold/photocraft#14822 ·
Maintainers usually reply within 1 day
-
bug css
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
dginev/latexml-oxide#853 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 2 days
-
[Bug] export_build_environment admits its output directory only after the export ran in the build computerPossibly taken @viniciusdsandrade claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day