Skip to content

Commit

Permalink
Prevent TapTree from hidden parts
Browse files Browse the repository at this point in the history
  • Loading branch information
dr-orlovsky committed Apr 5, 2022
1 parent b0f3992 commit 7771531
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 1 deletion.
2 changes: 2 additions & 0 deletions src/util/psbt/map/output.rs
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,8 @@ impl TapTree {
pub fn from_inner(inner: TaprootBuilder) -> Result<Self, IncompleteTapTree> {
if !inner.is_finalized() {
Err(IncompleteTapTree::NotFinalized(inner))
} else if inner.has_hidden_nodes() {
Err(IncompleteTapTree::HiddenParts(inner))
} else {
Ok(TapTree(inner))
}
Expand Down
2 changes: 1 addition & 1 deletion src/util/psbt/serialize.rs
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ impl Deserialize for TapTree {
builder = builder.add_leaf_with_ver(*depth, script, leaf_version)
.map_err(|_| encode::Error::ParseFailed("Tree not in DFS order"))?;
}
if builder.is_finalized() {
if builder.is_finalized() || !builder.has_hidden_nodes() {
Ok(TapTree(builder))
} else {
Err(encode::Error::ParseFailed("Incomplete taproot Tree"))
Expand Down

0 comments on commit 7771531

Please sign in to comment.