rpc: add optimal result to getmempoolinfo

Expose this value to allow rpc based tooling to track this
value for network health diagnostics.
This commit is contained in:
Greg Sanders
2026-02-18 10:09:16 -05:00
parent a3fb3dd55c
commit a9e59f7d95
2 changed files with 8 additions and 0 deletions

View File

@@ -306,6 +306,9 @@ class MempoolClusterTest(BitcoinTestFramework):
assert_equal(node.getrawmempool(), [])
# Key should exist and be trivially optimal
assert node.getmempoolinfo()["optimal"]
# Not in-mempool
not_mempool_tx = self.wallet.create_self_transfer()
assert_raises_rpc_error(-5, "Transaction not in mempool", node.getmempoolcluster, not_mempool_tx["txid"])
@@ -367,6 +370,9 @@ class MempoolClusterTest(BitcoinTestFramework):
chunkfee = first_chunk_tx["fee"] + second_chunk_tx["fee"] + third_chunk_tx["fee"]
assert_equal(first_chunk_info, {'clusterweight': first_chunkweight + second_chunkweight + third_chunkweight, 'txcount': 3, 'chunks': [{'chunkfee': first_chunk_tx["fee"], 'chunkweight': first_chunkweight, 'txs': [first_chunk_tx["txid"]]}, {'chunkfee': second_chunk_tx["fee"], 'chunkweight': second_chunkweight, 'txs': [second_chunk_tx["txid"]]}, {'chunkfee': third_chunk_tx["fee"], 'chunkweight': third_chunkweight, 'txs': [third_chunk_tx["txid"]]}]})
# We expect known optimality directly after txn submission
assert node.getmempoolinfo()["optimal"]
# If we prioritise the last transaction it can join the second transaction's chunk.
node.prioritisetransaction(third_chunk_tx["txid"], 0, int(third_chunk_tx["fee"]*COIN) + 1)
first_chunk_info = node.getmempoolcluster(first_chunk_tx["txid"])