Struct dflow_sdk::instructions::InitSignatorySystem
source · [−]pub struct InitSignatorySystem<'info> {
pub global_config_account: Account<'info, GlobalConfigAccount>,
pub signatory_state: Account<'info, SignatoryState>,
pub signatory_stake_vault: Account<'info, TokenAccount>,
pub signatory_stake_mint: Account<'info, Mint>,
pub dflow_admin: AccountInfo<'info>,
pub system_program: AccountInfo<'info>,
pub rent: Sysvar<'info, Rent>,
pub token_program: AccountInfo<'info>,
}
Expand description
This instruction is used to initialize global state for tracking the system of signatory servers. This instruction can only be called by the DFlow admin and can only be called once.
Fields
global_config_account: Account<'info, GlobalConfigAccount>
This account stores the DFlow admin’s public key.
This account is a PDA generated by the following seeds: the string
literal global_config
signatory_state: Account<'info, SignatoryState>
The signatory state account holds information
about the global system of signatory servers, and the existence
of the signatory state account is a valid proof that the signatory
server system has been initialized. This account is being initialized
with 40 bytes, paid for by dflow_admin. This account is a PDA
generated by the following seeds: the string literal sigstate
signatory_stake_vault: Account<'info, TokenAccount>
The signatory stake vault holds staked assets
from signatory server operators. This account is being initialized
and is paid for by dflow_admin. This is a token account which
is being initialized, and is associated with the signatory_stake_mint
mint. The authority for this token account is signatory_state.
This account is a PDA generated by the following seeds: the string
literal sigstake
signatory_stake_mint: Account<'info, Mint>
The SPL mint account associated with the token that is staked by the signatory server.
dflow_admin: AccountInfo<'info>
The public key of the DFlow admin. This account is a signer for the instruction. This account is expected to be mutable
system_program: AccountInfo<'info>
rent: Sysvar<'info, Rent>
token_program: AccountInfo<'info>
Trait Implementations
sourceimpl<'info> Accounts<'info> for InitSignatorySystem<'info> where
'info: 'info,
impl<'info> Accounts<'info> for InitSignatorySystem<'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 InitSignatorySystem<'info> where
'info: 'info,
impl<'info> AccountsExit<'info> for InitSignatorySystem<'info> where
'info: 'info,
sourceimpl<'info> ToAccountInfos<'info> for InitSignatorySystem<'info> where
'info: 'info,
impl<'info> ToAccountInfos<'info> for InitSignatorySystem<'info> where
'info: 'info,
sourceimpl<'info> ToAccountMetas for InitSignatorySystem<'info>
impl<'info> ToAccountMetas for InitSignatorySystem<'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 InitSignatorySystem<'info>
impl<'info> !Send for InitSignatorySystem<'info>
impl<'info> !Sync for InitSignatorySystem<'info>
impl<'info> Unpin for InitSignatorySystem<'info>
impl<'info> !UnwindSafe for InitSignatorySystem<'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