StakePoolProgram class

Inheritance

Constructors

StakePoolProgram({required List<AccountMeta> keys, required SolAddress programId, required ProgramLayout layout})
StakePoolProgram.cleanupRemovedValidatorEntries({required SolAddress stakePool, required SolAddress validatorList})
Cleans up validator stake account entries marked as ReadyForRemoval
factory
StakePoolProgram.createTokenMetadata({required SolAddress stakePool, required SolAddress manager, required SolAddress tokenMetadata, required SolAddress withdrawAuthority, required SolAddress poolMint, required SolAddress payer, required StakePoolCreateTokenMetaDataLayout layout})
Create token metadata for the stake-pool token in the metaplex-token program
factory
StakePoolProgram.decreaseAdditionalValidatorStake({required SolAddress stakePool, required SolAddress staker, required SolAddress withdrawAuthority, required SolAddress validatorList, required SolAddress validatorStake, required SolAddress transientStake, required SolAddress reserveStake, required SolAddress ephemeralStake, required StakePoolDecreaseAdditionalValidatorStakeLayout layout})
(Staker only) Decrease active stake again from a validator, eventually moving it to the reserve
factory
StakePoolProgram.decreaseValidatorStake({required SolAddress stakePool, required SolAddress staker, required SolAddress withdrawAuthority, required SolAddress validatorList, required SolAddress validatorStake, required SolAddress transientStake, required StakePoolDecreaseValidatorStakeLayout layout})
(Staker only) Decrease active stake on a validator, eventually moving it to the reserve
factory
StakePoolProgram.decreaseValidatorStakeWithReserve({required SolAddress stakePool, required SolAddress staker, required SolAddress withdrawAuthority, required SolAddress validatorList, required SolAddress validatorStake, required SolAddress transientStake, required SolAddress reserveStake, required StakePoolDecreaseValidatorStakeWithReserveLayout layout})
(Staker only) Decrease active stake on a validator, eventually moving it to the reserve
factory
StakePoolProgram.depositSol({required SolAddress stakePool, required SolAddress withdrawAuthority, required SolAddress reserveStake, required SolAddress fundingAccount, required SolAddress destinationPoolAccount, required SolAddress managerFeeAccount, required SolAddress referralPoolAccount, required SolAddress poolMint, required StakePoolDepositSolLayout layout, SolAddress? depositAuthority})
Deposit SOL directly into the pool's reserve account. The output is a "pool" token representing ownership into the pool. Inputs are converted to the current ratio.
factory
StakePoolProgram.depositStake({required SolAddress stakePool, required SolAddress validatorList, required SolAddress depositAuthority, required SolAddress withdrawAuthority, required SolAddress depositStake, required SolAddress validatorStake, required SolAddress reserveStake, required SolAddress destinationPoolAccount, required SolAddress managerFeeAccount, required SolAddress referralPoolAccount, required SolAddress poolMint})
Deposit some stake into the pool. The output is a "pool" token representing ownership into the pool. Inputs are converted to the current ratio.
factory
StakePoolProgram.fromBytes({required List<AccountMeta> keys, required List<int> instructionBytes, SolAddress programId = StakePoolProgramConst.programId})
factory
StakePoolProgram.increaseAdditionalValidatorStake({required SolAddress stakePool, required SolAddress staker, required SolAddress withdrawAuthority, required SolAddress validatorList, required SolAddress reserveStake, required SolAddress transientStake, required SolAddress validatorStake, required SolAddress validatorVote, required StakePoolIncreaseAdditionalValidatorStakeLayout layout, required SolAddress ephemeralStake})
(Staker only) Increase stake on a validator again in an epoch.
factory
StakePoolProgram.increaseValidatorStake({required SolAddress stakePool, required SolAddress staker, required SolAddress withdrawAuthority, required SolAddress validatorList, required SolAddress reserveStake, required SolAddress transientStake, required SolAddress validatorStake, required SolAddress validatorVote, required StakePoolIncreaseValidatorStakeLayout layout})
(Staker only) Increase stake on a validator from the reserve account
factory
StakePoolProgram.redelegate({required SolAddress stakePool, required SolAddress staker, required SolAddress stakePoolWithdrawAuthority, required SolAddress validatorList, required SolAddress reserveStake, required SolAddress sourceValidatorStake, required SolAddress sourceTransientStake, required SolAddress ephemeralStake, required SolAddress destinationTransientStake, required SolAddress destinationValidatorStake, required SolAddress validator, required StakePoolReDelegateLayout layout})
(Staker only) Redelegate active stake on a validator, eventually moving it to another
factory
StakePoolProgram.updateStakePoolBalance({required SolAddress stakePool, required SolAddress withdrawAuthority, required SolAddress validatorList, required SolAddress reserveStake, required SolAddress managerFeeAccount, required SolAddress poolMint})
Updates total pool balance based on balances in the reserve and validator list
factory
StakePoolProgram.updateTokenMetadata({required SolAddress stakePool, required SolAddress manager, required SolAddress tokenMetadata, required SolAddress withdrawAuthority, required StakePoolUpdateTokenMetaDataLayout layout})
Update token metadata for the stake-pool token in the metaplex-token program
factory
StakePoolProgram.updateValidatorListBalance({required SolAddress stakePool, required SolAddress withdrawAuthority, required SolAddress validatorList, required SolAddress reserveStake, required List<SolAddress> validatorAndTransientStakePairs, required StakePoolUpdateValidatorListBalanceLayout layout})
Updates balances of validator and transient stake accounts in the pool
factory
StakePoolProgram.withdrawSol({required SolAddress stakePool, required SolAddress sourcePoolAccount, required SolAddress withdrawAuthority, required SolAddress reserveStake, required SolAddress destinationSystemAccount, required SolAddress sourceTransferAuthority, required SolAddress managerFeeAccount, required SolAddress poolMint, required StakePoolWithdrawSolLayout layout, SolAddress? solWithdrawAuthority})
Withdraw SOL directly from the pool's reserve account.
factory
StakePoolProgram.withdrawStake({required SolAddress stakePool, required SolAddress validatorList, required SolAddress withdrawAuthority, required SolAddress validatorStake, required SolAddress destinationStake, required SolAddress destinationStakeAuthority, required SolAddress sourceTransferAuthority, required SolAddress sourcePoolAccount, required SolAddress managerFeeAccount, required SolAddress poolMint, required StakePoolWithdrawStakeLayout layout})
Withdraw the token from the pool at the current ratio.
factory

Properties

data List<int>
Program input.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
keys List<AccountMeta>
Public keys to include in this transaction Boolean represents whether this pubkey needs to sign the transaction
finalinherited
layout ProgramLayout
Program layout.
finalinherited
programId SolAddress
Program Id to execute.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited