pub struct InitGlobalConfigInstruction<'info> {
pub global_config_account: Account<'info, GlobalConfigAccount>,
pub dflow_admin: AccountInfo<'info>,
pub system_program: AccountInfo<'info>,
pub rent: Sysvar<'info, Rent>,
}
Expand description
This instruction creates the global config account and sets the DFlow admin. The DFlow admin controls access to the protocol by granting roles to accounts that allow them to perform privileged actions such as auction management. This instruction must be the first instruction called after program deployment 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 being initialized with 40 bytes, paid for by
dflow_admin. This account is a PDA generated by the following
seeds: the string literal global_config
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>
Trait Implementations
sourceimpl<'info> Accounts<'info> for InitGlobalConfigInstruction<'info> where
'info: 'info,
impl<'info> Accounts<'info> for InitGlobalConfigInstruction<'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 InitGlobalConfigInstruction<'info> where
'info: 'info,
impl<'info> AccountsExit<'info> for InitGlobalConfigInstruction<'info> where
'info: 'info,
sourceimpl<'info> ToAccountInfos<'info> for InitGlobalConfigInstruction<'info> where
'info: 'info,
impl<'info> ToAccountInfos<'info> for InitGlobalConfigInstruction<'info> where
'info: 'info,
sourceimpl<'info> ToAccountMetas for InitGlobalConfigInstruction<'info>
impl<'info> ToAccountMetas for InitGlobalConfigInstruction<'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 InitGlobalConfigInstruction<'info>
impl<'info> !Send for InitGlobalConfigInstruction<'info>
impl<'info> !Sync for InitGlobalConfigInstruction<'info>
impl<'info> Unpin for InitGlobalConfigInstruction<'info>
impl<'info> !UnwindSafe for InitGlobalConfigInstruction<'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