aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/wallet.cpp
AgeCommit message (Collapse)Author
2017-01-06Don't overpay fee if we have selected new coins that result in a smaller ↵Alex Morcos
transaction. On repeated calls to SelectCoins we try to meet the fee necessary for the last transaction, the new fee required might be smaller, so increase our change by the difference if we can.
2017-01-06Try to reduce change output to make needed fee in CreateTransactionAlex Morcos
Once we've picked coins and dummy-signed the transaction to calculate fee, if we don't have sufficient fee, then try to meet the fee by reducing change before resorting to picking new coins.
2017-01-05Merge #9138: Improve fee estimationPieter Wuille
44b64b9 Fix edge case with stale fee estimates (Alex Morcos) 78ae62d Add clarifying comments to fee estimation (Alex Morcos) 5fe0f47 Add extra logging to processBlock in fee estimation. (Alex Morcos) dc008c4 Add IsCurrentForFeeEstimatation (Alex Morcos) ebafdca Pass pointers to existing CTxMemPoolEntries to fee estimation (Alex Morcos) d825838 Always update fee estimates on new blocks. (Alex Morcos) 6f06b26 rename bool to validFeeEstimate (Alex Morcos) 84f7ab0 Remove member variable hadNoDependencies from CTxMemPoolEntry (Alex Morcos) 60ac00d Don't track transactions at all during IBD. (Alex Morcos) 4df4479 Remove extraneous LogPrint from fee estimation (Alex Morcos)
2017-01-05Merge #9465: [Wallet] Do not perform ECDSA signing in the fee calculation ↵Pieter Wuille
inner loop. b3d7b1c Wallet: Do not perform ECDSA in the fee calculation inner loop. (Gregory Maxwell)
2017-01-05Wallet: Do not perform ECDSA in the fee calculation inner loop.Gregory Maxwell
Performing signing in the inner loop has terrible performance when many passes through are needed to complete the selection. Signing before the algorithm is complete also gets in the way of correctly setting the fee (e.g. preventing over-payment when the fee required goes down on the final selection.) Use of the dummy might overpay on the signatures by a couple bytes in uncommon cases where the signatures' DER encoding is smaller than the dummy: Who cares?
2017-01-04Remove member variable hadNoDependencies from CTxMemPoolEntryAlex Morcos
Fee estimation can just check its own mapMemPoolTxs to determine the same information. Note that now fee estimation for block processing must happen before those transactions are removed, but this shoudl be a speedup.
2017-01-04Merge #9283: A few more CTransactionRef optimizationsWladimir J. van der Laan
91335ba Remove unused MakeTransactionRef overloads (Pieter Wuille) 6713f0f Make FillBlock consume txn_available to avoid shared_ptr copies (Pieter Wuille) 62607d7 Convert COrphanTx to keep a CTransactionRef (Pieter Wuille) c44e4c4 Make AcceptToMemoryPool take CTransactionRef (Pieter Wuille)
2017-01-04Merge #9450: Increment MIT licence copyright header year on files modified ↵Wladimir J. van der Laan
in 2016 27765b6 Increment MIT Licence copyright header year on files modified in 2016 (isle2983)
2017-01-03Merge #8776: Wallet refactoring leading up to multiwalletPieter Wuille
5394b39 Wallet: Split main logic from InitLoadWallet into CreateWalletFromFile (Luke Dashjr) fb0c934 Wallet: Let the interval-flushing thread figure out the filename (Luke Dashjr)
2017-01-03qt,wallet: Fix a few typos in messagesWladimir J. van der Laan
As reported by [yahoe.001](https://www.transifex.com/user/profile/yahoe.001/).
2016-12-31Increment MIT Licence copyright header year on files modified in 2016isle2983
Edited via: $ contrib/devtools/copyright_header.py update .
2016-12-30SetMerkleBranch: remove unused code, remove cs_main lock requirementJonas Schnelli
2016-12-24Un-expose mapArgs from utils.hMatt Corallo
2016-12-23Introduce (and use) an IsArgSet accessor methodMatt Corallo
2016-12-21Make AcceptToMemoryPool take CTransactionRefPieter Wuille
2016-12-21Merge #8589: Inline CTxInWitness inside CTxInWladimir J. van der Laan
f6fb7ac Move CTxInWitness inside CTxIn (Pieter Wuille)
2016-12-20Merge #9262: Prefer coins that have fewer ancestors, sanity check txn before ↵Wladimir J. van der Laan
ATMP cee1612 reduce number of lookups in TransactionWithinChainLimit (Gregory Sanders) af9bedb Test for fix of txn chaining in wallet (Gregory Sanders) 5882c09 CreateTransaction: Don't return success with too-many-ancestor txn (Gregory Sanders) 0b2294a SelectCoinsMinConf: Prefer coins with fewer ancestors (Gregory Sanders)
2016-12-20Merge #9316: [wallet] Disable free transactions when relay is disabledWladimir J. van der Laan
faf4ca8 [wallet] Disable free transactions when relay is disabled (MarcoFalke)
2016-12-19Merge #9311: Flush wallet after abandontransactionWladimir J. van der Laan
0632939 Flush wallet after abandontransaction (Alex Morcos)
2016-12-14Merge #9290: Make RelayWalletTransaction attempt to AcceptToMemoryPool.Pieter Wuille
f692fce Make RelayWalletTransaction attempt to AcceptToMemoryPool. (Gregory Maxwell)
2016-12-13CreateTransaction: Don't return success with too-many-ancestor txnGregory Sanders
2016-12-13SelectCoinsMinConf: Prefer coins with fewer ancestorsGregory Sanders
2016-12-13Merge #9302: Return txid even if ATMP fails for new transactionWladimir J. van der Laan
b3a7410 Return txid even if ATMP fails for new transaction (Pieter Wuille)
2016-12-10[wallet] Disable free transactions when relay is disabledMarcoFalke
2016-12-09Flush wallet after abandontransactionAlex Morcos
2016-12-08Return txid even if ATMP fails for new transactionPieter Wuille
2016-12-06[Wallet] Bugfix: FRT: don't terminate when keypool is emptyJonas Schnelli
2016-12-06Make RelayWalletTransaction attempt to AcceptToMemoryPool.Gregory Maxwell
This resolves an issue where a wallet transaction which failed to relay previously because it couldn't make it into the mempool will not try again until restart, even though mempool conditions may have changed. Abandoned and known-conflicted transactions are skipped. Some concern was expressed that there may be users with many unknown conflicts would waste a lot of CPU time trying to add them to their memory pools over and over again. But I am doubtful these users exist in any number, if they do exist they have worse problems, and they can mitigate any performance issue this might have by abandoning the transactions in question.
2016-12-04Move CTxInWitness inside CTxInPieter Wuille
2016-12-02Make CWalletTx store a CTransactionRef instead of inheritingPieter Wuille
2016-12-02Rename the remaining main.{h,cpp} to validation.{h,cpp}Matt Corallo
2016-11-23Merge #9204: Clarify CreateTransaction error messagesWladimir J. van der Laan
918b126 fix CreateTransaction error messages (instagibbs)
2016-11-23Merge #9141: Remove unnecessary calls to CheckFinalTxWladimir J. van der Laan
4512550 Remove unnecessary calls to CheckFinalTx (Jonas Schnelli)
2016-11-23Merge #9142: Move -salvagewallet, -zap(wtx) to where they belongWladimir J. van der Laan
2e44893 Move -salvagewallet, -zap(wtx) to where they belong (Jonas Schnelli)
2016-11-22fix CreateTransaction error messagesinstagibbs
2016-11-19Make CBlock::vtx a vector of shared_ptr<CTransaction>Pieter Wuille
2016-11-15credit values are CAmountGregory Sanders
2016-11-12Remove unnecessary calls to CheckFinalTxJonas Schnelli
2016-11-12Move -salvagewallet, -zap(wtx) to where they belongJonas Schnelli
2016-11-11Wallet: Split main logic from InitLoadWallet into CreateWalletFromFileLuke Dashjr
2016-11-11Wallet: Let the interval-flushing thread figure out the filenameLuke Dashjr
2016-11-02Merge #8977: [Wallet] Refactor wallet/init interaction (Reaccept wtx, flush ↵Wladimir J. van der Laan
thread) cab1da7 [Wallet] Refactor wallet/init interaction (Reaccept wtx, flush thread) (Jonas Schnelli)
2016-10-30Move CWalletDB::ReorderTransactions to CWalletPatrick Strateman
2016-10-28Merge #8989: [Qt] overhaul smart-fee slider, adjust default confirmation targetWladimir J. van der Laan
cfe77ef [Qt] overhaul smart-fee slider, adjust default confirmation target (Jonas Schnelli) 6f02899 [Qt] Hide nTxConfirmTarget behind WalletModel (Jonas Schnelli) 004168d CoinControl: add option for custom confirmation target (Jonas Schnelli)
2016-10-28CoinControl: add option for custom confirmation targetJonas Schnelli
2016-10-26Return useful error message on ATMP failureinstagibbs
2016-10-21moveonly: move `coincontrol` to `src/wallet`Wladimir J. van der Laan
2016-10-20[Wallet] Refactor wallet/init interaction (Reaccept wtx, flush thread)Jonas Schnelli
2016-10-19Merge #8928: Fix init segfault where InitLoadWallet() calls ATMP before genesisWladimir J. van der Laan
37aefff Fix init segfault where InitLoadWallet() calls ATMP before genesis (Matt Corallo)
2016-10-18Merge #8287: [wallet] Set fLimitFree = trueWladimir J. van der Laan
fa8b02d [rpc] rawtx: Prepare fLimitFree to make it an option (MarcoFalke) fa28bfa [wallet] Set fLimitFree = true (MarcoFalke)