Alex Morcos
20449ef09e
Don't overpay fee if we have selected new coins that result in a smaller 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-06 10:18:56 -05:00
Alex Morcos
42f5ce4093
Try to reduce change output to make needed fee in CreateTransaction
...
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-06 10:12:05 -05:00
Pieter Wuille
f646275b90
Merge #9138 : Improve fee estimation
...
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-05 14:22:19 -08:00
Pieter Wuille
a7d55c9338
Merge #9465 : [Wallet] Do not perform ECDSA signing in the fee calculation inner loop.
...
b3d7b1c
Wallet: Do not perform ECDSA in the fee calculation inner loop. (Gregory Maxwell)
2017-01-05 13:37:03 -08:00
Gregory Maxwell
b3d7b1cbe7
Wallet: Do not perform ECDSA in the fee calculation inner loop.
...
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-05 18:15:01 +00:00
Alex Morcos
84f7ab08d2
Remove member variable hadNoDependencies from CTxMemPoolEntry
...
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-04 12:09:33 -05:00
Pieter Wuille
ce370c1811
Mark the minconf parameter to move as ignored
2017-01-04 08:48:21 -08:00
Wladimir J. van der Laan
d65a13b773
Merge #9396 : Updated listsinceblock rpc documentation
...
3f67972
updated listsinceblock rpc docs (accraze)
2017-01-04 12:47:56 +01:00
Wladimir J. van der Laan
869781c51c
Merge #9283 : A few more CTransactionRef optimizations
...
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-04 12:23:10 +01:00
Wladimir J. van der Laan
c0ddd32bf6
Merge #9450 : Increment MIT licence copyright header year on files modified in 2016
...
27765b6
Increment MIT Licence copyright header year on files modified in 2016 (isle2983)
2017-01-04 12:09:05 +01:00
Pieter Wuille
2a524b8e8f
Merge #8776 : Wallet refactoring leading up to multiwallet
...
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-03 14:11:11 -08:00
Wladimir J. van der Laan
a9d6151802
qt,wallet: Fix a few typos in messages
...
As reported by [yahoe.001](https://www.transifex.com/user/profile/yahoe.001/ ).
2017-01-03 15:01:46 +01:00
isle2983
27765b6403
Increment MIT Licence copyright header year on files modified in 2016
...
Edited via:
$ contrib/devtools/copyright_header.py update .
2016-12-31 11:01:21 -07:00
Jonas Schnelli
9e351c9586
SetMerkleBranch: remove unused code, remove cs_main lock requirement
2016-12-30 10:37:13 +01:00
Matt Corallo
4cd373aea8
Un-expose mapArgs from utils.h
2016-12-24 11:29:33 -05:00
Matt Corallo
0cf86a6678
Introduce (and use) an IsArgSet accessor method
2016-12-23 21:30:16 -05:00
accraze
3f67972654
updated listsinceblock rpc docs
...
fixes #8758
2016-12-22 09:28:03 -08:00
Pieter Wuille
c44e4c467c
Make AcceptToMemoryPool take CTransactionRef
2016-12-21 18:18:23 -08:00
Wladimir J. van der Laan
e8cfe1ee2d
Merge #8589 : Inline CTxInWitness inside CTxIn
...
f6fb7ac
Move CTxInWitness inside CTxIn (Pieter Wuille)
2016-12-21 14:04:06 +01:00
Wladimir J. van der Laan
38e4887b46
Merge #8717 : [WALLET] Addition of ImmatureCreditCached to MarkDirty()
...
a560378
[WALLET] Addition of ImmatureCreditCached to MarkDirty() (Spencer Lievens)
2016-12-21 11:30:03 +01:00
Wladimir J. van der Laan
5a70572049
Merge #9262 : Prefer coins that have fewer ancestors, sanity check txn before 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-20 13:27:08 +01:00
Wladimir J. van der Laan
3097ea40d7
Merge #9316 : [wallet] Disable free transactions when relay is disabled
...
faf4ca8
[wallet] Disable free transactions when relay is disabled (MarcoFalke)
2016-12-20 11:29:59 +01:00
Wladimir J. van der Laan
a336d13a58
Merge #9311 : Flush wallet after abandontransaction
...
0632939
Flush wallet after abandontransaction (Alex Morcos)
2016-12-19 09:43:54 +01:00
Pieter Wuille
57e337d40e
Merge #9290 : Make RelayWalletTransaction attempt to AcceptToMemoryPool.
...
f692fce
Make RelayWalletTransaction attempt to AcceptToMemoryPool. (Gregory Maxwell)
2016-12-14 01:28:09 -08:00
Gregory Sanders
5882c099d9
CreateTransaction: Don't return success with too-many-ancestor txn
2016-12-13 09:41:07 -05:00
Gregory Sanders
0b2294a980
SelectCoinsMinConf: Prefer coins with fewer ancestors
2016-12-13 09:41:04 -05:00
Wladimir J. van der Laan
26fe5c98ab
Merge #9326 : Update for OpenSSL 1.1 API.
...
b05b1af
Fix qt/paymentrequestplus.cpp for OpenSSL 1.1 API. (Gregory Maxwell)
bae1eef
Fix wallet/test/crypto_tests.cpp for OpenSSL 1.1 API. (Gregory Maxwell)
2016-12-13 12:22:30 +01:00
Wladimir J. van der Laan
b6abdc77d3
Merge #9302 : Return txid even if ATMP fails for new transaction
...
b3a7410
Return txid even if ATMP fails for new transaction (Pieter Wuille)
2016-12-13 12:15:27 +01:00
Gregory Maxwell
bae1eef752
Fix wallet/test/crypto_tests.cpp for OpenSSL 1.1 API.
...
This avoids a compile failure on newly installed debian stretch systems.
2016-12-12 08:10:27 +00:00
MarcoFalke
faf4ca84e4
[wallet] Disable free transactions when relay is disabled
2016-12-10 17:45:23 +01:00
Alex Morcos
06329393c7
Flush wallet after abandontransaction
2016-12-09 13:36:42 -05:00
Pieter Wuille
b3a74100b8
Return txid even if ATMP fails for new transaction
2016-12-08 11:55:32 -08:00
Jonas Schnelli
c24a4f5981
[Wallet] Bugfix: FRT: don't terminate when keypool is empty
2016-12-06 13:45:56 +01:00
Gregory Maxwell
f692fce8a4
Make RelayWalletTransaction attempt to AcceptToMemoryPool.
...
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-06 08:01:27 +00:00
Gregory Sanders
bc7ff8db99
Add option to return non-segwit serialization via rpc
2016-12-05 07:43:22 -05:00
Wladimir J. van der Laan
c01f16aaa0
Merge #9165 : SendMoney: use already-calculated balance
...
ea83d00
SendMoney: use already-calculated balance (instagibbs)
2016-12-05 12:47:31 +01:00
Pieter Wuille
f6fb7acda4
Move CTxInWitness inside CTxIn
2016-12-04 23:47:12 -08:00
Pieter Wuille
42fd8dee30
Make DecodeHexTx return a CMutableTransaction
2016-12-02 18:28:22 -08:00
Pieter Wuille
c3f5673a63
Make CWalletTx store a CTransactionRef instead of inheriting
2016-12-02 18:28:22 -08:00
Matt Corallo
76faa3cdfe
Rename the remaining main.{h,cpp} to validation.{h,cpp}
2016-12-02 09:42:51 -08:00
Wladimir J. van der Laan
74ced54b7e
Merge #9204 : Clarify CreateTransaction error messages
...
918b126
fix CreateTransaction error messages (instagibbs)
2016-11-23 08:42:06 +01:00
Wladimir J. van der Laan
5ea5e0401c
Merge #9141 : Remove unnecessary calls to CheckFinalTx
...
4512550
Remove unnecessary calls to CheckFinalTx (Jonas Schnelli)
2016-11-23 07:24:43 +01:00
Wladimir J. van der Laan
40022fe5f2
Merge #9142 : Move -salvagewallet, -zap(wtx) to where they belong
...
2e44893
Move -salvagewallet, -zap(wtx) to where they belong (Jonas Schnelli)
2016-11-23 07:18:24 +01:00
instagibbs
918b126901
fix CreateTransaction error messages
2016-11-22 13:40:57 -05:00
Pieter Wuille
1662b437b3
Make CBlock::vtx a vector of shared_ptr<CTransaction>
2016-11-19 17:51:09 -08:00
MarcoFalke
cb2ed300a8
Merge #9155 : [trivial] update comments for tx weight
...
07ede5d
update comments for tx weight (Brian Deery)
2016-11-16 11:05:40 +01:00
Pieter Wuille
6eeac6e30d
Merge #9164 : [trivial] credit values are CAmount
...
20c3215
credit values are CAmount (Gregory Sanders)
2016-11-15 09:44:07 -08:00
instagibbs
ea83d0098a
SendMoney: use already-calculated balance
2016-11-15 11:56:45 -05:00
Gregory Sanders
20c3215a90
credit values are CAmount
2016-11-15 09:19:23 -05:00
Brian Deery
07ede5d711
update comments for tx weight
2016-11-14 00:38:07 -06:00