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

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