@nemoprotocol/points-sdk
Version:
## Table of Contents
113 lines • 3.08 kB
TypeScript
import { SuiClient } from '@mysten/sui/client';
import { CoinConfig, CoinData, MarketState } from './api/types';
import { LpPosition } from './types/position';
/**
* AddLiquidityAction execution parameters
*/
export interface AddLiquidityActionParams {
decimal: number;
addType: string;
slippage: string;
lpValue: string;
coinType: string;
conversionRate: string;
addValue: string;
tokenType: number;
action: string;
coinConfig: CoinConfig;
marketStateData: any;
coinData: CoinData[];
pyPositionData: any;
lpPositions: LpPosition[];
vaultId?: string;
insufficientBalance?: boolean;
}
/**
* RemoveLiquidityAction execution parameters
*/
export interface RemoveLiquidityActionParams {
lpAmount: string;
slippage: string;
vaultId?: string;
minSyOut?: string;
ytBalance: string;
ptCoins?: CoinData[];
coinConfig: CoinConfig;
action: "swap" | "redeem";
lpPositions: LpPosition[];
pyPositions: any[];
minValue?: string | number;
isSwapPt?: boolean;
receivingType?: "underlying" | "sy";
marketState: MarketState;
}
/**
* AddLiquidityAction configuration
*/
export interface AddLiquidityActionConfig {
suiClient: SuiClient;
privateKeyHex: string;
}
/**
* AddLiquidityAction execution result
*/
export interface AddLiquidityActionResult {
success: boolean;
transactionHash?: string;
error?: string;
data?: any;
}
/**
* AddLiquidity Action class
* Encapsulates liquidity addition functionality, providing a clean interface
*/
export declare class AddLiquidityAction {
private suiClient;
private keypair;
private defaultAddress;
/**
* Constructor
* @param config configuration parameters
*/
constructor(config: AddLiquidityActionConfig);
/**
* Add liquidity
* @param params execution parameters
* @returns execution result
*/
addLiquidity(params: AddLiquidityActionParams): Promise<AddLiquidityActionResult>;
/**
* Remove liquidity
* @param params execution parameters
* @returns execution result
*/
removeLiquidity(params: RemoveLiquidityActionParams): Promise<AddLiquidityActionResult>;
/**
* Execute add liquidity operation (for backward compatibility)
* @param params execution parameters
* @returns execution result
*/
execute(params: AddLiquidityActionParams): Promise<AddLiquidityActionResult>;
/**
* Parameter validation
* @param params execution parameters
*/
private validateParams;
/**
* Get current address
* @returns currently used address
*/
getAddress(): string;
/**
* Get Sui Client
* @returns SuiClient instance
*/
getSuiClient(): SuiClient;
}
/**
* Factory function to create AddLiquidityAction instance
* @param config configuration parameters
* @returns AddLiquidityAction instance
*/
export declare function createAddLiquidityAction(config: AddLiquidityActionConfig): AddLiquidityAction;
//# sourceMappingURL=Action.d.ts.map