Skip to content

Commit d988eb9

Browse files
Reorganize code.
1 parent 7b04623 commit d988eb9

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

merkle/merkle.go

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,21 @@ func (m *Merkle) Equal(m2 *Merkle) bool {
1919
return bytes.Equal(m.digest[:], m2.digest[:])
2020
}
2121

22+
// Diff returns a slice of digests from m2 which are different from those in m1.
23+
func (m *Merkle) Diff(m2 *Merkle, diffs *[][32]byte) {
24+
if m.Equal(m2) {
25+
return
26+
}
27+
28+
if m.children[0] == nil {
29+
*diffs = append(*diffs, m2.digest)
30+
} else {
31+
m.children[0].Diff(m2.children[0], diffs)
32+
m.children[1].Diff(m2.children[1], diffs)
33+
}
34+
}
35+
36+
2237
// Recursively build a Merkle tree using the slice of byte slices.
2338
func NewMerkle(blocks [][]byte) *Merkle {
2439
var data []byte
@@ -45,17 +60,3 @@ func NewMerkle(blocks [][]byte) *Merkle {
4560

4661
return m
4762
}
48-
49-
// Diff returns a slice of digests from m2 which are different from those in m1.
50-
func (m *Merkle) Diff(m2 *Merkle, diffs *[][32]byte) {
51-
if m.Equal(m2) {
52-
return
53-
}
54-
55-
if m.children[0] == nil {
56-
*diffs = append(*diffs, m2.digest)
57-
} else {
58-
m.children[0].Diff(m2.children[0], diffs)
59-
m.children[1].Diff(m2.children[1], diffs)
60-
}
61-
}

0 commit comments

Comments
 (0)