don't require claim_script to be witness program for raw claim pegin

This commit is contained in:
Gregory Sanders 2017-10-21 16:32:38 +02:00
parent da6960ddb7
commit 6cc380a525

View file

@ -3571,13 +3571,9 @@ UniValue createrawpegin(const JSONRPCRequest& request)
CScript witnessProgScript;
unsigned int nOut = txBTC.vout.size();
if (request.params.size() > 2) {
int version = -1;
std::vector<unsigned char> witnessProgram;
// If given manually, no need for it to be a witness script
std::vector<unsigned char> witnessBytes(ParseHex(request.params[2].get_str()));
witnessProgScript = CScript(witnessBytes.begin(), witnessBytes.end());
if (!witnessProgScript.IsWitnessProgram(version, witnessProgram) || version != 0) {
throw JSONRPCError(RPC_INVALID_PARAMETER, "Given claim_script is not a valid v0 witness program.");
}
nOut = GetPeginTxnOutputIndex(txBTC, witnessProgScript);
if (nOut == txBTC.vout.size()) {
throw JSONRPCError(RPC_INVALID_PARAMETER, "Given claim_script does not match the given Bitcoin transaction.");