SPLToken2022ExtensionsProgram.transferCheckedWithFee constructor
SPLToken2022ExtensionsProgram.transferCheckedWithFee({
- required SolAddress source,
- required SolAddress mint,
- required SolAddress destination,
- required SolAddress authority,
- required SPLToken2022TransferCheckedWithFeeLayout layout,
- SolAddress programId = SPLTokenProgramConst.token2022ProgramId,
- List<
SolAddress> multiSigners = const [],
Transfer, providing expected mint information and fees
Implementation
factory SPLToken2022ExtensionsProgram.transferCheckedWithFee({
/// The source account. Must include the
/// [TransferFeeAmount] extension.
required SolAddress source,
/// he token mint.
required SolAddress mint,
/// The destination account.
required SolAddress destination,
/// The source account's owner/delegate.
required SolAddress authority,
required SPLToken2022TransferCheckedWithFeeLayout layout,
SolAddress programId = SPLTokenProgramConst.token2022ProgramId,
/// Multisignature owner/delegate
List<SolAddress> multiSigners = const [],
}) {
if (programId == SPLTokenProgramConst.tokenProgramId) {
throw const MessageException("Token program does not support extensions");
}
return SPLToken2022ExtensionsProgram(
keys: SPLTokenUtils.buildKeys(keys: [
source.toWritable(),
mint.toReadOnly(),
destination.toWritable()
], owner: authority, multiSigners: multiSigners),
programId: programId,
layout: layout);
}