BL-15: One-shot dispute resolution (one dispute per batch, ever) is undocumented
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 1/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 82/100
- Issue 类型
- 文档
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- solidity
调研方向
阅读 DINTaskCoordinator.sol 中的 openDispute 和 resolveDispute,然后查看 Developer/design/slashing-taxonomy.md 中关于争议解决的部分。添加一次性约束注释,并记录设计决策,包括如果需要支持多个争议,应在哪里重新审视该决策。完成标准是两处文档更新都说明已解决的批次不能再次被提出争议;预计不会改变行为。
由索引模型根据 Issue 内容生成。
描述
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
- 主要语言
- Python
- 星标
- 4
- 派生
- 7
- 平均合并
- 3 天 5 小时
- 30 天内合并 PR
- 34
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
InfiniteZeroFoundation/DevNet 的其他 Issue
-
ROADMAP.md: refresh "What is still open for P3" (several items were fixed in October)可能已有人在做 @umermjd11 于 4 天前认领。 未关闭documentation good first issue
难度 2/5 1-3 小时 新手友好度 74/100
InfiniteZeroFoundation/DevNet#285 · 1 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Update the 25 translated organisation READMEs to match the English version可能已有人在做 @mrCabez 于 1 天前认领。 未关闭good first issue help wanted
难度 2/5 1-3 小时 新手友好度 76/100
InfiniteZeroFoundation/DevNet#277 · 2 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Update the client-service guide to explain training and uploading separately可能已有人在做 @Santiagocetran 于 1 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
InfiniteZeroFoundation/DevNet#266 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Few questions related to GI2 aggregator可能已有人在做 @Abidoyesimze 于 1 天前认领。 未关闭
InfiniteZeroFoundation/DevNet#307 · 1 个 reaction · 已指派 4 人 ·
维护者通常 1 天内回复
-
bug python
难度 4/5 3-5 天 新手友好度 52/100
InfiniteZeroFoundation/DevNet#306 ·
维护者通常 1 天内回复
查看 InfiniteZeroFoundation/DevNet 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 74/100
BCDA-APS/polar-bits#93 ·
-
infer_audio_type only recognises one MPEG Layer III frame header, so most MP3 files are rejected可能已有人在做 @Steve-20-ai 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
[BUG] - ssh_config `Match tagged` statement always applies可能已有人在做 @AtharvRG 今天认领。 未关闭Bug
难度 2/5 1-3 小时 新手友好度 68/100
paramiko/paramiko#2715 · 1 条评论 ·
维护者通常 9 天内回复
-
auto-rejected intake mcp-intake needs-salvage priority:high type:feature
难度 2/5 1-3 小时 新手友好度 65/100
Ikalus1988/MisakaNet#4221 · 2 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复