Struct OutputGroup

Source
pub struct OutputGroup {
    pub value: u64,
    pub weight: u64,
    pub input_count: usize,
    pub creation_sequence: Option<u32>,
}
Expand description

Represents an input candidate for Coinselection, either as a single UTXO or a group of UTXOs.

A OutputGroup can be a single UTXO or a group that should be spent together. Grouping UTXOs belonging to a single address is privacy preserving than grouping UTXOs belonging to different addresses. In the UTXO model the output of a transaction is used as the input for the new transaction and hence the name OutputGroup The library user must craft this structure correctly, as incorrect representation can lead to incorrect selection results.

Fields§

§value: u64

Total value of the UTXO(s) that this WeightedValue represents.

§weight: u64

Total weight of including these UTXO(s) in the transaction.

The txin fields: prevout, nSequence, scriptSigLen, scriptSig, scriptWitnessLen, and scriptWitness should all be included.

§input_count: usize

The total number of inputs

§creation_sequence: Option<u32>

Specifies the relative creation sequence for this group, used only for FIFO selection.

Set to None if FIFO selection is not required. Sequence numbers are arbitrary indices that denote the relative age of a UTXO group among a set of groups. To denote the oldest UTXO group, assign it a sequence number of Some(0).

Trait Implementations§

Source§

impl Clone for OutputGroup

Source§

fn clone(&self) -> OutputGroup

Returns a duplicate 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 Debug for OutputGroup

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
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> ToOwned for T
where T: Clone,

Source§

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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>,

Source§

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V