Replies: 2 comments
Status update — 2026-09-22All three PRs for this task are merged into
Can this discussion + its tracked issues close? Not yet — two of the three still have open ends.
Recommendation
|
|
Heads-up: For this task: nothing to change — this task file and its branches don't reference the old name. Use |
Uh oh!
There was an error while loading. Please reload this page.
cc @robertocarlous
Assigned. Full spec:
Developer/tasks/task_100926_12.mdThe task file has the full specification — exact file/line references, per-item background, and the deliverables checklist. This post is just the summary, assignment notice, and the open questions that need an answer before (or while) you build.
Summary
Comes out of a 2026-09-10 audit of ten open P3 issues (#36-43, #75, #78) — full audit is in both this task file and its sibling,
task_100926_13.md. This task is the half where the design decision is already made and only the contract wiring is missing:modelMinStakeBounds/maxConcurrentRegistrationsPerStakeUnithave existed as inert storage onDinValidatorStakesince Feat/p3 staking #65 — nothing reads them at GI registration. Wire both intoregisterDINaggregator/registerDINAuditor.TODO(task_210726_5): forward to DinTreasurystubs inDINTaskCoordinator.sol/DINTaskAuditor.sol—DinTreasuryhas existed since Feat/p3 fee router #51 (over a month), nobody's wired the forwarding yet.gas-simulation-network-fee.mdalready recommends as an actual DAO-settable contract parameter, after pricing the one gas cost its own "Open items" section flags as missing (commitAuditScore).Blockers / design choices needing an answer
These are called out explicitly in the task file too, but flagging here since they're real open questions, not just implementation detail:
setModelStakeBounds) is DAO-only (onlyOwneronDinValidatorStake), and there's no "model owner's chosen value" storage slot separate from the DAO bounds. Default proposal in the task: treatmodelMinStakeBounds[modelId].mindirectly as the effective floor for now, defer a model-owner-facing setter as a fast-follow. Robbert — flag in your PR description if you think the setter is small enough to just include.DinTreasury.withdrawETH/withdrawERC20are bothonlyOwner— a task contract has no path to pull a bounty out ofDinTreasurytoday. Three options on the table: (a) add an authorized-withdrawer role toDinTreasury, (b) fund the bounty from a different source entirely (GI reward pool, disputed party's own stake), (c) treat the bounty as out of scope for this task and just get the on-chain credit-accounting right. This touchesDinTreasury's access control, which is shared platform infrastructure — pick one and flag it here or on the PR before merging, don't decide it silently.networkFee/feeFloorconstant should actually be read. Flag here if it's not clear once you're in the code.Reference material
Developer/tasks/task_100926_12.md— full specDeveloper/tasks/task_100926_13.md— sibling task, shares §1(b)'s registration-counter infra with its own S6 itemDeveloper/design/MECHANISM_DESIGN.md§3 (staking), §4 (slashing/disputes), §8 (fees/treasury)Post progress updates, questions, and PR links here as the task moves — same convention as prior task-tracking discussions (e.g. #47, #106). If anything in the task spec doesn't feel right, is ambiguous, or needs clarification — comment here and cc @umeradl.
All reactions