Commit graph

21481 commits

Author SHA1 Message Date
fanquake
6e4f655391
Merge #16984: util: Make thread names shorter
386ae0f691 util: Make thread names shorter (Hennadii Stepanov)

Pull request description:

  Thread names at the process level are limited by 15 characters:
  6b2210f101/src/util/threadnames.cpp (L28-L29)

  This commit ensures that name `b-httpworker.42` will not be truncated.

  On master (6b2210f101):
  ```bash
  hebasto@redcat:~$ ps -T -p $(cat /home/hebasto/.bitcoin/testnet3/bitcoind.pid)
    PID  SPID TTY          TIME CMD
  32647 32647 pts/6    00:00:00 bitcoin-main
  32647 32648 pts/6    00:00:00 QXcbEventReader
  32647 32649 pts/6    00:00:00 bitcoin:disk$0
  32647 32650 pts/6    00:00:00 QDBusConnection
  32647 32651 pts/6    00:00:00 gmain
  32647 32652 pts/6    00:00:00 gdbus
  32647 32653 pts/6    00:00:07 bitcoin-qt-init
  32647 32656 pts/6    00:00:00 bitcoin-scriptc
  32647 32657 pts/6    00:00:00 bitcoin-scriptc
  32647 32658 pts/6    00:00:00 bitcoin-scriptc
  32647 32659 pts/6    00:00:00 bitcoin-schedul
  32647 32660 pts/6    00:00:00 bitcoin-http
  32647 32661 pts/6    00:00:00 bitcoin-httpwor
  32647 32662 pts/6    00:00:00 bitcoin-httpwor
  32647 32663 pts/6    00:00:00 bitcoin-httpwor
  32647 32664 pts/6    00:00:00 bitcoin-httpwor
  32647 32665 pts/6    00:00:00 bitcoin-qt-init
  32647 32668 pts/6    00:00:00 bitcoin-torcont
  32647 32669 pts/6    00:00:00 bitcoin-upnp
  32647 32670 pts/6    00:00:00 bitcoin-net
  32647 32671 pts/6    00:00:00 bitcoin-dnsseed
  32647 32672 pts/6    00:00:00 bitcoin-addcon
  32647 32673 pts/6    00:00:00 bitcoin-opencon
  32647 32674 pts/6    00:00:00 bitcoin-msghand
  32647 32675 pts/6    00:00:00 QThread
  32647 32676 pts/6    00:00:00 QThread
  ```

  With this PR:
  ```bash
  hebasto@redcat:~$ ps -T -p $(cat /home/hebasto/.bitcoin/testnet3/bitcoind.pid)
    PID  SPID TTY          TIME CMD
  25664 25664 pts/0    00:00:00 b-main
  25664 25665 pts/0    00:00:00 QXcbEventReader
  25664 25666 pts/0    00:00:00 bitcoin:disk$0
  25664 25667 pts/0    00:00:00 QDBusConnection
  25664 25668 pts/0    00:00:00 gmain
  25664 25669 pts/0    00:00:00 gdbus
  25664 25670 pts/0    00:00:07 b-qt-init
  25664 25671 pts/0    00:00:00 b-scriptch.0
  25664 25672 pts/0    00:00:00 b-scriptch.1
  25664 25673 pts/0    00:00:00 b-scriptch.2
  25664 25674 pts/0    00:00:00 b-scheduler
  25664 25675 pts/0    00:00:00 b-http
  25664 25676 pts/0    00:00:00 b-httpworker.0
  25664 25677 pts/0    00:00:00 b-httpworker.1
  25664 25678 pts/0    00:00:00 b-httpworker.2
  25664 25679 pts/0    00:00:00 b-httpworker.3
  25664 25680 pts/0    00:00:00 b-qt-init
  25664 25682 pts/0    00:00:00 b-torcontrol
  25664 25683 pts/0    00:00:00 b-upnp
  25664 25684 pts/0    00:00:00 b-net
  25664 25685 pts/0    00:00:00 b-dnsseed
  25664 25686 pts/0    00:00:00 b-addcon
  25664 25687 pts/0    00:00:00 b-opencon
  25664 25688 pts/0    00:00:01 b-msghand
  25664 25689 pts/0    00:00:00 QThread
  25664 25690 pts/0    00:00:00 QThread
  ```

ACKs for top commit:
  MarcoFalke:
    ACK 386ae0f691 (skimmed the diff on GitHub)
  practicalswift:
    ACK 386ae0f691 -- diff looks correct
  fanquake:
    ACK 386ae0f691 - quickly tested on a Debian system.

