Commit graph

7314 commits

Author SHA1 Message Date
Pieter Wuille
c2fc9729d1
Merge pull request #5096
e8ea0fd MOVEONLY: CInPoint from core to txmempool (jtimon)
2014-10-16 18:57:32 -07:00
jtimon
e8ea0fd19e MOVEONLY: CInPoint from core to txmempool 2014-10-17 01:58:43 +02:00
jtimon
ca3ce0fa03 squashme on 3fdb9e8c (Bluematt's bikeshedding) 2014-10-16 22:49:33 +02:00
Pieter Wuille
5b9f8425a5 Merge src/leveldb changes for LevelDB 1.18. 2014-10-16 12:23:50 -07:00
Pieter Wuille
4b0e2d75d7 Squashed 'src/leveldb/' changes from 7924331..7d41e6f
7d41e6f Merge upstream LevelDB 1.18
803d692 Release 1.18

git-subtree-dir: src/leveldb
git-subtree-split: 7d41e6f89ff04ce9e6a742932924796f69c6e23d
2014-10-16 12:23:50 -07:00
Michael Ford
6f155bdb80 Add LIBTOOLFLAGS CXX tag to qt makefile include
Related #4993
2014-10-16 19:50:49 +08:00
Pieter Wuille
e8f6d54f1f
Merge pull request #5082
5f4bcf6 boost: drop boost dependency in version.cpp. (Cory Fields)
352058e boost: drop boost dependency in utilstrencodings.cpp (Cory Fields)
e1c9467 boost: drop boost dependency in core.cpp (Cory Fields)
e405aa4 boost: remove CPrivKey dependency from CECKey (Cory Fields)
5295506 boost: drop dependency on tuple in serialization (Cory Fields)
1d9b86d boost: drop dependency on is_fundamental in serialization (Cory Fields)
2014-10-15 12:43:16 -07:00
Cory Fields
5f4bcf6b14 boost: drop boost dependency in version.cpp.
Also add a test to verify.
2014-10-15 15:13:20 -04:00
Cory Fields
352058e8b0 boost: drop boost dependency in utilstrencodings.cpp 2014-10-15 15:13:20 -04:00
Cory Fields
e1c9467766 boost: drop boost dependency in core.cpp 2014-10-15 15:13:20 -04:00
Cory Fields
e405aa48c7 boost: remove CPrivKey dependency from CECKey
This allows CECKey to be used without directly depending on the secure
allocators
2014-10-15 15:13:20 -04:00
Cory Fields
52955068b7 boost: drop dependency on tuple in serialization
There's only one user of this form of serialization, so it can be easily
dropped. It could be re-added if desired when we switch to c++11.
2014-10-15 15:13:19 -04:00
Cory Fields
1d9b86d584 boost: drop dependency on is_fundamental in serialization
There's only one case where a vector containing a fundamental type is
serialized all-at-once, unsigned char. Anything else would lead to
strange results.

Use a dummy argument to overload in that case.
2014-10-15 15:13:19 -04:00
Cory Fields
1723862e82 build: fix libtool's refusal to link static libs into a dll 2014-10-14 20:45:20 -04:00
Pieter Wuille
e11b2ce4c6 Fix large reorgs 2014-10-14 16:13:42 -07:00
Pieter Wuille
afc32c5eea Fix rebuild-chainstate feature and improve its performance
Previous refactorings broke the ability to rebuild the chainstate by deleting the chainstate
directory, resulting in an incorrect "Incorrect or no genesis block found" error message. Fix
that.

Also, improve the performance of ActivateBestBlockStep by using the skiplist to only discover
a few potential blocks to connect at a time, instead of all blocks forever - as we likely bail
out after connecting a single one anyway.
2014-10-14 15:42:01 -07:00
Pieter Wuille
16d5194165 Skip reindexed blocks individually
Instead of skipping to the last reindexed block in each file (which could
jump over processed out-of-order blocks), just skip each already processed
block individually.
2014-10-14 15:42:01 -07:00
Wladimir J. van der Laan
ad96e7ccd9 Make -reindex cope with out-of-order blocks
Remember out-of-order block headers along with disk positions. This is
likely the simplest and least-impact way to make -reindex work with
headers first.

Based on top of #4468.
2014-10-14 15:42:01 -07:00
Pieter Wuille
e17bd58392 Rename setBlockIndexValid to setBlockIndexCandidates 2014-10-14 15:42:01 -07:00
R E Broadley
1af838b339 Add height to "Requesting block" debug 2014-10-14 15:42:01 -07:00
R E Broadley
1bcee67ee7 Better logging of stalling 2014-10-14 15:42:01 -07:00
R E Broadley
4c93322923 Improve getheaders (sending) logging 2014-10-14 15:42:01 -07:00
Pieter Wuille
f244c99c96 Remove CheckMinWork, as we always know all parent headers 2014-10-14 15:42:01 -07:00
Pieter Wuille
ad6e601712 RPC additions after headers-first 2014-10-14 15:42:01 -07:00
Pieter Wuille
341735eb8f Headers-first synchronization
Many changes:
* Do not use 'getblocks', but 'getheaders', and use it to build a headers tree.
* Blocks are fetched in parallel from all available outbound peers, using a
  limited moving window. When one peer stalls the movement of the window, it is
  disconnected.
* No more orphan blocks. At all. We only ever request a block for which we have
  verified the headers, and store it to disk immediately. This means that a
  disk-fill attack would require PoW.
* Require protocol version 31800 for every peer (released in december 2010).
* No more syncnode (we sync from everyone we can, though limited to 1 during
  initial *headers* sync).
* Introduce some extra named constants, comments and asserts.
2014-10-14 15:42:01 -07:00
Luke Dashjr
c0195b1c31 Bugfix: Remove default from -zapwallettxes description (inaccurate) 2014-10-14 20:13:44 +00:00
Wladimir J. van der Laan
992ab87114
Merge pull request #4942
9406471 Write fee estimate and peers files only when initialized (Wladimir J. van der Laan)
2014-10-14 11:35:17 +02:00
Wladimir J. van der Laan
2e4f6127bf
Merge pull request #5074
005b5af rpc-tests: don't spew non-errors to stdout (Cory Fields)
2014-10-14 10:50:22 +02:00
Cory Fields
28d412ff20 build: quit abusing LIBS for Windows builds.
Similar to the INCLUDES changes in 6b099402b4, split out LIBS into individual
entries for more fine-grained control.

Also add MINIUPNPC_LIBS which was missing before, and hook it up to
executables.
2014-10-13 21:21:27 -04:00
Pieter Wuille
1f27c310a4
Merge pull request #5080
e21b2e0 Typo in test (Luke)
2014-10-13 12:11:50 -07:00
Luke
e21b2e0d5f Typo in test 2014-10-13 16:57:09 +01:00
Wladimir J. van der Laan
d7e1950483
Merge pull request #4937
ccca27a [Wallet] Watch-only fixes (Cozz Lovan)
2014-10-13 13:57:07 +02:00
jtimon
ebdb9ff639 SQUASHME: fix "Reserve only one network specific cached path per session" 2014-10-11 20:56:27 +02:00
Wladimir J. van der Laan
f98bd4eae1
Merge pull request #5073
d5fd094 build: fix qt test build when libprotobuf is in a non-standard path (Cory Fields)
a7d1f03 build: fix dynamic boost check when --with-boost= is used (Cory Fields)
2014-10-11 10:48:35 +02:00
Luke Dashjr
0a08aa8f2a Parameterise command line option defaults, so translations are independent of them 2014-10-11 08:22:26 +00:00
Cory Fields
005b5af6e2 rpc-tests: don't spew non-errors to stdout
There's a brief race here, the process might've already exited and cleaned up
after itself. If that's the case, reading from the pidfile will harmlessly
fail. Keep those quiet.
2014-10-10 13:11:49 -04:00
Cory Fields
d5fd094569 build: fix qt test build when libprotobuf is in a non-standard path 2014-10-10 13:03:28 -04:00
Cory Fields
a7d1f035ae build: fix dynamic boost check when --with-boost= is used 2014-10-10 13:00:50 -04:00
jtimon
b796cb084b SQUASHME: NetworkIdFromCommandLine() function instead of method 2014-10-10 12:05:20 +02:00
Wladimir J. van der Laan
023690c0f2
Merge pull request #4802
6fd546d Remove CChainParams::NetworkID() (jtimon)
cc97210 Add fTestnetToBeDeprecatedFieldRPC to CChainParams (jtimon)
e11712d Move checkpoint data selection to chainparams (jtimon)
6de50c3 qt: add network-specific style object (Wladimir J. van der Laan)
2014-10-10 11:56:58 +02:00
jtimon
6fd546dd96 Remove CChainParams::NetworkID() 2014-10-10 11:01:00 +02:00
jtimon
cc97210799 Add fTestnetToBeDeprecatedFieldRPC to CChainParams 2014-10-10 11:01:00 +02:00
jtimon
e11712df7e Move checkpoint data selection to chainparams 2014-10-10 11:00:59 +02:00
Wladimir J. van der Laan
6de50c3c9a qt: add network-specific style object
Mainly cleanups: Gets rid of isTestNet everywhere, by keeping track
of network-specific theming in a central place.

Also makes GUI no longer dependent on the network ID enumeration, which
alleviates concerns about #4802.
2014-10-10 11:00:59 +02:00
Wladimir J. van der Laan
11d486d23f
Merge pull request #5072
caecb42 Travis: Descriptive build names (Luke Dashjr)
2014-10-10 08:30:09 +02:00
Luke Dashjr
caecb42b38 Travis: Descriptive build names 2014-10-10 03:36:49 +00:00
Wladimir J. van der Laan
fe36e031cd
Merge pull request #5032
4bd1185 Qt: allow "emergency" shutdown during startup (Philip Kaufmann)
2014-10-09 18:10:29 +02:00
Gavin Andresen
3222802ea1
Merge pull request #5059
dbca89b Trigger -alertnotify if network is upgrading without you (Gavin Andresen)
e01a793 Refactor -alertnotify code (Gavin Andresen)

Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
2014-10-09 10:39:29 -04:00
Gavin Andresen
dbca89b74b
Trigger -alertnotify if network is upgrading without you
This adds a -regetest-only undocumented (for regression testing only)
command-line option -blockversion=N to set block.nVersion.

Adds to the "has the rest of the network upgraded to a
block.nVersion we don't understand" code so it calls
-alertnotify when 51 of the last 100 blocks are up-version.
But it only alerts once, not with every subsequent new, upversion
block.

And adds a forknotify.py regression test to make sure it works.

Tested using forknotify.py:

Before adding CAlert::Notify, get:
Assertion failed: -alertnotify did not warn of up-version blocks

Before adding code to only alert once:
Assertion failed: -alertnotify excessive warning of up-version blocks

After final code in this pull:
Tests successful
2014-10-09 10:28:27 -04:00
Gavin Andresen
e01a7939d3
Refactor -alertnotify code
Refactor common -alertnotify code into static CAlert::Notify method.
2014-10-09 10:25:30 -04:00