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 3201 : static inline void RegisterAllCoreRPCCommands(CRPCTable &t) 43 : { 44 3201 : RegisterBlockchainRPCCommands(t); 45 3201 : RegisterFeeRPCCommands(t); 46 3201 : RegisterMempoolRPCCommands(t); 47 3201 : RegisterMiningRPCCommands(t); 48 3201 : RegisterNodeRPCCommands(t); 49 3201 : RegisterNetRPCCommands(t); 50 3201 : RegisterOutputScriptRPCCommands(t); 51 3201 : RegisterRawTransactionRPCCommands(t); 52 3201 : RegisterSignMessageRPCCommands(t); 53 : #ifdef ENABLE_EXTERNAL_SIGNER 54 3201 : RegisterSignerRPCCommands(t); 55 : #endif // ENABLE_EXTERNAL_SIGNER 56 3201 : RegisterTxoutProofRPCCommands(t); 57 3201 : RegisterMasternodeRPCCommands(t); 58 3201 : RegisterCoinJoinRPCCommands(t); 59 3201 : RegisterGovernanceRPCCommands(t); 60 3201 : RegisterEvoRPCCommands(t); 61 3201 : RegisterQuorumsRPCCommands(t); 62 3201 : } 63 : 64 : #endif // BITCOIN_RPC_REGISTER_H