Struct dflow_sdk::instructions::AddCurrencyPair
source · [−]pub struct AddCurrencyPair<'info> {
pub auction_state_account: Box<Account<'info, AuctionStateAccount>>,
pub base_currency: Account<'info, Mint>,
pub quote_currency: Account<'info, Mint>,
pub base_oracle: AccountInfo<'info>,
pub quote_oracle: AccountInfo<'info>,
pub base_recovery_state_account: Box<Account<'info, RecoveryStateAccount>>,
pub base_recovery_vault_account: Account<'info, TokenAccount>,
pub quote_recovery_state_account: Box<Account<'info, RecoveryStateAccount>>,
pub quote_recovery_vault_account: Account<'info, TokenAccount>,
pub auction_owner: AccountInfo<'info>,
pub auction_owner_whitelist_entry: Account<'info, WhitelistEntry>,
pub token_program: AccountInfo<'info>,
}
Expand description
This instruction adds a currency pair to an existing auction. Only a certain number of token pairs are allowed to exist in an auction and an error is thrown if this instruction is called when the token pairs count is saturated
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
base_currency: Account<'info, Mint>
The SPL mint associated with the base token in a currency pair.
quote_currency: Account<'info, Mint>
The SPL mint associated with the quote token in a currency pair.
base_oracle: AccountInfo<'info>
The Pyth price oracle associated with the base token in a currency pair.
quote_oracle: AccountInfo<'info>
The Pyth price oracle associated with the quote token in a currency pair.
base_recovery_state_account: Box<Account<'info, RecoveryStateAccount>>
The recovery state account for the base mint.
This account is a PDA generated by the following seeds: the public
key of the base_currency account, the string literal recovery_state
base_recovery_vault_account: Account<'info, TokenAccount>
The recovery vault account for the base mint.
This account is a PDA generated by the following seeds: the public
key of the base_currency account, the string literal recovery_vault
quote_recovery_state_account: Box<Account<'info, RecoveryStateAccount>>
The recovery state account for the quote mint.
This account is a PDA generated by the following seeds: the public
key of the quote_currency account, the string literal recovery_state
quote_recovery_vault_account: Account<'info, TokenAccount>
The recovery vault account for the quote mint.
This account is a PDA generated by the following seeds: the public
key of the quote_currency account, the string literal recovery_vault
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
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
token_program: AccountInfo<'info>
Trait Implementations
sourceimpl<'info> Accounts<'info> for AddCurrencyPair<'info> where
'info: 'info,
impl<'info> Accounts<'info> for AddCurrencyPair<'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 AddCurrencyPair<'info> where
'info: 'info,
impl<'info> AccountsExit<'info> for AddCurrencyPair<'info> where
'info: 'info,
sourceimpl<'info> ToAccountInfos<'info> for AddCurrencyPair<'info> where
'info: 'info,
impl<'info> ToAccountInfos<'info> for AddCurrencyPair<'info> where
'info: 'info,
sourceimpl<'info> ToAccountMetas for AddCurrencyPair<'info>
impl<'info> ToAccountMetas for AddCurrencyPair<'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 AddCurrencyPair<'info>
impl<'info> !Send for AddCurrencyPair<'info>
impl<'info> !Sync for AddCurrencyPair<'info>
impl<'info> Unpin for AddCurrencyPair<'info>
impl<'info> !UnwindSafe for AddCurrencyPair<'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