diff --git a/src/main.cpp b/src/main.cpp index 54928d3f1..9b0ce308d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5016,15 +5016,15 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, return false; } - // When Overwinter is active, reject incoming connections from non-Overwinter nodes + // Reject incoming connections from nodes that don't know about the current epoch const Consensus::Params& params = Params().GetConsensus(); - if (NetworkUpgradeActive(GetHeight(), params, Consensus::UPGRADE_OVERWINTER) - && pfrom->nVersion < params.vUpgrades[Consensus::UPGRADE_OVERWINTER].nProtocolVersion) + auto currentEpoch = CurrentEpoch(GetHeight(), params); + if (pfrom->nVersion < params.vUpgrades[currentEpoch].nProtocolVersion) { LogPrintf("peer=%d using obsolete version %i; disconnecting\n", pfrom->id, pfrom->nVersion); pfrom->PushMessage("reject", strCommand, REJECT_OBSOLETE, strprintf("Version must be %d or greater", - params.vUpgrades[Consensus::UPGRADE_OVERWINTER].nProtocolVersion)); + params.vUpgrades[currentEpoch].nProtocolVersion)); pfrom->fDisconnect = true; return false; }