Skip to content

Commit 43bcda6

Browse files
committed
Prevent TapTree from hidden parts
1 parent 99e7ab8 commit 43bcda6

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

src/util/psbt/map/output.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,8 @@ impl TapTree {
143143
pub fn from_inner(inner: TaprootBuilder) -> Result<Self, IncompleteTapTree> {
144144
if !inner.is_finalized() {
145145
Err(IncompleteTapTree::NotFinalized(inner))
146+
} else if inner.has_hidden_nodes() {
147+
Err(IncompleteTapTree::HiddenParts(inner))
146148
} else {
147149
Ok(TapTree(inner))
148150
}

src/util/psbt/serialize.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ impl Deserialize for TapTree {
355355
builder = builder.add_leaf_with_ver(*depth, script, leaf_version)
356356
.map_err(|_| encode::Error::ParseFailed("Tree not in DFS order"))?;
357357
}
358-
if builder.is_finalized() {
358+
if builder.is_finalized() || !builder.has_hidden_nodes() {
359359
Ok(TapTree(builder))
360360
} else {
361361
Err(encode::Error::ParseFailed("Incomplete taproot Tree"))

0 commit comments

Comments
 (0)