Skip to content

test: mark tapscript/pushmaxlimit as non-standard for BIP-110 reduced…#3

Merged
v72t merged 1 commit into
v72t:29.3+UASF-BIP110from
dathonohm:fix-taproot-test
Mar 5, 2026
Merged

test: mark tapscript/pushmaxlimit as non-standard for BIP-110 reduced…#3
v72t merged 1 commit into
v72t:29.3+UASF-BIP110from
dathonohm:fix-taproot-test

Conversation

@dathonohm

Copy link
Copy Markdown

… push size limit

The tapscript/pushmaxlimit spender uses a leaf script with a 520-byte push (MAX_SCRIPT_ELEMENT_SIZE). Since SCRIPT_VERIFY_REDUCED_DATA is included in STANDARD_SCRIPT_VERIFY_FLAGS, the 256-byte reduced push limit (MAX_SCRIPT_ELEMENT_SIZE_REDUCED) is enforced as mempool policy. This causes the 520-byte push to be rejected as non-standard.

Without standard=False, the test intermittently tries to submit this spender to the mempool expecting acceptance, depending on whether the randomly chosen tx version and co-inputs happen to all be standard.

On the upstream Knots-based branch (bip110-v0.3), this fix was introduced by the match_more_datacarrier merge (Bitcoin Core PR 28408), which independently made large tapscript pushes non-standard via datacarrier size filtering. On this Core-based branch, the same fix is needed because SCRIPT_VERIFY_REDUCED_DATA has the same effect.

Reproduces with: --randomseed=823027376919141336

… push size limit

The tapscript/pushmaxlimit spender uses a leaf script with a 520-byte
push (MAX_SCRIPT_ELEMENT_SIZE). Since SCRIPT_VERIFY_REDUCED_DATA is
included in STANDARD_SCRIPT_VERIFY_FLAGS, the 256-byte reduced push
limit (MAX_SCRIPT_ELEMENT_SIZE_REDUCED) is enforced as mempool policy.
This causes the 520-byte push to be rejected as non-standard.

Without standard=False, the test intermittently tries to submit this
spender to the mempool expecting acceptance, depending on whether the
randomly chosen tx version and co-inputs happen to all be standard.

On the upstream Knots-based branch (bip110-v0.3), this fix was
introduced by the match_more_datacarrier merge (Bitcoin Core PR 28408),
which independently made large tapscript pushes non-standard via
datacarrier size filtering. On this Core-based branch, the same fix
is needed because SCRIPT_VERIFY_REDUCED_DATA has the same effect.

Reproduces with: --randomseed=823027376919141336
@v72t v72t merged commit 24190dd into v72t:29.3+UASF-BIP110 Mar 5, 2026
19 checks passed
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.

2 participants