Struct dflow_sdk::instructions::InitAuctionState
source · [−]pub struct InitAuctionState<'info> {Show 15 fields
pub auction_state_account: Account<'info, AuctionStateAccount>,
pub bid_vault_account: Account<'info, TokenAccount>,
pub vote_vault_account: Account<'info, TokenAccount>,
pub auction_mapper: Box<Account<'info, AuctionMapper>>,
pub auction_owner: AccountInfo<'info>,
pub auction_owner_whitelist_entry: Account<'info, WhitelistEntry>,
pub bid_mint_account: Box<Account<'info, Mint>>,
pub vote_mint_account: Box<Account<'info, Mint>>,
pub bid_recovery_state_account: Box<Account<'info, RecoveryStateAccount>>,
pub bid_recovery_vault_account: Box<Account<'info, TokenAccount>>,
pub vote_recovery_state_account: Box<Account<'info, RecoveryStateAccount>>,
pub vote_recovery_vault_account: Box<Account<'info, TokenAccount>>,
pub system_program: AccountInfo<'info>,
pub rent: Sysvar<'info, Rent>,
pub token_program: AccountInfo<'info>,
}
Expand description
This instruction initializes an auction for order flow, and describes the specifications of the order flow account. This instruction is only callable by an auction owner. Once the auction is initialized, it remains in a Halted state until the auction owner sets the auction state to Trading.
Fields
auction_state_account: Account<'info, AuctionStateAccount>
The auction state account holds state specific
to the auction. This account is being initialized with 1280 bytes,
paid for by auction_owner. This account is a PDA generated by
the following seeds: the string literal auction_state
, 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 being initialized and is paid for by auction_owner. This is
a token account which is being initialized, and is associated
with the bid_mint_account mint. The authority for this token
account is auction_state_account. This account is a PDA generated
by the following seeds: the string literal bid_vault
, an unsigned
64 bit integer
vote_vault_account: Account<'info, TokenAccount>
The vote vault account is an SPL token account
that holds votes made by arbiters on each fill. Vote stakes held
in this account are returned to the arbiters upon honest voting
of the fill. This account is being initialized and is paid for
by auction_owner. This is a token account which is being initialized,
and is associated with the vote_mint_account mint. The authority
for this token account is auction_state_account. This account
is a PDA generated by the following seeds: the string literal
vote_vault
, an unsigned 64 bit integer
auction_mapper: Box<Account<'info, AuctionMapper>>
This account contains a list of non-deprecated
auction IDs. This account is expected to be mutable. This account
is a PDA generated by the following seeds: the string literal
mapper
auction_owner: AccountInfo<'info>
The auction owner is an authority with permission granted by the DFlow admin to create recovery vaults, create new auctions, and halt, resume, or deprecate existing auctions. This account is a signer for the instruction. This account is expected to be mutable
auction_owner_whitelist_entry: Account<'info, WhitelistEntry>
This account stores the permissions that apply
to the auction_owner. This account is a PDA generated by the
following seeds: the string literal whitelist_entry
, the public
key of the auction_owner account
bid_mint_account: Box<Account<'info, Mint>>
The SPL mint associated with the token that market makers use to bid in the order flow auctions.
vote_mint_account: Box<Account<'info, Mint>>
The SPL mint associated with the token that arbiters use to vote on the fairness of the fills.
bid_recovery_state_account: Box<Account<'info, RecoveryStateAccount>>
The recovery state account for the bid mint. This
account is a PDA generated by the following seeds: the public
key of the bid_mint_account account, the string literal recovery_state
bid_recovery_vault_account: Box<Account<'info, TokenAccount>>
The recovery vault account for the bid mint. This
account is a PDA generated by the following seeds: the public
key of the bid_mint_account account, the string literal recovery_vault
vote_recovery_state_account: Box<Account<'info, RecoveryStateAccount>>
The recovery state account for the vote mint.
This account is a PDA generated by the following seeds: the public
key of the vote_mint_account account, the string literal recovery_state
vote_recovery_vault_account: Box<Account<'info, TokenAccount>>
The recovery vault account for the vote mint.
This account is a PDA generated by the following seeds: the public
key of the vote_mint_account account, the string literal recovery_vault
system_program: AccountInfo<'info>
rent: Sysvar<'info, Rent>
token_program: AccountInfo<'info>
Trait Implementations
sourceimpl<'info> Accounts<'info> for InitAuctionState<'info> where
'info: 'info,
impl<'info> Accounts<'info> for InitAuctionState<'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 InitAuctionState<'info> where
'info: 'info,
impl<'info> AccountsExit<'info> for InitAuctionState<'info> where
'info: 'info,
sourceimpl<'info> ToAccountInfos<'info> for InitAuctionState<'info> where
'info: 'info,
impl<'info> ToAccountInfos<'info> for InitAuctionState<'info> where
'info: 'info,
sourceimpl<'info> ToAccountMetas for InitAuctionState<'info>
impl<'info> ToAccountMetas for InitAuctionState<'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 InitAuctionState<'info>
impl<'info> !Send for InitAuctionState<'info>
impl<'info> !Sync for InitAuctionState<'info>
impl<'info> Unpin for InitAuctionState<'info>
impl<'info> !UnwindSafe for InitAuctionState<'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