Commit graph

18395 commits

Author SHA1 Message Date
Ben Woosley da74db0940
Drop unused GetType() from CSizeComputer 2018-09-11 00:58:05 -04:00
MarcoFalke fac9539836
qa: Run all tests even if wallet is not compiled 2018-09-10 17:53:21 -04:00
MarcoFalke faa669cbcd
qa: Premine to deterministic address with -disablewallet 2018-09-10 17:51:46 -04:00
Chun Kuan Lee e221368932 utils: Convert fs error messages from multibyte to utf-8 2018-09-11 03:11:39 +08:00
John Newbery 7d038dcb41 [build] remove ENABLE_WALLET ifdef from httprpc.cpp 2018-09-10 14:27:32 -04:00
MarcoFalke eb2f1bd276
Merge #14189: qa: Fix silent merge conflict in wallet_importmulti
fa263bcfe4 qa: Fix silent merge conflict in wallet_importmulti (MarcoFalke)

Pull request description:

  Fixup to 13c842e

Tree-SHA512: 622616d5259cc639f6a8709c80c1f21abb8b21470412cbe3904c5e63c3c3b55a4472a37d7ae579a7f1d1af10bccb8a187dd9957d00975d10854047f7650bde76
2018-09-10 14:04:33 -04:00
MarcoFalke fa263bcfe4
qa: Fix silent merge conflict in wallet_importmulti 2018-09-10 13:08:06 -04:00
Wladimir J. van der Laan 13c842e028
Merge #9332: Let wallet importmulti RPC accept labels for standard scriptPubKeys
98ea64cf23 Let wallet importmulti RPC accept labels for standard scriptPubKeys (Russell Yanofsky)

Pull request description:

  Allow importmulti RPC to apply address labels when importing standard scriptPubKeys. This makes the importmulti RPC less finnicky about import formats and also simpler internally.

Tree-SHA512: 102426b21239f1fa5f38162dc3f4145572caef76e63906afd786b7aff1670d6cd93456f8d85f737588eedc49c11bef2e1e8019b8b2cbf6097c77b3501b0cab1f
2018-09-10 19:02:44 +02:00
Wladimir J. van der Laan e0a4f9de7f
Merge #13793: tx pool: Use class methods to hide raw map iterator impl details
faa1a74942 tx pool: Use class methods to hide raw map iterator impl details (MarcoFalke)

Pull request description:

  ATMP et al would often use map iterator implementation details such as `end()` or `find()`, which is acceptable in current code.

  However, this not only makes it impossible to turn the maps into private members in the future but also makes it harder to replace the maps with different data structures.

  This is required for and split off of #13804

Tree-SHA512: 4f9017fd1d98d9df49d25bba92655a4a97755eea161fd1cbb565ceb81bbc2b4924129d214f8a29563a77e3d8eef85a67c81245ecdc9a9e5292d419922a93cb88
2018-09-10 18:32:00 +02:00
Wladimir J. van der Laan 838b85e120
Merge #14008: Preserve a format of RPC command definitions
d9d79576f4 Preserve a format of RPC command definitions (Kostiantyn Stepaniuk)

Pull request description:

  Currently, RPC commands are formatted in a way that it's easy to read
  and that `test/lint/check-rpc-mappings.py` can parse it.

  To void breaking `test/lint/check-rpc-mappings.py` script by running
  `clang-format`, RPC command definitions should be disabled for clang-format.

Tree-SHA512: e17d20ec0e6c4e19410198b55687ebbe6fa01654d214d4578cd16c00b872bf8b0b306594a45523685cd2e9d9280702e00471d9366e87954428e8bbeacd8cad60
2018-09-10 18:14:05 +02:00
Wladimir J. van der Laan 7c7bb6e772
Merge #14127: build: avoid getifaddrs when unavailable
9256f7d13f build: avoid getifaddrs when unavailable (Cory Fields)

Pull request description:

  These changes from @theuni help building when targeting platforms that don't always have getifaddrs available like Android < 24

