test-lcm-current/. Its test suite captures them with --capture-lcm (fixed RNG seed 12345, diagnostic events zeroed) and checks them on every CI run with stellar-core test --check-lcm. They are core’s canonical output for its own transaction tests.
That makes them a second conformance corpus, a much larger one: 866 files and 15,306 LedgerCloseMeta frames at core v30.0.0. Istravex runs all three SDKs over every frame.
What’s checked
For each frame, in each SDK: decode it asLedgerCloseMeta, re-encode it, and require the bytes to be identical. A frame that fails either step is recorded with its file and index, and any failure fails CI.
.cache/stellar-core and is pinned to the same commit as the generator’s stellar-core build, so goldens, generator and SDK expectations all describe one protocol.
How the goldens relate to the corpus
The goldens are broad; the corpus is targeted. The JavaScript check also indexes which golden tests contain each corpus pattern (corpus/results/goldens-patterns.json):
Core’s goldens don’t cover signed-payload signers at all, which is one reason the corpus exists alongside them. The goldens also use a test passphrase (
(V) (;,,;) (V)) and test-suite accounts, so they prove decoding but say nothing about what an indexer should store. That’s what expected_indexed is for.
These goldens are the “
--check-lcm goldens” the Istravex proposal refers to. Rather than replacing them, Istravex runs SDKs against them directly.