Skip to content

fix(consensus): activate Taproot and close second-pass audit gaps#59

Merged
BarneyChambers merged 1 commit into
masterfrom
fix/audit-remediation-2026-05
Jun 1, 2026
Merged

fix(consensus): activate Taproot and close second-pass audit gaps#59
BarneyChambers merged 1 commit into
masterfrom
fix/audit-remediation-2026-05

Conversation

@BarneyChambers

Copy link
Copy Markdown
Collaborator

Enable BIP341 (ALWAYS_ACTIVE) on all networks so witness v1/bech32m outputs are fully validated instead of accepting arbitrary witnesses.

Hardens the May audit remediation branch with LWMA and Dilithium activation functional tests, corrected Dilithium tapscript sigop checks, Taproot empty-witness regression coverage, and Python test framework constants matching 8 MW / 15k script element limits.

Adds Dilithium fuzz coverage, wallet cross-type and encryption tests, quick-test.sh, and verification notes for BTQ-AUDIT-2026-028 onward.

Enable BIP341 (ALWAYS_ACTIVE) on all networks so witness v1/bech32m
outputs are fully validated instead of accepting arbitrary witnesses.
Hardens the May audit remediation branch with LWMA and Dilithium
activation functional tests, corrected Dilithium tapscript sigop
checks, Taproot empty-witness regression coverage, and Python test
framework constants matching 8 MW / 15k script element limits.
Adds Dilithium fuzz coverage, wallet cross-type and encryption tests,
quick-test.sh, and verification notes for BTQ-AUDIT-2026-028 onward.

Co-authored-by: Cursor <cursoragent@cursor.com>
@BarneyChambers BarneyChambers merged commit 49fe1c1 into master Jun 1, 2026
3 of 4 checks passed
BarneyChambers added a commit that referenced this pull request Jun 9, 2026
… interpreter

PR #57 changed the GetTxSigOpCost P2WPKH/P2SH-P2WPKH assertions to expect
SCRIPT_ERR_WITNESS_PUBKEYTYPE, matching its own (now superseded) witness
program handling. The merge adopted master/#59's VerifyWitnessProgram, which
gates the witness-pubkeytype check behind SCRIPT_VERIFY_WITNESS_PUBKEYTYPE
(not in the test's flags), so a 33-byte non-compressed witness pubkey now
fails the OP_EQUALVERIFY (HASH160 mismatch) instead. Restore the upstream/
master expectation of SCRIPT_ERR_EQUALVERIFY so the test matches the
interpreter we kept. Fixes a sigopcount_tests abort + arg-pollution cascade.
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