TokenInstruction.approve constructor
TokenInstruction.approve({
- required int amount,
- required Ed25519HDPublicKey source,
- required Ed25519HDPublicKey delegate,
- required Ed25519HDPublicKey sourceOwner,
- List<
Ed25519HDPublicKey> signers = const <Ed25519HDPublicKey>[],
Approves a delegate.
A delegate is given the authority over tokens on behalf of the account's
sourceOwner.
Implementation
factory TokenInstruction.approve({
required int amount,
required Ed25519HDPublicKey source,
required Ed25519HDPublicKey delegate,
required Ed25519HDPublicKey sourceOwner,
List<Ed25519HDPublicKey> signers = const <Ed25519HDPublicKey>[],
}) =>
TokenInstruction._(
accounts: [
AccountMeta.writeable(pubKey: source, isSigner: false),
AccountMeta.readonly(pubKey: delegate, isSigner: false),
AccountMeta.readonly(
pubKey: sourceOwner,
isSigner: signers.isEmpty,
),
...signers.map(
(pubKey) => AccountMeta.readonly(pubKey: pubKey, isSigner: true),
),
],
data: ByteArray.merge(
[
TokenProgram.approveInstructionIndex,
ByteArray.u64(amount),
],
),
);