import { ErrorNotFound } from "../common/ErrorNotFound"; import { TappSDK } from "../core"; import { GetPools, GetPoolsParams, PoolInfo } from "../types/pool.type"; import { Nullable, PaginatedResult, RequestResult, } from "../types/requestModule.type"; export default class PoolModule { protected _sdk: TappSDK; constructor(sdk: TappSDK) { this._sdk = sdk; } async getPools(params?: GetPoolsParams) { const res = await this._sdk.request.post< RequestResult> >("public/pool", { page: params?.page ?? 1, size: params?.size ?? 10, sortBy: params?.sortBy ?? "tvl", poolType: params?.type, }); return res.result; } async getInfo(poolId: string) { const res = await this._sdk.request.post>>( "public/pool_info", { poolId, } ); if (!res.result) { throw new ErrorNotFound(`Pool not found. ${poolId}`); } return res.result; } }