From f874a5f7a2f769608f5a98082c6143280310a59a Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Fri, 12 Jan 2024 20:01:57 +0100 Subject: [PATCH] added exception for coinbase transactions --- src/currency_core/blockchain_storage.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/currency_core/blockchain_storage.cpp b/src/currency_core/blockchain_storage.cpp index 5c5f083b..242aa76b 100644 --- a/src/currency_core/blockchain_storage.cpp +++ b/src/currency_core/blockchain_storage.cpp @@ -5815,9 +5815,11 @@ bool blockchain_storage::validate_tx_for_hardfork_specific_terms(const transacti // TODO @#@# consider: 1) tx.proofs, 2) new proof data structures if (var_is_after_hardfork_4_zone) - { + { CHECK_AND_ASSERT_MES(tx.version > TRANSACTION_VERSION_PRE_HF4, false, "HF4: tx with version " << tx.version << " is not allowed"); - CHECK_AND_ASSERT_MES(tx.vout.size() >= CURRENCY_TX_MIN_ALLOWED_OUTS, false, "HF4: tx.vout has " << tx.vout.size() << " element(s), while required minimum is " << CURRENCY_TX_MIN_ALLOWED_OUTS); + bool pos_coinbase = false; + bool coinbase = is_coinbase(tx, pos_coinbase); + CHECK_AND_ASSERT_MES((coinbase && pos_coinbase) || tx.vout.size() >= CURRENCY_TX_MIN_ALLOWED_OUTS, false, "HF4: tx.vout has " << tx.vout.size() << " element(s), while required minimum is " << CURRENCY_TX_MIN_ALLOWED_OUTS); if(!validate_inputs_sorting(tx)) {