35PASS
0FAIL
5NOT MEASURED
How to read this. A PASS means the live chain matched an expectation written down before the chain was asked. A NOT MEASURED line is not a confirmation: it names something this toolkit cannot decide from a public endpoint, and it is listed instead of hidden. The toolkit refuses to report green unless its own self-test, which plants twenty-one deliberate defects, catches every one first.
0. The endpoint PASS 1 · FAIL 0 · NOT MEASURED 0
| check | claim | expected | observed | verdict |
|---|---|---|---|---|
| lant.chainId | the endpoint serves the chain this toolkit is written about | 2800 | 2800 | PASS |
1. Post-quantum precompiles on the live chain PASS 17 · FAIL 0 · NOT MEASURED 1
| check | claim | expected | observed | verdict |
|---|---|---|---|---|
| pqc.punct-final.corp-mare | this endpoint accepts a request large enough to carry an SLH-DSA verification (~11.8 KB of calldata). A failure HERE is about the endpoint in front of the node, not about the chain | accepts 12000 bytes of calldata | accepts 12000 bytes of calldata | PASS |
| pqc.calibrare.identity | gas ruler calibrated on the identity precompile 0x04 at the Yellow Paper price 15+3*ceil(len/32) | 21 | 21 | PASS |
| pqc.gaz.FALCON512 | 0x0000000000000000000000000000000000000ae1 burns exactly the gas its published source declares for a 64-byte input | 40000 | 40000 | PASS |
| pqc.gaz.FALCON1024 | 0x0000000000000000000000000000000000000ae2 burns exactly the gas its published source declares for a 64-byte input | 75000 | 75000 | PASS |
| pqc.gaz.MLDSA44 | 0x0000000000000000000000000000000000000ae3 burns exactly the gas its published source declares for a 64-byte input | 55000 | 55000 | PASS |
| pqc.gaz.SLHDSA128S | 0x0000000000000000000000000000000000000ae4 burns exactly the gas its published source declares for a 64-byte input | 350000 | 350000 | PASS |
| pqc.control.adresa-goala | an address in the same band with nothing behind it burns 0 extra gas, so a nonzero charge above is not an artefact of the method | 0 | 0 | PASS |
| pqc.testnet-only.MLKEM768_TESTNET_ONLY | 0x0000000000000000000000000000000000000ae6 is TESTNET ONLY and is NOT active on this chain | 0 | 0 | PASS |
| pqc.testnet-only.HASHTOPOINT_TESTNET_ONLY | 0x0000000000000000000000000000000000000ae7 is TESTNET ONLY and is NOT active on this chain | 0 | 0 | PASS |
| pqc.falcon512.kat | 0x0AE1 accepts every reference Falcon-512 signature and rejects every one-bit mutation of it (8 accept, 8 reject) | 8/8 | 8/8 | PASS |
| pqc.mldsa44.acvp | 0x0000000000000000000000000000000000000ae3 agrees on every vector, accepts and rejects alike (3 accept, 12 reject) -- NIST wrote the reject cases, not us | 3/12 | 3/12 | PASS |
| pqc.slhdsa128s.acvp | 0x0000000000000000000000000000000000000ae4 agrees on every vector, accepts and rejects alike (2 accept, 12 reject) -- NIST wrote the reject cases, not us | 2/12 | 2/12 | PASS |
| pqc.shake256.acvp | 0x0AE5 reproduces every NIST ACVP SHAKE-256 digest byte for byte (139 vectors) | 139 | 139 | PASS |
| pqc.shake256.oracol-local | the toolkit's own pure-JS SHAKE256 agrees with NIST on the same vectors, so a chain match is a three-way agreement and not two copies of one mistake | 0 | 0 | PASS |
| pqc.falcon1024.parametru-gresit | 0x0AE2 rejects a Falcon-512 input, so it is not a stub that answers 1 to anything | 0x0000000000000000000000000000000000000000000000000000000000000000 | 0x0000000000000000000000000000000000000000000000000000000000000000 | PASS |
| pqc.falcon1024.executa | 0x0AE2 returns a full 32-byte word rather than the empty 0x an absent address returns | 66 | 66 | PASS |
| pqc.falcon1024.acvp | 0x0000000000000000000000000000000000000ae2 agrees on every vector, accepts and rejects alike (2 accept, 3 reject) -- the accept vectors carry a NIST round-3 attribution this kit passed through without verifying, and the reject vectors are our own bit-flips, because NIST publishes no Falcon suite | 2/3 | 2/3 | PASS |
| pqc.consens | whether block sealing uses a post-quantum signature | null | null | NOT MEASURED |
2. Block interval, measured PASS 4 · FAIL 0 · NOT MEASURED 2
| check | claim | expected | observed | verdict |
|---|---|---|---|---|
| interval.banda | every one of 4 disjoint 2000-block windows near the head gives a block interval inside the stated band | 0.5 .. 0.55 s | 0.5325 .. 0.5325 s | PASS |
| interval.banda-masurabila | the declared band is wider than what 2000-block windows can resolve, so a verdict on it is a statement about the chain rather than about timestamp truncation | > 0.00100 s, which is 2/K | 0.05000 s | PASS |
| interval.imprastiere | the 4 windows disagree by 0.00000 s, so the rate is quoted as +/- 0.00050 s, dominated by timestamp quantisation; with that margin included the figure still fits inside the declared band, so one number honestly describes this sample | 0.5 .. 0.55 s | 0.53200 .. 0.53300 s | PASS |
| interval.viata-nu-este-acum | the genesis-to-head lifetime average is a DIFFERENT number from the current rate, so the current rate must never be published as the chain's lifetime speed | different | different | PASS |
| interval.cauza | why the current rate is what it is, and whether it will hold | null | null | NOT MEASURED |
| interval.varianta-reala | how much of the window-to-window spread is a real change of speed and how much is sampling noise | null | null | NOT MEASURED |
3. Validator set, read out of headers PASS 7 · FAIL 0 · NOT MEASURED 1
| check | claim | expected | observed | verdict |
|---|---|---|---|---|
| validatori.numar | every one of 200 sampled headers publishes the same validator count | 9 | 9 | PASS |
| validatori.set-stabil | the validator MEMBERSHIP is byte-identical across all 200 sampled headers | 1 | 1 | PASS |
| validatori.cvorum-sigilii | every sampled block carries at least the QBFT quorum of committed seals (ceil(2*9/3) = 6) | >= 6 | 6..6 | PASS |
| validatori.propunator-membru | the proposer of every sampled block is a member of the validator set that same block publishes | 200 | 200 | PASS |
| validatori.recensamant | distinct proposers actually seen producing blocks in the sample -- configured is not the same as producing | 9 | 9 | PASS |
| validatori.lungime-sigiliu | committed seals are 65 bytes, the classical secp256k1 ECDSA r||s||v shape -- this chain's consensus is NOT post-quantum | 65 | 65 | PASS |
| validatori.rpc-vs-antet | the qbft_getValidatorsByBlockNumber RPC method agrees with what the headers themselves carry -- if these ever differ, believe the headers | 0x1bd5514286f5602a6762b0075266379d29af1c9d,0x4bf6f91d84b37454544279cba152581ed6820044,0x5f50fc4e1b129bbd5e6e9f80c57680b0b4a86eb0,0x97473985d04723299559f49b856effb47d7abfad,0xb5e768cb3117ea25175f51aa956b48691025c2a8,0xc3314fd768bb68b986e80c0a14175f6f72630d7a,0xdf09b32c761620c5be77da398b97a64f03c3980c,0xe13aa491abbc1252dd714e7ca0e55717a2143eaf,0xf73bbbd26a82dbc769066550d8d4585eab2fc00d | 0x1bd5514286f5602a6762b0075266379d29af1c9d,0x4bf6f91d84b37454544279cba152581ed6820044,0x5f50fc4e1b129bbd5e6e9f80c57680b0b4a86eb0,0x97473985d04723299559f49b856effb47d7abfad,0xb5e768cb3117ea25175f51aa956b48691025c2a8,0xc3314fd768bb68b986e80c0a14175f6f72630d7a,0xdf09b32c761620c5be77da398b97a64f03c3980c,0xe13aa491abbc1252dd714e7ca0e55717a2143eaf,0xf73bbbd26a82dbc769066550d8d4585eab2fc00d | PASS |
| validatori.cine-le-opereaza | who operates these seven keys | null | null | NOT MEASURED |
4. On-chain contract fingerprints PASS 5 · FAIL 0 · NOT MEASURED 1
| check | claim | expected | observed | verdict |
|---|---|---|---|---|
| amprente.chainid | the endpoint being questioned is the chain this manifest was built against | 2800 | 2800 | PASS |
| amprente.citiri-instabile | no registered address answered the same pinned read-only eth_getCode two different ways during this run. A failure HERE is about the endpoint, not about the chain: it means a caller doing one read and believing it would have been told something false | 0 | 0 | PASS |
| amprente.neschimbate | all 185 registered contracts still carry exactly the runtime code the manifest recorded | 0 | 0 | PASS |
| amprente.sursa-publicata | the number of live contracts whose runtime code is byte-for-byte the output of a published compiled artifact | 34 | 34 | PASS |
| amprente.sursa-fara-metadata | the number of live contracts that match a published artifact only once the Solidity metadata trailer is stripped | 7 | 7 | PASS |
| amprente.restul | source provenance of the other 144 live registered contracts | null | null | NOT MEASURED |
5. Endpoint behaviour during the run PASS 1 · FAIL 0 · NOT MEASURED 0
| check | claim | expected | observed | verdict |
|---|---|---|---|---|
| punct-final.raspunsuri-nereusite | this endpoint answered every one of 611 read-only questions on the first attempt, with no transport failure, no HTTP 5xx and no -32603. A failure HERE is about the endpoint, not the chain. 0 answer(s) only arrived after a retry, and 0 never arrived at all -- a caller who asked once and believed what came back would have been misled in the first case and stuck in the second | 0 | 0 | PASS |
Reproduce this report yourself
The toolkit is a single download, installs nothing, and talks only to a public RPC endpoint. Node 18 or newer.
curl -O https://aere.network/tools/verifica-lantul.tar.gz tar -xzf verifica-lantul.tar.gz && cd verifica-lantul node autotest.mjs # prove the toolkit can say NO node verifica.mjs --json report.json node genereaza-raport-conformitate.cjs report.json my-report.html