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

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

Required methods

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

fn authorize(
    &self,
    signers: &HashSet<Pubkey>,
    new_authority: &Pubkey,
    stake_authorize: StakeAuthorize,
    require_custodian_for_locked_stake_authorize: bool,
    clock: &Clock,
    custodian: Option<&Pubkey>
) -> Result<(), InstructionError>
[src]

fn authorize_with_seed(
    &self,
    authority_base: &KeyedAccount<'_>,
    authority_seed: &str,
    authority_owner: &Pubkey,
    new_authority: &Pubkey,
    stake_authorize: StakeAuthorize,
    require_custodian_for_locked_stake_authorize: bool,
    clock: &Clock,
    custodian: Option<&Pubkey>
) -> Result<(), InstructionError>
[src]

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

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

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

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

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

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]

fn authorize(
    &self,
    signers: &HashSet<Pubkey>,
    new_authority: &Pubkey,
    stake_authorize: StakeAuthorize,
    require_custodian_for_locked_stake_authorize: bool,
    clock: &Clock,
    custodian: Option<&Pubkey>
) -> 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.

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

fn authorize_with_seed(
    &self,
    authority_base: &KeyedAccount<'_>,
    authority_seed: &str,
    authority_owner: &Pubkey,
    new_authority: &Pubkey,
    stake_authorize: StakeAuthorize,
    require_custodian_for_locked_stake_authorize: bool,
    clock: &Clock,
    custodian: Option<&Pubkey>
) -> Result<(), InstructionError>
[src]

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

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

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

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

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

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

Loading content...

Implementors

Loading content...