mirror of
https://github.com/dashpay/dash.git
synced 2024-12-28 05:23:01 +01:00
do not require active MN on ping check from UpdateFromNewBroadcast
This commit is contained in:
parent
a831418bd2
commit
cc26cff893
@ -140,7 +140,7 @@ void CMasternode::UpdateFromNewBroadcast(CMasternodeBroadcast& mnb)
|
|||||||
protocolVersion = mnb.protocolVersion;
|
protocolVersion = mnb.protocolVersion;
|
||||||
addr = mnb.addr;
|
addr = mnb.addr;
|
||||||
int nDoS = 0;
|
int nDoS = 0;
|
||||||
if(mnb.lastPing == CMasternodePing() || (mnb.lastPing != CMasternodePing() && mnb.lastPing.CheckAndUpdate(nDoS))) {
|
if(mnb.lastPing == CMasternodePing() || (mnb.lastPing != CMasternodePing() && mnb.lastPing.CheckAndUpdate(nDoS, false))) {
|
||||||
lastPing = mnb.lastPing;
|
lastPing = mnb.lastPing;
|
||||||
mapSeenMasternodePing[lastPing.GetHash()] = lastPing;
|
mapSeenMasternodePing[lastPing.GetHash()] = lastPing;
|
||||||
}
|
}
|
||||||
@ -500,7 +500,7 @@ bool CMasternodePing::Sign(CKey& keyMasternode, CPubKey& pubKeyMasternode)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CMasternodePing::CheckAndUpdate(int& nDos)
|
bool CMasternodePing::CheckAndUpdate(int& nDos, bool fRequireEnabled)
|
||||||
{
|
{
|
||||||
if (sigTime > GetAdjustedTime() + 60 * 60) {
|
if (sigTime > GetAdjustedTime() + 60 * 60) {
|
||||||
LogPrintf("CMasternodePing::CheckAndUpdate - Signature rejected, too far into the future %s\n", vin.ToString().c_str());
|
LogPrintf("CMasternodePing::CheckAndUpdate - Signature rejected, too far into the future %s\n", vin.ToString().c_str());
|
||||||
@ -516,7 +516,8 @@ bool CMasternodePing::CheckAndUpdate(int& nDos)
|
|||||||
|
|
||||||
// see if we have this Masternode
|
// see if we have this Masternode
|
||||||
CMasternode* pmn = mnodeman.Find(vin);
|
CMasternode* pmn = mnodeman.Find(vin);
|
||||||
if(pmn != NULL && pmn->IsEnabled() && pmn->protocolVersion >= masternodePayments.GetMinMasternodePaymentsProto())
|
fRequireEnabled = (fRequireEnabled && pmn->IsEnabled()) || !fRequireEnabled;
|
||||||
|
if(pmn != NULL && fRequireEnabled && pmn->protocolVersion >= masternodePayments.GetMinMasternodePaymentsProto())
|
||||||
{
|
{
|
||||||
// LogPrintf("mnping - Found corresponding mn for vin: %s\n", vin.ToString().c_str());
|
// LogPrintf("mnping - Found corresponding mn for vin: %s\n", vin.ToString().c_str());
|
||||||
// update only if there is no known ping for this masternode or
|
// update only if there is no known ping for this masternode or
|
||||||
|
@ -57,7 +57,7 @@ public:
|
|||||||
READWRITE(vchSig);
|
READWRITE(vchSig);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CheckAndUpdate(int& nDos);
|
bool CheckAndUpdate(int& nDos, bool fRequireEnabled = true);
|
||||||
bool Sign(CKey& keyMasternode, CPubKey& pubKeyMasternode);
|
bool Sign(CKey& keyMasternode, CPubKey& pubKeyMasternode);
|
||||||
void Relay();
|
void Relay();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user