Skip to content

Commit

Permalink
scantxoutset: support legacy P2PK script type
Browse files Browse the repository at this point in the history
  • Loading branch information
jonasschnelli committed Jul 15, 2018
1 parent 892de1d commit 94d73d3
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions src/rpc/blockchain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2036,7 +2036,7 @@ UniValue scantxoutset(const JSONRPCRequest& request)
" { \"pubkey\" : (object, optional) Public key\n"
" {\n"
" \"pubkey\" : \"<pubkey\">, (string, required) HEX encoded public key\n"
" \"script_types\" : [ ... ], (array, optional) Array of script-types to derive from the pubkey (possible values: \"P2PKH\", \"P2SH-P2WPKH\", \"P2WPKH\")\n"
" \"script_types\" : [ ... ], (array, optional) Array of script-types to derive from the pubkey (possible values: \"P2PK\", \"P2PKH\", \"P2SH-P2WPKH\", \"P2WPKH\")\n"
" }\n"
" },\n"
" ]\n"
Expand Down Expand Up @@ -2142,8 +2142,13 @@ UniValue scantxoutset(const JSONRPCRequest& request)
for (const UniValue& script_type_uni : script_types_uni.get_array().getValues()) {
OutputScriptType script_type = GetOutputScriptTypeFromString(script_type_uni.get_str());
if (script_type == OutputScriptType::UNKNOWN) throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid script type");

CScript script = GetScriptForDestination(GetDestinationForKey(pubkey, script_type));
CScript script;
if (script_type == OutputScriptType::P2PK) {
// support legacy P2PK scripts
script << ToByteVector(pubkey) << OP_CHECKSIG;
} else {
script = GetScriptForDestination(GetDestinationForKey(pubkey, script_type));
}
assert(!script.empty());
needles.insert(script);
}
Expand Down

0 comments on commit 94d73d3

Please sign in to comment.