BL-15: One-shot dispute resolution (one dispute per batch, ever) is undocumented
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
- Tipo de issue
- Documentación
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- solidity
- Área
- blockchain, documentation
Línea de trabajo
Lee DINTaskCoordinator.sol en openDispute y resolveDispute y luego revisa la sección sobre la resolución de disputas de Developer/design/slashing-taxonomy.md. Añade el comentario sobre la restricción de un solo uso y registra la decisión de diseño, incluido dónde volver a revisarla si se desea admitir múltiples disputas. El trabajo estará terminado cuando ambas actualizaciones de la documentación describan que un lote resuelto no puede volver a ser objeto de una disputa; no se espera ningún cambio de comportamiento.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
DINTaskCoordinator.resolveDispute sets disputes[gi][tierKind][batchId].resolved = true with no path back. Once a dispute on a batch is resolved — upheld or rejected — no further dispute can be opened for that batch:
// DINTaskCoordinator.sol — openDispute
if (disputes[_GI][_tierKind][_batchId].resolved) revert TC_DisputeAlreadyResolved();
This means exactly one dispute per batch is possible in a GI's lifetime. This is a reasonable design choice at the scaffold stage, but it was never recorded:
- No comment in
resolveDisputeoropenDisputeexplains the one-shot constraint. Developer/design/slashing-taxonomy.mddescribes the dispute flow without noting the limit.
If a future reviewer or implementer assumes disputes can be reopened (e.g. if new evidence surfaces), they will either silently hit TC_DisputeAlreadyResolved or incorrectly treat it as a bug to fix, potentially introducing unintended multi-dispute behaviour.
Fix
Documentation-only — no behaviour change.
- Add a one-line comment above
resolveDisputeinDINTaskCoordinator.sol:// One dispute per batch per GI: once resolved (upheld or rejected), the batch cannot be re-disputed. - Add a note to
Developer/design/slashing-taxonomy.mdin the dispute resolution section recording this as an explicit design decision and noting where to revisit it if multi-dispute-per-batch is ever desired.
When to upgrade
If multi-dispute-per-batch is later needed, the fix is to replace the boolean resolved flag with a counter or a re-openable state enum. That decision belongs in a separate issue.
References
Developer/BACK_LOG.mdBL-15- PR #66 review (original observation)
DINTaskCoordinator.sol—openDispute/resolveDisputeDeveloper/design/slashing-taxonomy.md— dispute resolution section
- Lenguaje dominante
- Python
- Estrellas
- 4
- Forks
- 7
- Merge medio
- 3 d 58 min
- PR fusionados (30 d)
- 39
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 InfiniteZeroFoundation/DevNet
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
InfiniteZeroFoundation/DevNet#295 ·
Los mantenedores suelen responder en 1 día
-
ROADMAP.md: refresh "What is still open for P3" (several items were fixed in October)Posiblemente ocupada @umermjd11 la tomó hace 2 días. Abiertodocumentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
InfiniteZeroFoundation/DevNet#285 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
InfiniteZeroFoundation/DevNet#277 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
InfiniteZeroFoundation/DevNet#266 ·
Los mantenedores suelen responder en 1 día
-
docs: fix broken install path, wrong commands and stale status in participant guidesPosiblemente ocupada @robertocarlous la tomó hace 1 día. Abierto
InfiniteZeroFoundation/DevNet#290 · 2 comentarios · 5 asignados ·
Los mantenedores suelen responder en 1 día
Todos los issues de InfiniteZeroFoundation/DevNet
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Graphify-Labs/graphify#4860 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
:bug: Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
scikit-image/scikit-image#8377 ·
Los mantenedores suelen responder en 1 día
-
Ingredient import validation accepts negative nutrient values and NaNPosiblemente ocupada @LukeSekai la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
wger-project/wger#2564 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
apache/ponymail-foal#351 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
Los mantenedores suelen responder en 4 días