goosefx-ssl-sdk-prism
Version:
SDK for interacting with GooseFX Single-sided Liquidity pools
25 lines (24 loc) • 1.47 kB
TypeScript
/// <reference types="node" />
import { Program } from "@project-serum/anchor";
import { AccountInfo, Connection, PublicKey, TransactionInstruction } from "@solana/web3.js";
import { SSLLayout as SSLLayout } from "../layouts";
export declare class SSL {
inner: SSLLayout;
address: PublicKey;
static loadByMint(connection: Connection, controller: PublicKey, mint: PublicKey, programId?: PublicKey): Promise<SSL | undefined>;
static loadByAddress(connection: Connection, address: PublicKey, programId?: PublicKey): Promise<SSL | undefined>;
static liabilityVault(connection: Connection, controller: PublicKey, mint: PublicKey, otherMint?: PublicKey, programId?: PublicKey): Promise<AccountInfo<Buffer> | null>;
static findAddress(controller: PublicKey, mint: PublicKey, programId?: PublicKey): PublicKey;
constructor(ai: AccountInfo<Buffer>, programId?: PublicKey);
isSuspended(): boolean;
deposit(program: Program, controller: PublicKey, wallet: PublicKey, amount: bigint, programId?: PublicKey): Promise<TransactionInstruction>;
static getLiquidityAccountAddress(controller: PublicKey, mint: PublicKey, wallet: PublicKey, programId: PublicKey): PublicKey;
get controller(): PublicKey;
get mint(): PublicKey;
get decimals(): number;
poolTokenMint(programId?: PublicKey): PublicKey;
get suspended(): boolean;
get weight(): bigint;
get swappedLiabilityNative(): bigint;
get totalShare(): bigint;
}