initialize static method
TransactionInstruction
initialize({
- required Pubkey stakeAccount,
- required Authorized authorized,
- required Lockup lockup,
Initialize a stake with lockup and authorization information.
Keys:
[w]
stakeAccount
- Uninitialized stake account.
Data:
authorized
- Public keys that must sign staker transactions and withdrawer transactions.lockup
- Information about withdrawal restrictions.
Implementation
static TransactionInstruction initialize({
required final Pubkey stakeAccount,
required final Authorized authorized,
required final Lockup lockup,
}) {
// 0. `[w]` Uninitialized stake account.
// 1. `[]` Rent sysvar.
final List<AccountMeta> keys = [
AccountMeta.writable(stakeAccount),
AccountMeta(sysvarRentPubkey),
];
final List<Iterable<u8>> data = [
Authorized.codec.encode(authorized.toJson()),
Lockup.codec.encode(lockup.toJson()),
];
return _instance.createTransactionIntruction(
StakeInstruction.initialize,
keys: keys,
data: data,
);
}