mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 20:12:57 +01:00
Merge #20141: Avoid the use of abs64 in timedata
d1292f25f272401da0c58580521c74b1fa03a9ad Avoid the use of abs64 in timedata (Pieter Wuille) Pull request description: Fixes #20135. ACKs for top commit: kallewoof: ACK d1292f25f272401da0c58580521c74b1fa03a9ad jonatack: ACK d1292f25f272401da0c58580521c74b1fa03a9ad code/logic review, verified there are no remaining callers of `abs64()`, verified no warnings in a debug build practicalswift: ACK d1292f25f272401da0c58580521c74b1fa03a9ad MarcoFalke: ACK d1292f25f272401da0c58580521c74b1fa03a9ad 🎹 Tree-SHA512: d17e95c668eb5e02ea546433b3d1b5a0ccbfb2c9cec62fa67dad1844d7e278a2576fbc0b75bddbf4db9af7331e978148c7bef7fce7e6a07e0eb917ef1392f302
This commit is contained in:
parent
9f64dc6552
commit
1fdf76bfb6
@ -36,11 +36,6 @@ int64_t GetAdjustedTime()
|
|||||||
return GetTime() + GetTimeOffset();
|
return GetTime() + GetTimeOffset();
|
||||||
}
|
}
|
||||||
|
|
||||||
static int64_t abs64(int64_t n)
|
|
||||||
{
|
|
||||||
return (n >= 0 ? n : -n);
|
|
||||||
}
|
|
||||||
|
|
||||||
#define BITCOIN_TIMEDATA_MAX_SAMPLES 200
|
#define BITCOIN_TIMEDATA_MAX_SAMPLES 200
|
||||||
|
|
||||||
void AddTimeData(const CNetAddr& ip, int64_t nOffsetSample)
|
void AddTimeData(const CNetAddr& ip, int64_t nOffsetSample)
|
||||||
@ -79,7 +74,8 @@ void AddTimeData(const CNetAddr& ip, int64_t nOffsetSample)
|
|||||||
int64_t nMedian = vTimeOffsets.median();
|
int64_t nMedian = vTimeOffsets.median();
|
||||||
std::vector<int64_t> vSorted = vTimeOffsets.sorted();
|
std::vector<int64_t> vSorted = vTimeOffsets.sorted();
|
||||||
// Only let other nodes change our time by so much
|
// Only let other nodes change our time by so much
|
||||||
if (abs64(nMedian) <= std::max<int64_t>(0, gArgs.GetArg("-maxtimeadjustment", DEFAULT_MAX_TIME_ADJUSTMENT))) {
|
int64_t max_adjustment = std::max<int64_t>(0, gArgs.GetArg("-maxtimeadjustment", DEFAULT_MAX_TIME_ADJUSTMENT));
|
||||||
|
if (nMedian >= -max_adjustment && nMedian <= max_adjustment) {
|
||||||
nTimeOffset = nMedian;
|
nTimeOffset = nMedian;
|
||||||
} else {
|
} else {
|
||||||
nTimeOffset = 0;
|
nTimeOffset = 0;
|
||||||
@ -89,7 +85,7 @@ void AddTimeData(const CNetAddr& ip, int64_t nOffsetSample)
|
|||||||
// If nobody has a time different than ours but within 5 minutes of ours, give a warning
|
// If nobody has a time different than ours but within 5 minutes of ours, give a warning
|
||||||
bool fMatch = false;
|
bool fMatch = false;
|
||||||
for (const int64_t nOffset : vSorted) {
|
for (const int64_t nOffset : vSorted) {
|
||||||
if (nOffset != 0 && abs64(nOffset) < 5 * 60) fMatch = true;
|
if (nOffset != 0 && nOffset > -5 * 60 && nOffset < 5 * 60) fMatch = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!fMatch) {
|
if (!fMatch) {
|
||||||
|
Loading…
Reference in New Issue
Block a user