Skip to content

test(dash): G1 difficulty/vardiff parity KAT vs p2pool-dash oracle#627

Closed
frstrtr wants to merge 1 commit into
masterfrom
ci-steward/dash-g1-difficulty-parity-kat
Closed

test(dash): G1 difficulty/vardiff parity KAT vs p2pool-dash oracle#627
frstrtr wants to merge 1 commit into
masterfrom
ci-steward/dash-g1-difficulty-parity-kat

Conversation

@frstrtr

@frstrtr frstrtr commented Jul 4, 2026

Copy link
Copy Markdown
Owner

Warm-lane byte-parity groundwork for the DASH migration (integrator 2026-07-04: G1 difficulty/vardiff parity KAT cleared as independently-landable ahead of the operator GO on the consensus flip).

What it does — adds test/test_dash_g1_difficulty_parity.cpp, a fenced non-circular KAT pinning the DASH sharechain difficulty target + net.PARENT coin-level fields against values transcribed from the oracle p2pool-dash/networks/dash.py:

  • max_target == oracle _DIFF1_TARGET = 0xFFFF*2**208 (SSOT accessor AND plumbed CoinParams field)
  • SANE_TARGET_RANGE structural pins (easiest sane == max_target; hardest non-zero and tighter)
  • PARENT parity: SYMBOL DASH, BLOCK_PERIOD 150, ADDRESS 76 / SCRIPT 16, DUST 0.001e8; testnet 140/19 divergence
  • IDENTIFIER/PREFIX pinned as a labeled bucket-1 regression guard, NOT oracle-conformance (c2pool-chosen namespacing, absent from the oracle PARENT)

Registered in test/CMakeLists.txt (mirrors the test_dash_x11_kat link set) and the build.yml --target allowlist so it cannot become a #143-style NOT_BUILT sentinel. No production code touched. Merge-gated — awaiting review/operator tap, no self-merge.

Adds test_dash_g1_difficulty_parity: fenced, non-circular byte-parity KAT
pinning the DASH sharechain difficulty target and net.PARENT coin-level
fields against values transcribed from the oracle networks/dash.py
(_DIFF1_TARGET = 0xFFFF*2**208; ADDRESS/SCRIPT versions; DUST 0.001e8).
SANE_TARGET_RANGE structural pins; IDENTIFIER/PREFIX pinned as a labeled
bucket-1 regression guard, not oracle-conformance. Registered in
test/CMakeLists.txt and the build.yml --target allowlist (no NOT_BUILT).
No production code touched.
@frstrtr frstrtr force-pushed the ci-steward/dash-g1-difficulty-parity-kat branch from cde90a9 to 5a56fb2 Compare July 4, 2026 19:06
@frstrtr

frstrtr commented Jul 4, 2026

Copy link
Copy Markdown
Owner Author

Closing as duplicate of #628 (same G1 difficulty/vardiff parity KAT). #628 carries the corrected build wiring: the target builds+links (6/6 DashDifficultyParity pass) and is now in BOTH build.yml allowlists including the Release+ASan/UBSan job (the missing entry there was the NOT_BUILT->red root cause). No math/wiring change was actually needed in test/CMakeLists.txt. Consolidating on #628.

@frstrtr frstrtr closed this Jul 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant