pub struct Accounts<'a, T> {
    pub stake_pool: &'a T,
    pub stake_account: &'a T,
    pub owner: &'a T,
    pub rewards_destination: &'a T,
    pub central_state: &'a T,
    pub mint: &'a T,
    pub spl_token_program: &'a T,
    pub owner_royalty_account: &'a T,
    pub royalty_ata: Option<&'a T>,
    pub royalty_account: Option<&'a T>,
}
Expand description

The required accounts for the claim_rewards instruction

Fields§

§stake_pool: &'a T

The stake pool account

§stake_account: &'a T

The stake account

§owner: &'a T

The owner of the stake account

§rewards_destination: &'a T

The rewards destination

§central_state: &'a T

The central state account

§mint: &'a T

The mint address of the ACS token

§spl_token_program: &'a T

The SPL token program account

§owner_royalty_account: &'a T

The owner’s royalty split account to check if royalties need to be paid

§royalty_ata: Option<&'a T>

The royalty ATA account

§royalty_account: Option<&'a T>

The optional royalty account to pay royalties to if there is no owner royalty split account this is be used by the Access NFT contract to pay royalties even for the NFTs owned by the owner

Implementations§

source§

impl<'a, 'b: 'a> Accounts<'a, AccountInfo<'b>>

source

pub fn parse( accounts: &'a [AccountInfo<'b>], program_id: &Pubkey ) -> Result<Self, ProgramError>

Trait Implementations§

source§

impl<'a> InstructionsAccount for Accounts<'a, Pubkey>

source§

fn get_accounts_vec(&self) -> Vec<AccountMeta>

source§

fn get_instruction<P>( &self, program_id: Pubkey, instruction_id: u8, params: P ) -> Instruction

source§

fn get_instruction_cast<P>( &self, program_id: Pubkey, instruction_id: u8, params: P ) -> Instruction
where P: NoUninit,

source§

fn get_instruction_wrapped_pod<'a, P>( &self, program_id: Pubkey, instruction_id: u8, params: P ) -> Instruction
where P: WrappedPod<'a>,

Auto Trait Implementations§

§

impl<'a, T> RefUnwindSafe for Accounts<'a, T>
where T: RefUnwindSafe,

§

impl<'a, T> Send for Accounts<'a, T>
where T: Sync,

§

impl<'a, T> Sync for Accounts<'a, T>
where T: Sync,

§

impl<'a, T> Unpin for Accounts<'a, T>

§

impl<'a, T> UnwindSafe for Accounts<'a, T>
where T: RefUnwindSafe,

Blanket Implementations§

§

impl<T> AbiExample for T

§

default fn example() -> T

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V