// Desfasoara cele trei registre ERC-8004 V2 pe reteaua data (implicit: nodul hardhat local) si scrie fisierul // de adrese pe care suita de conformitate il primeste prin AERE_CONFORMANCE_ADDR_FILE. Asa conformitatea // CODULUI se masoara inainte sa desfasoare cineva ceva pe 2800 (care e semnatura fondatorului). // npx hardhat run scripts/conformanta-locala-8004.js --network localhost const { ethers, network } = require("hardhat"); const fs = require("fs"); const path = require("path"); async function main() { const [deployer] = await ethers.getSigners(); const idr = await (await ethers.getContractFactory("AereIdentityRegistry8004V2")).deploy(); await idr.waitForDeployment(); const rep = await (await ethers.getContractFactory("AereReputationRegistry8004V2")).deploy(await idr.getAddress()); await rep.waitForDeployment(); const val = await (await ethers.getContractFactory("AereValidationRegistry8004V2")).deploy(await idr.getAddress()); await val.waitForDeployment(); // un agent inregistrat si o cerere de validare, ca POP-1 sa aiba ce numara await (await idr["register(string)"]("ipfs://agent-local")).wait(); const h = ethers.keccak256(ethers.toUtf8Bytes("local-request")); await (await val.validationRequest(deployer.address, 1, "ipfs://req", h)).wait(); await (await val.validationResponse(h, 100, "", ethers.ZeroHash, "hard")).wait(); const out = { identity8004: await idr.getAddress(), validation8004: await val.getAddress(), reputation8004: await rep.getAddress(), // primitivele vii ale lui 2800 nu exista pe reteaua locala; se lasa pe cele de mainnet doar ca sa aiba forma, // iar verificarile lor (PQC, x402) NU sunt tinta rularii locale si raman cum ies agentDID: await idr.getAddress(), pqcKeyRegistry: await idr.getAddress(), aiReputation: await rep.getAddress(), aere402V2: await val.getAddress(), }; const p = path.join(__dirname, "..", "reports", "adrese-conformanta-locala.json"); fs.mkdirSync(path.dirname(p), { recursive: true }); fs.writeFileSync(p, JSON.stringify(out, null, 2)); console.log(`retea ${network.name}: identity ${out.identity8004}, reputation ${out.reputation8004}, validation ${out.validation8004}; adrese in ${p}`); } main().catch((e) => { console.error(e); process.exit(1); });