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 Pubkey
The 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