mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-06-10 17:02:03 +02:00
[test] make submit optional in CreateValidMempoolTransaction
This allows us to easily create transaction chains for package validation. We don't test_accept if submit=false because we want to be able to make transactions that wouldn't pass ATMP (i.e. a child transaction in a package would fail due to missing inputs).
This commit is contained in:
parent
2ef187941d
commit
cd9a11ac96
@ -263,7 +263,8 @@ CMutableTransaction TestChain100Setup::CreateValidMempoolTransaction(CTransactio
|
|||||||
int input_height,
|
int input_height,
|
||||||
CKey input_signing_key,
|
CKey input_signing_key,
|
||||||
CScript output_destination,
|
CScript output_destination,
|
||||||
CAmount output_amount)
|
CAmount output_amount,
|
||||||
|
bool submit)
|
||||||
{
|
{
|
||||||
// Transaction we will submit to the mempool
|
// Transaction we will submit to the mempool
|
||||||
CMutableTransaction mempool_txn;
|
CMutableTransaction mempool_txn;
|
||||||
@ -296,8 +297,8 @@ CMutableTransaction TestChain100Setup::CreateValidMempoolTransaction(CTransactio
|
|||||||
std::map<int, std::string> input_errors;
|
std::map<int, std::string> input_errors;
|
||||||
assert(SignTransaction(mempool_txn, &keystore, input_coins, nHashType, input_errors));
|
assert(SignTransaction(mempool_txn, &keystore, input_coins, nHashType, input_errors));
|
||||||
|
|
||||||
// Add transaction to the mempool
|
// If submit=true, add transaction to the mempool.
|
||||||
{
|
if (submit) {
|
||||||
LOCK(cs_main);
|
LOCK(cs_main);
|
||||||
const MempoolAcceptResult result = AcceptToMemoryPool(::ChainstateActive(), *m_node.mempool.get(), MakeTransactionRef(mempool_txn), /* bypass_limits */ false);
|
const MempoolAcceptResult result = AcceptToMemoryPool(::ChainstateActive(), *m_node.mempool.get(), MakeTransactionRef(mempool_txn), /* bypass_limits */ false);
|
||||||
assert(result.m_result_type == MempoolAcceptResult::ResultType::VALID);
|
assert(result.m_result_type == MempoolAcceptResult::ResultType::VALID);
|
||||||
|
@ -135,13 +135,15 @@ struct TestChain100Setup : public RegTestingSetup {
|
|||||||
* @param input_signing_key The key to spend the input_transaction
|
* @param input_signing_key The key to spend the input_transaction
|
||||||
* @param output_destination Where to send the output
|
* @param output_destination Where to send the output
|
||||||
* @param output_amount How much to send
|
* @param output_amount How much to send
|
||||||
|
* @param submit Whether or not to submit to mempool
|
||||||
*/
|
*/
|
||||||
CMutableTransaction CreateValidMempoolTransaction(CTransactionRef input_transaction,
|
CMutableTransaction CreateValidMempoolTransaction(CTransactionRef input_transaction,
|
||||||
int input_vout,
|
int input_vout,
|
||||||
int input_height,
|
int input_height,
|
||||||
CKey input_signing_key,
|
CKey input_signing_key,
|
||||||
CScript output_destination,
|
CScript output_destination,
|
||||||
CAmount output_amount = CAmount(1 * COIN));
|
CAmount output_amount = CAmount(1 * COIN),
|
||||||
|
bool submit = true);
|
||||||
|
|
||||||
~TestChain100Setup();
|
~TestChain100Setup();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user