pub struct State { /* private fields */ }Expand description
The rollup state.
Implementations§
Source§impl State
impl State
Sourcepub async fn get_account(
&self,
account_request: AccountRequest,
) -> Result<AccountResponse, GetAccountError>
pub async fn get_account( &self, account_request: AccountRequest, ) -> Result<AccountResponse, GetAccountError>
Returns an account witness and optionally account details at a specific block.
The witness is a Merkle proof of inclusion in the account tree, proving the account’s
state commitment. If details is requested, the method also returns the account’s code,
vault assets, and storage data. Account details are only available for public accounts.
If block_num is provided, returns the state at that historical block; otherwise, returns
the latest state. Note that historical states are only available for recent blocks close
to the chain tip.
Source§impl State
impl State
Sourcepub fn block_subscription(
self: &Arc<Self>,
from: BlockNumber,
) -> BlockSubscriptionStream
pub fn block_subscription( self: &Arc<Self>, from: BlockNumber, ) -> BlockSubscriptionStream
Streams committed blocks starting from from, replaying historical blocks first and then
following live commits.
Sourcepub fn proof_subscription(
self: &Arc<Self>,
from: BlockNumber,
) -> ProofSubscriptionStream
pub fn proof_subscription( self: &Arc<Self>, from: BlockNumber, ) -> ProofSubscriptionStream
Streams block proofs starting from from, replaying historical proofs first and then
following newly proven blocks.
Source§impl State
impl State
Sourcepub async fn apply_block_with_proving_inputs(
&self,
ordered_batches: OrderedBatches,
block_inputs: BlockInputs,
signed_block: SignedBlock,
) -> Result<(), ApplyBlockWithProvingInputsError>
pub async fn apply_block_with_proving_inputs( &self, ordered_batches: OrderedBatches, block_inputs: BlockInputs, signed_block: SignedBlock, ) -> Result<(), ApplyBlockWithProvingInputsError>
Saves proving inputs for a signed block and applies it to the state.
Used by the in-process block producer after it has built and signed a block.
Sourcepub async fn apply_block(
&self,
signed_block: SignedBlock,
) -> Result<(), ApplyBlockError>
pub async fn apply_block( &self, signed_block: SignedBlock, ) -> Result<(), ApplyBlockError>
Apply changes of a new block to the DB and in-memory data structures.
§Note on state consistency
The server contains in-memory representations of the existing trees, the in-memory representation must be kept consistent with the committed data, this is necessary so to provide consistent results for all endpoints. In order to achieve consistency, the following steps are used:
- the request data is validated, prior to starting any modifications.
- block is being saved into the store in parallel with updating the DB, but before committing. This block is considered as candidate and not yet available for reading because the latest block pointer is not updated yet.
- a transaction is open in the DB and the writes are started.
- while the transaction is not committed, concurrent reads are allowed, both the DB and the in-memory representations, which are consistent at this stage.
- prior to committing the changes to the DB, an exclusive lock to the in-memory data is acquired, preventing concurrent reads to the in-memory data, since that will be out-of-sync w.r.t. the DB.
- the DB transaction is committed, and requests that read only from the DB can proceed to use the fresh data.
- the in-memory structures are updated, including the latest block pointer and the lock is released.
Sourcepub async fn save_proving_inputs(
&self,
block_num: BlockNumber,
proving_inputs: &BlockProofRequest,
) -> Result<()>
pub async fn save_proving_inputs( &self, block_num: BlockNumber, proving_inputs: &BlockProofRequest, ) -> Result<()>
Saves the proving inputs for the given block to the block store.
Source§impl State
impl State
Sourcepub async fn apply_proof(
&self,
block_num: BlockNumber,
proof_bytes: Vec<u8>,
) -> Result<()>
pub async fn apply_proof( &self, block_num: BlockNumber, proof_bytes: Vec<u8>, ) -> Result<()>
Saves a block proof, advances the proven-in-sequence tip, and notifies replica subscribers.
Source§impl State
impl State
Sourcepub fn spawn_disk_monitor(&self) -> JoinHandle<()>
pub fn spawn_disk_monitor(&self) -> JoinHandle<()>
Spawns a background task that periodically records the on-disk size of every store data path
as OTel span attributes.
Source§impl State
impl State
Sourcepub async fn sync_transactions(
&self,
account_ids: Vec<AccountId>,
block_range: RangeInclusive<BlockNumber>,
) -> Result<(BlockNumber, Vec<TransactionRecord>), DatabaseError>
pub async fn sync_transactions( &self, account_ids: Vec<AccountId>, block_range: RangeInclusive<BlockNumber>, ) -> Result<(BlockNumber, Vec<TransactionRecord>), DatabaseError>
Returns the complete transaction records for the specified accounts within the specified block range, including state commitments and note IDs.
Sourcepub async fn sync_chain_mmr(
&self,
block_range: RangeInclusive<BlockNumber>,
) -> Result<(MmrDelta, BlockHeader, Signature), StateSyncError>
pub async fn sync_chain_mmr( &self, block_range: RangeInclusive<BlockNumber>, ) -> Result<(MmrDelta, BlockHeader, Signature), StateSyncError>
Returns the chain MMR delta and the block_to block header for the specified block range.
Sourcepub async fn sync_notes(
&self,
note_tags: Vec<u32>,
block_range: RangeInclusive<BlockNumber>,
) -> Result<(Vec<(NoteSyncUpdate, MmrProof)>, BlockNumber), NoteSyncError>
pub async fn sync_notes( &self, note_tags: Vec<u32>, block_range: RangeInclusive<BlockNumber>, ) -> Result<(Vec<(NoteSyncUpdate, MmrProof)>, BlockNumber), NoteSyncError>
Loads data to synchronize a client’s notes.
Returns as many blocks with matching notes as fit within the response payload limit
(MAX_RESPONSE_PAYLOAD_BYTES).
Each block includes its header and MMR proof at forest block_range.end() + 1.
Also returns the last block number checked. If this equals block_range.end(), the
sync is complete.
pub async fn sync_nullifiers( &self, prefix_len: u32, nullifier_prefixes: Vec<u32>, block_range: RangeInclusive<BlockNumber>, ) -> Result<(Vec<NullifierInfo>, BlockNumber), DatabaseError>
Sourcepub async fn sync_account_vault(
&self,
account_id: AccountId,
block_range: RangeInclusive<BlockNumber>,
) -> Result<(BlockNumber, Vec<AccountVaultValue>), DatabaseError>
pub async fn sync_account_vault( &self, account_id: AccountId, block_range: RangeInclusive<BlockNumber>, ) -> Result<(BlockNumber, Vec<AccountVaultValue>), DatabaseError>
Returns account vault updates for specified account within a block range.
Sourcepub async fn sync_account_storage_maps(
&self,
account_id: AccountId,
block_range: RangeInclusive<BlockNumber>,
) -> Result<StorageMapValuesPage, DatabaseError>
pub async fn sync_account_storage_maps( &self, account_id: AccountId, block_range: RangeInclusive<BlockNumber>, ) -> Result<StorageMapValuesPage, DatabaseError>
Returns storage map values for syncing within a block range.
Source§impl State
impl State
Sourcepub async fn load(
data_path: &Path,
storage_options: StorageOptions,
) -> Result<Self, StateInitializationError>
pub async fn load( data_path: &Path, storage_options: StorageOptions, ) -> Result<Self, StateInitializationError>
Loads the state from the data directory.
The loaded state owns all store data structures and exposes subscription methods for sequencer and replica tasks.
Sourcepub async fn load_with_database_options(
data_path: &Path,
storage_options: StorageOptions,
database_options: DatabaseOptions,
) -> Result<Self, StateInitializationError>
pub async fn load_with_database_options( data_path: &Path, storage_options: StorageOptions, database_options: DatabaseOptions, ) -> Result<Self, StateInitializationError>
Loads the state from the data directory using explicit database options.
The loaded state owns all store data structures and exposes subscription methods for sequencer and replica tasks.
Sourcepub fn subscribe_committed_tip(&self) -> Receiver<BlockNumber>
pub fn subscribe_committed_tip(&self) -> Receiver<BlockNumber>
Returns a watch receiver that wakes every time a new block is committed.
Sourcepub async fn load_proving_inputs(
&self,
block_num: BlockNumber,
) -> Result<Option<Vec<u8>>>
pub async fn load_proving_inputs( &self, block_num: BlockNumber, ) -> Result<Option<Vec<u8>>>
Loads serialized block proving inputs from the block store.
Sourcepub async fn get_block_header(
&self,
block_num: Option<BlockNumber>,
include_mmr_proof: bool,
) -> Result<(Option<BlockHeader>, Option<MmrProof>), GetBlockHeaderError>
pub async fn get_block_header( &self, block_num: Option<BlockNumber>, include_mmr_proof: bool, ) -> Result<(Option<BlockHeader>, Option<MmrProof>), GetBlockHeaderError>
Queries a BlockHeader from the database, and returns it alongside its inclusion proof.
If None is given as the value of block_num, the data for the latest BlockHeader is
returned.
Sourcepub async fn get_notes_by_id(
&self,
note_ids: Vec<NoteId>,
) -> Result<Vec<NoteRecord>, DatabaseError>
pub async fn get_notes_by_id( &self, note_ids: Vec<NoteId>, ) -> Result<Vec<NoteRecord>, DatabaseError>
Sourcepub async fn get_batch_inputs(
&self,
tx_reference_blocks: BTreeSet<BlockNumber>,
unauthenticated_note_commitments: BTreeSet<Word>,
) -> Result<BatchInputs, GetBatchInputsError>
pub async fn get_batch_inputs( &self, tx_reference_blocks: BTreeSet<BlockNumber>, unauthenticated_note_commitments: BTreeSet<Word>, ) -> Result<BatchInputs, GetBatchInputsError>
Fetches the inputs for a transaction batch from the database.
§Inputs
The function takes as input:
- The tx reference blocks are the set of blocks referenced by transactions in the batch.
- The unauthenticated note commitments are the set of commitments of unauthenticated notes consumed by all transactions in the batch. For these notes, we attempt to find inclusion proofs. Not all notes will exist in the DB necessarily, as some notes can be created and consumed within the same batch.
§Outputs
The function will return:
- A block inclusion proof for all tx reference blocks and for all blocks which are referenced by a note inclusion proof.
- Note inclusion proofs for all notes that were found in the DB.
- The block header that the batch should reference, i.e. the latest known block.
Sourcepub async fn get_block_inputs(
&self,
account_ids: Vec<AccountId>,
nullifiers: Vec<Nullifier>,
unauthenticated_note_commitments: BTreeSet<Word>,
reference_blocks: BTreeSet<BlockNumber>,
) -> Result<BlockInputs, GetBlockInputsError>
pub async fn get_block_inputs( &self, account_ids: Vec<AccountId>, nullifiers: Vec<Nullifier>, unauthenticated_note_commitments: BTreeSet<Word>, reference_blocks: BTreeSet<BlockNumber>, ) -> Result<BlockInputs, GetBlockInputsError>
Returns data needed by the block producer to construct and prove the next block.
Sourcepub async fn get_transaction_inputs(
&self,
account_id: AccountId,
nullifiers: &[Nullifier],
unauthenticated_note_commitments: Vec<Word>,
) -> Result<TransactionInputs, DatabaseError>
pub async fn get_transaction_inputs( &self, account_id: AccountId, nullifiers: &[Nullifier], unauthenticated_note_commitments: Vec<Word>, ) -> Result<TransactionInputs, DatabaseError>
Returns data needed by the block producer to verify transactions validity.
Sourcepub async fn filter_network_accounts(
&self,
account_ids: &[AccountId],
) -> Result<HashSet<AccountId>, DatabaseError>
pub async fn filter_network_accounts( &self, account_ids: &[AccountId], ) -> Result<HashSet<AccountId>, DatabaseError>
Filters account_ids down to the subset classified as network accounts.
Sourcepub async fn chain_tip(&self, finality: Finality) -> BlockNumber
pub async fn chain_tip(&self, finality: Finality) -> BlockNumber
Returns the effective chain tip for the given finality level.
Finality::Committed: returns the latest committed block number (from in-memory MMR).Finality::Proven: returns the latest proven-in-sequence block number (cached via watch channel, updated by the proof scheduler).
Sourcepub async fn load_block(
&self,
block_num: BlockNumber,
) -> Result<Option<Vec<u8>>, DatabaseError>
pub async fn load_block( &self, block_num: BlockNumber, ) -> Result<Option<Vec<u8>>, DatabaseError>
Loads a block from the block store. Return Ok(None) if the block is not found.
Sourcepub async fn load_proof(
&self,
block_num: BlockNumber,
) -> Result<Option<Vec<u8>>, DatabaseError>
pub async fn load_proof( &self, block_num: BlockNumber, ) -> Result<Option<Vec<u8>>, DatabaseError>
Loads a block proof from the block store. Returns Ok(None) if the proof is not found.
Sourcepub async fn get_note_script_by_root(
&self,
root: Word,
) -> Result<Option<NoteScript>, DatabaseError>
pub async fn get_note_script_by_root( &self, root: Word, ) -> Result<Option<NoteScript>, DatabaseError>
Returns the script for a note by its root.
Auto Trait Implementations§
impl !Freeze for State
impl !RefUnwindSafe for State
impl !UnwindSafe for State
impl Send for State
impl Sync for State
impl Unpin for State
impl UnsafeUnpin for State
Blanket Implementations§
Source§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
Source§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read moreSource§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read moreSource§fn aggregate_filter<P>(self, f: P) -> Self::Output
fn aggregate_filter<P>(self, f: P) -> Self::Output
Source§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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<T> IntoSql for T
impl<T> IntoSql for T
Source§fn into_sql<T>(self) -> Self::Expression
fn into_sql<T>(self) -> Self::Expression
self to an expression for Diesel’s query builder. Read moreSource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
&self to an expression for Diesel’s query builder. 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