Pieter Wuille
7dac1e5e9e
Merge #9107 : Safer modify new coins
...
b50cd7a
Fix dangerous condition in ModifyNewCoins. (Alex Morcos)
2017-01-04 11:56:17 -08:00
Luke Dashjr
0388afe69d
Let autoconf detect presence of EVP_MD_CTX_new
...
Fixes LibreSSL compatibility
2017-01-04 18:37:37 +00:00
Alex Morcos
daec955fd6
Introduce -blockmintxfee
2017-01-04 13:24:19 -05:00
Alex Morcos
44b64b933d
Fix edge case with stale fee estimates
2017-01-04 12:10:18 -05:00
Alex Morcos
78ae62d264
Add clarifying comments to fee estimation
2017-01-04 12:10:18 -05:00
Alex Morcos
5fe0f47aa7
Add extra logging to processBlock in fee estimation.
2017-01-04 12:10:18 -05:00
Alex Morcos
dc008c462f
Add IsCurrentForFeeEstimatation
...
Make a more conservative notion of whether the node is caught up to the rest of the network and only count transactions as fee estimation data points if the node is caught up.
2017-01-04 12:10:17 -05:00
Alex Morcos
ebafdcabb1
Pass pointers to existing CTxMemPoolEntries to fee estimation
2017-01-04 12:09:34 -05:00
Alex Morcos
d825838e64
Always update fee estimates on new blocks.
...
All decisions about whether the transactions are valid data points are made at the time the transaction arrives. Updating on blocks all the time will now cause stale fee estimates to decay quickly when we restart a node.
2017-01-04 12:09:34 -05:00
Alex Morcos
6f06b268c1
rename bool to validFeeEstimate
2017-01-04 12:09:33 -05: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
Alex Morcos
60ac00de85
Don't track transactions at all during IBD.
...
This was an oversight, where blocks and mempool tracking were ignored during IBD, but transactions that arrived during IBD but were included in blocks after IBD were not ignored.
2017-01-04 12:05:05 -05:00
Alex Morcos
4df44794c9
Remove extraneous LogPrint from fee estimation
...
Once priority estimation was removed, not all transactions in the mempool are tracked in the fee estimation mempool tracking. So there is no error if a transaction is not found for removal.
2017-01-04 12:03:44 -05:00
Pieter Wuille
ce370c1811
Mark the minconf parameter to move as ignored
2017-01-04 08:48:21 -08:00
Alex Morcos
b50cd7a67e
Fix dangerous condition in ModifyNewCoins.
...
We were marking coins FRESH before being sure they were not overwriting dirty undo data. This condition was never reached in existing code because undo data was always flushed before UpdateCoins was called with new transactions, but could have been exposed in an otherwise safe refactor.
Clarify in the comments the assumptions made in ModifyNewCoins.
Add ability to undo transactions to UpdateCoins unit test.
Thanks to Russ Yanofsky for suggestion on how to make logic clearer and fixing up the ccoins_modify_new test cases.
2017-01-04 11:20:42 -05:00
Wladimir J. van der Laan
123ea73624
Merge #9457 : [qt] Select more files for translation
...
facf3e7
[qt] `make translate` (MarcoFalke)
fae26e8
[qt] Add more sources to translate (MarcoFalke)
2017-01-04 16:41:29 +01:00
Cory Fields
56212e20ac
net: set message deserialization version when it's actually time to deserialize
...
We'll soon no longer have access to vRecvMsg, and this is more intuitive anyway.
2017-01-04 10:10:35 -05:00
Cory Fields
0e973d970a
net: remove redundant max sendbuffer size check
...
This is left-over from before there was proper accounting. Hitting 2x the
sendbuffer size should not be possible.
2017-01-04 10:10:35 -05:00
Cory Fields
60425870d7
net: wait until the node is destroyed to delete its recv buffer
...
when vRecvMsg becomes a private buffer, it won't make sense to allow other
threads to mess with it anymore.
2017-01-04 09:29:14 -05:00
Cory Fields
f6315e07f9
net: only disconnect if fDisconnect has been set
...
These conditions are problematic to check without locking, and we shouldn't be
relying on the refcount to disconnect.
2017-01-04 09:29:14 -05:00
Cory Fields
5b4a8ac6d6
net: make GetReceiveFloodSize public
...
This will be needed so that the message processor can cork incoming messages
2017-01-04 09:29:14 -05:00
Cory Fields
e5bcd9c84f
net: make vRecvMsg a list so that we can use splice()
2017-01-04 09:29:14 -05:00
Cory Fields
53ad9a133a
net: fix typo causing the wrong receive buffer size
...
Surprisingly this hasn't been causing me any issues while testing, probably
because it requires lots of large blocks to be flying around.
Send/Recv corks need tests!
2017-01-04 09:29:14 -05:00
MarcoFalke
df1ab5b4d6
Merge #9470 : qt: Set (count) placeholder in sendcoinsdialog to notranslate
...
388ea19
qt: Set (count) placeholder in sendcoinsdialog to notranslate (Wladimir J. van der Laan)
2017-01-04 15:19:00 +01:00
Wladimir J. van der Laan
388ea19bf2
qt: Set (count) placeholder in sendcoinsdialog to notranslate
2017-01-04 14:37:53 +01:00
MarcoFalke
c2ea1e6561
Merge #9401 : Make rpcauth help message clearer, add example in example .conf
...
0513c70
Make rpcauth help message clearer, add example in example .conf (Gregory Sanders)
2017-01-04 13:00:12 +01: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
1ce7ede2a9
Merge #9288 : Fix a bug if the min fee is 0 for FeeFilterRounder
...
f8d43b8
Avoid rollingMinimumFeeRate never being able to decay below half (Alex Morcos)
eab8e1b
fix a bug if the min fee is 0 for FeeFilterRounder (Alex Morcos)
2017-01-04 12:33: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
d9ae1cefa0
Merge #9289 : net: drop boost::thread_group
...
67ee4ec
net: misc header cleanups (Cory Fields)
8b3159e
net: make proxy receives interruptible (Cory Fields)
5cb0fce
net: remove thread_interrupted catch (Cory Fields)
d3d7056
net: make net processing interruptible (Cory Fields)
0985052
net: make net interruptible (Cory Fields)
799df91
net: add CThreadInterrupt and InterruptibleSleep (Cory Fields)
7325b15
net: a few small cleanups before replacing boost threads (Cory Fields)
2017-01-04 12:21:53 +01:00
MarcoFalke
facf3e7608
[qt] make translate
2017-01-04 12:13:03 +01:00
MarcoFalke
fae26e8dfc
[qt] Add more sources to translate
2017-01-04 12:12:43 +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
Karl-Johan Alm
05a55a639b
Added EVENT_CFLAGS to test makefile to explicitly include libevent headers.
2017-01-04 18:16:55 +09:00
Wladimir J. van der Laan
649cf5fe89
Merge #9462 : [qt] Do not translate tilde character
...
fab6c5f
[qt] Do not translate `~` (MarcoFalke)
2017-01-04 08:21:04 +01:00
Cory Fields
67ee4ec901
net: misc header cleanups
2017-01-03 17:56:21 -05:00
Cory Fields
8b3159ef0a
net: make proxy receives interruptible
2017-01-03 17:56:21 -05:00
Cory Fields
5cb0fcee81
net: remove thread_interrupted catch
...
This is now a std::thread, so there's no hope of catching a boost interruption
point.
2017-01-03 17:56:21 -05:00
Cory Fields
d3d7056d2a
net: make net processing interruptible
2017-01-03 17:56:20 -05:00
Cory Fields
0985052319
net: make net interruptible
...
Also now that net threads are interruptible, switch them to use std
threads/binds/mutexes/condvars.
2017-01-03 17:53:09 -05:00
Cory Fields
799df9115f
net: add CThreadInterrupt and InterruptibleSleep
2017-01-03 17:53:09 -05:00
Cory Fields
7325b15566
net: a few small cleanups before replacing boost threads
...
- Drop the interruption point directly after the pnode allocation. This would
be leaky if hit.
- Rearrange thread creation so that the socket handler comes first
2017-01-03 17:53:09 -05: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
Pieter Wuille
ce5c1f4aca
Merge #9252 : Release cs_main before calling ProcessNewBlock, or processing headers (cmpctblock handling)
...
bd02bdd
Release cs_main before processing cmpctblock as header (Suhas Daftuar)
680b0c0
Release cs_main before calling ProcessNewBlock (cmpctblock handling) (Suhas Daftuar)
2017-01-03 13:52:16 -08:00
MarcoFalke
fab6c5f46b
[qt] Do not translate ~
2017-01-03 17:51:12 +01:00
Jonas Schnelli
6dc4c43d32
Merge #8877 : Qt RPC console: history sensitive-data filter, and saving input line when browsing history
...
8562792
GUI/RPCConsole: Include importmulti in history sensitive-command filter (Luke Dashjr)
ff77faf
Qt/RPCConsole: Use RPCParseCommandLine to perform command filtering (Luke Dashjr)
a79598d
Qt/Test: Make sure filtering sensitive data works correctly in nested commands (Luke Dashjr)
629cd42
Qt/RPCConsole: Teach RPCParseCommandLine how to filter out arguments to sensitive commands (Luke Dashjr)
e2d9213
Qt/RPCConsole: Make it possible to parse a command without executing it (Luke Dashjr)
1755c04
Qt/RPCConsole: Truncate filtered commands to just the command name, rather than skip it entirely in history (Luke Dashjr)
d80a006
Qt/RPCConsole: Add signmessagewithprivkey to list of commands filtered from history (Luke Dashjr)
afde12f
Qt/RPCConsole: Refactor command_may_contain_sensitive_data function out of RPCConsole::on_lineEdit_returnPressed (Luke Dashjr)
de8980d
Bugfix: Do not add sensitive information to history for real (Luke Dashjr)
9044908
Qt/RPCConsole: Don't store commands with potentially sensitive information in the history (Jonas Schnelli)
fc95daa
Qt/RPCConsole: Save current command entry when browsing history (Jonas Schnelli)
2017-01-03 16:57:21 +01:00
Wladimir J. van der Laan
d45b21e2b3
qt: Fill in English numerusforms
...
minute/minutes block/blocks and so forth.
2017-01-03 15:03:37 +01: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
Jonas Schnelli
510c0d9c79
Merge #9446 : SetMerkleBranch: remove unused code, remove cs_main lock requirement
...
9e351c9
SetMerkleBranch: remove unused code, remove cs_main lock requirement (Jonas Schnelli)
2017-01-03 09:31:57 +01:00
Karl-Johan Alm
73f41190b9
Refactoring: Removed using namespace <xxx> from bench/ and test/ source files.
2017-01-02 20:35:23 +09:00
Wladimir J. van der Laan
1d2d67692c
qt: Set transifex slug to 0.14
...
Also perform update of source translations.
2017-01-02 09:36:03 +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
Gregory Sanders
d4781ac6c2
Set peers as HB peers upon full block validation
2016-12-30 14:05:13 -05:00
Jonas Schnelli
9e351c9586
SetMerkleBranch: remove unused code, remove cs_main lock requirement
2016-12-30 10:37:13 +01:00
jnewbery
b7e144bb73
Add test cases to test new bitcoin-tx functionality
...
This commit add testcases to test the following functions in bitcoin-tx:
- add a pay to non-standard script output
- add a P2SH output
- add a P2WSH output
- add a P2WSH wrapped in a P2SH output
- add a pay to pub key output
- add a P2WPKH output
- add a P2WPKH wrapped in a P2SH output
- add a bare multisig output
- add a multisig in P2SH output
- add a multisig in a P2WSH output
- add a multisig in a P2WSH wrapped in as P2SH output
2016-12-29 15:40:40 +00:00
jnewbery
61a153443e
Add all transaction output types to bitcoin-tx.
...
This commit enhances bitcoin-tx so all remaining standard TXO types can be created:
- Pay to Pub Key
- Multi-sig
- bare multi-sig
- multi-sig in Pay To Script Hash
- multi-sig in Pay to Witness Script Hash
- multi-sig in Pay to Witness Script Hash, wrapped in P2SH
- Pay to Witness Pub Key Hash
- Pay to Witness Pub Key Hash, wrapped in P2SH
- Pay to Witness Script Hash
- Pay to Witness Script Hash, wrapped in P2SH
2016-12-29 15:40:40 +00:00
Stanislas Marion
1814b089fb
add p2sh and segwit options to bitcoin-tx outscript command
2016-12-29 15:40:40 +00:00
Luke Dashjr
8562792095
GUI/RPCConsole: Include importmulti in history sensitive-command filter
2016-12-29 11:47:58 +00:00
Luke Dashjr
ff77faf480
Qt/RPCConsole: Use RPCParseCommandLine to perform command filtering
2016-12-29 11:47:58 +00:00
Luke Dashjr
a79598ddf4
Qt/Test: Make sure filtering sensitive data works correctly in nested commands
2016-12-29 11:46:26 +00:00
Luke Dashjr
629cd42364
Qt/RPCConsole: Teach RPCParseCommandLine how to filter out arguments to sensitive commands
2016-12-29 11:46:26 +00:00
Luke Dashjr
e2d9213c32
Qt/RPCConsole: Make it possible to parse a command without executing it
2016-12-29 11:43:29 +00:00
Luke Dashjr
1755c04576
Qt/RPCConsole: Truncate filtered commands to just the command name, rather than skip it entirely in history
2016-12-29 11:43:29 +00:00
Luke Dashjr
d80a00660f
Qt/RPCConsole: Add signmessagewithprivkey to list of commands filtered from history
2016-12-29 11:43:29 +00:00
Luke Dashjr
afde12f265
Qt/RPCConsole: Refactor command_may_contain_sensitive_data function out of RPCConsole::on_lineEdit_returnPressed
2016-12-29 11:43:29 +00:00
Luke Dashjr
de8980df9d
Bugfix: Do not add sensitive information to history for real
...
Original code was missing braces, and short-circuited before checking everything after importprivkey
2016-12-29 11:43:29 +00:00
Jonas Schnelli
9044908636
Qt/RPCConsole: Don't store commands with potentially sensitive information in the history
...
Filters importprivkey, signrawtransaction, walletpassphrase, walletpassphrasechange, and encryptwallet
2016-12-29 11:43:28 +00:00
Jonas Schnelli
fc95daa97f
Qt/RPCConsole: Save current command entry when browsing history
...
Shell-like, but doesn't store changed history commands until executing it.
2016-12-29 11:43:28 +00:00
MarcoFalke
dce853ef76
Merge #9436 : test: Include tx data in EXTRA_DIST
...
fa558be
test: Include tx data in EXTRA_DIST (MarcoFalke)
2016-12-28 12:58:20 +01:00
Pieter Wuille
2db4cbcc43
Merge #9349 : Make CScript (and prevector) c++11 movable.
...
2ddfcfd
Make CScript (and prevector) c++11 movable. (Pieter Wuille)
2016-12-27 11:04:14 -08:00
Pieter Wuille
7aa700424c
Merge #9243 : Clean up mapArgs and mapMultiArgs Usage
...
c2f61be
Add a ForceSetArg method for testing (Matt Corallo)
4e04814
Lock mapArgs/mapMultiArgs access in util (Matt Corallo)
4cd373a
Un-expose mapArgs from utils.h (Matt Corallo)
71fde55
Get rid of mapArgs direct access in ZMQ construction (Matt Corallo)
0cf86a6
Introduce (and use) an IsArgSet accessor method (Matt Corallo)
2b5f085
Fix non-const mapMultiArgs[] access after init. (Matt Corallo)
c8042a4
Remove arguments to ParseConfigFile (Matt Corallo)
2016-12-27 10:17:11 -08:00
MarcoFalke
fa558be2c1
test: Include tx data in EXTRA_DIST
2016-12-27 19:16:17 +01:00
MarcoFalke
dbc8a8c86a
Merge #9435 : Removed unused variable in test, fixing warning.
...
35356b4
Remove unused variable in test, fixing warning. (Russell Yanofsky)
2016-12-27 18:51:36 +01:00
Matt Corallo
c2f61bebb1
Add a ForceSetArg method for testing
2016-12-27 13:52:07 +01:00
Russell Yanofsky
35356b40ef
Remove unused variable in test, fixing warning.
...
Pointed out by Pavel Janík <Pavel@Janik.cz> in
https://github.com/bitcoin/bitcoin/pull/9308 .
2016-12-27 07:35:39 -05:00
Suhas Daftuar
bd02bddb93
Release cs_main before processing cmpctblock as header
2016-12-26 05:34:54 -05:00
Suhas Daftuar
680b0c0138
Release cs_main before calling ProcessNewBlock (cmpctblock handling)
2016-12-26 05:30:26 -05:00
Matt Corallo
4e048142a5
Lock mapArgs/mapMultiArgs access in util
2016-12-24 11:29:33 -05:00
Matt Corallo
4cd373aea8
Un-expose mapArgs from utils.h
2016-12-24 11:29:33 -05:00
Matt Corallo
71fde5563b
Get rid of mapArgs direct access in ZMQ construction
2016-12-24 11:10:39 -05:00
Matt Corallo
0cf86a6678
Introduce (and use) an IsArgSet accessor method
2016-12-23 21:30:16 -05:00
Matt Corallo
2b5f085ad1
Fix non-const mapMultiArgs[] access after init.
...
Swap mapMultiArgs for a const-reference to a _mapMultiArgs which is
only accessed in util.cpp
2016-12-23 21:30:15 -05:00
Matt Corallo
c8042a48f0
Remove arguments to ParseConfigFile
2016-12-23 21:30:15 -05:00
Pieter Wuille
407cdd6cb8
Do not evaluate hidden LogPrint arguments
2016-12-23 14:22:46 -08:00
Jonas Schnelli
54f80263fc
[CoinControl] Allow non-wallet owned change addresses
2016-12-23 16:07:37 +01:00
Jonas Schnelli
9479f8dfcf
Allow shutdown during LoadMempool, dump only when necessary
2016-12-23 14:19:38 +01:00
MarcoFalke
0f921e6a04
Merge #9406 : Re-enable a blank v1 Tx JSON test
...
b371732
Re-enable a blank v1 Tx JSON test (Douglas Roark)
2016-12-23 12:07:16 +01:00
Pieter Wuille
ba3cecf5c4
Share unused mempool memory with coincache
...
If the mempool is not completely full, treat the difference between
the maximum size and the actual usage as available for the coin cache.
This also changes the early flush trigger from (usage > 0.9 * space)
to (usage > 0.9 * space && usage > space - 100MB). This means we're not
permanently leaving 10% of the space unused when the space is large.
2016-12-22 15:04:05 -08:00
accraze
3f67972654
updated listsinceblock rpc docs
...
fixes #8758
2016-12-22 09:28:03 -08:00
Anditto Heristyo
afe5b3f553
Added missing colons in when running help command
2016-12-22 13:26:03 +09:00
Pieter Wuille
2ddfcfd2d6
Make CScript (and prevector) c++11 movable.
...
Such moves are used when reallocating vectors that contain them,
for example.
2016-12-21 18:28:33 -08:00
Pieter Wuille
91335ba389
Remove unused MakeTransactionRef overloads
2016-12-21 18:18:28 -08:00
Pieter Wuille
6713f0f142
Make FillBlock consume txn_available to avoid shared_ptr copies
2016-12-21 18:18:28 -08:00
Pieter Wuille
62607d796c
Convert COrphanTx to keep a CTransactionRef
2016-12-21 18:18:28 -08:00
Pieter Wuille
c44e4c467c
Make AcceptToMemoryPool take CTransactionRef
2016-12-21 18:18:23 -08:00
Douglas Roark
b3717326c1
Re-enable a blank v1 Tx JSON test
2016-12-21 13:41:47 -08:00
Gregory Sanders
0513c707aa
Make rpcauth help message clearer, add example in example .conf
2016-12-21 09:39:45 -05: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
0698639a38
Merge #9308 : [test] Add CCoinsViewCache Access/Modify/Write tests
...
07df40b
[test] Add CCoinsViewCache Access/Modify/Write tests (Russell Yanofsky)
2016-12-21 12:23:31 +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
03d85f6644
Merge #9393 : build: Include cuckoocache header in Makefile
...
fa89581
build: Include cuckoocache header in Makefile (MarcoFalke)
2016-12-21 09:26:35 +01:00
Wladimir J. van der Laan
8dfe9fcb90
Merge #9376 : Remove unused test files and references
...
9cb6624
Fix testfile reference (BtcDrak)
23208ac
Remove unused test files and references (BtcDrak)
2016-12-21 09:26:11 +01:00
Karl-Johan Alm
280a5599eb
Added some simple tests for the RAII-style events.
2016-12-21 16:49:21 +09:00
MarcoFalke
fa89581860
build: Include cuckoocache header in Makefile
2016-12-21 01:34:54 +01:00
BtcDrak
9cb66248dc
Fix testfile reference
2016-12-20 19:49:02 +00: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
Karl-Johan Alm
7f7f102b8d
Switched bitcoin-cli.cpp to use RAII unique pointers with deleters.
2016-12-20 20:48:55 +09:00
Karl-Johan Alm
e5534d2f01
Added std::unique_ptr<> wrappers with deleters for libevent modules.
2016-12-20 20:45:08 +09: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
Gregory Sanders
cee16123f5
reduce number of lookups in TransactionWithinChainLimit
2016-12-19 20:51:34 -05:00
Wladimir J. van der Laan
7f72568e6b
Merge #9236 : Fix races for strMiscWarning and fLargeWork*Found, make QT runawayException use GetWarnings
...
749be01
Move GetWarnings() into its own file. (Gregory Maxwell)
e3ba0ef
Eliminate data races for strMiscWarning and fLargeWork*Found. (Gregory Maxwell)
c63198f
Make QT runawayException call GetWarnings instead of directly access strMiscWarning. (Gregory Maxwell)
2016-12-19 12:40:01 +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
Wladimir J. van der Laan
db45ad8516
Merge #9329 : [Qt] Console: allow empty arguments
...
390bd14
[Qt] Console: don't allow empty arguments when using the comma-syntax (Jonas Schnelli)
6a32c0f
Qt/Test: Check handling of empty arguments in RPC debug console (Luke Dashjr)
89c8d2c
[Qt] Console: allow empty arguments (Jonas Schnelli)
2016-12-19 09:08:20 +01:00
Wladimir J. van der Laan
a7f76512d9
Merge #9352 : Attempt reconstruction from all compact block announcements
...
813ede9
[qa] Update compactblocks test for multi-peer reconstruction (Suhas Daftuar)
7017298
Allow compactblock reconstruction when block is in flight (Suhas Daftuar)
2016-12-19 08:52:42 +01:00
Wladimir J. van der Laan
b416095371
Merge #9354 : Make fuzzer actually test CTxOutCompressor
...
5dd626a
Make fuzzer actually test CTxOutCompressor (Pieter Wuille)
2016-12-19 08:50:27 +01:00
BtcDrak
23208ac81b
Remove unused test files and references
2016-12-19 07:43:12 +00:00
Wladimir J. van der Laan
79da3979b7
Merge #9366 : Fix: OSX QT compile: use built-in swap if available, or defer
...
815f414
Uses built-in byte swap if available (Apple) and if bswap_XX is undefined. (Karl-Johan Alm)
2016-12-19 08:29:52 +01:00
Karl-Johan Alm
815f4148b2
Uses built-in byte swap if available (Apple) and if bswap_XX is undefined.
...
Defers to pre-defined version if found (e.g. protobuf). For protobuf case, the definitions are identical and thus include order should not affect results.
2016-12-17 12:27:00 +09:00
Pieter Wuille
b99a093afe
Merge #9346 : Batch construct batches
...
ed58969
Batch construct batches (Pieter Wuille)
2016-12-16 12:32:33 -08:00
Wladimir J. van der Laan
8c7947e09f
Merge #9367 : If we don't allow free txs, always send a fee filter (take 2)
...
fa16b8f
If we don't allow free txs, always send a fee filter (take 2) (MarcoFalke)
2016-12-16 17:09:47 +01:00
MarcoFalke
fa16b8fdba
If we don't allow free txs, always send a fee filter (take 2)
2016-12-16 14:27:55 +01:00
Wladimir J. van der Laan
c9e00591cd
Merge #9322 : [qa] Don't set unknown rpcserialversion
...
fa615d3
[qa] Don't set unknown rpcserialversion (MarcoFalke)
80d073c
Complain when unknown rpcserialversion is specified (Pieter Wuille)
2016-12-15 20:10:36 +01:00
Wladimir J. van der Laan
756374c522
Merge #9313 : If we don't allow free txs, always send a fee filter
...
01fea7a
If we don't allow free txs, always send a fee filter (Alex Morcos)
2016-12-15 19:45:54 +01:00
Pieter Wuille
5dd626a6d3
Make fuzzer actually test CTxOutCompressor
2016-12-15 09:18:31 -08:00
Suhas Daftuar
7017298eb2
Allow compactblock reconstruction when block is in flight
2016-12-15 11:47:04 -05:00
Wladimir J. van der Laan
5113474a91
wallet: Use CDataStream.data()
2016-12-15 17:34:59 +01:00
Wladimir J. van der Laan
e2300ff65e
bench: Use CDataStream.data()
2016-12-15 17:30:17 +01:00
Wladimir J. van der Laan
adff950fae
dbwrapper: Use new .data() method of CDataStream
2016-12-15 17:22:03 +01:00
Wladimir J. van der Laan
a2141e415a
streams: Remove special cases for ancient MSVC
...
Quite sure that we haven't supported MSVC 6.0 for ages (MSC_VER 1300 is
>= MSVC++ 7.0) but with the C++11 switch we can be sure.
2016-12-15 17:20:29 +01:00
Wladimir J. van der Laan
af4c44ce59
streams: Add data() method to CDataStream
...
Analogous to c++11 vector data().
2016-12-15 17:15:34 +01:00
Wladimir J. van der Laan
1eef038b1b
Merge #7562 : Bump transaction version default to 2
...
c5c92c4
Update python tests for default tx version=2 (BtcDrak)
dab207e
Preserve tx version=1 for certain tests (BtcDrak)
c5d746a
tiny test fix for mempool_tests (Alex Morcos)
1f0ca1a
Bump default transaction version to 2 (BtcDrak)
2016-12-15 17:03:31 +01:00
Wladimir J. van der Laan
5bc209c73f
Merge #9172 : Resurrect pstratem's "Simple fuzzing framework"
...
8b15434
doc: Add bare-bones documentation for fuzzing (Wladimir J. van der Laan)
a4153e2
Simple fuzzing framework (Patrick Strateman)
2016-12-15 16:57:06 +01:00
Patrick Strateman
a4153e20ec
Simple fuzzing framework
2016-12-15 13:29:03 +01:00
Pieter Wuille
b83264d9c7
Merge #8895 : Better SigCache Implementation
...
67dac4e
Add unit tests for the CuckooCache (Jeremy Rubin)
c9e69fb
Add CuckooCache implementation and replace the sigcache map_type with it (Jeremy Rubin)
2016-12-14 18:14:02 -08:00
Jeremy Rubin
67dac4e193
Add unit tests for the CuckooCache
...
SQUASHME: Update Tests for other SQUASHMEs
2016-12-14 16:02:22 -05:00
Jeremy Rubin
c9e69fbf39
Add CuckooCache implementation and replace the sigcache map_type with it
...
SQUASHME: Change cuckoocache to only work for powers of two, to avoid mod operator
SQUASHME: Update Documentation and simplify logarithm logic
SQUASHME: OSX Build Errors
SQUASHME: minor Feedback from sipa + bluematt
SQUASHME: DOCONLY: Clarify a few comments.
2016-12-14 16:02:05 -05:00
Wladimir J. van der Laan
b68685a16a
Merge #9273 : Remove unused CDiskBlockPos* argument from ProcessNewBlock
...
a13fa4c
Remove unused CDiskBlockPos* argument from ProcessNewBlock (Matt Corallo)
2016-12-14 10:56:28 +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
Wladimir J. van der Laan
47e6a19e6b
Merge #9330 : [Qt] Console: add security warning
...
ed6b377
[Qt] Console: add security warning (Jonas Schnelli)
2016-12-14 09:34:31 +01:00
Pieter Wuille
ed5896976a
Batch construct batches
...
Reuse the serialization buffers used for constructing the LevelDB
write batch. This avoids 2 allocations per utxo write.
2016-12-14 00:31:28 -08:00
Jonas Schnelli
390bd14684
[Qt] Console: don't allow empty arguments when using the comma-syntax
2016-12-14 09:00:09 +01:00
Gregory Maxwell
da9cdd2c9c
Do not run functions with necessary side-effects in assert()
2016-12-14 01:50:00 +00: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
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
5233aefa3f
Merge #9305 : Refactor: Removed begin/end_ptr functions.
...
8c1dbc5
Refactor: Removed begin/end_ptr functions. (Karl-Johan Alm)
2016-12-13 12:21:18 +01:00
Wladimir J. van der Laan
cfd5e6b1dc
Merge #9334 : Update to latest libsecp256k1
...
7b49f22
Squashed 'src/secp256k1/' changes from 7a49cac..8225239 (Pieter Wuille)
2016-12-13 12:16:47 +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
Luke Dashjr
6a32c0f69d
Qt/Test: Check handling of empty arguments in RPC debug console
2016-12-13 09:18:13 +01:00
Jonas Schnelli
89c8d2c12c
[Qt] Console: allow empty arguments
2016-12-13 09:17:35 +01:00
Richard Kiss
e49a252bae
Fix spelling.
2016-12-12 16:06:59 -05:00
Gregory Maxwell
b05b1af10b
Fix qt/paymentrequestplus.cpp for OpenSSL 1.1 API.
...
This avoids a compile failure on newly installed debian stretch systems.
2016-12-12 19:24:34 +00:00
Pieter Wuille
547a53d135
Update libsecp256k1 to master
2016-12-12 11:08:47 -08:00
Pieter Wuille
7b49f22bdb
Squashed 'src/secp256k1/' changes from 7a49cac..8225239
...
8225239 Merge #433 : Make the libcrypto detection fail the newer API.
12de863 Make the libcrypto detection fail the newer API.
2928420 Merge #427 : Remove Schnorr from travis as well
8eecc4a Remove Schnorr from travis as well
a8abae7 Merge #310 : Add exhaustive test for group functions on a low-order subgroup
b4ceedf Add exhaustive test for verification
83836a9 Add exhaustive tests for group arithmetic, signing, and ecmult on a small group
20b8877 Add exhaustive test for group functions on a low-order subgroup
80773a6 Merge #425 : Remove Schnorr experiment
e06e878 Remove Schnorr experiment
04c8ef3 Merge #407 : Modify parameter order of internal functions to match API parameter order
6e06696 Merge #411 : Remove guarantees about memcmp-ability
40c8d7e Merge #421 : Update scalar_4x64_impl.h
a922365 Merge #422 : Restructure nonce clearing
3769783 Restructure nonce clearing
0f9e69d Restructure nonce clearing
9d67afa Update scalar_4x64_impl.h
7d15cd7 Merge #413 : fix auto-enabled static precompuatation
00c5d2e fix auto-enabled static precompuatation
91219a1 Remove guarantees about memcmp-ability
353c1bf Fix secp256k1_ge_set_table_gej_var parameter order
541b783 Fix secp256k1_ge_set_all_gej_var parameter order
7d893f4 Fix secp256k1_fe_inv_all_var parameter order
git-subtree-dir: src/secp256k1
git-subtree-split: 8225239f490f79842a5a3b82ad6cc8aa11d5208e
2016-12-12 11:08:47 -08:00
Jonas Schnelli
ed6b377ae2
[Qt] Console: add security warning
2016-12-12 15:58:40 +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
Pieter Wuille
a1dcf2e108
Merge #9240 : Remove txConflicted
...
a874ab5
remove internal tracking of mempool conflicts for reporting to wallet (Alex Morcos)
bf663f8
remove external usage of mempool conflict tracking (Alex Morcos)
2016-12-09 16:31:03 -08:00
Pieter Wuille
d38b0d7a6b
Merge #9307 : Remove undefined FetchCoins method declaration
...
fe41f58
Remove undefined FetchCoins method declaration (Russell Yanofsky)
2016-12-09 16:21:28 -08:00
Pieter Wuille
815640ec6a
Merge #9295 : [Wallet] Bugfix: Fundrawtransaction: don't terminate when keypool is empty
...
1a6eacb
[QA] add fundrawtransaction test on a locked wallet with empty keypool (Jonas Schnelli)
c24a4f5
[Wallet] Bugfix: FRT: don't terminate when keypool is empty (Jonas Schnelli)
2016-12-09 16:14:54 -08:00
Alex Morcos
01fea7a048
If we don't allow free txs, always send a fee filter
2016-12-09 15:25:46 -05:00
Alex Morcos
5f0e27f1a8
Increase mempool expiry time to 2 weeks
2016-12-09 14:39:04 -05:00
Alex Morcos
06329393c7
Flush wallet after abandontransaction
2016-12-09 13:36:42 -05:00
Karl-Johan Alm
8c1dbc5e9d
Refactor: Removed begin/end_ptr functions.
2016-12-09 13:15:19 +09:00
Pieter Wuille
760765d5a9
Update ctaes
2016-12-08 17:09:07 -08:00
Alex Morcos
f8d43b8081
Avoid rollingMinimumFeeRate never being able to decay below half
2016-12-08 15:40:14 -05:00
Alex Morcos
eab8e1b172
fix a bug if the min fee is 0 for FeeFilterRounder
2016-12-08 15:40:14 -05:00
BtcDrak
c5c92c46fb
Update python tests for default tx version=2
2016-12-08 20:12:00 +00:00
BtcDrak
dab207e4e6
Preserve tx version=1 for certain tests
...
Without this change, the tests would be affected by default
tx version increases.
2016-12-08 20:11:51 +00:00
Alex Morcos
c5d746ace7
tiny test fix for mempool_tests
2016-12-08 20:11:39 +00:00
BtcDrak
1f0ca1ae1c
Bump default transaction version to 2
2016-12-08 20:11:27 +00:00
Pieter Wuille
b3a74100b8
Return txid even if ATMP fails for new transaction
2016-12-08 11:55:32 -08:00
jonnynewbs
d29505db22
Fix transaction size comments. Size now refers to virtual size as defined in BIP141.
2016-12-08 17:03:57 +00:00
Wladimir J. van der Laan
86017842d6
Merge #9291 : Remove mapOrphanTransactionsByPrev from DoS_tests
...
819ca3f
Remove mapOrphanTransactionsByPrev from DoS_tests (Pieter Wuille)
2016-12-08 08:38:15 +01:00
Wladimir J. van der Laan
9851a8461d
Merge #9255 : qt: layoutAboutToChange signal is called layoutAboutToBeChanged
...
f36349e
qt: Remove on_toggleNetworkActiveButton_clicked from RPCConsole (Wladimir J. van der Laan)
297cc20
qt: layoutAboutToChange signal is called layoutAboutToBeChanged (Wladimir J. van der Laan)
2016-12-08 08:14:16 +01:00
Wladimir J. van der Laan
2044e37beb
Merge #9266 : Bugfix: Qt/RPCConsole: Put column enum in the right places
...
df17fe0
Bugfix: Qt/RPCConsole: Put column enum in the right places (Luke Dashjr)
2016-12-08 08:13:15 +01:00
Russell Yanofsky
fe41f58365
Remove undefined FetchCoins method declaration
2016-12-07 15:41:56 -05:00
Alex Morcos
b919179cbb
remove no longer needed check for premature v2 txs
2016-12-07 09:58:20 -05:00
Wladimir J. van der Laan
f36349e898
qt: Remove on_toggleNetworkActiveButton_clicked from RPCConsole
...
There is no network toggle button (anymore?) in the RPC console.
Removes another warning (#9250 ).
2016-12-07 05:55:16 +01:00
Pieter Wuille
09c4fd157c
Merge #9268 : Fix rounding privacy leak introduced in #9260
...
9b9324e
Fix rounding privacy leak introduced in #9260 (Matt Corallo)
2016-12-06 13:33:01 -08:00
Alex Morcos
28f8ae8adf
Fix missed change to WalletTx structure
2016-12-06 08:56:12 -05:00
Jonas Schnelli
c24a4f5981
[Wallet] Bugfix: FRT: don't terminate when keypool is empty
2016-12-06 13:45:56 +01:00
Jonas Schnelli
e15660c16f
Merge #9280 : [Qt] Show ModalOverlay by pressing the progress bar, allow hiding
...
89a3723
[Qt] Show ModalOverlay by pressing the progress bar, disabled show() in sync mode (Jonas Schnelli)
2016-12-06 13:03:33 +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
Pieter Wuille
80d073c9bc
Complain when unknown rpcserialversion is specified
2016-12-05 23:26:32 -08:00
Pieter Wuille
819ca3f18e
Remove mapOrphanTransactionsByPrev from DoS_tests
...
This is another violation of the one definition rule, as the type
for mapOrphanTransactionsByPrev did not match the one in
net_processing.cpp anymore. As it now depends on a custom Iterator,
it seems too much hassle to correctly expose it to the tests.
Instead, this commit just removes the one test it was referenced in.
2016-12-05 23:04:50 -08:00
Russell Yanofsky
07df40babb
[test] Add CCoinsViewCache Access/Modify/Write tests
...
Add more comprehensive unit tests for CCoinsViewCache. Right now it is hard to
refactor caching code or fix bugs in the caching logic because you have to try
to mentally enumerate all the different states the cache might be in to make
sure a change doesn't cause unintended consequences. The new tests explicitly
enumerate relevant cache states, documenting and verifying the behavior in each
state, so it will be safer and easier to make changes to the caching code in
the future.
2016-12-05 18:30:46 -05:00
Alex Morcos
a874ab5ccf
remove internal tracking of mempool conflicts for reporting to wallet
2016-12-05 13:41:25 -05:00
Alex Morcos
bf663f8e93
remove external usage of mempool conflict tracking
2016-12-05 13:41:25 -05:00
Jonas Schnelli
89a3723bdc
[Qt] Show ModalOverlay by pressing the progress bar, disabled show() in sync mode
2016-12-05 13:58:00 +01:00
instagibbs
412bab22b2
Adapt ZMQ/rest serialization to take rpcserialversion arg
2016-12-05 07:43:22 -05: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
7d5d44969b
Merge #9282 : CMutableTransaction is defined as struct
...
c4b6fa8
CMutableTransaction is defined as struct. (Pavel Janík)
2016-12-05 12:55:03 +01: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
Pavel Janík
c4b6fa8edf
CMutableTransaction is defined as struct.
2016-12-05 11:13:17 +01:00
Wladimir J. van der Laan
43e8150ef6
Merge #9269 : Align struct COrphan definition
...
2efc438
Align struct COrphan definition (Pieter Wuille)
2016-12-05 11:09:26 +01:00
Wladimir J. van der Laan
613bda418f
Merge #8613 : LevelDB 1.19
...
634ad51
Squashed 'src/leveldb/' changes from 20ca81f..a31c8aa (Pieter Wuille)
2016-12-05 10:58:36 +01:00
Pieter Wuille
2efc43874c
Align struct COrphan definition
2016-12-05 00:35:07 -08:00
Pieter Wuille
f6fb7acda4
Move CTxInWitness inside CTxIn
2016-12-04 23:47:12 -08:00