aboutsummaryrefslogtreecommitdiff
path: root/src/rpc/blockchain.cpp
diff options
context:
space:
mode:
authorSjors Provoost <sjors@sprovoost.nl>2021-12-13 13:25:15 +0700
committerSjors Provoost <sjors@sprovoost.nl>2021-12-24 16:29:03 +0100
commit60243cac7286e4c4bdda7094bef4cf6d1564b583 (patch)
treefa873dd5208553106898521c1072d9e60b2eea62 /src/rpc/blockchain.cpp
parent809d66bb65aa78048e27c2a878d6f7becaecfe11 (diff)
downloadbitcoin-60243cac7286e4c4bdda7094bef4cf6d1564b583.tar.xz
rpc: turn already downloaded into error in getblockfrompeer
Diffstat (limited to 'src/rpc/blockchain.cpp')
-rw-r--r--src/rpc/blockchain.cpp15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/rpc/blockchain.cpp b/src/rpc/blockchain.cpp
index 93d5719e25..27b04ed834 100644
--- a/src/rpc/blockchain.cpp
+++ b/src/rpc/blockchain.cpp
@@ -787,10 +787,7 @@ static RPCHelpMan getblockfrompeer()
{"blockhash", RPCArg::Type::STR_HEX, RPCArg::Optional::NO, "The block hash"},
{"nodeid", RPCArg::Type::NUM, RPCArg::Optional::NO, "The node ID (see getpeerinfo for node IDs)"},
},
- RPCResult{RPCResult::Type::OBJ, "", "",
- {
- {RPCResult::Type::STR, "warnings", /*optional=*/true, "any warnings"},
- }},
+ RPCResult{RPCResult::Type::OBJ_EMPTY, "", /*optional=*/ false, "", {}},
RPCExamples{
HelpExampleCli("getblockfrompeer", "\"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\" 0")
+ HelpExampleRpc("getblockfrompeer", "\"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\" 0")
@@ -816,14 +813,14 @@ static RPCHelpMan getblockfrompeer()
throw JSONRPCError(RPC_MISC_ERROR, "Block header missing");
}
- UniValue result = UniValue::VOBJ;
-
if (index->nStatus & BLOCK_HAVE_DATA) {
- result.pushKV("warnings", "Block already downloaded");
- } else if (!peerman.FetchBlock(nodeid, *index)) {
+ throw JSONRPCError(RPC_MISC_ERROR, "Block already downloaded");
+ }
+
+ if (!peerman.FetchBlock(nodeid, *index)) {
throw JSONRPCError(RPC_MISC_ERROR, "Failed to fetch block from peer");
}
- return result;
+ return UniValue::VOBJ;
},
};
}