Struct derive::Tx

source ·
pub struct Tx {
    pub version: TxVer,
    pub inputs: Confined<Vec<TxIn>, 0, bc::::coding::VarIntArray::{constant#1}>,
    pub outputs: Confined<Vec<TxOut>, 0, bc::::coding::VarIntArray::{constant#1}>,
    pub lock_time: LockTime,
}

Fields§

§version: TxVer§inputs: Confined<Vec<TxIn>, 0, bc::::coding::VarIntArray::{constant#1}>§outputs: Confined<Vec<TxOut>, 0, bc::::coding::VarIntArray::{constant#1}>§lock_time: LockTime

Implementations§

source§

impl Tx

source

pub fn inputs(&self) -> Iter<'_, TxIn>

source

pub fn outputs(&self) -> Iter<'_, TxOut>

source

pub fn is_segwit(&self) -> bool

source

pub fn to_unsigned_tx(&self) -> Tx

source

pub fn ntxid(&self) -> [u8; 32]

Computes a “normalized TXID” which does not include any signatures.

This gives a way to identify a transaction that is “the same” as another in the sense of having same inputs and outputs.

source

pub fn txid(&self) -> Txid

Computes the Txid.

Hashes the transaction excluding the segwit data (i.e. the marker, flag bytes, and the witness fields themselves). For non-segwit transactions which do not have any segwit data, this will be equal to Tx::wtxid().

source

pub fn wtxid(&self) -> Wtxid

Computes the segwit version of the transaction id.

Hashes the transaction including all segwit data (i.e. the marker, flag bytes, and the witness fields themselves). For non-segwit transactions which do not have any segwit data, this will be equal to [Transaction::txid()].

Trait Implementations§

source§

impl Clone for Tx

source§

fn clone(&self) -> Tx

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl ConsensusDecode for Tx

source§

impl ConsensusEncode for Tx

source§

fn consensus_encode(&self, writer: &mut impl Write) -> Result<usize, IoError>

source§

fn consensus_serialize(&self) -> Vec<u8>

source§

impl Debug for Tx

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Display for Tx

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl FromStr for Tx

§

type Err = BlockDataParseError

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<Tx, <Tx as FromStr>::Err>

Parses a string s to return a value of this type. Read more
source§

impl Hash for Tx

source§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for Tx

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter.
source§

impl PartialEq for Tx

source§

fn eq(&self, other: &Tx) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StrictDecode for Tx

source§

impl StrictDumb for Tx

source§

impl StrictEncode for Tx

source§

fn strict_encode<W>(&self, writer: W) -> Result<W, Error>
where W: TypedWrite,

source§

fn strict_write(&self, writer: impl WriteRaw) -> Result<(), Error>

source§

impl StrictStruct for Tx

source§

impl StrictType for Tx

source§

const STRICT_LIB_NAME: &'static str = LIB_NAME_BITCOIN

source§

fn strict_name() -> Option<TypeName>

source§

impl Weight for Tx

source§

impl Eq for Tx

source§

impl StrictProduct for Tx

source§

impl StructuralPartialEq for Tx

Auto Trait Implementations§

§

impl Freeze for Tx

§

impl RefUnwindSafe for Tx

§

impl Send for Tx

§

impl Sync for Tx

§

impl Unpin for Tx

§

impl UnwindSafe for Tx

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToHex for T
where T: LowerHex,

source§

fn to_hex(&self) -> String

Outputs the hash in hexadecimal form

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> VerifyEq for T
where T: Eq,

source§

fn verify_eq(&self, other: &T) -> bool

Verifies commit-equivalence of two instances of the same type.