diff options
author | Antoine Poinsot <darosior@protonmail.com> | 2023-09-21 16:43:52 +0200 |
---|---|---|
committer | Antoine Poinsot <darosior@protonmail.com> | 2023-10-08 02:43:16 +0200 |
commit | 892436c7d575ffdb9bada5fe4e62d6c1f5053c42 (patch) | |
tree | 4b89d94109c406a909ca446cf6365bcab718c22c /src/script | |
parent | e5aaa3d77af7459b37c0c4a37eb22c5fd0cda3e1 (diff) |
miniscript: sanity asserts context in ComputeType
Diffstat (limited to 'src/script')
-rw-r--r-- | src/script/miniscript.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/script/miniscript.cpp b/src/script/miniscript.cpp index 15e0778ef5..c133f88709 100644 --- a/src/script/miniscript.cpp +++ b/src/script/miniscript.cpp @@ -71,8 +71,10 @@ Type ComputeType(Fragment fragment, Type x, Type y, Type z, const std::vector<Ty assert(n_keys == 1); } else if (fragment == Fragment::MULTI) { assert(n_keys >= 1 && n_keys <= MAX_PUBKEYS_PER_MULTISIG); + assert(!IsTapscript(ms_ctx)); } else if (fragment == Fragment::MULTI_A) { assert(n_keys >= 1 && n_keys <= MAX_PUBKEYS_PER_MULTI_A); + assert(IsTapscript(ms_ctx)); } else { assert(n_keys == 0); } @@ -215,8 +217,12 @@ Type ComputeType(Fragment fragment, Type x, Type y, Type z, const std::vector<Ty ((x << "h"_mst) && (y << "g"_mst)) || ((x << "i"_mst) && (y << "j"_mst)) || ((x << "j"_mst) && (y << "i"_mst)))); // k=k_x*k_y*k_z* !(g_x*h_y + h_x*g_y + i_x*j_y + j_x*i_y) - case Fragment::MULTI: return "Bnudemsk"_mst; - case Fragment::MULTI_A: return "Budemsk"_mst; + case Fragment::MULTI: { + return "Bnudemsk"_mst; + } + case Fragment::MULTI_A: { + return "Budemsk"_mst; + } case Fragment::THRESH: { bool all_e = true; bool all_m = true; |