mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-06 19:23:41 +02:00
Merge bitcoin/bitcoin#34141: miniscript: Use Func and Expr when parsing keys, hashes, and locktimes
4b53cbd692test: Test for musig() in various miniscript expressions (Ava Chow)ec0f47b15cminiscript: Using Func and Expr when parsing keys, hashes, and locktimes (Ava Chow)6fd780d4fbdescriptors: Increment key_exp_index in ParsePubkey(Inner) (Ava Chow)b12281bd86miniscript: Use a reference to key_exp_index in KeyParser (Ava Chow)ce4c66eb7ctest: 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: ACK4b53cbd692sipa: ACK4b53cbd692darosior: Other than that, Approach ACK4b53cbd692. That makes sense to me but i have not closely reviewed the code. Tree-SHA512: 01040c7b07a59d8e3725ff11ab9543b256aea22535fb94059f490a5bb45319e859666af04c2f0a4edcb8cf1e6dfc7bd8a8271b21ad81143bafccd4d0a39cae9c
This commit is contained in:
@@ -37,6 +37,8 @@ public:
|
||||
std::optional<int64_t> MaxSatisfactionElems() const override { return {}; }
|
||||
void GetPubKeys(std::set<CPubKey>& pubkeys, std::set<CExtPubKey>& ext_pubs) const override {}
|
||||
std::vector<std::string> Warnings() const override { return {}; }
|
||||
uint32_t GetMaxKeyExpr() const override { return 0; }
|
||||
size_t GetKeyCount() const override { return 0; }
|
||||
};
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(wallet_load_descriptors, TestingSetup)
|
||||
|
||||
Reference in New Issue
Block a user