[][src]Enum solana_vest_program::vest_instruction::VestInstruction

pub enum VestInstruction {
    InitializeAccount {
        terminator_pubkey: Pubkey,
        payee_pubkey: Pubkey,
        start_date_time: DateTime<Utc>,
        date_pubkey: Pubkey,
        total_lamports: u64,
    },
    SetTerminator(Pubkey),
    SetPayee(Pubkey),
    RedeemTokens,
    Terminate,
    Renege(u64),
    VestAll,
}

An instruction to progress the smart contract.

Variants

InitializeAccount

Declare and instantiate a vesting schedule

Fields of InitializeAccount

terminator_pubkey: Pubkeypayee_pubkey: Pubkeystart_date_time: DateTime<Utc>date_pubkey: Pubkeytotal_lamports: u64
SetTerminator(Pubkey)

Change the terminator pubkey

SetPayee(Pubkey)

Change the payee pubkey

RedeemTokens

Load an account and pass its data to the contract for inspection.

Terminate

Tell the contract that the InitializeAccount with Signature has been signed by the containing transaction's Pubkey.

Renege(u64)

Reduce total_lamports by the given number of lamports. Tokens that have already vested are unaffected. Use this instead of Terminate to minimize the number of token transfers.

VestAll

Mark all available tokens as redeemable, regardless of the date.

Trait Implementations

impl Clone for VestInstruction[src]

impl Debug for VestInstruction[src]

impl<'de> Deserialize<'de> for VestInstruction[src]

impl Eq for VestInstruction[src]

impl PartialEq<VestInstruction> for VestInstruction[src]

impl Serialize for VestInstruction[src]

impl StructuralEq for VestInstruction[src]

impl StructuralPartialEq for VestInstruction[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.