@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 @@
|
|
|
1
|
+
{"version":3,"file":"GSwapService.d.ts","sourceRoot":"","sources":["../../../src/services/GSwapService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
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
|
+
* Supports both compound key lookup (preferred) and simple positionId lookup
|
|
48
|
+
*
|
|
49
|
+
* Compound key requires: owner + token0 + token1 + tickLower + tickUpper + fee
|
|
50
|
+
* PositionId approach uses just the position ID (fallback for compatibility)
|
|
51
|
+
*
|
|
52
|
+
* @param ownerOrPositionId - Position owner address OR position ID
|
|
53
|
+
* @param token0Optional - Token0 symbol or TokenClassKey (required for compound key lookup)
|
|
54
|
+
* @param token1Optional - Token1 symbol or TokenClassKey (required for compound key lookup)
|
|
55
|
+
* @param feeOptional - Fee tier (required for compound key lookup)
|
|
56
|
+
* @param tickLowerOptional - Lower tick boundary (required for compound key lookup)
|
|
57
|
+
* @param tickUpperOptional - Upper tick boundary (required for compound key lookup)
|
|
58
|
+
* @param positionIdOptional - Position ID (optional, included in request)
|
|
59
|
+
* @returns Position data if found
|
|
60
|
+
* @throws ApiError if position not found or request fails
|
|
61
|
+
*/
|
|
62
|
+
getPositionById(ownerOrPositionId: string, token0Optional?: string | Record<string, any>, token1Optional?: string | Record<string, any>, feeOptional?: number, tickLowerOptional?: number, tickUpperOptional?: number, positionIdOptional?: string): Promise<GalaChainResponse<any>>;
|
|
63
|
+
/**
|
|
64
|
+
* Get liquidity removal estimation from GalaChain Gateway
|
|
65
|
+
* Endpoint: POST /api/asset/dexv3-contract/GetRemoveLiquidityEstimation
|
|
66
|
+
*
|
|
67
|
+
* Calculates amounts user will receive when removing liquidity
|
|
68
|
+
* Includes both principal amounts and accumulated fees
|
|
69
|
+
*
|
|
70
|
+
* @param request - Removal estimation request with position details
|
|
71
|
+
* @returns Estimated amounts to be received
|
|
72
|
+
* @throws ApiError if request fails
|
|
73
|
+
*/
|
|
74
|
+
getRemoveLiquidityEstimation(request: GalaChainGetRemoveLiquidityEstimationRequest): Promise<GalaChainRemoveLiquidityEstimation>;
|
|
75
|
+
/**
|
|
76
|
+
* Validate GalaChain Gateway response wrapper
|
|
77
|
+
* Checks for errors and required fields
|
|
78
|
+
*
|
|
79
|
+
* @param response - Response object to validate
|
|
80
|
+
* @throws ApiError if response indicates error or is malformed
|
|
81
|
+
*/
|
|
82
|
+
private validateResponse;
|
|
83
|
+
/**
|
|
84
|
+
* Handle errors from axios or gateway
|
|
85
|
+
* Converts various error types to ApiError
|
|
86
|
+
*
|
|
87
|
+
* @param error - Error from axios or validation
|
|
88
|
+
* @param context - Method name for better error messages
|
|
89
|
+
* @returns ApiError with context
|
|
90
|
+
*/
|
|
91
|
+
private handleError;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Type re-export for convenience
|
|
95
|
+
* Used when function returns wrapped response
|
|
96
|
+
*/
|
|
97
|
+
export type GalaChainResponse<T> = GalaChainGatewayResponse<T>;
|
|
98
|
+
//# 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;IAwCnF;;;;;;;;;;;;;OAaG;IACG,YAAY,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAoCjG;;;;;;;;;;;;;;;;OAgBG;IACG,eAAe,CACnB,iBAAiB,EAAE,MAAM,EAEzB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAE7C,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7C,WAAW,CAAC,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,iBAAiB,CAAC,EAAE,MAAM,EAC1B,kBAAkB,CAAC,EAAE,MAAM,GAE1B,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAyHlC;;;;;;;;;;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,8 @@ 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 { LockTokenData, UnlockTokenData } from '../types/lock.dto';
|
|
56
|
+
import { TokenClassWithSupply } from '../types/launchpad.dto';
|
|
55
57
|
/**
|
|
56
58
|
* GalaChain Service for blockchain operations
|
|
57
59
|
*/
|
|
@@ -193,15 +195,40 @@ export declare class GalaChainService extends BaseService {
|
|
|
193
195
|
*
|
|
194
196
|
* // Fetch wrapped token metadata
|
|
195
197
|
* const gusdc = await galaChainService.fetchTokenClassFromChain({
|
|
196
|
-
* collection: '
|
|
198
|
+
* collection: 'GUSDC',
|
|
197
199
|
* category: 'Unit',
|
|
198
|
-
* type: '
|
|
199
|
-
* additionalKey: '
|
|
200
|
+
* type: 'none',
|
|
201
|
+
* additionalKey: 'none'
|
|
200
202
|
* });
|
|
201
203
|
* console.log(`Symbol: ${gusdc.symbol}`); // "GUSDC"
|
|
202
204
|
* ```
|
|
203
205
|
*/
|
|
204
206
|
fetchTokenClassFromChain(tokenId: string | TokenClassKey): Promise<TokenClass>;
|
|
207
|
+
/**
|
|
208
|
+
* Fetch supply information for one or more token classes from GalaChain
|
|
209
|
+
*
|
|
210
|
+
* Queries GalaChain for authoritative token supply data including:
|
|
211
|
+
* - Total supply and maximum supply
|
|
212
|
+
* - Total burned amount
|
|
213
|
+
* - Mint-related supply metrics
|
|
214
|
+
* - Token metadata (symbol, decimals, name)
|
|
215
|
+
*
|
|
216
|
+
* @param tokenClasses - Array of token class keys to query
|
|
217
|
+
* @returns Promise<TokenClassWithSupply[]> Array of token classes with supply information
|
|
218
|
+
* @throws {ValidationError} if tokenClasses array is empty
|
|
219
|
+
* @throws {Error} if network request fails or GalaChain returns error status
|
|
220
|
+
*
|
|
221
|
+
* @example
|
|
222
|
+
* ```typescript
|
|
223
|
+
* const supplies = await galaChainService.fetchTokenClassesWithSupply([
|
|
224
|
+
* { collection: 'GALA', category: 'Unit', type: 'none', additionalKey: 'none' },
|
|
225
|
+
* { collection: 'GUSDC', category: 'Unit', type: 'none', additionalKey: 'eth:0x...' }
|
|
226
|
+
* ]);
|
|
227
|
+
*
|
|
228
|
+
* console.log(`${supplies[0].symbol}: ${supplies[0].totalSupply}`);
|
|
229
|
+
* ```
|
|
230
|
+
*/
|
|
231
|
+
fetchTokenClassesWithSupply(tokenClasses: TokenClassKey[]): Promise<TokenClassWithSupply[]>;
|
|
205
232
|
/**
|
|
206
233
|
* Transfer GALA tokens between wallets
|
|
207
234
|
*
|
|
@@ -272,6 +299,66 @@ export declare class GalaChainService extends BaseService {
|
|
|
272
299
|
* @throws {TransferError} When token name cannot be resolved
|
|
273
300
|
*/
|
|
274
301
|
resolveTokenClassKey(tokenName: string): Promise<TokenClassKey>;
|
|
302
|
+
/**
|
|
303
|
+
* Lock tokens on GalaChain
|
|
304
|
+
*
|
|
305
|
+
* Locks a specified amount of tokens, preventing them from being transferred
|
|
306
|
+
* until unlocked by the lock authority. Useful for staking, escrow, vesting,
|
|
307
|
+
* or other hold scenarios.
|
|
308
|
+
*
|
|
309
|
+
* @param data - Lock parameters including token identification and amount
|
|
310
|
+
* @returns Promise<string> Transaction ID or success identifier
|
|
311
|
+
*
|
|
312
|
+
* @example
|
|
313
|
+
* ```typescript
|
|
314
|
+
* // Lock tokens with default settings (caller is lock authority)
|
|
315
|
+
* const txId = await galaChainService.lockToken({
|
|
316
|
+
* tokenName: 'unicorn',
|
|
317
|
+
* amount: '100'
|
|
318
|
+
* });
|
|
319
|
+
*
|
|
320
|
+
* // Lock tokens with expiration and custom lock authority
|
|
321
|
+
* const txId = await galaChainService.lockToken({
|
|
322
|
+
* tokenId: 'Token$Unit$UNI$eth:0x...',
|
|
323
|
+
* amount: '100',
|
|
324
|
+
* lockAuthority: 'eth|0x1234...', // Another wallet can unlock
|
|
325
|
+
* expires: Date.now() + 86400000, // Expires in 24 hours
|
|
326
|
+
* name: 'staking-lock-v1'
|
|
327
|
+
* });
|
|
328
|
+
* ```
|
|
329
|
+
*
|
|
330
|
+
* @throws {TransferError} When validation fails or lock operation is rejected
|
|
331
|
+
*/
|
|
332
|
+
lockToken(data: LockTokenData): Promise<string>;
|
|
333
|
+
/**
|
|
334
|
+
* Unlock previously locked tokens on GalaChain
|
|
335
|
+
*
|
|
336
|
+
* Releases locked tokens, making them available for transfer again.
|
|
337
|
+
* Must be signed by the lock authority (the address that created the lock
|
|
338
|
+
* or was designated as lock authority).
|
|
339
|
+
*
|
|
340
|
+
* @param data - Unlock parameters including token identification and amount
|
|
341
|
+
* @returns Promise<string> Transaction ID or success identifier
|
|
342
|
+
*
|
|
343
|
+
* @example
|
|
344
|
+
* ```typescript
|
|
345
|
+
* // Unlock tokens
|
|
346
|
+
* const txId = await galaChainService.unlockToken({
|
|
347
|
+
* tokenName: 'unicorn',
|
|
348
|
+
* amount: '50'
|
|
349
|
+
* });
|
|
350
|
+
*
|
|
351
|
+
* // Unlock tokens matching a specific lock name
|
|
352
|
+
* const txId = await galaChainService.unlockToken({
|
|
353
|
+
* tokenId: 'Token$Unit$UNI$eth:0x...',
|
|
354
|
+
* amount: '100',
|
|
355
|
+
* name: 'staking-lock-v1' // Must match the name used during lock
|
|
356
|
+
* });
|
|
357
|
+
* ```
|
|
358
|
+
*
|
|
359
|
+
* @throws {TransferError} When validation fails or unlock operation is rejected
|
|
360
|
+
*/
|
|
361
|
+
unlockToken(data: UnlockTokenData): Promise<string>;
|
|
275
362
|
/**
|
|
276
363
|
* Validate GALA transfer data
|
|
277
364
|
*/
|
|
@@ -280,6 +367,14 @@ export declare class GalaChainService extends BaseService {
|
|
|
280
367
|
* Validate token transfer data
|
|
281
368
|
*/
|
|
282
369
|
private validateTransferTokenData;
|
|
370
|
+
/**
|
|
371
|
+
* Validate lock token data
|
|
372
|
+
*/
|
|
373
|
+
private validateLockTokenData;
|
|
374
|
+
/**
|
|
375
|
+
* Validate unlock token data
|
|
376
|
+
*/
|
|
377
|
+
private validateUnlockTokenData;
|
|
283
378
|
/**
|
|
284
379
|
* Resolve token name to tokenInstance object for transfers
|
|
285
380
|
* Uses TokenResolverService to get vault address, then parses it to extract tokenInstance components
|
|
@@ -303,7 +398,7 @@ export declare class GalaChainService extends BaseService {
|
|
|
303
398
|
*/
|
|
304
399
|
private extractTransactionIdFromResponse;
|
|
305
400
|
/**
|
|
306
|
-
* Handle transfer errors with proper typing and context
|
|
401
|
+
* Handle transfer/lock/unlock errors with proper typing and context
|
|
307
402
|
*/
|
|
308
403
|
private handleTransferError;
|
|
309
404
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GalaChainService.d.ts","sourceRoot":"","sources":["../../../src/services/GalaChainService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +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;CAiDnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LaunchpadService.d.ts","sourceRoot":"","sources":["../../../src/services/LaunchpadService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-Pool State Manager
|
|
3
|
+
*
|
|
4
|
+
* Core coordinator for real-time DEX swap monitoring with offline price prediction.
|
|
5
|
+
* Manages WebSocket events, pool caching, delta application, and offline quotes.
|
|
6
|
+
*
|
|
7
|
+
* Architecture:
|
|
8
|
+
* - WebSocket listener for global swap broadcasts
|
|
9
|
+
* - Event extraction and recursive payload walking
|
|
10
|
+
* - Tiered LRU pool cache (hot/warm/cold)
|
|
11
|
+
* - Delta-based pool updates (~15-25ms vs full refetch ~200-400ms)
|
|
12
|
+
* - Offline quote calculation (~25-50ms)
|
|
13
|
+
* - Event filtering (position-independent tokens, order-independent pairs)
|
|
14
|
+
* - Metrics collection and health monitoring
|
|
15
|
+
*
|
|
16
|
+
* Performance Target: <50ms P50 latency for arbitrage bot use case
|
|
17
|
+
*
|
|
18
|
+
* @packageDocumentation
|
|
19
|
+
*/
|
|
20
|
+
import type { Socket } from 'socket.io-client';
|
|
21
|
+
import type { SwapEventCallback, SubscribeSwapOptions, SwapMonitorConfig, SwapMonitorHealth, CleanupFunction } from '../types/swap-monitor.dto';
|
|
22
|
+
import type { CompositePoolDataResult } from '../types/composite-pool.dto';
|
|
23
|
+
import { Logger } from '../utils/Logger';
|
|
24
|
+
import type { DexQuoteService } from './DexQuoteService';
|
|
25
|
+
/**
|
|
26
|
+
* Manages real-time DEX swap monitoring across multiple pools
|
|
27
|
+
*
|
|
28
|
+
* Coordinates event extraction, filtering, caching, delta application,
|
|
29
|
+
* and offline quote calculation for arbitrage bot use cases.
|
|
30
|
+
*
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
export declare class MultiPoolStateManager {
|
|
34
|
+
private socket;
|
|
35
|
+
private socketReady;
|
|
36
|
+
private readonly config;
|
|
37
|
+
private readonly logger;
|
|
38
|
+
private readonly metrics;
|
|
39
|
+
private readonly eventExtractor;
|
|
40
|
+
private readonly quoteService;
|
|
41
|
+
private readonly cacheManager;
|
|
42
|
+
private readonly eventQueue;
|
|
43
|
+
private seenTransactions;
|
|
44
|
+
private maxSeenTransactions;
|
|
45
|
+
private listeners;
|
|
46
|
+
private onErrorCallbacks;
|
|
47
|
+
private isActive;
|
|
48
|
+
private listenerRegistered;
|
|
49
|
+
/** Handler function for cleanup reference */
|
|
50
|
+
private handleSwapEvent;
|
|
51
|
+
/** Background warming loop interval handle */
|
|
52
|
+
private warmingIntervalHandle;
|
|
53
|
+
/** Reconnection state tracking */
|
|
54
|
+
private reconnectAttempts;
|
|
55
|
+
private maxReconnectAttempts;
|
|
56
|
+
private reconnectDelayMs;
|
|
57
|
+
constructor(socket: Socket | Promise<Socket>, fetchPoolFn: (poolKey: string) => Promise<CompositePoolDataResult>, quoteService: DexQuoteService, config?: SwapMonitorConfig, logger?: Logger);
|
|
58
|
+
/**
|
|
59
|
+
* Subscribe to swap events for real-time monitoring
|
|
60
|
+
*
|
|
61
|
+
* Sets up WebSocket listener for global swap broadcasts and event processing.
|
|
62
|
+
* Filters events based on options and calls callback for matching swaps.
|
|
63
|
+
* Automatically manages cache warming, offline quote calculation, and reconnection.
|
|
64
|
+
*
|
|
65
|
+
* **Performance:**
|
|
66
|
+
* - WebSocket connection: ~100-500ms initial setup
|
|
67
|
+
* - Event latency: <50ms P50 (25-50ms typical)
|
|
68
|
+
* - Delta application: 15-25ms (vs 200-400ms full refetch)
|
|
69
|
+
* - Offline quote: 25-50ms
|
|
70
|
+
*
|
|
71
|
+
* **Features:**
|
|
72
|
+
* - Position-independent token matching (GALA/USDC matches token0/token1 in any position)
|
|
73
|
+
* - Order-independent pair matching (GALA/USDC == USDC/GALA)
|
|
74
|
+
* - Tiered LRU cache with automatic background warming
|
|
75
|
+
* - Three-tier reconnection strategy for resilience
|
|
76
|
+
* - Delta-based pool updates for sub-50ms latency
|
|
77
|
+
*
|
|
78
|
+
* @param options - Subscription filter options
|
|
79
|
+
* @param options.tokenFilter - Token symbol to monitor (position-independent)
|
|
80
|
+
* @param options.pairFilter - Pair of tokens to monitor (order-independent, e.g., ['GALA', 'USDC'])
|
|
81
|
+
* @param options.feeFilter - Fee tier in basis points (e.g., 500, 3000, 10000)
|
|
82
|
+
* @param options.userFilter - User address to filter events
|
|
83
|
+
* @param options.onError - Error callback for connection/processing failures
|
|
84
|
+
*
|
|
85
|
+
* @param callback - Function called for each matching swap with signature:
|
|
86
|
+
* `(event: SwapEventData, quote: OfflineQuote | null) => Promise<void>`
|
|
87
|
+
*
|
|
88
|
+
* @returns Cleanup function to unsubscribe and stop monitoring. Call this to:
|
|
89
|
+
* - Remove the listener
|
|
90
|
+
* - Unsubscribe from WebSocket if no other listeners exist
|
|
91
|
+
* - Clean up background warming and metric collection
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```typescript
|
|
95
|
+
* // Monitor GALA/USDC swaps for arbitrage opportunities
|
|
96
|
+
* const cleanup = monitor.subscribe(
|
|
97
|
+
* {
|
|
98
|
+
* pairFilter: ['GALA', 'USDC'],
|
|
99
|
+
* feeFilter: 3000,
|
|
100
|
+
* onError: (error) => console.error('Monitoring error:', error)
|
|
101
|
+
* },
|
|
102
|
+
* async (swap, quote) => {
|
|
103
|
+
* if (quote && quote.priceImpact < 0.01) {
|
|
104
|
+
* console.log(`Arbitrage opportunity: ${quote.priceImpact * 100}% impact`);
|
|
105
|
+
* // Execute arbitrage logic
|
|
106
|
+
* }
|
|
107
|
+
* }
|
|
108
|
+
* );
|
|
109
|
+
*
|
|
110
|
+
* // Later, stop monitoring
|
|
111
|
+
* cleanup();
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
subscribe(options: SubscribeSwapOptions, callback: SwapEventCallback): CleanupFunction;
|
|
115
|
+
/**
|
|
116
|
+
* Get current health status with enhanced diagnostics
|
|
117
|
+
*
|
|
118
|
+
* Provides comprehensive health metrics including latency percentiles,
|
|
119
|
+
* cache performance trends, memory usage, and health recommendations.
|
|
120
|
+
*
|
|
121
|
+
* @returns Enhanced health object with detailed diagnostics
|
|
122
|
+
*/
|
|
123
|
+
getHealth(): SwapMonitorHealth & {
|
|
124
|
+
recommendations?: string[];
|
|
125
|
+
detailedMetrics?: {
|
|
126
|
+
eventQueueUtilization: number;
|
|
127
|
+
cacheUtilization: number;
|
|
128
|
+
memoryUtilization: number;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Generate health recommendations based on current state
|
|
133
|
+
*
|
|
134
|
+
* @internal
|
|
135
|
+
*/
|
|
136
|
+
private generateHealthRecommendations;
|
|
137
|
+
/**
|
|
138
|
+
* Get summary statistics
|
|
139
|
+
*
|
|
140
|
+
* @returns Summary with key metrics
|
|
141
|
+
*/
|
|
142
|
+
getSummary(): {
|
|
143
|
+
queueStats: import("./SwapEventQueue").QueueStats;
|
|
144
|
+
cacheStats: {
|
|
145
|
+
totalCached: number;
|
|
146
|
+
hotCacheSize: number;
|
|
147
|
+
warmCacheSize: number;
|
|
148
|
+
coldCacheSize: number;
|
|
149
|
+
memoryUsedMB: number;
|
|
150
|
+
};
|
|
151
|
+
eventsProcessed: number;
|
|
152
|
+
eventsDropped: number;
|
|
153
|
+
cacheHitRate: number;
|
|
154
|
+
averageLatency: number;
|
|
155
|
+
memoryUsedMB: number;
|
|
156
|
+
throughputPerSecond: number;
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* Start background cache warming loop
|
|
160
|
+
*
|
|
161
|
+
* Periodically refreshes hot and warm cached pools to keep data fresh.
|
|
162
|
+
* Helps prevent accumulated drift from delta-only updates.
|
|
163
|
+
*
|
|
164
|
+
* @internal
|
|
165
|
+
*/
|
|
166
|
+
private startBackgroundWarming;
|
|
167
|
+
/**
|
|
168
|
+
* Stop background cache warming loop
|
|
169
|
+
*
|
|
170
|
+
* @internal
|
|
171
|
+
*/
|
|
172
|
+
private stopBackgroundWarming;
|
|
173
|
+
/**
|
|
174
|
+
* Perform background cache warming
|
|
175
|
+
*
|
|
176
|
+
* Periodically refreshes pools in hot and warm tiers to prevent accumulated drift.
|
|
177
|
+
* This helps maintain cache accuracy during low-event periods.
|
|
178
|
+
*
|
|
179
|
+
* @internal
|
|
180
|
+
*/
|
|
181
|
+
private performBackgroundWarming;
|
|
182
|
+
/**
|
|
183
|
+
* Shutdown gracefully
|
|
184
|
+
*
|
|
185
|
+
* Stops listening, processes remaining events, and cleans up resources.
|
|
186
|
+
*/
|
|
187
|
+
shutdown(): Promise<void>;
|
|
188
|
+
/**
|
|
189
|
+
* Set up connection monitoring and error handling
|
|
190
|
+
*
|
|
191
|
+
* Implements three-tier reconnection strategy:
|
|
192
|
+
* - Tier 1 (Quick): Immediate reconnect for transient failures
|
|
193
|
+
* - Tier 2 (Exponential): Backoff with exponential delay after failures
|
|
194
|
+
* - Tier 3 (Reset): Full system reset after max retries
|
|
195
|
+
*
|
|
196
|
+
* @internal
|
|
197
|
+
*/
|
|
198
|
+
private setupConnectionMonitoring;
|
|
199
|
+
/**
|
|
200
|
+
* Attempt to reconnect with three-tier strategy
|
|
201
|
+
*
|
|
202
|
+
* @internal
|
|
203
|
+
*/
|
|
204
|
+
private attemptReconnection;
|
|
205
|
+
/**
|
|
206
|
+
* Perform full system reset after max reconnection failures
|
|
207
|
+
*
|
|
208
|
+
* Clears cache, resets metrics, and logs comprehensive diagnostic info.
|
|
209
|
+
*
|
|
210
|
+
* @internal
|
|
211
|
+
*/
|
|
212
|
+
private performFullReset;
|
|
213
|
+
/**
|
|
214
|
+
* Set up WebSocket listener for swap events
|
|
215
|
+
*
|
|
216
|
+
* @internal
|
|
217
|
+
*/
|
|
218
|
+
private setupWebSocketListener;
|
|
219
|
+
/**
|
|
220
|
+
* Unsubscribe from events
|
|
221
|
+
*
|
|
222
|
+
* @internal
|
|
223
|
+
*/
|
|
224
|
+
private unsubscribe;
|
|
225
|
+
/**
|
|
226
|
+
* Filter swap based on subscription options
|
|
227
|
+
*
|
|
228
|
+
* Applies position-independent and order-independent matching.
|
|
229
|
+
*
|
|
230
|
+
* @internal
|
|
231
|
+
*/
|
|
232
|
+
private filterSwap;
|
|
233
|
+
/**
|
|
234
|
+
* Process a single swap event
|
|
235
|
+
*
|
|
236
|
+
* Updates pool cache with delta, calculates offline quote, and calls listeners.
|
|
237
|
+
*
|
|
238
|
+
* @internal
|
|
239
|
+
*/
|
|
240
|
+
private processSwapEvent;
|
|
241
|
+
/**
|
|
242
|
+
* Notify error handlers
|
|
243
|
+
*
|
|
244
|
+
* @internal
|
|
245
|
+
*/
|
|
246
|
+
private notifyError;
|
|
247
|
+
/**
|
|
248
|
+
* Determine health status based on metrics
|
|
249
|
+
*
|
|
250
|
+
* @internal
|
|
251
|
+
*/
|
|
252
|
+
private determineHealthStatus;
|
|
253
|
+
/**
|
|
254
|
+
* Get max memory based on profile
|
|
255
|
+
*
|
|
256
|
+
* @internal
|
|
257
|
+
*/
|
|
258
|
+
private getMaxMemoryMB;
|
|
259
|
+
/**
|
|
260
|
+
* Apply configuration defaults
|
|
261
|
+
*
|
|
262
|
+
* @internal
|
|
263
|
+
*/
|
|
264
|
+
private applyDefaults;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Bounded Set with LRU eviction for transaction deduplication
|
|
268
|
+
*
|
|
269
|
+
* Provides Set-like interface with automatic eviction of oldest entries
|
|
270
|
+
* when capacity is reached. Prevents unbounded memory growth in 24/7 bots.
|
|
271
|
+
*
|
|
272
|
+
* @internal
|
|
273
|
+
*/
|
|
274
|
+
export declare class BoundedTransactionSet {
|
|
275
|
+
private readonly map;
|
|
276
|
+
private readonly maxSize;
|
|
277
|
+
constructor(maxSize: number);
|
|
278
|
+
has(transactionId: string): boolean;
|
|
279
|
+
add(transactionId: string): this;
|
|
280
|
+
delete(transactionId: string): boolean;
|
|
281
|
+
clear(): void;
|
|
282
|
+
get size(): number;
|
|
283
|
+
}
|
|
284
|
+
//# sourceMappingURL=MultiPoolStateManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiPoolStateManager.d.ts","sourceRoot":"","sources":["../../../src/services/MultiPoolStateManager.ts"],"names":[],"mappings":"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"}
|