Give each ballot ordering a single definition (#5212) The tally map ordered blocks with a hand-written comparator, evaluate ranked the winner and the leader with std::pair comparisons and insert found its eviction victim with a third, all spelling out the same weight-then-hash order. The replay check in vote () spelled out the timestamp-then-hash order of a representative's votes the same way. Nothing tied the copies together, and the only hint that the two hash tie-breaks must agree was the word "mirroring" in a comment. tally_key now carries a defaulted three-way comparison and every tally ranking uses it, with the map ordered by std::greater. A new vote_key does the same for a representative's votes, and the replay check compares two keys. Both orderings are tested directly, and a ballot test pins why their tie-breaks must agree: final votes all share one timestamp, so a representative can only ever move its final vote to a higher hash, and a tie-broken winner must be that hash for every representative to be able to follow it.
__________
Type: commit
Hash: f0b3400b7a1f274840e3111dad7ab1749b58e9fe
Created: yesterday
__________
gr0v1ty/nano-node:f0b3400b7a1f274840e3111dad7ab1749b58e9fe
| Test Case | Status | Duration | Median Deviation | Log | Graph |
|---|