BL-25: cache_model_0/abis/ task-contract artifacts are stale vs. foundry/src (missing 67/96 ABI entries)
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- python, solidity
- Domain
- backend-api-design, blockchain
Research direction
Read cache_model_0/manifest.json, foundry/foundry.toml, and dincli/cli/context.py to understand artifact metadata and CID resolution; then build the contracts with forge build in foundry. Regenerate the coordinator and auditor artifacts from foundry/out, update their manifest type and compilation details, and re-pin both files to IPFS with the resulting CIDs. Done when both ABIs contain the entries from foundry/src and the manifest resolves the regenerated artifacts.
Written by the indexing model from the issue text.
Description
Summary
cache_model_0/abis/DINTaskCoordinator.json and DINTaskAuditor.json are hardhat artifacts last regenerated 2026-06-09. They are missing 67 ABI entries for the coordinator (104 vs. 170 in foundry/src) and 96 entries for the auditor (68 vs. 158), and carry pre-foundry constructors.
PR #171 regenerated the six bundled dincli/abis/ files from foundry/out but explicitly left these alone because cache_model_0/manifest.json's task_contracts block:
- pins each artifact to an IPFS CID
- records
"type": "hardhat-artifact"and a hardhat/cancun/optimizer-offcompilationblock - carries the currently deployed contract addresses
Regenerating the files locally without updating the manifest would leave the manifest describing artifacts it no longer points to and dincli's CID-based resolution would still fetch the old files from IPFS.
Impact
Any model owner or tool that follows cache_model_0 as a reference and resolves task-contract ABIs through the manifest will hit ABI encoding mismatches on the ~67 / ~96 entries added since the last hardhat regeneration — covering all reward settlement, commit-reveal, seed-lock, encrypted-test-data, and dispute-resolution surfaces added in P3.
Fix (one pass)
- Regenerate both ABI files from
foundry/outwith full bytecode:
or via a newcd foundry && forge build # extract from foundry/out/DINTaskCoordinator.sol/DINTaskCoordinator.json # extract from foundry/out/DINTaskAuditor.sol/DINTaskAuditor.jsondincli system dump-abi --bytecode --output cache_model_0/abisif that subcommand lands first. - Update
cache_model_0/manifest.json:- Change
"type"from"hardhat-artifact"to"foundry-artifact". - Update the
compilationblock to reflect foundry / solc 0.8.28 / via-IR / optimizer-off (matchingfoundry/foundry.toml). - Re-pin both files to IPFS and update their CIDs.
- Change
- Addresses only change on a contract redeploy — no address update needed unless a redeploy happens concurrently.
References
Developer/BACK_LOG.mdBL-25- PR #171 merge note —
cache_model_0/abis/explicitly left out of scope cache_model_0/manifest.jsontask_contractsblockdincli/cli/context.py_resolve_task_artifacts— CID-based ABI resolution path
- Dominant language
- Python
- Stars
- 4
- Forks
- 7
- Avg merge
- 3d 7h
- Merged PRs (30d)
- 33
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from InfiniteZeroFoundation/DevNet
-
ROADMAP.md: refresh "What is still open for P3" (several items were fixed in October)Possibly taken @umermjd11 claimed this 5 days ago. Opendocumentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
InfiniteZeroFoundation/DevNet#285 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
-
Update the 25 translated organisation READMEs to match the English versionPossibly taken @mrCabez claimed this 3 days ago. Opengood first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
InfiniteZeroFoundation/DevNet#277 · 3 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Update the client-service guide to explain training and uploading separatelyPossibly taken @Santiagocetran claimed this 3 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
InfiniteZeroFoundation/DevNet#266 · 1 assignee ·
Maintainers usually reply within 1 day
-
Few questions related to GI2 aggregatorPossibly taken @Abidoyesimze claimed this 2 days ago. Open
InfiniteZeroFoundation/DevNet#307 · 1 comment · 1 reaction · 4 assignees ·
Maintainers usually reply within 1 day
-
bug python
Difficulty 4/5 3-5 days Newbie friendliness 52/100
InfiniteZeroFoundation/DevNet#306 ·
Maintainers usually reply within 1 day
All issues in InfiniteZeroFoundation/DevNet
Similar issues
-
URLValidator ignores an explicit empty scheme allowlistPossibly taken @IlyaKhalafi claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
tortoise/tortoise-orm#2393 ·
Maintainers usually reply within 2 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
frappe/frappe_docker#2046 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
-
AXI SMU SPEC
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
tenstorrent/tt-oca-harness#3556 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
microsoft/agent-framework#9946 ·
Maintainers usually reply within 1 day