|
|
|
@ -196,12 +196,6 @@ TestingSetup::~TestingSetup()
|
|
|
|
|
|
|
|
|
|
TestChain100Setup::TestChain100Setup()
|
|
|
|
|
{
|
|
|
|
|
// CreateAndProcessBlock() does not support building SegWit blocks, so don't activate in these tests.
|
|
|
|
|
// TODO: fix the code to support SegWit blocks.
|
|
|
|
|
gArgs.ForceSetArg("-segwitheight", "432");
|
|
|
|
|
// Need to recreate chainparams
|
|
|
|
|
SelectParams(CBaseChainParams::REGTEST);
|
|
|
|
|
|
|
|
|
|
// Generate a 100-block chain:
|
|
|
|
|
coinbaseKey.MakeNewKey(true);
|
|
|
|
|
CScript scriptPubKey = CScript() << ToByteVector(coinbaseKey.GetPubKey()) << OP_CHECKSIG;
|
|
|
|
@ -222,12 +216,7 @@ CBlock TestChain100Setup::CreateAndProcessBlock(const std::vector<CMutableTransa
|
|
|
|
|
for (const CMutableTransaction& tx : txns) {
|
|
|
|
|
block.vtx.push_back(MakeTransactionRef(tx));
|
|
|
|
|
}
|
|
|
|
|
// IncrementExtraNonce creates a valid coinbase and merkleRoot
|
|
|
|
|
{
|
|
|
|
|
LOCK(cs_main);
|
|
|
|
|
unsigned int extraNonce = 0;
|
|
|
|
|
IncrementExtraNonce(&block, ::ChainActive().Tip(), extraNonce);
|
|
|
|
|
}
|
|
|
|
|
RegenerateCommitments(block);
|
|
|
|
|
|
|
|
|
|
while (!CheckProofOfWork(block.GetHash(), block.nBits, chainparams.GetConsensus())) ++block.nNonce;
|
|
|
|
|
|
|
|
|
|