Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 30 additions & 30 deletions Developer/tasks/task_021026_19.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)

---

Expand Down Expand Up @@ -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.

Expand All @@ -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.

Expand Down Expand Up @@ -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).

Expand Down Expand Up @@ -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.

Expand Down Expand Up @@ -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.

Expand All @@ -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.

Expand Down
Loading