MCPcopy Create free account
hub / github.com/bitcoin/bitcoin / MempoolInfoToJSON

Function MempoolInfoToJSON

src/rpc/mempool.cpp:1059–1083  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1057}
1058
1059UniValue MempoolInfoToJSON(const CTxMemPool& pool)
1060{
1061 // Make sure this call is atomic in the pool.
1062 LOCK(pool.cs);
1063 UniValue ret(UniValue::VOBJ);
1064 ret.pushKV("loaded", pool.GetLoadTried());
1065 ret.pushKV("size", pool.size());
1066 ret.pushKV("bytes", pool.GetTotalTxSize());
1067 ret.pushKV("usage", pool.DynamicMemoryUsage());
1068 ret.pushKV("total_fee", ValueFromAmount(pool.GetTotalFee()));
1069 ret.pushKV("maxmempool", pool.m_opts.max_size_bytes);
1070 ret.pushKV("mempoolminfee", ValueFromAmount(std::max(pool.GetMinFee(), pool.m_opts.min_relay_feerate).GetFeePerK()));
1071 ret.pushKV("minrelaytxfee", ValueFromAmount(pool.m_opts.min_relay_feerate.GetFeePerK()));
1072 ret.pushKV("incrementalrelayfee", ValueFromAmount(pool.m_opts.incremental_relay_feerate.GetFeePerK()));
1073 ret.pushKV("unbroadcastcount", pool.GetUnbroadcastTxs().size());
1074 ret.pushKV("permitbaremultisig", pool.m_opts.permit_bare_multisig);
1075 ret.pushKV("maxdatacarriersize", pool.m_opts.max_datacarrier_bytes.value_or(0));
1076 ret.pushKV("limitclustercount", pool.m_opts.limits.cluster_count);
1077 ret.pushKV("limitclustersize", pool.m_opts.limits.cluster_size_vbytes);
1078 ret.pushKV("optimal", pool.m_txgraph->DoWork(0)); // 0 work is a quick check for known optimality
1079 if (IsDeprecatedRPCEnabled("fullrbf")) {
1080 ret.pushKV("fullrbf", true);
1081 }
1082 return ret;
1083}
1084
1085static RPCMethod getmempoolinfo()
1086{

Callers 2

rest_mempoolFunction · 0.85
getmempoolinfoFunction · 0.85

Calls 12

ValueFromAmountFunction · 0.85
IsDeprecatedRPCEnabledFunction · 0.85
pushKVMethod · 0.80
GetLoadTriedMethod · 0.80
GetFeePerKMethod · 0.80
GetUnbroadcastTxsMethod · 0.80
DoWorkMethod · 0.80
sizeMethod · 0.45
GetTotalTxSizeMethod · 0.45
DynamicMemoryUsageMethod · 0.45
GetMinFeeMethod · 0.45
value_orMethod · 0.45

Tested by

no test coverage detected