diff options
| author | Andrew Chow <[email protected]> | 2019-12-11 17:11:20 -0500 |
|---|---|---|
| committer | Andrew Chow <[email protected]> | 2019-12-11 17:19:33 -0500 |
| commit | 7d263571bee8c36fbe3c854b69c6f31cf1ee3b9b (patch) | |
| tree | 4d3677942bf18879fef67aedc4707f91e8875094 /src/rpc/blockchain.cpp | |
| parent | Merge #17050: tests: Add fuzzing harnesses for functions parsing scripts, num... (diff) | |
| download | discoin-7d263571bee8c36fbe3c854b69c6f31cf1ee3b9b.tar.xz discoin-7d263571bee8c36fbe3c854b69c6f31cf1ee3b9b.zip | |
rpc: require second argument only for scantxoutset start action
The second argument of scanobjects is only required for the start action.
Stop and abort actions do not need this.
Diffstat (limited to 'src/rpc/blockchain.cpp')
| -rw-r--r-- | src/rpc/blockchain.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/rpc/blockchain.cpp b/src/rpc/blockchain.cpp index 946152d9a..caec316cd 100644 --- a/src/rpc/blockchain.cpp +++ b/src/rpc/blockchain.cpp @@ -2055,7 +2055,7 @@ UniValue scantxoutset(const JSONRPCRequest& request) " \"start\" for starting a scan\n" " \"abort\" for aborting the current scan (returns true when abort was successful)\n" " \"status\" for progress report (in %) of the current scan"}, - {"scanobjects", RPCArg::Type::ARR, RPCArg::Optional::NO, "Array of scan objects\n" + {"scanobjects", RPCArg::Type::ARR, RPCArg::Optional::OMITTED, "Array of scan objects. Required for \"start\" action\n" " Every scan object is either a string descriptor or an object:", { {"descriptor", RPCArg::Type::STR, RPCArg::Optional::OMITTED, "An output descriptor"}, @@ -2115,6 +2115,11 @@ UniValue scantxoutset(const JSONRPCRequest& request) if (!reserver.reserve()) { throw JSONRPCError(RPC_INVALID_PARAMETER, "Scan already in progress, use action \"abort\" or \"status\""); } + + if (request.params.size() < 2) { + throw JSONRPCError(RPC_MISC_ERROR, "scanobjects argument is required for the start action"); + } + std::set<CScript> needles; std::map<CScript, std::string> descriptors; CAmount total_in = 0; |