merge-script
d9c7364ac5
Merge bitcoin/bitcoin#34141 : miniscript: Use Func and Expr when parsing keys, hashes, and locktimes
...
4b53cbd692 test: Test for musig() in various miniscript expressions (Ava Chow)
ec0f47b15c miniscript: Using Func and Expr when parsing keys, hashes, and locktimes (Ava Chow)
6fd780d4fb descriptors: Increment key_exp_index in ParsePubkey(Inner) (Ava Chow)
b12281bd86 miniscript: Use a reference to key_exp_index in KeyParser (Ava Chow)
ce4c66eb7c test: Test that key expression indexes match key count (Ava Chow)
Pull request description:
The miniscript parser currently only looks for the next `)` when parsing key, hash, and locktime expressions. This fails to parse when the expressions contain a nested expression. Currently, this is only possible with `musig()` inside of key expressions. However, this pattern can be generalized to handling hashes and locktimes, so I implemented those too.
Fixes #34076
ACKs for top commit:
rkrux:
ACK 4b53cbd692
sipa:
ACK 4b53cbd692
darosior:
Other than that, Approach ACK 4b53cbd692 . That makes sense to me but i have not closely reviewed the code.
Tree-SHA512: 01040c7b07a59d8e3725ff11ab9543b256aea22535fb94059f490a5bb45319e859666af04c2f0a4edcb8cf1e6dfc7bd8a8271b21ad81143bafccd4d0a39cae9c
2026-02-21 12:18:56 +01:00
..
2026-02-09 15:55:55 -05:00
2025-12-16 22:21:15 +01:00
2026-01-23 15:59:07 +01:00
2026-01-20 23:59:43 +01:00
2026-01-20 23:59:41 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-05-13 15:50:02 +02:00
2025-12-16 22:21:15 +01:00
2026-01-14 11:38:07 -08:00
2026-02-17 21:40:46 +05:30
2025-12-16 22:21:15 +01:00
2026-02-06 07:56:57 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2026-02-17 21:40:46 +05:30
2025-12-16 22:21:15 +01:00
2026-02-17 09:04:36 -05:00
2026-01-30 16:17:12 -05:00
2026-02-19 22:10:41 -05:00
2026-02-12 21:31:23 -05:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2026-02-02 15:20:47 -08:00
2026-02-06 07:56:57 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-07-07 10:39:45 +02:00
2025-12-16 22:21:15 +01:00
2025-06-03 15:13:54 +02:00
2026-02-13 10:52:25 +01:00
2025-12-16 22:21:15 +01:00
2025-12-17 11:57:11 -03:00
2025-12-16 22:21:15 +01:00
2026-01-31 08:45:10 +03:00
2025-12-16 22:21:15 +01:00
2026-01-16 11:00:58 +01:00
2025-08-11 16:47:51 +01:00
2025-12-16 22:21:15 +01:00
2025-12-17 16:54:35 +00:00
2026-01-20 15:47:17 -08:00
2025-12-16 22:21:15 +01:00
2025-05-30 10:12:38 -04:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-11-30 10:57:48 -05:00
2026-02-02 15:20:51 -08:00
2025-12-16 22:21:15 +01:00
2025-10-09 20:47:25 +02:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2026-02-06 17:10:25 -08:00
2026-02-06 17:10:25 -08:00
2026-01-27 14:45:35 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-03 13:36:58 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-11-25 10:35:11 +00:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2026-02-13 11:17:26 +00:00
2026-02-13 11:17:26 +00:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-02 15:07:01 +00:00
2025-12-16 22:21:15 +01:00
2026-02-11 19:46:19 -05:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2026-02-06 07:56:57 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2025-08-14 10:17:32 +10:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2026-02-11 15:48:00 +00:00
2025-12-16 22:21:15 +01:00
2025-12-16 22:21:15 +01:00
2026-02-17 15:02:40 -05:00
2025-12-16 22:21:15 +01:00
2026-02-06 07:56:57 +01:00
2026-02-06 07:56:57 +01:00
2026-02-06 07:56:57 +01:00
2026-01-27 14:45:35 +01:00
2025-12-16 22:21:15 +01:00
2026-02-09 15:55:58 -05:00
2025-12-03 13:36:58 +01:00
2025-12-16 22:21:15 +01:00
2026-01-23 15:59:07 +01:00
2026-02-06 18:00:18 -08:00
2026-01-29 14:43:27 -08:00
2026-02-02 15:21:16 -08:00
2025-12-16 22:21:15 +01:00
2025-06-03 19:56:55 +02:00
2025-12-16 22:21:15 +01:00