@nosana/kit
Version:
Nosana KIT
30 lines (29 loc) • 1.49 kB
TypeScript
import { Address, SolanaClient, Signature, IInstruction, TransactionMessageWithBlockhashLifetime, CompilableTransactionMessage, FullySignedTransaction, TransactionWithBlockhashLifetime } from 'gill';
import { NosanaClient } from '../index.js';
export declare class SolanaUtils {
private readonly sdk;
readonly rpc: SolanaClient["rpc"];
readonly rpcSubscriptions: SolanaClient["rpcSubscriptions"];
readonly sendAndConfirmTransaction: SolanaClient["sendAndConfirmTransaction"];
constructor(sdk: NosanaClient);
pda(seeds: Array<Address | string>, programId: Address): Promise<Address>;
getBalance(addressStr: string | Address): Promise<bigint>;
getLatestBlockhash(): Promise<Readonly<{
blockhash: import("gill").Blockhash;
lastValidBlockHeight: bigint;
}>>;
/**
* Type guard to check if the input is a transaction
*/
private isTransaction;
/**
* Type guard to check if the input is a signed transaction
*/
private isSignedTransaction;
/**
* Create, sign, and send a transaction with proper logging and error handling
* @param instructionsOrTransaction Single instruction, array of instructions, or pre-built transaction
* @returns The transaction signature
*/
send(instructionsOrTransaction: IInstruction | IInstruction[] | CompilableTransactionMessage & TransactionMessageWithBlockhashLifetime | FullySignedTransaction & TransactionWithBlockhashLifetime): Promise<Signature>;
}