Ryan Ofsky
323b0acfcb
Merge bitcoin/bitcoin#30200 : Introduce Mining interface
...
a9716c53f0 rpc: call IsInitialBlockDownload via miner interface (Sjors Provoost)
dda0b0834f rpc: minize getTipHash() calls in gbt (Sjors Provoost)
7b4d3249ce rpc: call processNewBlock via miner interface (Sjors Provoost)
9e228351e7 rpc: getTransactionsUpdated via miner interface (Sjors Provoost)
64ebb0f971 Always pass options to BlockAssembler constructor (Sjors Provoost)
4bf2e361da rpc: call CreateNewBlock via miner interface (Sjors Provoost)
404b01c436 rpc: getblocktemplate getTipHash() via Miner interface (Sjors Provoost)
d8a3496b5a rpc: call TestBlockValidity via miner interface (Sjors Provoost)
8ecb681678 Introduce Mining interface (Sjors Provoost)
Pull request description:
Introduce a `Mining` interface for the `getblocktemplate`, `generateblock` and other mining RPCs to use now, and for Stratum v2 to use later.
Suggested here: https://github.com/bitcoin/bitcoin/pull/29346#issuecomment-2108528652
The selection of methods added to the interface is mostly based on what the Template Provider in #29432 uses. It could be expanded further so that `rpc/mining.cpp` no longer needs `EnsureMemPool` and `EnsureChainman`.
This PR should be a pure refactor.
ACKs for top commit:
tdb3:
re ACK a9716c53f0
itornaza:
Code review and std-tests ACK a9716c53f0
ryanofsky:
Code review ACK a9716c53f0 with one minor suggestion in case you update. Only changes since last review were other small changes to the interface.
Tree-SHA512: cf97f87d6e9ed89da3835a0730da3b24a7b14c8605ea221149103a5915e79598cf082a95f2bc88e33f1c450e3d4aad88aed1163a29195acca88bcace055af724
2024-06-24 19:29:48 -04:00
..
2024-06-12 17:12:54 -04:00
2024-06-12 17:12:54 -04:00
2024-03-01 13:13:07 -05:00
2024-06-07 13:55:23 -04:00
2024-02-27 18:28:19 +00:00
2024-05-16 17:16:08 +02:00
2024-06-13 11:20:49 +01:00
2024-06-18 18:47:51 +02:00
2024-06-18 21:07:51 +02:00
2023-11-28 12:35:50 -05:00
2024-06-13 11:20:48 +01:00
2024-06-13 13:17:57 +01:00
2023-01-31 18:48:50 +01:00
2024-06-12 14:38:39 +01:00
2024-06-18 21:07:51 +02:00
2024-06-17 17:22:43 -04:00
2024-06-12 17:12:54 -04:00
2024-06-12 17:12:54 -04:00
2024-06-18 21:07:51 +02:00
2024-06-12 17:12:54 -04:00
2024-05-16 10:35:52 +08:00
2024-02-13 20:10:44 +00:00
2024-06-24 19:29:48 -04:00
2024-04-16 16:35:12 +02:00
2024-06-12 17:12:54 -04:00
2024-06-20 18:45:32 +00:00
2024-05-20 16:48:19 +00:00
2023-10-12 11:27:19 +02:00
2023-12-15 15:20:54 +01:00
2024-05-30 11:33:59 +01:00
2024-05-01 08:33:04 +02:00
2023-09-05 10:13:25 +02:00
2023-09-12 12:14:31 -04:00
2023-10-25 22:46:55 +02:00
2024-04-10 17:01:27 +02:00
2024-05-15 15:09:56 -04:00
2024-01-15 16:19:53 -05:00
2023-11-21 17:37:25 +01:00
2023-11-21 17:37:25 +01:00
2023-05-04 20:57:51 +01:00
2023-11-02 14:09:27 -04:00
2024-05-30 08:35:18 -04:00
2024-05-16 10:16:08 -05:00
2022-12-24 23:49:50 +00:00
2024-06-05 13:18:13 +02:00
2024-05-13 12:07:47 +02:00
2023-09-10 16:11:52 -04:00
2023-09-10 16:11:52 -04:00
2024-06-13 11:20:48 +01:00
2024-06-12 17:12:54 -04:00
2024-06-12 17:12:54 -04:00
2024-05-01 08:33:04 +02:00
2024-06-12 17:12:54 -04:00
2024-06-13 11:20:49 +01:00
2024-04-06 19:17:20 +01:00
2024-04-06 19:17:20 +01:00
2024-05-16 10:16:08 -05:00
2023-08-17 18:28:15 +02:00
2022-12-24 23:49:50 +00:00
2024-03-18 11:28:40 -05:00
2024-05-16 10:16:08 -05:00
2023-05-25 19:24:05 +02:00
2023-05-10 10:39:58 +02:00
2023-05-10 10:39:58 +02:00
2024-03-04 19:53:30 -05:00
2023-10-03 10:52:17 +01:00
2024-05-16 10:16:08 -05:00
2024-05-01 08:33:04 +02:00
2024-06-10 13:46:56 +02:00
2023-11-24 14:41:58 +00:00
2023-08-14 17:38:27 -04:00
2024-06-07 13:55:23 -04:00
2023-12-11 18:22:13 +01:00
2024-05-16 10:16:08 -05:00
2024-06-07 13:55:23 -04:00
2024-03-26 16:51:46 +00:00
2023-09-12 12:07:39 +02:00
2023-09-12 12:07:39 +02:00
2023-03-15 16:42:42 +01:00
2023-03-15 16:42:42 +01:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2024-05-16 15:03:13 -04:00
2024-03-27 14:16:37 +00:00
2023-05-20 12:08:13 +02:00
2024-03-11 13:49:37 +01:00
2023-04-03 14:41:22 +01:00
2024-01-05 17:12:38 +01:00
2023-11-16 11:36:22 +10:00
2024-02-01 13:52:05 +01:00
2022-12-12 21:06:04 +00:00
2024-05-16 10:16:08 -05:00
2024-05-01 08:33:04 +02:00
2023-12-04 15:39:15 -04:00
2024-05-16 10:16:08 -05:00
2024-03-01 14:47:29 -05:00
2024-06-24 19:29:48 -04:00
2023-12-04 15:39:15 -04:00
2024-01-16 15:29:18 +01:00
2023-08-14 17:38:27 -04:00
2024-06-03 16:59:43 +02:00
2024-06-03 16:59:43 +02:00
2024-05-16 10:16:08 -05:00
2024-05-16 10:16:08 -05:00
2024-06-24 19:29:48 -04:00
2024-03-20 16:30:04 -04:00
2022-06-23 15:33:01 +02:00
2024-04-12 14:28:34 +02:00
2024-03-04 10:02:26 +00:00
2024-05-06 11:29:14 +01:00
2022-09-13 17:15:17 +01:00
2023-11-20 15:57:50 -03:00
2023-07-19 10:26:11 +01:00
2024-06-13 11:20:48 +01:00
2024-06-18 12:24:48 +00:00
2023-01-28 15:24:13 +00:00
2023-09-13 11:37:45 +01:00
2024-04-07 14:04:45 +01:00
2023-11-28 17:49:41 +01:00
2024-05-16 10:16:08 -05:00
2024-02-28 10:05:56 -03:00
2024-06-20 18:45:32 +00:00
2024-06-20 13:28:38 -04:00
2024-05-20 16:48:19 +00:00
2024-06-14 14:23:50 +02:00
2024-05-07 10:28:58 +08:00
2024-05-16 10:16:08 -05:00
2024-05-16 10:16:08 -05:00
2024-06-21 09:43:46 +01:00
2024-06-14 14:23:50 +02:00
2023-12-06 11:22:42 -05:00
2023-12-02 22:03:08 +01:00
2023-11-20 14:02:27 +01:00
2024-03-21 16:41:16 +01:00
2024-05-03 14:20:44 -03:00
2024-05-03 14:20:44 -03:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2024-01-18 19:29:34 +01:00
2024-02-28 18:03:23 +01:00
2024-05-21 13:59:33 -04:00
2024-05-16 10:16:08 -05:00
2024-06-12 17:12:54 -04:00
2024-05-14 10:24:31 +02:00
2024-05-14 10:24:31 +02:00
2024-05-01 08:33:04 +02:00
2024-02-26 16:13:12 +00:00
2024-06-21 09:42:32 +01:00
2024-06-12 17:12:54 -04:00
2023-01-12 13:42:44 +00:00
2024-02-15 14:43:14 +01:00
2024-02-16 17:12:52 +01:00
2024-05-15 15:09:56 -04:00
2024-06-07 13:55:23 -04:00
2023-12-22 09:58:19 +01:00
2024-04-01 14:37:24 -04:00
2024-04-01 14:37:24 -04:00
2024-05-16 18:16:46 +02:00
2023-10-26 15:02:13 -04:00
2023-01-31 11:50:10 +00:00
2024-05-16 10:16:08 -05:00
2023-08-17 23:58:47 -05:00
2023-09-05 11:37:35 +01:00
2023-08-01 15:27:33 +02:00
2024-05-17 23:37:25 +02:00
2024-05-17 23:37:25 +02:00
2024-05-29 09:02:07 -07:00
2024-05-29 09:02:07 -07:00
2023-12-07 11:06:01 +01:00
2022-12-10 14:34:44 -06:00
2023-06-28 15:12:12 -04:00
2023-11-16 11:36:22 +10:00
2024-06-20 18:45:32 +00:00
2024-06-11 16:41:44 -04:00
2024-02-16 17:12:52 +01:00
2024-02-16 17:12:52 +01:00
2023-01-03 19:31:29 -06:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00