@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,269 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Moderator Invite Service
|
|
3
|
+
*
|
|
4
|
+
* Handles all moderator invite operations including creating/revoking invites,
|
|
5
|
+
* claiming invites, listing invites, and managing moderated tokens.
|
|
6
|
+
*
|
|
7
|
+
* @category Services
|
|
8
|
+
* @since 5.7.0
|
|
9
|
+
*/
|
|
10
|
+
import { HttpClient } from '../utils/http';
|
|
11
|
+
import { StreamTokenServiceBase } from './StreamTokenServiceBase';
|
|
12
|
+
import type { JwtAuth } from '../auth/JwtAuth';
|
|
13
|
+
import { CreateModeratorInviteOptions, ClaimModeratorInviteOptions, ListModeratorInvitesOptions, GetModeratedTokensOptions, UpdateInviteRoleOptions, CreateModeratorInviteResult, ClaimModeratorInviteResult, ModeratorInviteListResult, ModeratedTokensResult, UpdateInviteRoleResult, PublicInviteInfo } from '../types/moderator.dto';
|
|
14
|
+
/**
|
|
15
|
+
* Moderator Invite Service Class
|
|
16
|
+
*
|
|
17
|
+
* Provides methods for:
|
|
18
|
+
* - Creating and revoking moderator invites (token owner)
|
|
19
|
+
* - Claiming invites (moderators)
|
|
20
|
+
* - Listing invites for a token (owner)
|
|
21
|
+
* - Getting tokens a user moderates (moderator /studio dashboard)
|
|
22
|
+
* - Getting invite details by code (public - for claim page)
|
|
23
|
+
*
|
|
24
|
+
* All endpoints require JWT authentication except getInviteByCode which is public.
|
|
25
|
+
*
|
|
26
|
+
* @remarks
|
|
27
|
+
* **Case Normalization**: Token names are automatically normalized to lowercase
|
|
28
|
+
* in all requests and responses for consistency.
|
|
29
|
+
*
|
|
30
|
+
* **Security**: This service uses JWT authentication via Authorization header.
|
|
31
|
+
* When using from browser clients, ensure tokens are stored securely
|
|
32
|
+
* (e.g., in memory, not localStorage) to prevent XSS token theft.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const moderatorService = new ModeratorService(httpClient, undefined, jwtAuth, true);
|
|
37
|
+
*
|
|
38
|
+
* // Create an invite (as token owner)
|
|
39
|
+
* const invite = await moderatorService.createInvite({
|
|
40
|
+
* tokenName: 'mytoken',
|
|
41
|
+
* role: 'MODERATOR',
|
|
42
|
+
* description: 'John - Friday shows'
|
|
43
|
+
* });
|
|
44
|
+
* console.log('Share this link:', invite.invite.inviteUrl);
|
|
45
|
+
*
|
|
46
|
+
* // Claim an invite (as moderator)
|
|
47
|
+
* const claimed = await moderatorService.claimInvite({
|
|
48
|
+
* inviteCode: 'abc123...'
|
|
49
|
+
* });
|
|
50
|
+
* console.log('Now moderating:', claimed.token.tokenName);
|
|
51
|
+
*
|
|
52
|
+
* // Get tokens user moderates (for /studio dashboard)
|
|
53
|
+
* const moderated = await moderatorService.getModeratedTokens({ page: 1, limit: 20 });
|
|
54
|
+
* console.log('Moderating', moderated.tokens.length, 'tokens');
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare class ModeratorService extends StreamTokenServiceBase {
|
|
58
|
+
constructor(http: HttpClient, adminApiKey?: string, jwtAuth?: JwtAuth, debugMode?: boolean);
|
|
59
|
+
/**
|
|
60
|
+
* Validate moderator role
|
|
61
|
+
*/
|
|
62
|
+
private validateRole;
|
|
63
|
+
/**
|
|
64
|
+
* Validate invite code format
|
|
65
|
+
*/
|
|
66
|
+
private validateInviteCodeFormat;
|
|
67
|
+
/**
|
|
68
|
+
* Validate invite scope
|
|
69
|
+
*/
|
|
70
|
+
private validateInviteScope;
|
|
71
|
+
/**
|
|
72
|
+
* Create a moderator invite for a token
|
|
73
|
+
*
|
|
74
|
+
* JWT-authenticated endpoint - requires the authenticated user to be the token owner.
|
|
75
|
+
*
|
|
76
|
+
* Supports two invite scopes:
|
|
77
|
+
* - **TOKEN** (default): Access to a specific token only. `tokenName` is required.
|
|
78
|
+
* - **ALL_OWNER_TOKENS**: Blanket access to ALL tokens owned by the inviter.
|
|
79
|
+
* The moderator gains access to current and future tokens. `tokenName` should be omitted.
|
|
80
|
+
*
|
|
81
|
+
* @param options Create options including inviteScope, tokenName (for TOKEN scope), role, and optional description/expiration
|
|
82
|
+
* @returns Created invite data including the invite URL for sharing
|
|
83
|
+
* @throws ValidationError if parameters are invalid
|
|
84
|
+
* @throws ConfigurationError if JWT is not configured
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```typescript
|
|
88
|
+
* // Create a moderator invite for a specific token (TOKEN scope - default)
|
|
89
|
+
* const result = await moderatorService.createInvite({
|
|
90
|
+
* tokenName: 'mytoken',
|
|
91
|
+
* role: 'MODERATOR',
|
|
92
|
+
* description: 'John - Friday evening shows'
|
|
93
|
+
* });
|
|
94
|
+
* console.log('Share link:', result.invite.inviteUrl);
|
|
95
|
+
*
|
|
96
|
+
* // Create a blanket invite for ALL tokens (ALL_OWNER_TOKENS scope)
|
|
97
|
+
* const blanketResult = await moderatorService.createInvite({
|
|
98
|
+
* inviteScope: 'ALL_OWNER_TOKENS',
|
|
99
|
+
* role: 'MANAGER',
|
|
100
|
+
* description: 'Production team - full access'
|
|
101
|
+
* });
|
|
102
|
+
*
|
|
103
|
+
* // Create invite with expiration
|
|
104
|
+
* const result = await moderatorService.createInvite({
|
|
105
|
+
* tokenName: 'mytoken',
|
|
106
|
+
* role: 'TECHNICAL_PRODUCER',
|
|
107
|
+
* expiresAt: '2025-12-31T23:59:59Z'
|
|
108
|
+
* });
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
createInvite(options: CreateModeratorInviteOptions): Promise<CreateModeratorInviteResult>;
|
|
112
|
+
/**
|
|
113
|
+
* List all invites for a token (owner only)
|
|
114
|
+
*
|
|
115
|
+
* JWT-authenticated endpoint - requires the authenticated user to be the token owner.
|
|
116
|
+
*
|
|
117
|
+
* @param options List options including tokenName and optional status filter/pagination
|
|
118
|
+
* @returns Paginated list of invites
|
|
119
|
+
* @throws ValidationError if token name is invalid
|
|
120
|
+
* @throws ConfigurationError if JWT is not configured
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```typescript
|
|
124
|
+
* // Get all invites
|
|
125
|
+
* const result = await moderatorService.listInvites({
|
|
126
|
+
* tokenName: 'mytoken'
|
|
127
|
+
* });
|
|
128
|
+
* console.log('Total invites:', result.meta.totalItems);
|
|
129
|
+
*
|
|
130
|
+
* // Filter by status
|
|
131
|
+
* const pending = await moderatorService.listInvites({
|
|
132
|
+
* tokenName: 'mytoken',
|
|
133
|
+
* status: 'PENDING'
|
|
134
|
+
* });
|
|
135
|
+
*
|
|
136
|
+
* // Paginate
|
|
137
|
+
* const page2 = await moderatorService.listInvites({
|
|
138
|
+
* tokenName: 'mytoken',
|
|
139
|
+
* page: 2,
|
|
140
|
+
* limit: 10
|
|
141
|
+
* });
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
listInvites(options: ListModeratorInvitesOptions): Promise<ModeratorInviteListResult>;
|
|
145
|
+
/**
|
|
146
|
+
* Revoke a moderator invite (owner only)
|
|
147
|
+
*
|
|
148
|
+
* JWT-authenticated endpoint - requires the authenticated user to be the token owner.
|
|
149
|
+
* This revokes the invite, preventing it from being claimed. If already claimed,
|
|
150
|
+
* the moderator loses access.
|
|
151
|
+
*
|
|
152
|
+
* @param inviteId The ID of the invite to revoke
|
|
153
|
+
* @throws ValidationError if invite ID is invalid
|
|
154
|
+
* @throws ConfigurationError if JWT is not configured
|
|
155
|
+
* @throws Error if invite not found (404) or not authorized (403)
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```typescript
|
|
159
|
+
* await moderatorService.revokeInvite(123);
|
|
160
|
+
* console.log('Invite revoked');
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
163
|
+
revokeInvite(inviteId: number): Promise<void>;
|
|
164
|
+
/**
|
|
165
|
+
* Update the role of a moderator invite (owner only)
|
|
166
|
+
*
|
|
167
|
+
* JWT-authenticated endpoint - requires the authenticated user to be the token owner.
|
|
168
|
+
* This changes the role granted by the invite. For claimed invites, the moderator's
|
|
169
|
+
* effective permissions change immediately (enforced at runtime).
|
|
170
|
+
*
|
|
171
|
+
* @param options Update options including inviteId and new role
|
|
172
|
+
* @returns Updated invite data
|
|
173
|
+
* @throws ValidationError if parameters are invalid
|
|
174
|
+
* @throws ConfigurationError if JWT is not configured
|
|
175
|
+
* @throws Error if invite not found (404) or not authorized (403)
|
|
176
|
+
*
|
|
177
|
+
* @example
|
|
178
|
+
* ```typescript
|
|
179
|
+
* // Upgrade a moderator to manager
|
|
180
|
+
* const result = await moderatorService.updateInviteRole({
|
|
181
|
+
* inviteId: 123,
|
|
182
|
+
* role: 'MANAGER'
|
|
183
|
+
* });
|
|
184
|
+
* console.log('Updated role:', result.invite.role);
|
|
185
|
+
*
|
|
186
|
+
* // Downgrade a manager to moderator
|
|
187
|
+
* await moderatorService.updateInviteRole({
|
|
188
|
+
* inviteId: 456,
|
|
189
|
+
* role: 'MODERATOR'
|
|
190
|
+
* });
|
|
191
|
+
* ```
|
|
192
|
+
*/
|
|
193
|
+
updateInviteRole(options: UpdateInviteRoleOptions): Promise<UpdateInviteRoleResult>;
|
|
194
|
+
/**
|
|
195
|
+
* Claim a moderator invite
|
|
196
|
+
*
|
|
197
|
+
* JWT-authenticated endpoint - requires the user to be logged in.
|
|
198
|
+
* The authenticated user's wallet becomes the moderator for the token(s).
|
|
199
|
+
*
|
|
200
|
+
* Returns different result structure based on invite scope:
|
|
201
|
+
* - **TOKEN** scope: Returns `{ token }` with the specific token details
|
|
202
|
+
* - **ALL_OWNER_TOKENS** scope: Returns `{ blanketAccess }` with scope/role info
|
|
203
|
+
*
|
|
204
|
+
* @param options Claim options including the invite code
|
|
205
|
+
* @returns For TOKEN scope: `{ token }`. For ALL_OWNER_TOKENS: `{ blanketAccess }`
|
|
206
|
+
* @throws ValidationError if invite code is invalid or invite already claimed/revoked/expired
|
|
207
|
+
* @throws ConfigurationError if JWT is not configured
|
|
208
|
+
*
|
|
209
|
+
* @example
|
|
210
|
+
* ```typescript
|
|
211
|
+
* const result = await moderatorService.claimInvite({
|
|
212
|
+
* inviteCode: 'abc123def456...'
|
|
213
|
+
* });
|
|
214
|
+
*
|
|
215
|
+
* // Check which type of invite was claimed
|
|
216
|
+
* if (result.token) {
|
|
217
|
+
* // TOKEN scope - specific token access
|
|
218
|
+
* console.log('Now moderating:', result.token.tokenName);
|
|
219
|
+
* console.log('Role:', result.token.role);
|
|
220
|
+
* } else if (result.blanketAccess) {
|
|
221
|
+
* // ALL_OWNER_TOKENS scope - blanket access to all owner's tokens
|
|
222
|
+
* console.log('Granted blanket access as:', result.blanketAccess.role);
|
|
223
|
+
* }
|
|
224
|
+
* ```
|
|
225
|
+
*/
|
|
226
|
+
claimInvite(options: ClaimModeratorInviteOptions): Promise<ClaimModeratorInviteResult>;
|
|
227
|
+
/**
|
|
228
|
+
* Get all tokens the current user moderates
|
|
229
|
+
*
|
|
230
|
+
* JWT-authenticated endpoint. Returns all tokens where the authenticated
|
|
231
|
+
* user has claimed a moderator invite and has active access.
|
|
232
|
+
* Used for the /studio dashboard.
|
|
233
|
+
*
|
|
234
|
+
* @param options Optional pagination options
|
|
235
|
+
* @returns Paginated list of moderated tokens
|
|
236
|
+
* @throws ConfigurationError if JWT is not configured
|
|
237
|
+
*
|
|
238
|
+
* @example
|
|
239
|
+
* ```typescript
|
|
240
|
+
* const result = await moderatorService.getModeratedTokens();
|
|
241
|
+
* console.log('Moderating', result.meta.totalItems, 'tokens');
|
|
242
|
+
*
|
|
243
|
+
* for (const token of result.tokens) {
|
|
244
|
+
* console.log(`- ${token.tokenName} (${token.role})`);
|
|
245
|
+
* }
|
|
246
|
+
* ```
|
|
247
|
+
*/
|
|
248
|
+
getModeratedTokens(options?: GetModeratedTokensOptions): Promise<ModeratedTokensResult>;
|
|
249
|
+
/**
|
|
250
|
+
* Get invite details by code (public endpoint)
|
|
251
|
+
*
|
|
252
|
+
* This is a public endpoint used by the frontend claim page to display
|
|
253
|
+
* invite information before the user logs in to claim.
|
|
254
|
+
*
|
|
255
|
+
* @param inviteCode The invite code from the magic link URL
|
|
256
|
+
* @returns Public invite information (token name, role, inviter info)
|
|
257
|
+
* @throws ValidationError if invite code format is invalid
|
|
258
|
+
* @throws Error if invite not found (404)
|
|
259
|
+
*
|
|
260
|
+
* @example
|
|
261
|
+
* ```typescript
|
|
262
|
+
* const info = await moderatorService.getInviteByCode('abc123def456...');
|
|
263
|
+
* console.log(`Invited to moderate ${info.tokenName} as ${info.role}`);
|
|
264
|
+
* console.log(`Invited by: ${info.invitedBy.fullName || info.invitedBy.address}`);
|
|
265
|
+
* ```
|
|
266
|
+
*/
|
|
267
|
+
getInviteByCode(inviteCode: string): Promise<PublicInviteInfo>;
|
|
268
|
+
}
|
|
269
|
+
//# sourceMappingURL=ModeratorService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModeratorService.d.ts","sourceRoot":"","sources":["../../../src/services/ModeratorService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAiBjB,MAAM,wBAAwB,CAAC;AAOhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBAAa,gBAAiB,SAAQ,sBAAsB;gBAExD,IAAI,EAAE,UAAU,EAChB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,OAAO,EACjB,SAAS,GAAE,OAAe;IAK5B;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAShC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACG,YAAY,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAuD/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACG,WAAW,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAmC3F;;;;;;;;;;;;;;;;;OAiBG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAenD;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA2BzF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACG,WAAW,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA2B5F;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,kBAAkB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA2B7F;;;;;;;;;;;;;;;;;OAiBG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAYrE"}
|
|
@@ -21,6 +21,7 @@ import type { Socket } from 'socket.io-client';
|
|
|
21
21
|
import type { SwapEventCallback, SubscribeSwapOptions, SwapMonitorConfig, SwapMonitorHealth, CleanupFunction } from '../types/swap-monitor.dto';
|
|
22
22
|
import type { CompositePoolDataResult } from '../types/composite-pool.dto';
|
|
23
23
|
import { Logger } from '../utils/Logger';
|
|
24
|
+
import { LoggerBase } from './BaseService';
|
|
24
25
|
import type { DexQuoteService } from './DexQuoteService';
|
|
25
26
|
/**
|
|
26
27
|
* Manages real-time DEX swap monitoring across multiple pools
|
|
@@ -30,11 +31,10 @@ import type { DexQuoteService } from './DexQuoteService';
|
|
|
30
31
|
*
|
|
31
32
|
* @internal
|
|
32
33
|
*/
|
|
33
|
-
export declare class MultiPoolStateManager {
|
|
34
|
+
export declare class MultiPoolStateManager extends LoggerBase {
|
|
34
35
|
private socket;
|
|
35
36
|
private socketReady;
|
|
36
37
|
private readonly config;
|
|
37
|
-
private readonly logger;
|
|
38
38
|
private readonly metrics;
|
|
39
39
|
private readonly eventExtractor;
|
|
40
40
|
private readonly quoteService;
|
|
@@ -50,10 +50,8 @@ export declare class MultiPoolStateManager {
|
|
|
50
50
|
private handleSwapEvent;
|
|
51
51
|
/** Background warming loop interval handle */
|
|
52
52
|
private warmingIntervalHandle;
|
|
53
|
-
/** Reconnection
|
|
54
|
-
private
|
|
55
|
-
private maxReconnectAttempts;
|
|
56
|
-
private reconnectDelayMs;
|
|
53
|
+
/** Reconnection manager for handling connection failures */
|
|
54
|
+
private reconnectionManager;
|
|
57
55
|
constructor(socket: Socket | Promise<Socket>, fetchPoolFn: (poolKey: string) => Promise<CompositePoolDataResult>, quoteService: DexQuoteService, config?: SwapMonitorConfig, logger?: Logger);
|
|
58
56
|
/**
|
|
59
57
|
* Subscribe to swap events for real-time monitoring
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiPoolStateManager.d.ts","sourceRoot":"","sources":["../../../src/services/MultiPoolStateManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EACV,iBAAiB,EAEjB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"MultiPoolStateManager.d.ts","sourceRoot":"","sources":["../../../src/services/MultiPoolStateManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Network-Keyed Cache Service Base Class
|
|
3
|
+
*
|
|
4
|
+
* Abstraction for caches that store items partitioned by network key
|
|
5
|
+
* (e.g., 'ETHEREUM', 'SOLANA'). Extends BatchedCacheService patterns
|
|
6
|
+
* for network-partitioned storage with dual O(1) indices.
|
|
7
|
+
*
|
|
8
|
+
* ## Features
|
|
9
|
+
* - Network-partitioned storage (Map<Network, Map<Key, Item>>)
|
|
10
|
+
* - Primary index by symbol/key + secondary index by tokenId
|
|
11
|
+
* - Batch operations per network (set, merge)
|
|
12
|
+
* - Timestamp tracking per network
|
|
13
|
+
* - Common normalization via normalizeTokenKey()
|
|
14
|
+
*
|
|
15
|
+
* ## Subclass Responsibilities
|
|
16
|
+
* - Implement `extractPrimaryKey()` for primary index (e.g., symbol)
|
|
17
|
+
* - Implement `extractSecondaryKey()` for secondary index (e.g., tokenId)
|
|
18
|
+
* - Implement `getStats()` for domain-specific statistics
|
|
19
|
+
*
|
|
20
|
+
* @category Services
|
|
21
|
+
* @since 5.12.0
|
|
22
|
+
* @template V - Value type stored in cache
|
|
23
|
+
* @template K - Network key type (e.g., 'ETHEREUM' | 'SOLANA')
|
|
24
|
+
* @template S - Statistics type
|
|
25
|
+
*/
|
|
26
|
+
import { LoggerBase } from './BaseService.js';
|
|
27
|
+
/**
|
|
28
|
+
* Base cache statistics for network-keyed caches
|
|
29
|
+
*/
|
|
30
|
+
export interface NetworkKeyedCacheStats<K extends string = string> {
|
|
31
|
+
/** Networks with cached data */
|
|
32
|
+
networks: K[];
|
|
33
|
+
/** Total items across all networks */
|
|
34
|
+
totalItems: number;
|
|
35
|
+
/** Item count per network */
|
|
36
|
+
itemsByNetwork: Record<K, number>;
|
|
37
|
+
/** Fetch timestamps per network */
|
|
38
|
+
fetchTimestamps: Record<K, number>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Network-keyed cache service with dual O(1) indices
|
|
42
|
+
*
|
|
43
|
+
* Provides reusable cache operations for network-partitioned token data.
|
|
44
|
+
* Uses dual Map indices for efficient lookups by both symbol and tokenId.
|
|
45
|
+
*
|
|
46
|
+
* @template V - Value type stored in cache
|
|
47
|
+
* @template K - Network key type (e.g., 'ETHEREUM' | 'SOLANA')
|
|
48
|
+
* @template S - Statistics type extending NetworkKeyedCacheStats
|
|
49
|
+
*/
|
|
50
|
+
export declare abstract class NetworkKeyedCacheService<V, K extends string = string, S extends NetworkKeyedCacheStats<K> = NetworkKeyedCacheStats<K>> extends LoggerBase {
|
|
51
|
+
/** Primary index: network -> (primaryKey -> item) */
|
|
52
|
+
protected readonly primaryIndex: Map<K, Map<string, V>>;
|
|
53
|
+
/** Secondary index: network -> (secondaryKey -> item) */
|
|
54
|
+
protected readonly secondaryIndex: Map<K, Map<string, V>>;
|
|
55
|
+
/** Fetch timestamps per network */
|
|
56
|
+
protected readonly fetchTimestamps: Map<K, number>;
|
|
57
|
+
constructor(debugMode?: boolean);
|
|
58
|
+
/**
|
|
59
|
+
* Normalize key for consistent cache lookups
|
|
60
|
+
*
|
|
61
|
+
* Uses common tokenNameNormalizer for uppercase, trimmed keys.
|
|
62
|
+
*
|
|
63
|
+
* @param key - Raw key to normalize
|
|
64
|
+
* @returns Normalized key string
|
|
65
|
+
*/
|
|
66
|
+
protected normalizeKey(key: string): string;
|
|
67
|
+
/**
|
|
68
|
+
* Extract the primary key from an item (e.g., symbol)
|
|
69
|
+
*
|
|
70
|
+
* @param item - Item to extract primary key from
|
|
71
|
+
* @returns Primary key string
|
|
72
|
+
*/
|
|
73
|
+
protected abstract extractPrimaryKey(item: V): string;
|
|
74
|
+
/**
|
|
75
|
+
* Extract the secondary key from an item (e.g., stringifiedTokenClassKey)
|
|
76
|
+
*
|
|
77
|
+
* @param item - Item to extract secondary key from
|
|
78
|
+
* @returns Secondary key string
|
|
79
|
+
*/
|
|
80
|
+
protected abstract extractSecondaryKey(item: V): string;
|
|
81
|
+
/**
|
|
82
|
+
* Check if cache has data for a network
|
|
83
|
+
*
|
|
84
|
+
* @param network - Network to check
|
|
85
|
+
* @returns True if network has cached items
|
|
86
|
+
*/
|
|
87
|
+
has(network: K): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Get all items for a network
|
|
90
|
+
*
|
|
91
|
+
* @param network - Network to get items for
|
|
92
|
+
* @returns Array of cached items (empty if not cached)
|
|
93
|
+
*/
|
|
94
|
+
getAll(network: K): V[];
|
|
95
|
+
/**
|
|
96
|
+
* Get item by primary key (e.g., symbol)
|
|
97
|
+
*
|
|
98
|
+
* @param network - Network to search
|
|
99
|
+
* @param key - Primary key (case-insensitive)
|
|
100
|
+
* @returns Item or undefined if not found
|
|
101
|
+
*/
|
|
102
|
+
getByPrimaryKey(network: K, key: string): V | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* Get item by secondary key (e.g., tokenId)
|
|
105
|
+
*
|
|
106
|
+
* Uses the secondary index for O(1) lookup performance.
|
|
107
|
+
*
|
|
108
|
+
* @param network - Network to search
|
|
109
|
+
* @param key - Secondary key (case-insensitive)
|
|
110
|
+
* @returns Item or undefined if not found
|
|
111
|
+
*/
|
|
112
|
+
getBySecondaryKey(network: K, key: string): V | undefined;
|
|
113
|
+
/**
|
|
114
|
+
* Set items for a network (replaces all existing items)
|
|
115
|
+
*
|
|
116
|
+
* @param network - Network to set items for
|
|
117
|
+
* @param items - Array of items to cache
|
|
118
|
+
*/
|
|
119
|
+
set(network: K, items: V[]): void;
|
|
120
|
+
/**
|
|
121
|
+
* Add items to a network cache (merges with existing)
|
|
122
|
+
*
|
|
123
|
+
* Used for pagination - adds new items without replacing existing.
|
|
124
|
+
*
|
|
125
|
+
* @param network - Network to add items to
|
|
126
|
+
* @param items - Array of items to add
|
|
127
|
+
*/
|
|
128
|
+
merge(network: K, items: V[]): void;
|
|
129
|
+
/**
|
|
130
|
+
* Get fetch timestamp for a network
|
|
131
|
+
*
|
|
132
|
+
* @param network - Network to get timestamp for
|
|
133
|
+
* @returns Timestamp when network was last fetched, or undefined
|
|
134
|
+
*/
|
|
135
|
+
getFetchTimestamp(network: K): number | undefined;
|
|
136
|
+
/**
|
|
137
|
+
* Get cache statistics
|
|
138
|
+
*
|
|
139
|
+
* Subclasses may override to add domain-specific statistics.
|
|
140
|
+
*
|
|
141
|
+
* @returns Cache statistics
|
|
142
|
+
*/
|
|
143
|
+
abstract getStats(): S;
|
|
144
|
+
/**
|
|
145
|
+
* Build base statistics (helper for subclasses)
|
|
146
|
+
*
|
|
147
|
+
* @param defaultNetworks - Default networks to include in stats
|
|
148
|
+
* @returns Base statistics object
|
|
149
|
+
*/
|
|
150
|
+
protected buildBaseStats(defaultNetworks: K[]): NetworkKeyedCacheStats<K>;
|
|
151
|
+
/**
|
|
152
|
+
* Clear cache for a network or all networks
|
|
153
|
+
*
|
|
154
|
+
* @param network - Optional network to clear (clears all if not provided)
|
|
155
|
+
*/
|
|
156
|
+
clear(network?: K): void;
|
|
157
|
+
/**
|
|
158
|
+
* Get item count for a network
|
|
159
|
+
*
|
|
160
|
+
* @param network - Network to count items for
|
|
161
|
+
* @returns Number of cached items
|
|
162
|
+
*/
|
|
163
|
+
size(network: K): number;
|
|
164
|
+
/**
|
|
165
|
+
* Check if item exists by primary key
|
|
166
|
+
*
|
|
167
|
+
* @param network - Network to check
|
|
168
|
+
* @param key - Primary key (case-insensitive)
|
|
169
|
+
* @returns True if item is cached
|
|
170
|
+
*/
|
|
171
|
+
hasByPrimaryKey(network: K, key: string): boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Get all cached networks
|
|
174
|
+
*
|
|
175
|
+
* @returns Array of networks with cached items
|
|
176
|
+
*/
|
|
177
|
+
getCachedNetworks(): K[];
|
|
178
|
+
/**
|
|
179
|
+
* Dump entire cache contents
|
|
180
|
+
*
|
|
181
|
+
* @returns Full cache contents for all cached networks
|
|
182
|
+
*/
|
|
183
|
+
dump(): Record<K, V[]>;
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=NetworkKeyedCacheService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkKeyedCacheService.d.ts","sourceRoot":"","sources":["../../../src/services/NetworkKeyedCacheService.ts"],"names":[],"mappings":"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"}
|