[][src]Trait solana_stake_program::stake_state::StakeAccount

pub trait StakeAccount {
    pub fn initialize(
        &self,
        authorized: &Authorized,
        lockup: &Lockup,
        rent: &Rent
    ) -> Result<(), InstructionError>;
pub fn authorize(
        &self,
        signers: &HashSet<Pubkey>,
        new_authority: &Pubkey,
        stake_authorize: StakeAuthorize
    ) -> Result<(), InstructionError>;
pub fn authorize_with_seed(
        &self,
        authority_base: &KeyedAccount<'_>,
        authority_seed: &str,
        authority_owner: &Pubkey,
        new_authority: &Pubkey,
        stake_authorize: StakeAuthorize
    ) -> Result<(), InstructionError>;
pub fn delegate(
        &self,
        vote_account: &KeyedAccount<'_>,
        clock: &Clock,
        stake_history: &StakeHistory,
        config: &Config,
        signers: &HashSet<Pubkey>
    ) -> Result<(), InstructionError>;
pub fn deactivate(
        &self,
        clock: &Clock,
        signers: &HashSet<Pubkey>
    ) -> Result<(), InstructionError>;
pub fn set_lockup(
        &self,
        lockup: &LockupArgs,
        signers: &HashSet<Pubkey>
    ) -> Result<(), InstructionError>;
pub fn split(
        &self,
        lamports: u64,
        split_stake: &KeyedAccount<'_>,
        signers: &HashSet<Pubkey>
    ) -> Result<(), InstructionError>;
pub fn merge(
        &self,
        source_stake: &KeyedAccount<'_>,
        clock: &Clock,
        stake_history: &StakeHistory,
        signers: &HashSet<Pubkey>
    ) -> Result<(), InstructionError>;
pub fn withdraw(
        &self,
        lamports: u64,
        to: &KeyedAccount<'_>,
        clock: &Clock,
        stake_history: &StakeHistory,
        withdraw_authority: &KeyedAccount<'_>,
        custodian: Option<&KeyedAccount<'_>>
    ) -> Result<(), InstructionError>; }

Required methods

pub fn initialize(
    &self,
    authorized: &Authorized,
    lockup: &Lockup,
    rent: &Rent
) -> Result<(), InstructionError>
[src]

pub fn authorize(
    &self,
    signers: &HashSet<Pubkey>,
    new_authority: &Pubkey,
    stake_authorize: StakeAuthorize
) -> Result<(), InstructionError>
[src]

pub fn authorize_with_seed(
    &self,
    authority_base: &KeyedAccount<'_>,
    authority_seed: &str,
    authority_owner: &Pubkey,
    new_authority: &Pubkey,
    stake_authorize: StakeAuthorize
) -> Result<(), InstructionError>
[src]

pub fn delegate(
    &self,
    vote_account: &KeyedAccount<'_>,
    clock: &Clock,
    stake_history: &StakeHistory,
    config: &Config,
    signers: &HashSet<Pubkey>
) -> Result<(), InstructionError>
[src]

pub fn deactivate(
    &self,
    clock: &Clock,
    signers: &HashSet<Pubkey>
) -> Result<(), InstructionError>
[src]

pub fn set_lockup(
    &self,
    lockup: &LockupArgs,
    signers: &HashSet<Pubkey>
) -> Result<(), InstructionError>
[src]

pub fn split(
    &self,
    lamports: u64,
    split_stake: &KeyedAccount<'_>,
    signers: &HashSet<Pubkey>
) -> Result<(), InstructionError>
[src]

pub fn merge(
    &self,
    source_stake: &KeyedAccount<'_>,
    clock: &Clock,
    stake_history: &StakeHistory,
    signers: &HashSet<Pubkey>
) -> Result<(), InstructionError>
[src]

pub fn withdraw(
    &self,
    lamports: u64,
    to: &KeyedAccount<'_>,
    clock: &Clock,
    stake_history: &StakeHistory,
    withdraw_authority: &KeyedAccount<'_>,
    custodian: Option<&KeyedAccount<'_>>
) -> Result<(), InstructionError>
[src]

Loading content...

Implementations on Foreign Types

impl<'a> StakeAccount for KeyedAccount<'a>[src]

pub fn authorize(
    &self,
    signers: &HashSet<Pubkey>,
    new_authority: &Pubkey,
    stake_authorize: StakeAuthorize
) -> Result<(), InstructionError>
[src]

Authorize the given pubkey to manage stake (deactivate, withdraw). This may be called multiple times, but will implicitly withdraw authorization from the previously authorized staker. The default staker is the owner of the stake account's pubkey.

Loading content...

Implementors

Loading content...