@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,272 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Async/Promise Pattern Utilities
|
|
3
|
+
*
|
|
4
|
+
* Common promise handling patterns extracted to eliminate code duplication.
|
|
5
|
+
* Provides type-safe wrappers for concurrent processing, timeouts, polling,
|
|
6
|
+
* and failure recovery scenarios.
|
|
7
|
+
*
|
|
8
|
+
* @category Utilities
|
|
9
|
+
* @since 3.33.0
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Extract successful results from Promise.allSettled array
|
|
13
|
+
*
|
|
14
|
+
* Eliminates the boilerplate of manually filtering through Promise.allSettled
|
|
15
|
+
* results to extract only the successful ones. Particularly useful for batch
|
|
16
|
+
* operations where some failures are acceptable.
|
|
17
|
+
*
|
|
18
|
+
* @typeParam T - The type of successful results
|
|
19
|
+
* @param results - Array of PromiseSettledResult from Promise.allSettled
|
|
20
|
+
* @returns Array containing only the fulfilled values
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* // Batch fetch multiple tokens where some might fail
|
|
25
|
+
* const promises = tokenNames.map(name => sdk.fetchTokenDetails(name));
|
|
26
|
+
* const allResults = await Promise.allSettled(promises);
|
|
27
|
+
* const successfulTokens = filterPromiseSettledResults(allResults);
|
|
28
|
+
*
|
|
29
|
+
* console.log(`Fetched ${successfulTokens.length}/${tokenNames.length} tokens`);
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* // Fetch pricing for pool chunk where some API calls may fail
|
|
35
|
+
* const chunkResults = await Promise.allSettled(
|
|
36
|
+
* currentChunk.map(pool => getSwapQuote(pool))
|
|
37
|
+
* );
|
|
38
|
+
* const pricesWithData = filterPromiseSettledResults(chunkResults);
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare function filterPromiseSettledResults<T>(results: PromiseSettledResult<T>[]): T[];
|
|
42
|
+
/**
|
|
43
|
+
* Wrap a promise with timeout rejection
|
|
44
|
+
*
|
|
45
|
+
* Ensures a promise resolves within a maximum time, rejecting with a clear
|
|
46
|
+
* timeout error if the deadline is exceeded. Prevents operations from hanging
|
|
47
|
+
* indefinitely while providing meaningful error context.
|
|
48
|
+
*
|
|
49
|
+
* @typeParam T - The type of the promised value
|
|
50
|
+
* @param promise - The promise to wrap with timeout
|
|
51
|
+
* @param timeoutMs - Maximum time to wait in milliseconds
|
|
52
|
+
* @param context - Optional context string to include in error message
|
|
53
|
+
* @returns Promise that rejects with TimeoutError if time exceeded
|
|
54
|
+
* @throws TimeoutError if promise doesn't resolve within timeoutMs
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* // API call with 5 second timeout
|
|
59
|
+
* const result = await withPromiseTimeout(
|
|
60
|
+
* sdk.fetchTokenDetails('anime'),
|
|
61
|
+
* 5000,
|
|
62
|
+
* 'token details fetch'
|
|
63
|
+
* );
|
|
64
|
+
* ```
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* // Wait for transaction confirmation with timeout
|
|
69
|
+
* try {
|
|
70
|
+
* const receipt = await withPromiseTimeout(
|
|
71
|
+
* waitForTransactionConfirmation(txHash),
|
|
72
|
+
* 30000,
|
|
73
|
+
* 'transaction confirmation'
|
|
74
|
+
* );
|
|
75
|
+
* } catch (error) {
|
|
76
|
+
* if (error instanceof TimeoutError) {
|
|
77
|
+
* console.log(`${error.message}`); // "Promise timed out after 30000ms: transaction confirmation"
|
|
78
|
+
* }
|
|
79
|
+
* }
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
export declare function withPromiseTimeout<T>(promise: Promise<T>, timeoutMs: number, context?: string): Promise<T>;
|
|
83
|
+
/**
|
|
84
|
+
* Process array of items with concurrent execution limit
|
|
85
|
+
*
|
|
86
|
+
* Executes processor function on array items while limiting concurrent
|
|
87
|
+
* executions. Useful for rate-limiting API calls, preventing connection
|
|
88
|
+
* pools from being exhausted, and managing resource consumption.
|
|
89
|
+
*
|
|
90
|
+
* @typeParam T - The type of items to process
|
|
91
|
+
* @typeParam R - The type of results
|
|
92
|
+
* @param items - Array of items to process
|
|
93
|
+
* @param processor - Async function to process each item
|
|
94
|
+
* @param concurrentLimit - Maximum number of concurrent executions
|
|
95
|
+
* @returns Promise that resolves to array of results in original order
|
|
96
|
+
* @throws If any processor call throws
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* // Fetch all token details with max 5 concurrent requests
|
|
101
|
+
* const tokenNames = ['anime', 'music', 'guild', ...];
|
|
102
|
+
* const details = await processConcurrentBatches(
|
|
103
|
+
* tokenNames,
|
|
104
|
+
* (name) => sdk.fetchTokenDetails(name),
|
|
105
|
+
* 5 // Max 5 concurrent requests
|
|
106
|
+
* );
|
|
107
|
+
* ```
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* // Rate-limited bridge fee estimation (max 2 concurrent calls)
|
|
112
|
+
* const amounts = ['100', '500', '1000', '2000'];
|
|
113
|
+
* const fees = await processConcurrentBatches(
|
|
114
|
+
* amounts,
|
|
115
|
+
* (amount) => sdk.estimateBridgeFee('ETH', amount),
|
|
116
|
+
* 2 // Prevent API flooding
|
|
117
|
+
* );
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
export declare function processConcurrentBatches<T, R>(items: T[], processor: (item: T) => Promise<R>, concurrentLimit: number): Promise<R[]>;
|
|
121
|
+
/**
|
|
122
|
+
* Promise.all with fallback value for failures
|
|
123
|
+
*
|
|
124
|
+
* Executes all promises and returns array with same length as input.
|
|
125
|
+
* Failed promises are replaced with fallback value instead of rejecting.
|
|
126
|
+
* Never throws - always resolves with complete array.
|
|
127
|
+
*
|
|
128
|
+
* @typeParam T - The type of promised values
|
|
129
|
+
* @param promises - Array of promises to execute
|
|
130
|
+
* @param fallback - Value to use when promise rejects
|
|
131
|
+
* @returns Promise that resolves to array with length equal to input
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* // Fetch token balances with fallback for network errors
|
|
136
|
+
* const balances = await promiseAllWithRecovery(
|
|
137
|
+
* tokenNames.map(name => sdk.fetchTokenBalance(name)),
|
|
138
|
+
* '0' // Use '0' balance if fetch fails
|
|
139
|
+
* );
|
|
140
|
+
* // Always returns array with same length as tokenNames
|
|
141
|
+
* ```
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```typescript
|
|
145
|
+
* // Multi-pool pricing with graceful degradation
|
|
146
|
+
* const prices = await promiseAllWithRecovery(
|
|
147
|
+
* pools.map(pool => fetchPoolPrice(pool)),
|
|
148
|
+
* null // Use null price if fetch fails
|
|
149
|
+
* );
|
|
150
|
+
* // Partial failures don't prevent rendering UI
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
export declare function promiseAllWithRecovery<T>(promises: Promise<T>[], fallback: T): Promise<T[]>;
|
|
154
|
+
/**
|
|
155
|
+
* Poll function until condition is met or max attempts exceeded
|
|
156
|
+
*
|
|
157
|
+
* Repeatedly executes an async function with delays until its result
|
|
158
|
+
* satisfies a condition. Useful for waiting on eventual consistency
|
|
159
|
+
* (transaction confirmation, state changes) with bounded attempts.
|
|
160
|
+
*
|
|
161
|
+
* @typeParam T - The return type of the function
|
|
162
|
+
* @param fn - Async function to poll
|
|
163
|
+
* @param condition - Predicate to check result
|
|
164
|
+
* @param opts - Poll configuration (maxAttempts, delayMs)
|
|
165
|
+
* @returns The first result matching condition
|
|
166
|
+
* @throws TimeoutError if max attempts exceeded without matching
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* ```typescript
|
|
170
|
+
* // Wait for transaction to be confirmed (max 30 attempts, 1 second intervals)
|
|
171
|
+
* const receipt = await pollUntilCondition(
|
|
172
|
+
* () => sdk.getTransactionReceipt(txHash),
|
|
173
|
+
* (receipt) => receipt !== null,
|
|
174
|
+
* { maxAttempts: 30, delayMs: 1000 }
|
|
175
|
+
* );
|
|
176
|
+
* ```
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```typescript
|
|
180
|
+
* // Poll until token is indexed (max 60 checks, 500ms intervals)
|
|
181
|
+
* const tokenData = await pollUntilCondition(
|
|
182
|
+
* () => sdk.fetchTokenDetails('newtoken'),
|
|
183
|
+
* (data) => data !== null && data.indexed === true,
|
|
184
|
+
* { maxAttempts: 60, delayMs: 500 }
|
|
185
|
+
* );
|
|
186
|
+
* ```
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* ```typescript
|
|
190
|
+
* // Poll until balance reaches target
|
|
191
|
+
* const finalBalance = await pollUntilCondition(
|
|
192
|
+
* () => sdk.fetchTokenBalance('GALA'),
|
|
193
|
+
* (balance) => parseFloat(balance) >= 1000,
|
|
194
|
+
* { maxAttempts: 20, delayMs: 500 }
|
|
195
|
+
* );
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
export declare function pollUntilCondition<T>(fn: () => Promise<T>, condition: (result: T) => boolean, opts: {
|
|
199
|
+
maxAttempts: number;
|
|
200
|
+
delayMs: number;
|
|
201
|
+
}): Promise<T>;
|
|
202
|
+
/**
|
|
203
|
+
* Calculate exponential backoff delay with jitter
|
|
204
|
+
*
|
|
205
|
+
* Computes delay for next retry using exponential backoff formula with
|
|
206
|
+
* random jitter. Prevents thundering herd problem where many clients
|
|
207
|
+
* retry simultaneously.
|
|
208
|
+
*
|
|
209
|
+
* Formula: baseDelay * (2 ^ attemptNumber) + random jitter
|
|
210
|
+
*
|
|
211
|
+
* @param attemptNumber - Current attempt number (1-based)
|
|
212
|
+
* @param baseDelayMs - Initial delay in milliseconds (default: 100)
|
|
213
|
+
* @param maxDelayMs - Maximum delay in milliseconds (default: 32000)
|
|
214
|
+
* @returns Milliseconds to wait before next retry
|
|
215
|
+
*
|
|
216
|
+
* @example
|
|
217
|
+
* ```typescript
|
|
218
|
+
* // Calculate backoff for retry attempts
|
|
219
|
+
* const delay1 = exponentialBackoffDelay(1); // ~100ms
|
|
220
|
+
* const delay2 = exponentialBackoffDelay(2); // ~200ms
|
|
221
|
+
* const delay3 = exponentialBackoffDelay(3); // ~400ms
|
|
222
|
+
* const delay4 = exponentialBackoffDelay(4); // ~800ms (capped at maxDelayMs)
|
|
223
|
+
* ```
|
|
224
|
+
*
|
|
225
|
+
* @example
|
|
226
|
+
* ```typescript
|
|
227
|
+
* // Use with polling retry loop
|
|
228
|
+
* for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
229
|
+
* try {
|
|
230
|
+
* return await operation();
|
|
231
|
+
* } catch (error) {
|
|
232
|
+
* const delayMs = exponentialBackoffDelay(attempt);
|
|
233
|
+
* console.log(`Retry after ${delayMs}ms`);
|
|
234
|
+
* await new Promise(resolve => setTimeout(resolve, delayMs));
|
|
235
|
+
* }
|
|
236
|
+
* }
|
|
237
|
+
* ```
|
|
238
|
+
*
|
|
239
|
+
* @example
|
|
240
|
+
* ```typescript
|
|
241
|
+
* // Custom base delay for slower APIs
|
|
242
|
+
* const delay = exponentialBackoffDelay(2, 500, 60000);
|
|
243
|
+
* // 500 * (2 ^ 2) + jitter = ~2000-2500ms
|
|
244
|
+
* ```
|
|
245
|
+
*/
|
|
246
|
+
export declare function exponentialBackoffDelay(attemptNumber: number, baseDelayMs?: number, maxDelayMs?: number): number;
|
|
247
|
+
/**
|
|
248
|
+
* TimeoutError
|
|
249
|
+
*
|
|
250
|
+
* Error thrown when an async operation exceeds its time limit.
|
|
251
|
+
* Used by withPromiseTimeout and pollUntilCondition.
|
|
252
|
+
*
|
|
253
|
+
* @example
|
|
254
|
+
* ```typescript
|
|
255
|
+
* try {
|
|
256
|
+
* await withPromiseTimeout(slowOperation(), 5000);
|
|
257
|
+
* } catch (error) {
|
|
258
|
+
* if (error instanceof TimeoutError) {
|
|
259
|
+
* console.log('Operation took too long');
|
|
260
|
+
* }
|
|
261
|
+
* }
|
|
262
|
+
* ```
|
|
263
|
+
*/
|
|
264
|
+
export declare class TimeoutError extends Error {
|
|
265
|
+
/**
|
|
266
|
+
* Creates a new TimeoutError
|
|
267
|
+
*
|
|
268
|
+
* @param message - Description of what timed out
|
|
269
|
+
*/
|
|
270
|
+
constructor(message: string);
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=async-patterns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-patterns.d.ts","sourceRoot":"","sources":["../../../src/utils/async-patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAC3C,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,GACjC,CAAC,EAAE,CAUL;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC,CAcZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,CAAC,EACjD,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAClC,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,CAAC,EAAE,CAAC,CAiCd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EACtB,QAAQ,EAAE,CAAC,GACV,OAAO,CAAC,CAAC,EAAE,CAAC,CAMd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,EACjC,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC7C,OAAO,CAAC,CAAC,CAAC,CAoBZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,EACrB,WAAW,GAAE,MAAY,EACzB,UAAU,GAAE,MAAe,GAC1B,MAAM,CAcR;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC;;;;OAIG;gBACS,OAAO,EAAE,MAAM;CAI5B"}
|
|
@@ -37,6 +37,19 @@ export interface AutoPaginationOptions {
|
|
|
37
37
|
logger?: Logger;
|
|
38
38
|
/** Page size to use for each request */
|
|
39
39
|
pageSize?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Number of pages to fetch concurrently (default: 1 = sequential)
|
|
42
|
+
* Set to higher values (e.g., 5) to fetch multiple pages in parallel for better performance.
|
|
43
|
+
* Useful when total pages is unknown and you want to maximize throughput.
|
|
44
|
+
* @since 5.0.4
|
|
45
|
+
*/
|
|
46
|
+
concurrency?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Starting page number (default: 1)
|
|
49
|
+
* Use when you need to start pagination from a specific page.
|
|
50
|
+
* @since 5.0.4
|
|
51
|
+
*/
|
|
52
|
+
startPage?: number;
|
|
40
53
|
}
|
|
41
54
|
/**
|
|
42
55
|
* Result object from auto-pagination
|
|
@@ -56,13 +69,14 @@ export interface AutoPaginationResult<T> {
|
|
|
56
69
|
* - Empty result detection
|
|
57
70
|
* - Debug logging of pagination progress
|
|
58
71
|
* - Preserves total count from the API
|
|
72
|
+
* - Concurrent fetching for high-throughput scenarios (optional)
|
|
59
73
|
*
|
|
60
74
|
* @typeParam T - Type of items being paginated
|
|
61
75
|
* @param fetchFn Function that fetches a single page of results
|
|
62
|
-
* @param options Pagination options (maxPages, logger, pageSize)
|
|
76
|
+
* @param options Pagination options (maxPages, logger, pageSize, concurrency, startPage)
|
|
63
77
|
* @returns Promise<AutoPaginationResult> All items and total count from the API
|
|
64
78
|
*
|
|
65
|
-
* @example
|
|
79
|
+
* @example Sequential pagination (default)
|
|
66
80
|
* ```typescript
|
|
67
81
|
* const result = await autoPaginate(
|
|
68
82
|
* (page, limit) => service.fetchPools({ page, limit }),
|
|
@@ -71,7 +85,24 @@ export interface AutoPaginationResult<T> {
|
|
|
71
85
|
* console.log(`Total: ${result.total}, Fetched: ${result.items.length}`);
|
|
72
86
|
* ```
|
|
73
87
|
*
|
|
88
|
+
* @example Concurrent pagination (high throughput)
|
|
89
|
+
* ```typescript
|
|
90
|
+
* const result = await autoPaginate(
|
|
91
|
+
* (page, limit) => service.fetchPools({ page, limit }),
|
|
92
|
+
* { pageSize: 20, concurrency: 5, logger } // Fetch 5 pages at a time
|
|
93
|
+
* );
|
|
94
|
+
* ```
|
|
95
|
+
*
|
|
96
|
+
* @example Start from specific page with limit
|
|
97
|
+
* ```typescript
|
|
98
|
+
* const result = await autoPaginate(
|
|
99
|
+
* (page, limit) => service.fetchPools({ page, limit }),
|
|
100
|
+
* { startPage: 3, maxPages: 5, pageSize: 20, concurrency: 5 } // Pages 3-7
|
|
101
|
+
* );
|
|
102
|
+
* ```
|
|
103
|
+
*
|
|
74
104
|
* @since 3.32.0
|
|
105
|
+
* @since 5.0.4 - Added concurrency and startPage options
|
|
75
106
|
*/
|
|
76
107
|
export declare function autoPaginate<T>(fetchFn: (page: number, limit: number) => Promise<PaginatedResult<T>>, options?: AutoPaginationOptions): Promise<AutoPaginationResult<T>>;
|
|
77
108
|
/**
|
|
@@ -264,4 +295,166 @@ export interface OffsetPaginationFetchResult<TItem> {
|
|
|
264
295
|
* @since 5.0.2
|
|
265
296
|
*/
|
|
266
297
|
export declare function autoPaginateOffset<TItem>(fetchFn: (offset: number, limit: number) => Promise<OffsetPaginationFetchResult<TItem>>, options: AutoPaginationOffsetOptions): Promise<TItem[]>;
|
|
298
|
+
/**
|
|
299
|
+
* Cache interface for fetchAllWithCache helper
|
|
300
|
+
*
|
|
301
|
+
* Defines the minimal cache API required by the fetchAllWithCache utility.
|
|
302
|
+
* Allows different cache implementations (BridgeableTokenCache, WrappableTokenCache)
|
|
303
|
+
* to be used with the same helper function.
|
|
304
|
+
*
|
|
305
|
+
* @typeParam T - Type of items stored in the cache
|
|
306
|
+
* @since 5.10.0
|
|
307
|
+
*/
|
|
308
|
+
export interface CacheInterface<T> {
|
|
309
|
+
/** Check if cache has data */
|
|
310
|
+
has(): boolean;
|
|
311
|
+
/** Get all cached items */
|
|
312
|
+
getAll(): T[];
|
|
313
|
+
/** Get fetch timestamp (when cache was last populated) */
|
|
314
|
+
getFetchTimestamp(): number | null | undefined;
|
|
315
|
+
/** Set/replace cache with new items */
|
|
316
|
+
setAll(items: T[]): void;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Cache interface for network-keyed caches (like BridgeableTokenCache)
|
|
320
|
+
*
|
|
321
|
+
* Extended interface for caches that store items per-network key.
|
|
322
|
+
*
|
|
323
|
+
* @typeParam T - Type of items stored in the cache
|
|
324
|
+
* @typeParam K - Network key type (e.g., BridgeableNetwork)
|
|
325
|
+
* @since 5.10.0
|
|
326
|
+
*/
|
|
327
|
+
export interface NetworkCacheInterface<T, K extends string = string> {
|
|
328
|
+
/** Check if cache has data for a network */
|
|
329
|
+
has(network: K): boolean;
|
|
330
|
+
/** Get all cached items for a network */
|
|
331
|
+
getAll(network: K): T[];
|
|
332
|
+
/** Get fetch timestamp for a network */
|
|
333
|
+
getFetchTimestamp(network: K): number | null | undefined;
|
|
334
|
+
/** Set/replace cache for a network */
|
|
335
|
+
set(network: K, items: T[]): void;
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Options for fetchAllWithCache helper
|
|
339
|
+
*/
|
|
340
|
+
export interface FetchAllWithCacheOptions<T> {
|
|
341
|
+
/** Logger instance for debug output */
|
|
342
|
+
logger?: Logger;
|
|
343
|
+
/** Function to fetch all items (already paginated) */
|
|
344
|
+
fetchFn: () => Promise<T[]>;
|
|
345
|
+
/** Cache instance implementing CacheInterface */
|
|
346
|
+
cache: CacheInterface<T>;
|
|
347
|
+
/** Item type name for logging (e.g., 'wrappable tokens') */
|
|
348
|
+
itemTypeName?: string;
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Options for fetchAllWithNetworkCache helper
|
|
352
|
+
*/
|
|
353
|
+
export interface FetchAllWithNetworkCacheOptions<T, K extends string = string> {
|
|
354
|
+
/** Logger instance for debug output */
|
|
355
|
+
logger?: Logger;
|
|
356
|
+
/** Network key to fetch/cache for */
|
|
357
|
+
network: K;
|
|
358
|
+
/** Function to fetch all items for the network (already paginated) */
|
|
359
|
+
fetchFn: () => Promise<T[]>;
|
|
360
|
+
/** Cache instance implementing NetworkCacheInterface */
|
|
361
|
+
cache: NetworkCacheInterface<T, K>;
|
|
362
|
+
/** Item type name for logging (e.g., 'bridgeable tokens') */
|
|
363
|
+
itemTypeName?: string;
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Result structure for fetchAllWithCache helpers
|
|
367
|
+
*
|
|
368
|
+
* Standard return format with items, timestamp, and count.
|
|
369
|
+
*/
|
|
370
|
+
export interface FetchAllWithCacheResult<T> {
|
|
371
|
+
/** All fetched or cached items */
|
|
372
|
+
items: T[];
|
|
373
|
+
/** Timestamp when data was fetched (epoch ms) */
|
|
374
|
+
fetchedAt: number;
|
|
375
|
+
/** Number of items */
|
|
376
|
+
itemCount: number;
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Fetch all items with caching support (simple cache)
|
|
380
|
+
*
|
|
381
|
+
* Helper that eliminates the repetitive cache-check -> fetch -> cache-store pattern
|
|
382
|
+
* found in services like WrappableTokenService.fetchAllWrappableTokens().
|
|
383
|
+
*
|
|
384
|
+
* Common pattern eliminated:
|
|
385
|
+
* ```typescript
|
|
386
|
+
* if (this.cache.has()) {
|
|
387
|
+
* const items = this.cache.getAll();
|
|
388
|
+
* return { items, fetchedAt: this.cache.getFetchTimestamp(), itemCount: items.length };
|
|
389
|
+
* }
|
|
390
|
+
* const allItems = await autoPaginateOffset(...);
|
|
391
|
+
* this.cache.setAll(allItems);
|
|
392
|
+
* return { items: allItems, fetchedAt: Date.now(), itemCount: allItems.length };
|
|
393
|
+
* ```
|
|
394
|
+
*
|
|
395
|
+
* @typeParam T - Type of items being fetched
|
|
396
|
+
* @param options - Options including cache, fetchFn, and logger
|
|
397
|
+
* @returns Promise resolving to items with fetchedAt timestamp and count
|
|
398
|
+
*
|
|
399
|
+
* @example Basic usage
|
|
400
|
+
* ```typescript
|
|
401
|
+
* const result = await fetchAllWithCache({
|
|
402
|
+
* cache: this.cache,
|
|
403
|
+
* fetchFn: () => autoPaginateOffset(
|
|
404
|
+
* async (offset, limit) => ({
|
|
405
|
+
* items: this.transformTokens(response.tokens),
|
|
406
|
+
* rawCount: response.tokens.length,
|
|
407
|
+
* }),
|
|
408
|
+
* { maxLimit: MAX_LIMIT, logger: this.logger }
|
|
409
|
+
* ),
|
|
410
|
+
* logger: this.logger,
|
|
411
|
+
* itemTypeName: 'wrappable tokens',
|
|
412
|
+
* });
|
|
413
|
+
* ```
|
|
414
|
+
*
|
|
415
|
+
* @since 5.10.0
|
|
416
|
+
*/
|
|
417
|
+
export declare function fetchAllWithCache<T>(options: FetchAllWithCacheOptions<T>): Promise<FetchAllWithCacheResult<T>>;
|
|
418
|
+
/**
|
|
419
|
+
* Fetch all items with network-keyed caching support
|
|
420
|
+
*
|
|
421
|
+
* Helper that eliminates the repetitive cache-check -> fetch -> cache-store pattern
|
|
422
|
+
* found in services like BridgeableTokenService.fetchAllBridgeableTokensByNetwork().
|
|
423
|
+
*
|
|
424
|
+
* Common pattern eliminated:
|
|
425
|
+
* ```typescript
|
|
426
|
+
* if (this.cache.has(network)) {
|
|
427
|
+
* const tokens = this.cache.getAll(network);
|
|
428
|
+
* return { tokens, network, fetchedAt: this.cache.getFetchTimestamp(network), tokenCount: tokens.length };
|
|
429
|
+
* }
|
|
430
|
+
* const allTokens = await autoPaginateOffset(...);
|
|
431
|
+
* this.cache.set(network, allTokens);
|
|
432
|
+
* return { tokens: allTokens, network, fetchedAt: Date.now(), tokenCount: allTokens.length };
|
|
433
|
+
* ```
|
|
434
|
+
*
|
|
435
|
+
* @typeParam T - Type of items being fetched
|
|
436
|
+
* @typeParam K - Network key type (e.g., 'ETHEREUM' | 'SOLANA')
|
|
437
|
+
* @param options - Options including network, cache, fetchFn, and logger
|
|
438
|
+
* @returns Promise resolving to items with fetchedAt timestamp and count
|
|
439
|
+
*
|
|
440
|
+
* @example Basic usage
|
|
441
|
+
* ```typescript
|
|
442
|
+
* const result = await fetchAllWithNetworkCache({
|
|
443
|
+
* network: 'ETHEREUM',
|
|
444
|
+
* cache: this.cache,
|
|
445
|
+
* fetchFn: () => autoPaginateOffset(
|
|
446
|
+
* async (offset, limit) => ({
|
|
447
|
+
* items: this.transformTokens(response.tokens, network),
|
|
448
|
+
* rawCount: response.tokens.length,
|
|
449
|
+
* }),
|
|
450
|
+
* { maxLimit: MAX_LIMIT, logger: this.logger }
|
|
451
|
+
* ),
|
|
452
|
+
* logger: this.logger,
|
|
453
|
+
* itemTypeName: 'bridgeable tokens',
|
|
454
|
+
* });
|
|
455
|
+
* ```
|
|
456
|
+
*
|
|
457
|
+
* @since 5.10.0
|
|
458
|
+
*/
|
|
459
|
+
export declare function fetchAllWithNetworkCache<T, K extends string = string>(options: FetchAllWithNetworkCacheOptions<T, K>): Promise<FetchAllWithCacheResult<T>>;
|
|
267
460
|
//# sourceMappingURL=auto-pagination.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-pagination.d.ts","sourceRoot":"","sources":["../../../src/utils/auto-pagination.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-pagination.d.ts","sourceRoot":"","sources":["../../../src/utils/auto-pagination.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,6CAA6C;IAC7C,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,wCAAwC;IACxC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EACrE,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAuIlC;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,6CAA6C;IAC7C,KAAK,EAAE,CAAC,EAAE,CAAC;IACX;;;;OAIG;IACH,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,iCAAiC;IAChD,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EACvG,OAAO,GAAE,iCAAsC,GAC9C,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAqHlC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,GAAE,MAAqB,EAC5B,QAAQ,GAAE,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,MAAgB,GAC3D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgBzB;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA2B,CAAC,KAAK;IAChD,oCAAoC;IACpC,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAC5C,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,EACvF,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,KAAK,EAAE,CAAC,CA6ClB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,8BAA8B;IAC9B,GAAG,IAAI,OAAO,CAAC;IACf,2BAA2B;IAC3B,MAAM,IAAI,CAAC,EAAE,CAAC;IACd,0DAA0D;IAC1D,iBAAiB,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/C,uCAAuC;IACvC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM;IACjE,4CAA4C;IAC5C,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;IACzB,yCAAyC;IACzC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IACxB,wCAAwC;IACxC,iBAAiB,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzD,sCAAsC;IACtC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,iDAAiD;IACjD,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACzB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM;IAC3E,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,OAAO,EAAE,CAAC,CAAC;IACX,sEAAsE;IACtE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,wDAAwD;IACxD,KAAK,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACxC,kCAAkC;IAClC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,GACnC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAqCrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EACzE,OAAO,EAAE,+BAA+B,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7C,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CA+BrC"}
|