@marinade.finance/kamino-sdk
Version:
49 lines (48 loc) • 1.61 kB
TypeScript
/// <reference types="node" />
import { PublicKey, Connection } from '@solana/web3.js';
import BN from 'bn.js';
import * as types from '../types';
export interface PositionFields {
whirlpool: PublicKey;
positionMint: PublicKey;
liquidity: BN;
tickLowerIndex: number;
tickUpperIndex: number;
feeGrowthCheckpointA: BN;
feeOwedA: BN;
feeGrowthCheckpointB: BN;
feeOwedB: BN;
rewardInfos: Array<types.PositionRewardInfoFields>;
}
export interface PositionJSON {
whirlpool: string;
positionMint: string;
liquidity: string;
tickLowerIndex: number;
tickUpperIndex: number;
feeGrowthCheckpointA: string;
feeOwedA: string;
feeGrowthCheckpointB: string;
feeOwedB: string;
rewardInfos: Array<types.PositionRewardInfoJSON>;
}
export declare class Position {
readonly whirlpool: PublicKey;
readonly positionMint: PublicKey;
readonly liquidity: BN;
readonly tickLowerIndex: number;
readonly tickUpperIndex: number;
readonly feeGrowthCheckpointA: BN;
readonly feeOwedA: BN;
readonly feeGrowthCheckpointB: BN;
readonly feeOwedB: BN;
readonly rewardInfos: Array<types.PositionRewardInfo>;
static readonly discriminator: Buffer;
static readonly layout: any;
constructor(fields: PositionFields);
static fetch(c: Connection, address: PublicKey): Promise<Position | null>;
static fetchMultiple(c: Connection, addresses: PublicKey[]): Promise<Array<Position | null>>;
static decode(data: Buffer): Position;
toJSON(): PositionJSON;
static fromJSON(obj: PositionJSON): Position;
}