dash(s6): DIP-0027 asset-lock/unlock payload wire conformance KAT - #140
Closed
frstrtr wants to merge 1 commit into
Closed
dash(s6): DIP-0027 asset-lock/unlock payload wire conformance KAT#140frstrtr wants to merge 1 commit into
frstrtr wants to merge 1 commit into
Conversation
…Lock/CAssetUnlock KAT) Vector-driven serialization/parsing parity for the two DIP-0027 special-tx payloads the credit-pool balance scanner reads off the wire: CAssetLockPayload (type 8, vector<TxOut> credit outputs) and CAssetUnlockPayload (type 9, fixed index/fee/requestedHeight + quorumHash + 96B BLS sig). KATs computed out-of-band with CPython so the pins are non-circular with the C++ ::Serialize path; parse cases prove parse_assetlock_payload/parse_assetunlock_payload are the exact inverse and reject trailing garbage. Test-only, single-coin (src/impl/dash).
Owner
Author
|
Closing per operator: DIP-0027 asset-lock WIRE conformance is SHELVED (out of S6 scope, operator decision 2026-06-18). Branch + commits preserved (no delete) — reopen if it comes back into scope. |
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.
Operator-decided scope (KAT assetlock): DIP-0027 asset-lock WIRE conformance as known-answer-tests — vector-driven serialization/parsing parity ONLY. No state machine (correctly shelved).
What
Adds 6 KATs to test_dash_conformance.cpp covering both DIP-0027 special-tx payloads the credit-pool balance scanner reads off the wire:
Non-circular
Expected hex computed OUT-OF-BAND with CPython (LE struct pack + Bitcoin CompactSize + raw sha256d/sig bytes), so pins do not derive from the C++ ::Serialize path under test. Parse cases feed the same out-of-band bytes straight into parse_assetlock_payload/parse_assetunlock_payload.
Isolation / verification
Stacked on #138 (s6-cbtx-conformance); retarget to master once #138 lands.