Struct dflow_sdk::instructions::ClaimVoteRewardInstruction
source · [−]pub struct ClaimVoteRewardInstruction<'info> {Show 14 fields
pub vault_meta_account: Box<Account<'info, VaultMetaAccount>>,
pub fill_record_account: Box<Account<'info, FillRecordAccount>>,
pub vote_record_account: Box<Account<'info, VoteRecordAccount>>,
pub vote_vault_account: Account<'info, TokenAccount>,
pub bid_vault_account: Account<'info, TokenAccount>,
pub auction_state_account: Box<Account<'info, AuctionStateAccount>>,
pub auction_epoch_state: Account<'info, AuctionEpochState>,
pub arbiter_bid_token_account: Box<Account<'info, TokenAccount>>,
pub arbiter: AccountInfo<'info>,
pub arbiter_whitelist_entry: Account<'info, WhitelistEntry>,
pub retail_account_owner: AccountInfo<'info>,
pub arbiter_token_account: Account<'info, TokenAccount>,
pub system_program: AccountInfo<'info>,
pub token_program: AccountInfo<'info>,
}
Expand description
This instruction is used to claim back the tokens staked during a fill vote by an arbiter. If voting with the majority, the arbiter will receieve a payment from the network along with their original vote. However, if the arbiter did not vote in the majority on the fill, they will not receive their tokens back.
Fields
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 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
fill_record_account: Box<Account<'info, FillRecordAccount>>
The account which holds meta-information about
the fill, so that arbiters can reference the information when
voting on the fairness of the fill. This account is being closed,
and the destination of the lamports will be the market_maker_account_owner
account. This account is a PDA generated by the following seeds:
the public key of the vault_meta_account account, an unsigned
16 bit integer, the string literal fra
vote_record_account: Box<Account<'info, VoteRecordAccount>>
The account which holds the voting record made
by an arbiter when the arbiter votes on the fairness of the fill.
This account is expected to be mutable. This account is being
closed, and the destination of the lamports will be the market_maker_account_owner
account. This account is a PDA generated by the following seeds:
the public key of the fill_record_account account, the public
key of the arbiter account, the string literal vra
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 expected to be mutable. This account
is a PDA generated by the following seeds: the string literal
vote_vault
, the unsigned integer field named auction_id in
the vault_meta_account account
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
, the unsigned
integer field named auction_id in the vault_meta_account account
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
, the unsigned integer
field named auction_id in the vault_meta_account account
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
,
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
arbiter_bid_token_account: Box<Account<'info, TokenAccount>>
The SPL token account associated with the arbiter used to receive a payment from the network, with the same mint as the token accounts used by market makers to bid in the associated auction. This account is expected to be mutable
arbiter: AccountInfo<'info>
The public key associated with the arbiter. This account is a signer for the instruction. This account is expected to be mutable
arbiter_whitelist_entry: Account<'info, WhitelistEntry>
This account stores the permissions that apply
to the arbiter. This account is a PDA generated by the following
seeds: the string literal whitelist_entry
, the public key of
the arbiter account
retail_account_owner: AccountInfo<'info>
The public key of the retail trader.
arbiter_token_account: Account<'info, TokenAccount>
The SPL token account associated with the arbiter used to vote on the fairness of the fill by the market maker. This account is expected to be mutable
system_program: AccountInfo<'info>
token_program: AccountInfo<'info>
Trait Implementations
sourceimpl<'info> Accounts<'info> for ClaimVoteRewardInstruction<'info> where
'info: 'info,
impl<'info> Accounts<'info> for ClaimVoteRewardInstruction<'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 ClaimVoteRewardInstruction<'info> where
'info: 'info,
impl<'info> AccountsExit<'info> for ClaimVoteRewardInstruction<'info> where
'info: 'info,
sourceimpl<'info> ToAccountInfos<'info> for ClaimVoteRewardInstruction<'info> where
'info: 'info,
impl<'info> ToAccountInfos<'info> for ClaimVoteRewardInstruction<'info> where
'info: 'info,
sourceimpl<'info> ToAccountMetas for ClaimVoteRewardInstruction<'info>
impl<'info> ToAccountMetas for ClaimVoteRewardInstruction<'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 ClaimVoteRewardInstruction<'info>
impl<'info> !Send for ClaimVoteRewardInstruction<'info>
impl<'info> !Sync for ClaimVoteRewardInstruction<'info>
impl<'info> Unpin for ClaimVoteRewardInstruction<'info>
impl<'info> !UnwindSafe for ClaimVoteRewardInstruction<'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