Standards
Interop fixtures
Real files from Sparrow and Bitcoin Core that the device reads or refuses, and every known gap.
Real files from other wallets, kept so that nullroute's coordinator import
(packages/core/src/descriptor/coordinator.ts, spec
core.descriptor.coordinator) is tested against what those programs actually
write rather than against files its own tests made up.
Nothing here is edited. Every file is either a verbatim copy of a file another
project keeps as a test fixture, or the output of a real Bitcoin Core run that
anyone can repeat. Each file's SHA-256 is in SHA256SUMS, which sha256sum -c
reads, and the hash of SHA256SUMS itself is pinned in
packages/core/src/descriptor/coordinator.spec.yaml, so make verify fails if
any of it changes without the spec changing too.
cd spec/interop && sha256sum -c SHA256SUMS
The tests are in packages/core/test/interop.fixtures.test.ts and bind to
INV-COORD-1 to INV-COORD-6. Every expected value in them comes from somewhere
other than nullroute's code: a value Sparrow's own test asserts for that file,
an address BIP-129, BIP-84 or BIP-86 publishes, or what Bitcoin Core derived.
In this chapter
- 01Sparrow test resourcesThese files are from Sparrow Wallet, by the Sparrow Wallet project and its contributors, and are redistributed unmodified under the Apache License 2.0. Sparrow's licence is copied...
- 02Bitcoin Core 31.1 exportsEach file is a Core RPC result, written as Core returned it. Core on regtest writes tpub keys and bcrt1 addresses; nullroute ignores an extended key's version bytes, and the tests...
- 03GapsWhat these fixtures show nullroute does not do, or does differently. None of these is hidden by a test: each is asserted as it is.
Rendered from spec/interop/README.md, the same bytes that ship with the code. SHA-256 b13c292915c8fb50b9d62c7c64e284864faa181ac8982a113e8f90bbd41e7b56