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§
Source§impl 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§
Source§impl<'de> Deserialize<'de> for Output
impl<'de> Deserialize<'de> for Output
Source§fn 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
Source§impl From<AliasOutput> for Output
impl From<AliasOutput> for Output
Source§fn from(original: AliasOutput) -> Output
fn from(original: AliasOutput) -> Output
Converts to this type from the input type.
Source§impl From<BasicOutput> for Output
impl From<BasicOutput> for Output
Source§fn from(original: BasicOutput) -> Output
fn from(original: BasicOutput) -> Output
Converts to this type from the input type.
Source§impl From<FoundryOutput> for Output
impl From<FoundryOutput> for Output
Source§fn from(original: FoundryOutput) -> Output
fn from(original: FoundryOutput) -> Output
Converts to this type from the input type.
Source§impl From<TreasuryOutput> for Output
impl From<TreasuryOutput> for Output
Source§fn from(original: TreasuryOutput) -> Output
fn from(original: TreasuryOutput) -> Output
Converts to this type from the input type.
Source§impl Ord for Output
impl Ord for Output
Source§impl Packable for Output
impl Packable for Output
Source§type UnpackError = Error
type UnpackError = Error
The error type that can be returned if some semantic error occurs while unpacking. Read more
Source§type UnpackVisitor = ProtocolParameters
type UnpackVisitor = ProtocolParameters
FIXME: docs
Source§fn 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.Source§fn 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>>
Unpacks this value from the given
Unpacker. The VERIFY generic parameter can be used to skip additional
syntactic checks.Source§impl PartialOrd for Output
impl PartialOrd for Output
Source§impl Rent for Output
impl Rent for Output
Source§fn 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.
Source§fn 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 StructuralPartialEq for Output
Auto Trait Implementations§
impl Freeze for Output
impl RefUnwindSafe for Output
impl Send for Output
impl Sync for Output
impl Unpin for Output
impl UnwindSafe for Output
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<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<P> PackableExt for Pwhere
P: Packable,
impl<P> PackableExt for Pwhere
P: Packable,
Source§fn unpack_verified<T>(
bytes: T,
visitor: &<P as Packable>::UnpackVisitor,
) -> Result<P, UnpackError<<P as Packable>::UnpackError, UnexpectedEOF>>
fn unpack_verified<T>( bytes: T, visitor: &<P as Packable>::UnpackVisitor, ) -> Result<P, UnpackError<<P as Packable>::UnpackError, UnexpectedEOF>>
Unpacks this value from a type that implements [AsRef<[u8]>].
Source§fn unpack_unverified<T>(
bytes: T,
) -> Result<P, UnpackError<<P as Packable>::UnpackError, UnexpectedEOF>>
fn unpack_unverified<T>( bytes: T, ) -> Result<P, UnpackError<<P as Packable>::UnpackError, UnexpectedEOF>>
Unpacks this value from a type that implements [AsRef<[u8]>] skipping some syntatical checks.
Source§fn 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.