8847 Commits

Author SHA1 Message Date
Wladimir J. van der Laan
47d24c85b7
Bump version to 0.14.1 2017-04-05 09:12:36 +02:00
Suhas Daftuar
ea060c7495
Bugfix: ancestor modifed fees were incorrect for descendants
If prioritisetransaction was called for a tx with in-mempool
descendants, the modified ancestor fee values for those descendants was
incorrect.

Github-Pull: #10144
Rebased-From: 9bef02e36525d0eed4e2e31678b3ff04bbb0b8cb
2017-04-05 08:37:12 +02:00
Alex Morcos
0e5133cb2e
Make threshold for flushing more conservative.
Always leave a reasonable buffer of 50MB for usage from newly connected block (once over 50%) and increase the high water mark buffer to 200MB.

Github-Pull: #10133
Rebased-From: 1b55e07b7a61a9e6c299cf4c40fde80fa715d440
2017-04-05 08:23:02 +02:00
Alex Morcos
d6867689d1
Lower default memory footprint slightly
Github-Pull: #10133
Rebased-From: f33afd3b2be1bcabeb10168a53835359c9ff4a3e
2017-04-05 08:23:01 +02:00
Alex Morcos
ab864d3e49
Make pcoinsTip memory calculations consistent
Since we are more accurately measuring pcoinsTip peak usage at twice the current in dynamic usage, it makes sense to double the default (this will lead to the same effective usage and peak usage as previously).
We should also double the buffer used to avoid flushing if above 90% but still sufficient space remaining.

Github-Pull: #10133
Rebased-From: 5b95a190e8d7059039ce61e808d494dcf89ebb3b
2017-04-05 08:23:01 +02:00
Gregory Maxwell
a44a6a15f9
Check transaction count early in submitblock.
There is no point in even hashing a submitted block which doesn't have
 a coinbase transaction.

This also results in more useful error reporting on corrupted input.

Thanks to rawodb for the bug report.

Github-Pull: #10146
Rebased-From: 4f15ea102d15eb237b63464725508dc509e98819
2017-04-04 09:01:03 +02:00
Gregory Maxwell
2fea10ad03
Make GetWitnessCommitmentIndex callable on blocks without a coinbase txn.
This isn't actually needed anywhere, but it's less brittle.

Github-Pull: #10146
Rebased-From: ada0caa165905b50db351a56ec124518c922085a
2017-04-04 09:01:03 +02:00
practicalswift
f15268db3b
[rpc] Remove auth cookie on shutdown
Accidentally removed in 40b556d3742a1f65d67e2d4c760d0b13fe8be5b7

Github-Pull: #10139
Rebased-From: 4b87973c32bcaa5fa7509793e4f0c4f4f981f21b
2017-04-03 08:54:53 +02:00
Pieter Wuille
0b5e162b84
Compensate for memory peak at flush time
Github-Pull: #10126
Rebased-From: 7228ce853de5670d559d752f04a7db79578990ea
2017-03-31 12:07:18 +02:00
Wladimir J. van der Laan
fa6b5fc1cc
Merge #10127: [0.14 backport] Mining: Prevent slowdown in CreateNewBlock on large mempools
a296c60 Update benchmarking with package statistics (Suhas Daftuar)
10028fb Add benchmarking for CreateNewBlock (Suhas Daftuar)
b5c3440 Mining: return early when block is almost full (Suhas Daftuar)

Tree-SHA512: 7c39d03a778abe00412743958981a1a55d22fc1843c9a3aef7a56506622e6f5d6b8962c586a339b6031e1ee4815d6981351cf527e8fbe5b265824c81d6c7199d
2017-03-31 12:06:56 +02:00
Wladimir J. van der Laan
e4c9a90fe9
util: Work around (virtual) memory exhaustion on 32-bit w/ glibc
glibc-specific: On 32-bit systems set the number of arenas to 1. By
default, since glibc 2.10, the C library will create up to two heap
arenas per core. This is known to cause excessive virtual address space
usage in our usage. Work around it by setting the maximum number of
arenas to 1.

