StakePoolProgram class
- Inheritance
-
- Object
- TransactionInstruction
- StakePoolProgram
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.
getter/setter pairinherited
- 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
- 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