From d00c76730e1cf7dd282ae435d7ad31da7f1aa0c0 Mon Sep 17 00:00:00 2001 From: Kevin Heifner Date: Tue, 23 Jul 2024 18:56:11 -0500 Subject: [PATCH] GH-376 Do not include vote count in received qc comparison --- libraries/chain/finality/qc.cpp | 12 +----------- libraries/chain/include/eosio/chain/finality/qc.hpp | 1 - 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/libraries/chain/finality/qc.cpp b/libraries/chain/finality/qc.cpp index 77756a0549..c96cb8f83e 100644 --- a/libraries/chain/finality/qc.cpp +++ b/libraries/chain/finality/qc.cpp @@ -21,11 +21,6 @@ inline std::vector bitset_to_vector(const vote_bitset& bs) { return r; } -size_t qc_sig_t::vote_count() const { - return (strong_votes ? strong_votes->count() : 0u) + - (weak_votes ? weak_votes->count() : 0u); -} - void qc_sig_t::verify(const finalizer_policy_ptr& fin_policy, const digest_type& strong_digest, const weak_digest_t& weak_digest) const { @@ -284,12 +279,7 @@ std::optional open_qc_sig_t::get_best_qc() const { bool open_qc_sig_t::set_received_qc_sig(const qc_sig_t& qc) { std::lock_guard g(*_mtx); - const bool qc_is_better = - !received_qc_sig - || (received_qc_sig->is_weak() && qc.is_strong()) - || received_qc_sig->vote_count() < qc.vote_count(); - - if (qc_is_better) { + if (!received_qc_sig || (received_qc_sig->is_weak() && qc.is_strong())) { received_qc_sig = qc; return true; } diff --git a/libraries/chain/include/eosio/chain/finality/qc.hpp b/libraries/chain/include/eosio/chain/finality/qc.hpp index 2b3d835874..a0eb8b6c75 100644 --- a/libraries/chain/include/eosio/chain/finality/qc.hpp +++ b/libraries/chain/include/eosio/chain/finality/qc.hpp @@ -53,7 +53,6 @@ namespace eosio::chain { struct qc_sig_t { bool is_weak() const { return !!weak_votes; } bool is_strong() const { return !weak_votes; } - size_t vote_count() const; std::optional strong_votes; std::optional weak_votes;