MerkleBuoy is a helper that ensures that unbalanced Merkle trees iterated over their leaves run iteration in full.
Previously MerkleBuoy was used only internally for merging two MPC Merkle blocks. While implementing taproot support in new bp-std and psbt crates I stumbled upon the need for a similar structure with different max depth. So instead of creating a new one, I export this structure putting it into merkle module (where it belongs to, since it is not just MPC-specific anymore) and making it generic over the depth. None of the existing business logic or validation code must be affected.
MerkleBuoy
is a helper that ensures that unbalanced Merkle trees iterated over their leaves run iteration in full.Previously
MerkleBuoy
was used only internally for merging two MPC Merkle blocks. While implementing taproot support in newbp-std
andpsbt
crates I stumbled upon the need for a similar structure with different max depth. So instead of creating a new one, I export this structure putting it intomerkle
module (where it belongs to, since it is not just MPC-specific anymore) and making it generic over the depth. None of the existing business logic or validation code must be affected.