From f9d2196ca6c49f6dcdb7c07d0d6da0d80ec871cc Mon Sep 17 00:00:00 2001 From: glozow Date: Mon, 28 Nov 2022 16:24:50 +0000 Subject: [PATCH] [test util] CreateValidMempoolTransaction version parameter, always signal bip125 --- src/test/util/setup_common.cpp | 15 ++++++++++----- src/test/util/setup_common.h | 9 ++++++--- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/test/util/setup_common.cpp b/src/test/util/setup_common.cpp index bc639da4dde9bf..c0845e74a7b61e 100644 --- a/src/test/util/setup_common.cpp +++ b/src/test/util/setup_common.cpp @@ -351,9 +351,11 @@ std::pair TestChain100Setup::CreateValidTransactio const std::vector& input_signing_keys, const std::vector& outputs, const std::optional& feerate, - const std::optional& fee_output) + const std::optional& fee_output, + uint32_t version) { CMutableTransaction mempool_txn; + mempool_txn.nVersion = version; mempool_txn.vin.reserve(inputs.size()); mempool_txn.vout.reserve(outputs.size()); @@ -415,9 +417,10 @@ CMutableTransaction TestChain100Setup::CreateValidMempoolTransaction(const std:: int input_height, const std::vector& input_signing_keys, const std::vector& outputs, - bool submit) + bool submit, + uint32_t version) { - CMutableTransaction mempool_txn = CreateValidTransaction(input_transactions, inputs, input_height, input_signing_keys, outputs, std::nullopt, std::nullopt).first; + CMutableTransaction mempool_txn = CreateValidTransaction(input_transactions, inputs, input_height, input_signing_keys, outputs, std::nullopt, std::nullopt, version).first; // If submit=true, add transaction to the mempool. if (submit) { LOCK(cs_main); @@ -433,7 +436,8 @@ CMutableTransaction TestChain100Setup::CreateValidMempoolTransaction(CTransactio CKey input_signing_key, CScript output_destination, CAmount output_amount, - bool submit) + bool submit, + uint32_t version) { COutPoint input{input_transaction->GetHash(), input_vout}; CTxOut output{output_amount, output_destination}; @@ -442,7 +446,8 @@ CMutableTransaction TestChain100Setup::CreateValidMempoolTransaction(CTransactio /*input_height=*/input_height, /*input_signing_keys=*/{input_signing_key}, /*outputs=*/{output}, - /*submit=*/submit); + /*submit=*/submit, + /*version=*/version); } std::vector TestChain100Setup::PopulateMempool(FastRandomContext& det_rand, size_t num_transactions, bool submit) diff --git a/src/test/util/setup_common.h b/src/test/util/setup_common.h index c3a4df28bfea7d..eb3a8d6b216b14 100644 --- a/src/test/util/setup_common.h +++ b/src/test/util/setup_common.h @@ -142,7 +142,8 @@ struct TestChain100Setup : public TestingSetup { const std::vector& input_signing_keys, const std::vector& outputs, const std::optional& feerate, - const std::optional& fee_output); + const std::optional& fee_output, + uint32_t version); /** * Create a transaction and, optionally, submit to the mempool. * @@ -158,7 +159,8 @@ struct TestChain100Setup : public TestingSetup { int input_height, const std::vector& input_signing_keys, const std::vector& outputs, - bool submit = true); + bool submit = true, + uint32_t version = 2); /** * Create a 1-in-1-out transaction and, optionally, submit to the mempool. @@ -177,7 +179,8 @@ struct TestChain100Setup : public TestingSetup { CKey input_signing_key, CScript output_destination, CAmount output_amount = CAmount(1 * COIN), - bool submit = true); + bool submit = true, + uint32_t version = 2); /** Create transactions spending from m_coinbase_txns. These transactions will only spend coins * that exist in the current chain, but may be premature coinbase spends, have missing