Release v1.0.129 is out 🚀
What's new:
- #1907 When GetSerializedNodes(rootHash) was called, if the rootHash was present only in a snapshot, all the hashes were added back to the mainDB, but then were never marked for eviction and removed from mainDB.
- #1915 Replace shuffling based on xor to shufflig based on hashing: replaces xor with hash for generating validator ids before sorting and choosing the validators to be shuffled.
Bug fixes:
- #1909 Fixed the wrong computation of end of epoch rewards. In case the same validator had multiple nodes in multiple shards the actual reward was calculated with NumTotalSelected divided by the last shardID set for this validator. The last shard ID set was from range over a map.
- #1905 Fixed validatorStatus problem if unstake in epoch 0: after an unstake in epoch 0, the validatorStatus was set to jailed although it should have been inactive.
- #1910 Changed the order of closing network subcomponents in networkMessenger.Close() function.
- #1908 Remove the second whitelist of miniblocks: the whitelist is needed only for cross-shard miniblocks to-be-processed by shard, not also for cross-shard miniblocks already processed.
- #1907 It was possible for a root hash to be in the mainDB, but with some of the following hashes missing. GetSerializedNodes(rootHash) tried to recreate the trie form the mainDB (because the rootHash was present in mainDB), but getNodeFromDB error occured when a certain hash was not present in the mainDB.
Note: This release should start with a new DB