@marinade.finance/kamino-sdk
Version:
25 lines (24 loc) • 1.92 kB
TypeScript
import { Connection, PublicKey, Transaction } from '@solana/web3.js';
import { SolanaCluster } from '@hubbleprotocol/hubble-config';
import Decimal from 'decimal.js';
import { RouteInfo } from '@jup-ag/core';
import { DeserializedVersionedTransaction } from '../utils';
import { SwapResponse } from '@jup-ag/api';
export type SwapTransactionsResponse = {
setupTransaction: string | undefined;
swapTransaction: string;
cleanupTransaction: string | undefined;
};
export declare class JupService {
private readonly _connection;
private readonly _cluster;
constructor(connection: Connection, cluster: SolanaCluster);
static getSwapTransactions: (route: RouteInfo, walletPublicKey: PublicKey, wrapUnwrapSOL?: boolean, asLegacyTransaction?: boolean) => Promise<SwapTransactionsResponse>;
static getBestRoute: (amount: Decimal, inputMint: PublicKey, outputMint: PublicKey, slippageBps: number, mode?: string, asLegacyTransaction?: boolean) => Promise<RouteInfo>;
static getAllRoutesV4: (amount: Decimal, inputMint: PublicKey, outputMint: PublicKey, slippageBps: number, mode?: string, asLegacyTransaction?: boolean) => Promise<RouteInfo[]>;
static getBestRouteV6: (userPublicKey: PublicKey, amount: Decimal, inputMint: PublicKey, outputMint: PublicKey, slippageBps: number, asLegacyTransaction?: boolean, maxAccounts?: number) => Promise<SwapResponse>;
getPrice(inputMint: PublicKey | string, outputMint: PublicKey | string): Promise<number>;
static buildTransactionsFromSerialized: (serializedTransactions: Array<string | undefined>) => Transaction[];
static deserealizeVersionedTransactions: (connection: Connection, serializedTransactions: Array<string | undefined>) => Promise<DeserializedVersionedTransaction>;
static getLookupTableAccount: (connection: Connection, address: string | PublicKey) => Promise<import("@solana/web3.js").AddressLookupTableAccount | null>;
}