pub struct SubmitAuctionBidInstruction<'info> {
pub auction_state_account: Box<Account<'info, AuctionStateAccount>>,
pub auction_epoch_state: Account<'info, AuctionEpochState>,
pub next_auction_epoch_state: Box<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 bid in an auction. When a market maker wishes to bid in an auction, they can use this instruction to specify the parameters of their bid. Note that the first bidder in auction epoch N must ensure that auction epoch state accounts are initialized for auction epochs N and N + 1.
Fields
auction_state_account: Box<Account<'info, AuctionStateAccount>>
The auction state account holds state specific
to the auction. This account is expected to be mutable. 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 expected
to be mutable. This account is a PDA generated by the following
seeds: the string literal epoch
, an unsigned 64 bit integer,
an unsigned 64 bit integer
next_auction_epoch_state: Box<Account<'info, AuctionEpochState>>
The auction epoch state account for the next 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 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 SubmitAuctionBidInstruction<'info> where
'info: 'info,
impl<'info> Accounts<'info> for SubmitAuctionBidInstruction<'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 SubmitAuctionBidInstruction<'info> where
'info: 'info,
impl<'info> AccountsExit<'info> for SubmitAuctionBidInstruction<'info> where
'info: 'info,
sourceimpl<'info> ToAccountInfos<'info> for SubmitAuctionBidInstruction<'info> where
'info: 'info,
impl<'info> ToAccountInfos<'info> for SubmitAuctionBidInstruction<'info> where
'info: 'info,
sourceimpl<'info> ToAccountMetas for SubmitAuctionBidInstruction<'info>
impl<'info> ToAccountMetas for SubmitAuctionBidInstruction<'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 SubmitAuctionBidInstruction<'info>
impl<'info> !Send for SubmitAuctionBidInstruction<'info>
impl<'info> !Sync for SubmitAuctionBidInstruction<'info>
impl<'info> Unpin for SubmitAuctionBidInstruction<'info>
impl<'info> !UnwindSafe for SubmitAuctionBidInstruction<'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