Ryan Ofsky 2f6dca4d1c
Merge bitcoin/bitcoin#30335: Mining interface followups, reduce cs_main locking, test rpc bug fix
a74b0f93efa1d9eaf5abc2f6591c44a632aec6ed Have testBlockValidity hold cs_main instead of caller (Sjors Provoost)
f6dc6db44ddc22ade96a69a02908f14cfb279a37 refactor: use CHECK_NONFATAL to avoid single-use symbol (Sjors Provoost)
5fb2b704897fe10b5bd5ed754a5afd2ddc4a9e1d Drop unneeded lock from createNewBlock (Sjors Provoost)
75ce7637ad75af890581660c0bb3565c3c03bd6c refactor: testBlockValidity make out argument last (Sjors Provoost)
83a9bef0e2acad7655e23d30e1c52412f380d93d Add missing include for mining interface (Sjors Provoost)

Pull request description:

  Followups from #30200

  Fixes:
  - `std::unique_ptr` needs `#include <memory>` (noticed while working on #30332, which has fewer includes than its parent PR that I originally tested with)
  - Drop lock from createNewBlock that was spuriously added
  - Have testBlockValidity hold cs_main instead of caller (also fixes a race condition in test-only code)

  Refactor:
  - Use CHECK_NONFATAL to avoid single-use symbol (refactor)
  - move output argument `state` to the end of `testBlockValidity`, see https://github.com/bitcoin/bitcoin/pull/30200#discussion_r1647987176

ACKs for top commit:
  AngusP:
    Code Review ACK a74b0f93efa1d9eaf5abc2f6591c44a632aec6ed
  itornaza:
    Tested ACK a74b0f93efa1d9eaf5abc2f6591c44a632aec6ed
  ryanofsky:
    Code review ACK a74b0f93efa1d9eaf5abc2f6591c44a632aec6ed. Just new error string is added since last review, and a commit message was updated

Tree-SHA512: 805e133bb59303fcee107d6f02b3e2761396c290efb731a85e6a29ae56b4b1b9cd28ada9629e979704dcfd98cf35034e7e6b618e29923049eb1eca2f65630e41
2024-06-27 18:16:27 -04:00
..
2024-06-13 11:20:49 +01:00
2024-06-18 18:47:51 +02:00
2024-05-20 16:48:19 +00:00
2023-10-12 11:27:19 +02:00
2024-04-10 17:01:27 +02:00
2024-06-13 11:20:49 +01:00
2024-03-04 19:53:30 -05:00
2023-12-11 18:22:13 +01:00
2024-03-26 16:51:46 +00:00
2023-11-16 11:36:22 +10:00
2023-09-13 11:37:45 +01:00
2024-05-20 16:48:19 +00:00
2024-05-14 10:24:31 +02:00
2024-05-14 10:24:31 +02:00
2024-06-21 09:42:32 +01:00
2024-04-01 14:37:24 -04:00
2024-04-01 14:37:24 -04:00
2023-11-16 11:36:22 +10:00