Bitcoin Core 32.1.0
P2P Digital Currency
Loading...
Searching...
No Matches
psbt.h File Reference
#include <common/types.h>
#include <musig.h>
#include <node/transaction.h>
#include <policy/feerate.h>
#include <primitives/transaction.h>
#include <pubkey.h>
#include <script/keyorigin.h>
#include <script/sign.h>
#include <script/signingprovider.h>
#include <span.h>
#include <streams.h>
#include <uint256.h>
#include <util/result.h>
#include <util/expected.h>
#include <optional>
#include <bitset>
Include dependency graph for psbt.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  PSBTProprietary
 A structure for PSBT proprietary types. More...
class  PSBTInput
 A structure for PSBTs which contain per-input information. More...
class  PSBTOutput
 A structure for PSBTs which contains per output information. More...
class  PartiallySignedTransaction
 A version of CTransaction with the PSBT format. More...

Namespaces

namespace  node

Enumerations

enum class  PSBTRole {
  CREATOR , UPDATER , SIGNER , FINALIZER ,
  EXTRACTOR
}
enum class  PSBTError

Functions

template<typename Stream, typename... X>
void SerializeToVector (Stream &s, const X &... args)
template<typename Stream, typename... X>
void UnserializeFromVector (Stream &s, X &&... args)
template<typename Stream>
KeyOriginInfo DeserializeKeyOrigin (Stream &s, uint64_t length)
template<typename Stream>
void DeserializeHDKeypath (Stream &s, KeyOriginInfo &hd_keypath)
template<typename Stream>
void DeserializeHDKeypaths (Stream &s, const std::vector< unsigned char > &key, std::map< CPubKey, KeyOriginInfo > &hd_keypaths)
template<typename Stream>
void SerializeKeyOrigin (Stream &s, KeyOriginInfo hd_keypath)
template<typename Stream>
void SerializeHDKeypath (Stream &s, KeyOriginInfo hd_keypath)
template<typename Stream>
void SerializeHDKeypaths (Stream &s, const std::map< CPubKey, KeyOriginInfo > &hd_keypaths, CompactSizeWriter type)
template<typename Stream>
void DeserializeMuSig2ParticipantPubkeys (Stream &s, SpanReader &skey, std::map< CPubKey, std::vector< CPubKey > > &out, std::string context)
template<typename Stream>
void DeserializeMuSig2ParticipantDataIdentifier (Stream &skey, CPubKey &agg_pub, CPubKey &part_pub, uint256 &leaf_hash)
static void ExpectedKeySize (const std::string &key_name, const std::vector< unsigned char > &key, uint64_t expected_size)
std::string PSBTRoleName (PSBTRole role)
std::optional< PrecomputedTransactionData > PrecomputePSBTData (const PartiallySignedTransaction &psbt)
 Compute a PrecomputedTransactionData object from a psbt.
bool PSBTInputSigned (const PSBTInput &input)
 Checks whether a PSBTInput is already signed by checking for non-null finalized fields.
bool PSBTInputSignedAndVerified (const PartiallySignedTransaction &psbt, unsigned int input_index, const PrecomputedTransactionData *txdata)
 Checks whether a PSBTInput is already signed by doing script verification using final fields.
util::Expected< void, PSBTError > SignPSBTInput (const SigningProvider &provider, PartiallySignedTransaction &psbt, int index, const PrecomputedTransactionData *txdata, const common::PSBTFillOptions &options, SignatureData *out_sigdata=nullptr)
 Signs a PSBTInput, verifying that all provided data matches what is being signed.
