|
|
@ -67,6 +67,7 @@ bool fPayAtLeastCustomFee = true; |
|
|
|
|
|
|
|
CBlockIndex *hush_chainactive(int32_t height); |
|
|
|
extern std::string DONATION_PUBKEY; |
|
|
|
extern int32_t HUSH_LOADINGBLOCKS; |
|
|
|
int32_t hush_dpowconfs(int32_t height,int32_t numconfs); |
|
|
|
int tx_height( const uint256 &hash ); |
|
|
|
bool fTxDeleteEnabled = false; |
|
|
@ -3184,7 +3185,6 @@ std::vector<uint256> CWallet::ResendWalletTransactionsBefore(int64_t nTime) |
|
|
|
|
|
|
|
void CWallet::ResendWalletTransactions(int64_t nBestBlockTime) |
|
|
|
{ |
|
|
|
LogPrintf("%s: nBestBlockTime=%ld nNextResend=%ld nLastResend=%ld time=%ld\n", __func__, nBestBlockTime, nNextResend, nLastResend, GetTime()); |
|
|
|
// Do this infrequently and randomly to avoid giving away
|
|
|
|
// that these are our transactions.
|
|
|
|
if (GetTime() < nNextResend || !fBroadcastTransactions) |
|
|
@ -3195,11 +3195,26 @@ void CWallet::ResendWalletTransactions(int64_t nBestBlockTime) |
|
|
|
if (fFirst) |
|
|
|
return; |
|
|
|
|
|
|
|
// do not resend during IBD/rescan because some txs will be unconfirmed
|
|
|
|
// until completion
|
|
|
|
if(IsInitialBlockDownload()) { |
|
|
|
return; |
|
|
|
} |
|
|
|
if (pwalletMain->fRescanning) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// do not resend during a reindex or initial loading of blocks
|
|
|
|
if (HUSH_LOADINGBLOCKS) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// Only do it if there's been a new block since last time
|
|
|
|
if (nBestBlockTime < nLastResend) |
|
|
|
return; |
|
|
|
nLastResend = GetTime(); |
|
|
|
|
|
|
|
LogPrintf("%s: nBestBlockTime=%ld nNextResend=%ld nLastResend=%ld time=%ld\n", __func__, nBestBlockTime, nNextResend, nLastResend, GetTime()); |
|
|
|
// Rebroadcast unconfirmed txes older than 5 minutes before the last
|
|
|
|
// block was found:
|
|
|
|
std::vector<uint256> relayed = ResendWalletTransactionsBefore(nBestBlockTime-5*60); |
|
|
|