Hi, guys. Can someone tell me why we change the following code in main.cpp?
if (sigTime <= GetAdjustedTime() - 60 * 60) {
LogPrintf("dseep: Signature rejected, too far into the past %s\n", vin.ToString().c_str());
//pfrom->Misbehaving(20);
return false;
}
...
std::string errorMessage = "";
if(!darkSendSigner.VerifyMessage(mn.pubkey2, vchSig, strMessage, errorMessage)){
LogPrintf("dseep: Got bad masternode address signature %s \n", vin.ToString().c_str());
//pfrom->Misbehaving(20);
return false;
}
The if-test used to be GetAdjustedTime() - 15*60. The Mishbehaving statements were not commented out. I am trying to understand what the code does as a newbie. My questions are:
(a) Why pick 60*60 instead of longer time? If my interpretation is correct, vin is the signature here. If this is the signature, why are we returning false for signature that is too old? I don't think the signature should change if you don't move your 1000 DRK to somewhere else.
(b) Why do we comment out the second Misbehaving statement? If we get a bad MN address signature, shouldn't we ban it instead of just returning a false? From what I know, these resolve the disconnect problem to a certain degree. But, it seems to me that other clients using the older version are kicking other masternodes offline. So, my other question is why we are getting so many bad masternode address signatures. This is the dseep command. So, if the ping fails, shouldn't the MN's being ping'ed be de-listed?