pub struct TokenMetadata { /* private fields */ }Expand description
A helper that stores name, mutability config, and optional fields in fixed value slots.
Designed to be embedded in
FungibleFaucet (or other token-bearing
account components) to avoid duplication. Slot names are referenced via
TokenMetadata::name_chunk_0_slot and friends.
Implementations§
Source§impl TokenMetadata
impl TokenMetadata
Sourcepub fn new(name: TokenName) -> TokenMetadata
pub fn new(name: TokenName) -> TokenMetadata
Creates a new token metadata with the given name (all optional fields absent, all flags false).
Sourcepub fn with_description(
self,
description: Description,
mutable: bool,
) -> TokenMetadata
pub fn with_description( self, description: Description, mutable: bool, ) -> TokenMetadata
Sets the description and its mutability flag together.
Sourcepub fn with_description_mutable(self, mutable: bool) -> TokenMetadata
pub fn with_description_mutable(self, mutable: bool) -> TokenMetadata
Sets whether the description can be updated by the owner.
Sourcepub fn with_logo_uri(self, logo_uri: LogoURI, mutable: bool) -> TokenMetadata
pub fn with_logo_uri(self, logo_uri: LogoURI, mutable: bool) -> TokenMetadata
Sets the logo URI and its mutability flag together.
Sourcepub fn with_logo_uri_mutable(self, mutable: bool) -> TokenMetadata
pub fn with_logo_uri_mutable(self, mutable: bool) -> TokenMetadata
Sets whether the logo URI can be updated by the owner.
Sourcepub fn with_external_link(
self,
external_link: ExternalLink,
mutable: bool,
) -> TokenMetadata
pub fn with_external_link( self, external_link: ExternalLink, mutable: bool, ) -> TokenMetadata
Sets the external link and its mutability flag together.
Sourcepub fn with_external_link_mutable(self, mutable: bool) -> TokenMetadata
pub fn with_external_link_mutable(self, mutable: bool) -> TokenMetadata
Sets whether the external link can be updated by the owner.
Sourcepub fn with_max_supply_mutable(self, mutable: bool) -> TokenMetadata
pub fn with_max_supply_mutable(self, mutable: bool) -> TokenMetadata
Sets whether the max supply can be updated by the owner.
Sourcepub fn description(&self) -> Option<&Description>
pub fn description(&self) -> Option<&Description>
Returns the description if set.
Sourcepub fn external_link(&self) -> Option<&ExternalLink>
pub fn external_link(&self) -> Option<&ExternalLink>
Returns the external link if set.
Sourcepub fn is_max_supply_mutable(&self) -> bool
pub fn is_max_supply_mutable(&self) -> bool
Returns whether the max supply is configured as mutable.
Sourcepub fn name_chunk_0_slot() -> &'static StorageSlotName
pub fn name_chunk_0_slot() -> &'static StorageSlotName
Returns the StorageSlotName for name chunk 0.
Sourcepub fn name_chunk_1_slot() -> &'static StorageSlotName
pub fn name_chunk_1_slot() -> &'static StorageSlotName
Returns the StorageSlotName for name chunk 1.
Sourcepub fn mutability_config_slot() -> &'static StorageSlotName
pub fn mutability_config_slot() -> &'static StorageSlotName
Returns the StorageSlotName for the mutability config Word.
Sourcepub fn description_slot(index: usize) -> &'static StorageSlotName
pub fn description_slot(index: usize) -> &'static StorageSlotName
Returns the StorageSlotName for a description chunk by index (0..=6).
Sourcepub fn logo_uri_slot(index: usize) -> &'static StorageSlotName
pub fn logo_uri_slot(index: usize) -> &'static StorageSlotName
Returns the StorageSlotName for a logo URI chunk by index (0..=6).
Sourcepub fn external_link_slot(index: usize) -> &'static StorageSlotName
pub fn external_link_slot(index: usize) -> &'static StorageSlotName
Returns the StorageSlotName for an external link chunk by index (0..=6).
Sourcepub fn storage_schema() -> Vec<(StorageSlotName, StorageSlotSchema)>
pub fn storage_schema() -> Vec<(StorageSlotName, StorageSlotSchema)>
Returns the storage slot schema entries describing the token metadata layout (name chunks, mutability config, description, logo URI, external link).
Embedding components should call this and extend their own schema with the result.
Sourcepub fn try_from_storage(
storage: &AccountStorage,
) -> Result<TokenMetadata, TokenMetadataError>
pub fn try_from_storage( storage: &AccountStorage, ) -> Result<TokenMetadata, TokenMetadataError>
Constructs a TokenMetadata by reading all relevant name, optional-field, and
mutability config slots from account storage.
§Errors
Returns TokenMetadataError if any storage lookup fails, a mutability flag is invalid,
or a string field cannot be decoded.
Sourcepub fn into_storage_slots(self) -> Vec<StorageSlot>
pub fn into_storage_slots(self) -> Vec<StorageSlot>
Consumes self and returns the storage slots for this metadata (name, mutability config,
and all fields). Absent optional fields are encoded as empty strings (all-zero words).
Trait Implementations§
Source§impl Clone for TokenMetadata
impl Clone for TokenMetadata
Source§fn clone(&self) -> TokenMetadata
fn clone(&self) -> TokenMetadata
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for TokenMetadata
impl RefUnwindSafe for TokenMetadata
impl Send for TokenMetadata
impl Sync for TokenMetadata
impl Unpin for TokenMetadata
impl UnsafeUnpin for TokenMetadata
impl UnwindSafe for TokenMetadata
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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>
T in a tonic::RequestSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more