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
Wladimir J. van der Laan
e753eaeb34
Merge #8505 : Trivial: Fix typos in various files
...
1aacfc2
various typos (leijurv)
2016-08-17 12:51:16 +02:00
leijurv
1aacfc2da5
various typos
2016-08-14 07:57:11 -06:00
Jonas Schnelli
b3b3c2a562
Reduce cs_main locks during ConnectTip/SyncWithWallets
2016-08-12 14:53:10 +02:00
Patrick Strateman
5723bb44ce
Remove unused pwalletdb from CWallet::AddToWallet
2016-07-29 17:04:14 -07:00
Patrick Strateman
867f842f1e
Remove CWalletDB* parameter from CWallet::AddToWallet
2016-07-29 17:04:14 -07:00
Patrick Strateman
00f09c920c
Split CWallet::AddToWallet into AddToWallet and LoadToWallet.
...
This removes the fFromLoadWallet flag in AddToWallet. These were already
effectively two methods.
2016-07-29 17:04:14 -07:00
Jonas Schnelli
2266b43e33
Port from 0.13: Create a new HD seed after encrypting the wallet
...
Forward-ports two commits from 0.13:
- [0.13] Create a new HD seed after encrypting the wallet
- [Wallet] Add CKeyMetadata record for HDMasterKey(s), factor out HD key generation
Github-Pull: #8389
Rebased-From: f142c11ac634df487cc4bc65a5f1c9a3e3563dd9 de45c065f0648c4c41b57cb492420ceeed29dd11
2016-07-28 13:22:33 +02:00
Patrick Strateman
6523fcaab2
Move SetMinVersion for FEATURE_HD to SetHDMasterKey
2016-07-19 22:30:17 -07:00
Wladimir J. van der Laan
045106b4f1
Merge #8367 : [Wallet] Ensure <0.13 clients can't open HD wallets
...
a4f137f
[Wallet] Ensure <0.13 clients can't open HD wallets (Jonas Schnelli)
2016-07-19 12:13:12 +02:00
Jonas Schnelli
a4f137f367
[Wallet] Ensure <0.13 clients can't open HD wallets
2016-07-18 22:56:45 +02:00
Suhas Daftuar
2c06bae39e
Rename "block cost" to "block weight"
2016-07-18 13:28:26 -04:00
Wladimir J. van der Laan
238300b398
Merge #8323 : Add HD keypath to CKeyMetadata, report metadata in validateaddress
...
7945088
[Wallet] comsetic non-code changes for the HD feature (Jonas Schnelli)
68d7682
[Wallet] ensure CKeyMetadata.hdMasterKeyID will be cleared during SetNull() (Jonas Schnelli)
f708085
[QA] extend wallet-hd test to cover HD metadata (Jonas Schnelli)
986c223
[Wallet] print hd masterkeyid in getwalletinfo (Jonas Schnelli)
b1c7b24
[Wallet] report optional HDKeypath/HDMasterKeyId in validateaddress (Jonas Schnelli)
5b95dd2
[Wallet] extend CKeyMetadata with HD keypath (Jonas Schnelli)
2016-07-18 07:58:33 +02:00
Jonas Schnelli
b993671921
[Wallet] keep HD seed during salvagewallet
2016-07-09 12:58:03 +02:00
Jonas Schnelli
5b95dd2c25
[Wallet] extend CKeyMetadata with HD keypath
2016-07-09 11:52:17 +02:00
Wladimir J. van der Laan
20f3cd75f6
wallet: Revert input selection post-pruning
...
This reverts PR #4906 , "Coinselection prunes extraneous inputs from
ApproximateBestSubset".
Apparently the previous behavior of slightly over-estimating the set of
inputs was useful in cleaning up UTXOs.
See also #7664 , #7657 , as well as 2016-07-01 discussion on #bitcoin-core-dev IRC.
2016-07-01 13:26:01 +02:00
Wladimir J. van der Laan
d612837814
Merge #8149 : Segregated witness rebased
...
f852813
BIP9 parameters for testnet (Johnson Lau)
070dbc4
--- [SEGWIT] begin: deployment --- (Pieter Wuille)
fdb43df
[qa] Add GetTransactionSigOpCost unit tests (Jonas Nick)
d846e02
[qa] script_tests: witness tests can specify tx amount (Suhas Daftuar)
330b0f3
[qa] p2p segwit tests (Suhas Daftuar)
4f7ff00
[qa] Add rpc test for segwit (Alex Morcos)
66cca79
[qa] Autogeneration support for witness in script_tests (Pieter Wuille)
06d3805
[qa] Add segwit support to script_tests (Pieter Wuille)
00f46cb
[qa] Add transaction tests for segwit (NicolasDorier)
0aa9207
[qa] Witness version 0 signing unit tests (Pieter Wuille)
978e200
--- [SEGWIT] begin: tests --- (Pieter Wuille)
745eb67
[RPC] signrawtransaction can sign P2WSH (NicolasDorier)
f4691ab
[RPC] Add wallet support for witness transactions (using P2SH) (Pieter Wuille)
605e847
BIP143: Signing logic (Pieter Wuille)
9757b57
--- [SEGWIT] begin: wallet --- (Pieter Wuille)
af87a67
Do not use compact blocks when segwit is enabled (Pieter Wuille)
6032f69
Add rewind logic to deal with post-fork software updates (Pieter Wuille)
b7dbeb2
[libconsensus] Script verification API with amounts (Thomas Kerin)
2b1f6f9
BIP141: Other consensus critical limits, and BIP145 (Pieter Wuille)
7c4bf77
[RPC] Return witness data in blockchain RPCs (Johnson Lau)
3dd4102
BIP143: Verification logic (Pieter Wuille)
0ef1dd3
Refactor script validation to observe amounts (Pieter Wuille)
b8a9749
BIP144: Handshake and relay (receiver side) (Pieter Wuille)
8b49040
BIP141: Commitment structure and deployment (Pieter Wuille)
449f9b8
BIP141: Witness program (Pieter Wuille)
7030d9e
BIP144: Serialization, hashes, relay (sender side) (Pieter Wuille)
ecacfd9
--- [SEGWIT] begin: P2P/node/consensus --- (Pieter Wuille)
2016-06-24 18:07:44 +02:00
Wladimir J. van der Laan
a1c92c29fd
trivial: capitalize BIP32 in option help
...
For consistency, BIP32 should be in uppercase in translation message.
Reported by @pryds on Transifex.
2016-06-23 10:44:36 +00:00
Pieter Wuille
605e8473a7
BIP143: Signing logic
2016-06-22 15:43:01 +02:00
Pieter Wuille
2b1f6f9ccf
BIP141: Other consensus critical limits, and BIP145
...
Includes changes by Suhas Daftuar, Luke-jr, and mruddy.
2016-06-22 15:43:00 +02:00
Wladimir J. van der Laan
b67a4726df
Merge #8035 : [Wallet] Add simplest BIP32/deterministic key generation implementation
...
afcd77e
Detect -usehd mismatches when wallet.dat already exists (Jonas Schnelli)
17c0131
[Docs] Add release notes and bip update for Bip32/HD wallets (Jonas Schnelli)
c022e5b
[Wallet] use constant for bip32 hardened key limit (Jonas Schnelli)
f190251
[Wallet] Add simplest BIP32/deterministic key generation implementation (Jonas Schnelli)
2016-06-14 11:44:22 +02:00
Jonas Schnelli
afcd77e179
Detect -usehd mismatches when wallet.dat already exists
2016-06-14 08:56:01 +02:00
Pieter Wuille
77f63a4fcd
Fix two warnings for comparison between signed and unsigned
2016-06-08 15:34:18 +02:00
Patrick Strateman
152ab236ea
Improve CWallet API with new GetAccountPubkey function.
...
Remove one more caller that is passing CWalletDB.
2016-06-06 07:02:05 -07:00
Wladimir J. van der Laan
243ac0c75b
Merge #8137 : Improve CWallet API with new AccountMove function.
...
9dfaa1c
Improve CWallet API with new AccountMove function. (Patrick Strateman)
2016-06-06 14:59:10 +02:00
Wladimir J. van der Laan
8c1e49ba13
Merge #7967 : [RPC] add feerate option to fundrawtransaction
...
04eaa90
Add more clear interface for CoinControl.h regarding individual feerate (Jonas Schnelli)
3b35e48
[RPC] add feerate option to fundrawtransaction (Jonas Schnelli)
2016-06-03 15:47:48 +02:00
Patrick Strateman
9dfaa1cb70
Improve CWallet API with new AccountMove function.
2016-06-02 06:00:59 -07:00
Jonas Schnelli
c022e5b15d
[Wallet] use constant for bip32 hardened key limit
2016-06-01 20:29:39 +02:00
Jonas Schnelli
f19025106d
[Wallet] Add simplest BIP32/deterministic key generation implementation
2016-05-31 14:47:00 +02:00
Pieter Wuille
fa2637a3be
Always require OS randomness when generating secret keys
2016-05-29 01:52:17 +02:00
Patrick Strateman
380498aba4
Move BackupWallet to CWallet::BackupWallet
2016-05-16 17:48:25 -07:00
Patrick Strateman
ecb9741ec3
Move GetAccountBalance from rpcwallet.cpp into CWallet::GetAccountBalance
2016-05-16 17:48:25 -07:00
Gregory Maxwell
d87b198b73
Remove unneeded feerate param from RelayTransaction/AcceptToMemoryPool.
2016-05-16 04:10:06 +00:00
Wladimir J. van der Laan
373b50deba
Merge #8028 : Fix insanity of CWalletDB::WriteTx and CWalletTx::WriteToDisk
...
0fd5997
Fix insanity of CWalletDB::WriteTx and CWalletTx::WriteToDisk (Patrick Strateman)
2016-05-10 15:51:34 +02:00
Wladimir J. van der Laan
3e2c946cfd
init: Move berkeleydb version reporting to wallet
...
Move the version reporting to Wallet::Verify, before starting
verification of the wallet.
This removes the dependency of init on a specific wallet database
library.
A further, trivial step towards resolving #7965 .
2016-05-10 12:57:07 +02:00
Patrick Strateman
0fd599767d
Fix insanity of CWalletDB::WriteTx and CWalletTx::WriteToDisk
2016-05-09 00:20:17 -07:00
Jonas Schnelli
04eaa90958
Add more clear interface for CoinControl.h regarding individual feerate
2016-05-06 11:01:50 +02:00
Jonas Schnelli
3b35e4896b
[RPC] add feerate option to fundrawtransaction
2016-04-28 22:04:07 +02:00
Wladimir J. van der Laan
46880ed2fd
Merge #7688 : List solvability in listunspent output and improve help
...
c3932b3
List solvability in listunspent output and improve help (Pieter Wuille)
2016-04-25 14:46:29 +02:00
Wladimir J. van der Laan
0c95ebce7e
Merge #7816 : [Wallet] slighly refactor GetOldestKeyPoolTime()
...
9f7336b
[Wallet] slightly refactor GetOldestKeyPoolTime() (Jonas Schnelli)
2016-04-22 08:36:56 +02:00
Wladimir J. van der Laan
04a2937357
Merge #7787 : [Moveonly] Create ui_interface.cpp
...
fa10ce6
Move ui_interface.cpp to libbitcoin_server_a_SOURCES (MarcoFalke)
fabbf80
[ui] Move InitError, InitWarning, AmountErrMsg (MarcoFalke)
2016-04-19 16:10:57 +02:00
João Barbosa
f2d0944eb3
Add lockUnspents option to fundrawtransaction
2016-04-15 15:36:05 +02:00
João Barbosa
af4fe7fd12
Add change options to fundrawtransaction
2016-04-15 15:36:05 +02:00
Jonas Schnelli
9f7336b457
[Wallet] slightly refactor GetOldestKeyPoolTime()
2016-04-06 11:06:25 +02:00
MarcoFalke
fabbf80f2f
[ui] Move InitError, InitWarning, AmountErrMsg
2016-04-02 15:26:21 +02:00
Wladimir J. van der Laan
30c2dd8d05
Merge #7691 : [Wallet] refactor wallet/init interaction
...
25340b7
[Wallet] refactor wallet/init interaction (Jonas Schnelli)
2016-04-02 11:07:39 +02:00
Wladimir J. van der Laan
b35a591793
Merge #7558 : [RPC] Add import/removeprunedfunds rpc call
...
f1bb13c
Added companion removeprunedfunds call. (instagibbs)
7eb7029
Add importprunedfunds rpc call (instagibbs)
2016-03-29 11:15:02 +02:00
Wladimir J. van der Laan
b88e0b0c61
Merge #7506 : Use CCoinControl selection in CWallet::FundTransaction
...
d6cc6a1
Use CCoinControl selection in CWallet::FundTransaction (João Barbosa)
2016-03-24 14:59:51 +01:00
instagibbs
f1bb13c93d
Added companion removeprunedfunds call.
2016-03-23 10:40:38 -04:00
Wladimir J. van der Laan
3bdc583b3f
Merge #7715 : Fix calculation of balances and available coins.
...
68d4282
Fix calculation of balances and available coins. (Alex Morcos)
2016-03-23 15:09:02 +01:00
João Barbosa
bb16c8894b
Prevent multiple calls to CWallet::AvailableCoins
2016-03-22 08:43:37 +00:00
Jonas Schnelli
25340b7cd5
[Wallet] refactor wallet/init interaction
2016-03-22 08:20:59 +01:00
Alex Morcos
9e072a6e66
Implement "feefilter" P2P message.
...
The "feefilter" p2p message is used to inform other nodes of your mempool min fee which is the feerate that any new transaction must meet to be accepted to your mempool. This will allow them to filter invs to you according to this feerate.
2016-03-21 10:46:25 -04:00
Alex Morcos
68d4282774
Fix calculation of balances and available coins.
...
No longer consider coins which aren't in our mempool.
Add test for regression in abandonconflict.py
2016-03-18 09:56:30 -04:00
Pieter Wuille
c3932b3270
List solvability in listunspent output and improve help
2016-03-14 19:22:11 +01:00
MarcoFalke
fa48bb3148
[qt] Remove 0-fee from send dialog
2016-03-14 18:32:09 +01:00
MarcoFalke
fa19b18c63
[wallet] Move hardcoded file name out of log messages
2016-03-14 13:54:05 +01:00
Jonas Schnelli
15e6e13624
[Wallet] optimize return value of InitLoadWallet()
2016-03-14 09:33:27 +01:00
Jonas Schnelli
fc7c60d699
[Wallet] move "load wallet phase" to CWallet
2016-03-11 14:31:06 +01:00
Wladimir J. van der Laan
86a1ec5b2c
Merge #7576 : [Wallet] move wallet help string creation to CWallet
...
72c2651
[Wallet] move wallet help string creation to CWallet (Jonas Schnelli)
2016-03-11 08:40:37 +01:00
João Barbosa
d6cc6a1830
Use CCoinControl selection in CWallet::FundTransaction
2016-03-08 15:14:47 +00:00
Jonas Schnelli
72c2651581
[Wallet] move wallet help string creation to CWallet
2016-03-05 13:27:04 -05:00
Wladimir J. van der Laan
3368895c3b
Merge #7521 : Don't resend wallet txs that aren't in our own mempool
...
5a2b1c0
Don't resend wallet txs that aren't in our own mempool (Alex Morcos)
2016-03-03 15:09:50 +01:00
MarcoFalke
fa06ce0949
Fix doxygen comment for payTxFee
2016-02-27 18:14:57 +01:00
Alex Morcos
5a2b1c0c8b
Don't resend wallet txs that aren't in our own mempool
2016-02-11 17:34:55 -05:00
Wladimir J. van der Laan
40e7b61835
wallet: Ignore MarkConflict if block hash is not known
...
If number of conflict confirms cannot be determined, this means
that the block is still unknown or not yet part of the main chain,
for example during a reindex. Do nothing in that case,
instead of crash with an assertion.
Fixes #7234 .
2016-02-09 20:38:31 +01:00
Wladimir J. van der Laan
d2228384de
Merge #6480 : include the chaintip blockindex in the SyncTransaction signal, add signal UpdateTip()
...
7d0bf0b
include the chaintip *blockIndex in the SyncTransaction signal (Jonas Schnelli)
2016-02-04 17:03:09 +01:00
MarcoFalke
fa79db2641
Move maxTxFee out of mempool
...
Also, remove default values in CMerkleTx::AcceptToMemoryPool()
2016-02-02 20:08:51 +01:00
MarcoFalke
fa331db68b
mempool: Replace maxFeeRate of 10000*minRelayTxFee with maxTxFee
2016-01-30 11:29:22 +01:00
Wladimir J. van der Laan
b92ea98503
Merge #7183 : Improved readability of ApproximateBestSubset
...
96efcad
Improved readability of sorting for coin selection. (Murch)
2016-01-20 15:55:03 +01:00
Wladimir J. van der Laan
be6d5a617d
Merge pull request #7312
...
d11fc16
[Wallet] Call notification signal when a transaction is abandoned (Jonas Schnelli)
df0e222
Add RPC test for abandoned and conflicted transactions. (Alex Morcos)
01e06d1
Add new rpc call: abandontransaction (Alex Morcos)
9e69717
Make wallet descendant searching more efficient (Alex Morcos)
2016-01-13 15:47:45 +01:00
Jonas Schnelli
d11fc1695c
[Wallet] Call notification signal when a transaction is abandoned
2016-01-13 08:42:04 -05:00
Alex Morcos
01e06d1fa3
Add new rpc call: abandontransaction
...
Unconfirmed transactions that are not in your mempool either due to eviction or other means may be unlikely to be mined. abandontransaction gives the wallet a way to no longer consider as spent the coins that are inputs to such a transaction. All dependent transactions in the wallet will also be marked as abandoned.
2016-01-13 08:42:04 -05:00
Wladimir J. van der Laan
c49551886a
Merge pull request #7296
...
bebe58b
SQUASHME: Fix rpc tests that assumed fallback to minRelayTxFee (Alex Morcos)
e420a1b
Add sane fallback for fee estimation (Alex Morcos)
995b9f3
Always respect GetRequiredFee for wallet txs (Alex Morcos)
2016-01-13 11:04:31 +01:00
Alex Morcos
9e69717254
Make wallet descendant searching more efficient
2016-01-07 16:31:12 -05:00
Alex Morcos
f61766b37b
Make sure conflicted wallet tx's update balances
2016-01-06 17:24:30 -05:00
Murch
96efcadfc0
Improved readability of sorting for coin selection.
...
Future proofing added lines
2016-01-05 22:03:43 +01:00
Alex Morcos
e420a1b15e
Add sane fallback for fee estimation
...
Add new commandline option "-fallbackfee" to use when fee estimation does not have sufficient data.
2016-01-05 13:13:23 -05:00
Alex Morcos
995b9f385b
Always respect GetRequiredFee for wallet txs
2016-01-05 13:10:19 -05:00
Wladimir J. van der Laan
605c17844e
Merge pull request #7205
...
fa71669
[devtools] Use git pretty-format for year parsing (MarcoFalke)
fa24439
Bump copyright headers to 2015 (MarcoFalke)
fa6ad85
[devtools] Rewrite fix-copyright-headers.py (MarcoFalke)
2016-01-05 14:11:40 +01:00
MarcoFalke
fa24439ff3
Bump copyright headers to 2015
2015-12-13 18:08:39 +01:00
accraze
d812daf967
fix logic for error log
2015-12-12 10:45:53 -08:00
accraze
c611acc38a
wallet: check if tx scriptPubKey is unspendable
2015-12-12 10:33:37 -08:00
accraze
b6915b8239
checks for null data transaction before debug.log
...
CWalletTx::GetAmounts could not find output address for null data transactions, thus issuing an error in debug.log. This change checks to see if the transaction is OP_RETURN before issuing error.
resolves #6142
2015-12-11 18:07:11 -08:00
Wladimir J. van der Laan
00b4b8d1c4
Merge pull request #7154
...
a3c3ddb
[Qt] add InMempool() info to transaction details (Jonas Schnelli)
2015-12-09 10:48:27 +01:00
Murch
fc0f52d780
Added a test for the pruning of extraneous inputs after ApproximateBestSet
2015-12-07 20:08:37 +01:00
Murch
af9510e037
Moved set reduction to the end of ApproximateBestSubset to reduce performance impact
2015-12-07 17:36:47 +01:00
AlSzacrel
5c03483e26
Coinselection prunes extraneous inputs from ApproximateBestSubset
...
A further pass over the available inputs has been added to ApproximateBestSubset after a candidate set has been found. It will prune any extraneous inputs in the selected subset, in order to decrease the number of input and the resulting change.
2015-12-06 23:26:45 +01:00
Jonas Schnelli
7d0bf0bb46
include the chaintip *blockIndex in the SyncTransaction signal
...
- allows reducing of calls to main.cpp for getting the chaintip during transaction syncing
- potentially allows reducing of cs_main locks
2015-12-04 09:18:53 +01:00
MarcoFalke
fabd10a9c9
Fix typo in wallet.cpp
2015-12-02 15:21:18 +01:00
Wladimir J. van der Laan
83f06ca937
Merge pull request #6216
...
db6047d
Take the training wheels off anti-fee-sniping (Peter Todd)
2015-12-02 13:56:57 +01:00
Jonas Schnelli
a3c3ddbd7b
[Qt] add InMempool() info to transaction details
2015-12-02 08:38:31 +01:00
Wladimir J. van der Laan
9490bd71bd
Merge pull request #7096
...
ff723da
[Qt] improve minimum absolute fee option - Only display the minimum absolute fee control if CoinControl is enabled (Jonas Schnelli)
31b508a
[Qt] make use of the nMinimumTotalFee (absolute) in coincontrols fee calculation (Jonas Schnelli)
80462dd
[Qt] use ASYMP_UTF8 (≈) whenever we show a fee that is not absolute (Jonas Schnelli)
ecc7c82
Move fPayAtLeastCustomFee function to CC (Pieter Wuille)
2015-12-01 09:59:03 +01:00
Wladimir J. van der Laan
30c2d8c635
Merge pull request #7105
...
9ac63d6
Keep track of explicit wallet conflicts instead of using mempool (Pieter Wuille)
2015-12-01 09:22:08 +01:00
Pieter Wuille
ecc7c82361
Move fPayAtLeastCustomFee function to CC
2015-11-30 14:09:04 +01:00
Pieter Wuille
9ac63d6d30
Keep track of explicit wallet conflicts instead of using mempool
2015-11-29 13:24:02 +01:00
Ryan Havar
4b89f01d72
Default fPayAtLeastCustomFee to false
...
This allows for much finer control of the transaction fees per kilobyte
as it prevent small transactions using a fee that is more appropriate
for one that is of a kilobyte.
This also allows controlling the fee per kilobyte over rpc such that:
bitcoin-cli settxfee `bitcoin-cli estimatefee 2`
would make sense, while currently it grossly fails often by a factor of x3
2015-11-28 22:51:41 +01:00
MarcoFalke
faf93f37fe
[trivial] Reuse translation and cleanup DEFAULT_* values
...
* DEFAULT_DISABLE_SAFEMODE = false
* Use DEFAULT_* constants for extern bools
2015-11-28 19:01:11 +01:00
Luke Dashjr
b966aa836a
Constrain constant values to a single location in code
2015-11-28 18:47:29 +01:00
Wladimir J. van der Laan
e92377fa7f
Merge pull request #6134
...
e304432
Pass reference to estimateSmartFee and cleanup whitespace (Suhas Daftuar)
56106a3
Expose RPC calls for estimatesmart functions (Alex Morcos)
e93a236
add estimateSmartFee to the unit test (Alex Morcos)
6303051
EstimateSmart functions consider mempool min fee (Alex Morcos)
f22ac4a
Increase success threshold for fee estimation to 95% (Alex Morcos)
4fe2823
Change wallet and GUI code to use new smart fee estimation calls. (Alex Morcos)
22eca7d
Add smart fee estimation functions (Alex Morcos)
2015-11-27 12:59:37 +01:00
Suhas Daftuar
e30443244a
Pass reference to estimateSmartFee and cleanup whitespace
2015-11-24 08:53:14 -05:00
Luke Dashjr
3e7c89196c
Optimisation: Store transaction list order in memory rather than compute it every need
...
Huge performance improvement (450%) for zapwallettxes
2015-11-21 01:48:25 +00:00
Alex Morcos
4fe28236c0
Change wallet and GUI code to use new smart fee estimation calls.
2015-11-16 15:33:06 -05:00
Wladimir J. van der Laan
77beab70de
Merge pull request #6163
...
87cbdb8
Globals: Explicit Consensus::Params arg for main: (Jorge Timón)
2015-11-10 15:32:03 +01:00
Wladimir J. van der Laan
3694b74fa9
Merge pull request #6887
...
53238ff
Clarify what minrelaytxfee does (MarcoFalke)
abd8b76
[qt] Properly display required fee instead of minTxFee (MarcoFalke)
2015-11-05 12:11:11 +01:00
Wladimir J. van der Laan
8a95a18562
Merge pull request #6669
...
6342a48
Init: Use DEFAULT_TRANSACTION_MINFEE in help message (MarcoFalke)
a9c73a1
[wallet] Add comments for doxygen (MarcoFalke)
6b0e622
[wallet] Refactor to use new MIN_CHANGE (MarcoFalke)
2015-11-04 12:30:50 +01:00
MarcoFalke
abd8b768ee
[qt] Properly display required fee instead of minTxFee
2015-11-03 08:53:37 +01:00
Jorge Timón
87cbdb8b41
Globals: Explicit Consensus::Params arg for main:
...
-CheckBlockIndex
-DisconnectTip
-GetTransaction
-InvalidateBlock
-ProcessGetData
-ReadBlockFromDisk
2015-10-30 14:07:30 +01:00
MarcoFalke
a9c73a130e
[wallet] Add comments for doxygen
2015-10-28 11:15:48 +01:00