 |
Bitcoin Core
22.99.0
P2P Digital Currency
|
Go to the documentation of this file.
35 if (!
DecodeRawPSBT(psbt_mut, fuzzed_data_provider.ConsumeRandomLengthString(),
error)) {
48 std::optional<CMutableTransaction> tx = psbt.
tx;
64 for (
size_t i = 0; i < psbt.
tx->vin.size(); ++i) {
82 if (!
DecodeRawPSBT(psbt_merge, fuzzed_data_provider.ConsumeRandomLengthString(),
error)) {
86 (void)psbt_mut.
Merge(psbt_merge);
90 for (
unsigned int i = 0; i < psbt_merge.
tx->vin.size(); ++i) {
93 for (
unsigned int i = 0; i < psbt_merge.
tx->vout.size(); ++i) {
TransactionError CombinePSBTs(PartiallySignedTransaction &out, const std::vector< PartiallySignedTransaction > &psbtxs)
Combines PSBTs with the same underlying transaction, resulting in a single PSBT with all partial sign...
bool FinalizePSBT(PartiallySignedTransaction &psbtx)
Finalizes a PSBT if possible, combining partial signatures.
std::vector< PSBTInput > inputs
bool AddInput(const CTxIn &txin, PSBTInput &psbtin)
bool FinalizeAndExtractPSBT(PartiallySignedTransaction &psbtx, CMutableTransaction &result)
Finalizes a PSBT if possible, and extracts it to a CMutableTransaction if it could be finalized.
#define Assert(val)
Identity function.
PSBTAnalysis AnalyzePSBT(PartiallySignedTransaction psbtx)
Provides helpful miscellaneous information about where a PSBT is in the signing workflow.
Holds the results of AnalyzePSBT (miscellaneous information about a PSBT)
bool Merge(const PartiallySignedTransaction &psbt)
Merge psbt into this.
An output of a transaction.
bool GetInputUTXO(CTxOut &utxo, int input_index) const
Finds the UTXO for a given input index.
std::vector< PSBTInputAnalysis > inputs
More information about the individual inputs of the transaction.
std::optional< CMutableTransaction > tx
A structure for PSBTs which contains per output information.
bool AddOutput(const CTxOut &txout, const PSBTOutput &psbtout)
std::string PSBTRoleName(PSBTRole role)
bool DecodeRawPSBT(PartiallySignedTransaction &psbt, const std::string &tx_data, std::string &error)
Decode a raw (binary blob) PSBT into a PartiallySignedTransaction.
size_t CountPSBTUnsignedInputs(const PartiallySignedTransaction &psbt)
Counts the unsigned inputs of a PSBT.
Users of this module must hold an ECCVerifyHandle.
A version of CTransaction with the PSBT format.
std::string ToString() const
std::vector< PSBTOutput > outputs
bool PSBTInputSigned(const PSBTInput &input)
Checks whether a PSBTInput is already signed.
bool error(const char *fmt, const Args &... args)
A mutable version of CTransaction.
FUZZ_TARGET_INIT(psbt, initialize_psbt)
PSBTRole next
Which of the BIP 174 roles needs to handle the transaction next.
std::map< std::vector< unsigned char >, std::vector< unsigned char > > unknown