dgb: BIP152 compact-block relay wire-parity KAT (ShortTxID + getblocktxn diffs) - #481
Merged
Merged
Conversation
…txn diffs)
Additive, FENCED, diagnostics/relay-only KAT pinning the BIP 152 wire
primitives in coin/compact_blocks.hpp: the 6-byte little-endian ShortTxID
layout / to_uint64 inverse, and the BlockTransactionsRequest (getblocktxn)
differential transaction-index encode/decode. Relay-only -- the reconstructed
full block is validated normally -- so no consensus / PoW / share-format /
payout surface. NON-CIRCULAR: short-ID bytes and the {0,2,6,10,11}->{0,1,3,3,0}
index-diff sequence are derived by hand from the BIP 152 spec and asserted
against the on-the-wire serialiser output. No call site rewired. 5/5 green;
registered in CMake + both build.yml --target allowlists.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Additive, FENCED, diagnostics/relay-only KAT — no consensus surface, src/impl/dgb/ only, no shared/other-coin touch.
Pins the BIP 152 compact-block RELAY wire primitives in
coin/compact_blocks.hpp:ShortTxID6-byte little-endian byte layout +to_uint64()inverseBlockTransactionsRequest(getblocktxn) differential transaction-index encode/decodeRelay-only: the reconstructed full block is validated normally, so this touches no PoW / share-format / payout / version-gate value. A drift here only changes bandwidth/reconstruction, never block validity — but it would desync us from any BIP 152 peer (DigiByte Core / the btc-family relay this header 1:1 mirrors).
NON-CIRCULAR anchors derived from the BIP 152 spec by hand and asserted against the on-the-wire serialiser output:
No call site rewired. 5/5 green locally; registered in CMake + BOTH build.yml --target allowlists (#143 NOT_BUILT trap).