Struct dflow_sdk::instructions::StakeSignatory
source · [−]pub struct StakeSignatory<'info> {
pub signatory_record: Account<'info, SignatoryRecord>,
pub signatory_stake_vault: Account<'info, TokenAccount>,
pub signatory_server_token_account: Account<'info, TokenAccount>,
pub signatory_server: AccountInfo<'info>,
pub signatory_server_whitelist_entry: Account<'info, WhitelistEntry>,
pub token_program: AccountInfo<'info>,
}
Expand description
This instruction is used to stake additional tokens into an existing signatory server stake vault. Signatory servers are subject to slashing, and if slashed to below the stake minimum they may no longer be qualified to endorse order flow as originated from a retail source.
Fields
signatory_record: Account<'info, SignatoryRecord>
The signatory record account holds information about a signatory server, and the existence of the signatory record account is a valid proof that the signatory server has staked the requisite value in the protocol allowing it to endorse flow as originating from a retail source. This account is expected to be mutable. This account is a PDA generated by the following seeds: the public key of the signatory_server account
signatory_stake_vault: Account<'info, TokenAccount>
The signatory stake vault holds staked assets
from signatory server operators. This account is expected to
be mutable. This account is a PDA generated by the following
seeds: the string literal sigstake
signatory_server_token_account: Account<'info, TokenAccount>
The signatory server’s token account used for originating the stake transfer. This account is expected to be mutable
signatory_server: AccountInfo<'info>
The public key of the signatory server that endorses new orders as originating from a retail source. This account is a signer for the instruction. This account is expected to be mutable
signatory_server_whitelist_entry: Account<'info, WhitelistEntry>
This account stores the permissions that apply
to the signatory_server. This account is a PDA generated by the
following seeds: the string literal whitelist_entry
, the public
key of the signatory_server account
token_program: AccountInfo<'info>
Trait Implementations
sourceimpl<'info> Accounts<'info> for StakeSignatory<'info> where
'info: 'info,
impl<'info> Accounts<'info> for StakeSignatory<'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 StakeSignatory<'info> where
'info: 'info,
impl<'info> AccountsExit<'info> for StakeSignatory<'info> where
'info: 'info,
sourceimpl<'info> ToAccountInfos<'info> for StakeSignatory<'info> where
'info: 'info,
impl<'info> ToAccountInfos<'info> for StakeSignatory<'info> where
'info: 'info,
sourceimpl<'info> ToAccountMetas for StakeSignatory<'info>
impl<'info> ToAccountMetas for StakeSignatory<'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 StakeSignatory<'info>
impl<'info> !Send for StakeSignatory<'info>
impl<'info> !Sync for StakeSignatory<'info>
impl<'info> Unpin for StakeSignatory<'info>
impl<'info> !UnwindSafe for StakeSignatory<'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