@gala-chain/launchpad-sdk 3.31.2 → 4.0.1-beta.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 +525 -5
- package/CHANGELOG.md +101 -9
- package/EXAMPLES.md +923 -0
- package/README.md +539 -15
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +37 -27
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/{LaunchpadSDK.d.ts → src/LaunchpadSDK.d.ts} +1333 -37
- package/dist/src/LaunchpadSDK.d.ts.map +1 -0
- package/dist/src/api/LaunchpadAPI.d.ts.map +1 -0
- package/dist/src/api/dto/BondingCurveDTOs.d.ts.map +1 -0
- package/dist/src/api/dto/LockTokenDto.d.ts +97 -0
- package/dist/src/api/dto/LockTokenDto.d.ts.map +1 -0
- package/dist/src/api/dto/TransferTokenDto.d.ts.map +1 -0
- package/dist/src/api/dto/UnlockTokenDto.d.ts +86 -0
- package/dist/src/api/dto/UnlockTokenDto.d.ts.map +1 -0
- package/dist/src/auth/SignatureAuth.d.ts.map +1 -0
- package/dist/src/auth/types.d.ts.map +1 -0
- package/dist/src/config/environments.d.ts.map +1 -0
- package/dist/src/constants/bondingCurve.d.ts.map +1 -0
- package/dist/src/constants/config.d.ts.map +1 -0
- package/dist/src/constants/counts.d.ts.map +1 -0
- package/dist/src/constants/decimals.d.ts.map +1 -0
- package/dist/src/constants/endpoints.d.ts.map +1 -0
- package/dist/src/constants/enums.d.ts.map +1 -0
- package/dist/src/constants/error-messages.d.ts.map +1 -0
- package/dist/src/constants/pagination.d.ts.map +1 -0
- package/dist/src/constants/query-fields.d.ts.map +1 -0
- package/dist/src/constants/version.d.ts.map +1 -0
- package/dist/{constants → src/constants}/version.generated.d.ts +1 -1
- package/dist/src/constants/version.generated.d.ts.map +1 -0
- package/dist/src/helpers/sdk.d.ts.map +1 -0
- package/dist/src/helpers/wallet.d.ts.map +1 -0
- package/dist/src/index.d.ts +51 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/polyfills/file-global.d.ts.map +1 -0
- package/dist/src/schemas/files.d.ts.map +1 -0
- package/dist/src/schemas/index.d.ts.map +1 -0
- package/dist/src/schemas/launchpad.d.ts.map +1 -0
- package/dist/src/schemas/pagination.d.ts.map +1 -0
- package/dist/src/schemas/primitives.d.ts.map +1 -0
- package/dist/src/schemas/trade.d.ts.map +1 -0
- package/dist/src/schemas/user.d.ts.map +1 -0
- package/dist/src/schemas/validators.d.ts.map +1 -0
- package/dist/src/services/BaseService.d.ts.map +1 -0
- package/dist/src/services/BundleService.d.ts.map +1 -0
- package/dist/src/services/CommentService.d.ts.map +1 -0
- package/dist/src/services/DexBackendClient.d.ts +46 -0
- package/dist/src/services/DexBackendClient.d.ts.map +1 -0
- package/dist/src/services/DexPoolService.d.ts +137 -0
- package/dist/src/services/DexPoolService.d.ts.map +1 -0
- package/dist/src/services/DexQuoteService.d.ts +288 -0
- package/dist/src/services/DexQuoteService.d.ts.map +1 -0
- package/dist/{services → src/services}/DexService.d.ts +83 -9
- package/dist/src/services/DexService.d.ts.map +1 -0
- package/dist/src/services/FaucetService.d.ts.map +1 -0
- package/dist/src/services/GSwapService.d.ts +817 -0
- package/dist/src/services/GSwapService.d.ts.map +1 -0
- package/dist/src/services/GalaChainGatewayClient.d.ts +98 -0
- package/dist/src/services/GalaChainGatewayClient.d.ts.map +1 -0
- package/dist/{services → src/services}/GalaChainService.d.ts +99 -4
- package/dist/src/services/GalaChainService.d.ts.map +1 -0
- package/dist/src/services/ImageService.d.ts.map +1 -0
- package/dist/src/services/LaunchpadService.d.ts.map +1 -0
- package/dist/src/services/MultiPoolStateManager.d.ts +284 -0
- package/dist/src/services/MultiPoolStateManager.d.ts.map +1 -0
- package/dist/src/services/PoolCacheManager.d.ts +171 -0
- package/dist/src/services/PoolCacheManager.d.ts.map +1 -0
- package/dist/src/services/PoolService.d.ts.map +1 -0
- package/dist/src/services/PoolStateManager.d.ts +176 -0
- package/dist/src/services/PoolStateManager.d.ts.map +1 -0
- package/dist/{services → src/services}/PriceHistoryService.d.ts +5 -5
- package/dist/src/services/PriceHistoryService.d.ts.map +1 -0
- package/dist/{services → src/services}/SignatureService.d.ts +13 -35
- package/dist/src/services/SignatureService.d.ts.map +1 -0
- package/dist/src/services/SwapEventQueue.d.ts +123 -0
- package/dist/src/services/SwapEventQueue.d.ts.map +1 -0
- package/dist/src/services/TokenClassKeyService.d.ts.map +1 -0
- package/dist/{services → src/services}/TokenMetadataCache.d.ts +5 -5
- package/dist/src/services/TokenMetadataCache.d.ts.map +1 -0
- package/dist/{services → src/services}/TokenMetadataService.d.ts +3 -3
- package/dist/src/services/TokenMetadataService.d.ts.map +1 -0
- package/dist/src/services/TokenResolverService.d.ts.map +1 -0
- package/dist/src/services/TradeService.d.ts.map +1 -0
- package/dist/src/services/UserService.d.ts.map +1 -0
- package/dist/src/services/WebSocketManager.d.ts.map +1 -0
- package/dist/src/services/WebSocketService.d.ts +183 -0
- package/dist/src/services/WebSocketService.d.ts.map +1 -0
- package/dist/src/services/__mocks__/logger.mock.d.ts +17 -0
- package/dist/src/services/__mocks__/logger.mock.d.ts.map +1 -0
- package/dist/{setup.d.ts.map → src/setup.d.ts.map} +1 -1
- package/dist/{types → src/types}/backend-responses.d.ts +17 -0
- package/dist/src/types/backend-responses.d.ts.map +1 -0
- package/dist/src/types/comment.dto.d.ts.map +1 -0
- package/dist/{types → src/types}/common.d.ts +2 -0
- package/dist/src/types/common.d.ts.map +1 -0
- package/dist/src/types/composite-pool.dto.d.ts +103 -0
- package/dist/src/types/composite-pool.dto.d.ts.map +1 -0
- package/dist/{types → src/types}/dex-pool.dto.d.ts +56 -5
- package/dist/src/types/dex-pool.dto.d.ts.map +1 -0
- package/dist/{types → src/types}/dto.d.ts +6 -6
- package/dist/src/types/dto.d.ts.map +1 -0
- package/dist/src/types/eip712-types.d.ts +140 -0
- package/dist/src/types/eip712-types.d.ts.map +1 -0
- package/dist/src/types/galachain-api.types.d.ts +216 -0
- package/dist/src/types/galachain-api.types.d.ts.map +1 -0
- package/dist/src/types/gswap-responses.types.d.ts +366 -0
- package/dist/src/types/gswap-responses.types.d.ts.map +1 -0
- package/dist/{types → src/types}/gswap.dto.d.ts +58 -3
- package/dist/src/types/gswap.dto.d.ts.map +1 -0
- package/dist/{types → src/types}/launchpad.dto.d.ts +232 -0
- package/dist/src/types/launchpad.dto.d.ts.map +1 -0
- package/dist/src/types/launchpad.validation.d.ts.map +1 -0
- package/dist/src/types/liquidity-monitor.dto.d.ts +177 -0
- package/dist/src/types/liquidity-monitor.dto.d.ts.map +1 -0
- package/dist/src/types/lock.dto.d.ts +146 -0
- package/dist/src/types/lock.dto.d.ts.map +1 -0
- package/dist/src/types/options.dto.d.ts.map +1 -0
- package/dist/src/types/pool-state-delta.dto.d.ts +246 -0
- package/dist/src/types/pool-state-delta.dto.d.ts.map +1 -0
- package/dist/src/types/pool-state-manager-config.dto.d.ts +103 -0
- package/dist/src/types/pool-state-manager-config.dto.d.ts.map +1 -0
- package/dist/{types → src/types}/priceHistory.dto.d.ts +4 -4
- package/dist/src/types/priceHistory.dto.d.ts.map +1 -0
- package/dist/src/types/result.types.d.ts.map +1 -0
- package/dist/src/types/swap-monitor.dto.d.ts +256 -0
- package/dist/src/types/swap-monitor.dto.d.ts.map +1 -0
- package/dist/src/types/trade.dto.d.ts.map +1 -0
- package/dist/src/types/transfer.dto.d.ts.map +1 -0
- package/dist/src/types/user.dto.d.ts.map +1 -0
- package/dist/src/types/websocket-data.types.d.ts.map +1 -0
- package/dist/src/types/websocket.types.d.ts.map +1 -0
- package/dist/src/utils/LiquidityEventExtractor.d.ts +99 -0
- package/dist/src/utils/LiquidityEventExtractor.d.ts.map +1 -0
- package/dist/src/utils/Logger.d.ts.map +1 -0
- package/dist/src/utils/MonitoringMetrics.d.ts +152 -0
- package/dist/src/utils/MonitoringMetrics.d.ts.map +1 -0
- package/dist/src/utils/PoolKeyNormalizer.d.ts +135 -0
- package/dist/src/utils/PoolKeyNormalizer.d.ts.map +1 -0
- package/dist/{utils → src/utils}/SignatureHelper.d.ts +38 -0
- package/dist/src/utils/SignatureHelper.d.ts.map +1 -0
- package/dist/src/utils/SwapEventExtractor.d.ts +152 -0
- package/dist/src/utils/SwapEventExtractor.d.ts.map +1 -0
- package/dist/src/utils/adapters.d.ts.map +1 -0
- package/dist/src/utils/agent-config.d.ts.map +1 -0
- package/dist/{utils → src/utils}/auto-pagination.d.ts +75 -1
- package/dist/src/utils/auto-pagination.d.ts.map +1 -0
- package/dist/{utils → src/utils}/bignumber-helpers.d.ts +79 -3
- package/dist/src/utils/bignumber-helpers.d.ts.map +1 -0
- package/dist/src/utils/bignumber-pool-cache.d.ts +169 -0
- package/dist/src/utils/bignumber-pool-cache.d.ts.map +1 -0
- package/dist/src/utils/bondingCurveCalculations.d.ts.map +1 -0
- package/dist/src/utils/cacheWarmingHelpers.d.ts.map +1 -0
- package/dist/src/utils/composite-pool-converter.d.ts +121 -0
- package/dist/src/utils/composite-pool-converter.d.ts.map +1 -0
- package/dist/src/utils/date-utils.d.ts.map +1 -0
- package/dist/src/utils/error-factories.d.ts.map +1 -0
- package/dist/src/utils/error-utils.d.ts.map +1 -0
- package/dist/{utils → src/utils}/errors.d.ts +86 -0
- package/dist/src/utils/errors.d.ts.map +1 -0
- package/dist/src/utils/http.d.ts.map +1 -0
- package/dist/src/utils/load-env.d.ts +31 -0
- package/dist/src/utils/load-env.d.ts.map +1 -0
- package/dist/src/utils/multipart-helpers.d.ts.map +1 -0
- package/dist/{utils → src/utils}/multipart.d.ts +2 -2
- package/dist/src/utils/multipart.d.ts.map +1 -0
- package/dist/src/utils/number-utils.d.ts.map +1 -0
- package/dist/src/utils/pool-pair-parser.d.ts +55 -0
- package/dist/src/utils/pool-pair-parser.d.ts.map +1 -0
- package/dist/src/utils/pool-state-validator.d.ts +207 -0
- package/dist/src/utils/pool-state-validator.d.ts.map +1 -0
- package/dist/src/utils/position-filters.d.ts +253 -0
- package/dist/src/utils/position-filters.d.ts.map +1 -0
- package/dist/src/utils/precision-math.d.ts.map +1 -0
- package/dist/{utils → src/utils}/query-params.d.ts +2 -2
- package/dist/src/utils/query-params.d.ts.map +1 -0
- package/dist/src/utils/response-handlers.d.ts.map +1 -0
- package/dist/src/utils/response-normalizers.d.ts.map +1 -0
- package/dist/src/utils/slippage-utils.d.ts.map +1 -0
- package/dist/src/utils/swap-delta-calculator.d.ts +231 -0
- package/dist/src/utils/swap-delta-calculator.d.ts.map +1 -0
- package/dist/src/utils/tick-crossing-handler.d.ts +250 -0
- package/dist/src/utils/tick-crossing-handler.d.ts.map +1 -0
- package/dist/{utils → src/utils}/token-format-converter.d.ts +18 -11
- package/dist/src/utils/token-format-converter.d.ts.map +1 -0
- package/dist/src/utils/token-parser.d.ts +235 -0
- package/dist/src/utils/token-parser.d.ts.map +1 -0
- package/dist/src/utils/tokenNormalizer.d.ts.map +1 -0
- package/dist/src/utils/trade-transformers.d.ts.map +1 -0
- package/dist/src/utils/transfer-validation.d.ts.map +1 -0
- package/dist/{utils → src/utils}/validation-helpers.d.ts +1 -1
- package/dist/src/utils/validation-helpers.d.ts.map +1 -0
- package/dist/src/utils/validation.d.ts.map +1 -0
- package/dist/src/utils/wallet.d.ts.map +1 -0
- package/dist/src/utils/websocket-errors.d.ts.map +1 -0
- package/dist/src/utils/websocket-validators.d.ts.map +1 -0
- package/package.json +73 -19
- package/dist/LaunchpadSDK.d.ts.map +0 -1
- package/dist/api/LaunchpadAPI.d.ts.map +0 -1
- package/dist/api/dto/BondingCurveDTOs.d.ts.map +0 -1
- package/dist/api/dto/TransferTokenDto.d.ts.map +0 -1
- package/dist/auth/SignatureAuth.d.ts.map +0 -1
- package/dist/auth/types.d.ts.map +0 -1
- package/dist/config/environments.d.ts.map +0 -1
- package/dist/constants/bondingCurve.d.ts.map +0 -1
- package/dist/constants/config.d.ts.map +0 -1
- package/dist/constants/counts.d.ts.map +0 -1
- package/dist/constants/decimals.d.ts.map +0 -1
- package/dist/constants/endpoints.d.ts.map +0 -1
- package/dist/constants/enums.d.ts.map +0 -1
- package/dist/constants/error-messages.d.ts.map +0 -1
- package/dist/constants/pagination.d.ts.map +0 -1
- package/dist/constants/query-fields.d.ts.map +0 -1
- package/dist/constants/version.d.ts.map +0 -1
- package/dist/constants/version.generated.d.ts.map +0 -1
- package/dist/helpers/sdk.d.ts.map +0 -1
- package/dist/helpers/wallet.d.ts.map +0 -1
- package/dist/polyfills/file-global.d.ts.map +0 -1
- package/dist/schemas/files.d.ts.map +0 -1
- package/dist/schemas/index.d.ts.map +0 -1
- package/dist/schemas/launchpad.d.ts.map +0 -1
- package/dist/schemas/pagination.d.ts.map +0 -1
- package/dist/schemas/primitives.d.ts.map +0 -1
- package/dist/schemas/trade.d.ts.map +0 -1
- package/dist/schemas/user.d.ts.map +0 -1
- package/dist/schemas/validators.d.ts.map +0 -1
- package/dist/services/BaseService.d.ts.map +0 -1
- package/dist/services/BundleService.d.ts.map +0 -1
- package/dist/services/CommentService.d.ts.map +0 -1
- package/dist/services/DexPoolService.d.ts +0 -95
- package/dist/services/DexPoolService.d.ts.map +0 -1
- package/dist/services/DexService.d.ts.map +0 -1
- package/dist/services/FaucetService.d.ts.map +0 -1
- package/dist/services/GSwapService.d.ts +0 -315
- package/dist/services/GSwapService.d.ts.map +0 -1
- package/dist/services/GalaChainService.d.ts.map +0 -1
- package/dist/services/ImageService.d.ts.map +0 -1
- package/dist/services/LaunchpadService.d.ts.map +0 -1
- package/dist/services/PoolService.d.ts.map +0 -1
- package/dist/services/PriceHistoryService.d.ts.map +0 -1
- package/dist/services/SignatureService.d.ts.map +0 -1
- package/dist/services/TokenClassKeyService.d.ts.map +0 -1
- package/dist/services/TokenMetadataCache.d.ts.map +0 -1
- package/dist/services/TokenMetadataService.d.ts.map +0 -1
- package/dist/services/TokenResolverService.d.ts.map +0 -1
- package/dist/services/TradeService.d.ts.map +0 -1
- package/dist/services/UserService.d.ts.map +0 -1
- package/dist/services/WebSocketManager.d.ts.map +0 -1
- package/dist/services/WebSocketService.d.ts +0 -85
- package/dist/services/WebSocketService.d.ts.map +0 -1
- package/dist/types/backend-responses.d.ts.map +0 -1
- package/dist/types/comment.dto.d.ts.map +0 -1
- package/dist/types/common.d.ts.map +0 -1
- package/dist/types/dex-pool.dto.d.ts.map +0 -1
- package/dist/types/dto.d.ts.map +0 -1
- package/dist/types/gswap.dto.d.ts.map +0 -1
- package/dist/types/launchpad.dto.d.ts.map +0 -1
- package/dist/types/launchpad.validation.d.ts.map +0 -1
- package/dist/types/options.dto.d.ts.map +0 -1
- package/dist/types/priceHistory.dto.d.ts.map +0 -1
- package/dist/types/result.types.d.ts.map +0 -1
- package/dist/types/trade.dto.d.ts.map +0 -1
- package/dist/types/transfer.dto.d.ts.map +0 -1
- package/dist/types/user.dto.d.ts.map +0 -1
- package/dist/types/websocket-data.types.d.ts.map +0 -1
- package/dist/types/websocket.types.d.ts.map +0 -1
- package/dist/utils/Logger.d.ts.map +0 -1
- package/dist/utils/SignatureHelper.d.ts.map +0 -1
- package/dist/utils/adapters.d.ts.map +0 -1
- package/dist/utils/agent-config.d.ts.map +0 -1
- package/dist/utils/auto-pagination.d.ts.map +0 -1
- package/dist/utils/bignumber-helpers.d.ts.map +0 -1
- package/dist/utils/bondingCurveCalculations.d.ts.map +0 -1
- package/dist/utils/cacheWarmingHelpers.d.ts.map +0 -1
- package/dist/utils/date-utils.d.ts.map +0 -1
- package/dist/utils/error-factories.d.ts.map +0 -1
- package/dist/utils/error-utils.d.ts.map +0 -1
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/http.d.ts.map +0 -1
- package/dist/utils/multipart-helpers.d.ts.map +0 -1
- package/dist/utils/multipart.d.ts.map +0 -1
- package/dist/utils/number-utils.d.ts.map +0 -1
- package/dist/utils/precision-math.d.ts.map +0 -1
- package/dist/utils/query-params.d.ts.map +0 -1
- package/dist/utils/response-handlers.d.ts.map +0 -1
- package/dist/utils/response-normalizers.d.ts.map +0 -1
- package/dist/utils/slippage-utils.d.ts.map +0 -1
- package/dist/utils/token-format-converter.d.ts.map +0 -1
- package/dist/utils/tokenNormalizer.d.ts.map +0 -1
- package/dist/utils/trade-transformers.d.ts.map +0 -1
- package/dist/utils/transfer-validation.d.ts.map +0 -1
- package/dist/utils/validation-helpers.d.ts.map +0 -1
- package/dist/utils/validation.d.ts.map +0 -1
- package/dist/utils/wallet.d.ts.map +0 -1
- package/dist/utils/websocket-errors.d.ts.map +0 -1
- package/dist/utils/websocket-validators.d.ts.map +0 -1
- /package/dist/{api → src/api}/LaunchpadAPI.d.ts +0 -0
- /package/dist/{api → src/api}/dto/BondingCurveDTOs.d.ts +0 -0
- /package/dist/{api → src/api}/dto/TransferTokenDto.d.ts +0 -0
- /package/dist/{auth → src/auth}/SignatureAuth.d.ts +0 -0
- /package/dist/{auth → src/auth}/types.d.ts +0 -0
- /package/dist/{config → src/config}/environments.d.ts +0 -0
- /package/dist/{constants → src/constants}/bondingCurve.d.ts +0 -0
- /package/dist/{constants → src/constants}/config.d.ts +0 -0
- /package/dist/{constants → src/constants}/counts.d.ts +0 -0
- /package/dist/{constants → src/constants}/decimals.d.ts +0 -0
- /package/dist/{constants → src/constants}/endpoints.d.ts +0 -0
- /package/dist/{constants → src/constants}/enums.d.ts +0 -0
- /package/dist/{constants → src/constants}/error-messages.d.ts +0 -0
- /package/dist/{constants → src/constants}/pagination.d.ts +0 -0
- /package/dist/{constants → src/constants}/query-fields.d.ts +0 -0
- /package/dist/{constants → src/constants}/version.d.ts +0 -0
- /package/dist/{helpers → src/helpers}/sdk.d.ts +0 -0
- /package/dist/{helpers → src/helpers}/wallet.d.ts +0 -0
- /package/dist/{polyfills → src/polyfills}/file-global.d.ts +0 -0
- /package/dist/{schemas → src/schemas}/files.d.ts +0 -0
- /package/dist/{schemas → src/schemas}/index.d.ts +0 -0
- /package/dist/{schemas → src/schemas}/launchpad.d.ts +0 -0
- /package/dist/{schemas → src/schemas}/pagination.d.ts +0 -0
- /package/dist/{schemas → src/schemas}/primitives.d.ts +0 -0
- /package/dist/{schemas → src/schemas}/trade.d.ts +0 -0
- /package/dist/{schemas → src/schemas}/user.d.ts +0 -0
- /package/dist/{schemas → src/schemas}/validators.d.ts +0 -0
- /package/dist/{services → src/services}/BaseService.d.ts +0 -0
- /package/dist/{services → src/services}/BundleService.d.ts +0 -0
- /package/dist/{services → src/services}/CommentService.d.ts +0 -0
- /package/dist/{services → src/services}/FaucetService.d.ts +0 -0
- /package/dist/{services → src/services}/ImageService.d.ts +0 -0
- /package/dist/{services → src/services}/LaunchpadService.d.ts +0 -0
- /package/dist/{services → src/services}/PoolService.d.ts +0 -0
- /package/dist/{services → src/services}/TokenClassKeyService.d.ts +0 -0
- /package/dist/{services → src/services}/TokenResolverService.d.ts +0 -0
- /package/dist/{services → src/services}/TradeService.d.ts +0 -0
- /package/dist/{services → src/services}/UserService.d.ts +0 -0
- /package/dist/{services → src/services}/WebSocketManager.d.ts +0 -0
- /package/dist/{setup.d.ts → src/setup.d.ts} +0 -0
- /package/dist/{types → src/types}/comment.dto.d.ts +0 -0
- /package/dist/{types → src/types}/launchpad.validation.d.ts +0 -0
- /package/dist/{types → src/types}/options.dto.d.ts +0 -0
- /package/dist/{types → src/types}/result.types.d.ts +0 -0
- /package/dist/{types → src/types}/trade.dto.d.ts +0 -0
- /package/dist/{types → src/types}/transfer.dto.d.ts +0 -0
- /package/dist/{types → src/types}/user.dto.d.ts +0 -0
- /package/dist/{types → src/types}/websocket-data.types.d.ts +0 -0
- /package/dist/{types → src/types}/websocket.types.d.ts +0 -0
- /package/dist/{utils → src/utils}/Logger.d.ts +0 -0
- /package/dist/{utils → src/utils}/adapters.d.ts +0 -0
- /package/dist/{utils → src/utils}/agent-config.d.ts +0 -0
- /package/dist/{utils → src/utils}/bondingCurveCalculations.d.ts +0 -0
- /package/dist/{utils → src/utils}/cacheWarmingHelpers.d.ts +0 -0
- /package/dist/{utils → src/utils}/date-utils.d.ts +0 -0
- /package/dist/{utils → src/utils}/error-factories.d.ts +0 -0
- /package/dist/{utils → src/utils}/error-utils.d.ts +0 -0
- /package/dist/{utils → src/utils}/http.d.ts +0 -0
- /package/dist/{utils → src/utils}/multipart-helpers.d.ts +0 -0
- /package/dist/{utils → src/utils}/number-utils.d.ts +0 -0
- /package/dist/{utils → src/utils}/precision-math.d.ts +0 -0
- /package/dist/{utils → src/utils}/response-handlers.d.ts +0 -0
- /package/dist/{utils → src/utils}/response-normalizers.d.ts +0 -0
- /package/dist/{utils → src/utils}/slippage-utils.d.ts +0 -0
- /package/dist/{utils → src/utils}/tokenNormalizer.d.ts +0 -0
- /package/dist/{utils → src/utils}/trade-transformers.d.ts +0 -0
- /package/dist/{utils → src/utils}/transfer-validation.d.ts +0 -0
- /package/dist/{utils → src/utils}/validation.d.ts +0 -0
- /package/dist/{utils → src/utils}/wallet.d.ts +0 -0
- /package/dist/{utils → src/utils}/websocket-errors.d.ts +0 -0
- /package/dist/{utils → src/utils}/websocket-validators.d.ts +0 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pool Cache Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages tiered LRU caching of pool state with automatic refetching.
|
|
5
|
+
* Optimized for swap monitoring with delta-based updates instead of full refetches.
|
|
6
|
+
*
|
|
7
|
+
* Cache Tiers:
|
|
8
|
+
* - Hot Cache (50 pools): Never evicted, ~infinite TTL, highest priority
|
|
9
|
+
* - Warm Cache (200 pools): 30-minute TTL, automatic refresh
|
|
10
|
+
* - Cold Cache (500 max total): 5-minute TTL, LRU eviction
|
|
11
|
+
*
|
|
12
|
+
* @packageDocumentation
|
|
13
|
+
*/
|
|
14
|
+
import type { CompositePoolDataResult } from '../types/composite-pool.dto';
|
|
15
|
+
import type { SwapMonitorConfig, SwapEventData as SwapMonitorEvent } from '../types/swap-monitor.dto';
|
|
16
|
+
import { Logger } from '../utils/Logger';
|
|
17
|
+
import { MonitoringMetrics } from '../utils/MonitoringMetrics';
|
|
18
|
+
/**
|
|
19
|
+
* Cache tier classification
|
|
20
|
+
*
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
type CacheTier = 'hot' | 'warm' | 'cold';
|
|
24
|
+
/**
|
|
25
|
+
* Manages tiered LRU pool cache for swap monitoring
|
|
26
|
+
*
|
|
27
|
+
* Maintains hot/warm/cold cache tiers with automatic eviction and refetching.
|
|
28
|
+
* Tracks cache performance metrics and applies swap deltas efficiently.
|
|
29
|
+
*
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
export declare class PoolCacheManager {
|
|
33
|
+
private readonly cache;
|
|
34
|
+
private readonly metrics;
|
|
35
|
+
private readonly config;
|
|
36
|
+
private readonly logger;
|
|
37
|
+
private readonly fetchPoolFn;
|
|
38
|
+
/** Configuration with defaults applied */
|
|
39
|
+
private readonly tierSizes;
|
|
40
|
+
/** TTL in milliseconds per tier */
|
|
41
|
+
private readonly tierTTLs;
|
|
42
|
+
/** Refetch thresholds */
|
|
43
|
+
private readonly refetchThresholds;
|
|
44
|
+
constructor(fetchPoolFn: (poolKey: string) => Promise<CompositePoolDataResult>, config: Required<SwapMonitorConfig>, metrics: MonitoringMetrics, logger?: Logger);
|
|
45
|
+
/**
|
|
46
|
+
* Get pool data from cache, fetching if necessary
|
|
47
|
+
*
|
|
48
|
+
* Implements three-tier cache strategy:
|
|
49
|
+
* 1. Check hot cache (never expires)
|
|
50
|
+
* 2. Check warm cache (30-min TTL)
|
|
51
|
+
* 3. Check cold cache (5-min TTL)
|
|
52
|
+
* 4. Fetch from backend if not found or expired
|
|
53
|
+
*
|
|
54
|
+
* @param poolKey - Pool identifier
|
|
55
|
+
* @returns Pool data
|
|
56
|
+
*/
|
|
57
|
+
getPool(poolKey: string): Promise<CompositePoolDataResult>;
|
|
58
|
+
/**
|
|
59
|
+
* Update pool cache with swap delta
|
|
60
|
+
*
|
|
61
|
+
* Applies swap delta to cached pool state using SwapDeltaCalculator.
|
|
62
|
+
* Tracks swap count, drift accumulation, and marks for refetch when thresholds exceeded.
|
|
63
|
+
*
|
|
64
|
+
* Performance: 25-50ms for typical swaps (1-3 tick crossings)
|
|
65
|
+
*
|
|
66
|
+
* @param poolKey - Pool identifier
|
|
67
|
+
* @param direction - Swap direction (zeroForOne or oneForZero)
|
|
68
|
+
* @param amount0 - Amount of token0
|
|
69
|
+
* @param amount1 - Amount of token1
|
|
70
|
+
* @param swapEvent - Full swap event data for delta calculation
|
|
71
|
+
* @returns Whether delta was successfully applied
|
|
72
|
+
*/
|
|
73
|
+
updatePoolWithSwapDelta(poolKey: string, direction: 'zeroForOne' | 'oneForZero', amount0: string, amount1: string, swapEvent?: SwapMonitorEvent): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Get cache statistics
|
|
76
|
+
*
|
|
77
|
+
* @returns Cache stats with tier breakdown
|
|
78
|
+
*/
|
|
79
|
+
getStats(): {
|
|
80
|
+
totalCached: number;
|
|
81
|
+
hotCacheSize: number;
|
|
82
|
+
warmCacheSize: number;
|
|
83
|
+
coldCacheSize: number;
|
|
84
|
+
memoryUsedMB: number;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Get information about a cached pool
|
|
88
|
+
*
|
|
89
|
+
* @param poolKey - Pool identifier
|
|
90
|
+
* @returns Pool info or null if not cached
|
|
91
|
+
*/
|
|
92
|
+
getPoolInfo(poolKey: string): {
|
|
93
|
+
poolKey: string;
|
|
94
|
+
tier: CacheTier;
|
|
95
|
+
lastAccessTime: Date;
|
|
96
|
+
expiresAt: Date;
|
|
97
|
+
swapsSinceRefetch: number;
|
|
98
|
+
cumulativeDrift: number;
|
|
99
|
+
isExpired: boolean;
|
|
100
|
+
} | null;
|
|
101
|
+
/**
|
|
102
|
+
* Warm cache with a pool (eager preload)
|
|
103
|
+
*
|
|
104
|
+
* Fetches and caches pool data for future access. Used during startup
|
|
105
|
+
* to preload high-priority pools.
|
|
106
|
+
*
|
|
107
|
+
* @param poolKey - Pool identifier to warm
|
|
108
|
+
* @returns Whether pool was successfully warmed
|
|
109
|
+
*/
|
|
110
|
+
warmCache(poolKey: string): Promise<boolean>;
|
|
111
|
+
/**
|
|
112
|
+
* Warm cache with multiple pools (batch eager preload)
|
|
113
|
+
*
|
|
114
|
+
* Fetches multiple pools in parallel with concurrency control.
|
|
115
|
+
* Useful for preloading top pools at startup.
|
|
116
|
+
*
|
|
117
|
+
* @param poolKeys - Array of pool identifiers to warm
|
|
118
|
+
* @param maxConcurrent - Maximum parallel requests (default: 5)
|
|
119
|
+
* @returns Statistics on warming results
|
|
120
|
+
*/
|
|
121
|
+
warmCacheBatch(poolKeys: string[], maxConcurrent?: number): Promise<{
|
|
122
|
+
succeeded: number;
|
|
123
|
+
failed: number;
|
|
124
|
+
total: number;
|
|
125
|
+
}>;
|
|
126
|
+
/**
|
|
127
|
+
* Clear entire cache
|
|
128
|
+
*/
|
|
129
|
+
clear(): void;
|
|
130
|
+
/**
|
|
131
|
+
* Clear expired entries
|
|
132
|
+
*/
|
|
133
|
+
clearExpired(): void;
|
|
134
|
+
/**
|
|
135
|
+
* Determine which tier a new pool should be added to
|
|
136
|
+
*
|
|
137
|
+
* @internal
|
|
138
|
+
*/
|
|
139
|
+
private determineTier;
|
|
140
|
+
/**
|
|
141
|
+
* Check if pool needs refetching
|
|
142
|
+
*
|
|
143
|
+
* @internal
|
|
144
|
+
*/
|
|
145
|
+
private checkRefetchNeeded;
|
|
146
|
+
/**
|
|
147
|
+
* Check if refetch thresholds are exceeded
|
|
148
|
+
*
|
|
149
|
+
* @internal
|
|
150
|
+
*/
|
|
151
|
+
private shouldRefetch;
|
|
152
|
+
/**
|
|
153
|
+
* Evict least recently used entries from cold cache
|
|
154
|
+
*
|
|
155
|
+
* Only evicts from cold cache tier. Preserves hot and warm caches.
|
|
156
|
+
*
|
|
157
|
+
* @internal
|
|
158
|
+
*/
|
|
159
|
+
private evictLRU;
|
|
160
|
+
/**
|
|
161
|
+
* Refresh hot and warm tier pools
|
|
162
|
+
*
|
|
163
|
+
* Called periodically by background warming to keep frequently accessed
|
|
164
|
+
* pools fresh and prevent accumulated drift from delta-only updates.
|
|
165
|
+
*
|
|
166
|
+
* @internal
|
|
167
|
+
*/
|
|
168
|
+
refreshWarmAndHotTiers(): Promise<void>;
|
|
169
|
+
}
|
|
170
|
+
export {};
|
|
171
|
+
//# sourceMappingURL=PoolCacheManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PoolCacheManager.d.ts","sourceRoot":"","sources":["../../../src/services/PoolCacheManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAEtG,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/D;;;;GAIG;AACH,KAAK,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAwBzC;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwD;IAEpF,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAIxB;IAEF,mCAAmC;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAIvB;IAEF,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAGhC;gBAGA,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,EAClE,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACnC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,CAAC,EAAE,MAAM;IAkBjB;;;;;;;;;;;OAWG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA2DhE;;;;;;;;;;;;;;OAcG;IACH,uBAAuB,CACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,YAAY,GAAG,YAAY,EACtC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO;IAyEV;;;;OAIG;IACH,QAAQ,IAAI;QACV,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;KACtB;IAkBD;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM;;;;;;;;;IAiB3B;;;;;;;;OAQG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBlD;;;;;;;;;OASG;IACG,cAAc,CAClB,QAAQ,EAAE,MAAM,EAAE,EAClB,aAAa,GAAE,MAAU,GACxB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAsChE;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,YAAY,IAAI,IAAI;IAgBpB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAkBrB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAcrB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IA2BhB;;;;;;;OAOG;IACG,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;CAmC9C"}
|
|
@@ -0,0 +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;IAwD7B;;;;OAIG;YACW,kBAAkB;IAqGhC;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
|
@@ -31,7 +31,7 @@ import { BaseService } from './BaseService';
|
|
|
31
31
|
*
|
|
32
32
|
* // Using tokenId
|
|
33
33
|
* const history = await service.fetchPriceHistory({
|
|
34
|
-
* tokenId: { collection: '
|
|
34
|
+
* tokenId: { collection: 'GUSDC', category: 'Unit', type: 'none', additionalKey: 'eth:...' },
|
|
35
35
|
* from: new Date('2024-01-01'),
|
|
36
36
|
* to: new Date('2024-01-31'),
|
|
37
37
|
* page: 1,
|
|
@@ -106,10 +106,10 @@ export declare class PriceHistoryService extends BaseService {
|
|
|
106
106
|
* // Using tokenId object format (explicit, no lookup required)
|
|
107
107
|
* const result = await service.fetchPriceHistory({
|
|
108
108
|
* tokenId: {
|
|
109
|
-
* collection: '
|
|
109
|
+
* collection: 'GUSDC',
|
|
110
110
|
* category: 'Unit',
|
|
111
|
-
* type: '
|
|
112
|
-
* additionalKey: '
|
|
111
|
+
* type: 'none',
|
|
112
|
+
* additionalKey: 'none'
|
|
113
113
|
* },
|
|
114
114
|
* from: new Date('2024-01-01'),
|
|
115
115
|
* to: new Date('2024-01-31'),
|
|
@@ -119,7 +119,7 @@ export declare class PriceHistoryService extends BaseService {
|
|
|
119
119
|
*
|
|
120
120
|
* // Using tokenId string format (backward compatible)
|
|
121
121
|
* const result = await service.fetchPriceHistory({
|
|
122
|
-
* tokenId: '
|
|
122
|
+
* tokenId: 'GUSDC|Unit|none|none',
|
|
123
123
|
* page: 1,
|
|
124
124
|
* limit: 20
|
|
125
125
|
* });
|
|
@@ -0,0 +1 @@
|
|
|
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,20 +1,17 @@
|
|
|
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
|
|
@@ -49,14 +46,6 @@ interface EIP712Domain {
|
|
|
49
46
|
name: string;
|
|
50
47
|
chainId: number;
|
|
51
48
|
}
|
|
52
|
-
/**
|
|
53
|
-
* Wallet preference enumeration
|
|
54
|
-
*/
|
|
55
|
-
export declare enum WalletPreference {
|
|
56
|
-
METAMASK = 0,
|
|
57
|
-
TRUST_WALLET = 1,
|
|
58
|
-
GALA_WALLET = 2
|
|
59
|
-
}
|
|
60
49
|
/**
|
|
61
50
|
* Service for handling EIP-712 signatures for bonding curve operations
|
|
62
51
|
*/
|
|
@@ -64,42 +53,31 @@ export declare class SignatureService extends LoggerBase {
|
|
|
64
53
|
private walletProvider;
|
|
65
54
|
constructor(walletProvider: WalletProvider, debug?: boolean);
|
|
66
55
|
/**
|
|
67
|
-
* Sign a DTO using EIP-712 with
|
|
56
|
+
* Sign a DTO using EIP-712 with ethers.js Wallet
|
|
68
57
|
*
|
|
69
58
|
* @param dto - The DTO to sign (extends ChainCallDTO)
|
|
70
59
|
* @param methodName - The method name for type generation
|
|
71
60
|
* @param walletAddress - The user's wallet address
|
|
72
|
-
* @param walletPreference - Wallet type preference
|
|
73
61
|
* @returns Signed payload ready for bundle submission
|
|
74
62
|
*/
|
|
75
|
-
signDTO(dto: SignableDTO, methodName: string,
|
|
63
|
+
signDTO(dto: SignableDTO, methodName: string, _walletAddress: string): Promise<SignableDTO & {
|
|
76
64
|
signature: string;
|
|
77
65
|
types?: EIP712Types;
|
|
78
66
|
domain?: EIP712Domain;
|
|
79
67
|
}>;
|
|
80
68
|
/**
|
|
81
|
-
* Sign with
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
* Sign with TrustWallet using signMessage
|
|
86
|
-
*/
|
|
87
|
-
private signWithTrustWallet;
|
|
88
|
-
/**
|
|
89
|
-
* Sign with GalaWallet using custom implementation
|
|
90
|
-
* 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.
|
|
91
73
|
*/
|
|
92
|
-
private
|
|
74
|
+
private signWithEthersWallet;
|
|
93
75
|
/**
|
|
94
76
|
* Generate EIP-712 types from DTO structure
|
|
95
77
|
* Dynamically creates type definitions based on DTO fields
|
|
96
78
|
* EXACTLY matches frontend implementation from readWriteUtils.ts
|
|
97
79
|
*/
|
|
98
80
|
private generateEIP712Types;
|
|
99
|
-
/**
|
|
100
|
-
* Detect wallet preference from provider
|
|
101
|
-
*/
|
|
102
|
-
detectWalletPreference(): WalletPreference;
|
|
103
81
|
}
|
|
104
82
|
export {};
|
|
105
83
|
//# sourceMappingURL=SignatureService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Swap Event Queue
|
|
3
|
+
*
|
|
4
|
+
* Manages event queuing with backpressure handling and batch processing.
|
|
5
|
+
* Prevents memory overflow by dropping events when queue exceeds capacity.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Configurable queue capacity
|
|
9
|
+
* - Batch processing for efficiency
|
|
10
|
+
* - Concurrency control
|
|
11
|
+
* - Automatic metrics tracking
|
|
12
|
+
* - Graceful shutdown
|
|
13
|
+
*
|
|
14
|
+
* @packageDocumentation
|
|
15
|
+
*/
|
|
16
|
+
import type { SwapEventData, SwapMonitorConfig } from '../types/swap-monitor.dto';
|
|
17
|
+
import { Logger } from '../utils/Logger';
|
|
18
|
+
import { MonitoringMetrics } from '../utils/MonitoringMetrics';
|
|
19
|
+
/**
|
|
20
|
+
* Queue statistics
|
|
21
|
+
*
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export interface QueueStats {
|
|
25
|
+
queueSize: number;
|
|
26
|
+
eventsProcessed: number;
|
|
27
|
+
eventsDropped: number;
|
|
28
|
+
currentConcurrent: number;
|
|
29
|
+
maxConcurrentReached: number;
|
|
30
|
+
averageBatchSize: number;
|
|
31
|
+
totalBatchesProcessed: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Manages event queue with backpressure and batch processing
|
|
35
|
+
*
|
|
36
|
+
* Provides reliable event queuing with overflow protection. Events are processed
|
|
37
|
+
* in batches to improve efficiency while maintaining concurrency limits.
|
|
38
|
+
*
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
export declare class SwapEventQueue {
|
|
42
|
+
private readonly queue;
|
|
43
|
+
private readonly config;
|
|
44
|
+
private readonly metrics;
|
|
45
|
+
private readonly logger;
|
|
46
|
+
private isShuttingDown;
|
|
47
|
+
private currentConcurrency;
|
|
48
|
+
private maxConcurrencyReached;
|
|
49
|
+
private eventsDropped;
|
|
50
|
+
private totalBatchesProcessed;
|
|
51
|
+
private totalBatchSize;
|
|
52
|
+
private eventsProcessedCount;
|
|
53
|
+
/** Processor function - called for each event */
|
|
54
|
+
private processor;
|
|
55
|
+
/** Processing loop control */
|
|
56
|
+
private processingScheduled;
|
|
57
|
+
/** Cross-platform scheduler */
|
|
58
|
+
private scheduleProcessing;
|
|
59
|
+
constructor(config: Required<SwapMonitorConfig>, metrics: MonitoringMetrics, logger?: Logger);
|
|
60
|
+
/**
|
|
61
|
+
* Set the event processor function
|
|
62
|
+
*
|
|
63
|
+
* @param processor - Function to process each event
|
|
64
|
+
*/
|
|
65
|
+
setProcessor(processor: (event: SwapEventData) => Promise<void>): void;
|
|
66
|
+
/**
|
|
67
|
+
* Enqueue a swap event for processing
|
|
68
|
+
*
|
|
69
|
+
* Returns false if queue is full (backpressure), indicating event was dropped.
|
|
70
|
+
*
|
|
71
|
+
* @param event - Swap event to queue
|
|
72
|
+
* @returns True if enqueued, false if dropped due to overflow
|
|
73
|
+
*/
|
|
74
|
+
enqueue(event: SwapEventData): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Get current queue size
|
|
77
|
+
*
|
|
78
|
+
* @returns Number of events waiting to be processed
|
|
79
|
+
*/
|
|
80
|
+
getQueueSize(): number;
|
|
81
|
+
/**
|
|
82
|
+
* Get queue statistics
|
|
83
|
+
*
|
|
84
|
+
* @returns Queue stats with metrics
|
|
85
|
+
*/
|
|
86
|
+
getStats(): QueueStats;
|
|
87
|
+
/**
|
|
88
|
+
* Wait for queue to be empty
|
|
89
|
+
*
|
|
90
|
+
* @param timeoutMs - Maximum time to wait (default: no timeout)
|
|
91
|
+
* @returns Promise that resolves when queue is empty or timeout
|
|
92
|
+
*/
|
|
93
|
+
waitForEmpty(timeoutMs?: number): Promise<void>;
|
|
94
|
+
/**
|
|
95
|
+
* Shutdown the queue gracefully
|
|
96
|
+
*
|
|
97
|
+
* Stops accepting new events and waits for processing to complete.
|
|
98
|
+
*
|
|
99
|
+
* @param timeoutMs - Maximum time to wait for processing to complete (default: 30s)
|
|
100
|
+
*/
|
|
101
|
+
shutdown(timeoutMs?: number): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* Clear the queue without processing
|
|
104
|
+
*
|
|
105
|
+
* Use with caution - discards all pending events.
|
|
106
|
+
*/
|
|
107
|
+
clear(): void;
|
|
108
|
+
/**
|
|
109
|
+
* Process next batch of events
|
|
110
|
+
*
|
|
111
|
+
* Respects concurrency limits and batch size configuration.
|
|
112
|
+
*
|
|
113
|
+
* @internal
|
|
114
|
+
*/
|
|
115
|
+
private processNextBatch;
|
|
116
|
+
/**
|
|
117
|
+
* Process a single event
|
|
118
|
+
*
|
|
119
|
+
* @internal
|
|
120
|
+
*/
|
|
121
|
+
private processEvent;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=SwapEventQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwapEventQueue.d.ts","sourceRoot":"","sources":["../../../src/services/SwapEventQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,oBAAoB,CAAK;IAEjC,iDAAiD;IACjD,OAAO,CAAC,SAAS,CAA0D;IAE3E,8BAA8B;IAC9B,OAAO,CAAC,mBAAmB,CAAS;IAEpC,+BAA+B;IAC/B,OAAO,CAAC,kBAAkB,CAMxB;gBAGA,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACnC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,CAAC,EAAE,MAAM;IAWjB;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAItE;;;;;;;OAOG;IACH,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAgCtC;;;;OAIG;IACH,YAAY,IAAI,MAAM;IAItB;;;;OAIG;IACH,QAAQ,IAAI,UAAU;IAYtB;;;;;OAKG;IACG,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrD;;;;;;OAMG;IACG,QAAQ,CAAC,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBxD;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAQb;;;;;;OAMG;YACW,gBAAgB;IAoE9B;;;;OAIG;YACW,YAAY;CAiB3B"}
|
|
@@ -0,0 +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;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"}
|
|
@@ -261,12 +261,12 @@ export declare class TokenMetadataCache extends LoggerBase {
|
|
|
261
261
|
* Retrieves cached metadata for a DEX token identified by tokenId (pipe-delimited format).
|
|
262
262
|
* This method is specifically designed for DEX token symbol caching from API responses.
|
|
263
263
|
*
|
|
264
|
-
* @param tokenId Token ID in pipe-delimited format (e.g., '
|
|
264
|
+
* @param tokenId Token ID in pipe-delimited format (e.g., 'GUSDC|Unit|none|eth:0x...')
|
|
265
265
|
* @returns Cached metadata or null if not cached
|
|
266
266
|
*
|
|
267
267
|
* @example Retrieving cached DEX token symbol
|
|
268
268
|
* ```typescript
|
|
269
|
-
* const metadata = cache.getByTokenId('
|
|
269
|
+
* const metadata = cache.getByTokenId('GUSDC|Unit|none|eth:0x...');
|
|
270
270
|
* if (metadata?.symbol) {
|
|
271
271
|
* console.log(`Symbol: ${metadata.symbol}`);
|
|
272
272
|
* }
|
|
@@ -279,12 +279,12 @@ export declare class TokenMetadataCache extends LoggerBase {
|
|
|
279
279
|
* Caches metadata for a DEX token identified by tokenId (pipe-delimited format).
|
|
280
280
|
* Useful for caching token symbols and other DEX metadata from API responses.
|
|
281
281
|
*
|
|
282
|
-
* @param tokenId Token ID in pipe-delimited format (e.g., '
|
|
282
|
+
* @param tokenId Token ID in pipe-delimited format (e.g., 'GUSDC|Unit|none|eth:0x...')
|
|
283
283
|
* @param metadata Partial or complete metadata to cache (merged with existing data)
|
|
284
284
|
*
|
|
285
285
|
* @example Caching DEX token symbol
|
|
286
286
|
* ```typescript
|
|
287
|
-
* cache.setByTokenId('
|
|
287
|
+
* cache.setByTokenId('GUSDC|Unit|none|eth:0x...', {
|
|
288
288
|
* symbol: 'GUSDC'
|
|
289
289
|
* });
|
|
290
290
|
* ```
|
|
@@ -293,7 +293,7 @@ export declare class TokenMetadataCache extends LoggerBase {
|
|
|
293
293
|
/**
|
|
294
294
|
* Check if a tokenId exists in cache (DEX token format)
|
|
295
295
|
*
|
|
296
|
-
* @param tokenId Token ID in pipe-delimited format (e.g., '
|
|
296
|
+
* @param tokenId Token ID in pipe-delimited format (e.g., 'GUSDC|Unit|none|eth:0x...')
|
|
297
297
|
* @returns True if tokenId has any cached metadata
|
|
298
298
|
*/
|
|
299
299
|
hasByTokenId(tokenId: string): boolean;
|