Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

BL-25: cache_model_0/abis/ task-contract artifacts are stale vs. foundry/src (missing 67/96 ABI entries)

Aperta
#246 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@robertocarlous ci sta già lavorando.

Dal 16/10/2026.

  • #261 di @robertocarlous — aperta

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
42/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python, solidity

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Approved bug

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-off compilation block
  • 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)

  1. Regenerate both ABI files from foundry/out with full bytecode:
    cd foundry && forge build
    # extract from foundry/out/DINTaskCoordinator.sol/DINTaskCoordinator.json
    # extract from foundry/out/DINTaskAuditor.sol/DINTaskAuditor.json
    
    or via a new dincli system dump-abi --bytecode --output cache_model_0/abis if that subcommand lands first.
  2. Update cache_model_0/manifest.json:
    • Change "type" from "hardhat-artifact" to "foundry-artifact".
    • Update the compilation block to reflect foundry / solc 0.8.28 / via-IR / optimizer-off (matching foundry/foundry.toml).
    • Re-pin both files to IPFS and update their CIDs.
  3. Addresses only change on a contract redeploy — no address update needed unless a redeploy happens concurrently.

References

  • Developer/BACK_LOG.md BL-25
  • PR #171 merge note — cache_model_0/abis/ explicitly left out of scope
  • cache_model_0/manifest.json task_contracts block
  • dincli/cli/context.py _resolve_task_artifacts — CID-based ABI resolution path
Lingua principale
Python
Stelle
4
Fork
7
Merge medio
3g 58m
PR unite (30g)
39

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di InfiniteZeroFoundation/DevNet

Tutte le issue di InfiniteZeroFoundation/DevNet

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.