Closed shohu closed 6 years ago
(Pdb) p signedtx
{'hex': '0200000002719d91f892fc177509c1fa6786a45e7562fe8418e89607cf5dc2fae80f3116c4000000006a4730440220153977fa2a023d761081a05360805e34035b39118c258e6ed0de8be06878f23d022011df50a5c18de8fe565bbc6ffab9a551d5d4bd7d8d62135fab2e860032703aa0412103c0fd6e47613203edfc98fe3a9eca8fb8fb7f6f77b9812696ff37183ee6fb99a9feffffff94a7c6e6e9b1c389ca0a7e169731d0acd6e9a2f4d52b6ad9d35bc85dbcaa259d0100000000feffffff028a5e16e4cc0000001976a91468bb1003b827c3f15f33b4a3b048bbe0c5ccaf3888ac00c0dfe8000800001976a914f7d96da687d04253a236cf045d7bc433d204149b88ac00000000',
'complete': False,
'errors': [
{'txid': '9d25aabc5dc85bd3d96a2bd5f4a2e9d6acd03197167e0aca89c3b1e9e6c6a794',
'sequence': 4294967294,
'scriptSig': '',
'witness': [],
'error': 'Operation not valid with the current stack size',
'vout': 1}
]}
case SCRIPT_ERR_INVALID_STACK_OPERATION:
return "Operation not valid with the current stack size";
UniValue signrawtransaction(const JSONRPCRequest& request)
{
:
ScriptError serror = SCRIPT_ERR_OK;
if (!VerifyScript(
txin.scriptSig, prevPubKey, &txin.scriptWitness, STANDARD_SCRIPT_VERIFY_FLAGS,
TransactionSignatureChecker(&txConst, i, amount), &serror)) {
TxInErrorToJSON(txin, vErrors, ScriptErrorString(serror));
}
bool VerifyScript(const CScript& scriptSig, const CScript& scriptPubKey, const CScriptWitness* witness, unsigned int flags, const BaseSignatureChecker& checker, ScriptError* serror)
{
static const CScriptWitness emptyWitness;
if (witness == nullptr) {
witness = &emptyWitness;
}
bool hadWitness = false;
set_error(serror, SCRIPT_ERR_UNKNOWN_ERROR);
// If FORKID is enabled, we also ensure strict encoding.
if (flags & SCRIPT_ENABLE_SIGHASH_FORKID) {
flags |= SCRIPT_VERIFY_STRICTENC;
}
LogPrintf("INNNNNNNNN VerifyScript 1 \n");
if ((flags & SCRIPT_VERIFY_SIGPUSHONLY) != 0 && !scriptSig.IsPushOnly()) {
return set_error(serror, SCRIPT_ERR_SIG_PUSHONLY);
}
LogPrintf("INNNNNNNNN VerifyScript 2 \n");
std::vector<std::vector<unsigned char> > stack, stackCopy;
if (!EvalScript(stack, scriptSig, flags, checker, SIGVERSION_BASE, serror)) {
// serror is set
LogPrintf("INNNNNNNNN VerifyScript 2.3 \n");
return false;
}
if (flags & SCRIPT_VERIFY_P2SH)
stackCopy = stack;
if (!EvalScript(stack, scriptPubKey, flags, checker, SIGVERSION_BASE, serror)) {
// serror is set
LogPrintf("INNNNNNNNN VerifyScript 2.5 \n");
return false;
}
if (stack.empty()) {
LogPrintf("INNNNNNNNN VerifyScript 2.7 \n");
return set_error(serror, SCRIPT_ERR_EVAL_FALSE);
}
if (CastToBool(stack.back()) == false) {
LogPrintf("INNNNNNNNN VerifyScript 2.9 \n");
return set_error(serror, SCRIPT_ERR_EVAL_FALSE);
}
// Bare witness programs
LogPrintf("INNNNNNNNN VerifyScript 3 \n");
int witnessversion;
std::vector<unsigned char> witnessprogram;
if (flags & SCRIPT_VERIFY_WITNESS) {
if (scriptPubKey.IsWitnessProgram(witnessversion, witnessprogram)) {
hadWitness = true;
if (scriptSig.size() != 0) {
// The scriptSig must be _exactly_ CScript(), otherwise we reintroduce malleability.
return set_error(serror, SCRIPT_ERR_WITNESS_MALLEATED);
}
if (!VerifyWitnessProgram(*witness, witnessversion, witnessprogram, flags, checker, serror)) {
return false;
}
// Bypass the cleanstack check at the end. The actual stack is obviously not clean
// for witness programs.
stack.resize(1);
}
}
LogPrintf("INNNNNNNNN VerifyScript 4 \n");
// Additional validation for spend-to-script-hash transactions:
if ((flags & SCRIPT_VERIFY_P2SH) && scriptPubKey.IsPayToScriptHash())
{
// scriptSig must be literals-only or validation fails
if (!scriptSig.IsPushOnly())
return set_error(serror, SCRIPT_ERR_SIG_PUSHONLY);
// Restore stack.
swap(stack, stackCopy);
// stack cannot be empty here, because if it was the
// P2SH HASH <> EQUAL scriptPubKey would be evaluated with
// an empty stack and the EvalScript above would return false.
assert(!stack.empty());
const valtype& pubKeySerialized = stack.back();
CScript pubKey2(pubKeySerialized.begin(), pubKeySerialized.end());
popstack(stack);
if (!EvalScript(stack, pubKey2, flags, checker, SIGVERSION_BASE, serror))
// serror is set
return false;
if (stack.empty())
return set_error(serror, SCRIPT_ERR_EVAL_FALSE);
if (!CastToBool(stack.back()))
return set_error(serror, SCRIPT_ERR_EVAL_FALSE);
// P2SH witness program
if (flags & SCRIPT_VERIFY_WITNESS) {
if (pubKey2.IsWitnessProgram(witnessversion, witnessprogram)) {
hadWitness = true;
if (scriptSig != CScript() << std::vector<unsigned char>(pubKey2.begin(), pubKey2.end())) {
// The scriptSig must be _exactly_ a single push of the redeemScript. Otherwise we
// reintroduce malleability.
return set_error(serror, SCRIPT_ERR_WITNESS_MALLEATED_P2SH);
}
if (!VerifyWitnessProgram(*witness, witnessversion, witnessprogram, flags, checker, serror)) {
return false;
}
// Bypass the cleanstack check at the end. The actual stack is obviously not clean
// for witness programs.
stack.resize(1);
}
}
}
LogPrintf("INNNNNNNNN VerifyScript 5 \n");
// The CLEANSTACK check is only performed after potential P2SH evaluation,
// as the non-P2SH evaluation of a P2SH script will obviously not result in
// a clean stack (the P2SH inputs remain). The same holds for witness evaluation.
if ((flags & SCRIPT_VERIFY_CLEANSTACK) != 0) {
// Disallow CLEANSTACK without P2SH, as otherwise a switch CLEANSTACK->P2SH+CLEANSTACK
// would be possible, which is not a softfork (and P2SH should be one).
assert((flags & SCRIPT_VERIFY_P2SH) != 0);
assert((flags & SCRIPT_VERIFY_WITNESS) != 0);
if (stack.size() != 1) {
return set_error(serror, SCRIPT_ERR_CLEANSTACK);
}
}
LogPrintf("INNNNNNNNN VerifyScript 6 \n");
if (flags & SCRIPT_VERIFY_WITNESS) {
// We can't check for correct unexpected witness data if P2SH was off, so require
// that WITNESS implies P2SH. Otherwise, going from WITNESS->P2SH+WITNESS would be
// possible, which is not a softfork.
assert((flags & SCRIPT_VERIFY_P2SH) != 0);
if (!hadWitness && !witness->IsNull()) {
return set_error(serror, SCRIPT_ERR_WITNESS_UNEXPECTED);
}
}
return set_success(serror);
}
debug.log
2018-07-12 08:27:24.014719 ThreadRPCServer method=signrawtransaction
2018-07-12 08:27:24.014843 INNNNNNNNN VerifyScript 1
2018-07-12 08:27:24.014867 INNNNNNNNN VerifyScript 2
2018-07-12 08:27:24.014886 INNNNNNNNN EvalScript opcode = 0076
2018-07-12 08:27:24.014909 INNNNNNNNN OP_DUP SCRIPT_ERR_INVALID_STACK_OPERATION
2018-07-12 08:27:24.014924 INNNNNNNNN VerifyScript 2.5
2018-07-12 08:27:24.015074 INNNNNNNNN VerifyScript 1
2018-07-12 08:27:24.015095 INNNNNNNNN VerifyScript 2
2018-07-12 08:27:24.015112 INNNNNNNNN EvalScript opcode = 0047
2018-07-12 08:27:24.015129 INNNNNNNNN EvalScript opcode = 0021
2018-07-12 08:27:24.015146 INNNNNNNNN EvalScript opcode = 0076
2018-07-12 08:27:24.015164 INNNNNNNNN EvalScript opcode = 00a9
2018-07-12 08:27:24.015183 INNNNNNNNN EvalScript opcode = 0014
2018-07-12 08:27:24.015199 INNNNNNNNN EvalScript opcode = 0088
2018-07-12 08:27:24.015214 INNNNNNNNN EvalScript opcode = 00ac
2018-07-12 08:27:24.015228 INNNNNNNNN OP_CHECKSIG || OP_CHECKSIGVERIFY
2018-07-12 08:27:24.015240 INNNNNNNNN CheckSignatureEncoding 1
2018-07-12 08:27:24.015365 INNNNNNNNN VerifyScript 3
2018-07-12 08:27:24.015381 INNNNNNNNN VerifyScript 4
2018-07-12 08:27:24.015393 INNNNNNNNN VerifyScript 5
2018-07-12 08:27:24.015405 INNNNNNNNN VerifyScript 6
2018-07-12 08:27:24.015420 INNNNNNNNN VerifyScript 1
2018-07-12 08:27:24.015435 INNNNNNNNN VerifyScript 2
2018-07-12 08:27:24.015452 INNNNNNNNN EvalScript opcode = 0047
2018-07-12 08:27:24.015469 INNNNNNNNN EvalScript opcode = 0021
2018-07-12 08:27:24.015485 INNNNNNNNN EvalScript opcode = 0076
2018-07-12 08:27:24.015501 INNNNNNNNN EvalScript opcode = 00a9
2018-07-12 08:27:24.015519 INNNNNNNNN EvalScript opcode = 0014
2018-07-12 08:27:24.015552 INNNNNNNNN EvalScript opcode = 0088
2018-07-12 08:27:24.015565 INNNNNNNNN EvalScript opcode = 00ac
2018-07-12 08:27:24.015578 INNNNNNNNN OP_CHECKSIG || OP_CHECKSIGVERIFY
2018-07-12 08:27:24.015591 INNNNNNNNN CheckSignatureEncoding 1
2018-07-12 08:27:24.015707 INNNNNNNNN VerifyScript 3
2018-07-12 08:27:24.015721 INNNNNNNNN VerifyScript 4
2018-07-12 08:27:24.015736 INNNNNNNNN VerifyScript 5
2018-07-12 08:27:24.015751 INNNNNNNNN VerifyScript 6
what is fundrawtransaction. -> collect tx what is OP_DUP. -> duplicate stack data what is normal scryptpub check logic
(Pdb) self.nodes[0].decoderawtransaction(result["hex"])
{
"size": 160,
"vsize": 160,
"vin": [
{"sequence": 4294967294,
"txid": "5cc3099f634ee26b42d4f15baf238da578c070e7f7f36ba91e90d8826de60a69",
"vout": 1,
"scriptSig": {"hex": ", "asm": "}
},
{"sequence": 4294967294,
"txid": "3144f33bb4df9cfab0e6c0a4d202c947d9497c6610b91f0fb090370dbdea1c83",
"vout": 1,
"scriptSig": {"hex": ", "asm": "}}],
"locktime": 0,
"hash": "a68ec860a58a5e112e34bec8ff845d22eade44983ba533e6965f8cd66e9a999e",
"version": 2,
"txid": "a68ec860a58a5e112e34bec8ff845d22eade44983ba533e6965f8cd66e9a999e",
"vout": [
{"scriptPubKey":
{"reqSigs": 1,
"hex": "76a914240eddd67907d4ec2b7cd600ae7e28d78cd26acb88ac",
"asm": "OP_DUP OP_HASH160 240eddd67907d4ec2b7cd600ae7e28d78cd26acb OP_EQUALVERIFY OP_CHECKSIG",
"addresses": ["miocRuWfRy2RLbqF9FFyqhxeLKyAfcT6fg"],
"type": "pubkeyhash"
},
"value": Decimal("88000.00000000"),
"n": 0
},
{"scriptPubKey":
{"reqSigs": 1,
"hex": "76a914bb412f8e240bcafb03a961effd1e181e9fda877a88ac",
"asm": "OP_DUP OP_HASH160 bb412f8e240bcafb03a961effd1e181e9fda877a OP_EQUALVERIFY OP_CHECKSIG",
"addresses": ["mxb4k7UhnnHWFcEtvuGYo6h5zojweqJM6o"],
"type": "pubkeyhash"
},
"value": Decimal("8799.99999626"),
"n": 1
}
]
}
(Pdb) self.nodes[0].decoderawtransaction(signedtx["hex"])
{'size': 266,
'vsize': 266,
'vin': [
{'sequence': 4294967294,
'txid': '5cc3099f634ee26b42d4f15baf238da578c070e7f7f36ba91e90d8826de60a69',
'vout': 1,
'scriptSig':
{'hex': '47304402202298244264ec17df24c2b664d46112ff1f3d1da3d15da94c50bf0bb0f37e79900220651770d04d2d73edfd9038cf66af5bb05a8aaf7e26387c54889ee3cb57782b0341210211f64be1d78afd4721d90c9721adbdc9b7e6cf209b092be3e3b1685f649d7bc4',
'asm': '304402202298244264ec17df24c2b664d46112ff1f3d1da3d15da94c50bf0bb0f37e79900220651770d04d2d73edfd9038cf66af5bb05a8aaf7e26387c54889ee3cb57782b03[ALL|FORKID] 0211f64be1d78afd4721d90c9721adbdc9b7e6cf209b092be3e3b1685f649d7bc4'
}
},
{'sequence': 4294967294,
'txid': '3144f33bb4df9cfab0e6c0a4d202c947d9497c6610b91f0fb090370dbdea1c83',
'vout': 1,
'scriptSig': {'hex': '', 'asm': ''}
}
],
'locktime': 0,
'hash': '77fc43ee5eaa77f190fd022751642d8965be0ce0501ec4d03e5f39d5b36f245a',
'version': 2,
'txid': '77fc43ee5eaa77f190fd022751642d8965be0ce0501ec4d03e5f39d5b36f245a',
'vout': [
{'scriptPubKey':
{'reqSigs': 1,
'hex': '76a914240eddd67907d4ec2b7cd600ae7e28d78cd26acb88ac',
'asm': 'OP_DUP OP_HASH160 240eddd67907d4ec2b7cd600ae7e28d78cd26acb OP_EQUALVERIFY OP_CHECKSIG',
'addresses': ['miocRuWfRy2RLbqF9FFyqhxeLKyAfcT6fg'],
'type': 'pubkeyhash'
},
'value': Decimal('88000.00000000'),
'n': 0
},
{'scriptPubKey':
{'reqSigs': 1,
'hex': '76a914bb412f8e240bcafb03a961effd1e181e9fda877a88ac',
'asm': 'OP_DUP OP_HASH160 bb412f8e240bcafb03a961effd1e181e9fda877a OP_EQUALVERIFY OP_CHECKSIG',
'addresses': ['mxb4k7UhnnHWFcEtvuGYo6h5zojweqJM6o'],
'type': 'pubkeyhash'
},
'value': Decimal('8799.99999626'),
'n': 1
}
]
}
{'hash': '8c71bd38c870ffe6ec4d5d576593c4a3b5e65f6da3a754b0a028e6038de96b82',
'locktime': 0,
'vin': [
{'txid': 'ac14d77ecdf2a0ce69b80c46f5a0ba0a3672be5bbc946faa89f791e0523b582b',
'scriptSig':
{'hex': '47304402202b157434a25140aec9c756d72e22d09df9ed91b074009c3273d85b389dea7bac022023c8fbdaab0043068e255aaa2fdad98e410347d529ea1c5a7a1d7d8698def54d012103a5964c1ae10db3eedc5519ce2addf6f132b0e0eba025922a031fa33085fabf5f',
'asm': '304402202b157434a25140aec9c756d72e22d09df9ed91b074009c3273d85b389dea7bac022023c8fbdaab0043068e255aaa2fdad98e410347d529ea1c5a7a1d7d8698def54d[ALL] 03a5964c1ae10db3eedc5519ce2addf6f132b0e0eba025922a031fa33085fabf5f'
},
'vout': 1,
'sequence': 4294967294
},
{'txid': '6bdf889e5caeb1ac19e3e647915dfe399253f8432433469caf5d336033e89bc4',
'scriptSig':
{'hex': '',
'asm': ''
},
'vout': 0,
'sequence': 4294967294
}
],
'vout': [
{'value': Decimal('8799.99999626'),
'scriptPubKey':
{'hex': '76a9148698d4995e535da96d6d70a644bcf230d773aadf88ac',
'asm': 'OP_DUP OP_HASH160 8698d4995e535da96d6d70a644bcf230d773aadf OP_EQUALVERIFY OP_CHECKSIG',
'reqSigs': 1,
'addresses': ['msndvc7SvxNBQ1n7VYyPKfEd5yGo4N9uQ6'],
'type': 'pubkeyhash'
},
'n': 0
},
{'value': Decimal('88000.00000000'),
'scriptPubKey':
{'hex': '76a914694ada827701c56f088cccfe597c2c0c1ab16fcd88ac',
'asm': 'OP_DUP OP_HASH160 694ada827701c56f088cccfe597c2c0c1ab16fcd OP_EQUALVERIFY OP_CHECKSIG',
'reqSigs': 1,
'addresses': ['mq7gv7TwJ7xZEptXeZXhM4GjnuhgeMpz9H'],
'type': 'pubkeyhash'},
'n': 1
}
],
'size': 266,
'version': 2,
'txid': '8c71bd38c870ffe6ec4d5d576593c4a3b5e65f6da3a754b0a028e6038de96b82',
'vsize': 266
}
2018-07-13 03:04:14.342405 Received a POST request for / from 127.0.0.1:34300
2018-07-13 03:04:14.342534 ThreadRPCServer method=signrawtransaction
2018-07-13 03:04:14.342842 INNNNNNNNN VerifyScript 1
2018-07-13 03:04:14.342867 INNNNNNNNN VerifyScript 2
2018-07-13 03:04:14.342886 INNNNNNNNN EvalScript opcode = 0048
2018-07-13 03:04:14.342907 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:04:14.342925 INNNNNNNNN EvalScript opcode = 0021
2018-07-13 03:04:14.342942 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:04:14.342959 INNNNNNNNN EvalScript opcode = 0076
2018-07-13 03:04:14.342977 INNNNNNNNN EvalScript opcode = 00a9
2018-07-13 03:04:14.342994 INNNNNNNNN EvalScript opcode = 0014
2018-07-13 03:04:14.343010 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:04:14.343024 INNNNNNNNN EvalScript opcode = 0088
2018-07-13 03:04:14.343038 INNNNNNNNN EvalScript opcode = 00ac
2018-07-13 03:04:14.343049 INNNNNNNNN OP_CHECKSIG || OP_CHECKSIGVERIFY
2018-07-13 03:04:14.343064 INNNNNNNNN CheckSignatureEncoding 1
2018-07-13 03:04:14.343191 INNNNNNNNN VerifyScript 3
2018-07-13 03:04:14.343209 INNNNNNNNN VerifyScript 4
2018-07-13 03:04:14.343225 INNNNNNNNN VerifyScript 5
2018-07-13 03:04:14.343240 INNNNNNNNN VerifyScript 6
2018-07-13 03:04:14.343257 INNNNNNNNN VerifyScript 1
2018-07-13 03:04:14.343273 INNNNNNNNN VerifyScript 2
2018-07-13 03:04:14.343289 INNNNNNNNN EvalScript opcode = 0048
2018-07-13 03:04:14.343305 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:04:14.343322 INNNNNNNNN EvalScript opcode = 0021
2018-07-13 03:04:14.343337 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:04:14.343363 INNNNNNNNN EvalScript opcode = 0076
2018-07-13 03:04:14.343379 INNNNNNNNN EvalScript opcode = 00a9
2018-07-13 03:04:14.343395 INNNNNNNNN EvalScript opcode = 0014
2018-07-13 03:04:14.343410 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:04:14.343427 INNNNNNNNN EvalScript opcode = 0088
2018-07-13 03:04:14.343444 INNNNNNNNN EvalScript opcode = 00ac
2018-07-13 03:04:14.343459 INNNNNNNNN OP_CHECKSIG || OP_CHECKSIGVERIFY
2018-07-13 03:04:14.343475 INNNNNNNNN CheckSignatureEncoding 1
2018-07-13 03:04:14.343593 INNNNNNNNN VerifyScript 3
2018-07-13 03:04:14.343611 INNNNNNNNN VerifyScript 4
2018-07-13 03:04:14.343626 INNNNNNNNN VerifyScript 5
2018-07-13 03:04:14.343642 INNNNNNNNN VerifyScript 6
2018-07-13 03:04:14.343666 INNNNNNNNN VerifyScript 1
2018-07-13 03:04:14.343678 INNNNNNNNN VerifyScript 2
2018-07-13 03:04:14.343694 INNNNNNNNN EvalScript opcode = 0076
2018-07-13 03:04:14.343708 INNNNNNNNN OP_DUP SCRIPT_ERR_INVALID_STACK_OPERATION
2018-07-13 03:04:14.343722 INNNNNNNNN VerifyScript 2.5
2018-07-13 03:04:14.343733 INNNNNNNNN sign VerifyScript error
2018-07-13 03:04:55.176115 Received a POST request for / from 127.0.0.1:42890
2018-07-13 03:04:55.176228 ThreadRPCServer method=signrawtransaction
2018-07-13 03:04:55.176508 INNNNNNNNN VerifyScript 1
2018-07-13 03:04:55.176545 INNNNNNNNN VerifyScript 2
2018-07-13 03:04:55.176641 INNNNNNNNN EvalScript opcode = 0076
2018-07-13 03:04:55.176662 INNNNNNNNN OP_DUP SCRIPT_ERR_INVALID_STACK_OPERATION
2018-07-13 03:04:55.176732 INNNNNNNNN VerifyScript 2.5
2018-07-13 03:04:55.176757 INNNNNNNNN sign VerifyScript error
2018-07-13 03:04:55.176936 INNNNNNNNN VerifyScript 1
2018-07-13 03:04:55.177000 INNNNNNNNN VerifyScript 2
2018-07-13 03:04:55.177021 INNNNNNNNN EvalScript opcode = 0048
2018-07-13 03:04:55.177036 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:04:55.177048 INNNNNNNNN EvalScript opcode = 0021
2018-07-13 03:04:55.177060 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:04:55.177073 INNNNNNNNN EvalScript opcode = 0076
2018-07-13 03:04:55.177085 INNNNNNNNN EvalScript opcode = 00a9
2018-07-13 03:04:55.177100 INNNNNNNNN EvalScript opcode = 0014
2018-07-13 03:04:55.177114 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:04:55.177127 INNNNNNNNN EvalScript opcode = 0088
2018-07-13 03:04:55.177141 INNNNNNNNN EvalScript opcode = 00ac
2018-07-13 03:04:55.177154 INNNNNNNNN OP_CHECKSIG || OP_CHECKSIGVERIFY
2018-07-13 03:04:55.177167 INNNNNNNNN CheckSignatureEncoding 1
2018-07-13 03:04:55.177278 INNNNNNNNN VerifyScript 3
2018-07-13 03:04:55.177294 INNNNNNNNN VerifyScript 4
2018-07-13 03:04:55.177308 INNNNNNNNN VerifyScript 5
2018-07-13 03:04:55.177335 INNNNNNNNN VerifyScript 6
2018-07-13 03:04:55.177350 INNNNNNNNN VerifyScript 1
2018-07-13 03:04:55.177363 INNNNNNNNN VerifyScript 2
2018-07-13 03:04:55.177377 INNNNNNNNN EvalScript opcode = 0048
2018-07-13 03:04:55.177390 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:04:55.177403 INNNNNNNNN EvalScript opcode = 0021
2018-07-13 03:04:55.177416 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:04:55.177429 INNNNNNNNN EvalScript opcode = 0076
2018-07-13 03:04:55.177444 INNNNNNNNN EvalScript opcode = 00a9
2018-07-13 03:04:55.177458 INNNNNNNNN EvalScript opcode = 0014
2018-07-13 03:04:55.177468 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:04:55.177478 INNNNNNNNN EvalScript opcode = 0088
2018-07-13 03:04:55.177488 INNNNNNNNN EvalScript opcode = 00ac
2018-07-13 03:04:55.177500 INNNNNNNNN OP_CHECKSIG || OP_CHECKSIGVERIFY
2018-07-13 03:04:55.177513 INNNNNNNNN CheckSignatureEncoding 1
2018-07-13 03:04:55.177619 INNNNNNNNN VerifyScript 3
2018-07-13 03:04:55.177634 INNNNNNNNN VerifyScript 4
2018-07-13 03:04:55.177647 INNNNNNNNN VerifyScript 5
2018-07-13 03:04:55.177659 INNNNNNNNN VerifyScript 6
2018-07-13 03:07:54.066153 ThreadRPCServer method=signrawtransaction
2018-07-13 03:07:54.066318 INNNNNNNNN VerifyScript 1
2018-07-13 03:07:54.066345 INNNNNNNNN VerifyScript 2
2018-07-13 03:07:54.066360 INNNNNNNNN EvalScript opcode = 0048
2018-07-13 03:07:54.066377 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:07:54.066392 INNNNNNNNN EvalScript opcode = 0021
2018-07-13 03:07:54.066411 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:07:54.066426 INNNNNNNNN EvalScript opcode = 0076
2018-07-13 03:07:54.066440 INNNNNNNNN EvalScript opcode = 00a9
2018-07-13 03:07:54.066456 INNNNNNNNN EvalScript opcode = 0014
2018-07-13 03:07:54.066469 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:07:54.066483 INNNNNNNNN EvalScript opcode = 0088
2018-07-13 03:07:54.066497 INNNNNNNNN EvalScript opcode = 00ac
2018-07-13 03:07:54.066599 INNNNNNNNN VerifyScript 3
2018-07-13 03:07:54.066613 INNNNNNNNN VerifyScript 4
2018-07-13 03:07:54.066627 INNNNNNNNN VerifyScript 5
2018-07-13 03:07:54.066640 INNNNNNNNN VerifyScript 6
2018-07-13 03:07:54.066655 INNNNNNNNN EvalScript opcode = 0048
2018-07-13 03:07:54.066669 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:07:54.066683 INNNNNNNNN EvalScript opcode = 0021
2018-07-13 03:07:54.066696 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:07:54.066711 INNNNNNNNN VerifyScript 1
2018-07-13 03:07:54.066725 INNNNNNNNN VerifyScript 2
2018-07-13 03:07:54.066738 INNNNNNNNN EvalScript opcode = 0048
2018-07-13 03:07:54.066751 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:07:54.066765 INNNNNNNNN EvalScript opcode = 0021
2018-07-13 03:07:54.066778 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:07:54.066791 INNNNNNNNN EvalScript opcode = 0076
2018-07-13 03:07:54.066805 INNNNNNNNN EvalScript opcode = 00a9
2018-07-13 03:07:54.066820 INNNNNNNNN EvalScript opcode = 0014
2018-07-13 03:07:54.066833 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:07:54.066847 INNNNNNNNN EvalScript opcode = 0088
2018-07-13 03:07:54.066860 INNNNNNNNN EvalScript opcode = 00ac
2018-07-13 03:07:54.066957 INNNNNNNNN VerifyScript 3
2018-07-13 03:07:54.066972 INNNNNNNNN VerifyScript 4
2018-07-13 03:07:54.066985 INNNNNNNNN VerifyScript 5
2018-07-13 03:07:54.066998 INNNNNNNNN VerifyScript 6
2018-07-13 03:07:54.067019 INNNNNNNNN VerifyScript 1
2018-07-13 03:07:54.067033 INNNNNNNNN VerifyScript 2
2018-07-13 03:07:54.067047 INNNNNNNNN EvalScript opcode = 0076
2018-07-13 03:07:54.067060 INNNNNNNNN OP_DUP SCRIPT_ERR_INVALID_STACK_OPERATION
2018-07-13 03:07:54.067073 INNNNNNNNN VerifyScript 2.5
2018-07-13 03:08:42.376164 Received a POST request for / from 127.0.0.1:35510
2018-07-13 03:08:42.376554 ThreadRPCServer method=signrawtransaction
2018-07-13 03:08:42.376127 Adding fixed seed nodes as DNS doesn't seem to be available.
2018-07-13 03:08:42.376789 INNNNNNNNN EvalScript opcode = 0048
2018-07-13 03:08:42.376820 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:08:42.376836 INNNNNNNNN EvalScript opcode = 0021
2018-07-13 03:08:42.376850 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:08:42.376876 INNNNNNNNN VerifyScript 1
2018-07-13 03:08:42.376894 INNNNNNNNN VerifyScript 2
2018-07-13 03:08:42.376910 INNNNNNNNN EvalScript opcode = 0048
2018-07-13 03:08:42.376926 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:08:42.376941 INNNNNNNNN EvalScript opcode = 0021
2018-07-13 03:08:42.376956 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:08:42.376970 INNNNNNNNN EvalScript opcode = 0076
2018-07-13 03:08:42.376985 INNNNNNNNN EvalScript opcode = 00a9
2018-07-13 03:08:42.377010 INNNNNNNNN EvalScript opcode = 0014
2018-07-13 03:08:42.377024 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:08:42.377039 INNNNNNNNN EvalScript opcode = 0088
2018-07-13 03:08:42.377052 INNNNNNNNN EvalScript opcode = 00ac
2018-07-13 03:08:42.377196 INNNNNNNNN VerifyScript 3
2018-07-13 03:08:42.377214 INNNNNNNNN VerifyScript 4
2018-07-13 03:08:42.377226 INNNNNNNNN VerifyScript 5
2018-07-13 03:08:42.377240 INNNNNNNNN VerifyScript 6
2018-07-13 03:08:42.377413 INNNNNNNNN VerifyScript 1
2018-07-13 03:08:42.377432 INNNNNNNNN VerifyScript 2
2018-07-13 03:08:42.377445 INNNNNNNNN EvalScript opcode = 0047
2018-07-13 03:08:42.377460 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:08:42.377474 INNNNNNNNN EvalScript opcode = 0021
2018-07-13 03:08:42.377486 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:08:42.377497 INNNNNNNNN EvalScript opcode = 0076
2018-07-13 03:08:42.377512 INNNNNNNNN EvalScript opcode = 00a9
2018-07-13 03:08:42.377529 INNNNNNNNN EvalScript opcode = 0014
2018-07-13 03:08:42.377542 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:08:42.377556 INNNNNNNNN EvalScript opcode = 0088
2018-07-13 03:08:42.377570 INNNNNNNNN EvalScript opcode = 00ac
2018-07-13 03:08:42.377694 INNNNNNNNN VerifyScript 3
2018-07-13 03:08:42.377707 INNNNNNNNN VerifyScript 4
2018-07-13 03:08:42.377720 INNNNNNNNN VerifyScript 5
2018-07-13 03:08:42.377730 INNNNNNNNN VerifyScript 6
2018-07-13 03:08:42.377746 INNNNNNNNN EvalScript opcode = 0047
2018-07-13 03:08:42.377762 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:08:42.377778 INNNNNNNNN EvalScript opcode = 0021
2018-07-13 03:08:42.377791 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:08:42.377803 INNNNNNNNN VerifyScript 1
2018-07-13 03:08:42.377817 INNNNNNNNN VerifyScript 2
2018-07-13 03:08:42.377832 INNNNNNNNN EvalScript opcode = 0047
2018-07-13 03:08:42.377846 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:08:42.377860 INNNNNNNNN EvalScript opcode = 0021
2018-07-13 03:08:42.377873 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:08:42.377886 INNNNNNNNN EvalScript opcode = 0076
2018-07-13 03:08:42.377913 INNNNNNNNN EvalScript opcode = 00a9
2018-07-13 03:08:42.377932 INNNNNNNNN EvalScript opcode = 0014
2018-07-13 03:08:42.377945 INNNNNNNNN EvalScript push_back(vchPushValue)
2018-07-13 03:08:42.377958 INNNNNNNNN EvalScript opcode = 0088
2018-07-13 03:08:42.377971 INNNNNNNNN EvalScript opcode = 00ac
2018-07-13 03:08:42.378083 INNNNNNNNN VerifyScript 3
2018-07-13 03:08:42.378100 INNNNNNNNN VerifyScript 4
2018-07-13 03:08:42.378111 INNNNNNNNN VerifyScript 5
2018-07-13 03:08:42.378125 INNNNNNNNN VerifyScript 6
I found a leak of transplant work. I passed this test 👍
# test/functional/fundrawtransaction.py
2018-07-13 04:43:26.191000 TestFramework (INFO): Initializing test directory /tmp/testnllzxex1
2018-07-13 04:43:54.256000 TestFramework (INFO): Stopping nodes
2018-07-13 04:43:56.595000 TestFramework (INFO): Cleaning up
2018-07-13 04:43:56.601000 TestFramework (INFO): Tests successful