|
|
|
@ -1101,6 +1101,9 @@ void CWallet::ReacceptWalletTransactions()
@@ -1101,6 +1101,9 @@ void CWallet::ReacceptWalletTransactions()
|
|
|
|
|
if (!fBroadcastTransactions) |
|
|
|
|
return; |
|
|
|
|
LOCK2(cs_main, cs_wallet); |
|
|
|
|
std::map<int64_t, CWalletTx*> mapSorted; |
|
|
|
|
|
|
|
|
|
// Sort pending wallet transactions based on their initial wallet insertion order
|
|
|
|
|
BOOST_FOREACH(PAIRTYPE(const uint256, CWalletTx)& item, mapWallet) |
|
|
|
|
{ |
|
|
|
|
const uint256& wtxid = item.first; |
|
|
|
@ -1109,13 +1112,19 @@ void CWallet::ReacceptWalletTransactions()
@@ -1109,13 +1112,19 @@ void CWallet::ReacceptWalletTransactions()
|
|
|
|
|
|
|
|
|
|
int nDepth = wtx.GetDepthInMainChain(); |
|
|
|
|
|
|
|
|
|
if (!wtx.IsCoinBase() && nDepth < 0) |
|
|
|
|
{ |
|
|
|
|
// Try to add to memory pool
|
|
|
|
|
LOCK(mempool.cs); |
|
|
|
|
wtx.AcceptToMemoryPool(false); |
|
|
|
|
if (!wtx.IsCoinBase() && nDepth < 0) { |
|
|
|
|
mapSorted.insert(std::make_pair(wtx.nOrderPos, &wtx)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Try to add wallet transactions to memory pool
|
|
|
|
|
BOOST_FOREACH(PAIRTYPE(const int64_t, CWalletTx*)& item, mapSorted) |
|
|
|
|
{ |
|
|
|
|
CWalletTx& wtx = *(item.second); |
|
|
|
|
|
|
|
|
|
LOCK(mempool.cs); |
|
|
|
|
wtx.AcceptToMemoryPool(false); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool CWalletTx::RelayWalletTransaction() |
|
|
|
|