pub struct TransactionConstraint { /* private fields */ }Expand description
Transaction-level constraint that validates global properties.
Implementations§
Source§impl TransactionConstraint
impl TransactionConstraint
Sourcepub const fn new() -> TransactionConstraint
pub const fn new() -> TransactionConstraint
Create a new transaction constraint.
Sourcepub const fn min_accounts(self, n: usize) -> TransactionConstraint
pub const fn min_accounts(self, n: usize) -> TransactionConstraint
Require at least N accounts.
Sourcepub const fn min_data(self, n: usize) -> TransactionConstraint
pub const fn min_data(self, n: usize) -> TransactionConstraint
Require at least N bytes of instruction data.
Sourcepub const fn all_unique(self) -> TransactionConstraint
pub const fn all_unique(self) -> TransactionConstraint
Require that all account addresses are distinct.
Sourcepub const fn unique_writable(self) -> TransactionConstraint
pub const fn unique_writable(self) -> TransactionConstraint
Require that duplicated addresses are never writable aliases.
Sourcepub const fn unique_signers(self) -> TransactionConstraint
pub const fn unique_signers(self) -> TransactionConstraint
Require that duplicated addresses are never signer aliases.
Sourcepub fn validate(&self, ctx: &ValidationContext<'_>) -> Result<(), ProgramError>
pub fn validate(&self, ctx: &ValidationContext<'_>) -> Result<(), ProgramError>
Validate against a context.
Trait Implementations§
Source§impl Default for TransactionConstraint
impl Default for TransactionConstraint
Source§fn default() -> TransactionConstraint
fn default() -> TransactionConstraint
Returns the “default value” for a type. Read more
Source§impl Validatable for TransactionConstraint
impl Validatable for TransactionConstraint
Source§fn validate(&self, ctx: &ValidationContext<'_>) -> Result<(), ProgramError>
fn validate(&self, ctx: &ValidationContext<'_>) -> Result<(), ProgramError>
Run validation against the given context.
Auto Trait Implementations§
impl Freeze for TransactionConstraint
impl RefUnwindSafe for TransactionConstraint
impl Send for TransactionConstraint
impl Sync for TransactionConstraint
impl Unpin for TransactionConstraint
impl UnsafeUnpin for TransactionConstraint
impl UnwindSafe for TransactionConstraint
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