SPLToken2022ExtensionsProgram.updateRateInterestBearingMint constructor
SPLToken2022ExtensionsProgram.updateRateInterestBearingMint({
- required SolAddress mint,
- required SolAddress rateAuthority,
- required SPLToken2022InterestBearingMintUpdateRateLayout layout,
- SolAddress programId = SPLTokenProgramConst.token2022ProgramId,
- List<
SolAddress> multiSigners = const [],
Update the interest rate. Only supported for mints that include the
InterestBearingConfig
extension.
Implementation
factory SPLToken2022ExtensionsProgram.updateRateInterestBearingMint({
/// The mint.
required SolAddress mint,
/// The mint rate authority.
required SolAddress rateAuthority,
required SPLToken2022InterestBearingMintUpdateRateLayout layout,
SolAddress programId = SPLTokenProgramConst.token2022ProgramId,
/// Multisignature authority
List<SolAddress> multiSigners = const [],
}) {
if (programId == SPLTokenProgramConst.tokenProgramId) {
throw const MessageException("Token program does not support extensions");
}
return SPLToken2022ExtensionsProgram(
keys: SPLTokenUtils.buildKeys(keys: [
mint.toWritable(),
if (multiSigners.isEmpty)
rateAuthority.toSigner()
else
rateAuthority.toReadOnly()
], owner: rateAuthority, multiSigners: multiSigners),
programId: programId,
layout: layout);
}