Skip to content

Commit d39925b

Browse files
committed
Disable PSBT RPCs when not in g_con_elementsmode.
1 parent 2848b52 commit d39925b

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

src/rpc/rawtransaction.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1312,6 +1312,9 @@ static std::string WriteHDKeypath(std::vector<uint32_t>& keypath)
13121312

13131313
UniValue blindpsbt(const JSONRPCRequest& request)
13141314
{
1315+
if (!g_con_elementsmode)
1316+
throw std::runtime_error("PSBT operations are disabled when not in elementsmode.\n");
1317+
13151318
if (request.fHelp || request.params.size() < 1 || request.params.size() > 2)
13161319
throw std::runtime_error(
13171320
RPCHelpMan{"blindpsbt",
@@ -1432,6 +1435,9 @@ UniValue blindpsbt(const JSONRPCRequest& request)
14321435

14331436
UniValue decodepsbt(const JSONRPCRequest& request)
14341437
{
1438+
if (!g_con_elementsmode)
1439+
throw std::runtime_error("PSBT operations are disabled when not in elementsmode.\n");
1440+
14351441
if (request.fHelp || request.params.size() != 1)
14361442
throw std::runtime_error(
14371443
RPCHelpMan{"decodepsbt",
@@ -1767,6 +1773,9 @@ UniValue decodepsbt(const JSONRPCRequest& request)
17671773

17681774
UniValue combinepsbt(const JSONRPCRequest& request)
17691775
{
1776+
if (!g_con_elementsmode)
1777+
throw std::runtime_error("PSBT operations are disabled when not in elementsmode.\n");
1778+
17701779
if (request.fHelp || request.params.size() != 1)
17711780
throw std::runtime_error(
17721781
RPCHelpMan{"combinepsbt",
@@ -1815,6 +1824,9 @@ UniValue combinepsbt(const JSONRPCRequest& request)
18151824

18161825
UniValue finalizepsbt(const JSONRPCRequest& request)
18171826
{
1827+
if (!g_con_elementsmode)
1828+
throw std::runtime_error("PSBT operations are disabled when not in elementsmode.\n");
1829+
18181830
if (request.fHelp || request.params.size() < 1 || request.params.size() > 2)
18191831
throw std::runtime_error(
18201832
RPCHelpMan{"finalizepsbt",
@@ -1873,6 +1885,9 @@ UniValue finalizepsbt(const JSONRPCRequest& request)
18731885

18741886
UniValue createpsbt(const JSONRPCRequest& request)
18751887
{
1888+
if (!g_con_elementsmode)
1889+
throw std::runtime_error("PSBT operations are disabled when not in elementsmode.\n");
1890+
18761891
if (request.fHelp || request.params.size() < 2 || request.params.size() > 4)
18771892
throw std::runtime_error(
18781893
RPCHelpMan{"createpsbt",
@@ -1948,6 +1963,9 @@ UniValue createpsbt(const JSONRPCRequest& request)
19481963

19491964
UniValue converttopsbt(const JSONRPCRequest& request)
19501965
{
1966+
if (!g_con_elementsmode)
1967+
throw std::runtime_error("PSBT operations are disabled when not in elementsmode.\n");
1968+
19511969
if (request.fHelp || request.params.size() < 1 || request.params.size() > 3)
19521970
throw std::runtime_error(
19531971
RPCHelpMan{"converttopsbt",

src/wallet/rpcwallet.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4372,6 +4372,9 @@ void AddKeypathToMap(const CWallet* pwallet, const CKeyID& keyID, std::map<CPubK
43724372

43734373
UniValue walletfillpsbtdata(const JSONRPCRequest& request)
43744374
{
4375+
if (!g_con_elementsmode)
4376+
throw std::runtime_error("PSBT operations are disabled when not in elementsmode.\n");
4377+
43754378
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
43764379
CWallet* const pwallet = wallet.get();
43774380

@@ -4422,6 +4425,9 @@ UniValue walletfillpsbtdata(const JSONRPCRequest& request)
44224425

44234426
UniValue walletsignpsbt(const JSONRPCRequest& request)
44244427
{
4428+
if (!g_con_elementsmode)
4429+
throw std::runtime_error("PSBT operations are disabled when not in elementsmode.\n");
4430+
44254431
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
44264432
CWallet* const pwallet = wallet.get();
44274433

@@ -4486,6 +4492,9 @@ UniValue walletsignpsbt(const JSONRPCRequest& request)
44864492

44874493
UniValue walletprocesspsbt(const JSONRPCRequest& request)
44884494
{
4495+
if (!g_con_elementsmode)
4496+
throw std::runtime_error("PSBT operations are disabled when not in elementsmode.\n");
4497+
44894498
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
44904499
CWallet* const pwallet = wallet.get();
44914500

@@ -4555,6 +4564,9 @@ UniValue walletprocesspsbt(const JSONRPCRequest& request)
45554564

45564565
UniValue walletcreatefundedpsbt(const JSONRPCRequest& request)
45574566
{
4567+
if (!g_con_elementsmode)
4568+
throw std::runtime_error("PSBT operations are disabled when not in elementsmode.\n");
4569+
45584570
std::shared_ptr<CWallet> const wallet = GetWalletForJSONRPCRequest(request);
45594571
CWallet* const pwallet = wallet.get();
45604572

0 commit comments

Comments
 (0)