Skip to content

Commit

Permalink
Merge pull request #1615
Browse files Browse the repository at this point in the history
f098989 core: cache tx hashes of failing semantics txes (moneromooo-monero)
  • Loading branch information
fluffypony committed Jan 22, 2017
2 parents cccf4b9 + f098989 commit 9c06a7f
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
8 changes: 8 additions & 0 deletions src/cryptonote_core/cryptonote_core.cpp
Expand Up @@ -487,6 +487,13 @@ namespace cryptonote
}
//std::cout << "!"<< tx.vin.size() << std::endl;

if (bad_semantics_txes.find(tx_hash) != bad_semantics_txes.end())
{
LOG_PRINT_L1("Transaction already seen with bad semantics, rejected");
tvc.m_verifivation_failed = true;
return false;
}

uint8_t version = m_blockchain_storage.get_current_hard_fork_version();
const size_t max_tx_version = version == 1 ? 1 : 2;
if (tx.version == 0 || tx.version > max_tx_version)
Expand Down Expand Up @@ -534,6 +541,7 @@ namespace cryptonote
if(!check_tx_semantic(tx, keeped_by_block))
{
LOG_PRINT_L1("WRONG TRANSACTION BLOB, Failed to check tx " << tx_hash << " semantic, rejected");
bad_semantics_txes.insert(tx_hash);
tvc.m_verifivation_failed = true;
return false;
}
Expand Down
2 changes: 2 additions & 0 deletions src/cryptonote_core/cryptonote_core.h
Expand Up @@ -824,6 +824,8 @@ namespace cryptonote
size_t block_sync_size;

time_t start_time;

std::unordered_set<crypto::hash> bad_semantics_txes;
};
}

Expand Down

0 comments on commit 9c06a7f

Please sign in to comment.