Skip to content

Instantly share code, notes, and snippets.

@sanket1729
Last active March 26, 2022 10:29
Show Gist options
  • Save sanket1729/9d92d1ad962769c7832f3df835dc7d5a to your computer and use it in GitHub Desktop.
Save sanket1729/9d92d1ad962769c7832f3df835dc7d5a to your computer and use it in GitHub Desktop.
Creating Spend Info from Tree sturcture
// Some user struct for trees
enum Tree {
Node(Tree,Tree),
Leaf(Miniscript),
}
impl Tree {
fn update_builder(&self, builder: TaprootBuilder, depth: usize) -> TaprootBuilder {
match self {
Leaf(ms) => builder.add_leaf(ms, depth),
Node(a, b) => {
builder = a.update_builder(builder, depth + 1);
b.update_builder(builder, depth + 1)
}
}
}
}
root.update_builder(&mut new_builder, 0);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment