diff --git a/nmt.go b/nmt.go index 437d806..912589e 100644 --- a/nmt.go +++ b/nmt.go @@ -436,7 +436,7 @@ func (n *NamespacedMerkleTree) foundInRange(nID namespace.ID) (found bool, start // This is a faster version of this code snippet: // https://github.com/celestiaorg/celestiaorg-prototype/blob/2aeca6f55ad389b9d68034a0a7038f80a8d2982e/simpleblock.go#L106-L117 foundRng, found := n.namespaceRanges[string(nID)] - return found, foundRng.start, foundRng.end + return found, foundRng.Start, foundRng.End } // NamespaceSize returns the underlying namespace size. Note that all namespaced @@ -591,13 +591,13 @@ func (n *NamespacedMerkleTree) updateNamespaceRanges() { lastRange, found := n.namespaceRanges[lastNsStr] if !found { n.namespaceRanges[lastNsStr] = LeafRange{ - start: lastIndex, - end: lastIndex + 1, + Start: lastIndex, + End: lastIndex + 1, } } else { n.namespaceRanges[lastNsStr] = LeafRange{ - start: lastRange.start, - end: lastRange.end + 1, + Start: lastRange.Start, + End: lastRange.End + 1, } } } @@ -680,10 +680,11 @@ func isPowerOfTwo(n int) bool { } type LeafRange struct { - // start and end denote the indices of a leaf in the tree. start ranges from - // 0 up to the total number of leaves minus 1 end ranges from 1 up to the - // total number of leaves end is non-inclusive - start, end int + // Start and End denote the indices of a leaf in the tree. + // Start ranges from 0 up to the total number of leaves minus 1. + // End ranges from 1 up to the total number of leaves. + // End is non-inclusive + Start, End int } // MinNamespace extracts the minimum namespace ID from a given namespace hash, diff --git a/proof.go b/proof.go index 61c471f..a2e79b3 100644 --- a/proof.go +++ b/proof.go @@ -538,7 +538,7 @@ func (proof Proof) VerifySubtreeRootInclusion(nth *NmtHasher, subtreeRoots [][]b return popIfNonEmpty(&proof.nodes), nil } - if len(ranges) != 0 && ranges[0].start == start && ranges[0].end == end { + if len(ranges) != 0 && ranges[0].Start == start && ranges[0].End == end { ranges = ranges[1:] return popIfNonEmpty(&subtreeRoots), nil } @@ -626,8 +626,8 @@ func ToLeafRanges(proofStart, proofEnd, subtreeRootThreshold int) ([]LeafRange, return nil, err } ranges = append(ranges, nextRange) - currentStart = nextRange.end - currentLeafRange = currentLeafRange - nextRange.end + nextRange.start + currentStart = nextRange.End + currentLeafRange = currentLeafRange - nextRange.End + nextRange.Start } return ranges, nil } @@ -659,7 +659,7 @@ func nextLeafRange(currentStart, currentEnd, subtreeRootMaximumLeafRange int) (L if err != nil { return LeafRange{}, err } - return LeafRange{start: currentStart, end: currentStart + currentRange}, nil + return LeafRange{Start: currentStart, End: currentStart + currentRange}, nil } // largestPowerOfTwo calculates the largest power of two diff --git a/proof_test.go b/proof_test.go index 59ef849..a8a14b4 100644 --- a/proof_test.go +++ b/proof_test.go @@ -1191,7 +1191,7 @@ func TestToLeafRanges(t *testing.T) { proofEnd: 8, subtreeRootThreshold: 3, expectedRanges: []LeafRange{ - {start: 0, end: 8}, + {Start: 0, End: 8}, }, }, { @@ -1199,8 +1199,8 @@ func TestToLeafRanges(t *testing.T) { proofEnd: 9, subtreeRootThreshold: 3, expectedRanges: []LeafRange{ - {start: 0, end: 8}, - {start: 8, end: 9}, + {Start: 0, End: 8}, + {Start: 8, End: 9}, }, }, { @@ -1208,14 +1208,14 @@ func TestToLeafRanges(t *testing.T) { proofEnd: 16, subtreeRootThreshold: 1, expectedRanges: []LeafRange{ - {start: 0, end: 2}, - {start: 2, end: 4}, - {start: 4, end: 6}, - {start: 6, end: 8}, - {start: 8, end: 10}, - {start: 10, end: 12}, - {start: 12, end: 14}, - {start: 14, end: 16}, + {Start: 0, End: 2}, + {Start: 2, End: 4}, + {Start: 4, End: 6}, + {Start: 6, End: 8}, + {Start: 8, End: 10}, + {Start: 10, End: 12}, + {Start: 12, End: 14}, + {Start: 14, End: 16}, }, }, { @@ -1223,10 +1223,10 @@ func TestToLeafRanges(t *testing.T) { proofEnd: 16, subtreeRootThreshold: 2, expectedRanges: []LeafRange{ - {start: 0, end: 4}, - {start: 4, end: 8}, - {start: 8, end: 12}, - {start: 12, end: 16}, + {Start: 0, End: 4}, + {Start: 4, End: 8}, + {Start: 8, End: 12}, + {Start: 12, End: 16}, }, }, { @@ -1234,8 +1234,8 @@ func TestToLeafRanges(t *testing.T) { proofEnd: 16, subtreeRootThreshold: 3, expectedRanges: []LeafRange{ - {start: 0, end: 8}, - {start: 8, end: 16}, + {Start: 0, End: 8}, + {Start: 8, End: 16}, }, }, { @@ -1243,7 +1243,7 @@ func TestToLeafRanges(t *testing.T) { proofEnd: 16, subtreeRootThreshold: 4, expectedRanges: []LeafRange{ - {start: 0, end: 16}, + {Start: 0, End: 16}, }, }, { @@ -1251,14 +1251,14 @@ func TestToLeafRanges(t *testing.T) { proofEnd: 12, subtreeRootThreshold: 0, expectedRanges: []LeafRange{ - {start: 4, end: 5}, - {start: 5, end: 6}, - {start: 6, end: 7}, - {start: 7, end: 8}, - {start: 8, end: 9}, - {start: 9, end: 10}, - {start: 10, end: 11}, - {start: 11, end: 12}, + {Start: 4, End: 5}, + {Start: 5, End: 6}, + {Start: 6, End: 7}, + {Start: 7, End: 8}, + {Start: 8, End: 9}, + {Start: 9, End: 10}, + {Start: 10, End: 11}, + {Start: 11, End: 12}, }, }, { @@ -1266,10 +1266,10 @@ func TestToLeafRanges(t *testing.T) { proofEnd: 12, subtreeRootThreshold: 1, expectedRanges: []LeafRange{ - {start: 4, end: 6}, - {start: 6, end: 8}, - {start: 8, end: 10}, - {start: 10, end: 12}, + {Start: 4, End: 6}, + {Start: 6, End: 8}, + {Start: 8, End: 10}, + {Start: 10, End: 12}, }, }, { @@ -1277,8 +1277,8 @@ func TestToLeafRanges(t *testing.T) { proofEnd: 12, subtreeRootThreshold: 2, expectedRanges: []LeafRange{ - {start: 4, end: 8}, - {start: 8, end: 12}, + {Start: 4, End: 8}, + {Start: 8, End: 12}, }, }, { @@ -1286,7 +1286,7 @@ func TestToLeafRanges(t *testing.T) { proofEnd: 10, subtreeRootThreshold: 1, expectedRanges: []LeafRange{ - {start: 8, end: 10}, + {Start: 8, End: 10}, }, }, { @@ -1354,55 +1354,55 @@ func TestNextLeafRange(t *testing.T) { currentStart: 0, currentEnd: 8, subtreeRootMaximumLeafRange: 4, - expectedRange: LeafRange{start: 0, end: 4}, + expectedRange: LeafRange{Start: 0, End: 4}, }, { currentStart: 4, currentEnd: 10, subtreeRootMaximumLeafRange: 8, - expectedRange: LeafRange{start: 4, end: 8}, + expectedRange: LeafRange{Start: 4, End: 8}, }, { currentStart: 4, currentEnd: 20, subtreeRootMaximumLeafRange: 16, - expectedRange: LeafRange{start: 4, end: 20}, + expectedRange: LeafRange{Start: 4, End: 20}, }, { currentStart: 4, currentEnd: 20, subtreeRootMaximumLeafRange: 1, - expectedRange: LeafRange{start: 4, end: 5}, + expectedRange: LeafRange{Start: 4, End: 5}, }, { currentStart: 4, currentEnd: 20, subtreeRootMaximumLeafRange: 2, - expectedRange: LeafRange{start: 4, end: 6}, + expectedRange: LeafRange{Start: 4, End: 6}, }, { currentStart: 4, currentEnd: 20, subtreeRootMaximumLeafRange: 4, - expectedRange: LeafRange{start: 4, end: 8}, + expectedRange: LeafRange{Start: 4, End: 8}, }, { currentStart: 4, currentEnd: 20, subtreeRootMaximumLeafRange: 8, - expectedRange: LeafRange{start: 4, end: 12}, + expectedRange: LeafRange{Start: 4, End: 12}, }, { currentStart: 0, currentEnd: 1, subtreeRootMaximumLeafRange: 1, - expectedRange: LeafRange{start: 0, end: 1}, + expectedRange: LeafRange{Start: 0, End: 1}, }, { currentStart: 0, currentEnd: 16, subtreeRootMaximumLeafRange: 16, - expectedRange: LeafRange{start: 0, end: 16}, + expectedRange: LeafRange{Start: 0, End: 16}, }, { currentStart: 0,