@gala-chain/launchpad-sdk 5.0.3 → 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/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,214 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token Ban Service
|
|
3
|
+
*
|
|
4
|
+
* Handles platform-wide token ban operations for overseers.
|
|
5
|
+
* Banned tokens are hidden from all listings and have actions blocked.
|
|
6
|
+
*
|
|
7
|
+
* This is different from BanService which handles per-token user bans.
|
|
8
|
+
* TokenBanService bans entire tokens from the platform (overseer-only),
|
|
9
|
+
* while BanService bans specific users from specific tokens (owner/admin).
|
|
10
|
+
*
|
|
11
|
+
* @category Services
|
|
12
|
+
* @since 6.x.0
|
|
13
|
+
*/
|
|
14
|
+
import { HttpClient } from '../utils/http';
|
|
15
|
+
import { StreamTokenServiceBase } from './StreamTokenServiceBase';
|
|
16
|
+
import type { JwtAuth } from '../auth/JwtAuth';
|
|
17
|
+
import { BanTokenOptions, BanTokenResult, UnbanTokenOptions, UnbanTokenResult, ListTokenBansOptions, TokenBanListResult, GetTokenBanOptions, TokenBanStatusResult } from '../types/token-ban.dto';
|
|
18
|
+
/**
|
|
19
|
+
* Token Ban Service Class
|
|
20
|
+
*
|
|
21
|
+
* Provides methods for managing platform-wide token bans:
|
|
22
|
+
* - Banning tokens (hides from all listings)
|
|
23
|
+
* - Unbanning tokens (restores visibility)
|
|
24
|
+
* - Listing all banned tokens
|
|
25
|
+
* - Checking ban status for specific tokens
|
|
26
|
+
*
|
|
27
|
+
* **Access Control**: All endpoints require either:
|
|
28
|
+
* - Admin API key (server-to-server)
|
|
29
|
+
* - JWT with overseer status (authenticated overseer user)
|
|
30
|
+
*
|
|
31
|
+
* **Effects of Token Bans**:
|
|
32
|
+
* - Hidden from ALL pool listings (including creator's profile)
|
|
33
|
+
* - Comments blocked on banned tokens
|
|
34
|
+
* - Live streaming blocked on banned tokens
|
|
35
|
+
* - Chat messages blocked on banned tokens
|
|
36
|
+
* - Trading NOT blocked (GalaChain handles trading independently)
|
|
37
|
+
*
|
|
38
|
+
* @remarks
|
|
39
|
+
* **Case Normalization**: Token names are automatically normalized to lowercase
|
|
40
|
+
* in all requests and responses for consistency.
|
|
41
|
+
*
|
|
42
|
+
* **Permanent Bans**: Token bans do not expire. They remain in effect until
|
|
43
|
+
* explicitly removed by an overseer.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const tokenBanService = new TokenBanService(httpClient, 'admin-api-key', jwtAuth, true);
|
|
48
|
+
*
|
|
49
|
+
* // Ban a token
|
|
50
|
+
* await tokenBanService.banToken({
|
|
51
|
+
* tokenName: 'scamtoken',
|
|
52
|
+
* reason: 'Fraudulent project - reported by multiple users'
|
|
53
|
+
* });
|
|
54
|
+
*
|
|
55
|
+
* // Check if a token is banned
|
|
56
|
+
* const status = await tokenBanService.isTokenBanned({ tokenName: 'sometoken' });
|
|
57
|
+
* if (status.banned) {
|
|
58
|
+
* console.log('Token is banned:', status.ban?.reason);
|
|
59
|
+
* }
|
|
60
|
+
*
|
|
61
|
+
* // List all banned tokens
|
|
62
|
+
* const bans = await tokenBanService.listTokenBans({ page: 1, limit: 20 });
|
|
63
|
+
*
|
|
64
|
+
* // Unban a token
|
|
65
|
+
* await tokenBanService.unbanToken({ tokenName: 'scamtoken' });
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export declare class TokenBanService extends StreamTokenServiceBase {
|
|
69
|
+
constructor(http: HttpClient, adminApiKey?: string, jwtAuth?: JwtAuth, debugMode?: boolean);
|
|
70
|
+
/**
|
|
71
|
+
* Ban a token from the platform
|
|
72
|
+
*
|
|
73
|
+
* Dual-auth endpoint - supports both Admin API key and JWT (overseer) auth.
|
|
74
|
+
*
|
|
75
|
+
* When a token is banned:
|
|
76
|
+
* - Hidden from all pool listings
|
|
77
|
+
* - Hidden from creator's profile
|
|
78
|
+
* - Comments blocked
|
|
79
|
+
* - Live streaming blocked
|
|
80
|
+
* - Chat blocked
|
|
81
|
+
* - Trading still allowed (GalaChain handles)
|
|
82
|
+
*
|
|
83
|
+
* @param options - Ban options including tokenName and optional reason
|
|
84
|
+
* @returns Created ban data with token name
|
|
85
|
+
* @throws ValidationError if parameters are invalid
|
|
86
|
+
* @throws ConfigurationError if neither admin API key nor JWT is configured
|
|
87
|
+
* @throws Error if token is already banned (409 Conflict)
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* // Ban with reason
|
|
92
|
+
* const result = await tokenBanService.banToken({
|
|
93
|
+
* tokenName: 'scamtoken',
|
|
94
|
+
* reason: 'Fraudulent project - reported by multiple users'
|
|
95
|
+
* });
|
|
96
|
+
* console.log('Banned:', result.tokenName);
|
|
97
|
+
* console.log('Ban ID:', result.ban.id);
|
|
98
|
+
*
|
|
99
|
+
* // Ban without reason
|
|
100
|
+
* await tokenBanService.banToken({ tokenName: 'problematictoken' });
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
banToken(options: BanTokenOptions): Promise<BanTokenResult>;
|
|
104
|
+
/**
|
|
105
|
+
* Remove a ban from a token
|
|
106
|
+
*
|
|
107
|
+
* Dual-auth endpoint - supports both Admin API key and JWT (overseer) auth.
|
|
108
|
+
*
|
|
109
|
+
* When a token is unbanned:
|
|
110
|
+
* - Restored to all pool listings
|
|
111
|
+
* - Visible on creator's profile again
|
|
112
|
+
* - Comments re-enabled
|
|
113
|
+
* - Live streaming re-enabled
|
|
114
|
+
* - Chat re-enabled
|
|
115
|
+
*
|
|
116
|
+
* @param options - Unban options including tokenName
|
|
117
|
+
* @returns Removal confirmation with token name
|
|
118
|
+
* @throws ValidationError if token name is invalid
|
|
119
|
+
* @throws ConfigurationError if neither admin API key nor JWT is configured
|
|
120
|
+
* @throws Error if token is not banned (404 Not Found)
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```typescript
|
|
124
|
+
* const result = await tokenBanService.unbanToken({ tokenName: 'scamtoken' });
|
|
125
|
+
* console.log('Removed ban:', result.removed); // true
|
|
126
|
+
* console.log('Token:', result.tokenName);
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
unbanToken(options: UnbanTokenOptions): Promise<UnbanTokenResult>;
|
|
130
|
+
/**
|
|
131
|
+
* List all banned tokens
|
|
132
|
+
*
|
|
133
|
+
* Dual-auth endpoint - supports both Admin API key and JWT (overseer) auth.
|
|
134
|
+
* Returns paginated results with ban details.
|
|
135
|
+
*
|
|
136
|
+
* @param options - List options including optional pagination and search
|
|
137
|
+
* @returns Paginated list of banned tokens
|
|
138
|
+
* @throws ValidationError if pagination parameters are invalid
|
|
139
|
+
* @throws ConfigurationError if neither admin API key nor JWT is configured
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```typescript
|
|
143
|
+
* // Get first page with default limit (20)
|
|
144
|
+
* const page1 = await tokenBanService.listTokenBans({});
|
|
145
|
+
* console.log('Total banned tokens:', page1.meta.total);
|
|
146
|
+
*
|
|
147
|
+
* // Search for specific tokens
|
|
148
|
+
* const searchResults = await tokenBanService.listTokenBans({
|
|
149
|
+
* search: 'scam',
|
|
150
|
+
* page: 1,
|
|
151
|
+
* limit: 10
|
|
152
|
+
* });
|
|
153
|
+
*
|
|
154
|
+
* // Paginate through all results
|
|
155
|
+
* let page = 1;
|
|
156
|
+
* let hasMore = true;
|
|
157
|
+
* while (hasMore) {
|
|
158
|
+
* const results = await tokenBanService.listTokenBans({ page, limit: 20 });
|
|
159
|
+
* console.log('Bans:', results.items);
|
|
160
|
+
* hasMore = page < results.meta.totalPages;
|
|
161
|
+
* page++;
|
|
162
|
+
* }
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
listTokenBans(options?: ListTokenBansOptions): Promise<TokenBanListResult>;
|
|
166
|
+
/**
|
|
167
|
+
* Get ban details for a specific token
|
|
168
|
+
*
|
|
169
|
+
* Dual-auth endpoint - supports both Admin API key and JWT (overseer) auth.
|
|
170
|
+
*
|
|
171
|
+
* Returns the ban record if the token is banned, or null if not banned.
|
|
172
|
+
* Use this to get full ban details including reason and who banned it.
|
|
173
|
+
*
|
|
174
|
+
* @param options - Options including tokenName
|
|
175
|
+
* @returns Ban data if banned, null if not banned
|
|
176
|
+
* @throws ValidationError if token name is invalid
|
|
177
|
+
* @throws ConfigurationError if neither admin API key nor JWT is configured
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* ```typescript
|
|
181
|
+
* const status = await tokenBanService.getTokenBan({ tokenName: 'sometoken' });
|
|
182
|
+
* if (status.banned) {
|
|
183
|
+
* console.log('Token is banned');
|
|
184
|
+
* console.log('Reason:', status.ban?.reason);
|
|
185
|
+
* console.log('Banned by:', status.ban?.bannedBy);
|
|
186
|
+
* console.log('Banned at:', status.ban?.createdAt);
|
|
187
|
+
* } else {
|
|
188
|
+
* console.log('Token is not banned');
|
|
189
|
+
* }
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
192
|
+
getTokenBan(options: GetTokenBanOptions): Promise<TokenBanStatusResult>;
|
|
193
|
+
/**
|
|
194
|
+
* Check if a token is banned (convenience method)
|
|
195
|
+
*
|
|
196
|
+
* Alias for getTokenBan() - provided for semantic clarity.
|
|
197
|
+
* Use when you just need to check if a token is banned.
|
|
198
|
+
*
|
|
199
|
+
* @param options - Options including tokenName
|
|
200
|
+
* @returns Ban status with full details if banned
|
|
201
|
+
* @throws ValidationError if token name is invalid
|
|
202
|
+
* @throws ConfigurationError if neither admin API key nor JWT is configured
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* ```typescript
|
|
206
|
+
* const status = await tokenBanService.isTokenBanned({ tokenName: 'sometoken' });
|
|
207
|
+
* if (status.banned) {
|
|
208
|
+
* console.log('Token is banned:', status.ban?.reason);
|
|
209
|
+
* }
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
isTokenBanned(options: GetTokenBanOptions): Promise<TokenBanStatusResult>;
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=TokenBanService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenBanService.d.ts","sourceRoot":"","sources":["../../../src/services/TokenBanService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EASrB,MAAM,wBAAwB,CAAC;AAIhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,qBAAa,eAAgB,SAAQ,sBAAsB;gBAEvD,IAAI,EAAE,UAAU,EAChB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,OAAO,EACjB,SAAS,GAAE,OAAe;IAS5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAoCjE;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoBvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuBpF;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsB7E;;;;;;;;;;;;;;;;;;OAkBG;IACG,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAGhF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenClassKeyService.d.ts","sourceRoot":"","sources":["../../../src/services/TokenClassKeyService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"TokenClassKeyService.d.ts","sourceRoot":"","sources":["../../../src/services/TokenClassKeyService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAY3C;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,UAAU;gBACtC,SAAS,GAAE,OAAe;IAItC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE;IAwC3D;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa;IAgBvD;;;;;;;;;;;;;;;;;;OAkBG;IACH,kBAAkB,IAAI,aAAa;IAcnC;;;;;;;;;;;;;OAaG;IACH,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IA0BzD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IA4CnD;;;;;;;;OAQG;IACH,2BAA2B,CACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,MAAM;IAIT;;;;;OAKG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG;QAC3C,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;KACvB;CAcF"}
|
|
@@ -12,14 +12,16 @@
|
|
|
12
12
|
* @category Services
|
|
13
13
|
* @since 3.9.2
|
|
14
14
|
*/
|
|
15
|
-
import {
|
|
15
|
+
import { AbstractCacheService, type BaseCacheStats } from './AbstractCacheService';
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* Bonding curve cache entry
|
|
18
18
|
*
|
|
19
|
-
* Stores immutable token properties needed for local calculations.
|
|
19
|
+
* Stores immutable token properties needed for local bonding curve calculations.
|
|
20
20
|
* All properties are optional - cache can be partially populated.
|
|
21
|
+
*
|
|
22
|
+
* @since 6.10.0 - Renamed from TokenMetadata for clarity (distinct from blockchain metadata)
|
|
21
23
|
*/
|
|
22
|
-
export interface
|
|
24
|
+
export interface BondingCurveCacheEntry {
|
|
23
25
|
/** Minimum reverse bonding curve fee factor (0.0 - 1.0) */
|
|
24
26
|
reverseBondingCurveMinFeeFactor?: number;
|
|
25
27
|
/** Maximum reverse bonding curve fee factor (0.0 - 1.0) */
|
|
@@ -38,7 +40,7 @@ export interface TokenMetadata {
|
|
|
38
40
|
/**
|
|
39
41
|
* Cache statistics for monitoring and debugging
|
|
40
42
|
*/
|
|
41
|
-
export interface CacheStats {
|
|
43
|
+
export interface CacheStats extends BaseCacheStats {
|
|
42
44
|
/** Total number of tokens in cache */
|
|
43
45
|
totalTokens: number;
|
|
44
46
|
/** Approximate cache size in bytes */
|
|
@@ -91,11 +93,19 @@ export interface CacheStats {
|
|
|
91
93
|
* @category Services
|
|
92
94
|
* @since 3.9.2
|
|
93
95
|
*/
|
|
94
|
-
export declare class TokenMetadataCache extends
|
|
96
|
+
export declare class TokenMetadataCache extends AbstractCacheService<string, BondingCurveCacheEntry, CacheStats> {
|
|
95
97
|
/** Maximum cache size (10,000 tokens ≈ 2.5MB max memory) */
|
|
96
98
|
private static readonly MAX_CACHE_SIZE;
|
|
97
|
-
private cache;
|
|
98
99
|
constructor(debugMode?: boolean);
|
|
100
|
+
/**
|
|
101
|
+
* Normalize token name for consistent cache keys
|
|
102
|
+
*
|
|
103
|
+
* Handles edge cases: unicode control chars, multiple spaces, case insensitivity.
|
|
104
|
+
*
|
|
105
|
+
* @param tokenName Raw token name
|
|
106
|
+
* @returns Normalized token name (lowercase, trimmed, cleaned)
|
|
107
|
+
*/
|
|
108
|
+
protected normalizeKey(tokenName: string): string;
|
|
99
109
|
/**
|
|
100
110
|
* Get least recently updated entry for LRU eviction
|
|
101
111
|
*
|
|
@@ -106,16 +116,6 @@ export declare class TokenMetadataCache extends LoggerBase {
|
|
|
106
116
|
* @private
|
|
107
117
|
*/
|
|
108
118
|
private getLRUKey;
|
|
109
|
-
/**
|
|
110
|
-
* Normalize token name for consistent cache keys
|
|
111
|
-
*
|
|
112
|
-
* Handles edge cases: unicode control chars, multiple spaces, case insensitivity.
|
|
113
|
-
*
|
|
114
|
-
* @param tokenName Raw token name
|
|
115
|
-
* @returns Normalized token name (lowercase, trimmed, cleaned)
|
|
116
|
-
* @private
|
|
117
|
-
*/
|
|
118
|
-
private normalizeTokenName;
|
|
119
119
|
/**
|
|
120
120
|
* Update cache entry with LRU management
|
|
121
121
|
*
|
|
@@ -150,7 +150,7 @@ export declare class TokenMetadataCache extends LoggerBase {
|
|
|
150
150
|
* });
|
|
151
151
|
* ```
|
|
152
152
|
*/
|
|
153
|
-
warmFromPoolData(tokenName: string, poolData: Partial<
|
|
153
|
+
warmFromPoolData(tokenName: string, poolData: Partial<BondingCurveCacheEntry>): void;
|
|
154
154
|
/**
|
|
155
155
|
* Set or update cache entry for a token
|
|
156
156
|
*
|
|
@@ -166,22 +166,22 @@ export declare class TokenMetadataCache extends LoggerBase {
|
|
|
166
166
|
* });
|
|
167
167
|
* ```
|
|
168
168
|
*/
|
|
169
|
-
set(tokenName: string, metadata: Partial<
|
|
169
|
+
set(tokenName: string, metadata: Partial<BondingCurveCacheEntry>): void;
|
|
170
170
|
/**
|
|
171
171
|
* Get cached metadata for a token
|
|
172
172
|
*
|
|
173
173
|
* @param tokenName Token name (normalized to lowercase)
|
|
174
|
-
* @returns Cached metadata or
|
|
174
|
+
* @returns Cached metadata or undefined if not cached
|
|
175
175
|
*
|
|
176
176
|
* @example Retrieving cached data
|
|
177
177
|
* ```typescript
|
|
178
|
-
* const metadata = cache.
|
|
178
|
+
* const metadata = cache.getByName('anime');
|
|
179
179
|
* if (metadata?.reverseBondingCurveMaxFeeFactor) {
|
|
180
180
|
* console.log('RBC max fee:', metadata.reverseBondingCurveMaxFeeFactor);
|
|
181
181
|
* }
|
|
182
182
|
* ```
|
|
183
183
|
*/
|
|
184
|
-
|
|
184
|
+
getByName(tokenName: string): BondingCurveCacheEntry | undefined;
|
|
185
185
|
/**
|
|
186
186
|
* Get maxSupply for a token (returns cached or default constant)
|
|
187
187
|
*
|
|
@@ -231,12 +231,12 @@ export declare class TokenMetadataCache extends LoggerBase {
|
|
|
231
231
|
*
|
|
232
232
|
* @example Dump cache for debugging
|
|
233
233
|
* ```typescript
|
|
234
|
-
* const cacheData = cache.
|
|
234
|
+
* const cacheData = cache.dumpAsObject();
|
|
235
235
|
* console.log('Cached tokens:', Object.keys(cacheData));
|
|
236
236
|
* console.log('Cache contents:', JSON.stringify(cacheData, null, 2));
|
|
237
237
|
* ```
|
|
238
238
|
*/
|
|
239
|
-
|
|
239
|
+
dumpAsObject(): Record<string, BondingCurveCacheEntry>;
|
|
240
240
|
/**
|
|
241
241
|
* Get cache statistics
|
|
242
242
|
*
|
|
@@ -254,7 +254,16 @@ export declare class TokenMetadataCache extends LoggerBase {
|
|
|
254
254
|
* console.log(`Oldest entry: ${new Date(stats.oldestEntry).toISOString()}`);
|
|
255
255
|
* ```
|
|
256
256
|
*/
|
|
257
|
-
|
|
257
|
+
getStats(): CacheStats;
|
|
258
|
+
/**
|
|
259
|
+
* Calculate cache size in bytes and find oldest entry
|
|
260
|
+
*
|
|
261
|
+
* Helper method for getStats() - O(n) iteration over all entries.
|
|
262
|
+
*
|
|
263
|
+
* @returns Object with cacheSize (bytes) and oldestEntry (timestamp)
|
|
264
|
+
* @private
|
|
265
|
+
*/
|
|
266
|
+
private calculateCacheSizeAndAge;
|
|
258
267
|
/**
|
|
259
268
|
* Get cached metadata by tokenId (DEX token format)
|
|
260
269
|
*
|
|
@@ -272,7 +281,7 @@ export declare class TokenMetadataCache extends LoggerBase {
|
|
|
272
281
|
* }
|
|
273
282
|
* ```
|
|
274
283
|
*/
|
|
275
|
-
getByTokenId(tokenId: string):
|
|
284
|
+
getByTokenId(tokenId: string): BondingCurveCacheEntry | null;
|
|
276
285
|
/**
|
|
277
286
|
* Set or update cache entry by tokenId (DEX token format)
|
|
278
287
|
*
|
|
@@ -289,7 +298,7 @@ export declare class TokenMetadataCache extends LoggerBase {
|
|
|
289
298
|
* });
|
|
290
299
|
* ```
|
|
291
300
|
*/
|
|
292
|
-
setByTokenId(tokenId: string, metadata: Partial<
|
|
301
|
+
setByTokenId(tokenId: string, metadata: Partial<BondingCurveCacheEntry>): void;
|
|
293
302
|
/**
|
|
294
303
|
* Check if a tokenId exists in cache (DEX token format)
|
|
295
304
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenMetadataCache.d.ts","sourceRoot":"","sources":["../../../src/services/TokenMetadataCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TokenMetadataCache.d.ts","sourceRoot":"","sources":["../../../src/services/TokenMetadataCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGnF;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,2DAA2D;IAC3D,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,uDAAuD;IACvD,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBAAa,kBAAmB,SAAQ,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,EAAE,UAAU,CAAC;IACtG,4DAA4D;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAEnC,SAAS,GAAE,OAAe;IAItC;;;;;;;OAOG;IACH,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAOjD;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS;IAMjB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI;IAKpF;;;;;;;;;;;;;;OAcG;IACI,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI;IAK9E;;;;;;;;;;;;;OAaG;IACI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAKvE;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAQvC;;;;;OAKG;IACI,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAKtC;;;;;;;;;;;;;;OAcG;IACI,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAStC;;;;;;;;;;;;;OAaG;IACI,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC;IAQ7D;;;;;;;;;;;;;;;;OAgBG;IACI,QAAQ,IAAI,UAAU;IAY7B;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IAuChC;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI;IAK5D;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI;IAK9E;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAIvC"}
|
|
@@ -79,19 +79,39 @@
|
|
|
79
79
|
*/
|
|
80
80
|
import { LoggerBase } from './BaseService';
|
|
81
81
|
import type { TokenClass } from '../types/gswap.dto';
|
|
82
|
-
|
|
82
|
+
/**
|
|
83
|
+
* Blockchain-verified token metadata from GalaChain
|
|
84
|
+
*
|
|
85
|
+
* Contains authoritative token properties fetched from the blockchain,
|
|
86
|
+
* distinct from bonding curve cache entries or bridge metadata.
|
|
87
|
+
*
|
|
88
|
+
* @since 6.10.0 - Renamed from TokenMetadata for clarity
|
|
89
|
+
*/
|
|
90
|
+
export interface BlockchainTokenMetadata {
|
|
91
|
+
/** Official token symbol from blockchain (e.g., "ANIME", "GALA") */
|
|
83
92
|
symbol: string;
|
|
93
|
+
/** Token full name (optional) */
|
|
84
94
|
name?: string;
|
|
95
|
+
/** Token decimal places (e.g., 8 for GALA, 18 for WETH) */
|
|
85
96
|
decimals: number;
|
|
97
|
+
/** Token collection (e.g., "Token", "GALA") */
|
|
86
98
|
collection: string;
|
|
99
|
+
/** Token category (e.g., "Unit") */
|
|
87
100
|
category: string;
|
|
101
|
+
/** Token type (e.g., "ANIME", "none") */
|
|
88
102
|
type: string;
|
|
103
|
+
/** Additional identifier (e.g., chain/address, "none") */
|
|
89
104
|
additionalKey: string;
|
|
105
|
+
/** Whether token is Gala-verified */
|
|
90
106
|
verified: boolean;
|
|
91
107
|
}
|
|
92
|
-
|
|
108
|
+
/**
|
|
109
|
+
* Internal cache structure for blockchain token metadata
|
|
110
|
+
* @internal
|
|
111
|
+
*/
|
|
112
|
+
export interface BlockchainTokenMetadataCache {
|
|
93
113
|
[key: string]: {
|
|
94
|
-
data:
|
|
114
|
+
data: BlockchainTokenMetadata;
|
|
95
115
|
timestamp: number;
|
|
96
116
|
};
|
|
97
117
|
}
|
|
@@ -190,7 +210,7 @@ export declare class TokenMetadataService extends LoggerBase {
|
|
|
190
210
|
* @category Metadata Resolution
|
|
191
211
|
* @since 3.0.0
|
|
192
212
|
*/
|
|
193
|
-
resolveTokenMetadata(token: string | TokenClass): Promise<
|
|
213
|
+
resolveTokenMetadata(token: string | TokenClass): Promise<BlockchainTokenMetadata>;
|
|
194
214
|
/**
|
|
195
215
|
* Get token symbol from blockchain
|
|
196
216
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenMetadataService.d.ts","sourceRoot":"","sources":["../../../src/services/TokenMetadataService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"TokenMetadataService.d.ts","sourceRoot":"","sources":["../../../src/services/TokenMetadataService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKrD;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,IAAI,EAAE,uBAAuB,CAAC;QAC9B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,WAAW,CAAmB;gBAE1B,SAAS,GAAE,OAAe;IAItC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0FG;IACG,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAyBxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuDG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAKnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAUnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACH,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;IAQpD;;;OAGG;IAEH,OAAO,CAAC,WAAW;IAYnB;;;;;;;OAOG;IAEH,OAAO,CAAC,eAAe;IAyDvB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkEG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAIjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenResolverService.d.ts","sourceRoot":"","sources":["../../../src/services/TokenResolverService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"TokenResolverService.d.ts","sourceRoot":"","sources":["../../../src/services/TokenResolverService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMrD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,oBAAqB,SAAQ,UAAU;IActC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAbxC;;;;OAIG;IACH,OAAO,CAAC,KAAK,CAA6B;IAE1C;;;;;OAKG;gBAC0B,WAAW,EAAE,WAAW,EAAE,SAAS,GAAE,OAAe;IAIjF;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA+BpE;;;;;;;;;;;;;;;;;;OAkBG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAerE;;;;;OAKG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIrC;;;;;OAKG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAIlD;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAIb;;;;OAIG;IACH,QAAQ,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE;IAO5C;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CACL,QAAQ,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,GAC3D,IAAI;IAMP;;;;;;;OAOG;IACH,OAAO,CAAC,gCAAgC;CAkBzC"}
|
|
@@ -10,6 +10,7 @@ import { BaseService } from './BaseService';
|
|
|
10
10
|
import { HttpClient } from '../utils/http';
|
|
11
11
|
import { TradesResult } from '../types/trade.dto';
|
|
12
12
|
import { FetchTradesOptions } from '../types/options.dto';
|
|
13
|
+
import { GetTradesOptions, TradesQueryResult } from '../types/trades-query.dto';
|
|
13
14
|
/**
|
|
14
15
|
* Trade Service Class
|
|
15
16
|
*
|
|
@@ -207,5 +208,77 @@ export declare class TradeService extends BaseService {
|
|
|
207
208
|
* ```
|
|
208
209
|
*/
|
|
209
210
|
fetchTrades(options: FetchTradesOptions): Promise<TradesResult>;
|
|
211
|
+
/**
|
|
212
|
+
* Build query parameters for trades endpoint
|
|
213
|
+
*/
|
|
214
|
+
private buildTradesQueryParams;
|
|
215
|
+
/**
|
|
216
|
+
* Get trades with flexible filtering (v6.2.0+)
|
|
217
|
+
*
|
|
218
|
+
* Public endpoint - no authentication required.
|
|
219
|
+
* Filter by tokenName, userAddress, or both.
|
|
220
|
+
* At least one filter is required.
|
|
221
|
+
*
|
|
222
|
+
* This is the unified trades endpoint that replaces the legacy
|
|
223
|
+
* token-only fetchTrades method for more flexible querying.
|
|
224
|
+
*
|
|
225
|
+
* @param options Query options with tokenName and/or userAddress
|
|
226
|
+
* @returns Paginated list of trades with metadata
|
|
227
|
+
* @throws ValidationError if neither tokenName nor userAddress provided
|
|
228
|
+
* @throws ValidationError if options contain invalid values
|
|
229
|
+
*
|
|
230
|
+
* @category Trade Operations
|
|
231
|
+
* @since 6.2.0
|
|
232
|
+
*
|
|
233
|
+
* @example Get all trades for a token
|
|
234
|
+
* ```typescript
|
|
235
|
+
* const { trades, meta } = await tradeService.getTrades({
|
|
236
|
+
* tokenName: 'anime'
|
|
237
|
+
* });
|
|
238
|
+
* console.log(`Found ${meta.totalItems} trades`);
|
|
239
|
+
* trades.forEach(trade => {
|
|
240
|
+
* console.log(`${trade.txnType}: ${trade.inputAmount} -> ${trade.outputAmount}`);
|
|
241
|
+
* });
|
|
242
|
+
* ```
|
|
243
|
+
*
|
|
244
|
+
* @example Get all trades by a user
|
|
245
|
+
* ```typescript
|
|
246
|
+
* const { trades, meta } = await tradeService.getTrades({
|
|
247
|
+
* userAddress: 'eth|1234567890abcdef...'
|
|
248
|
+
* });
|
|
249
|
+
* console.log(`User has ${meta.totalItems} trades across all tokens`);
|
|
250
|
+
* ```
|
|
251
|
+
*
|
|
252
|
+
* @example Get a user's trades on a specific token with pagination
|
|
253
|
+
* ```typescript
|
|
254
|
+
* const { trades, meta } = await tradeService.getTrades({
|
|
255
|
+
* tokenName: 'anime',
|
|
256
|
+
* userAddress: 'eth|1234567890abcdef...',
|
|
257
|
+
* page: 2,
|
|
258
|
+
* limit: 20
|
|
259
|
+
* });
|
|
260
|
+
* console.log(`Page ${meta.currentPage} of ${meta.totalPages}`);
|
|
261
|
+
* ```
|
|
262
|
+
*
|
|
263
|
+
* @example Calculate trading volume for a user
|
|
264
|
+
* ```typescript
|
|
265
|
+
* const result = await tradeService.getTrades({
|
|
266
|
+
* userAddress: 'eth|1234567890abcdef...',
|
|
267
|
+
* limit: 50
|
|
268
|
+
* });
|
|
269
|
+
*
|
|
270
|
+
* let totalBought = 0;
|
|
271
|
+
* let totalSold = 0;
|
|
272
|
+
* for (const trade of result.trades) {
|
|
273
|
+
* if (trade.txnType === 'BUY') {
|
|
274
|
+
* totalBought += trade.outputAmount;
|
|
275
|
+
* } else {
|
|
276
|
+
* totalSold += trade.inputAmount;
|
|
277
|
+
* }
|
|
278
|
+
* }
|
|
279
|
+
* console.log(`Bought: ${totalBought} tokens, Sold: ${totalSold} tokens`);
|
|
280
|
+
* ```
|
|
281
|
+
*/
|
|
282
|
+
getTrades(options: GetTradesOptions): Promise<TradesQueryResult>;
|
|
210
283
|
}
|
|
211
284
|
//# sourceMappingURL=TradeService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeService.d.ts","sourceRoot":"","sources":["../../../src/services/TradeService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"TradeService.d.ts","sourceRoot":"","sources":["../../../src/services/TradeService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAY3C,OAAO,EAEL,YAAY,EAEb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAwB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EACL,gBAAgB,EAEhB,iBAAiB,EAGlB,MAAM,2BAA2B,CAAC;AAGnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C;;;;;;;;;;;OAWG;gBACS,IAAI,EAAE,UAAU,EAAE,SAAS,GAAE,OAAe;IAIxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoIG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAyDrE;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA4C9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkEG;IACG,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAgBvE"}
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { HttpClient } from '../utils/http';
|
|
11
11
|
import { BaseService } from './BaseService';
|
|
12
|
-
import {
|
|
12
|
+
import type { JwtAuth } from '../auth/JwtAuth';
|
|
13
|
+
import { GetTokenListOptions, UserTokenListResult, UpdateProfileData, UploadProfileImageOptions, GetManagedTokensOptions, ManagedTokensResult } from '../types/user.dto';
|
|
13
14
|
/**
|
|
14
15
|
* User Service Class
|
|
15
16
|
*
|
|
@@ -25,7 +26,7 @@ import { GetTokenListOptions, UserTokenListResult, UpdateProfileData, UploadProf
|
|
|
25
26
|
* // Get user profile
|
|
26
27
|
* const profile = await userService.fetchProfile();
|
|
27
28
|
*
|
|
28
|
-
* // Update profile
|
|
29
|
+
* // Update profile (requires JWT auth - call sdk.login() first)
|
|
29
30
|
* await userService.updateProfile({
|
|
30
31
|
* profileImage: "https://example.com/avatar.jpg",
|
|
31
32
|
* fullName: "John Doe",
|
|
@@ -34,7 +35,7 @@ import { GetTokenListOptions, UserTokenListResult, UpdateProfileData, UploadProf
|
|
|
34
35
|
* ```
|
|
35
36
|
*/
|
|
36
37
|
export declare class UserService extends BaseService {
|
|
37
|
-
constructor(http: HttpClient, debugMode?: boolean);
|
|
38
|
+
constructor(http: HttpClient, jwtAuth?: JwtAuth, debugMode?: boolean);
|
|
38
39
|
/**
|
|
39
40
|
* Fetch user profile information from launchpad backend
|
|
40
41
|
*
|
|
@@ -64,6 +65,8 @@ export declare class UserService extends BaseService {
|
|
|
64
65
|
/**
|
|
65
66
|
* Updates user profile information
|
|
66
67
|
*
|
|
68
|
+
* **Requires JWT authentication** - call sdk.login() before using this method.
|
|
69
|
+
*
|
|
67
70
|
* **Smart Image Preservation**: If profileImage is empty or not provided,
|
|
68
71
|
* the method automatically fetches and preserves the existing profile image
|
|
69
72
|
* to prevent accidental image loss.
|
|
@@ -71,15 +74,19 @@ export declare class UserService extends BaseService {
|
|
|
71
74
|
* @param data Profile update data
|
|
72
75
|
* @returns Promise<void> No return data - throws on failure
|
|
73
76
|
* @throws ValidationError if input validation fails
|
|
77
|
+
* @throws ConfigurationError if JWT auth is not configured
|
|
74
78
|
* @throws Error if profile update fails
|
|
75
79
|
*/
|
|
76
80
|
updateProfile(data: UpdateProfileData): Promise<void>;
|
|
77
81
|
/**
|
|
78
82
|
* Uploads a profile image and returns the image URL
|
|
79
83
|
*
|
|
84
|
+
* **Requires JWT authentication** - call sdk.login() before using this method.
|
|
85
|
+
*
|
|
80
86
|
* @param options Profile image upload options
|
|
81
87
|
* @returns Promise<string> Clean image URL
|
|
82
88
|
* @throws ValidationError if input validation fails
|
|
89
|
+
* @throws ConfigurationError if JWT auth is not configured
|
|
83
90
|
* @throws Error if upload fails
|
|
84
91
|
*/
|
|
85
92
|
uploadProfileImage(options: UploadProfileImageOptions): Promise<string>;
|
|
@@ -195,6 +202,52 @@ export declare class UserService extends BaseService {
|
|
|
195
202
|
search?: string;
|
|
196
203
|
tokenName?: string;
|
|
197
204
|
}): Promise<UserTokenListResult>;
|
|
205
|
+
/**
|
|
206
|
+
* Get all tokens the authenticated user can manage
|
|
207
|
+
*
|
|
208
|
+
* Returns a comprehensive view of the user's management capabilities:
|
|
209
|
+
* - **ownedTokens**: Tokens the user created (full OWNER access)
|
|
210
|
+
* - **moderatedTokens**: Tokens with moderator access via claimed invites
|
|
211
|
+
* - **isOverseer**: Whether user has platform-wide overseer access
|
|
212
|
+
* - **overseerSince**: When user became overseer (if applicable)
|
|
213
|
+
*
|
|
214
|
+
* This is used by the /moderators dashboard page to show all tokens
|
|
215
|
+
* a user can access in Studio.
|
|
216
|
+
*
|
|
217
|
+
* **Requires JWT authentication** - call sdk.login() before using this method.
|
|
218
|
+
*
|
|
219
|
+
* @param options Optional pagination options (page, limit)
|
|
220
|
+
* @returns ManagedTokensResult with owned tokens, moderated tokens, and overseer status
|
|
221
|
+
* @throws ConfigurationError if JWT auth is not configured
|
|
222
|
+
* @throws ValidationError if pagination parameters are invalid
|
|
223
|
+
*
|
|
224
|
+
* @since 5.11.0
|
|
225
|
+
*
|
|
226
|
+
* @example
|
|
227
|
+
* ```typescript
|
|
228
|
+
* const managed = await userService.getManagedTokens();
|
|
229
|
+
*
|
|
230
|
+
* console.log(`Owned tokens: ${managed.ownedTokensCount}`);
|
|
231
|
+
* console.log(`Moderated tokens: ${managed.moderatedTokensCount}`);
|
|
232
|
+
* console.log(`Is overseer: ${managed.isOverseer}`);
|
|
233
|
+
*
|
|
234
|
+
* // List owned tokens with Studio links
|
|
235
|
+
* managed.ownedTokens.forEach(token => {
|
|
236
|
+
* console.log(`${token.tokenName} - ${token.isLive ? 'LIVE' : 'offline'}`);
|
|
237
|
+
* });
|
|
238
|
+
*
|
|
239
|
+
* // List moderated tokens with role info
|
|
240
|
+
* managed.moderatedTokens.forEach(token => {
|
|
241
|
+
* console.log(`${token.tokenName} - ${token.role} (${token.inviteScope})`);
|
|
242
|
+
* });
|
|
243
|
+
*
|
|
244
|
+
* // Check overseer status
|
|
245
|
+
* if (managed.isOverseer) {
|
|
246
|
+
* console.log(`Overseer since: ${managed.overseerSince}`);
|
|
247
|
+
* }
|
|
248
|
+
* ```
|
|
249
|
+
*/
|
|
250
|
+
getManagedTokens(options?: GetManagedTokensOptions): Promise<ManagedTokensResult>;
|
|
198
251
|
/**
|
|
199
252
|
* Builds and executes a token fetch request with consistent error handling and normalization
|
|
200
253
|
*
|