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
true
if the operation is allowed to proceedfalse
if 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