java.lang.Object
software.sava.solana.programs.stake.StakeProgram

public final class StakeProgram extends Object
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static enum 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static software.sava.core.tx.Instruction
    authorize(software.sava.core.accounts.SolanaAccounts solanaAccounts, List<software.sava.core.accounts.meta.AccountMeta> keys, software.sava.core.accounts.PublicKey newAuthority, StakeAuthorize stakeAuthorize)
     
    static software.sava.core.tx.Instruction
    authorize(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.PublicKey stakeOrWithdrawAuthority, software.sava.core.accounts.PublicKey lockupAuthority, software.sava.core.accounts.PublicKey newAuthority, StakeAuthorize stakeAuthorize)
     
    static software.sava.core.tx.Instruction
    authorize(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.PublicKey stakeOrWithdrawAuthority, software.sava.core.accounts.PublicKey newAuthority, StakeAuthorize stakeAuthorize)
     
    static software.sava.core.tx.Instruction
    authorizeChecked(software.sava.core.accounts.SolanaAccounts solanaAccounts, List<software.sava.core.accounts.meta.AccountMeta> keys, StakeAuthorize stakeAuthorize)
     
    static software.sava.core.tx.Instruction
    authorizeChecked(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.PublicKey stakeOrWithdrawAuthority, software.sava.core.accounts.PublicKey newStakeOrWithdrawAuthority, software.sava.core.accounts.PublicKey lockupAuthority, StakeAuthorize stakeAuthorize)
     
    static software.sava.core.tx.Instruction
    authorizeChecked(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.PublicKey stakeOrWithdrawAuthority, software.sava.core.accounts.PublicKey newStakeOrWithdrawAuthority, StakeAuthorize stakeAuthorize)
     
    static software.sava.core.tx.Instruction
    authorizeCheckedWithSeed(software.sava.core.accounts.SolanaAccounts solanaAccounts, List<software.sava.core.accounts.meta.AccountMeta> keys, StakeAuthorize stakeAuthorize, software.sava.core.accounts.AccountWithSeed authoritySeed, software.sava.core.accounts.PublicKey authorityOwner)
     
    static software.sava.core.tx.Instruction
    authorizeCheckedWithSeed(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.AccountWithSeed baseKeyOrWithdrawAuthority, software.sava.core.accounts.PublicKey stakeOrWithdrawAuthority, software.sava.core.accounts.PublicKey lockupAuthority, StakeAuthorize stakeAuthorize, software.sava.core.accounts.PublicKey authorityOwner)
     
    static software.sava.core.tx.Instruction
    authorizeCheckedWithSeed(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.AccountWithSeed baseKeyOrWithdrawAuthority, software.sava.core.accounts.PublicKey stakeOrWithdrawAuthority, StakeAuthorize stakeAuthorize, software.sava.core.accounts.PublicKey authorityOwner)
     
    static software.sava.core.tx.Instruction
    authorizeWithSeed(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.AccountWithSeed baseKeyOrWithdrawAuthority, software.sava.core.accounts.PublicKey lockupAuthority, software.sava.core.accounts.PublicKey newAuthorizedPublicKey, StakeAuthorize stakeAuthorize, software.sava.core.accounts.PublicKey authorityOwner)
     
    static software.sava.core.tx.Instruction
    authorizeWithSeed(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.AccountWithSeed baseKeyOrWithdrawAuthority, software.sava.core.accounts.PublicKey newAuthorizedPublicKey, StakeAuthorize stakeAuthorize, software.sava.core.accounts.PublicKey authorityOwner)
     
    static software.sava.core.tx.Instruction
    deactivate(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey delegatedStakeAccount, software.sava.core.accounts.PublicKey stakeAuthority)
     
    static software.sava.core.tx.Instruction
    deactivateDelinquent(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey delegatedStakeAccount, software.sava.core.accounts.PublicKey delinquentVoteAccount, software.sava.core.accounts.PublicKey referenceVoteAccount)
     
    static software.sava.core.tx.Instruction
    delegateStake(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey initializedStakeAccount, software.sava.core.accounts.PublicKey validatorVoteAccount, software.sava.core.accounts.PublicKey stakeAuthority)
     
    static software.sava.core.tx.Instruction
    initialize(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey unInitializedStakeAccount, software.sava.core.accounts.PublicKey staker, software.sava.core.accounts.PublicKey withdrawer)
     
    static software.sava.core.tx.Instruction
    initialize(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey unInitializedStakeAccount, software.sava.core.accounts.PublicKey staker, software.sava.core.accounts.PublicKey withdrawer, LockUp lockUp)
     
    static software.sava.core.tx.Instruction
    initializeChecked(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey unInitializedStakeAccount, software.sava.core.accounts.PublicKey staker, software.sava.core.accounts.PublicKey withdrawer)
     
    static software.sava.core.tx.Instruction
    merge(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey destinationStakeAccount, software.sava.core.accounts.PublicKey srcStakeAccount, software.sava.core.accounts.PublicKey stakeAuthority)
     
    static software.sava.core.tx.Instruction
    moveLamports(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey sourceStakeAccount, software.sava.core.accounts.PublicKey destinationStakeAccount, software.sava.core.accounts.PublicKey stakeAuthority, long lamports)
     
    static software.sava.core.tx.Instruction
    moveStake(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey sourceStakeAccount, software.sava.core.accounts.PublicKey destinationStakeAccount, software.sava.core.accounts.PublicKey stakeAuthority, long lamports)
     
    static software.sava.core.tx.Instruction
    reDelegate(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey delegatedStakeAccount, software.sava.core.accounts.PublicKey uninitializedStakeAccount, software.sava.core.accounts.PublicKey validatorVoteAccount, software.sava.core.accounts.PublicKey stakeAuthority)
     
    static software.sava.core.tx.Instruction
    setLockup(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey initializedStakeAccount, software.sava.core.accounts.PublicKey lockupOrWithdrawAuthority, Instant timestamp, OptionalLong epoch, software.sava.core.accounts.PublicKey custodian)
     
    static software.sava.core.tx.Instruction
    setLockupChecked(software.sava.core.accounts.SolanaAccounts solanaAccounts, List<software.sava.core.accounts.meta.AccountMeta> keys, Instant timestamp, OptionalLong epoch)
     
    static software.sava.core.tx.Instruction
    setLockupChecked(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey initializedStakeAccount, software.sava.core.accounts.PublicKey lockupOrWithdrawAuthority, Instant timestamp, OptionalLong epoch)
     
    static software.sava.core.tx.Instruction
    setLockupChecked(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey initializedStakeAccount, software.sava.core.accounts.PublicKey lockupOrWithdrawAuthority, software.sava.core.accounts.PublicKey newLockupAuthority, Instant timestamp, OptionalLong epoch)
     
    static software.sava.core.tx.Instruction
    split(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey splitStakeAccount, software.sava.core.accounts.PublicKey unInitializedStakeAccount, software.sava.core.accounts.PublicKey stakeAuthority, long lamports)
     
    static software.sava.core.tx.Instruction
    withdraw(software.sava.core.accounts.SolanaAccounts solanaAccounts, List<software.sava.core.accounts.meta.AccountMeta> keys, long lamports)
     
    static software.sava.core.tx.Instruction
    withdraw(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.PublicKey recipient, software.sava.core.accounts.PublicKey withdrawAuthority, long lamports)
     
    static software.sava.core.tx.Instruction
    withdraw(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.PublicKey recipient, software.sava.core.accounts.PublicKey withdrawAuthority, software.sava.core.accounts.PublicKey lockupAuthority, long lamports)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • initialize

      public static software.sava.core.tx.Instruction initialize(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey unInitializedStakeAccount, software.sava.core.accounts.PublicKey staker, software.sava.core.accounts.PublicKey withdrawer)
    • initialize

      public static software.sava.core.tx.Instruction initialize(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey unInitializedStakeAccount, software.sava.core.accounts.PublicKey staker, software.sava.core.accounts.PublicKey withdrawer, LockUp lockUp)
    • initializeChecked

      public static software.sava.core.tx.Instruction initializeChecked(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey unInitializedStakeAccount, software.sava.core.accounts.PublicKey staker, software.sava.core.accounts.PublicKey withdrawer)
    • authorize

      public static software.sava.core.tx.Instruction authorize(software.sava.core.accounts.SolanaAccounts solanaAccounts, List<software.sava.core.accounts.meta.AccountMeta> keys, software.sava.core.accounts.PublicKey newAuthority, StakeAuthorize stakeAuthorize)
    • authorize

      public static software.sava.core.tx.Instruction authorize(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.PublicKey stakeOrWithdrawAuthority, software.sava.core.accounts.PublicKey newAuthority, StakeAuthorize stakeAuthorize)
    • authorize

      public static software.sava.core.tx.Instruction authorize(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.PublicKey stakeOrWithdrawAuthority, software.sava.core.accounts.PublicKey lockupAuthority, software.sava.core.accounts.PublicKey newAuthority, StakeAuthorize stakeAuthorize)
    • authorizeChecked

      public static software.sava.core.tx.Instruction authorizeChecked(software.sava.core.accounts.SolanaAccounts solanaAccounts, List<software.sava.core.accounts.meta.AccountMeta> keys, StakeAuthorize stakeAuthorize)
    • authorizeChecked

      public static software.sava.core.tx.Instruction authorizeChecked(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.PublicKey stakeOrWithdrawAuthority, software.sava.core.accounts.PublicKey newStakeOrWithdrawAuthority, StakeAuthorize stakeAuthorize)
    • authorizeChecked

      public static software.sava.core.tx.Instruction authorizeChecked(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.PublicKey stakeOrWithdrawAuthority, software.sava.core.accounts.PublicKey newStakeOrWithdrawAuthority, software.sava.core.accounts.PublicKey lockupAuthority, StakeAuthorize stakeAuthorize)
    • authorizeWithSeed

      public static software.sava.core.tx.Instruction authorizeWithSeed(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.AccountWithSeed baseKeyOrWithdrawAuthority, software.sava.core.accounts.PublicKey newAuthorizedPublicKey, StakeAuthorize stakeAuthorize, software.sava.core.accounts.PublicKey authorityOwner)
    • authorizeWithSeed

      public static software.sava.core.tx.Instruction authorizeWithSeed(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.AccountWithSeed baseKeyOrWithdrawAuthority, software.sava.core.accounts.PublicKey lockupAuthority, software.sava.core.accounts.PublicKey newAuthorizedPublicKey, StakeAuthorize stakeAuthorize, software.sava.core.accounts.PublicKey authorityOwner)
    • authorizeCheckedWithSeed

      public static software.sava.core.tx.Instruction authorizeCheckedWithSeed(software.sava.core.accounts.SolanaAccounts solanaAccounts, List<software.sava.core.accounts.meta.AccountMeta> keys, StakeAuthorize stakeAuthorize, software.sava.core.accounts.AccountWithSeed authoritySeed, software.sava.core.accounts.PublicKey authorityOwner)
    • authorizeCheckedWithSeed

      public static software.sava.core.tx.Instruction authorizeCheckedWithSeed(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.AccountWithSeed baseKeyOrWithdrawAuthority, software.sava.core.accounts.PublicKey stakeOrWithdrawAuthority, StakeAuthorize stakeAuthorize, software.sava.core.accounts.PublicKey authorityOwner)
    • authorizeCheckedWithSeed

      public static software.sava.core.tx.Instruction authorizeCheckedWithSeed(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.AccountWithSeed baseKeyOrWithdrawAuthority, software.sava.core.accounts.PublicKey stakeOrWithdrawAuthority, software.sava.core.accounts.PublicKey lockupAuthority, StakeAuthorize stakeAuthorize, software.sava.core.accounts.PublicKey authorityOwner)
    • delegateStake

      public static software.sava.core.tx.Instruction delegateStake(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey initializedStakeAccount, software.sava.core.accounts.PublicKey validatorVoteAccount, software.sava.core.accounts.PublicKey stakeAuthority)
    • split

      public static software.sava.core.tx.Instruction split(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey splitStakeAccount, software.sava.core.accounts.PublicKey unInitializedStakeAccount, software.sava.core.accounts.PublicKey stakeAuthority, long lamports)
    • withdraw

      public static software.sava.core.tx.Instruction withdraw(software.sava.core.accounts.SolanaAccounts solanaAccounts, List<software.sava.core.accounts.meta.AccountMeta> keys, long lamports)
    • withdraw

      public static software.sava.core.tx.Instruction withdraw(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.PublicKey recipient, software.sava.core.accounts.PublicKey withdrawAuthority, long lamports)
    • withdraw

      public static software.sava.core.tx.Instruction withdraw(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey stakeAccount, software.sava.core.accounts.PublicKey recipient, software.sava.core.accounts.PublicKey withdrawAuthority, software.sava.core.accounts.PublicKey lockupAuthority, long lamports)
    • deactivate

      public static software.sava.core.tx.Instruction deactivate(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey delegatedStakeAccount, software.sava.core.accounts.PublicKey stakeAuthority)
    • setLockup

      public static software.sava.core.tx.Instruction setLockup(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey initializedStakeAccount, software.sava.core.accounts.PublicKey lockupOrWithdrawAuthority, Instant timestamp, OptionalLong epoch, software.sava.core.accounts.PublicKey custodian)
    • setLockupChecked

      public static software.sava.core.tx.Instruction setLockupChecked(software.sava.core.accounts.SolanaAccounts solanaAccounts, List<software.sava.core.accounts.meta.AccountMeta> keys, Instant timestamp, OptionalLong epoch)
    • setLockupChecked

      public static software.sava.core.tx.Instruction setLockupChecked(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey initializedStakeAccount, software.sava.core.accounts.PublicKey lockupOrWithdrawAuthority, Instant timestamp, OptionalLong epoch)
    • setLockupChecked

      public static software.sava.core.tx.Instruction setLockupChecked(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey initializedStakeAccount, software.sava.core.accounts.PublicKey lockupOrWithdrawAuthority, software.sava.core.accounts.PublicKey newLockupAuthority, Instant timestamp, OptionalLong epoch)
    • merge

      public static software.sava.core.tx.Instruction merge(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey destinationStakeAccount, software.sava.core.accounts.PublicKey srcStakeAccount, software.sava.core.accounts.PublicKey stakeAuthority)
    • deactivateDelinquent

      public static software.sava.core.tx.Instruction deactivateDelinquent(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey delegatedStakeAccount, software.sava.core.accounts.PublicKey delinquentVoteAccount, software.sava.core.accounts.PublicKey referenceVoteAccount)
    • reDelegate

      public static software.sava.core.tx.Instruction reDelegate(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey delegatedStakeAccount, software.sava.core.accounts.PublicKey uninitializedStakeAccount, software.sava.core.accounts.PublicKey validatorVoteAccount, software.sava.core.accounts.PublicKey stakeAuthority)
    • moveStake

      public static software.sava.core.tx.Instruction moveStake(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey sourceStakeAccount, software.sava.core.accounts.PublicKey destinationStakeAccount, software.sava.core.accounts.PublicKey stakeAuthority, long lamports)
    • moveLamports

      public static software.sava.core.tx.Instruction moveLamports(software.sava.core.accounts.SolanaAccounts solanaAccounts, software.sava.core.accounts.PublicKey sourceStakeAccount, software.sava.core.accounts.PublicKey destinationStakeAccount, software.sava.core.accounts.PublicKey stakeAuthority, long lamports)