@gala-chain/launchpad-sdk 5.0.3 → 5.0.4-beta.1
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/constants/version.generated.d.ts.map +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,547 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Streaming Service
|
|
3
|
+
*
|
|
4
|
+
* Handles all live streaming operations including stream management,
|
|
5
|
+
* recordings, simulcast targets, and global streaming status.
|
|
6
|
+
*
|
|
7
|
+
* @category Services
|
|
8
|
+
* @since 5.1.0
|
|
9
|
+
*/
|
|
10
|
+
import { HttpClient } from '../utils/http';
|
|
11
|
+
import { StreamTokenServiceBase } from './StreamTokenServiceBase';
|
|
12
|
+
import type { JwtAuth } from '../auth/JwtAuth';
|
|
13
|
+
import { StreamInfo, StartStreamResult, ResetStreamKeyResult, FetchRecordingsOptions, RecordingsResult, RecordingDownloadResult, AddSimulcastTargetOptions, SimulcastTargetsResult, AddSimulcastTargetResult, GlobalStreamingStatus, StreamSettings, SetCountdownOptions, SetLanguageOptions, GetStreamRoleOptions, StreamRoleResponse, AvailableRolesResponse, GetTokenAccessOptions, TokenAccessResult } from '../types/streaming.dto';
|
|
14
|
+
/**
|
|
15
|
+
* Streaming Service Class
|
|
16
|
+
*
|
|
17
|
+
* Provides methods for:
|
|
18
|
+
* - Stream management (start, info, enable/disable)
|
|
19
|
+
* - Recording management (list, download, delete)
|
|
20
|
+
* - Simulcast target management (list, add, remove)
|
|
21
|
+
* - Global streaming status (get, enable/disable)
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* const streamingService = new StreamingService(httpClient, 'admin-api-key', true);
|
|
26
|
+
*
|
|
27
|
+
* // Get stream info
|
|
28
|
+
* const info = await streamingService.getStreamInfo('mytoken');
|
|
29
|
+
*
|
|
30
|
+
* // Start a stream
|
|
31
|
+
* const stream = await streamingService.startStream('mytoken');
|
|
32
|
+
* console.log('RTMP URL:', stream.rtmpUrl);
|
|
33
|
+
* console.log('Stream Key:', stream.streamKey);
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare class StreamingService extends StreamTokenServiceBase {
|
|
37
|
+
constructor(http: HttpClient, adminApiKey?: string, jwtAuth?: JwtAuth, debugMode?: boolean);
|
|
38
|
+
/**
|
|
39
|
+
* Get stream information for a token
|
|
40
|
+
*
|
|
41
|
+
* Public endpoint - no authentication required.
|
|
42
|
+
*
|
|
43
|
+
* @param tokenName Token name (lowercase)
|
|
44
|
+
* @returns Stream information including status, playback ID, and viewer count
|
|
45
|
+
* @throws ValidationError if token name is invalid
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* const info = await streamingService.getStreamInfo('mytoken');
|
|
50
|
+
* console.log('Status:', info.status); // 'IDLE' | 'ACTIVE' | 'DISABLED'
|
|
51
|
+
* console.log('Is Live:', info.isLive);
|
|
52
|
+
* console.log('Viewers:', info.viewerCount);
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
getStreamInfo(tokenName: string): Promise<StreamInfo>;
|
|
56
|
+
/**
|
|
57
|
+
* Start a new stream for a token
|
|
58
|
+
*
|
|
59
|
+
* Requires JWT authentication (stream creator only).
|
|
60
|
+
*
|
|
61
|
+
* **Rate Limits:**
|
|
62
|
+
* - Stream operations are subject to backend rate limiting
|
|
63
|
+
* - Only one active stream per token is allowed
|
|
64
|
+
* - Excessive start/stop cycles may be temporarily throttled
|
|
65
|
+
*
|
|
66
|
+
* @param tokenName Token name (lowercase)
|
|
67
|
+
* @returns Stream credentials including RTMP URL and stream key
|
|
68
|
+
* @throws ValidationError if token name is invalid
|
|
69
|
+
* @throws Error if user is not authorized to start stream
|
|
70
|
+
* @throws Error if rate limit exceeded (HTTP 429)
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* const stream = await streamingService.startStream('mytoken');
|
|
75
|
+
* console.log('RTMP URL:', stream.rtmpUrl);
|
|
76
|
+
* console.log('Stream Key:', stream.streamKey);
|
|
77
|
+
* console.log('Playback URL:', stream.playbackUrl);
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
startStream(tokenName: string): Promise<StartStreamResult>;
|
|
81
|
+
/**
|
|
82
|
+
* Stop an active stream for a token
|
|
83
|
+
*
|
|
84
|
+
* Requires JWT authentication (stream creator only).
|
|
85
|
+
* This immediately ends the current broadcast and sets the stream to IDLE.
|
|
86
|
+
* The stream can be restarted by calling startStream() again.
|
|
87
|
+
*
|
|
88
|
+
* Unlike disableStream() which is an admin operation that prevents streaming,
|
|
89
|
+
* stopStream() is for stream owners to end their current broadcast.
|
|
90
|
+
*
|
|
91
|
+
* @param tokenName Token name (lowercase)
|
|
92
|
+
* @throws ValidationError if token name is invalid
|
|
93
|
+
* @throws Error if user is not authorized (not stream owner)
|
|
94
|
+
* @throws Error if stream is not currently active
|
|
95
|
+
*
|
|
96
|
+
* @see https://www.mux.com/docs/api-reference/video/live-streams/signal-live-stream-complete
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* await streamingService.stopStream('mytoken');
|
|
101
|
+
* console.log('Stream stopped successfully');
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
stopStream(tokenName: string): Promise<void>;
|
|
105
|
+
/**
|
|
106
|
+
* Disable streaming for a token
|
|
107
|
+
*
|
|
108
|
+
* Admin endpoint - requires admin API key.
|
|
109
|
+
*
|
|
110
|
+
* @param tokenName Token name (lowercase)
|
|
111
|
+
* @returns Updated enabled status
|
|
112
|
+
* @throws ConfigurationError if admin API key is not set
|
|
113
|
+
* @throws ValidationError if token name is invalid
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* await streamingService.disableStream('mytoken');
|
|
118
|
+
* console.log('Stream disabled');
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
disableStream(tokenName: string): Promise<{
|
|
122
|
+
enabled: boolean;
|
|
123
|
+
tokenName: string;
|
|
124
|
+
}>;
|
|
125
|
+
/**
|
|
126
|
+
* Enable streaming for a token
|
|
127
|
+
*
|
|
128
|
+
* Admin endpoint - requires admin API key.
|
|
129
|
+
*
|
|
130
|
+
* @param tokenName Token name (lowercase)
|
|
131
|
+
* @returns Updated enabled status
|
|
132
|
+
* @throws ConfigurationError if admin API key is not set
|
|
133
|
+
* @throws ValidationError if token name is invalid
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```typescript
|
|
137
|
+
* await streamingService.enableStream('mytoken');
|
|
138
|
+
* console.log('Stream enabled');
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
141
|
+
enableStream(tokenName: string): Promise<{
|
|
142
|
+
enabled: boolean;
|
|
143
|
+
tokenName: string;
|
|
144
|
+
}>;
|
|
145
|
+
/**
|
|
146
|
+
* Reset stream key for a token
|
|
147
|
+
*
|
|
148
|
+
* Requires JWT authentication (stream creator only).
|
|
149
|
+
* Use this if your stream key has been compromised.
|
|
150
|
+
*
|
|
151
|
+
* @param tokenName Token name (lowercase)
|
|
152
|
+
* @returns New stream key and RTMP URL
|
|
153
|
+
* @throws ValidationError if token name is invalid
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* const result = await streamingService.resetStreamKey('mytoken');
|
|
158
|
+
* console.log('New Stream Key:', result.streamKey);
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
resetStreamKey(tokenName: string): Promise<ResetStreamKeyResult>;
|
|
162
|
+
/**
|
|
163
|
+
* Get recordings for a token
|
|
164
|
+
*
|
|
165
|
+
* Public endpoint - no authentication required.
|
|
166
|
+
*
|
|
167
|
+
* @param options Fetch options including tokenName and optional pagination
|
|
168
|
+
* @returns Paginated list of recordings
|
|
169
|
+
* @throws ValidationError if token name is invalid
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```typescript
|
|
173
|
+
* const recordings = await streamingService.getRecordings({
|
|
174
|
+
* tokenName: 'mytoken',
|
|
175
|
+
* page: 1,
|
|
176
|
+
* limit: 10
|
|
177
|
+
* });
|
|
178
|
+
* recordings.recordings.forEach(r => {
|
|
179
|
+
* console.log(`${r.assetId}: ${r.duration}s - ${r.status}`);
|
|
180
|
+
* });
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
183
|
+
getRecordings(options: FetchRecordingsOptions): Promise<RecordingsResult>;
|
|
184
|
+
/**
|
|
185
|
+
* Get download URL for a recording
|
|
186
|
+
*
|
|
187
|
+
* Requires JWT authentication (stream creator only).
|
|
188
|
+
*
|
|
189
|
+
* @param tokenName Token name (lowercase)
|
|
190
|
+
* @param assetId Recording asset ID (Mux asset ID)
|
|
191
|
+
* @returns Signed download URL with expiration
|
|
192
|
+
* @throws ValidationError if token name or asset ID is invalid
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```typescript
|
|
196
|
+
* const download = await streamingService.getRecordingDownload('mytoken', 'asset123');
|
|
197
|
+
* console.log('Download URL:', download.downloadUrl);
|
|
198
|
+
* console.log('Expires:', download.expiresAt);
|
|
199
|
+
* ```
|
|
200
|
+
*/
|
|
201
|
+
getRecordingDownload(tokenName: string, assetId: string): Promise<RecordingDownloadResult>;
|
|
202
|
+
/**
|
|
203
|
+
* Delete a recording
|
|
204
|
+
*
|
|
205
|
+
* Requires JWT authentication (stream creator only).
|
|
206
|
+
*
|
|
207
|
+
* @param tokenName Token name (lowercase)
|
|
208
|
+
* @param assetId Recording asset ID (Mux asset ID)
|
|
209
|
+
* @throws ValidationError if token name or asset ID is invalid
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* ```typescript
|
|
213
|
+
* await streamingService.deleteRecording('mytoken', 'asset123');
|
|
214
|
+
* console.log('Recording deleted');
|
|
215
|
+
* ```
|
|
216
|
+
*/
|
|
217
|
+
deleteRecording(tokenName: string, assetId: string): Promise<void>;
|
|
218
|
+
/**
|
|
219
|
+
* Get simulcast targets for a token
|
|
220
|
+
*
|
|
221
|
+
* Public endpoint - no authentication required.
|
|
222
|
+
*
|
|
223
|
+
* @param tokenName Token name (lowercase)
|
|
224
|
+
* @returns List of simulcast targets and max allowed
|
|
225
|
+
* @throws ValidationError if token name is invalid
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* ```typescript
|
|
229
|
+
* const targets = await streamingService.getSimulcastTargets('mytoken');
|
|
230
|
+
* targets.targets.forEach(t => {
|
|
231
|
+
* console.log(`${t.platform}: ${t.status}`);
|
|
232
|
+
* });
|
|
233
|
+
* ```
|
|
234
|
+
*/
|
|
235
|
+
getSimulcastTargets(tokenName: string): Promise<SimulcastTargetsResult>;
|
|
236
|
+
/**
|
|
237
|
+
* Add a simulcast target
|
|
238
|
+
*
|
|
239
|
+
* Requires JWT authentication (stream creator only).
|
|
240
|
+
*
|
|
241
|
+
* @param options Simulcast target options
|
|
242
|
+
* @returns Created simulcast target
|
|
243
|
+
* @throws ValidationError if options are invalid
|
|
244
|
+
* @throws Error if max targets exceeded
|
|
245
|
+
*
|
|
246
|
+
* @example
|
|
247
|
+
* ```typescript
|
|
248
|
+
* const target = await streamingService.addSimulcastTarget({
|
|
249
|
+
* tokenName: 'mytoken',
|
|
250
|
+
* platform: 'YOUTUBE',
|
|
251
|
+
* rtmpUrl: 'rtmp://a.rtmp.youtube.com/live2',
|
|
252
|
+
* streamKey: 'your-stream-key',
|
|
253
|
+
* name: 'My YouTube Channel'
|
|
254
|
+
* });
|
|
255
|
+
* console.log('Target ID:', target.target.targetId);
|
|
256
|
+
* ```
|
|
257
|
+
*/
|
|
258
|
+
addSimulcastTarget(options: AddSimulcastTargetOptions): Promise<AddSimulcastTargetResult>;
|
|
259
|
+
/**
|
|
260
|
+
* Remove a simulcast target
|
|
261
|
+
*
|
|
262
|
+
* Requires JWT authentication (stream creator only).
|
|
263
|
+
*
|
|
264
|
+
* @param tokenName Token name (lowercase)
|
|
265
|
+
* @param targetId Simulcast target ID
|
|
266
|
+
* @throws ValidationError if token name or target ID is invalid
|
|
267
|
+
*
|
|
268
|
+
* @example
|
|
269
|
+
* ```typescript
|
|
270
|
+
* await streamingService.removeSimulcastTarget('mytoken', 'target123');
|
|
271
|
+
* console.log('Simulcast target removed');
|
|
272
|
+
* ```
|
|
273
|
+
*/
|
|
274
|
+
removeSimulcastTarget(tokenName: string, targetId: string): Promise<void>;
|
|
275
|
+
/**
|
|
276
|
+
* Get global streaming status
|
|
277
|
+
*
|
|
278
|
+
* Public endpoint - no authentication required.
|
|
279
|
+
*
|
|
280
|
+
* @returns Global streaming enabled status
|
|
281
|
+
*
|
|
282
|
+
* @example
|
|
283
|
+
* ```typescript
|
|
284
|
+
* const status = await streamingService.getGlobalStreamingStatus();
|
|
285
|
+
* console.log('Streaming enabled:', status.enabled);
|
|
286
|
+
* ```
|
|
287
|
+
*/
|
|
288
|
+
getGlobalStreamingStatus(): Promise<GlobalStreamingStatus>;
|
|
289
|
+
/**
|
|
290
|
+
* Disable streaming globally
|
|
291
|
+
*
|
|
292
|
+
* Admin endpoint - requires admin API key.
|
|
293
|
+
*
|
|
294
|
+
* @returns Updated global streaming status
|
|
295
|
+
* @throws ConfigurationError if admin API key is not set
|
|
296
|
+
*
|
|
297
|
+
* @example
|
|
298
|
+
* ```typescript
|
|
299
|
+
* await streamingService.disableGlobalStreaming();
|
|
300
|
+
* console.log('Streaming disabled globally');
|
|
301
|
+
* ```
|
|
302
|
+
*/
|
|
303
|
+
disableGlobalStreaming(): Promise<GlobalStreamingStatus>;
|
|
304
|
+
/**
|
|
305
|
+
* Enable streaming globally
|
|
306
|
+
*
|
|
307
|
+
* Admin endpoint - requires admin API key.
|
|
308
|
+
*
|
|
309
|
+
* @returns Updated global streaming status
|
|
310
|
+
* @throws ConfigurationError if admin API key is not set
|
|
311
|
+
*
|
|
312
|
+
* @example
|
|
313
|
+
* ```typescript
|
|
314
|
+
* await streamingService.enableGlobalStreaming();
|
|
315
|
+
* console.log('Streaming enabled globally');
|
|
316
|
+
* ```
|
|
317
|
+
*/
|
|
318
|
+
enableGlobalStreaming(): Promise<GlobalStreamingStatus>;
|
|
319
|
+
/**
|
|
320
|
+
* Set the next live stream countdown time
|
|
321
|
+
*
|
|
322
|
+
* Dual-auth endpoint - supports both Admin API key and JWT (owner) auth.
|
|
323
|
+
*
|
|
324
|
+
* Sets the scheduled time for the next live stream. The frontend can use
|
|
325
|
+
* this to display a countdown timer. The countdown is automatically cleared
|
|
326
|
+
* when the stream goes live (ACTIVE status).
|
|
327
|
+
*
|
|
328
|
+
* @param options SetCountdownOptions with tokenName and nextLiveStreamAt
|
|
329
|
+
* @returns Updated stream settings
|
|
330
|
+
* @throws ConfigurationError if neither admin API key nor JWT is configured
|
|
331
|
+
* @throws ValidationError if token name or date is invalid
|
|
332
|
+
*
|
|
333
|
+
* @since 5.6.0
|
|
334
|
+
*
|
|
335
|
+
* @example
|
|
336
|
+
* ```typescript
|
|
337
|
+
* // Set countdown for a future date
|
|
338
|
+
* await streamingService.setNextLiveStream({
|
|
339
|
+
* tokenName: 'mytoken',
|
|
340
|
+
* nextLiveStreamAt: new Date('2024-01-15T18:00:00Z')
|
|
341
|
+
* });
|
|
342
|
+
*
|
|
343
|
+
* // Using ISO string
|
|
344
|
+
* await streamingService.setNextLiveStream({
|
|
345
|
+
* tokenName: 'mytoken',
|
|
346
|
+
* nextLiveStreamAt: '2024-01-15T18:00:00Z'
|
|
347
|
+
* });
|
|
348
|
+
* ```
|
|
349
|
+
*/
|
|
350
|
+
setNextLiveStream(options: SetCountdownOptions): Promise<StreamSettings>;
|
|
351
|
+
/**
|
|
352
|
+
* Clear the next live stream countdown
|
|
353
|
+
*
|
|
354
|
+
* Dual-auth endpoint - supports both Admin API key and JWT (owner) auth.
|
|
355
|
+
*
|
|
356
|
+
* Clears the scheduled countdown time. This is also done automatically
|
|
357
|
+
* when the stream goes live (ACTIVE status).
|
|
358
|
+
*
|
|
359
|
+
* @param tokenName Token name (lowercase)
|
|
360
|
+
* @returns Updated stream settings (nextLiveStreamAt will be null)
|
|
361
|
+
* @throws ConfigurationError if neither admin API key nor JWT is configured
|
|
362
|
+
* @throws ValidationError if token name is invalid
|
|
363
|
+
*
|
|
364
|
+
* @since 5.6.0
|
|
365
|
+
*
|
|
366
|
+
* @example
|
|
367
|
+
* ```typescript
|
|
368
|
+
* await streamingService.clearNextLiveStream('mytoken');
|
|
369
|
+
* console.log('Countdown cleared');
|
|
370
|
+
* ```
|
|
371
|
+
*/
|
|
372
|
+
clearNextLiveStream(tokenName: string): Promise<StreamSettings>;
|
|
373
|
+
/**
|
|
374
|
+
* Set the stream language
|
|
375
|
+
*
|
|
376
|
+
* Dual-auth endpoint - supports both Admin API key and JWT (owner) auth.
|
|
377
|
+
*
|
|
378
|
+
* Sets the language for the stream content. This is used for filtering
|
|
379
|
+
* and displaying language information to viewers.
|
|
380
|
+
*
|
|
381
|
+
* @param options SetLanguageOptions with tokenName and language
|
|
382
|
+
* @returns Updated stream settings
|
|
383
|
+
* @throws ConfigurationError if neither admin API key nor JWT is configured
|
|
384
|
+
* @throws ValidationError if token name or language code is invalid
|
|
385
|
+
*
|
|
386
|
+
* @since 5.6.0
|
|
387
|
+
*
|
|
388
|
+
* @example
|
|
389
|
+
* ```typescript
|
|
390
|
+
* // Set stream language to Spanish
|
|
391
|
+
* await streamingService.setStreamLanguage({
|
|
392
|
+
* tokenName: 'mytoken',
|
|
393
|
+
* language: 'es'
|
|
394
|
+
* });
|
|
395
|
+
*
|
|
396
|
+
* // Set to Chinese (Simplified)
|
|
397
|
+
* await streamingService.setStreamLanguage({
|
|
398
|
+
* tokenName: 'mytoken',
|
|
399
|
+
* language: 'zh-CN'
|
|
400
|
+
* });
|
|
401
|
+
* ```
|
|
402
|
+
*/
|
|
403
|
+
setStreamLanguage(options: SetLanguageOptions): Promise<StreamSettings>;
|
|
404
|
+
/**
|
|
405
|
+
* Get the authenticated user's role for a token's stream
|
|
406
|
+
*
|
|
407
|
+
* Returns the user's effective role based on:
|
|
408
|
+
* 1. Token ownership (OWNER role)
|
|
409
|
+
* 2. Claimed moderator invite (MANAGER, TECHNICAL_PRODUCER, or MODERATOR)
|
|
410
|
+
* 3. No access (null role)
|
|
411
|
+
*
|
|
412
|
+
* This is used by the frontend Studio page to detect permissions and show
|
|
413
|
+
* the appropriate UI based on the user's role.
|
|
414
|
+
*
|
|
415
|
+
* **Authentication:** Optional JWT - returns null role if not authenticated.
|
|
416
|
+
*
|
|
417
|
+
* @param options GetStreamRoleOptions with tokenName
|
|
418
|
+
* @returns StreamRoleResponse with role, isOwner flag, source, and inviteScope
|
|
419
|
+
* @throws ValidationError if token name is invalid
|
|
420
|
+
*
|
|
421
|
+
* @since 5.7.0
|
|
422
|
+
*
|
|
423
|
+
* @example
|
|
424
|
+
* ```typescript
|
|
425
|
+
* const roleInfo = await streamingService.getStreamRole({ tokenName: 'mytoken' });
|
|
426
|
+
*
|
|
427
|
+
* if (roleInfo.role === null) {
|
|
428
|
+
* console.log('No access to this stream');
|
|
429
|
+
* } else if (roleInfo.isOwner) {
|
|
430
|
+
* console.log('You are the token owner');
|
|
431
|
+
* } else {
|
|
432
|
+
* console.log(`You have ${roleInfo.role} access via ${roleInfo.source}`);
|
|
433
|
+
* if (roleInfo.inviteScope === 'ALL_OWNER_TOKENS') {
|
|
434
|
+
* console.log('This is blanket access to all tokens from this owner');
|
|
435
|
+
* }
|
|
436
|
+
* }
|
|
437
|
+
*
|
|
438
|
+
* // Use role for permission checks
|
|
439
|
+
* const canStream = ['OWNER', 'MANAGER', 'TECHNICAL_PRODUCER'].includes(roleInfo.role ?? '');
|
|
440
|
+
* const canModerate = ['OWNER', 'MANAGER', 'MODERATOR'].includes(roleInfo.role ?? '');
|
|
441
|
+
* ```
|
|
442
|
+
*/
|
|
443
|
+
getStreamRole(options: GetStreamRoleOptions): Promise<StreamRoleResponse>;
|
|
444
|
+
/**
|
|
445
|
+
* Get all available roles and permissions for token delegation
|
|
446
|
+
*
|
|
447
|
+
* Public endpoint - no authentication required.
|
|
448
|
+
*
|
|
449
|
+
* Returns reference data about the role system, including:
|
|
450
|
+
* - All available roles (OWNER, MANAGER, TECHNICAL_PRODUCER, MODERATOR)
|
|
451
|
+
* - Role descriptions and hierarchy levels
|
|
452
|
+
* - Permissions assigned to each role
|
|
453
|
+
* - Complete list of all available permissions
|
|
454
|
+
*
|
|
455
|
+
* This is useful for:
|
|
456
|
+
* - Building role selection UIs
|
|
457
|
+
* - Understanding permission hierarchies
|
|
458
|
+
* - Validating role-based access control
|
|
459
|
+
*
|
|
460
|
+
* **Note:** This is static reference data. It does not change per user or token.
|
|
461
|
+
*
|
|
462
|
+
* @returns Available roles and permissions
|
|
463
|
+
*
|
|
464
|
+
* @since 5.10.0
|
|
465
|
+
*
|
|
466
|
+
* @example
|
|
467
|
+
* ```typescript
|
|
468
|
+
* const { roles, permissions } = await streamingService.getAvailableRoles();
|
|
469
|
+
*
|
|
470
|
+
* // List all roles
|
|
471
|
+
* roles.forEach(role => {
|
|
472
|
+
* console.log(`${role.name} (level ${role.level}): ${role.description}`);
|
|
473
|
+
* console.log(' Permissions:', role.permissions.join(', '));
|
|
474
|
+
* });
|
|
475
|
+
*
|
|
476
|
+
* // List all permissions
|
|
477
|
+
* console.log('All permissions:', permissions);
|
|
478
|
+
*
|
|
479
|
+
* // Build a role selector dropdown
|
|
480
|
+
* const roleOptions = roles.map(role => ({
|
|
481
|
+
* value: role.name,
|
|
482
|
+
* label: role.description,
|
|
483
|
+
* level: role.level,
|
|
484
|
+
* }));
|
|
485
|
+
* ```
|
|
486
|
+
*/
|
|
487
|
+
getAvailableRoles(): Promise<AvailableRolesResponse>;
|
|
488
|
+
/**
|
|
489
|
+
* Check if the authenticated user has Studio access for a token
|
|
490
|
+
*
|
|
491
|
+
* Returns comprehensive access information combining:
|
|
492
|
+
* 1. Token ownership check (OWNER role)
|
|
493
|
+
* 2. Claimed moderator invite (MANAGER, TECHNICAL_PRODUCER, MODERATOR)
|
|
494
|
+
* 3. Platform overseer status (global access)
|
|
495
|
+
*
|
|
496
|
+
* This is used by the frontend to determine whether to show the
|
|
497
|
+
* "Click to Studio" link on the buy-sell page.
|
|
498
|
+
*
|
|
499
|
+
* **Authentication:** Optional JWT - returns hasAccess: false if not authenticated.
|
|
500
|
+
*
|
|
501
|
+
* @param options GetTokenAccessOptions with tokenName
|
|
502
|
+
* @returns TokenAccessResult with hasAccess, role, permissions, accessSource, and flags
|
|
503
|
+
* @throws ValidationError if token name is invalid
|
|
504
|
+
*
|
|
505
|
+
* @since 5.11.0
|
|
506
|
+
*
|
|
507
|
+
* @example
|
|
508
|
+
* ```typescript
|
|
509
|
+
* const access = await streamingService.getTokenAccess({ tokenName: 'mytoken' });
|
|
510
|
+
*
|
|
511
|
+
* if (!access.hasAccess) {
|
|
512
|
+
* console.log('No Studio access for this token');
|
|
513
|
+
* } else {
|
|
514
|
+
* console.log(`Access via: ${access.accessSource}`);
|
|
515
|
+
* console.log(`Role: ${access.role}`);
|
|
516
|
+
* console.log('Permissions:', access.permissions);
|
|
517
|
+
*
|
|
518
|
+
* if (access.permissions.canStream) {
|
|
519
|
+
* console.log('User can start/stop streams');
|
|
520
|
+
* }
|
|
521
|
+
* if (access.permissions.canModerate) {
|
|
522
|
+
* console.log('User can moderate chat');
|
|
523
|
+
* }
|
|
524
|
+
* }
|
|
525
|
+
*
|
|
526
|
+
* // Quick permission checks
|
|
527
|
+
* const canStream = access.permissions.canStream;
|
|
528
|
+
* const canModerate = access.permissions.canModerate;
|
|
529
|
+
* const canManageTeam = access.permissions.canManageTeam;
|
|
530
|
+
* ```
|
|
531
|
+
*/
|
|
532
|
+
getTokenAccess(options: GetTokenAccessOptions): Promise<TokenAccessResult>;
|
|
533
|
+
/**
|
|
534
|
+
* Set the next live stream countdown time (alias for setNextLiveStream)
|
|
535
|
+
*
|
|
536
|
+
* Convenience method that accepts simpler parameters directly.
|
|
537
|
+
* Delegates to setNextLiveStream internally.
|
|
538
|
+
*
|
|
539
|
+
* @param tokenName Token name (lowercase)
|
|
540
|
+
* @param nextLiveStreamAt Scheduled stream time (ISO 8601 string, Date, or null to clear)
|
|
541
|
+
* @returns Updated stream settings
|
|
542
|
+
* @throws ValidationError if token name or date is invalid
|
|
543
|
+
* @since 6.x.0
|
|
544
|
+
*/
|
|
545
|
+
setNextLiveStreamCountdown(tokenName: string, nextLiveStreamAt: string | Date | null): Promise<StreamSettings>;
|
|
546
|
+
}
|
|
547
|
+
//# sourceMappingURL=StreamingService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StreamingService.d.ts","sourceRoot":"","sources":["../../../src/services/StreamingService.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { SwapEventData, SwapMonitorConfig } from '../types/swap-monitor.dto';
|
|
17
17
|
import { Logger } from '../utils/Logger';
|
|
18
|
+
import { LoggerBase } from './BaseService';
|
|
18
19
|
import { MonitoringMetrics } from '../utils/MonitoringMetrics';
|
|
19
20
|
/**
|
|
20
21
|
* Queue statistics
|
|
@@ -38,11 +39,10 @@ export interface QueueStats {
|
|
|
38
39
|
*
|
|
39
40
|
* @internal
|
|
40
41
|
*/
|
|
41
|
-
export declare class SwapEventQueue {
|
|
42
|
+
export declare class SwapEventQueue extends LoggerBase {
|
|
42
43
|
private readonly queue;
|
|
43
44
|
private readonly config;
|
|
44
45
|
private readonly metrics;
|
|
45
|
-
private readonly logger;
|
|
46
46
|
private isShuttingDown;
|
|
47
47
|
private currentConcurrency;
|
|
48
48
|
private maxConcurrencyReached;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwapEventQueue.d.ts","sourceRoot":"","sources":["../../../src/services/SwapEventQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"SwapEventQueue.d.ts","sourceRoot":"","sources":["../../../src/services/SwapEventQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/D;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,oBAAoB,CAAK;IAEjC,iDAAiD;IACjD,OAAO,CAAC,SAAS,CAA0D;IAE3E,8BAA8B;IAC9B,OAAO,CAAC,mBAAmB,CAAS;IAEpC,+BAA+B;IAC/B,OAAO,CAAC,kBAAkB,CAMxB;gBAGA,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACnC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,CAAC,EAAE,MAAM;IAWjB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,YAAY,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAItE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAgCtC;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,IAAI,MAAM;IAItB;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,IAAI,UAAU;IAYtB;;;;;OAKG;IACG,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrD;;;;;;OAMG;IACG,QAAQ,CAAC,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBxD;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAQb;;;;;;OAMG;YACW,gBAAgB;IAoE9B;;;;OAIG;YACW,YAAY;CAiB3B"}
|