goosefx-ssl-sdk
Version:
SDK for interacting with GooseFX Single-sided Liquidity pools
44 lines (43 loc) • 1.23 kB
TypeScript
import * as lo from "@solana/buffer-layout";
import { PublicKey } from "@solana/web3.js";
import { ISwapToken } from ".";
interface Oracle {
elements: Array<{
address: PublicKey;
inverse: boolean;
}>;
n: bigint;
padding: Uint8Array;
}
interface OracleComponent {
address: PublicKey;
inverse: boolean;
padding: Uint8Array;
}
export declare const ORACLE_ELEMENT_LAYOUT: lo.Structure<OracleComponent>;
export declare const ORACLE_LAYOUT: lo.Structure<Oracle>;
export interface Tokens {
[So11111111111111111111111111111111111111112: string]: ISwapToken;
EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v: ISwapToken;
}
export interface Pair {
sighash: Uint8Array;
controller: PublicKey;
mints: Array<PublicKey>;
oracles: Array<Oracle>;
nOracle: BigInt;
fee_collector: PublicKey;
A: number;
feeRates: Array<number>;
maxDelay: BigInt;
confidence: BigInt;
balancer: PublicKey;
excessiveConfiscateRate: number;
feeCollector: PublicKey;
platformFeeRate: Array<number>;
rebalanceRebates: Array<number>;
volumes: Array<BigInt>;
enableRebalanceSwap: boolean;
}
export declare const PAIR_LAYOUT: lo.Structure<Pair>;
export {};