@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 +1 -1
- package/dist/types/database/mints.d.ts +0 -18
- package/dist/types/database/mints.d.ts.map +0 -1
- package/dist/types/services/computeService.d.ts +0 -103
- package/dist/types/services/computeService.d.ts.map +0 -1
- package/dist/types/services/poolEventsHandler.d.ts +0 -26
- package/dist/types/services/poolEventsHandler.d.ts.map +0 -1
- package/dist/types/services/poolEventsSubscriptionService.d.ts +0 -16
- package/dist/types/services/poolEventsSubscriptionService.d.ts.map +0 -1
- package/dist/types/services/poolService.d.ts +0 -153
- package/dist/types/services/poolService.d.ts.map +0 -1
- package/dist/types/services/poolStateWebsocketService.d.ts +0 -13
- package/dist/types/services/poolStateWebsocketService.d.ts.map +0 -1
- package/dist/types/services/poolStatsService.d.ts +0 -66
- package/dist/types/services/poolStatsService.d.ts.map +0 -1
- package/dist/types/services/priceService.d.ts +0 -39
- package/dist/types/services/priceService.d.ts.map +0 -1
package/package.json
CHANGED
|
@@ -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"}
|