@ -3,6 +3,8 @@
@@ -3,6 +3,8 @@
// Distributed under the MIT/X11 software license, see the accompanying
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
# include <stdint.h>
# include "headers.h"
# include "db.h"
# include "crypter.h"
@ -90,7 +92,7 @@ bool CWallet::ChangeWalletPassphrase(const SecureString& strOldWalletPassphrase,
@@ -90,7 +92,7 @@ bool CWallet::ChangeWalletPassphrase(const SecureString& strOldWalletPassphrase,
return false ;
if ( CCryptoKeyStore : : Unlock ( vMasterKey ) )
{
int64 nStartTime = GetTimeMillis ( ) ;
int64_t nStartTime = GetTimeMillis ( ) ;
crypter . SetKeyFromPassphrase ( strNewWalletPassphrase , pMasterKey . second . vchSalt , pMasterKey . second . nDeriveIterations , pMasterKey . second . nDerivationMethod ) ;
pMasterKey . second . nDeriveIterations = pMasterKey . second . nDeriveIterations * ( 100 / ( ( double ) ( GetTimeMillis ( ) - nStartTime ) ) ) ;
@ -149,7 +151,7 @@ bool CWallet::EncryptWallet(const SecureString& strWalletPassphrase)
@@ -149,7 +151,7 @@ bool CWallet::EncryptWallet(const SecureString& strWalletPassphrase)
RAND_bytes ( & kMasterKey . vchSalt [ 0 ] , WALLET_CRYPTO_SALT_SIZE ) ;
CCrypter crypter ;
int64 nStartTime = GetTimeMillis ( ) ;
int64_t nStartTime = GetTimeMillis ( ) ;
crypter . SetKeyFromPassphrase ( strWalletPassphrase , kMasterKey . vchSalt , 25000 , kMasterKey . nDerivationMethod ) ;
kMasterKey . nDeriveIterations = 2500000 / ( ( double ) ( GetTimeMillis ( ) - nStartTime ) ) ;
@ -367,7 +369,7 @@ bool CWallet::IsMine(const CTxIn &txin) const
@@ -367,7 +369,7 @@ bool CWallet::IsMine(const CTxIn &txin) const
return false ;
}
int64 CWallet : : GetDebit ( const CTxIn & txin ) const
int64_t CWallet : : GetDebit ( const CTxIn & txin ) const
{
CRITICAL_BLOCK ( cs_wallet )
{
@ -401,7 +403,7 @@ bool CWallet::IsChange(const CTxOut& txout) const
@@ -401,7 +403,7 @@ bool CWallet::IsChange(const CTxOut& txout) const
return false ;
}
int64 CWalletTx : : GetTxTime ( ) const
int64_t CWalletTx : : GetTxTime ( ) const
{
return nTimeReceived ;
}
@ -445,8 +447,8 @@ int CWalletTx::GetRequestCount() const
@@ -445,8 +447,8 @@ int CWalletTx::GetRequestCount() const
return nRequests ;
}
void CWalletTx : : GetAmounts ( int64 & nGeneratedImmature , int64 & nGeneratedMature , list < pair < CBitcoinAddress , int64 > > & listReceived ,
list < pair < CBitcoinAddress , int64 > > & listSent , int64 & nFee , string & strSentAccount ) const
void CWalletTx : : GetAmounts ( int64_t & nGeneratedImmature , int64_t & nGeneratedMature , list < pair < CBitcoinAddress , int64_t > > & listReceived ,
list < pair < CBitcoinAddress , int64_t > > & listSent , int64_t & nFee , string & strSentAccount ) const
{
nGeneratedImmature = nGeneratedMature = nFee = 0 ;
listReceived . clear ( ) ;
@ -463,10 +465,10 @@ void CWalletTx::GetAmounts(int64& nGeneratedImmature, int64& nGeneratedMature, l
@@ -463,10 +465,10 @@ void CWalletTx::GetAmounts(int64& nGeneratedImmature, int64& nGeneratedMature, l
}
// Compute fee:
int64 nDebit = GetDebit ( ) ;
int64_t nDebit = GetDebit ( ) ;
if ( nDebit > 0 ) // debit>0 means we signed/sent this transaction
{
int64 nValueOut = GetValueOut ( ) ;
int64_t nValueOut = GetValueOut ( ) ;
nFee = nDebit - nValueOut ;
}
@ -495,29 +497,29 @@ void CWalletTx::GetAmounts(int64& nGeneratedImmature, int64& nGeneratedMature, l
@@ -495,29 +497,29 @@ void CWalletTx::GetAmounts(int64& nGeneratedImmature, int64& nGeneratedMature, l
}
void CWalletTx : : GetAccountAmounts ( const string & strAccount , int64 & nGenerated , int64 & nReceived ,
int64 & nSent , int64 & nFee ) const
void CWalletTx : : GetAccountAmounts ( const string & strAccount , int64_t & nGenerated , int64_t & nReceived ,
int64_t & nSent , int64_t & nFee ) const
{
nGenerated = nReceived = nSent = nFee = 0 ;
int64 allGeneratedImmature , allGeneratedMature , allFee ;
int64_t allGeneratedImmature , allGeneratedMature , allFee ;
allGeneratedImmature = allGeneratedMature = allFee = 0 ;
string strSentAccount ;
list < pair < CBitcoinAddress , int64 > > listReceived ;
list < pair < CBitcoinAddress , int64 > > listSent ;
list < pair < CBitcoinAddress , int64_t > > listReceived ;
list < pair < CBitcoinAddress , int64_t > > listSent ;
GetAmounts ( allGeneratedImmature , allGeneratedMature , listReceived , listSent , allFee , strSentAccount ) ;
if ( strAccount = = " " )
nGenerated = allGeneratedMature ;
if ( strAccount = = strSentAccount )
{
BOOST_FOREACH ( const PAIRTYPE ( CBitcoinAddress , int64 ) & s , listSent )
BOOST_FOREACH ( const PAIRTYPE ( CBitcoinAddress , int64_t ) & s , listSent )
nSent + = s . second ;
nFee = allFee ;
}
CRITICAL_BLOCK ( pwallet - > cs_wallet )
{
BOOST_FOREACH ( const PAIRTYPE ( CBitcoinAddress , int64 ) & r , listReceived )
BOOST_FOREACH ( const PAIRTYPE ( CBitcoinAddress , int64_t ) & r , listReceived )
{
if ( pwallet - > mapAddressBook . count ( r . first ) )
{
@ -720,7 +722,7 @@ void CWallet::ResendWalletTransactions()
@@ -720,7 +722,7 @@ void CWallet::ResendWalletTransactions()
{
// Do this infrequently and randomly to avoid giving away
// that these are our transactions.
static int64 nNextTime ;
static int64_t nNextTime ;
if ( GetTime ( ) < nNextTime )
return ;
bool fFirst = ( nNextTime = = 0 ) ;
@ -729,7 +731,7 @@ void CWallet::ResendWalletTransactions()
@@ -729,7 +731,7 @@ void CWallet::ResendWalletTransactions()
return ;
// Only do it if there's been a new block since last time
static int64 nLastTime ;
static int64_t nLastTime ;
if ( nTimeBestReceived < nLastTime )
return ;
nLastTime = GetTime ( ) ;
@ -746,7 +748,7 @@ void CWallet::ResendWalletTransactions()
@@ -746,7 +748,7 @@ void CWallet::ResendWalletTransactions()
CWalletTx & wtx = item . second ;
// Don't rebroadcast until it's had plenty of time that
// it should have gotten in already by now.
if ( nTimeBestReceived - ( int64 ) wtx . nTimeReceived > 5 * 60 )
if ( nTimeBestReceived - ( int64_t ) wtx . nTimeReceived > 5 * 60 )
mapSorted . insert ( make_pair ( wtx . nTimeReceived , & wtx ) ) ;
}
BOOST_FOREACH ( PAIRTYPE ( const unsigned int , CWalletTx * ) & item , mapSorted )
@ -768,9 +770,9 @@ void CWallet::ResendWalletTransactions()
@@ -768,9 +770,9 @@ void CWallet::ResendWalletTransactions()
//
int64 CWallet : : GetBalance ( ) const
int64_t CWallet : : GetBalance ( ) const
{
int64 nTotal = 0 ;
int64_t nTotal = 0 ;
CRITICAL_BLOCK ( cs_wallet )
{
for ( map < uint256 , CWalletTx > : : const_iterator it = mapWallet . begin ( ) ; it ! = mapWallet . end ( ) ; + + it )
@ -785,9 +787,9 @@ int64 CWallet::GetBalance() const
@@ -785,9 +787,9 @@ int64 CWallet::GetBalance() const
return nTotal ;
}
int64 CWallet : : GetUnconfirmedBalance ( ) const
int64_t CWallet : : GetUnconfirmedBalance ( ) const
{
int64 nTotal = 0 ;
int64_t nTotal = 0 ;
CRITICAL_BLOCK ( cs_wallet )
{
for ( map < uint256 , CWalletTx > : : const_iterator it = mapWallet . begin ( ) ; it ! = mapWallet . end ( ) ; + + it )
@ -801,17 +803,17 @@ int64 CWallet::GetUnconfirmedBalance() const
@@ -801,17 +803,17 @@ int64 CWallet::GetUnconfirmedBalance() const
return nTotal ;
}
bool CWallet : : SelectCoinsMinConf ( int64 nTargetValue , int nConfMine , int nConfTheirs , set < pair < const CWalletTx * , unsigned int > > & setCoinsRet , int64 & nValueRet ) const
bool CWallet : : SelectCoinsMinConf ( int64_t nTargetValue , int nConfMine , int nConfTheirs , set < pair < const CWalletTx * , unsigned int > > & setCoinsRet , int64_t & nValueRet ) const
{
setCoinsRet . clear ( ) ;
nValueRet = 0 ;
// List of values less than target
pair < int64 , pair < const CWalletTx * , unsigned int > > coinLowestLarger ;
coinLowestLarger . first = std : : numeric_limits < int64 > : : max ( ) ;
pair < int64_t , pair < const CWalletTx * , unsigned int > > coinLowestLarger ;
coinLowestLarger . first = std : : numeric_limits < int64_t > : : max ( ) ;
coinLowestLarger . second . first = NULL ;
vector < pair < int64 , pair < const CWalletTx * , unsigned int > > > vValue ;
int64 nTotalLower = 0 ;
vector < pair < int64_t , pair < const CWalletTx * , unsigned int > > > vValue ;
int64_t nTotalLower = 0 ;
CRITICAL_BLOCK ( cs_wallet )
{
@ -838,12 +840,12 @@ bool CWallet::SelectCoinsMinConf(int64 nTargetValue, int nConfMine, int nConfThe
@@ -838,12 +840,12 @@ bool CWallet::SelectCoinsMinConf(int64 nTargetValue, int nConfMine, int nConfThe
if ( pcoin - > IsSpent ( i ) | | ! IsMine ( pcoin - > vout [ i ] ) )
continue ;
int64 n = pcoin - > vout [ i ] . nValue ;
int64_t n = pcoin - > vout [ i ] . nValue ;
if ( n < = 0 )
continue ;
pair < int64 , pair < const CWalletTx * , unsigned int > > coin = make_pair ( n , make_pair ( pcoin , i ) ) ;
pair < int64_t , pair < const CWalletTx * , unsigned int > > coin = make_pair ( n , make_pair ( pcoin , i ) ) ;
if ( n = = nTargetValue )
{
@ -890,12 +892,12 @@ bool CWallet::SelectCoinsMinConf(int64 nTargetValue, int nConfMine, int nConfThe
@@ -890,12 +892,12 @@ bool CWallet::SelectCoinsMinConf(int64 nTargetValue, int nConfMine, int nConfThe
sort ( vValue . rbegin ( ) , vValue . rend ( ) ) ;
vector < char > vfIncluded ;
vector < char > vfBest ( vValue . size ( ) , true ) ;
int64 nBest = nTotalLower ;
int64_t nBest = nTotalLower ;
for ( int nRep = 0 ; nRep < 1000 & & nBest ! = nTargetValue ; nRep + + )
{
vfIncluded . assign ( vValue . size ( ) , false ) ;
int64 nTotal = 0 ;
int64_t nTotal = 0 ;
bool fReachedTarget = false ;
for ( int nPass = 0 ; nPass < 2 & & ! fReachedTarget ; nPass + + )
{
@ -946,7 +948,7 @@ bool CWallet::SelectCoinsMinConf(int64 nTargetValue, int nConfMine, int nConfThe
@@ -946,7 +948,7 @@ bool CWallet::SelectCoinsMinConf(int64 nTargetValue, int nConfMine, int nConfThe
return true ;
}
bool CWallet : : SelectCoins ( int64 nTargetValue , set < pair < const CWalletTx * , unsigned int > > & setCoinsRet , int64 & nValueRet ) const
bool CWallet : : SelectCoins ( int64_t nTargetValue , set < pair < const CWalletTx * , unsigned int > > & setCoinsRet , int64_t & nValueRet ) const
{
return ( SelectCoinsMinConf ( nTargetValue , 1 , 6 , setCoinsRet , nValueRet ) | |
SelectCoinsMinConf ( nTargetValue , 1 , 1 , setCoinsRet , nValueRet ) | |
@ -956,10 +958,10 @@ bool CWallet::SelectCoins(int64 nTargetValue, set<pair<const CWalletTx*,unsigned
@@ -956,10 +958,10 @@ bool CWallet::SelectCoins(int64 nTargetValue, set<pair<const CWalletTx*,unsigned
bool CWallet : : CreateTransaction ( const vector < pair < CScript , int64 > > & vecSend , CWalletTx & wtxNew , CReserveKey & reservekey , int64 & nFeeRet )
bool CWallet : : CreateTransaction ( const vector < pair < CScript , int64_t > > & vecSend , CWalletTx & wtxNew , CReserveKey & reservekey , int64_t & nFeeRet )
{
int64 nValue = 0 ;
BOOST_FOREACH ( const PAIRTYPE ( CScript , int64 ) & s , vecSend )
int64_t nValue = 0 ;
BOOST_FOREACH ( const PAIRTYPE ( CScript , int64_t ) & s , vecSend )
{
if ( nValue < 0 )
return false ;
@ -983,30 +985,30 @@ bool CWallet::CreateTransaction(const vector<pair<CScript, int64> >& vecSend, CW
@@ -983,30 +985,30 @@ bool CWallet::CreateTransaction(const vector<pair<CScript, int64> >& vecSend, CW
wtxNew . vout . clear ( ) ;
wtxNew . fFromMe = true ;
int64 nTotalValue = nValue + nFeeRet ;
int64_t nTotalValue = nValue + nFeeRet ;
double dPriority = 0 ;
// vouts to the payees
BOOST_FOREACH ( const PAIRTYPE ( CScript , int64 ) & s , vecSend )
BOOST_FOREACH ( const PAIRTYPE ( CScript , int64_t ) & s , vecSend )
wtxNew . vout . push_back ( CTxOut ( s . second , s . first ) ) ;
// Choose coins to use
set < pair < const CWalletTx * , unsigned int > > setCoins ;
int64 nValueIn = 0 ;
int64_t nValueIn = 0 ;
if ( ! SelectCoins ( nTotalValue , setCoins , nValueIn ) )
return false ;
BOOST_FOREACH ( PAIRTYPE ( const CWalletTx * , unsigned int ) pcoin , setCoins )
{
int64 nCredit = pcoin . first - > vout [ pcoin . second ] . nValue ;
int64_t nCredit = pcoin . first - > vout [ pcoin . second ] . nValue ;
dPriority + = ( double ) nCredit * pcoin . first - > GetDepthInMainChain ( ) ;
}
int64 nChange = nValueIn - nValue - nFeeRet ;
int64_t nChange = nValueIn - nValue - nFeeRet ;
// if sub-cent change is required, the fee must be raised to at least MIN_TX_FEE
// or until nChange becomes zero
// NOTE: this depends on the exact behaviour of GetMinFee
if ( nFeeRet < MIN_TX_FEE & & nChange > 0 & & nChange < CENT )
{
int64 nMoveToFee = min ( nChange , MIN_TX_FEE - nFeeRet ) ;
int64_t nMoveToFee = min ( nChange , MIN_TX_FEE - nFeeRet ) ;
nChange - = nMoveToFee ;
nFeeRet + = nMoveToFee ;
}
@ -1054,9 +1056,9 @@ bool CWallet::CreateTransaction(const vector<pair<CScript, int64> >& vecSend, CW
@@ -1054,9 +1056,9 @@ bool CWallet::CreateTransaction(const vector<pair<CScript, int64> >& vecSend, CW
dPriority / = nBytes ;
// Check that enough fee is included
int64 nPayFee = nTransactionFee * ( 1 + ( int64 ) nBytes / 1000 ) ;
int64_t nPayFee = nTransactionFee * ( 1 + ( int64_t ) nBytes / 1000 ) ;
bool fAllowFree = CTransaction : : AllowFree ( dPriority ) ;
int64 nMinFee = wtxNew . GetMinFee ( 1 , fAllowFree , GMF_SEND ) ;
int64_t nMinFee = wtxNew . GetMinFee ( 1 , fAllowFree , GMF_SEND ) ;
if ( nFeeRet < max ( nPayFee , nMinFee ) )
{
nFeeRet = max ( nPayFee , nMinFee ) ;
@ -1074,9 +1076,9 @@ bool CWallet::CreateTransaction(const vector<pair<CScript, int64> >& vecSend, CW
@@ -1074,9 +1076,9 @@ bool CWallet::CreateTransaction(const vector<pair<CScript, int64> >& vecSend, CW
return true ;
}
bool CWallet : : CreateTransaction ( CScript scriptPubKey , int64 nValue , CWalletTx & wtxNew , CReserveKey & reservekey , int64 & nFeeRet )
bool CWallet : : CreateTransaction ( CScript scriptPubKey , int64_t nValue , CWalletTx & wtxNew , CReserveKey & reservekey , int64_t & nFeeRet )
{
vector < pair < CScript , int64 > > vecSend ;
vector < pair < CScript , int64_t > > vecSend ;
vecSend . push_back ( make_pair ( scriptPubKey , nValue ) ) ;
return CreateTransaction ( vecSend , wtxNew , reservekey , nFeeRet ) ;
}
@ -1135,10 +1137,10 @@ bool CWallet::CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey)
@@ -1135,10 +1137,10 @@ bool CWallet::CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey)
string CWallet : : SendMoney ( CScript scriptPubKey , int64 nValue , CWalletTx & wtxNew , bool fAskFee )
string CWallet : : SendMoney ( CScript scriptPubKey , int64_t nValue , CWalletTx & wtxNew , bool fAskFee )
{
CReserveKey reservekey ( this ) ;
int64 nFeeRequired ;
int64_t nFeeRequired ;
if ( IsLocked ( ) )
{
@ -1169,7 +1171,7 @@ string CWallet::SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew,
@@ -1169,7 +1171,7 @@ string CWallet::SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew,
string CWallet : : SendMoneyToBitcoinAddress ( const CBitcoinAddress & address , int64 nValue , CWalletTx & wtxNew , bool fAskFee )
string CWallet : : SendMoneyToBitcoinAddress ( const CBitcoinAddress & address , int64_t nValue , CWalletTx & wtxNew , bool fAskFee )
{
// Check amount
if ( nValue < = 0 )
@ -1299,17 +1301,17 @@ bool CWallet::NewKeyPool()
@@ -1299,17 +1301,17 @@ bool CWallet::NewKeyPool()
CRITICAL_BLOCK ( cs_wallet )
{
CWalletDB walletdb ( strWalletFile ) ;
BOOST_FOREACH ( int64 nIndex , setKeyPool )
BOOST_FOREACH ( int64_t nIndex , setKeyPool )
walletdb . ErasePool ( nIndex ) ;
setKeyPool . clear ( ) ;
if ( IsLocked ( ) )
return false ;
int64 nKeys = max ( GetArg ( " -keypool " , 100 ) , ( int64 ) 0 ) ;
int64_t nKeys = max ( GetArg ( " -keypool " , 100 ) , ( int64_t ) 0 ) ;
for ( int i = 0 ; i < nKeys ; i + + )
{
int64 nIndex = i + 1 ;
int64_t nIndex = i + 1 ;
walletdb . WritePool ( nIndex , CKeyPool ( GenerateNewKey ( ) ) ) ;
setKeyPool . insert ( nIndex ) ;
}
@ -1328,10 +1330,10 @@ bool CWallet::TopUpKeyPool()
@@ -1328,10 +1330,10 @@ bool CWallet::TopUpKeyPool()
CWalletDB walletdb ( strWalletFile ) ;
// Top up key pool
int64 nTargetSize = max ( GetArg ( " -keypool " , 100 ) , ( int64 ) 0 ) ;
int64_t nTargetSize = max ( GetArg ( " -keypool " , 100 ) , ( int64_t ) 0 ) ;
while ( setKeyPool . size ( ) < nTargetSize + 1 )
{
int64 nEnd = 1 ;
int64_t nEnd = 1 ;
if ( ! setKeyPool . empty ( ) )
nEnd = * ( - - setKeyPool . end ( ) ) + 1 ;
if ( ! walletdb . WritePool ( nEnd , CKeyPool ( GenerateNewKey ( ) ) ) )
@ -1343,7 +1345,7 @@ bool CWallet::TopUpKeyPool()
@@ -1343,7 +1345,7 @@ bool CWallet::TopUpKeyPool()
return true ;
}
void CWallet : : ReserveKeyFromKeyPool ( int64 & nIndex , CKeyPool & keypool )
void CWallet : : ReserveKeyFromKeyPool ( int64_t & nIndex , CKeyPool & keypool )
{
nIndex = - 1 ;
keypool . vchPubKey . clear ( ) ;
@ -1369,14 +1371,14 @@ void CWallet::ReserveKeyFromKeyPool(int64& nIndex, CKeyPool& keypool)
@@ -1369,14 +1371,14 @@ void CWallet::ReserveKeyFromKeyPool(int64& nIndex, CKeyPool& keypool)
}
}
int64 CWallet : : AddReserveKey ( const CKeyPool & keypool )
int64_t CWallet : : AddReserveKey ( const CKeyPool & keypool )
{
CRITICAL_BLOCK ( cs_main )
CRITICAL_BLOCK ( cs_wallet )
{
CWalletDB walletdb ( strWalletFile ) ;
int64 nIndex = 1 + * ( - - setKeyPool . end ( ) ) ;
int64_t nIndex = 1 + * ( - - setKeyPool . end ( ) ) ;
if ( ! walletdb . WritePool ( nIndex , keypool ) )
throw runtime_error ( " AddReserveKey() : writing added key failed " ) ;
setKeyPool . insert ( nIndex ) ;
@ -1385,7 +1387,7 @@ int64 CWallet::AddReserveKey(const CKeyPool& keypool)
@@ -1385,7 +1387,7 @@ int64 CWallet::AddReserveKey(const CKeyPool& keypool)
return - 1 ;
}
void CWallet : : KeepKey ( int64 nIndex )
void CWallet : : KeepKey ( int64_t nIndex )
{
// Remove from key pool
if ( fFileBacked )
@ -1396,7 +1398,7 @@ void CWallet::KeepKey(int64 nIndex)
@@ -1396,7 +1398,7 @@ void CWallet::KeepKey(int64 nIndex)
printf ( " keypool keep % " PRI64d " \n " , nIndex ) ;
}
void CWallet : : ReturnKey ( int64 nIndex )
void CWallet : : ReturnKey ( int64_t nIndex )
{
// Return to key pool
CRITICAL_BLOCK ( cs_wallet )
@ -1406,7 +1408,7 @@ void CWallet::ReturnKey(int64 nIndex)
@@ -1406,7 +1408,7 @@ void CWallet::ReturnKey(int64 nIndex)
bool CWallet : : GetKeyFromPool ( vector < unsigned char > & result , bool fAllowReuse )
{
int64 nIndex = 0 ;
int64_t nIndex = 0 ;
CKeyPool keypool ;
CRITICAL_BLOCK ( cs_wallet )
{
@ -1428,9 +1430,9 @@ bool CWallet::GetKeyFromPool(vector<unsigned char>& result, bool fAllowReuse)
@@ -1428,9 +1430,9 @@ bool CWallet::GetKeyFromPool(vector<unsigned char>& result, bool fAllowReuse)
return true ;
}
int64 CWallet : : GetOldestKeyPoolTime ( )
int64_t CWallet : : GetOldestKeyPoolTime ( )
{
int64 nIndex = 0 ;
int64_t nIndex = 0 ;
CKeyPool keypool ;
ReserveKeyFromKeyPool ( nIndex , keypool ) ;
if ( nIndex = = - 1 )
@ -1481,7 +1483,7 @@ void CWallet::GetAllReserveAddresses(set<CBitcoinAddress>& setAddress)
@@ -1481,7 +1483,7 @@ void CWallet::GetAllReserveAddresses(set<CBitcoinAddress>& setAddress)
CRITICAL_BLOCK ( cs_main )
CRITICAL_BLOCK ( cs_wallet )
BOOST_FOREACH ( const int64 & id , setKeyPool )
BOOST_FOREACH ( const int64_t & id , setKeyPool )
{
CKeyPool keypool ;
if ( ! walletdb . ReadPool ( id , keypool ) )