Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 14 additions & 11 deletions src/masternodeman.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -862,13 +862,15 @@ void CMasternodeMan::ProcessMessage(CNode* pfrom, std::string& strCommand, CData
if(count == -1 && pmn->pubkey == pubkey && (pmn->lastPing.sigTime < GetTime() - MASTERNODE_MIN_MNB_SECONDS)){
if(pmn->sigTime < sigTime){ //take the newest entry
LogPrintf("dsee - Got updated entry for %s\n", addr.ToString().c_str());
pmn->pubkey2 = pubkey2;
pmn->sigTime = sigTime;
pmn->sig = vchSig;
pmn->protocolVersion = protocolVersion;
pmn->addr = addr;
//fake ping
pmn->lastPing = CMasternodePing(vin);
if(pmn->protocolVersion == MIN_MASTERNODE_PAYMENT_PROTO_VERSION_1) {
pmn->pubkey2 = pubkey2;
pmn->sigTime = sigTime;
pmn->sig = vchSig;
pmn->protocolVersion = protocolVersion;
pmn->addr = addr;
//fake ping
pmn->lastPing = CMasternodePing(vin);
}
pmn->Check();
if(pmn->IsEnabled()) {
TRY_LOCK(cs_vNodes, lockNodes);
Expand Down Expand Up @@ -939,7 +941,7 @@ void CMasternodeMan::ProcessMessage(CNode* pfrom, std::string& strCommand, CData
// use this as a peer
addrman.Add(CAddress(addr), pfrom->addr, 2*60*60);

// add our Masternode
// add Masternode
CMasternode mn = CMasternode();
mn.addr = addr;
mn.vin = vin;
Expand All @@ -950,8 +952,9 @@ void CMasternodeMan::ProcessMessage(CNode* pfrom, std::string& strCommand, CData
mn.protocolVersion = protocolVersion;
// fake ping
mn.lastPing = CMasternodePing(vin);
Add(mn);
mn.Check(true);
// add v11 masternodes, v12 should be added by mnb only
if(protocolVersion == MIN_MASTERNODE_PAYMENT_PROTO_VERSION_1) Add(mn);
if(mn.IsEnabled()) {
TRY_LOCK(cs_vNodes, lockNodes);
if(!lockNodes) return;
Expand Down Expand Up @@ -1013,8 +1016,8 @@ void CMasternodeMan::ProcessMessage(CNode* pfrom, std::string& strCommand, CData
return;
}

// fake ping
pmn->lastPing = CMasternodePing(vin);
// fake ping for v11 masternodes, ignore for v12
if(pmn->protocolVersion == MIN_MASTERNODE_PAYMENT_PROTO_VERSION_1) pmn->lastPing = CMasternodePing(vin);
pmn->Check();
if(pmn->IsEnabled()) {
TRY_LOCK(cs_vNodes, lockNodes);
Expand Down