@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
|
@@ -86,25 +86,21 @@ export declare function calculateSlippageAdjustedAmount(estimatedOutput: string
|
|
|
86
86
|
*/
|
|
87
87
|
export declare function calculateSlippageFactor(tolerance?: number): BigNumber;
|
|
88
88
|
/**
|
|
89
|
-
*
|
|
89
|
+
* Calculate inverse slippage factor (1 + tolerance)
|
|
90
90
|
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
91
|
+
* Consolidates: `new BigNumber(1).plus(tolerance)`
|
|
92
|
+
* Used for upper bound slippage calculations (e.g., maximum acceptable price).
|
|
93
93
|
*
|
|
94
|
-
* @param
|
|
95
|
-
* @returns
|
|
94
|
+
* @param tolerance Slippage tolerance as decimal (e.g., 0.01 for 1%)
|
|
95
|
+
* @returns Inverse slippage factor (e.g., 1.01 for 1% tolerance)
|
|
96
96
|
*
|
|
97
97
|
* @example
|
|
98
98
|
* ```typescript
|
|
99
|
-
* const
|
|
100
|
-
* const
|
|
101
|
-
* const liquidityNeeded = calculateLiquidity(lowerSqrtRatio, upperSqrtRatio, ...);
|
|
99
|
+
* const upperFactor = calculateInverseSlippageFactor(0.01); // BigNumber(1.01)
|
|
100
|
+
* const maxPrice = currentPrice.multipliedBy(upperFactor);
|
|
102
101
|
* ```
|
|
103
|
-
*
|
|
104
|
-
* @deprecated This is a wrapper around @gala-chain/dex's tickToSqrtPrice.
|
|
105
|
-
* Consider importing tickToSqrtPrice directly for new code.
|
|
106
102
|
*/
|
|
107
|
-
export declare function
|
|
103
|
+
export declare function calculateInverseSlippageFactor(tolerance?: number): BigNumber;
|
|
108
104
|
/**
|
|
109
105
|
* Convert a price to tick (Uniswap V3 math)
|
|
110
106
|
*
|
|
@@ -229,6 +225,36 @@ export declare function isPositive(value: string | number | BigNumber): boolean;
|
|
|
229
225
|
* @returns true if value < 0
|
|
230
226
|
*/
|
|
231
227
|
export declare function isNegative(value: string | number | BigNumber): boolean;
|
|
228
|
+
/**
|
|
229
|
+
* Check if a value is greater than a threshold
|
|
230
|
+
*
|
|
231
|
+
* @param value The value to check
|
|
232
|
+
* @param threshold The threshold to compare against
|
|
233
|
+
* @returns true if value > threshold
|
|
234
|
+
*
|
|
235
|
+
* @example
|
|
236
|
+
* ```typescript
|
|
237
|
+
* if (isGreaterThan(balance, '0')) {
|
|
238
|
+
* // user has funds
|
|
239
|
+
* }
|
|
240
|
+
* ```
|
|
241
|
+
*/
|
|
242
|
+
export declare function isGreaterThan(value: string | number | BigNumber, threshold: string | number | BigNumber): boolean;
|
|
243
|
+
/**
|
|
244
|
+
* Check if a value is less than a threshold
|
|
245
|
+
*
|
|
246
|
+
* @param value The value to check
|
|
247
|
+
* @param threshold The threshold to compare against
|
|
248
|
+
* @returns true if value < threshold
|
|
249
|
+
*
|
|
250
|
+
* @example
|
|
251
|
+
* ```typescript
|
|
252
|
+
* if (isLessThan(balance, minRequired)) {
|
|
253
|
+
* throw new Error('Insufficient balance');
|
|
254
|
+
* }
|
|
255
|
+
* ```
|
|
256
|
+
*/
|
|
257
|
+
export declare function isLessThan(value: string | number | BigNumber, threshold: string | number | BigNumber): boolean;
|
|
232
258
|
/**
|
|
233
259
|
* Check if value is between two bounds (inclusive)
|
|
234
260
|
*
|
|
@@ -293,6 +319,7 @@ export declare function decreaseByPercentage(value: string | number | BigNumber,
|
|
|
293
319
|
*
|
|
294
320
|
* @param values The values to validate
|
|
295
321
|
* @throws Error if any value is not positive
|
|
322
|
+
* @internal
|
|
296
323
|
*
|
|
297
324
|
* @example
|
|
298
325
|
* ```typescript
|
|
@@ -309,6 +336,7 @@ export declare function requirePositive(...values: BigNumber[]): void;
|
|
|
309
336
|
*
|
|
310
337
|
* @param values The values to validate
|
|
311
338
|
* @throws Error if any value is negative
|
|
339
|
+
* @internal
|
|
312
340
|
*
|
|
313
341
|
* @example
|
|
314
342
|
* ```typescript
|
|
@@ -326,6 +354,7 @@ export declare function requireNonNegative(...values: BigNumber[]): void;
|
|
|
326
354
|
* @param paramName The parameter name for the error message
|
|
327
355
|
* @param context Optional additional context (e.g., "for swap operation")
|
|
328
356
|
* @throws Error with descriptive message if value is not positive
|
|
357
|
+
* @internal
|
|
329
358
|
*
|
|
330
359
|
* @example
|
|
331
360
|
* ```typescript
|
|
@@ -336,5 +365,82 @@ export declare function requireNonNegative(...values: BigNumber[]): void;
|
|
|
336
365
|
* // Throws: "liquidity must be positive, got: -1"
|
|
337
366
|
* ```
|
|
338
367
|
*/
|
|
339
|
-
export declare function requirePositiveWithContext(value: BigNumber, paramName: string,
|
|
368
|
+
export declare function requirePositiveWithContext(value: BigNumber, paramName: string, _context?: string): void;
|
|
369
|
+
/**
|
|
370
|
+
* Safe division with fallback for zero denominator
|
|
371
|
+
*
|
|
372
|
+
* Prevents division by zero errors by returning a fallback value when
|
|
373
|
+
* the denominator is zero. Replaces the common pattern:
|
|
374
|
+
* `isZero(denominator) ? fallback : numerator.dividedBy(denominator)`
|
|
375
|
+
*
|
|
376
|
+
* @param numerator The dividend
|
|
377
|
+
* @param denominator The divisor
|
|
378
|
+
* @param fallback Value to return if denominator is zero (default: "0")
|
|
379
|
+
* @returns The quotient, or fallback if denominator is zero
|
|
380
|
+
*
|
|
381
|
+
* @example
|
|
382
|
+
* ```typescript
|
|
383
|
+
* // Calculate ratio with fallback
|
|
384
|
+
* const ratio = safeDivide(token0Amount, token1Amount, toBigNumber(0));
|
|
385
|
+
*
|
|
386
|
+
* // Use in slippage calculations
|
|
387
|
+
* const slippage = safeDivide(difference, originalAmount);
|
|
388
|
+
*
|
|
389
|
+
* // Pool calculations with custom fallback
|
|
390
|
+
* const fee = safeDivide(feeAmount, totalVolume, toBigNumber('0.0001'));
|
|
391
|
+
* ```
|
|
392
|
+
*/
|
|
393
|
+
export declare function safeDivide(numerator: string | number | BigNumber, denominator: string | number | BigNumber, fallback?: string | number | BigNumber): BigNumber;
|
|
394
|
+
/**
|
|
395
|
+
* Round a Uniswap V3 tick to a valid spacing multiple
|
|
396
|
+
*
|
|
397
|
+
* Uniswap V3 ticks must be multiples of tickSpacing (e.g., 1, 10, 60, 200).
|
|
398
|
+
* This utility rounds down to the nearest valid tick spacing using integer arithmetic.
|
|
399
|
+
*
|
|
400
|
+
* Formula: `Math.floor(tick / tickSpacing) * tickSpacing`
|
|
401
|
+
*
|
|
402
|
+
* @param tick The tick value to round
|
|
403
|
+
* @param tickSpacing The tick spacing (e.g., 1, 10, 60, 200)
|
|
404
|
+
* @returns The rounded tick (multiple of tickSpacing)
|
|
405
|
+
*
|
|
406
|
+
* @example
|
|
407
|
+
* ```typescript
|
|
408
|
+
* // Round tick 1055 to nearest tick spacing of 10
|
|
409
|
+
* const rounded = roundTickToSpacing(1055, 10); // 1050
|
|
410
|
+
*
|
|
411
|
+
* // Round tick 101 to spacing 60
|
|
412
|
+
* const rounded = roundTickToSpacing(101, 60); // 60
|
|
413
|
+
*
|
|
414
|
+
* // Negative ticks are also supported
|
|
415
|
+
* const rounded = roundTickToSpacing(-1055, 10); // -1060
|
|
416
|
+
* ```
|
|
417
|
+
*/
|
|
418
|
+
export declare function roundTickToSpacing(tick: number, tickSpacing: number): number;
|
|
419
|
+
/**
|
|
420
|
+
* Calculate reverse bonding curve fee amount with precision handling
|
|
421
|
+
*
|
|
422
|
+
* Consolidates the pattern of applying a fee factor to a base amount with
|
|
423
|
+
* integer rounding (down). Used extensively in bonding curve calculations
|
|
424
|
+
* for reverse fee computation and scaled amount operations.
|
|
425
|
+
*
|
|
426
|
+
* Formula: `new BigNumber(baseAmount).multipliedBy(feeFactor).integerValue(BigNumber.ROUND_DOWN)`
|
|
427
|
+
*
|
|
428
|
+
* @param baseAmount The base amount to apply fee factor to (string, number, or BigNumber)
|
|
429
|
+
* @param feeFactor The fee factor as decimal (e.g., 0.1 for 10%, 0.005 for 0.5%)
|
|
430
|
+
* @returns The scaled fee amount (rounded down to integer)
|
|
431
|
+
*
|
|
432
|
+
* @example
|
|
433
|
+
* ```typescript
|
|
434
|
+
* // Calculate 1% fee on 1000 GALA
|
|
435
|
+
* const baseAmount = new BigNumber('1000');
|
|
436
|
+
* const fee = calculateScaledFeeAmount(baseAmount, 0.01); // BigNumber(10)
|
|
437
|
+
*
|
|
438
|
+
* // Calculate 0.5% reverse bonding curve fee
|
|
439
|
+
* const feeAmount = calculateScaledFeeAmount('5000', 0.005); // BigNumber(25)
|
|
440
|
+
*
|
|
441
|
+
* // Fee factor from pool: reverseBondingCurveFee = 0.123456
|
|
442
|
+
* const reversed = calculateScaledFeeAmount(amount, reverseBondingCurveFee);
|
|
443
|
+
* ```
|
|
444
|
+
*/
|
|
445
|
+
export declare function calculateScaledFeeAmount(baseAmount: string | number | BigNumber, feeFactor: number): BigNumber;
|
|
340
446
|
//# sourceMappingURL=bignumber-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bignumber-helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/bignumber-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,SAAS,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"bignumber-helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/bignumber-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bignumber-pool-cache.d.ts","sourceRoot":"","sources":["../../../src/utils/bignumber-pool-cache.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"bignumber-pool-cache.d.ts","sourceRoot":"","sources":["../../../src/utils/bignumber-pool-cache.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAIrC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,kBAAkB;IAC7B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAElE;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,YAAyB;IAE7C;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAyB;IAE5C;;;;;;;;;;OAUG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,YAA+B;IAEvD;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,cAAc,YAAoC;IAElE;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,cAAc,YAE5B;IAEF;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAUnD;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;IAIzB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;IAO3D;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,GAAE,MAAa,GAAG,IAAI;CAU/C;AAED;;;GAGG;AACH,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bondingCurveCalculations.d.ts","sourceRoot":"","sources":["../../../src/utils/bondingCurveCalculations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"bondingCurveCalculations.d.ts","sourceRoot":"","sources":["../../../src/utils/bondingCurveCalculations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAIjE;;;;;;;GAOG;AACH,qBAAa,sBAAsB;IACjC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,qBAAqB,CAC1B,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,uBAAuB;IA+B1B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,sBAAsB,CAC3B,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,uBAAuB;IA+B1B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,sBAAsB,CAC3B,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACpB,uBAAuB;IAqC1B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,uBAAuB,CAC5B,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACpB,uBAAuB;IAkE1B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;CAIvB"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @category Utilities
|
|
9
9
|
* @since 3.9.2
|
|
10
10
|
*/
|
|
11
|
-
import type {
|
|
11
|
+
import type { BondingCurveCacheEntry } from '../services/TokenMetadataCache';
|
|
12
12
|
/**
|
|
13
13
|
* Pool data fields relevant for cache warming
|
|
14
14
|
*
|
|
@@ -84,7 +84,7 @@ export interface PoolDataForCaching {
|
|
|
84
84
|
*/
|
|
85
85
|
export declare function extractMetadataFromPoolData(pool: PoolDataForCaching, logger?: {
|
|
86
86
|
debug: (message: string) => void;
|
|
87
|
-
}): Partial<
|
|
87
|
+
}): Partial<BondingCurveCacheEntry> | null;
|
|
88
88
|
/**
|
|
89
89
|
* Validate pool data structure for cache warming
|
|
90
90
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cacheWarmingHelpers.d.ts","sourceRoot":"","sources":["../../../src/utils/cacheWarmingHelpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"cacheWarmingHelpers.d.ts","sourceRoot":"","sources":["../../../src/utils/cacheWarmingHelpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAG7E;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,wEAAwE;IACxE,gCAAgC,CAAC,EAAE,MAAM,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,kBAAkB,EACxB,MAAM,CAAC,EAAE;IAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAC5C,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI,CA6CxC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,kBAAkB,CAW/E"}
|
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data Transformation Utility Patterns
|
|
3
|
+
*
|
|
4
|
+
* Consolidates reusable data transformation patterns used across the SDK
|
|
5
|
+
* for API response normalization, DTO conversion, and array manipulation.
|
|
6
|
+
*
|
|
7
|
+
* Patterns consolidated:
|
|
8
|
+
* - transformRawApiTokenToDomainModel: Convert raw API token to domain model (4+ occurrences)
|
|
9
|
+
* - extractFieldWithFallbackPath: Extract value using multiple field path candidates (11+ occurrences)
|
|
10
|
+
* - normalizeDataWithMapping: Transform array with field renaming and transformation (4+ occurrences)
|
|
11
|
+
* - deduplicateByKey: Remove duplicates from array based on key function (6+ occurrences)
|
|
12
|
+
*
|
|
13
|
+
* @category Utilities
|
|
14
|
+
* @since 5.17.0
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Token domain model representing normalized token structure
|
|
18
|
+
*
|
|
19
|
+
* @since 5.17.0
|
|
20
|
+
*/
|
|
21
|
+
export interface DomainToken {
|
|
22
|
+
name: string;
|
|
23
|
+
symbol: string;
|
|
24
|
+
decimals: number;
|
|
25
|
+
address?: string;
|
|
26
|
+
verified?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Transform raw API token response to SDK domain model
|
|
30
|
+
*
|
|
31
|
+
* Converts raw token data from various API sources (DEX, GalaChain, etc.)
|
|
32
|
+
* to a normalized domain model with sensible defaults.
|
|
33
|
+
*
|
|
34
|
+
* Consolidates 4+ occurrences in:
|
|
35
|
+
* - GSwapAssetService.transformRawTokenToDexToken()
|
|
36
|
+
* - GSwapAssetService.transformRawTokenToUserAsset()
|
|
37
|
+
* - GSwapService token transformation logic
|
|
38
|
+
*
|
|
39
|
+
* Handles:
|
|
40
|
+
* - Missing fields with defaults (decimals: 8, verified: false, etc.)
|
|
41
|
+
* - Field name variations (tokenName vs name, tokenSymbol vs symbol)
|
|
42
|
+
* - Symbol fallback chain: symbol → tokenSymbol → collection → ''
|
|
43
|
+
* - Validates required fields (name, symbol) exist and are non-empty
|
|
44
|
+
*
|
|
45
|
+
* @param rawToken - Raw token object from API response (may have missing fields)
|
|
46
|
+
* @returns Normalized token domain model with required fields and defaults applied
|
|
47
|
+
* @throws Error if required fields (name, symbol) are missing or empty
|
|
48
|
+
*
|
|
49
|
+
* @example Basic transformation
|
|
50
|
+
* ```typescript
|
|
51
|
+
* const rawToken = {
|
|
52
|
+
* tokenName: 'Anime',
|
|
53
|
+
* tokenSymbol: 'ANI',
|
|
54
|
+
* decimals: 18,
|
|
55
|
+
* verified: true,
|
|
56
|
+
* address: '0xabc123...'
|
|
57
|
+
* };
|
|
58
|
+
*
|
|
59
|
+
* const domain = transformRawApiTokenToDomainModel(rawToken);
|
|
60
|
+
* // Returns: {
|
|
61
|
+
* // name: 'Anime',
|
|
62
|
+
* // symbol: 'ANI',
|
|
63
|
+
* // decimals: 18,
|
|
64
|
+
* // verified: true,
|
|
65
|
+
* // address: '0xabc123...'
|
|
66
|
+
* // }
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* @example With missing optional fields
|
|
70
|
+
* ```typescript
|
|
71
|
+
* const minimalToken = {
|
|
72
|
+
* name: 'GALA',
|
|
73
|
+
* symbol: 'GALA'
|
|
74
|
+
* };
|
|
75
|
+
*
|
|
76
|
+
* const domain = transformRawApiTokenToDomainModel(minimalToken);
|
|
77
|
+
* // Returns: {
|
|
78
|
+
* // name: 'GALA',
|
|
79
|
+
* // symbol: 'GALA',
|
|
80
|
+
* // decimals: 8, // default
|
|
81
|
+
* // verified: false // default
|
|
82
|
+
* // }
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* @example With field name variations
|
|
86
|
+
* ```typescript
|
|
87
|
+
* const apiResponse = {
|
|
88
|
+
* tokenName: 'Demon K-Pop',
|
|
89
|
+
* tokenSymbol: 'DEMONKPOP',
|
|
90
|
+
* decimals: 18
|
|
91
|
+
* };
|
|
92
|
+
*
|
|
93
|
+
* const domain = transformRawApiTokenToDomainModel(apiResponse);
|
|
94
|
+
* // Normalizes both name and symbol field names automatically
|
|
95
|
+
* ```
|
|
96
|
+
*
|
|
97
|
+
* @example Error on missing required field
|
|
98
|
+
* ```typescript
|
|
99
|
+
* transformRawApiTokenToDomainModel({ name: 'Test' });
|
|
100
|
+
* // Throws: Error('Token symbol is required')
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
export declare function transformRawApiTokenToDomainModel(rawToken: unknown): DomainToken;
|
|
104
|
+
/**
|
|
105
|
+
* Extract field value from object using fallback path chain
|
|
106
|
+
*
|
|
107
|
+
* Tries multiple field paths in order (both flat and nested) and returns
|
|
108
|
+
* the first one that has a non-empty value. Supports nested paths like
|
|
109
|
+
* "response.data.error" for deep object traversal.
|
|
110
|
+
*
|
|
111
|
+
* Consolidates 11+ occurrences in:
|
|
112
|
+
* - LiquidityEventExtractor field extraction
|
|
113
|
+
* - SwapEventExtractor field extraction
|
|
114
|
+
* - Response handler fallback logic
|
|
115
|
+
*
|
|
116
|
+
* Note: extractFieldWithCandidates() already exists in object-extractors.ts
|
|
117
|
+
* for simple field name candidates. This function extends that pattern to
|
|
118
|
+
* support nested paths (dot-notation) for deeper object traversal.
|
|
119
|
+
*
|
|
120
|
+
* @template T - Type of the default value (inferred from defaultValue parameter)
|
|
121
|
+
* @param obj - Object to extract field from (can be any type, will check for object)
|
|
122
|
+
* @param fieldPaths - Array of field paths to try in order (e.g., ['id', 'error.code', 'response.data.message'])
|
|
123
|
+
* @param defaultValue - Value to return if no field path has a value (default: null)
|
|
124
|
+
* @returns First non-empty value found, or defaultValue if none found
|
|
125
|
+
*
|
|
126
|
+
* @example Basic field extraction
|
|
127
|
+
* ```typescript
|
|
128
|
+
* const obj = { id: '123', transactionId: null };
|
|
129
|
+
*
|
|
130
|
+
* const id = extractFieldWithFallbackPath(obj, ['id', 'transactionId']);
|
|
131
|
+
* // Returns: '123'
|
|
132
|
+
* ```
|
|
133
|
+
*
|
|
134
|
+
* @example With nested paths
|
|
135
|
+
* ```typescript
|
|
136
|
+
* const response = {
|
|
137
|
+
* data: {
|
|
138
|
+
* error: {
|
|
139
|
+
* code: 'VALIDATION_ERROR'
|
|
140
|
+
* }
|
|
141
|
+
* }
|
|
142
|
+
* };
|
|
143
|
+
*
|
|
144
|
+
* const errorCode = extractFieldWithFallbackPath(
|
|
145
|
+
* response,
|
|
146
|
+
* ['error.code', 'code', 'message'],
|
|
147
|
+
* 'UNKNOWN'
|
|
148
|
+
* );
|
|
149
|
+
* // Returns: 'VALIDATION_ERROR'
|
|
150
|
+
* ```
|
|
151
|
+
*
|
|
152
|
+
* @example With default value
|
|
153
|
+
* ```typescript
|
|
154
|
+
* const obj = { name: null };
|
|
155
|
+
*
|
|
156
|
+
* const name = extractFieldWithFallbackPath(
|
|
157
|
+
* obj,
|
|
158
|
+
* ['name', 'displayName', 'title'],
|
|
159
|
+
* 'Unknown'
|
|
160
|
+
* );
|
|
161
|
+
* // Returns: 'Unknown' (all paths empty, uses default)
|
|
162
|
+
* ```
|
|
163
|
+
*
|
|
164
|
+
* @example With type-safe default
|
|
165
|
+
* ```typescript
|
|
166
|
+
* const obj = { count: null };
|
|
167
|
+
*
|
|
168
|
+
* const count: number = extractFieldWithFallbackPath(
|
|
169
|
+
* obj,
|
|
170
|
+
* ['count', 'total', 'size'],
|
|
171
|
+
* 0
|
|
172
|
+
* );
|
|
173
|
+
* // Returns: 0 (type inferred from defaultValue)
|
|
174
|
+
* ```
|
|
175
|
+
*
|
|
176
|
+
* @example Error case - non-object input
|
|
177
|
+
* ```typescript
|
|
178
|
+
* const value = extractFieldWithFallbackPath(null, ['field'], null);
|
|
179
|
+
* // Returns: null (input is null, not an object)
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
182
|
+
export declare function extractFieldWithFallbackPath<T = unknown>(obj: unknown, fieldPaths: string[], defaultValue?: T): T | null;
|
|
183
|
+
/**
|
|
184
|
+
* Transform array of objects with field mapping and transformation functions
|
|
185
|
+
*
|
|
186
|
+
* Maps field names from source objects to target field names, with optional
|
|
187
|
+
* transformation functions applied per field. Replaces manual map/reduce patterns.
|
|
188
|
+
*
|
|
189
|
+
* Consolidates 4+ occurrences in:
|
|
190
|
+
* - DTO → Domain conversions
|
|
191
|
+
* - API response field renaming
|
|
192
|
+
* - Array normalization workflows
|
|
193
|
+
*
|
|
194
|
+
* @template T - Type of items in source array
|
|
195
|
+
* @template R - Type of items in result array
|
|
196
|
+
* @param items - Array of source objects to transform
|
|
197
|
+
* @param mapping - Record mapping target field names to transformation functions.
|
|
198
|
+
* Each function receives the source object and returns the value
|
|
199
|
+
* for that field. Undefined values are omitted from result.
|
|
200
|
+
* @returns Array of transformed objects with mapped field names
|
|
201
|
+
*
|
|
202
|
+
* @example Basic field renaming
|
|
203
|
+
* ```typescript
|
|
204
|
+
* interface ApiUser {
|
|
205
|
+
* user_name: string;
|
|
206
|
+
* user_email: string;
|
|
207
|
+
* created_at: string;
|
|
208
|
+
* }
|
|
209
|
+
*
|
|
210
|
+
* const apiUsers: ApiUser[] = [
|
|
211
|
+
* { user_name: 'alice', user_email: 'alice@example.com', created_at: '2025-01-01' }
|
|
212
|
+
* ];
|
|
213
|
+
*
|
|
214
|
+
* const domainUsers = normalizeDataWithMapping(apiUsers, {
|
|
215
|
+
* name: (item) => item.user_name,
|
|
216
|
+
* email: (item) => item.user_email,
|
|
217
|
+
* createdAt: (item) => item.created_at
|
|
218
|
+
* });
|
|
219
|
+
*
|
|
220
|
+
* // Returns: [{ name: 'alice', email: 'alice@example.com', createdAt: '2025-01-01' }]
|
|
221
|
+
* ```
|
|
222
|
+
*
|
|
223
|
+
* @example With type transformations
|
|
224
|
+
* ```typescript
|
|
225
|
+
* interface RawPrice {
|
|
226
|
+
* symbol: string;
|
|
227
|
+
* price: string;
|
|
228
|
+
* timestamp: string;
|
|
229
|
+
* }
|
|
230
|
+
*
|
|
231
|
+
* interface PriceData {
|
|
232
|
+
* symbol: string;
|
|
233
|
+
* price: number;
|
|
234
|
+
* date: Date;
|
|
235
|
+
* }
|
|
236
|
+
*
|
|
237
|
+
* const rawPrices: RawPrice[] = [
|
|
238
|
+
* { symbol: 'BTC', price: '42500.50', timestamp: '2025-01-11T10:00:00Z' }
|
|
239
|
+
* ];
|
|
240
|
+
*
|
|
241
|
+
* const prices = normalizeDataWithMapping<RawPrice, PriceData>(rawPrices, {
|
|
242
|
+
* symbol: (item) => item.symbol,
|
|
243
|
+
* price: (item) => parseFloat(item.price), // Transform string to number
|
|
244
|
+
* date: (item) => new Date(item.timestamp) // Transform string to Date
|
|
245
|
+
* });
|
|
246
|
+
*
|
|
247
|
+
* // Returns: [{ symbol: 'BTC', price: 42500.5, date: Date }]
|
|
248
|
+
* ```
|
|
249
|
+
*
|
|
250
|
+
* @example Conditional field inclusion
|
|
251
|
+
* ```typescript
|
|
252
|
+
* interface RawEvent {
|
|
253
|
+
* id: string;
|
|
254
|
+
* name: string;
|
|
255
|
+
* description?: string;
|
|
256
|
+
* verified?: boolean;
|
|
257
|
+
* }
|
|
258
|
+
*
|
|
259
|
+
* interface Event {
|
|
260
|
+
* id: string;
|
|
261
|
+
* title: string;
|
|
262
|
+
* notes?: string;
|
|
263
|
+
* trusted?: boolean;
|
|
264
|
+
* }
|
|
265
|
+
*
|
|
266
|
+
* const events = normalizeDataWithMapping<RawEvent, Event>(rawData, {
|
|
267
|
+
* id: (item) => item.id,
|
|
268
|
+
* title: (item) => item.name,
|
|
269
|
+
* notes: (item) => item.description, // undefined if not present
|
|
270
|
+
* trusted: (item) => item.verified // undefined if not present
|
|
271
|
+
* });
|
|
272
|
+
*
|
|
273
|
+
* // Undefined fields are omitted from result objects
|
|
274
|
+
* ```
|
|
275
|
+
*
|
|
276
|
+
* @example Merging multiple source fields
|
|
277
|
+
* ```typescript
|
|
278
|
+
* interface TokenData {
|
|
279
|
+
* first_name: string;
|
|
280
|
+
* last_name: string;
|
|
281
|
+
* amount: string;
|
|
282
|
+
* }
|
|
283
|
+
*
|
|
284
|
+
* interface TokenInfo {
|
|
285
|
+
* fullName: string;
|
|
286
|
+
* quantity: number;
|
|
287
|
+
* }
|
|
288
|
+
*
|
|
289
|
+
* const tokens = normalizeDataWithMapping<TokenData, TokenInfo>(data, {
|
|
290
|
+
* fullName: (item) => `${item.first_name} ${item.last_name}`,
|
|
291
|
+
* quantity: (item) => parseFloat(item.amount)
|
|
292
|
+
* });
|
|
293
|
+
* ```
|
|
294
|
+
*/
|
|
295
|
+
export declare function normalizeDataWithMapping<T extends Record<string, unknown>, R extends Record<string, unknown>>(items: T[], mapping: Record<keyof R, (item: T) => unknown>): Partial<R>[];
|
|
296
|
+
/**
|
|
297
|
+
* Remove duplicate items from array based on key function
|
|
298
|
+
*
|
|
299
|
+
* Returns a new array with duplicate items removed, maintaining original order.
|
|
300
|
+
* Determines uniqueness by comparing the result of keyFn for each item.
|
|
301
|
+
*
|
|
302
|
+
* Consolidates 6+ occurrences of deduplication patterns in:
|
|
303
|
+
* - Event deduplication (by transaction ID, pool ID, etc.)
|
|
304
|
+
* - Position result deduplication
|
|
305
|
+
* - Pool discovery deduplication
|
|
306
|
+
*
|
|
307
|
+
* Related to groupByKey() in array-helpers.ts but returns deduplicated array
|
|
308
|
+
* instead of grouped Map structure.
|
|
309
|
+
*
|
|
310
|
+
* @template T - Type of items in array
|
|
311
|
+
* @param items - Array of items to deduplicate (may contain duplicates)
|
|
312
|
+
* @param keyFn - Function that computes uniqueness key for each item
|
|
313
|
+
* @param keepFirst - If true, keeps first occurrence; if false, keeps last (default: true)
|
|
314
|
+
* @returns New array with duplicates removed, original order maintained
|
|
315
|
+
*
|
|
316
|
+
* @example Basic deduplication
|
|
317
|
+
* ```typescript
|
|
318
|
+
* interface Position {
|
|
319
|
+
* id: string;
|
|
320
|
+
* amount: string;
|
|
321
|
+
* }
|
|
322
|
+
*
|
|
323
|
+
* const positions: Position[] = [
|
|
324
|
+
* { id: '1', amount: '100' },
|
|
325
|
+
* { id: '2', amount: '200' },
|
|
326
|
+
* { id: '1', amount: '150' }, // Duplicate ID
|
|
327
|
+
* ];
|
|
328
|
+
*
|
|
329
|
+
* const unique = deduplicateByKey(positions, (pos) => pos.id);
|
|
330
|
+
* // Returns: [{ id: '1', amount: '100' }, { id: '2', amount: '200' }]
|
|
331
|
+
* // (first occurrence of id '1' is kept)
|
|
332
|
+
* ```
|
|
333
|
+
*
|
|
334
|
+
* @example String key deduplication
|
|
335
|
+
* ```typescript
|
|
336
|
+
* interface Event {
|
|
337
|
+
* txId: string;
|
|
338
|
+
* type: string;
|
|
339
|
+
* timestamp: number;
|
|
340
|
+
* }
|
|
341
|
+
*
|
|
342
|
+
* const events: Event[] = [
|
|
343
|
+
* { txId: 'abc', type: 'swap', timestamp: 1000 },
|
|
344
|
+
* { txId: 'def', type: 'liquidity', timestamp: 2000 },
|
|
345
|
+
* { txId: 'abc', type: 'swap', timestamp: 1500 }, // Duplicate txId
|
|
346
|
+
* ];
|
|
347
|
+
*
|
|
348
|
+
* const deduplicated = deduplicateByKey(events, (e) => e.txId);
|
|
349
|
+
* // Returns: [{ txId: 'abc', type: 'swap', timestamp: 1000 }, ...]
|
|
350
|
+
* ```
|
|
351
|
+
*
|
|
352
|
+
* @example Keep last occurrence
|
|
353
|
+
* ```typescript
|
|
354
|
+
* const items = [
|
|
355
|
+
* { id: 'a', value: 1 },
|
|
356
|
+
* { id: 'b', value: 2 },
|
|
357
|
+
* { id: 'a', value: 3 }, // Same id, newer value
|
|
358
|
+
* ];
|
|
359
|
+
*
|
|
360
|
+
* const lastOccurrence = deduplicateByKey(
|
|
361
|
+
* items,
|
|
362
|
+
* (item) => item.id,
|
|
363
|
+
* false // Keep last occurrence
|
|
364
|
+
* );
|
|
365
|
+
* // Returns: [{ id: 'b', value: 2 }, { id: 'a', value: 3 }]
|
|
366
|
+
* ```
|
|
367
|
+
*
|
|
368
|
+
* @example Composite key deduplication
|
|
369
|
+
* ```typescript
|
|
370
|
+
* interface Pair {
|
|
371
|
+
* token0: string;
|
|
372
|
+
* token1: string;
|
|
373
|
+
* fee: number;
|
|
374
|
+
* }
|
|
375
|
+
*
|
|
376
|
+
* const pairs: Pair[] = [
|
|
377
|
+
* { token0: 'GALA', token1: 'GUSDC', fee: 3000 },
|
|
378
|
+
* { token0: 'GALA', token1: 'GWETH', fee: 3000 },
|
|
379
|
+
* { token0: 'GALA', token1: 'GUSDC', fee: 3000 }, // Duplicate
|
|
380
|
+
* ];
|
|
381
|
+
*
|
|
382
|
+
* const uniquePairs = deduplicateByKey(
|
|
383
|
+
* pairs,
|
|
384
|
+
* (pair) => `${pair.token0}/${pair.token1}/${pair.fee}`
|
|
385
|
+
* );
|
|
386
|
+
* // Returns: [
|
|
387
|
+
* // { token0: 'GALA', token1: 'GUSDC', fee: 3000 },
|
|
388
|
+
* // { token0: 'GALA', token1: 'GWETH', fee: 3000 }
|
|
389
|
+
* // ]
|
|
390
|
+
* ```
|
|
391
|
+
*/
|
|
392
|
+
export declare function deduplicateByKey<T>(items: T[], keyFn: (item: T) => unknown, keepFirst?: boolean): T[];
|
|
393
|
+
//# sourceMappingURL=data-transform-patterns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-transform-patterns.d.ts","sourceRoot":"","sources":["../../../src/utils/data-transform-patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AACH,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,OAAO,GAAG,WAAW,CAmDhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,GAAG,OAAO,EACtD,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,MAAM,EAAE,EACpB,YAAY,GAAE,CAAwB,GACrC,CAAC,GAAG,IAAI,CAmCV;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+GG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3G,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC,EAAE,CAcd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,EAC3B,SAAS,GAAE,OAAc,GACxB,CAAC,EAAE,CA6BL"}
|