Struct dflow_sdk::instructions::CloseRetailDataAccount
source · [−]pub struct CloseRetailDataAccount<'info> {
pub retail_data_account: Account<'info, RetailDataAccount>,
pub retail_account_owner: AccountInfo<'info>,
pub system_program: AccountInfo<'info>,
}
Expand description
This instruction closes the retail trader’s data account. When retail traders wish to close their account, and regain the lamports used to allocate the space for their data account, they can call this instruction. Retail traders may not close their account if they have open orders, and must wait for the orders to be filled, or cancel them.
Fields
retail_data_account: Account<'info, RetailDataAccount>
The retail data account holds state specific to the retail trader. This account is being closed, and the destination of the lamports will be the retail_account_owner account. This account is expected to be mutable
retail_account_owner: AccountInfo<'info>
The public key of the retail trader. This account is a signer for the instruction. This account is expected to be mutable
system_program: AccountInfo<'info>
Trait Implementations
sourceimpl<'info> Accounts<'info> for CloseRetailDataAccount<'info> where
'info: 'info,
impl<'info> Accounts<'info> for CloseRetailDataAccount<'info> where
'info: 'info,
sourcefn try_accounts(
program_id: &Pubkey,
accounts: &mut &[AccountInfo<'info>],
ix_data: &[u8],
__bumps: &mut BTreeMap<String, u8>,
__reallocs: &mut BTreeSet<Pubkey>
) -> Result<Self>
fn try_accounts(
program_id: &Pubkey,
accounts: &mut &[AccountInfo<'info>],
ix_data: &[u8],
__bumps: &mut BTreeMap<String, u8>,
__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 more
sourceimpl<'info> AccountsExit<'info> for CloseRetailDataAccount<'info> where
'info: 'info,
impl<'info> AccountsExit<'info> for CloseRetailDataAccount<'info> where
'info: 'info,
sourceimpl<'info> ToAccountInfos<'info> for CloseRetailDataAccount<'info> where
'info: 'info,
impl<'info> ToAccountInfos<'info> for CloseRetailDataAccount<'info> where
'info: 'info,
sourceimpl<'info> ToAccountMetas for CloseRetailDataAccount<'info>
impl<'info> ToAccountMetas for CloseRetailDataAccount<'info>
sourcefn to_account_metas(&self, is_signer: Option<bool>) -> Vec<AccountMeta>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn to_account_metas(&self, is_signer: Option<bool>) -> Vec<AccountMeta>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
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. Read more
Auto Trait Implementations
impl<'info> !RefUnwindSafe for CloseRetailDataAccount<'info>
impl<'info> !Send for CloseRetailDataAccount<'info>
impl<'info> !Sync for CloseRetailDataAccount<'info>
impl<'info> Unpin for CloseRetailDataAccount<'info>
impl<'info> !UnwindSafe for CloseRetailDataAccount<'info>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more