Changeset View
Changeset View
Standalone View
Standalone View
src/wallet/rpcdump.cpp
Show First 20 Lines • Show All 1,264 Lines • ▼ Show 20 Lines | static UniValue ProcessImportDescriptor(ImportData &import_data, | ||||
UniValue warnings(UniValue::VARR); | UniValue warnings(UniValue::VARR); | ||||
const std::string &descriptor = data["desc"].get_str(); | const std::string &descriptor = data["desc"].get_str(); | ||||
FlatSigningProvider keys; | FlatSigningProvider keys; | ||||
std::string error; | std::string error; | ||||
auto parsed_desc = | auto parsed_desc = | ||||
Parse(descriptor, keys, error, /* require_checksum = */ true); | Parse(descriptor, keys, error, /* require_checksum = */ true); | ||||
if (!parsed_desc) { | if (!parsed_desc) { | ||||
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, | throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, error); | ||||
strprintf("Descriptor is invalid, %s", error)); | |||||
} | } | ||||
have_solving_data = parsed_desc->IsSolvable(); | have_solving_data = parsed_desc->IsSolvable(); | ||||
const bool watch_only = | const bool watch_only = | ||||
data.exists("watchonly") ? data["watchonly"].get_bool() : false; | data.exists("watchonly") ? data["watchonly"].get_bool() : false; | ||||
int64_t range_start = 0, range_end = 0; | int64_t range_start = 0, range_end = 0; | ||||
if (!parsed_desc->IsRange() && data.exists("range")) { | if (!parsed_desc->IsRange() && data.exists("range")) { | ||||
▲ Show 20 Lines • Show All 505 Lines • Show Last 20 Lines |