Skip to content

Conversation

@maflcko
Copy link
Member

@maflcko maflcko commented Jul 11, 2023

Now that LIMIT_TO_MESSAGE_TYPE is a runtime setting after commit 927b001, it shouldn't hurt to also generate each message type individually. Something similar was done for the rpc target in commit cf4da5e.

@DrahtBot
Copy link
Contributor

DrahtBot commented Jul 11, 2023

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK stickies-v, brunoerg

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #27742 ([NO MERGE] BIP331 Ancestor Package Relay by glozow)
  • #27534 (rpc: add 'getnetmsgstats', new rpc to view network message statistics by satsie)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@DrahtBot DrahtBot changed the title fuzz: Generate process_message targets individually fuzz: Generate process_message targets individually Jul 11, 2023
@DrahtBot DrahtBot added the Tests label Jul 11, 2023
With C++11 (and later), the duplicate variable is no longer needed.

Also, run clang-format on the namespace, as the script in the next
commit relies on a specific format. This prevents a clang-format run in
the future from breaking the script. (Review hint: --ignore-all-space).
@maflcko maflcko force-pushed the 2307-fuzz-p2p-msg- branch from fa28803 to bbbb996 Compare July 11, 2023 17:29
Copy link
Contributor

@brunoerg brunoerg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK bbbb996c15aef7786c3a215ed16e1913b12b0f8c

lgtm! running ./test/fuzz/test_runner.py corpus process_message -g on this PR,target becomes:

