Skip to main content

AliasOutput

Struct AliasOutput 

Source
pub struct AliasOutput { /* private fields */ }
Available on crate feature block only.
Expand description

Describes an alias account in the ledger that can be controlled by the state and governance controllers.

Implementations§

Source§

impl AliasOutput

Source

pub fn try_from_dto( value: &AliasOutputDto, token_supply: u64, ) -> Result<Self, DtoError>

Available on crate feature dto only.
Source

pub fn try_from_dto_unverified(value: &AliasOutputDto) -> Result<Self, DtoError>

Available on crate feature dto only.
Source

pub fn try_from_dtos( amount: OutputBuilderAmountDto, native_tokens: Option<Vec<NativeTokenDto>>, alias_id: &AliasIdDto, state_index: Option<u32>, state_metadata: Option<Vec<u8>>, foundry_counter: Option<u32>, unlock_conditions: Vec<UnlockConditionDto>, features: Option<Vec<FeatureDto>>, immutable_features: Option<Vec<FeatureDto>>, token_supply: u64, ) -> Result<Self, DtoError>

Available on crate feature dto only.
Source§

impl AliasOutput

Source

pub const KIND: u8 = 4

The Output kind of an AliasOutput.

Source

pub const STATE_METADATA_LENGTH_MAX: u16 = 8192

Maximum possible length in bytes of the state metadata.

Source

pub const ALLOWED_UNLOCK_CONDITIONS: UnlockConditionFlags

The set of allowed UnlockConditions for an AliasOutput.

Source

pub const ALLOWED_FEATURES: FeatureFlags

The set of allowed Features for an AliasOutput.

Source

pub const ALLOWED_IMMUTABLE_FEATURES: FeatureFlags

The set of allowed immutable Features for an AliasOutput.

Source

pub fn new_with_amount( amount: u64, alias_id: AliasId, token_supply: u64, ) -> Result<Self, Error>

Creates a new AliasOutput with a provided amount.

Source

pub fn new_with_minimum_storage_deposit( alias_id: AliasId, rent_structure: RentStructure, token_supply: u64, ) -> Result<Self, Error>

Creates a new AliasOutput with a provided rent structure. The amount will be set to the minimum storage deposit.

Source

pub fn build_with_amount( amount: u64, alias_id: AliasId, ) -> Result<AliasOutputBuilder, Error>

Creates a new AliasOutputBuilder with a provided amount.

Source

pub fn build_with_minimum_storage_deposit( rent_structure: RentStructure, alias_id: AliasId, ) -> Result<AliasOutputBuilder, Error>

Creates a new AliasOutputBuilder with a provided rent structure. The amount will be set to the minimum storage deposit.

Source

pub fn amount(&self) -> u64

Source

pub fn native_tokens(&self) -> &NativeTokens

Source

pub fn alias_id(&self) -> &AliasId

Source

pub fn alias_id_non_null(&self, output_id: &OutputId) -> AliasId

Returns the alias ID if not null, or creates it from the output ID.

Source

pub fn state_index(&self) -> u32

Source

pub fn state_metadata(&self) -> &[u8]

Source

pub fn foundry_counter(&self) -> u32

Source

pub fn unlock_conditions(&self) -> &UnlockConditions

Source

pub fn features(&self) -> &Features

Source

pub fn immutable_features(&self) -> &Features

Source

pub fn state_controller_address(&self) -> &Address

Source

pub fn governor_address(&self) -> &Address

Source

pub fn chain_id(&self) -> ChainId

Source

pub fn alias_address(&self, output_id: &OutputId) -> AliasAddress

Returns the alias address for this output.

Source

pub fn unlock( &self, output_id: &OutputId, unlock: &Unlock, inputs: &[(OutputId, &Output)], context: &mut ValidationContext<'_>, ) -> Result<(), ConflictReason>

Trait Implementations§

Source§

impl Clone for AliasOutput

Source§

fn clone(&self) -> AliasOutput

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for AliasOutput

Source§

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

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

impl<'de> Deserialize<'de> for AliasOutput

Source§

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 AliasOutputBuilder

Source§

fn from(output: &AliasOutput) -> Self

Converts to this type from the input type.
Source§

impl From<&AliasOutput> for AliasOutputDto

Available on crate feature dto only.
Source§

fn from(value: &AliasOutput) -> Self

Converts to this type from the input type.
Source§

impl From<AliasOutput> for Output

Source§

fn from(original: AliasOutput) -> Output

Converts to this type from the input type.
Source§

impl Hash for AliasOutput

Source§

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

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 Ord for AliasOutput

Source§

fn cmp(&self, other: &AliasOutput) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl Packable for AliasOutput

Source§

type UnpackError = Error

The error type that can be returned if some semantic error occurs while unpacking. Read more
Source§

type UnpackVisitor = ProtocolParameters

FIXME: docs
Source§

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

Unpacks this value from the given Unpacker. The VERIFY generic parameter can be used to skip additional syntactic checks.
Source§

impl PartialEq for AliasOutput

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for AliasOutput

Source§

fn partial_cmp(&self, other: &AliasOutput) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Serialize for AliasOutput

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StateTransitionVerifier for AliasOutput

Source§

fn creation( next_state: &Self, context: &ValidationContext<'_>, ) -> Result<(), StateTransitionError>

Source§

fn transition( current_state: &Self, next_state: &Self, context: &ValidationContext<'_>, ) -> Result<(), StateTransitionError>

Source§

fn destruction( _current_state: &Self, _context: &ValidationContext<'_>, ) -> Result<(), StateTransitionError>

Source§

impl Eq for AliasOutput

Source§

impl StructuralPartialEq for AliasOutput

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> CallHasher for T
where T: Hash + ?Sized,

Source§

default fn get_hash<H, B>(value: &H, build_hasher: &B) -> u64
where H: Hash + ?Sized, B: BuildHasher,

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<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<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<P> PackableExt for P
where P: Packable,

Source§

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]>].

Source§

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.

Source§

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.
Source§

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

Convenience method that packs this value into a Vec<u8>.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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

Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,