|
|
|
@ -126,32 +126,21 @@ MempoolStatus::read_mempool()
|
|
|
|
|
// get transaction info of the tx in the mempool
|
|
|
|
|
const tx_info& _tx_info = mempool_tx_info.at(i);
|
|
|
|
|
|
|
|
|
|
crypto::hash mem_tx_hash = null_hash;
|
|
|
|
|
|
|
|
|
|
if (epee::string_tools::hex_to_pod(_tx_info.id_hash, mem_tx_hash))
|
|
|
|
|
{
|
|
|
|
|
transaction tx;
|
|
|
|
|
crypto::hash tx_hash;
|
|
|
|
|
crypto::hash tx_prefix_hash;
|
|
|
|
|
|
|
|
|
|
if (!xmreg::make_tx_from_json(_tx_info.tx_json, tx))
|
|
|
|
|
if (!parse_and_validate_tx_from_blob(
|
|
|
|
|
_tx_info.tx_blob, tx, tx_hash, tx_prefix_hash))
|
|
|
|
|
{
|
|
|
|
|
cerr << "Cant make tx from _tx_info.tx_json" << endl;
|
|
|
|
|
cerr << "Cant make tx from _tx_info.tx_blob" << endl;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
crypto::hash tx_hash_reconstructed = get_transaction_hash(tx);
|
|
|
|
|
|
|
|
|
|
if (mem_tx_hash != tx_hash_reconstructed)
|
|
|
|
|
{
|
|
|
|
|
cerr << "Hash of reconstructed tx from json does not match "
|
|
|
|
|
"what we should get!"
|
|
|
|
|
<< endl;
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
mempool_size_kB += _tx_info.blob_size;
|
|
|
|
|
|
|
|
|
|
local_copy_of_mempool_txs.push_back(mempool_tx {tx_hash_reconstructed, tx});
|
|
|
|
|
local_copy_of_mempool_txs.push_back(mempool_tx {tx_hash, tx});
|
|
|
|
|
|
|
|
|
|
mempool_tx& last_tx = local_copy_of_mempool_txs.back();
|
|
|
|
|
|
|
|
|
@ -194,7 +183,7 @@ MempoolStatus::read_mempool()
|
|
|
|
|
else if (payment_id8 != null_hash8)
|
|
|
|
|
last_tx.pID = 'e'; // encrypted payment id
|
|
|
|
|
|
|
|
|
|
} // if (hex_to_pod(_tx_info.id_hash, mem_tx_hash))
|
|
|
|
|
// } // if (hex_to_pod(_tx_info.id_hash, mem_tx_hash))
|
|
|
|
|
|
|
|
|
|
} // for (size_t i = 0; i < mempool_tx_info.size(); ++i)
|
|
|
|
|
|
|
|
|
|