aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-06-07Merge #8136: Log/report in 10% steps during VerifyDBWladimir J. van der Laan
8b78486 Log/report in 10% steps during VerifyDB (Jonas Schnelli)
2016-06-07Merge #8118: Reduce unnecessary hashing in signrawtransactionWladimir J. van der Laan
bd0f413 Reduce unnecessary hashing in signrawtransaction (Jonas Nick)
2016-06-07Log/report in 10% steps during VerifyDBJonas Schnelli
2016-06-07[init] Make feefilter option debug optionMarcoFalke
2016-06-06Merge #8142: Improve CWallet API with new GetAccountPubkey function.Wladimir J. van der Laan
152ab23 Improve CWallet API with new GetAccountPubkey function. (Patrick Strateman)
2016-06-06Improve CWallet API with new GetAccountPubkey function.Patrick Strateman
Remove one more caller that is passing CWalletDB.
2016-06-06Merge #8007: Minor locking improvementsWladimir J. van der Laan
f0fdda0 IsInitialBlockDownload: usually avoid locking (Kaz Wesley)
2016-06-06Merge #8137: Improve CWallet API with new AccountMove function.Wladimir J. van der Laan
9dfaa1c Improve CWallet API with new AccountMove function. (Patrick Strateman)
2016-06-06qt: translation strings updateWladimir J. van der Laan
2016-06-04IsInitialBlockDownload: usually avoid lockingKaz Wesley
Optimistically test the latch bool before taking the lock. For all IsInitialBlockDownload calls after the first to return false, this avoids the need to lock cs_main.
2016-06-03comment nit: miners don't voteinstagibbs
2016-06-03Merge #7967: [RPC] add feerate option to fundrawtransactionWladimir J. van der Laan
04eaa90 Add more clear interface for CoinControl.h regarding individual feerate (Jonas Schnelli) 3b35e48 [RPC] add feerate option to fundrawtransaction (Jonas Schnelli)
2016-06-03Merge #7942: locking for Misbehave() and other cs_main locking fixesWladimir J. van der Laan
719de56 lock cs_main for chainActive (Kaz Wesley) efb54ba lock cs_main for State/Misbehaving (Kaz Wesley)
2016-06-03Merge #7997: replace mapNextTx with slimmer setSpendsPieter Wuille
9805f4a mapNextTx: use pointer as key, simplify value (Kaz Wesley)
2016-06-03Merge #7825: Prevent multiple calls to ExtractDestinationPieter Wuille
0bf6f30 Prevent multiple calls to ExtractDestination (Pedro Branco)
2016-06-02mapNextTx: use pointer as key, simplify valueKaz Wesley
Saves about 10% of application memory usage once the mempool warms up. Since the mempool is DynamicUsage-regulated, this will translate to a larger mempool in the same amount of space. Map value type: eliminate the vin index; no users of the map need to know which input of the transaction is spending the prevout. Map key type: replace the COutPoint with a pointer to a COutPoint. A COutPoint is 36 bytes, but each COutPoint is accessible from the same map entry's value. A trivial DereferencingComparator functor allows indirect map keys, but the resulting syntax is misleading: `map.find(&outpoint)`. Implement an indirectmap that acts as a wrapper to a map that uses a DereferencingComparator, supporting a syntax that accurately reflect the container's semantics: inserts and iterators use pointers since they store pointers and need them to remain constant and dereferenceable, but lookup functions take const references.
2016-06-02Merge #7992: Extend #7956 with one more test.Pieter Wuille
269a440 Add test for dbwrapper iterators with same-prefix keys. (Matt Corallo) 6030625 test: Add more thorough test for dbwrapper iterators (Wladimir J. van der Laan) 84c13e7 chain: Add assertion in case of missing records in index db (Wladimir J. van der Laan)
2016-06-02Improve CWallet API with new AccountMove function.Patrick Strateman
2016-06-02Merge #8129: Fix RPC console auto completerJonas Schnelli
16698cb PR #7772 is not enough to fix the issue with QCompleter, use event filter instead of `connect` (UdjinM6)
2016-06-01Merge #8077: Consensus: Decouple from chainparams.o and timedata.oPieter Wuille
ee9f4a5 Consensus: Decouple from chainparams.o and timedata.o (Jorge Timón)
2016-06-01Use std::atomic for fRequestShutdown and fReopenDebugLogPieter Wuille
2016-06-01Revert "Include signal.h for sig_atomic_t in WIN32"Pieter Wuille
This reverts commit 88f14b999cb70f6c556633f2889e698a05305158.
2016-06-01Merge #8112: Include signal.h for sig_atomic_t in WIN32Pieter Wuille
88f14b9 Include signal.h for sig_atomic_t in WIN32 (Pieter Wuille)
2016-06-01Merge #7960: Only use AddInventoryKnown for transactionsPieter Wuille
383fc10 Only use AddInventoryKnown for transactions (Suhas Daftuar)
2016-06-01Merge #7689: Replace OpenSSL AES with ctaes-based versionPieter Wuille
723779c build: Enumerate ctaes rather than globbing (Cory Fields) 34ed64a crypter: add tests for crypter (Cory Fields) 0a36b9a crypter: shuffle Makefile so that crypto can be used by the wallet (Cory Fields) 976f9ec crypter: add a BytesToKey clone to replace the use of openssl (Cory Fields) 9049cde crypter: hook up the new aes cbc classes (Cory Fields) fb96831 crypter: constify encrypt/decrypt (Cory Fields) 1c391a5 crypter: fix the stored initialization vector size (Cory Fields) daa3841 crypto: add aes cbc tests (Cory Fields) 27a212d crypto: add AES 128/256 CBC classes (Cory Fields) 6bec172 Add ctaes-based constant time AES implementation (Pieter Wuille) a545127 Squashed 'src/crypto/ctaes/' content from commit cd3c3ac (Pieter Wuille)
2016-05-31Defer inserting into maprelay until just before relaying.Gregory Maxwell
This reduces the rate of not founds by better matching the far end expectations, it also improves privacy by removing the ability to use getdata to probe for a node having a txn before it has been relayed.
2016-05-31Merge #8080: Do not use mempool for GETDATA for tx accepted after the last ↵Wladimir J. van der Laan
mempool req. 7e908c7 Do not use mempool for GETDATA for tx accepted after the last mempool req. (Gregory Maxwell)
2016-05-31Merge #8090: Adding P2SH(p2pkh) script test caseWladimir J. van der Laan
b682960 Adding P2SH(p2pkh) script test case (Chris Stewart)
2016-05-31Merge #8115: Avoid integer division in the benchmark inner-most loop.Wladimir J. van der Laan
63ff57d Avoid integer division in the benchmark inner-most loop. (Gregory Maxwell)
2016-05-31PR #7772 is not enough to fix the issue with QCompleter, use event filter ↵UdjinM6
instead of `connect`
2016-05-30Avoid integer division in the benchmark inner-most loop.Gregory Maxwell
Previously the benchmark code used an integer division (%) with a non-constant in the inner-loop. This is quite slow on many processors, especially ones like ARM that lack a hardware divide. Even on fairly recent x86_64 like haswell an integer division can take something like 100 cycles-- making it comparable to the runtime of siphash. This change avoids the division by using bitmasking instead. This was especially easy since the count was only increased by doubling. This change also restarts the timing when the execution time was very low this avoids mintimes of zero in cases where one execution ends up below the timer resolution. It also reduces the impact of the overhead on the final result. The formatting of the prints is changed to not use scientific notation make it more machine readable (in particular, gnuplot croaks on the non-fixedpoint, and it doesn't sort correctly). This also hoists out all the floating point divisions out of the semi-hot path because it was easy to do so. It might be prudent to break out the critical test into a macro just to guarantee that it gets inlined. It might also make sense to just save out the intermediate counts and times and get the floating point completely out of the timing loop (because e.g. on hardware without a fast hardware FPU like some ARM it will still be slow enough to distort the results). I haven't done either of these in this commit.
2016-05-30Merge #7891: Always require OS randomness when generating secret keysPieter Wuille
628cf14 Don't use assert for catching randomness failures (Pieter Wuille) fa2637a Always require OS randomness when generating secret keys (Pieter Wuille)
2016-05-30Adding P2SH(p2pkh) script test caseChris Stewart
Fixing formatting Adding test case into automatically generated test case set Clean up commits removing extra whitespace from eol Removing extra whitespace on macro line
2016-05-30Merge #8107: bench: Added base58 encoding/decoding benchmarksWladimir J. van der Laan
5fac1f3 bench: Added base58 encoding/decoding benchmarks (Yuri Zhykin)
2016-05-30Merge #7896: fix typo in help textWladimir J. van der Laan
fc95f6e fix typo in help text (Chris Moore)
2016-05-30Merge #8111: Benchmark SipHashWladimir J. van der Laan
619d569 Benchmark SipHash (Pieter Wuille)
2016-05-30Reduce unnecessary hashing in signrawtransactionJonas Nick
2016-05-29Don't use assert for catching randomness failuresPieter Wuille
2016-05-29Always require OS randomness when generating secret keysPieter Wuille
2016-05-28Benchmark SipHashPieter Wuille
2016-05-27build: Enumerate ctaes rather than globbingCory Fields
2016-05-27Include signal.h for sig_atomic_t in WIN32Pieter Wuille
2016-05-27Merge #8108: Trivial: Remove unused local variable shadowing upper localMarcoFalke
13c4558 Remove unused local variable shadowing upper local (Pavel Janík)
2016-05-27Remove unused local variable shadowing upper localPavel Janík
2016-05-27bench: Added base58 encoding/decoding benchmarksYuri Zhykin
2016-05-26Use global ::fRelayTxes instead of CNode onePieter Wuille
2016-05-26Merge #8049: Expose information on whether transaction relay is enabled in ↵Pieter Wuille
`getnetwork` 1ab1dc3 rpc: Add `relaytxes` flag to `getnetworkinfo` (Wladimir J. van der Laan) 581ddff net: Add fRelayTxes flag (Wladimir J. van der Laan)
2016-05-26Merge #8015: CCoinsViewErrorCatcher raison-d-etreWladimir J. van der Laan
a4d5855 CCoinsViewErrorCatcher raison-d-etre (21E14)
2016-05-26Merge #8073: qt: askpassphrasedialog: Clear pass fields on acceptWladimir J. van der Laan
02ce2a3 qt: askpassphrasedialog: Clear pass fields on accept (Pavel Vasin)
2016-05-25Do not use mempool for GETDATA for tx accepted after the last mempool req.Gregory Maxwell
The ability to GETDATA a transaction which has not (yet) been relayed is a privacy loss vector. The use of the mempool for this was added as part of the mempool p2p message and is only needed to fetch transactions returned by it.