Skip to content

Commit

Permalink
Revert merge of pull #4845
Browse files Browse the repository at this point in the history
  • Loading branch information
laanwj committed Oct 2, 2014
1 parent ad51e14 commit 8d13243
Show file tree
Hide file tree
Showing 12 changed files with 4 additions and 371 deletions.
1 change: 0 additions & 1 deletion src/Makefile.test.include
Expand Up @@ -51,7 +51,6 @@ BITCOIN_TESTS =\
test/key_tests.cpp \
test/main_tests.cpp \
test/miner_tests.cpp \
test/blockv2_tests.cpp \
test/mruset_tests.cpp \
test/multisig_tests.cpp \
test/netbase_tests.cpp \
Expand Down
41 changes: 0 additions & 41 deletions src/chainparams.cpp
Expand Up @@ -115,7 +115,6 @@ class CMainParams : public CChainParams {
fAllowMinDifficultyBlocks = false;
fRequireStandard = true;
fMineBlocksOnDemand = false;
fSkipProofOfWorkCheck = false;
}
};
static CMainParams mainParams;
Expand Down Expand Up @@ -215,46 +214,8 @@ class CRegTestParams : public CTestNetParams {
};
static CRegTestParams regTestParams;

//
// Unit test
//
class CUnitTestParams : public CMainParams, public CModifiableParams {
public:
CUnitTestParams() {
networkID = CBaseChainParams::UNITTEST;
strNetworkID = "unittest";
nDefaultPort = 18445;
vFixedSeeds.clear();
vSeeds.clear(); // Regtest mode doesn't have any DNS seeds.

fRequireRPCPassword = false;
fMiningRequiresPeers = false;
fDefaultCheckMemPool = true;
fAllowMinDifficultyBlocks = false;
fMineBlocksOnDemand = true;
}
public:
// Published setters to allow changing values in unit test cases
virtual void setSubsidyHalvingInterval(int anSubsidyHalvingInterval) { nSubsidyHalvingInterval=anSubsidyHalvingInterval; }
virtual void setEnforceBlockUpgradeMajority(int anEnforceBlockUpgradeMajority) { nEnforceBlockUpgradeMajority=anEnforceBlockUpgradeMajority; }
virtual void setRejectBlockOutdatedMajority(int anRejectBlockOutdatedMajority) { nRejectBlockOutdatedMajority=anRejectBlockOutdatedMajority; }
virtual void setToCheckBlockUpgradeMajority(int anToCheckBlockUpgradeMajority) { nToCheckBlockUpgradeMajority=anToCheckBlockUpgradeMajority; }
virtual void setDefaultCheckMemPool(bool afDefaultCheckMemPool) { fDefaultCheckMemPool=afDefaultCheckMemPool; }
virtual void setAllowMinDifficultyBlocks(bool afAllowMinDifficultyBlocks) { fAllowMinDifficultyBlocks=afAllowMinDifficultyBlocks; }
virtual void setSkipProofOfWorkCheck(bool afSkipProofOfWorkCheck) { fSkipProofOfWorkCheck = afSkipProofOfWorkCheck; }
};
static CUnitTestParams unitTestParams;


static CChainParams *pCurrentParams = 0;

CModifiableParams *ModifiableParams()
{
assert(pCurrentParams);
assert(pCurrentParams==&unitTestParams);
return (CModifiableParams*)&unitTestParams;
}

const CChainParams &Params() {
assert(pCurrentParams);
return *pCurrentParams;
Expand All @@ -268,8 +229,6 @@ CChainParams &Params(CBaseChainParams::Network network) {
return testNetParams;
case CBaseChainParams::REGTEST:
return regTestParams;
case CBaseChainParams::UNITTEST:
return unitTestParams;
default:
assert(false && "Unimplemented network");
return mainParams;
Expand Down
24 changes: 0 additions & 24 deletions src/chainparams.h
Expand Up @@ -61,8 +61,6 @@ class CChainParams
bool DefaultCheckMemPool() const { return fDefaultCheckMemPool; }
/* Allow mining of a min-difficulty block */
bool AllowMinDifficultyBlocks() const { return fAllowMinDifficultyBlocks; }
/* Skip proof-of-work check: allow mining of any difficulty block */
bool SkipProofOfWorkCheck() const { return fSkipProofOfWorkCheck; }
/* Make standard checks */
bool RequireStandard() const { return fRequireStandard; }
int64_t TargetTimespan() const { return nTargetTimespan; }
Expand Down Expand Up @@ -105,27 +103,8 @@ class CChainParams
bool fAllowMinDifficultyBlocks;
bool fRequireStandard;
bool fMineBlocksOnDemand;
bool fSkipProofOfWorkCheck;
};

/** Modifiable parameters interface is used by test cases to adapt the parameters in order
*** to test specific features more easily. Test cases should always restore the previous
*** values after finalization.
**/

class CModifiableParams {
public:
// Published setters to allow changing values in unit test cases
virtual void setSubsidyHalvingInterval(int anSubsidyHalvingInterval) =0;
virtual void setEnforceBlockUpgradeMajority(int anEnforceBlockUpgradeMajority)=0;
virtual void setRejectBlockOutdatedMajority(int anRejectBlockOutdatedMajority)=0;
virtual void setToCheckBlockUpgradeMajority(int anToCheckBlockUpgradeMajority)=0;
virtual void setDefaultCheckMemPool(bool aDefaultCheckMemPool)=0;
virtual void setAllowMinDifficultyBlocks(bool aAllowMinDifficultyBlocks)=0;
virtual void setSkipProofOfWorkCheck(bool aSkipProofOfWorkCheck)=0;
};


/**
* Return the currently selected parameters. This won't change after app startup
* outside of the unit tests.
Expand All @@ -135,9 +114,6 @@ const CChainParams &Params();
/** Return parameters for the given network. */
CChainParams &Params(CBaseChainParams::Network network);

/** Get modifyable network parameters (UNITTEST only) */
CModifiableParams *ModifiableParams();

/** Sets the params returned by Params() to those for the given network. */
void SelectParams(CBaseChainParams::Network network);

Expand Down
17 changes: 0 additions & 17 deletions src/chainparamsbase.cpp
Expand Up @@ -57,20 +57,6 @@ class CBaseRegTestParams : public CBaseTestNetParams
};
static CBaseRegTestParams regTestParams;

