aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge #7688: List solvability in listunspent output and improve helpWladimir J. van der Laan2016-04-255-8/+14
|\ | | | | | | c3932b3 List solvability in listunspent output and improve help (Pieter Wuille)
| * List solvability in listunspent output and improve helpPieter Wuille2016-03-145-8/+14
| |
* | Merge #7927: Minor changes to dbwrapper to simplify support for other databasesWladimir J. van der Laan2016-04-254-68/+73
|\ \ | | | | | | | | | | | | | | | | | | 869cf12 dbwrapper: Move `HandleError` to `dbwrapper_private` (Wladimir J. van der Laan) b69836d dbwrapper: Pass parent CDBWrapper into CDBBatch and CDBIterator (Wladimir J. van der Laan) 878bf48 dbwrapper: Remove CDBWrapper::GetObfuscateKeyHex (Wladimir J. van der Laan) 74f7b12 dbwrapper: Remove throw keywords in function signatures (Wladimir J. van der Laan)
| * | dbwrapper: Move `HandleError` to `dbwrapper_private`Wladimir J. van der Laan2016-04-232-21/+23
| | | | | | | | | | | | HandleError is implementation-specific.
| * | dbwrapper: Pass parent CDBWrapper into CDBBatch and CDBIteratorWladimir J. van der Laan2016-04-234-30/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | Pass parent wrapper directly instead of obfuscation key. This makes it possible for other databases which re-use this code to use other properties from the database. Add a namespace dbwrapper_private for private functions to be used only in dbwrapper.h/cpp and dbwrapper_tests.
| * | dbwrapper: Remove CDBWrapper::GetObfuscateKeyHexWladimir J. van der Laan2016-04-232-13/+2
| | | | | | | | | | | | | | | | | | It is an unnecessary method as it is used only two times and only internally, and the whole implementation is HexStr(obfuscate_key).
| * | dbwrapper: Remove throw keywords in function signaturesWladimir J. van der Laan2016-04-232-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | Using throw() specifications in function signatures is not only not required in C++, it is considered deprecated for [various reasons](https://stackoverflow.com/questions/1055387/throw-keyword-in-functions-signature). It is not implemented by any of the common C++ compilers. The usage is also inconsistent with the rest of the source code.
* | | qt: Fix out-of-tree GUI buildsWladimir J. van der Laan2016-04-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this patch: - When I compile the GUI from the bitcoin directory itself, it works as expected. - When I build the GUI in an out-of-tree build, I cannot get it to select tabs. When I click, say the "Receive" tab nothing happens, the button selects but it doesn't switch the page. The rest - even the debug window - seems to work. See full discussion here: https://github.com/bitcoin/bitcoin/pull/7911#issuecomment-212413442 This turned out to be caused by a mismatch in the arguments to moc, preventing it from finding `bitcoin-config.h`. Fix this by passing `$(DEFAULT_INCLUDES)` to it, which gets set to the appropriate path by autoconf itself.
* | | Merge #7911: leveldb: integrate leveldb into our buildsystemWladimir J. van der Laan2016-04-222-16/+87
|\ \ \ | | | | | | | | | | | | a4625ac leveldb: integrate leveldb into our buildsystem (Cory Fields)
| * | | leveldb: integrate leveldb into our buildsystemCory Fields2016-04-192-16/+87
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | leveldb's buildsystem causes us a few problems: - breaks out-of-tree builds - forces flags used for some tools - limits cross builds Rather than continuing to add wrappers around it, simply integrate it into our build.
* | | Merge #7922: CBase58Data::SetString: cleanse the full vectorWladimir J. van der Laan2016-04-221-1/+1
|\ \ \ | | | | | | | | | | | | 5770449 CBase58Data::SetString: cleanse the full vector (Kaz Wesley)
| * | | CBase58Data::SetString: cleanse the full vectorKaz Wesley2016-04-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | SetString seems to be passing the length of the wrong variable to memory_cleanse, resulting in the last byte of the temporary buffer not being securely erased.
* | | | Merge #7919: Fix headers announcements edge caseWladimir J. van der Laan2016-04-221-1/+15
|\ \ \ \ | | | | | | | | | | | | | | | 3a99fb2 Fix headers announcements edge case (Suhas Daftuar)
| * | | | Fix headers announcements edge caseSuhas Daftuar2016-04-201-1/+15
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Previously we would assert that if every block in vBlockHashesToAnnounce is in chainActive, then the blocks to be announced must connect. However, there are edge cases where this assumption could be violated (eg using invalidateblock / reconsiderblock), so just check for this case and revert to inv-announcement instead.
* | | | Merge #7816: [Wallet] slighly refactor GetOldestKeyPoolTime()Wladimir J. van der Laan2016-04-221-5/+12
|\ \ \ \ | |_|/ / |/| | | | | | | 9f7336b [Wallet] slightly refactor GetOldestKeyPoolTime() (Jonas Schnelli)
| * | | [Wallet] slightly refactor GetOldestKeyPoolTime()Jonas Schnelli2016-04-061-5/+12
| | | |
* | | | Merge #7916: Explicitly pass CChainParams& to DisconnectTip()Wladimir J. van der Laan2016-04-213-17/+17
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | 176869f Explicitly pass CChainParams to ConnectBlock (face) d0a6353 Pass CChainParams to DisconnectTip() (face) 764d237 Globals: Explicitly pass const CChainParams& to UpdateTip() (Jorge Timón)
| * | | | Explicitly pass CChainParams to ConnectBlockface2016-04-202-6/+7
| | | | |
| * | | | Pass CChainParams to DisconnectTip()face2016-04-193-8/+7
| | | | |
| * | | | Globals: Explicitly pass const CChainParams& to UpdateTip()Jorge Timón2016-04-191-4/+4
| | | | |
* | | | | Merge #7913: Fix for incorrect locking in GetPubKey() (keystore.cpp)Pieter Wuille2016-04-211-0/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | 220f950 Fix for incorrect locking in GetPubKey() (keystore.cpp) (Yuri Zhykin)
| * | | | | Fix for incorrect locking in GetPubKey() (keystore.cpp)Yuri Zhykin2016-04-201-0/+1
| | |_|/ / | |/| | |
* | | | | Merge #7868: net: Split DNS resolving functionality out of net structuresPieter Wuille2016-04-215-35/+46
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | d39f5b4 net: disable resolving from storage structures (Cory Fields) 3675699 net: resolve outside of storage structures (Cory Fields) a98cd1f net: manually resolve dns seed sources (Cory Fields) e9fc71e net: require lookup functions to specify all arguments (Cory Fields)
| * | | | net: disable resolving from storage structuresCory Fields2016-04-203-22/+22
| | | | | | | | | | | | | | | | | | | | CNetAddr/CService/CSubnet can no longer resolve DNS.
| * | | | net: resolve outside of storage structuresCory Fields2016-04-202-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than allowing CNetAddr/CService/CSubNet to launch DNS queries, require that addresses are already resolved. This greatly simplifies async resolve logic, and makes it harder to accidentally leak DNS queries.
| * | | | net: manually resolve dns seed sourcesCory Fields2016-04-201-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: Some seeds aren't actually returning an IP for their name entries, so they're being added to addrman with a source of [::]. This commit shouldn't change that behavior, for better or worse.
| * | | | net: require lookup functions to specify all argumentsCory Fields2016-04-172-5/+5
| |/ / / | | | | | | | | | | | | To make it clear where DNS resolves are happening
* | | | Merge #7787: [Moveonly] Create ui_interface.cppWladimir J. van der Laan2016-04-196-58/+56
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | fa10ce6 Move ui_interface.cpp to libbitcoin_server_a_SOURCES (MarcoFalke) fabbf80 [ui] Move InitError, InitWarning, AmountErrMsg (MarcoFalke)
| * | | | Move ui_interface.cpp to libbitcoin_server_a_SOURCESMarcoFalke2016-04-191-1/+1
| | | | | | | | | | | | | | | | | | | | It is only needed by bitcoind and bitcoin-qt
| * | | | [ui] Move InitError, InitWarning, AmountErrMsgMarcoFalke2016-04-026-58/+56
| | | | |
* | | | | Merge #7762: [ZMQ] append a message sequence number to every ZMQ notificationWladimir J. van der Laan2016-04-192-8/+38
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 0b25a9f [ZMQ] append a message sequence number to every ZMQ notification (Jonas Schnelli) de821d5 [ZMQ] refactor message string (Jonas Schnelli)
| * | | | | [ZMQ] append a message sequence number to every ZMQ notificationJonas Schnelli2016-04-192-8/+33
| | | | | |
| * | | | | [ZMQ] refactor message stringJonas Schnelli2016-04-151-4/+9
| | | | | |
* | | | | | Merge #7905: test: move accounting_tests and rpc_wallet_tests to wallet/testWladimir J. van der Laan2016-04-1914-59/+66
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b30fb42 test: Rename wallet.dat to wallet_test.dat (Wladimir J. van der Laan) a25a4f5 wallet_ismine.h → script/ismine.h (Wladimir J. van der Laan) f4eae2d test: Create test fixture for wallet (Wladimir J. van der Laan) de39c95 test: move accounting_tests and rpc_wallet_tests to wallet/test (Wladimir J. van der Laan)
| * | | | | | test: Rename wallet.dat to wallet_test.datWladimir J. van der Laan2016-04-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Indicate that the file name is not hardcoded, and a little bit of safety so that it never nukes the main wallet. Suggestion by Marco Falke.
| * | | | | | wallet_ismine.h → script/ismine.hWladimir J. van der Laan2016-04-186-26/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes conditional dependency of `src/test` on wallet. Makes multisig and P2SH tests complete without wallet built-in.
| * | | | | | test: Create test fixture for walletWladimir J. van der Laan2016-04-188-31/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes all the `#ifdef ENABLE_WALLET` from `test_bitcoin` by making the wallet tests use their own fixture.
| * | | | | | test: move accounting_tests and rpc_wallet_tests to wallet/testWladimir J. van der Laan2016-04-183-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the two other wallet tests to where they belong.
* | | | | | | Merge #7827: Speed up getchaintips.Wladimir J. van der Laan2016-04-191-8/+21
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 87049e8 Speed up getchaintips. (mrbandrews)
| * | | | | | | Speed up getchaintips.mrbandrews2016-04-181-8/+21
| | | | | | | |
* | | | | | | | Merge #7904: txdb: Fix assert crash in new UTXO set cursorWladimir J. van der Laan2016-04-191-5/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | a3310b4 txdb: Fix assert crash in new UTXO set cursor (Wladimir J. van der Laan)
| * | | | | | | | txdb: Fix assert crash in new UTXO set cursorWladimir J. van der Laan2016-04-181-5/+1
| | |_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the mistaken assumption that GetKey returning false signifies an internal database issue. It will return false when the key cannot be deserialized into the (char,uint256) stanza, which indicates that the cursor has reached a different kind of key. Fixes bug #7890 introduced in #7756.
* | | | | | | | Merge #7900: fix spelling mistakeWladimir J. van der Laan2016-04-181-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 3107c47 fix spelling mistake (Chris Moore)
| * | | | | | | | fix spelling mistakeChris Moore2016-04-171-1/+1
| |/ / / / / / /
* | | | | | | | Merge #7897: add missing newlineWladimir J. van der Laan2016-04-181-1/+1
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | | | | | | | | | dc0693f add missing newline (Chris Moore)
| * | | | | | | add missing newlineChris Moore2016-04-161-1/+1
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without the newline I see "bein" where the two lines are concatenated: Note that all inputs selected must be of standard form and P2SH scripts must *bein* the wallet using importaddress or addmultisigaddress (to calculate fees).
* | | | | | | Merge #7848: Divergence between 32- and 64-bit when hashing >4GB affects ↵Wladimir J. van der Laan2016-04-185-4/+5
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `gettxoutsetinfo` 28b400f doc: update release-notes for `gettxoutsetinfo` change (Wladimir J. van der Laan) 76212bb rpc: make sure `gettxoutsetinfo` hash has txids (Wladimir J. van der Laan) 9ad1a51 crypto: bytes counts are 64 bit (Wladimir J. van der Laan)
| * | | | | | | rpc: make sure `gettxoutsetinfo` hash has txidsWladimir J. van der Laan2016-04-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The key (transaction id for the following outputs) should be serialized to the HashWriter. This is a problem as it means different transactions in the same position with the same outputs will potentially result in the same hash. Fixes primary concern of #7758.
| * | | | | | | crypto: bytes counts are 64 bitWladimir J. van der Laan2016-04-154-4/+4
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Byte counts for SHA256, SHA512, SHA1 and RIPEMD160 must be 64 bits. `size_t` has a different size per platform, causing divergent results when hashing more than 4GB of data.
* | | | | | | prevector::swap: fix (unreached) data corruptionKaz Wesley2016-04-161-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | swap was using an incorrect condition to determine when to apply an optimization (not swapping the full direct[] when swapping two indirect prevectors). Rather than correct the optimization I'm removing it for simplicity. Removing this optimization minutely improves performance in the typical (currently only) usage of member swap(), which is swapping with a freshly value-initialized object.