@@ -862,13 +862,15 @@ void CMasternodeMan::ProcessMessage(CNode* pfrom, std::string& strCommand, CData
862
862
if (count == -1 && pmn->pubkey == pubkey && (pmn->lastPing .sigTime < GetTime () - MASTERNODE_MIN_MNB_SECONDS)){
863
863
if (pmn->sigTime < sigTime){ // take the newest entry
864
864
LogPrintf (" dsee - Got updated entry for %s\n " , addr.ToString ().c_str ());
865
- pmn->pubkey2 = pubkey2;
866
- pmn->sigTime = sigTime;
867
- pmn->sig = vchSig;
868
- pmn->protocolVersion = protocolVersion;
869
- pmn->addr = addr;
870
- // fake ping
871
- pmn->lastPing = CMasternodePing (vin);
865
+ if (pmn->protocolVersion == MIN_MASTERNODE_PAYMENT_PROTO_VERSION_1) {
866
+ pmn->pubkey2 = pubkey2;
867
+ pmn->sigTime = sigTime;
868
+ pmn->sig = vchSig;
869
+ pmn->protocolVersion = protocolVersion;
870
+ pmn->addr = addr;
871
+ // fake ping
872
+ pmn->lastPing = CMasternodePing (vin);
873
+ }
872
874
pmn->Check ();
873
875
if (pmn->IsEnabled ()) {
874
876
TRY_LOCK (cs_vNodes, lockNodes);
@@ -939,7 +941,7 @@ void CMasternodeMan::ProcessMessage(CNode* pfrom, std::string& strCommand, CData
939
941
// use this as a peer
940
942
addrman.Add (CAddress (addr), pfrom->addr , 2 *60 *60 );
941
943
942
- // add our Masternode
944
+ // add Masternode
943
945
CMasternode mn = CMasternode ();
944
946
mn.addr = addr;
945
947
mn.vin = vin;
@@ -950,8 +952,9 @@ void CMasternodeMan::ProcessMessage(CNode* pfrom, std::string& strCommand, CData
950
952
mn.protocolVersion = protocolVersion;
951
953
// fake ping
952
954
mn.lastPing = CMasternodePing (vin);
953
- Add (mn);
954
955
mn.Check (true );
956
+ // add v11 masternodes, v12 should be added by mnb only
957
+ if (protocolVersion == MIN_MASTERNODE_PAYMENT_PROTO_VERSION_1) Add (mn);
955
958
if (mn.IsEnabled ()) {
956
959
TRY_LOCK (cs_vNodes, lockNodes);
957
960
if (!lockNodes) return ;
@@ -1013,8 +1016,8 @@ void CMasternodeMan::ProcessMessage(CNode* pfrom, std::string& strCommand, CData
1013
1016
return ;
1014
1017
}
1015
1018
1016
- // fake ping
1017
- pmn->lastPing = CMasternodePing (vin);
1019
+ // fake ping for v11 masternodes, ignore for v12
1020
+ if (pmn-> protocolVersion == MIN_MASTERNODE_PAYMENT_PROTO_VERSION_1) pmn->lastPing = CMasternodePing (vin);
1018
1021
pmn->Check ();
1019
1022
if (pmn->IsEnabled ()) {
1020
1023
TRY_LOCK (cs_vNodes, lockNodes);
0 commit comments