aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | | | | | | drop the optimistic write counter hackCory Fields2016-11-032-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is now handled properly in realtime.
| * | | | | | | | | | | | | net: switch all callers to connman for pushing messagesCory Fields2016-11-033-294/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop all of the old stuff.
| * | | | | | | | | | | | | connman is in charge of pushing messagesCory Fields2016-11-034-32/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The changes here are dense and subtle, but hopefully all is more explicit than before. - CConnman is now in charge of sending data rather than the nodes themselves. This is necessary because many decisions need to be made with all nodes in mind, and a model that requires the nodes calling up to their manager quickly turns to spaghetti. - The per-node-serializer (ssSend) has been replaced with a (quasi-)const send-version. Since the send version for serialization can only change once per connection, we now explicitly tag messages with INIT_PROTO_VERSION if they are sent before the handshake. With this done, there's no need to lock for access to nSendVersion. Also, a new stream is used for each message, so there's no need to lock during the serialization process. - This takes care of accounting for optimistic sends, so the nOptimisticBytesWritten hack can be removed. - -dropmessagestest and -fuzzmessagestest have not been preserved, as I suspect they haven't been used in years.
| * | | | | | | | | | | | | serialization: teach serializers variadicsCory Fields2016-11-033-1/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add a variadic CDataStream ctor for ease-of-use.
* | | | | | | | | | | | | | Merge #9070: Lockedpool fixesWladimir J. van der Laan2016-11-073-90/+75
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b3ddc5e LockedPool: avoid quadratic-time allocation (Kaz Wesley) 0b59f80 LockedPool: fix explosion for illegal-sized alloc (Kaz Wesley) 21b8f3d LockedPool: test handling of invalid allocations (Kaz Wesley)
| * | | | | | | | | | | | | LockedPool: avoid quadratic-time allocationKaz Wesley2016-11-023-90/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use separate maps for used/free chunks to avoid linear scan through alloced chunks for each alloc.
| * | | | | | | | | | | | | LockedPool: fix explosion for illegal-sized allocKaz Wesley2016-11-021-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check for unreasonable alloc size in LockedPool rather than lancing through new Arenas until we improbably find one worthy of the quixotic request or the system can support no more Arenas.
| * | | | | | | | | | | | | LockedPool: test handling of invalid allocationsKaz Wesley2016-11-021-0/+10
| | |_|_|_|_|_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Currently fails due to bug)
* | | | | | | | | | | | | Merge #9085: Remove unused CTxOut::GetHash()Pieter Wuille2016-11-042-7/+0
|\ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | 190fd32 Remove unused CTxOut::GetHash() (Matt Corallo)
| * | | | | | | | | | | | Remove unused CTxOut::GetHash()Matt Corallo2016-11-042-7/+0
|/ / / / / / / / / / / /
* | | | | | | | | | | | Merge #9069: Clean up bctest.py and bitcoin-util-test.pyWladimir J. van der Laan2016-11-042-81/+101
|\ \ \ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | 2b175d4 Clean up bctest.py and bitcoin-util-test.py (John Newbery)
| * | | | | | | | | | | Clean up bctest.py and bitcoin-util-test.pyJohn Newbery2016-11-032-81/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - remove newlines - change tabs for spaces, to align with convention in other py files - add comments - add 'Bitcoin Core Developers' copyright notice
* | | | | | | | | | | | Merge #9073: Trivial: Add common failure cases for rpc server connection failureWladimir J. van der Laan2016-11-031-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 8f329f9 Add common failure cases for rpc server connection failure (instagibbs)
| * | | | | | | | | | | Add common failure cases for rpc server connection failureinstagibbs2016-11-031-1/+1
| | | | | | | | | | | |
* | | | | | | | | | | | Merge #8969: Decouple peer-processing-logic from block-connection-logic (#2)Wladimir J. van der Laan2016-11-033-29/+49
|\ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f5b960b Move nTimeBestReceived updating into net processing code (Matt Corallo) d8670fb Move all calls to CheckBlockIndex out of net-processing logic (Matt Corallo) d6ea737 Remove network state wipe from UnloadBlockIndex. (Matt Corallo) fc0c24f Move MarkBlockAsReceived out of ProcessNewMessage (Matt Corallo) 65f35eb Move FlushStateToDisk call out of ProcessMessages::TX into ATMP (Matt Corallo)
| * | | | | | | | | | | Move nTimeBestReceived updating into net processing codeMatt Corallo2016-10-311-2/+3
| | | | | | | | | | | |
| * | | | | | | | | | | Move all calls to CheckBlockIndex out of net-processing logicMatt Corallo2016-10-311-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will result in many more calls to CheckBlockIndex when connecting a list of headers (eg in ::HEADERS messages processing) but its only enabled in debug mode, and that should mostly just be during IBD, so it should be OK.
| * | | | | | | | | | | Remove network state wipe from UnloadBlockIndex.Matt Corallo2016-10-313-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UnloadBlockIndex is only used during init if we end up reindexing to clear our block state so that we can start over. However, at that time no connections have been brought up as CConnman hasn't been started yet, so all of the network processing state logic is empty when its called. Additionally, the initialization of the recentRejects set is moved to InitPeerLogic.
| * | | | | | | | | | | Move MarkBlockAsReceived out of ProcessNewMessageMatt Corallo2016-10-311-5/+18
| | | | | | | | | | | |
| * | | | | | | | | | | Move FlushStateToDisk call out of ProcessMessages::TX into ATMPMatt Corallo2016-10-311-8/+13
| | | | | | | | | | | |
* | | | | | | | | | | | Merge #9050: net: make a few values immutable, and use deterministic ↵Wladimir J. van der Laan2016-11-034-23/+33
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | randomness for the localnonce 59ac5c5 net: Use deterministic randomness for CNode's nonce, and make it const (Cory Fields) aff6584 net: constify a few CNode vars to indicate that they're threadsafe (Cory Fields)
| * | | | | | | | | | | | net: Use deterministic randomness for CNode's nonce, and make it constCory Fields2016-10-314-13/+24
| | | | | | | | | | | | |
| * | | | | | | | | | | | net: constify a few CNode vars to indicate that they're threadsafeCory Fields2016-10-312-10/+9
| | |_|_|_|_|/ / / / / / | |/| | | | | | | | | |
* | | | | | | | | | | | Merge #9071: Declare wallet.h functions inlineWladimir J. van der Laan2016-11-031-2/+2
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2ca882a Declare wallet.h functions inline (Pieter Wuille)
| * | | | | | | | | | | | Declare wallet.h functions inlinePieter Wuille2016-11-021-2/+2
| | | | | | | | | | | | |
* | | | | | | | | | | | | Merge #9053: IBD using chainwork instead of height and not using header ↵Pieter Wuille2016-11-038-48/+20
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | timestamps e141beb IsInitialBlockDownload no longer uses header-only timestamps. (Gregory Maxwell) 2082b55 Remove GetTotalBlocksEstimate and checkpoint tests that test nothing. (Gregory Maxwell) fd46136 IBD check uses minimumchain work instead of checkpoints. (Gregory Maxwell)
| * | | | | | | | | | | | | IsInitialBlockDownload no longer uses header-only timestamps.Gregory Maxwell2016-11-021-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids a corner case (mostly visible on testnet) where bogus headers can keep nodes in IsInitialBlockDownload.
| * | | | | | | | | | | | | Remove GetTotalBlocksEstimate and checkpoint tests that test nothing.Gregory Maxwell2016-11-024-41/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GetTotalBlocksEstimate is no longer used and it was the only thing the checkpoint tests were testing. Since checkpoints are on their way out it makes more sense to remove the test file than to cook up a new pointless test.
| * | | | | | | | | | | | | IBD check uses minimumchain work instead of checkpoints.Gregory Maxwell2016-11-024-2/+16
| | |/ / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces a 'minimum chain work' chainparam which is intended to be the known amount of work in the chain for the network at the time of software release. If you don't have this much work, you're not yet caught up. This is used instead of the count of blocks test from checkpoints. This criteria is trivial to keep updated as there is no element of subjectivity, trust, or position dependence to it. It is also a more reliable metric of sync status than a block count.
* | | | | | | | | | | | | Merge #9036: wallet: Change default confirm target from 2 to 6Pieter Wuille2016-11-021-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | 0fdf810 wallet: Change default confirm target from 2 to 6 (Wladimir J. van der Laan)
| * | | | | | | | | | | | wallet: Change default confirm target from 2 to 6Wladimir J. van der Laan2016-10-281-1/+1
| | |_|_|_|_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recent discussion (in IRC meetings, and e.g. #8989) has shown a preference for the default confirm target for smartfees to be 6 instead of 2, to avoid overpaying fees for questionable gain. 6 is also a compromise between the GUI's pre-#8989 value of 25 and the bitcoind `-txconfirmtarget` default of 2. These were unified in #8989, but this has made the (overly expensive) default of 2 as GUI default.
* | | | | | | | | | | | Merge #9065: Merge `doc/unit-tests.md` into `src/test/README.md`MarcoFalke2016-11-024-34/+37
|\ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | eedc461 Merge `doc/unit-tests.md` into `src/test/README.md` (Wladimir J. van der Laan)
| * | | | | | | | | | | Merge `doc/unit-tests.md` into `src/test/README.md`Wladimir J. van der Laan2016-11-024-34/+37
| | |_|_|/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refer to the right file in the top-level README.md. Having only one file with test documentation saves some confusion about where things are documented.
* | | | | | | | | | | Merge #8977: [Wallet] Refactor wallet/init interaction (Reaccept wtx, flush ↵Wladimir J. van der Laan2016-11-023-11/+19
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | thread) cab1da7 [Wallet] Refactor wallet/init interaction (Reaccept wtx, flush thread) (Jonas Schnelli)
| * | | | | | | | | | | [Wallet] Refactor wallet/init interaction (Reaccept wtx, flush thread)Jonas Schnelli2016-10-203-11/+19
| | |_|_|_|_|_|_|/ / / | |/| | | | | | | | |
* | | | | | | | | | | Merge #9013: Trivial: Explicitly pass const CChainParams& to LoadBlockIndexDB()Wladimir J. van der Laan2016-11-023-6/+5
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d0b01f3 Explicitly pass const CChainParams& to LoadBlockIndexDB() (Geoffrey Tsui)
| * | | | | | | | | | | Explicitly pass const CChainParams& to LoadBlockIndexDB()Geoffrey Tsui2016-10-253-6/+5
| | | | | | | | | | | |
* | | | | | | | | | | | Merge #9042: [rpc] ParseHash: Fail when length is not 64Wladimir J. van der Laan2016-11-021-0/+2
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fa32619 [rpc] ParseHash: Fail when length is not 64 (MarcoFalke)
| * | | | | | | | | | | | [rpc] ParseHash: Fail when length is not 64MarcoFalke2016-10-311-0/+2
| | |_|_|/ / / / / / / / | |/| | | | | | | | | |
* | | | | | | | | | | | Merge #9066: tests: Remove variable unused after refactoringWladimir J. van der Laan2016-11-021-1/+0
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f91afe9 trivial: Remove variable unused after refactoring (Daniel Kraft)
| * | | | | | | | | | | | trivial: Remove variable unused after refactoringDaniel Kraft2016-11-021-1/+0
| | |_|_|/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove a variable that is now unused after the recent refactoring (in 51f278329d43398428d60f5986f8d29a2041d28d) but has not been cleaned up so far.
* | | | | | | | | | | | Merge #9023: Add logging to bitcoin-util-test.pyWladimir J. van der Laan2016-11-022-24/+54
|\ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | 32c0d6e Add logging to bitcoin-util-test.py (jnewbery)
| * | | | | | | | | | | Add logging to bitcoin-util-test.pyjnewbery2016-11-022-24/+54
|/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use the python standard logging library - Run all tests and report all failing test-cases (rather than stop after one test case fails) - If output is different from expected output, log a contextual diff.
* | | | | | | | | | | Merge #8828: Move CWalletDB::ReorderTransactions to CWalletWladimir J. van der Laan2016-11-023-80/+74
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 86029e7 Move CWalletDB::ReorderTransactions to CWallet (Patrick Strateman)
| * | | | | | | | | | | Move CWalletDB::ReorderTransactions to CWalletPatrick Strateman2016-10-303-80/+74
| |/ / / / / / / / / /
* | | | | | | | | | | Merge #8674: tools for analyzing, updating and adding copyright headers in ↵Wladimir J. van der Laan2016-11-023-76/+662
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | source files 159597a [devtools] script support for managing source file copyright headers (isle2983)
| * | | | | | | | | | | [devtools] script support for managing source file copyright headersisle29832016-09-103-76/+662
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Three subcommands to this script: 1) ./copyright_header.py report Examines git-tracked files with extensions that match: INCLUDE = ['*.h', '*.cpp', '*.cc', '*.c', '*.py'] Helps to: -> Identify source files without copyright -> Identify source files added with something other than "The Bitcoin Core developers" holder so we can be sure it is appropriate -> Identify unintentional typos in the copyright line 2) ./copyright_header.py update Replaces fix-copyright-headers.py. It does file editing in native python rather than subprocessing out to perl as was the case with fix-copyright-headers.py. It also shares code with the 'report' functions. 3) ./copyright_header.py insert Inserts a copyright header into a source file with the proper format and dates.
* | | | | | | | | | | | Merge #9060: trivial: fix bloom filter init to isEmpty = trueWladimir J. van der Laan2016-11-021-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cccf73d trivial: fix bloom filter init to isEmpty = true (Robert McLaughlin)
| * | | | | | | | | | | | trivial: fix bloom filter init to isEmpty = trueRobert McLaughlin2016-11-011-1/+1
| | |_|_|_|_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes newly initialized bloom filters being constructed with isEmpty(false), which still works but loses the possible speedup when checking for key membership in an empty filter.
* | | | | | | | | | | | Merge #9063: Do not shadow variable, use deprecated MAP_ANON if ↵Wladimir J. van der Laan2016-11-021-3/+10
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MAP_ANONYMOUS is not defined 4a9f3c5 Do not shadow variable, use deprecated MAP_ANON if MAP_ANONYMOUS is not defined. (Pavel Janík)