Commit Graph

8864 Commits

Author SHA1 Message Date
Wladimir J. van der Laan cc23438af0
qt: 0.14.2 pre-rc2 translations update 2017-06-06 15:06:16 +02:00
Wladimir J. van der Laan 4a41de4585
build: bump version to 0.14.2 2017-06-02 07:39:56 +02:00
Cory Fields 9e3ad50078
net: only enforce the services required to connect
also once half of all outgoing nodes have our preferred flags, require only
minimal flags from the rest.

Github-Pull: #10441
Rebased-From: b6fbfc2282
2017-06-01 13:26:12 +02:00
Gregory Sanders 18476423fb
[Wallet] unset change position when there is no change on exact match 2017-05-31 10:57:16 +02:00
Cory Fields ae479bc45b
build: fix bitcoin-config.h regeneration after touching build files
This was a long-standing and annoying problem.

If autogen.sh was not manually run after touching configure.ac,
bitcoin-config.h would not be properly regenerated. This causes very subtle
problems when configure appears to enable a new value, but it does not end up
reflected in the build.
2017-05-31 10:54:19 +02:00
Jonas Schnelli 4bc99c3b28
Add missing <atomic> header in clientmodel.h 2017-05-31 10:53:47 +02:00
Jonas Schnelli 222f3775cf
Set both time/height header caches at the same time 2017-05-31 10:53:47 +02:00
Jonas Schnelli 7da133772d
Declare headers height/time cache mutable, re-set the methods const 2017-05-31 10:53:47 +02:00
Jonas Schnelli 9ac40e853c
Update the remaining blocks left in modaloverlay at init. 2017-05-31 10:53:47 +02:00
Jonas Schnelli 1e936d7e87
Reduce cs_main locks during modal overlay by adding an atomic cache 2017-05-31 10:53:46 +02:00
Matt Corallo 0aee4a132b
Check interruptNet during dnsseed lookups 2017-05-31 10:52:56 +02:00
Russell Yanofsky 321419bc06
Fix importwallet edge case rescan bug
Start importwallet rescans at the first block with timestamp greater or equal
to the wallet birthday instead of the last block with timestamp less or equal.
This fixes an edge case bug where importwallet could fail to start the rescan
early enough if there are blocks with decreasing timestamps or multiple blocks
with the same timestamp.

Github-Pull: #10410
Rebased-From: 2a8e35a11d
2017-05-23 17:09:42 +02:00
Alex Morcos 37a8fc54d4
Populate services in GetLocalAddress
Previously if we didn't have any local addresses, GetLocalAddress would return
0.0.0.0 and then we'd swap in a peer's notion of our address in AdvertiseLocal,
but then nServices would never get set.

Github-Pull: #10424
Rebased-From: 307013469f
2017-05-22 12:56:13 +02:00
Warren Togami 51c787dfb4
Clarify importprivkey help text with example of blank label without rescan
Occasionally I waste a lot of time not remembering that the second parameter to importprivkey must be blank if you intend to stop rescan with "false" as the third parameter.

Github-Pull: #10207
Rebased-From: c9e31c36ff
2017-04-20 08:18:50 +02:00
Wladimir J. van der Laan 348a71701d
qt: translations update pre-rc2 2017-04-14 12:25:51 +02:00
Cory Fields 30fa231011
net: define NodeId as an int64_t
This should make occurances of NodeId wrapping essentially impossible for
real-world usage.

Github-Pull: #10176
Rebased-From: c851be4b25
2017-04-14 10:35:49 +02:00
John Newbery 3c796026e5
[rpc] rename disconnectnode argument
Github-Pull: #10204
Rebased-From: 883154cbcb
2017-04-14 10:19:06 +02:00
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: 9bef02e365
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: 1b55e07b7a
2017-04-05 08:23:02 +02:00
Alex Morcos d6867689d1
Lower default memory footprint slightly
Github-Pull: #10133
Rebased-From: f33afd3b2b
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: 5b95a190e8
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: 4f15ea102d
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: ada0caa165
2017-04-04 09:01:03 +02:00
practicalswift f15268db3b
[rpc] Remove auth cookie on shutdown
Accidentally removed in 40b556d374

Github-Pull: #10139
Rebased-From: 4b87973c32
2017-04-03 08:54:53 +02:00
Pieter Wuille 0b5e162b84
Compensate for memory peak at flush time
Github-Pull: #10126
Rebased-From: 7228ce853d
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: 625488ace5
2017-03-31 11:48:59 +02:00
John Newbery f59e3dfc59
Add tests for bitcoin-tx input checking
Github-Pull: #10130
Rebased-From: 19ecd1e2e1
2017-03-31 11:47:50 +02:00
John Newbery ecc523288c
Check stderr when testing bitcoin-tx
Github-Pull: #10130
Rebased-From: 21704f6334
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: eb66bf9bdd
2017-03-31 11:47:50 +02:00
Suhas Daftuar a296c6009f Update benchmarking with package statistics
Github-Pull: #9959
Rebased-From: 011124a2b2
2017-03-30 15:18:02 -04:00
Suhas Daftuar 10028fb555 Add benchmarking for CreateNewBlock
Github-Pull: #9959
Rebased-From: 42cd8c890f
2017-03-30 15:06:14 -04:00
Suhas Daftuar b5c3440b05 Mining: return early when block is almost full
Github-Pull: #9959
Rebased-From: eed816af6c
2017-03-30 15:05:33 -04:00
MarcoFalke 142fbb2fec rpc: Rename first named arg of createrawtransaction
Github-Pull: #10084
Rebased-From: fa55853219
2017-03-27 23:44:08 +02:00
Suhas Daftuar fc3d7db580 Optimize GetWitnessHash() for non-segwit transactions
Github-Pull: #9912
Rebased-From: 02c57b521a
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: 4df76e270c
2017-03-27 23:08:24 +02:00
James Evans 4d8e66017f Trivial: Fix typo in help getrawtransaction RPC
Github-Pull: #10037
Rebased-From: 05a9f22358
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: 819b513a54
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: e007b243c4
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: abe7b3d3ab
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: 306bd72157
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: 5c8fd50811
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: 83ac719d34
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: f81f0d0030
2017-02-28 11:41:58 +01:00
Cory Fields 775cf54d0e
prevector: assert successful allocation
Github-Pull: #9856
Rebased-From: d4ee7baef7
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: c5f008a416
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: 75a109338f
2017-02-28 11:40:50 +01:00