pub struct CancelOrderInstruction<'info> {
    pub vault_token_account: Account<'info, TokenAccount>,
    pub vault_meta_account: Box<Account<'info, VaultMetaAccount>>,
    pub auction_epoch_state: Account<'info, AuctionEpochState>,
    pub retail_data_account: Account<'info, RetailDataAccount>,
    pub market_maker_data_account: Account<'info, MarketMakerDataAccount>,
    pub retail_x_token_account: Account<'info, TokenAccount>,
    pub retail_account_owner: AccountInfo<'info>,
    pub x_mint: Box<Account<'info, Mint>>,
    pub system_program: AccountInfo<'info>,
    pub token_program: AccountInfo<'info>,
}
Expand description

This instruction cancels an open order. Cancelling an open order can only be done if it has not been filled and if the order has been filled partially, the retail trader can only cancel the part of the order which is still open.

Fields

vault_token_account: Account<'info, TokenAccount>

The SPL token account owned by the escrow vault, which holds the sold tokens during a swap from the retail trader. This account is expected to be mutable. This account is being closed, and the destination of the lamports will be the retail_account_owner account. This account is a PDA generated by the following seeds: the public key of the retail_account_owner account, the string literal vault, an unsigned 64 bit integer

vault_meta_account: Box<Account<'info, VaultMetaAccount>>

The account which holds state specific to a given order initiated by the retail trader. This account is expected to be mutable. This account is being closed, and the destination of the lamports will be the retail_account_owner account. This account is a PDA generated by the following seeds: the public key of the retail_account_owner account, the string literal vault_meta, an unsigned 64 bit integer

auction_epoch_state: Account<'info, AuctionEpochState>

The auction epoch state account holds state specific to an epoch of the auction, if that state must be remembered beyond the duration of that auction epoch. This account is expected to be mutable. This account is a PDA generated by the following seeds: the string literal epoch, the unsigned integer field named auction_id in the vault_meta_account account, the unsigned integer field named auction_epoch in the vault_meta_account account

retail_data_account: Account<'info, RetailDataAccount>

The retail data account holds state specific to the retail trader. This account is expected to be mutable

market_maker_data_account: Account<'info, MarketMakerDataAccount>

The account storing state specific to the market maker. This account must be owned by the DFlow program, and this account must be initialized by calling the initialize market maker instruction. This account is expected to be mutable

retail_x_token_account: Account<'info, TokenAccount>

The SPL token account associated with the retail trader which is used to deposit the sold token into escrow prior to the trade occurring. 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

x_mint: Box<Account<'info, Mint>>

The SPL mint account associated with the token that is sold by the retail trader during the swap.

system_program: AccountInfo<'info>token_program: AccountInfo<'info>

Trait Implementations

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

program_id is the currently executing program.

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

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more