@gala-chain/launchpad-sdk 5.0.2-beta.1 → 5.0.4-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/EXAMPLES.md +141 -7
- package/README.md +68 -36
- package/dist/ai-docs.json +7357 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +70 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/src/LaunchpadSDK.d.ts +3288 -214
- package/dist/src/LaunchpadSDK.d.ts.map +1 -1
- package/dist/src/api/LaunchpadAPI.d.ts +21 -41
- package/dist/src/api/LaunchpadAPI.d.ts.map +1 -1
- package/dist/src/api/dto/BurnTokensDto.d.ts.map +1 -1
- package/dist/src/api/dto/LockTokenDto.d.ts.map +1 -1
- package/dist/src/api/dto/TransferTokenDto.d.ts.map +1 -1
- package/dist/src/api/dto/UnlockTokenDto.d.ts.map +1 -1
- package/dist/src/auth/JwtAuth.d.ts +145 -0
- package/dist/src/auth/JwtAuth.d.ts.map +1 -0
- package/dist/src/auth/SessionAuthService.d.ts +146 -0
- package/dist/src/auth/SessionAuthService.d.ts.map +1 -0
- package/dist/src/auth/SignatureAuth.d.ts.map +1 -1
- package/dist/src/bridge/BridgeService.d.ts.map +1 -1
- package/dist/src/bridge/GalaConnectClient.d.ts.map +1 -1
- package/dist/src/bridge/constants/tokens.d.ts +4 -3
- package/dist/src/bridge/constants/tokens.d.ts.map +1 -1
- package/dist/src/bridge/index.d.ts +1 -0
- package/dist/src/bridge/index.d.ts.map +1 -1
- package/dist/src/bridge/strategies/BridgeStrategy.d.ts.map +1 -1
- package/dist/src/bridge/strategies/EthereumBridgeStrategy.d.ts +1 -38
- package/dist/src/bridge/strategies/EthereumBridgeStrategy.d.ts.map +1 -1
- package/dist/src/bridge/strategies/SolanaBridgeStrategy.d.ts +1 -21
- package/dist/src/bridge/strategies/SolanaBridgeStrategy.d.ts.map +1 -1
- package/dist/src/bridge/types/bridge.dto.d.ts +15 -2
- package/dist/src/bridge/types/bridge.dto.d.ts.map +1 -1
- package/dist/src/bridge/utils/RateLimiter.d.ts +1 -1
- package/dist/src/bridge/utils/RateLimiter.d.ts.map +1 -1
- package/dist/src/bridge/utils/address-formatter.d.ts +25 -0
- package/dist/src/bridge/utils/address-formatter.d.ts.map +1 -0
- package/dist/src/bridge/utils/addressValidation.d.ts +200 -0
- package/dist/src/bridge/utils/addressValidation.d.ts.map +1 -0
- package/dist/src/bridge/utils/balanceHelpers.d.ts +215 -0
- package/dist/src/bridge/utils/balanceHelpers.d.ts.map +1 -0
- package/dist/src/bridge/utils/bridgeErrors.d.ts +98 -0
- package/dist/src/bridge/utils/bridgeErrors.d.ts.map +1 -0
- package/dist/src/bridge/utils/bridgeOutHelpers.d.ts +68 -0
- package/dist/src/bridge/utils/bridgeOutHelpers.d.ts.map +1 -0
- package/dist/src/bridge/utils/bridgePayload.d.ts +107 -0
- package/dist/src/bridge/utils/bridgePayload.d.ts.map +1 -0
- package/dist/src/bridge/utils/bridgeStatusParser.d.ts +75 -0
- package/dist/src/bridge/utils/bridgeStatusParser.d.ts.map +1 -0
- package/dist/src/bridge/utils/eip712Helpers.d.ts +66 -0
- package/dist/src/bridge/utils/eip712Helpers.d.ts.map +1 -0
- package/dist/src/bridge/utils/index.d.ts +9 -0
- package/dist/src/bridge/utils/index.d.ts.map +1 -1
- package/dist/src/bridge/utils/retry.d.ts +16 -0
- package/dist/src/bridge/utils/retry.d.ts.map +1 -1
- package/dist/src/bridge/utils/strategyDelegation.d.ts +69 -0
- package/dist/src/bridge/utils/strategyDelegation.d.ts.map +1 -0
- package/dist/src/bridge/utils/tokenIdUtils.d.ts +7 -0
- package/dist/src/bridge/utils/tokenIdUtils.d.ts.map +1 -1
- package/dist/src/bridge/utils/tokenMath.d.ts.map +1 -1
- package/dist/src/bridge/utils/tokenMetadataResolver.d.ts +97 -0
- package/dist/src/bridge/utils/tokenMetadataResolver.d.ts.map +1 -0
- package/dist/src/constants/endpoints.d.ts +453 -0
- package/dist/src/constants/endpoints.d.ts.map +1 -1
- package/dist/src/constants/error-messages.d.ts +1 -1
- package/dist/src/constants/error-messages.d.ts.map +1 -1
- package/dist/src/constants/jwt.d.ts +41 -0
- package/dist/src/constants/jwt.d.ts.map +1 -0
- package/dist/src/constants/sdk-defaults.d.ts +37 -0
- package/dist/src/constants/sdk-defaults.d.ts.map +1 -0
- package/dist/src/constants/version.generated.d.ts +1 -1
- package/dist/src/helpers/sdk.d.ts.map +1 -1
- package/dist/src/helpers/wallet.d.ts +4 -3
- package/dist/src/helpers/wallet.d.ts.map +1 -1
- package/dist/src/index.d.ts +70 -11
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/schemas/files.d.ts +2 -2
- package/dist/src/schemas/launchpad.d.ts +40 -8
- package/dist/src/schemas/launchpad.d.ts.map +1 -1
- package/dist/src/schemas/pagination.d.ts +7 -7
- package/dist/src/schemas/primitives.d.ts.map +1 -1
- package/dist/src/schemas/trade.d.ts +6 -6
- package/dist/src/schemas/user.d.ts +4 -4
- package/dist/src/schemas/validators.d.ts +15 -7
- package/dist/src/schemas/validators.d.ts.map +1 -1
- package/dist/src/services/AbstractCacheService.d.ts +227 -0
- package/dist/src/services/AbstractCacheService.d.ts.map +1 -0
- package/dist/src/services/AbstractTokenFetchService.d.ts +150 -0
- package/dist/src/services/AbstractTokenFetchService.d.ts.map +1 -0
- package/dist/src/services/ApiKeyService.d.ts +205 -0
- package/dist/src/services/ApiKeyService.d.ts.map +1 -0
- package/dist/src/services/BanService.d.ts +195 -0
- package/dist/src/services/BanService.d.ts.map +1 -0
- package/dist/src/services/BaseService.d.ts +50 -3
- package/dist/src/services/BaseService.d.ts.map +1 -1
- package/dist/src/services/BatchedCacheService.d.ts +132 -0
- package/dist/src/services/BatchedCacheService.d.ts.map +1 -0
- package/dist/src/services/BridgeableTokenCache.d.ts +32 -98
- package/dist/src/services/BridgeableTokenCache.d.ts.map +1 -1
- package/dist/src/services/BridgeableTokenService.d.ts +18 -13
- package/dist/src/services/BridgeableTokenService.d.ts.map +1 -1
- package/dist/src/services/BundleService.d.ts.map +1 -1
- package/dist/src/services/BundlerClientFactory.d.ts +32 -0
- package/dist/src/services/BundlerClientFactory.d.ts.map +1 -0
- package/dist/src/services/ChatMessagesService.d.ts +152 -0
- package/dist/src/services/ChatMessagesService.d.ts.map +1 -0
- package/dist/src/services/CommentService.d.ts +119 -0
- package/dist/src/services/CommentService.d.ts.map +1 -0
- package/dist/src/services/CommentsService.d.ts +155 -0
- package/dist/src/services/CommentsService.d.ts.map +1 -0
- package/dist/src/services/ContentFlagService.d.ts +212 -0
- package/dist/src/services/ContentFlagService.d.ts.map +1 -0
- package/dist/src/services/ContentReactionService.d.ts +175 -0
- package/dist/src/services/ContentReactionService.d.ts.map +1 -0
- package/dist/src/services/DexBackendClient.d.ts.map +1 -1
- package/dist/src/services/DexPoolService.d.ts +3 -3
- package/dist/src/services/DexPoolService.d.ts.map +1 -1
- package/dist/src/services/DexQuoteService.d.ts.map +1 -1
- package/dist/src/services/DexService.d.ts +2 -5
- package/dist/src/services/DexService.d.ts.map +1 -1
- package/dist/src/services/GSwapAssetService.d.ts +80 -0
- package/dist/src/services/GSwapAssetService.d.ts.map +1 -0
- package/dist/src/services/GSwapLiquidityMutationService.d.ts +140 -0
- package/dist/src/services/GSwapLiquidityMutationService.d.ts.map +1 -0
- package/dist/src/services/GSwapLiquidityQueryService.d.ts +87 -0
- package/dist/src/services/GSwapLiquidityQueryService.d.ts.map +1 -0
- package/dist/src/services/GSwapPoolCalculationService.d.ts +200 -0
- package/dist/src/services/GSwapPoolCalculationService.d.ts.map +1 -0
- package/dist/src/services/GSwapPoolQueryService.d.ts +116 -0
- package/dist/src/services/GSwapPoolQueryService.d.ts.map +1 -0
- package/dist/src/services/GSwapService.d.ts +14 -0
- package/dist/src/services/GSwapService.d.ts.map +1 -1
- package/dist/src/services/GSwapSwapService.d.ts +68 -0
- package/dist/src/services/GSwapSwapService.d.ts.map +1 -0
- package/dist/src/services/GalaChainBalanceService.d.ts +155 -0
- package/dist/src/services/GalaChainBalanceService.d.ts.map +1 -0
- package/dist/src/services/GalaChainGatewayClient.d.ts +32 -1
- package/dist/src/services/GalaChainGatewayClient.d.ts.map +1 -1
- package/dist/src/services/GalaChainLockService.d.ts +144 -0
- package/dist/src/services/GalaChainLockService.d.ts.map +1 -0
- package/dist/src/services/GalaChainService.d.ts +23 -106
- package/dist/src/services/GalaChainService.d.ts.map +1 -1
- package/dist/src/services/GalaChainTokenService.d.ts +108 -0
- package/dist/src/services/GalaChainTokenService.d.ts.map +1 -0
- package/dist/src/services/GalaChainTransferService.d.ts +205 -0
- package/dist/src/services/GalaChainTransferService.d.ts.map +1 -0
- package/dist/src/services/ImageService.d.ts +24 -8
- package/dist/src/services/ImageService.d.ts.map +1 -1
- package/dist/src/services/LaunchpadService.d.ts +77 -5
- package/dist/src/services/LaunchpadService.d.ts.map +1 -1
- package/dist/src/services/ModeratorService.d.ts +269 -0
- package/dist/src/services/ModeratorService.d.ts.map +1 -0
- package/dist/src/services/MultiPoolStateManager.d.ts +4 -6
- package/dist/src/services/MultiPoolStateManager.d.ts.map +1 -1
- package/dist/src/services/NetworkKeyedCacheService.d.ts +185 -0
- package/dist/src/services/NetworkKeyedCacheService.d.ts.map +1 -0
- package/dist/src/services/OverseerService.d.ts +322 -0
- package/dist/src/services/OverseerService.d.ts.map +1 -0
- package/dist/src/services/PoolCacheManager.d.ts +2 -2
- package/dist/src/services/PoolCacheManager.d.ts.map +1 -1
- package/dist/src/services/PoolService.d.ts +61 -7
- package/dist/src/services/PoolService.d.ts.map +1 -1
- package/dist/src/services/PoolStateManager.d.ts +2 -2
- package/dist/src/services/PoolStateManager.d.ts.map +1 -1
- package/dist/src/services/PriceHistoryService.d.ts.map +1 -1
- package/dist/src/services/SignatureService.d.ts.map +1 -1
- package/dist/src/services/StreamChatService.d.ts +378 -0
- package/dist/src/services/StreamChatService.d.ts.map +1 -0
- package/dist/src/services/StreamTokenServiceBase.d.ts +371 -0
- package/dist/src/services/StreamTokenServiceBase.d.ts.map +1 -0
- package/dist/src/services/StreamWebSocketService.d.ts +268 -0
- package/dist/src/services/StreamWebSocketService.d.ts.map +1 -0
- package/dist/src/services/StreamingEventService.d.ts +431 -0
- package/dist/src/services/StreamingEventService.d.ts.map +1 -0
- package/dist/src/services/StreamingService.d.ts +547 -0
- package/dist/src/services/StreamingService.d.ts.map +1 -0
- package/dist/src/services/SwapEventQueue.d.ts +2 -2
- package/dist/src/services/SwapEventQueue.d.ts.map +1 -1
- package/dist/src/services/TokenBanService.d.ts +214 -0
- package/dist/src/services/TokenBanService.d.ts.map +1 -0
- package/dist/src/services/TokenClassKeyService.d.ts.map +1 -1
- package/dist/src/services/TokenMetadataCache.d.ts +36 -27
- package/dist/src/services/TokenMetadataCache.d.ts.map +1 -1
- package/dist/src/services/TokenMetadataService.d.ts +24 -4
- package/dist/src/services/TokenMetadataService.d.ts.map +1 -1
- package/dist/src/services/TokenResolverService.d.ts.map +1 -1
- package/dist/src/services/TradeService.d.ts +73 -0
- package/dist/src/services/TradeService.d.ts.map +1 -1
- package/dist/src/services/UserService.d.ts +56 -3
- package/dist/src/services/UserService.d.ts.map +1 -1
- package/dist/src/services/WebSocketService.d.ts +3 -3
- package/dist/src/services/WebSocketService.d.ts.map +1 -1
- package/dist/src/services/WrapService.d.ts +18 -5
- package/dist/src/services/WrapService.d.ts.map +1 -1
- package/dist/src/services/WrappableTokenCache.d.ts +8 -36
- package/dist/src/services/WrappableTokenCache.d.ts.map +1 -1
- package/dist/src/services/WrappableTokenService.d.ts +18 -12
- package/dist/src/services/WrappableTokenService.d.ts.map +1 -1
- package/dist/src/services/shared/cache-helpers.d.ts +188 -0
- package/dist/src/services/shared/cache-helpers.d.ts.map +1 -0
- package/dist/src/services/shared/http-helpers.d.ts +146 -0
- package/dist/src/services/shared/http-helpers.d.ts.map +1 -0
- package/dist/src/services/shared/pagination-helpers.d.ts +157 -0
- package/dist/src/services/shared/pagination-helpers.d.ts.map +1 -0
- package/dist/src/services/shared/service-validators.d.ts +137 -0
- package/dist/src/services/shared/service-validators.d.ts.map +1 -0
- package/dist/src/services/shared/websocket-helpers.d.ts +158 -0
- package/dist/src/services/shared/websocket-helpers.d.ts.map +1 -0
- package/dist/src/test-constants.d.ts +29 -0
- package/dist/src/test-constants.d.ts.map +1 -0
- package/dist/src/types/api-key.dto.d.ts +300 -0
- package/dist/src/types/api-key.dto.d.ts.map +1 -0
- package/dist/src/types/backend-responses.d.ts +12 -0
- package/dist/src/types/backend-responses.d.ts.map +1 -1
- package/dist/src/types/ban.dto.d.ts +413 -0
- package/dist/src/types/ban.dto.d.ts.map +1 -0
- package/dist/src/types/burn.dto.d.ts +21 -0
- package/dist/src/types/burn.dto.d.ts.map +1 -1
- package/dist/src/types/chat-messages.dto.d.ts +193 -0
- package/dist/src/types/chat-messages.dto.d.ts.map +1 -0
- package/dist/src/types/comment.dto.d.ts +180 -0
- package/dist/src/types/comment.dto.d.ts.map +1 -0
- package/dist/src/types/comments.dto.d.ts +210 -0
- package/dist/src/types/comments.dto.d.ts.map +1 -0
- package/dist/src/types/common.d.ts +369 -0
- package/dist/src/types/common.d.ts.map +1 -1
- package/dist/src/types/constraints.d.ts +374 -0
- package/dist/src/types/constraints.d.ts.map +1 -0
- package/dist/src/types/content-flag.dto.d.ts +310 -0
- package/dist/src/types/content-flag.dto.d.ts.map +1 -0
- package/dist/src/types/content-reactions.dto.d.ts +132 -0
- package/dist/src/types/content-reactions.dto.d.ts.map +1 -0
- package/dist/src/types/dex-pool.dto.d.ts +13 -37
- package/dist/src/types/dex-pool.dto.d.ts.map +1 -1
- package/dist/src/types/dto.d.ts +8 -0
- package/dist/src/types/dto.d.ts.map +1 -1
- package/dist/src/types/galachain-api.types.d.ts +30 -0
- package/dist/src/types/galachain-api.types.d.ts.map +1 -1
- package/dist/src/types/gswap-responses.types.d.ts.map +1 -1
- package/dist/src/types/launchpad.dto.d.ts +234 -131
- package/dist/src/types/launchpad.dto.d.ts.map +1 -1
- package/dist/src/types/launchpad.validation.d.ts.map +1 -1
- package/dist/src/types/lock.dto.d.ts +20 -35
- package/dist/src/types/lock.dto.d.ts.map +1 -1
- package/dist/src/types/moderator.dto.d.ts +581 -0
- package/dist/src/types/moderator.dto.d.ts.map +1 -0
- package/dist/src/types/options.dto.d.ts +25 -115
- package/dist/src/types/options.dto.d.ts.map +1 -1
- package/dist/src/types/overseer.dto.d.ts +420 -0
- package/dist/src/types/overseer.dto.d.ts.map +1 -0
- package/dist/src/types/pool.dto.d.ts +106 -0
- package/dist/src/types/pool.dto.d.ts.map +1 -0
- package/dist/src/types/result.types.d.ts +3 -2
- package/dist/src/types/result.types.d.ts.map +1 -1
- package/dist/src/types/session-auth.dto.d.ts +91 -0
- package/dist/src/types/session-auth.dto.d.ts.map +1 -0
- package/dist/src/types/stream-chat.dto.d.ts +815 -0
- package/dist/src/types/stream-chat.dto.d.ts.map +1 -0
- package/dist/src/types/streaming-events.dto.d.ts +586 -0
- package/dist/src/types/streaming-events.dto.d.ts.map +1 -0
- package/dist/src/types/streaming.dto.d.ts +1141 -0
- package/dist/src/types/streaming.dto.d.ts.map +1 -0
- package/dist/src/types/token-ban.dto.d.ts +195 -0
- package/dist/src/types/token-ban.dto.d.ts.map +1 -0
- package/dist/src/types/trade.dto.d.ts +21 -61
- package/dist/src/types/trade.dto.d.ts.map +1 -1
- package/dist/src/types/trades-query.dto.d.ts +127 -0
- package/dist/src/types/trades-query.dto.d.ts.map +1 -0
- package/dist/src/types/transfer.dto.d.ts +20 -15
- package/dist/src/types/transfer.dto.d.ts.map +1 -1
- package/dist/src/types/user.dto.d.ts +185 -73
- package/dist/src/types/user.dto.d.ts.map +1 -1
- package/dist/src/types/wrappable-token.dto.d.ts +6 -2
- package/dist/src/types/wrappable-token.dto.d.ts.map +1 -1
- package/dist/src/utils/LiquidityEventExtractor.d.ts.map +1 -1
- package/dist/src/utils/Logger.d.ts.map +1 -1
- package/dist/src/utils/MonitoringMetrics.d.ts.map +1 -1
- package/dist/src/utils/PoolKeyNormalizer.d.ts.map +1 -1
- package/dist/src/utils/ReconnectionManager.d.ts +142 -0
- package/dist/src/utils/ReconnectionManager.d.ts.map +1 -0
- package/dist/src/utils/SignatureHelper.d.ts +9 -0
- package/dist/src/utils/SignatureHelper.d.ts.map +1 -1
- package/dist/src/utils/SwapEventExtractor.d.ts.map +1 -1
- package/dist/src/utils/adapters.d.ts.map +1 -1
- package/dist/src/utils/address-formatter.d.ts +317 -0
- package/dist/src/utils/address-formatter.d.ts.map +1 -0
- package/dist/src/utils/agent-config.d.ts.map +1 -1
- package/dist/src/utils/amount-validator.d.ts +268 -0
- package/dist/src/utils/amount-validator.d.ts.map +1 -0
- package/dist/src/utils/api-patterns.d.ts +347 -0
- package/dist/src/utils/api-patterns.d.ts.map +1 -0
- package/dist/src/utils/array-helpers.d.ts +115 -0
- package/dist/src/utils/array-helpers.d.ts.map +1 -0
- package/dist/src/utils/async-patterns.d.ts +272 -0
- package/dist/src/utils/async-patterns.d.ts.map +1 -0
- package/dist/src/utils/auto-pagination.d.ts +195 -2
- package/dist/src/utils/auto-pagination.d.ts.map +1 -1
- package/dist/src/utils/bignumber-helpers.d.ts +119 -13
- package/dist/src/utils/bignumber-helpers.d.ts.map +1 -1
- package/dist/src/utils/bignumber-pool-cache.d.ts.map +1 -1
- package/dist/src/utils/bondingCurveCalculations.d.ts.map +1 -1
- package/dist/src/utils/cacheWarmingHelpers.d.ts +2 -2
- package/dist/src/utils/cacheWarmingHelpers.d.ts.map +1 -1
- package/dist/src/utils/data-transform-patterns.d.ts +393 -0
- package/dist/src/utils/data-transform-patterns.d.ts.map +1 -0
- package/dist/src/utils/date-utils.d.ts +166 -0
- package/dist/src/utils/date-utils.d.ts.map +1 -1
- package/dist/src/utils/delimiter-parser.d.ts +139 -0
- package/dist/src/utils/delimiter-parser.d.ts.map +1 -0
- package/dist/src/utils/error-factories.d.ts +346 -1
- package/dist/src/utils/error-factories.d.ts.map +1 -1
- package/dist/src/utils/error-handling-patterns.d.ts +390 -0
- package/dist/src/utils/error-handling-patterns.d.ts.map +1 -0
- package/dist/src/utils/error-patterns.d.ts +360 -0
- package/dist/src/utils/error-patterns.d.ts.map +1 -0
- package/dist/src/utils/error-utils.d.ts +250 -0
- package/dist/src/utils/error-utils.d.ts.map +1 -1
- package/dist/src/utils/error-wrapper.d.ts +208 -0
- package/dist/src/utils/error-wrapper.d.ts.map +1 -0
- package/dist/src/utils/errors.d.ts +70 -0
- package/dist/src/utils/errors.d.ts.map +1 -1
- package/dist/src/utils/http-factory.d.ts +36 -0
- package/dist/src/utils/http-factory.d.ts.map +1 -0
- package/dist/src/utils/http.d.ts.map +1 -1
- package/dist/src/utils/load-env.d.ts.map +1 -1
- package/dist/src/utils/multipart.d.ts.map +1 -1
- package/dist/src/utils/numeric-patterns.d.ts +289 -0
- package/dist/src/utils/numeric-patterns.d.ts.map +1 -0
- package/dist/src/utils/numeric-wrappers.d.ts +146 -0
- package/dist/src/utils/numeric-wrappers.d.ts.map +1 -0
- package/dist/src/utils/object-extractors.d.ts +115 -0
- package/dist/src/utils/object-extractors.d.ts.map +1 -0
- package/dist/src/utils/object-patterns.d.ts +81 -0
- package/dist/src/utils/object-patterns.d.ts.map +1 -0
- package/dist/src/utils/pagination-helpers.d.ts +230 -0
- package/dist/src/utils/pagination-helpers.d.ts.map +1 -0
- package/dist/src/utils/pool-pair-parser.d.ts +3 -1
- package/dist/src/utils/pool-pair-parser.d.ts.map +1 -1
- package/dist/src/utils/pool-state-validator.d.ts.map +1 -1
- package/dist/src/utils/position-filters.d.ts +1 -2
- package/dist/src/utils/position-filters.d.ts.map +1 -1
- package/dist/src/utils/query-params.d.ts +0 -16
- package/dist/src/utils/query-params.d.ts.map +1 -1
- package/dist/src/utils/response-handlers.d.ts +149 -20
- package/dist/src/utils/response-handlers.d.ts.map +1 -1
- package/dist/src/utils/response-helpers.d.ts +28 -0
- package/dist/src/utils/response-helpers.d.ts.map +1 -0
- package/dist/src/utils/response-normalizers.d.ts +27 -49
- package/dist/src/utils/response-normalizers.d.ts.map +1 -1
- package/dist/src/utils/safe-parsers.d.ts +487 -0
- package/dist/src/utils/safe-parsers.d.ts.map +1 -0
- package/dist/src/utils/service-validators.d.ts +268 -0
- package/dist/src/utils/service-validators.d.ts.map +1 -0
- package/dist/src/utils/slippage-utils.d.ts.map +1 -1
- package/dist/src/utils/string-patterns.d.ts +404 -0
- package/dist/src/utils/string-patterns.d.ts.map +1 -0
- package/dist/src/utils/string-transforms.d.ts +89 -0
- package/dist/src/utils/string-transforms.d.ts.map +1 -0
- package/dist/src/utils/string-utils.d.ts +108 -0
- package/dist/src/utils/string-utils.d.ts.map +1 -0
- package/dist/src/utils/swap-delta-calculator.d.ts.map +1 -1
- package/dist/src/utils/tick-crossing-handler.d.ts.map +1 -1
- package/dist/src/utils/token-format-converter.d.ts +22 -8
- package/dist/src/utils/token-format-converter.d.ts.map +1 -1
- package/dist/src/utils/token-parser.d.ts +2 -2
- package/dist/src/utils/token-parser.d.ts.map +1 -1
- package/dist/src/utils/token-stringification.d.ts +168 -0
- package/dist/src/utils/token-stringification.d.ts.map +1 -0
- package/dist/src/utils/tokenNameNormalizer.d.ts +96 -0
- package/dist/src/utils/tokenNameNormalizer.d.ts.map +1 -0
- package/dist/src/utils/tokenNormalizer.d.ts +8 -45
- package/dist/src/utils/tokenNormalizer.d.ts.map +1 -1
- package/dist/src/utils/transfer-validation.d.ts +1 -1
- package/dist/src/utils/transfer-validation.d.ts.map +1 -1
- package/dist/src/utils/type-guard-factory.d.ts +260 -0
- package/dist/src/utils/type-guard-factory.d.ts.map +1 -0
- package/dist/src/utils/unique-key-generator.d.ts +148 -0
- package/dist/src/utils/unique-key-generator.d.ts.map +1 -0
- package/dist/src/utils/validation-helpers.d.ts +906 -183
- package/dist/src/utils/validation-helpers.d.ts.map +1 -1
- package/dist/src/utils/validation-patterns.d.ts +745 -0
- package/dist/src/utils/validation-patterns.d.ts.map +1 -0
- package/dist/src/utils/validation.d.ts +2 -30
- package/dist/src/utils/validation.d.ts.map +1 -1
- package/dist/src/utils/wallet.d.ts +12 -1
- package/dist/src/utils/wallet.d.ts.map +1 -1
- package/dist/src/utils/websocket-patterns.d.ts +681 -0
- package/dist/src/utils/websocket-patterns.d.ts.map +1 -0
- package/dist/src/utils/websocket-validators.d.ts.map +1 -1
- package/package.json +86 -19
- package/dist/src/bridge/strategies/index.d.ts +0 -9
- package/dist/src/bridge/strategies/index.d.ts.map +0 -1
- package/dist/src/constants/counts.d.ts +0 -66
- package/dist/src/constants/counts.d.ts.map +0 -1
- package/dist/src/services/WebSocketManager.d.ts +0 -99
- package/dist/src/services/WebSocketManager.d.ts.map +0 -1
- package/dist/src/types/eip712-types.d.ts +0 -140
- package/dist/src/types/eip712-types.d.ts.map +0 -1
- package/dist/src/types/pool-state-manager-config.dto.d.ts +0 -103
- package/dist/src/types/pool-state-manager-config.dto.d.ts.map +0 -1
- package/dist/src/utils/number-utils.d.ts +0 -94
- package/dist/src/utils/number-utils.d.ts.map +0 -1
- package/dist/src/utils/precision-math.d.ts +0 -37
- package/dist/src/utils/precision-math.d.ts.map +0 -1
|
@@ -0,0 +1,681 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebSocket Patterns & Utilities
|
|
3
|
+
*
|
|
4
|
+
* Consolidates recurring WebSocket subscription, event handling, and lifecycle patterns
|
|
5
|
+
* used across multiple streaming services. Eliminates code duplication and provides
|
|
6
|
+
* reusable patterns for real-time features.
|
|
7
|
+
*
|
|
8
|
+
* Patterns consolidated:
|
|
9
|
+
* 1. RoomSubscriptionManager - Room-based subscription tracking with auto-cleanup
|
|
10
|
+
* 2. PayloadWalkerWithDeduplication - Recursive payload traversal with deduplication
|
|
11
|
+
* 3. PendingSubscriptionTracker - Pending subscriptions with timeout guards
|
|
12
|
+
* 4. GlobalAndRoomCallbackDispatcher - Dual-level callback dispatching
|
|
13
|
+
* 5. SelectiveEventForwarding - Event filtering before forwarding
|
|
14
|
+
* 6. ListenerCleanupManager - Multi-stage listener cleanup with error isolation
|
|
15
|
+
* 7. EventBufferWithAutoCleanup - Event buffering with TTL and max size
|
|
16
|
+
* 8. TypingIndicatorDebouncer - Typing indicator debouncing
|
|
17
|
+
*
|
|
18
|
+
* @category Utilities
|
|
19
|
+
* @since 6.6.0
|
|
20
|
+
*/
|
|
21
|
+
import type { Logger } from './Logger';
|
|
22
|
+
/**
|
|
23
|
+
* Room Subscription Manager
|
|
24
|
+
*
|
|
25
|
+
* Unified room-based subscription tracking with automatic cleanup and duplicate prevention.
|
|
26
|
+
* Used by StreamWebSocketService, PoolStateManager, and MultiPoolStateManager to track
|
|
27
|
+
* which rooms (token subscriptions, pools, etc.) are currently active.
|
|
28
|
+
*
|
|
29
|
+
* Features:
|
|
30
|
+
* - Duplicate prevention (can't add same room twice)
|
|
31
|
+
* - O(1) subscription checks
|
|
32
|
+
* - Bulk retrieval of subscribed rooms
|
|
33
|
+
* - Automatic cleanup on unsubscribe
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* // Test case: Room tracking with subscription metadata
|
|
38
|
+
* const manager = new RoomSubscriptionManager();
|
|
39
|
+
*
|
|
40
|
+
* // Add room
|
|
41
|
+
* manager.addRoom('token:anime');
|
|
42
|
+
* console.assert(manager.isSubscribedTo('token:anime') === true);
|
|
43
|
+
*
|
|
44
|
+
* // Prevent duplicates (no-op if already added)
|
|
45
|
+
* manager.addRoom('token:anime'); // Silent duplicate prevention
|
|
46
|
+
*
|
|
47
|
+
* // Get all subscribed rooms
|
|
48
|
+
* const rooms = manager.getRooms();
|
|
49
|
+
* console.assert(rooms.includes('token:anime'));
|
|
50
|
+
*
|
|
51
|
+
* // Remove room
|
|
52
|
+
* manager.removeRoom('token:anime');
|
|
53
|
+
* console.assert(manager.isSubscribedTo('token:anime') === false);
|
|
54
|
+
*
|
|
55
|
+
* // Clear all
|
|
56
|
+
* manager.addRoom('room1');
|
|
57
|
+
* manager.addRoom('room2');
|
|
58
|
+
* manager.clear();
|
|
59
|
+
* console.assert(manager.getRooms().length === 0);
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* @since 6.6.0
|
|
63
|
+
*/
|
|
64
|
+
export declare class RoomSubscriptionManager {
|
|
65
|
+
private rooms;
|
|
66
|
+
/**
|
|
67
|
+
* Add a room to subscriptions
|
|
68
|
+
*
|
|
69
|
+
* No-op if room already exists (duplicate prevention).
|
|
70
|
+
*
|
|
71
|
+
* @param roomId - Room identifier (e.g., 'token:anime', 'pool:GALA-USDC')
|
|
72
|
+
*/
|
|
73
|
+
addRoom(roomId: string): void;
|
|
74
|
+
/**
|
|
75
|
+
* Remove a room from subscriptions
|
|
76
|
+
*
|
|
77
|
+
* No-op if room doesn't exist.
|
|
78
|
+
*
|
|
79
|
+
* @param roomId - Room identifier to remove
|
|
80
|
+
*/
|
|
81
|
+
removeRoom(roomId: string): void;
|
|
82
|
+
/**
|
|
83
|
+
* Get all subscribed rooms
|
|
84
|
+
*
|
|
85
|
+
* @returns Array of room identifiers currently subscribed to
|
|
86
|
+
*/
|
|
87
|
+
getRooms(): string[];
|
|
88
|
+
/**
|
|
89
|
+
* Check if subscribed to a room
|
|
90
|
+
*
|
|
91
|
+
* @param roomId - Room identifier to check
|
|
92
|
+
* @returns True if currently subscribed to this room
|
|
93
|
+
*/
|
|
94
|
+
isSubscribedTo(roomId: string): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Clear all room subscriptions
|
|
97
|
+
*
|
|
98
|
+
* Typically called during disconnect or cleanup.
|
|
99
|
+
*/
|
|
100
|
+
clear(): void;
|
|
101
|
+
/**
|
|
102
|
+
* Get count of subscribed rooms
|
|
103
|
+
*
|
|
104
|
+
* @returns Number of currently subscribed rooms
|
|
105
|
+
*/
|
|
106
|
+
get size(): number;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Payload Walker with Deduplication
|
|
110
|
+
*
|
|
111
|
+
* Recursively walks through object payloads to extract events while deduplicating
|
|
112
|
+
* by a key (e.g., transactionId, eventId). Prevents duplicate processing of the
|
|
113
|
+
* same event across multiple payload traversals.
|
|
114
|
+
*
|
|
115
|
+
* Used in LiquidityEventExtractor, SwapEventExtractor, and MultiPoolStateManager
|
|
116
|
+
* to find events nested at various depths in WebSocket payloads.
|
|
117
|
+
*
|
|
118
|
+
* Features:
|
|
119
|
+
* - Recursive depth limiting (prevents DoS from circular structures)
|
|
120
|
+
* - WeakSet tracking to prevent infinite loops on circular references
|
|
121
|
+
* - Configurable deduplication key
|
|
122
|
+
* - Callback-based event processing
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```typescript
|
|
126
|
+
* // Test case: Recursive payload walking with deduplication
|
|
127
|
+
* const walker = new PayloadWalkerWithDeduplication<{ id: string; value: number }>(
|
|
128
|
+
* (obj) => {
|
|
129
|
+
* // Extraction predicate: return event if found
|
|
130
|
+
* return obj.id && obj.value ? { id: obj.id, value: obj.value } : null;
|
|
131
|
+
* },
|
|
132
|
+
* (event) => event.id // Deduplication key
|
|
133
|
+
* );
|
|
134
|
+
*
|
|
135
|
+
* // First walk - extracts new events
|
|
136
|
+
* const events1 = walker.walk({
|
|
137
|
+
* Data: { id: 'e1', value: 100 },
|
|
138
|
+
* nested: { id: 'e2', value: 200 }
|
|
139
|
+
* });
|
|
140
|
+
* console.assert(events1.length === 2);
|
|
141
|
+
*
|
|
142
|
+
* // Second walk - skips already seen events
|
|
143
|
+
* const events2 = walker.walk({
|
|
144
|
+
* Data: { id: 'e1', value: 999 }, // Already seen, skipped
|
|
145
|
+
* other: { id: 'e3', value: 300 } // New, included
|
|
146
|
+
* });
|
|
147
|
+
* console.assert(events2.length === 1);
|
|
148
|
+
* console.assert(events2[0].id === 'e3');
|
|
149
|
+
*
|
|
150
|
+
* // Reset deduplication to reprocess all events
|
|
151
|
+
* walker.reset();
|
|
152
|
+
* const events3 = walker.walk({ Data: { id: 'e1', value: 100 } });
|
|
153
|
+
* console.assert(events3.length === 1); // e1 is processed again
|
|
154
|
+
* ```
|
|
155
|
+
*
|
|
156
|
+
* @typeParam T - Event type being extracted
|
|
157
|
+
* @since 6.6.0
|
|
158
|
+
*/
|
|
159
|
+
export declare class PayloadWalkerWithDeduplication<T> {
|
|
160
|
+
private seen;
|
|
161
|
+
private readonly maxDepth;
|
|
162
|
+
private readonly extractor;
|
|
163
|
+
private readonly dedupeKeyFn;
|
|
164
|
+
constructor(extractor: (obj: unknown) => T | null, dedupeKeyFn: (event: T) => string, maxDepth?: number);
|
|
165
|
+
/**
|
|
166
|
+
* Walk through a payload and extract events
|
|
167
|
+
*
|
|
168
|
+
* @param payload - Root object to traverse
|
|
169
|
+
* @returns Array of extracted events not previously seen
|
|
170
|
+
*/
|
|
171
|
+
walk(payload: unknown): T[];
|
|
172
|
+
/**
|
|
173
|
+
* Reset deduplication state to reprocess all events
|
|
174
|
+
*/
|
|
175
|
+
reset(): void;
|
|
176
|
+
/**
|
|
177
|
+
* Get count of deduplicated events
|
|
178
|
+
*
|
|
179
|
+
* @returns Number of unique events seen so far
|
|
180
|
+
*/
|
|
181
|
+
getSeenCount(): number;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Pending Subscription Tracker
|
|
185
|
+
*
|
|
186
|
+
* Tracks pending subscriptions with timeout guards. Prevents memory leaks from
|
|
187
|
+
* subscriptions that never complete. Used when subscribing to streams where
|
|
188
|
+
* confirmation is required from the server.
|
|
189
|
+
*
|
|
190
|
+
* Features:
|
|
191
|
+
* - Automatic timeout handling
|
|
192
|
+
* - Memory leak prevention (clears expired pending)
|
|
193
|
+
* - Tracks pending duration
|
|
194
|
+
* - Fast O(1) checks
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```typescript
|
|
198
|
+
* // Test case: Pending subscription tracking with timeouts
|
|
199
|
+
* const tracker = new PendingSubscriptionTracker();
|
|
200
|
+
*
|
|
201
|
+
* // Add pending subscription with 1 second timeout
|
|
202
|
+
* tracker.addPending('sub-123', 1000);
|
|
203
|
+
* console.assert(tracker.isPending('sub-123') === true);
|
|
204
|
+
* console.assert(tracker.getPendingCount() === 1);
|
|
205
|
+
*
|
|
206
|
+
* // Mark as completed (timeout won't fire)
|
|
207
|
+
* tracker.removePending('sub-123');
|
|
208
|
+
* console.assert(tracker.isPending('sub-123') === false);
|
|
209
|
+
*
|
|
210
|
+
* // Check if subscription timed out
|
|
211
|
+
* tracker.addPending('sub-456', 100);
|
|
212
|
+
* await new Promise(r => setTimeout(r, 200)); // Wait for timeout
|
|
213
|
+
* tracker.clearExpired(); // Manual cleanup
|
|
214
|
+
* console.assert(tracker.isPending('sub-456') === false);
|
|
215
|
+
*
|
|
216
|
+
* // Multiple pending subscriptions
|
|
217
|
+
* tracker.addPending('sub-a', 1000);
|
|
218
|
+
* tracker.addPending('sub-b', 1000);
|
|
219
|
+
* tracker.addPending('sub-c', 1000);
|
|
220
|
+
* console.assert(tracker.getPendingCount() === 3);
|
|
221
|
+
* ```
|
|
222
|
+
*
|
|
223
|
+
* @since 6.6.0
|
|
224
|
+
*/
|
|
225
|
+
export declare class PendingSubscriptionTracker {
|
|
226
|
+
private pending;
|
|
227
|
+
/**
|
|
228
|
+
* Add a pending subscription with timeout
|
|
229
|
+
*
|
|
230
|
+
* @param id - Subscription identifier (e.g., token name)
|
|
231
|
+
* @param timeoutMs - Timeout duration in milliseconds
|
|
232
|
+
*/
|
|
233
|
+
addPending(id: string, timeoutMs: number): void;
|
|
234
|
+
/**
|
|
235
|
+
* Remove a pending subscription (e.g., when it completes or is cancelled)
|
|
236
|
+
*
|
|
237
|
+
* @param id - Subscription identifier to remove
|
|
238
|
+
*/
|
|
239
|
+
removePending(id: string): void;
|
|
240
|
+
/**
|
|
241
|
+
* Check if a subscription is pending
|
|
242
|
+
*
|
|
243
|
+
* @param id - Subscription identifier to check
|
|
244
|
+
* @returns True if subscription is still pending
|
|
245
|
+
*/
|
|
246
|
+
isPending(id: string): boolean;
|
|
247
|
+
/**
|
|
248
|
+
* Get count of pending subscriptions
|
|
249
|
+
*
|
|
250
|
+
* @returns Number of subscriptions currently pending
|
|
251
|
+
*/
|
|
252
|
+
getPendingCount(): number;
|
|
253
|
+
/**
|
|
254
|
+
* Manually clear expired pending subscriptions
|
|
255
|
+
*
|
|
256
|
+
* Normally called automatically by the timeout, but can be called
|
|
257
|
+
* explicitly for cleanup.
|
|
258
|
+
*/
|
|
259
|
+
clearExpired(): void;
|
|
260
|
+
/**
|
|
261
|
+
* Clear all pending subscriptions
|
|
262
|
+
*/
|
|
263
|
+
clear(): void;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Global and Room Callback Dispatcher
|
|
267
|
+
*
|
|
268
|
+
* Dispatches callbacks to both global and room-specific listeners in the correct order.
|
|
269
|
+
* Global callbacks execute first, then room-specific callbacks.
|
|
270
|
+
*
|
|
271
|
+
* Used in StreamWebSocketService to ensure consistent callback ordering across
|
|
272
|
+
* different event types.
|
|
273
|
+
*
|
|
274
|
+
* Features:
|
|
275
|
+
* - Global-first execution order
|
|
276
|
+
* - Isolated error handling per listener
|
|
277
|
+
* - Type-safe callback dispatch
|
|
278
|
+
* - Logging for debugging
|
|
279
|
+
*
|
|
280
|
+
* @example
|
|
281
|
+
* ```typescript
|
|
282
|
+
* // Test case: Global and room-specific callbacks
|
|
283
|
+
* interface MyEvent { tokenName: string; value: number }
|
|
284
|
+
* type MyCallback = (event: MyEvent) => void;
|
|
285
|
+
*
|
|
286
|
+
* const dispatcher = new GlobalAndRoomCallbackDispatcher<MyEvent, MyCallback>();
|
|
287
|
+
*
|
|
288
|
+
* const calls: string[] = [];
|
|
289
|
+
*
|
|
290
|
+
* // Register global callback
|
|
291
|
+
* dispatcher.registerGlobalCallback((event) => {
|
|
292
|
+
* calls.push(`global:${event.tokenName}`);
|
|
293
|
+
* });
|
|
294
|
+
*
|
|
295
|
+
* // Register room-specific callbacks
|
|
296
|
+
* dispatcher.registerRoomCallback('token:anime', (event) => {
|
|
297
|
+
* calls.push(`room:anime:${event.value}`);
|
|
298
|
+
* });
|
|
299
|
+
* dispatcher.registerRoomCallback('token:gala', (event) => {
|
|
300
|
+
* calls.push(`room:gala:${event.value}`);
|
|
301
|
+
* });
|
|
302
|
+
*
|
|
303
|
+
* // Dispatch event
|
|
304
|
+
* const event: MyEvent = { tokenName: 'anime', value: 42 };
|
|
305
|
+
* dispatcher.dispatch('token:anime', event);
|
|
306
|
+
*
|
|
307
|
+
* // Global callback should execute first
|
|
308
|
+
* console.assert(calls[0] === 'global:anime');
|
|
309
|
+
* console.assert(calls[1] === 'room:anime:42');
|
|
310
|
+
*
|
|
311
|
+
* // Unrelated room callback not called
|
|
312
|
+
* console.assert(!calls.some(c => c.startsWith('room:gala')));
|
|
313
|
+
* ```
|
|
314
|
+
*
|
|
315
|
+
* @typeParam TEvent - Event type being dispatched
|
|
316
|
+
* @typeParam TCallback - Callback function type
|
|
317
|
+
* @since 6.6.0
|
|
318
|
+
*/
|
|
319
|
+
export declare class GlobalAndRoomCallbackDispatcher<TEvent, TCallback extends (event: TEvent) => void> {
|
|
320
|
+
private globalCallbacks;
|
|
321
|
+
private roomCallbacks;
|
|
322
|
+
private logger;
|
|
323
|
+
constructor(logger?: Logger);
|
|
324
|
+
/**
|
|
325
|
+
* Register a global callback
|
|
326
|
+
*
|
|
327
|
+
* @param callback - Function to call for all events
|
|
328
|
+
*/
|
|
329
|
+
registerGlobalCallback(callback: TCallback): void;
|
|
330
|
+
/**
|
|
331
|
+
* Register a room-specific callback
|
|
332
|
+
*
|
|
333
|
+
* @param roomId - Room identifier (e.g., 'token:anime')
|
|
334
|
+
* @param callback - Function to call for events in this room
|
|
335
|
+
*/
|
|
336
|
+
registerRoomCallback(roomId: string, callback: TCallback): void;
|
|
337
|
+
/**
|
|
338
|
+
* Dispatch an event to global and room-specific callbacks
|
|
339
|
+
*
|
|
340
|
+
* Calls global callbacks first, then room-specific callbacks.
|
|
341
|
+
* Errors in one callback don't prevent others from executing.
|
|
342
|
+
*
|
|
343
|
+
* @param roomId - Room identifier for this event
|
|
344
|
+
* @param event - Event data to dispatch
|
|
345
|
+
*/
|
|
346
|
+
dispatch(roomId: string, event: TEvent): void;
|
|
347
|
+
/**
|
|
348
|
+
* Clear all callbacks
|
|
349
|
+
*/
|
|
350
|
+
clear(): void;
|
|
351
|
+
/**
|
|
352
|
+
* Remove all callbacks for a specific room
|
|
353
|
+
*
|
|
354
|
+
* @param roomId - Room identifier
|
|
355
|
+
*/
|
|
356
|
+
clearRoom(roomId: string): void;
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Selective Event Forwarding
|
|
360
|
+
*
|
|
361
|
+
* Filters events based on multiple predicates before forwarding. Reduces message
|
|
362
|
+
* volume by eliminating noisy or unwanted events.
|
|
363
|
+
*
|
|
364
|
+
* Features:
|
|
365
|
+
* - Multiple filter predicates (AND logic)
|
|
366
|
+
* - Short-circuit evaluation (stops at first failing filter)
|
|
367
|
+
* - Chainable filter registration
|
|
368
|
+
*
|
|
369
|
+
* @example
|
|
370
|
+
* ```typescript
|
|
371
|
+
* // Test case: Event filtering pipeline
|
|
372
|
+
* interface SwapEvent { token0: string; token1: string; amount: string; user: string }
|
|
373
|
+
*
|
|
374
|
+
* const forwarder = new SelectiveEventForwarding<SwapEvent>();
|
|
375
|
+
*
|
|
376
|
+
* // Add filters
|
|
377
|
+
* forwarder.addFilter((event) => event.amount !== '0'); // Skip zero amounts
|
|
378
|
+
* forwarder.addFilter((event) => event.token0 === 'GALA'); // Only GALA swaps
|
|
379
|
+
* forwarder.addFilter((event) => !event.user.includes('bot')); // Skip bot swaps
|
|
380
|
+
*
|
|
381
|
+
* // Test filtering
|
|
382
|
+
* const allowed = { token0: 'GALA', token1: 'USDC', amount: '100', user: 'alice' };
|
|
383
|
+
* console.assert(forwarder.forward(allowed) === true);
|
|
384
|
+
*
|
|
385
|
+
* const zeroAmount = { token0: 'GALA', token1: 'USDC', amount: '0', user: 'alice' };
|
|
386
|
+
* console.assert(forwarder.forward(zeroAmount) === false);
|
|
387
|
+
*
|
|
388
|
+
* const nonGala = { token0: 'USDC', token1: 'USDT', amount: '100', user: 'alice' };
|
|
389
|
+
* console.assert(forwarder.forward(nonGala) === false);
|
|
390
|
+
*
|
|
391
|
+
* const botSwap = { token0: 'GALA', token1: 'USDC', amount: '100', user: 'bot123' };
|
|
392
|
+
* console.assert(forwarder.forward(botSwap) === false);
|
|
393
|
+
* ```
|
|
394
|
+
*
|
|
395
|
+
* @typeParam TEvent - Event type being filtered
|
|
396
|
+
* @since 6.6.0
|
|
397
|
+
*/
|
|
398
|
+
export declare class SelectiveEventForwarding<TEvent> {
|
|
399
|
+
private filters;
|
|
400
|
+
/**
|
|
401
|
+
* Add a filter predicate
|
|
402
|
+
*
|
|
403
|
+
* Event must pass ALL filters to be forwarded. Filters are evaluated
|
|
404
|
+
* in the order they were added (short-circuit evaluation).
|
|
405
|
+
*
|
|
406
|
+
* @param predicate - Function returning true to allow event, false to block
|
|
407
|
+
* @returns This instance for chaining
|
|
408
|
+
*/
|
|
409
|
+
addFilter(predicate: (event: TEvent) => boolean): this;
|
|
410
|
+
/**
|
|
411
|
+
* Forward an event if it passes all filters
|
|
412
|
+
*
|
|
413
|
+
* @param event - Event to evaluate
|
|
414
|
+
* @returns True if event passed all filters, false otherwise
|
|
415
|
+
*/
|
|
416
|
+
forward(event: TEvent): boolean;
|
|
417
|
+
/**
|
|
418
|
+
* Clear all filters
|
|
419
|
+
*/
|
|
420
|
+
clearFilters(): void;
|
|
421
|
+
/**
|
|
422
|
+
* Get count of active filters
|
|
423
|
+
*
|
|
424
|
+
* @returns Number of filter predicates
|
|
425
|
+
*/
|
|
426
|
+
get filterCount(): number;
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Listener Cleanup Manager
|
|
430
|
+
*
|
|
431
|
+
* Multi-stage cleanup with error isolation per listener. Ensures cleanup
|
|
432
|
+
* of one listener doesn't block cleanup of others.
|
|
433
|
+
*
|
|
434
|
+
* Features:
|
|
435
|
+
* - Error isolation (one failure doesn't block others)
|
|
436
|
+
* - Async cleanup support (waitPromises)
|
|
437
|
+
* - Ordering (LIFO - last registered, first cleaned up)
|
|
438
|
+
* - Detailed error logging
|
|
439
|
+
*
|
|
440
|
+
* @example
|
|
441
|
+
* ```typescript
|
|
442
|
+
* // Test case: Multi-stage listener cleanup
|
|
443
|
+
* const manager = new ListenerCleanupManager();
|
|
444
|
+
* const cleaned: string[] = [];
|
|
445
|
+
*
|
|
446
|
+
* // Register listeners with cleanup functions
|
|
447
|
+
* manager.register('listener1', () => {
|
|
448
|
+
* cleaned.push('1');
|
|
449
|
+
* });
|
|
450
|
+
* manager.register('listener2', () => {
|
|
451
|
+
* cleaned.push('2');
|
|
452
|
+
* });
|
|
453
|
+
* manager.register('listener3', () => {
|
|
454
|
+
* throw new Error('Cleanup failed for 3');
|
|
455
|
+
* });
|
|
456
|
+
* manager.register('listener4', () => {
|
|
457
|
+
* cleaned.push('4');
|
|
458
|
+
* });
|
|
459
|
+
*
|
|
460
|
+
* // Cleanup all (error in listener3 doesn't block listener4)
|
|
461
|
+
* await manager.cleanup();
|
|
462
|
+
*
|
|
463
|
+
* // All listeners cleaned up despite error in listener3
|
|
464
|
+
* console.assert(cleaned.includes('1'));
|
|
465
|
+
* console.assert(cleaned.includes('2'));
|
|
466
|
+
* console.assert(cleaned.includes('4'));
|
|
467
|
+
* // Order is LIFO: 4, 3 (error), 2, 1
|
|
468
|
+
* ```
|
|
469
|
+
*
|
|
470
|
+
* @since 6.6.0
|
|
471
|
+
*/
|
|
472
|
+
export declare class ListenerCleanupManager {
|
|
473
|
+
private listeners;
|
|
474
|
+
private logger;
|
|
475
|
+
constructor(logger?: Logger);
|
|
476
|
+
/**
|
|
477
|
+
* Register a listener with cleanup function
|
|
478
|
+
*
|
|
479
|
+
* Cleanup functions are called in LIFO order (last registered, first cleaned up).
|
|
480
|
+
*
|
|
481
|
+
* @param id - Unique identifier for this listener
|
|
482
|
+
* @param cleanup - Sync or async cleanup function
|
|
483
|
+
*/
|
|
484
|
+
register(id: string, cleanup: () => void | Promise<void>): void;
|
|
485
|
+
/**
|
|
486
|
+
* Cleanup all listeners
|
|
487
|
+
*
|
|
488
|
+
* Errors in one listener don't prevent cleanup of others.
|
|
489
|
+
* Returns array of errors encountered during cleanup.
|
|
490
|
+
*
|
|
491
|
+
* @returns Promise that resolves when all cleanup complete
|
|
492
|
+
*/
|
|
493
|
+
cleanup(): Promise<Error[]>;
|
|
494
|
+
/**
|
|
495
|
+
* Clear all registered listeners without calling cleanup
|
|
496
|
+
*/
|
|
497
|
+
clear(): void;
|
|
498
|
+
/**
|
|
499
|
+
* Get count of registered listeners
|
|
500
|
+
*
|
|
501
|
+
* @returns Number of listeners awaiting cleanup
|
|
502
|
+
*/
|
|
503
|
+
get size(): number;
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* Event Buffer with Auto-Cleanup
|
|
507
|
+
*
|
|
508
|
+
* Buffers events with TTL (time-to-live) and max size limits. Old events are
|
|
509
|
+
* automatically expired and removed.
|
|
510
|
+
*
|
|
511
|
+
* Features:
|
|
512
|
+
* - Configurable TTL per event
|
|
513
|
+
* - Max size enforcement (FIFO eviction when full)
|
|
514
|
+
* - Automatic expiration cleanup
|
|
515
|
+
* - Memory-efficient
|
|
516
|
+
*
|
|
517
|
+
* @example
|
|
518
|
+
* ```typescript
|
|
519
|
+
* // Test case: Event buffering with TTL and size limits
|
|
520
|
+
* interface LogEvent { id: string; message: string }
|
|
521
|
+
*
|
|
522
|
+
* const buffer = new EventBufferWithAutoCleanup<LogEvent>({
|
|
523
|
+
* maxSize: 5,
|
|
524
|
+
* defaultTtlMs: 2000
|
|
525
|
+
* });
|
|
526
|
+
*
|
|
527
|
+
* // Add events
|
|
528
|
+
* buffer.push({ id: 'e1', message: 'Event 1' });
|
|
529
|
+
* buffer.push({ id: 'e2', message: 'Event 2' });
|
|
530
|
+
* console.assert(buffer.getAll().length === 2);
|
|
531
|
+
*
|
|
532
|
+
* // Wait for TTL expiration
|
|
533
|
+
* await new Promise(r => setTimeout(r, 2100));
|
|
534
|
+
* // Manual cleanup (normally automatic)
|
|
535
|
+
* buffer.clear(); // Or events auto-expire
|
|
536
|
+
*
|
|
537
|
+
* // Max size enforcement
|
|
538
|
+
* const buffer2 = new EventBufferWithAutoCleanup<LogEvent>({
|
|
539
|
+
* maxSize: 3,
|
|
540
|
+
* defaultTtlMs: 10000
|
|
541
|
+
* });
|
|
542
|
+
* buffer2.push({ id: 'a', message: 'A' });
|
|
543
|
+
* buffer2.push({ id: 'b', message: 'B' });
|
|
544
|
+
* buffer2.push({ id: 'c', message: 'C' });
|
|
545
|
+
* buffer2.push({ id: 'd', message: 'D' }); // Oldest (a) is evicted
|
|
546
|
+
* console.assert(buffer2.getAll().length === 3);
|
|
547
|
+
* console.assert(!buffer2.getAll().some(e => e.id === 'a'));
|
|
548
|
+
* ```
|
|
549
|
+
*
|
|
550
|
+
* @typeParam TEvent - Event type being buffered
|
|
551
|
+
* @since 6.6.0
|
|
552
|
+
*/
|
|
553
|
+
export interface EventBufferConfig {
|
|
554
|
+
maxSize?: number;
|
|
555
|
+
defaultTtlMs?: number;
|
|
556
|
+
}
|
|
557
|
+
export declare class EventBufferWithAutoCleanup<TEvent> {
|
|
558
|
+
private events;
|
|
559
|
+
private timeouts;
|
|
560
|
+
private readonly maxSize;
|
|
561
|
+
private readonly defaultTtlMs;
|
|
562
|
+
private readonly logger;
|
|
563
|
+
constructor(config?: EventBufferConfig, logger?: Logger);
|
|
564
|
+
/**
|
|
565
|
+
* Add an event to the buffer
|
|
566
|
+
*
|
|
567
|
+
* If buffer is full, removes oldest event (FIFO).
|
|
568
|
+
* Event will auto-expire after TTL.
|
|
569
|
+
*
|
|
570
|
+
* @param event - Event to buffer
|
|
571
|
+
*/
|
|
572
|
+
push(event: TEvent): void;
|
|
573
|
+
/**
|
|
574
|
+
* Get all currently buffered events
|
|
575
|
+
*
|
|
576
|
+
* @returns Array of buffered events
|
|
577
|
+
*/
|
|
578
|
+
getAll(): TEvent[];
|
|
579
|
+
/**
|
|
580
|
+
* Clear all buffered events
|
|
581
|
+
*/
|
|
582
|
+
clear(): void;
|
|
583
|
+
/**
|
|
584
|
+
* Get count of buffered events
|
|
585
|
+
*
|
|
586
|
+
* @returns Number of events currently buffered
|
|
587
|
+
*/
|
|
588
|
+
get size(): number;
|
|
589
|
+
}
|
|
590
|
+
/**
|
|
591
|
+
* Typing Indicator Debouncer
|
|
592
|
+
*
|
|
593
|
+
* Debounces typing indicator events to reduce message volume. Multiple
|
|
594
|
+
* typing events from the same user within the debounce window are collapsed
|
|
595
|
+
* into a single indicator.
|
|
596
|
+
*
|
|
597
|
+
* Features:
|
|
598
|
+
* - Per-user debouncing (independent timers for each user)
|
|
599
|
+
* - Automatic cleanup of pending indicators
|
|
600
|
+
* - Configurable debounce delay
|
|
601
|
+
* - Prevents spam of typing events
|
|
602
|
+
*
|
|
603
|
+
* @example
|
|
604
|
+
* ```typescript
|
|
605
|
+
* // Test case: Typing indicator debouncing
|
|
606
|
+
* const debouncer = new TypingIndicatorDebouncer({
|
|
607
|
+
* delayMs: 100,
|
|
608
|
+
* onTyping: (userId, roomId) => {
|
|
609
|
+
* console.log(`User ${userId} is typing in ${roomId}`);
|
|
610
|
+
* },
|
|
611
|
+
* onStopTyping: (userId, roomId) => {
|
|
612
|
+
* console.log(`User ${userId} stopped typing in ${roomId}`);
|
|
613
|
+
* }
|
|
614
|
+
* });
|
|
615
|
+
*
|
|
616
|
+
* const events: string[] = [];
|
|
617
|
+
* debouncer.onTyping = (userId, roomId) => {
|
|
618
|
+
* events.push(`typing:${userId}:${roomId}`);
|
|
619
|
+
* };
|
|
620
|
+
* debouncer.onStopTyping = (userId, roomId) => {
|
|
621
|
+
* events.push(`stop:${userId}:${roomId}`);
|
|
622
|
+
* };
|
|
623
|
+
*
|
|
624
|
+
* // Rapid typing events from same user
|
|
625
|
+
* debouncer.indicate('user123', 'room1');
|
|
626
|
+
* debouncer.indicate('user123', 'room1');
|
|
627
|
+
* debouncer.indicate('user123', 'room1');
|
|
628
|
+
*
|
|
629
|
+
* // Only one typing event sent (debounced)
|
|
630
|
+
* console.assert(events.filter(e => e.startsWith('typing')).length === 1);
|
|
631
|
+
*
|
|
632
|
+
* // Different users send independent indicators
|
|
633
|
+
* debouncer.indicate('user456', 'room1');
|
|
634
|
+
* debouncer.indicate('user789', 'room1');
|
|
635
|
+
* console.assert(events.filter(e => e.startsWith('typing')).length === 3);
|
|
636
|
+
* ```
|
|
637
|
+
*
|
|
638
|
+
* @since 6.6.0
|
|
639
|
+
*/
|
|
640
|
+
export interface TypingIndicatorConfig {
|
|
641
|
+
delayMs?: number;
|
|
642
|
+
onTyping?: (userId: string, roomId: string) => void | Promise<void>;
|
|
643
|
+
onStopTyping?: (userId: string, roomId: string) => void | Promise<void>;
|
|
644
|
+
}
|
|
645
|
+
export declare class TypingIndicatorDebouncer {
|
|
646
|
+
private pendingIndicators;
|
|
647
|
+
private activeIndicators;
|
|
648
|
+
private readonly delayMs;
|
|
649
|
+
private readonly onTyping;
|
|
650
|
+
private readonly onStopTyping;
|
|
651
|
+
private readonly logger;
|
|
652
|
+
constructor(config?: TypingIndicatorConfig, logger?: Logger);
|
|
653
|
+
/**
|
|
654
|
+
* Indicate that a user is typing
|
|
655
|
+
*
|
|
656
|
+
* If user is already typing, the debounce window is reset.
|
|
657
|
+
* Stop indicator is sent after delayMs of inactivity.
|
|
658
|
+
*
|
|
659
|
+
* @param userId - User identifier
|
|
660
|
+
* @param roomId - Room identifier (e.g., 'token:anime')
|
|
661
|
+
*/
|
|
662
|
+
indicate(userId: string, roomId: string): void;
|
|
663
|
+
/**
|
|
664
|
+
* Explicitly stop typing indicator for a user
|
|
665
|
+
*
|
|
666
|
+
* @param userId - User identifier
|
|
667
|
+
* @param roomId - Room identifier
|
|
668
|
+
*/
|
|
669
|
+
stopTyping(userId: string, roomId: string): void;
|
|
670
|
+
/**
|
|
671
|
+
* Clear all pending typing indicators
|
|
672
|
+
*/
|
|
673
|
+
clear(): void;
|
|
674
|
+
/**
|
|
675
|
+
* Get count of active typing indicators
|
|
676
|
+
*
|
|
677
|
+
* @returns Number of users currently typing
|
|
678
|
+
*/
|
|
679
|
+
get activeCount(): number;
|
|
680
|
+
}
|
|
681
|
+
//# sourceMappingURL=websocket-patterns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-patterns.d.ts","sourceRoot":"","sources":["../../../src/utils/websocket-patterns.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-validators.d.ts","sourceRoot":"","sources":["../../../src/utils/websocket-validators.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACf,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"websocket-validators.d.ts","sourceRoot":"","sources":["../../../src/utils/websocket-validators.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACf,MAAM,+BAA+B,CAAC;AAIvC;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,WAAW,CAchE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,YAAY,CAalE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,cAAc,CActE;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAa1F"}
|