dgb: pin v36 combined-donation P2SH bytes (bucket-2 standardization guard) - #272
Merged
Conversation
…uard) OracleDonationScript pins only the SIZE (23 bytes) of the v36 donation path; a drift in the 20-byte hash160 would slip past it silently. Lock the exact bytes get_donation_script(36) emits (OP_HASH160 PUSH20 <hash160> OP_EQUAL) against the canonical FLAG6 unified cross-coin v36 donation P2SH. 3-bucket rule: the v36 donation target is BUCKET 2 (v36-native shared structure) -> byte-identical across ALL v36 coins; this hash is the same 8c627262... as src/impl/ltc/config_pool.hpp COMBINED_DONATION_SCRIPT. Guards against a coin-local fork of the donation target during the transition window. Test-only, single-coin (src/impl/dgb/test/share_test.cpp); dgb_share_test already allowlisted. Suite 15/15 green.
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.
Phase B conformance guard-KAT (test-only, single-coin).
Gap closed:
OracleDonationScriptpins only the SIZE (23 bytes) of the v36 donation path. A drift in the 20-byte hash160 would slip past it silently. This locks the exact bytesget_donation_script(36)emits —OP_HASH160 PUSH20 <hash160> OP_EQUAL— against the canonical FLAG6 unified cross-coin v36 donation P2SH, plus a no-copy-divergence check vs the rawCOMBINED_DONATION_SCRIPTconstant.3-bucket rule: the v36 donation target is BUCKET 2 (v36-native shared structure) -> byte-identical across ALL v36 coins. This hash is the same
8c627262…assrc/impl/ltc/config_pool.hppCOMBINED_DONATION_SCRIPT. Guards against a coin-local fork of the donation target during the transition window.Fence:
src/impl/dgb/test/share_test.cpponly (+33). No shared-base / CMake / build.yml touch;dgb_share_testalready allowlisted (#143 trap avoided). Suite 15/15 green; new testV36CombinedDonationScriptBytespasses.HOLD-for-tap discipline.