Tree-SHA512: dbfeb83297bd6f00b7991f53eef8a04948d2d739bf47c0524d9ae5335b843b8a5c06ff98c109fe5e6192665e6d0cf58700b8aa7e2a0b410281d3c052881973ff
2018-09-10 18:08:05 +02:00
Wladimir J. van der Laan 6eeac2e628
Merge #14138: wallet: Set encrypted_batch to nullptr after delete. Avoid double free in the case of NDEBUG.
fa462b3657 wallet: Set encrypted_batch to nullptr after delete. Avoid double free in the case of NDEBUG. (practicalswift)

Pull request description:

  Set `encrypted_batch` to `nullptr` after delete. Avoid double free in the case of `NDEBUG`.

Tree-SHA512: 6f5ab40c82dd8c8713bbf1aacacdc837277c04769807f985248546be1c7ea269813c95379fbef982ac5683a45af0225613460a7446c39673b033f5f5edde2f5a
2018-09-10 17:59:15 +02:00
Wladimir J. van der Laan 321075609d
Merge #14054: p2p: Disable BIP 61 by default
faea5bfc5a doc: release notes for -enablebip61 default change (MarcoFalke)
fa14b54a87 p2p: Disable BIP 61 by default (MarcoFalke)

Pull request description:

  The live p2p network should not be used for debugging or as development aid when implementing the p2p protocol. Instead, applications should be tested locally (e.g. by inspecting the debug log of a validating node on the local network)

  Using the p2p network for this purpose seems wasteful and even dangerous, as peers can not be trusted to send the correct reject messages or a reject message at all.

Tree-SHA512: 9c91ad035b5110942172a3b4b8a332a84e0c0aa9ee80f8134aeab63e66ac604841e68b04038681c288b716e5e0cbe38065eb5c7eb63fa72c3bdb3255a4b2d99d
2018-09-10 17:57:47 +02:00
Wladimir J. van der Laan e5eb8ba564
Merge #14183: depends: Remove unused Qt 4 dependencies
7177e093f9 depends: Remove unused Qt 4 dependencies (Chun Kuan Lee)

Pull request description:

  Remove 2 unused Qt 4 dependencies: libSM and libICE since #5819

Tree-SHA512: 5d78dc1c14f38a65e70e04bbdf66cc9f357c1c36d37222e709172246be0ef275fd8ae314b176e5daa00f15a82edf4864bfccdd581cb4850b5cf725f8cdfd4ae3
2018-09-10 17:54:18 +02:00
MarcoFalke 793d2b7430
Merge #14164: Update univalue subtree
dc287c98f8 Squashed 'src/univalue/' changes from 51d3ab34ba..7890db99d6 (MarcoFalke)

Pull request description:

  This removes the deprecated `std::pair` wrappers from univalue, so that they are not accidentally re-introduced in our code base.

Tree-SHA512: 46f6f7c7c7942a9e131d971c425cbde4159abcc1214235b61139ce97b174024e47b9c52e832cde89fbab9879f43d12c26b64d6def9907bd47883f1e574cf2e2e
2018-09-10 11:00:46 -04:00
Wladimir J. van der Laan fbfa2e46ff
Merge #14057: [Logging] Only log "Using config file PATH_TO_bitcoin.conf" message on startup if conf file exists
946107a68f Only log "Using PATH_TO_bitcoin.conf" message on startup if conf file exists. (Alexander Leishman)

Pull request description:

  Currently we log a message indicating that a bitcoin.conf file is being used even if one does not exist. This PR changes the logic to:

  **If config file does not exist and no -conf flag passed, log:**
  `Config file: FILE_PATH (not found, skipping)`. Where `FILE_PATH` is the default or the path passed in with the `-conf` flag.

  **If config file does not exist and -conf flag passed with incorrect path, log warning:**
  `Warning: The specified config file FILE_PATH does not exist`

  **If config file exists, log**:
  `Config file: FILE_PATH`

  Note: This is a (modified) subset of changes introduced in https://github.com/bitcoin/bitcoin/pull/13761 which creates a default example config file. I think it makes sense to extract this small bit out into a separate PR.

