Line data Source code
1 : // Copyright (c) 2009-2021 The Bitcoin Core developers 2 : // Distributed under the MIT software license, see the accompanying 3 : // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 : 5 : #ifndef BITCOIN_RPC_REGISTER_H 6 : #define BITCOIN_RPC_REGISTER_H 7 : 8 : /** These are in one header file to avoid creating tons of single-function 9 : * headers for everything under src/rpc/ */ 10 : class CRPCCommand; 11 : class CRPCTable; 12 : 13 : template <typename T> 14 : class Span; 15 : 16 : void RegisterBlockchainRPCCommands(CRPCTable &tableRPC); 17 : void RegisterFeeRPCCommands(CRPCTable&); 18 : void RegisterMempoolRPCCommands(CRPCTable&); 19 : void RegisterMiningRPCCommands(CRPCTable &tableRPC); 20 : void RegisterNodeRPCCommands(CRPCTable&); 21 : void RegisterNetRPCCommands(CRPCTable&); 22 : void RegisterOutputScriptRPCCommands(CRPCTable&); 23 : void RegisterRawTransactionRPCCommands(CRPCTable &tableRPC); 24 : void RegisterSignMessageRPCCommands(CRPCTable&); 25 : /** Register raw transaction RPC commands */ 26 : void RegisterSignerRPCCommands(CRPCTable &tableRPC); 27 : void RegisterTxoutProofRPCCommands(CRPCTable&); 28 : void RegisterMasternodeRPCCommands(CRPCTable &tableRPC); 29 : void RegisterCoinJoinRPCCommands(CRPCTable &tableRPC); 30 : void RegisterGovernanceRPCCommands(CRPCTable &tableRPC); 31 : void RegisterEvoRPCCommands(CRPCTable &tableRPC); 32 : void RegisterQuorumsRPCCommands(CRPCTable &tableRPC); 33 : 34 : #ifdef ENABLE_WALLET 35 : // Dash-specific wallet-only RPC commands 36 : Span<const CRPCCommand> GetWalletCoinJoinRPCCommands(); 37 : Span<const CRPCCommand> GetWalletEvoRPCCommands(); 38 : Span<const CRPCCommand> GetWalletGovernanceRPCCommands(); 39 : Span<const CRPCCommand> GetWalletMasternodeRPCCommands(); 40 : #endif // ENABLE_WALLET 41 : 42 178 : static inline void RegisterAllCoreRPCCommands(CRPCTable &t) 43 : { 44 178 : RegisterBlockchainRPCCommands(t); 45 178 : RegisterFeeRPCCommands(t); 46 178 : RegisterMempoolRPCCommands(t); 47 178 : RegisterMiningRPCCommands(t); 48 178 : RegisterNodeRPCCommands(t); 49 178 : RegisterNetRPCCommands(t); 50 178 : RegisterOutputScriptRPCCommands(t); 51 178 : RegisterRawTransactionRPCCommands(t); 52 178 : RegisterSignMessageRPCCommands(t); 53 : #ifdef ENABLE_EXTERNAL_SIGNER 54 178 : RegisterSignerRPCCommands(t); 55 : #endif // ENABLE_EXTERNAL_SIGNER 56 178 : RegisterTxoutProofRPCCommands(t); 57 178 : RegisterMasternodeRPCCommands(t); 58 178 : RegisterCoinJoinRPCCommands(t); 59 178 : RegisterGovernanceRPCCommands(t); 60 178 : RegisterEvoRPCCommands(t); 61 178 : RegisterQuorumsRPCCommands(t); 62 178 : } 63 : 64 : #endif // BITCOIN_RPC_REGISTER_H