Skip to content

Releases: txaty/go-merkletree

v0.2.2

24 Nov 16:09
7ab4714
Compare
Choose a tag to compare

Minor fixes.

v0.2.1

23 Nov 17:50
ecde1c1
Compare
Choose a tag to compare

Performance optimization and readability enhancement.

v0.2.0

21 Nov 07:38
e399a58
Compare
Choose a tag to compare

This release includes various refactors:

  1. Upgraded to Go 1.21, using the built-in min function;
  2. Upgraded dependencies;
  3. Upgraded GitHub Action pipelines, adding Codacy;
  4. Remove the global worker pool and add the worker pool to the MerkleTree struct. So now, each MerkleTree uses its dedicated worker pool;
  5. Change pool worker arguments to pointers to separate specific arguments, enhancing readability;
  6. Fixed minor formatting issues and typos;
  7. Added more comments;
  8. Updated README.

Refactor and add disable leaf hashing config

10 Jan 17:54
324a126
Compare
Choose a tag to compare
  1. Add DisableLeafHashing in Config, allowing users to use the byte values directly as the tree leaves without hashing procedures;
  2. MerkleTree.GenerateProof() method is renamed to MerkleTree.Proof();
  3. Refactor and bug fixes.

Add support for OpenZeppelin sort-pair verifcation

13 Dec 07:16
2927e5b
Compare
Choose a tag to compare
  • If it is set to true, then the sibling hash pairs are first sorted in ascending order, and then concatenated.
  • Otherwise, no change.

Refactor and performance improvement

08 Sep 14:05
6ccb37a
Compare
Choose a tag to compare
  1. Use general arg struct and return type to improve goroutine pool performance,
  2. Order fields in structs for memory saving,
  3. Gool (goroutine pool) version upgrade.

Gool (goroutine pool) version upgrade

02 Sep 06:50
d94812a
Compare
Choose a tag to compare
Refactor and upgrade gool (goroutine pool) version (#17)

* Remove useless error checks in default hash functions.

Signed-off-by: txaty <[email protected]>

* Refactor and upgrade gool (goroutine pool) version.

Signed-off-by: txaty <[email protected]>

Default Hash Function Change

27 Aug 15:16
dea6437
Compare
Choose a tag to compare
Remove useless error checks in default hash functions (#16)

Signed-off-by: txaty <[email protected]>

Bug fixes

24 Aug 04:25
11665bd
Compare
Choose a tag to compare
Bug fixes, refactor, and add more unit tests (#12)

* Update README.

Signed-off-by: txaty <[email protected]>

* Update README.

Signed-off-by: txaty <[email protected]>

* Add more unit tests.

* Fix bugs.

Signed-off-by: txaty <[email protected]>

Config modes and performance improvements

23 Aug 17:14
caa294f
Compare
Choose a tag to compare
  1. In Config, there are three modes: ModeProofGen (default), ModeTreeBuild, ModeProofGenAndTreeBuild. ModeProofGen directly generates the proofs for all the blocks. ModeTreeBuild builds up and cache the Merkle Tree, this is useful when generating the proofs for only a few blocks.
  2. Performance improvement via goroutine pool. I implement a simple goroutine pool: gool (github.com/txaty/gool). It significantly improves the parallel algorithms' performance.