From 425073829017c4deee51d4d3271dac7348ea0c3c Mon Sep 17 00:00:00 2001 From: Aere Network Date: Sat, 26 Sep 2026 16:20:11 +0300 Subject: [PATCH] verify-anchor: FINALIZED (post-quantum) summary line; probes proba-pe-lant/control-negativ repaired upstream, 2026-09-26 --- tools/verify-anchor.mjs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/verify-anchor.mjs b/tools/verify-anchor.mjs index dc3ed21..b2786e1 100644 --- a/tools/verify-anchor.mjs +++ b/tools/verify-anchor.mjs @@ -413,6 +413,11 @@ let ok = 0, bad = 0, sealsTotal = 0, sealsValid = 0; // tocmai urmase instructiunea noastra de pe site. Un NEMASURAT nemeritat e la fel de mincinos ca un verde // nemeritat: se numara separat si iese cu alt cod. let unmeasured = 0; +// 2026-09-26: the most recent anchor whose certificate VERIFIED here (anchors are walked newest first). Its PARENT is the +// post-quantum finality point of the chain (AIP-15/22: the certificate signs the parent's commit message); printed in the +// summary so a stranger gets the answer to "which block is final" from this tool, not from our word. Nodes do not serve the +// finalized/safe tags on this chain yet (measured 2026-09-26: eth_getBlockByNumber("finalized") answers "Unknown block"). +let newestOk = null; // ce scheme au fost CHIAR verificate: rezumatul final nu are voie sa numeasca o schema pe care nu a vazut-o const schemesSeen = new Set(); let cursor = anchor; @@ -496,7 +501,7 @@ for (let i = 0; i < COUNT; i++) { && unknownScheme.length === 0 && unknownIndex.length === 0 && notValidator.length === 0 && noKey.length === 0 && unbound.length === 0; const summary = Object.entries(perScheme).map(([nm, c]) => c + ' ' + nm).join(' + '); - if (good) { ok++; console.log(h + ' OK: bound under block hash' + (isV2 ? ' (v2, scheme-tagged)' : '') + ', ' + n + ' seals (' + summary + '), all valid and from validators of this height (' + (h - 1 >= KEYS_FROM && v3EpochAt(h - 1) ? 'keys of the registry v3 epoch ' + v3EpochAt(h - 1).bindHeight : 'manifest ' + man.bindHeight) + ')'); } + if (good) { ok++; if (newestOk === null) newestOk = h; console.log(h + ' OK: bound under block hash' + (isV2 ? ' (v2, scheme-tagged)' : '') + ', ' + n + ' seals (' + summary + '), all valid and from validators of this height (' + (h - 1 >= KEYS_FROM && v3EpochAt(h - 1) ? 'keys of the registry v3 epoch ' + v3EpochAt(h - 1).bindHeight : 'manifest ' + man.bindHeight) + ')'); } else if (envBlocked) { unmeasured++; console.log(h + ' NOT VERIFIED HERE: bound under block hash, ' + falconValid + ' valid falcon-512 seals, but this' @@ -587,6 +592,7 @@ console.log(all + ' proposer seals were not judged. This says nothing about the chain; try another endpoint (RPC=...).' : '') : 'PROBLEMS: ' + bad + ' of ' + COUNT + ' anchors and ' + manifestBad + ' manifests failed' + (propBad ? ', and ' + propBad + ' proposer seals' : '') + ' - do not take our word for anything; the failure list above is the finding.' + (unmeasured ? ' (' + unmeasured + ' more could not be checked here: npm install @noble/post-quantum)' : ''))); +if (newestOk !== null) console.log('FINALIZED (post-quantum): block ' + (newestOk - 1) + ', the parent of anchor ' + newestOk + ', the most recent anchor whose certificate verified here. Nothing between anchors is final; a header between anchors carries only its proposer\'s seal.'); if (!slhDsa) console.log('note: @noble/post-quantum is not installed, so a v2 certificate carrying SLH-DSA seals cannot be verified here (npm install @noble/post-quantum).'); // three states, three exit codes: 0 verified, 1 the chain failed a check, 2 this machine could not measure. process.exit(all ? 0 : (bad === 0 && manifestBad === 0 && propBad === 0 ? 2 : 1));