//
// Unit test
//
class CBaseUnitTestParams : public CBaseMainParams
{
public:
CBaseUnitTestParams()
{
networkID = CBaseChainParams::UNITTEST;
strDataDir = "unittest";
}
};
static CBaseUnitTestParams unitTestParams;

static CBaseChainParams* pCurrentBaseParams = 0;

const CBaseChainParams& BaseParams()
Expand All @@ -91,9 +77,6 @@ void SelectBaseParams(CBaseChainParams::Network network)
case CBaseChainParams::REGTEST:
pCurrentBaseParams = &regTestParams;
break;
case CBaseChainParams::UNITTEST:
pCurrentBaseParams = &unitTestParams;
break;
default:
assert(false && "Unimplemented network");
return;
Expand Down
1 change: 0 additions & 1 deletion src/chainparamsbase.h
Expand Up @@ -19,7 +19,6 @@ class CBaseChainParams
MAIN,
TESTNET,
REGTEST,
UNITTEST,

MAX_NETWORK_TYPES
};
Expand Down
2 changes: 0 additions & 2 deletions src/checkpoints.cpp
Expand Up @@ -88,8 +88,6 @@ namespace Checkpoints {
return dataTestnet;
else if (Params().NetworkID() == CBaseChainParams::MAIN)
return data;
else if (Params().NetworkID() == CBaseChainParams::UNITTEST) // UnitTest share the same checkpoints as MAIN
return data;
else
return dataRegtest;
}
Expand Down
3 changes: 1 addition & 2 deletions src/main.cpp
Expand Up @@ -2305,8 +2305,7 @@ bool AcceptBlockHeader(CBlockHeader& block, CValidationState& state, CBlockIndex
nHeight = pindexPrev->nHeight+1;

// Check proof of work
if ((!Params().SkipProofOfWorkCheck()) &&
(block.nBits != GetNextWorkRequired(pindexPrev, &block)))
if (block.nBits != GetNextWorkRequired(pindexPrev, &block))
return state.DoS(100, error("AcceptBlock() : incorrect proof of work"),
REJECT_INVALID, "bad-diffbits");

Expand Down
4 changes: 0 additions & 4 deletions src/pow.cpp
Expand Up @@ -81,10 +81,6 @@ bool CheckProofOfWork(uint256 hash, unsigned int nBits)
bool fNegative;
bool fOverflow;
uint256 bnTarget;

if (Params().SkipProofOfWorkCheck())
return true;

bnTarget.SetCompact(nBits, &fNegative, &fOverflow);

// Check range
Expand Down
4 changes: 2 additions & 2 deletions src/test/base58_tests.cpp
Expand Up @@ -175,7 +175,7 @@ BOOST_AUTO_TEST_CASE(base58_keys_valid_parse)
BOOST_CHECK_MESSAGE(!secret.IsValid(), "IsValid pubkey as privkey:" + strTest);
}
}
SelectParams(CBaseChainParams::UNITTEST);
SelectParams(CBaseChainParams::MAIN);
}

// Goal: check that generated keys match test vectors
Expand Down Expand Up @@ -243,7 +243,7 @@ BOOST_AUTO_TEST_CASE(base58_keys_valid_gen)
CTxDestination nodest = CNoDestination();
BOOST_CHECK(!dummyAddr.Set(nodest));

SelectParams(CBaseChainParams::UNITTEST);
SelectParams(CBaseChainParams::MAIN);
}

// Goal: check that base58 parsing code is robust against a variety of corrupted data
Expand Down

0 comments on commit 8d13243

Please sign in to comment.