@alephium/powfi-backend 0.0.1-rc.2 → 0.0.1-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alephium/powfi-backend",
3
- "version": "0.0.1-rc.2",
3
+ "version": "0.0.1-rc.3",
4
4
  "engines": {
5
5
  "bun": ">=1.3.0 < 1.4.0"
6
6
  },
@@ -1,18 +0,0 @@
1
- import { type SqlClient } from '../config/database';
2
- import type { ClmmPoolTypes } from '@eyettea/typescript-sdk';
3
- import type { ClmmPositionRow } from './types';
4
- export declare function insertMints(params: {
5
- id: string;
6
- poolId: string;
7
- configIndex: number;
8
- createdAt?: Date;
9
- mint: ClmmPoolTypes.MintEvent;
10
- }, client?: SqlClient): Promise<void>;
11
- export declare function insertBurns(params: {
12
- id: string;
13
- poolId: string;
14
- createdAt?: Date;
15
- burn: ClmmPoolTypes.BurnEvent;
16
- }, client?: SqlClient): Promise<void>;
17
- export declare function getClmmPositions(candidates: string[], client?: SqlClient): Promise<ClmmPositionRow[]>;
18
- //# sourceMappingURL=mints.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mints.d.ts","sourceRoot":"","sources":["../../../src/database/mints.ts"],"names":[],"mappings":"AAAA,OAAY,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,wBAAsB,WAAW,CAC/B,MAAM,EAAE;IACN,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC;CAC/B,EACD,MAAM,GAAE,SAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE;IACN,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC;CAC/B,EACD,MAAM,GAAE,SAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,GAAE,SAAe,GACtB,OAAO,CAAC,eAAe,EAAE,CAAC,CAwB5B"}
@@ -1,103 +0,0 @@
1
- import type { Zeta, SwapDetails } from '@h0ngcha0/typescript-sdk';
2
- import type { PriceService } from './priceService';
3
- import type { TokenInfo } from '@alephium/token-list';
4
- import { PoolType } from './poolService';
5
- export interface TokenAmountWithPrice {
6
- mint: string;
7
- symbol: string;
8
- amount: string;
9
- decimals: number;
10
- priceUSD?: string;
11
- usdValue?: string;
12
- }
13
- export interface SwapBaseInParams {
14
- inputMint: string;
15
- outputMint: string;
16
- amount: string;
17
- slippageBps?: string;
18
- poolType?: PoolType;
19
- }
20
- export interface SwapBaseOutParams {
21
- inputMint: string;
22
- outputMint: string;
23
- amount: string;
24
- slippageBps?: string;
25
- poolType?: PoolType;
26
- }
27
- export interface SwapComputeResult {
28
- swapType: 'BaseIn' | 'BaseOut';
29
- inputMint: string;
30
- inputAmount: string;
31
- outputMint: string;
32
- outputAmount: string;
33
- otherAmountThreshold: string;
34
- slippageBps: number;
35
- priceImpactPct: number;
36
- routePlan: any[];
37
- inputToken: TokenAmountWithPrice;
38
- outputToken: TokenAmountWithPrice;
39
- priceInfo?: {
40
- inputPriceUSD: string;
41
- outputPriceUSD: string;
42
- inputUSDValue: string;
43
- outputUSDValue: string;
44
- };
45
- }
46
- export declare class ComputeServiceError extends Error {
47
- code?: string | undefined;
48
- constructor(message: string, code?: string | undefined);
49
- }
50
- export declare class ComputeService {
51
- private zeta;
52
- private priceService;
53
- constructor(zeta: Zeta, priceService: PriceService);
54
- computeSwapBaseIn(params: SwapBaseInParams): Promise<SwapComputeResult>;
55
- computeSwapBaseOut(params: SwapBaseOutParams): Promise<SwapComputeResult>;
56
- parseSlippageBps(slippageBps?: string): number;
57
- getTokenInfo(id: string): Promise<TokenInfo>;
58
- getPoolState(inputTokenId: string, outputTokenId: string): Promise<import("@h0ngcha0/typescript-sdk").CpmmPoolContractState>;
59
- convertSwapDetailsToResponse(swapDetails: SwapDetails, slippage: number): Promise<SwapComputeResult>;
60
- computeClmmSwapBaseIn(params: {
61
- inputMint: string;
62
- outputMint: string;
63
- amount: bigint;
64
- slippage: number;
65
- }): Promise<SwapComputeResult>;
66
- computeClmmSwapBaseOut(params: {
67
- inputMint: string;
68
- outputMint: string;
69
- amount: bigint;
70
- slippage: number;
71
- }): Promise<SwapComputeResult>;
72
- applySlippage(value: bigint, slippageBps: number, direction: 'min' | 'max'): bigint;
73
- getClmmSwapContext(inputMint: string, outputMint: string): Promise<{
74
- inputToken: TokenInfo;
75
- outputToken: TokenInfo;
76
- token0Info: TokenInfo;
77
- token1Info: TokenInfo;
78
- zeroForOne: boolean;
79
- configIndex: bigint;
80
- }>;
81
- calculateClmmPriceImpact(distribution: {
82
- baseSqrtPriceX96: bigint;
83
- sqrtPriceX96: bigint;
84
- }, context: {
85
- token0Info: TokenInfo;
86
- token1Info: TokenInfo;
87
- inputToken: TokenInfo;
88
- outputToken: TokenInfo;
89
- zeroForOne: boolean;
90
- }, tokenInAmount: bigint, tokenOutAmount: bigint): number;
91
- buildSwapComputeResult(params: {
92
- swapType: 'BaseIn' | 'BaseOut';
93
- tokenInInfo: TokenInfo;
94
- tokenOutInfo: TokenInfo;
95
- tokenInAmount: bigint;
96
- tokenOutAmount: bigint;
97
- otherAmountThreshold: bigint;
98
- slippage: number;
99
- priceImpactPct: number;
100
- routePlan: any[];
101
- }): Promise<SwapComputeResult>;
102
- }
103
- //# sourceMappingURL=computeService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"computeService.d.ts","sourceRoot":"","sources":["../../../src/services/computeService.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import type { PoolService, PoolRecord } from './poolService';
2
- import type { CpmmTokenPairTypes, ClmmPoolTypes } from '@h0ngcha0/typescript-sdk';
3
- import type { PriceTickInsert, LiquidityTickInsert } from '../database/types';
4
- declare abstract class BasePoolEventsHandler {
5
- protected storePriceData(priceData: PriceTickInsert): Promise<void>;
6
- protected storeLiquidityData(liquidityData: LiquidityTickInsert): Promise<void>;
7
- }
8
- export declare class StandardPoolEventsHandler extends BasePoolEventsHandler {
9
- private poolService;
10
- constructor(poolService: PoolService);
11
- capturePriceFromSwap(tokenPairId: string, txId: string, swapData: CpmmTokenPairTypes.SwapEvent): Promise<void>;
12
- captureLiquidityFromMint(tokenPairId: string, txId: string, mintEvent: CpmmTokenPairTypes.MintEvent): Promise<void>;
13
- captureLiquidityFromBurn(tokenPairId: string, txId: string, burnEvent: CpmmTokenPairTypes.BurnEvent): Promise<void>;
14
- calculatePriceFromSwap(swapData: CpmmTokenPairTypes.SwapEvent, poolRecord: PoolRecord, token0Decimals: number, token1Decimals: number): Promise<string>;
15
- captureLiquidityFromEvent(tokenPairId: string, txId: string, event: CpmmTokenPairTypes.MintEvent | CpmmTokenPairTypes.BurnEvent): Promise<void>;
16
- }
17
- export declare class ClmmPoolEventsHandler extends BasePoolEventsHandler {
18
- private poolService;
19
- constructor(poolService: PoolService);
20
- capturePriceFromSwap(tokenPairId: string, txId: string, swapData: ClmmPoolTypes.SwapEvent): Promise<void>;
21
- captureLiquidityFromMint(tokenPairId: string, txId: string, mintEvent: ClmmPoolTypes.MintEvent): Promise<void>;
22
- captureLiquidityFromBurn(tokenPairId: string, txId: string, burnEvent: ClmmPoolTypes.BurnEvent): Promise<void>;
23
- captureLiquidityFromEvent(poolId: string, txId: string, event: ClmmPoolTypes.MintEvent | ClmmPoolTypes.BurnEvent): Promise<void>;
24
- }
25
- export {};
26
- //# sourceMappingURL=poolEventsHandler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"poolEventsHandler.d.ts","sourceRoot":"","sources":["../../../src/services/poolEventsHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKlF,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAM5E,uBAAe,qBAAqB;cAClB,cAAc,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;cAQzD,kBAAkB,CAAC,aAAa,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAOtF;AAED,qBAAa,yBAA0B,SAAQ,qBAAqB;IACtD,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAKtC,oBAAoB,CACxB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kBAAkB,CAAC,SAAS,GACrC,OAAO,CAAC,IAAI,CAAC;IA6DV,wBAAwB,CAC5B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,kBAAkB,CAAC,SAAS,GACtC,OAAO,CAAC,IAAI,CAAC;IAIV,wBAAwB,CAC5B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,kBAAkB,CAAC,SAAS,GACtC,OAAO,CAAC,IAAI,CAAC;IAIV,sBAAsB,CAC1B,QAAQ,EAAE,kBAAkB,CAAC,SAAS,EACtC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC;IAmDZ,yBAAyB,CAC7B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,kBAAkB,CAAC,SAAS,GAAG,kBAAkB,CAAC,SAAS,GACjE,OAAO,CAAC,IAAI,CAAC;CA4DjB;AAGD,qBAAa,qBAAsB,SAAQ,qBAAqB;IAClD,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAItC,oBAAoB,CACxB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,CAAC,SAAS,GAChC,OAAO,CAAC,IAAI,CAAC;IA2DV,wBAAwB,CAC5B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,aAAa,CAAC,SAAS,GACjC,OAAO,CAAC,IAAI,CAAC;IAIV,wBAAwB,CAC5B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,aAAa,CAAC,SAAS,GACjC,OAAO,CAAC,IAAI,CAAC;IAIV,yBAAyB,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,aAAa,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,GACvD,OAAO,CAAC,IAAI,CAAC;CA0EjB"}
@@ -1,16 +0,0 @@
1
- import type { Zeta } from '@h0ngcha0/typescript-sdk';
2
- import type { PoolService } from './poolService';
3
- import type { StandardPoolEventsHandler, ClmmPoolEventsHandler } from './poolEventsHandler';
4
- export declare class PoolEventsSubscriptionService {
5
- private zeta;
6
- private poolService;
7
- private standardPoolEventsHandler;
8
- private clmmPoolEventsHandler;
9
- private isSubscribed;
10
- private readonly standard;
11
- private readonly concentrated;
12
- constructor(zeta: Zeta, poolService: PoolService, standardPoolEventsHandler: StandardPoolEventsHandler, clmmPoolEventsHandler: ClmmPoolEventsHandler);
13
- startSubscription(): Promise<void>;
14
- stopSubscription(): void;
15
- }
16
- //# sourceMappingURL=poolEventsSubscriptionService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"poolEventsSubscriptionService.d.ts","sourceRoot":"","sources":["../../../src/services/poolEventsSubscriptionService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,IAAI,EAGL,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAkZ5F,qBAAa,6BAA6B;IAMtC,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,yBAAyB;IACjC,OAAO,CAAC,qBAAqB;IAR/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmC;gBAGtD,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,yBAAyB,EAAE,yBAAyB,EACpD,qBAAqB,EAAE,qBAAqB;IAUhD,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBxC,gBAAgB,IAAI,IAAI;CAWzB"}
@@ -1,153 +0,0 @@
1
- import type { Zeta, CpmmPoolContractState, ClmmPoolContractState } from '@h0ngcha0/typescript-sdk';
2
- import { type SqlClient } from '../config/database';
3
- import type { TokenInfo } from '@alephium/token-list';
4
- import type { PriceService } from './priceService';
5
- import type { PoolStatsService, PoolStats } from './poolStatsService';
6
- import type { ClmmPoolTypes, CpmmTokenPairTypes } from '@h0ngcha0/typescript-sdk';
7
- import type { PoolEvent, PoolRow, PoolEventCounterRow, PoolFactoryEventCounterRow } from '../database/types';
8
- import type { ApiClmmPosition, ApiCpmmPosition } from '../api/types';
9
- import Decimal from 'decimal.js';
10
- export interface ApiCpmmPoolContractState extends Omit<CpmmPoolContractState, 'reserve0' | 'reserve1' | 'totalSupply'> {
11
- reserve0: string;
12
- reserve1: string;
13
- totalSupply: string;
14
- }
15
- export interface ApiClmmPoolContractState extends Omit<ClmmPoolContractState, 'liquidity' | 'sqrtPriceX96' | 'tick' | 'configIndex' | 'tickSpacing' | 'tradingFee' | 'protocolFee'> {
16
- liquidity: string;
17
- sqrtPriceX96: string;
18
- tick: number;
19
- configIndex: number;
20
- tickSpacing: number;
21
- tradingFee: string;
22
- protocolFee: string;
23
- }
24
- export type ApiCpmmPoolWithStats = ApiCpmmPoolContractState & PoolStats & {
25
- type: typeof PoolType.Standard;
26
- };
27
- export type ApiClmmPoolWithStats = ApiClmmPoolContractState & PoolStats & {
28
- type: typeof PoolType.Concentrated;
29
- };
30
- export type ApiPoolWithStats = ApiCpmmPoolWithStats | ApiClmmPoolWithStats;
31
- export type CpmmPoolWithStats = CpmmPoolContractState & PoolStats & {
32
- type: typeof PoolType.Standard;
33
- };
34
- export type ClmmPoolWithStats = ClmmPoolContractState & PoolStats & {
35
- type: typeof PoolType.Concentrated;
36
- };
37
- export type PoolWithStats = CpmmPoolWithStats | ClmmPoolWithStats;
38
- export declare const PoolType: {
39
- readonly Standard: "standard";
40
- readonly Concentrated: "concentrated";
41
- readonly All: "all";
42
- };
43
- export type PoolType = (typeof PoolType)[keyof typeof PoolType];
44
- export declare const PoolSortType: {
45
- readonly Desc: "desc";
46
- readonly Asc: "asc";
47
- };
48
- export type PoolSortType = (typeof PoolSortType)[keyof typeof PoolSortType];
49
- export type PoolRecord = PoolRow;
50
- export type PoolEventCounterRecord = PoolEventCounterRow;
51
- export type PoolFactoryEventCounterRecord = PoolFactoryEventCounterRow;
52
- export interface ClmmTickRecord {
53
- pool_id: string;
54
- tick: bigint;
55
- liquidity_gross: bigint;
56
- liquidity_net: bigint;
57
- }
58
- export interface ClmmLiquidityRow {
59
- tick: string;
60
- sqrtPriceX96: string;
61
- price: string;
62
- liquidity: string;
63
- }
64
- export interface ApiGlobalStats {
65
- tvl: string;
66
- volume_1d: string;
67
- lastUpdated: number;
68
- }
69
- export declare class PoolService {
70
- private zeta;
71
- private priceService;
72
- private poolStatsService;
73
- private globalStatsCache;
74
- constructor(zeta: Zeta, priceService: PriceService, poolStatsService: PoolStatsService);
75
- private getCpmmFeeRate;
76
- private getClmmFeeRate;
77
- private poolRecordToCpmmPool;
78
- private poolRecordToCpmmPoolWithStats;
79
- private poolRecordToClmmPool;
80
- private poolRecordToClmmPoolWithStats;
81
- getPoolByTokenPairId(tokenPairId: string): Promise<CpmmPoolWithStats | undefined>;
82
- getPoolsByToken(token0Id: string, token1Id?: string, poolType?: PoolType, page?: number, pageSize?: number): Promise<{
83
- pools: PoolWithStats[];
84
- total: number;
85
- page: number;
86
- pageSize: number;
87
- totalPages: number;
88
- }>;
89
- getPoolByTokenPair(token0Id: string, token1Id: string): Promise<CpmmPoolWithStats | undefined>;
90
- getPoolsByIds(poolIds: string[]): Promise<PoolWithStats[]>;
91
- getAllPools(page?: number, pageSize?: number, poolType?: PoolType, sortType?: PoolSortType): Promise<{
92
- pools: PoolWithStats[];
93
- total: number;
94
- page: number;
95
- pageSize: number;
96
- totalPages: number;
97
- }>;
98
- recordPoolEvent(poolId: string, eventType: string, txId: string, blockHash: string, eventData: unknown, client?: SqlClient): Promise<void>;
99
- recordCpmmMintEvent(poolId: string, mintEvent: CpmmTokenPairTypes.MintEvent, client?: SqlClient): Promise<void>;
100
- recordCpmmBurnEvent(poolId: string, burnEvent: CpmmTokenPairTypes.BurnEvent, client?: SqlClient): Promise<void>;
101
- recordClmmFeesEvent(poolId: string, event: ClmmPoolTypes.FeesEvent, client?: SqlClient): Promise<void>;
102
- recordClmmMintEvent(poolId: string, mintEvent: ClmmPoolTypes.MintEvent, client?: SqlClient): Promise<void>;
103
- recordClmmBurnEvent(poolId: string, burnEvent: ClmmPoolTypes.BurnEvent, client?: SqlClient): Promise<void>;
104
- getClmmPositions(address: string, candidates: string[], client?: SqlClient): Promise<ApiClmmPosition[]>;
105
- getCpmmPositions(address: string, client?: SqlClient): Promise<ApiCpmmPosition[]>;
106
- recordPoolFactoryEvent(poolId: string, eventType: string, txId: string, blockHash: string, eventData: unknown, client?: SqlClient): Promise<void>;
107
- getPoolEvents(poolId: string, page?: number, pageSize?: number, client?: SqlClient): Promise<{
108
- events: PoolEvent[];
109
- total: number;
110
- page: number;
111
- pageSize: number;
112
- totalPages: number;
113
- }>;
114
- getPoolEventCounter(poolId: string, client?: SqlClient): Promise<PoolEventCounterRecord | undefined>;
115
- createPoolEventCounter(poolId: string, fromCount?: number, client?: SqlClient): Promise<void>;
116
- updatePoolEventCounter(poolId: string, fromCount: number, client?: SqlClient): Promise<void>;
117
- applyClmmTickDeltas(poolId: string, deltas: Array<{
118
- tick: bigint;
119
- liquidityGrossDelta: bigint;
120
- liquidityNetDelta: bigint;
121
- }>): Promise<void>;
122
- getClmmTicks(poolId: string): Promise<ClmmTickRecord[]>;
123
- getPoolFactoryEventCounter(poolFactoryId: string, client?: SqlClient): Promise<PoolFactoryEventCounterRecord | undefined>;
124
- createPoolFactoryEventCounter(poolFactoryId: string, fromCount?: number, client?: SqlClient): Promise<void>;
125
- updatePoolFactoryEventCounter(poolFactoryId: string, fromCount: number, client?: SqlClient): Promise<void>;
126
- getPoolById(id: string): Promise<PoolRecord | undefined>;
127
- getPoolWithStatsById(id: string): Promise<PoolWithStats | undefined>;
128
- getTokenInfos(pool: PoolRecord): Promise<{
129
- token0: TokenInfo;
130
- token1: TokenInfo;
131
- }>;
132
- buildClmmLiquidityRows(token0: TokenInfo, token1: TokenInfo, tickRows: ClmmTickRecord[]): ClmmLiquidityRow[];
133
- upsertPool(params: {
134
- id: string;
135
- token0: string;
136
- token1: string;
137
- configIndex?: number;
138
- poolType: 'standard' | 'concentrated';
139
- }, client?: SqlClient): Promise<void>;
140
- private calculateCpmmPoolTVL;
141
- private calculateClmmPoolTVL;
142
- computePoolReserves(poolRecord: PoolRecord): Promise<{
143
- amount0: string;
144
- amount1: string;
145
- totalLiquidity: string;
146
- }>;
147
- private fetchClmmTokenReserves;
148
- computePoolTVL(poolRecord: PoolRecord): Promise<Decimal>;
149
- computePoolTVLById(poolId: string): Promise<string>;
150
- getGlobalStats(): Promise<ApiGlobalStats>;
151
- calculateAndUpdateGlobalStats(): Promise<ApiGlobalStats>;
152
- }
153
- //# sourceMappingURL=poolService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"poolService.d.ts","sourceRoot":"","sources":["../../../src/services/poolService.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- export declare class PoolStateWebSocketService {
2
- private static clients;
3
- private static poolSubscriptions;
4
- static addClient(clientId: string, send: (message: string) => void): void;
5
- static removeClient(clientId: string): void;
6
- static subscribeToClmmPool(clientId: string, poolId: string): Promise<void>;
7
- static unsubscribeFromClmmPool(clientId: string, poolId: string): void;
8
- static publishPoolState(poolId: string): Promise<void>;
9
- private static removeSubscription;
10
- private static buildPoolStateUpdate;
11
- private static sendMessage;
12
- }
13
- //# sourceMappingURL=poolStateWebsocketService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"poolStateWebsocketService.d.ts","sourceRoot":"","sources":["../../../src/services/poolStateWebsocketService.ts"],"names":[],"mappings":"AAiBA,qBAAa,yBAAyB;IACpC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAsC;IAC5D,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAkC;IAElE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAQzE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;WAY9B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBjF,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;WAQzD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB5D,OAAO,CAAC,MAAM,CAAC,kBAAkB;mBAUZ,oBAAoB;IA0BzC,OAAO,CAAC,MAAM,CAAC,WAAW;CAe3B"}
@@ -1,66 +0,0 @@
1
- import Decimal from 'decimal.js';
2
- export interface PoolStats {
3
- feeRate: number;
4
- openTime: string;
5
- tvl: number;
6
- day: PeriodicalPoolStats;
7
- week: PeriodicalPoolStats;
8
- month: PeriodicalPoolStats;
9
- }
10
- export interface PeriodicalPoolStats {
11
- volume: string;
12
- volumeQuote: string;
13
- volumeFee: string;
14
- apr: string;
15
- feeApr: string;
16
- priceMin: string;
17
- priceMax: string;
18
- rewardApr: string[];
19
- tvl: string;
20
- feeRate: string;
21
- }
22
- export interface OHLCVItem {
23
- o: number;
24
- h: number;
25
- l: number;
26
- c: number;
27
- vBase: number;
28
- vQuote: number;
29
- unixTime: number;
30
- }
31
- export interface OHLVCResult {
32
- type: string;
33
- items: OHLCVItem[];
34
- }
35
- export interface OHLCVResponse {
36
- success: boolean;
37
- data: OHLVCResult;
38
- }
39
- export interface LiquidityLinePoint {
40
- time: number;
41
- amount0: number;
42
- amount1: number;
43
- }
44
- export interface LiquidityLineData {
45
- count: number;
46
- line: LiquidityLinePoint[];
47
- }
48
- export declare class PoolStatsService {
49
- constructor();
50
- calculateAllPeriodsPoolStats(poolId: string, currentTVL?: Decimal): Promise<{
51
- day: PeriodicalPoolStats;
52
- week: PeriodicalPoolStats;
53
- month: PeriodicalPoolStats;
54
- }>;
55
- calculatePoolStats(poolId: string, periodType: 'day' | 'week' | 'month', currentTVL?: Decimal): Promise<PeriodicalPoolStats>;
56
- private getDefaultStats;
57
- private getTimeRange;
58
- private calculateFeeAPR;
59
- private parseDecimalField;
60
- private mapRowsToItems;
61
- getOHLCV(poolId: string, intervalType: string, timeFrom: number, timeTo: number): Promise<OHLVCResult>;
62
- getOHLCVForTokenPair(token0Id: string, token1Id: string, intervalType: string, timeFrom: number, timeTo: number): Promise<OHLVCResult>;
63
- getLiquidityLineWithRange(poolId: string, startTime: number, endTime: number): Promise<LiquidityLineData>;
64
- getLiquidityLineByDays(tokenPairId: string, days: number): Promise<LiquidityLineData>;
65
- }
66
- //# sourceMappingURL=poolStatsService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"poolStatsService.d.ts","sourceRoot":"","sources":["../../../src/services/poolStatsService.ts"],"names":[],"mappings":"AAGA,OAAO,OAAO,MAAM,YAAY,CAAC;AAMjC,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,mBAAmB,CAAC;IACzB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,kBAAkB,EAAE,CAAC;CAC5B;AAaD,qBAAa,gBAAgB;;IAGrB,4BAA4B,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,OAAwB,GACnC,OAAO,CAAC;QAAE,GAAG,EAAE,mBAAmB,CAAC;QAAC,IAAI,EAAE,mBAAmB,CAAC;QAAC,KAAK,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAQzF,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,EACpC,UAAU,GAAE,OAAwB,GACnC,OAAO,CAAC,mBAAmB,CAAC;IA0C/B,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;IAYhB,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;IAgBjB,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;IAsBjB,yBAAyB,CAC7B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,CAAC;IAkDvB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAK5F"}
@@ -1,39 +0,0 @@
1
- import type Decimal from 'decimal.js';
2
- import { type Zeta } from '@h0ngcha0/typescript-sdk';
3
- export interface TokenPrice {
4
- id: string;
5
- symbol: string;
6
- price: Decimal;
7
- priceUSD: Decimal;
8
- }
9
- export interface ApiTokenPrice extends Omit<TokenPrice, 'price' | 'priceUSD'> {
10
- price: number;
11
- priceUSD: number;
12
- }
13
- export declare class PriceService {
14
- private readonly zeta;
15
- private priceCache;
16
- constructor(zeta: Zeta);
17
- private fetchTokenPrices;
18
- getTokenPrice(symbol: string): Promise<Decimal | undefined>;
19
- getTokenPricesFromSymbols(symbols: string[]): Promise<TokenPrice[]>;
20
- getTokenPricesFromIds(tokenIds: string[]): Promise<TokenPrice[]>;
21
- /**
22
- * Calculate USD value for a token amount
23
- */
24
- calculateUSDValue(symbol: string, amount: string, decimals: number): Promise<Decimal | undefined>;
25
- /**
26
- * Calculate USD values for multiple token amounts
27
- */
28
- calculateUSDValues(tokens: Array<{
29
- symbol: string;
30
- amount: string;
31
- decimals: number;
32
- }>): Promise<Array<{
33
- symbol: string;
34
- amount: string;
35
- usdValue: Decimal | undefined;
36
- }>>;
37
- private resolveTokenInfosBySymbols;
38
- }
39
- //# sourceMappingURL=priceService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"priceService.d.ts","sourceRoot":"","sources":["../../../src/services/priceService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,EAAgB,KAAK,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAKnE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAAC;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,YAAY;IAGX,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,UAAU,CAAqD;gBAE1C,IAAI,EAAE,IAAI;YAEzB,gBAAgB;IA6CjB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAe3D,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA2BnE,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA+B7E;;OAEG;IACU,iBAAiB,CAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAQ/B;;OAEG;IACU,kBAAkB,CAC7B,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,GAClE,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;YA2BtE,0BAA0B;CAazC"}