@bayswap/sdk
Version:
SDK for BaySwap smart contract
55 lines (54 loc) • 1.69 kB
TypeScript
import { TransactionBlock } from '@mysten/sui.js';
import { TurbofishTypes } from '../types';
import { TxBuilderConfig } from '../sdk';
export interface AddLiquidityTypeArgs {
coinX: string;
coinY: string;
curve: string;
}
export interface AddLiquidParams {
coinX: string[];
amtX: string;
minX: string;
coinY: string[];
amtY: string;
minY: string;
minLP: string;
}
export interface RegisterPoolAndAddLiquidityParams {
coinX: string[];
amtX: string;
minX: string;
coinY: string[];
amtY: string;
minY: string;
minLP: string;
}
export interface RemoveLiquidityTypes {
coinX: string;
coinY: string;
curve: string;
}
export interface RemoveLiquidityParams {
lpCoins: string[];
burntAmt: string;
minXOut: string;
minYOut: string;
}
export interface ZapInParams {
coinIds: string[];
coinType: string;
zapAmount: bigint;
minLP: string;
}
export declare class LiquidityModule {
protected _packageID: string;
protected _globalStorage: string;
protected _txBuilderConfig: TxBuilderConfig;
constructor(packageId: string, globalStorage: string, txBuilderConfig: TxBuilderConfig);
buildAddLiquidityUnsignedTx(types: AddLiquidityTypeArgs, params: AddLiquidParams): TransactionBlock;
buildUnsignedTxRegisterPoolAndAddLiquidity(types: TurbofishTypes, params: RegisterPoolAndAddLiquidityParams): TransactionBlock;
buildUnsignedTxRegisterPool(types: TurbofishTypes): TransactionBlock;
buildUnsignedTxRemoveLiquidity(types: RemoveLiquidityTypes, params: RemoveLiquidityParams): TransactionBlock;
buildTxZapIn(t: TurbofishTypes, p: ZapInParams): TransactionBlock;
}