mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 12:32:48 +01:00
SecondsSincePayment (fix buffer overflow / change logic / move impl to cpp)
This commit is contained in:
parent
df77f56e11
commit
795ee119ec
@ -245,6 +245,19 @@ void CMasternode::Check()
|
||||
activeState = MASTERNODE_ENABLED; // OK
|
||||
}
|
||||
|
||||
int64_t CMasternode::SecondsSincePayment() {
|
||||
int64_t sec = (GetAdjustedTime() - nLastPaid);
|
||||
int64_t month = 60*60*24*30;
|
||||
if(sec < month) return sec; //if it's less than 30 days, give seconds
|
||||
|
||||
CHashWriter ss(SER_GETHASH, PROTOCOL_VERSION);
|
||||
ss << vin;
|
||||
ss << sigTime;
|
||||
uint256 hash = ss.GetHash();
|
||||
|
||||
// return some deterministic value for unknown/unpaid but force it to be more than 30 days old
|
||||
return month + hash.GetCompact(false);
|
||||
}
|
||||
|
||||
CMasternodeBroadcast::CMasternodeBroadcast()
|
||||
{
|
||||
|
@ -163,19 +163,7 @@ public:
|
||||
READWRITE(nVotedTimes);
|
||||
}
|
||||
|
||||
int64_t SecondsSincePayment()
|
||||
{
|
||||
int64_t sec = (GetAdjustedTime() - nLastPaid);
|
||||
if(sec < 60*60*24*30) return sec; //if it's less than 30 days, give seconds
|
||||
|
||||
CHashWriter ss(SER_GETHASH, PROTOCOL_VERSION);
|
||||
ss << vin;
|
||||
ss << sigTime;
|
||||
uint256 hash = ss.GetHash();
|
||||
|
||||
memcpy(&sec, &hash, 64);
|
||||
return sec;
|
||||
}
|
||||
int64_t SecondsSincePayment();
|
||||
|
||||
void UpdateFromNewBroadcast(CMasternodeBroadcast& mnb);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user