faa9a74c9e99eb43ba0d27fa906767ee88011aeb test: Fail wait_until early if connection is lost (MarcoFalke)
Pull request description:
Calling `minonode.wait_until` needs a connection to make progress (e.g. waiting for an inv), unless the mininode waits for the initial connection or for a disconnection. So for test development and failure debugging, fail early in all `wait_until`, unless opted out.
ACKs for top commit:
jnewbery:
Code review ACK faa9a74c9e99eb43ba0d27fa906767ee88011aeb.
Tree-SHA512: 4be850b96e23b87bc2ff42c028a5045d6f5cdbc9482ce6a6ba01cc5eb26710dab9e2ed547c363aac4bd5825151ee9996fb797261420b631bceeddbfa698d1dec
fa3365430c5fb57d7c0b5f2bce9fbbe290be93c3 net: Use mockable time for ping/pong, add tests (MarcoFalke)
faab4aaf2fa1153c6d76efc8113fa01b06943ece util: Add count_microseconds helper (MarcoFalke)
Pull request description:
Switch `CNode::m_ping_start` and `CNetMessage::m_time` to mockable time, so that tests can be added.
Mockable time is also type-safe, since it uses `std::chrono`
ACKs for top commit:
jonatack:
Code review re-ACK fa33654 re-read code, verified rebase per `git range-diff 4b5c919 fa94d6f fa33654`, previous tested ACKs still valid
troygiorshev:
ACK fa3365430c5fb57d7c0b5f2bce9fbbe290be93c3
Tree-SHA512: 7d632bd6019ce7c882029e71b667a61517e783af82755a85dd979ef09380934e172dec8b8f91d57b200a30a6e096aeaf01f19fee7f3aed0e0e871c72eb44d70e
0737d7e8db chore: set IS_RELEASE to true (pasta)
Pull request description:
## Issue being fixed or feature implemented
No-diff merge master back into develop
## What was done?
`git checkout develop && git merge master --no-commit` then `git reset` to suppress changes and finally `git commit -m "Merge branch 'master' into develop" --allow-empty`
## How Has This Been Tested?
## Breaking Changes
## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone
Top commit has no ACKs.
Tree-SHA512: 8f80bee5d42ee9adc8de2091f2ab6095d4c7cca1e98e856731be5e11c01507fbb944dcb22fa8a19462be11e3f20e19df36784258fb472d9063bc06829d5fb392
ef8c951eb0 chore: bump version to v21.0.0; allow breaking changes from here out (pasta)
Pull request description:
## Issue being fixed or feature implemented
Now that v20.1 has been branched; bump to v21; allow us to start merging in breaking changes
## What was done?
Bumped version
## How Has This Been Tested?
## Breaking Changes
## Checklist:
_Go over all the following points, and put an `x` in all the boxes that apply._
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_
Top commit has no ACKs.
Tree-SHA512: 8f80bee5d42ee9adc8de2091f2ab6095d4c7cca1e98e856731be5e11c01507fbb944dcb22fa8a19462be11e3f20e19df36784258fb472d9063bc06829d5fb392
2018b459cc Merge bitcoin-core/gui#683: doc: Drop no longer relevant comment (Hennadii Stepanov)
5d666eba1b Merge bitcoin/bitcoin#25548: gui: Check for readlink buffer overflow and handle gracefully (fanquake)
76b31fcf60 Merge bitcoin/bitcoin#26377: test: Make `system_tests/run_command` test locale and platform agnostic (MacroFake)
462498a365 Merge bitcoin/bitcoin#26394: Fix typo in comment SHA256->SHA512 (glozow)
e308de0dac Merge bitcoin/bitcoin#26206: test: check importing wallets when blocks are pruned throw an error (MacroFake)
d509165193 Merge bitcoin/bitcoin#24467: doc: minor improvements in getutxos REST endpoint synopsis (fanquake)
c70aa4218e Merge bitcoin/bitcoin#26188: test: silence TSAN false positive in coinstatsindex_initial_sync (fanquake)
1c66022e18 Merge bitcoin/bitcoin#25322: build: Fix `capnp` package build for Android (fanquake)
ee44732376 Merge bitcoin/bitcoin#26284: Fix comment typos (MacroFake)
f9b526bd31 Merge bitcoin/bitcoin#26209: Update leveldb subtree (fanquake)
233429a784 Merge bitcoin/bitcoin#24084: doc: add information about status code 404 for some endpoints (rest) (fanquake)
Pull request description:
## Issue being fixed or feature implemented
Trivial backports
## What was done?
_Describe your changes in detail_
## How Has This Been Tested?
Haven't; waiting for CI
## Breaking Changes
_Please describe any breaking changes your code introduces_
## Checklist:
_Go over all the following points, and put an `x` in all the boxes that apply._
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e tests
- [ ] I have made corresponding changes to the documentation
- [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_
Top commit has no ACKs.
Tree-SHA512: 8a8cea121fe4f89dc72176f15aee728f913e7d6dba01182e6da7568bda775ed6005346cb481478a62880b39caff82b6e242d0282ff95eb73cfad21c7c7c4f445
5d332da2cfdc67d69a165119c6ff598e29b28afa doc: Drop no longer relevant comment (Hennadii Stepanov)
Pull request description:
The comment was introduced in 4cf3411056, and since 7e4bd19785ff9120b7242ff9f15231868aaf7db4 it has been no longer relevant.
ACKs for top commit:
jarolrod:
ACK 5d332da2cfdc67d69a165119c6ff598e29b28afa
Tree-SHA512: 6d32561336993b1ff7d7c524d090ac52aefb40078ed706ca4c6d5026cc3f63244c49c0e00e45ff192ba0e9f1527faf63249aa18bc8aa677b9e053d387e0f4027
e049fd76f0d57c1e6400fbfbaf4cc6ebe540f16f Bugfix: Check for readlink buffer overflow and handle gracefully (Luke Dashjr)
Pull request description:
If readlink returns the size of the buffer, an overflow may have (safely) occurred.
Pass a buffer size of MAX_PATH+1 (the size of the actual buffer) to detect this scenario.
ACKs for top commit:
hebasto:
ACK e049fd76f0d57c1e6400fbfbaf4cc6ebe540f16f.
Tree-SHA512: 188bace79cbe556efe7782e46b870c02729b07b104a9316b0f7d50013504972e85baf507403d2d6060bb2bf3e13f40d735bddd18255d97a60810208c3de87691
0cc23fc60374512b3c4be888d98a7dbdd3a0c931 Fix typo in comment SHA256->SHA512 (Elichai Turkel)
Pull request description:
The comment says it's the SHA-256 state, while it's actually the SHA-512 state
ACKs for top commit:
andrewtoth:
ACK 0cc23fc60374512b3c4be888d98a7dbdd3a0c931
aureleoules:
ACK 0cc23fc60374512b3c4be888d98a7dbdd3a0c931
Tree-SHA512: 4e390ceefb847d3bbe4f5caab390a4fdd14892fe443f58c32b08b3444fccd611cff22938c3dfa611dfd2497736f779fae4165497b4208e48aa8fc9d2236f943b
4aff7a48a4e0f1075306f181a276b8a74c857022 test: check importing wallets when blocks are pruned throw an error (brunoerg)
Pull request description:
This PR adds test coverage for the following error:
437b608df2/src/wallet/rpc/backup.cpp (L513-L518)
ACKs for top commit:
andrewtoth:
ACK 4aff7a48a4e0f1075306f181a276b8a74c857022
Tree-SHA512: fbbf6056cb3759f726b8a5ff25fca51bf47e973e5d655ec164e2bec88e2dbd3b243677869d2cf33af268ea635ca0f2e9f737c4734077fc5a936ac3a24ad4b88b
c456302d4258e3abc4b8afde20fba808632771b2 doc: minor improvements in getutxos REST endpoint synopsis (Sebastian Falbesoner)
Pull request description:
Describing an optional sub-path as `<checkmempool>` in the synopsis could be misleading as the angle brackets normally indicate that the field has to be replaced a custom value. Clarify that by showing two variants instead, similar to the `block` endpoint with the `notxdetails` option:
```
#### Blocks
`GET /rest/block/<BLOCK-HASH>.<bin|hex|json>`
`GET /rest/block/notxdetails/<BLOCK-HASH>.<bin|hex|json>`
```
Further improvements:
- uppercase `<TXID>` and `<N>`, to match the description of the other endpoints
- s/getutxo command/getutxos endpoint/
- describe what the `checkmempool` option does
- s/serialisation/serialization/ (the US spelling is more dominant than the UK spelling in the project, and there is indeed no other instance of the string "serialis*" in the source tree, except once in a release note)
- link to BIP64 within the text instead of only showing bare URL
- mention that BIP64 is only relevant for `bin` and `hex` output formats
- show two endpoint formats of the block section as list
ACKs for top commit:
stickies-v:
ACK c456302d4258e3abc4b8afde20fba808632771b2 - also checked that current master (cc12b8947) doesn't have any other lines changes that would require updates as per the outlined improvement points.
Tree-SHA512: b025aac0812397f5fbf78c805c13aeb5afa6862a049d13c0b101178799cdaff1ccd3abc368a5c103ea6ebf17cdff76584c54638d0f8d303d81ade2d71443d305
861cb3fadce88cfaee27088185a48f03fb9dafe7 test: move SyncWithValidationInterfaceQueue() before Stop() in txindex_tests (Vasil Dimov)
6526dc3b78d9ca2b5c67564b04dcacbc75b857e1 test: silence TSAN false positive in coinstatsindex_initial_sync (Vasil Dimov)
Pull request description:
Silence false positives from TSAN about unsynchronized calls to `BaseIndex::~BaseIndex()` and `BaseIndex::SetBestBlockIndex()`. They are synchronized, but beyond the comprehension of TSAN - by `SyncWithValidationInterfaceQueue()`, called from `BaseIndex::BlockUntilSyncedToCurrentChain()`.
Fixes https://github.com/bitcoin/bitcoin/issues/25365
ACKs for top commit:
MarcoFalke:
review ACK 861cb3fadce88cfaee27088185a48f03fb9dafe7
ryanofsky:
Code review ACK 861cb3fadce88cfaee27088185a48f03fb9dafe7. Just comment change since last review.
Tree-SHA512: 8c30fdf2fd11d54e9adfa68a67185ab820bd7bd9f7f3ad6456e7e6d219fa9cf6d34b41e98e723eae86cb0c1baef7f3fc57b1b011a13dc3fe3d78334b9b5596de
8b8edc25c13a3e613770bf38b21a2556192e6315 build: Specify native binaries explicitly when building `capnp` package (Hennadii Stepanov)
a413595c37f51557f9506e0a279cd80fc9a6fb36 build: Fix `capnp` package build for Android (Hennadii Stepanov)
Pull request description:
On master (e3c08eb620a2f317fc09fdf20969fa26f02afb91):
```
$ make -C depends capnp MULTIPROCESS=1 HOST=aarch64-linux-android ANDROID_SDK=$ANDROID_HOME ANDROID_NDK=$ANDROID_HOME/ndk/23.2.8568313 ANDROID_API_LEVEL=28 ANDROID_TOOLCHAIN_BIN=$ANDROID_HOME/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin
...
ld: error: unable to find library -lkj
...
```
This PR fixes this error, and also improves configuring according to the docs.
ACKs for top commit:
ryanofsky:
Code review ACK 8b8edc25c13a3e613770bf38b21a2556192e6315. I'd be a little curious to know what causes the error and how `--disable-shared` fixes it, but these changes all look good
Tree-SHA512: 1b07b75f2a83932d8dc1f007e42a67d8327bd5fe4566f554dab4599e2a1e04b0144648790a1fd2ab1c295dba728586035aa0ebdbe5cf49df048ec87736895aaf
adb1714426365fb72f73097610ba217ac94ea560 Fix comment typos in scriptpubkeyman.cpp, wallet.cpp, wallet.h (Dimitris Tsapakidis)
Pull request description:
Fixes a number of comment typos found in the code.
Top commit has no ACKs.
Tree-SHA512: c2c996b66d33ecf0ee734b76303a0f2444e184d2f3ff6931768712ca51011ad51e54336c33a2ff55133766d20ae6adcbb14ddc754dde58b1fe9167d68f54fec5
0811cbfc2868ee80c522fd426f188f10b06cd421 doc: add info about status code 404 for some rest endpoints (brunoerg)
Pull request description:
This PR adds an explanation about status code 404 for 2 endpoints (`/rest/tx/ `and `/rest/blockhashbyheight/`) in`REST-interface.md`. There are other endpoints that already cover it.
ACKs for top commit:
[deleted]:
reACK 0811cbfc28
shaavan:
ACK 0811cbfc2868ee80c522fd426f188f10b06cd421
Tree-SHA512: a01ac6653f706b7a7e4a4679a2b81e448381f31460ac4bcfc179af6186401cffae7b49a82f3a52c89e556acd5c16c159ce752c7a678177900ddf2e4e5c72fe6b
a1ff8d3e54 refactor: add const (PastaPastaPasta)
521fefb98a refactor: simplify if block (PastaPastaPasta)
66351aaaf9 refactor: use try_emplace over emplace (pasta)
b6907d2bea refactor: additional if-init (pasta)
c1ee599c74 refactor: remove unneeded potentially problematic std::move (pasta)
f77a1f7bce refactor: use if-init; ensure we std::move; use try_emplace (pasta)
37080c880e refactor: remove a temporary; this should enable better optimization as the type is && insteas of & now (pasta)
Pull request description:
## Issue being fixed or feature implemented
various minor refactors, see commits
## What was done?
see commits
## How Has This Been Tested?
Building
## Breaking Changes
None
## Checklist:
_Go over all the following points, and put an `x` in all the boxes that apply._
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_
Top commit has no ACKs.
Tree-SHA512: 76fa01f4437c80fc6667cc7e4e7c2f6fb77d3c0fc033f03f172adfb483a71c8c04ff6c3fe51e089e55868ecbdbeea88ec3161c6d2a939d9de3dc7cd4a9a6d4b2
std::move implies the moved from variable is now clobbered and unusable; but we continue to use the `pendingRetryTxs` structure; simply remove std::move; this likely doesn't change code generation, but is clearer that no move is happening and resolves a use-after-move warning
calling std::move on a const ref does absolutely nothing; remove to avoid confusion
0737d7e8db chore: set IS_RELEASE to true (pasta)
Pull request description:
## Issue being fixed or feature implemented
Release v20.1.0 final
## What was done?
## How Has This Been Tested?
## Breaking Changes
## Checklist:
_Go over all the following points, and put an `x` in all the boxes that apply._
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_
Top commit has no ACKs.
Tree-SHA512: a83e8fea96d3d9106984be7f1a235116d99a98dc7a2fb436c58690731dbb2221ba691081ff2afd7d99f444baa02ff147e0d5a467c3213e33cf0f173db2b96e53
a4edab66a3 docs: add release notes for 20.1.0 (pasta)
Pull request description:
## Issue being fixed or feature implemented
Added release notes for 20.1.0
## What was done?
Wrote release notes from WIP release-notes; trimmed some fat from release notes
## How Has This Been Tested?
Ran linters
## Breaking Changes
None; docs only
## Checklist:
_Go over all the following points, and put an `x` in all the boxes that apply._
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_
Top commit has no ACKs.
Tree-SHA512: 47efb01e839f9357f6af372806350ac3cc3f6f18a7437afa670306050cb93c4a5ce7fd91256ae39c3febaabb9b078824e75d85792da37c063e74f8e13f0e465c
e746c698fb docs: update manpages for 20.1 (UdjinM6)
Pull request description:
## Issue being fixed or feature implemented
update man pages
## What was done?
run `./contrib/devtools/gen-manpages.sh`, skip local-dependent changes
## How Has This Been Tested?
## Breaking Changes
n/a
## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_
Top commit has no ACKs.
Tree-SHA512: 22bcd824fa391d044a9924c9135aca9ed346312cfcba7f74fda5e9ae1b5d5e33e405ba51a4ab2024f3b110d3bd303e4368a567ef6069eb2fc74e32adef81380f
a701a8d5c9 refactor: actually move out of previousQuarters.quarterHMinus*C and newQuarterMembers into quorumMembers (pasta)
Pull request description:
## Issue being fixed or feature implemented
we use std::move; but it doesn't actually move
## What was done?
refactor in order to actually move
## How Has This Been Tested?
Waiting for CI / tests; built locally + unit tests
## Breaking Changes
Should be none
## Checklist:
_Go over all the following points, and put an `x` in all the boxes that apply._
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e tests
- [ ] I have made corresponding changes to the documentation
- [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_
Top commit has no ACKs.
Tree-SHA512: ff2065724aaa1f1c5b29bd56dc005fd95f8c28ea813af10de20ae1c07810e2e73f72d676fa5b1c353db32ee499b8351035c0a252a16bd6f182da1c1d5479bea9
9c92392ef3 ci: exclude translation files from clang-diff analysis (UdjinM6)
65f55b8aa5 99%+: it (UdjinM6)
9b441132fc 80%+: bg (UdjinM6)
19ecd79c2e 88%+: ar, de, es, fi, fr, ja, ko, nl, pt, sk, tr, zh_TW (UdjinM6)
d541448eee 90%+: it, pl, th, zh_CN (UdjinM6)
cfc4aa8470 100%: ru (UdjinM6)
26a377da5c chore: update `dashstrings.cpp` and `dash_en.ts`/`dash_en.xlf` (UdjinM6)
Pull request description:
## Issue being fixed or feature implemented
Update strings and translations. Also added d3dc0e5386 to skip clang-diff for auto-generated `src/qt/dashstrings.cpp` and translation files in `src/qt/locale/`.
## What was done?
## How Has This Been Tested?
## Breaking Changes
n/a
## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_
Top commit has no ACKs.
Tree-SHA512: fe99b4cc9ac1c88eb29a72a6b9c90c5e99a86d2996b1e1747a1b6bf4ba7ffd6b62ceb11c8b01be3e2c872bbb18d8343e7b4bd9cde4caa3256316e8190bc8353f
df59a8dd04 docs: fix transifex link for Dash Core (Konstantin Akimov)
Pull request description:
## Issue being fixed or feature implemented
Current link to transifex is dead: https://www.transifex.com/projects/p/dash/
## What was done?
Link to transifex is updated to https://explore.transifex.com/dash/dash/
## How Has This Been Tested?
Click and see what is open in browser.
## Breaking Changes
N/A
## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone
Top commit has no ACKs.
Tree-SHA512: 24f095493c63de72b8bcaa4952b8a00518c3427d80e004100244ce57c016c6528863ce83febbe68edce817b72160ac5bdcc0f984a4ea769cab9ffa20b87f87a5
fdfe72bb75 Merge #20677: doc: Remove shouty enums in net_processing comments (Wladimir J. van der Laan)
27efa9918f Merge bitcoin/bitcoin#22311: test: Add missing syncwithvalidationinterfacequeue in p2p_blockfilters (MarcoFalke)
65045a0c9d Merge #21357: test: Unconditionally check for fRelay field in test framework (MarcoFalke)
fbd2722bb2 Merge bitcoin/bitcoin#22203: test: Use ConnmanTestMsg from test lib in denialofservice_tests (fanquake)
ec8e45b851 Merge bitcoin/bitcoin#22086: test: remove BasicTestingSetup from unit tests that don't need it (W. J. van der Laan)
27938659e3 Merge #21003: test: Move MakeNoLogFileContext to libtest_util, and use it in bench (fanquake)
5107598bf9 Merge #20210: net: assert CNode::m_inbound_onion is inbound in ctor, add getter, unit tests (MarcoFalke)
0b109bed58 Merge #20737: test: Add missing assignment in mempool_resurrect.py (MarcoFalke)
0193d482a6 Merge #20692: test: run mempool_resurrect.py even with wallet disabled (MarcoFalke)
39f08af18a Merge #20047: test: use wait_for_{block,header} helpers in p2p_fingerprint.py (Wladimir J. van der Laan)
Pull request description:
bitcoin backport
Top commit has no ACKs.
Tree-SHA512: 9ba5e12170a5f92eefcea7a646a92a4f844b2d134ccc23060235ee8f0debb81280dd39cecec0d21f9d081376b88e6e1c0a15159ac5ac19ff4f4c99d4cd53271d
0c41c1083089efb158de828f97eb00e206f2869a doc: Remove shouty enums in net_processing comments (Suhas Daftuar)
Pull request description:
This uses the `CNode::ConnectionTypeAsString()` strings in place of the all-caps enums in a couple of comments in `net_processing`, as suggested by ajtowns in https://github.com/bitcoin/bitcoin/pull/19858#discussion_r540821050.
ACKs for top commit:
practicalswift:
ACK 0c41c1083089efb158de828f97eb00e206f2869a
jnewbery:
ACK 0c41c1083089efb158de828f97eb00e206f2869a
laanwj:
ACK 0c41c1083089efb158de828f97eb00e206f2869a
Tree-SHA512: c8ab905e151ebb144c3f878277dc59d77591e4b39632658407b69b80b80d65825d5a391b01e2aea6af2fdf174c143dfe7d2f3eba84a020a58d7926458fdcd0a5
fadddd13eef4428f5fa7237583d4be41a9335cd9 test: Add missing syncwithvalidationinterfacequeue (MarcoFalke)
faa211fc6e3d4984b8edff1d762dd4cba205d982 test: Misc cleanup (MarcoFalke)
fa1668bf5084a190b26b022b9e625a7be3defa6e test: Run pep-8 (MarcoFalke)
facd97ae0f0d816107aa3bc9de321244200636a0 scripted-diff: Renames (MarcoFalke)
Pull request description:
The index on the block filters is running in the background on the validation interface. To avoid intermittent test failures, it needs to be synced.
Also other cleanups.
ACKs for top commit:
lsilva01:
Tested ACK fadddd13ee on Ubuntu 20.04
Tree-SHA512: d858405db426a2f9d5620059dd88bcead4e3fba3ccc6bd8023f624b768fbcfa2203246fb0b2db620490321730d990f0e78063b21a26988c969cb126d4bd697bd
39a9ec579f023ab262a1abd1f0c869be5b1f3f4d Unconditionally check for fRelay field in test framework (Troy Giorshev)
Pull request description:
picking up #20411 (rebased onto master)
There is a discrepancy in the implementation of our p2p protocol between
bitcoind and the testing framework. The fRelay field is an optional
field at the end of a version message as of protocol version 70001.
However, when deserializing a message in bitcoind, we don't check the
version to see if it should have an fRelay field or not. Instead, we
unconditionally attempt to deserialize into the field.
This commit brings the testing framework in line with the implementation
in core.
This matters for a version message with the following fields:
Version = 60000
fRelay = 1
Bitcoind would deserialize this into a version message with
Version=60000 and fRelay=1, whereas (before this commit) our testing
framework would deserialize this into a version message with
Version=60000 and fRelay=0.
ACKs for top commit:
jnewbery:
utACK 39a9ec579f023ab262a1abd1f0c869be5b1f3f4d
Tree-SHA512: 13a23f1180b7121ba41cb85baa38094b41f4607a7c88b3384775177cb116e76faf5514760624f98a4e8a830767407c46753a7e0285158c33e0c6ce395de8f15c
fa72fce7c948185752a01002000ea511809146ed test: Use ConnmanTestMsg from test lib in denialofservice_tests (MarcoFalke)
Pull request description:
This allows to remove code.
Also, required for https://github.com/bitcoin/bitcoin/pull/18470
ACKs for top commit:
mjdietzx:
crACK fa72fce7c948185752a01002000ea511809146ed 👍👍
fanquake:
ACK fa72fce7c948185752a01002000ea511809146ed
Tree-SHA512: 12aa68cde697c0f7c25d60bb0c02783e5462eb3ba39947b0d94a7798bc278e7d5f092f3ab2a3d0547947c3502cde7c4a599419055a57f78ef1f70f9f637e14c7
6c3fcd5591eb9947f35483014ecb0d8ab217b780 test: remove BasicTestingSetup from util_threadnames unit tests (fanquake)
b53d3c1b1fd739c314b0b34f361fcd992092fc29 test: remove BasicTestingSetup from uint256 unit tests (fanquake)
c0497a49281e68b57e2a1e6c48c950b2edc80821 test: remove BasicTestingSetup from torcontrol unit tests (fanquake)
ef8bb0473be62c07f96eb269b927dcec86c1e862 test: remove BasicTestingSetup from sync unit tests (fanquake)
1aee83421fe2128757b48f6317a3e7fed784adb6 test: remove BasicTestingSetup from reverse_lock unit tests (fanquake)
57ba949ef585f8124914c43ea9a53afee201b998 test: remove BasicTestingSetup from policy_fee unit tests (fanquake)
3974c962b61a1e18f8177ffa30791ad9ad2ba6e4 test: remove BasicTestingSetup from merkleblock tests (fanquake)
cd5bc4b4708b28cabcfabbcd7f5ba1155f5b1517 test: remove BasicTestingSetup from hash unit tests (fanquake)
39cec22935302418963cc2e7db4ad2fa9656849d test: remove BasicTestingSetup from compilerbug unit tests (fanquake)
6d3b78c0e2f427d3a7431885cc175464a527a12a test: remove BasicTestingSetup from bswap unit tests (fanquake)
a13dc24831e4a2d8e16a41d8c95cdaa8afdec783 test: remove BasicTestingSetup from bech32 unit tests (fanquake)
f4dcbe4498e55d2ed818b35cd15652fd427b7a7b test: remove BasicTestingSetup from base64 unit tests (fanquake)
fd144f64265a4752fe36391c51bb6b8ccdff838f test: remove BasicTestingSetup from base32 unit tests (fanquake)
4c389ba04b36cc2916d49435e07155144882a637 test: remove BasicTestingSetup from arith_uint256 unit tests (fanquake)
05590651a0b9ebc5f5fdbdcbbc1efe4bf64888d0 test: remove BasicTestingSetup from amount unit tests (fanquake)
883a5c7d021fe29539d417796a5b07e265f1c696 test: remove BasicTestingSetup from allocator unit tests (fanquake)
Pull request description:
* Less setup/overhead for tests that don't need it. Some naive bench-marking would suggest that a full `test_bitcoin` run is a few % faster after this change.
* Tests which don't need the BasicTestingSetup can't accidentally end up depending on it somehow.
* Already the case in at least the scheduler and block_filter tests.
This adds missing includes, but more significant is the removal of `setup_common.h` from tests where it isn't needed. This saves recompiling those tests when changes are made in the header.
ACKs for top commit:
practicalswift:
cr ACK 6c3fcd5591eb9947f35483014ecb0d8ab217b780: patch looks correct
laanwj:
ACK 6c3fcd5591eb9947f35483014ecb0d8ab217b780
Tree-SHA512: 69b891e2b4740402d62b86a4fc98c329a432d125971342a6f97334e166b3537ed3d4cdbb2531fa05c1feae32339c9fcb2dceda9afeeaed4edc70e8caa0962161