tx_pool: avoid parsing a whole tx if only the prefix is needed

This commit is contained in:
moneromooo-monero
2018-09-16 18:30:39 +00:00
parent bb30a72367
commit 6844ae1b8d
5 changed files with 60 additions and 38 deletions

View File

@@ -199,6 +199,16 @@ namespace cryptonote
return true;
}
//---------------------------------------------------------------
bool parse_and_validate_tx_prefix_from_blob(const blobdata& tx_blob, transaction_prefix& tx)
{
std::stringstream ss;
ss << tx_blob;
binary_archive<false> ba(ss);
bool r = ::serialization::serialize_noeof(ba, tx);
CHECK_AND_ASSERT_MES(r, false, "Failed to parse transaction prefix from blob");
return true;
}
//---------------------------------------------------------------
bool parse_and_validate_tx_from_blob(const blobdata& tx_blob, transaction& tx, crypto::hash& tx_hash, crypto::hash& tx_prefix_hash)
{
std::stringstream ss;