Skip to content

Commit 2a97ff4

Browse files
committed
Merge bitcoin/bitcoin#29954: RPC: Return permitbaremultisig and maxdatacarriersize in getmempoolinfo
1c10b73 RPC: Return permitbaremultisig and maxdatacarriersize in getmempoolinfo (Kristaps Kaupe) Pull request description: Other node relay settings like `fullrbf` and `minrelaytxfee` are already returned, makes sense to add these two too. ACKs for top commit: ajtowns: ACK 1c10b73 maflcko: lgtm ACK 1c10b73 theStack: ACK 1c10b73 Tree-SHA512: 1750d7d12de511f0ac34922ea9c58c4b9b55c3aaf22109abfd7dbe01ad1eb7b48fb4a6b074a0baf0e55ee2270fcc969b6830e499ff33adbcd0b9c761fb25e563
2 parents fd06825 + 1c10b73 commit 2a97ff4

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

src/rpc/mempool.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,8 @@ UniValue MempoolInfoToJSON(const CTxMemPool& pool)
691691
ret.pushKV("incrementalrelayfee", ValueFromAmount(pool.m_opts.incremental_relay_feerate.GetFeePerK()));
692692
ret.pushKV("unbroadcastcount", uint64_t{pool.GetUnbroadcastTxs().size()});
693693
ret.pushKV("fullrbf", true);
694+
ret.pushKV("permitbaremultisig", pool.m_opts.permit_bare_multisig);
695+
ret.pushKV("maxdatacarriersize", pool.m_opts.max_datacarrier_bytes.value_or(0));
694696
return ret;
695697
}
696698

@@ -713,6 +715,8 @@ static RPCHelpMan getmempoolinfo()
713715
{RPCResult::Type::NUM, "incrementalrelayfee", "minimum fee rate increment for mempool limiting or replacement in " + CURRENCY_UNIT + "/kvB"},
714716
{RPCResult::Type::NUM, "unbroadcastcount", "Current number of transactions that haven't passed initial broadcast yet"},
715717
{RPCResult::Type::BOOL, "fullrbf", "True if the mempool accepts RBF without replaceability signaling inspection (DEPRECATED)"},
718+
{RPCResult::Type::BOOL, "permitbaremultisig", "True if the mempool accepts transactions with bare multisig outputs"},
719+
{RPCResult::Type::NUM, "maxdatacarriersize", "Maximum number of bytes that can be used by OP_RETURN outputs in the mempool"},
716720
}},
717721
RPCExamples{
718722
HelpExampleCli("getmempoolinfo", "")

test/functional/mempool_accept.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ def run_test(self):
7878
node = self.nodes[0]
7979
self.wallet = MiniWallet(node)
8080

81+
assert_equal(node.getmempoolinfo()['permitbaremultisig'], False)
82+
8183
self.log.info('Start with empty mempool, and 200 blocks')
8284
self.mempool_size = 0
8385
assert_equal(node.getblockcount(), 200)

test/functional/mempool_datacarrier.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@
1313
)
1414
from test_framework.test_framework import BitcoinTestFramework
1515
from test_framework.test_node import TestNode
16-
from test_framework.util import assert_raises_rpc_error
16+
from test_framework.util import (
17+
assert_equal,
18+
assert_raises_rpc_error,
19+
)
1720
from test_framework.wallet import MiniWallet
1821

1922
from random import randbytes
@@ -48,6 +51,14 @@ def test_null_data_transaction(self, node: TestNode, data, success: bool) -> Non
4851
def run_test(self):
4952
self.wallet = MiniWallet(self.nodes[0])
5053

54+
# Test that bare multisig is allowed by default. Do it here rather than create a new test for it.
55+
assert_equal(self.nodes[0].getmempoolinfo()["permitbaremultisig"], True)
56+
57+
assert_equal(self.nodes[0].getmempoolinfo()["maxdatacarriersize"], MAX_OP_RETURN_RELAY)
58+
assert_equal(self.nodes[1].getmempoolinfo()["maxdatacarriersize"], 0)
59+
assert_equal(self.nodes[2].getmempoolinfo()["maxdatacarriersize"], CUSTOM_DATACARRIER_ARG)
60+
assert_equal(self.nodes[3].getmempoolinfo()["maxdatacarriersize"], 2)
61+
5162
# By default, any size is allowed.
5263

5364
# If it is custom set to 83, the historical value,

0 commit comments

Comments
 (0)