diff --git a/src/descriptor/tr.rs b/src/descriptor/tr.rs index f0b40db5c..a6cb9fb8e 100644 --- a/src/descriptor/tr.rs +++ b/src/descriptor/tr.rs @@ -115,7 +115,7 @@ impl TapTree { TapTree::Tree(ref left_tree, ref right_tree) => { 1 + max(left_tree.taptree_height(), right_tree.taptree_height()) } - TapTree::Leaf(..) => 1, + TapTree::Leaf(..) => 0, } } @@ -433,11 +433,7 @@ where key.args.len() ))); } - Ok(Tr { - internal_key: expression::terminal(key, Pk::from_str)?, - tree: None, - spend_info: Mutex::new(None), - }) + Tr::new(expression::terminal(key, Pk::from_str)?, None) } 2 => { let key = &top.args[0]; @@ -449,11 +445,7 @@ where } let tree = &top.args[1]; let ret = parse_tr_script_spend(tree)?; - Ok(Tr { - internal_key: expression::terminal(key, Pk::from_str)?, - tree: Some(ret), - spend_info: Mutex::new(None), - }) + Tr::new(expression::terminal(key, Pk::from_str)?, Some(ret)) } _ => { return Err(Error::Unexpected(format!(