pub struct Input {Show 21 fields
pub non_witness_utxo: Option<Arc<Transaction>>,
pub witness_utxo: Option<TxOut>,
pub partial_sigs: HashMap<String, Vec<u8>>,
pub sighash_type: Option<String>,
pub redeem_script: Option<Arc<Script>>,
pub witness_script: Option<Arc<Script>>,
pub bip32_derivation: HashMap<String, KeySource>,
pub final_script_sig: Option<Arc<Script>>,
pub final_script_witness: Option<Vec<Vec<u8>>>,
pub ripemd160_preimages: HashMap<String, Vec<u8>>,
pub sha256_preimages: HashMap<String, Vec<u8>>,
pub hash160_preimages: HashMap<String, Vec<u8>>,
pub hash256_preimages: HashMap<String, Vec<u8>>,
pub tap_key_sig: Option<Vec<u8>>,
pub tap_script_sigs: HashMap<TapScriptSigKey, Vec<u8>>,
pub tap_scripts: HashMap<ControlBlock, TapScriptEntry>,
pub tap_key_origins: HashMap<String, TapKeyOrigin>,
pub tap_internal_key: Option<String>,
pub tap_merkle_root: Option<String>,
pub proprietary: HashMap<ProprietaryKey, Vec<u8>>,
pub unknown: HashMap<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<Arc<Transaction>>The non-witness transaction this input spends from. Should only be
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
Option::Some for inputs which spend segwit outputs,
including P2SH embedded ones.
partial_sigs: HashMap<String, Vec<u8>>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<String>The sighash type to be used for this input. Signatures for this input must use the sighash type.
redeem_script: Option<Arc<Script>>The redeem script for this input.
witness_script: Option<Arc<Script>>The witness script for this input.
bip32_derivation: HashMap<String, KeySource>A map from public keys needed to sign this input to their corresponding master key fingerprints and derivation paths.
final_script_sig: Option<Arc<Script>>The finalized, fully-constructed scriptSig with signatures and any other scripts necessary for this input to pass validation.
final_script_witness: Option<Vec<Vec<u8>>>The finalized, fully-constructed scriptWitness with signatures and any other scripts necessary for this input to pass validation.
ripemd160_preimages: HashMap<String, Vec<u8>>RIPEMD160 hash to preimage map.
sha256_preimages: HashMap<String, Vec<u8>>SHA256 hash to preimage map.
hash160_preimages: HashMap<String, Vec<u8>>HASH160 hash to preimage map.
hash256_preimages: HashMap<String, Vec<u8>>HASH256 hash to preimage map.
tap_key_sig: Option<Vec<u8>>Serialized taproot signature with sighash type for key spend.
tap_script_sigs: HashMap<TapScriptSigKey, Vec<u8>>Map of <xonlypubkey>|<leafhash> with signature.
tap_scripts: HashMap<ControlBlock, TapScriptEntry>Map of Control blocks to Script version pair.
tap_key_origins: HashMap<String, TapKeyOrigin>Map of tap root x only keys to origin info and leaf hashes contained in it.
tap_internal_key: Option<String>Taproot Internal key.
tap_merkle_root: Option<String>Taproot Merkle root.
proprietary: HashMap<ProprietaryKey, Vec<u8>>Proprietary key-value pairs for this input.
unknown: HashMap<Key, Vec<u8>>Unknown key-value pairs for this input.
Trait Implementations§
Source§impl<UT> ConvertError<UT> for Input
impl<UT> ConvertError<UT> for Input
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
Source§impl<UT> FfiConverter<UT> for Input
impl<UT> FfiConverter<UT> for Input
Source§const TYPE_ID_META: MetadataBuffer
const TYPE_ID_META: MetadataBuffer
Source§type FfiType = RustBuffer
type FfiType = RustBuffer
Source§fn lower(v: Self) -> RustBuffer
fn lower(v: Self) -> RustBuffer
Source§fn try_lift(buf: RustBuffer) -> Result<Self>
fn try_lift(buf: RustBuffer) -> Result<Self>
Source§impl<UT> LiftReturn<UT> for Input
impl<UT> LiftReturn<UT> for Input
Source§type ReturnType = <Input as Lift<UT>>::FfiType
type ReturnType = <Input as Lift<UT>>::FfiType
Source§fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
§fn lift_foreign_return(
ffi_return: Self::ReturnType,
call_status: RustCallStatus,
) -> Self
fn lift_foreign_return( ffi_return: Self::ReturnType, call_status: RustCallStatus, ) -> Self
§fn lift_error(_buf: RustBuffer) -> Self
fn lift_error(_buf: RustBuffer) -> Self
§fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
Source§impl<UT> LowerError<UT> for Input
impl<UT> LowerError<UT> for Input
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Source§impl<UT> LowerReturn<UT> for Input
impl<UT> LowerReturn<UT> for Input
Source§type ReturnType = <Input as Lower<UT>>::FfiType
type ReturnType = <Input as Lower<UT>>::FfiType
Source§fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
§fn handle_failed_lift(
error: LiftArgsError,
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>
Auto Trait Implementations§
impl Freeze for Input
impl RefUnwindSafe for Input
impl Send for Input
impl Sync for Input
impl Unpin for Input
impl UnwindSafe for Input
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Arc<> Read more