pub struct FillVoteInstruction<'info> {
    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 auction_state_account: Account<'info, AuctionStateAccount>,
    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 vote_vault_account: Account<'info, TokenAccount>,
    pub system_program: AccountInfo<'info>,
    pub rent: Sysvar<'info, Rent>,
    pub token_program: AccountInfo<'info>,
}
Expand description

This instruction is used to vote on the fairness of a fill Arbiters vote on the fairness of a fill when the fill is open for voting. In order to vote on a fill, the arbiter must stake tokens on the accuracy of their vote. If the arbiter voted in the majority, they receive their tokens back. Otherwise the tokens are deposited into a DAO governed backstop fund for the protocol.

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 expected to be mutable. 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 being initialized with 9 bytes, paid for by arbiter. 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

auction_state_account: 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

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

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

system_program: AccountInfo<'info>rent: Sysvar<'info, Rent>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