From 4f5712476a3cf66d3b4f225b883eeca2deee657b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C5=91rinc?= Date: Fri, 24 Jul 2026 14:47:42 -0700 Subject: [PATCH] test: characterize P2WSH miniscript output Add a relative-timelock case that consults the transaction checker during output metadata traversal. Use a valid input because the pre-fix missing-input path is only reliably diagnosed under a sanitizer. --- src/test/psbt_tests.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/test/psbt_tests.cpp b/src/test/psbt_tests.cpp index 5289cd3b2bf..bfcae3c46f5 100644 --- a/src/test/psbt_tests.cpp +++ b/src/test/psbt_tests.cpp @@ -292,6 +292,16 @@ BOOST_AUTO_TEST_CASE(update_psbt_output_witness_script) } } +BOOST_AUTO_TEST_CASE(update_psbt_output_miniscript_timelock) +{ + for (bool has_input : {true}) { // TODO: Zero-input updates read a missing input through the checker. + PSBTOutputTest test{"wsh(and_v(v:pk(),older(144)))"}; + auto out{test.UpdateOutput(has_input)}; + BOOST_CHECK(GetScriptForDestination(WitnessV0ScriptHash{out.witness_script}) == test.script_pubkey); + BOOST_CHECK(out.hd_keypaths.contains(test.pubkey)); + } +} + BOOST_AUTO_TEST_CASE(update_psbt_output_taproot) { for (bool has_input : {false, true}) {