{"version":3,"sources":["../../src/api/type.ts"],"sourcesContent":["export type ConfigInfo = {\n  id: string;\n  index: number;\n  protocolFeeRate: number;\n  tradeFeeRate: number;\n  fundFeeRate: number;\n  createPoolFee: string;\n  protocolOwner: string;\n  fundOwner: string;\n};\n\nexport type FetchPoolParams = {\n  poolType?: PoolType;\n  sortOrder?: SortOrder;\n  sortBy?: SortBy;\n  pageSize?: number;\n  page?: number;\n  search?: string;\n};\n\ntype PoolType = \"all\" | \"hyper\" | \"primary\";\ntype SortOrder = \"asc\" | \"desc\";\ntype SortBy =\n  | \"liquidity\"\n  | \"volume30d\"\n  | \"volume24h\"\n  | \"volume7d\"\n  | \"fee30d\"\n  | \"fee24h\"\n  | \"fee7d\"\n  | \"apr30d\"\n  | \"apr24h\"\n  | \"apr7d\";\n\nexport type PoolKeys = {\n  programId: string;\n  id: string;\n  mintA: string;\n  mintB: string;\n  openTime: string;\n  mintAVault: string;\n  mintBVault: string;\n  authority: string;\n  config: ConfigInfo;\n  poolType: PoolType;\n  mintAProgram: string;\n  mintBProgram: string;\n};\n\nexport type PartnerInfo = {\n  address: string;\n  name: string;\n  authority: string;\n  token0TokenAccount: string;\n  token1TokenAccount: string;\n};\n\ntype BasePoolInfo<T extends GammaToken> = {\n  programId: string;\n  id: string;\n  mintA: T;\n  mintB: T;\n  openTime: string;\n  mintAVault: string;\n  mintBVault: string;\n  authority: string;\n  config: ConfigInfo;\n  poolType: PoolType;\n  price: string | null;\n  tvl: string | null;\n  poolCreator: string;\n  liquidityTokenA: string | null;\n  liquidityTokenB: string | null;\n  lpSupply: string | null;\n  stats: {\n    daily: PoolStats;\n    weekly: PoolStats;\n    monthly: PoolStats;\n  };\n  partners: PartnerInfo[];\n};\n\nexport type PoolInfo = BasePoolInfo<GammaToken>;\nexport type ApiPoolInfo = BasePoolInfo<GammaApiToken>;\n\nexport type PoolStats = {\n  range: \"24H\" | \"7D\" | \"30D\";\n  feesUsd: number;\n  volumeTokenAUsd: number;\n  volumeTokenBUsd: number;\n  feesAprUsd: number;\n  volumeAprUsd: number;\n  withdrawnKaminoProfitTokenAUsd: number;\n  withdrawnKaminoProfitTokenBUsd: number;\n  withdrawnKaminoProfitTokenAAprUsd: number;\n  withdrawnKaminoProfitTokenBAprUsd: number;\n};\n\nexport type PaginatedPoolInfos = {\n  currentPage: number;\n  pageSize: number;\n  totalPages: number;\n  totalItems: number;\n  count: number;\n  pools: ApiPoolInfo[];\n};\n\nexport enum PoolFetchTypeEnum {\n  All = \"all\",\n  Hyper = \"hyper\",\n  Primary = \"primary\",\n}\n\nexport type GammaToken = {\n  address: string;\n  name: string;\n  symbol: string;\n  decimals: number;\n  logoURI: string;\n  tags?: string[];\n  extensions?: ExtensionsItem | null;\n};\n\nexport type GammaApiToken = {\n  address: string;\n  name: string;\n  symbol: string;\n  decimals: number;\n  logoURI: string;\n  dailyVolume: number | null;\n  freezeAuthority: string | null;\n  mintAuthority: string | null;\n  extensions: ExtensionsItem | null;\n  cumulativeTradeFees: string | null;\n  withdrawnKaminoProfit: string | null;\n  protocolFees: string | null;\n  fundFees: string | null;\n};\n\nexport type JupiterListToken = {\n  address: string;\n  name: string;\n  symbol: string;\n  decimals: number;\n  logoURI: string;\n  tags: string[]; // \"hasFreeze\" | \"hasTransferFee\" | \"token-2022\" | \"community\" | \"unknown\" ..etc\n  extensions: ExtensionsItem;\n};\n\ntype ExtensionsItem = {\n  coingeckoId?: string;\n  feeConfig?: TransferFeeDataBaseType;\n};\n\nexport interface TransferFeeDataBaseType {\n  transferFeeConfigAuthority: string;\n  withdrawWithheldAuthority: string;\n  withheldAmount: string;\n  olderTransferFee: {\n    epoch: string;\n    maximumFee: string;\n    transferFeeBasisPoints: number;\n  };\n  newerTransferFee: {\n    epoch: string;\n    maximumFee: string;\n    transferFeeBasisPoints: number;\n  };\n}\n"],"mappings":"AA2GO,IAAKA,OACVA,EAAA,IAAM,MACNA,EAAA,MAAQ,QACRA,EAAA,QAAU,UAHAA,OAAA","names":["PoolFetchTypeEnum"]}