Tree-SHA512: 8f7f553213a5856943ddba50611814b771e7dc474101a3e1f98259091684c8d0358c541d32011bfe1da7f430225f01a2d6b514a3b7c5aaf671b2ca8fcf155c4a
2019-10-01 18:36:53 +08:00
Wladimir J. van der Laan
9dd99ea88e
Merge #17001: doc: Remove mention of renamed mapBlocksUnlinked
fadd6e0d2a doc: Remove mention of renamed mapBlocksUnlinked (MarcoFalke)

Pull request description:

  This has been renamed to `m_blocks_unlinked`. Instead of adjusting the internal variable name in the help text, explain the debug flag with more general terms.

ACKs for top commit:
  practicalswift:
    ACK fadd6e0d2a -- diff looks correct
  promag:
    ACK fadd6e0d2a.
  laanwj:
    ACK fadd6e0d2a (as argument help is not translated this doesn't have to wait for the split-off)

Tree-SHA512: 8ad64965ab5bbba4b92933a5adcb0c9eda5bdb0cc080840a4a97b12c67f41f9b789fd289df4932d748f5a7eebc7305a000f03ceb968a78c9b5d9f34af61f0b15
2019-10-01 12:13:53 +02:00
fanquake
52acd24573
Merge #17005: build: Qt version appears only if GUI is being built
57b0cd4db9 build: Installed Qt version only appears if being built (Jon Layton)

Pull request description:

  Closes #16989.

  Simplifies `./configure` output for `x$bitcoin_enable_qt`.

  Now:
  `checking whether to build Bitcoin Core GUI... no`
  `checking whether to build Bitcoin Core GUI... yes (Qt5)`

ACKs for top commit:
  laanwj:
    ACK 57b0cd4db9
  fanquake:
    ACK 57b0cd4db9

Tree-SHA512: 3ca2082f251c206bb1661277dac1075acea046f0a1d2cd997550aa83dd886036b7282f0e30cdaf51ed636d8a40d9b7ffb8600743450f4f4c014c541cb7b2eb0d
2019-10-01 18:11:47 +08:00
Wladimir J. van der Laan
cd6e9b33a6
Merge #16852: gui: When BIP70 is disabled, get PaymentRequest merchant using string search
85973bcc44 When BIP70 is disabled, get PaymentRequest merchant using string search (Andrew Chow)

Pull request description:

  The merchant name is stored in the X.509 certificate embedded in a PaymentRequest. Use some string searching to locate it so that it can be shown to the user in the transaction details when BIP70 support was not configured.

  An additional notice is added to the merchant string that indicates the certificate was not verified. When BIP70 is enabled, the certificate would be verified and the merchant name not shown if the certificate was invalid.

ACKs for top commit:
  laanwj:
    ACK 85973bcc44

Tree-SHA512: 50fdb60d418e2f9eb65a4b52477be16189f00bfc30493adb27d9fb62100fd5bca33b98b8db6caa8485db424838d3b7a1da802c14ff4917943464401f47391616
2019-10-01 11:54:20 +02:00
Wladimir J. van der Laan
a54e52b4ae
Merge #16997: doc: Update bips.md for 0.19
60e855f5c5 doc: Bump version in bips.md, mention bumping in release process (Wladimir J. van der Laan)
82c11773dc doc: Add mention of BIP158 indexing since v0.19.0 (Wladimir J. van der Laan)
226700602b doc: Add mention of BIP125 used by wallet GUI by default since v0.18.1 (Wladimir J. van der Laan)
b11514d4e5 doc: Add mention of BIP70 disabling by default in bips.md (Wladimir J. van der Laan)

Pull request description:

  - Add mention of BIP70 disabling by default at build time.

  Any others?

  E.g. does the burying of deployments of #16060 need to be mentioned? If so, where and how? For all of BIPs 34, 65 and 66?

ACKs for top commit:
  hebasto:
    ACK 60e855f5c5

Tree-SHA512: 76aac3118bb9b56eeea75d046a55d8678a4c5c43004bec98a653f285ef59c34e67af01b0af3ddcefe4e92d37eea89f4f6627e4d056194f54e2e6168c79b4865c
2019-10-01 10:15:37 +02:00
Wladimir J. van der Laan
60e855f5c5 doc: Bump version in bips.md, mention bumping in release process 2019-10-01 07:14:29 +02:00
fanquake
b0e268d2f6
Merge #16969: refactor: Remove Qt function to disable menu icons on macOS
3eea6a8f26 refactor: Remove Qt function to disable menu icons on macOS (Emil Engler)

Pull request description:

  As menu icons were removed in #16612, this removes an unnecessary function for macOS
  Could this get into v0.19.0?

ACKs for top commit:
  jonasschnelli:
    utACK 3eea6a8f26
  promag:
    ACK 3eea6a8f26.
  fanquake:
    ACK 3eea6a8f26

Tree-SHA512: b3f2f5ed1141f546351433160e27d95dad914739e89dd3438d11756ca5aa41501f0f08345f2b50415717d88517894d73c1065b17f1bda38132374cc58c08df54
2019-10-01 10:10:22 +08:00
Jon Layton
57b0cd4db9 build: Installed Qt version only appears if being built 2019-09-30 19:03:16 -04:00
Hennadii Stepanov
386ae0f691
util: Make thread names shorter
Thread names at the process level are limited by 15 characters. This
commit ensures that name 'b-httpworker.42' will not be cropped.
2019-09-30 22:23:31 +03:00
MarcoFalke
fadd6e0d2a
doc: Remove mention of renamed mapBlocksUnlinked 2019-09-30 14:34:25 -04:00
Wladimir J. van der Laan
82c11773dc doc: Add mention of BIP158 indexing since v0.19.0 2019-09-30 20:33:43 +02:00
Wladimir J. van der Laan
226700602b doc: Add mention of BIP125 used by wallet GUI by default since v0.18.1 2019-09-30 20:33:10 +02:00
MarcoFalke
696b5eb179
Merge #16987: test: Correct docstring param name.
e28d8f8936 Correct docstring param name. (John Bampton)

Pull request description:

  Small fix to correct the Python docstring.

ACKs for top commit:
  laanwj:
    ACK e28d8f8936
  MarcoFalke:
     ACK e28d8f8

Tree-SHA512: 7bec1c6b166c768dd69fc6b94eb80ceeaa0258985b9a11956e336940d403785e7d09d0084d9b870b637ec784db044cf4c0f8ac3f0fcdf431090f003016ef13a9
2019-09-30 12:12:59 -04:00
Andrew Chow
85973bcc44 When BIP70 is disabled, get PaymentRequest merchant using string search
The merchant name is stored in the X.509 certificate embedded in a
PaymentRequest. Use some string searching to locate it so that it
can be shown to the user in the transaction details when BIP70 support
was not configured.
2019-09-30 11:31:58 -04:00
Wladimir J. van der Laan
b11514d4e5 doc: Add mention of BIP70 disabling by default in bips.md 2019-09-30 16:51:43 +02:00
Wladimir J. van der Laan
c3a8e097b1
Merge #16991: qa: Fix service flag comparison check in rpc_net test (luke-jr)
9c23ebd6b1 qa: Fix service flag comparison check in rpc_net test (Luke Dashjr)

Pull request description:

  Rebase of #16936

ACKs for top commit:
  darosior:
    ACK 9c23ebd6b1

Tree-SHA512: 74f287740403da1040ab1e235ef6eba4e304f3ee5d57a3b25d1e2e1f2f982d256528d398a4d6cb24ba393798e680a8f46cd7dae54ed84ab2c747e96288f1f884
2019-09-30 15:32:18 +02:00
Wladimir J. van der Laan
2fe6c185a6
Merge #16988: qt: Periodic translations update
e2ce392aec test: Avoid whitespace linting in qt translations (Wladimir J. van der Laan)
977dd23e40 qt: Periodic translations update (Wladimir J. van der Laan)

Pull request description:

  Pull new translations from Transifex (using bitcoin-core/bitcoin-maintainer-tools#36) and run `make translate`.

  (maybe the last one before the split-off)

  Also added a commit to add `src/qt/locale` to the exclusions for the whitespace linter. I don't think automatically generated files should be linted.

Top commit has no ACKs.

Tree-SHA512: 53aee46d44eceb18f78034febe76ac4d346c643dfc5a16878193433f85db1642977a7028bb2cf99c2c10d972d833c742f7f873991691b5d9f81b2df7b2679bf9
2019-09-30 14:48:17 +02:00
Wladimir J. van der Laan
981ec9b817
Merge #15459: doc: add how to calculate blockchain and chainstate size variables to release process
eb4c43e49f doc: documents how to calculate m_assumed_blockchain_size and m_assumed_chain_state_size on the release process. (marcoagner)

Pull request description:

  Regarding [this](https://github.com/bitcoin/bitcoin/pull/15183#issuecomment-463133734) on https://github.com/bitcoin/bitcoin/pull/15183.
  Added an "Additional information" section for this which seems reasonable to me but may not be the best place for this. Also, let me know if anything else should be documented here (like more details).

ACKs for top commit:
  laanwj:
    ACK eb4c43e49f

Tree-SHA512: 7e6fc46740daa01dd9be5a8da7846e7a9f7fa866bf31fdc2cb252f90c698cfd6ef954f9588f7abcebda2355ec2b2a380635e14a164e53e77d38abefa3e2cc698
2019-09-30 14:40:53 +02:00
Wladimir J. van der Laan
79aeed8e76
Merge #16397: doc: Clarify includeWatching for fundrawtransaction
80031045fc Clarify includeWatching for fundrawtransaction (Steven Roose)

Pull request description:

  Might be sufficient to solve https://github.com/bitcoin/bitcoin/issues/16396, https://github.com/bitcoin/bitcoin/issues/7879 and https://github.com/bitcoin/bitcoin/issues/14405.

ACKs for top commit:
  Sjors:
    ACK 8003104. This will always be confusing, but at least it gives a bunch more clues for the user to google.

Tree-SHA512: 9b8002c259c50f93d89fc5574105aae6152858d8d45c07b4c3d5b7023adafe73c7a98a290874ff3fbbb7dfad2ac1bdf4acb8769a2a1c14e38484922f44e84e54
2019-09-30 11:53:43 +02:00
Luke Dashjr
9c23ebd6b1 qa: Fix service flag comparison check in rpc_net test 2019-09-30 11:45:47 +02:00
Wladimir J. van der Laan
b658ca71b3
Merge #16931: test: add unittests for CheckProofOfWork
0cc7dd74e0 test: add unittests for CheckProofOfWork (soroosh-sdi)

Pull request description:

  following situations are covered:
  - negative target
  - overflow target
  - target easier then powLimit
  - invalid hash (hash > target)

  Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com>

ACKs for top commit:
  promag:
    ACK 0cc7dd74e0, just read the code.
  laanwj:
    ACK 0cc7dd74e0

Tree-SHA512: 9f9ee952ebb211202939450aa3d61b3c2fae992dcfcab085e877507d78e02ea39a51ccacfc4852a0555f3cba07504ee132abd5cbfed75489553bee45c760bc7e
2019-09-30 11:42:47 +02:00
Wladimir J. van der Laan
df692600c6
Merge #16927: depends: Refresh ZeroMQ 4.3.1 patch
463a1d5244 Refresh ZeroMQ 4.3.1 patch (Nathan Marley)

Pull request description:

  Currently in Alpine Linux (latest, 3.10) in the depends system, one of the ZeroMQ patches won't apply cleanly because the context around the patch has changed and Alpine's `patch` implementation can't handle the diff.

  Some patch implementations can't handle fuzz / too much divergence from the original code.

  This PR just tweaks the context code around the patch so that less-sophisticated patch implementations (such as on Alpine Linux) can apply the patch without errors.

  This partially fixes #16925

ACKs for top commit:
  fanquake:
    ACK 463a1d5244 - Tested building zeromq in depends inside an [Alpine container](https://github.com/fanquake/core-review/blob/master/docker/alpine.dockerfile) as well as on macOS.

Tree-SHA512: d6e3cb60835cdd090b9b864ca9cb33961687606bc9184fbbeb7a54ec23db4057b9317b65c5c276fb8c5492cb3cfcc4a7f3369f049551f4eb0915db971f2290ce
2019-09-30 11:35:50 +02:00
Wladimir J. van der Laan
bb83d23ad8
Merge #16926: depends: Add OpenSSL termios fix for musl libc
568aa0cf83 Add OpenSSL termios fix for musl libc (Nathan Marley)

Pull request description:

  Currently the version of OpenSSL included in the depends system won't build on musl based systems because `termio.h` does not exist. The proper header named `termios.h` does exist.

  This PR adds a patch for OpenSSL to replace the `termio.h` header with `termios.h`, which is the proper POSIX header as I understand it.

  This is a known issue as `TERMIOS` (not `TERMIO`) should be the default, and is fixed in later versions of OpenSSL. There is discussion on the OpenSSL repo here: openssl/openssl#163

  This has been [fixed in OpenSSL](64e6bf64b3).

  This partly fixes #16925 and allows building Bitcoin on Alpine using the depends system.

ACKs for top commit:
  laanwj:
    ACK 568aa0cf83

Tree-SHA512: d0aac116b7a1133bdecb34a9fb6c63db0336a3547585c07ed31ac9c5edb97e9570dcbf931e7fbc7172ce0735b6bfc11fb204e015532fcd90496a233e8fc17081
2019-09-30 11:32:46 +02:00
Wladimir J. van der Laan
d6026ec874
Merge #16971: qt: Change default size of intro frame
8cf9898b53 qt: Change default size of intro frame (Emil Engler)

Pull request description:

  Because of the new pruning feature in the intro frame, the size of the intro frame is too small.
  Like you see, some text is not visible completely.

  ### Before
  ![Before](https://i.imgur.com/ppZ3Gf9.png)
  ### After
  ![After](https://i.imgur.com/wcElqLA.png)

  Update: I changed it so it adjusts the size dynamically

ACKs for top commit:
  fanquake:
    ACK 8cf9898b53 - Before and after macOS screens below. Given that most users will only ever see this screen once, I think Qts best effort to dynamically size it is fine.
  jonasschnelli:
    utACK 8cf9898b53
  Sjors:
    Tested ACK 8cf9898 on macOS. English already fit, so to reproduce the issue, launch in German with `-resetguisettings -lang=de`.
  laanwj:
    ACK 8cf9898b53

Tree-SHA512: 568b0ae0d5feeda603c0ccf67b5bb3857becea8f22fb98695e1901e662cb1e76377589e39ec743258154d7f6c4a5e544bb003fcc73597400dd427db047392638
2019-09-30 11:28:24 +02:00
Wladimir J. van der Laan
e2ce392aec test: Avoid whitespace linting in qt translations 2019-09-30 09:55:54 +02:00
Wladimir J. van der Laan
942e275018
Merge #16962: doc: Put PR template in comments
203a67d21f doc: Put PR template in comments (Wladimir J. van der Laan)

Pull request description:

  This prevents the common annoyance of the text being included into PRs
  accidentally.

ACKs for top commit:
  sdaftuar:
    utACK 203a67d21f
  fanquake:
    ACK 203a67d21f - I make an effort to remove it whenever I see it in a PR.

Tree-SHA512: 3514d285488b7930d7f3d7f8823198d7325d8b7de57a6d8f13e559c0c23b30d58916b15782cbbdc347a375b418e9d0f7a5b99b34d26f3b957d7d5a03a3d83dfd
2019-09-30 09:48:36 +02:00
Wladimir J. van der Laan
6b9405e319
Merge #16957: 9% less memory: make SaltedOutpointHasher noexcept
67d99900b0 make SaltedOutpointHasher noexcept (Martin Ankerl)

Pull request description:

  If the hash is not `noexcept`, `unorderd_map` has to assume that it can throw an exception. Thus when rehashing care needs to be taken. libstdc++ solves this by simply caching the hash value, which increases memory of each node by 8 bytes. Adding `noexcept` prevents this caching. In my experiments with `-reindex-chainstate -stopatheight=594000`, memory usage (maximum resident set size) has decreased by 9.4% while runtime has increased by 1.6% due to additional hashing. Additionally, memusage::DynamicUsage() is now more accurate and does not underestimate.

  |                                       | runtime h:mm:ss | max RSS kbyte |
  |---------------------------------------|-----------------|--------------|
  | master                                |         4:13:59 |      7696728 |
  | 2019-09-SaltedOutpointHasher-noexcept |         4:18:11 |      6971412 |
  | change                                |          +1.65% |       -9,42% |

  Comparison of progress masters vs. 2019-09-SaltedOutpointHasher-noexcept
  ![out](https://user-images.githubusercontent.com/14386/65541887-69424e00-df0e-11e9-8644-b3a068ed8c3f.png)

ACKs for top commit:
  jamesob:
    Tested ACK 67d99900b0

Tree-SHA512: 9c44e3cca993b5a564dd61ebd2926b9c4a238609ea4d283514c018236f977d935e35a384dd4696486fd3d78781dd2ba190bb72596e20a5e931042fa465872a0b
2019-09-30 09:47:28 +02:00
Wladimir J. van der Laan
977dd23e40 qt: Periodic translations update
Pull new translations from Transifex and run `make translate`.
2019-09-30 09:41:11 +02:00
Wladimir J. van der Laan
26a7437045
Merge #16982: build: Factor out qt translations from build system
4320bfc0c0 build: Factor out qt translations from build system (Wladimir J. van der Laan)

Pull request description:

  Move qt translations to a separate make include file. This makes it easier to auto-generate this list from tooling (see bitcoin-core/bitcoin-maintainer-tools#36).

ACKs for top commit:
  promag:
    ACK 4320bfc0c0.

Tree-SHA512: 7133d0103bcf97672ae5aa40ba35d4b81331a8c179190031bbc887da6a5ccc929428e522938db43d87dbcbf9ad3b121dac1e6faf1daa5ae81d0b5fed7f053b5f
2019-09-30 09:30:24 +02:00
Wladimir J. van der Laan
9edb2b6550
Merge #16953: doc: Improve test READMEs
43e7d576f5 doc: Improve test READMEs (Fabian Jahr)

Pull request description:

  General improvements on READMEs for unit tests and functional tests:
  - Give unit test readme a headline
  - Move general information on `src/test` folder to the top
  - Add information on logging and debugging unit tests
  - Improve debugging and logging information in functional testing
  - Include all available log levels in functional tests

ACKs for top commit:
  laanwj:
    ACK 43e7d576f5

Tree-SHA512: 22b27644992ba5d99a885cd51b7a474806714396fcea1fd2d6285e41bdf3b28835ad8c81449099e3ee15a63d57b3ab9acb89c425d9855ed1d9b4af21db35ab03
2019-09-30 09:27:35 +02:00
John Bampton
e28d8f8936 Correct docstring param name. 2019-09-30 12:15:18 +10:00
Wladimir J. van der Laan
4320bfc0c0 build: Factor out qt translations from build system
Move qt translations to a separate make include file.
This makes it easier to auto-generate this list from tooling
(see bitcoin-core/bitcoin-maintainer-tools#36).
2019-09-29 14:24:54 +02:00
MarcoFalke
6b2210f101
Merge #16713: Ignore old versionbit activations to avoid 'unknown softforks' warning
fdb3e8f8b2 Ignore old versionbit activations (Anthony Towns)

Pull request description:

  PR 16060 removed the CSV and Segwit BIP9 softfork definitions and hard-coded ('buried') the activation heights. The versionbits code will warn users if an undefined softfork has been signalled in block header versions, and removing the CSV/Segwit definitions caused those warnings to be triggered.

  Change the BIP 9 warning code to only check for unknown softforks after the segwit activation height.

ACKs for top commit:
  MarcoFalke:
    ACK fdb3e8f8b2
  ajtowns:
    ACK fdb3e8f8b2 for what it's worth
  achow101:
    ACK fdb3e8f8b2
  Sjors:
    ACK fdb3e8f8b2. It makes the bit 0 warning go away in mainnet and testnet QT when a new block arrives. I think the code is clear enough.
  jonatack:
    ACK fdb3e8f8b2

Tree-SHA512: e6fd34e8902f8c7affb28e8951803e47d542710d5f1229000746656a37ee59d754439fc33e36b7eef87544262e5aac374645db91b74cb507e73514003ca7a67f
2019-09-27 15:25:53 -04:00
Wladimir J. van der Laan
a6c8aed1f1
Merge #16817: rpc: Fix casing in getblockchaininfo to be inline with other fields
1a02edb3f2 [RPC] Fix casing in getblockchaininfo to be inline with the rest of the response (Dan Gershony)

Pull request description:

  The response in the RPC result `startTime` is camel cased while the rest of the response seems to be lower cased.

  If this was intentional please ignore and close this PR.

  Note: RPC field case changes might break existing callers

ACKs for top commit:
  laanwj:
    ACK 1a02edb3f2

Tree-SHA512: 6f0eaf2b4aaf73c9a9bf1fbd4af59af5f95fc012fa88f94e050e6ae273b3ad647f5729df53bfce91e1a925fe4fd7b14818908bb6131a81413a555137d1007d7c
2019-09-27 15:11:00 +02:00
soroosh-sdi
0cc7dd74e0 test: add unittests for CheckProofOfWork
following situations are covered:
- negative target
- overflow target
- target easier then powLimit
- invalid hash (hash > target)
- zero target

Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com>
2019-09-27 16:06:34 +03:30
Emil Engler
8cf9898b53
qt: Change default size of intro frame 2019-09-26 21:50:12 +02:00
Wladimir J. van der Laan
6288f15f50
Merge #16968: doc: Remove MSVC update step from translation process
8d841ad492 doc: Remove MSVC update step from translation process (Wladimir J. van der Laan)

Pull request description:

  This part of the build system has been removed in #15529 and thus no longer needs to be updated.

ACKs for top commit:
  MarcoFalke:
    ACK 8d841ad492
  sipsorcery:
    ACK 8d841ad

Tree-SHA512: f561a6b1da806e8868a265c77725b94fabef60bc7b9d401e3f70c3d859323adc2e204e3d6fbfea4f1ff86e70667f8bd01157411106ea93974921c02d874e0083
2019-09-26 19:59:10 +02:00
Emil Engler
3eea6a8f26
refactor: Remove Qt function to disable menu icons on macOS 2019-09-26 19:42:16 +02:00
Fabian Jahr
43e7d576f5 doc: Improve test READMEs 2019-09-26 19:04:58 +02:00
Wladimir J. van der Laan
8d841ad492 doc: Remove MSVC update step from translation process
This part of the build system has been removed in #15529 and thus no
longer needs to be updated.
2019-09-26 16:44:52 +02:00
Dan Gershony
1a02edb3f2 [RPC] Fix casing in getblockchaininfo to be inline with the rest of the response
The response in the RPC result `starttime` is camel cased while the rest of the response seems to be lower cased.

If this was intentional please ignore this PR.

Note: case might break existing callers

Reflect the change in the test data

Change to snake case
2019-09-26 15:20:55 +01:00
Wladimir J. van der Laan
ab765c2ec7
Merge #16577: util: CBufferedFile fixes and unit test
efd2474d17 util: CBufferedFile fixes (Larry Ruane)

Pull request description:

  The `CBufferedFile` object guarantees its user is able to "rewind" the data stream (that's being read from a file) up to a certain number of bytes, as specified by the user in the constructor. This guarantee is not honored due to a bug in the `SetPos` method.

  Such rewinding is done in `LoadExternalBlockFile()` (currently the only user of this object), which deserializes a series of `CBlock` objects. If that function encounters something unexpected in the data stream, which is coming from a `blocks/blk00???.dat` file, it "rewinds" to an earlier position in the stream to try to get in sync again. The `CBufferedFile` object does not actually rewind its file offset; it simply repositions its internal offset, `nReadPos`, to an earlier position within the object's private buffer; this is why there's a limit to how far the user may rewind.

  If `LoadExternalBlockFile()` needs to rewind (call `blkdat.SetPos()`), the stream may not be positioned as it should be, causing errors in deserialization. This need to rewind is probably rare, which is likely why this bug hasn't been noticed already. But if this object is used elsewhere in the future, this could be a serious problem, especially as, due to the nature of the bug, the `SetPos()` _sometimes_ works.

  This PR adds a unit test for `CBufferedFile` that fails due to this bug. (Until now it has had no unit tests.) The unit test provides good documentation and examples for developers trying to understand `LoadExternalBlockFile()` and for future users of this object.

  This PR also adds code to throw an exception from the constructor if the rewind argument is not less than the buffer size (since that doesn't make any sense).

  Finally, I discovered that the object is too restrictive in one respect: When the deserialization methods call this object's `read` method, a check ensures that the number of bytes being requested is less than the size of the buffer (adjusting for the rewind size), else it throws an exception. This restriction is unnecessary; the object being deserialized can be larger than the buffer because multiple reads from disk can satisfy the request.

ACKs for top commit:
  laanwj:
    ACK ~after squash.~ efd2474d17
  mzumsande:
    I had intended to follow up earlier on my last comment, ACK efd2474d17. I reviewed the code, ran tests and did a successful reindex on testnet with this branch.

Tree-SHA512: 695529e0af38bae2af4e0cc2895dda56a71b9059c3de04d32e09c0165a50f6aacee499f2042156ab5eaa6f0349bab6bcca4ef9f6f9ded4e60d4483beab7e4554
2019-09-26 13:38:39 +02:00
Wladimir J. van der Laan
003f2d20b1
Merge #16837: depends: qt: Fix {C{,XX},LD}FLAGS pickup
1b4030e264 depends: qt: Fix LDFLAGS pickup (Carl Dong)
6eb12ffcbd depends: qt: Fix C{,XX}FLAGS pickup (Carl Dong)

Pull request description:

  Note: ~~Will~~ [Did](https://github.com/bitcoin/bitcoin/issues/16838) open issue about robustness of `sed` calls in `depends`.

ACKs for top commit:
  laanwj:
    ACK 1b4030e264

Tree-SHA512: d0bfc8ea32118cd90bb323efab58661f2218a2cb0f150e716cfd5355c7e2a1eba70298a144b159941248170e2894659c376219edac2c79a9d777f6ada5fa6b2f
2019-09-26 13:19:20 +02:00
fanquake
fdfaeb67de
Merge #16956: validation: Make GetWitnessCommitmentIndex public
fa607c2292 validation: Make GetWitnessCommitmentIndex public (MarcoFalke)

Pull request description:

  `GenerateCoinbaseCommitment` is public and can be used in unit tests to update the witness commitment after the list of txs in a block has been changed. However, for it to work, the existing commitment (added by default in `CreateNewBlock`) must be removed (and thus its index must be known).

  Make that possible by exposing the `GetWitnessCommitmentIndex` helper function in the header.

ACKs for top commit:
  jb55:
    ACK fa607c2292
  jamesob:
    ACK fa607c2292
  promag:
    ACK fa607c2292.
  fanquake:
    ACK fa607c2292 - This unblocks work in #15845.

Tree-SHA512: d563aa2c201d5fb4874e506a28f468c37e457cc8a20229c377178af08c22d3be44e19ee6e8e524b6de99236cd5f2c9e39b8009d88c26854aa774737912bd5889
2019-09-26 17:07:20 +08:00
Martin Ankerl
67d99900b0 make SaltedOutpointHasher noexcept
If the hash is not noexcept, unorderd_map has to assume that it can throw an exception. Thus when rehashing care needs to be taken. libstdc++ solves this by simply caching the hash value, which increases memory of each node by 8 bytes. Adding noexcept prevents this caching. In my experiments with -reindex-chainstate -stopatheight=594000, memory usage has decreased by 9.4% while runtime has increased by 1.6% due to additional hashing. Additionally, memusage::DynamicUsage() is now more accurate and does not underestimate.
2019-09-25 20:56:38 +02:00
MarcoFalke
4c4ff4911a
Merge #16961: test: Remove python dead code linter
f4beb4996d test: Remove python dead code linter (Wladimir J. van der Laan)

Pull request description:

  Primarily I'd like to remove this because it is very imprecise, due to Python's dynamic nature, giving it a large list of false positives that need to be listed as exceptions. See for example #16906.

  It's also a frequent source of complaints. I'm doubtful of the usefulness of checking for dead code in a linter in the first place.
  Having some dead code in the test framework for a while is not a
  disaster.

ACKs for top commit:
  sdaftuar:
    utACK f4beb4996d
  practicalswift:
    ACK f4beb4996d -- diff looks correct
  jamesob:
    ACK f4beb4996d

Tree-SHA512: 329b1555210311d5d15799fd2cb794b3208b0ac4d8a2ffaf4dece1bcc3e0e8b1fe952d5e7a394f94a98919cab579fb579eae7db2a796cc9a1a42ef495dd17507
2019-09-25 13:14:22 -04:00
Wladimir J. van der Laan
ae3902ee3f
Merge #16928: gui: Rename address checkbox back to bech32
fa7847d99b gui: Rename address checkbox back to bech32 (MarcoFalke)

Pull request description:

  This is the wording that has been used in the previous release, so translations should still exist for it.

  Fixes: #16924

ACKs for top commit:
  promag:
    ACK fa7847d99b.
  laanwj:
    ACK fa7847d99b

Tree-SHA512: 0ac6c47fe5eb2145b609a30fd3f56052d3e08abe6c67fc74b6d209a55a4df509c52f13eb1c759520a4fa43916ece0e6d4cefef87e061b51114a6582db911944a
2019-09-25 16:21:39 +02:00
Wladimir J. van der Laan
203a67d21f doc: Put PR template in comments
This prevents the common annoyance of the text being included into PRs
accidentally.
2019-09-25 15:37:19 +02:00
MarcoFalke
4116a50595
Merge #16959: ci: Set $HOST before setting fallback values
fadd76acc2 ci: Remove TRAVIS env vars (MarcoFalke)
fa449b89b5 ci: Set $HOST before setting fallback values (MarcoFalke)

Pull request description:

  This shouldn't change anything, except that `$HOST` is now properly set in the `$BASE_OUTDIR`. (Previously it would always use `x86_64-unknown-linux-gnu` in the directory name and now it should use the correct host)

  The second commit removes travis environment variables in the `ci` system. Also, shouldn't change any behavior.

ACKs for top commit:
  fanquake:
    ACK fadd76acc2 - assuming Travis etc is happy.

Tree-SHA512: aafd65bfc039523208b17d1ed886a3311995d984ec56c3de5f837b5a71d985061ee2da7af947f95a56ab101a0666fe7cd99434e196cd1b7ee9c460d156a185f6
2019-09-25 08:46:56 -04:00
Wladimir J. van der Laan
742cd77f6f
Merge #16929: test: follow-up to rpc: default maxfeerate value as BTC/kB
6659810e2f test: use named args for sendrawtransaction calls (Jon Atack)
5c1cd78b7e doc: improve rawtransaction code/test docs (Jon Atack)
acc14c5093 test: fix incorrect value in rpc_rawtransaction.py (Jon Atack)

Pull request description:

  Follow-up to PR #16521.

  - Fix incorrect value in rpc_rawtransaction test as per https://github.com/bitcoin/bitcoin/pull/16521/files#r325842308
  - Improve the code docs
  - Use named arguments as per https://github.com/bitcoin/bitcoin/pull/16521/files#r310715127

  Happy to squash or keep only the first commit if the others are too fixup-y.

ACKs for top commit:
  laanwj:
    ACK 6659810e2f

Tree-SHA512: bf5258f23802ab3ba3defb8791097e08e63f3e2af21023f832cd270dc88d1fa04349e921d69f9f5fedac5dce5cd3c1cc46b48febbede4bc18dccb8be994565b2
2019-09-25 11:51:31 +02:00