merge-script
23e15d40b9
Merge bitcoin/bitcoin#32631 : refactor: Convert GenTxid to std::variant
...
a60f863d3e scripted-diff: Replace GenTxidVariant with GenTxid (marcofleon)
c8ba199598 Remove old GenTxid class (marcofleon)
072a198ea4 Convert remaining instances of GenTxid to GenTxidVariant (marcofleon)
1b528391c7 Convert `txrequest` to GenTxidVariant (marcofleon)
bde4579b07 Convert `txdownloadman_impl` to GenTxidVariant (marcofleon)
c876a892ec Replace GenTxid with Txid/Wtxid overloads in `txmempool` (marcofleon)
de858ce2be move-only: make GetInfo a private CTxMemPool member (stickies-v)
eee473d9f3 Convert `CompareInvMempoolOrder` to GenTxidVariant (marcofleon)
243553d590 refactor: replace get_iter_from_wtxid with GetIter(const Wtxid&) (stickies-v)
fcf92fd640 refactor: make CTxMemPool::GetIter strongly typed (marcofleon)
11d28f21bb Implement GenTxid as a variant (marcofleon)
Pull request description:
Part of the [type safety refactor](https://github.com/bitcoin/bitcoin/pull/32189 ).
This PR changes the GenTxid class to a variant, which holds both Txids and Wtxids. This provides compile-time type safety and eliminates the manual type check (bool m_is_wtxid). Variables that can be either a Txid or a Wtxid are now using the new GenTxid variant, instead of uint256.
ACKs for top commit:
w0xlt:
ACK a60f863d3e
dergoegge:
Code review ACK a60f863d3e
maflcko:
review ACK a60f863d3e 🎽
theStack:
Code-review ACK a60f863d3e
Tree-SHA512: da9b73b7bdffee2eb9281a409205519ac330d3336094d17681896703fbca8099608782c9c85801e388e4d90af5af8abf1f34931f57bbbe6e9674d802d6066047
2025-07-11 13:47:19 -04:00
..
2025-07-10 14:41:44 -07:00
2025-06-11 15:08:23 -07:00
2025-05-08 16:49:58 +01:00
2025-06-03 19:56:55 +02:00
2025-06-03 19:56:55 +02:00
2025-06-16 15:33:15 +02:00
2025-02-13 12:30:15 -05:00
2025-07-11 13:47:19 -04:00
2025-06-19 16:29:55 +02:00
2025-06-03 19:56:55 +02:00
2025-05-30 16:51:49 +01:00
2025-02-21 10:43:01 +01:00
2025-05-13 18:07:47 +01:00
2025-07-11 13:47:19 -04:00
2025-07-11 13:47:19 -04:00
2025-07-11 13:47:19 -04:00
2025-07-11 14:26:16 +01:00
2025-07-11 13:47:19 -04:00
2025-07-02 15:06:33 +01:00
2025-05-13 11:31:34 +01:00
2025-05-19 16:40:33 +01:00
2025-07-11 13:47:19 -04:00
2025-05-20 09:43:21 +01:00
2025-07-11 13:47:19 -04:00
2025-07-10 14:41:44 -07:00
2025-06-13 19:19:44 +03:00
2025-06-03 15:13:54 +02:00
2025-07-10 11:24:40 +02:00
2024-07-30 14:06:58 -04:00
2025-03-23 21:58:39 +01:00
2024-09-20 12:55:22 -04:00
2024-11-11 12:47:53 -03:00
2024-11-11 12:47:53 -03:00
2025-01-09 10:11:46 -05:00
2025-04-07 10:45:13 -04:00
2025-01-14 19:21:37 +01:00
2025-05-19 16:40:33 +01:00
2025-06-03 15:13:54 +02:00
2025-03-12 19:46:54 +01:00
2025-06-03 15:13:57 +02:00
2025-06-03 15:13:57 +02:00
2025-06-03 19:56:55 +02:00
2025-03-12 19:46:54 +01:00
2025-05-24 13:49:32 +02:00
2025-06-10 15:14:24 +02:00
2025-05-15 19:48:38 +02:00
2025-06-10 15:14:24 +02:00
2025-06-10 15:14:24 +02:00
2025-05-17 09:36:25 +02:00
2025-06-10 15:14:24 +02:00
2025-01-15 12:15:40 +01:00
2025-06-10 15:14:24 +02:00
2025-05-09 15:07:04 +02:00
2025-05-12 14:49:17 -04:00
2025-06-10 15:14:24 +02:00
2025-01-16 21:06:21 +00:00
2025-06-10 10:07:56 -04:00
2025-06-10 10:07:56 -04:00
2024-05-16 10:16:08 -05:00
2025-06-12 14:40:59 -04:00
2025-05-15 22:12:24 +02:00
2025-06-03 15:13:57 +02:00
2024-11-14 13:41:02 -05:00
2025-03-06 15:39:58 -06:00
2025-05-19 22:06:48 +00:00
2025-05-20 09:30:41 +01:00
2025-05-29 11:18:36 +01:00
2025-06-03 19:56:55 +02:00
2025-05-28 20:22:00 +01:00
2024-12-04 14:09:05 -05:00
2025-06-03 15:13:57 +02:00
2025-03-12 19:46:54 +01:00
2024-11-26 20:47:08 -05:00
2025-04-22 13:16:54 +01:00
2024-06-07 13:55:23 -04:00
2025-05-19 16:40:33 +01:00
2025-04-07 15:59:41 +02:00
2025-04-07 15:59:41 +02:00
2025-04-30 14:51:21 +02:00
2025-04-30 14:51:21 +02:00
2025-02-21 10:41:27 +01:00
2025-01-21 00:38:03 +10:00
2025-05-06 12:21:32 -07:00
2024-08-13 07:44:31 +02:00
2025-06-16 15:33:19 +02:00
2024-07-24 09:39:35 +02:00
2025-03-12 19:46:54 +01:00
2025-03-12 19:46:54 +01:00
2025-03-04 14:23:18 -05:00
2025-05-19 16:40:33 +01:00
2025-07-03 06:26:23 -04:00
2025-06-06 15:31:36 -07:00
2024-11-04 17:08:21 +01:00
2025-04-22 13:16:54 +01:00
2024-06-12 16:19:50 -03:00
2025-07-11 11:18:03 +01:00
2025-01-16 21:06:21 +00:00
2025-06-03 15:13:57 +02:00
2025-03-12 19:46:54 +01:00
2025-03-12 19:46:54 +01:00
2025-07-09 09:13:00 -04:00
2025-07-09 09:13:00 -04:00
2024-11-04 14:19:40 -05:00
2024-10-29 11:58:51 -04:00
2024-11-04 18:46:40 +01:00
2024-04-07 14:04:45 +01:00
2024-07-08 11:12:01 +02:00
2024-05-16 10:16:08 -05:00
2025-02-21 10:41:27 +01:00
2025-07-11 13:47:19 -04:00
2025-07-08 16:03:05 +01:00
2024-05-20 16:48:19 +00:00
2024-07-08 11:12:01 +02:00
2025-06-16 15:33:15 +02:00
2025-05-10 03:31:30 +00:00
2025-06-03 08:09:21 +01:00
2025-03-12 19:46:54 +01:00
2025-06-30 13:28:17 -04:00
2025-06-03 19:56:55 +02:00
2024-03-21 16:41:16 +01:00
2025-06-18 18:11:28 -03:00
2025-06-18 18:11:28 -03:00
2025-04-22 17:11:24 +10:00
2025-06-03 15:13:57 +02:00
2025-05-14 09:35:32 +02:00
2025-07-08 20:00:51 +01:00
2025-07-08 20:00:51 +01:00
2025-05-14 14:00:43 -07:00
2025-05-14 14:00:43 -07:00
2025-03-12 19:46:54 +01:00
2025-03-12 19:46:54 +01:00
2025-05-14 22:55:10 -07:00
2025-03-20 13:41:54 +08:00
2025-05-08 16:49:58 +01:00
2025-07-06 11:20:18 +08:00
2025-06-16 18:09:14 +00:00
2025-05-10 03:31:30 +00:00
2025-05-14 15:41:20 +02:00
2025-03-12 19:46:54 +01:00
2025-03-12 19:46:54 +01:00
2025-06-16 15:33:19 +02:00
2025-07-03 15:37:44 -07:00
2025-02-21 10:43:01 +01:00
2025-07-07 15:51:37 +01:00
2025-05-08 20:13:46 +00:00
2025-01-15 12:16:08 +01:00
2025-05-13 12:09:40 +02:00
2025-05-13 12:09:40 +02:00
2025-04-07 15:59:41 +02:00
2025-01-15 15:44:55 +01:00
2025-07-02 16:01:57 -04:00
2025-07-02 14:52:54 -04:00
2025-07-11 13:47:19 -04:00
2025-07-11 13:47:19 -04:00
2025-02-07 13:55:57 -05:00
2025-02-07 13:55:57 -05:00
2025-07-08 20:00:51 +01:00
2025-07-08 20:00:51 +01:00
2025-04-09 15:59:59 +01:00
2025-04-09 15:59:59 +01:00
2025-07-11 13:47:19 -04:00
2025-07-09 16:55:43 -07:00
2025-06-16 18:09:14 +00:00
2025-07-07 18:14:52 +01:00
2025-01-21 00:38:03 +10:00
2025-04-30 14:51:21 +02:00
2025-04-30 14:51:21 +02:00
2024-07-08 11:12:01 +02:00