TokenInstruction.burn constructor
TokenInstruction.burn({
- required int amount,
- required Ed25519HDPublicKey accountToBurnFrom,
- required Ed25519HDPublicKey mint,
- required Ed25519HDPublicKey owner,
- List<
Ed25519HDPublicKey> signers = const <Ed25519HDPublicKey>[],
Burns tokens by removing them from an account.
Burn
does not support accounts associated with the native mint, use
CloseAccount
instead.
Implementation
factory TokenInstruction.burn({
required int amount,
required Ed25519HDPublicKey accountToBurnFrom,
required Ed25519HDPublicKey mint,
required Ed25519HDPublicKey owner,
List<Ed25519HDPublicKey> signers = const <Ed25519HDPublicKey>[],
}) =>
TokenInstruction._(
accounts: [
AccountMeta.writeable(pubKey: accountToBurnFrom, isSigner: false),
AccountMeta.writeable(pubKey: mint, isSigner: false),
AccountMeta.writeable(
pubKey: owner,
isSigner: signers.isEmpty,
),
...signers.map(
(pubKey) => AccountMeta.readonly(pubKey: pubKey, isSigner: true),
),
],
data: ByteArray.merge([
TokenProgram.burnInstructionIndex,
ByteArray.u64(amount),
]),
);