Browse Source

Merge pull request #4463

e832ab7 Rename SendMoneyToDestination to SendMoney. (Daniel Kraft)
0.10
Wladimir J. van der Laan 11 years ago
parent
commit
bc06e8f402
No known key found for this signature in database
GPG Key ID: 74810B012346C9A6
  1. 4
      src/rpcwallet.cpp
  2. 37
      src/wallet.cpp
  3. 3
      src/wallet.h

4
src/rpcwallet.cpp

@ -346,7 +346,7 @@ Value sendtoaddress(const Array& params, bool fHelp)
EnsureWalletIsUnlocked(); EnsureWalletIsUnlocked();
string strError = pwalletMain->SendMoneyToDestination(address.Get(), nAmount, wtx); string strError = pwalletMain->SendMoney(address.Get(), nAmount, wtx);
if (strError != "") if (strError != "")
throw JSONRPCError(RPC_WALLET_ERROR, strError); throw JSONRPCError(RPC_WALLET_ERROR, strError);
@ -786,7 +786,7 @@ Value sendfrom(const Array& params, bool fHelp)
throw JSONRPCError(RPC_WALLET_INSUFFICIENT_FUNDS, "Account has insufficient funds"); throw JSONRPCError(RPC_WALLET_INSUFFICIENT_FUNDS, "Account has insufficient funds");
// Send // Send
string strError = pwalletMain->SendMoneyToDestination(address.Get(), nAmount, wtx); string strError = pwalletMain->SendMoney(address.Get(), nAmount, wtx);
if (strError != "") if (strError != "")
throw JSONRPCError(RPC_WALLET_ERROR, strError); throw JSONRPCError(RPC_WALLET_ERROR, strError);

37
src/wallet.cpp

@ -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 strError = _("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"

3
src/wallet.h

@ -265,8 +265,7 @@ public:
bool CreateTransaction(CScript scriptPubKey, int64_t nValue, bool CreateTransaction(CScript scriptPubKey, int64_t nValue,
CWalletTx& wtxNew, CReserveKey& reservekey, int64_t& nFeeRet, std::string& strFailReason, const CCoinControl *coinControl = NULL); CWalletTx& wtxNew, CReserveKey& reservekey, int64_t& nFeeRet, std::string& strFailReason, const CCoinControl *coinControl = NULL);
bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey); bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey);
std::string SendMoney(CScript scriptPubKey, int64_t nValue, CWalletTx& wtxNew); std::string SendMoney(const CTxDestination &address, int64_t nValue, CWalletTx& wtxNew);
std::string SendMoneyToDestination(const CTxDestination &address, int64_t nValue, CWalletTx& wtxNew);
static CFeeRate minTxFee; static CFeeRate minTxFee;
static int64_t GetMinimumFee(unsigned int nTxBytes, unsigned int nConfirmTarget, const CTxMemPool& pool); static int64_t GetMinimumFee(unsigned int nTxBytes, unsigned int nConfirmTarget, const CTxMemPool& pool);

Loading…
Cancel
Save