pub struct AccountReader { /* private fields */ }Expand description
Provides lazy access to account data.
AccountReader executes queries lazily - each method call fetches fresh data
from storage, ensuring you always see the current state.
§Example
let reader = client.account_reader(account_id);
// Each call fetches fresh data
let nonce = reader.nonce().await?;
let status = reader.status().await?;
let commitment = reader.commitment().await?;
// Vault access
let balance = reader.get_balance(faucet_id).await?;
// Storage access
let value = reader.get_storage_item("my_slot").await?;Implementations§
Source§impl AccountReader
impl AccountReader
Sourcepub fn new(store: Arc<dyn Store>, account_id: AccountId) -> Self
pub fn new(store: Arc<dyn Store>, account_id: AccountId) -> Self
Creates a new AccountReader for the given account.
Sourcepub fn account_id(&self) -> AccountId
pub fn account_id(&self) -> AccountId
Returns the account ID (fixed at construction).
Sourcepub async fn nonce(&self) -> Result<Felt, ClientError>
pub async fn nonce(&self) -> Result<Felt, ClientError>
Retrieves the current account nonce.
Sourcepub async fn commitment(&self) -> Result<Word, ClientError>
pub async fn commitment(&self) -> Result<Word, ClientError>
Retrieves the account commitment (hash of the full state).
Sourcepub async fn storage_commitment(&self) -> Result<Word, ClientError>
pub async fn storage_commitment(&self) -> Result<Word, ClientError>
Retrieves the storage commitment (root of the storage tree).
Sourcepub async fn vault_root(&self) -> Result<Word, ClientError>
pub async fn vault_root(&self) -> Result<Word, ClientError>
Retrieves the vault root (root of the asset vault tree).
Sourcepub async fn code_commitment(&self) -> Result<Word, ClientError>
pub async fn code_commitment(&self) -> Result<Word, ClientError>
Retrieves the code commitment (hash of the account code).
Sourcepub async fn status(&self) -> Result<AccountStatus, ClientError>
pub async fn status(&self) -> Result<AccountStatus, ClientError>
Retrieves the current account status (New, Tracked, or Locked).
Sourcepub async fn header(
&self,
) -> Result<(AccountHeader, AccountStatus), ClientError>
pub async fn header( &self, ) -> Result<(AccountHeader, AccountStatus), ClientError>
Retrieves the account header and status.
Sourcepub async fn addresses(&self) -> Result<Vec<Address>, ClientError>
pub async fn addresses(&self) -> Result<Vec<Address>, ClientError>
Retrieves the addresses associated with this account.
Sourcepub async fn get_balance(
&self,
faucet_id: AccountId,
) -> Result<u64, ClientError>
pub async fn get_balance( &self, faucet_id: AccountId, ) -> Result<u64, ClientError>
Retrieves the balance of a fungible asset in the account’s vault.
Returns 0 if the asset is not present in the vault or if the asset is not a fungible
asset.
To load the entire vault, use
Client::get_account_vault.
Sourcepub async fn get_storage_item(
&self,
slot_name: impl Into<StorageSlotName>,
) -> Result<Word, ClientError>
pub async fn get_storage_item( &self, slot_name: impl Into<StorageSlotName>, ) -> Result<Word, ClientError>
Retrieves a storage slot value by name.
This method fetches the requested slot from storage.
For Value slots, returns the stored word.
For Map slots, returns the map root.
Sourcepub async fn get_storage_map_item(
&self,
slot_name: impl Into<StorageSlotName>,
key: StorageMapKey,
) -> Result<Word, ClientError>
pub async fn get_storage_map_item( &self, slot_name: impl Into<StorageSlotName>, key: StorageMapKey, ) -> Result<Word, ClientError>
Retrieves a value from a storage map slot by name and key.
This method fetches only the requested slot from storage.
§Errors
Returns an error if the slot is not found or is not a map.
Sourcepub async fn get_storage_map_witness(
&self,
slot_name: impl Into<StorageSlotName>,
key: StorageMapKey,
) -> Result<(Word, StorageMapWitness), ClientError>
pub async fn get_storage_map_witness( &self, slot_name: impl Into<StorageSlotName>, key: StorageMapKey, ) -> Result<(Word, StorageMapWitness), ClientError>
Retrieves a value and its Merkle witness from a storage map slot.
This method fetches the requested slot from storage and it’s inclusion proof.
§Errors
Returns an error if the slot is not found or is not a map.
Auto Trait Implementations§
impl Freeze for AccountReader
impl !RefUnwindSafe for AccountReader
impl Send for AccountReader
impl Sync for AccountReader
impl Unpin for AccountReader
impl UnsafeUnpin for AccountReader
impl !UnwindSafe for AccountReader
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> 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