pub struct ReclaimAuctionBidInstruction<'info> {
pub auction_state_account: Box<Account<'info, AuctionStateAccount>>,
pub auction_epoch_state: Account<'info, AuctionEpochState>,
pub bid_vault_account: Account<'info, TokenAccount>,
pub market_maker_data_account: Box<Account<'info, MarketMakerDataAccount>>,
pub market_maker_auction_token_account: Account<'info, TokenAccount>,
pub bid_record_account: Account<'info, BidRecordAccount>,
pub market_maker_account_owner: AccountInfo<'info>,
pub market_maker_whitelist_entry: Account<'info, WhitelistEntry>,
pub token_program: AccountInfo<'info>,
}
Expand description
This instruction is called by the market maker to withdraw its losing auction bids and close its bid record account for the given auction. A market maker who is outbid in an auction can use this instruction to withdraw its bids in the auction and close its bid record account for the auction. A market maker who has won an auction can use this instruction to close its bid record account for the auction.
Fields
auction_state_account: Box<Account<'info, AuctionStateAccount>>
The auction state account holds state specific
to the auction. This account is a PDA generated by the following
seeds: the string literal auction_state
, 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 a
PDA generated by the following seeds: the string literal epoch
,
an unsigned 64 bit integer, an unsigned 64 bit integer
bid_vault_account: Account<'info, TokenAccount>
The bid vault account is an SPL token account
that holds bids made by market makers in the auctions for order
flow. Bids held in this account are held only temporarily, and
are distributed out upon fills and fill arbitration. This account
is expected to be mutable. This account is a PDA generated by
the following seeds: the string literal bid_vault
, an unsigned
64 bit integer
market_maker_data_account: Box<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.
market_maker_auction_token_account: Account<'info, TokenAccount>
The SPL token account associated with the market maker used to bid in the auctions. This account is expected to be mutable
bid_record_account: Account<'info, BidRecordAccount>
The account which tracks the market maker’s current
bid in the auction. This account is expected to be mutable. This
account is a PDA generated by the following seeds: the string
literal bid_record
, an unsigned 64 bit integer, an unsigned
64 bit integer, the public key of the market_maker_data_account
account
market_maker_account_owner: AccountInfo<'info>
The public key of the market maker. This account is expected to be mutable. This account is a signer for the instruction
market_maker_whitelist_entry: Account<'info, WhitelistEntry>
This account stores the permissions that apply
to the market_maker_account_owner. This account is a PDA generated
by the following seeds: the string literal whitelist_entry
,
the public key of the market_maker_account_owner account
token_program: AccountInfo<'info>
Trait Implementations
sourceimpl<'info> Accounts<'info> for ReclaimAuctionBidInstruction<'info> where
'info: 'info,
impl<'info> Accounts<'info> for ReclaimAuctionBidInstruction<'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 ReclaimAuctionBidInstruction<'info> where
'info: 'info,
impl<'info> AccountsExit<'info> for ReclaimAuctionBidInstruction<'info> where
'info: 'info,
sourceimpl<'info> ToAccountInfos<'info> for ReclaimAuctionBidInstruction<'info> where
'info: 'info,
impl<'info> ToAccountInfos<'info> for ReclaimAuctionBidInstruction<'info> where
'info: 'info,
sourceimpl<'info> ToAccountMetas for ReclaimAuctionBidInstruction<'info>
impl<'info> ToAccountMetas for ReclaimAuctionBidInstruction<'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 ReclaimAuctionBidInstruction<'info>
impl<'info> !Send for ReclaimAuctionBidInstruction<'info>
impl<'info> !Sync for ReclaimAuctionBidInstruction<'info>
impl<'info> Unpin for ReclaimAuctionBidInstruction<'info>
impl<'info> !UnwindSafe for ReclaimAuctionBidInstruction<'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