5#ifndef BITCOIN_RPC_RAWTRANSACTION_UTIL_H
6#define BITCOIN_RPC_RAWTRANSACTION_UTIL_H
An outpoint - a combination of a transaction hash and an index n into its vout.
An interface to be implemented by keystores that support signing.
void SignTransactionResultToJSON(CMutableTransaction &mtx, bool complete, const std::map< COutPoint, Coin > &coins, const std::map< int, bilingual_str > &input_errors, UniValue &result)
void SignTransaction(CMutableTransaction &mtx, const SigningProvider *keystore, const std::map< COutPoint, Coin > &coins, const UniValue &hashType, UniValue &result)
Sign a transaction with the given keystore and previous transactions.
void AddOutputs(CMutableTransaction &rawTx, const UniValue &outputs_in)
Normalize, parse, and add outputs to the transaction.
std::vector< RPCResult > TxDoc(const TxDocOptions &opts={})
Explain the UniValue "decoded" transaction object, may include extra fields if processed by wallet.
std::vector< std::pair< CTxDestination, CAmount > > ParseOutputs(const UniValue &outputs)
Parse normalized outputs into destination, amount tuples.
void AddInputs(CMutableTransaction &rawTx, const UniValue &inputs_in, bool rbf)
Normalize univalue-represented inputs and add them to the transaction.
CMutableTransaction ConstructTransaction(const UniValue &inputs_in, const UniValue &outputs_in, const UniValue &locktime, std::optional< bool > rbf, uint32_t version)
Create a transaction from univalue parameters.
UniValue NormalizeOutputs(const UniValue &outputs_in)
Normalize univalue-represented outputs.
void ParsePrevouts(const UniValue &prevTxsUnival, FlatSigningProvider *keystore, std::map< COutPoint, Coin > &coins)
Parse a prevtxs UniValue array and get the map of coins from it.
A mutable version of CTransaction.
std::string txid_field_doc
The description of the txid field.
std::optional< std::string > elision_description
Treat this as an elided Result in the help.