Github-Pull: #10120
Rebased-From: 625488ace5c41ccba1b68323a72588000782f820
2017-03-31 11:48:59 +02:00
John Newbery
f59e3dfc59
Add tests for bitcoin-tx input checking
Github-Pull: #10130
Rebased-From: 19ecd1e2e13514c8a92a2a4337c2568c3d5d13e5
2017-03-31 11:47:50 +02:00
John Newbery
ecc523288c
Check stderr when testing bitcoin-tx
Github-Pull: #10130
Rebased-From: 21704f6334d2a4bd140c6e3260c4bfa3f3157bad
2017-03-31 11:47:50 +02:00
Awemany
04c21afcdf
bitcoin-tx: Fix missing range check
The number of arguments is not checked MutateTxAddOutAddr(..), meaning
that

> ./bitcoin-tx -create outaddr=

accessed the vStrInputParts vector beyond its bounds.

This also includes work by jnewbery to check the inputs for
MutateTxAddPubKey()

Github-Pull: #10130
Rebased-From: eb66bf9bdd5ae20c546314eb2c494ac09929970f
2017-03-31 11:47:50 +02:00
Suhas Daftuar
a296c6009f Update benchmarking with package statistics
Github-Pull: #9959
Rebased-From: 011124a2b278c5a60bad5f1b0b4abbf7ebc95aa0
2017-03-30 15:18:02 -04:00
Suhas Daftuar
10028fb555 Add benchmarking for CreateNewBlock
Github-Pull: #9959
Rebased-From: 42cd8c890fb2d65274f26edf95b6d52ac41fcab8
2017-03-30 15:06:14 -04:00
Suhas Daftuar
b5c3440b05 Mining: return early when block is almost full
Github-Pull: #9959
Rebased-From: eed816af6c68c0c67f5fc05472a3927db62f8a18
2017-03-30 15:05:33 -04:00
MarcoFalke
142fbb2fec rpc: Rename first named arg of createrawtransaction
Github-Pull: #10084
Rebased-From: fa558532192ca0bb519f811ee14df6037413b89f
2017-03-27 23:44:08 +02:00
Suhas Daftuar
fc3d7db580 Optimize GetWitnessHash() for non-segwit transactions
Github-Pull: #9912
Rebased-From: 02c57b521a9e7afd4416cd027a8b397f202b08a8
2017-03-27 23:44:08 +02:00
Andrew Chow
ddc2dd1612 Ensure an item exists on the rpcconsole stack before adding
Ensures that there is an item on the rpcconsole stack before adding something to the current stack so that a segmentation fault does not occur.

Github-Pull: #10060
Rebased-From: 4df76e270caa9d828179cae1c7a8918d6f91ec21
2017-03-27 23:08:24 +02:00
James Evans
4d8e66017f Trivial: Fix typo in help getrawtransaction RPC
Github-Pull: #10037
Rebased-From: 05a9f22358be27c08f7e164d05eeeaf0386073cb
2017-03-27 23:07:56 +02:00
Wladimir J. van der Laan
ccb47bf830
Merge #10006: [0.14 backport] Don't require segwit in getblocktemplate for segwit signalling or mining
2cd2cd5 Test transaction selection when gbt called without segwit support (Suhas Daftuar)
569596c Don't require segwit in getblocktemplate for segwit signalling or mining (Suhas Daftuar)

Tree-SHA512: bf2672287713e5adc7e851791207e17490679f941d0b9ed38467ffede3aa3000d229151b8ae54323fc8037e0a8569b2fd910ec19f034fb85d9142289648793c3
2017-03-18 11:39:04 +01:00
Matt Corallo
4e2502bb51 Add missing braces in semaphore posts in net
Github-Pull: #9953
Rebased-From: 819b513a5415d1669b5440e214862cda6c2261f8
2017-03-17 14:56:57 -07:00
Matt Corallo
d2548a4f97 Fix shutdown hang with >= 8 -addnodes set
We previously would block waiting for a CSemaphoreGrant in
ThreadOpenAddedConnections, when we did not need to. This would
block as the posts in CConnman shutdown were both to the wrong
semaphore and in the wrong location.

