# step: delivery settlement · wai-rs and settlement_verify.py # order: 390 # features: settlement # paths: wai/extensions/settlement.md # independent: settlement live python3 -I live-conformance/settlement_verify.py live-conformance/settlement # # wai.delivery.settlement (extensions/settlement.md): the reference module's unit tests # (range proofs over every range around every chunk boundary of objects of many lengths # against BLAKE3's own root, tampered proofs refused, the group tree of jwp-receipts §2.2, # records and item lists read and refused, amounts rounded down per line) and # tests/settlement.rs (vectors.json regenerates byte for byte from its fixed seeds and no # other file is there, wai-rs gives every statement and range proof its stated outcome, §11 # lists exactly the reference's codes, each of which the corpus gives, beside every code it # reuses); and, in the step of every independent verifier above, the corpus's second # implementation, settlement_verify.py, written from the # extension's text and sharing no code with wai-rs, which verifies range proofs over # BLAKE3's chunk tree with claim-conformance's BLAKE3, reads rooms, grants and proofs with # live_rooms_verify.py and per-hop records with live_metering_verify.py, checks signatures # with WAI's strict Ed25519 rule, recomputes every figure of every statement, reads the # extension's reason table, requires every mutated copy of the corpus to fail, and drops # each of its own checks in turn and requires the corpus to catch the weakened verifier; # standard library only, run isolated (-I). # # The paths this step brings to the workflow's trigger, and why: # wai/extensions/settlement.md: tests/settlement.rs requires this extension's §11 to list the # codes the reference reports, settlement_verify.py reads that table, and the registry's wire # identifiers test reads its sections. set -euo pipefail (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib settlement::) (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test settlement)