pub struct UpdateEncryptionKeyInstruction<'info> {
pub market_maker_data_account: Account<'info, MarketMakerDataAccount>,
pub market_maker_account_owner: AccountInfo<'info>,
pub market_maker_whitelist_entry: Account<'info, WhitelistEntry>,
}
Expand description
This instruction updates the market maker’s 256-bit X25519 public key. Retail traders use the market maker’s 256-bit X25519 public key to encrypt their order details when routing orders to the market maker. This instruction updates the market maker’s X25519 public key.
Fields
market_maker_data_account: 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. This account is expected to be mutable
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
Trait Implementations
sourceimpl<'info> Accounts<'info> for UpdateEncryptionKeyInstruction<'info> where
'info: 'info,
impl<'info> Accounts<'info> for UpdateEncryptionKeyInstruction<'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 UpdateEncryptionKeyInstruction<'info> where
'info: 'info,
impl<'info> AccountsExit<'info> for UpdateEncryptionKeyInstruction<'info> where
'info: 'info,
sourceimpl<'info> ToAccountInfos<'info> for UpdateEncryptionKeyInstruction<'info> where
'info: 'info,
impl<'info> ToAccountInfos<'info> for UpdateEncryptionKeyInstruction<'info> where
'info: 'info,
sourceimpl<'info> ToAccountMetas for UpdateEncryptionKeyInstruction<'info>
impl<'info> ToAccountMetas for UpdateEncryptionKeyInstruction<'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 UpdateEncryptionKeyInstruction<'info>
impl<'info> !Send for UpdateEncryptionKeyInstruction<'info>
impl<'info> !Sync for UpdateEncryptionKeyInstruction<'info>
impl<'info> Unpin for UpdateEncryptionKeyInstruction<'info>
impl<'info> !UnwindSafe for UpdateEncryptionKeyInstruction<'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