Changeset View
Changeset View
Standalone View
Standalone View
src/rpc/rawtransaction.cpp
Show First 20 Lines • Show All 977 Lines • ▼ Show 20 Lines | for (size_t i = 0; i < mtx.vin.size(); i++) { | ||||
const CScript &prevPubKey = coin.GetTxOut().scriptPubKey; | const CScript &prevPubKey = coin.GetTxOut().scriptPubKey; | ||||
const Amount amount = coin.GetTxOut().nValue; | const Amount amount = coin.GetTxOut().nValue; | ||||
SignatureData sigdata; | SignatureData sigdata; | ||||
// Only sign SIGHASH_SINGLE if there's a corresponding output: | // Only sign SIGHASH_SINGLE if there's a corresponding output: | ||||
if ((sigHashType.getBaseType() != BaseSigHashType::SINGLE) || | if ((sigHashType.getBaseType() != BaseSigHashType::SINGLE) || | ||||
(i < mtx.vout.size())) { | (i < mtx.vout.size())) { | ||||
ProduceSignature(MutableTransactionSignatureCreator( | ProduceSignature(*keystore, | ||||
keystore, &mtx, i, amount, sigHashType), | MutableTransactionSignatureCreator(&mtx, i, amount, | ||||
sigHashType), | |||||
prevPubKey, sigdata); | prevPubKey, sigdata); | ||||
} | } | ||||
sigdata = CombineSignatures( | sigdata = CombineSignatures( | ||||
prevPubKey, TransactionSignatureChecker(&txConst, i, amount), | prevPubKey, TransactionSignatureChecker(&txConst, i, amount), | ||||
sigdata, DataFromTransaction(mtx, i)); | sigdata, DataFromTransaction(mtx, i)); | ||||
UpdateTransaction(mtx, i, sigdata); | UpdateTransaction(mtx, i, sigdata); | ||||
▲ Show 20 Lines • Show All 497 Lines • Show Last 20 Lines |