diff --git a/src/node/psbt.cpp b/src/node/psbt.cpp index 04ce6cbc9d..8dbafcf376 100644 --- a/src/node/psbt.cpp +++ b/src/node/psbt.cpp @@ -17,12 +17,16 @@ PSBTAnalysis AnalyzePSBT(PartiallySignedTransaction psbtx) // Go through each input and build status PSBTAnalysis result; + result.SetInvalid("Disabled"); + return result; + +/* bool calc_fee = true; CAmountMap in_amts; - result.inputs.resize(psbtx.tx->vin.size()); + result.inputs.resize(psbtx.inputs.size()); - for (unsigned int i = 0; i < psbtx.tx->vin.size(); ++i) { + for (unsigned int i = 0; i < psbtx.inputs.size(); ++i) { PSBTInput& input = psbtx.inputs[i]; PSBTInputAnalysis& input_analysis = result.inputs[i]; @@ -40,7 +44,7 @@ PSBTAnalysis AnalyzePSBT(PartiallySignedTransaction psbtx) in_amts[utxo.nAsset.GetAsset()] += utxo.nValue.GetAmount(); input_analysis.has_utxo = true; } else { - if (input.non_witness_utxo && psbtx.tx->vin[i].prevout.n >= input.non_witness_utxo->vout.size()) { + if (input.non_witness_utxo && input.prev_out >= input.non_witness_utxo->vout.size()) { result.SetInvalid(strprintf("PSBT is not valid. Input %u specifies invalid prevout", i)); return result; } @@ -86,7 +90,7 @@ PSBTAnalysis AnalyzePSBT(PartiallySignedTransaction psbtx) // Calculate next role for PSBT by grabbing "minimum" PSBTInput next role result.next = PSBTRole::EXTRACTOR; - for (unsigned int i = 0; i < psbtx.tx->vin.size(); ++i) { + for (unsigned int i = 0; i < psbtx.inputs.size(); ++i) { PSBTInputAnalysis& input_analysis = result.inputs[i]; result.next = std::min(result.next, input_analysis.next); } @@ -118,12 +122,12 @@ PSBTAnalysis AnalyzePSBT(PartiallySignedTransaction psbtx) result.fee = fee; // Estimate the size - CMutableTransaction mtx(*psbtx.tx); + CMutableTransaction mtx(psbtx.GetUnsignedTx()); CCoinsView view_dummy; CCoinsViewCache view(&view_dummy); bool success = true; - for (unsigned int i = 0; i < psbtx.tx->vin.size(); ++i) { + for (unsigned int i = 0; i < psbtx.inputs.size(); ++i) { PSBTInput& input = psbtx.inputs[i]; Coin newcoin; @@ -134,7 +138,7 @@ PSBTAnalysis AnalyzePSBT(PartiallySignedTransaction psbtx) mtx.vin[i].scriptSig = input.final_script_sig; mtx.witness.vtxinwit[i].scriptWitness = input.final_script_witness; newcoin.nHeight = 1; - view.AddCoin(psbtx.tx->vin[i].prevout, std::move(newcoin), true); + view.AddCoin(input.GetOutPoint(), std::move(newcoin), true); } } @@ -150,5 +154,6 @@ PSBTAnalysis AnalyzePSBT(PartiallySignedTransaction psbtx) } return result; +*/ }