void RemoveUnnecessaryTransactions (PartiallySignedTransaction &psbtx)
 Reduces the size of the PSBT by dropping unnecessary non_witness_utxos (i.e.
size_t CountPSBTUnsignedInputs (const PartiallySignedTransaction &psbt)
 Counts the unsigned inputs of a PSBT.
void UpdatePSBTOutput (const SigningProvider &provider, PartiallySignedTransaction &psbt, int index)
 Updates a PSBTOutput with information from provider.
bool FinalizePSBT (PartiallySignedTransaction &psbtx)
 Finalizes a PSBT if possible, combining partial signatures.
bool FinalizeAndExtractPSBT (PartiallySignedTransaction &psbtx, CMutableTransaction &result)
 Finalizes a PSBT if possible, and extracts it to a CMutableTransaction if it could be finalized.
std::optional< PartiallySignedTransaction > CombinePSBTs (const std::vector< PartiallySignedTransaction > &psbtxs)
 Combines PSBTs with the same underlying transaction, resulting in a single PSBT with all partial signatures from each input.
util::Result< PartiallySignedTransaction > DecodeBase64PSBT (const std::string &base64_tx)
 Decode a base64ed PSBT into a PartiallySignedTransaction.
util::Result< PartiallySignedTransaction > DecodeRawPSBT (std::span< const std::byte > tx_data)
 Decode a raw (binary blob) PSBT into a PartiallySignedTransaction.

Variables

constexpr uint8_t PSBT_MAGIC_BYTES [5] = {'p', 's', 'b', 't', 0xff}
constexpr uint8_t PSBT_GLOBAL_UNSIGNED_TX = 0x00
constexpr uint8_t PSBT_GLOBAL_XPUB = 0x01
constexpr uint8_t PSBT_GLOBAL_TX_VERSION = 0x02
constexpr uint8_t PSBT_GLOBAL_FALLBACK_LOCKTIME = 0x03
constexpr uint8_t PSBT_GLOBAL_INPUT_COUNT = 0x04
constexpr uint8_t PSBT_GLOBAL_OUTPUT_COUNT = 0x05
constexpr uint8_t PSBT_GLOBAL_TX_MODIFIABLE = 0x06
constexpr uint8_t PSBT_GLOBAL_VERSION = 0xFB
constexpr uint8_t PSBT_GLOBAL_PROPRIETARY = 0xFC
constexpr uint8_t PSBT_IN_NON_WITNESS_UTXO = 0x00
constexpr uint8_t PSBT_IN_WITNESS_UTXO = 0x01
constexpr uint8_t PSBT_IN_PARTIAL_SIG = 0x02
constexpr uint8_t PSBT_IN_SIGHASH = 0x03
constexpr uint8_t PSBT_IN_REDEEMSCRIPT = 0x04
constexpr uint8_t PSBT_IN_WITNESSSCRIPT = 0x05
constexpr uint8_t PSBT_IN_BIP32_DERIVATION = 0x06
constexpr uint8_t PSBT_IN_SCRIPTSIG = 0x07
constexpr uint8_t PSBT_IN_SCRIPTWITNESS = 0x08
constexpr uint8_t PSBT_IN_RIPEMD160 = 0x0A
constexpr uint8_t PSBT_IN_SHA256 = 0x0B
constexpr uint8_t PSBT_IN_HASH160 = 0x0C
constexpr uint8_t PSBT_IN_HASH256 = 0x0D
constexpr uint8_t PSBT_IN_PREVIOUS_TXID = 0x0e
constexpr uint8_t PSBT_IN_OUTPUT_INDEX = 0x0f
constexpr uint8_t PSBT_IN_SEQUENCE = 0x10
constexpr uint8_t PSBT_IN_REQUIRED_TIME_LOCKTIME = 0x11
constexpr uint8_t PSBT_IN_REQUIRED_HEIGHT_LOCKTIME = 0x12
constexpr uint8_t PSBT_IN_TAP_KEY_SIG = 0x13
constexpr uint8_t PSBT_IN_TAP_SCRIPT_SIG = 0x14
constexpr uint8_t PSBT_IN_TAP_LEAF_SCRIPT = 0x15
constexpr uint8_t PSBT_IN_TAP_BIP32_DERIVATION = 0x16
constexpr uint8_t PSBT_IN_TAP_INTERNAL_KEY = 0x17
constexpr uint8_t PSBT_IN_TAP_MERKLE_ROOT = 0x18
constexpr uint8_t PSBT_IN_MUSIG2_PARTICIPANT_PUBKEYS = 0x1a
constexpr uint8_t PSBT_IN_MUSIG2_PUB_NONCE = 0x1b
constexpr uint8_t PSBT_IN_MUSIG2_PARTIAL_SIG = 0x1c
constexpr uint8_t PSBT_IN_PROPRIETARY = 0xFC
constexpr uint8_t PSBT_OUT_REDEEMSCRIPT = 0x00
constexpr uint8_t PSBT_OUT_WITNESSSCRIPT = 0x01
constexpr uint8_t PSBT_OUT_BIP32_DERIVATION = 0x02
constexpr uint8_t PSBT_OUT_AMOUNT = 0x03
constexpr uint8_t PSBT_OUT_SCRIPT = 0x04
constexpr uint8_t PSBT_OUT_TAP_INTERNAL_KEY = 0x05
constexpr uint8_t PSBT_OUT_TAP_TREE = 0x06
constexpr uint8_t PSBT_OUT_TAP_BIP32_DERIVATION = 0x07
constexpr uint8_t PSBT_OUT_MUSIG2_PARTICIPANT_PUBKEYS = 0x08
constexpr uint8_t PSBT_OUT_PROPRIETARY = 0xFC
constexpr uint8_t PSBT_SEPARATOR = 0x00
constexpr std::streamsize MAX_FILE_SIZE_PSBT {100'000'000}
constexpr uint32_t PSBT_HIGHEST_VERSION = 2

Enumeration Type Documentation

◆ PSBTError

enum class common::PSBTError
strong

Definition at line 19 of file types.h.

◆ PSBTRole

enum class PSBTRole
strong
Enumerator
CREATOR 
UPDATER 
SIGNER 
FINALIZER 
EXTRACTOR 

Definition at line 1622 of file psbt.h.

Function Documentation

◆ CombinePSBTs()

std::optional< PartiallySignedTransaction > CombinePSBTs ( const std::vector< PartiallySignedTransaction > & psbtxs)
nodiscard

Combines PSBTs with the same underlying transaction, resulting in a single PSBT with all partial signatures from each input.

Parameters
[in]psbtxsthe PSBTs to combine
Returns
The combined PSBT or std::nullopt if the PSBTs cannot be combined

Definition at line 838 of file psbt.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CountPSBTUnsignedInputs()

size_t CountPSBTUnsignedInputs ( const PartiallySignedTransaction & psbt)

Counts the unsigned inputs of a PSBT.

Definition at line 586 of file psbt.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DecodeBase64PSBT()

util::Result< PartiallySignedTransaction > DecodeBase64PSBT ( const std::string & base64_tx)
nodiscard

Decode a base64ed PSBT into a PartiallySignedTransaction.

Definition at line 862 of file psbt.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DecodeRawPSBT()

util::Result< PartiallySignedTransaction > DecodeRawPSBT ( std::span< const std::byte > tx_data)
nodiscard

Decode a raw (binary blob) PSBT into a PartiallySignedTransaction.

Definition at line 871 of file psbt.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeserializeHDKeypath()

template<typename Stream>
void DeserializeHDKeypath ( Stream & s,
KeyOriginInfo & hd_keypath )

Definition at line 160 of file psbt.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeserializeHDKeypaths()

template<typename Stream>
void DeserializeHDKeypaths ( Stream & s,
const std::vector< unsigned char > & key,
std::map< CPubKey, KeyOriginInfo > & hd_keypaths )

Definition at line 167 of file psbt.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeserializeKeyOrigin()

template<typename Stream>
KeyOriginInfo DeserializeKeyOrigin ( Stream & s,
uint64_t length )

Definition at line 141 of file psbt.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeserializeMuSig2ParticipantDataIdentifier()

template<typename Stream>
void DeserializeMuSig2ParticipantDataIdentifier ( Stream & skey,
CPubKey & agg_pub,
CPubKey & part_pub,
uint256 & leaf_hash )

Definition at line 251 of file psbt.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeserializeMuSig2ParticipantPubkeys()

template<typename Stream>
void DeserializeMuSig2ParticipantPubkeys ( Stream & s,
SpanReader & skey,
std::map< CPubKey, std::vector< CPubKey > > & out,
std::string context )

Definition at line 219 of file psbt.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ExpectedKeySize()

void ExpectedKeySize ( const std::string & key_name,
const std::vector< unsigned char > & key,
uint64_t expected_size )
inlinestatic

Definition at line 274 of file psbt.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FinalizeAndExtractPSBT()

bool FinalizeAndExtractPSBT ( PartiallySignedTransaction & psbtx,
CMutableTransaction & result )

Finalizes a PSBT if possible, and extracts it to a CMutableTransaction if it could be finalized.

Parameters
[in]psbtxPartiallySignedTransaction
[out]resultCMutableTransaction representing the complete transaction, if successful
Returns
True if we successfully extracted the transaction, false otherwise

Definition at line 818 of file psbt.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FinalizePSBT()

bool FinalizePSBT ( PartiallySignedTransaction & psbtx)

Finalizes a PSBT if possible, combining partial signatures.

Parameters
[in,out]psbtxPartiallySignedTransaction to finalize return True if the PSBT is now complete, false otherwise

Definition at line 797 of file psbt.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrecomputePSBTData()

std::optional< PrecomputedTransactionData > PrecomputePSBTData ( const PartiallySignedTransaction & psbt)

Compute a PrecomputedTransactionData object from a psbt.

Definition at line 622 of file psbt.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PSBTInputSigned()

bool PSBTInputSigned ( const PSBTInput & input)

Checks whether a PSBTInput is already signed by checking for non-null finalized fields.

Definition at line 547 of file psbt.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PSBTInputSignedAndVerified()

bool PSBTInputSignedAndVerified ( const PartiallySignedTransaction & psbt,
unsigned int input_index,
const PrecomputedTransactionData * txdata )

Checks whether a PSBTInput is already signed by doing script verification using final fields.

Definition at line 552 of file psbt.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PSBTRoleName()

std::string PSBTRoleName ( PSBTRole role)

Definition at line 851 of file psbt.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RemoveUnnecessaryTransactions()

void RemoveUnnecessaryTransactions ( PartiallySignedTransaction & psbtx)

Reduces the size of the PSBT by dropping unnecessary non_witness_utxos (i.e.

complete previous transactions) from a psbt when all inputs are segwit v1.

Definition at line 760 of file psbt.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SerializeHDKeypath()

template<typename Stream>
void SerializeHDKeypath ( Stream & s,
KeyOriginInfo hd_keypath )

Definition at line 198 of file psbt.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SerializeHDKeypaths()

template<typename Stream>
void SerializeHDKeypaths ( Stream & s,
const std::map< CPubKey, KeyOriginInfo > & hd_keypaths,
CompactSizeWriter type )

Definition at line 206 of file psbt.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SerializeKeyOrigin()

template<typename Stream>
void SerializeKeyOrigin ( Stream & s,
KeyOriginInfo hd_keypath )

Definition at line 188 of file psbt.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SerializeToVector()

template<typename Stream, typename... X>
void SerializeToVector ( Stream & s,
const X &... args )

Definition at line 118 of file psbt.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SignPSBTInput()

util::Expected< void, PSBTError > SignPSBTInput ( const SigningProvider & provider,
PartiallySignedTransaction & psbt,
int index,
const PrecomputedTransactionData * txdata,
const common::PSBTFillOptions & options,
SignatureData * out_sigdata = nullptr )
nodiscard

Signs a PSBTInput, verifying that all provided data matches what is being signed.

txdata should be the output of PrecomputePSBTData (which can be shared across multiple SignPSBTInput calls). If it is nullptr, a dummy signature will be created.

Definition at line 643 of file psbt.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UnserializeFromVector()

template<typename Stream, typename... X>
void UnserializeFromVector ( Stream & s,
X &&... args )

Definition at line 128 of file psbt.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdatePSBTOutput()

void UpdatePSBTOutput ( const SigningProvider & provider,
PartiallySignedTransaction & psbt,
int index )

Updates a PSBTOutput with information from provider.

This fills in the redeem_script, witness_script, and hd_keypaths where possible.

Definition at line 597 of file psbt.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ MAX_FILE_SIZE_PSBT

std::streamsize MAX_FILE_SIZE_PSBT {100'000'000}
inlineconstexpr

Definition at line 94 of file psbt.h.

◆ PSBT_GLOBAL_FALLBACK_LOCKTIME

uint8_t PSBT_GLOBAL_FALLBACK_LOCKTIME = 0x03
inlineconstexpr

Definition at line 39 of file psbt.h.

◆ PSBT_GLOBAL_INPUT_COUNT

uint8_t PSBT_GLOBAL_INPUT_COUNT = 0x04
inlineconstexpr

Definition at line 40 of file psbt.h.

◆ PSBT_GLOBAL_OUTPUT_COUNT

uint8_t PSBT_GLOBAL_OUTPUT_COUNT = 0x05
inlineconstexpr

Definition at line 41 of file psbt.h.

◆ PSBT_GLOBAL_PROPRIETARY

uint8_t PSBT_GLOBAL_PROPRIETARY = 0xFC
inlineconstexpr

Definition at line 44 of file psbt.h.

◆ PSBT_GLOBAL_TX_MODIFIABLE

uint8_t PSBT_GLOBAL_TX_MODIFIABLE = 0x06
inlineconstexpr

Definition at line 42 of file psbt.h.

◆ PSBT_GLOBAL_TX_VERSION

uint8_t PSBT_GLOBAL_TX_VERSION = 0x02
inlineconstexpr

Definition at line 38 of file psbt.h.

◆ PSBT_GLOBAL_UNSIGNED_TX

uint8_t PSBT_GLOBAL_UNSIGNED_TX = 0x00
inlineconstexpr

Definition at line 36 of file psbt.h.

◆ PSBT_GLOBAL_VERSION

uint8_t PSBT_GLOBAL_VERSION = 0xFB
inlineconstexpr

Definition at line 43 of file psbt.h.

◆ PSBT_GLOBAL_XPUB

uint8_t PSBT_GLOBAL_XPUB = 0x01
inlineconstexpr

Definition at line 37 of file psbt.h.

◆ PSBT_HIGHEST_VERSION

uint32_t PSBT_HIGHEST_VERSION = 2
inlineconstexpr

Definition at line 97 of file psbt.h.

◆ PSBT_IN_BIP32_DERIVATION

uint8_t PSBT_IN_BIP32_DERIVATION = 0x06
inlineconstexpr

Definition at line 53 of file psbt.h.

◆ PSBT_IN_HASH160

uint8_t PSBT_IN_HASH160 = 0x0C
inlineconstexpr

Definition at line 58 of file psbt.h.

◆ PSBT_IN_HASH256

uint8_t PSBT_IN_HASH256 = 0x0D
inlineconstexpr

Definition at line 59 of file psbt.h.

◆ PSBT_IN_MUSIG2_PARTIAL_SIG

uint8_t PSBT_IN_MUSIG2_PARTIAL_SIG = 0x1c
inlineconstexpr

Definition at line 73 of file psbt.h.

◆ PSBT_IN_MUSIG2_PARTICIPANT_PUBKEYS

uint8_t PSBT_IN_MUSIG2_PARTICIPANT_PUBKEYS = 0x1a
inlineconstexpr

Definition at line 71 of file psbt.h.

◆ PSBT_IN_MUSIG2_PUB_NONCE

uint8_t PSBT_IN_MUSIG2_PUB_NONCE = 0x1b
inlineconstexpr

Definition at line 72 of file psbt.h.

◆ PSBT_IN_NON_WITNESS_UTXO

uint8_t PSBT_IN_NON_WITNESS_UTXO = 0x00
inlineconstexpr

Definition at line 47 of file psbt.h.

◆ PSBT_IN_OUTPUT_INDEX

uint8_t PSBT_IN_OUTPUT_INDEX = 0x0f
inlineconstexpr

Definition at line 61 of file psbt.h.

◆ PSBT_IN_PARTIAL_SIG

uint8_t PSBT_IN_PARTIAL_SIG = 0x02
inlineconstexpr

Definition at line 49 of file psbt.h.

◆ PSBT_IN_PREVIOUS_TXID

uint8_t PSBT_IN_PREVIOUS_TXID = 0x0e
inlineconstexpr

Definition at line 60 of file psbt.h.

◆ PSBT_IN_PROPRIETARY

uint8_t PSBT_IN_PROPRIETARY = 0xFC
inlineconstexpr

Definition at line 74 of file psbt.h.

◆ PSBT_IN_REDEEMSCRIPT

uint8_t PSBT_IN_REDEEMSCRIPT = 0x04
inlineconstexpr

Definition at line 51 of file psbt.h.

◆ PSBT_IN_REQUIRED_HEIGHT_LOCKTIME

uint8_t PSBT_IN_REQUIRED_HEIGHT_LOCKTIME = 0x12
inlineconstexpr

Definition at line 64 of file psbt.h.

◆ PSBT_IN_REQUIRED_TIME_LOCKTIME

uint8_t PSBT_IN_REQUIRED_TIME_LOCKTIME = 0x11
inlineconstexpr

Definition at line 63 of file psbt.h.

◆ PSBT_IN_RIPEMD160

uint8_t PSBT_IN_RIPEMD160 = 0x0A
inlineconstexpr

Definition at line 56 of file psbt.h.

◆ PSBT_IN_SCRIPTSIG

uint8_t PSBT_IN_SCRIPTSIG = 0x07
inlineconstexpr

Definition at line 54 of file psbt.h.

◆ PSBT_IN_SCRIPTWITNESS

uint8_t PSBT_IN_SCRIPTWITNESS = 0x08
inlineconstexpr

Definition at line 55 of file psbt.h.

◆ PSBT_IN_SEQUENCE

uint8_t PSBT_IN_SEQUENCE = 0x10
inlineconstexpr

Definition at line 62 of file psbt.h.

◆ PSBT_IN_SHA256

uint8_t PSBT_IN_SHA256 = 0x0B
inlineconstexpr

Definition at line 57 of file psbt.h.

◆ PSBT_IN_SIGHASH

uint8_t PSBT_IN_SIGHASH = 0x03
inlineconstexpr

Definition at line 50 of file psbt.h.

◆ PSBT_IN_TAP_BIP32_DERIVATION

uint8_t PSBT_IN_TAP_BIP32_DERIVATION = 0x16
inlineconstexpr

Definition at line 68 of file psbt.h.

◆ PSBT_IN_TAP_INTERNAL_KEY

uint8_t PSBT_IN_TAP_INTERNAL_KEY = 0x17
inlineconstexpr

Definition at line 69 of file psbt.h.

◆ PSBT_IN_TAP_KEY_SIG

uint8_t PSBT_IN_TAP_KEY_SIG = 0x13
inlineconstexpr

Definition at line 65 of file psbt.h.

◆ PSBT_IN_TAP_LEAF_SCRIPT

uint8_t PSBT_IN_TAP_LEAF_SCRIPT = 0x15
inlineconstexpr

Definition at line 67 of file psbt.h.

◆ PSBT_IN_TAP_MERKLE_ROOT

uint8_t PSBT_IN_TAP_MERKLE_ROOT = 0x18
inlineconstexpr

Definition at line 70 of file psbt.h.

◆ PSBT_IN_TAP_SCRIPT_SIG

uint8_t PSBT_IN_TAP_SCRIPT_SIG = 0x14
inlineconstexpr

Definition at line 66 of file psbt.h.

◆ PSBT_IN_WITNESS_UTXO

uint8_t PSBT_IN_WITNESS_UTXO = 0x01
inlineconstexpr

Definition at line 48 of file psbt.h.

◆ PSBT_IN_WITNESSSCRIPT

uint8_t PSBT_IN_WITNESSSCRIPT = 0x05
inlineconstexpr

Definition at line 52 of file psbt.h.

◆ PSBT_MAGIC_BYTES

uint8_t PSBT_MAGIC_BYTES[5] = {'p', 's', 'b', 't', 0xff}
inlineconstexpr

Definition at line 33 of file psbt.h.

◆ PSBT_OUT_AMOUNT

uint8_t PSBT_OUT_AMOUNT = 0x03
inlineconstexpr

Definition at line 80 of file psbt.h.

◆ PSBT_OUT_BIP32_DERIVATION

uint8_t PSBT_OUT_BIP32_DERIVATION = 0x02
inlineconstexpr

Definition at line 79 of file psbt.h.

◆ PSBT_OUT_MUSIG2_PARTICIPANT_PUBKEYS

uint8_t PSBT_OUT_MUSIG2_PARTICIPANT_PUBKEYS = 0x08
inlineconstexpr

Definition at line 85 of file psbt.h.

◆ PSBT_OUT_PROPRIETARY

uint8_t PSBT_OUT_PROPRIETARY = 0xFC
inlineconstexpr

Definition at line 86 of file psbt.h.

◆ PSBT_OUT_REDEEMSCRIPT

uint8_t PSBT_OUT_REDEEMSCRIPT = 0x00
inlineconstexpr

Definition at line 77 of file psbt.h.

◆ PSBT_OUT_SCRIPT

uint8_t PSBT_OUT_SCRIPT = 0x04
inlineconstexpr

Definition at line 81 of file psbt.h.

◆ PSBT_OUT_TAP_BIP32_DERIVATION

uint8_t PSBT_OUT_TAP_BIP32_DERIVATION = 0x07
inlineconstexpr

Definition at line 84 of file psbt.h.

◆ PSBT_OUT_TAP_INTERNAL_KEY

uint8_t PSBT_OUT_TAP_INTERNAL_KEY = 0x05
inlineconstexpr

Definition at line 82 of file psbt.h.

◆ PSBT_OUT_TAP_TREE

uint8_t PSBT_OUT_TAP_TREE = 0x06
inlineconstexpr

Definition at line 83 of file psbt.h.

◆ PSBT_OUT_WITNESSSCRIPT

uint8_t PSBT_OUT_WITNESSSCRIPT = 0x01
inlineconstexpr

Definition at line 78 of file psbt.h.

◆ PSBT_SEPARATOR

uint8_t PSBT_SEPARATOR = 0x00
inlineconstexpr

Definition at line 90 of file psbt.h.