[('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'version'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'verack'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'addr'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'addrv2'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'sendaddrv2'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'inv'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getdata'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'merkleblock'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getblocks'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getheaders'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'tx'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'headers'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'block'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getaddr'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'mempool'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'ping'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'pong'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'notfound'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'filterload'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'filteradd'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'filterclear'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'sendheaders'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'feefilter'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'sendcmpct'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'cmpctblock'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getblocktxn'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'blocktxn'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getcfilters'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'cfilter'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getcfheaders'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'cfheaders'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getcfcheckpt'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'cfcheckpt'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'wtxidrelay'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'sendtxrcncl'}), ('process_message', {})]

on master:

[('process_message', {})]

Copy link
Contributor

@stickies-v stickies-v left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Concept ACK, reviewed code mechanically and looks good too.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could make this a bit more robust by only considering lines within namespace NetMsgType?

    if has_p2p_msg:
        cmd = ["awk" , "/namespace NetMsgType {/,/} \/\/ namespace NetMsgType/ { print $0 }", str(Path(src_dir) / 'src' / 'protocol.cpp')]
        lines = subprocess.run(
            cmd,
            check=True,
            stdout=subprocess.PIPE,
            text=True,
        ).stdout.splitlines()
        lines = [l.split('"', 1)[1].split('"')[0] for l in lines if l.startswith("const char")]

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awk will probably fail on macOS again? Also, there shouldn't be any risk in being too greedy, because the fuzz target also validates the argument. It seems more risky to be too little greedy.

Copy link
Contributor

@stickies-v stickies-v Jul 12, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works fine here (macOS 13.4) but I'm not familiar with its portability, so if that's been an issue in the past then yeah might not be ideal. I agree that being too greedy is not a huge risk but if we can be specific I think that's still preferred. Alternatively, could also use git grep with g_all_net_message_types like we do for the rpc target - didn't see that earlier.

    if has_p2p_msg:
        lines = subprocess.run(
            ["git", "grep", "--function-context", "g_all_net_message_types{", os.path.join(src_dir, "src", "protocol.cpp")],
            check=True,
            stdout=subprocess.PIPE,
            text=True,
        ).stdout.splitlines()
        lines = [l.split("\"", 1)[1].split("\"")[0] for l in lines if l.startswith("src/protocol.cpp-    NetMsgType::")]

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thx, pushed.

@maflcko maflcko force-pushed the 2307-fuzz-p2p-msg- branch 2 times, most recently from fa72260 to fa68242 Compare July 12, 2023 13:10
Copy link
Contributor

@stickies-v stickies-v left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

crACK fa6824245928dfdbfce75f7e62d646c7e09c9e77

Seems sensible to take a similar approach as in #28015, but I'm not very familiar with fuzzing so my ACK is mostly on the mechanics of the code, which LGTM.

Comment on lines 220 to 221
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: has_... is not really useful anymore i guess

Suggested change
has_rpc = (rpc_target, {}) in targets
if has_rpc:
if (rpc_target, {}) in targets:

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thx,fixed

@DrahtBot DrahtBot requested a review from brunoerg July 12, 2023 13:46
Also, add an "rpc" target without LIMIT_TO_RPC_COMMAND set.
@maflcko maflcko force-pushed the 2307-fuzz-p2p-msg- branch from fa68242 to fa6245d Compare July 12, 2023 13:52
@stickies-v
Copy link
Contributor

re-crACK fa6245d

Copy link
Contributor

@brunoerg brunoerg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reACK fa6245d

code lgtm! better with git grep.

targets with rpc and process_message:

➜  bitcoin-core-dev git:(28066-marco) ✗ ./test/fuzz/test_runner.py corpus process_message rpc -g
2 of 168 detected fuzz target(s) selected: process_message rpc
Generating corpus to corpus
[('process_message', {}), ('rpc', {}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'version'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'verack'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'addr'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'addrv2'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'sendaddrv2'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'inv'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getdata'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'merkleblock'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getblocks'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getheaders'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'tx'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'headers'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'block'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getaddr'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'mempool'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'ping'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'pong'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'notfound'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'filterload'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'filteradd'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'filterclear'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'sendheaders'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'feefilter'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'sendcmpct'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'cmpctblock'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getblocktxn'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'blocktxn'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getcfilters'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'cfilter'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getcfheaders'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'cfheaders'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getcfcheckpt'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'cfcheckpt'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'wtxidrelay'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'sendtxrcncl'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'analyzepsbt'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'clearbanned'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'combinepsbt'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'combinerawtransaction'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'converttopsbt'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'createmultisig'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'createpsbt'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'createrawtransaction'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'decodepsbt'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'decoderawtransaction'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'decodescript'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'deriveaddresses'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'descriptorprocesspsbt'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'disconnectnode'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'echo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'echojson'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'estimaterawfee'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'estimatesmartfee'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'finalizepsbt'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'generate'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'generateblock'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getaddednodeinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getbestblockhash'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblock'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblockchaininfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblockcount'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblockfilter'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblockfrompeer'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblockhash'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblockheader'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblockstats'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblocktemplate'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getchaintips'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getchaintxstats'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getconnectioncount'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getdeploymentinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getdescriptorinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getdifficulty'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getindexinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getmemoryinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getmempoolancestors'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getmempooldescendants'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getmempoolentry'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getmempoolinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getmininginfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getnettotals'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getnetworkhashps'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getnetworkinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getnodeaddresses'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getpeerinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getprioritisedtransactions'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getrawmempool'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getrawtransaction'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getrpcinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'gettxout'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'gettxoutsetinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'gettxspendingprevout'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'help'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'invalidateblock'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'joinpsbts'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'listbanned'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'logging'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'mockscheduler'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'ping'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'preciousblock'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'prioritisetransaction'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'pruneblockchain'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'reconsiderblock'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'scanblocks'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'scantxoutset'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'sendrawtransaction'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'setmocktime'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'setnetworkactive'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'signmessagewithprivkey'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'signrawtransactionwithkey'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'submitblock'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'submitheader'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'submitpackage'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'syncwithvalidationinterfacequeue'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'testmempoolaccept'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'uptime'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'utxoupdatepsbt'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'validateaddress'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'verifychain'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'verifymessage'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'verifytxoutproof'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'waitforblock'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'waitforblockheight'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'waitfornewblock'})]

only process message:

➜  bitcoin-core-dev git:(28066-marco) ✗ ./test/fuzz/test_runner.py corpus process_message -g    
1 of 168 detected fuzz target(s) selected: process_message
Generating corpus to corpus
[('process_message', {}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'version'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'verack'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'addr'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'addrv2'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'sendaddrv2'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'inv'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getdata'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'merkleblock'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getblocks'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getheaders'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'tx'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'headers'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'block'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getaddr'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'mempool'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'ping'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'pong'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'notfound'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'filterload'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'filteradd'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'filterclear'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'sendheaders'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'feefilter'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'sendcmpct'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'cmpctblock'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getblocktxn'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'blocktxn'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getcfilters'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'cfilter'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getcfheaders'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'cfheaders'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'getcfcheckpt'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'cfcheckpt'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'wtxidrelay'}), ('process_message', {'LIMIT_TO_MESSAGE_TYPE': 'sendtxrcncl'})]

only rpc:

➜  bitcoin-core-dev git:(28066-marco) ✗ ./test/fuzz/test_runner.py corpus rpc -g
1 of 168 detected fuzz target(s) selected: rpc
Generating corpus to corpus
[('rpc', {}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'analyzepsbt'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'clearbanned'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'combinepsbt'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'combinerawtransaction'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'converttopsbt'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'createmultisig'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'createpsbt'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'createrawtransaction'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'decodepsbt'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'decoderawtransaction'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'decodescript'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'deriveaddresses'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'descriptorprocesspsbt'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'disconnectnode'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'echo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'echojson'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'estimaterawfee'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'estimatesmartfee'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'finalizepsbt'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'generate'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'generateblock'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getaddednodeinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getbestblockhash'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblock'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblockchaininfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblockcount'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblockfilter'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblockfrompeer'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblockhash'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblockheader'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblockstats'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getblocktemplate'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getchaintips'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getchaintxstats'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getconnectioncount'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getdeploymentinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getdescriptorinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getdifficulty'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getindexinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getmemoryinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getmempoolancestors'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getmempooldescendants'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getmempoolentry'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getmempoolinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getmininginfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getnettotals'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getnetworkhashps'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getnetworkinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getnodeaddresses'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getpeerinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getprioritisedtransactions'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getrawmempool'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getrawtransaction'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'getrpcinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'gettxout'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'gettxoutsetinfo'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'gettxspendingprevout'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'help'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'invalidateblock'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'joinpsbts'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'listbanned'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'logging'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'mockscheduler'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'ping'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'preciousblock'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'prioritisetransaction'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'pruneblockchain'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'reconsiderblock'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'scanblocks'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'scantxoutset'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'sendrawtransaction'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'setmocktime'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'setnetworkactive'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'signmessagewithprivkey'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'signrawtransactionwithkey'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'submitblock'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'submitheader'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'submitpackage'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'syncwithvalidationinterfacequeue'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'testmempoolaccept'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'uptime'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'utxoupdatepsbt'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'validateaddress'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'verifychain'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'verifymessage'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'verifytxoutproof'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'waitforblock'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'waitforblockheight'}), ('rpc', {'LIMIT_TO_RPC_COMMAND': 'waitfornewblock'})]

@maflcko
Copy link
Member Author

maflcko commented Jul 20, 2023

Anything left to do for a test-only change with two ACKs or is this rfm?

@fanquake fanquake merged commit 355bbcb into bitcoin:master Jul 20, 2023
@maflcko maflcko deleted the 2307-fuzz-p2p-msg- branch July 20, 2023 13:04
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Jul 21, 2023
@bitcoin bitcoin locked and limited conversation to collaborators Dec 5, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants