pub enum Guard {
NumberOfAllowedCalls(u16),
AuthorizedCallsFor(AuthorizedCallsForContract),
}Variants§
NumberOfAllowedCalls(u16)
Limits the number of allowed calls to a specific operation. The u16 value represents the remaining number of calls allowed.
AuthorizedCallsFor(AuthorizedCallsForContract)
Implementations§
Source§impl Guard
impl Guard
Sourcepub fn check(
&self,
transaction: &Transaction,
) -> Result<bool, SorobanHelperError>
pub fn check( &self, transaction: &Transaction, ) -> Result<bool, SorobanHelperError>
Checks if the guard condition is satisfied.
§Returns
trueif the operation is allowed to proceedfalseif the operation should be blocked
Sourcepub fn update(
&mut self,
transaction: &Transaction,
) -> Result<(), SorobanHelperError>
pub fn update( &mut self, transaction: &Transaction, ) -> Result<(), SorobanHelperError>
Updates the guard state after an operation has been performed.
This method should be called after a successful operation to update the internal state of the guard (e.g., decrement remaining allowed calls).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Guard
impl RefUnwindSafe for Guard
impl Send for Guard
impl Sync for Guard
impl Unpin for Guard
impl UnwindSafe for Guard
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
Mutably borrows from an owned value. Read more
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> 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>
Converts
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>
Converts
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 more