Github-Pull: #9953
Rebased-From: e007b243c4840e44857b5ccf686ed35899e44af0
2017-03-17 14:55:43 -07:00
Suhas Daftuar
569596cc51 Don't require segwit in getblocktemplate for segwit signalling or mining
Segwit's version bit will be signalled for all invocations of CreateNewBlock,
and not specifying segwit only will cause CreateNewBlock to skip transactions
with witness from being selected.

Github-Pull: #9955
Rebased-From: abe7b3d3abe10e3554b770f40824174b3b217490
2017-03-16 10:43:54 -04:00
Russell Yanofsky
ad24256a65
Fix importmulti returning rescan errors for wrong keys
Bug was a missing ++i line in a new range for loop added in commit e2e2f4c
"Return errors from importmulti if complete rescans are not successful"

Github-Pull: #9829
Rebased-From: 306bd72157f089b962b9c537bbacf710a4158647
2017-02-28 13:53:28 +01:00
Wladimir J. van der Laan
8d2d08efaa
qt: pre-rc3 translations update 2017-02-28 12:49:29 +01:00
Pieter Wuille
1825a03f81
Avoid VLA in hash.h
Github-Pull: #9791
Rebased-From: 5c8fd508112016c3821b71112270afe83e6949ac
2017-02-28 12:48:19 +01:00
Marijn Stollenga
289204fbe0
Change bitcoin address in RPC helpaddress to an invalid address, so people don't accidentally send coins there (like I did).
Github-Pull: #9865
Rebased-From: 83ac719d34f98cc1d3efa6ece2b95145bcde8775
2017-02-28 12:01:06 +01:00
Russell Yanofsky
08e0690f3f
Update sendfrom RPC help to correct coin selection misconception
Github-Pull: #9840
Rebased-From: f81f0d003079b96b8c33d3dfe76f90e50344bcd8
2017-02-28 11:41:58 +01:00
Cory Fields
775cf54d0e
prevector: assert successful allocation
Github-Pull: #9856
Rebased-From: d4ee7baef729da5e18b5e5c3d6ddb5b97df8d4e4
2017-02-28 11:40:50 +01:00
Cory Fields
69832aaad5
don't throw std::bad_alloc when out of memory. Instead, terminate immediately
Github-Pull: #9856
Rebased-From: c5f008a4166bae4350881a74fc04a87d7a5c4ed5
2017-02-28 11:40:50 +01:00
Wladimir J. van der Laan
50953c2aad
tests: Fix dangling pwalletMain pointer in wallet tests
Github-Pull: #9875
Rebased-From: 75a109338fbbe9a30c54d76010b538c8ac1080ac
2017-02-28 11:40:50 +01:00
Wladimir J. van der Laan
847e3753a6
qt: pre-rc2 translations update 2017-02-23 20:31:57 +01:00
Cory Fields
05e906dbc6
build: add --enable-werror option
This turns some compiler warnings into errors. Useful for c-i.

