Struct quarry_mine::claim_rewards::UserClaim
source · [−]pub struct UserClaim<'info> {
pub authority: Signer<'info>,
pub miner: Account<'info, Miner>,
pub quarry: Account<'info, Quarry>,
pub unused_miner_vault: UncheckedAccount<'info>,
pub unused_token_account: UncheckedAccount<'info>,
pub token_program: Program<'info, Token>,
pub rewarder: Account<'info, Rewarder>,
}
Expand description
Claim accounts
This accounts struct is always used in the context of the user authority staking into an account. This is NEVER used by an admin.
Validation should be extremely conservative.
Fields
Miner authority (i.e. the user).
miner: Account<'info, Miner>
Miner.
quarry: Account<'info, Quarry>
Quarry to claim from.
unused_miner_vault: UncheckedAccount<'info>
Placeholder for the miner vault. CHECK: OK
unused_token_account: UncheckedAccount<'info>
Placeholder for the user’s staked token account. CHECK: OK
token_program: Program<'info, Token>
Token program
rewarder: Account<'info, Rewarder>
Rewarder
Trait Implementations
sourceimpl<'info> Accounts<'info> for UserClaim<'info> where
'info: 'info,
impl<'info> Accounts<'info> for UserClaim<'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 UserClaim<'info> where
'info: 'info,
impl<'info> AccountsExit<'info> for UserClaim<'info> where
'info: 'info,
sourceimpl<'info> ToAccountInfos<'info> for UserClaim<'info> where
'info: 'info,
impl<'info> ToAccountInfos<'info> for UserClaim<'info> where
'info: 'info,
sourceimpl<'info> ToAccountMetas for UserClaim<'info>
impl<'info> ToAccountMetas for UserClaim<'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 UserClaim<'info>
impl<'info> !Send for UserClaim<'info>
impl<'info> !Sync for UserClaim<'info>
impl<'info> Unpin for UserClaim<'info>
impl<'info> !UnwindSafe for UserClaim<'info>
Blanket Implementations
impl<T> AbiExample for T
impl<T> AbiExample for T
default fn example() -> T
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