diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2016-06-29 23:00:20 +0100 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2016-08-28 21:29:04 +0100 |
commit | f5465d824663ae67d5392a1a0f986027975063b7 (patch) | |
tree | 020435ac874c7c46e71b6e069f9c8b24ad7cf5e4 /src/cryptonote_core | |
parent | move the rct commitments to the output_amounts database (diff) | |
download | monero-f5465d824663ae67d5392a1a0f986027975063b7.tar.xz |
Condition v2 txes on v3 hard fork
Diffstat (limited to 'src/cryptonote_core')
-rw-r--r-- | src/cryptonote_core/cryptonote_core.cpp | 9 | ||||
-rw-r--r-- | src/cryptonote_core/tx_pool.cpp | 4 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/cryptonote_core/cryptonote_core.cpp b/src/cryptonote_core/cryptonote_core.cpp index 5179cc8d2..880162ed2 100644 --- a/src/cryptonote_core/cryptonote_core.cpp +++ b/src/cryptonote_core/cryptonote_core.cpp @@ -498,6 +498,15 @@ namespace cryptonote } //std::cout << "!"<< tx.vin.size() << std::endl; + 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) + { + // v2 is the latest one we know + tvc.m_verifivation_failed = true; + return false; + } + if(!check_tx_syntax(tx)) { LOG_PRINT_L1("WRONG TRANSACTION BLOB, Failed to check tx " << tx_hash << " syntax, rejected"); diff --git a/src/cryptonote_core/tx_pool.cpp b/src/cryptonote_core/tx_pool.cpp index 7b7c22887..c2414f581 100644 --- a/src/cryptonote_core/tx_pool.cpp +++ b/src/cryptonote_core/tx_pool.cpp @@ -84,7 +84,9 @@ namespace cryptonote tvc.m_verifivation_failed = true; return false; } - if (tx.version > 2) // TODO: max 1/2 needs to be conditioned by a hard fork + + const size_t max_tx_version = version == 1 ? 1 : 2; + if (tx.version > max_tx_version) { // v2 is the latest one we know tvc.m_verifivation_failed = true; |