deactivateDelinquent static method
Deactivate stake delegated to a vote account that has been delinquent for at least
MINIMUM_DELINQUENT_EPOCHS_FOR_DEACTIVATION
epochs.
No signer is required for this instruction as it is a common good to deactivate abandoned stake.
Keys:
[w]
delegatedStakeAccount
- Delegated stake account.[]
delinquentVoteAccount
- Delinquent vote account for the delegated stake account.[]
referenceVoteAccount
- Reference vote account that has voted at least once in the lastMINIMUM_DELINQUENT_EPOCHS_FOR_DEACTIVATION
epochs
Implementation
static TransactionInstruction deactivateDelinquent({
required final Pubkey delegatedStakeAccount,
required final Pubkey delinquentVoteAccount,
required final Pubkey referenceVoteAccount,
}) {
// 0. `[w]` Delegated stake account
// 1. `[]` Delinquent vote account for the delegated stake account
// 2. `[]` Reference vote account that has voted at least once in the last
// `MINIMUM_DELINQUENT_EPOCHS_FOR_DEACTIVATION` epochs
final List<AccountMeta> keys = [
AccountMeta.writable(delegatedStakeAccount),
AccountMeta(delinquentVoteAccount),
AccountMeta(referenceVoteAccount),
];
return _instance.createTransactionIntruction(
StakeInstruction.deactivateDelinquent,
keys: keys,
);
}