pub enum StorageEntry {
Value {
name: String,
description: Option<String>,
slot: u8,
value: WordRepresentation,
},
Map {
name: String,
description: Option<String>,
slot: u8,
map: MapRepresentation,
},
MultiSlot {
name: String,
description: Option<String>,
slots: Vec<u8>,
values: Vec<WordRepresentation>,
},
}Expand description
Represents a single entry in the component’s storage layout.
Each entry can describe:
- A value slot with a single word.
- A map slot with a key-value map that occupies one storage slot.
- A multi-slot entry spanning multiple contiguous slots with multiple words (but not maps) that represent a single logical value.
Variants§
Value
A value slot, which can contain one or more words. Each word is a hex-encoded string.
Fields
value: WordRepresentationThe initial value for this slot.
Map
A map slot, containing multiple key-value pairs. Keys and values are hex-encoded strings.
Fields
map: MapRepresentationA list of key-value pairs to initialize in this map slot.
MultiSlot
A multi-slot entry, representing a single logical value across multiple slots.
Fields
values: Vec<WordRepresentation>A list of values to fill the logical slot, with a length equal to the amount of slots.
Implementations§
Source§impl StorageEntry
impl StorageEntry
Sourcepub fn new_value(
name: impl Into<String>,
description: Option<impl Into<String>>,
slot: u8,
value: impl Into<WordRepresentation>,
) -> Self
pub fn new_value( name: impl Into<String>, description: Option<impl Into<String>>, slot: u8, value: impl Into<WordRepresentation>, ) -> Self
Creates a new StorageEntry::Value variant.
Sourcepub fn new_map(
name: impl Into<String>,
description: Option<impl Into<String>>,
slot: u8,
map_representation: MapRepresentation,
) -> Result<Self, AccountComponentTemplateError>
pub fn new_map( name: impl Into<String>, description: Option<impl Into<String>>, slot: u8, map_representation: MapRepresentation, ) -> Result<Self, AccountComponentTemplateError>
Creates a new StorageEntry::Map variant.
Sourcepub fn new_multi_slot(
name: impl Into<String>,
description: Option<impl Into<String>>,
slots: Vec<u8>,
values: Vec<impl Into<WordRepresentation>>,
) -> Result<Self, AccountComponentTemplateError>
pub fn new_multi_slot( name: impl Into<String>, description: Option<impl Into<String>>, slots: Vec<u8>, values: Vec<impl Into<WordRepresentation>>, ) -> Result<Self, AccountComponentTemplateError>
Creates a new StorageEntry::MultiSlot variant.
Sourcepub fn slot_indices(&self) -> &[u8] ⓘ
pub fn slot_indices(&self) -> &[u8] ⓘ
Returns the slot indices that the storage entry covers.
Sourcepub fn description(&self) -> Option<&str>
pub fn description(&self) -> Option<&str>
Returns the optional description of the storage entry.
Sourcepub fn word_values(&self) -> &[WordRepresentation]
pub fn word_values(&self) -> &[WordRepresentation]
Returns all the WordRepresentation values covered by this entry.
For Value entries, this returns a single-element slice.
For MultiSlot entries, this returns all values.
For Map entries, since they’re key-value pairs, return an empty slice.
Sourcepub fn all_placeholders_iter(
&self,
) -> Box<dyn Iterator<Item = (&StoragePlaceholder, PlaceholderType)> + '_>
pub fn all_placeholders_iter( &self, ) -> Box<dyn Iterator<Item = (&StoragePlaceholder, PlaceholderType)> + '_>
Returns an iterator over all of the storage entries’s placeholder keys, alongside their expected type.
Sourcepub fn try_build_storage_slots(
&self,
init_storage_data: &InitStorageData,
) -> Result<Vec<StorageSlot>, AccountComponentTemplateError>
pub fn try_build_storage_slots( &self, init_storage_data: &InitStorageData, ) -> Result<Vec<StorageSlot>, AccountComponentTemplateError>
Attempts to convert the storage entry into a list of StorageSlot.
- StorageEntry::Value would convert to a StorageSlot::Value
- StorageEntry::MultiSlot would convert to as many StorageSlot::Value as defined
- StorageEntry::Map would convert to a StorageSlot::Map
Each of the entry’s values could be templated. These values are replaced for values found
in init_storage_data, identified by its key.
Trait Implementations§
Source§impl Clone for StorageEntry
impl Clone for StorageEntry
Source§fn clone(&self) -> StorageEntry
fn clone(&self) -> StorageEntry
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StorageEntry
impl Debug for StorageEntry
Source§impl Deserializable for StorageEntry
impl Deserializable for StorageEntry
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 read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError>
fn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError>
Source§impl<'de> Deserialize<'de> for StorageEntry
impl<'de> Deserialize<'de> for StorageEntry
Source§fn deserialize<D>(deserializer: D) -> Result<StorageEntry, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<StorageEntry, D::Error>where
D: Deserializer<'de>,
Source§impl PartialEq for StorageEntry
impl PartialEq for StorageEntry
Source§impl Serializable for StorageEntry
impl Serializable for StorageEntry
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 Serialize for StorageEntry
impl Serialize for StorageEntry
impl Eq for StorageEntry
impl StructuralPartialEq for StorageEntry
Auto Trait Implementations§
impl Freeze for StorageEntry
impl RefUnwindSafe for StorageEntry
impl Send for StorageEntry
impl Sync for StorageEntry
impl Unpin for StorageEntry
impl UnwindSafe for StorageEntry
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<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
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<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