gill
Version:
a modern javascript/typescript client library for interacting with the Solana blockchain
29 lines • 2.7 kB
TypeScript
import type { CompilableTransactionMessage, FullySignedTransaction, GetEpochInfoApi, GetSignatureStatusesApi, Rpc, RpcSubscriptions, SendTransactionApi, Signature, SignatureNotificationsApi, SlotNotificationsApi, TransactionWithBlockhashLifetime } from "@solana/kit";
import { Commitment } from "@solana/kit";
import { type waitForRecentTransactionConfirmation } from "@solana/transaction-confirmation";
interface SendAndConfirmTransactionWithBlockhashLifetimeConfig extends SendTransactionBaseConfig, SendTransactionConfigWithoutEncoding {
confirmRecentTransaction: (config: Omit<Parameters<typeof waitForRecentTransactionConfirmation>[0], "getBlockHeightExceedencePromise" | "getRecentSignatureConfirmationPromise">) => Promise<void>;
transaction: FullySignedTransaction & TransactionWithBlockhashLifetime;
}
interface SendTransactionBaseConfig extends SendTransactionConfigWithoutEncoding {
abortSignal?: AbortSignal;
commitment: Commitment;
rpc: Rpc<SendTransactionApi>;
transaction: FullySignedTransaction;
}
type SendTransactionConfigWithoutEncoding = Omit<NonNullable<Parameters<SendTransactionApi["sendTransaction"]>[1]>, "encoding">;
export type SendAndConfirmTransactionWithSignersFunction = (transaction: (FullySignedTransaction & TransactionWithBlockhashLifetime) | CompilableTransactionMessage, config?: Omit<SendAndConfirmTransactionWithBlockhashLifetimeConfig, "confirmRecentTransaction" | "rpc" | "transaction">) => Promise<Signature>;
type SendAndConfirmTransactionWithSignersFactoryConfig<TCluster> = {
rpc: Rpc<GetEpochInfoApi & GetSignatureStatusesApi & SendTransactionApi> & {
"~cluster"?: TCluster;
};
rpcSubscriptions: RpcSubscriptions<SignatureNotificationsApi & SlotNotificationsApi> & {
"~cluster"?: TCluster;
};
};
export declare function sendAndConfirmTransactionWithSignersFactory({ rpc, rpcSubscriptions, }: SendAndConfirmTransactionWithSignersFactoryConfig<"devnet">): SendAndConfirmTransactionWithSignersFunction;
export declare function sendAndConfirmTransactionWithSignersFactory({ rpc, rpcSubscriptions, }: SendAndConfirmTransactionWithSignersFactoryConfig<"testnet">): SendAndConfirmTransactionWithSignersFunction;
export declare function sendAndConfirmTransactionWithSignersFactory({ rpc, rpcSubscriptions, }: SendAndConfirmTransactionWithSignersFactoryConfig<"mainnet">): SendAndConfirmTransactionWithSignersFunction;
export declare function sendAndConfirmTransactionWithSignersFactory({ rpc, rpcSubscriptions, }: SendAndConfirmTransactionWithSignersFactoryConfig<"localnet">): SendAndConfirmTransactionWithSignersFunction;
export {};
//# sourceMappingURL=send-and-confirm-transaction-with-signers.d.ts.map