0
I'm trying to send transaction with script:
ScriptSig: OP_PUSHDATA<Sig> OP_PUSHDATA<Data1> OP_PUSHDATA<Data2> OP_PUSHDATA<Data3> OP_PUSHDATA<RedeemScript>
Since the data is less than 75 bytes in the raw transaction performed direct pushes.
RedeemScript: 2OP_DROP OP_2DROP OP_PUSHDATA<PubKey> OP_CHECKSIG
RedeemScriptHash160 of 6d6d2202ada9884dbd1e8bd90968ba66256f017cd77d83595027f7929ae3537f98c92d4aac=738292fc46dd7af803bd56035d0988af96a31681
ScriptPubKey: OP_HASH160 <redeemScriptHash> OP_EQUAL
But I get error when sending raw transaction:
code=-26, message=16: mandatory-script-verify-flag-failed (Script evaluated without error but finished with a false/empty top stack element)
Could someone help to understand what is wrong with that script? This this my transaction:
020000000001012f15356f4dfb7f48a91a72f5ff1071f72cb5fe4acc29e98ff5ae17a008a01dba000000007C160014ac09dd336a6fc10034fc44dcb706855668921ce7141f8b0800ffc1765400038d78055c545df3ff5d4a141f8b0800ffc1765400038d78055c545df3ff5d4a141f8b0800ffc1765400038d78055c545df3ff5d4a246d6d2202ada9884dbd1e8bd90968ba66246f017cd77d83595027f7929ae3537f98c92d4aacffffffff01c005d9010000000017a914738292fc46dd7af803bd56035d0988af96a3168187024830450221009108d4e65a34fb50cd3283b6386a679f0dfc2b5fe97e3b3c3f6b8320814b3a2902204631daf2bb93605c9e079750092f304966b69fe28ce7701f4bc677714bca23af012102ada9884dbd1e8bd90968ba66256f017cd77d83595027f7929ae3537f98c92d4a00000000
{
"result": {
"txid": "441cf52028ee0acc8b4076681c7fd46dad03501be62c6b0050ca59090fa52973",
"hash": "dad2b4c56556b74d87243149ca3384ce04584d3bd8d21d80e291c4f9eed7e3f8",
"version": 2,
"size": 317,
"vsize": 235,
"locktime": 0,
"vin": [
{
"txid": "ba1da008a017aef58fe929cc4afeb52cf77110fff5721aa9487ffb4d6f35152f",
"vout": 0,
"scriptSig": {
"asm": "0014ac09dd336a6fc10034fc44dcb706855668921ce7 1f8b0800ffc1765400038d78055c545df3ff5d4a 1f8b0800ffc1765400038d78055c545df3ff5d4a 1f8b0800ffc1765400038d78055c545df3ff5d4a 6d6d2202ada9884dbd1e8bd90968ba66246f017cd77d83595027f7929ae3537f98c92d4a OP_CHECKSIG",
"hex": "160014ac09dd336a6fc10034fc44dcb706855668921ce7141f8b0800ffc1765400038d78055c545df3ff5d4a141f8b0800ffc1765400038d78055c545df3ff5d4a141f8b0800ffc1765400038d78055c545df3ff5d4a246d6d2202ada9884dbd1e8bd90968ba66246f017cd77d83595027f7929ae3537f98c92d4aac"
},
"txinwitness": [
"30450221009108d4e65a34fb50cd3283b6386a679f0dfc2b5fe97e3b3c3f6b8320814b3a2902204631daf2bb93605c9e079750092f304966b69fe28ce7701f4bc677714bca23af01",
"02ada9884dbd1e8bd90968ba66256f017cd77d83595027f7929ae3537f98c92d4a"
],
"sequence": 4294967295
}
],
"vout": [
{
"value": 0.31,
"n": 0,
"scriptPubKey": {
"asm": "OP_HASH160 738292fc46dd7af803bd56035d0988af96a31681 OP_EQUAL",
"hex": "a914738292fc46dd7af803bd56035d0988af96a3168187",
"reqSigs": 1,
"type": "scripthash",
"addresses": [
"2N3mz7o8v3YT4arXdQ5p8So6q3FUGjhUpEE"
]
}
}
]
},
"error": null,
"id": "curltext"
}
Thank you for your answer. Based on this, if I change
OP_DROPonOP_2DROPthis should resolve my problem but not. – Andr1i – 2018-08-27T19:45:11.813Did you make a completly new transaction? Because if you change
OP_DROPtoOP_2DROPthe hash of the redeem script will be different and thusOP_EQUALwill returnFALSEif you reuse your oldscriptPubKeywith the updated redeem script. – thesys – 2018-08-27T19:51:10.167Yes, I updated it, but after I read your comment =). Also, I updated the post with new raw transaction. – Andr1i – 2018-08-27T20:22:13.590
I found one more mistake in my raw transaction. There was
OP_PUSHDATA<PubKey>together withOP_CHECKSIG. You helped to resolve my issue but I have new. When I'm sending that raw I get errormandatory-script-verify-flag-failed (Signature is found in scriptCode). Maybe you know what's wrong? – Andr1i – 2018-08-27T21:41:22.933Sorry I also don't know what that means :( I suggest you make a new question with the new problem, maybe someone else knows whats wrong. – thesys – 2018-08-28T08:43:10.673