@gala-chain/launchpad-sdk 5.0.2-beta.1 → 5.0.4-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/EXAMPLES.md +141 -7
- package/README.md +68 -36
- package/dist/ai-docs.json +7357 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +70 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/src/LaunchpadSDK.d.ts +3288 -214
- package/dist/src/LaunchpadSDK.d.ts.map +1 -1
- package/dist/src/api/LaunchpadAPI.d.ts +21 -41
- package/dist/src/api/LaunchpadAPI.d.ts.map +1 -1
- package/dist/src/api/dto/BurnTokensDto.d.ts.map +1 -1
- package/dist/src/api/dto/LockTokenDto.d.ts.map +1 -1
- package/dist/src/api/dto/TransferTokenDto.d.ts.map +1 -1
- package/dist/src/api/dto/UnlockTokenDto.d.ts.map +1 -1
- package/dist/src/auth/JwtAuth.d.ts +145 -0
- package/dist/src/auth/JwtAuth.d.ts.map +1 -0
- package/dist/src/auth/SessionAuthService.d.ts +146 -0
- package/dist/src/auth/SessionAuthService.d.ts.map +1 -0
- package/dist/src/auth/SignatureAuth.d.ts.map +1 -1
- package/dist/src/bridge/BridgeService.d.ts.map +1 -1
- package/dist/src/bridge/GalaConnectClient.d.ts.map +1 -1
- package/dist/src/bridge/constants/tokens.d.ts +4 -3
- package/dist/src/bridge/constants/tokens.d.ts.map +1 -1
- package/dist/src/bridge/index.d.ts +1 -0
- package/dist/src/bridge/index.d.ts.map +1 -1
- package/dist/src/bridge/strategies/BridgeStrategy.d.ts.map +1 -1
- package/dist/src/bridge/strategies/EthereumBridgeStrategy.d.ts +1 -38
- package/dist/src/bridge/strategies/EthereumBridgeStrategy.d.ts.map +1 -1
- package/dist/src/bridge/strategies/SolanaBridgeStrategy.d.ts +1 -21
- package/dist/src/bridge/strategies/SolanaBridgeStrategy.d.ts.map +1 -1
- package/dist/src/bridge/types/bridge.dto.d.ts +15 -2
- package/dist/src/bridge/types/bridge.dto.d.ts.map +1 -1
- package/dist/src/bridge/utils/RateLimiter.d.ts +1 -1
- package/dist/src/bridge/utils/RateLimiter.d.ts.map +1 -1
- package/dist/src/bridge/utils/address-formatter.d.ts +25 -0
- package/dist/src/bridge/utils/address-formatter.d.ts.map +1 -0
- package/dist/src/bridge/utils/addressValidation.d.ts +200 -0
- package/dist/src/bridge/utils/addressValidation.d.ts.map +1 -0
- package/dist/src/bridge/utils/balanceHelpers.d.ts +215 -0
- package/dist/src/bridge/utils/balanceHelpers.d.ts.map +1 -0
- package/dist/src/bridge/utils/bridgeErrors.d.ts +98 -0
- package/dist/src/bridge/utils/bridgeErrors.d.ts.map +1 -0
- package/dist/src/bridge/utils/bridgeOutHelpers.d.ts +68 -0
- package/dist/src/bridge/utils/bridgeOutHelpers.d.ts.map +1 -0
- package/dist/src/bridge/utils/bridgePayload.d.ts +107 -0
- package/dist/src/bridge/utils/bridgePayload.d.ts.map +1 -0
- package/dist/src/bridge/utils/bridgeStatusParser.d.ts +75 -0
- package/dist/src/bridge/utils/bridgeStatusParser.d.ts.map +1 -0
- package/dist/src/bridge/utils/eip712Helpers.d.ts +66 -0
- package/dist/src/bridge/utils/eip712Helpers.d.ts.map +1 -0
- package/dist/src/bridge/utils/index.d.ts +9 -0
- package/dist/src/bridge/utils/index.d.ts.map +1 -1
- package/dist/src/bridge/utils/retry.d.ts +16 -0
- package/dist/src/bridge/utils/retry.d.ts.map +1 -1
- package/dist/src/bridge/utils/strategyDelegation.d.ts +69 -0
- package/dist/src/bridge/utils/strategyDelegation.d.ts.map +1 -0
- package/dist/src/bridge/utils/tokenIdUtils.d.ts +7 -0
- package/dist/src/bridge/utils/tokenIdUtils.d.ts.map +1 -1
- package/dist/src/bridge/utils/tokenMath.d.ts.map +1 -1
- package/dist/src/bridge/utils/tokenMetadataResolver.d.ts +97 -0
- package/dist/src/bridge/utils/tokenMetadataResolver.d.ts.map +1 -0
- package/dist/src/constants/endpoints.d.ts +453 -0
- package/dist/src/constants/endpoints.d.ts.map +1 -1
- package/dist/src/constants/error-messages.d.ts +1 -1
- package/dist/src/constants/error-messages.d.ts.map +1 -1
- package/dist/src/constants/jwt.d.ts +41 -0
- package/dist/src/constants/jwt.d.ts.map +1 -0
- package/dist/src/constants/sdk-defaults.d.ts +37 -0
- package/dist/src/constants/sdk-defaults.d.ts.map +1 -0
- package/dist/src/constants/version.generated.d.ts +1 -1
- package/dist/src/helpers/sdk.d.ts.map +1 -1
- package/dist/src/helpers/wallet.d.ts +4 -3
- package/dist/src/helpers/wallet.d.ts.map +1 -1
- package/dist/src/index.d.ts +70 -11
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/schemas/files.d.ts +2 -2
- package/dist/src/schemas/launchpad.d.ts +40 -8
- package/dist/src/schemas/launchpad.d.ts.map +1 -1
- package/dist/src/schemas/pagination.d.ts +7 -7
- package/dist/src/schemas/primitives.d.ts.map +1 -1
- package/dist/src/schemas/trade.d.ts +6 -6
- package/dist/src/schemas/user.d.ts +4 -4
- package/dist/src/schemas/validators.d.ts +15 -7
- package/dist/src/schemas/validators.d.ts.map +1 -1
- package/dist/src/services/AbstractCacheService.d.ts +227 -0
- package/dist/src/services/AbstractCacheService.d.ts.map +1 -0
- package/dist/src/services/AbstractTokenFetchService.d.ts +150 -0
- package/dist/src/services/AbstractTokenFetchService.d.ts.map +1 -0
- package/dist/src/services/ApiKeyService.d.ts +205 -0
- package/dist/src/services/ApiKeyService.d.ts.map +1 -0
- package/dist/src/services/BanService.d.ts +195 -0
- package/dist/src/services/BanService.d.ts.map +1 -0
- package/dist/src/services/BaseService.d.ts +50 -3
- package/dist/src/services/BaseService.d.ts.map +1 -1
- package/dist/src/services/BatchedCacheService.d.ts +132 -0
- package/dist/src/services/BatchedCacheService.d.ts.map +1 -0
- package/dist/src/services/BridgeableTokenCache.d.ts +32 -98
- package/dist/src/services/BridgeableTokenCache.d.ts.map +1 -1
- package/dist/src/services/BridgeableTokenService.d.ts +18 -13
- package/dist/src/services/BridgeableTokenService.d.ts.map +1 -1
- package/dist/src/services/BundleService.d.ts.map +1 -1
- package/dist/src/services/BundlerClientFactory.d.ts +32 -0
- package/dist/src/services/BundlerClientFactory.d.ts.map +1 -0
- package/dist/src/services/ChatMessagesService.d.ts +152 -0
- package/dist/src/services/ChatMessagesService.d.ts.map +1 -0
- package/dist/src/services/CommentService.d.ts +119 -0
- package/dist/src/services/CommentService.d.ts.map +1 -0
- package/dist/src/services/CommentsService.d.ts +155 -0
- package/dist/src/services/CommentsService.d.ts.map +1 -0
- package/dist/src/services/ContentFlagService.d.ts +212 -0
- package/dist/src/services/ContentFlagService.d.ts.map +1 -0
- package/dist/src/services/ContentReactionService.d.ts +175 -0
- package/dist/src/services/ContentReactionService.d.ts.map +1 -0
- package/dist/src/services/DexBackendClient.d.ts.map +1 -1
- package/dist/src/services/DexPoolService.d.ts +3 -3
- package/dist/src/services/DexPoolService.d.ts.map +1 -1
- package/dist/src/services/DexQuoteService.d.ts.map +1 -1
- package/dist/src/services/DexService.d.ts +2 -5
- package/dist/src/services/DexService.d.ts.map +1 -1
- package/dist/src/services/GSwapAssetService.d.ts +80 -0
- package/dist/src/services/GSwapAssetService.d.ts.map +1 -0
- package/dist/src/services/GSwapLiquidityMutationService.d.ts +140 -0
- package/dist/src/services/GSwapLiquidityMutationService.d.ts.map +1 -0
- package/dist/src/services/GSwapLiquidityQueryService.d.ts +87 -0
- package/dist/src/services/GSwapLiquidityQueryService.d.ts.map +1 -0
- package/dist/src/services/GSwapPoolCalculationService.d.ts +200 -0
- package/dist/src/services/GSwapPoolCalculationService.d.ts.map +1 -0
- package/dist/src/services/GSwapPoolQueryService.d.ts +116 -0
- package/dist/src/services/GSwapPoolQueryService.d.ts.map +1 -0
- package/dist/src/services/GSwapService.d.ts +14 -0
- package/dist/src/services/GSwapService.d.ts.map +1 -1
- package/dist/src/services/GSwapSwapService.d.ts +68 -0
- package/dist/src/services/GSwapSwapService.d.ts.map +1 -0
- package/dist/src/services/GalaChainBalanceService.d.ts +155 -0
- package/dist/src/services/GalaChainBalanceService.d.ts.map +1 -0
- package/dist/src/services/GalaChainGatewayClient.d.ts +32 -1
- package/dist/src/services/GalaChainGatewayClient.d.ts.map +1 -1
- package/dist/src/services/GalaChainLockService.d.ts +144 -0
- package/dist/src/services/GalaChainLockService.d.ts.map +1 -0
- package/dist/src/services/GalaChainService.d.ts +23 -106
- package/dist/src/services/GalaChainService.d.ts.map +1 -1
- package/dist/src/services/GalaChainTokenService.d.ts +108 -0
- package/dist/src/services/GalaChainTokenService.d.ts.map +1 -0
- package/dist/src/services/GalaChainTransferService.d.ts +205 -0
- package/dist/src/services/GalaChainTransferService.d.ts.map +1 -0
- package/dist/src/services/ImageService.d.ts +24 -8
- package/dist/src/services/ImageService.d.ts.map +1 -1
- package/dist/src/services/LaunchpadService.d.ts +77 -5
- package/dist/src/services/LaunchpadService.d.ts.map +1 -1
- package/dist/src/services/ModeratorService.d.ts +269 -0
- package/dist/src/services/ModeratorService.d.ts.map +1 -0
- package/dist/src/services/MultiPoolStateManager.d.ts +4 -6
- package/dist/src/services/MultiPoolStateManager.d.ts.map +1 -1
- package/dist/src/services/NetworkKeyedCacheService.d.ts +185 -0
- package/dist/src/services/NetworkKeyedCacheService.d.ts.map +1 -0
- package/dist/src/services/OverseerService.d.ts +322 -0
- package/dist/src/services/OverseerService.d.ts.map +1 -0
- package/dist/src/services/PoolCacheManager.d.ts +2 -2
- package/dist/src/services/PoolCacheManager.d.ts.map +1 -1
- package/dist/src/services/PoolService.d.ts +61 -7
- package/dist/src/services/PoolService.d.ts.map +1 -1
- package/dist/src/services/PoolStateManager.d.ts +2 -2
- package/dist/src/services/PoolStateManager.d.ts.map +1 -1
- package/dist/src/services/PriceHistoryService.d.ts.map +1 -1
- package/dist/src/services/SignatureService.d.ts.map +1 -1
- package/dist/src/services/StreamChatService.d.ts +378 -0
- package/dist/src/services/StreamChatService.d.ts.map +1 -0
- package/dist/src/services/StreamTokenServiceBase.d.ts +371 -0
- package/dist/src/services/StreamTokenServiceBase.d.ts.map +1 -0
- package/dist/src/services/StreamWebSocketService.d.ts +268 -0
- package/dist/src/services/StreamWebSocketService.d.ts.map +1 -0
- package/dist/src/services/StreamingEventService.d.ts +431 -0
- package/dist/src/services/StreamingEventService.d.ts.map +1 -0
- package/dist/src/services/StreamingService.d.ts +547 -0
- package/dist/src/services/StreamingService.d.ts.map +1 -0
- package/dist/src/services/SwapEventQueue.d.ts +2 -2
- package/dist/src/services/SwapEventQueue.d.ts.map +1 -1
- package/dist/src/services/TokenBanService.d.ts +214 -0
- package/dist/src/services/TokenBanService.d.ts.map +1 -0
- package/dist/src/services/TokenClassKeyService.d.ts.map +1 -1
- package/dist/src/services/TokenMetadataCache.d.ts +36 -27
- package/dist/src/services/TokenMetadataCache.d.ts.map +1 -1
- package/dist/src/services/TokenMetadataService.d.ts +24 -4
- package/dist/src/services/TokenMetadataService.d.ts.map +1 -1
- package/dist/src/services/TokenResolverService.d.ts.map +1 -1
- package/dist/src/services/TradeService.d.ts +73 -0
- package/dist/src/services/TradeService.d.ts.map +1 -1
- package/dist/src/services/UserService.d.ts +56 -3
- package/dist/src/services/UserService.d.ts.map +1 -1
- package/dist/src/services/WebSocketService.d.ts +3 -3
- package/dist/src/services/WebSocketService.d.ts.map +1 -1
- package/dist/src/services/WrapService.d.ts +18 -5
- package/dist/src/services/WrapService.d.ts.map +1 -1
- package/dist/src/services/WrappableTokenCache.d.ts +8 -36
- package/dist/src/services/WrappableTokenCache.d.ts.map +1 -1
- package/dist/src/services/WrappableTokenService.d.ts +18 -12
- package/dist/src/services/WrappableTokenService.d.ts.map +1 -1
- package/dist/src/services/shared/cache-helpers.d.ts +188 -0
- package/dist/src/services/shared/cache-helpers.d.ts.map +1 -0
- package/dist/src/services/shared/http-helpers.d.ts +146 -0
- package/dist/src/services/shared/http-helpers.d.ts.map +1 -0
- package/dist/src/services/shared/pagination-helpers.d.ts +157 -0
- package/dist/src/services/shared/pagination-helpers.d.ts.map +1 -0
- package/dist/src/services/shared/service-validators.d.ts +137 -0
- package/dist/src/services/shared/service-validators.d.ts.map +1 -0
- package/dist/src/services/shared/websocket-helpers.d.ts +158 -0
- package/dist/src/services/shared/websocket-helpers.d.ts.map +1 -0
- package/dist/src/test-constants.d.ts +29 -0
- package/dist/src/test-constants.d.ts.map +1 -0
- package/dist/src/types/api-key.dto.d.ts +300 -0
- package/dist/src/types/api-key.dto.d.ts.map +1 -0
- package/dist/src/types/backend-responses.d.ts +12 -0
- package/dist/src/types/backend-responses.d.ts.map +1 -1
- package/dist/src/types/ban.dto.d.ts +413 -0
- package/dist/src/types/ban.dto.d.ts.map +1 -0
- package/dist/src/types/burn.dto.d.ts +21 -0
- package/dist/src/types/burn.dto.d.ts.map +1 -1
- package/dist/src/types/chat-messages.dto.d.ts +193 -0
- package/dist/src/types/chat-messages.dto.d.ts.map +1 -0
- package/dist/src/types/comment.dto.d.ts +180 -0
- package/dist/src/types/comment.dto.d.ts.map +1 -0
- package/dist/src/types/comments.dto.d.ts +210 -0
- package/dist/src/types/comments.dto.d.ts.map +1 -0
- package/dist/src/types/common.d.ts +369 -0
- package/dist/src/types/common.d.ts.map +1 -1
- package/dist/src/types/constraints.d.ts +374 -0
- package/dist/src/types/constraints.d.ts.map +1 -0
- package/dist/src/types/content-flag.dto.d.ts +310 -0
- package/dist/src/types/content-flag.dto.d.ts.map +1 -0
- package/dist/src/types/content-reactions.dto.d.ts +132 -0
- package/dist/src/types/content-reactions.dto.d.ts.map +1 -0
- package/dist/src/types/dex-pool.dto.d.ts +13 -37
- package/dist/src/types/dex-pool.dto.d.ts.map +1 -1
- package/dist/src/types/dto.d.ts +8 -0
- package/dist/src/types/dto.d.ts.map +1 -1
- package/dist/src/types/galachain-api.types.d.ts +30 -0
- package/dist/src/types/galachain-api.types.d.ts.map +1 -1
- package/dist/src/types/gswap-responses.types.d.ts.map +1 -1
- package/dist/src/types/launchpad.dto.d.ts +234 -131
- package/dist/src/types/launchpad.dto.d.ts.map +1 -1
- package/dist/src/types/launchpad.validation.d.ts.map +1 -1
- package/dist/src/types/lock.dto.d.ts +20 -35
- package/dist/src/types/lock.dto.d.ts.map +1 -1
- package/dist/src/types/moderator.dto.d.ts +581 -0
- package/dist/src/types/moderator.dto.d.ts.map +1 -0
- package/dist/src/types/options.dto.d.ts +25 -115
- package/dist/src/types/options.dto.d.ts.map +1 -1
- package/dist/src/types/overseer.dto.d.ts +420 -0
- package/dist/src/types/overseer.dto.d.ts.map +1 -0
- package/dist/src/types/pool.dto.d.ts +106 -0
- package/dist/src/types/pool.dto.d.ts.map +1 -0
- package/dist/src/types/result.types.d.ts +3 -2
- package/dist/src/types/result.types.d.ts.map +1 -1
- package/dist/src/types/session-auth.dto.d.ts +91 -0
- package/dist/src/types/session-auth.dto.d.ts.map +1 -0
- package/dist/src/types/stream-chat.dto.d.ts +815 -0
- package/dist/src/types/stream-chat.dto.d.ts.map +1 -0
- package/dist/src/types/streaming-events.dto.d.ts +586 -0
- package/dist/src/types/streaming-events.dto.d.ts.map +1 -0
- package/dist/src/types/streaming.dto.d.ts +1141 -0
- package/dist/src/types/streaming.dto.d.ts.map +1 -0
- package/dist/src/types/token-ban.dto.d.ts +195 -0
- package/dist/src/types/token-ban.dto.d.ts.map +1 -0
- package/dist/src/types/trade.dto.d.ts +21 -61
- package/dist/src/types/trade.dto.d.ts.map +1 -1
- package/dist/src/types/trades-query.dto.d.ts +127 -0
- package/dist/src/types/trades-query.dto.d.ts.map +1 -0
- package/dist/src/types/transfer.dto.d.ts +20 -15
- package/dist/src/types/transfer.dto.d.ts.map +1 -1
- package/dist/src/types/user.dto.d.ts +185 -73
- package/dist/src/types/user.dto.d.ts.map +1 -1
- package/dist/src/types/wrappable-token.dto.d.ts +6 -2
- package/dist/src/types/wrappable-token.dto.d.ts.map +1 -1
- package/dist/src/utils/LiquidityEventExtractor.d.ts.map +1 -1
- package/dist/src/utils/Logger.d.ts.map +1 -1
- package/dist/src/utils/MonitoringMetrics.d.ts.map +1 -1
- package/dist/src/utils/PoolKeyNormalizer.d.ts.map +1 -1
- package/dist/src/utils/ReconnectionManager.d.ts +142 -0
- package/dist/src/utils/ReconnectionManager.d.ts.map +1 -0
- package/dist/src/utils/SignatureHelper.d.ts +9 -0
- package/dist/src/utils/SignatureHelper.d.ts.map +1 -1
- package/dist/src/utils/SwapEventExtractor.d.ts.map +1 -1
- package/dist/src/utils/adapters.d.ts.map +1 -1
- package/dist/src/utils/address-formatter.d.ts +317 -0
- package/dist/src/utils/address-formatter.d.ts.map +1 -0
- package/dist/src/utils/agent-config.d.ts.map +1 -1
- package/dist/src/utils/amount-validator.d.ts +268 -0
- package/dist/src/utils/amount-validator.d.ts.map +1 -0
- package/dist/src/utils/api-patterns.d.ts +347 -0
- package/dist/src/utils/api-patterns.d.ts.map +1 -0
- package/dist/src/utils/array-helpers.d.ts +115 -0
- package/dist/src/utils/array-helpers.d.ts.map +1 -0
- package/dist/src/utils/async-patterns.d.ts +272 -0
- package/dist/src/utils/async-patterns.d.ts.map +1 -0
- package/dist/src/utils/auto-pagination.d.ts +195 -2
- package/dist/src/utils/auto-pagination.d.ts.map +1 -1
- package/dist/src/utils/bignumber-helpers.d.ts +119 -13
- package/dist/src/utils/bignumber-helpers.d.ts.map +1 -1
- package/dist/src/utils/bignumber-pool-cache.d.ts.map +1 -1
- package/dist/src/utils/bondingCurveCalculations.d.ts.map +1 -1
- package/dist/src/utils/cacheWarmingHelpers.d.ts +2 -2
- package/dist/src/utils/cacheWarmingHelpers.d.ts.map +1 -1
- package/dist/src/utils/data-transform-patterns.d.ts +393 -0
- package/dist/src/utils/data-transform-patterns.d.ts.map +1 -0
- package/dist/src/utils/date-utils.d.ts +166 -0
- package/dist/src/utils/date-utils.d.ts.map +1 -1
- package/dist/src/utils/delimiter-parser.d.ts +139 -0
- package/dist/src/utils/delimiter-parser.d.ts.map +1 -0
- package/dist/src/utils/error-factories.d.ts +346 -1
- package/dist/src/utils/error-factories.d.ts.map +1 -1
- package/dist/src/utils/error-handling-patterns.d.ts +390 -0
- package/dist/src/utils/error-handling-patterns.d.ts.map +1 -0
- package/dist/src/utils/error-patterns.d.ts +360 -0
- package/dist/src/utils/error-patterns.d.ts.map +1 -0
- package/dist/src/utils/error-utils.d.ts +250 -0
- package/dist/src/utils/error-utils.d.ts.map +1 -1
- package/dist/src/utils/error-wrapper.d.ts +208 -0
- package/dist/src/utils/error-wrapper.d.ts.map +1 -0
- package/dist/src/utils/errors.d.ts +70 -0
- package/dist/src/utils/errors.d.ts.map +1 -1
- package/dist/src/utils/http-factory.d.ts +36 -0
- package/dist/src/utils/http-factory.d.ts.map +1 -0
- package/dist/src/utils/http.d.ts.map +1 -1
- package/dist/src/utils/load-env.d.ts.map +1 -1
- package/dist/src/utils/multipart.d.ts.map +1 -1
- package/dist/src/utils/numeric-patterns.d.ts +289 -0
- package/dist/src/utils/numeric-patterns.d.ts.map +1 -0
- package/dist/src/utils/numeric-wrappers.d.ts +146 -0
- package/dist/src/utils/numeric-wrappers.d.ts.map +1 -0
- package/dist/src/utils/object-extractors.d.ts +115 -0
- package/dist/src/utils/object-extractors.d.ts.map +1 -0
- package/dist/src/utils/object-patterns.d.ts +81 -0
- package/dist/src/utils/object-patterns.d.ts.map +1 -0
- package/dist/src/utils/pagination-helpers.d.ts +230 -0
- package/dist/src/utils/pagination-helpers.d.ts.map +1 -0
- package/dist/src/utils/pool-pair-parser.d.ts +3 -1
- package/dist/src/utils/pool-pair-parser.d.ts.map +1 -1
- package/dist/src/utils/pool-state-validator.d.ts.map +1 -1
- package/dist/src/utils/position-filters.d.ts +1 -2
- package/dist/src/utils/position-filters.d.ts.map +1 -1
- package/dist/src/utils/query-params.d.ts +0 -16
- package/dist/src/utils/query-params.d.ts.map +1 -1
- package/dist/src/utils/response-handlers.d.ts +149 -20
- package/dist/src/utils/response-handlers.d.ts.map +1 -1
- package/dist/src/utils/response-helpers.d.ts +28 -0
- package/dist/src/utils/response-helpers.d.ts.map +1 -0
- package/dist/src/utils/response-normalizers.d.ts +27 -49
- package/dist/src/utils/response-normalizers.d.ts.map +1 -1
- package/dist/src/utils/safe-parsers.d.ts +487 -0
- package/dist/src/utils/safe-parsers.d.ts.map +1 -0
- package/dist/src/utils/service-validators.d.ts +268 -0
- package/dist/src/utils/service-validators.d.ts.map +1 -0
- package/dist/src/utils/slippage-utils.d.ts.map +1 -1
- package/dist/src/utils/string-patterns.d.ts +404 -0
- package/dist/src/utils/string-patterns.d.ts.map +1 -0
- package/dist/src/utils/string-transforms.d.ts +89 -0
- package/dist/src/utils/string-transforms.d.ts.map +1 -0
- package/dist/src/utils/string-utils.d.ts +108 -0
- package/dist/src/utils/string-utils.d.ts.map +1 -0
- package/dist/src/utils/swap-delta-calculator.d.ts.map +1 -1
- package/dist/src/utils/tick-crossing-handler.d.ts.map +1 -1
- package/dist/src/utils/token-format-converter.d.ts +22 -8
- package/dist/src/utils/token-format-converter.d.ts.map +1 -1
- package/dist/src/utils/token-parser.d.ts +2 -2
- package/dist/src/utils/token-parser.d.ts.map +1 -1
- package/dist/src/utils/token-stringification.d.ts +168 -0
- package/dist/src/utils/token-stringification.d.ts.map +1 -0
- package/dist/src/utils/tokenNameNormalizer.d.ts +96 -0
- package/dist/src/utils/tokenNameNormalizer.d.ts.map +1 -0
- package/dist/src/utils/tokenNormalizer.d.ts +8 -45
- package/dist/src/utils/tokenNormalizer.d.ts.map +1 -1
- package/dist/src/utils/transfer-validation.d.ts +1 -1
- package/dist/src/utils/transfer-validation.d.ts.map +1 -1
- package/dist/src/utils/type-guard-factory.d.ts +260 -0
- package/dist/src/utils/type-guard-factory.d.ts.map +1 -0
- package/dist/src/utils/unique-key-generator.d.ts +148 -0
- package/dist/src/utils/unique-key-generator.d.ts.map +1 -0
- package/dist/src/utils/validation-helpers.d.ts +906 -183
- package/dist/src/utils/validation-helpers.d.ts.map +1 -1
- package/dist/src/utils/validation-patterns.d.ts +745 -0
- package/dist/src/utils/validation-patterns.d.ts.map +1 -0
- package/dist/src/utils/validation.d.ts +2 -30
- package/dist/src/utils/validation.d.ts.map +1 -1
- package/dist/src/utils/wallet.d.ts +12 -1
- package/dist/src/utils/wallet.d.ts.map +1 -1
- package/dist/src/utils/websocket-patterns.d.ts +681 -0
- package/dist/src/utils/websocket-patterns.d.ts.map +1 -0
- package/dist/src/utils/websocket-validators.d.ts.map +1 -1
- package/package.json +86 -19
- package/dist/src/bridge/strategies/index.d.ts +0 -9
- package/dist/src/bridge/strategies/index.d.ts.map +0 -1
- package/dist/src/constants/counts.d.ts +0 -66
- package/dist/src/constants/counts.d.ts.map +0 -1
- package/dist/src/services/WebSocketManager.d.ts +0 -99
- package/dist/src/services/WebSocketManager.d.ts.map +0 -1
- package/dist/src/types/eip712-types.d.ts +0 -140
- package/dist/src/types/eip712-types.d.ts.map +0 -1
- package/dist/src/types/pool-state-manager-config.dto.d.ts +0 -103
- package/dist/src/types/pool-state-manager-config.dto.d.ts.map +0 -1
- package/dist/src/utils/number-utils.d.ts +0 -94
- package/dist/src/utils/number-utils.d.ts.map +0 -1
- package/dist/src/utils/precision-math.d.ts +0 -37
- package/dist/src/utils/precision-math.d.ts.map +0 -1
|
@@ -0,0 +1,487 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safe Parsers - Consolidated numeric and type-safe parsing utilities
|
|
3
|
+
*
|
|
4
|
+
* Eliminates scattered try/catch patterns for parsing operations across the SDK.
|
|
5
|
+
* Provides consistent error handling and fallback behavior.
|
|
6
|
+
*
|
|
7
|
+
* ## Problem Solved
|
|
8
|
+
*
|
|
9
|
+
* Before this module, parsing logic was duplicated with inconsistent patterns:
|
|
10
|
+
* ```typescript
|
|
11
|
+
* // Pattern 1: Scattered parseFloat with manual checks
|
|
12
|
+
* const value = parseFloat(str);
|
|
13
|
+
* if (isNaN(value)) { throw new Error('Invalid'); }
|
|
14
|
+
*
|
|
15
|
+
* // Pattern 2: parseInt with inconsistent radix
|
|
16
|
+
* const fee = parseInt(feeStr); // Missing radix!
|
|
17
|
+
* const fee = parseInt(feeStr, 10); // Correct
|
|
18
|
+
*
|
|
19
|
+
* // Pattern 3: BigNumber with try/catch everywhere
|
|
20
|
+
* try {
|
|
21
|
+
* const bn = new BigNumber(value);
|
|
22
|
+
* if (bn.isNaN()) throw new Error('Invalid');
|
|
23
|
+
* } catch (e) { ... }
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* ## Solution
|
|
27
|
+
*
|
|
28
|
+
* ```typescript
|
|
29
|
+
* import { safeParseFloat, safeParseInt, safeParseBigNumber } from './safe-parsers';
|
|
30
|
+
* import { isNullish } from './validation-helpers';
|
|
31
|
+
*
|
|
32
|
+
* const value = safeParseFloat(str, 0); // Returns 0 on failure
|
|
33
|
+
* const fee = safeParseInt(feeStr, 3000); // Returns 3000 on failure
|
|
34
|
+
* const amount = safeParseBigNumber(val, '0'); // Returns BigNumber('0') on failure
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @category Utilities
|
|
38
|
+
* @since 6.13.0
|
|
39
|
+
*/
|
|
40
|
+
import BigNumber from 'bignumber.js';
|
|
41
|
+
/**
|
|
42
|
+
* Result type for parsing operations that may fail
|
|
43
|
+
*/
|
|
44
|
+
export interface ParseResult<T> {
|
|
45
|
+
success: boolean;
|
|
46
|
+
value: T;
|
|
47
|
+
error?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Safely parse a JSON string with fallback
|
|
51
|
+
*
|
|
52
|
+
* Consolidates scattered try/catch JSON.parse patterns across the codebase.
|
|
53
|
+
* Returns fallback value on parse failure instead of throwing.
|
|
54
|
+
*
|
|
55
|
+
* ## Replaces Pattern
|
|
56
|
+
*
|
|
57
|
+
* ```typescript
|
|
58
|
+
* // Before (scattered across codebase)
|
|
59
|
+
* let data: SomeType;
|
|
60
|
+
* try {
|
|
61
|
+
* data = JSON.parse(jsonString);
|
|
62
|
+
* } catch {
|
|
63
|
+
* data = defaultValue;
|
|
64
|
+
* }
|
|
65
|
+
*
|
|
66
|
+
* // After (single utility)
|
|
67
|
+
* const data = safeParseJson(jsonString, defaultValue);
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
70
|
+
* @param value - JSON string to parse
|
|
71
|
+
* @param fallback - Fallback value if parsing fails
|
|
72
|
+
* @returns Parsed JSON or fallback value
|
|
73
|
+
*
|
|
74
|
+
* @example Basic usage
|
|
75
|
+
* ```typescript
|
|
76
|
+
* safeParseJson('{"name": "test"}', {}); // { name: "test" }
|
|
77
|
+
* safeParseJson('invalid json', {}); // {}
|
|
78
|
+
* safeParseJson(null, { default: true }); // { default: true }
|
|
79
|
+
* safeParseJson('{"count": 42}', { count: 0 }); // { count: 42 }
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* @example With typed fallback
|
|
83
|
+
* ```typescript
|
|
84
|
+
* interface Config { timeout: number; retries: number }
|
|
85
|
+
* const defaultConfig: Config = { timeout: 5000, retries: 3 };
|
|
86
|
+
* const config = safeParseJson<Config>(configJson, defaultConfig);
|
|
87
|
+
* ```
|
|
88
|
+
*
|
|
89
|
+
* @since 6.14.0
|
|
90
|
+
*/
|
|
91
|
+
export declare function safeParseJson<T>(value: string | null | undefined, fallback: T): T;
|
|
92
|
+
/**
|
|
93
|
+
* Try to parse JSON and return result object
|
|
94
|
+
*
|
|
95
|
+
* Use when you need to handle both success and failure cases explicitly
|
|
96
|
+
* without throwing exceptions.
|
|
97
|
+
*
|
|
98
|
+
* @param value - JSON string to parse
|
|
99
|
+
* @returns ParseResult with success flag, value, and optional error
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* const result = tryParseJson('{"valid": true}');
|
|
104
|
+
* if (result.success) {
|
|
105
|
+
* console.log(result.value); // { valid: true }
|
|
106
|
+
* } else {
|
|
107
|
+
* console.log(result.error); // Parse error message
|
|
108
|
+
* }
|
|
109
|
+
* ```
|
|
110
|
+
*
|
|
111
|
+
* @since 6.14.0
|
|
112
|
+
*/
|
|
113
|
+
export declare function tryParseJson<T = unknown>(value: string | null | undefined): ParseResult<T | null>;
|
|
114
|
+
/**
|
|
115
|
+
* Parse JSON with validation - throws on failure
|
|
116
|
+
*
|
|
117
|
+
* Use when you need strict validation and want to throw on invalid JSON.
|
|
118
|
+
*
|
|
119
|
+
* @param value - JSON string to parse
|
|
120
|
+
* @param fieldName - Field name for error message
|
|
121
|
+
* @returns Parsed JSON
|
|
122
|
+
* @throws ValidationError if value cannot be parsed
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```typescript
|
|
126
|
+
* const data = parseJsonOrThrow('{"id": 123}', 'config'); // { id: 123 }
|
|
127
|
+
* const bad = parseJsonOrThrow('invalid', 'config'); // Throws ValidationError
|
|
128
|
+
* ```
|
|
129
|
+
*
|
|
130
|
+
* @since 6.14.0
|
|
131
|
+
*/
|
|
132
|
+
export declare function parseJsonOrThrow<T = unknown>(value: string | null | undefined, fieldName: string): T;
|
|
133
|
+
/**
|
|
134
|
+
* Logger interface for numeric parsers that support logging
|
|
135
|
+
*/
|
|
136
|
+
interface ParseLogger {
|
|
137
|
+
warn(message: string): void;
|
|
138
|
+
debug?(message: string): void;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Safely parse a string to float with fallback
|
|
142
|
+
*
|
|
143
|
+
* Consolidates scattered parseFloat patterns with proper NaN handling.
|
|
144
|
+
*
|
|
145
|
+
* @param value - Value to parse
|
|
146
|
+
* @param fallback - Fallback value if parsing fails (default: 0)
|
|
147
|
+
* @returns Parsed float or fallback
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```typescript
|
|
151
|
+
* safeParseFloat('123.45'); // 123.45
|
|
152
|
+
* safeParseFloat('invalid'); // 0
|
|
153
|
+
* safeParseFloat('invalid', -1); // -1
|
|
154
|
+
* safeParseFloat(null, 10); // 10
|
|
155
|
+
* safeParseFloat(''); // 0
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
export declare function safeParseFloat(value: string | number | null | undefined, fallback?: number): number;
|
|
159
|
+
/**
|
|
160
|
+
* Safely parse a string to a number with fallback (alias for safeParseFloat)
|
|
161
|
+
*
|
|
162
|
+
* This is a convenience alias that matches the naming convention used in
|
|
163
|
+
* number-utils.ts. Internally uses safeParseFloat with optional logging.
|
|
164
|
+
*
|
|
165
|
+
* @param value - String value to parse
|
|
166
|
+
* @param fallback - Fallback number if parsing fails
|
|
167
|
+
* @param logger - Optional logger for warning on invalid input
|
|
168
|
+
* @returns Valid number
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```typescript
|
|
172
|
+
* safeParseNumber('123.45', 0); // 123.45
|
|
173
|
+
* safeParseNumber('invalid', 0); // 0 (silent)
|
|
174
|
+
* safeParseNumber('invalid', 0, console); // 0 (logs warning)
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
177
|
+
export declare function safeParseNumber(value: string | number | null | undefined, fallback: number, logger?: ParseLogger): number;
|
|
178
|
+
/**
|
|
179
|
+
* Safely parse a string to integer with fallback (silent version)
|
|
180
|
+
*
|
|
181
|
+
* Always uses radix 10 to prevent parsing issues with leading zeros.
|
|
182
|
+
*
|
|
183
|
+
* @param value - Value to parse (string, number, or bigint)
|
|
184
|
+
* @param fallback - Fallback value if parsing fails (default: 0)
|
|
185
|
+
* @returns Parsed integer or fallback
|
|
186
|
+
*
|
|
187
|
+
* @example
|
|
188
|
+
* ```typescript
|
|
189
|
+
* safeParseIntSilent('123'); // 123
|
|
190
|
+
* safeParseIntSilent('123.99'); // 123 (truncated)
|
|
191
|
+
* safeParseIntSilent('invalid'); // 0
|
|
192
|
+
* safeParseIntSilent('3000', 500); // 3000
|
|
193
|
+
* safeParseIntSilent(null, 3000); // 3000
|
|
194
|
+
* safeParseIntSilent(1234n, 0); // 1234 (from bigint)
|
|
195
|
+
* ```
|
|
196
|
+
*/
|
|
197
|
+
export declare function safeParseIntSilent(value: string | number | bigint | null | undefined, fallback?: number): number;
|
|
198
|
+
/**
|
|
199
|
+
* Safely parse an integer with validation and optional logging
|
|
200
|
+
*
|
|
201
|
+
* @param value - String, number, or bigint to parse as integer
|
|
202
|
+
* @param fallback - Fallback integer if parsing fails
|
|
203
|
+
* @param logger - Optional logger for warning on invalid input
|
|
204
|
+
* @returns Valid integer
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* ```typescript
|
|
208
|
+
* safeParseInt('123', 0); // 123
|
|
209
|
+
* safeParseInt('123.99', 0); // 123 (truncated)
|
|
210
|
+
* safeParseInt('invalid', 0); // 0 (silent)
|
|
211
|
+
* safeParseInt('invalid', 0, console); // 0 (logs warning)
|
|
212
|
+
* safeParseInt(1234n, 0); // 1234 (from bigint)
|
|
213
|
+
* ```
|
|
214
|
+
*/
|
|
215
|
+
export declare function safeParseInt(value: string | number | bigint | null | undefined, fallback: number, logger?: ParseLogger): number;
|
|
216
|
+
/**
|
|
217
|
+
* Safely parse a value to BigNumber with fallback
|
|
218
|
+
*
|
|
219
|
+
* Consolidates BigNumber parsing with proper NaN and error handling.
|
|
220
|
+
* This is a "safe" parser - errors are silently converted to fallback values.
|
|
221
|
+
*
|
|
222
|
+
* **Note:** This function intentionally swallows parsing errors and returns the
|
|
223
|
+
* fallback value. This is the expected behavior for the "safe" API flavor.
|
|
224
|
+
* If you need error details, use {@link tryParseBigNumber} which returns
|
|
225
|
+
* a `ParseResult` with success flag and error message.
|
|
226
|
+
*
|
|
227
|
+
* @param value - Value to parse
|
|
228
|
+
* @param fallback - Fallback value if parsing fails (default: '0')
|
|
229
|
+
* @returns BigNumber instance (never throws, always returns valid BigNumber)
|
|
230
|
+
*
|
|
231
|
+
* @see {@link tryParseBigNumber} - Returns ParseResult with error info
|
|
232
|
+
* @see {@link parseBigNumberOrThrow} - Throws ValidationError on failure
|
|
233
|
+
*
|
|
234
|
+
* @example
|
|
235
|
+
* ```typescript
|
|
236
|
+
* safeParseBigNumber('123.456'); // BigNumber(123.456)
|
|
237
|
+
* safeParseBigNumber('invalid'); // BigNumber(0) - silently falls back
|
|
238
|
+
* safeParseBigNumber(null, '100'); // BigNumber(100)
|
|
239
|
+
* safeParseBigNumber('1e10'); // BigNumber(10000000000)
|
|
240
|
+
* ```
|
|
241
|
+
*/
|
|
242
|
+
export declare function safeParseBigNumber(value: string | number | BigNumber | null | undefined, fallback?: string | number): BigNumber;
|
|
243
|
+
/**
|
|
244
|
+
* Parse float with validation - throws on failure
|
|
245
|
+
*
|
|
246
|
+
* Use when you need strict validation and want to throw on invalid input.
|
|
247
|
+
*
|
|
248
|
+
* @param value - Value to parse
|
|
249
|
+
* @param fieldName - Field name for error message
|
|
250
|
+
* @returns Parsed float
|
|
251
|
+
* @throws ValidationError if value cannot be parsed
|
|
252
|
+
*
|
|
253
|
+
* @example
|
|
254
|
+
* ```typescript
|
|
255
|
+
* const amount = parseFloatOrThrow('123.45', 'amount'); // 123.45
|
|
256
|
+
* const bad = parseFloatOrThrow('invalid', 'amount'); // Throws ValidationError
|
|
257
|
+
* ```
|
|
258
|
+
*/
|
|
259
|
+
export declare function parseFloatOrThrow(value: string | number | null | undefined, fieldName: string): number;
|
|
260
|
+
/**
|
|
261
|
+
* Parse integer with validation - throws on failure
|
|
262
|
+
*
|
|
263
|
+
* Use when you need strict validation and want to throw on invalid input.
|
|
264
|
+
*
|
|
265
|
+
* @param value - Value to parse
|
|
266
|
+
* @param fieldName - Field name for error message
|
|
267
|
+
* @returns Parsed integer
|
|
268
|
+
* @throws ValidationError if value cannot be parsed
|
|
269
|
+
*
|
|
270
|
+
* @example
|
|
271
|
+
* ```typescript
|
|
272
|
+
* const fee = parseIntOrThrow('3000', 'fee'); // 3000
|
|
273
|
+
* const bad = parseIntOrThrow('invalid', 'fee'); // Throws ValidationError
|
|
274
|
+
* ```
|
|
275
|
+
*/
|
|
276
|
+
export declare function parseIntOrThrow(value: string | number | null | undefined, fieldName: string): number;
|
|
277
|
+
/**
|
|
278
|
+
* Parse BigNumber with validation - throws on failure
|
|
279
|
+
*
|
|
280
|
+
* Use when you need strict validation and want to throw on invalid input.
|
|
281
|
+
*
|
|
282
|
+
* @param value - Value to parse
|
|
283
|
+
* @param fieldName - Field name for error message
|
|
284
|
+
* @returns Parsed BigNumber
|
|
285
|
+
* @throws ValidationError if value cannot be parsed
|
|
286
|
+
*
|
|
287
|
+
* @example
|
|
288
|
+
* ```typescript
|
|
289
|
+
* const amount = parseBigNumberOrThrow('123.456', 'amount'); // BigNumber(123.456)
|
|
290
|
+
* const bad = parseBigNumberOrThrow('invalid', 'amount'); // Throws ValidationError
|
|
291
|
+
* ```
|
|
292
|
+
*/
|
|
293
|
+
export declare function parseBigNumberOrThrow(value: string | number | BigNumber | null | undefined, fieldName: string): BigNumber;
|
|
294
|
+
/**
|
|
295
|
+
* Try to parse float and return result object
|
|
296
|
+
*
|
|
297
|
+
* Use when you need to handle both success and failure cases explicitly.
|
|
298
|
+
*
|
|
299
|
+
* @param value - Value to parse
|
|
300
|
+
* @returns ParseResult with success flag, value, and optional error
|
|
301
|
+
*
|
|
302
|
+
* @example
|
|
303
|
+
* ```typescript
|
|
304
|
+
* const result = tryParseFloat('123.45');
|
|
305
|
+
* if (result.success) {
|
|
306
|
+
* console.log(result.value); // 123.45
|
|
307
|
+
* } else {
|
|
308
|
+
* console.log(result.error); // undefined for valid input
|
|
309
|
+
* }
|
|
310
|
+
* ```
|
|
311
|
+
*/
|
|
312
|
+
export declare function tryParseFloat(value: string | number | null | undefined): ParseResult<number>;
|
|
313
|
+
/**
|
|
314
|
+
* Try to parse integer and return result object
|
|
315
|
+
*
|
|
316
|
+
* @param value - Value to parse
|
|
317
|
+
* @returns ParseResult with success flag, value, and optional error
|
|
318
|
+
*/
|
|
319
|
+
export declare function tryParseInt(value: string | number | null | undefined): ParseResult<number>;
|
|
320
|
+
/**
|
|
321
|
+
* Try to parse BigNumber and return result object
|
|
322
|
+
*
|
|
323
|
+
* @param value - Value to parse
|
|
324
|
+
* @returns ParseResult with success flag, value, and optional error
|
|
325
|
+
*/
|
|
326
|
+
export declare function tryParseBigNumber(value: string | number | BigNumber | null | undefined): ParseResult<BigNumber>;
|
|
327
|
+
/**
|
|
328
|
+
* Parse percentage string (removes '%' suffix)
|
|
329
|
+
*
|
|
330
|
+
* Handles both "5" and "5%" formats consistently.
|
|
331
|
+
*
|
|
332
|
+
* @param value - Value to parse
|
|
333
|
+
* @param fallback - Fallback value (default: 0)
|
|
334
|
+
* @returns Parsed percentage as number
|
|
335
|
+
*
|
|
336
|
+
* @example
|
|
337
|
+
* ```typescript
|
|
338
|
+
* safeParsePercentage('5%'); // 5
|
|
339
|
+
* safeParsePercentage('5'); // 5
|
|
340
|
+
* safeParsePercentage(' 5.5% '); // 5.5
|
|
341
|
+
* safeParsePercentage('invalid'); // 0
|
|
342
|
+
* ```
|
|
343
|
+
*/
|
|
344
|
+
export declare function safeParsePercentage(value: string | number | null | undefined, fallback?: number): number;
|
|
345
|
+
/**
|
|
346
|
+
* Parse fee tier string to number
|
|
347
|
+
*
|
|
348
|
+
* Fee tiers in Uniswap V3 style pools: 500, 3000, 10000
|
|
349
|
+
*
|
|
350
|
+
* @param value - Fee tier value to parse
|
|
351
|
+
* @param fallback - Fallback value (default: 3000)
|
|
352
|
+
* @returns Parsed fee tier
|
|
353
|
+
*
|
|
354
|
+
* @example
|
|
355
|
+
* ```typescript
|
|
356
|
+
* safeParseFeeTier('3000'); // 3000
|
|
357
|
+
* safeParseFeeTier('0.3%'); // 3000 (converted from percentage)
|
|
358
|
+
* safeParseFeeTier(10000); // 10000
|
|
359
|
+
* safeParseFeeTier('invalid'); // 3000 (fallback)
|
|
360
|
+
* ```
|
|
361
|
+
*/
|
|
362
|
+
export declare function safeParseFeeTier(value: string | number | null | undefined, fallback?: number): number;
|
|
363
|
+
/**
|
|
364
|
+
* Parse positive amount with validation
|
|
365
|
+
*
|
|
366
|
+
* Specialized parser for token amounts that must be positive.
|
|
367
|
+
*
|
|
368
|
+
* @param value - Amount to parse
|
|
369
|
+
* @param fieldName - Field name for error message
|
|
370
|
+
* @returns Parsed BigNumber
|
|
371
|
+
* @throws ValidationError if value is not a positive number
|
|
372
|
+
*
|
|
373
|
+
* @example
|
|
374
|
+
* ```typescript
|
|
375
|
+
* parsePositiveAmount('100', 'amount'); // BigNumber(100)
|
|
376
|
+
* parsePositiveAmount('0', 'amount'); // Throws: must be positive
|
|
377
|
+
* parsePositiveAmount('-5', 'amount'); // Throws: must be positive
|
|
378
|
+
* ```
|
|
379
|
+
*/
|
|
380
|
+
export declare function parsePositiveAmount(value: string | number | BigNumber | null | undefined, fieldName: string): BigNumber;
|
|
381
|
+
/**
|
|
382
|
+
* Parse non-negative amount with validation
|
|
383
|
+
*
|
|
384
|
+
* Specialized parser for amounts that can be zero but not negative.
|
|
385
|
+
*
|
|
386
|
+
* @param value - Amount to parse
|
|
387
|
+
* @param fieldName - Field name for error message
|
|
388
|
+
* @returns Parsed BigNumber
|
|
389
|
+
* @throws ValidationError if value is negative
|
|
390
|
+
*
|
|
391
|
+
* @example
|
|
392
|
+
* ```typescript
|
|
393
|
+
* parseNonNegativeAmount('100', 'fee'); // BigNumber(100)
|
|
394
|
+
* parseNonNegativeAmount('0', 'fee'); // BigNumber(0)
|
|
395
|
+
* parseNonNegativeAmount('-5', 'fee'); // Throws: must be non-negative
|
|
396
|
+
* ```
|
|
397
|
+
*/
|
|
398
|
+
export declare function parseNonNegativeAmount(value: string | number | BigNumber | null | undefined, fieldName: string): BigNumber;
|
|
399
|
+
/**
|
|
400
|
+
* Validate if a value can be safely converted to a number
|
|
401
|
+
*
|
|
402
|
+
* @param value - Value to validate
|
|
403
|
+
* @returns True if the value can be converted to a valid number
|
|
404
|
+
*
|
|
405
|
+
* @example
|
|
406
|
+
* ```typescript
|
|
407
|
+
* isValidNumberString('123.45'); // true
|
|
408
|
+
* isValidNumberString('invalid'); // false
|
|
409
|
+
* isValidNumberString(42); // true
|
|
410
|
+
* isValidNumberString(NaN); // false
|
|
411
|
+
* ```
|
|
412
|
+
*/
|
|
413
|
+
export declare function isValidNumberString(value: string | number | null | undefined): boolean;
|
|
414
|
+
/**
|
|
415
|
+
* Parse number with validation and detailed error context
|
|
416
|
+
*
|
|
417
|
+
* @param value - Value to parse
|
|
418
|
+
* @param context - Context information for debugging (e.g., 'pagination.page')
|
|
419
|
+
* @param fallback - Fallback number if parsing fails
|
|
420
|
+
* @param logger - Optional logger for warning on invalid input
|
|
421
|
+
* @returns Valid number with debug information
|
|
422
|
+
*
|
|
423
|
+
* @example
|
|
424
|
+
* ```typescript
|
|
425
|
+
* safeParseWithContext('123.45', 'api.amount', 0); // 123.45
|
|
426
|
+
* safeParseWithContext(null, 'trade.amount', 100); // 100
|
|
427
|
+
* safeParseWithContext('invalid', 'token.qty', 0); // 0
|
|
428
|
+
* ```
|
|
429
|
+
*/
|
|
430
|
+
export declare function safeParseWithContext(value: string | number | null | undefined, context: string, fallback: number, logger?: ParseLogger): number;
|
|
431
|
+
/**
|
|
432
|
+
* Format a number string for DTO validation with specified decimal precision limit
|
|
433
|
+
*
|
|
434
|
+
* This prevents DTO validation errors caused by excessive floating-point precision
|
|
435
|
+
* and ensures numbers are in the correct format (fixed notation, no trailing zeros).
|
|
436
|
+
*
|
|
437
|
+
* @param num - Number string to format
|
|
438
|
+
* @param decimals - Maximum decimal places (default: 18 for launchpad tokens)
|
|
439
|
+
* @returns Formatted string with maximum specified decimal places
|
|
440
|
+
*
|
|
441
|
+
* @example
|
|
442
|
+
* ```typescript
|
|
443
|
+
* // GALA transactions (8 decimals max)
|
|
444
|
+
* formatForDTO('100.123456789', 8) // '100.12345679'
|
|
445
|
+
*
|
|
446
|
+
* // Launchpad tokens (18 decimals max)
|
|
447
|
+
* formatForDTO('0.000000000000000123', 18) // '0.000000000000000123'
|
|
448
|
+
*
|
|
449
|
+
* // Default uses launchpad token precision
|
|
450
|
+
* formatForDTO('123.456') // '123.456'
|
|
451
|
+
* ```
|
|
452
|
+
*/
|
|
453
|
+
export declare function formatForDTO(num: string, decimals?: number): string;
|
|
454
|
+
/**
|
|
455
|
+
* Format a GALA amount for DTO validation (8 decimal limit)
|
|
456
|
+
*
|
|
457
|
+
* GALA tokens use 8 decimal places on GalaChain. Transactions with more
|
|
458
|
+
* than 8 decimals will fail, so this function enforces the limit.
|
|
459
|
+
*
|
|
460
|
+
* @param num - GALA amount as string
|
|
461
|
+
* @returns Formatted string with maximum 8 decimal places
|
|
462
|
+
*
|
|
463
|
+
* @example
|
|
464
|
+
* ```typescript
|
|
465
|
+
* formatGalaForDTO('100.123456789') // '100.12345679'
|
|
466
|
+
* formatGalaForDTO('0.00000001') // '0.00000001'
|
|
467
|
+
* ```
|
|
468
|
+
*/
|
|
469
|
+
export declare function formatGalaForDTO(num: string): string;
|
|
470
|
+
/**
|
|
471
|
+
* Format a launchpad token amount for DTO validation (18 decimal limit)
|
|
472
|
+
*
|
|
473
|
+
* Launchpad tokens use 18 decimal places following ERC-20 standard.
|
|
474
|
+
* This function ensures full precision is maintained for token amounts.
|
|
475
|
+
*
|
|
476
|
+
* @param num - Token amount as string
|
|
477
|
+
* @returns Formatted string with maximum 18 decimal places
|
|
478
|
+
*
|
|
479
|
+
* @example
|
|
480
|
+
* ```typescript
|
|
481
|
+
* formatLaunchpadTokenForDTO('1000.123456789012345678') // '1000.123456789012345678'
|
|
482
|
+
* formatLaunchpadTokenForDTO('0.000000000000000001') // '0.000000000000000001'
|
|
483
|
+
* ```
|
|
484
|
+
*/
|
|
485
|
+
export declare function formatLaunchpadTokenForDTO(num: string): string;
|
|
486
|
+
export {};
|
|
487
|
+
//# sourceMappingURL=safe-parsers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-parsers.d.ts","sourceRoot":"","sources":["../../../src/utils/safe-parsers.ts"],"names":[],"mappings":"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"}
|