diff --git a/src/chainparams.cpp b/src/chainparams.cpp --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -128,8 +128,8 @@ // November 13, 2017 hard fork consensus.daaHeight = 504031; - // Nov 15, 2018 hard fork - consensus.magneticAnomalyActivationTime = 1542300000; + // November 15, 2018 hard fork + consensus.magneticAnomalyHeight = 556766; // Wed, 15 May 2019 12:00:00 UTC hard fork consensus.greatWallActivationTime = 1557921600; @@ -299,8 +299,8 @@ // November 13, 2017 hard fork consensus.daaHeight = 1188697; - // Nov 15, 2018 hard fork - consensus.magneticAnomalyActivationTime = 1542300000; + // November 15, 2018 hard fork + consensus.magneticAnomalyHeight = 1267996; // Wed, 15 May 2019 12:00:00 UTC hard fork consensus.greatWallActivationTime = 1557921600; @@ -419,8 +419,8 @@ // November 13, 2017 hard fork is always on on regtest. consensus.daaHeight = 0; - // Nov 15, 2018 hard fork - consensus.magneticAnomalyActivationTime = 1542300000; + // November 15, 2018 hard fork is always on on regtest. + consensus.magneticAnomalyHeight = 0; // Wed, 15 May 2019 12:00:00 UTC hard fork consensus.greatWallActivationTime = 1557921600; diff --git a/src/consensus/activation.h b/src/consensus/activation.h --- a/src/consensus/activation.h +++ b/src/consensus/activation.h @@ -16,13 +16,10 @@ /** Check if DAA HF has activated. */ bool IsDAAEnabled(const Config &config, const CBlockIndex *pindexPrev); -/** Check if Nov 15, 2018 HF has activated. */ +/** Check if Nov 15, 2018 HF has activated using block height. */ +bool IsMagneticAnomalyEnabled(const Config &config, int32_t nHeight); +/** Check if Nov 15, 2018 HF has activated using previous block index. */ bool IsMagneticAnomalyEnabled(const Config &config, const CBlockIndex *pindexPrev); -/** - * Also check if Nov 15, 2018 HF has activated, but with an API that isn't as - * safe. - */ -bool IsMagneticAnomalyEnabled(const Config &config, int64_t nMedianTimePast); #endif // BITCOIN_CONSENSUS_ACTIVATION_H diff --git a/src/consensus/activation.cpp b/src/consensus/activation.cpp --- a/src/consensus/activation.cpp +++ b/src/consensus/activation.cpp @@ -33,11 +33,9 @@ return IsDAAEnabled(config, pindexPrev->nHeight); } -bool IsMagneticAnomalyEnabled(const Config &config, int64_t nMedianTimePast) { - return nMedianTimePast >= gArgs.GetArg("-magneticanomalyactivationtime", - config.GetChainParams() - .GetConsensus() - .magneticAnomalyActivationTime); +bool IsMagneticAnomalyEnabled(const Config &config, int32_t nHeight) { + return nHeight >= + config.GetChainParams().GetConsensus().magneticAnomalyHeight; } bool IsMagneticAnomalyEnabled(const Config &config, @@ -46,5 +44,5 @@ return false; } - return IsMagneticAnomalyEnabled(config, pindexPrev->GetMedianTimePast()); + return IsMagneticAnomalyEnabled(config, pindexPrev->nHeight); } diff --git a/src/consensus/params.h b/src/consensus/params.h --- a/src/consensus/params.h +++ b/src/consensus/params.h @@ -54,8 +54,8 @@ int uahfHeight; /** Block height at which the new DAA becomes active */ int daaHeight; - /** Unix time used for MTP activation of Nov 15 2018, hardfork */ - int magneticAnomalyActivationTime; + /** Block height at which the magnetic anomaly activation becomes active */ + int magneticAnomalyHeight; /** Unix time used for MTP activation of 15 May 2019 12:00:00 UTC upgrade */ int greatWallActivationTime; /** diff --git a/src/consensus/tx_verify.cpp b/src/consensus/tx_verify.cpp --- a/src/consensus/tx_verify.cpp +++ b/src/consensus/tx_verify.cpp @@ -46,7 +46,7 @@ "non-final transaction"); } - if (IsMagneticAnomalyEnabled(config, nMedianTimePast)) { + if (IsMagneticAnomalyEnabled(config, nHeight)) { // Size limit if (::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION) < MIN_TX_SIZE) { diff --git a/src/test/transaction_tests.cpp b/src/test/transaction_tests.cpp --- a/src/test/transaction_tests.cpp +++ b/src/test/transaction_tests.cpp @@ -775,17 +775,17 @@ BOOST_AUTO_TEST_CASE(txsize_activation_test) { const Config &config = GetConfig(); - const int64_t magneticAnomalyActivationTime = - config.GetChainParams().GetConsensus().magneticAnomalyActivationTime; + const int32_t magneticAnomalyActivationHeight = + config.GetChainParams().GetConsensus().magneticAnomalyHeight; // A minimaly sized transction. CTransaction minTx; CValidationState state; - BOOST_CHECK(ContextualCheckTransaction(config, minTx, state, 1234, 5678, - magneticAnomalyActivationTime - 1)); - BOOST_CHECK(!ContextualCheckTransaction(config, minTx, state, 1234, 5678, - magneticAnomalyActivationTime)); + BOOST_CHECK(ContextualCheckTransaction( + config, minTx, state, magneticAnomalyActivationHeight - 1, 5678, 1234)); + BOOST_CHECK(!ContextualCheckTransaction( + config, minTx, state, magneticAnomalyActivationHeight, 5678, 1234)); BOOST_CHECK_EQUAL(state.GetRejectCode(), REJECT_INVALID); BOOST_CHECK_EQUAL(state.GetRejectReason(), "bad-txns-undersize"); }