glozow 0bd2bd1efb
Merge bitcoin/bitcoin#30237: test: Add Compact Block Encoding test ReceiveWithExtraTransactions covering non-empty extra_txn
55eea003af24169c883e1761beb997e151845225 test: Make blockencodings_tests deterministic (AngusP)
4c99301220ab44e98d0d0e1cc8d774d96a25b7aa test: Add ReceiveWithExtraTransactions Compact Block receive test. (AngusP)
4621e7cc8f8e2b71393a2b30d5dbe56165bfb854 test: refactor: Rename extra_txn to const empty_extra_txn as it is empty in all test cases (AngusP)

Pull request description:

  This test uses the `extra_txn` (`vExtraTxnForCompact`) vector of optional orphan/conflicted/etc. transactions to provide transactions to a PartiallyDownloadedBlock that are not otherwise present in the mempool, and check that they are used.

  This also covers a former nullptr deref bug that was fixed in #29752 (bf031a517c79cec5b43420bcd40291ab0e9f68a8) where the `extra_txn` vec/circular-buffer was null-initialized and not yet filled when dereferenced in `PartiallyDownloadedBlock::InitData`.

ACKs for top commit:
  marcofleon:
    Code review ACK 55eea003af24169c883e1761beb997e151845225. I ran the `blockencodings` unit test and no issues with the new test case.
  dergoegge:
    Code review ACK 55eea003af24169c883e1761beb997e151845225
  glozow:
    ACK 55eea003af24169c883e1761beb997e151845225

Tree-SHA512: d7909c212bb069e1f6184b26390a5000dcc5f2b18e49b86cceccb9f1ec4f874dd43bc9bc92abd4207c71dd78112ba58400042c230c42e93afe55ba51b943262c
2024-07-01 14:11:52 +01:00
..
2023-11-14 17:41:54 +01:00
2023-12-06 15:44:38 +01:00
2023-11-21 13:15:44 +00:00
2024-01-09 15:15:36 -03:00
2024-03-18 10:32:00 -04:00
2023-11-30 11:28:19 +01:00
2024-06-12 15:21:31 +02:00
2023-11-07 10:21:51 +09:00
2024-02-29 14:13:58 -03:00
2023-01-26 10:44:05 +01:00
2023-11-30 11:28:19 +01:00
2023-11-30 11:28:19 +01:00
2023-11-30 11:28:19 +01:00
2023-11-30 11:28:19 +01:00