pub struct SquaringServiceManagerInstance<P, N = Ethereum> { /* private fields */ }Expand description
A SquaringServiceManager instance.
Contains type-safe methods for interacting with an on-chain instance of the
SquaringServiceManager contract located at a given address, using a given
provider P.
If the contract bytecode is available (see the sol!
documentation on how to provide it), the deploy and deploy_builder methods can
be used to deploy a new instance of the contract.
See the module-level documentation for all the available methods.
Implementations§
Source§impl<P: Provider<N>, N: Network> SquaringServiceManagerInstance<P, N>
Instantiation and getters/setters.
impl<P: Provider<N>, N: Network> SquaringServiceManagerInstance<P, N>
Instantiation and getters/setters.
Sourcepub const fn new(address: Address, provider: P) -> Self
pub const fn new(address: Address, provider: P) -> Self
Creates a new wrapper around an on-chain SquaringServiceManager contract instance.
See the wrapper’s documentation for more details.
Sourcepub async fn deploy(
provider: P,
_avsDirectory: Address,
_registryCoordinator: Address,
_stakeRegistry: Address,
rewardsCoordinator: Address,
_squaringTaskManager: Address,
_permissionController: Address,
_allocationManager: Address,
) -> Result<SquaringServiceManagerInstance<P, N>>
pub async fn deploy( provider: P, _avsDirectory: Address, _registryCoordinator: Address, _stakeRegistry: Address, rewardsCoordinator: Address, _squaringTaskManager: Address, _permissionController: Address, _allocationManager: Address, ) -> Result<SquaringServiceManagerInstance<P, N>>
Deploys this contract using the given provider and constructor arguments, if any.
Returns a new instance of the contract, if the deployment was successful.
For more fine-grained control over the deployment process, use deploy_builder instead.
Sourcepub fn deploy_builder(
provider: P,
_avsDirectory: Address,
_registryCoordinator: Address,
_stakeRegistry: Address,
rewardsCoordinator: Address,
_squaringTaskManager: Address,
_permissionController: Address,
_allocationManager: Address,
) -> RawCallBuilder<P, N>
pub fn deploy_builder( provider: P, _avsDirectory: Address, _registryCoordinator: Address, _stakeRegistry: Address, rewardsCoordinator: Address, _squaringTaskManager: Address, _permissionController: Address, _allocationManager: Address, ) -> RawCallBuilder<P, N>
Creates a RawCallBuilder for deploying this contract using the given provider
and constructor arguments, if any.
This is a simple wrapper around creating a RawCallBuilder with the data set to
the bytecode concatenated with the constructor’s ABI-encoded arguments.
Sourcepub fn set_address(&mut self, address: Address)
pub fn set_address(&mut self, address: Address)
Sets the address.
Source§impl<P: Clone, N> SquaringServiceManagerInstance<&P, N>
impl<P: Clone, N> SquaringServiceManagerInstance<&P, N>
Sourcepub fn with_cloned_provider(self) -> SquaringServiceManagerInstance<P, N>
pub fn with_cloned_provider(self) -> SquaringServiceManagerInstance<P, N>
Clones the provider and returns a new instance with the cloned provider.
Source§impl<P: Provider<N>, N: Network> SquaringServiceManagerInstance<P, N>
Function calls.
impl<P: Provider<N>, N: Network> SquaringServiceManagerInstance<P, N>
Function calls.
Sourcepub fn call_builder<C: SolCall>(&self, call: &C) -> SolCallBuilder<&P, C, N>
pub fn call_builder<C: SolCall>(&self, call: &C) -> SolCallBuilder<&P, C, N>
Creates a new call builder using this contract instance’s provider and address.
Note that the call can be any function call, not just those defined in this contract. Prefer using the other methods for building type-safe contract calls.
Sourcepub fn addPendingAdmin(
&self,
admin: Address,
) -> SolCallBuilder<&P, addPendingAdminCall, N>
pub fn addPendingAdmin( &self, admin: Address, ) -> SolCallBuilder<&P, addPendingAdminCall, N>
Creates a new call builder for the [addPendingAdmin] function.
Sourcepub fn avsDirectory(&self) -> SolCallBuilder<&P, avsDirectoryCall, N>
pub fn avsDirectory(&self) -> SolCallBuilder<&P, avsDirectoryCall, N>
Creates a new call builder for the [avsDirectory] function.
Sourcepub fn createAVSRewardsSubmission(
&self,
rewardsSubmissions: Vec<<RewardsSubmission as SolType>::RustType>,
) -> SolCallBuilder<&P, createAVSRewardsSubmissionCall, N>
pub fn createAVSRewardsSubmission( &self, rewardsSubmissions: Vec<<RewardsSubmission as SolType>::RustType>, ) -> SolCallBuilder<&P, createAVSRewardsSubmissionCall, N>
Creates a new call builder for the [createAVSRewardsSubmission] function.
Sourcepub fn createOperatorDirectedAVSRewardsSubmission(
&self,
operatorDirectedRewardsSubmissions: Vec<<OperatorDirectedRewardsSubmission as SolType>::RustType>,
) -> SolCallBuilder<&P, createOperatorDirectedAVSRewardsSubmissionCall, N>
pub fn createOperatorDirectedAVSRewardsSubmission( &self, operatorDirectedRewardsSubmissions: Vec<<OperatorDirectedRewardsSubmission as SolType>::RustType>, ) -> SolCallBuilder<&P, createOperatorDirectedAVSRewardsSubmissionCall, N>
Creates a new call builder for the [createOperatorDirectedAVSRewardsSubmission] function.
Sourcepub fn deregisterOperatorFromAVS(
&self,
operator: Address,
) -> SolCallBuilder<&P, deregisterOperatorFromAVSCall, N>
pub fn deregisterOperatorFromAVS( &self, operator: Address, ) -> SolCallBuilder<&P, deregisterOperatorFromAVSCall, N>
Creates a new call builder for the [deregisterOperatorFromAVS] function.
Sourcepub fn deregisterOperatorFromOperatorSets(
&self,
operator: Address,
operatorSetIds: Vec<u32>,
) -> SolCallBuilder<&P, deregisterOperatorFromOperatorSetsCall, N>
pub fn deregisterOperatorFromOperatorSets( &self, operator: Address, operatorSetIds: Vec<u32>, ) -> SolCallBuilder<&P, deregisterOperatorFromOperatorSetsCall, N>
Creates a new call builder for the [deregisterOperatorFromOperatorSets] function.
Sourcepub fn freezeOperator(
&self,
operatorAddr: Address,
) -> SolCallBuilder<&P, freezeOperatorCall, N>
pub fn freezeOperator( &self, operatorAddr: Address, ) -> SolCallBuilder<&P, freezeOperatorCall, N>
Creates a new call builder for the [freezeOperator] function.
Sourcepub fn getOperatorRestakedStrategies(
&self,
operator: Address,
) -> SolCallBuilder<&P, getOperatorRestakedStrategiesCall, N>
pub fn getOperatorRestakedStrategies( &self, operator: Address, ) -> SolCallBuilder<&P, getOperatorRestakedStrategiesCall, N>
Creates a new call builder for the [getOperatorRestakedStrategies] function.
Sourcepub fn getRestakeableStrategies(
&self,
) -> SolCallBuilder<&P, getRestakeableStrategiesCall, N>
pub fn getRestakeableStrategies( &self, ) -> SolCallBuilder<&P, getRestakeableStrategiesCall, N>
Creates a new call builder for the [getRestakeableStrategies] function.
Sourcepub fn initialize(
&self,
initialOwner: Address,
rewardsInitiator: Address,
) -> SolCallBuilder<&P, initializeCall, N>
pub fn initialize( &self, initialOwner: Address, rewardsInitiator: Address, ) -> SolCallBuilder<&P, initializeCall, N>
Creates a new call builder for the [initialize] function.
Sourcepub fn owner(&self) -> SolCallBuilder<&P, ownerCall, N>
pub fn owner(&self) -> SolCallBuilder<&P, ownerCall, N>
Creates a new call builder for the [owner] function.
Sourcepub fn registerOperatorToAVS(
&self,
operator: Address,
operatorSignature: <SignatureWithSaltAndExpiry as SolType>::RustType,
) -> SolCallBuilder<&P, registerOperatorToAVSCall, N>
pub fn registerOperatorToAVS( &self, operator: Address, operatorSignature: <SignatureWithSaltAndExpiry as SolType>::RustType, ) -> SolCallBuilder<&P, registerOperatorToAVSCall, N>
Creates a new call builder for the [registerOperatorToAVS] function.
Sourcepub fn removeAdmin(
&self,
admin: Address,
) -> SolCallBuilder<&P, removeAdminCall, N>
pub fn removeAdmin( &self, admin: Address, ) -> SolCallBuilder<&P, removeAdminCall, N>
Creates a new call builder for the [removeAdmin] function.
Sourcepub fn removeAppointee(
&self,
appointee: Address,
target: Address,
selector: FixedBytes<4>,
) -> SolCallBuilder<&P, removeAppointeeCall, N>
pub fn removeAppointee( &self, appointee: Address, target: Address, selector: FixedBytes<4>, ) -> SolCallBuilder<&P, removeAppointeeCall, N>
Creates a new call builder for the [removeAppointee] function.
Sourcepub fn removePendingAdmin(
&self,
pendingAdmin: Address,
) -> SolCallBuilder<&P, removePendingAdminCall, N>
pub fn removePendingAdmin( &self, pendingAdmin: Address, ) -> SolCallBuilder<&P, removePendingAdminCall, N>
Creates a new call builder for the [removePendingAdmin] function.
Sourcepub fn renounceOwnership(&self) -> SolCallBuilder<&P, renounceOwnershipCall, N>
pub fn renounceOwnership(&self) -> SolCallBuilder<&P, renounceOwnershipCall, N>
Creates a new call builder for the [renounceOwnership] function.
Sourcepub fn rewardsInitiator(&self) -> SolCallBuilder<&P, rewardsInitiatorCall, N>
pub fn rewardsInitiator(&self) -> SolCallBuilder<&P, rewardsInitiatorCall, N>
Creates a new call builder for the [rewardsInitiator] function.
Sourcepub fn setAppointee(
&self,
appointee: Address,
target: Address,
selector: FixedBytes<4>,
) -> SolCallBuilder<&P, setAppointeeCall, N>
pub fn setAppointee( &self, appointee: Address, target: Address, selector: FixedBytes<4>, ) -> SolCallBuilder<&P, setAppointeeCall, N>
Creates a new call builder for the [setAppointee] function.
Sourcepub fn setClaimerFor(
&self,
claimer: Address,
) -> SolCallBuilder<&P, setClaimerForCall, N>
pub fn setClaimerFor( &self, claimer: Address, ) -> SolCallBuilder<&P, setClaimerForCall, N>
Creates a new call builder for the [setClaimerFor] function.
Sourcepub fn setRewardsInitiator(
&self,
newRewardsInitiator: Address,
) -> SolCallBuilder<&P, setRewardsInitiatorCall, N>
pub fn setRewardsInitiator( &self, newRewardsInitiator: Address, ) -> SolCallBuilder<&P, setRewardsInitiatorCall, N>
Creates a new call builder for the [setRewardsInitiator] function.
Sourcepub fn squaringTaskManager(
&self,
) -> SolCallBuilder<&P, squaringTaskManagerCall, N>
pub fn squaringTaskManager( &self, ) -> SolCallBuilder<&P, squaringTaskManagerCall, N>
Creates a new call builder for the [squaringTaskManager] function.
Sourcepub fn transferOwnership(
&self,
newOwner: Address,
) -> SolCallBuilder<&P, transferOwnershipCall, N>
pub fn transferOwnership( &self, newOwner: Address, ) -> SolCallBuilder<&P, transferOwnershipCall, N>
Creates a new call builder for the [transferOwnership] function.
Sourcepub fn updateAVSMetadataURI(
&self,
_metadataURI: String,
) -> SolCallBuilder<&P, updateAVSMetadataURICall, N>
pub fn updateAVSMetadataURI( &self, _metadataURI: String, ) -> SolCallBuilder<&P, updateAVSMetadataURICall, N>
Creates a new call builder for the [updateAVSMetadataURI] function.
Source§impl<P: Provider<N>, N: Network> SquaringServiceManagerInstance<P, N>
Event filters.
impl<P: Provider<N>, N: Network> SquaringServiceManagerInstance<P, N>
Event filters.
Sourcepub fn event_filter<E: SolEvent>(&self) -> Event<&P, E, N>
pub fn event_filter<E: SolEvent>(&self) -> Event<&P, E, N>
Creates a new event filter using this contract instance’s provider and address.
Note that the type can be any event, not just those defined in this contract. Prefer using the other methods for building type-safe event filters.
Sourcepub fn Initialized_filter(&self) -> Event<&P, Initialized, N>
pub fn Initialized_filter(&self) -> Event<&P, Initialized, N>
Creates a new event filter for the Initialized event.
Sourcepub fn OwnershipTransferred_filter(&self) -> Event<&P, OwnershipTransferred, N>
pub fn OwnershipTransferred_filter(&self) -> Event<&P, OwnershipTransferred, N>
Creates a new event filter for the OwnershipTransferred event.
Sourcepub fn RewardsInitiatorUpdated_filter(
&self,
) -> Event<&P, RewardsInitiatorUpdated, N>
pub fn RewardsInitiatorUpdated_filter( &self, ) -> Event<&P, RewardsInitiatorUpdated, N>
Creates a new event filter for the RewardsInitiatorUpdated event.
Trait Implementations§
Source§impl<P: Clone, N: Clone> Clone for SquaringServiceManagerInstance<P, N>
impl<P: Clone, N: Clone> Clone for SquaringServiceManagerInstance<P, N>
Source§fn clone(&self) -> SquaringServiceManagerInstance<P, N>
fn clone(&self) -> SquaringServiceManagerInstance<P, N>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl<P, N> Freeze for SquaringServiceManagerInstance<P, N>where
P: Freeze,
impl<P, N> RefUnwindSafe for SquaringServiceManagerInstance<P, N>where
P: RefUnwindSafe,
N: RefUnwindSafe,
impl<P, N> Send for SquaringServiceManagerInstance<P, N>
impl<P, N> Sync for SquaringServiceManagerInstance<P, N>
impl<P, N> Unpin for SquaringServiceManagerInstance<P, N>
impl<P, N> UnwindSafe for SquaringServiceManagerInstance<P, N>where
P: UnwindSafe,
N: UnwindSafe,
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> 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