Struct mpl_token_auth_rules::state::PDAMatch
source · pub struct PDAMatch<'a> {
pub program: &'a Pubkey,
pub pda_field: &'a Str32,
pub seeds_field: &'a Str32,
}Expand description
Constraint representing a test where a resulting PDA derivation of seeds must prove the account is a PDA.
This constraint requires PayloadType values of PayloadType::Seeds. The field values
in the Rule are used to locate them in the Payload. The seeds in the Payload and the
program ID stored in the Rule are used to derive the PDA from the Payload.
Fields§
§program: &'a PubkeyThe program used for the PDA derivation. If a zeroed (default) pubkey is used then the account owner is used.
pda_field: &'a Str32The field in the Payload to be compared when looking for the PDA.
seeds_field: &'a Str32The field in the Payload to be compared when looking for the seeds.
Implementations§
source§impl<'a> PDAMatch<'a>
impl<'a> PDAMatch<'a>
sourcepub fn from_bytes(bytes: &'a [u8]) -> Result<Self, RuleSetError>
pub fn from_bytes(bytes: &'a [u8]) -> Result<Self, RuleSetError>
Deserialize a constraint from a byte array.
Trait Implementations§
source§impl<'a> Constraint<'a> for PDAMatch<'a>
impl<'a> Constraint<'a> for PDAMatch<'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> RefUnwindSafe for PDAMatch<'a>
impl<'a> Send for PDAMatch<'a>
impl<'a> Sync for PDAMatch<'a>
impl<'a> Unpin for PDAMatch<'a>
impl<'a> UnwindSafe for PDAMatch<'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