TokenInstruction.transfer constructor
TokenInstruction.transfer({
- required int amount,
- required Ed25519HDPublicKey source,
- required Ed25519HDPublicKey destination,
- required Ed25519HDPublicKey owner,
- List<
Ed25519HDPublicKey> signers = const <Ed25519HDPublicKey>[],
Transfers tokens from one source account to destination either
directly or via a delegate.
If this account is associated with the native mint then equal amounts of
SOL and Tokens will be transferred to the destination account.
Implementation
factory TokenInstruction.transfer({
required int amount,
required Ed25519HDPublicKey source,
required Ed25519HDPublicKey destination,
required Ed25519HDPublicKey owner,
List<Ed25519HDPublicKey> signers = const <Ed25519HDPublicKey>[],
}) =>
TokenInstruction._(
accounts: [
AccountMeta.writeable(pubKey: source, isSigner: false),
AccountMeta.writeable(pubKey: destination, isSigner: false),
AccountMeta.readonly(
pubKey: owner,
isSigner: signers.isEmpty,
),
...signers.map(
(pubKey) => AccountMeta.readonly(pubKey: pubKey, isSigner: true),
),
],
data: ByteArray.merge([
TokenProgram.transferInstructionIndex,
ByteArray.u64(amount),
]),
);