Pushes a JSON object for script verification or signing errors to vErrorsRet. */
| 397 | |
| 398 | /** Pushes a JSON object for script verification or signing errors to vErrorsRet. */ |
| 399 | static void TxInErrorToJSON(const CTxIn& txin, const CTxInWitness& txinwit, UniValue& vErrorsRet, const std::string& strMessage) |
| 400 | { |
| 401 | UniValue entry(UniValue::VOBJ); |
| 402 | entry.pushKV("txid", txin.prevout.hash.ToString()); |
| 403 | entry.pushKV("vout", (uint64_t)txin.prevout.n); |
| 404 | UniValue witness(UniValue::VARR); |
| 405 | for (unsigned int i = 0; i < txinwit.scriptWitness.stack.size(); i++) { |
| 406 | witness.push_back(HexStr(txinwit.scriptWitness.stack[i])); |
| 407 | } |
| 408 | entry.pushKV("witness", witness); |
| 409 | entry.pushKV("scriptSig", HexStr(txin.scriptSig)); |
| 410 | entry.pushKV("sequence", (uint64_t)txin.nSequence); |
| 411 | entry.pushKV("error", strMessage); |
| 412 | vErrorsRet.push_back(entry); |
| 413 | } |
| 414 | |
| 415 | void ParsePrevouts(const UniValue& prevTxsUnival, FillableSigningProvider* keystore, std::map<COutPoint, Coin>& coins) |
| 416 | { |