@gala-chain/launchpad-sdk 3.31.0 → 4.0.0
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/API.md +524 -4
- package/CHANGELOG.md +92 -0
- package/EXAMPLES.md +845 -0
- package/README.md +421 -14
- package/dist/LaunchpadSDK.d.ts +435 -18
- package/dist/LaunchpadSDK.d.ts.map +1 -1
- package/dist/api/LaunchpadAPI.d.ts.map +1 -1
- package/dist/api/dto/TransferTokenDto.d.ts.map +1 -1
- package/dist/constants/version.generated.d.ts +1 -1
- package/dist/constants/version.generated.d.ts.map +1 -1
- package/dist/helpers/sdk.d.ts +1 -0
- package/dist/helpers/sdk.d.ts.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +10 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/services/BaseService.d.ts +32 -3
- package/dist/services/BaseService.d.ts.map +1 -1
- package/dist/services/BundleService.d.ts.map +1 -1
- package/dist/services/CommentService.d.ts.map +1 -1
- package/dist/services/DexBackendClient.d.ts +46 -0
- package/dist/services/DexBackendClient.d.ts.map +1 -0
- package/dist/services/DexPoolService.d.ts +54 -12
- package/dist/services/DexPoolService.d.ts.map +1 -1
- package/dist/services/DexQuoteService.d.ts +288 -0
- package/dist/services/DexQuoteService.d.ts.map +1 -0
- package/dist/services/DexService.d.ts.map +1 -1
- package/dist/services/FaucetService.d.ts.map +1 -1
- package/dist/services/GSwapService.d.ts +519 -44
- package/dist/services/GSwapService.d.ts.map +1 -1
- package/dist/services/GalaChainGatewayClient.d.ts +89 -0
- package/dist/services/GalaChainGatewayClient.d.ts.map +1 -0
- package/dist/services/GalaChainService.d.ts +26 -0
- package/dist/services/GalaChainService.d.ts.map +1 -1
- package/dist/services/ImageService.d.ts.map +1 -1
- package/dist/services/PoolService.d.ts.map +1 -1
- package/dist/services/PoolStateManager.d.ts +176 -0
- package/dist/services/PoolStateManager.d.ts.map +1 -0
- package/dist/services/PriceHistoryService.d.ts +4 -5
- package/dist/services/PriceHistoryService.d.ts.map +1 -1
- package/dist/services/SignatureService.d.ts +15 -38
- package/dist/services/SignatureService.d.ts.map +1 -1
- package/dist/services/TokenClassKeyService.d.ts +3 -4
- package/dist/services/TokenClassKeyService.d.ts.map +1 -1
- package/dist/services/TokenMetadataCache.d.ts +2 -2
- package/dist/services/TokenMetadataCache.d.ts.map +1 -1
- package/dist/services/TokenMetadataService.d.ts +3 -3
- package/dist/services/TokenMetadataService.d.ts.map +1 -1
- package/dist/services/TokenResolverService.d.ts +2 -2
- package/dist/services/TokenResolverService.d.ts.map +1 -1
- package/dist/services/TradeService.d.ts.map +1 -1
- package/dist/services/UserService.d.ts.map +1 -1
- package/dist/services/WebSocketService.d.ts +100 -2
- package/dist/services/WebSocketService.d.ts.map +1 -1
- package/dist/services/__mocks__/logger.mock.d.ts +17 -0
- package/dist/services/__mocks__/logger.mock.d.ts.map +1 -0
- package/dist/types/common.d.ts +2 -0
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/composite-pool.dto.d.ts +103 -0
- package/dist/types/composite-pool.dto.d.ts.map +1 -0
- package/dist/types/dex-pool.dto.d.ts +56 -5
- package/dist/types/dex-pool.dto.d.ts.map +1 -1
- package/dist/types/dto.d.ts +6 -6
- package/dist/types/dto.d.ts.map +1 -1
- package/dist/types/eip712-types.d.ts +140 -0
- package/dist/types/eip712-types.d.ts.map +1 -0
- package/dist/types/galachain-api.types.d.ts +206 -0
- package/dist/types/galachain-api.types.d.ts.map +1 -0
- package/dist/types/gswap-responses.types.d.ts +366 -0
- package/dist/types/gswap-responses.types.d.ts.map +1 -0
- package/dist/types/gswap.dto.d.ts +58 -3
- package/dist/types/gswap.dto.d.ts.map +1 -1
- package/dist/types/launchpad.dto.d.ts +57 -0
- package/dist/types/launchpad.dto.d.ts.map +1 -1
- package/dist/types/pool-state-delta.dto.d.ts +246 -0
- package/dist/types/pool-state-delta.dto.d.ts.map +1 -0
- package/dist/types/pool-state-manager-config.dto.d.ts +103 -0
- package/dist/types/pool-state-manager-config.dto.d.ts.map +1 -0
- package/dist/utils/SignatureHelper.d.ts.map +1 -1
- package/dist/utils/auto-pagination.d.ts +206 -0
- package/dist/utils/auto-pagination.d.ts.map +1 -0
- package/dist/utils/bignumber-helpers.d.ts +336 -0
- package/dist/utils/bignumber-helpers.d.ts.map +1 -0
- package/dist/utils/bignumber-pool-cache.d.ts +169 -0
- package/dist/utils/bignumber-pool-cache.d.ts.map +1 -0
- package/dist/utils/composite-pool-converter.d.ts +121 -0
- package/dist/utils/composite-pool-converter.d.ts.map +1 -0
- package/dist/utils/errors.d.ts +86 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/http.d.ts.map +1 -1
- package/dist/utils/load-env.d.ts +31 -0
- package/dist/utils/load-env.d.ts.map +1 -0
- package/dist/utils/pool-pair-parser.d.ts +55 -0
- package/dist/utils/pool-pair-parser.d.ts.map +1 -0
- package/dist/utils/pool-state-validator.d.ts +207 -0
- package/dist/utils/pool-state-validator.d.ts.map +1 -0
- package/dist/utils/position-filters.d.ts +253 -0
- package/dist/utils/position-filters.d.ts.map +1 -0
- package/dist/utils/swap-delta-calculator.d.ts +231 -0
- package/dist/utils/swap-delta-calculator.d.ts.map +1 -0
- package/dist/utils/tick-crossing-handler.d.ts +250 -0
- package/dist/utils/tick-crossing-handler.d.ts.map +1 -0
- package/dist/utils/token-format-converter.d.ts +85 -6
- package/dist/utils/token-format-converter.d.ts.map +1 -1
- package/dist/utils/token-parser.d.ts +235 -0
- package/dist/utils/token-parser.d.ts.map +1 -0
- package/dist/utils/tokenNormalizer.d.ts +66 -0
- package/dist/utils/tokenNormalizer.d.ts.map +1 -1
- package/dist/utils/transfer-validation.d.ts.map +1 -1
- package/dist/utils/validation-helpers.d.ts +75 -0
- package/dist/utils/validation-helpers.d.ts.map +1 -1
- package/package.json +36 -15
- package/dist/utils/tokenFormatConverter.d.ts +0 -53
- package/dist/utils/tokenFormatConverter.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GSwapService.d.ts","sourceRoot":"","sources":["../../src/services/GSwapService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GSwapService.d.ts","sourceRoot":"","sources":["../../src/services/GSwapService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GalaChain Gateway Client
|
|
3
|
+
*
|
|
4
|
+
* Direct HTTP client for GalaChain Gateway DEX contract endpoints.
|
|
5
|
+
* Fully typed API interactions with zero `any` types.
|
|
6
|
+
*/
|
|
7
|
+
import { GalaChainGatewayResponse, GalaChainPoolData, GalaChainGetPoolDataRequest, GalaChainGetPositionsRequest, GalaChainGetPositionsResponse, GalaChainGetRemoveLiquidityEstimationRequest, GalaChainRemoveLiquidityEstimation } from '../types/galachain-api.types';
|
|
8
|
+
/**
|
|
9
|
+
* GalaChain Gateway Client configuration
|
|
10
|
+
*/
|
|
11
|
+
export interface GalaChainGatewayClientConfig {
|
|
12
|
+
baseUrl: string;
|
|
13
|
+
timeout?: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Direct HTTP client for GalaChain Gateway DEX contract endpoints
|
|
17
|
+
*/
|
|
18
|
+
export declare class GalaChainGatewayClient {
|
|
19
|
+
private client;
|
|
20
|
+
constructor(config: GalaChainGatewayClientConfig);
|
|
21
|
+
/**
|
|
22
|
+
* Get pool data from GalaChain Gateway
|
|
23
|
+
* Endpoint: POST /api/asset/dexv3-contract/GetPoolData
|
|
24
|
+
*
|
|
25
|
+
* @param request - Pool data request with token pair and fee tier
|
|
26
|
+
* @returns Fully typed pool data
|
|
27
|
+
* @throws ApiError if request fails
|
|
28
|
+
*/
|
|
29
|
+
getPoolData(request: GalaChainGetPoolDataRequest): Promise<GalaChainPoolData>;
|
|
30
|
+
/**
|
|
31
|
+
* Get position(s) from GalaChain Gateway
|
|
32
|
+
* Endpoint: POST /api/asset/dexv3-contract/GetPositions
|
|
33
|
+
*
|
|
34
|
+
* Supports multiple query filters:
|
|
35
|
+
* - Get all positions for owner
|
|
36
|
+
* - Get positions for specific token pair
|
|
37
|
+
* - Get specific position by ID
|
|
38
|
+
* - Pagination via bookmark
|
|
39
|
+
*
|
|
40
|
+
* @param request - Position query request with optional filters
|
|
41
|
+
* @returns List of positions matching criteria
|
|
42
|
+
* @throws ApiError if request fails
|
|
43
|
+
*/
|
|
44
|
+
getPositions(request: GalaChainGetPositionsRequest): Promise<GalaChainGetPositionsResponse>;
|
|
45
|
+
/**
|
|
46
|
+
* Get position by ID from GalaChain Gateway
|
|
47
|
+
* Convenience method that queries positions and returns first match
|
|
48
|
+
*
|
|
49
|
+
* @param positionId - Unique position identifier
|
|
50
|
+
* @returns Position data if found
|
|
51
|
+
* @throws ApiError if position not found or request fails
|
|
52
|
+
*/
|
|
53
|
+
getPositionById(positionId: string): Promise<GalaChainResponse<any>>;
|
|
54
|
+
/**
|
|
55
|
+
* Get liquidity removal estimation from GalaChain Gateway
|
|
56
|
+
* Endpoint: POST /api/asset/dexv3-contract/GetRemoveLiquidityEstimation
|
|
57
|
+
*
|
|
58
|
+
* Calculates amounts user will receive when removing liquidity
|
|
59
|
+
* Includes both principal amounts and accumulated fees
|
|
60
|
+
*
|
|
61
|
+
* @param request - Removal estimation request with position details
|
|
62
|
+
* @returns Estimated amounts to be received
|
|
63
|
+
* @throws ApiError if request fails
|
|
64
|
+
*/
|
|
65
|
+
getRemoveLiquidityEstimation(request: GalaChainGetRemoveLiquidityEstimationRequest): Promise<GalaChainRemoveLiquidityEstimation>;
|
|
66
|
+
/**
|
|
67
|
+
* Validate GalaChain Gateway response wrapper
|
|
68
|
+
* Checks for errors and required fields
|
|
69
|
+
*
|
|
70
|
+
* @param response - Response object to validate
|
|
71
|
+
* @throws ApiError if response indicates error or is malformed
|
|
72
|
+
*/
|
|
73
|
+
private validateResponse;
|
|
74
|
+
/**
|
|
75
|
+
* Handle errors from axios or gateway
|
|
76
|
+
* Converts various error types to ApiError
|
|
77
|
+
*
|
|
78
|
+
* @param error - Error from axios or validation
|
|
79
|
+
* @param context - Method name for better error messages
|
|
80
|
+
* @returns ApiError with context
|
|
81
|
+
*/
|
|
82
|
+
private handleError;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Type re-export for convenience
|
|
86
|
+
* Used when function returns wrapped response
|
|
87
|
+
*/
|
|
88
|
+
export type GalaChainResponse<T> = GalaChainGatewayResponse<T>;
|
|
89
|
+
//# sourceMappingURL=GalaChainGatewayClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GalaChainGatewayClient.d.ts","sourceRoot":"","sources":["../../src/services/GalaChainGatewayClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,4CAA4C,EAC5C,kCAAkC,EAInC,MAAM,8BAA8B,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,4BAA4B;IAOhD;;;;;;;OAOG;IACG,WAAW,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwBnF;;;;;;;;;;;;;OAaG;IACG,YAAY,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAoCjG;;;;;;;OAOG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IA4B1E;;;;;;;;;;OAUG;IACG,4BAA4B,CAChC,OAAO,EAAE,4CAA4C,GACpD,OAAO,CAAC,kCAAkC,CAAC;IA8B9C;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;CAkBpB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -52,6 +52,7 @@ import { BaseService } from './BaseService';
|
|
|
52
52
|
import { FetchPoolDetailsData, InternalFetchPoolDetailsResponse } from '../types/trade.dto';
|
|
53
53
|
import { TokenBalanceResult } from '../types/user.dto';
|
|
54
54
|
import { TransferGalaData, TransferTokenData } from '../types/transfer.dto';
|
|
55
|
+
import { TokenClassWithSupply } from '../types/launchpad.dto';
|
|
55
56
|
/**
|
|
56
57
|
* GalaChain Service for blockchain operations
|
|
57
58
|
*/
|
|
@@ -202,6 +203,31 @@ export declare class GalaChainService extends BaseService {
|
|
|
202
203
|
* ```
|
|
203
204
|
*/
|
|
204
205
|
fetchTokenClassFromChain(tokenId: string | TokenClassKey): Promise<TokenClass>;
|
|
206
|
+
/**
|
|
207
|
+
* Fetch supply information for one or more token classes from GalaChain
|
|
208
|
+
*
|
|
209
|
+
* Queries GalaChain for authoritative token supply data including:
|
|
210
|
+
* - Total supply and maximum supply
|
|
211
|
+
* - Total burned amount
|
|
212
|
+
* - Mint-related supply metrics
|
|
213
|
+
* - Token metadata (symbol, decimals, name)
|
|
214
|
+
*
|
|
215
|
+
* @param tokenClasses - Array of token class keys to query
|
|
216
|
+
* @returns Promise<TokenClassWithSupply[]> Array of token classes with supply information
|
|
217
|
+
* @throws {ValidationError} if tokenClasses array is empty
|
|
218
|
+
* @throws {Error} if network request fails or GalaChain returns error status
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
* ```typescript
|
|
222
|
+
* const supplies = await galaChainService.fetchTokenClassesWithSupply([
|
|
223
|
+
* { collection: 'GALA', category: 'Unit', type: 'none', additionalKey: 'none' },
|
|
224
|
+
* { collection: 'GUSDC', category: 'Unit', type: 'none', additionalKey: 'eth:0x...' }
|
|
225
|
+
* ]);
|
|
226
|
+
*
|
|
227
|
+
* console.log(`${supplies[0].symbol}: ${supplies[0].totalSupply}`);
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
fetchTokenClassesWithSupply(tokenClasses: TokenClassKey[]): Promise<TokenClassWithSupply[]>;
|
|
205
231
|
/**
|
|
206
232
|
* Transfer GALA tokens between wallets
|
|
207
233
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GalaChainService.d.ts","sourceRoot":"","sources":["../../src/services/GalaChainService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAGjC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EAQlB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"GalaChainService.d.ts","sourceRoot":"","sources":["../../src/services/GalaChainService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageService.d.ts","sourceRoot":"","sources":["../../src/services/ImageService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAIrE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,YAAa,SAAQ,WAAW;gBAC/B,IAAI,EAAE,UAAU,EAAE,SAAS,GAAE,OAAe;IAIxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACG,sBAAsB,CAC1B,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ImageService.d.ts","sourceRoot":"","sources":["../../src/services/ImageService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAIrE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,YAAa,SAAQ,WAAW;gBAC/B,IAAI,EAAE,UAAU,EAAE,SAAS,GAAE,OAAe;IAIxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACG,sBAAsB,CAC1B,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,MAAM,CAAC;CAiDnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PoolService.d.ts","sourceRoot":"","sources":["../../src/services/PoolService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAW3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAGL,WAAW,EAEX,gBAAgB,EAIhB,eAAe,EAEf,uBAAuB,EAEvB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,WAAY,SAAQ,WAAW;gBAC9B,IAAI,EAAE,UAAU,EAAE,SAAS,GAAE,OAAe;IAIxD;;;OAGG;YACW,eAAe;
|
|
1
|
+
{"version":3,"file":"PoolService.d.ts","sourceRoot":"","sources":["../../src/services/PoolService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAW3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAGL,WAAW,EAEX,gBAAgB,EAIhB,eAAe,EAEf,uBAAuB,EAEvB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,WAAY,SAAQ,WAAW;gBAC9B,IAAI,EAAE,UAAU,EAAE,SAAS,GAAE,OAAe;IAIxD;;;OAGG;YACW,eAAe;IAwD7B;;;;OAIG;YACW,kBAAkB;IAuFhC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,UAAU,CACd,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GACL,OAAO,CAAC,WAAW,CAAC;IA+IvB;;;;;;;;;;;;;;;;;;OAkBG;IACG,aAAa,CACjB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;KAC7B,GACA,OAAO,CAAC,WAAW,CAAC;IAIvB;;;;;OAKG;IACG,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAyC5D;;;;;OAKG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW/D;;;;;OAKG;IACG,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW9D;;;;;OAKG;IACG,eAAe,CACnB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,eAAe,CAAC;IAqD3B;;;;;;;;OAQG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,uBAAuB,CAAC;IA4FnC;;;;;;;;OAQG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4BrE;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBpE;;;;;;;;;;;;;;;;OAgBG;IACG,uBAAuB,CAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAuB1B"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pool State Manager
|
|
3
|
+
*
|
|
4
|
+
* Orchestrates efficient pool state tracking through incremental swap deltas
|
|
5
|
+
* instead of full refetches. Provides the main API for arbitrage bots and other
|
|
6
|
+
* applications needing real-time pool state with minimal network latency.
|
|
7
|
+
*
|
|
8
|
+
* Core features:
|
|
9
|
+
* - Cached pool state with incremental updates (10-15x faster than full refetches)
|
|
10
|
+
* - Automatic validation and drift detection
|
|
11
|
+
* - Graceful fallback to full refetch on errors
|
|
12
|
+
* - Performance monitoring and metrics
|
|
13
|
+
* - Support for both exact input and exact output swaps
|
|
14
|
+
*
|
|
15
|
+
* Performance: ~30-50ms per swap (vs 200-400ms for full refetch)
|
|
16
|
+
*
|
|
17
|
+
* @packageDocumentation
|
|
18
|
+
*/
|
|
19
|
+
import BigNumber from 'bignumber.js';
|
|
20
|
+
import { Pool, TickData } from '@gala-chain/dex';
|
|
21
|
+
import { SwapEventData, SwapDeltaResult, PoolStateMetadata } from '../types/pool-state-delta.dto';
|
|
22
|
+
import { CompositePoolDataResult } from '../types/composite-pool.dto';
|
|
23
|
+
/**
|
|
24
|
+
* Configuration for PoolStateManager behavior
|
|
25
|
+
*
|
|
26
|
+
* @category Pool State Manager
|
|
27
|
+
*/
|
|
28
|
+
export interface PoolStateManagerConfig {
|
|
29
|
+
/** Safety limit for maximum iterations in swap calculation (default: 100) */
|
|
30
|
+
maxIterations?: number;
|
|
31
|
+
/** Enable BigNumber cache for performance (default: true) */
|
|
32
|
+
enableBigNumberCache?: boolean;
|
|
33
|
+
/** BigNumber rounding mode (default: ROUND_DOWN) */
|
|
34
|
+
roundingMode?: BigNumber.RoundingMode;
|
|
35
|
+
/** Enable debug logging (default: false) */
|
|
36
|
+
debug?: boolean;
|
|
37
|
+
/** Maximum swaps to apply before forcing full refetch (default: 50) */
|
|
38
|
+
maxSwapsSinceRefetch?: number;
|
|
39
|
+
/** Maximum cumulative drift percentage before forcing refetch (default: 5%) */
|
|
40
|
+
maxCumulativeDrift?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Callback for when full refetch is needed
|
|
43
|
+
* Allows client to provide fresh pool data when drift accumulates
|
|
44
|
+
*/
|
|
45
|
+
onRefetchNeeded?: (pool: Pool, tickDataMap: Record<string, TickData>) => Promise<CompositePoolDataResult>;
|
|
46
|
+
/**
|
|
47
|
+
* Enable strict validation mode (default: false)
|
|
48
|
+
* Throws errors instead of warnings for validation failures
|
|
49
|
+
*/
|
|
50
|
+
strictValidation?: boolean;
|
|
51
|
+
/** Enable performance warnings when swap calculation exceeds threshold (default: true) */
|
|
52
|
+
enablePerformanceWarnings?: boolean;
|
|
53
|
+
/** Performance warning threshold in milliseconds (default: 100ms) */
|
|
54
|
+
performanceWarningThreshold?: number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Efficient pool state manager using incremental swap deltas
|
|
58
|
+
*
|
|
59
|
+
* Main orchestrator for the monkey-patching strategy that avoids full pool refetches.
|
|
60
|
+
* Coordinates SwapDeltaCalculator, PoolStateValidator, and other utilities to provide
|
|
61
|
+
* a fast, accurate view of pool state with minimal network calls.
|
|
62
|
+
*
|
|
63
|
+
* Usage:
|
|
64
|
+
* ```typescript
|
|
65
|
+
* const manager = new PoolStateManager(compositePoolData, config);
|
|
66
|
+
*
|
|
67
|
+
* // Apply swaps incrementally (fast - ~30-50ms)
|
|
68
|
+
* const result = await manager.applySwapDelta(swapEvent);
|
|
69
|
+
*
|
|
70
|
+
* // Get current pool state
|
|
71
|
+
* const currentPool = manager.getPoolState();
|
|
72
|
+
* const metadata = manager.getMetadata();
|
|
73
|
+
* ```
|
|
74
|
+
*
|
|
75
|
+
* @category Pool State Manager
|
|
76
|
+
* @since 3.33.0
|
|
77
|
+
*/
|
|
78
|
+
export declare class PoolStateManager {
|
|
79
|
+
private readonly logger;
|
|
80
|
+
private readonly config;
|
|
81
|
+
private readonly validationConfig;
|
|
82
|
+
/** Current cached pool state */
|
|
83
|
+
private pool;
|
|
84
|
+
/** Current tick data map */
|
|
85
|
+
private tickDataMap;
|
|
86
|
+
/** Metadata about cache state and drift tracking */
|
|
87
|
+
private metadata;
|
|
88
|
+
/** Performance metrics for last swap */
|
|
89
|
+
private lastSwapMetrics?;
|
|
90
|
+
/**
|
|
91
|
+
* Calculate hash of critical pool state for validation
|
|
92
|
+
*
|
|
93
|
+
* @param pool Pool to hash
|
|
94
|
+
* @returns Hash string of pool state
|
|
95
|
+
*/
|
|
96
|
+
private static calculatePoolStateHash;
|
|
97
|
+
/**
|
|
98
|
+
* Initialize PoolStateManager with initial pool state
|
|
99
|
+
*
|
|
100
|
+
* @param poolData Initial composite pool data (from fetchCompositePoolData)
|
|
101
|
+
* @param config Optional configuration overrides
|
|
102
|
+
* @throws Error if poolData is invalid
|
|
103
|
+
*/
|
|
104
|
+
constructor(poolData: CompositePoolDataResult, config?: PoolStateManagerConfig);
|
|
105
|
+
/**
|
|
106
|
+
* Apply a swap delta to the cached pool state
|
|
107
|
+
*
|
|
108
|
+
* Calculates how the swap affects pool state, validates the result,
|
|
109
|
+
* and updates the cache incrementally. Much faster than full refetch.
|
|
110
|
+
*
|
|
111
|
+
* @param swapEvent The swap event to apply
|
|
112
|
+
* @returns Result with updated pool state and metadata
|
|
113
|
+
* @throws Error if swap calculation or validation fails (in strict mode)
|
|
114
|
+
*/
|
|
115
|
+
applySwapDelta(swapEvent: SwapEventData): Promise<SwapDeltaResult>;
|
|
116
|
+
/**
|
|
117
|
+
* Force a full refetch of pool state
|
|
118
|
+
*
|
|
119
|
+
* Resets all drift tracking and reloads pool state from the provided data.
|
|
120
|
+
* Use this after receiving a full fetchCompositePoolData response.
|
|
121
|
+
*
|
|
122
|
+
* @param poolData Fresh pool data from fetchCompositePoolData
|
|
123
|
+
*/
|
|
124
|
+
forceFullRefetch(poolData: CompositePoolDataResult): void;
|
|
125
|
+
/**
|
|
126
|
+
* Get current pool state
|
|
127
|
+
*
|
|
128
|
+
* @returns Current cached Pool object
|
|
129
|
+
*/
|
|
130
|
+
getPoolState(): Pool;
|
|
131
|
+
/**
|
|
132
|
+
* Get current tick data
|
|
133
|
+
*
|
|
134
|
+
* @returns Copy of current tick data map
|
|
135
|
+
*/
|
|
136
|
+
getTickDataMap(): Record<string, TickData>;
|
|
137
|
+
/**
|
|
138
|
+
* Get metadata about cache state
|
|
139
|
+
*
|
|
140
|
+
* @returns Current PoolStateMetadata
|
|
141
|
+
*/
|
|
142
|
+
getMetadata(): PoolStateMetadata;
|
|
143
|
+
/**
|
|
144
|
+
* Get performance metrics from last swap
|
|
145
|
+
*
|
|
146
|
+
* @returns Performance metrics or undefined if no swap applied yet
|
|
147
|
+
*/
|
|
148
|
+
getLastSwapMetrics(): {
|
|
149
|
+
calculationTimeMs: number;
|
|
150
|
+
swapSteps: number;
|
|
151
|
+
timestamp: number;
|
|
152
|
+
} | undefined;
|
|
153
|
+
/**
|
|
154
|
+
* Check if a full refetch is recommended
|
|
155
|
+
*
|
|
156
|
+
* @returns true if drift or swap count thresholds exceeded
|
|
157
|
+
*/
|
|
158
|
+
isRefetchRecommended(): boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Reset the manager to initial state (clears all cached data)
|
|
161
|
+
*
|
|
162
|
+
* @param poolData Initial pool data to reload
|
|
163
|
+
*/
|
|
164
|
+
reset(poolData: CompositePoolDataResult): void;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Factory function for creating a PoolStateManager instance
|
|
168
|
+
*
|
|
169
|
+
* Simplifies initialization by bundling common configuration.
|
|
170
|
+
*
|
|
171
|
+
* @param poolData Initial pool data
|
|
172
|
+
* @param options Configuration options
|
|
173
|
+
* @returns New PoolStateManager instance
|
|
174
|
+
*/
|
|
175
|
+
export declare function createPoolStateManager(poolData: CompositePoolDataResult, options?: PoolStateManagerConfig): PoolStateManager;
|
|
176
|
+
//# sourceMappingURL=PoolStateManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PoolStateManager.d.ts","sourceRoot":"","sources":["../../src/services/PoolStateManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAKtE;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,6DAA6D;IAC7D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,oDAAoD;IACpD,YAAY,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC;IAEtC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,+EAA+E;IAC/E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAE1G;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,0FAA0F;IAC1F,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC,qEAAqE;IACrE,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IACF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4B;IAE7D,gCAAgC;IAChC,OAAO,CAAC,IAAI,CAAO;IAEnB,4BAA4B;IAC5B,OAAO,CAAC,WAAW,CAA2B;IAE9C,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAoB;IAEpC,wCAAwC;IACxC,OAAO,CAAC,eAAe,CAAC,CAItB;IAEF;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAKrC;;;;;;OAMG;gBACS,QAAQ,EAAE,uBAAuB,EAAE,MAAM,CAAC,EAAE,sBAAsB;IAoE9E;;;;;;;;;OASG;IACG,cAAc,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IAoKxE;;;;;;;OAOG;IACH,gBAAgB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI;IAYzD;;;;OAIG;IACH,YAAY,IAAI,IAAI;IAIpB;;;;OAIG;IACH,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;IAI1C;;;;OAIG;IACH,WAAW,IAAI,iBAAiB;IAIhC;;;;OAIG;IACH,kBAAkB,IAAI;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAOrG;;;;OAIG;IACH,oBAAoB,IAAI,OAAO;IAO/B;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI;CAgB/C;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,uBAAuB,EACjC,OAAO,CAAC,EAAE,sBAAsB,GAC/B,gBAAgB,CAElB"}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
import { FetchPriceHistoryOptions, PriceHistoryResult } from '../types/priceHistory.dto';
|
|
17
17
|
import { HttpClient } from '../utils/http';
|
|
18
18
|
import { TokenResolverService } from './TokenResolverService';
|
|
19
|
+
import { BaseService } from './BaseService';
|
|
19
20
|
/**
|
|
20
21
|
* Price History Service Class
|
|
21
22
|
*
|
|
@@ -45,17 +46,15 @@ import { TokenResolverService } from './TokenResolverService';
|
|
|
45
46
|
* });
|
|
46
47
|
* ```
|
|
47
48
|
*/
|
|
48
|
-
export declare class PriceHistoryService {
|
|
49
|
-
private readonly logger;
|
|
50
|
-
private readonly httpClient;
|
|
49
|
+
export declare class PriceHistoryService extends BaseService {
|
|
51
50
|
private readonly tokenResolverService;
|
|
52
51
|
/**
|
|
53
52
|
* Create a new PriceHistoryService instance
|
|
54
53
|
* @param httpClient HTTP client for DEX Backend API
|
|
55
|
-
* @param debugMode Enable debug logging
|
|
54
|
+
* @param debugMode Enable debug logging (default: false)
|
|
56
55
|
* @param tokenResolverService Optional TokenResolverService for token name resolution
|
|
57
56
|
*/
|
|
58
|
-
constructor(httpClient
|
|
57
|
+
constructor(httpClient: HttpClient, debugMode?: boolean, tokenResolverService?: TokenResolverService);
|
|
59
58
|
/**
|
|
60
59
|
* Helper method: Resolve a token name to its full token class key
|
|
61
60
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PriceHistoryService.d.ts","sourceRoot":"","sources":["../../src/services/PriceHistoryService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"PriceHistoryService.d.ts","sourceRoot":"","sources":["../../src/services/PriceHistoryService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAGnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAmC;IAExE;;;;;OAKG;gBACS,UAAU,EAAE,UAAU,EAAE,SAAS,GAAE,OAAe,EAAE,oBAAoB,CAAC,EAAE,oBAAoB;IAK3G;;;;;;;;;;;;;;;;;;;OAmBG;IACG,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoDvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2DG;IACG,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkFvF;;;OAGG;IACH,OAAO,CAAC,kCAAkC;IA+B1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACG,oBAAoB,CACxB,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,GAAG,OAAO,CAAC,GACxD,OAAO,CAAC,kBAAkB,CAAC;IA+B9B;;;;OAIG;IACH,OAAO,CAAC,eAAe;CAgCxB"}
|
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* EIP-712 Signature Service for Bonding Curve Transactions
|
|
3
3
|
*
|
|
4
|
-
* This service handles EIP-712 signature generation for
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* This service handles EIP-712 signature generation for bonding curve operations
|
|
5
|
+
* using ethers.js Wallet. It replicates the exact signature generation process
|
|
6
|
+
* used in the frontend to ensure compatibility with the GalaChain backend.
|
|
7
7
|
*
|
|
8
|
-
* ## Supported
|
|
9
|
-
* -
|
|
10
|
-
* - TrustWallet (signMessage with serialization)
|
|
11
|
-
* - GalaWallet (custom implementation)
|
|
8
|
+
* ## Supported Signing Method:
|
|
9
|
+
* - ethers.js Wallet (signTypedData)
|
|
12
10
|
*
|
|
13
11
|
* ## Key Features:
|
|
14
12
|
* - Dynamic EIP-712 type generation
|
|
15
13
|
* - Personal sign prefix calculation
|
|
16
|
-
* -
|
|
17
|
-
* - Full compatibility with frontend implementation
|
|
14
|
+
* - Full compatibility with GalaChain backend
|
|
18
15
|
*
|
|
19
16
|
* @category Services
|
|
20
17
|
* @since 2.0.0
|
|
21
18
|
*/
|
|
19
|
+
import { LoggerBase } from './BaseService';
|
|
22
20
|
/**
|
|
23
21
|
* EIP-712 Types structure for typed data signing
|
|
24
22
|
*/
|
|
@@ -48,59 +46,38 @@ interface EIP712Domain {
|
|
|
48
46
|
name: string;
|
|
49
47
|
chainId: number;
|
|
50
48
|
}
|
|
51
|
-
/**
|
|
52
|
-
* Wallet preference enumeration
|
|
53
|
-
*/
|
|
54
|
-
export declare enum WalletPreference {
|
|
55
|
-
METAMASK = 0,
|
|
56
|
-
TRUST_WALLET = 1,
|
|
57
|
-
GALA_WALLET = 2
|
|
58
|
-
}
|
|
59
49
|
/**
|
|
60
50
|
* Service for handling EIP-712 signatures for bonding curve operations
|
|
61
51
|
*/
|
|
62
|
-
export declare class SignatureService {
|
|
52
|
+
export declare class SignatureService extends LoggerBase {
|
|
63
53
|
private walletProvider;
|
|
64
|
-
private debug;
|
|
65
|
-
private readonly logger;
|
|
66
54
|
constructor(walletProvider: WalletProvider, debug?: boolean);
|
|
67
55
|
/**
|
|
68
|
-
* Sign a DTO using EIP-712 with
|
|
56
|
+
* Sign a DTO using EIP-712 with ethers.js Wallet
|
|
69
57
|
*
|
|
70
58
|
* @param dto - The DTO to sign (extends ChainCallDTO)
|
|
71
59
|
* @param methodName - The method name for type generation
|
|
72
60
|
* @param walletAddress - The user's wallet address
|
|
73
|
-
* @param walletPreference - Wallet type preference
|
|
74
61
|
* @returns Signed payload ready for bundle submission
|
|
75
62
|
*/
|
|
76
|
-
signDTO(dto: SignableDTO, methodName: string,
|
|
63
|
+
signDTO(dto: SignableDTO, methodName: string, _walletAddress: string): Promise<SignableDTO & {
|
|
77
64
|
signature: string;
|
|
78
65
|
types?: EIP712Types;
|
|
79
66
|
domain?: EIP712Domain;
|
|
80
67
|
}>;
|
|
81
68
|
/**
|
|
82
|
-
* Sign with
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
* Sign with TrustWallet using signMessage
|
|
87
|
-
*/
|
|
88
|
-
private signWithTrustWallet;
|
|
89
|
-
/**
|
|
90
|
-
* Sign with GalaWallet using custom implementation
|
|
91
|
-
* Falls back to MetaMask signing in non-browser environments
|
|
69
|
+
* Sign with ethers.js Wallet using signTypedData
|
|
70
|
+
*
|
|
71
|
+
* Supports both direct ethers.js Wallet instances and Web3 providers
|
|
72
|
+
* with dynamic network detection capabilities.
|
|
92
73
|
*/
|
|
93
|
-
private
|
|
74
|
+
private signWithEthersWallet;
|
|
94
75
|
/**
|
|
95
76
|
* Generate EIP-712 types from DTO structure
|
|
96
77
|
* Dynamically creates type definitions based on DTO fields
|
|
97
78
|
* EXACTLY matches frontend implementation from readWriteUtils.ts
|
|
98
79
|
*/
|
|
99
80
|
private generateEIP712Types;
|
|
100
|
-
/**
|
|
101
|
-
* Detect wallet preference from provider
|
|
102
|
-
*/
|
|
103
|
-
detectWalletPreference(): WalletPreference;
|
|
104
81
|
}
|
|
105
82
|
export {};
|
|
106
83
|
//# sourceMappingURL=SignatureService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignatureService.d.ts","sourceRoot":"","sources":["../../src/services/SignatureService.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"SignatureService.d.ts","sourceRoot":"","sources":["../../src/services/SignatureService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAQ3C;;GAEG;AACH,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;CACxE;AAED;;GAEG;AACH,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C;;GAEG;AACH,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAE5C,OAAO,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc,EACtC,KAAK,GAAE,OAAe;IAKxB;;;;;;;OAOG;IACG,OAAO,CACX,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,WAAW,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,WAAW,CAAC;QAAC,MAAM,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC;IAoC3F;;;;;OAKG;YACW,oBAAoB;IA8ClC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CA0F5B"}
|
|
@@ -22,13 +22,12 @@
|
|
|
22
22
|
* @since 2.0.0
|
|
23
23
|
*/
|
|
24
24
|
import { TokenClassKey } from '@gala-chain/api';
|
|
25
|
+
import { LoggerBase } from './BaseService';
|
|
25
26
|
/**
|
|
26
27
|
* Service for generating TokenClassKey and stringsInstructions
|
|
27
28
|
*/
|
|
28
|
-
export declare class TokenClassKeyService {
|
|
29
|
-
|
|
30
|
-
private readonly logger;
|
|
31
|
-
constructor(debug?: boolean);
|
|
29
|
+
export declare class TokenClassKeyService extends LoggerBase {
|
|
30
|
+
constructor(debugMode?: boolean);
|
|
32
31
|
/**
|
|
33
32
|
* Generate stringsInstructions array for a vault address
|
|
34
33
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenClassKeyService.d.ts","sourceRoot":"","sources":["../../src/services/TokenClassKeyService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"TokenClassKeyService.d.ts","sourceRoot":"","sources":["../../src/services/TokenClassKeyService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAU3C;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,UAAU;gBACtC,SAAS,GAAE,OAAe;IAItC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE;IAwC3D;;;;;;;OAOG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa;IAgBvD;;;;OAIG;IACH,kBAAkB,IAAI,aAAa;IAcnC;;;;;;;;;;;;;OAaG;IACH,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IA0BzD;;;;;OAKG;IACH,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IA4CnD;;;;;;;;OAQG;IACH,2BAA2B,CACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,MAAM;IAIT;;;;;OAKG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG;QAC3C,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;KACvB;CAcF"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* @category Services
|
|
13
13
|
* @since 3.9.2
|
|
14
14
|
*/
|
|
15
|
+
import { LoggerBase } from './BaseService';
|
|
15
16
|
/**
|
|
16
17
|
* Token metadata cache entry
|
|
17
18
|
*
|
|
@@ -90,10 +91,9 @@ export interface CacheStats {
|
|
|
90
91
|
* @category Services
|
|
91
92
|
* @since 3.9.2
|
|
92
93
|
*/
|
|
93
|
-
export declare class TokenMetadataCache {
|
|
94
|
+
export declare class TokenMetadataCache extends LoggerBase {
|
|
94
95
|
/** Maximum cache size (10,000 tokens ≈ 2.5MB max memory) */
|
|
95
96
|
private static readonly MAX_CACHE_SIZE;
|
|
96
|
-
private readonly logger;
|
|
97
97
|
private cache;
|
|
98
98
|
constructor(debugMode?: boolean);
|
|
99
99
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenMetadataCache.d.ts","sourceRoot":"","sources":["../../src/services/TokenMetadataCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"TokenMetadataCache.d.ts","sourceRoot":"","sources":["../../src/services/TokenMetadataCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,2DAA2D;IAC3D,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,uDAAuD;IACvD,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;IAChD,4DAA4D;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAS;IAE/C,OAAO,CAAC,KAAK,CAAoC;gBAErC,SAAS,GAAE,OAAe;IAItC;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS;IAKjB;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAK3E;;;;;;;;;;;;;;OAcG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAK9D;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAK5C;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAQvC;;;;;OAKG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAK/B;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAS/B;;;;;;;;;;;;;OAaG;IACH,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAQrC;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,IAAI,UAAU;IAwCnB;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAKnD;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAKrE;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAIvC"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* - Handle token resolution for both native and wrapped tokens
|
|
12
12
|
* - Provide clean interface for symbol, decimals, and other metadata
|
|
13
13
|
*/
|
|
14
|
+
import { LoggerBase } from './BaseService';
|
|
14
15
|
import type { TokenClass } from '../types/gswap.dto';
|
|
15
16
|
export interface TokenMetadata {
|
|
16
17
|
symbol: string;
|
|
@@ -28,11 +29,10 @@ export interface TokenMetadataCache {
|
|
|
28
29
|
timestamp: number;
|
|
29
30
|
};
|
|
30
31
|
}
|
|
31
|
-
export declare class TokenMetadataService {
|
|
32
|
+
export declare class TokenMetadataService extends LoggerBase {
|
|
32
33
|
private cache;
|
|
33
34
|
private cacheExpiry;
|
|
34
|
-
|
|
35
|
-
constructor();
|
|
35
|
+
constructor(debugMode?: boolean);
|
|
36
36
|
/**
|
|
37
37
|
* Resolve token metadata from a token reference
|
|
38
38
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenMetadataService.d.ts","sourceRoot":"","sources":["../../src/services/TokenMetadataService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"TokenMetadataService.d.ts","sourceRoot":"","sources":["../../src/services/TokenMetadataService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,IAAI,EAAE,aAAa,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,WAAW,CAAmB;gBAE1B,SAAS,GAAE,OAAe;IAItC;;;;;;;;;;;;;;OAcG;IACG,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAyB9E;;;;;;;;;OASG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjE;;;;;OAKG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAKnE;;OAEG;IACH,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAUnC;;OAEG;IACH,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;IAQpD;;;OAGG;IACH,OAAO,CAAC,WAAW;IAWnB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAqDvB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAItB;;;OAGG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAIjC"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { PoolService } from './PoolService';
|
|
17
17
|
import type { TokenClassKey } from '../types/common';
|
|
18
|
+
import { LoggerBase } from './BaseService';
|
|
18
19
|
/**
|
|
19
20
|
* Service for resolving token names to vault addresses and GalaChain identifiers
|
|
20
21
|
*
|
|
@@ -36,14 +37,13 @@ import type { TokenClassKey } from '../types/common';
|
|
|
36
37
|
* console.log('Token:', tokenClassKey);
|
|
37
38
|
* ```
|
|
38
39
|
*/
|
|
39
|
-
export declare class TokenResolverService {
|
|
40
|
+
export declare class TokenResolverService extends LoggerBase {
|
|
40
41
|
private readonly poolService;
|
|
41
42
|
/**
|
|
42
43
|
* In-memory cache for tokenName → vaultAddress mappings
|
|
43
44
|
* Key: lowercase token name
|
|
44
45
|
* Value: vault address string
|
|
45
46
|
*/
|
|
46
|
-
private readonly logger;
|
|
47
47
|
private cache;
|
|
48
48
|
/**
|
|
49
49
|
* Creates a new TokenResolverService instance
|