forked from lthn/blockchain
merge from master
This commit is contained in:
commit
5d004cde02
7 changed files with 36 additions and 8 deletions
|
|
@ -684,12 +684,8 @@ std::string get_nix_version_display_string()
|
|||
|
||||
// got v_major, v_minor, v_revision
|
||||
|
||||
// allow 1.1.x and greater
|
||||
|
||||
if (v_major < 1)
|
||||
return false;
|
||||
|
||||
if (v_major == 1 && v_minor < 1)
|
||||
// allow 2.x and greater
|
||||
if (v_major < 2)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -2093,7 +2093,14 @@ bool blockchain_storage::is_reorganize_required(const block_extended_info& main_
|
|||
main_chain_bei.this_block_tx_fee_median * main_chain_bei.bl.tx_hashes.size())
|
||||
{
|
||||
//with the rest equal, alt block has more fees in it, prefer it
|
||||
LOG_PRINT_L1("[is_reorganize_required]:TRUE, \"by order of tx_hashes.size()\" main_stake_hash:" << &main_chain_bei.stake_hash << ", alt_stake_hash" << proof_alt);
|
||||
return true;
|
||||
}else if (alt_chain_bei.this_block_tx_fee_median * alt_chain_bei.bl.tx_hashes.size() <
|
||||
main_chain_bei.this_block_tx_fee_median * main_chain_bei.bl.tx_hashes.size())
|
||||
{
|
||||
//with the rest equal, alt block has more fees in it, prefer it
|
||||
LOG_PRINT_L1("[is_reorganize_required]:FALSE, \"by order of tx_hashes.size()\" main_stake_hash:" << &main_chain_bei.stake_hash << ", alt_stake_hash" << proof_alt);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!is_pos_block(main_chain_bei.bl))
|
||||
|
|
|
|||
|
|
@ -163,6 +163,8 @@ namespace currency
|
|||
r = m_blockchain_storage.init(m_config_folder, vm);
|
||||
CHECK_AND_ASSERT_MES(r, false, "Failed to initialize blockchain storage");
|
||||
|
||||
m_mempool.remove_incompatible_txs();
|
||||
|
||||
r = m_miner.init(vm);
|
||||
CHECK_AND_ASSERT_MES(r, false, "Failed to initialize miner");
|
||||
|
||||
|
|
|
|||
|
|
@ -1303,6 +1303,27 @@ namespace currency
|
|||
return true;
|
||||
}
|
||||
//---------------------------------------------------------------------------------
|
||||
void tx_memory_pool::remove_incompatible_txs()
|
||||
{
|
||||
std::vector<crypto::hash> invalid_tx_ids;
|
||||
|
||||
m_db_transactions.enumerate_items([&](uint64_t i, const crypto::hash& h, const tx_details &tx_entry)
|
||||
{
|
||||
if (!m_blockchain.validate_tx_for_hardfork_specific_terms(tx_entry.tx, h))
|
||||
invalid_tx_ids.push_back(h);
|
||||
return true;
|
||||
});
|
||||
|
||||
for(const auto& id : invalid_tx_ids)
|
||||
{
|
||||
transaction tx{};
|
||||
size_t blob_size = 0;
|
||||
uint64_t fee = 0;
|
||||
take_tx(id, tx, blob_size, fee);
|
||||
LOG_PRINT_L0("tx " << id << " was incompatible with the hardfork rules and removed");
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------------
|
||||
bool tx_memory_pool::load_keyimages_cache()
|
||||
{
|
||||
CRITICAL_REGION_LOCAL(m_key_images_lock);
|
||||
|
|
|
|||
|
|
@ -139,6 +139,8 @@ namespace currency
|
|||
|
||||
bool remove_stuck_transactions(); // made public to be called from coretests
|
||||
|
||||
void remove_incompatible_txs(); // made public to be called after the BCS is loaded and hardfork info is ready
|
||||
|
||||
private:
|
||||
bool on_tx_add(crypto::hash tx_id, const transaction& tx, bool kept_by_block);
|
||||
bool on_tx_remove(const crypto::hash &tx_id, const transaction& tx, bool kept_by_block);
|
||||
|
|
|
|||
|
|
@ -525,7 +525,7 @@ namespace nodetool
|
|||
|
||||
if (!tools::check_remote_client_version(rsp.payload_data.client_version))
|
||||
{
|
||||
LOG_ERROR_CCONTEXT("COMMAND_HANDSHAKE Failed, wrong client version: " << rsp.payload_data.client_version << ", closing connection.");
|
||||
LOG_PRINT_CC_YELLOW(context, "COMMAND_HANDSHAKE Failed, wrong client version: " << rsp.payload_data.client_version << ", closing connection.", LOG_LEVEL_1);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,6 @@
|
|||
#define PROJECT_REVISION "0"
|
||||
#define PROJECT_VERSION PROJECT_MAJOR_VERSION "." PROJECT_MINOR_VERSION "." PROJECT_REVISION
|
||||
|
||||
#define PROJECT_VERSION_BUILD_NO 279
|
||||
#define PROJECT_VERSION_BUILD_NO 282
|
||||
#define PROJECT_VERSION_BUILD_NO_STR STRINGIFY_EXPAND(PROJECT_VERSION_BUILD_NO)
|
||||
#define PROJECT_VERSION_LONG PROJECT_VERSION "." PROJECT_VERSION_BUILD_NO_STR "[" BUILD_COMMIT_ID "]"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue