From d7ae72b8c3e3668ce5192e70e0a6ccb5746e67db Mon Sep 17 00:00:00 2001 From: umermjd11 Date: Mon, 5 Oct 2026 14:34:20 +0500 Subject: [PATCH] docs(tasks): link Discussion No. 216 in task_021026_19, tick delivered Parts, fix review nits - Tracking: 'Discussion: TBD' -> Discussion No. 216 (Tasks category). - Deliverable checkboxes ticked for Parts A-F (PRs No. 211, 212, 214, 215 merged; wiki revision linked on issue No. 207). - Dates: 'about 9.5 working days' -> 'about 9' (the per-Part estimates sum to 9). - Part F minting row: mintEmission() is DinCoordinator's, callable only by DinEmission. Co-Authored-By: Claude Opus 5.5 --- Developer/tasks/task_021026_19.md | 60 +++++++++++++++---------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/Developer/tasks/task_021026_19.md b/Developer/tasks/task_021026_19.md index c9ce1889..b9f5ecdb 100644 --- a/Developer/tasks/task_021026_19.md +++ b/Developer/tasks/task_021026_19.md @@ -4,7 +4,7 @@ **Assigned to:** Umer Majeed (@umermjd11) **Created:** 2026-10-02 **Status:** Open (assigned) -**Dates:** Oct 2 – Oct 12, 2026 (about 9.5 working days, per-Part estimates below). Parts A+B and C can start immediately. D and E are gated on earlier PRs merging (see §Sequencing). If those slip, say so early in the tracking discussion. +**Dates:** Oct 2 – Oct 12, 2026 (about 9 working days, per-Part estimates below). Parts A+B and C can start immediately. D and E are gated on earlier PRs merging (see §Sequencing). If those slip, say so early in the tracking discussion. **Repo:** https://github.com/InfiniteZeroFoundation/DevNet **Base branch:** `develop` — spec written against commit `84d8c38` (2026-10-02); re-pull before starting regardless of when you begin. `foundry/`, `dincli/`, `tests/` and `.github/` are unchanged from `6ccc28c`, the commit the source plan was verified against. **Roadmap ref:** P3-6.3a (gas/size, deploy blocker), P3-6.3b (audit preparation, open findings), P3-4.3 (dispute resolution), P3-SCR (auditor commit-reveal) @@ -15,7 +15,7 @@ - **Part D:** [#202](https://github.com/InfiniteZeroFoundation/DevNet/issues/202) (closes, pending review). - **Part E:** [#205](https://github.com/InfiniteZeroFoundation/DevNet/issues/205) (closes, pending review). Design agreed in PR #209 Decision 3. - **Part F:** [#207](https://github.com/InfiniteZeroFoundation/DevNet/issues/207) (closes once the wiki revision is linked). -- Discussion: TBD (progress updates, questions, PR links) +- [Discussion #216](https://github.com/InfiniteZeroFoundation/DevNet/discussions/216) (progress updates, questions, PR links) --- @@ -111,13 +111,13 @@ function getAggregatorSubmission(uint _GI, TierKind tier, uint _batchId, address ## Deliverables (Part A) -- [ ] A1a–c implemented, with no change to state-changing functions, events or storage layout -- [ ] A per-change and combined size table, from **one** build of the actual implementation, plus the two extra candidates' measured sizes -- [ ] The gate is in CI. The PR shows it failing on a deliberately oversized build and printing the 2,048 B warning -- [ ] dincli call sites and `tests/test_aggregator_commit_retry.py` moved. `pytest -m "not integration"` is green -- [ ] `cd foundry && npm ci && forge build && forge test` is green across the full suite, including `UpgradeValidation.t.sol` -- [ ] `anvil.sh` comment, `CONTRIBUTING.md` thresholds, `DINTaskCoordinator.md` and the bundled ABI updated -- [ ] ABI note posted on PR #29 +- [x] A1a–c implemented, with no change to state-changing functions, events or storage layout +- [x] A per-change and combined size table, from **one** build of the actual implementation, plus the two extra candidates' measured sizes +- [x] The gate is in CI. The PR shows it failing on a deliberately oversized build and printing the 2,048 B warning +- [x] dincli call sites and `tests/test_aggregator_commit_retry.py` moved. `pytest -m "not integration"` is green +- [x] `cd foundry && npm ci && forge build && forge test` is green across the full suite, including `UpgradeValidation.t.sol` +- [x] `anvil.sh` comment, `CONTRIBUTING.md` thresholds, `DINTaskCoordinator.md` and the bundled ABI updated +- [x] ABI note posted on PR #29 **Estimate:** 3 days. @@ -136,8 +136,8 @@ Ship it as a separate commit in PR 1, so the security fix can be reviewed and re ## Deliverables (Part B) -- [ ] Modifier added, with the three tests above -- [ ] The gate is green, and the PR shows the final size with B included +- [x] Modifier added, with the three tests above +- [x] The gate is green, and the PR shows the final size with B included **Estimate:** 0.5 day. @@ -170,10 +170,10 @@ Implements amendments 1–6 of the [#192 approval review](https://github.com/Inf ## Deliverables (Part C) -- [ ] Contract hash, NatSpec, dincli helper, the shared test helper and every affected test updated -- [ ] The three regression tests -- [ ] Docs updated. Bundled ABI confirmed unchanged -- [ ] `forge test` and `pytest -m "not integration"` green. `DINTaskAuditor` size reported +- [x] Contract hash, NatSpec, dincli helper, the shared test helper and every affected test updated +- [x] The three regression tests +- [x] Docs updated. Bundled ABI confirmed unchanged +- [x] `forge test` and `pytest -m "not integration"` green. `DINTaskAuditor` size reported **Estimate:** 2 days (most of it is test churn). @@ -201,9 +201,9 @@ This is the auditor-side copy of PR #197's aggregator fix. Mirror `aggregate_t1` ## Deliverables (Part D) -- [ ] D1 skip-if-committed and cache-before-send, with both tests -- [ ] D2 rename and `is not None` checks, with the naming test -- [ ] `pytest -m "not integration"` green +- [x] D1 skip-if-committed and cache-before-send, with both tests +- [x] D2 rename and `is not None` checks, with the naming test +- [x] `pytest -m "not integration"` green **Estimate:** 1 day. @@ -238,10 +238,10 @@ This is the auditor-side copy of PR #197's aggregator fix. Mirror `aggregate_t1` ## Deliverables (Part E) -- [ ] Owner-only resolve, silence-upholds expiry, batch-auditor-only open, `100 * 1e18` default bond -- [ ] All tests above. `forge test` green -- [ ] `DINTaskAuditor.md` §13 No. 1 caveat replaced with the new flow. Any dincli command calling these functions updated, with pytest green -- [ ] `DINTaskAuditor` size before and after in the PR. The Part A gate must stay green; Parts C and E both grow this contract +- [x] Owner-only resolve, silence-upholds expiry, batch-auditor-only open, `100 * 1e18` default bond +- [x] All tests above. `forge test` green +- [x] `DINTaskAuditor.md` §13 No. 1 caveat replaced with the new flow. Any dincli command calling these functions updated, with pytest green +- [x] `DINTaskAuditor` size before and after in the PR. The Part A gate must stay green; Parts C and E both grow this contract **Estimate:** 2 days. @@ -251,14 +251,14 @@ This is the auditor-side copy of PR #197's aggregator fix. Mirror `aggregate_t1` Rewrite the [DIN-Representative wiki page](https://github.com/InfiniteZeroFoundation/DevNet/wiki/DIN-Representative) against [`Documentation/public/roles/dinrep.md`](../../Documentation/public/roles/dinrep.md), as merged in PR #204. Cover every row of #207's table: -- [ ] `dincli dindao …` → `dincli dinrep …`, with the current command names (`approve-registration-request`, `reject-registration-request`, `approve-manifest-update`, `reject-manifest-update`, …) -- [ ] the command-reference link points to `roles/dinrep.md` (`roles/dindao.md` doesn't exist) -- [ ] platform deploy: seven proxies (adding `DinTreasury`, `DinToken`, `DinFeeRouter`, `DinEmission`), deployed by `foundry/script/DeployPlatform.s.sol`, then `dincli system import-deployments` -- [ ] fees: `DinCoordinator.withdraw()` is gone. Faucet and registry ETH go to `DinFeeRouter` via `sweep-fees` -- [ ] there's no `set-admin`. Ownership is `transferOwnership` on each contract -- [ ] minting: `mintEmission()` via `DinEmission` under `mintCap`, as well as `depositAndMint()`. The owner sets `dinPerEth`, `mintCap` and `retireFaucet` -- [ ] DIN-DAO governance is deferred to post-mainnet (DD-3) -- [ ] kill switch: the task contracts don't read `modelDisabled`; disabling only blocks manifest updates +- [x] `dincli dindao …` → `dincli dinrep …`, with the current command names (`approve-registration-request`, `reject-registration-request`, `approve-manifest-update`, `reject-manifest-update`, …) +- [x] the command-reference link points to `roles/dinrep.md` (`roles/dindao.md` doesn't exist) +- [x] platform deploy: seven proxies (adding `DinTreasury`, `DinToken`, `DinFeeRouter`, `DinEmission`), deployed by `foundry/script/DeployPlatform.s.sol`, then `dincli system import-deployments` +- [x] fees: `DinCoordinator.withdraw()` is gone. Faucet and registry ETH go to `DinFeeRouter` via `sweep-fees` +- [x] there's no `set-admin`. Ownership is `transferOwnership` on each contract +- [x] minting: `depositAndMint()` and `DinCoordinator.mintEmission()` (callable only by `DinEmission`), both under `mintCap`. The owner sets `dinPerEth`, `mintCap` and `retireFaucet` +- [x] DIN-DAO governance is deferred to post-mainnet (DD-3) +- [x] kill switch: the task contracts don't read `modelDisabled`; disabling only blocks manifest updates Keep the wiki conventions: `blob/develop/...` links, no assignee names or week-level dates. Link the wiki revision on #207.