goosefx-amm-sdk
Version:
SDK for the GooseFx AMM
1 lines • 3.94 kB
Source Map (JSON)
{"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"]}