mirror of
https://github.com/monero-project/monero.git
synced 2025-12-22 07:10:46 -08:00
Merge pull request #5915
8330e77 monerod can now sync from pruned blocks (moneromooo-monero)
This commit is contained in:
@@ -152,7 +152,7 @@ int check_flush(cryptonote::core &core, std::vector<block_complete_entry> &block
|
||||
}
|
||||
hashes.push_back(cryptonote::get_block_hash(block));
|
||||
}
|
||||
core.prevalidate_block_hashes(core.get_blockchain_storage().get_db().height(), hashes);
|
||||
core.prevalidate_block_hashes(core.get_blockchain_storage().get_db().height(), hashes, {});
|
||||
|
||||
std::vector<block> pblocks;
|
||||
if (!core.prepare_handle_incoming_blocks(blocks, pblocks))
|
||||
@@ -178,7 +178,7 @@ int check_flush(cryptonote::core &core, std::vector<block_complete_entry> &block
|
||||
if(tvc.m_verifivation_failed)
|
||||
{
|
||||
MERROR("transaction verification failed, tx_id = "
|
||||
<< epee::string_tools::pod_to_hex(get_blob_hash(tx_blob)));
|
||||
<< epee::string_tools::pod_to_hex(get_blob_hash(tx_blob.blob)));
|
||||
core.cleanup_handle_incoming_blocks();
|
||||
return 1;
|
||||
}
|
||||
@@ -429,13 +429,17 @@ int import_from_file(cryptonote::core& core, const std::string& import_file_path
|
||||
{
|
||||
cryptonote::blobdata block;
|
||||
cryptonote::block_to_blob(bp.block, block);
|
||||
std::vector<cryptonote::blobdata> txs;
|
||||
std::vector<tx_blob_entry> txs;
|
||||
for (const auto &tx: bp.txs)
|
||||
{
|
||||
txs.push_back(cryptonote::blobdata());
|
||||
cryptonote::tx_to_blob(tx, txs.back());
|
||||
txs.push_back({cryptonote::blobdata(), crypto::null_hash});
|
||||
cryptonote::tx_to_blob(tx, txs.back().blob);
|
||||
}
|
||||
blocks.push_back({block, txs});
|
||||
block_complete_entry bce;
|
||||
bce.pruned = false;
|
||||
bce.block = std::move(block);
|
||||
bce.txs = std::move(txs);
|
||||
blocks.push_back(bce);
|
||||
int ret = check_flush(core, blocks, false);
|
||||
if (ret)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user