UNPKG

goosefx-ssl-sdk-prism

Version:

SDK for interacting with GooseFX Single-sided Liquidity pools

43 lines (42 loc) 1.68 kB
import { Connection, PublicKey } from "@solana/web3.js"; import * as wasm from "../wasm/gfx_ssl_wasm"; export declare function deserializeAccount(account: any): any; export interface Quote { amountIn: bigint; fee: bigint; amountOut: bigint; impact: number; swapPrice: number; instantPrice: number; oraclePrice: number; } export declare class Swap { connection: Connection; controller: PublicKey; programId: PublicKey; constructor(connection: Connection, controller?: PublicKey, programId?: PublicKey); getWasm(): Promise<typeof wasm>; getWasmSync(): typeof wasm; getPairAddress: (tokenA: PublicKey, tokenB: PublicKey) => PublicKey; getQuoterSync: (tokenIn: PublicKey, tokenOut: PublicKey) => Quoter; getQuoter: (tokenIn: PublicKey, tokenOut: PublicKey) => Promise<Quoter>; getQuote: (tokenIn: PublicKey, tokenOut: PublicKey, inTokenAmount: bigint) => Promise<Quote>; getMinimumQuote: (tokenA: PublicKey, tokenB: PublicKey, inTokenAmount: bigint, slippage: number) => Promise<bigint>; } declare class Quoter { connection: Connection; programId: PublicKey; controller: PublicKey; tokenIn: PublicKey; tokenOut: PublicKey; wasm: any; private prepared; constructor(connection: Connection, programId: PublicKey, controller: PublicKey, tokenIn: PublicKey, tokenOut: PublicKey, wasm: any); getAccountsForUpdate(pairData: any): any[]; prepareSync(parsedAccounts: any[]): void; prepare(): Promise<void>; isSuspended(): boolean; quote(inTokenAmount: bigint, silent?: boolean): Quote; getPairAddress: (tokenA: PublicKey, tokenB: PublicKey) => PublicKey; } export {};