()
| 107 | } |
| 108 | |
| 109 | func (mt *MerkleTree) Finalize() { |
| 110 | if !mt.finalized && mt.mtbuf.Len() > 1 { |
| 111 | for { |
| 112 | dupNode := mt.mtbuf.Back().Value.(node).Copy() |
| 113 | mt.dnf(dupNode.Data) |
| 114 | mt.insertNode(dupNode) |
| 115 | if mt.mtbuf.Len() == 1 { |
| 116 | break |
| 117 | } |
| 118 | } |
| 119 | } |
| 120 | mt.finalized = true |
| 121 | } |
| 122 | |
| 123 | func (mt MerkleTree) Root() NodeData { |
| 124 | if mt.finalized { |
no test coverage detected