Test Details Overview

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 Results

Test Case Status Duration Median Deviation Log Graph