# Struct zebra_chain::transparent::Output[−][src]

pub struct Output {
pub value: Amount<NonNegative>,
pub lock_script: Script,
}

A transparent output from a transaction.

The most fundamental building block of a transaction is a transaction output -- the ZEC you own in your "wallet" is in fact a subset of unspent transaction outputs (or "UTXO"s) of the global UTXO set.

UTXOs are indivisible, discrete units of value which can only be consumed in their entirety. Thus, if I want to send you 1 ZEC and I only own one UTXO worth 2 ZEC, I would construct a transaction that spends my UTXO and sends 1 ZEC to you and 1 ZEC back to me (just like receiving change).

## Fields

value: Amount<NonNegative>

Transaction value.

lock_script: Script

The lock script defines the conditions under which this output can be spent.

## Trait Implementations

### impl Arbitrary for Output[src]

#### type Parameters = (<Amount<NonNegative> as Arbitrary>::Parameters, <Script as Arbitrary>::Parameters)

The type of parameters that arbitrary_with accepts for configuration of the generated Strategy. Parameters must implement Default. Read more

#### type Strategy = Map<(<Amount<NonNegative> as Arbitrary>::Strategy, <Script as Arbitrary>::Strategy), fn(_: (Amount<NonNegative>, Script)) -> Self>

The type of Strategy used to generate values of type Self. Read more

## Blanket Implementations

### impl<T> Same<T> for T

#### type Output = T

Should always be Self

### impl<T> ToOwned for T where    T: Clone, [src]

#### type Owned = T

The resulting type after obtaining ownership.

### impl<T, U> TryFrom<U> for T where    U: Into<T>, [src]

#### type Error = Infallible

The type returned in the event of a conversion error.

### impl<T, U> TryInto<U> for T where    U: TryFrom<T>, [src]

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

The type returned in the event of a conversion error.