pub struct AdditionalSigner<'a> {
pub account: &'a Pubkey,
}Expand description
Constraint representing the requirement that An additional signer must be present.
This constraint does not require any Payload values, but the additional signer account
must be provided to Validate via the additional_rule_accounts argument so that whether
it is a signer can be retrieved from its AccountInfo struct.
Fields§
§account: &'a PubkeyThe public key that must have also signed the transaction.
Implementations§
Source§impl<'a> AdditionalSigner<'a>
impl<'a> AdditionalSigner<'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 AdditionalSigner<'a>
impl<'a> Constraint<'a> for AdditionalSigner<'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 AdditionalSigner<'a>
impl<'a> RefUnwindSafe for AdditionalSigner<'a>
impl<'a> Send for AdditionalSigner<'a>
impl<'a> Sync for AdditionalSigner<'a>
impl<'a> Unpin for AdditionalSigner<'a>
impl<'a> UnwindSafe for AdditionalSigner<'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