Wladimir J. van der Laan
2ef52d3cf1
Merge #8456 : [RPC] Simplified bumpfee command.
...
cc0243a
[RPC] bumpfee (mrbandrews)
52dde66
[wallet] Add include_unsafe argument to listunspent RPC (Russell Yanofsky)
766e8a4
[wallet] Add IsAllFromMe: true if all inputs are from wallet (Suhas Daftuar)
2017-01-19 19:59:24 +01:00
mrbandrews
cc0243ad32
[RPC] bumpfee
...
This command allows a user to increase the fee on a wallet transaction T, creating a "bumper" transaction B.
T must signal that it is BIP-125 replaceable.
T's change output is decremented to pay the additional fee. (B will not add inputs to T.)
T cannot have any descendant transactions.
Once B bumps T, neither T nor B's outputs can be spent until either T or (more likely) B is mined.
Includes code by @jonasschnelli and @ryanofsky
2017-01-19 11:29:29 -05:00
Wladimir J. van der Laan
9c9af5ab2d
Merge #9499 : Use recent-rejects, orphans, and recently-replaced txn for compact-block-reconstruction
...
c594580
Add braces around AddToCompactExtraTransactions (Matt Corallo)
1ccfe9b
Clarify comment about mempool/extra conflicts (Matt Corallo)
fac4c78
Make PartiallyDownloadedBlock::InitData's second param const (Matt Corallo)
b55b416
Add extra_count lower bound to compact reconstruction debug print (Matt Corallo)
863edb4
Consider all (<100k memusage) txn for compact-block-extra-txn cache (Matt Corallo)
7f8c8ca
Consider all orphan txn for compact-block-extra-txn cache (Matt Corallo)
93380c5
Use replaced transactions in compact block reconstruction (Matt Corallo)
1531652
Keep shared_ptrs to recently-replaced txn for compact blocks (Matt Corallo)
edded80
Make ATMP optionally return the CTransactionRefs it replaced (Matt Corallo)
c735540
Move ORPHAN constants from validation.h to net_processing.h (Matt Corallo)
2017-01-19 09:03:46 +01:00
Wladimir J. van der Laan
dd98f04538
Merge #9380 : Separate different uses of minimum fees
...
eb30d1a
Introduce -dustrelayfee (Alex Morcos)
7b1add3
Introduce -incrementalrelayfee (Alex Morcos)
daec955
Introduce -blockmintxfee (Alex Morcos)
2017-01-16 19:33:08 +01:00
Alex Morcos
eb30d1a5b2
Introduce -dustrelayfee
2017-01-16 08:40:40 -05:00
Wladimir J. van der Laan
7cb024eba6
Merge #9222 : Add 'subtractFeeFromAmount' option to 'fundrawtransaction'.
...
453bda6
Add 'subtractFeeFromOutputs' option to 'fundrawtransaction'. (Chris Moore)
2017-01-12 12:49:10 +01:00
Wladimir J. van der Laan
fac0f30482
Merge #9472 : Disentangle progress estimation from checkpoints and update it
...
df36371
Update estimated transaction count data (Pieter Wuille)
e356d9a
Shorten variable names and switch to tx/s (Pieter Wuille)
6dd8116
Remove SIGCHECK_VERIFICATION_FACTOR (Pieter Wuille)
3641141
Move tx estimation data out of CCheckPointData (Pieter Wuille)
a4bac66
[MOVEONLY] Move progress estimation out of checkpoints (Pieter Wuille)
2017-01-12 12:13:14 +01:00
Suhas Daftuar
766e8a40b4
[wallet] Add IsAllFromMe: true if all inputs are from wallet
2017-01-10 08:14:50 -05:00
Matt Corallo
edded808fc
Make ATMP optionally return the CTransactionRefs it replaced
2017-01-09 14:15:18 -05:00
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
Pieter Wuille
6dd81169fc
Remove SIGCHECK_VERIFICATION_FACTOR
2017-01-04 13:18:49 -08:00
Pieter Wuille
3641141c8f
Move tx estimation data out of CCheckPointData
2017-01-04 13:18:49 -08:00
Pieter Wuille
a4bac66cca
[MOVEONLY] Move progress estimation out of checkpoints
2017-01-04 13:18:49 -08: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
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
Pieter Wuille
c44e4c467c
Make AcceptToMemoryPool take CTransactionRef
2016-12-21 18:18:23 -08:00
Patrick Strateman
d63ff6265b
Make nWalletDBUpdated atomic to avoid a potential race.
2016-12-21 13:49:48 -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
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
Chris Moore
453bda63dd
Add 'subtractFeeFromOutputs' option to 'fundrawtransaction'.
2016-12-13 13:36:23 -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
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
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
Pavel Janík
9de90bb749
Do not shadow variables (gcc set)
2016-12-05 11:41:46 +01:00
Pieter Wuille
f6fb7acda4
Move CTxInWitness inside CTxIn
2016-12-04 23:47:12 -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
Gregory Sanders
20c3215a90
credit values are CAmount
2016-11-15 09:19:23 -05:00
Jonas Schnelli
4512550fa0
Remove unnecessary calls to CheckFinalTx
2016-11-12 13:50:39 +01:00
Jonas Schnelli
2e44893081
Move -salvagewallet, -zap(wtx) to where they belong
2016-11-12 10:25:34 +01:00
Luke Dashjr
5394b3940d
Wallet: Split main logic from InitLoadWallet into CreateWalletFromFile
2016-11-11 11:35:49 +00:00
Luke Dashjr
fb0c934d1b
Wallet: Let the interval-flushing thread figure out the filename
2016-11-11 11:35:49 +00:00
Wladimir J. van der Laan
6a1343f73b
Merge #8977 : [Wallet] Refactor wallet/init interaction (Reaccept wtx, flush thread)
...
cab1da7
[Wallet] Refactor wallet/init interaction (Reaccept wtx, flush thread) (Jonas Schnelli)
2016-11-02 21:37:43 +01:00
Patrick Strateman
86029e72c9
Move CWalletDB::ReorderTransactions to CWallet
2016-10-30 02:15:49 -07:00
Wladimir J. van der Laan
d2143dc937
Merge #8989 : [Qt] overhaul smart-fee slider, adjust default confirmation target
...
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-28 14:14:55 +02:00
Jonas Schnelli
004168dcb7
CoinControl: add option for custom confirmation target
2016-10-28 10:44:30 +02:00
instagibbs
169bdabe14
Return useful error message on ATMP failure
2016-10-26 15:59:33 -04:00
Wladimir J. van der Laan
1ae5839ff0
moveonly: move coincontrol
to src/wallet
2016-10-21 11:48:18 +02:00
Jonas Schnelli
cab1da745b
[Wallet] Refactor wallet/init interaction (Reaccept wtx, flush thread)
2016-10-20 09:22:13 +02:00
Wladimir J. van der Laan
c587577356
Merge #8928 : Fix init segfault where InitLoadWallet() calls ATMP before genesis
...
37aefff
Fix init segfault where InitLoadWallet() calls ATMP before genesis (Matt Corallo)
2016-10-19 18:11:15 +02:00
Wladimir J. van der Laan
e10af96cf4
Merge #8287 : [wallet] Set fLimitFree = true
...
fa8b02d
[rpc] rawtx: Prepare fLimitFree to make it an option (MarcoFalke)
fa28bfa
[wallet] Set fLimitFree = true (MarcoFalke)
2016-10-18 21:05:07 +02:00
Wladimir J. van der Laan
5eaaa83ac1
Kill insecure_random and associated global state
...
There are only a few uses of `insecure_random` outside the tests.
This PR replaces uses of insecure_random (and its accompanying global
state) in the core code with an FastRandomContext that is automatically
seeded on creation.
This is meant to be used for inner loops. The FastRandomContext
can be in the outer scope, or the class itself, then rand32() is used
inside the loop. Useful e.g. for pushing addresses in CNode or the fee
rounding, or randomization for coin selection.
As a context is created per purpose, thus it gets rid of
cross-thread unprotected shared usage of a single set of globals, this
should also get rid of the potential race conditions.
- I'd say TxMempool::check is not called enough to warrant using a special
fast random context, this is switched to GetRand() (open for
discussion...)
- The use of `insecure_rand` in ConnectThroughProxy has been replaced by
an atomic integer counter. The only goal here is to have a different
credentials pair for each connection to go on a different Tor circuit,
it does not need to be random nor unpredictable.
- To avoid having a FastRandomContext on every CNode, the context is
passed into PushAddress as appropriate.
There remains an insecure_random for test usage in `test_random.h`.
2016-10-17 13:08:35 +02:00
Matt Corallo
37aefff5fc
Fix init segfault where InitLoadWallet() calls ATMP before genesis
2016-10-15 13:19:16 -04:00
Patrick Strateman
e198c521d3
Move key derivation logic from GenerateNewKey to DeriveNewChildKey
2016-09-30 19:11:00 +02:00
Wladimir J. van der Laan
14b7b3fb9f
Merge #8814 : [wallet, policy] ParameterInteraction: Don't allow 0 fee
...
fa4bfb4
[wallet, policy] ParameterInteraction: Don't allow 0 fee (MarcoFalke)
2016-09-28 08:09:42 +02:00
Pavel Janík
4731cab8fb
Do not shadow variables
2016-09-27 09:25:15 +02:00
MarcoFalke
fa4bfb4819
[wallet, policy] ParameterInteraction: Don't allow 0 fee
2016-09-26 14:44:24 +02:00
MarcoFalke
faef293cf3
[wallet] Add high transaction fee warnings
2016-09-26 01:11:27 +02:00
MarcoFalke
fa58edbffe
[wallet] Introduce DEFAULT_DISABLE_WALLET
2016-09-21 12:06:58 +02:00
MarcoFalke
fab91070d3
init: Get rid of fDisableWallet
2016-09-20 17:32:05 +02:00
Wladimir J. van der Laan
a1f8d3ed95
Merge #8696 : [Wallet] Remove last external reference to CWalletDB
...
2ca6b9d
Remove last reference to CWalletDB from accounting_tests.cpp (Patrick Strateman)
02e2a81
Remove pwalletdb parameter from CWallet::AddAccountingEntry (Patrick Strateman)
d2e678d
Add CWallet::ReorderTransactions and use in accounting_tests.cpp (Patrick Strateman)
59adc86
Add CWallet::ListAccountCreditDebit (Patrick Strateman)
2016-09-20 12:47:31 +02:00
MarcoFalke
faddd62518
init: Get rid of some ENABLE_WALLET
2016-09-19 16:14:18 +02:00
Patrick Strateman
02e2a81536
Remove pwalletdb parameter from CWallet::AddAccountingEntry
2016-09-15 13:50:59 -07:00
Patrick Strateman
d2e678d7d2
Add CWallet::ReorderTransactions and use in accounting_tests.cpp
2016-09-15 06:52:15 -07:00
Patrick Strateman
59adc86680
Add CWallet::ListAccountCreditDebit
...
Simple pass through for CWalletDB::ListAccountCreditDebit
2016-09-15 06:52:15 -07:00
Wladimir J. van der Laan
37ac67816a
Merge #8601 : Add option to opt into full-RBF when sending funds (rebase, original by petertodd)
...
86726d8
Rename `-optintofullrbf` option to `-walletrbf` (Wladimir J. van der Laan)
05fa823
wallet: Add BIP125 comment for MAXINT-1/-2 behavior (Wladimir J. van der Laan)
152f45b
Add option to opt into full-RBF when sending funds (Peter Todd)
2016-09-13 11:35:26 +02:00
Wladimir J. van der Laan
86726d8680
Rename -optintofullrbf
option to -walletrbf
...
This makes it clear that this is a wallet option.
2016-09-13 11:32:29 +02:00
Wladimir J. van der Laan
2abfe5956e
Merge #8664 : Fix segwit-related wallet bug
...
c40b034
Clear witness with vin/vout in CWallet::CreateTransaction() (Suhas Daftuar)
2016-09-09 12:24:39 +02:00
Jeremy Rubin
d1a2295f0d
Made the ForEachNode* functions in src/net.cpp more pragmatic and self documenting
2016-09-08 13:06:05 -04:00
Cory Fields
53347f0cb9
net: create generic functor accessors and move vNodes to CConnman
2016-09-08 12:24:06 -04:00
Cory Fields
5b446dd5b1
net: Pass CConnection to wallet rather than using the global
2016-09-08 12:04:35 -04:00
Suhas Daftuar
c40b034327
Clear witness with vin/vout in CWallet::CreateTransaction()
2016-09-04 20:09:13 -04:00
Wladimir J. van der Laan
05fa823bf6
wallet: Add BIP125 comment for MAXINT-1/-2 behavior
2016-08-26 12:57:28 +02:00
Peter Todd
152f45ba58
Add option to opt into full-RBF when sending funds
2016-08-26 12:10:42 +02:00
MarcoFalke
fa28bfa341
[wallet] Set fLimitFree = true
2016-08-25 15:27:48 +02:00
MarcoFalke
fa6dc9f0e5
Remove unused variables
2016-08-25 14:59:38 +02:00
Wladimir J. van der Laan
f9167003d9
Merge #8445 : Move CWallet::setKeyPool to private section of CWallet.
...
8680d3a
Move wallet initialization logic from AppInit2 to CWallet::InitLoadWallet (Patrick Strateman)
e86eb71
Move CWallet::setKeyPool to private section of CWallet (Patrick Strateman)
2016-08-24 10:33:16 +02:00
Wladimir J. van der Laan
37e77c106c
Merge #8554 : trivial: remove unused variable
...
4207630
trivial: remove unused variable (Daniel Kraft)
2016-08-22 10:36:37 +02:00
Wladimir J. van der Laan
a55a018d5f
Merge #8548 : [wallet] Use __func__ to get function name for output printing
...
fa785d1
Use __func__ to get function name for output printing (MarcoFalke)
2016-08-22 09:58:28 +02:00
Patrick Strateman
8680d3aa80
Move wallet initialization logic from AppInit2 to CWallet::InitLoadWallet
2016-08-20 14:03:47 -07:00
Daniel Kraft
4207630f5a
trivial: remove unused variable
...
Remove the unused variable "blockTmp" in CMerkleTx::SetMerkleBranch. It
was previously used to read the block from disk if not provided as
argument, but is no longer needed.
2016-08-20 10:28:06 +02:00
MarcoFalke
fa785d1211
Use __func__ to get function name for output printing
2016-08-19 18:59:00 +02:00
Jonas Schnelli
2468292a03
Merge #8517 : [Qt] show wallet HD state in statusbar
...
914154f
[Qt] add HD enabled/disabled icon to the status bar (Jonas Schnelli)
2016-08-19 18:47:49 +02:00
Jonas Schnelli
56ac046960
Merge #8443 : [Wallet] Trivial cleanup of HD wallet changes
...
7e5d94d
[Wallet] Trivial cleanup of HD wallet changes (Jonas Schnelli)
2016-08-19 18:39:19 +02:00
Jonas Schnelli
7e5d94df1f
[Wallet] Trivial cleanup of HD wallet changes
2016-08-19 16:23:37 +02:00
Jonas Schnelli
914154f0cc
[Qt] add HD enabled/disabled icon to the status bar
2016-08-19 09:21:04 +02:00