32198 Commits

Author SHA1 Message Date
MarcoFalke
3917dff732
Merge bitcoin/bitcoin#23855: refactor: Post-"Chainstate loading sequence coalescence" fixups
e3544c864e3e56867de25b8db7b012d58b378050 init: Use clang-tidy named args syntax (Carl Dong)
3401630417d994b53ff3a89db2ea759ab1ec6f0f style-only: Rename *Chainstate return values (Carl Dong)
1dd582782d3c182aa952f23ec577f6a0a8672e7b docs: Make LoadChainstate comment more accurate (Carl Dong)
6b83576388e205116a0ebc67b9949f309eea1207 node/chainstate: Use MAX_FUTURE_BLOCK_TIME (Carl Dong)

Pull request description:

  There are 2 proposed fixups in discussions in #23280 which I have not implemented:

  1. An overhaul to return types and an option type for the two `*Chainstate` functions: https://github.com/bitcoin/bitcoin/pull/23280#issuecomment-984149564
      - The change reintroduces stringy return types and is quite involved. It could be discussed in a separate PR.
  2. Passing in the unix time to `VerifyChainstate` instead of a callback to get the time: https://github.com/bitcoin/bitcoin/pull/23280#discussion_r765051533
      - I'm not sure it matters much whether it's a callback or just the actual unix time. Also, I think `VerifyDB` can take quite a while, and I don't want to impose that the function have to "run quickly" in order to have it be correct.

  If reviewers feel strongly about either of the two fixups listed above, please feel free to open a PR based on mine and I'll close this one!

ACKs for top commit:
  ryanofsky:
    Code review ACK e3544c864e3e56867de25b8db7b012d58b378050
  MarcoFalke:
    ACK e3544c864e3e56867de25b8db7b012d58b378050 🐸

Tree-SHA512: dd1de0265b6785eef306e724b678ce03d7c54ea9f4b5ea0ccd7af59cce2ea3aba73fd4af0c15e2dca9265807dc4075f9afa2ec103672677b6638b1a4fc090904
2022-01-06 13:55:53 +01:00
MarcoFalke
06209574da
Merge bitcoin/bitcoin#23832: Refactor: Changes time variables from int to chrono
fe86eb50c986f7b5ccce63f984d8a51cd9ee9e2c Refactor: Uses c++ init convention for time variables (Shashwat)
6111b0d7fac89b7a0a03284ca6ec030ca7f30b99 Refactor: Changes remaining time variable type from int to chrono (Shashwat)

Pull request description:

  This PR is a follow-up to #23801.
  This PR aims to make the following changes to all the time variables in **net_processing.cpp** wherever possible.

  - Convert all time variables to `std::chrono.`
  - Use `chorno::literals` wherever possible.
  - Use `auto` keywords wherever possible.
  - Use `var{val}` convention of initialization.

  This PR also minimizes the number of times, serialization of time `count_seconds(..)` occurs.

ACKs for top commit:
  MarcoFalke:
    re-ACK fe86eb50c986f7b5ccce63f984d8a51cd9ee9e2c  🏕

Tree-SHA512: c8684c0c60a11140027e36b6e9706a45ecdeae6b5ba0bf267e50655835daee5e5410e34096a8c4eca005f327caae1ac258cc7b8ba663eab58abf131f6d2f4d42
2022-01-06 13:37:26 +01:00
MarcoFalke
799fd7a488
Merge bitcoin/bitcoin#23075: test: Fee estimation functional test cleanups
60ae1161a4c415cc73f47df95598f3688e8d34df qa: replace assert with test framework assertion helpers in fee estimation test (Antoine Poinsot)
e50213967b6d5dda9c0acc4643c8ec67f9fd7284 qa: fee estimation with RBF test cleanups (Antoine Poinsot)
15f5fd62afb57ec501dc8c6706999d4c83e58414 qa: don't mine non standard txs in fee estimation test (Antoine Poinsot)
eae52dd6abb8efb99d62d38670cea89ff1e41286 qa: pass scriptsig directly to txins constructor in fee estimation test (Antoine Poinsot)
1fc03155e53f4f0a7f0a2529e55e802f49260b23 qa: split coins in a single tx in fee estimation test (Antoine Poinsot)
cc204b8be758102bba94e8e3e0d1989462cb9e5c qa: use a single p2sh script in fee estimation test (Antoine Poinsot)
19dd91a9bec77b14ff5b883d3e185b6b4a081ef7 qa: remove a redundant condition in fee estimation test (Antoine Poinsot)

Pull request description:

  Some cleanups that i noticed would be desirable while working on  #23074 and #22539, which are intentionally not based on it. Mainly simplifications and a slight speedup.

  - Use a single tx to create the `2**9` coins instead of creating `2**8` 2-outputs transactions
  - Use a single P2SH script
  - Avoid the use of non-standard transactions
  - Misc style nits (happy to take more)

ACKs for top commit:
  pg156:
    I ACK all commits up to 60ae1161a4 (except 1fc03155e5, where I have a question more for my own learning than actually questioning the PR). I built and ran the test successfully. I agree after the changes, the behavior is kept the same and the code is shorter and easier to reason.
  glozow:
    utACK 60ae1161a4c415cc73f47df95598f3688e8d34df

Tree-SHA512: 57ae2294eb68961ced30f32448c4a530ba1cdee17881594eecb97e1b9ba8927d58c25022b847eb07fb67d676bf436108c416c2f2174864d258fcca5b528b8bbd
2022-01-06 13:27:12 +01:00
fanquake
cec6781a47
Merge bitcoin/bitcoin#23985: reviewers: add tracing
9bd46e24a67e000fdbd76dffde6da25c12e29dac reviewers: add tracing (William Casarin)

Pull request description:

  Adding myself and 0xB10C to USDT tracing reviews

  ~~cc 0xB10C lmk if you want in on this~~

ACKs for top commit:
  0xB10C:
    ACK 9bd46e24a67e000fdbd76dffde6da25c12e29dac

Tree-SHA512: 8c6674bcf0fc70422163d353ad22d4bb3d747af9d17de069d39b4576ec3e1baf883605774683f9caf84d138ae1dc1424d1a9afdd115abba9d947cbc31a309144
2022-01-06 16:48:12 +08:00
William Casarin
9bd46e24a6 reviewers: add tracing
Adding myself and 0xB10C to USDT tracing reviews

