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 u64The amount to be compared against.
operator: &'a u64The operator to be used in the comparison.
field: &'a Str32The 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