pub struct ProgramOwned<'a> {
pub program: &'a Pubkey,
pub field: &'a Str32,
}
Expand description
Constraint representing a test where a Pubkey
must be owned by a given program.
This constraint requires a PayloadType
value of PayloadType::Pubkey
. The field
value in
the rule is used to locate the Pubkey
in the payload for which the owner must be the
program in the rule. Note this same Pubkey
account must also be provided to Validate
via the additional_rule_accounts
argument. This is so that the Pubkey
’s owner can be
found from its AccountInfo
struct.
Fields§
§program: &'a Pubkey
The program that must own the Pubkey
.
field: &'a Str32
The field in the Payload
to be compared.
Implementations§
Source§impl<'a> ProgramOwned<'a>
impl<'a> ProgramOwned<'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 ProgramOwned<'a>
impl<'a> Constraint<'a> for ProgramOwned<'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 ProgramOwned<'a>
impl<'a> RefUnwindSafe for ProgramOwned<'a>
impl<'a> Send for ProgramOwned<'a>
impl<'a> Sync for ProgramOwned<'a>
impl<'a> Unpin for ProgramOwned<'a>
impl<'a> UnwindSafe for ProgramOwned<'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