Signed-off-by: William Casarin <jb55@jb55.com>
2022-01-05 17:22:49 -08:00
fanquake
17fdbefd3f
Merge bitcoin/bitcoin#23970: Remove pointless and confusing shift in RelayAddress
fa9f4554ca5e64e7960b74dd0ad8fb1cd7c2f091 refactor: Remove pointless and confusing shift in RelayAddress (MarcoFalke)

Pull request description:

  The second argument written to the siphash is already quantized to 24 hours, so it seems confusing to quantize the first argument to 32 bits (out of 64 bits).

  > The shifting is pointless, we should get rid of it. It seems to be a silly evolution of this 2010 Satoshi code: 5cbf753 (where it made sense because everything was XORed together, and the address used the high bits, while the time used the low ones).

  (Copied from https://github.com/bitcoin/bitcoin/pull/18642#issuecomment-613773120)

  (The original code was `uint256 hashRand = hashSalt ^ (((int64)addr.ip)<<32) ^ ((GetTime()+addr.ip)/(24*60*60));`)

  This also allows to remove a integer sanitizer suppression for the whole file.

ACKs for top commit:
  laanwj:
    Code review ACK fa9f4554ca5e64e7960b74dd0ad8fb1cd7c2f091
  sipa:
    utACK fa9f4554ca5e64e7960b74dd0ad8fb1cd7c2f091
  promag:
    Code review ACK fa9f4554ca5e64e7960b74dd0ad8fb1cd7c2f091.

Tree-SHA512: f5fd107464ccd839d6749aed6914b4935e39ab42906546b3f3810a7339fc4633fef931a1783a287572af5ec64525626fa91d147d8ff52eb076740465bf5cf839
2022-01-06 07:35:01 +08:00
laanwj
801aaac2b3
Merge bitcoin/bitcoin#23834: wallettool: Check that the dumpfile checksum is the correct size
ac617cc141fe05bea0dc5e8f9df3da43c0945842 wallettool: Check that the dumpfile checksum is the correct size (Andrew Chow)

Pull request description:

  After parsing the checksum, make sure that it is the size that we expect it to be.

  This issue was reported by Pedro Baptista.

ACKs for top commit:
  laanwj:
    Code review ACK ac617cc141fe05bea0dc5e8f9df3da43c0945842

Tree-SHA512: 8135b3fb1f4f6b6c91cfbac7d1d3421f1f6c664a742c92940f68eae857f92ce49d042cc3aa5c2df6ef182825271483d65efc7543ec7a8ff047fd7c08666c8899
2022-01-05 19:16:28 +01:00
MarcoFalke
34118bfadd
Merge bitcoin/bitcoin#23784: bitcoin-tx: Require that input amount is provided for witness transactions
8bd34dc774788cbf3cad8e139542a0ed9f3e8bb4 test: check that bitcoin-tx detects missing input amount for segwit transactions (Sebastian Falbesoner)
c337b27d7cfd468048bcf816e585a1f7d59e066d Require that input amount is provided for bitcoin-tx witness transactions (Ben Woosley)

Pull request description:

  This PR picks up the obviously abandoned PR #13608 (last activity was three and a half years ago) by rebasing it on master and adding missing tests. Original PR description: "_Applies fix from #12458 / #13547 to bitcoin-tx._"

  The private key is the compressed version of the one used in most other util tests (5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf, corresponds to the scalar value k=1 in big endian), since segwit signing refuses uncompressed keys.

  The error message from the picked up PR is changed to not include the amount, as showing any value would be just confusing.

ACKs for top commit:
  josibake:
    ACK 8bd34dc774

Tree-SHA512: 334b418f89527363ad7e3326b4126e86a05fd64876c49a8280de38e64cfac52cb62c4b24b83603dd68b6bcebbe57c64161832edffb1cac7e9c68426f6b6eae1f
2022-01-05 17:48:55 +01:00
laanwj
121d47afe3
Merge bitcoin/bitcoin#23799: test: Let test_runner.py start multiple jobs per timeslot
975097f424541a149c5b4e03816208aa76aad6b9 Let test_runner.py start multiple jobs per timeslot (Pieter Wuille)

Pull request description:

  test_runner.py currently only checks every 0.5s whether any job has finished, and if so, starts at most one new job. At higher parallellism it becomes increasingly likely that multiple jobs have finished at the same time. Fix this by always noticing *all* finished jobs every timeslot, and starting as many new ones.

ACKs for top commit:
  laanwj:
    Code review and lightly tested ACK 975097f424541a149c5b4e03816208aa76aad6b9
  prayank23:
    ACK 975097f424

Tree-SHA512: b70c51f05efcde9bc25475c192b86e86b4c399495b42dee20576af3e6b99e8298be8b9e82146abdabbaedb24a13ee158a7c8947518b16fc4f33a3b434935b550
2022-01-05 17:19:54 +01:00
laanwj
af7fba3af7
Merge bitcoin/bitcoin#23980: doc: Fix typo in getmempoolinfo (z->s)
fab16415ba1729748b03518c92396febda5a25d1 doc: Fix typo in getmempoolinfo (MarcoFalke)

Pull request description:

  Also, remove whitespace. Can be reviewed with `--ignore-all-space --word-diff-regex=.`.

ACKs for top commit:
  laanwj:
    Good catch. ACK fab16415ba1729748b03518c92396febda5a25d1
  shaavan:
    ACK fab16415ba1729748b03518c92396febda5a25d1

Tree-SHA512: 9d51ef4a4eccfcf437c99a9f84f48e4f090d75715332ad2b4cf10ad77c3691de03255b4817e9fd203fad9baf338066982304dc62fab93dd605e735943f8ca346
2022-01-05 16:12:17 +01:00
W. J. van der Laan
8f1c28a609
Merge bitcoin/bitcoin#21879: refactor: wrap accept() and extend usage of Sock
6bf6e9fd9dece67878595a5f3361851c25833c49 net: change CreateNodeFromAcceptedSocket() to take Sock (Vasil Dimov)
9e3cbfca7c9efa620c0cce73503772805cc1fa82 net: use Sock in CConnman::ListenSocket (Vasil Dimov)
f8bd13f85ae5404adef23a52719d804a5c36b1e8 net: add new method Sock::Accept() that wraps accept() (Vasil Dimov)

Pull request description:

  _This is a piece of https://github.com/bitcoin/bitcoin/pull/21878, chopped off to ease review._

  Introduce an `accept(2)` wrapper `Sock::Accept()` and extend the usage of `Sock` in `CConnman::ListenSocket` and `CreateNodeFromAcceptedSocket()`.

ACKs for top commit:
  laanwj:
    Code review ACK 6bf6e9fd9dece67878595a5f3361851c25833c49
  jamesob:
    ACK 6bf6e9fd9dece67878595a5f3361851c25833c49 ([`jamesob/ackr/21879.2.vasild.wrap_accept_and_extend_u`](https://github.com/jamesob/bitcoin/tree/ackr/21879.2.vasild.wrap_accept_and_extend_u))
  jonatack:
    ACK 6bf6e9fd9dece67878595a5f3361851c25833c49 per `git range-diff ea989de 976f6e8 6bf6e9f` -- only change since my last review was `s/listen_socket.socket/listen_socket.sock->Get()/` in `src/net.cpp: CConnman::SocketHandlerListening()` -- re-read the code changes, rebase/debug build/ran units following my previous full review (https://github.com/bitcoin/bitcoin/pull/21879#pullrequestreview-761251278)
  w0xlt:
    tACK 6bf6e9f

Tree-SHA512: dc6d1acc4f255f1f7e8cf6dd74e97975cf3d5959e9fc2e689f74812ac3526d5ee8b6a32eca605925d10a4f7b6ff1ce5e900344311e587d19786b48c54d021b64
2022-01-05 15:32:53 +01:00
MarcoFalke
847cf7690d
Merge bitcoin/bitcoin#23981: doc: Fix typo in LoadBlockIndex
c03cf38a16507568da73ce7603cd77cfe1d60392 doc: Fix typo in LoadBlockIndex (brunoerg)

Pull request description:

  Instad -> Instead

Top commit has no ACKs.

Tree-SHA512: 37dcdd34e2bd985619daecc9d1072ac002f3bc7b47db413432d027a2b8cce32501f93a57ee85869755bb0eedecedfab6ecac9ce2a591341c8f011118390a5b18
2022-01-05 15:24:23 +01:00
brunoerg
c03cf38a16 doc: Fix typo in LoadBlockIndex 2022-01-05 10:41:16 -03:00
MarcoFalke
fab16415ba
doc: Fix typo in getmempoolinfo 2022-01-05 11:40:57 +01:00
MarcoFalke
e31cdb0238
Merge bitcoin/bitcoin#23411: refactor: Avoid integer overflow in ApplyStats when activating snapshot
fa996c58e8a31ebe610d186cef408b6dd3b385a8 refactor: Avoid integer overflow in ApplyStats when activating snapshot (MarcoFalke)
fac01888d17423d6c23a9ce15d98fc88fb34e3cc Move AdditionOverflow to util, Add CheckedAdd with unit tests (MarcoFalke)
fa526d8fb6ab8f2678a30d4536aa9c45218f5269 Add dev doc to CCoinsStats::m_hash_type and make it const (MarcoFalke)
faff051560552d4405896e01920a18f698155a56 style: Remove unused whitespace (MarcoFalke)

Pull request description:

  A snapshot contains the utxo set, including the out value. To activate the snapshot, the hash needs to be calculated. As a side-effect, the total amount in the snapshot is calculated (as the sum of all out values), but never used. Instead of running into an integer overflow in an unused result, don't calculate the result in the first place.

  Other code paths (using the active utxo set) can not run into an integer overflow, since the active utxo set is valid.

  Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39716

ACKs for top commit:
  shaavan:
    reACK fa996c58e8a31ebe610d186cef408b6dd3b385a8
  vasild:
    ACK fa996c58e8a31ebe610d186cef408b6dd3b385a8

Tree-SHA512: 4f207f634841f6f634fd02ae1e5907e343fd767524fd0e8149aa99fa9a1834fe50167d14874834d45236e9c325d567925f28129bacb7d80be29cf22277a16a14
2022-01-05 10:34:29 +01:00
MarcoFalke
e00e990606
Merge bitcoin/bitcoin#23978: test: use MiniWallet for mining_basic.py
7746606cfa31ee7c6d444b313250868ad0e4ac64 test: use MiniWallet for mining_basic.py (Sebastian Falbesoner)

Pull request description:

  This PR enables one more of the non-wallet functional tests (mining_basic.py) to be run even with the Bitcoin Core wallet disabled by using the MiniWallet instead, as proposed in #20078.

ACKs for top commit:
  brunoerg:
    crACK 7746606cfa31ee7c6d444b313250868ad0e4ac64

Tree-SHA512: 4455b8b764413b0fc3ef388e3c5d5758f9e6b6d3193ac660269a9ba1c988022e6b7bc148549c2167942ea472c5aaddd2b6b3b9d99790d0654b089af975b86e11
2022-01-05 09:35:22 +01:00
MarcoFalke
45ed459f95
Merge bitcoin/bitcoin#23979: test: wait for rather than assert presence of file in startupnotify test
96eb0093d07c58ad3b02c49a5a4385da37a8e337 test: wait rather than assert presence of file in startupnotify test (fanquake)

Pull request description:

  Should fix #23967.

ACKs for top commit:
  brunoerg:
    crACK 96eb0093d07c58ad3b02c49a5a4385da37a8e337
  kristapsk:
    utACK 96eb0093d07c58ad3b02c49a5a4385da37a8e337

Tree-SHA512: 9107970e45c027cfc6c6cbfcfd5a7d9f5956259bbbb11f5b180c3947126e42e62c0f8ffd69cf7b39b51c9c5b4fedbb753839d59aebe876be68c1484bb6065819
2022-01-05 09:16:41 +01:00
fanquake
3e5dd94c42
Merge bitcoin/bitcoin#23909: build: use a static .tiff for macOS .dmg rather than generating
e09773d20a9230ba7aa2cbb7e87fdc5187ddfec6 build: use a static .tiff for macOS .dmg over generating (fanquake)

Pull request description:

  For demonstration, after [discussion in #23778](https://github.com/bitcoin/bitcoin/pull/23778#issuecomment-1003005503), and the question as to why we can't just have a `background.tiff` that we copy into the macOS DMG, and do away with the somewhat convoluted image generation steps.

  From my understanding, the only reason we have this image generation as part of our build system is so that forks of Core can adapt the imagery for their own branding via `PACKAGE_NAME`. It don't think it provides much value to us, and could just have a static .tiff that we copy into the dmg (replacing the .svg that currently lives in macdeploy/).

  Doing this would eliminate the following build dependencies:

  For native macOS:
  * `sed` (usage in Makefile.am)
  * `librsvg` (rsvg-convert)
  * `tiffutil`

  Linux macOS cross-compile:
  * `sed` (usage in Makefille.am)
  * `librsvg`
  * `tiffcp`
  * `convert` (imagemagick)
  * `font-tuffy`

  Guix Build:
  ```bash
  bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  c98d67796863f4b1bab0ad600d46bd74e744d94072cbd4bc856a6aeaba3bb329  guix-build-e09773d20a92/output/dist-archive/bitcoin-e09773d20a92.tar.gz
  3336f90bab312798cb7665e2b4ae24d1a270fb240647d5fed8dbfcd83e3ed37e  guix-build-e09773d20a92/output/x86_64-apple-darwin/SHA256SUMS.part
  8fd680c7ee158c64bad212385df7b0b302c6c2143d4e672b4b0eb5da41f9256d  guix-build-e09773d20a92/output/x86_64-apple-darwin/bitcoin-e09773d20a92-osx-unsigned.dmg
  34f54177c2f0700e8cfaf5d85d91e404807cd9d411e22006cdff82653e5f4af2  guix-build-e09773d20a92/output/x86_64-apple-darwin/bitcoin-e09773d20a92-osx-unsigned.tar.gz
  da6b8f54ef755d40330c8eac4f5bd0329637e827be9ee61318600d5d0bdcc3dc  guix-build-e09773d20a92/output/x86_64-apple-darwin/bitcoin-e09773d20a92-osx64.tar.gz
  ```

  ![dmg](https://user-images.githubusercontent.com/863730/147847717-8121c2d2-cdd4-4781-8397-3bf2893d52cc.png)

ACKs for top commit:
  hebasto:
    ACK e09773d20a9230ba7aa2cbb7e87fdc5187ddfec6
  jarolrod:
    ACK e09773d20a9230ba7aa2cbb7e87fdc5187ddfec6
  Zero-1729:
    ACK e09773d20a9230ba7aa2cbb7e87fdc5187ddfec6

Tree-SHA512: 0ad06699a5451daa8cfaaa46759eb7bd85254a72e23f857f70d433a2ffb1a4bf6dd464d9c4ac9f8c20aab045f4e2b61c6dcdcbcceef96ce515b1a0c501665b1f
2022-01-05 10:25:03 +08:00
fanquake
96eb0093d0
test: wait rather than assert presence of file in startupnotify test
Should fix #23967.
2022-01-05 09:25:43 +08:00
fanquake
1aabbf33d7
Merge bitcoin/bitcoin#23977: depends: Fix typo
d2fdc320cc9774775969f571e7a64fc3e8c226ef depends: Fix typo (Dimitris Apostolou)

Pull request description:

ACKs for top commit:
  fanquake:
    ACK d2fdc320cc9774775969f571e7a64fc3e8c226ef

Tree-SHA512: d40997c572cab4c54be6d4bde1965f614c0bd9900096ebe8875d5bf60d7d82819d222e5d9b25b40365cef4eaf835b4f1d963c4c4bf0939649010743179322c17
2022-01-05 09:15:33 +08:00
fanquake
f8c84e047c
Merge bitcoin/bitcoin#23975: doc: Mark proprietary array optional
faa51a6aa92966403b1c46d4047f5b3aafcccd1d doc: Mark proprietary array optional (MarcoFalke)

Pull request description:

  The global one is returned all the time, but the input/output array is returned optionally

ACKs for top commit:
  fanquake:
    ACK faa51a6aa92966403b1c46d4047f5b3aafcccd1d

Tree-SHA512: db987c13d59e0ccc633032707438d506fe4f8fbf7569a03b99d899cb1309de94f99c343840107fc51a9f904bcf55e00049808b6cdf732fc16c6e9e818b480936
2022-01-05 09:00:17 +08:00
Sebastian Falbesoner
7746606cfa test: use MiniWallet for mining_basic.py
This test can now be run even with the Bitcoin Core wallet disabled.
2022-01-04 19:39:23 +01:00
MarcoFalke
faa51a6aa9
doc: Mark proprietary array optional
Also, remove not needed '\n's.
Can be reviewed with --word-diff-regex=.
2022-01-04 17:57:50 +01:00
Dimitris Apostolou
d2fdc320cc
depends: Fix typo 2022-01-04 18:26:12 +02:00
MarcoFalke
fa9f4554ca
refactor: Remove pointless and confusing shift in RelayAddress 2022-01-04 17:07:29 +01:00
MarcoFalke
53b0450ede
Merge bitcoin/bitcoin#23973: test: Bundle all integer sanitizer suppressions of dependencies
fa77dc9ce2ba6ab18a0add0ff520db133213ec2c test: Bundle all integer sanitizer suppressions of dependencies (MarcoFalke)

Pull request description:

  And remove three that are no longer needed.
  Can be reviewed with `--color-moved=dimmed-zebra`.

  Having separate sections for out-of-tree dependencies and in-tree suppressions makes it easier to categorize while reading.

ACKs for top commit:
  fanquake:
    ACK fa77dc9ce2ba6ab18a0add0ff520db133213ec2c

Tree-SHA512: c18ba99c54595c1a3dd066c5317bf5ed391ed7dace7435f686b4d0047d8d622f71deb646dcd3db1776c7564a721b01e27b19474b307d52ee8870a4b4d382b24e
2022-01-04 17:04:06 +01:00
MarcoFalke
ab788a48fc
Merge bitcoin/bitcoin#23954: doc: remove CC_FOR_BUILD from OpenBSD build doc
62c173ae4c5db5bf2f753136cc8c7872c59e7c9a doc: remove CC_FOR_BUILD from OpenBSD build doc (fanquake)

Pull request description:

  This is no-longer necessary after upstream libsecp256k1 changes that have been pulled into our repo.

ACKs for top commit:
  theStack:
    ACK 62c173ae4c5db5bf2f753136cc8c7872c59e7c9a

Tree-SHA512: 7c328185afec366ff49096512b2fcc3c2f2a2381875f65f5444ffacf118f9a51e4e2237daaae6b32f742a7c4c54c1fbba7cee4e1807d7c4816123f6b0e7c33c8
2022-01-04 16:51:32 +01:00
fanquake
4ee78450ff
Merge bitcoin/bitcoin#23826: test: Make AddrMan unit tests use public interface, extend coverage
ea4c9fd4ab9aaa2e8f2c2e38a75c9f05d0bfc866 test: Cover eviction by timeout in addrman_evictionworks (Martin Zumsande)
4f1bb467b556ec93c9b8f758783fda4d050da491 test: Add test for multiplicity in addrman new tables (Martin Zumsande)
e880bb7836dab2018049390884220177c6db9b92 test: Add test for updating addrman entries (Martin Zumsande)
f02eee8c8784dfc8db80a21ab6508f7c99298255 test: introduce utility function to retrieve an addrman (Martin Zumsande)
f0e5efb82493f7a14580335ce719d5be81c8713e test: Remove unused AddrManTest class (Martin Zumsande)
b696d7870b29232057600df5ddd8351888253b95 test: Remove tests for internal helper functions (Martin Zumsande)
0538520091bf2982a029a0298835400f5afbdc15 test: use AddrMan instead of AddrManTest where possible (Martin Zumsande)
1c65d427bbf61bb558cf7e18f7aff99b19f68508 test: Inline SimConnFail function (Martin Zumsande)
5b7aac34f2363822c3a1cfafda8ffc9528905058 test: delete unused GetBucketAndEntry function (Amiti Uttarwar)
2ba1e74e59a325ca6cb140757067dd5e0c7c249b test: Update addrman_serialization unit test to use AddrMan's interface (Amiti Uttarwar)
dad5f760211df314d650999e0a76edb0151b4fe1 addrman: Introduce a test-only function to lookup addresses (Amiti Uttarwar)

Pull request description:

  This PR (joint work with Amiti Uttarwar) changes the addrman unit tests such that they only use the public `AddrMan` interface:
  This has the advantage that the tests are less implementation-dependent, i.e. it would be possible to rewrite the internal addrman implementation (as drafted [here](https://github.com/sipa/bitcoin/tree/202106_multiindex_addrman) for using a multiindex) without having to adjust the tests.

  This includes the following steps:
  * Adding a test-only function `FindAddressEntry()` to the public addrman interface which returns info about an address in addrman (e.g. bucket, position, whethe the address is in new or tried).  Obviously we want to do this sparingly, but I think a single test-only function is ok (which could also be useful elsewhere, e.g. in fuzz tests).
  * Removal of the `AddrManTest` subclass which would reach into AddrMan's internals, using `AddrMan` instead
  * Removal of tests for internal helper functions that are not publicly exposed (these are still tested indirectly via the public functions calling them).
  * Additional tests for previously untested features such as multiplicity in the new tables, that can be tested with the help of `FindAddressEntry()`.

  All in all, this PR increases the unit test coverage of AddrMan by a bit.

ACKs for top commit:
  jnewbery:
    ACK ea4c9fd4ab9aaa2e8f2c2e38a75c9f05d0bfc866
  josibake:
    reACK ea4c9fd4ab

Tree-SHA512: c2d4ec8bdc62ffd6055ddcd37dea85ec08c76889e9e417e8d7c62a96cf68a8bcbe8c67bec3344d91fa7d3c499f6d9f810962da1dddd38e70966186b10b8ab447
2022-01-04 23:08:11 +08:00
MarcoFalke
300124dedf
Merge bitcoin/bitcoin#23936: rpc: Add and use EnsureArgsman helper
fa5bb37611dea5d3e6715b0c84249e39ad1d2476 rpc: Use EnsureAnyArgsman in rpc/blockchain (MarcoFalke)
fa98b6f6449d33b315a73156c6de968f1757d53a rpc: Add EnsureArgsman helper (MarcoFalke)

Pull request description:

  This refactor doesn't change anything for the rpc layer, but it helps a bit with removing gArgs (See #21005)

ACKs for top commit:
  shaavan:
    Code Review ACK fa5bb37611dea5d3e6715b0c84249e39ad1d2476

Tree-SHA512: 18f9cc90830a168acb94452b541b6e97ba9a50a0f4834698a16994c3884c833dc606e36a5538a16352e5e5cc43d3ac77cb498f877f8f5bc5dd52fa84f8bf2056
2022-01-04 15:40:35 +01:00
W. J. van der Laan
8319c4e906
Merge bitcoin/bitcoin#23838: scripts: make security checks architecture independent
b9898aeeaa6a3db76e40f1981d0a9db80a5d82ff scripts: make security checks architecture independent (fanquake)

Pull request description:

  This paves the way for using and checking for architecture dependent flags like `-fcf-protection` on x86_64 Linux and `-mbranch-protection` on 64 bit ARM.

  While we need a workaround for RISCV arch detection, I sent a change upstream (https://github.com/lief-project/LIEF/pull/640), which has been merged. So we can drop this workaround along with our other RISCV workarounds (i.e https://github.com/lief-project/LIEF/pull/562) with the next LIEF release.

  Required for #19075, #21851, #21888 etc.

  Guix build:
  ```bash
  bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  c57bcad9d763aae223a256283fef6243d79e0df46c5b5706dc9034a87df56694  guix-build-b9898aeeaa6a/output/aarch64-linux-gnu/SHA256SUMS.part
  f16fb8f0a2d4dfd576fea440c487722d076f3db9d10ec0480b2f94df0c92a6a3  guix-build-b9898aeeaa6a/output/aarch64-linux-gnu/bitcoin-b9898aeeaa6a-aarch64-linux-gnu-debug.tar.gz
  0e6e660eca7484ddb160b3d62d8867cf171044e81e719de899cd9b8b898cc614  guix-build-b9898aeeaa6a/output/aarch64-linux-gnu/bitcoin-b9898aeeaa6a-aarch64-linux-gnu.tar.gz
  29f14e305a280dc1d33a1f2d660db952caf6f3a9aeff9ab9560f122821269ab2  guix-build-b9898aeeaa6a/output/arm-linux-gnueabihf/SHA256SUMS.part
  26477f58601363dfe8eb2639472f71943bc341d415b6190316af232f363f5485  guix-build-b9898aeeaa6a/output/arm-linux-gnueabihf/bitcoin-b9898aeeaa6a-arm-linux-gnueabihf-debug.tar.gz
  372be53fd6d7fedad1bddc45cd9d1ce34cff376eaae4f613e2aa2465728fba82  guix-build-b9898aeeaa6a/output/arm-linux-gnueabihf/bitcoin-b9898aeeaa6a-arm-linux-gnueabihf.tar.gz
  39778c9d2949deaba404c90b930e5a0b72663bb05e9d82e93439be131fd622e3  guix-build-b9898aeeaa6a/output/dist-archive/bitcoin-b9898aeeaa6a.tar.gz
  599eee817b364b0348034a3e8c97b4bb1a35a78e3ba3472f7589f7a241947b51  guix-build-b9898aeeaa6a/output/powerpc64-linux-gnu/SHA256SUMS.part
  ade0c5ac07d467aa73f85d2a08c3fc3b311816869a2b6903bba4b4e6c88ad9d2  guix-build-b9898aeeaa6a/output/powerpc64-linux-gnu/bitcoin-b9898aeeaa6a-powerpc64-linux-gnu-debug.tar.gz
  c63db0e2570756df0b459e6114f01f0b47972ba8d81fcd9568edee95dfade23b  guix-build-b9898aeeaa6a/output/powerpc64-linux-gnu/bitcoin-b9898aeeaa6a-powerpc64-linux-gnu.tar.gz
  dc4e6ba6958e534161a54669ff5d75bc312cfeb92567cc2092235eed0e2f6aa7  guix-build-b9898aeeaa6a/output/powerpc64le-linux-gnu/SHA256SUMS.part
  3ce4c7e50915f72f24fcd24e1e1bc8460cdf2c065e390cf5f626c4cffd50961c  guix-build-b9898aeeaa6a/output/powerpc64le-linux-gnu/bitcoin-b9898aeeaa6a-powerpc64le-linux-gnu-debug.tar.gz
  c8f4a8f10f16fab07547553f1f2580c4aa98ac63246fb30da0560a6367990dd1  guix-build-b9898aeeaa6a/output/powerpc64le-linux-gnu/bitcoin-b9898aeeaa6a-powerpc64le-linux-gnu.tar.gz
  8206937fefc76cc277cc7aa8762d7554575942a9e1704106d5ab9b6fe01d5408  guix-build-b9898aeeaa6a/output/riscv64-linux-gnu/SHA256SUMS.part
  9530ee044927df02d96c3a9e5974d68b70a7105cb943b94e846c496c2d0579b9  guix-build-b9898aeeaa6a/output/riscv64-linux-gnu/bitcoin-b9898aeeaa6a-riscv64-linux-gnu-debug.tar.gz
  fc4885db902c3205d3c1bc45c7e03375e621633efb419df37f145d11329bd6ed  guix-build-b9898aeeaa6a/output/riscv64-linux-gnu/bitcoin-b9898aeeaa6a-riscv64-linux-gnu.tar.gz
  caedbc37d5aa5fbb0e370019ce5f1d5f6745b32153f562b0aee80aceec57deab  guix-build-b9898aeeaa6a/output/x86_64-apple-darwin/SHA256SUMS.part
  1b363dfde1d83530ec4deb0f24547c07446f5db99f327fe382a6e91b4b6cc454  guix-build-b9898aeeaa6a/output/x86_64-apple-darwin/bitcoin-b9898aeeaa6a-osx-unsigned.dmg
  bee82fe6e50a249eab21b6c97ad7436447489d0eabe3e5f7c992ba3b22dfc5ea  guix-build-b9898aeeaa6a/output/x86_64-apple-darwin/bitcoin-b9898aeeaa6a-osx-unsigned.tar.gz
  a935280e1229c69bdd29f32d4c894f1384e765872c68ea0dcdacdf897d4bc013  guix-build-b9898aeeaa6a/output/x86_64-apple-darwin/bitcoin-b9898aeeaa6a-osx64.tar.gz
  370a87e34e694fe44ba0cd809a1ba044bcc0e7e100b01d74a883069b3d754d1c  guix-build-b9898aeeaa6a/output/x86_64-linux-gnu/SHA256SUMS.part
  46f8c3aa2c3a65f3fc73ddda344724e800bb463d80b062dc749ab76f4c21bc8c  guix-build-b9898aeeaa6a/output/x86_64-linux-gnu/bitcoin-b9898aeeaa6a-x86_64-linux-gnu-debug.tar.gz
  9704b95152ebe582f8aa70bbab8f34ea5e32d80dfda948c019cb9f7d0982f36c  guix-build-b9898aeeaa6a/output/x86_64-linux-gnu/bitcoin-b9898aeeaa6a-x86_64-linux-gnu.tar.gz
  8385a966601ab4b9dc11d4467435c26af93dce97b66f3d33d7a8f7a885ac326d  guix-build-b9898aeeaa6a/output/x86_64-w64-mingw32/SHA256SUMS.part
  f46812804e79166e5440b678166ce2cc38b5628d1a9e312b3af138720cacc478  guix-build-b9898aeeaa6a/output/x86_64-w64-mingw32/bitcoin-b9898aeeaa6a-win-unsigned.tar.gz
  1d7077fdc59ce6af2ea5bffaa5a2ab579f8e8382467a7140623a6a2c4a588a0c  guix-build-b9898aeeaa6a/output/x86_64-w64-mingw32/bitcoin-b9898aeeaa6a-win64-debug.zip
  033fa4263ec91ca1e53ff652f12104c3c2aa7da9240a9b48bfa8f2341c79a225  guix-build-b9898aeeaa6a/output/x86_64-w64-mingw32/bitcoin-b9898aeeaa6a-win64-setup-unsigned.exe
  b7fdc84dee75951c131747c00e1e3c2da87e6f98e9435ffe7fa350ecda6771e8  guix-build-b9898aeeaa6a/output/x86_64-w64-mingw32/bitcoin-b9898aeeaa6a-win64.zip
  ```

ACKs for top commit:
  laanwj:
    Code review ACK b9898aeeaa6a3db76e40f1981d0a9db80a5d82ff
  hebasto:
    ACK b9898aeeaa6a3db76e40f1981d0a9db80a5d82ff

Tree-SHA512: d7e7c3eb33f54d44a2252f36871fdb77c182da18ee02078e8b5b4f91d02ec91f9e5c829160839b010b40670202ff05d2c702b7a3873b450878f21ade4dc0ab58
2022-01-04 15:37:19 +01:00
W. J. van der Laan
66be456d93
Merge bitcoin/bitcoin#23320: rpc: Add RPC help for getblock verbosity level 3
059f88b6a97b7a3ae1f033885e40ac01f91e6d60 Add RPC help for getblock verbosity level 3 (Kiminuo)
1bdd5f63229ebf28c24a8656f486ed8a6c8b3787 Address review comments from #22918 (Kiminuo)

Pull request description:

  This is a follow-up PR to #22918 which addresses review comments (first commit). The second commit adds missing RPC help for verbosity level 3.

ACKs for top commit:
  pg156:
    ACK 059f88b6a9
  laanwj:
    re-ACK 059f88b6a97b7a3ae1f033885e40ac01f91e6d60

Tree-SHA512: f27d53ac34b93a304ef5668701ed2b5c986a926bc8ad0df4de89695fc9e1df26acb008611451319ea897658acd9c56c6a0555d60359960c9cd28238ebefa2d50
2022-01-04 15:35:42 +01:00
MarcoFalke
fa77dc9ce2
test: Bundle all integer sanitizer suppressions of dependencies
And remove three that are no longer needed.
Can be reviewed with --color-moved=dimmed-zebra
2022-01-04 12:15:53 +01:00
Hennadii Stepanov
2211fe712d
Merge bitcoin-core/gui#516: Change 'Show' icon
1831d43e8fb73358858907e1d95ce54e1f42b2e7 Change 'Show' icon (w0xlt)

Pull request description:

  This PR changes the 'Show' icon in `receivecoinsdialog.{ui,cpp}`.

  The current icon for the 'Show' button is the edit icon, which makes it look like records can be edited on this screen (which is not the case).

  The icon already available that seems to be the most suitable for this case is the "eye", so this PR makes this change.

  | PR  | Master |
  | ------------- | ------------- |
  | <img width="209" alt="PR" src="https://user-images.githubusercontent.com/94266259/147833993-0758291c-af87-49a8-ae20-7fb9f944cb38.png"> |  <img width="209" alt="master" src="https://user-images.githubusercontent.com/94266259/147833992-30d7549d-be7b-4479-8bca-314810e3adb8.png">  |

ACKs for top commit:
  kristapsk:
    utACK 1831d43e8fb73358858907e1d95ce54e1f42b2e7
  shaavan:
    ACK 1831d43e8fb73358858907e1d95ce54e1f42b2e7
  hebasto:
    ACK 1831d43e8fb73358858907e1d95ce54e1f42b2e7

Tree-SHA512: 45e2c0ed51626b40de486903602f2e84a74ff8f09d84de8412c30103d4e15fcddaddbc40571f653da487c538feca33411cf07ad7dd21a9a774bfd45b171330f4
2022-01-04 12:55:29 +02:00
MarcoFalke
38146a4bd2
Merge bitcoin/bitcoin#23964: Update test/sanitizer_suppressions/lsan
1eb5389ee5d612b8dc935b1f59ac949feeae0858 Update test/sanitizer_suppressions/lsan (Hennadii Stepanov)

Pull request description:

  With Qt 5.15.2 in depends it seems we can drop some Leak Sanitizer suppressions now.

ACKs for top commit:
  fanquake:
    ACK 1eb5389ee5d612b8dc935b1f59ac949feeae0858 given the CI is passing. Did not test anything locally.

Tree-SHA512: 657aa390ffa68951a95bfaac6502da57daf2533ffb0ed49b483f056f6242952316515f250ad36890c9f02ca79eccd60f43c16922d5a50acb1508936e780496cc
2022-01-04 09:11:22 +01:00
fanquake
4eedabaf6f
Merge bitcoin/bitcoin#23947: build: use host_os instead of TARGET_OS in configure output
1bf3809dd1d73f24ec5cf658733da76fc2ca36a7 build: use host_os instead of TARGET_OS in configure output (fanquake)

Pull request description:

  `TARGET_OS` was convenient, as a readable host name for most of our
  targeted platforms, however unless we add more code to configure to
  detect more hosts, it's easier just use `host_os` (it's also more
  informative).

  i.e FreeBSD master
  ```bash
    target os       =
    build os        = freebsd13.0
  ```

  this PR:
  ```bash
    target os       = freebsd13.0
    build os        = freebsd13.0
  ```

ACKs for top commit:
  hebasto:
    ACK 1bf3809dd1d73f24ec5cf658733da76fc2ca36a7

Tree-SHA512: 606d92f60ce3f2f6ab1f54e29b5c179048c62ba51336b272c081b1e009128dd83705b181cfe30991c7a51d9c63e8ba2076bfed9e6112e7d1a74a7f947c5754f5
2022-01-04 15:33:25 +08:00
Shashwat
fe86eb50c9 Refactor: Uses c++ init convention for time variables
This commit does following changes to time variables in net_processing.h:
- Used {} initialization.
- Uses universal initializer auto.
- Uses chrono::literals

The reason for these changes is to make code simpler, and easier to
understand and rationalize.
2022-01-04 11:17:22 +05:30
Shashwat
6111b0d7fa Refactor: Changes remaining time variable type from int to chrono 2022-01-04 11:17:22 +05:30
fanquake
2f37b221d1
Merge bitcoin/bitcoin#23581: Move BlockManager to node/blockstorage
fa7efc915b87ec56ca1cc0bad7d8f79591bfa099 Fixup style of moved code (MarcoFalke)
fade2a44f4aabc64185031dbf4c70d875ece6740 Move BlockManager to node/blockstorage (MarcoFalke)

Pull request description:

  `BlockManager` is responsible for reading and writing block(headers). So move it to the existing `blockstorage` module in `node`. Also, move validation code unrelated to block-storage out from `BlockManager`.

ACKs for top commit:
  ryanofsky:
    Code review obvious ACK fa7efc915b87ec56ca1cc0bad7d8f79591bfa099

Tree-SHA512: 0197943d818e5f59e743b07fbb92e7661bff90081127a41e35e5692ce49d6f6a7872448670b0da282f7714580a45c8d93e571a67177c8b5f785ce9edefe834c5
2022-01-04 10:49:38 +08:00
fanquake
7097a63033
Merge bitcoin/bitcoin#23751: build, qt: No need to set inapplicable QPA backend for Android
29e1794ba5350914ea2be8cba33d8d6d2c99760b build, qt: No need to set inapplicable QPA backend for Android (Hennadii Stepanov)

Pull request description:

  The current workflow looks weird. At first, the inapplicable `xcb` QPA backend is set in Qt `configure` options. Then the correct `android` QPA backend is forced via the `QT_QPA_PLATFORM` environment variable.

  Using the default QPA backend, which is `android` for Android devices, is just fine.

ACKs for top commit:
  icota:
    re-tACK 29e1794ba5350914ea2be8cba33d8d6d2c99760b

Tree-SHA512: 08ed7d05209c1bedc1a71de5ea3be5d86b40319a164dceb9191f7a4dfe78f2f951778b90421335e73e71a798a57bdf046aa96876762d338b600037bd7ee27b52
2022-01-04 10:08:28 +08:00
fanquake
db5f441408
Merge bitcoin/bitcoin#23959: ci: Update Cirrus CI task name
d04f68d99c0a59b61d508238a9ce00445bbfc7fd ci: Update Cirrus CI task name (Hennadii Stepanov)

Pull request description:

  Missed in bitcoin/bitcoin#22815.

ACKs for top commit:
  fanquake:
    ACK d04f68d99c0a59b61d508238a9ce00445bbfc7fd

Tree-SHA512: 8c5d4b4ab6967e8ab2f3630216d33297e533eda0bd9e83dd3c8f5b9952bc0865b04af5f4398a3357135d81be99d483864ec710eeb89a149a61e258e92d680a76
2022-01-04 09:39:31 +08:00
Hennadii Stepanov
1eb5389ee5
Update test/sanitizer_suppressions/lsan 2022-01-04 00:01:41 +02:00
Martin Zumsande
ea4c9fd4ab test: Cover eviction by timeout in addrman_evictionworks 2022-01-03 22:25:45 +01:00
Martin Zumsande
4f1bb467b5 test: Add test for multiplicity in addrman new tables 2022-01-03 22:25:40 +01:00
Hennadii Stepanov
d04f68d99c
ci: Update Cirrus CI task name
Missed in bitcoin/bitcoin#22815.
2022-01-03 18:52:40 +02:00
fanquake
b9898aeeaa
scripts: make security checks architecture independent
This paves the way for using and checking for architecture dependent
flags like -fcf-protection on x86_64 Linux and -mbranch-protection on 64
bit ARM.
2022-01-03 21:36:55 +08:00
MarcoFalke
75a227e39e
Merge bitcoin/bitcoin#23683: bug fix: valid but different LockPoints after a reorg
b4adc5ad6769e4a5a6179dfff271cd4c9dc47a5b [bugfix] update lockpoints correctly during reorg (glozow)
b6002b07a36f0d58dc6becd04bfcf78599056b7c MOVEONLY: update_lock_points to txmempool.h (glozow)

Pull request description:

  I introduced a bug in #22677 (sorry! 😅)

  Mempool entries cache `LockPoints`, containing the first height/blockhash/`CBlockIndex*` at which the transaction becomes valid. During a reorg, we re-check timelocks on all mempool entries using `CheckSequenceLocks(useExistingLockPoints=false)` and remove any now-invalid entries. `CheckSequenceLocks()` also mutates the `LockPoints` passed in, and we update valid entries' `LockPoints` using `update_lock_points`. Thus, `update_lock_points(lp)` needs to be called right after `CheckSequenceLocks(lp)`, otherwise we lose the data in `lp`. I incorrectly assumed they could be called in separate loops.

  The incorrect behavior introduced is: if we have a reorg in which a timelocked mempool transaction is still valid but becomes valid at a different block, the cached `LockPoints` will be incorrect.

  This PR fixes the bug, adds a test, and adds an assertion at the end of `removeForReorg()` to check that all mempool entries' lockpoints are valid. You can reproduce the bug by running the test added in the [test] commit on the code before the [bugfix] commit.

ACKs for top commit:
  jnewbery:
    ACK b4adc5ad6769e4a5a6179dfff271cd4c9dc47a5b
  vasild:
    ACK b4adc5ad6769e4a5a6179dfff271cd4c9dc47a5b
  mzumsande:
    Code Review ACK b4adc5ad6769e4a5a6179dfff271cd4c9dc47a5b
  hebasto:
    ACK b4adc5ad6769e4a5a6179dfff271cd4c9dc47a5b
  MarcoFalke:
    re-ACK b4adc5ad6769e4a5a6179dfff271cd4c9dc47a5b 🏁

Tree-SHA512: 16b59f6ff8140d0229079ca1c6b04f2f4a00a2e49931275150e4f3fe5ac4ec109698b083fa6b223ba9511f328271cc1ab081263669d5da020af7fee83c13e401
2022-01-03 14:34:39 +01:00
fanquake
62c173ae4c
doc: remove CC_FOR_BUILD from OpenBSD build doc
This is no-longer necessary after upstream libsecp256k1 changes.
2022-01-03 20:56:02 +08:00
Hennadii Stepanov
29e1794ba5
build, qt: No need to set inapplicable QPA backend for Android 2022-01-03 14:45:39 +02:00
MarcoFalke
d69af93223
Merge bitcoin/bitcoin#23737: test: make feature_init more robust
8904f17ea715f3d28f18c1b8ce46a39ff2076144 test: enable txindex in feature_init (James O'Beirne)
93db6d8422345cc10db333d56ea9bcceefcf58b6 test: feature_init: retain debug.log and improve detection (James O'Beirne)
24fcf6e435ee53191b1404a11b0689bcd647c9e2 test: feature_init: tweak all .ldb files of a certain type (James O'Beirne)
a8ffbc01db85d918b8d1406b178b3c6f09123cf1 test: add TestNode.wait_for_debug_log (James O'Beirne)
a2fb62b632d39e468f59e7e0b6890f82d0f5eebb test: introduce TestNode.debug_log_bytes (James O'Beirne)

Pull request description:

  Hopefully fixes #23646.

  This makes a few changes to feature_init (along the lines of the discussion here: https://github.com/bitcoin/bitcoin/pull/23289#discussion_r766615073). The changes are detailed in the specific commits, but a summary might be:
  - more robust log-line detection (at the expense of maybe being slower)
  - retain all debug.log content
  - perturb .ldb files in a more complete way

Top commit has no ACKs.

Tree-SHA512: 9c8900998fdb96d3cc92bd30c4eeda2a47e9787e6432546d458c17f24eb9e2b6b3eb573db225172888ca71d7a62260f497f83827597b982b9e35c5452cb6e514
2022-01-03 08:51:09 +01:00
MarcoFalke
31f385c138
Merge bitcoin/bitcoin#23532: test: add functional test for -startupnotify
126853214a490ee840e83ca17c717c40cfbe6837 test: add functional test for -startupnotify (Bruno Garcia)

Pull request description:

  This PR adds a functional test for -startupnotify. It basically starts the node passing a command on -startupnotify to create a file on tmp and then, we check if the file has been successfully created.

ACKs for top commit:
  theStack:
    Tested ACK 126853214a490ee840e83ca17c717c40cfbe6837
  kristapsk:
    re-ACK 126853214a490ee840e83ca17c717c40cfbe6837

Tree-SHA512: 5bf3e46124ee5c9d609c9993e6465d5a71a8d2275dcf07c8ce0549f013f7f8863d483b46b7164152f566468a689371ccb87f01cf118c3c9cac5b2be673b61a5c
2022-01-03 08:47:02 +01:00