setFee static method

TransactionInstruction setFee({
  1. required Pubkey stakePoolAddress,
  2. required Pubkey manager,
  3. required FeeType fee,
})

(Manager only) Update fee.

Keys:

  • [w] stakePoolAddress - StakePool.
  • [s] manager - Manager.

Data:

  • fee - Type of fee to update and value to update it to.

Implementation

static TransactionInstruction setFee({
  // Keys
  required final Pubkey stakePoolAddress,
  required final Pubkey manager,
  // Data
  required final FeeType fee,
}) {
  /// 0. `[w]` StakePool.
  /// 1. `[s]` Manager.
  final List<AccountMeta> keys = [
    AccountMeta.writable(stakePoolAddress),
    AccountMeta.signer(manager),
  ];

  final BorshRustEnumCodec feeTypeCode = borsh.rustEnumeration(
    FeeType.codecs,
  );

  final List<Iterable<int>> data = [
    feeTypeCode.encode(fee),
  ];

  return _instance.createTransactionIntruction(
    StakePoolInstruction.setFee,
    keys: keys,
    data: data,
  );
}