signAndSendTransaction method

Future<TransactionId> signAndSendTransaction(
  1. Message message,
  2. List<Ed25519HDKeyPair> signers, {
  3. FutureOr<void> onSigned(
    1. Signature signature
    )?,
  4. Commitment commitment = Commitment.finalized,
})

Implementation

Future<TransactionId> signAndSendTransaction(
  Message message,
  List<Ed25519HDKeyPair> signers, {
  FutureOr<void> Function(Signature signature)? onSigned,
  Commitment commitment = Commitment.finalized,
}) async {
  final recentBlockhash =
      await getRecentBlockhash(commitment: commitment).value;
  final signedTx = await signTransaction(recentBlockhash, message, signers);

  if (onSigned != null) {
    await onSigned(signedTx.signatures.first);
  }

  return sendTransaction(
    signedTx.encode(),
    preflightCommitment: commitment,
  );
}