pub struct Amount<'a> {
pub amount: &'a u64,
pub operator: &'a u64,
pub field: &'a Str32,
}
Expand description
Constraint representing a comparison against the amount of tokens being transferred.
This constraint requires a PayloadType
value of PayloadType::Amount
. The field
value in the Rule is used to locate the numerical amount in the payload to compare to
the amount stored in the rule, using the comparison operator stored in the rule.
Fields§
§amount: &'a u64
The amount to be compared against.
operator: &'a u64
The operator to be used in the comparison.
field: &'a Str32
The field the amount is stored in.
Implementations§
Trait Implementations§
Source§impl<'a> Constraint<'a> for Amount<'a>
impl<'a> Constraint<'a> for Amount<'a>
Source§fn constraint_type(&self) -> ConstraintType
fn constraint_type(&self) -> ConstraintType
Returns the type of the constraint.
Source§fn validate(
&self,
_accounts: &HashMap<Pubkey, &AccountInfo<'_>>,
payload: &Payload,
_update_rule_state: bool,
_rule_set_state_pda: &Option<&AccountInfo<'_>>,
_rule_authority: &Option<&AccountInfo<'_>>,
) -> RuleResult
fn validate( &self, _accounts: &HashMap<Pubkey, &AccountInfo<'_>>, payload: &Payload, _update_rule_state: bool, _rule_set_state_pda: &Option<&AccountInfo<'_>>, _rule_authority: &Option<&AccountInfo<'_>>, ) -> RuleResult
Validates the constraint condition.
Auto Trait Implementations§
impl<'a> Freeze for Amount<'a>
impl<'a> RefUnwindSafe for Amount<'a>
impl<'a> Send for Amount<'a>
impl<'a> Sync for Amount<'a>
impl<'a> Unpin for Amount<'a>
impl<'a> UnwindSafe for Amount<'a>
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> 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