From 4b3a1aaf95ec512a29acfc6d7f1c3002848955a5 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Tue, 23 Sep 2025 12:05:19 +0100 Subject: [PATCH] Avoid recomputing mempool removals' transaction IDs in FullNode's broadcast_removed_tx. --- chia/full_node/full_node.py | 4 +--- chia/full_node/mempool.py | 6 +++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/chia/full_node/full_node.py b/chia/full_node/full_node.py index 163ccf77a020..f935b6f95c51 100644 --- a/chia/full_node/full_node.py +++ b/chia/full_node/full_node.py @@ -2903,7 +2903,7 @@ async def broadcast_removed_tx(self, mempool_removals: list[MempoolRemoveInfo]) removals_to_send: dict[bytes32, list[RemovedMempoolItem]] = dict() for removal_info in mempool_removals: - for internal_mempool_item in removal_info.items: + for transaction_id, internal_mempool_item in removal_info.items.items(): conds = internal_mempool_item.conds assert conds is not None @@ -2915,8 +2915,6 @@ async def broadcast_removed_tx(self, mempool_removals: list[MempoolRemoveInfo]) if len(peer_ids) == 0: continue - transaction_id = internal_mempool_item.spend_bundle.name() - self.log.debug(f"Broadcasting removed transaction {transaction_id} to wallet peers {peer_ids}") for peer_id in peer_ids: diff --git a/chia/full_node/mempool.py b/chia/full_node/mempool.py index ade1ee17ca49..a05bd921f50d 100644 --- a/chia/full_node/mempool.py +++ b/chia/full_node/mempool.py @@ -67,7 +67,7 @@ @dataclass class MempoolRemoveInfo: - items: list[InternalMempoolItem] + items: dict[bytes32, InternalMempoolItem] reason: MempoolRemoveReason @@ -340,7 +340,7 @@ def remove_from_pool(self, items: list[bytes32], reason: MempoolRemoveReason) -> Removes an item from the mempool. """ if items == []: - return MempoolRemoveInfo([], reason) + return MempoolRemoveInfo({}, reason) removed_items: list[MempoolItemInfo] = [] if reason != MempoolRemoveReason.BLOCK_INCLUSION: @@ -356,7 +356,7 @@ def remove_from_pool(self, items: list[bytes32], reason: MempoolRemoveReason) -> item = MempoolItemInfo(int(row[1]), int(row[2]), internal_item.height_added_to_mempool) removed_items.append(item) - removed_internal_items = [self._items.pop(name) for name in items] + removed_internal_items = {name: self._items.pop(name) for name in items} for batch in to_batches(items, SQLITE_MAX_VARIABLE_NUMBER): args = ",".join(["?"] * len(batch.entries))