pub struct Input {Show 21 fields
pub non_witness_utxo: Option<Transaction>,
pub witness_utxo: Option<TxOut>,
pub partial_sigs: BTreeMap<PublicKey, EcdsaSig>,
pub sighash_type: Option<PsbtSighashType>,
pub redeem_script: Option<Script>,
pub witness_script: Option<Script>,
pub bip32_derivation: BTreeMap<PublicKey, KeySource>,
pub final_script_sig: Option<Script>,
pub final_script_witness: Option<Witness>,
pub ripemd160_preimages: BTreeMap<Hash, Vec<u8>>,
pub sha256_preimages: BTreeMap<Hash, Vec<u8>>,
pub hash160_preimages: BTreeMap<Hash, Vec<u8>>,
pub hash256_preimages: BTreeMap<Hash, Vec<u8>>,
pub tap_key_sig: Option<SchnorrSig>,
pub tap_script_sigs: BTreeMap<(XOnlyPublicKey, TapLeafHash), SchnorrSig>,
pub tap_scripts: BTreeMap<ControlBlock, (Script, LeafVersion)>,
pub tap_key_origins: BTreeMap<XOnlyPublicKey, (Vec<TapLeafHash>, KeySource)>,
pub tap_internal_key: Option<XOnlyPublicKey>,
pub tap_merkle_root: Option<TapBranchHash>,
pub proprietary: BTreeMap<ProprietaryKey, Vec<u8>>,
pub unknown: BTreeMap<Key, Vec<u8>>,
}
Expand description
A key-value map for an input of the corresponding index in the unsigned transaction.
Fields§
§non_witness_utxo: Option<Transaction>
The non-witness transaction this input spends from. Should only be std::option::Option::Some for inputs which spend non-segwit outputs or if it is unknown whether an input spends a segwit output.
witness_utxo: Option<TxOut>
The transaction output this input spends from. Should only be std::option::Option::Some for inputs which spend segwit outputs, including P2SH embedded ones.
partial_sigs: BTreeMap<PublicKey, EcdsaSig>
A map from public keys to their corresponding signature as would be pushed to the stack from a scriptSig or witness for a non-taproot inputs.
sighash_type: Option<PsbtSighashType>
The sighash type to be used for this input. Signatures for this input must use the sighash type.
redeem_script: Option<Script>
The redeem script for this input.
witness_script: Option<Script>
The witness script for this input.
bip32_derivation: BTreeMap<PublicKey, KeySource>
A map from public keys needed to sign this input to their corresponding master key fingerprints and derivation paths.
final_script_sig: Option<Script>
The finalized, fully-constructed scriptSig with signatures and any other scripts necessary for this input to pass validation.
final_script_witness: Option<Witness>
The finalized, fully-constructed scriptWitness with signatures and any other scripts necessary for this input to pass validation.
ripemd160_preimages: BTreeMap<Hash, Vec<u8>>
TODO: Proof of reserves commitment RIPEMD160 hash to preimage map.
sha256_preimages: BTreeMap<Hash, Vec<u8>>
SHA256 hash to preimage map.
hash160_preimages: BTreeMap<Hash, Vec<u8>>
HSAH160 hash to preimage map.
hash256_preimages: BTreeMap<Hash, Vec<u8>>
HAS256 hash to preimage map.
tap_key_sig: Option<SchnorrSig>
Serialized schnorr signature with sighash type for key spend.
tap_script_sigs: BTreeMap<(XOnlyPublicKey, TapLeafHash), SchnorrSig>
Map of
tap_scripts: BTreeMap<ControlBlock, (Script, LeafVersion)>
Map of Control blocks to Script version pair.
tap_key_origins: BTreeMap<XOnlyPublicKey, (Vec<TapLeafHash>, KeySource)>
Map of tap root x only keys to origin info and leaf hashes contained in it.
tap_internal_key: Option<XOnlyPublicKey>
Taproot Internal key.
tap_merkle_root: Option<TapBranchHash>
Taproot Merkle root.
proprietary: BTreeMap<ProprietaryKey, Vec<u8>>
Proprietary key-value pairs for this input.
unknown: BTreeMap<Key, Vec<u8>>
Unknown key-value pairs for this input.
Implementations§
source§impl Input
impl Input
sourcepub fn ecdsa_hash_ty(&self) -> Result<EcdsaSighashType, NonStandardSighashType>
pub fn ecdsa_hash_ty(&self) -> Result<EcdsaSighashType, NonStandardSighashType>
Obtains the EcdsaSighashType
for this input if one is specified. If no sighash type is
specified, returns EcdsaSighashType::All
.
Errors
If the sighash_type
field is set to a non-standard ECDSA sighash value.
sourcepub fn schnorr_hash_ty(&self) -> Result<SchnorrSighashType, Error>
pub fn schnorr_hash_ty(&self) -> Result<SchnorrSighashType, Error>
Obtains the SchnorrSighashType
for this input if one is specified. If no sighash type is
specified, returns SchnorrSighashType::Default
.
Errors
If the sighash_type
field is set to a invalid Schnorr sighash value.