Ejemplo n.º 1
0
        internal Proof GetProof(MerkleLeaf leaf)
        {
            var proof = new Proof(leaf.Hash, Root.Hash, _hashAlgorithm);
            var node  = (MerkleNodeBase)leaf;

            while (node.Parent != null)
            {
                if (node.Parent.Left == node)
                {
                    proof.AddRight(node.Parent.Right.Hash);
                }
                else
                {
                    proof.AddLeft(node.Parent.Left.Hash);
                }
                node = node.Parent;
            }
            return(proof);
        }