Releases: celestiaorg/nmt
Releases · celestiaorg/nmt
v0.17.0
What's Changed
- Add HexString method for namespace id by @walldiss in #201
- test: ExampleNamespacedMerkleTree by @rootulp in #203
- feat!: hex encode
id.String()
output by @rootulp in #202 - Added Quint specification by @ivan-gavran in #163
- feat: ensures VerifyLeafHashes rejects leafHashes with wrong namespaces by @staheri14 in #207
- feat: prepare for testing fraudulant blocks by allowing for custom hashers and the ability to add leaves without validation by @evan-forbes in #211
- feat(proof.go): adding JSON marshal/unmarshal by @distractedm1nd in #214
New Contributors
Full Changelog: v0.16.0...v0.17.0
v0.16.0
What's Changed
- fix: nmt spec for end-1 by @rootulp in #165
- chore: unexport
PrefixedData8
by @rootulp in #170 - chore: incorporates index-based Merkle range proof in the NMT specification by @staheri14 in #162
- feat: compute leaf hashes in the Push method by @staheri14 in #172
- chore: introduces a generic function to generate sample NMTs by @staheri14 in #177
- chore: adds a link to the nmt specs by @staheri14 in #174
- feat!: checks the exact size of the node in HashNode by @staheri14 in #175
- feat: ensures consistent namespace hash format for all tree node parameters in VerifyInclusion function by @staheri14 in #176
- feat: checks that all the arguments of VerifyNamespace conform to the same namespace hash format by @staheri14 in #179
- feat!: rejects invalid empty range proofs by @staheri14 in #180
- feat: returns error on invalid proof range in buildRangeProof by @staheri14 in #182
- feat!: handles empty proofs in validateLeafHash and VerifyInclusion by @staheri14 in #184
- feat: verifies namespace hash format to prevent panic in validateSiblingsNamespaceOrder by @staheri14 in #185
- feat: export
VerifyLeafHashes
by @rootulp in #189 - feat: verifies input range in the computeRoot to avoid panic by @staheri14 in #186
- feat!: verifies the namespace order for each tree node by @staheri14 in #187
- feat: adds the Size() method to the nmt API by @staheri14 in #191
- chore: replaces redundant codes in the HashNode with a proper function call by @staheri14 in #190
- feat!: add an additional constraint of empty leafHash field to the empty proof definition by @staheri14 in #192
- feat!: accounts for IgnoreMaxNamespace flag in the ProveNamespace method by @staheri14 in #194
- feat: ensures consistent use of the assumption that NMT nodes are ordered ascendingly by @staheri14 in #188
- feat!: resolves output inconsistencies when making multiple calls to the EmptyRoot by @staheri14 in #197
- feat: uses int instead of uint64 for leaves index by @staheri14 in #198
- chore: aligns the Ignore Max Namespace description with the implementation by @staheri14 in #199
Full Changelog: v0.15.0...v0.16.0
v0.15.0
What's Changed
- chore: improves documentation by @staheri14 in #96
- chore!: remove unused API functions Sha256Namespace8FlaggedLeaf and Sha256Namespace8FlaggedInner from the hasher by @staheri14 in #103
- feat: implement nmt methods Min/MaxNamespace by @rootulp in #105
- chore: add golangci-lint config by @rootulp in #107
- chore: NMT specifications by @staheri14 in #101
- feat: verify the range of the namespace IDs of the children in the HashNode by @staheri14 in #102
- feat: implements input validation functions for HashNode and HashLeaf to prevent panics by @staheri14 in #113
- chore: fixes the description of the index of leafHash in the absence proof by @staheri14 in #114
- chore: fixes the description of absence index in the calculateAbsenceIndex by @staheri14 in #119
- feat: check the namespace ID range of the leafHash in an absence proof to ensure soundness by @staheri14 in #116
- chore: splits the nmt spec into two files and moves them into separate directories by @staheri14 in #120
- chore: enable markdownlint by @rootulp in #124
- chore: removes the usage of the merkletree package by @staheri14 in #126
- chore: upgrade to Go 1.19 by @rootulp in #135
- Reworded explanation of calculating namespace when IgnoreMaxNamespace is set by @ivan-gavran in #134
- Add NOTICE file by @MSevey in #127
- test: remove duplicate test case by @rootulp in #150
- feat!: updates the HashNode and HashLeaf methods to return error instead of panic and refactors the code by @staheri14 in #136
- chore: delay initialization by @rootulp in #152
- fix: ProveNamespace godoc by @rootulp in #167
- test: fix TestNamespacedMerkleTree_calculateAbsenceIndex_Panic by @rootulp in #169
New Contributors
- @ivan-gavran made their first contribution in #134
- @MSevey made their first contribution in #127
Full Changelog: v0.14.0...v0.15.0
v0.14.0
What's Changed
- chore: fixes the HashLeaf description by @staheri14 in #92
- fix: use
baseHasher.Size
forsha256Len
instead ofn.Size
by @distractedm1nd in #93
New Contributors
- @staheri14 made their first contribution in #92
Full Changelog: v0.13.0...v0.14.0
v0.13.0
What's Changed
- feat!: implementing
hash.Hash
interface by @distractedm1nd in #91
New Contributors
- @distractedm1nd made their first contribution in #91
Full Changelog: v0.12.0...v0.13.0
v0.12.0
What's Changed
- prune: speed up using 1<<N instead of math.Pow(2, N) by @odeke-em in #76
- prune, subdivide: check bounds and use bits.Len instead of math.Log2 to determine bits for width by @odeke-em in #78
- docs: improve namespace doc by @rootulp in #81
- Simplify GetSubrootPaths by @elias-orijtech in #80
- nmt: sanity check addition results to avoid overflows by @odeke-em in #79
- chore: add overflow test by @rootulp in #83
- chore: misc updates by @rahulghangas in #89
- Bug fix: reject forged proofs of absence. Fixes (#86) by @preston-evans98 in #90
New Contributors
- @odeke-em made their first contribution in #76
- @elias-orijtech made their first contribution in #80
- @preston-evans98 made their first contribution in #90
Full Changelog: v0.11.0...v0.12.0
v0.11.0
What's Changed
- Update to Go 1.18 by @rootulp in #62
- Add Apache License 2.0 by @rootulp in #64
- Update example in README by @rahulghangas in #65
- Remove dependency on nebulous in verification by @rahulghangas in #67
- Fix import usage by @rahulghangas in #69
- Remove dependency on nebulous in proof generation by @rahulghangas in #68
New Contributors
- @rootulp made their first contribution in #62
- @rahulghangas made their first contribution in #65
Full Changelog: v0.10.0...v0.11.0
v0.10.0
What's Changed
- Verify inclusion proofs with multiple leaves by @evan-forbes in #58
Full Changelog: v0.9.0...v0.10.0
v0.9.0
What's Changed
- Create CHANGELOG.md, CHANGELOG-PENDING.md, and corresponding GH action by @jbowen93 in #53
- Remove changelog checker in favor of automatic on release. by @adlerjohn in #54
- Extend API to allow arbitrary leaf ranges to be proven. by @liamsi in #57
New Contributors
- @jbowen93 made their first contribution in #53
- @adlerjohn made their first contribution in #54
Full Changelog: v0.8.0...v0.9.0