Skip to content

Commit 2f5a46e

Browse files
author
ChallengeDev210
committed
Fix TapTree derserialization
Trees should only be serialized if both of the following conditions hold: 1) Tree is complete binary tree(is_finalized) 2) Tree does not have any hidden nodes
1 parent 8efc9a1 commit 2f5a46e

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

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() || !builder.has_hidden_nodes() {
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)