Github-Pull: #9789
Rebased-From: 205830a37b7ffa4f8fa306e5c9eafcee3777fa68
2017-02-23 10:49:07 +01:00
John Newbery
9d3f9d2a59
[Trivial] Remove incorrect help message from gettxoutproof()
Github-Pull: #9711
Rebased-From: 9949ebfa6a548260858df429f4d0e716e0a26065
2017-02-22 13:03:55 +01:00
Russell Yanofsky
9072395e5f
Return errors from importmulti if complete rescans are not successful
Github-Pull: #9773
Rebased-From: e2e2f4c856363bbb0e3b5ba4df225f3754c3db39
2017-02-22 12:45:43 +01:00
Jonas Schnelli
7d75a5a93c
Fix segfault crash when shutdown the GUI in disablewallet mode
Github-Pull: #9817
Rebased-From: 312c4f10574ccf6dfe0d4ecb3ce928733d3a1e52
2017-02-21 15:14:17 +01:00
kirit93
e22c0671c7
Fix for issue #9775. Added check for open() returning a NULL pointer.
Github-Pull: #9798
Rebased-From: 40f11f8872c3e9f380f8278f984dfdabffe77539
2017-02-21 14:33:34 +01:00
Pavel Janík
3972a8efb2
Read/write mempool.dat as a binary.
mempool.dat is a binary file and thus it should be read/written as such.

Fixes #9810.

Github-Pull: #9813
Rebased-From: 171fc91f061d4a980eedfa522e302b8598408cc5
2017-02-21 12:35:38 +01:00
Luke Dashjr
6552729f38
Bugfix: RPC/Mining: GBT should return 1 MB sizelimit before segwit activates
Github-Pull: #9619
Rebased-From: 9fc7f0bce94f1cea0239b1543227f22a3f3b9274
2017-02-20 17:32:59 +01:00
Russell Yanofsky
40c754cb38
[wallet] Remove importmulti always-true check
Remove "nLowestTimestamp <= chainActive.Tip()->GetBlockTimeMax()" check from
importmulti, which is always true because nLowestTimestamp is set to the
minimum of the most recent block time and all the imported key timestamps,
which is necessarily lower than the maximum block time.

Github-Pull: #9760
Rebased-From: ec1267f13b7d0b9b5058c6821cf8dbf74e02d17c
2017-02-20 17:30:26 +01:00
Cory Fields
2afefeade6
boost: remove iostreams includes
They're unused and produce nasty deprecation warnings

Github-Pull: #9786
Rebased-From: 3301587dc5c7937141282f3799592d1e398495fb
2017-02-17 21:50:30 +01:00
Pieter Wuille
973e345f7f
Move BIP70_MAX_PAYMENTREQUEST_SIZE to header
Github-Pull: #9785
Rebased-From: c801c82e253dc4956069b6110f65b43f538dd5a1
2017-02-17 21:50:22 +01:00
Pieter Wuille
f873564231
Make KEY_SIZE a compile-time constant
Github-Pull: #9785
Rebased-From: 914fad155d9fc76b42b3a0414dd14b5ebc36062f
2017-02-17 21:50:14 +01:00
Wladimir J. van der Laan
f68e4414d7
qt: pre-rc1 translations update 2017-02-17 17:43:06 +01:00
Wladimir J. van der Laan
bc69f34b35
build: bump version to 0.14.0 2017-02-17 17:24:00 +01:00
Wladimir J. van der Laan
9828f9a996
Merge #9761: Use 2 hour grace period for key timestamps in importmulti rescans
e662af3 Use 2 hour grace period for key timestamps in importmulti rescans (Russell Yanofsky)
38d3e9e [qa] Extend import-rescan.py to test imports on pruned nodes. (Russell Yanofsky)
c28583d [qa] Extend import-rescan.py to test specific key timestamps (Russell Yanofsky)
8be0866 [qa] Simplify import-rescan.py (Russell Yanofsky)
2017-02-17 12:53:41 +01:00
Wladimir J. van der Laan
ad168ef4e3
Merge #9778: Add two hour buffer to manual pruning
91fb506 Add two hour buffer to manual pruning (Alex Morcos)
2017-02-17 12:51:08 +01:00
Wladimir J. van der Laan
3c02b95740
Merge #9779: Update nMinimumChainWork and defaultAssumeValid.
3f78e46 Update nMinimumChainWork and defaultAssumeValid. (Gregory Maxwell)
2017-02-17 12:41:49 +01:00