diff options
author | MarcoFalke <falke.marco@gmail.com> | 2015-09-14 14:49:59 +0200 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2015-10-28 11:15:48 +0100 |
commit | a9c73a130ebf2369381241d0053c8fa0a301e0fc (patch) | |
tree | 90a453e9451ee7b35ecf0d59c34b01491fce977b /src | |
parent | 6b0e622c25ddba656149de0f9f8b7f2a0aa0deba (diff) | |
download | bitcoin-a9c73a130ebf2369381241d0053c8fa0a301e0fc.tar.xz |
[wallet] Add comments for doxygen
Diffstat (limited to 'src')
-rw-r--r-- | src/wallet/wallet.cpp | 1 | ||||
-rw-r--r-- | src/wallet/wallet.h | 22 |
2 files changed, 21 insertions, 2 deletions
diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 2414532f75..4e05f519cc 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -1842,6 +1842,7 @@ bool CWallet::CreateTransaction(const vector<CRecipient>& vecSend, CWalletTx& wt LOCK2(cs_main, cs_wallet); { nFeeRet = 0; + // Start with no fee and loop until there is enough fee while (true) { txNew.vin.clear(); diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h index 143ca22bdc..cb2c09b892 100644 --- a/src/wallet/wallet.h +++ b/src/wallet/wallet.h @@ -451,6 +451,11 @@ public: class CWallet : public CCryptoKeyStore, public CValidationInterface { private: + /** + * Select a set of coins such that nValueRet >= nTargetValue and at least + * all coins from coinControl are selected; Never select unconfirmed coins + * if they are not ours + */ bool SelectCoins(const CAmount& nTargetValue, std::set<std::pair<const CWalletTx*,unsigned int> >& setCoinsRet, CAmount& nValueRet, const CCoinControl *coinControl = NULL) const; CWalletDB *pwalletdbEncryption; @@ -552,9 +557,12 @@ public: * populate vCoins with vector of available COutputs. */ void AvailableCoins(std::vector<COutput>& vCoins, bool fOnlyConfirmed=true, const CCoinControl *coinControl = NULL, bool fIncludeZeroValue=false) const; + /** - * Select coins until nTargetValue is reached. Return the actual value - * and the corresponding coin set. + * Shuffle and select coins until nTargetValue is reached while avoiding + * small change; This method is stochastic for some inputs and upon + * completion the coin set and corresponding actual target value is + * assembled */ bool SelectCoinsMinConf(const CAmount& nTargetValue, int nConfMine, int nConfTheirs, std::vector<COutput> vCoins, std::set<std::pair<const CWalletTx*,unsigned int> >& setCoinsRet, CAmount& nValueRet) const; @@ -638,7 +646,17 @@ public: CAmount GetWatchOnlyBalance() const; CAmount GetUnconfirmedWatchOnlyBalance() const; CAmount GetImmatureWatchOnlyBalance() const; + + /** + * Insert additional inputs into the transaction by + * calling CreateTransaction(); + */ bool FundTransaction(CMutableTransaction& tx, CAmount& nFeeRet, int& nChangePosRet, std::string& strFailReason, bool includeWatching); + + /** + * Create a new transaction paying the recipients with a set of coins + * selected by SelectCoins(); Also create the change output, when needed + */ bool CreateTransaction(const std::vector<CRecipient>& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, CAmount& nFeeRet, int& nChangePosRet, std::string& strFailReason, const CCoinControl *coinControl = NULL, bool sign = true); bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey); |