|
|
@ -225,6 +225,12 @@ public: |
|
|
|
seenTxConfirm(feeRate, minRelayFee, dPriority, i); |
|
|
|
seenTxConfirm(feeRate, minRelayFee, dPriority, i); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//After new samples are added, we have to clear the sorted lists,
|
|
|
|
|
|
|
|
//so they'll be resorted the next time someone asks for an estimate
|
|
|
|
|
|
|
|
sortedFeeSamples.clear(); |
|
|
|
|
|
|
|
sortedPrioritySamples.clear(); |
|
|
|
|
|
|
|
|
|
|
|
for (size_t i = 0; i < history.size(); i++) { |
|
|
|
for (size_t i = 0; i < history.size(); i++) { |
|
|
|
if (history[i].FeeSamples() + history[i].PrioritySamples() > 0) |
|
|
|
if (history[i].FeeSamples() + history[i].PrioritySamples() > 0) |
|
|
|
LogPrint("estimatefee", "estimates: for confirming within %d blocks based on %d/%d samples, fee=%s, prio=%g\n", |
|
|
|
LogPrint("estimatefee", "estimates: for confirming within %d blocks based on %d/%d samples, fee=%s, prio=%g\n", |
|
|
@ -232,8 +238,6 @@ public: |
|
|
|
history[i].FeeSamples(), history[i].PrioritySamples(), |
|
|
|
history[i].FeeSamples(), history[i].PrioritySamples(), |
|
|
|
estimateFee(i+1).ToString(), estimatePriority(i+1)); |
|
|
|
estimateFee(i+1).ToString(), estimatePriority(i+1)); |
|
|
|
} |
|
|
|
} |
|
|
|
sortedFeeSamples.clear(); |
|
|
|
|
|
|
|
sortedPrioritySamples.clear(); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Can return CFeeRate(0) if we don't have any data for that many blocks back. nBlocksToConfirm is 1 based.
|
|
|
|
// Can return CFeeRate(0) if we don't have any data for that many blocks back. nBlocksToConfirm is 1 based.
|
|
|
|