transferLamports method
Future<TransactionId>
transferLamports({
- required Ed25519HDKeyPair source,
- required Ed25519HDPublicKey destination,
- required int lamports,
- String? memo,
- SignatureCallback? onSigned,
- Commitment commitment = Commitment.finalized,
Creates a solana transfer message to send lamports
SOL tokens from
source
to destination
.
To add additional data to the transaction you can use the memo
field. It
accepts an arbitrary string of utf-8 characters. As of now the maximum
allowed length for the memo is 566 bytes of utf-8 data.
Implementation
Future<TransactionId> transferLamports({
required Ed25519HDKeyPair source,
required Ed25519HDPublicKey destination,
required int lamports,
String? memo,
SignatureCallback? onSigned,
Commitment commitment = Commitment.finalized,
}) {
final instructions = [
SystemInstruction.transfer(
fundingAccount: source.publicKey,
recipientAccount: destination,
lamports: lamports,
),
if (memo != null)
MemoInstruction(signers: [source.publicKey], memo: memo),
];
return sendAndConfirmTransaction(
message: Message(instructions: instructions),
signers: [source],
onSigned: onSigned ?? ignoreOnSigned,
commitment: commitment,
);
}