aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-06-07Log/report in 10% steps during VerifyDBJonas Schnelli
2016-06-07[init] Make feefilter option debug optionMarcoFalke
2016-06-06drop vAddrToSend after sending big addr messageKaz Wesley
We send a newly-accepted peer a 1000-entry addr message, and then only use vAddrToSend for small messages. Deallocate vAddrToSend after it's been used for the big message to save about 40 kB per connected inbound peer.
2016-06-06[rpc] fundrawtransaction: Fix help text and interfaceMarcoFalke
2016-06-06getblocktemplate: Use version/force mutation to support pre-BIP9 clientsLuke Dashjr
2016-06-06getblocktemplate: Explicitly handle the distinction between GBT-affecting ↵Luke Dashjr
softforks vs not
2016-06-06Implement BIP 9 GBT changesLuke Dashjr
- BIP9DeploymentInfo struct for static deployment info - VersionBitsDeploymentInfo: Avoid C++11ism by commenting parameter names - getblocktemplate: Make sure to set deployments in the version if it is LOCKED_IN - In this commit, all rules are considered required for clients to support
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-06tor: Change auth order to only use HASHEDPASSWORD if -torpasswordWladimir J. van der Laan
Change authentication order to make it more clear (see #7700). - If the `-torpassword` option is provided, force use of `HASHEDPASSWORD` auth. - Give error message if `-torpassword` provided, but `HASHEDPASSWORD` auth is not available. - Give error message if only `HASHEDPASSWORD` available, but `-torpassword` not given.
2016-06-06qt: translation strings updateWladimir J. van der Laan
2016-06-06Optimization: use usec in expiration and reuse nNowPieter Wuille
2016-06-06Optimization: don't check the mempool at all if no mempool req everPieter Wuille
2016-06-06Optimize the relay map to use shared_ptr'sPieter Wuille
* Switch mapRelay to use shared_ptr<CTransaction> * Switch the relay code to copy mempool shared_ptr's, rather than copying the transaction itself. * Change vRelayExpiration to store mapRelay iterators rather than hashes (smaller and faster).
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-05Switch CTransaction storage in mempool to std::shared_ptrPieter Wuille
2016-06-05Add support for unique_ptr and shared_ptr to memusagePieter Wuille
2016-06-03build: add temporary fix for "bad magic number" error in out-of-tree buildsCory Fields
This was caused by an pyc files hanging around from previous python2 invocations, when the matching .py missing from that path. This should not be a problem with python3's tagged caches.
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-02Catch exceptions from non-canonical encoding and print only to logmrbandrews
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-02Stop treating importaddress'ed scripts as changePieter Wuille
Before this, if someone imported a scriptPubKey directly (in hex form) using importaddress, outputs sending to it would be treated as change, as the corresponding CTxDestination was not added to the address book. Fix this by trying to detect scriptPubKeys that are in fact convertible to a CTxDestination and add them anyway. Add a warning to the RPC help to warn against importing raw non-standard scripts.
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-01build: more out-of-tree fixupsCory Fields
- clear the __pycache__ during 'make clean' - Copy the qrc locale file to a temp location and remove it when finished (rcc expects everything to be in the same path)
2016-06-01build: out-of-tree fixupsCory Fields
Don't glob the leveldb for dist. That means we need to enumerate the headers.
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-01[Wallet] use constant for bip32 hardened key limitJonas Schnelli
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-01FIX: correctly measure size of priority blockAlex Morcos
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-31[Wallet] Add simplest BIP32/deterministic key generation implementationJonas Schnelli
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