diff --git a/helpers/rpc/annotations-bitcoin-0.21.json b/helpers/rpc/annotations-bitcoin-0.21.json
new file mode 100644
index 0000000..8a41136
--- /dev/null
+++ b/helpers/rpc/annotations-bitcoin-0.21.json
@@ -0,0 +1,916 @@
+{
+ "abandontransaction": {
+ "added": "0.12.0",
+ "args": {
+ "txid": {
+ "type": "hex"
+ }
+ },
+ "see_also": {
+ "commands": [
+ "sendrawtransaction"
+ ]
+ },
+ "summary": "marks an in-wallet transaction and all its in-wallet descendants as abandoned. This allows their inputs to be respent."
+ },
+ "abortrescan": {
+ "summary": "Stops current wallet rescan"
+ },
+ "addmultisigaddress": {
+ "see_also": {
+ "commands": [
+ "createmultisig",
+ "decodescript"
+ ],
+ "glossary": [
+ [
+ "p2sh-address",
+ "Pay-To-Script-Hash (P2SH)"
+ ]
+ ]
+ },
+ "summary": "adds a P2SH multisig address to the wallet.",
+ "wallet": true
+ },
+ "addnode": {
+ "args": {
+ "command": {
+ "description": "What to do with the IP address above. Options are:
\u2022 `add` to add a node to the addnode list. Up to 8 nodes can be added additional to the default 8 nodes. Not limited by `-maxconnections`
\u2022 `remove` to remove a node from the list. If currently connected, this will disconnect immediately
\u2022 `onetry` to immediately attempt connection to the node even if the outgoing connection slots are full; this will only attempt the connection once"
+ },
+ "node": {
+ "description": "The node to add as a string in the form of `:`. The IP address may be a hostname resolvable through DNS, an IPv4 address, an IPv4-as-IPv6 address, or an IPv6 address"
+ }
+ },
+ "changed": "0.14.0",
+ "see_also": {
+ "commands": [
+ "getaddednodeinfo"
+ ]
+ }
+ },
+ "addwitnessaddress": {
+ "deprecated": "0.16.0",
+ "removed": "0.17.0"
+ },
+ "analyzepsbt": {
+ "added": "0.18.0"
+ },
+ "backupwallet": {
+ "see_also": {
+ "commands": [
+ "dumpwallet",
+ "importwallet"
+ ]
+ },
+ "wallet": true
+ },
+ "bumpfee": {
+ "added": "0.14.0",
+ "see_also": {
+ "commands": [
+ "createrawtransaction",
+ "fundrawtransaction",
+ "sendrawtransaction"
+ ]
+ }
+ },
+ "clearbanned": {
+ "added": "0.12.0",
+ "see_also": {
+ "commands": [
+ "listbanned",
+ "setban"
+ ]
+ }
+ },
+ "createmultisig": {
+ "see_also": {
+ "commands": [
+ "addmultisigaddress",
+ "decodescript"
+ ]
+ }
+ },
+ "createrawtransaction": {
+ "changed": "0.14.1",
+ "see_also": {
+ "commands": [
+ "decoderawtransaction",
+ "sendrawtransaction"
+ ]
+ }
+ },
+ "decoderawtransaction": {
+ "changed": "0.13.0",
+ "see_also": {
+ "commands": [
+ "createrawtransaction",
+ "sendrawtransaction"
+ ]
+ }
+ },
+ "decodescript": {
+ "see_also": {
+ "commands": [
+ "createmultisig"
+ ]
+ }
+ },
+ "deriveaddresses": {
+ "added": "0.18.0"
+ },
+ "disconnectnode": {
+ "added": "0.12.0",
+ "changed": "0.14.1",
+ "see_also": {
+ "commands": [
+ "addnode",
+ "getaddednodeinfo"
+ ]
+ }
+ },
+ "dumpprivkey": {
+ "see_also": {
+ "commands": [
+ "importprivkey",
+ "dumpwallet"
+ ]
+ }
+ },
+ "dumpwallet": {
+ "see_also": {
+ "commands": [
+ "backupwallet",
+ "importwallet"
+ ]
+ }
+ },
+ "encryptwallet": {
+ "see_also": {
+ "commands": [
+ "walletpassphrase",
+ "walletlock",
+ "walletpassphrasechange"
+ ]
+ }
+ },
+ "estimatefee": {
+ "deprecated": "0.15.0",
+ "removed": "0.17.0",
+ "see_also": {
+ "commands": [
+ "settxfee"
+ ]
+ }
+ },
+ "estimatepriority": {
+ "removed": "0.15.0"
+ },
+ "fundrawtransaction": {
+ "added": "0.12.0",
+ "changed": "0.14.0",
+ "see_also": {
+ "commands": [
+ "createrawtransaction",
+ "decoderawtransaction",
+ "sendrawtransaction"
+ ]
+ }
+ },
+ "generate": {
+ "added": "0.11.0",
+ "changed": "0.13.0",
+ "deprecated": "0.18.0",
+ "removed": "0.19"
+ },
+ "generatetoaddress": {
+ "added": "0.13.0",
+ "see_also": {
+ "commands": [
+ "generate",
+ "getmininginfo",
+ "getblocktemplate"
+ ]
+ }
+ },
+ "getaccount": {
+ "removed": "0.18.0"
+ },
+ "getaccountaddress": {
+ "deprecated": true,
+ "removed": "0.18.0"
+ },
+ "getaddednodeinfo": {
+ "changed": "0.14.0",
+ "see_also": {
+ "commands": [
+ "addnode",
+ "getpeerinfo"
+ ]
+ }
+ },
+ "getaddressbyaccount": {
+ "deprecated": true,
+ "removed": "0.18.0"
+ },
+ "getaddressesbyaccount": {
+ "removed": "0.18.0",
+ "see_also": {
+ "commands": [
+ "getbalance"
+ ]
+ }
+ },
+ "getaddressesbylabel": {
+ "added": "0.17.0"
+ },
+ "getaddressinfo": {
+ "added": "0.17.0"
+ },
+ "getbalance": {
+ "see_also": {
+ "commands": [
+ "getreceivedbyaddress"
+ ]
+ }
+ },
+ "getbalances": {
+ "added": "0.19"
+ },
+ "getbestblockhash": {
+ "see_also": {
+ "commands": [
+ "getblock",
+ "getblockhash"
+ ]
+ }
+ },
+ "getblock": {
+ "args": {
+ "blockhash": {
+ "type": "hex"
+ }
+ },
+ "changed": "0.13.0",
+ "see_also": {
+ "commands": [
+ "getblockhash",
+ "getbestblockhash"
+ ]
+ },
+ "summary": "gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block."
+ },
+ "getblockchaininfo": {
+ "changed": "0.12.1",
+ "see_also": {
+ "commands": [
+ "getmininginfo",
+ "getnetworkinfo",
+ "getwalletinfo"
+ ]
+ }
+ },
+ "getblockcount": {
+ "see_also": {
+ "commands": [
+ "getblockhash",
+ "getblock"
+ ]
+ }
+ },
+ "getblockfilter": {
+ "added": "0.19"
+ },
+ "getblockhash": {
+ "see_also": {
+ "commands": [
+ "getblock",
+ "getbestblockhash"
+ ]
+ }
+ },
+ "getblockheader": {
+ "added": "0.12.0",
+ "see_also": {
+ "commands": [
+ "getblock",
+ "getblockhash",
+ "getbestblockhash"
+ ]
+ }
+ },
+ "getblocktemplate": {
+ "see_also": {
+ "commands": [
+ "getmininginfo",
+ "submitblock",
+ "prioritisetransaction"
+ ]
+ }
+ },
+ "getchaintips": {
+ "see_also": {
+ "commands": [
+ "getbestblockhash",
+ "getblock",
+ "getblockchaininfo"
+ ]
+ }
+ },
+ "getconnectioncount": {
+ "see_also": {
+ "commands": [
+ "getnettotals",
+ "getpeerinfo",
+ "getnetworkinfo"
+ ]
+ }
+ },
+ "getdescriptorinfo": {
+ "added": "0.18.0"
+ },
+ "getdifficulty": {
+ "see_also": {
+ "commands": [
+ "getnetworkhashps",
+ "getmininginfo"
+ ]
+ }
+ },
+ "getgenerate": {
+ "removed": "0.13.0",
+ "see_also": {
+ "commands": [
+ "generate",
+ "generatetoaddress",
+ "getmininginfo"
+ ]
+ }
+ },
+ "gethashespersec": {
+ "removed": "0.11.0",
+ "see_also": {
+ "commands": [
+ "generate",
+ "getmininginfo"
+ ]
+ }
+ },
+ "getinfo": {
+ "removed": "0.16.0",
+ "see_also": {
+ "commands": [
+ "getblockchaininfo",
+ "getmempoolinfo",
+ "getmininginfo",
+ "getnetworkinfo",
+ "getwalletinfo"
+ ]
+ }
+ },
+ "getmemoryinfo": {
+ "added": "0.14.0",
+ "see_also": {
+ "commands": [
+ "getmempoolinfo"
+ ]
+ }
+ },
+ "getmempoolancestors": {
+ "added": "0.13.0",
+ "see_also": {
+ "commands": [
+ "getmempooldescendants",
+ "getrawmempool"
+ ]
+ }
+ },
+ "getmempooldescendants": {
+ "added": "0.13.0",
+ "see_also": {
+ "commands": [
+ "getmempoolancestors",
+ "getrawmempool"
+ ]
+ }
+ },
+ "getmempoolentry": {
+ "added": "0.13.0",
+ "see_also": {
+ "commands": [
+ "getmempoolancestors",
+ "getmempooldescendants",
+ "getrawmempool"
+ ]
+ }
+ },
+ "getmempoolinfo": {
+ "changed": "0.12.0",
+ "see_also": {
+ "commands": [
+ "getblockchaininfo",
+ "getrawmempool",
+ "gettxoutsetinfo"
+ ]
+ }
+ },
+ "getmininginfo": {
+ "changed": "0.14.0",
+ "see_also": {
+ "commands": [
+ "getmempoolinfo",
+ "getrawmempool",
+ "getblocktemplate",
+ "generate"
+ ]
+ }
+ },
+ "getnettotals": {
+ "changed": "0.12.0",
+ "see_also": {
+ "commands": [
+ "getnetworkinfo",
+ "getpeerinfo"
+ ]
+ }
+ },
+ "getnetworkhashps": {
+ "see_also": {
+ "commands": [
+ "getdifficulty",
+ "getblock"
+ ]
+ }
+ },
+ "getnetworkinfo": {
+ "changed": "0.13.0",
+ "see_also": {
+ "commands": [
+ "getpeerinfo",
+ "getnettotals"
+ ]
+ }
+ },
+ "getnewaddress": {
+ "see_also": {
+ "commands": [
+ "getrawchangeaddress",
+ "getbalance"
+ ]
+ }
+ },
+ "getnodeaddresses": {
+ "added": "0.18.0"
+ },
+ "getpeerinfo": {
+ "changed": "0.13.0",
+ "see_also": {
+ "commands": [
+ "getaddednodeinfo",
+ "getnettotals",
+ "getnetworkinfo"
+ ]
+ }
+ },
+ "getrawchangeaddress": {
+ "see_also": {
+ "commands": [
+ "getnewaddress"
+ ]
+ }
+ },
+ "getrawmempool": {
+ "changed": "0.13.0",
+ "see_also": {
+ "commands": [
+ "getmempoolinfo",
+ "getmempoolentry",
+ "gettxoutsetinfo"
+ ]
+ }
+ },
+ "getrawtransaction": {
+ "changed": "0.14.0",
+ "see_also": {
+ "commands": [
+ "gettransaction"
+ ]
+ }
+ },
+ "getreceivedbyaccount": {
+ "deprecated": true,
+ "removed": "0.18.0"
+ },
+ "getreceivedbyaddress": {},
+ "getreceivedbylabel": {
+ "added": "0.17.0"
+ },
+ "getrpcinfo": {
+ "added": "0.18.0"
+ },
+ "gettransaction": {
+ "changed": "0.12.0",
+ "see_also": {
+ "commands": [
+ "getrawtransaction"
+ ]
+ }
+ },
+ "gettxout": {
+ "see_also": {
+ "commands": [
+ "getrawtransaction",
+ "gettransaction"
+ ]
+ }
+ },
+ "gettxoutproof": {
+ "added": "0.11.0",
+ "see_also": {
+ "commands": [
+ "verifytxoutproof"
+ ],
+ "messages": [
+ [
+ "merkleblock",
+ "A description of the\n format used for the proof."
+ ]
+ ]
+ }
+ },
+ "gettxoutsetinfo": {
+ "see_also": {
+ "commands": [
+ "getblockchaininfo",
+ "getmempoolinfo"
+ ]
+ }
+ },
+ "getunconfirmedbalance": {
+ "see_also": {
+ "commands": [
+ "getbalance"
+ ]
+ }
+ },
+ "getwalletinfo": {
+ "see_also": {
+ "commands": [
+ "listtransactions"
+ ]
+ }
+ },
+ "getwork": {
+ "removed": "0.10.0",
+ "see_also": {
+ "commands": [
+ "getblocktemplate",
+ "submitblock"
+ ]
+ }
+ },
+ "importaddress": {
+ "see_also": {
+ "commands": [
+ "importprivkey",
+ "listreceivedbyaddress"
+ ]
+ }
+ },
+ "importmulti": {
+ "added": "0.14.0",
+ "see_also": {
+ "commands": [
+ "importprivkey",
+ "importaddress",
+ "importwallet"
+ ]
+ }
+ },
+ "importprivkey": {
+ "see_also": {
+ "commands": [
+ "dumpprivkey",
+ "importaddress",
+ "importwallet"
+ ]
+ }
+ },
+ "importprunedfunds": {
+ "added": "0.13.0",
+ "see_also": {
+ "commands": [
+ "importprivkey",
+ "removeprunedfunds"
+ ]
+ }
+ },
+ "importwallet": {
+ "see_also": {
+ "commands": [
+ "dumpwallet",
+ "importprivkey"
+ ]
+ }
+ },
+ "joinpsbts": {
+ "added": "0.18.0"
+ },
+ "keypoolrefill": {
+ "see_also": {
+ "commands": [
+ "getnewaddress",
+ "getwalletinfo"
+ ]
+ }
+ },
+ "listaccounts": {
+ "deprecated": true,
+ "removed": "0.18.0"
+ },
+ "listaddressgroupings": {
+ "see_also": {
+ "commands": [
+ "gettransaction"
+ ]
+ }
+ },
+ "listbanned": {
+ "added": "0.12.0",
+ "see_also": {
+ "commands": [
+ "setban",
+ "clearbanned"
+ ]
+ }
+ },
+ "listlabels": {
+ "added": "0.17.0"
+ },
+ "listlockunspent": {
+ "see_also": {
+ "commands": [
+ "lockunspent"
+ ]
+ }
+ },
+ "listreceivedbyaccount": {
+ "deprecated": true,
+ "removed": "0.18.0"
+ },
+ "listreceivedbyaddress": {
+ "see_also": {
+ "commands": [
+ "getreceivedbyaddress"
+ ]
+ }
+ },
+ "listreceivedbylabel": {
+ "added": "0.17.0"
+ },
+ "listsinceblock": {
+ "see_also": {
+ "commands": [
+ "listreceivedbyaddress"
+ ]
+ }
+ },
+ "listtransactions": {
+ "changed": "0.12.1",
+ "see_also": {
+ "commands": [
+ "gettransaction",
+ "listsinceblock"
+ ]
+ }
+ },
+ "listunspent": {
+ "changed": "0.13.0",
+ "see_also": {
+ "commands": [
+ "listtransactions",
+ "lockunspent"
+ ]
+ }
+ },
+ "listwalletdir": {
+ "added": "0.18.0"
+ },
+ "lockunspent": {
+ "see_also": {
+ "commands": [
+ "listlockunspent",
+ "listunspent"
+ ]
+ }
+ },
+ "move": {
+ "deprecated": true,
+ "removed": "0.18.0"
+ },
+ "ping": {
+ "see_also": {
+ "commands": [
+ "getpeerinfo"
+ ]
+ }
+ },
+ "preciousblock": {
+ "added": "0.14.0"
+ },
+ "prioritisetransaction": {
+ "see_also": {
+ "commands": [
+ "getrawmempool",
+ "getblocktemplate"
+ ]
+ }
+ },
+ "pruneblockchain": {
+ "added": "0.14.0",
+ "see_also": {
+ "commands": [
+ "importprunedfunds"
+ ]
+ }
+ },
+ "removeprunedfunds": {
+ "added": "0.13.0",
+ "see_also": {
+ "commands": [
+ "importprivkey",
+ "importprunedfunds"
+ ]
+ }
+ },
+ "rescanblockchain": {
+ "added": "0.16.0"
+ },
+ "savemempool": {
+ "added": "0.16.0"
+ },
+ "sendfrom": {
+ "deprecated": true,
+ "removed": "0.18.0"
+ },
+ "sendmany": {
+ "see_also": {
+ "commands": [
+ "sendtoaddress"
+ ]
+ }
+ },
+ "sendrawtransaction": {
+ "see_also": {
+ "commands": [
+ "createrawtransaction",
+ "decoderawtransaction"
+ ]
+ }
+ },
+ "sendtoaddress": {
+ "see_also": {
+ "commands": [
+ "sendmany"
+ ]
+ }
+ },
+ "setaccount": {
+ "deprecated": true,
+ "removed": "0.18.0"
+ },
+ "setban": {
+ "added": "0.12.0",
+ "see_also": {
+ "commands": [
+ "listbanned",
+ "clearbanned"
+ ]
+ }
+ },
+ "setgenerate": {
+ "removed": "0.13.0",
+ "see_also": {
+ "commands": [
+ "generate",
+ "generatetoaddress",
+ "getmininginfo",
+ "getblocktemplate"
+ ]
+ }
+ },
+ "setlabel": {
+ "added": "0.17.0"
+ },
+ "setnetworkactive": {
+ "added": "0.14.0",
+ "see_also": {
+ "commands": [
+ "getnetworkinfo"
+ ]
+ }
+ },
+ "settxfee": {
+ "see_also": {
+ "commands": [
+ "getwalletinfo",
+ "getnetworkinfo"
+ ]
+ }
+ },
+ "setwalletflag": {
+ "added": "0.19"
+ },
+ "signmessage": {
+ "see_also": {
+ "commands": [
+ "signmessagewithprivkey",
+ "verifymessage"
+ ]
+ }
+ },
+ "signmessagewithprivkey": {
+ "added": "0.13.0",
+ "see_also": {
+ "commands": [
+ "signmessage",
+ "verifymessage"
+ ]
+ }
+ },
+ "signrawtransaction": {
+ "removed": "0.18.0"
+ },
+ "submitblock": {
+ "see_also": {
+ "commands": [
+ "getblocktemplate"
+ ]
+ }
+ },
+ "submitheader": {
+ "added": "0.18.0"
+ },
+ "utxoupdatepsbt": {
+ "added": "0.18.0"
+ },
+ "validateaddress": {
+ "changed": "0.13.0",
+ "see_also": {
+ "commands": [
+ "importaddress",
+ "getnewaddress"
+ ]
+ }
+ },
+ "verifychain": {
+ "see_also": {
+ "commands": [
+ "getblockchaininfo",
+ "gettxoutsetinfo"
+ ]
+ }
+ },
+ "verifymessage": {
+ "see_also": {
+ "commands": [
+ "signmessage"
+ ]
+ }
+ },
+ "verifytxoutproof": {
+ "added": "0.11.0",
+ "see_also": {
+ "commands": [
+ "gettxoutproof"
+ ]
+ }
+ },
+ "walletlock": {
+ "see_also": {
+ "commands": [
+ "encryptwallet",
+ "walletpassphrase",
+ "walletpassphrasechange"
+ ]
+ }
+ },
+ "walletpassphrase": {
+ "see_also": {
+ "commands": [
+ "encryptwallet",
+ "walletpassphrasechange",
+ "walletlock"
+ ]
+ }
+ },
+ "walletpassphrasechange": {
+ "see_also": {
+ "commands": [
+ "encryptwallet",
+ "walletpassphrase",
+ "walletlock"
+ ]
+ }
+ }
+}
\ No newline at end of file