Tree-SHA512: be0f0ae6a0c9041e2d6acb54d2563bbcc79786fb2f8bf9a963fe01bc54cd4e388b89079fde1eb79f7f17099776428e5e984bf7107590a3d1ecfc0562dbc6e3f5
2018-09-10 15:39:05 +02:00
MarcoFalke ae251fa2aa
Merge #14186: bitcoin-cli: don't translate command line options
bc8aa2ba78 don't translate command line options (Michael Polzer)

Pull request description:

  sneaked in with 4f8704d57f #13112

Tree-SHA512: 90489e7f4eb689d205c0b5e2f8d673e8283f2f0a855c9cb3909b8cb1cfd6b4b18b4643624c0e4f21ba03a15f2ed70dca186fd11cce2d57841424964b13b390c2
2018-09-10 08:48:08 -04:00
Michael Polzer bc8aa2ba78
don't translate command line options 2018-09-10 13:08:25 +02:00
Chun Kuan Lee 7177e093f9 depends: Remove unused Qt 4 dependencies 2018-09-10 10:49:35 +08:00
MarcoFalke faea5bfc5a
doc: release notes for -enablebip61 default change 2018-09-09 13:54:18 -04:00
Emanuele Cisbani e7a72455fa Scripts and tools: increased timeout downloading
DOWNLOAD_CONNECT_TIMEOUT changed from 10 to 30 because some file start only after 15 sec (see below).

Fetching boost_1_64_0.tar.bz2 from https://dl.bintray.com/boostorg/release/1.64.0/source/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:15 --:--:--     0
100 76.7M  100 76.7M    0     0  1863k      0  0:00:42  0:00:42 --:--:-- 8136k
/home/gitianuser/bitcoin/depends/work/download/boost-1_64_0/boost_1_64_0.tar.bz2.temp: OK
2018-09-09 18:31:09 +02:00
Wladimir J. van der Laan cb25cd6aa1
Merge #14119: qa: Read reject reasons from debug log, not p2p messages
fac3e22b18 qa: Read reject reasons from debug log, not p2p messages (MarcoFalke)

Pull request description:

  For local testing we don't need to rely on p2p messages just to assert a reject reason.

  Replace reading p2p messages with reading from the debug log file.

Tree-SHA512: fa59598ecf5e00cfb420ef1892d90aa415501fd882e1c608894dc577b0d00e93a442326d3a9167fef77d26aafbe345b730b49109982ccad68a5942384564a90b
2018-09-08 07:09:07 +02:00
Wladimir J. van der Laan eea87ef537
Merge #12775: Integration of property based testing into Bitcoin Core
b2f49bd732 Integration of property based testing into Bitcoin Core (Chris Stewart)

Pull request description:

  This PR is a subset of the changes in #8469. It's meant to be easier to review. This PR contains all of the build instructions needed for travis to pass. It includes one property call `key_properties.cpp` along with a generator file called `crypto_gen.{h,cpp}`.

Tree-SHA512: 895c9d9273dcd29f696b1de8dfe1ee843095831bf1f68472844181278850bec36b20f0ba7e51e796112c5cc75cd24759f9f1771906503bbf3af16f627e18c6c9
2018-09-08 05:33:16 +02:00
John Newbery 3076556cd0 [build] Move dummy wallet into its own .cpp file.
Removes the ifdef ENABLE_WALLET from init.cpp.
2018-09-07 16:08:40 -04:00
MarcoFalke fb06eb4ef7
Merge #13662: Explain when reindex-chainstate can be used instead of reindex
65a449f8e3 Explain when reindex-chainstate can be used instead of reindex (Sjors Provoost)

Pull request description:

  Save users from having to Google this: https://bitcoin.stackexchange.com/a/60711

Tree-SHA512: 3128565d037c77265a2ecf3bce137b8d27740f513802a4e683be06f21a75b82ee6cc22eb903181c4f438a2990cb682ce1d076f4d3af33d5aaa79b783a9f664b1
2018-09-07 14:21:38 -04:00
MarcoFalke faa1a74942
tx pool: Use class methods to hide raw map iterator impl details 2018-09-07 13:04:02 -04:00
MarcoFalke b8cf492e85
Merge #14153: Docs: Add disable-wallet section to OSX build instructions, update line in Unix instructions
e351a16a2a Remove reference to deprecated RPC call in build instructions (Michael Goldstein)
a6f16f1b1a Docs: Add disable-wallet section to OSX build instructions (Michael Goldstein)

Pull request description:

  The `disable-wallet` section was mentioned in the `Berkeley DB` section of the OSX build instructions, but the section did not actually exist. This PR ports the section from the Unix build instructions.

Tree-SHA512: e32f10f3b92307325f2101e89d3e18c89346916e70117c208ad7441170c4aee65b636ea4f7dd1cb0ecf0e800c1aa7c37fa73125e69ecdd539bc862e651b79b16
2018-09-07 08:24:21 -04:00
MarcoFalke faad55a9a2
Update univalue subtree 2018-09-07 08:21:14 -04:00
MarcoFalke dc287c98f8 Squashed 'src/univalue/' changes from 51d3ab34ba..7890db99d6
7890db99d6 Merge #11: Remove deprecated std pair wrappers
40e34852ac Merge #14: Cleaned up namespace imports to reduce symbol collisions
85052a4819 Remove deprecated std::pair wrappers
d208f986dd Cleaned up namespace imports to reduce symbol collisions

git-subtree-dir: src/univalue
git-subtree-split: 7890db99d693572d27ade3e14268bd7236134529
2018-09-07 08:20:26 -04:00
MarcoFalke fa14b54a87
p2p: Disable BIP 61 by default 2018-09-07 08:11:27 -04:00
MarcoFalke 4799b0932a
Merge #12490: [Wallet] [RPC] Remove deprecated wallet rpc features from bitcoin_server
f7e9e70468 [rpc] Remove deprecated sigrawtransaction rpc method. (John Newbery)
90c834089a [RPC] Remove warning about wallet addresses in createmultisig() (John Newbery)
df905e390e [rpc] Remove deprecated validateaddress usage. (John Newbery)

Pull request description:

  The following rpc features were deprecated in V0.17:

  - `validateaddress` returning wallet information about an address
  - `signrawtransaction`

  This PR fully removes those features. It can be merged once V0.17 has been branched from master.

Tree-SHA512: 28293d218cf7e348632081e362f8775f243d091f49aed54c354f017d4a12ae92b87b99f81ee592a1bbf4aebd5d8cd5119278141edde7a0399ff82917ed68b9f6
2018-09-06 23:01:50 -04:00
MarcoFalke fa7e9694e1
qt: Also log and print messages or questions like bitcoind 2018-09-06 15:19:56 -04:00
MarcoFalke dd031e3839 noui: Move handlers to header file 2018-09-06 15:00:01 -04:00
Wladimir J. van der Laan 2f7ae35ce8
Merge #14149: doc: Remove misleading checkpoints comment in CMainParams
fab5267514 doxygen: Remove misleading checkpoints comment in CMainParams (MarcoFalke)

Pull request description:

  This removes the checkpoints comment because it is misleading for two reasons:

  * It shows up in the doxygen documentation of `CMainParams` https://dev.visucore.com/bitcoin/doxygen/class_c_main_params.html
  * The comment refers to "strange transactions" in a block, which are not specified further. Transactions in blocks are always consensus-valid or rejected as consensus-invalid.

  Also sort the includes with `clang-format`, as the file is touched anyway.

Tree-SHA512: b75f38dd0422b9310218307cbaa4dd5afa7579612d7dcdf781b8f25626f79c11e090dbcc83a05571f4418220c1a005f6254a9c461534d517ccecf7f1920be6be
2018-09-06 15:55:13 +02:00
Wladimir J. van der Laan 35d7d9471f
Merge #14096: Add reference documentation for descriptors language
2b5d6f8df2 Replace duplcate reference with reference to reference doc (Pieter Wuille)
89709db7a2 Adjust TODO link (Pieter Wuille)
9254ffcf2d Add descriptor reference documentation (Pieter Wuille)

Pull request description:

