aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-09-05Merge #11247: qt: Use IsMine to validate custom change addressMarcoFalke
a1ea1cfbd qt: Use IsMine to validate custom change address (Chris Moore) Pull request description: Fixes #11137 Closes #11184 (which was accidentally opened against 0.15 branch) Tree-SHA512: a20a59b4f36c1471a9c84bcc7c69048576d1f413104c299a7ed9ba221f28eddf93d727fca2926420ea5d0dd9aba582924f26a5acd44d995039b7202c73eb53bc
2017-09-05qt: Use IsMine to validate custom change addressChris Moore
(cherry picked from commit c41224dfd51c896341bbf2fa23e160bf5ffe27c3)
2017-09-05Merge #11173: RPC: Fix currency unit string in the help textMarcoFalke
47ba2c312 Fix currency/fee-rate unit string in the help text (Akio Nakamura) Pull request description: 1. The RPC help text should use the constant `CURRENCY_UNIT` defined in `policy/feerate.cpp` instead of the literal `'BTC'`. In the following 2 RPC commands, `'BTC'` is written directly in the help text. This commit changes them to use that constant. 1) `estimatesmartfee` 2) `estimaterawfee` 2. Some RPC command use `'satoshis'` as the unit. It should be written as `'satoshis'` instead of `'Satoshis'` in the RPC help text. So, this commit fixes this typo in `getblocktemplate`. Tree-SHA512: d0bd1cd90560e59bf456b076b958a2a1c998f85a7e65aeb6b2abcaba18919a3ae62f7c3909210461084c1a3275a35b6ba3ea3ec8f5cce33702ffe383c9e84bce
2017-09-05Merge #11234: Remove redundant testutil.cpp|h filesWladimir J. van der Laan
d1138e362 Remove redundant testutil files (MeshCollider) Pull request description: The only function in testutil.cpp, `GetTempPath()` simply called `fs::temp_directory_path()` directly. This just tidies things up by removing that redundant function and the file containing it I can understand wanting a general util file for tests to use, but if there's nothing in it, we might as well remove it, it can always be added back later when it's put to use. Tree-SHA512: b923f99acf33328743755368a1aa90f5da4a7d5f61b163a4b0b894275c98db80a91edf8f051fbfb4893d970fda5a9078aae78a2672867ff521c4ca4b653c71c0
2017-09-05Merge #11143: Fix include path for bitcoin-config.hWladimir J. van der Laan
5abb93f0e Fix include path for bitcoin-config.h in crypto/common.h (danra) Pull request description: All the other files in the repo which include bitcoin-config.h do so with the appropriate subfolder prefixed: config/bitcoin-config.h The header should be included with the appropriate subfolder here as well. Tree-SHA512: abda23a9cf251553f90afe0ee1866de46ed579471f4139737239a4f9334ca817d985deac6336740898718775d1264c0b80cb348668b10a9cae970895f2de37b8
2017-09-05Merge #11164: Fix boost headers included as user instead of system headersWladimir J. van der Laan
5ac072caa Fix boost headers included as user instead of system headers (Dan Raviv) Pull request description: In most of the project, boost headers are included as system headers. Fix the few inconsistent places where they aren't. Tree-SHA512: 280af33a7bdc9d68a15b729fa88e1e7627e20a054b8d52a12cc5350c1ac9e9c90fb09f0aa97a00960969f75bcf3403dc52b834c94448b814efa63bfaf3b82663
2017-09-05Merge #11176: build: Rename --enable-experimental-asm to --enable-asm and ↵Wladimir J. van der Laan
enable by default 538cc0ca8 build: Mention use of asm in summary (Wladimir J. van der Laan) ce5381e7f build: Rename --enable-experimental-asm to --enable-asm and enable by default (Wladimir J. van der Laan) Pull request description: Now that 0.15 is branched off, enable assembler SHA256 optimizations by default, but still allow disabling them, for example if something goes wrong with auto-detection on a platform. Also add mention of the use of asm in the configure summary. Tree-SHA512: cd20c497f65edd6b1e8b2cc3dfe82be11fcf4777543c830ccdec6c10f25eab4576b0f2953f3957736d7e04deaa4efca777aa84b12bb1cecb40c258e86c120ec8
2017-09-05Merge #11179: rpc: Push down safe mode checksWladimir J. van der Laan
ec6902d0e rpc: Push down safe mode checks (Andrew Chow) Pull request description: This contains most of the changes of #10563 "remove safe mode" by @achow101, but doesn't remove the safe mode yet, but put an `ObserveSafeMode()` check in (all 23) individual calls which used to have okSafeMode=false. This cleans up the ugly "okSafeMode" flag from the dispatch tables, which is not a concern for the RPC server. Extra-author: Wladimir J. van der Laan <laanwj@gmail.com> Tree-SHA512: eee0f251fe2f38f122e7391e3c4e98d6a1e2757f3b718d6b560ad835ae94f11490865a0aef893e90b5fe298165932c8dd8298224173ac2677a5245cd532bac6e
2017-09-05Remove redundant testutil filesMeshCollider
2017-09-05Fix currency/fee-rate unit string in the help textAkio Nakamura
1. The RPC help text should use the constant CURRENCY_UNIT defined in policy/feerate.cpp instead of the literal 'BTC'. In the following 2 RPC commands, 'BTC' is written directly in the help text. 1) estimatesmartfee 2) estimaterawfee And also, for these help strings, the notation 'fee-per-kilobyte (in BTC)' is somewhat ambiguous. To write more precisely, this commit changes to 'fee rate in BTC/kB' with using the constant CURRENCY_UNIT. 2. Some RPC command use 'satoshis' as the unit. It should be written as 'satoshis' instead of 'Satoshis' in the RPC help text. So, this commit fixes this typo in getblocktemplate. 3. The phrase that '... feerate (BTC per KB) ...' is used to explain the fee rate in the help text of following 2 RPC commands. 1) getmempoolinfo 2) fundrawtransaction But they are different from other similar help text of the RPCs. And also, 'KB' implies Kibibyte (2^10 byte). To unify and to clarify, this commit changes these phrase to '... fee rate in BTC/kB ...'. (BTC references the constant 'CURRENCY_UNIT')
2017-09-04Merge #10701: Remove the virtual specifier for functions with the override ↵MarcoFalke
specifier 1bcd44223 Remove the virtual specifier for functions with the override specifier (practicalswift) Pull request description: Remove the `virtual` specifier for functions with the `override` specifier. `override` implies that the function is virtual (in addition - of course - to guaranteeing that the function is overriding a virtual function from a base class). Tree-SHA512: 2e83e1b3651f55f8f2645282114ab087ad3a0be8826f26ee5c2064d0952f677290b97261398c1d524ec7f87bbbfdbeefc141180f6099c8bbfa4c59a14f7fa755
2017-09-02Merge #11198: [Qt] Fix display of package name on 'open config file' tooltipMarcoFalke
14ccd4d8d [Qt] Fix display of package name on 'open config file' tooltip (Daniel Edgecumbe) Pull request description: This patch addresses https://github.com/bitcoin/bitcoin/issues/11197. Tree-SHA512: b826fa2eb69f2c8054d2e84614e067bb00d2176701992dadfea01c2ad63d29015acdb76c5b874f5f6bda52b1f05e3ccfa1b67a4ee2f1e0c26496d1ff1718f325
2017-09-02Update hmac_sha256.hUtsav Gupta
Fixed a typo
2017-08-31Fix include path for bitcoin-config.h in crypto/common.hdanra
All the other files in the repo which include bitcoin-config.h do so with the appropriate subfolder prefixed: config/bitcoin-config.h The header should be included with the appropriate subfolder here as well. This canonicalization also allows getting rid of a bit of extra configuration in Makefile.am.
2017-08-30[Qt] Fix display of package name on 'open config file' tooltipDaniel Edgecumbe
2017-08-30Merge #10777: [tests] Avoid redundant assignments. Remove unused variablesMarcoFalke
49eb0916d [tests] Avoid redundant assignments. Remove unused variables. (practicalswift) Pull request description: * Remove unused variables. * Avoid redundant assignments. Tree-SHA512: 74dd59680c785c601982a791648bc5d9b04e2b4509119e05f2e402b94998f5bbcbdea1f82d05e5f431fe06642e8db7c346fa8bc4c11f8cdcc554bc70d735534c
2017-08-29rpc: Push down safe mode checksAndrew Chow
This contains most of the changes of 10563 "remove safe mode", but doesn't remove the safe mode yet, but put an `ObserveSafeMode()` check in individual calls with okSafeMode=false. This cleans up the ugly "okSafeMode" flag from the dispatch tables, which is not a concern for the RPC server. Extra-author: Wladimir J. van der Laan <laanwj@gmail.com>
2017-08-28Merge #10859: RPC: gettxout: Slightly improve doc and testsMarcoFalke
6d2d2eb49 RPC: gettxout: Slightly improve doc and tests (Jorge Timón) Pull request description: Slightly related to https://github.com/bitcoin/bitcoin/pull/10822 in the sense that I felt the documentation and testing wasn't as good as it could be while writing it. Ping @sipa since we discussed this on IRC. Tree-SHA512: a0b3ffdac65245a0429e772fc2d8bcc1e829b02c70fb2af6ee0b7578cae46683f6c51a824b4d703d4dc3f99b6f03a658d6bbc818bf32981516f24124249a211d
2017-08-29RPC: gettxout: Slightly improve doc and testsJorge Timón
2017-08-28Merge #11144: Move local include to before system includesWladimir J. van der Laan
eefc2f3 Move local include to before system includes (danra) Pull request description: Prevents accidental missing includes and hidden dependencies in the local file. Tree-SHA512: 466b9dd53c596980fdbcccf1dfd8f34eb7ec5b32323ccb635e5705efcedc81af8fbe155ac57b9a2fc5c1f516489e940d1762b3508ded1fb54e187219bb9f75e6
2017-08-28Merge #10303: [bench] Include ms/blk stats in Connect* benchmarks.Wladimir J. van der Laan
a473eff [bench] Replace 0.00(000)1 with MICRO/MILLI #defines in validation.cpp. (Karl-Johan Alm) 5f850b0 [bench] Include ms/blk stats in Connect* benchmarks. (Karl-Johan Alm) Pull request description: Display the average per block runtime for the various benchmarked times in the block connect functions to give an overview of long(er) term time distribution statistics. Tree-SHA512: 3d6f24f6b9e3dbb448a647e2cda8e7b90ad6a16d4821f49f426a8e1ebc3ce5a0cf0a8cde82213e293affba441615702dfe50822c8c818e282af03bfe383d83e0
2017-08-28build: Rename --enable-experimental-asm to --enable-asm and enable by defaultWladimir J. van der Laan
Now that 0.15 is branched off, enable assembler SHA256 optimizations by default.
2017-08-28Merge #11126: Acquire cs_main lock before cs_wallet during wallet initializationWladimir J. van der Laan
de9a1db Acquire cs_main lock before cs_wallet during wallet initialization (Russell Yanofsky) Pull request description: `CWallet::MarkConflicted` may acquire the `cs_main` lock after `CWalletDB::LoadWallet` acquires the `cs_wallet` lock during wallet initialization. (`CWalletDB::LoadWallet` calls `ReadKeyValue` which calls `CWallet::LoadToWallet` which calls `CWallet::MarkConflicted`). This is the opposite order that `cs_main` and `cs_wallet` locks are acquired in the rest of the code, and so leads to `POTENTIAL DEADLOCK DETECTED` errors if bitcoin is built with `-DDEBUG_LOCKORDER`. This commit changes `CWallet::LoadWallet` (which calls `CWalletDB::LoadWallet`) to acquire both locks in the standard order. Error was reported by @luke-jr in https://botbot.me/freenode/bitcoin-core-dev/msg/90244330/ Tree-SHA512: 353fe21bc0a4a2828b41876897001a3c414d4b115ee7430925bd391d8bc396fca81661145d00996c1ba1a01516d9acf8b89fb5c3da27092f5f3aa7e37ef26ffa
2017-08-28Merge #11145: Fix rounding bug in calculation of minimum changeWladimir J. van der Laan
6af49dd Output a bit more information for fee calculation report. (Alex Morcos) a54c7b9 Fix rounding errors in calculation of minimum change size (Alex Morcos) Pull request description: Thanks to @juscamarena for reporting this. Please backport to 0.15. There was a potential rounding error where the fee for the change added to the fee for the original tx could be less than the fee for the tx including change. This is fixed in the first commit. The second commit adds one more snippet of information in the fee calculation report. I actually realized that there is more information that would be nice to report, but we can add that post 0.15. An open question is whether we should be returning failure if the test in line 2885 is hit or just resetting pick_new_inputs and continuing. Originally I made it a failure to avoid any possible infinite loops. But the case hit here is an example of where that logic possibly backfired. Tree-SHA512: efe049781acc1f6a8ad429a689359ac6f7b7c44cdfc9578a866dff4a2f6596e8de474a89d25c704f31ef4f8c89af770e98b75ef06c25419d5a6dfc87247bf274
2017-08-28Merge #11161: Remove redundant explicitly defined copy ctorsWladimir J. van der Laan
b426e24 Remove redundant explicitly defined copy ctors (Dan Raviv) Pull request description: CFeeRate and CTxMemPoolEntry have explicitly defined copy ctors which has the same functionality as the implicit default copy ctors which would have been generated otherwise. Besides being redundant, it violates the rule of three (see https://en.wikipedia.org/wiki/Rule_of_three_(C%2B%2B_programming) ). (Of course, the rule of three doesn't -really- cause a resource management issue here, but the reason for that is exactly that there is no need for an explicit copy ctor in the first place since no resources are being managed). Tree-SHA512: c9294ebf5d955d230b44c6f0d20822975d44a34471a717d656f8b17181bcd2827f47ba897edf5accd650f5998c58aadc8ab3c91a3f556f1f6de36830ed4069ce
2017-08-28Merge #11138: Compat: Simplify bswap_16 implementationWladimir J. van der Laan
e40fa98 Simplify bswap_16 implementation (danra) Pull request description: Simplify bswap_16 implementation on platforms which don't already have it defined. This has no effect on the generated assembly; it just simplifies the source code. Tree-SHA512: 1c6ac1d187a2751da75256d12b6b890160d15246dd2c2b6a56748ec43482e3a5a3323be2910f07b42d3dc243a568c7412c26eaa036efec764436e988abd1c3f1
2017-08-28Merge #11131: rpc: Write authcookie atomicallyWladimir J. van der Laan
82dd719 rpc: Write authcookie atomically (Wladimir J. van der Laan) Pull request description: Use POSIX rename atomicity at the `bitcoind` side to create a working cookie atomically: - Write `.cookie.tmp`, close file - Rename `.cookie.tmp` to `.cookie` This avoids clients reading invalid/partial cookies as in #11129. As such, this is an alternative to that PR. Tree-SHA512: 47fcc1ed2ff3d8fed4b7441e4939f29cc99b57b7a035673c3b55a124a2e49c8a904637a6ff700dd13a184be8c0255707d74781f8e626314916418954e2467e03
2017-08-28Merge #11169: [GUI] Make tabs toolbar no longer have a context menuWladimir J. van der Laan
e254830 Make tabs toolbar no longer have a context menu (Andrew Chow) Pull request description: Adds a contextMenuPolicy of Qt::PreventContextMenu to prevent the tabs toolbar from showing a context menu that allows it to be hidden. Fixes #11168 Tree-SHA512: 8900b3c1a891ead3c9a20dc365b436fa75f97dbe0dfa7e20ee26fd9d09f3fee6eda286b0c075ed89fe1361608ecbdd87c744e37d97a3fba62493a86dedda867b
2017-08-28Remove redundant explicitly defined copy ctorsDan Raviv
CFeeRate and CTxMemPoolEntry have explicitly defined copy ctors which has the same functionality as the implicit default copy ctors which would have been generated otherwise. Besides being redundant, it violates the rule of three (see https://en.wikipedia.org/wiki/Rule_of_three_(C%2B%2B_programming) ). (Of course, the rule of three doesn't -really- cause a resource management issue here, but the reason for that is exactly that there is no need for an explicit copy ctor in the first place since no resources are being managed). CFeeRate has an explicitly defined copy ctor which has the same functionality as the implicit default copy ctor which would h ave been generated otherwise.
2017-08-27Merge #11160: Improve versionbits_computeblockversion test code consistencyMarcoFalke
946638d0a Improve versionbits_computeblockversion test code consistency (danra) Pull request description: In this test, `nTime` is used for all the calls to `Mine()`, each time being set to the correct time beforehand, except for in the last few calls to `Mine()` where `nStartTime` is used directly, even though `nTime` is still set to `nStartTime` beforehand. `nTime` just remains unused for these last few calls to `Mine()`. Changed the last few calls to `Mine()` to use `nTime` instead, improving consistency. This also fixes an unused value static analyzer warning about `nTime` being set to a value which is never used. Tree-SHA512: f17cf1d29fd7097d53c0135d6357ee50943bd81b5ce0be785a37b85d34b5127cd6cc17ef844b519e19c33f2d96f7ababee643b9fba7afb031f444b2cfaeedbfd
2017-08-27Merge #11155: Trivial: Documentation fixes for CVectorWriter ctorsMarcoFalke
37c4362f2 Trivial: Documentation fixes for CVectorWriter ctors (danra) Pull request description: Tree-SHA512: 13aef27f6b38dc276db6616d13e243a5413acf3a3ece5a52578c07b97a5bc9da337e7e230fcdb91727ec88b199844fd9aa3a88e7d96c911c119c91070a892ba1
2017-08-28Improve versionbits_computeblockversion test code consistencydanra
In this test, `nTime` is used for all the calls to `Mine()`, each time being set to the correct time beforehand, except for in the last few calls to `Mine()` where `nStartTime` is used directly, even though `nTime` is still set to `nStartTime` beforehand. `nTime` just remains unused for these last few calls to `Mine()`. Changed the last few calls to `Mine()` to use `nTime` instead, improving consistency. This also fixes an unused value static analyzer warning about `nTime` being set to a value which is never used.
2017-08-27Make tabs toolbar no longer have a context menuAndrew Chow
Adds a contextMenuPolicy of Qt::PreventContextMenu to prevent the tabs toolbar from showing a context menu that allows it to be hidden.
2017-08-26Fix boost headers included as user instead of system headersDan Raviv
In most of the project, boost headers are included as system headers. Fix the few inconsistent places where they aren't.
2017-08-26Merge #11151: Fix header guards using reserved identifiersWladimir J. van der Laan
bc70ab5 Fix header guards using reserved identifiers (Dan Raviv) Pull request description: Identifiers beginning with an underscore followed immediately by an uppercase letter are reserved. Tree-SHA512: 32b45e0aef6f6325bc3cbdea399532437490b753621149374df27e1c1eed6739ad1a09ae368e888cab8d01fb757f1b190c45a0854d2861de39a9296f17e29d9e
2017-08-26Trivial: Documentation fixes for CVectorWriter ctorsdanra
2017-08-26Fix header guards using reserved identifiersDan Raviv
Identifiers beginning with an underscore followed immediately by an uppercase letter are reserved.
2017-08-25Output a bit more information for fee calculation report.Alex Morcos
2017-08-25Fix rounding errors in calculation of minimum change sizeAlex Morcos
2017-08-25Merge #10976: [MOVEONLY] Move some static functions out of wallet.h/cppWladimir J. van der Laan
f01103c MOVEONLY: Init functions wallet/wallet.cpp -> wallet/init.cpp (Russell Yanofsky) e7fe320 MOVEONLY: Fee functions wallet/wallet.cpp -> wallet/fees.cpp (Russell Yanofsky) d97fe20 Move some static functions out of wallet.h/cpp (Russell Yanofsky) Pull request description: This just moves some static wallet fee and init functions out of `wallet/wallet.cpp` and into new `wallet/fees.cpp` and `wallet/init.cpp` source files. There is one commit updating declarations and callers, followed by two MOVEONLY commits actually moving the function bodies. This change is desirable because wallet.h/cpp are monolithic and hard to navigate, so pulling things out and grouping together pieces of related functionality should improve the organization. Another motivation is the wallet process separation work in https://github.com/bitcoin/bitcoin/pull/10973, where (at least initially) parameter parsing and fee estimation are still done in the main process rather than the wallet process, and having functions that run in different processes scrambled up throughout wallet.cpp is unnecessarily confusing. Tree-SHA512: 6e6982ff82b2ab4e681c043907e2b1801ceb9513394730070f16c46ad338278a863f5b3759aa13db76a259b268b1c919c81f4e339f0796a3cfb990161e8c316d
2017-08-25Move local include to before system includesdanra
Prevents accidental missing includes and hidden dependencies in the local file.
2017-08-25Simplify bswap_16 implementationdanra
Simplify bswap_16 implementation on platforms which don't already have it defined. This has no effect on the generated assembly; it just simplifies the source code.
2017-08-25rpc: Write authcookie atomicallyWladimir J. van der Laan
Use POSIX rename atomicity at the `bitcoind` side to create a working cookie atomically: - Write `.cookie.tmp`, close file - Rename `.cookie.tmp` to `.cookie` This avoids clients reading invalid/partial cookies as in #11129.
2017-08-24Merge #11112: [developer-notes] By default, declare single-argument ↵MarcoFalke
constructors "explicit" f1708ef89 Add recommendation: By default, declare single-argument constructors `explicit` (practicalswift) Pull request description: This is a follow-up to the now merged #10969. Add recommendation: > By default, declare single-argument constructors `explicit`. > > - *Rationale*: This is a precaution to avoid unintended conversions that might arise when single-argument constructors are used as implicit conversion functions. > Tree-SHA512: 1ceb1008a7863ebd0f09ba9c06b4e28b3b03265d7381f9d0c8bd4be1663d5d0392de0ecd811027aa27c0d962723674b245b3c165a437942a776f3525db39d36b
2017-08-24Merge #11108: Changing -txindex requires -reindex, not -reindex-chainstateMarcoFalke
cd0ea4874 Changing -txindex requires -reindex, not -reindex-chainstate (Matt Corallo) Pull request description: If there's an 0.15.0rc3, this should go in it. Tree-SHA512: 857e77f0af9c055a3d1d91f37474ee9e06d6bc8c5ed21b29201b6c386801e7041523949076cdf0daa4d357a5175ce49394d85a1bedfbf13f3e577bdb6da1d6ce
2017-08-24Acquire cs_main lock before cs_wallet during wallet initializationRussell Yanofsky
CWallet::MarkConflicted may acquire the cs_main lock after CWalletDB::LoadWallet acquires the cs_wallet lock during wallet initialization. (CWalletDB::LoadWallet calls ReadKeyValue which calls CWallet::LoadToWallet which calls CWallet::MarkConflicted). This is the opposite order that cs_main and cs_wallet locks are acquired in the rest of the code, and so leads to POTENTIAL DEADLOCK DETECTED errors if bitcoin is built with -DDEBUG_LOCKORDER. This commit changes CWallet::LoadWallet (which calls CWalletDB::LoadWallet) to acquire both locks in the standard order. It also fixes some tests that were acquiring wallet and main locks out of order and failed with the new locking in CWallet::LoadWallet. Error was reported by Luke Dashjr <luke-jr@utopios.org> in https://botbot.me/freenode/bitcoin-core-dev/msg/90244330/
2017-08-23Add option -stdinrpcpass to allow RPC password to be read from standard inputJoe Harvell
2017-08-23Merge #10679: Document the non-DER-conformance of one test in tx_valid.json.Wladimir J. van der Laan
ecb11f5 Document the non-strict-DER-conformance of one test in tx_valid.json. (Andreas Schildbach) Tree-SHA512: 4d5ba4645fbfe8fe3f1baaa5f1a1152cdd2cbf3d901f38d8e7fbd56b16caa6a8a17f2a48c74fb725ce454dd1c870b81b2238e89d0639fcd4eee858554726e996
2017-08-23Document the non-strict-DER-conformance of one test in tx_valid.json.Andreas Schildbach
In a signature, it contains an ASN1 integer which isn't strict-DER conformant due to excessive 0xff padding: 0xffda47bfc776bcd269da4832626ac332adfca6dd835e8ecd83cd1ebe7d709b0e
2017-08-22Add recommendation: By default, declare single-argument constructors `explicit`practicalswift