|
|
@@ -1,15 +1,17 @@
|
|
|
import {
|
|
|
Address,
|
|
|
+ BaseTransactionMessage,
|
|
|
Commitment,
|
|
|
- CompilableTransactionMessage,
|
|
|
Rpc,
|
|
|
RpcSubscriptions,
|
|
|
SolanaRpcApi,
|
|
|
SolanaRpcSubscriptionsApi,
|
|
|
TransactionMessageWithBlockhashLifetime,
|
|
|
+ TransactionMessageWithFeePayer,
|
|
|
TransactionSigner,
|
|
|
airdropFactory,
|
|
|
appendTransactionMessageInstruction,
|
|
|
+ assertIsSendableTransaction,
|
|
|
createSolanaRpc,
|
|
|
createSolanaRpcSubscriptions,
|
|
|
createTransactionMessage,
|
|
|
@@ -69,13 +71,15 @@ export const createDefaultTransaction = async (
|
|
|
|
|
|
export const signAndSendTransaction = async (
|
|
|
client: Client,
|
|
|
- transactionMessage: CompilableTransactionMessage &
|
|
|
+ transactionMessage: BaseTransactionMessage &
|
|
|
+ TransactionMessageWithFeePayer &
|
|
|
TransactionMessageWithBlockhashLifetime,
|
|
|
commitment: Commitment = 'confirmed'
|
|
|
) => {
|
|
|
const signedTransaction =
|
|
|
await signTransactionMessageWithSigners(transactionMessage);
|
|
|
const signature = getSignatureFromTransaction(signedTransaction);
|
|
|
+ assertIsSendableTransaction(signedTransaction);
|
|
|
await sendAndConfirmTransactionFactory(client)(signedTransaction, {
|
|
|
commitment,
|
|
|
});
|