pub struct TxScriptContext {
pub tx_index: usize,
pub prevout_values_range: (usize, usize),
pub script_pubkey_indices_range: (usize, usize),
pub flags: u32,
pub bip143: Option<Bip143PrecomputedHashes>,
pub loop_idx: usize,
pub fee: i64,
pub ecdsa_index_base: usize,
pub sighash_midstate_cache: Option<SighashMidstateCache>,
}Expand description
Per-tx context shared by all inputs of that tx. prevout_script_pubkeys and prevout_values in block-level buffers; context holds (start, count) ranges to avoid per-tx Vec allocations.
Fields§
§tx_index: usize§prevout_values_range: (usize, usize)(start, count) range into BlockSessionContext.prevout_values_buffer
script_pubkey_indices_range: (usize, usize)(start, count) range into BlockSessionContext.script_pubkey_indices_buffer
flags: u32§bip143: Option<Bip143PrecomputedHashes>§loop_idx: usize§fee: i64§ecdsa_index_base: usize§sighash_midstate_cache: Option<SighashMidstateCache>Roadmap: Core-style (scriptCode, nHashType) -> hash cache. Helps multisig.
Trait Implementations§
Source§impl Clone for TxScriptContext
impl Clone for TxScriptContext
Source§fn clone(&self) -> TxScriptContext
fn clone(&self) -> TxScriptContext
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for TxScriptContext
impl RefUnwindSafe for TxScriptContext
impl Send for TxScriptContext
impl Sync for TxScriptContext
impl Unpin for TxScriptContext
impl UnsafeUnpin for TxScriptContext
impl UnwindSafe for TxScriptContext
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more