pub enum Output {
Treasury(TreasuryOutput),
Basic(BasicOutput),
Alias(AliasOutput),
Foundry(FoundryOutput),
Nft(NftOutput),
}
Expand description
A generic output that can represent different types defining the deposit of funds.
Variants
Treasury(TreasuryOutput)
A treasury output.
Basic(BasicOutput)
A basic output.
Alias(AliasOutput)
An alias output.
Foundry(FoundryOutput)
A foundry output.
Nft(NftOutput)
An NFT output.
Implementations
sourceimpl Output
impl Output
sourcepub const AMOUNT_MIN: u64 = 1u64
pub const AMOUNT_MIN: u64 = 1u64
Minimum amount for an output.
sourcepub fn native_tokens(&self) -> Option<&NativeTokens>
pub fn native_tokens(&self) -> Option<&NativeTokens>
Returns the native tokens of an Output
, if any.
sourcepub fn unlock_conditions(&self) -> Option<&UnlockConditions>
pub fn unlock_conditions(&self) -> Option<&UnlockConditions>
Returns the unlock conditions of an Output
, if any.
sourcepub fn immutable_features(&self) -> Option<&Features>
pub fn immutable_features(&self) -> Option<&Features>
Returns the immutable features of an Output
, if any.
sourcepub fn verify_state_transition(
current_state: Option<&Output>,
next_state: Option<&Output>,
context: &ValidationContext<'_>
) -> Result<(), StateTransitionError>
pub fn verify_state_transition(
current_state: Option<&Output>,
next_state: Option<&Output>,
context: &ValidationContext<'_>
) -> Result<(), StateTransitionError>
sourcepub fn verify_storage_deposit(
&self,
rent_structure: RentStructure,
token_supply: u64
) -> Result<(), Error>
pub fn verify_storage_deposit(
&self,
rent_structure: RentStructure,
token_supply: u64
) -> Result<(), Error>
Verifies if a valid storage deposit was made. Each Output
has to have an amount that covers its associated
byte cost, given by RentStructure
.
If there is a StorageDepositReturnUnlockCondition
,
its amount is also checked.
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Output
impl<'de> Deserialize<'de> for Output
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl From<AliasOutput> for Output
impl From<AliasOutput> for Output
sourcefn from(original: AliasOutput) -> Output
fn from(original: AliasOutput) -> Output
Converts to this type from the input type.
sourceimpl From<BasicOutput> for Output
impl From<BasicOutput> for Output
sourcefn from(original: BasicOutput) -> Output
fn from(original: BasicOutput) -> Output
Converts to this type from the input type.
sourceimpl From<FoundryOutput> for Output
impl From<FoundryOutput> for Output
sourcefn from(original: FoundryOutput) -> Output
fn from(original: FoundryOutput) -> Output
Converts to this type from the input type.
sourceimpl From<TreasuryOutput> for Output
impl From<TreasuryOutput> for Output
sourcefn from(original: TreasuryOutput) -> Output
fn from(original: TreasuryOutput) -> Output
Converts to this type from the input type.
sourceimpl Ord for Output
impl Ord for Output
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl Packable for Output
impl Packable for Output
type UnpackError = Error
type UnpackError = Error
The error type that can be returned if some semantic error occurs while unpacking. Read more
type UnpackVisitor = ProtocolParameters
type UnpackVisitor = ProtocolParameters
FIXME: docs
sourcefn pack<P: Packer>(&self, packer: &mut P) -> Result<(), P::Error>
fn pack<P: Packer>(&self, packer: &mut P) -> Result<(), P::Error>
Packs this value into the given
Packer
.sourcefn unpack<U: Unpacker, const VERIFY: bool>(
unpacker: &mut U,
visitor: &Self::UnpackVisitor
) -> Result<Self, UnpackError<Self::UnpackError, U::Error>>
fn unpack<U: Unpacker, const VERIFY: bool>(
unpacker: &mut U,
visitor: &Self::UnpackVisitor
) -> Result<Self, UnpackError<Self::UnpackError, U::Error>>
sourceimpl PartialOrd<Output> for Output
impl PartialOrd<Output> for Output
sourcefn partial_cmp(&self, other: &Output) -> Option<Ordering>
fn partial_cmp(&self, other: &Output) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresourceimpl Rent for Output
impl Rent for Output
sourcefn weighted_bytes(&self, rent_structure: &RentStructure) -> u64
fn weighted_bytes(&self, rent_structure: &RentStructure) -> u64
Different fields in a type lead to different storage requirements for the ledger state.
sourcefn rent_cost(&self, config: &RentStructure) -> u64
fn rent_cost(&self, config: &RentStructure) -> u64
Computes the rent cost given a
RentStructure
.impl Eq for Output
impl StructuralEq for Output
impl StructuralPartialEq for Output
Auto Trait Implementations
impl RefUnwindSafe for Output
impl Send for Output
impl Sync for Output
impl Unpin for Output
impl UnwindSafe for Output
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
sourcefn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
sourceimpl<P> PackableExt for Pwhere
P: Packable,
impl<P> PackableExt for Pwhere
P: Packable,
sourcefn unpack_verified<T>(
bytes: T,
visitor: &<P as Packable>::UnpackVisitor
) -> Result<P, UnpackError<<P as Packable>::UnpackError, UnexpectedEOF>>where
T: AsRef<[u8]>,
fn unpack_verified<T>(
bytes: T,
visitor: &<P as Packable>::UnpackVisitor
) -> Result<P, UnpackError<<P as Packable>::UnpackError, UnexpectedEOF>>where
T: AsRef<[u8]>,
Unpacks this value from a type that implements [AsRef<[u8]>
].
sourcefn unpack_unverified<T>(
bytes: T
) -> Result<P, UnpackError<<P as Packable>::UnpackError, UnexpectedEOF>>where
T: AsRef<[u8]>,
fn unpack_unverified<T>(
bytes: T
) -> Result<P, UnpackError<<P as Packable>::UnpackError, UnexpectedEOF>>where
T: AsRef<[u8]>,
Unpacks this value from a type that implements [AsRef<[u8]>
] skipping some syntatical checks.
sourcefn packed_len(&self) -> usize
fn packed_len(&self) -> usize
Returns the length in bytes of the value after being packed. The returned value always matches the number of
bytes written using
pack
. Read more