pub struct Authenticator { /* private fields */ }Expand description
The Authenticator is the main component with which users interact with the World ID Protocol.
Implementations§
Source§impl Authenticator
impl Authenticator
Sourcepub fn init_storage(&self, now: u64) -> Result<(), WalletKitError>
pub fn init_storage(&self, now: u64) -> Result<(), WalletKitError>
Initializes storage using the authenticator’s leaf index.
§Errors
Returns an error if the leaf index is invalid or storage initialization fails.
Sourcepub fn destroy_storage(&self) -> Result<(), WalletKitError>
pub fn destroy_storage(&self) -> Result<(), WalletKitError>
Permanently destroys all credential storage data.
Removes the encryption keys, vault database, and cache database. After this call the authenticator can no longer generate proofs or access stored credentials. Intended for logout or account deletion.
§Errors
Returns an error if the storage destruction fails.
Source§impl Authenticator
impl Authenticator
Sourcepub async fn init_with_config(
seed: &[u8],
config: Config,
artifacts: Arc<dyn WalletKitZkArtifactSource>,
store: Arc<CredentialStore>,
) -> Result<Self, WalletKitError>
pub async fn init_with_config( seed: &[u8], config: Config, artifacts: Arc<dyn WalletKitZkArtifactSource>, store: Arc<CredentialStore>, ) -> Result<Self, WalletKitError>
Source§impl Authenticator
impl Authenticator
Sourcepub fn packed_account_data(&self) -> Uint256
pub fn packed_account_data(&self) -> Uint256
Returns the packed account data for the holder’s World ID.
The packed account data is a 256 bit integer which includes the user’s leaf index, their recovery counter, and their pubkey id/commitment.
Sourcepub fn leaf_index(&self) -> u64
pub fn leaf_index(&self) -> u64
Returns the leaf index for the holder’s World ID.
This is the index in the Merkle tree where the holder’s World ID account is registered. It should only be used inside the authenticator and never shared.
Sourcepub fn onchain_address(&self) -> String
pub fn onchain_address(&self) -> String
Returns the Authenticator’s onchain_address.
See world_id_core::Authenticator::onchain_address for more details.
Sourcepub async fn get_packed_account_data_remote(
&self,
) -> Result<Uint256, WalletKitError>
pub async fn get_packed_account_data_remote( &self, ) -> Result<Uint256, WalletKitError>
Returns the packed account data for the holder’s World ID fetching it from the on-chain registry.
§Errors
Will error if the provided RPC URL is not valid or if there are RPC call failures.
Sourcepub async fn generate_credential_blinding_factor_remote(
&self,
issuer_schema_id: u64,
) -> Result<FieldElement, WalletKitError>
pub async fn generate_credential_blinding_factor_remote( &self, issuer_schema_id: u64, ) -> Result<FieldElement, WalletKitError>
Generates a blinding factor for a Credential sub (through OPRF Nodes).
See CoreAuthenticator::generate_credential_blinding_factor for more details.
§Errors
- Will generally error if there are network issues or if the OPRF Nodes return an error.
- Raises an error if the OPRF Nodes configuration is not correctly set.
Sourcepub fn compute_credential_sub(
&self,
blinding_factor: &FieldElement,
) -> FieldElement
pub fn compute_credential_sub( &self, blinding_factor: &FieldElement, ) -> FieldElement
Compute the sub for a credential from the authenticator’s leaf index and a blinding_factor.
Sourcepub fn danger_sign_challenge(
&self,
challenge: Vec<u8>,
) -> Result<Vec<u8>, WalletKitError>
pub fn danger_sign_challenge( &self, challenge: Vec<u8>, ) -> Result<Vec<u8>, WalletKitError>
Signs an arbitrary challenge with the authenticator’s on-chain key.
§Warning
This is considered a dangerous operation because it leaks the user’s on-chain key,
hence its leaf_index. The only acceptable use is to prove the user’s leaf_index
to a Recovery Agent. The Recovery Agent is the only party beyond the user who needs
to know the leaf_index.
§Errors
May error if very unexpectedly the signing process fails. Not expected.
Sourcepub async fn danger_sign_initiate_recovery_agent_update(
&self,
new_recovery_agent: String,
) -> Result<RecoveryUpdateSignature, WalletKitError>
pub async fn danger_sign_initiate_recovery_agent_update( &self, new_recovery_agent: String, ) -> Result<RecoveryUpdateSignature, WalletKitError>
Signs the EIP-712 InitiateRecoveryAgentUpdate payload and returns the
raw signature bytes and signing nonce without submitting anything to the
gateway.
Callers can use the returned bytes to build and submit the gateway request themselves.
§Warning
This method uses the onchain_signer (secp256k1 ECDSA) and produces a
recoverable signature. Any holder of the signature together with the
EIP-712 parameters can call ecrecover to obtain the onchain_address,
which can then be looked up in the registry to derive the user’s
leaf_index. Only expose the output to trusted parties (e.g. a Recovery
Agent).
§Arguments
new_recovery_agent— the checksummed hex address of the new recovery agent (e.g."0x1234…").
§Errors
- Returns
WalletKitError::InvalidInputifnew_recovery_agentis not a valid address. - Returns an error if the nonce fetch or signing step fails.
Sourcepub async fn update_recovery_agent(
&self,
new_recovery_agent: String,
) -> Result<String, WalletKitError>
pub async fn update_recovery_agent( &self, new_recovery_agent: String, ) -> Result<String, WalletKitError>
Updates the holder’s recovery agent (WIP-102).
On a V2 registry the new agent becomes effective immediately, but for a
revert window any authenticator can call
Self::revert_recovery_agent_update to roll back. During that window
the previous agent remains the only valid signer for recoverAccount,
which mitigates a compromised authenticator silently swapping in an
attacker-controlled recovery address.
§Arguments
new_recovery_agent— the checksummed hex address of the new recovery agent (e.g."0x1234…").
§Errors
- Returns
WalletKitError::InvalidInputifnew_recovery_agentis not a valid address. - Returns a network error if the gateway request fails.
Sourcepub async fn revert_recovery_agent_update(
&self,
) -> Result<String, WalletKitError>
pub async fn revert_recovery_agent_update( &self, ) -> Result<String, WalletKitError>
Reverts an in-flight recovery agent update during the revert window (WIP-102).
Must be called within the revert window after
Self::update_recovery_agent. During that window any authenticator
can revert the update; the previous recovery agent stays effective
until the window expires.
Signs an EIP-712 CancelRecoveryAgentUpdate payload (the typehash is
reused on V2) and submits it to the gateway.
§Errors
Returns a network error if the gateway request fails.
Sourcepub async fn insert_authenticator(
&self,
new_authenticator_pubkey: String,
new_authenticator_address: String,
) -> Result<String, WalletKitError>
pub async fn insert_authenticator( &self, new_authenticator_pubkey: String, new_authenticator_address: String, ) -> Result<String, WalletKitError>
Inserts an authenticator into the holder’s World ID account.
§Arguments
new_authenticator_pubkey— a compressedBabyJubJubpublic key encoded as a0x-prefixed, zero-padded 32-byte hex string.new_authenticator_address— the Ethereum address associated with the new authenticator. Callers may pass the zero address for a proving-only authenticator.
§Errors
- Returns
WalletKitError::InvalidInputif the public key or address is invalid. - Returns a network error if an indexer or gateway request fails.
Sourcepub async fn has_authenticator_pubkey(
&self,
authenticator_pubkey: String,
) -> Result<bool, WalletKitError>
pub async fn has_authenticator_pubkey( &self, authenticator_pubkey: String, ) -> Result<bool, WalletKitError>
Returns whether the holder’s account already contains an authenticator public key.
This performs a read-only indexer fetch and does not submit an account operation.
§Arguments
authenticator_pubkey— a compressedBabyJubJubpublic key encoded as a0x-prefixed, zero-padded 32-byte hex string.
§Errors
- Returns
WalletKitError::InvalidInputif the public key is invalid. - Returns a network error if the indexer request fails.
Sourcepub async fn get_authenticator_pubkeys(
&self,
) -> Result<Vec<Option<String>>, WalletKitError>
pub async fn get_authenticator_pubkeys( &self, ) -> Result<Vec<Option<String>>, WalletKitError>
Returns the account’s authenticator public keys, indexed by key-set slot.
Each entry is the compressed BabyJubJub public key at that slot encoded
as a 0x-prefixed, zero-padded 32-byte hex string, or None for an
empty slot. A key’s position in this list is the pubkey_id expected by
Self::remove_authenticator.
This performs a read-only indexer fetch and does not submit an account operation.
§Errors
- Returns a network error if the indexer request fails.
- Returns an error if a stored public key cannot be encoded.
Sourcepub async fn remove_authenticator(
&self,
authenticator_address: String,
pubkey_id: u32,
expected_authenticator_pubkey: String,
) -> Result<String, WalletKitError>
pub async fn remove_authenticator( &self, authenticator_address: String, pubkey_id: u32, expected_authenticator_pubkey: String, ) -> Result<String, WalletKitError>
Removes an authenticator from the holder’s World ID account.
§Arguments
authenticator_address— the Ethereum address associated with the authenticator being removed. Callers must pass the zero address for a proving-only authenticator.pubkey_id— the stable key-set slot of the authenticator being removed.expected_authenticator_pubkey— the compressedBabyJubJubpublic key the caller intends to remove, encoded as a0x-prefixed, zero-padded 32-byte hex string. The removal is refused ifpubkey_idcurrently holds a different key, catching callers acting on a stale key-set view (seeSelf::get_authenticator_pubkeys). This check is best-effort: the signing flow re-reads the key set afterwards, so a concurrent change to the slot between the check and that read can still remove whichever key the slot holds at signing time. Callers that need an exact-target guarantee must serialize account operations across the account’s authenticators.
§Errors
- Returns
WalletKitError::InvalidInputif the address or public key is invalid, ifpubkey_idis out of range, if the slot is empty, or if the slot holds a different key. - Returns a network error if an indexer or gateway request fails.
Sourcepub async fn poll_status(
&self,
request_id: String,
) -> Result<GatewayRequestStatus, WalletKitError>
pub async fn poll_status( &self, request_id: String, ) -> Result<GatewayRequestStatus, WalletKitError>
Polls the gateway once for the status of an account operation.
§Errors
Returns a network error if the gateway request fails.
Source§impl Authenticator
impl Authenticator
Sourcepub async fn init_with_defaults(
seed: Vec<u8>,
rpc_url: Option<String>,
environment: &Environment,
region: Option<Region>,
artifacts: Arc<dyn WalletKitZkArtifactSource>,
store: Arc<CredentialStore>,
) -> Result<Self, WalletKitError>
pub async fn init_with_defaults( seed: Vec<u8>, rpc_url: Option<String>, environment: &Environment, region: Option<Region>, artifacts: Arc<dyn WalletKitZkArtifactSource>, store: Arc<CredentialStore>, ) -> Result<Self, WalletKitError>
Initializes a new Authenticator from a seed and with SDK defaults.
The user’s World ID must already be registered in the WorldIDRegistry,
otherwise a WalletKitError::AccountDoesNotExist error will be returned.
§Errors
See CoreAuthenticator::init for potential errors.
Sourcepub async fn init_with_ohttp_defaults(
seed: Vec<u8>,
rpc_url: Option<String>,
environment: &Environment,
region: Option<Region>,
artifacts: Arc<dyn WalletKitZkArtifactSource>,
store: Arc<CredentialStore>,
) -> Result<Self, WalletKitError>
pub async fn init_with_ohttp_defaults( seed: Vec<u8>, rpc_url: Option<String>, environment: &Environment, region: Option<Region>, artifacts: Arc<dyn WalletKitZkArtifactSource>, store: Arc<CredentialStore>, ) -> Result<Self, WalletKitError>
Initializes a new Authenticator from a seed using SDK defaults routed
through the OHTTP relay. Opt-in alternative to
Authenticator::init_with_defaults.
The user’s World ID must already be registered in the WorldIDRegistry,
otherwise a WalletKitError::AccountDoesNotExist error will be returned.
§Errors
See CoreAuthenticator::init for potential errors.
Sourcepub async fn init(
seed: Vec<u8>,
config: &str,
artifacts: Arc<dyn WalletKitZkArtifactSource>,
store: Arc<CredentialStore>,
) -> Result<Self, WalletKitError>
pub async fn init( seed: Vec<u8>, config: &str, artifacts: Arc<dyn WalletKitZkArtifactSource>, store: Arc<CredentialStore>, ) -> Result<Self, WalletKitError>
Initializes a new Authenticator from a seed and config.
The user’s World ID must already be registered in the WorldIDRegistry,
otherwise a WalletKitError::AccountDoesNotExist error will be returned.
§Errors
Will error if the provided seed is not valid or if the config is not valid.
Sourcepub async fn generate_proof(
&self,
proof_request: &ProofRequest,
now: Option<u64>,
) -> Result<ProofResponse, WalletKitError>
pub async fn generate_proof( &self, proof_request: &ProofRequest, now: Option<u64>, ) -> Result<ProofResponse, WalletKitError>
Sourcepub async fn prove_credential_sub(
&self,
nonce: &FieldElement,
context: &FieldElement,
blinding_factor: &FieldElement,
sub: &FieldElement,
) -> Result<OwnershipProof, WalletKitError>
pub async fn prove_credential_sub( &self, nonce: &FieldElement, context: &FieldElement, blinding_factor: &FieldElement, sub: &FieldElement, ) -> Result<OwnershipProof, WalletKitError>
Generates a WIP-103 Ownership Proof for Issuers.
An Ownership Proof lets the user prove they own the credential sub
associated with a stored credential without revealing their leaf_index.
§Security-critical usage constraint
This method MUST only be called as part of a direct user-initiated action in the client. Callers MUST NOT expose this method to issuer-triggered, backend-triggered, or unauthenticated request flows.
§Arguments
nonce- A field element provided by the Issuer to prevent replay.context- A field element identifying the issuer operation being authorized.blinding_factor- The credential blinding factor previously used to derive the credentialsub.sub- The credentialsub(commitment) to prove ownership of.
§Errors
- Returns
WalletKitError::InvalidInputifblinding_factorandsubare inconsistent with each other (i.e.subwas not derived from this authenticator’s leaf index and the provided blinding factor). - Returns a network error if the Merkle inclusion proof cannot be fetched from the indexer.
- Returns
WalletKitError::ProofGenerationif the ZK proof fails.
Trait Implementations§
Source§impl Debug for Authenticator
impl Debug for Authenticator
Source§impl<UT> LiftRef<UT> for Authenticator
impl<UT> LiftRef<UT> for Authenticator
type LiftType = Arc<Authenticator>
Source§impl<UT> LowerError<UT> for Authenticator
impl<UT> LowerError<UT> for Authenticator
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Source§impl<UT> LowerReturn<UT> for Authenticator
impl<UT> LowerReturn<UT> for Authenticator
Source§type ReturnType = <Arc<Authenticator> as LowerReturn<UniFfiTag>>::ReturnType
type ReturnType = <Arc<Authenticator> as LowerReturn<UniFfiTag>>::ReturnType
Source§fn lower_return(obj: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(obj: Self) -> Result<Self::ReturnType, RustCallError>
Source§fn handle_failed_lift(
error: LiftArgsError,
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>
Source§impl<UT> TypeId<UT> for Authenticator
impl<UT> TypeId<UT> for Authenticator
Auto Trait Implementations§
impl !RefUnwindSafe for Authenticator
impl !UnwindSafe for Authenticator
impl Freeze for Authenticator
impl Send for Authenticator
impl Sync for Authenticator
impl Unpin for Authenticator
impl UnsafeUnpin for Authenticator
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, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for 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> Layering for T
impl<T> Layering for T
impl<T> MaybeSend for Twhere
T: Send,
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