Browse Source

Add field fMinerTestModeForFoundersRewardScript to chainparams

pull/4/head
Simon 8 years ago
parent
commit
2d6e97ecc5
  1. 8
      src/chainparams.cpp
  2. 2
      src/chainparams.h
  3. 8
      src/test/miner_tests.cpp

8
src/chainparams.cpp

@ -354,6 +354,14 @@ std::string CChainParams::GetFoundersRewardAddressAtHeight(int nHeight) const {
CScript CChainParams::GetFoundersRewardScriptAtHeight(int nHeight) const {
assert(nHeight > 0 && nHeight <= consensus.GetLastFoundersRewardBlockHeight());
// #1398 START
// We can remove this code when miner_tests no longer expect this script
if (fMinerTestModeForFoundersRewardScript) {
auto rewardScript = ParseHex("a9146708e6670db0b950dac68031025cc5b63213a49187");
return CScript(rewardScript.begin(), rewardScript.end());
}
// #1398 END
CBitcoinAddress address(GetFoundersRewardAddressAtHeight(nHeight).c_str());
assert(address.IsValid());
assert(address.IsScript());

2
src/chainparams.h

@ -81,6 +81,8 @@ public:
std::string GetFoundersRewardAddressAtHeight(int height) const;
CScript GetFoundersRewardScriptAtHeight(int height) const;
std::string GetFoundersRewardAddressAtIndex(int i) const;
/** #1398 to return a fixed founders reward script for miner_tests */
bool fMinerTestModeForFoundersRewardScript = false;
protected:
CChainParams() {}

8
src/test/miner_tests.cpp

@ -137,6 +137,14 @@ struct {
// NOTE: These tests rely on CreateNewBlock doing its own self-validation!
BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
{
// #1398 START
// Current test data expects to receive a reward script for the address
// 2N2e2FRfP9D1dRN1oRWkH7pbFM69eGNAuQ4 even though the test is run on mainnet
// and not testnet, and there are many founders reward addresses not just one.
// When test data is re-generated, we will no longer need to do this.
Params(CBaseChainParams::MAIN).fMinerTestModeForFoundersRewardScript = true;
// #1398 END
CScript scriptPubKey = CScript() << ParseHex("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f") << OP_CHECKSIG;
CBlockTemplate *pblocktemplate;
CMutableTransaction tx,tx2;

Loading…
Cancel
Save