I'm trying to sign a transaction using signrawtransactionwithkey
on bitcoin-core 0.17 but I'm getting the following error:
{"ERROR":"[{"txid":"c7e5bc9c9662384464182c713a6a6e20a2da72adb2b2a5799457be643d764139","vout":0,"witness":[],"scriptSig":"","sequence":4294967295,"error":"Witness program hash mismatch"}]
parameters sent correctly since it's working on the testnet network it's just the mainnet
anyway the params sent as:
["transaction_in_hex",["private_key"],[inputs]
the inputs are
[{"txid":"c7e5bc9c9662384464182c713a6a6e20a2da72adb2b2a5799457be643d764139","vout":0,"scriptPubKey":"0014f3dd9523e2a801770513e00ed717fd610ea634af","amount":"0.00099784","address":"bc1q70we2glz4qqhwpgnuq8dw9lavy82vd903k7hpe","redeemScript":""}]]
I have been reading the bitcoin source code trying to understand what's the problem and it's obvious that the exception been thrown on here
if (memcmp(hashScriptPubKey.begin(), program.data(), 32)) {
return set_error(serror, SCRIPT_ERR_WITNESS_PROGRAM_MISMATCH);
}
and here
if (witness.stack.size() != 2) {
return set_error(serror, SCRIPT_ERR_WITNESS_PROGRAM_MISMATCH); // 2 items in witness
}
redeemScript
parameter entirely?