@ -1487,18 +1487,29 @@ bool CWallet::CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey)
string CWallet : : SendMoney ( CScript scriptPubKey , int64_t nValue , CWalletTx & wtxNew )
string CWallet : : SendMoney ( const CTxDestination & address , int64_t nValue , CWalletTx & wtxNew )
{
{
CReserveKey reservekey ( this ) ;
// Check amount
int64_t nFeeRequired ;
if ( nValue < = 0 )
return _ ( " Invalid amount " ) ;
if ( nValue > GetBalance ( ) )
return _ ( " Insufficient funds " ) ;
string strError ;
if ( IsLocked ( ) )
if ( IsLocked ( ) )
{
{
string str Error = _ ( " Error: Wallet locked, unable to create transaction! " ) ;
strError = _ ( " Error: Wallet locked, unable to create transaction! " ) ;
LogPrintf ( " SendMoney() : %s " , strError ) ;
LogPrintf ( " SendMoney() : %s " , strError ) ;
return strError ;
return strError ;
}
}
string strError ;
// Parse Bitcoin address
CScript scriptPubKey ;
scriptPubKey . SetDestination ( address ) ;
// Create and send the transaction
CReserveKey reservekey ( this ) ;
int64_t nFeeRequired ;
if ( ! CreateTransaction ( scriptPubKey , nValue , wtxNew , reservekey , nFeeRequired , strError ) )
if ( ! CreateTransaction ( scriptPubKey , nValue , wtxNew , reservekey , nFeeRequired , strError ) )
{
{
if ( nValue + nFeeRequired > GetBalance ( ) )
if ( nValue + nFeeRequired > GetBalance ( ) )
@ -1506,7 +1517,6 @@ string CWallet::SendMoney(CScript scriptPubKey, int64_t nValue, CWalletTx& wtxNe
LogPrintf ( " SendMoney() : %s \n " , strError ) ;
LogPrintf ( " SendMoney() : %s \n " , strError ) ;
return strError ;
return strError ;
}
}
if ( ! CommitTransaction ( wtxNew , reservekey ) )
if ( ! CommitTransaction ( wtxNew , reservekey ) )
return _ ( " Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. " ) ;
return _ ( " Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. " ) ;
@ -1515,21 +1525,6 @@ string CWallet::SendMoney(CScript scriptPubKey, int64_t nValue, CWalletTx& wtxNe
string CWallet : : SendMoneyToDestination ( const CTxDestination & address , int64_t nValue , CWalletTx & wtxNew )
{
// Check amount
if ( nValue < = 0 )
return _ ( " Invalid amount " ) ;
if ( nValue > GetBalance ( ) )
return _ ( " Insufficient funds " ) ;
// Parse Bitcoin address
CScript scriptPubKey ;
scriptPubKey . SetDestination ( address ) ;
return SendMoney ( scriptPubKey , nValue , wtxNew ) ;
}
int64_t CWallet : : GetMinimumFee ( unsigned int nTxBytes , unsigned int nConfirmTarget , const CTxMemPool & pool )
int64_t CWallet : : GetMinimumFee ( unsigned int nTxBytes , unsigned int nConfirmTarget , const CTxMemPool & pool )
{
{
// payTxFee is user-set "I want to pay this much"
// payTxFee is user-set "I want to pay this much"