pub struct AssetVaultKey { /* private fields */ }Expand description
The unique identifier of an Asset in the AssetVault.
Its Word layout is:
[
asset_id_suffix (64 bits),
asset_id_prefix (64 bits),
[faucet_id_suffix (56 bits) | 7 zero bits | callbacks_enabled (1 bit)],
faucet_id_prefix (64 bits)
]Implementations§
Source§impl AssetVaultKey
impl AssetVaultKey
Sourcepub const SERIALIZED_SIZE: usize = Word::SERIALIZED_SIZE
pub const SERIALIZED_SIZE: usize = Word::SERIALIZED_SIZE
The serialized size of an AssetVaultKey in bytes.
Serialized as its Word representation (4 field elements).
Sourcepub fn new_native(
asset_id: AssetId,
faucet_id: AccountId,
) -> Result<Self, AssetError>
pub fn new_native( asset_id: AssetId, faucet_id: AccountId, ) -> Result<Self, AssetError>
Creates an AssetVaultKey for a native asset with callbacks disabled.
§Errors
Returns an error if:
- the provided ID is not of type
AccountType::FungibleFaucetorAccountType::NonFungibleFaucet - the asset ID limbs are not zero when
faucet_idis of typeAccountType::FungibleFaucet.
Sourcepub fn new(
asset_id: AssetId,
faucet_id: AccountId,
callback_flag: AssetCallbackFlag,
) -> Result<Self, AssetError>
pub fn new( asset_id: AssetId, faucet_id: AccountId, callback_flag: AssetCallbackFlag, ) -> Result<Self, AssetError>
Creates an AssetVaultKey from its parts with the given AssetCallbackFlag.
§Errors
Returns an error if:
- the provided ID is not of type
AccountType::FungibleFaucetorAccountType::NonFungibleFaucet - the asset ID limbs are not zero when
faucet_idis of typeAccountType::FungibleFaucet.
Sourcepub fn to_word(&self) -> Word
pub fn to_word(&self) -> Word
Returns the word representation of the vault key.
See the type-level documentation for details.
Sourcepub fn asset_id(&self) -> AssetId
pub fn asset_id(&self) -> AssetId
Returns the AssetId of the vault key that distinguishes different assets issued by the
same faucet.
Sourcepub fn faucet_id(&self) -> AccountId
pub fn faucet_id(&self) -> AccountId
Returns the AccountId of the faucet that issued the asset.
Sourcepub fn callback_flag(&self) -> AssetCallbackFlag
pub fn callback_flag(&self) -> AssetCallbackFlag
Returns the AssetCallbackFlag flag of the vault key.
Sourcepub fn new_fungible(faucet_id: AccountId) -> Option<Self>
pub fn new_fungible(faucet_id: AccountId) -> Option<Self>
Constructs a fungible asset’s key from a faucet ID.
Returns None if the provided ID is not of type
AccountType::FungibleFaucet
Sourcepub fn to_leaf_index(&self) -> LeafIndex<SMT_DEPTH>
pub fn to_leaf_index(&self) -> LeafIndex<SMT_DEPTH>
Returns the leaf index of a vault key.
Trait Implementations§
Source§impl Clone for AssetVaultKey
impl Clone for AssetVaultKey
Source§fn clone(&self) -> AssetVaultKey
fn clone(&self) -> AssetVaultKey
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AssetVaultKey
impl Debug for AssetVaultKey
Source§impl Deserializable for AssetVaultKey
impl Deserializable for AssetVaultKey
Source§fn read_from<R: ByteReader>(
source: &mut R,
) -> Result<Self, DeserializationError>
fn read_from<R: ByteReader>( source: &mut R, ) -> Result<Self, DeserializationError>
source, attempts to deserialize these bytes
into Self, and returns the result. Read moreSource§fn min_serialized_size() -> usize
fn min_serialized_size() -> usize
Source§fn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError>
fn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError>
Source§fn read_from_bytes_with_budget(
bytes: &[u8],
budget: usize,
) -> Result<Self, DeserializationError>
fn read_from_bytes_with_budget( bytes: &[u8], budget: usize, ) -> Result<Self, DeserializationError>
Self from bytes with a byte budget limit. Read moreSource§impl Display for AssetVaultKey
impl Display for AssetVaultKey
Source§impl From<Asset> for AssetVaultKey
impl From<Asset> for AssetVaultKey
Source§impl From<AssetVaultKey> for Word
impl From<AssetVaultKey> for Word
Source§fn from(vault_key: AssetVaultKey) -> Self
fn from(vault_key: AssetVaultKey) -> Self
Source§impl From<FungibleAsset> for AssetVaultKey
impl From<FungibleAsset> for AssetVaultKey
Source§fn from(fungible_asset: FungibleAsset) -> Self
fn from(fungible_asset: FungibleAsset) -> Self
Source§impl From<NonFungibleAsset> for AssetVaultKey
impl From<NonFungibleAsset> for AssetVaultKey
Source§fn from(non_fungible_asset: NonFungibleAsset) -> Self
fn from(non_fungible_asset: NonFungibleAsset) -> Self
Source§impl Ord for AssetVaultKey
impl Ord for AssetVaultKey
Source§fn cmp(&self, other: &Self) -> Ordering
fn cmp(&self, other: &Self) -> Ordering
Implements comparison based on the Word representation.
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for AssetVaultKey
impl PartialEq for AssetVaultKey
Source§impl PartialOrd for AssetVaultKey
impl PartialOrd for AssetVaultKey
Source§impl Serializable for AssetVaultKey
impl Serializable for AssetVaultKey
Source§fn write_into<W: ByteWriter>(&self, target: &mut W)
fn write_into<W: ByteWriter>(&self, target: &mut W)
self into bytes and writes these bytes into the target.Source§fn get_size_hint(&self) -> usize
fn get_size_hint(&self) -> usize
Source§impl TryFrom<Word> for AssetVaultKey
impl TryFrom<Word> for AssetVaultKey
Source§fn try_from(key: Word) -> Result<Self, Self::Error>
fn try_from(key: Word) -> Result<Self, Self::Error>
Attempts to convert the provided Word into an AssetVaultKey.
§Errors
Returns an error if:
- the faucet ID in the key is invalid or not of a faucet type.
- the asset ID limbs are not zero when
faucet_idis of typeAccountType::FungibleFaucet.
Source§type Error = AssetError
type Error = AssetError
impl Copy for AssetVaultKey
impl Eq for AssetVaultKey
impl StructuralPartialEq for AssetVaultKey
Auto Trait Implementations§
impl Freeze for AssetVaultKey
impl RefUnwindSafe for AssetVaultKey
impl Send for AssetVaultKey
impl Sync for AssetVaultKey
impl Unpin for AssetVaultKey
impl UnsafeUnpin for AssetVaultKey
impl UnwindSafe for AssetVaultKey
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
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<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