aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-04-15Merge #7856: Only send one GetAddr response per connection.Wladimir J. van der Laan
66b0724 Only send one GetAddr response per connection. (Gregory Maxwell)
2016-04-15Merge #7877: Change mapRelay to store CTransactionsWladimir J. van der Laan
38c3102 Change mapRelay to store CTransactions (Pieter Wuille)
2016-04-15Merge #6215: add bip32 pub key serializationWladimir J. van der Laan
90604f1 add bip32 pubkey serialization (Jonas Schnelli)
2016-04-14add bip32 pubkey serializationJonas Schnelli
CExtPubKey should be serializable like CPubKey
2016-04-14[test] bctest.py: Revert faa41eeMarcoFalke
2016-04-14Merge #7874: Improve AlreadyHaveWladimir J. van der Laan
c6cb6f7 Avoid unnecessary database access for unknown transactions (Alex Morcos)
2016-04-14Merge #7853: [qa] py2: Unfiddle strings into bytes explicitlyWladimir J. van der Laan
faa41ee [qa] py2: Unfiddle strings into bytes explicitly (MarcoFalke)
2016-04-14Merge #7812: Tiny refactor of `IsRBFOptIn`, avoid exceptionWladimir J. van der Laan
4f7c959 Refactor IsRBFOptIn, avoid exception (Jonas Schnelli)
2016-04-14Change mapRelay to store CTransactionsPieter Wuille
2016-04-14Merge #7842: RPC: do not print minping time in getpeerinfo when no ping ↵Wladimir J. van der Laan
received yet 62a6486 RPC: do not print ping info in getpeerinfo when no ping received yet, fix help (Pavel Janík)
2016-04-14Merge #7846: Clean up lockorder data of destroyed mutexesWladimir J. van der Laan
5eeb913 Clean up lockorder data of destroyed mutexes (Pieter Wuille)
2016-04-14Merge #7862: Use txid as key in mapAlreadyAskedForWladimir J. van der Laan
7e91f63 Use txid as key in mapAlreadyAskedFor (Suhas Daftuar)
2016-04-14Merge #7849: tests: add varints_bitpatterns testWladimir J. van der Laan
4521f00 tests: add varints_bitpatterns test (Wladimir J. van der Laan)
2016-04-14Merge #7850: Removed call to `TryCreateDirectory` from `GetDefaultDataDir` ↵Wladimir J. van der Laan
in `src/util.cpp`. 41dbc48 Removed call to `TryCreateDirectory` from `GetDefaultDataDir` in `src/util.cpp`. (Alexander Regueiro)
2016-04-14Merge #7818: Refactor script testsWladimir J. van der Laan
dde46d3 Merge script_valid and script_invalid tests (Pieter Wuille) 009b503 Get rid of expect in script_tests as it's implied by scripterror (Pieter Wuille) 76da761 Make script_error a mandatory 4th field for script_tests (Pieter Wuille) 269281b Fix some misconstructed tests (Pieter Wuille) d03e466 Fix formatting of NOPs for generated script tests (Pieter Wuille) c7c6641 Fix JSON pretty printing in script_tests (Pieter Wuille)
2016-04-14Merge #7863: getblockchaininfo: make bip9_softforks an object, not an array.Wladimir J. van der Laan
d12760b rpc-tests: handle KeyError nicely in test_framework.py (Rusty Russell) 85c807c getblockchaininfo: make bip9_softforks an object, not an array. (Rusty Russell)
2016-04-14Merge #7796: [amount] Add support for negative fee ratesWladimir J. van der Laan
facf5a4 [amount] tests: Fix off-by-one mistake (MarcoFalke) fa2da2c [amount] Add support for negative fee rates (MarcoFalke) 11114a6 [amount] test negative fee rates and full constructor (MarcoFalke)
2016-04-13Avoid unnecessary database access for unknown transactionsAlex Morcos
2016-04-13getblockchaininfo: make bip9_softforks an object, not an array.Rusty Russell
We can't change "softforks", but it seems far more logical to use tags in an object rather than using an "id" field in an array. For example, to get the csv status before, you need to iterate the array to find the entry with 'id' field equal to "csv": jq '.bip9_softforks | map(select(.id == "csv"))[] | .status' Now: jq '.bip9_softforks.csv.status' There is no issue with fork names being incompatible with JSON tags, since we're selecting them ourselves. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-04-13Removed call to `TryCreateDirectory` from `GetDefaultDataDir` in `src/util.cpp`.Alexander Regueiro
See https://github.com/bitcoin/bitcoin/issues/7845#issuecomment-207684728. Also refactored `GetDefaultDataDir` function to return path for Mac in one expression.
2016-04-12Merge #7828: Trivial: Globals: Explicitly pass const CChainParams& to ↵Pieter Wuille
ProcessMessage() bf477bc Trivial: Globals: Explicitly pass const CChainParams& to ProcessMessage() (Jorge Timón)
2016-04-11Use txid as key in mapAlreadyAskedForSuhas Daftuar
Previously we used the CInv that would be sent to the peer announcing the transaction as the key, but using the txid instead allows us to decouple the p2p layer from the application logic (which relies on this map to avoid duplicate tx requests).
2016-04-11Only send one GetAddr response per connection.Gregory Maxwell
This conserves resources from abusive peers that just send getaddr in a loop. Also makes correlating addr messages against INVs less effective.
2016-04-10[qa] py2: Unfiddle strings into bytes explicitlyMarcoFalke
2016-04-10Clean up lockorder data of destroyed mutexesPieter Wuille
The lockorder potential deadlock detection works by remembering for each lock A that is acquired while holding another B the pair (A,B), and triggering a warning when (B,A) already exists in the table. A and B in the above text are represented by pointers to the CCriticalSection object that is acquired. This does mean however that we need to clean up the table entries that refer to any critical section which is destroyed, as it memory address can potentially be used for another unrelated lock in the future. Implement this clean up by remembering not only the pairs in forward direction, but also backward direction. This allows for fast iteration over all pairs that use a deleted CCriticalSection in either the first or the second position.
2016-04-09[amount] tests: Fix off-by-one mistakeMarcoFalke
2016-04-09Merge #7786: Doc: Update isStandardTx commentWladimir J. van der Laan
03c77fd Doc: Update isStandardTx comment (Matthew English)
2016-04-09RPC: do not print ping info in getpeerinfo when no ping received yet, fix helpPavel Janík
2016-04-09tests: add varints_bitpatterns testWladimir J. van der Laan
The current tests for varint only check that serialization-deserialization is a roundtrip. That is a useful test, but it is also good to check for some exact bit patterns, to prevent a code change that changes the serialization format from going undetected. As the varint functions are templated, also check with different types.
2016-04-08Doc: Update isStandardTx commentMatthew English
2016-04-08[amount] Add support for negative fee ratesMarcoFalke
Currently negative fee rates are not supported on archs of 64-bit or more
2016-04-08[amount] test negative fee rates and full constructorMarcoFalke
2016-04-08Merge #7835: Version 2 transactions remain non-standard until CSV activatesWladimir J. van der Laan
da5fdbb Test relay of version 2 transactions (Suhas Daftuar) 5cb1d8a Tests: move get_bip9_status to util.py (Suhas Daftuar) e4ba9f6 Version 2 transactions remain non-standard until CSV activates (Suhas Daftuar)
2016-04-08Merge #7570: Net: Add IPv6 Link-Local Address SupportWladimir J. van der Laan
eda3d92 Net: Add IPv6 Link-Local Address Support (mruddy)
2016-04-07Version 2 transactions remain non-standard until CSV activatesSuhas Daftuar
Before activation, such transactions might not be mined, so don't allow into the mempool.
2016-04-07Reduce block timeout to 10 minutesWladimir J. van der Laan
Now that #7804 fixed the timeout handling, reduce the block timeout from 20 minutes to 10 minutes. 20 minutes is overkill.
2016-04-07Merge #7804: Track block download times per individual blockWladimir J. van der Laan
0e24bbf Self check after the last peer is removed (Pieter Wuille) 2d1d658 Track block download times per individual block (Pieter Wuille)
2016-04-07Self check after the last peer is removedPieter Wuille
2016-04-07Track block download times per individual blockPieter Wuille
Currently, we're keeping a timeout for each requested block, starting from when it is requested, with a correction factor for the number of blocks in the queue. That's unnecessarily complicated and inaccurate. As peers process block requests in order, we can make the timeout for each block start counting only when all previous ones have been received, and have a correction based on the number of peers, rather than the total number of blocks.
2016-04-06Trivial: Globals: Explicitly pass const CChainParams& to ProcessMessage()Jorge Timón
2016-04-06Refactor IsRBFOptIn, avoid exceptionJonas Schnelli
2016-04-06init: allow shutdown during 'Activating best chain...'Wladimir J. van der Laan
Two-line patch to make it possible to shut down bitcoind cleanly during the initial ActivateBestChain. Fixes #6459 (among other complaints). To reproduce: - shutdown bitcoind - copy chainstate - start bitcoind - let the chain sync a bit - shutdown bitcoind - copy back old chainstate - start bitcoind - bitcoind will catch up with all blocks during Init() (the `boost::this_thread::interruption_point` / `ShutdownRequested()` dance is ugly, this should be refactored all over bitcoind at some point when moving from boost::threads to c++11 threads, but it works...)
2016-04-05Net: Add IPv6 Link-Local Address Supportmruddy
2016-04-05Merge #7793: [doxygen] Fix member commentsWladimir J. van der Laan
fada0c4 [doc] Fix doxygen comments for members (MarcoFalke)
2016-04-05Merge #7788: Use relative paths instead of absolute paths in protoc callsWladimir J. van der Laan
0087f26 Use relative paths instead of absolute paths (Pavel Janík)
2016-04-05Merge script_valid and script_invalid testsPieter Wuille
2016-04-05Get rid of expect in script_tests as it's implied by scripterrorPieter Wuille
2016-04-05Make script_error a mandatory 4th field for script_testsPieter Wuille
2016-04-05Fix some misconstructed testsPieter Wuille
They claimed to be testing P2SH scripts with non-push scriptSigs, but 1) they were not enabling P2SH 2) they have push-only scriptSigs Fix this, and add a few more related cases.
2016-04-05Fix formatting of NOPs for generated script testsPieter Wuille