tools/verify-proof.mjs: exit 1 from verify-anchor.mjs counts as a failed anchor only with its own verdict line (FAIL:/PROBLEMS:); a verify-anchor.mjs that cannot start (a dependency not installed) now gives UNMEASURED instead of INVALID. proof-vectors/README.md: the notary on chain 2800 holds other digests (since 2026-09-17), none of these vectors; the earlier line said nothing was notarized there.
This commit is contained in:
parent
a7fa601e97
commit
31604bab02
@ -20,5 +20,6 @@ node ../verify-proof.mjs 06-notarized-28001.json --chain 28001 --rpc https://tes
|
||||
With `--chain 28001 --rpc https://testnet-rpc.aere.network`, 06 gives finality `post-quantum`: the state of the parent of the most
|
||||
recent anchor, whose certificate verify-anchor.mjs checks, records its statementHash in the testnet notary as first seen at
|
||||
1790478623 (2026-09-27T03:10:23Z), first in block 3,618,722. Its statement describes the AIP-22 conformance corpus file as it was
|
||||
served at that time (eight of nine kinds); the file has changed since, the statement has not. With `--rpc` on chain 2800, where
|
||||
nothing is notarized yet, 01 gives `not notarized`, proven absent from the certified state.
|
||||
served at that time (eight of nine kinds); the file has changed since, the statement has not. With `--rpc` on chain 2800, whose
|
||||
notary holds other digests but none of these vectors, 01 gives `not notarized`, proven absent from the certified state. (Until
|
||||
2026-09-29 this line said that nothing was notarized on chain 2800; the notary there has held digests since 2026-09-17.)
|
||||
|
||||
@ -174,7 +174,11 @@ async function finality(env, o) {
|
||||
});
|
||||
let rep = null; try { rep = JSON.parse(fs.readFileSync(report, 'utf8')); } catch { rep = null; }
|
||||
const tail = va.out.trim().split('\n').slice(-2).join(' | ').slice(0, 220);
|
||||
if (va.code === 1) return level('finality', 'FAILED', 'the chain\'s most recent anchor did not verify: ' + tail);
|
||||
// exit 1 is a verdict only with verify-anchor's own verdict line: Node also exits 1 when the tool cannot start (a dependency not
|
||||
// installed: ERR_MODULE_NOT_FOUND), and that is not a failure of the chain (2026-09-29)
|
||||
const verdictLine = /^(FAIL:|PROBLEMS:)/m.test(va.out);
|
||||
if (va.code === 1 && verdictLine) return level('finality', 'FAILED', 'the chain\'s most recent anchor did not verify: ' + tail);
|
||||
if (va.code === 1) return level('finality', 'UNMEASURED', 'verify-anchor.mjs stopped without a verdict (is `npm install` done beside it?): ' + tail);
|
||||
if (va.code !== 0 || !rep || !rep.parentHash || rep.chainId !== o.chain) return level('finality', 'UNMEASURED', 'the anchor could not be verified here (verify-anchor.mjs exit ' + va.code + '): ' + tail);
|
||||
// (b) the parent header, bound to the certified hash by re-encoding
|
||||
const X = rep.parentNumber;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user