Refactoring and enhancements for SNARK-friendly STM
Los mantenedores suelen responder en 2 días
@leepl37 ya está trabajando en esto.
Desde el 10/3/2026.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 32/100
- Tipo de issue
- Refactorización
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
- Stack tecnológico
- rust
- Área
- blockchain, cryptography
Línea de trabajo
Comienza con mithril-stm/src/protocol/participant/signer.rs en las líneas referenciadas relacionadas con el manejo de RNG y, después, revisa la estructura de la biblioteca STM y sus pruebas de compatibilidad entre CPU y circuit. El issue abarca varias iteraciones, incluidos refactorings de las entradas de registro, el manejo de errores, las opciones de claves de verificación y firmas, y el cálculo del objetivo de la lottery; se considera completado cuando los elementos seleccionados de la checklist están implementados y cubiertos por las pruebas relevantes.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Why
The STM library has accumulated structural debt as SNARK support was introduced alongside the existing concatenation proof system.
What
Perform targeted refactorings and enhancements across the STM library to improve separation of concerns, test efficiency, API readiness for SNARK signing, and overall code hygiene.
How
Current iteration
- Better RNG support for RNG in STM protocol signer (https://github.com/input-output-hk/mithril/blob/main/mithril-stm/src/protocol/participant/signer.rs#L61-L62)
Following iteration
- Enhance error handling with Midnight zk library (need new version of Midnight zk released)
- Refactor
RegistrationEntryinto struct with fields - Refactoring
ClosedRegistrationEntry(To avoid having double options for vk and stake/lottery target value, use aClosedRegistrationEntryForConcatenationand aOption<ClosedRegistrationEntryForSnark>) - Refactor tests for CPU/circuit compatibility (Create a dedicated module for CPU/non-recursive circuit compatibility tests)
Later
- Get rid of Options for SNARK verification keys and signatures
- Optimize computation of Lottery Target Value with Binomial Series?
(1-phi_f)^w = 1 - w * phi_f + w(w-1) * (phi_f^2) / 2! - w(w-1)(w-2) * (phi_f^3) / 3! + ...
- Lenguaje dominante
- Rust
- Estrellas
- 155
- Forks
- 52
- Merge medio
- 2 d 17 h
- PR fusionados (30 d)
- 37
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de IntersectMBO/mithril
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
IntersectMBO/mithril#1605 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
-
spike :satellite:
Dificultad 5/5 Más de una semana Aptitud para principiantes 10/100
IntersectMBO/mithril#3701 ·
Los mantenedores suelen responder en 2 días
-
Publish a DNSLink record of the immutable archives IPNS name in the Mithril networks DNS zonesPosiblemente ocupada @jpraynaud la tomó hace 2 días. Abiertofeature :rocket:
IntersectMBO/mithril#3700 · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
feature :rocket:
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
IntersectMBO/mithril#3699 ·
Los mantenedores suelen responder en 2 días
-
feature :rocket:
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
IntersectMBO/mithril#3698 ·
Los mantenedores suelen responder en 2 días
Todos los issues de IntersectMBO/mithril
Issues similares
-
[Bug]: opencode_go chat route drops reasoning_effort (even 'none'), while the same endpoint honors it via custom_llm_provider=openaiPosiblemente ocupada @arvindkumar-ship-it la tomó hoy. Abiertollm translation
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
BerriAI/litellm#51871 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
comp-formats
Dificultad 2/5 Medio día Aptitud para principiantes 64/100
ClickHouse/ClickHouse#131694 ·
Los mantenedores suelen responder en 1 día
-
cli: `execCargoMetadata` decodes stdout per chunk, corrupting non-ASCII paths across pipe boundariesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
C-Bug S-Needs-Triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
bevyengine/bevy#26558 ·
Los mantenedores suelen responder en 2 días