Trait Constraint

Source
pub trait Constraint<'a> {
    // Required methods
    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 constraint_type(&self) -> ConstraintType;
}
Expand description

Struct representing a test performed by a rule.

Required Methods§

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

Validates the constraint condition.

Source

fn constraint_type(&self) -> ConstraintType

Returns the type of the constraint.

Implementors§

Source§

impl<'a> Constraint<'a> for AdditionalSigner<'a>

Source§

impl<'a> Constraint<'a> for All<'a>

Source§

impl<'a> Constraint<'a> for Amount<'a>

Source§

impl<'a> Constraint<'a> for Any<'a>

Source§

impl<'a> Constraint<'a> for Frequency<'a>

Source§

impl<'a> Constraint<'a> for IsWallet<'a>

Source§

impl<'a> Constraint<'a> for Namespace

Source§

impl<'a> Constraint<'a> for Not<'a>

Source§

impl<'a> Constraint<'a> for PDAMatch<'a>

Source§

impl<'a> Constraint<'a> for Pass

Source§

impl<'a> Constraint<'a> for ProgramOwned<'a>

Source§

impl<'a> Constraint<'a> for ProgramOwnedList<'a>

Source§

impl<'a> Constraint<'a> for ProgramOwnedTree<'a>

Source§

impl<'a> Constraint<'a> for PubkeyListMatch<'a>

Source§

impl<'a> Constraint<'a> for PubkeyMatch<'a>

Source§

impl<'a> Constraint<'a> for PubkeyTreeMatch<'a>

Source§

impl<'a> Constraint<'a> for RuleV2<'a>