Skip to content

Commit

Permalink
merge bitcoin#19250: Make RPC help compile-time static
Browse files Browse the repository at this point in the history
  • Loading branch information
kwvg committed Mar 4, 2022
1 parent 70c70a6 commit 8a173fb
Show file tree
Hide file tree
Showing 7 changed files with 274 additions and 262 deletions.
8 changes: 4 additions & 4 deletions src/rpc/coinjoin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@
#ifdef ENABLE_WALLET
static UniValue coinjoin(const JSONRPCRequest& request)
{
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

if (request.fHelp || request.params.size() != 1)
throw std::runtime_error(
RPCHelpMan{"coinjoin",
Expand All @@ -36,6 +32,10 @@ static UniValue coinjoin(const JSONRPCRequest& request)
RPCExamples{""},
}.ToString());

std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

if (fMasternodeMode)
throw JSONRPCError(RPC_INTERNAL_ERROR, "Client-side mixing is not supported on masternodes");

Expand Down
20 changes: 10 additions & 10 deletions src/rpc/governance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -270,14 +270,14 @@ static void gobject_list_prepared_help(const JSONRPCRequest& request)

static UniValue gobject_list_prepared(const JSONRPCRequest& request)
{
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

if (request.fHelp || (request.params.size() > 2)) {
gobject_list_prepared_help(request);
}

std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

EnsureWalletIsUnlocked(pwallet);

int64_t nCount = request.params.size() > 1 ? ParseInt64V(request.params[1], "count") : 10;
Expand Down Expand Up @@ -612,13 +612,13 @@ static void gobject_vote_many_help(const JSONRPCRequest& request)

static UniValue gobject_vote_many(const JSONRPCRequest& request)
{
if (request.fHelp || request.params.size() != 4)
gobject_vote_many_help(request);

std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

if (request.fHelp || request.params.size() != 4)
gobject_vote_many_help(request);

uint256 hash = ParseHashV(request.params[1], "Object hash");
std::string strVoteSignal = request.params[2].get_str();
std::string strVoteOutcome = request.params[3].get_str();
Expand Down Expand Up @@ -668,13 +668,13 @@ static void gobject_vote_alias_help(const JSONRPCRequest& request)

static UniValue gobject_vote_alias(const JSONRPCRequest& request)
{
if (request.fHelp || request.params.size() != 5)
gobject_vote_alias_help(request);

std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

if (request.fHelp || request.params.size() != 5)
gobject_vote_alias_help(request);

uint256 hash = ParseHashV(request.params[1], "Object hash");
std::string strVoteSignal = request.params[2].get_str();
std::string strVoteOutcome = request.params[3].get_str();
Expand Down
7 changes: 3 additions & 4 deletions src/rpc/masternode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -202,13 +202,12 @@ static void masternode_outputs_help(const JSONRPCRequest& request)

static UniValue masternode_outputs(const JSONRPCRequest& request)
{
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

if (request.fHelp)
masternode_outputs_help(request);

std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

// Find possible candidates
std::vector<COutput> vPossibleCoins;
Expand Down
60 changes: 35 additions & 25 deletions src/rpc/rpcevo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -432,10 +432,6 @@ static void protx_register_submit_help(const JSONRPCRequest& request)
// handles register, register_prepare and register_fund in one method
static UniValue protx_register(const JSONRPCRequest& request)
{
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

bool isExternalRegister = request.params[0].get_str() == "register";
bool isFundRegister = request.params[0].get_str() == "register_fund";
bool isPrepareRegister = request.params[0].get_str() == "register_prepare";
Expand All @@ -448,6 +444,10 @@ static UniValue protx_register(const JSONRPCRequest& request)
protx_register_prepare_help(request);
}

std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

if (isExternalRegister || isFundRegister) {
EnsureWalletIsUnlocked(pwallet);
}
Expand Down Expand Up @@ -593,14 +593,14 @@ static UniValue protx_register(const JSONRPCRequest& request)

static UniValue protx_register_submit(const JSONRPCRequest& request)
{
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

if (request.fHelp || request.params.size() != 3) {
protx_register_submit_help(request);
}

std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

EnsureWalletIsUnlocked(pwallet);

CMutableTransaction tx;
Expand Down Expand Up @@ -649,13 +649,13 @@ static void protx_update_service_help(const JSONRPCRequest& request)

static UniValue protx_update_service(const JSONRPCRequest& request)
{
if (request.fHelp || (request.params.size() < 4 || request.params.size() > 6))
protx_update_service_help(request);

std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

if (request.fHelp || (request.params.size() < 4 || request.params.size() > 6))
protx_update_service_help(request);

EnsureWalletIsUnlocked(pwallet);

CProUpServTx ptx;
Expand Down Expand Up @@ -746,14 +746,14 @@ static void protx_update_registrar_help(const JSONRPCRequest& request)

static UniValue protx_update_registrar(const JSONRPCRequest& request)
{
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

if (request.fHelp || (request.params.size() != 5 && request.params.size() != 6)) {
protx_update_registrar_help(request);
}

std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

EnsureWalletIsUnlocked(pwallet);

CProUpRegTx ptx;
Expand Down Expand Up @@ -836,14 +836,14 @@ static void protx_revoke_help(const JSONRPCRequest& request)

static UniValue protx_revoke(const JSONRPCRequest& request)
{
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

if (request.fHelp || (request.params.size() < 3 || request.params.size() > 5)) {
protx_revoke_help(request);
}

std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
if (!wallet) return NullUniValue;
CWallet* const pwallet = wallet.get();

EnsureWalletIsUnlocked(pwallet);

CProUpRevTx ptx;
Expand Down Expand Up @@ -993,11 +993,16 @@ static UniValue protx_list(const JSONRPCRequest& request)
protx_list_help(request);
}

CWallet* pwallet;
#ifdef ENABLE_WALLET
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
CWallet* const pwallet = wallet.get();
try {
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
pwallet = wallet.get();
} catch (...) {
pwallet = nullptr;
}
#else
CWallet* const pwallet = nullptr;
pwallet = nullptr;
#endif

std::string type = "registered";
Expand Down Expand Up @@ -1096,11 +1101,16 @@ static UniValue protx_info(const JSONRPCRequest& request)
protx_info_help(request);
}

CWallet* pwallet;
#ifdef ENABLE_WALLET
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
CWallet* const pwallet = wallet.get();
try {
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
pwallet = wallet.get();
} catch (...) {
pwallet = nullptr;
}
#else
CWallet* const pwallet = nullptr;
pwallet = nullptr;
#endif

if (g_txindex) {
Expand Down
Loading

0 comments on commit 8a173fb

Please sign in to comment.