pub struct VaultBatchTransactionAccountClose<'info> {
pub multisig: Account<'info, Multisig>,
pub proposal: Account<'info, Proposal>,
pub batch: Account<'info, Batch>,
pub transaction: Account<'info, VaultBatchTransaction>,
pub rent_collector: AccountInfo<'info>,
pub system_program: Program<'info, System>,
}Fields§
§multisig: Account<'info, Multisig>§proposal: Account<'info, Proposal>§batch: Account<'info, Batch>Batch corresponding to the proposal.
transaction: Account<'info, VaultBatchTransaction>VaultBatchTransaction account to close.
The transaction must be the current last one in the batch.
rent_collector: AccountInfo<'info>The rent collector. CHECK: We only need to validate the address.
system_program: Program<'info, System>Implementations§
Source§impl VaultBatchTransactionAccountClose<'_>
impl VaultBatchTransactionAccountClose<'_>
Sourcepub fn vault_batch_transaction_account_close(
ctx: Context<'_, '_, '_, '_, Self>,
) -> Result<()>
pub fn vault_batch_transaction_account_close( ctx: Context<'_, '_, '_, '_, Self>, ) -> Result<()>
Closes a VaultBatchTransaction belonging to the batch and proposal.
Closing a transaction reduces the batch.size by 1.
transaction must be closed in the order from the last to the first,
and the operation is only allowed if any of the following conditions is met:
- the
proposalis in a terminal state:Executed,Rejected, orCancelled. - the
proposalis stale and notApproved.
Trait Implementations§
Source§impl<'info> Accounts<'info, VaultBatchTransactionAccountCloseBumps> for VaultBatchTransactionAccountClose<'info>where
'info: 'info,
impl<'info> Accounts<'info, VaultBatchTransactionAccountCloseBumps> for VaultBatchTransactionAccountClose<'info>where
'info: 'info,
Source§fn try_accounts(
__program_id: &Pubkey,
__accounts: &mut &'info [AccountInfo<'info>],
__ix_data: &[u8],
__bumps: &mut VaultBatchTransactionAccountCloseBumps,
__reallocs: &mut BTreeSet<Pubkey>,
) -> Result<Self>
fn try_accounts( __program_id: &Pubkey, __accounts: &mut &'info [AccountInfo<'info>], __ix_data: &[u8], __bumps: &mut VaultBatchTransactionAccountCloseBumps, __reallocs: &mut BTreeSet<Pubkey>, ) -> Result<Self>
Returns the validated accounts struct. What constitutes “valid” is
program dependent. However, users of these types should never have to
worry about account substitution attacks. For example, if a program
expects a
Mint account from the SPL token program in a particular
field, then it should be impossible for this method to return Ok if
any other account type is given–from the SPL token program or elsewhere. Read moreSource§impl<'info> AccountsExit<'info> for VaultBatchTransactionAccountClose<'info>where
'info: 'info,
impl<'info> AccountsExit<'info> for VaultBatchTransactionAccountClose<'info>where
'info: 'info,
Source§impl<'info> Bumps for VaultBatchTransactionAccountClose<'info>where
'info: 'info,
impl<'info> Bumps for VaultBatchTransactionAccountClose<'info>where
'info: 'info,
Source§type Bumps = VaultBatchTransactionAccountCloseBumps
type Bumps = VaultBatchTransactionAccountCloseBumps
Struct to hold account bump seeds.
Source§impl<'info> ToAccountInfos<'info> for VaultBatchTransactionAccountClose<'info>where
'info: 'info,
impl<'info> ToAccountInfos<'info> for VaultBatchTransactionAccountClose<'info>where
'info: 'info,
fn to_account_infos(&self) -> Vec<AccountInfo<'info>>
Source§impl<'info> ToAccountMetas for VaultBatchTransactionAccountClose<'info>
impl<'info> ToAccountMetas for VaultBatchTransactionAccountClose<'info>
Source§fn to_account_metas(&self, is_signer: Option<bool>) -> Vec<AccountMeta>
fn to_account_metas(&self, is_signer: Option<bool>) -> Vec<AccountMeta>
is_signer is given as an optional override for the signer meta field.
This covers the edge case when a program-derived-address needs to relay
a transaction from a client to another program but sign the transaction
before the relay. The client cannot mark the field as a signer, and so
we have to override the is_signer meta field given by the client.Auto Trait Implementations§
impl<'info> Freeze for VaultBatchTransactionAccountClose<'info>
impl<'info> !RefUnwindSafe for VaultBatchTransactionAccountClose<'info>
impl<'info> !Send for VaultBatchTransactionAccountClose<'info>
impl<'info> !Sync for VaultBatchTransactionAccountClose<'info>
impl<'info> Unpin for VaultBatchTransactionAccountClose<'info>
impl<'info> !UnwindSafe for VaultBatchTransactionAccountClose<'info>
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