tx_pool: fix synthesized commands in txs-sorted-by-fees container

This commit is contained in:
Crypto City 2023-06-04 10:42:48 +00:00
parent 04bb18d345
commit 7b98b9cb43

View File

@ -2774,6 +2774,9 @@ namespace cryptonote
m_blockchain.remove_txpool_tx(txid);
m_txpool_weight -= weight;
remove_transaction_cc_nonce(tx, txid);
auto sorted_it = find_tx_in_sorted_container(txid);
if (sorted_it != m_txs_by_fee_and_receive_time.end())
m_txs_by_fee_and_receive_time.erase(sorted_it);
}
catch (const std::exception &e)
{
@ -3392,6 +3395,11 @@ namespace cryptonote
}
if (tx.version == 2 && tx.minor_version > 0)
{
if (cc_command_is_synthesized(tx.cc_cmd))
{
remove.push_back(txid);
return true;
}
on_command_added(meta, tx, txid);
}
m_txs_by_fee_and_receive_time.emplace(std::pair<double, time_t>(meta.fee / (double)meta.weight, meta.receive_time), txid);