Tree-SHA512: 1ca0d537f9bcbb23266e9a4a02a60013ef8309958fb701f638283887585b5ddea6bc9dab859454ec3a373b1a12a4fd69836e7030417bb2ca43fef26b104c0d65
2018-09-06 14:51:07 +02:00
Wladimir J. van der Laan a6aca8dc2f
Merge #14105: util: Report parse errors in configuration file
ed2332aeff test: Add test for config file parsing errors (MarcoFalke)
a66c0f78a9 util: Report parse errors in configuration file (Wladimir J. van der Laan)

Pull request description:

  Report errors while parsing the configuration file, instead of silently ignoring them.

      $ src/bitcoind -regtest
      Error reading configuration file: parse error on line 22: nodebuglogfile, if you intended to specify a negated option, use nodebuglogfile=1 instead
      $ src/bitcoind -regtest
      Error reading configuration file: parse error on line 22: sdafsdfafs
      $ src/bitcoind -regtest
      Error reading configuration file: parse error on line 24: -nodebuglogfile=1, options in the configuration file must be specified without leading -

  (inspired by https://github.com/bitcoin/bitcoin/pull/14100#issuecomment-417264823)

Tree-SHA512: d516342b65db2969edf200390994bbbda23654c648f85dcc99f9f2d217d3d59a72e0f58227be7b4746529dcfa54ba26d8188ba9f14a57c9ab00015d7283fade2
2018-09-06 12:56:10 +02:00
MarcoFalke ed2332aeff test: Add test for config file parsing errors 2018-09-06 11:29:40 +02:00
MarcoFalke adf27b531a
Merge #13954: Warn (don't fail!) on spelling errors. Fix typos reported by codespell.
f8a81f73ac lint: Add spell check linter (codespell) (practicalswift)
ada356208e Fix typos reported by codespell (practicalswift)

Pull request description:

  * Check for common misspellings using `codespell`.
  * Fix recently introduced typos reported by `codespell`.

Tree-SHA512: 9974c0e640b411c7d0ebc5b45de253c19bac7fe3002cd98601ff8da8db584224c2fd7d331aee3df612c9f2cfef540d647a9b4c5a1a73fd208dc93ce4bf9e5e3e
2018-09-05 18:13:05 -04:00
Michael Goldstein e351a16a2a Remove reference to deprecated RPC call in build instructions 2018-09-05 14:21:18 -05:00
Michael Goldstein a6f16f1b1a Docs: Add disable-wallet section to OSX build instructions 2018-09-05 13:57:47 -05:00
MarcoFalke 95d731d9b3
Merge #14100: doc: Change documentation for =0 for non-boolean options
e9a78e9b3b doc: Change documentation for =0 for non-boolean options (Wladimir J. van der Laan)

Pull request description:

  PR #12713 changed the interpretation for negation of non-boolean options (e.g. -noconnect) to no longer set the option to `0`, but to remove it from the options.

  I think this is better because it gets rid of the special meaning of `'0'`.

  However it needs to be documented. I attempt to do so in this PR.
  Addresses #14064.

  There might be options I missed, please help check:
  - `-connect`
  - `-proxy`
  - `-onion`
  - `-debug`
  - `-debuglogfile`

  Needs a manpage update.

Tree-SHA512: a69e63e04a6c8bf6f61a58ddc0f5ebd4b9af7a2e0ea5174e668f2e3edd31a541910a125605ca4bfccf3aca6e59267d98a66de9d1e73650f48c8a1828d315d35d
2018-09-05 14:35:18 -04:00
Pieter Wuille 2b5d6f8df2 Replace duplcate reference with reference to reference doc 2018-09-05 11:27:43 -07:00
Pieter Wuille 89709db7a2 Adjust TODO link 2018-09-05 11:26:16 -07:00
Pieter Wuille 9254ffcf2d Add descriptor reference documentation 2018-09-05 11:26:16 -07:00
MarcoFalke 97ccd2b84e
Merge #14115: lint: Make all linters work under the default macOS dev environment (build-osx.md)
341f7c7b0e macOS fix: Check for correct version of flake8 to avoid spurious warnings. The brew installed flake8 version is Python 2 based and does not work. (practicalswift)
908a559f33 macOS fix: Add excludes for checks added in the newer shellcheck version installed by brew (practicalswift)
ec4d57bbb3 macOS fix: Work around empty (sub)expression error when using BSD grep (practicalswift)
b57d7d92fe macOS fix: Avoid mapfile due to ancient version of bash shipped with macOS (practicalswift)

Pull request description:

  The linters are thoroughly tested under Ubuntu which is what we use in Travis. When reading #14041 I understood that some developers were experiencing problems when running the linters on their local machines.

  Assuming these local machines were running macOS I installed a fresh macOS VM, followed the instructions in `build-osx.md` and ran the linters.

  This PR contains the changes needed to make `lint-all.sh` run as expected.

  Ideally the linters would continuously run also under a Travis macOS environment to make sure we catch these kind of issues before merge.

Tree-SHA512: b39c9a970d14d27db1fb592539923c0bc676b5217f415d02fda3f17bf54d46faa172376e8a3ecab07ca68a3acba9aebe00b2b1b2161b2a36b85fbb672e7efb5c
2018-09-05 09:23:52 -04:00
Wladimir J. van der Laan e9a78e9b3b doc: Change documentation for =0 for non-boolean options
PR #12713 changed the interpretation for negation of non-boolean options
(e.g. -noconnect) to no longer set the option to 0, but to remove it
from the options.

I think this is better because it gets rid of the special meaning of
'0'.

However it needs to be documented. I attempt to do so in this PR.
Addreses #14064.
2018-09-05 14:18:23 +02:00
MarcoFalke c39fa34bfd
Merge #14086: appveyor: Use clcache to speed up build
e4a79b4b3a appveyor: Use clcache to speed up build (Chun Kuan Lee)

Pull request description:

  https://ci.appveyor.com/project/ken2812221/bitcoin/build/patch-4.407

  The build time reduced from 18 mins to 7 mins.

  - clcache is a third-party software, act much like ccache. (Compile-time cache)
  - `*.iobj` and `*.ipdb` is a MSVC built-in cache. (Link-time cache)

Tree-SHA512: b2f61730e23b85f36022f9088370dd50e0413b0dbb14e73e4e349165e3b4622508328d3e457b7f416fb2c42325c863243aeb92c7edf3af41482d8f8c9e239045
2018-09-04 16:00:03 -04:00
MarcoFalke fab5267514
doxygen: Remove misleading checkpoints comment in CMainParams 2018-09-04 13:42:42 -04:00
Wladimir J. van der Laan 5c24d3b98c
Merge #13249: Make objects in range declarations immutable by default. Avoid unnecessary copying of objects in range declarations.
f34c8c466a Make objects in range declarations immutable by default. Avoid unnecessary copying of objects in range declarations. (practicalswift)

Pull request description:

  Make objects in range declarations immutable by default.

  Rationale:
  * Immutable objects are easier to reason about.
  * Prevents accidental or hard-to-notice change of value.

Tree-SHA512: cad69d35f0cf8a938b848e65dd537c621d96fe3369be306b65ef0cd1baf6cc0a9f28bc230e1e383d810c555a6743d08cb6b2b0bd51856d4611f537a12e5abb8b
2018-09-04 15:50:08 +02:00
Wladimir J. van der Laan bdfeb5dfa8
Merge #14133: gui: Favor macOS show / hide action in dock menu
ee3a494f37 gui: Favor macOS show / hide action in dock menu (João Barbosa)

Pull request description:

  Before:

  <img width="188" alt="screen shot 2018-09-02 at 19 10 02" src="https://user-images.githubusercontent.com/3534524/44959393-5a44c400-aee5-11e8-90f4-9a30f67f7ee2.png">

  After:

  <img width="200" alt="screen shot 2018-09-02 at 19 19 01" src="https://user-images.githubusercontent.com/3534524/44959395-60d33b80-aee5-11e8-9773-1d04d3482115.png">

  Note that macOS toggles between `Hide` and `Show`.

Tree-SHA512: e616fabc5a4689355d924cb99ce33c0d4c6618e858002cef7521dc4783346ff882341cf8d7f667d7fb920a8337373eff37169cddc2da93e48f7710e5c41d0b93
2018-09-04 14:07:45 +02:00