@gala-chain/launchpad-sdk 8.1.0 → 9.0.0-rc.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/CHANGELOG.md +837 -0
- package/EXAMPLES.md +95 -681
- package/MIGRATING-TO-9.0.md +343 -0
- package/README.md +46 -17
- package/dist/LaunchpadSDK.d.ts +536 -616
- package/dist/LaunchpadSDK.d.ts.map +1 -1
- package/dist/api/LaunchpadAPI.d.ts +6 -176
- package/dist/api/LaunchpadAPI.d.ts.map +1 -1
- package/dist/auth/SessionAuthService.d.ts +32 -2
- package/dist/auth/SessionAuthService.d.ts.map +1 -1
- package/dist/auth/SignatureAuth.d.ts +2 -2
- package/dist/auth/SignatureAuth.d.ts.map +1 -1
- package/dist/auth/session.d.ts +59 -0
- package/dist/auth/session.d.ts.map +1 -0
- package/dist/auth/types.d.ts +7 -2
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/config/environments.d.ts +7 -2
- package/dist/config/environments.d.ts.map +1 -1
- package/dist/constants/decimals.d.ts +0 -23
- package/dist/constants/decimals.d.ts.map +1 -1
- package/dist/constants/endpoints.d.ts +19 -8
- package/dist/constants/endpoints.d.ts.map +1 -1
- package/dist/constants/enums.d.ts +19 -0
- package/dist/constants/enums.d.ts.map +1 -1
- package/dist/constants/version.generated.d.ts +1 -1
- package/dist/constants/version.generated.d.ts.map +1 -1
- package/dist/errors/LaunchpadSDKError.d.ts +18 -0
- package/dist/errors/LaunchpadSDKError.d.ts.map +1 -1
- package/dist/helpers/sdk.d.ts.map +1 -1
- package/dist/index.browser.d.ts +40 -45
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.esm.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/index.node.d.ts +4 -5
- package/dist/index.node.d.ts.map +1 -1
- package/dist/launchpad/bundle-submission.d.ts +57 -10
- package/dist/launchpad/bundle-submission.d.ts.map +1 -1
- package/dist/launchpad/create-sale-validation.d.ts +19 -0
- package/dist/launchpad/create-sale-validation.d.ts.map +1 -0
- package/dist/launchpad/transport.d.ts +33 -2
- package/dist/launchpad/transport.d.ts.map +1 -1
- package/dist/launchpad/writes.d.ts +37 -11
- package/dist/launchpad/writes.d.ts.map +1 -1
- package/dist/native.cjs +1 -1
- package/dist/native.d.ts +4 -5
- package/dist/native.d.ts.map +1 -1
- package/dist/native.esm.js +1 -1
- package/dist/schemas/launchpad.d.ts +3 -2
- package/dist/schemas/launchpad.d.ts.map +1 -1
- package/dist/schemas/primitives.d.ts +12 -2
- package/dist/schemas/primitives.d.ts.map +1 -1
- package/dist/schemas/user.d.ts +3 -18
- package/dist/schemas/user.d.ts.map +1 -1
- package/dist/schemas/validators.d.ts +3 -3
- package/dist/services/AbstractCacheService.d.ts +2 -2
- package/dist/services/ApiKeyService.d.ts +1 -1
- package/dist/services/BanService.d.ts +1 -1
- package/dist/services/ChartService.d.ts.map +1 -1
- package/dist/services/ContentReactionService.d.ts +6 -18
- package/dist/services/ContentReactionService.d.ts.map +1 -1
- package/dist/services/EventsQueryService.d.ts +47 -0
- package/dist/services/EventsQueryService.d.ts.map +1 -0
- package/dist/services/GalaChainBalanceService.d.ts +17 -89
- package/dist/services/GalaChainBalanceService.d.ts.map +1 -1
- package/dist/services/GalaChainLockService.d.ts +19 -20
- package/dist/services/GalaChainLockService.d.ts.map +1 -1
- package/dist/services/GalaChainService.d.ts +28 -15
- package/dist/services/GalaChainService.d.ts.map +1 -1
- package/dist/services/GalaChainTokenService.d.ts +25 -53
- package/dist/services/GalaChainTokenService.d.ts.map +1 -1
- package/dist/services/GalaChainTransferService.d.ts +42 -41
- package/dist/services/GalaChainTransferService.d.ts.map +1 -1
- package/dist/services/HealthService.d.ts +33 -0
- package/dist/services/HealthService.d.ts.map +1 -0
- package/dist/services/ImageService.d.ts +3 -3
- package/dist/services/ImageService.d.ts.map +1 -1
- package/dist/services/LaunchpadPriceService.d.ts +66 -0
- package/dist/services/LaunchpadPriceService.d.ts.map +1 -0
- package/dist/services/LaunchpadService.d.ts +34 -42
- package/dist/services/LaunchpadService.d.ts.map +1 -1
- package/dist/services/MessagesService.d.ts +12 -44
- package/dist/services/MessagesService.d.ts.map +1 -1
- package/dist/services/ModeratorService.d.ts +2 -2
- package/dist/services/ModeratorService.d.ts.map +1 -1
- package/dist/services/NftCollectionService.d.ts +22 -6
- package/dist/services/NftCollectionService.d.ts.map +1 -1
- package/dist/services/OverseerService.d.ts +3 -3
- package/dist/services/OverseerService.d.ts.map +1 -1
- package/dist/services/PlatformStatsService.d.ts +1 -2
- package/dist/services/PlatformStatsService.d.ts.map +1 -1
- package/dist/services/PoolService.d.ts +28 -65
- package/dist/services/PoolService.d.ts.map +1 -1
- package/dist/services/RestrictedNamesService.d.ts +1 -1
- package/dist/services/RestrictedNamesService.d.ts.map +1 -1
- package/dist/services/StreamChatService.d.ts +8 -19
- package/dist/services/StreamChatService.d.ts.map +1 -1
- package/dist/services/StreamTokenServiceBase.d.ts +2 -1
- package/dist/services/StreamTokenServiceBase.d.ts.map +1 -1
- package/dist/services/StreamWebSocketService.d.ts +423 -451
- package/dist/services/StreamWebSocketService.d.ts.map +1 -1
- package/dist/services/StreamingService.d.ts +14 -15
- package/dist/services/StreamingService.d.ts.map +1 -1
- package/dist/services/TokenBanService.d.ts +1 -1
- package/dist/services/TokenResolverService.d.ts +5 -5
- package/dist/services/TokenResolverService.d.ts.map +1 -1
- package/dist/services/TradeService.d.ts +13 -9
- package/dist/services/TradeService.d.ts.map +1 -1
- package/dist/services/TradingQuotesService.d.ts.map +1 -1
- package/dist/services/UserService.d.ts +64 -20
- package/dist/services/UserService.d.ts.map +1 -1
- package/dist/services/gateway-transport.d.ts +32 -0
- package/dist/services/gateway-transport.d.ts.map +1 -0
- package/dist/services/gateway-writes.d.ts +83 -0
- package/dist/services/gateway-writes.d.ts.map +1 -0
- package/dist/services/realtime/event-catalog.d.ts +456 -0
- package/dist/services/realtime/event-catalog.d.ts.map +1 -0
- package/dist/services/shared/pagination-helpers.d.ts +22 -5
- package/dist/services/shared/pagination-helpers.d.ts.map +1 -1
- package/dist/services/shared/service-validators.d.ts.map +1 -1
- package/dist/signing/index.d.ts +2 -3
- package/dist/signing/index.d.ts.map +1 -1
- package/dist/signing/signers.d.ts +64 -9
- package/dist/signing/signers.d.ts.map +1 -1
- package/dist/signing/types.d.ts +7 -10
- package/dist/signing/types.d.ts.map +1 -1
- package/dist/types/api-key.dto.d.ts +1 -1
- package/dist/types/ban.dto.d.ts +21 -16
- package/dist/types/ban.dto.d.ts.map +1 -1
- package/dist/types/burn.dto.d.ts +4 -2
- package/dist/types/burn.dto.d.ts.map +1 -1
- package/dist/types/chat-messages.dto.d.ts +10 -72
- package/dist/types/chat-messages.dto.d.ts.map +1 -1
- package/dist/types/comments.dto.d.ts +8 -78
- package/dist/types/comments.dto.d.ts.map +1 -1
- package/dist/types/common.d.ts +42 -85
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/constraints.d.ts +47 -23
- package/dist/types/constraints.d.ts.map +1 -1
- package/dist/types/content-flag.dto.d.ts +5 -1
- package/dist/types/content-flag.dto.d.ts.map +1 -1
- package/dist/types/content-reactions.dto.d.ts +0 -4
- package/dist/types/content-reactions.dto.d.ts.map +1 -1
- package/dist/types/dto.d.ts +0 -5
- package/dist/types/dto.d.ts.map +1 -1
- package/dist/types/engagement-stats.dto.d.ts +16 -27
- package/dist/types/engagement-stats.dto.d.ts.map +1 -1
- package/dist/types/events.dto.d.ts +89 -0
- package/dist/types/events.dto.d.ts.map +1 -1
- package/dist/types/global-feed.dto.d.ts +23 -164
- package/dist/types/global-feed.dto.d.ts.map +1 -1
- package/dist/types/health.dto.d.ts +32 -0
- package/dist/types/health.dto.d.ts.map +1 -0
- package/dist/types/launchpad.dto.d.ts +77 -323
- package/dist/types/launchpad.dto.d.ts.map +1 -1
- package/dist/types/lock.dto.d.ts +12 -7
- package/dist/types/lock.dto.d.ts.map +1 -1
- package/dist/types/messages.dto.d.ts +168 -118
- package/dist/types/messages.dto.d.ts.map +1 -1
- package/dist/types/moderator.dto.d.ts +1 -1
- package/dist/types/options.dto.d.ts +8 -36
- package/dist/types/options.dto.d.ts.map +1 -1
- package/dist/types/overseer.dto.d.ts +2 -1
- package/dist/types/overseer.dto.d.ts.map +1 -1
- package/dist/types/platform-stats.dto.d.ts +3 -3
- package/dist/types/realtime-events.dto.d.ts +340 -0
- package/dist/types/realtime-events.dto.d.ts.map +1 -0
- package/dist/types/restricted-names.dto.d.ts +2 -2
- package/dist/types/restricted-names.dto.d.ts.map +1 -1
- package/dist/types/stream-chat.dto.d.ts +15 -14
- package/dist/types/stream-chat.dto.d.ts.map +1 -1
- package/dist/types/streaming.dto.d.ts +73 -104
- package/dist/types/streaming.dto.d.ts.map +1 -1
- package/dist/types/token-ban.dto.d.ts.map +1 -1
- package/dist/types/token-config.dto.d.ts +34 -19
- package/dist/types/token-config.dto.d.ts.map +1 -1
- package/dist/types/trades-query.dto.d.ts +8 -24
- package/dist/types/trades-query.dto.d.ts.map +1 -1
- package/dist/types/user.dto.d.ts +133 -112
- package/dist/types/user.dto.d.ts.map +1 -1
- package/dist/types/websocket-events.dto.d.ts +5 -5
- package/dist/types/websocket-events.dto.d.ts.map +1 -1
- package/dist/utils/address-formatter.d.ts +25 -2
- package/dist/utils/address-formatter.d.ts.map +1 -1
- package/dist/utils/agent-config.d.ts +9 -4
- package/dist/utils/agent-config.d.ts.map +1 -1
- package/dist/utils/auto-pagination.d.ts +7 -240
- package/dist/utils/auto-pagination.d.ts.map +1 -1
- package/dist/utils/bignumber-helpers.d.ts +3 -2
- package/dist/utils/bignumber-helpers.d.ts.map +1 -1
- package/dist/utils/delimiter-parser.d.ts +0 -13
- package/dist/utils/delimiter-parser.d.ts.map +1 -1
- package/dist/utils/error-factories.d.ts +4 -3
- package/dist/utils/error-factories.d.ts.map +1 -1
- package/dist/utils/error-patterns.d.ts +0 -47
- package/dist/utils/error-patterns.d.ts.map +1 -1
- package/dist/utils/error-wrapper.d.ts +5 -5
- package/dist/utils/errors.d.ts +53 -318
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/http.d.ts +36 -3
- package/dist/utils/http.d.ts.map +1 -1
- package/dist/utils/message-validators.d.ts.map +1 -1
- package/dist/utils/pagination-helpers.d.ts +17 -0
- package/dist/utils/pagination-helpers.d.ts.map +1 -1
- package/dist/utils/pagination-validation.d.ts +2 -2
- package/dist/utils/response-handlers.d.ts.map +1 -1
- package/dist/utils/service-validators.d.ts +6 -6
- package/dist/utils/service-validators.d.ts.map +1 -1
- package/dist/utils/token-format-converter.d.ts +1 -1
- package/dist/utils/token-parser.d.ts +6 -127
- package/dist/utils/token-parser.d.ts.map +1 -1
- package/dist/utils/token-stringification.d.ts +7 -7
- package/dist/utils/token-stringification.d.ts.map +1 -1
- package/dist/utils/tokenNameNormalizer.d.ts +2 -2
- package/dist/utils/tokenNormalizer.d.ts +5 -29
- package/dist/utils/tokenNormalizer.d.ts.map +1 -1
- package/dist/utils/unique-key-generator.d.ts +7 -134
- package/dist/utils/unique-key-generator.d.ts.map +1 -1
- package/dist/utils/validation-helpers.d.ts +21 -64
- package/dist/utils/validation-helpers.d.ts.map +1 -1
- package/dist/utils/validation.d.ts +4 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/package.json +47 -87
- package/dist/api/dto/BurnTokensDto.d.ts +0 -77
- package/dist/api/dto/BurnTokensDto.d.ts.map +0 -1
- package/dist/api/dto/LockTokenDto.d.ts +0 -85
- package/dist/api/dto/LockTokenDto.d.ts.map +0 -1
- package/dist/api/dto/TransferTokenDto.d.ts +0 -64
- package/dist/api/dto/TransferTokenDto.d.ts.map +0 -1
- package/dist/api/dto/UnlockTokenDto.d.ts +0 -74
- package/dist/api/dto/UnlockTokenDto.d.ts.map +0 -1
- package/dist/bridge/BridgeService.d.ts +0 -484
- package/dist/bridge/BridgeService.d.ts.map +0 -1
- package/dist/bridge/GalaConnectClient.d.ts +0 -170
- package/dist/bridge/GalaConnectClient.d.ts.map +0 -1
- package/dist/bridge/constants/index.d.ts +0 -7
- package/dist/bridge/constants/index.d.ts.map +0 -1
- package/dist/bridge/constants/tokens.d.ts +0 -212
- package/dist/bridge/constants/tokens.d.ts.map +0 -1
- package/dist/bridge/index.d.ts +0 -24
- package/dist/bridge/index.d.ts.map +0 -1
- package/dist/bridge/public-types.d.ts +0 -2
- package/dist/bridge/public-types.d.ts.map +0 -1
- package/dist/bridge/strategies/BridgeStrategy.d.ts +0 -204
- package/dist/bridge/strategies/BridgeStrategy.d.ts.map +0 -1
- package/dist/bridge/strategies/EthereumBridgeStrategy.d.ts +0 -178
- package/dist/bridge/strategies/EthereumBridgeStrategy.d.ts.map +0 -1
- package/dist/bridge/strategies/SolanaBridgeStrategy.d.ts +0 -236
- package/dist/bridge/strategies/SolanaBridgeStrategy.d.ts.map +0 -1
- package/dist/bridge/types/bridge.dto.d.ts +0 -772
- package/dist/bridge/types/bridge.dto.d.ts.map +0 -1
- package/dist/bridge/types/bridgeable-token.dto.d.ts +0 -209
- package/dist/bridge/types/bridgeable-token.dto.d.ts.map +0 -1
- package/dist/bridge/types/eip712.d.ts +0 -66
- package/dist/bridge/types/eip712.d.ts.map +0 -1
- package/dist/bridge/types/index.d.ts +0 -8
- package/dist/bridge/types/index.d.ts.map +0 -1
- package/dist/bridge/utils/RateLimiter.d.ts +0 -34
- package/dist/bridge/utils/RateLimiter.d.ts.map +0 -1
- package/dist/bridge/utils/address-formatter.d.ts +0 -25
- package/dist/bridge/utils/address-formatter.d.ts.map +0 -1
- package/dist/bridge/utils/addressValidation.d.ts +0 -200
- package/dist/bridge/utils/addressValidation.d.ts.map +0 -1
- package/dist/bridge/utils/balanceHelpers.d.ts +0 -215
- package/dist/bridge/utils/balanceHelpers.d.ts.map +0 -1
- package/dist/bridge/utils/bridgeErrors.d.ts +0 -98
- package/dist/bridge/utils/bridgeErrors.d.ts.map +0 -1
- package/dist/bridge/utils/bridgeOutHelpers.d.ts +0 -68
- package/dist/bridge/utils/bridgeOutHelpers.d.ts.map +0 -1
- package/dist/bridge/utils/bridgePayload.d.ts +0 -98
- package/dist/bridge/utils/bridgePayload.d.ts.map +0 -1
- package/dist/bridge/utils/bridgeStatusParser.d.ts +0 -76
- package/dist/bridge/utils/bridgeStatusParser.d.ts.map +0 -1
- package/dist/bridge/utils/eip712Helpers.d.ts +0 -66
- package/dist/bridge/utils/eip712Helpers.d.ts.map +0 -1
- package/dist/bridge/utils/index.d.ts +0 -19
- package/dist/bridge/utils/index.d.ts.map +0 -1
- package/dist/bridge/utils/retry.d.ts +0 -112
- package/dist/bridge/utils/retry.d.ts.map +0 -1
- package/dist/bridge/utils/strategyDelegation.d.ts +0 -126
- package/dist/bridge/utils/strategyDelegation.d.ts.map +0 -1
- package/dist/bridge/utils/tokenIdUtils.d.ts +0 -86
- package/dist/bridge/utils/tokenIdUtils.d.ts.map +0 -1
- package/dist/bridge/utils/tokenMath.d.ts +0 -39
- package/dist/bridge/utils/tokenMath.d.ts.map +0 -1
- package/dist/bridge/utils/tokenMetadataResolver.d.ts +0 -97
- package/dist/bridge/utils/tokenMetadataResolver.d.ts.map +0 -1
- package/dist/helpers/wallet.d.ts +0 -151
- package/dist/helpers/wallet.d.ts.map +0 -1
- package/dist/react/WalletContext.d.ts +0 -60
- package/dist/react/WalletContext.d.ts.map +0 -1
- package/dist/react/index.d.ts +0 -65
- package/dist/react/index.d.ts.map +0 -1
- package/dist/react/types.d.ts +0 -76
- package/dist/react/types.d.ts.map +0 -1
- package/dist/react/useWallet.d.ts +0 -123
- package/dist/react/useWallet.d.ts.map +0 -1
- package/dist/react/useWalletConnection.d.ts +0 -89
- package/dist/react/useWalletConnection.d.ts.map +0 -1
- package/dist/react/useWalletDetection.d.ts +0 -81
- package/dist/react/useWalletDetection.d.ts.map +0 -1
- package/dist/react.cjs +0 -1
- package/dist/react.esm.js +0 -1
- package/dist/services/AbstractTokenFetchService.d.ts +0 -150
- package/dist/services/AbstractTokenFetchService.d.ts.map +0 -1
- package/dist/services/BatchedCacheService.d.ts +0 -133
- package/dist/services/BatchedCacheService.d.ts.map +0 -1
- package/dist/services/BridgeableTokenCache.d.ts +0 -120
- package/dist/services/BridgeableTokenCache.d.ts.map +0 -1
- package/dist/services/BridgeableTokenService.d.ts +0 -218
- package/dist/services/BridgeableTokenService.d.ts.map +0 -1
- package/dist/services/DexService.d.ts +0 -440
- package/dist/services/DexService.d.ts.map +0 -1
- package/dist/services/NetworkKeyedCacheService.d.ts +0 -185
- package/dist/services/NetworkKeyedCacheService.d.ts.map +0 -1
- package/dist/services/PriceHistoryService.d.ts +0 -209
- package/dist/services/PriceHistoryService.d.ts.map +0 -1
- package/dist/services/StreamingEventService.d.ts +0 -441
- package/dist/services/StreamingEventService.d.ts.map +0 -1
- package/dist/services/WrapService.d.ts +0 -171
- package/dist/services/WrapService.d.ts.map +0 -1
- package/dist/services/WrappableTokenCache.d.ts +0 -100
- package/dist/services/WrappableTokenCache.d.ts.map +0 -1
- package/dist/services/WrappableTokenService.d.ts +0 -130
- package/dist/services/WrappableTokenService.d.ts.map +0 -1
- package/dist/setup.d.ts +0 -8
- package/dist/setup.d.ts.map +0 -1
- package/dist/tokens/transfers.d.ts +0 -95
- package/dist/tokens/transfers.d.ts.map +0 -1
- package/dist/types/comment.dto.d.ts +0 -176
- package/dist/types/comment.dto.d.ts.map +0 -1
- package/dist/types/galachain-api.types.d.ts +0 -297
- package/dist/types/galachain-api.types.d.ts.map +0 -1
- package/dist/types/priceHistory.dto.d.ts +0 -134
- package/dist/types/priceHistory.dto.d.ts.map +0 -1
- package/dist/types/streaming-events.dto.d.ts +0 -605
- package/dist/types/streaming-events.dto.d.ts.map +0 -1
- package/dist/types/token.types.d.ts +0 -359
- package/dist/types/token.types.d.ts.map +0 -1
- package/dist/types/wrappable-token.dto.d.ts +0 -305
- package/dist/types/wrappable-token.dto.d.ts.map +0 -1
- package/dist/utils/crypto-compat.d.ts +0 -40
- package/dist/utils/crypto-compat.d.ts.map +0 -1
- package/dist/utils/load-env.d.ts +0 -31
- package/dist/utils/load-env.d.ts.map +0 -1
- package/dist/utils/token-instance-key.d.ts +0 -57
- package/dist/utils/token-instance-key.d.ts.map +0 -1
- package/dist/utils/wallet.d.ts +0 -166
- package/dist/utils/wallet.d.ts.map +0 -1
- package/dist/wallet/ExternalWalletProvider.d.ts +0 -90
- package/dist/wallet/ExternalWalletProvider.d.ts.map +0 -1
- package/dist/wallet/GalaWalletProvider.d.ts +0 -122
- package/dist/wallet/GalaWalletProvider.d.ts.map +0 -1
- package/dist/wallet/PrivateKeyProvider.d.ts +0 -90
- package/dist/wallet/PrivateKeyProvider.d.ts.map +0 -1
- package/dist/wallet/detection.d.ts +0 -107
- package/dist/wallet/detection.d.ts.map +0 -1
- package/dist/wallet/event-handlers.d.ts +0 -50
- package/dist/wallet/event-handlers.d.ts.map +0 -1
- package/dist/wallet/index.d.ts +0 -51
- package/dist/wallet/index.d.ts.map +0 -1
- package/dist/wallet/signing-operation.d.ts +0 -19
- package/dist/wallet/signing-operation.d.ts.map +0 -1
- package/dist/wallet/typed-data-helpers.d.ts +0 -68
- package/dist/wallet/typed-data-helpers.d.ts.map +0 -1
- package/dist/wallet/types.d.ts +0 -267
- package/dist/wallet/types.d.ts.map +0 -1
- package/dist/wallet/utils.d.ts +0 -117
- package/dist/wallet/utils.d.ts.map +0 -1
- package/dist/wallet.cjs +0 -1
- package/dist/wallet.esm.js +0 -1
|
@@ -1,359 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* # Token Identification in Launchpad SDK
|
|
3
|
-
*
|
|
4
|
-
* The SDK uses **TWO distinct token identifier formats** depending on the operation type.
|
|
5
|
-
* Using the wrong format will result in runtime errors.
|
|
6
|
-
*
|
|
7
|
-
* ## Format 1: Token Name (Launchpad/Bonding Curve Tokens)
|
|
8
|
-
*
|
|
9
|
-
* - **Format**: Simple lowercase string, 3-20 alphanumeric characters
|
|
10
|
-
* - **Examples**: `"anime"`, `"demonkpop"`, `"shoewars"`, `"qatoken"`
|
|
11
|
-
* - **Parameter name**: Usually `tokenName`
|
|
12
|
-
* - **Used for**: Bonding curve operations (before graduation)
|
|
13
|
-
*
|
|
14
|
-
* ```typescript
|
|
15
|
-
* // Correct - Bonding curve buy
|
|
16
|
-
* await sdk.buy({ tokenName: 'anime', amount: '100', type: 'native' });
|
|
17
|
-
*
|
|
18
|
-
* // Correct - Bonding curve sell
|
|
19
|
-
* await sdk.sell({ tokenName: 'anime', amount: '50', type: 'tokens' });
|
|
20
|
-
*
|
|
21
|
-
* // Correct - Check graduation status
|
|
22
|
-
* const pool = await sdk.fetchPools({ tokenName: 'anime' });
|
|
23
|
-
* ```
|
|
24
|
-
*
|
|
25
|
-
* ## Format 2: TokenClassKey (GalaChain/DEX Tokens)
|
|
26
|
-
*
|
|
27
|
-
* - **Format**: Pipe-delimited string with 4 components: `collection|category|type|additionalKey`
|
|
28
|
-
* - **Examples**: `"GALA|Unit|none|none"`, `"GUSDC|Unit|none|eth:0xa0b..."`, `"Token|Unit|ANIME|client:gala-launchpad"`
|
|
29
|
-
* - **Parameter name**: Usually `tokenId`, `fromToken`, `toToken`, or `tokenClassKey`
|
|
30
|
-
* - **Used for**: DEX swaps, LP operations, transfers of standard GalaChain tokens
|
|
31
|
-
*
|
|
32
|
-
* `sdk.dex.*` (the `GSwap` client) accepts either a registered trading symbol (e.g. `"GALA"`)
|
|
33
|
-
* or a full TokenClassKey for `token0`/`token1`/`tokenIn`/`tokenOut` — it resolves a bare
|
|
34
|
-
* symbol against the DEX symbol registry internally, so both forms below work.
|
|
35
|
-
*
|
|
36
|
-
* ```typescript
|
|
37
|
-
* // Correct - DEX swap (requires full tokenClassKey format)
|
|
38
|
-
* const quote = await sdk.dex.quoting.quoteExactInput('GALA|Unit|none|none', 'GUSDC|Unit|none|eth:0xa0b...', '100');
|
|
39
|
-
* const submitted = await sdk.dex.swaps.swap('GALA|Unit|none|none', 'GUSDC|Unit|none|eth:0xa0b...', quote.feeTier, {
|
|
40
|
-
* exactIn: '100',
|
|
41
|
-
* amountOutMinimum: quote.amountOut,
|
|
42
|
-
* });
|
|
43
|
-
* const applied = await submitted.confirm();
|
|
44
|
-
*
|
|
45
|
-
* // Correct - Add liquidity to DEX pool
|
|
46
|
-
* await sdk.dex.positions.addLiquidityByPrice({
|
|
47
|
-
* token0: 'GALA|Unit|none|none',
|
|
48
|
-
* token1: 'GUSDC|Unit|none|eth:0xa0b...',
|
|
49
|
-
* fee: 3000,
|
|
50
|
-
* minPrice: '0.01',
|
|
51
|
-
* maxPrice: '0.05',
|
|
52
|
-
* amount: '1000',
|
|
53
|
-
* amountIsToken0: true,
|
|
54
|
-
* });
|
|
55
|
-
* ```
|
|
56
|
-
*
|
|
57
|
-
* ## Method-to-Format Quick Reference
|
|
58
|
-
*
|
|
59
|
-
* | Method | tokenName | tokenClassKey | Notes |
|
|
60
|
-
* |-------------------------------|:---------:|:-------------:|-------|
|
|
61
|
-
* | `buy()` | ✅ | ❌ | Bonding curve only, use simple name |
|
|
62
|
-
* | `sell()` | ✅ | ❌ | Bonding curve only, use simple name |
|
|
63
|
-
* | `graduateToken()` | ✅ | ❌ | Triggers DEX migration |
|
|
64
|
-
* | `calculateBuyAmount()` | ✅ | ❌ | Pre-trade calculation |
|
|
65
|
-
* | `calculateSellAmount()` | ✅ | ❌ | Pre-trade calculation |
|
|
66
|
-
* | `fetchPools()` | ✅ | ❌ | Query bonding curve pools |
|
|
67
|
-
* | `fetchTokenPrice()` | ✅ | ✅ | Smart router auto-detects format |
|
|
68
|
-
* | `dex.swaps.swap()` | ❌ | ✅ | DEX only, requires full format |
|
|
69
|
-
* | `dex.quoting.quoteExactInput()` | ❌ | ✅ | DEX quotes require full format |
|
|
70
|
-
* | `dex.quoting.quoteExactOutput()` | ❌ | ✅ | DEX quotes require full format |
|
|
71
|
-
* | `dex.positions.addLiquidityByPrice()` | ❌ | ✅ | LP operations use full format |
|
|
72
|
-
* | `dex.positions.removeLiquidity()` | ❌ | ✅ | LP operations use full format |
|
|
73
|
-
* | `transferToken()` | ✅ | ✅ | Both work (different code paths) |
|
|
74
|
-
* | `transferGala()` | N/A | N/A | GALA amount only, no token param |
|
|
75
|
-
* | `lockTokens()` | ✅ | ✅ | Both work |
|
|
76
|
-
* | `unlockTokens()` | ✅ | ✅ | Both work |
|
|
77
|
-
* | `fetchTokenBalance()` | ✅ | ✅ | Both work |
|
|
78
|
-
* | `isTokenGraduated()` | ✅ | ❌ | Checks bonding curve status |
|
|
79
|
-
*
|
|
80
|
-
* ## Common Mistakes and How to Fix Them
|
|
81
|
-
*
|
|
82
|
-
* ### Mistake 1: Using a tokenName on a DEX method before the token has graduated
|
|
83
|
-
*
|
|
84
|
-
* ```typescript
|
|
85
|
-
* // ❌ WRONG - 'anime' is the Launchpad tokenName; the DEX symbol registry won't
|
|
86
|
-
* // resolve it until the token graduates and registers its GalaChainDex symbol.
|
|
87
|
-
* await sdk.dex.swaps.swap('anime', 'GALA', 3000, { exactIn: '100', amountOutMinimum: '0.05' });
|
|
88
|
-
*
|
|
89
|
-
* // ✅ CORRECT - a registered trading symbol or full tokenClassKey both work
|
|
90
|
-
* await sdk.dex.swaps.swap('GALA', 'GUSDC', 3000, { exactIn: '100', amountOutMinimum: '0.05' });
|
|
91
|
-
* await sdk.dex.swaps.swap('GALA|Unit|none|none', 'GUSDC|Unit|none|eth:0xa0b...', 3000, { exactIn: '100', amountOutMinimum: '0.05' });
|
|
92
|
-
* ```
|
|
93
|
-
*
|
|
94
|
-
* ### Mistake 2: Using tokenClassKey for bonding curve operations
|
|
95
|
-
*
|
|
96
|
-
* ```typescript
|
|
97
|
-
* // ❌ WRONG - Bonding curve doesn't understand tokenClassKey
|
|
98
|
-
* await sdk.buy({ tokenName: 'ANIME|Unit|none|client:gala-launchpad', amount: '100' });
|
|
99
|
-
*
|
|
100
|
-
* // ✅ CORRECT - Use simple tokenName
|
|
101
|
-
* await sdk.buy({ tokenName: 'anime', amount: '100', type: 'native' });
|
|
102
|
-
* ```
|
|
103
|
-
*
|
|
104
|
-
* ### Mistake 3: Not checking graduation status
|
|
105
|
-
*
|
|
106
|
-
* ```typescript
|
|
107
|
-
* // Check if token has graduated before choosing operation
|
|
108
|
-
* const pool = await sdk.fetchPools({ tokenName: 'anime' });
|
|
109
|
-
* const isGraduated = pool.items[0]?.isGraduated ?? false;
|
|
110
|
-
*
|
|
111
|
-
* if (isGraduated) {
|
|
112
|
-
* // Token is on DEX - use the tokenClassKey (or its registered symbol)
|
|
113
|
-
* const tokenClassKey = pool.items[0]?.tokenClassKey;
|
|
114
|
-
* const submitted = await sdk.dex.swaps.swap(tokenClassKey, 'GALA|Unit|none|none', feeTier, {
|
|
115
|
-
* exactIn: '100',
|
|
116
|
-
* amountOutMinimum: output,
|
|
117
|
-
* });
|
|
118
|
-
* await submitted.confirm();
|
|
119
|
-
* } else {
|
|
120
|
-
* // Token is on bonding curve - use tokenName
|
|
121
|
-
* await sdk.sell({ tokenName: 'anime', amount: '100', type: 'tokens' });
|
|
122
|
-
* }
|
|
123
|
-
* ```
|
|
124
|
-
*
|
|
125
|
-
* ## Token Lifecycle: Bonding Curve → Graduation → DEX
|
|
126
|
-
*
|
|
127
|
-
* 1. **Pre-Graduation (Bonding Curve)**:
|
|
128
|
-
* - Token trades on bonding curve
|
|
129
|
-
* - Use `tokenName` for all operations: `buy()`, `sell()`, `calculateBuyAmount()`, etc.
|
|
130
|
-
* - DEX methods will fail
|
|
131
|
-
*
|
|
132
|
-
* 2. **Graduation Event**:
|
|
133
|
-
* - Call `graduateToken({ tokenName: 'anime' })` to migrate liquidity to DEX
|
|
134
|
-
* - One-time irreversible operation
|
|
135
|
-
*
|
|
136
|
-
* 3. **Post-Graduation (DEX)**:
|
|
137
|
-
* - Token now trades on GalaSwap DEX
|
|
138
|
-
* - Pool has `tokenClassKey` field with full format
|
|
139
|
-
* - DEX methods become available: `dex.swaps.swap()`, `dex.quoting.quoteExact*()`, LP methods
|
|
140
|
-
* - Bonding curve methods (`buy()`, `sell()`) route internally to DEX
|
|
141
|
-
*
|
|
142
|
-
* ## How to Get TokenClassKey for a Token
|
|
143
|
-
*
|
|
144
|
-
* **⚠️ IMPORTANT: You cannot construct a tokenClassKey from a tokenName!**
|
|
145
|
-
*
|
|
146
|
-
* The `type` component in a tokenClassKey is the token's **symbol** (set at creation time),
|
|
147
|
-
* which may differ from the tokenName. For example, a token with `tokenName: "anime"` might
|
|
148
|
-
* have symbol `"ANI"`, `"ANIME"`, or something else entirely.
|
|
149
|
-
*
|
|
150
|
-
* **Always query for the tokenClassKey - never try to construct it manually.**
|
|
151
|
-
*
|
|
152
|
-
* ```typescript
|
|
153
|
-
* // Method 1: From pool data (post-graduation) - RECOMMENDED
|
|
154
|
-
* const pool = await sdk.fetchPools({ tokenName: 'anime' });
|
|
155
|
-
* const tokenClassKey = pool.items[0]?.tokenClassKey;
|
|
156
|
-
* // → Returns the actual tokenClassKey (symbol may differ from tokenName!)
|
|
157
|
-
*
|
|
158
|
-
* // Method 2: Resolve from token name
|
|
159
|
-
* const resolved = await sdk.resolveTokenClassKey('anime');
|
|
160
|
-
* // → Queries backend for the correct tokenClassKey
|
|
161
|
-
*
|
|
162
|
-
* // Method 3: Known standard tokens (these are fixed/well-known)
|
|
163
|
-
* const GALA = 'GALA|Unit|none|none';
|
|
164
|
-
* const GUSDC = 'GUSDC|Unit|none|eth:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48';
|
|
165
|
-
* ```
|
|
166
|
-
*
|
|
167
|
-
* ## TokenClassKey Components Explained
|
|
168
|
-
*
|
|
169
|
-
* Format: `collection|category|type|additionalKey`
|
|
170
|
-
*
|
|
171
|
-
* | Component | Description | Examples |
|
|
172
|
-
* |----------------|------------------------------------|----------|
|
|
173
|
-
* | `collection` | Token collection/contract | `GALA`, `GUSDC`, `Token` |
|
|
174
|
-
* | `category` | Token category | `Unit` (fungible), `NFT` |
|
|
175
|
-
* | `type` | Token **symbol** (set at creation) | `none`, token symbol |
|
|
176
|
-
* | `additionalKey`| Chain-specific or client identifier| `none`, `eth:0x...`, `client:gala-launchpad` |
|
|
177
|
-
*
|
|
178
|
-
* **Note:** For Launchpad tokens, the `type` component is the token's **symbol**, NOT the
|
|
179
|
-
* tokenName. The symbol is chosen by the creator and may differ from the tokenName.
|
|
180
|
-
*
|
|
181
|
-
* ### Common TokenClassKey Patterns
|
|
182
|
-
*
|
|
183
|
-
* ```typescript
|
|
184
|
-
* // Native GALA token
|
|
185
|
-
* 'GALA|Unit|none|none'
|
|
186
|
-
*
|
|
187
|
-
* // Bridged stablecoin (Ethereum USDC)
|
|
188
|
-
* 'GUSDC|Unit|none|eth:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
|
|
189
|
-
*
|
|
190
|
-
* // Launchpad graduated token (symbol may differ from tokenName!)
|
|
191
|
-
* // tokenName: 'anime' → symbol could be 'ANI', 'ANIME', etc.
|
|
192
|
-
* 'Token|Unit|{SYMBOL}|client:gala-launchpad'
|
|
193
|
-
*
|
|
194
|
-
* // Gaming item (NFT)
|
|
195
|
-
* 'SpiderTanks|NFT|Tank|season1'
|
|
196
|
-
* ```
|
|
197
|
-
*
|
|
198
|
-
* @packageDocumentation
|
|
199
|
-
* @module TokenIdentification
|
|
200
|
-
* @category Core Concepts
|
|
201
|
-
* @since 5.0.0
|
|
202
|
-
*/
|
|
203
|
-
/**
|
|
204
|
-
* Simple token name for Launchpad bonding curve operations.
|
|
205
|
-
*
|
|
206
|
-
* - 3-20 lowercase alphanumeric characters
|
|
207
|
-
* - Used for: `buy()`, `sell()`, `graduateToken()`, `fetchPools()`
|
|
208
|
-
* - NOT valid for DEX operations
|
|
209
|
-
*
|
|
210
|
-
* @example
|
|
211
|
-
* ```typescript
|
|
212
|
-
* const tokenName: TokenName = 'anime';
|
|
213
|
-
* await sdk.buy({ tokenName, amount: '100', type: 'native' });
|
|
214
|
-
* ```
|
|
215
|
-
*/
|
|
216
|
-
export type TokenName = string;
|
|
217
|
-
/**
|
|
218
|
-
* Full pipe-delimited token identifier for GalaChain/DEX operations.
|
|
219
|
-
*
|
|
220
|
-
* Format: `collection|category|type|additionalKey`
|
|
221
|
-
*
|
|
222
|
-
* - Required for: `dex.swaps.swap()`, `dex.quoting.quoteExact*()`, LP operations (a registered
|
|
223
|
-
* trading symbol like `'GALA'` also works for these — see `sdk.dex.*` above)
|
|
224
|
-
* - Also works for: `transferToken()`, `lockTokens()`, `fetchTokenBalance()`
|
|
225
|
-
*
|
|
226
|
-
* @example
|
|
227
|
-
* ```typescript
|
|
228
|
-
* const gala: TokenClassKeyString = 'GALA|Unit|none|none';
|
|
229
|
-
* const gusdc: TokenClassKeyString = 'GUSDC|Unit|none|eth:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48';
|
|
230
|
-
*
|
|
231
|
-
* const submitted = await sdk.dex.swaps.swap(gala, gusdc, feeTier, {
|
|
232
|
-
* exactIn: '100',
|
|
233
|
-
* amountOutMinimum: estimatedOutput,
|
|
234
|
-
* });
|
|
235
|
-
* await submitted.confirm();
|
|
236
|
-
* ```
|
|
237
|
-
*/
|
|
238
|
-
export type TokenClassKeyString = `${string}|${string}|${string}|${string}`;
|
|
239
|
-
/**
|
|
240
|
-
* Structured TokenClassKey object with named components.
|
|
241
|
-
*
|
|
242
|
-
* This interface represents the parsed form of a TokenClassKeyString.
|
|
243
|
-
* Most SDK methods accept either the string or object form.
|
|
244
|
-
*
|
|
245
|
-
* @example
|
|
246
|
-
* ```typescript
|
|
247
|
-
* const galaKey: TokenClassKeyObject = {
|
|
248
|
-
* collection: 'GALA',
|
|
249
|
-
* category: 'Unit',
|
|
250
|
-
* type: 'none',
|
|
251
|
-
* additionalKey: 'none'
|
|
252
|
-
* };
|
|
253
|
-
* ```
|
|
254
|
-
*/
|
|
255
|
-
export interface TokenClassKeyObject {
|
|
256
|
-
/** Token collection/contract name (e.g., "GALA", "GUSDC", "Token") */
|
|
257
|
-
collection: string;
|
|
258
|
-
/** Token category (e.g., "Unit" for fungible, "NFT" for non-fungible) */
|
|
259
|
-
category: string;
|
|
260
|
-
/** Token type within the collection (e.g., "none", "ANIME", item type) */
|
|
261
|
-
type: string;
|
|
262
|
-
/** Additional identifier (e.g., "none", "eth:0x...", "client:gala-launchpad") */
|
|
263
|
-
additionalKey: string;
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* Token format that works for methods accepting both formats.
|
|
267
|
-
*
|
|
268
|
-
* Some SDK methods like `transferToken()`, `lockTokens()`, and `fetchTokenBalance()`
|
|
269
|
-
* accept either format and will route appropriately.
|
|
270
|
-
*/
|
|
271
|
-
export type FlexibleTokenId = TokenName;
|
|
272
|
-
/**
|
|
273
|
-
* Utility type guard to check if a string is a valid TokenClassKey format.
|
|
274
|
-
*
|
|
275
|
-
* @param value - String to check
|
|
276
|
-
* @returns true if the string contains 3 pipe delimiters (valid TokenClassKey format)
|
|
277
|
-
*
|
|
278
|
-
* @example
|
|
279
|
-
* ```typescript
|
|
280
|
-
* if (isTokenClassKey(tokenId)) {
|
|
281
|
-
* // Safe to use with DEX methods
|
|
282
|
-
* const submitted = await sdk.dex.swaps.swap(tokenId, otherToken, fee, {
|
|
283
|
-
* exactIn: amount,
|
|
284
|
-
* amountOutMinimum: output,
|
|
285
|
-
* });
|
|
286
|
-
* await submitted.confirm();
|
|
287
|
-
* } else {
|
|
288
|
-
* // Treat as tokenName for bonding curve
|
|
289
|
-
* await sdk.buy({ tokenName: tokenId, amount, type: 'native' });
|
|
290
|
-
* }
|
|
291
|
-
* ```
|
|
292
|
-
*/
|
|
293
|
-
export declare function isTokenClassKey(value: string): value is TokenClassKeyString;
|
|
294
|
-
/**
|
|
295
|
-
* Utility type guard to check if a string is a simple token name (not TokenClassKey).
|
|
296
|
-
*
|
|
297
|
-
* @param value - String to check
|
|
298
|
-
* @returns true if the string does not contain pipe delimiters
|
|
299
|
-
*
|
|
300
|
-
* @example
|
|
301
|
-
* ```typescript
|
|
302
|
-
* if (isTokenName(userInput)) {
|
|
303
|
-
* // Simple token name - use for bonding curve
|
|
304
|
-
* await sdk.fetchPools({ tokenName: userInput });
|
|
305
|
-
* }
|
|
306
|
-
* ```
|
|
307
|
-
*/
|
|
308
|
-
export declare function isTokenName(value: string): value is TokenName;
|
|
309
|
-
/**
|
|
310
|
-
* Well-known token identifiers for common tokens.
|
|
311
|
-
*
|
|
312
|
-
* These constants prevent typos and provide type safety for frequently used tokens.
|
|
313
|
-
*
|
|
314
|
-
* @example
|
|
315
|
-
* ```typescript
|
|
316
|
-
* import { WELL_KNOWN_TOKENS } from '@gala-chain/launchpad-sdk';
|
|
317
|
-
*
|
|
318
|
-
* const submitted = await sdk.dex.swaps.swap(
|
|
319
|
-
* WELL_KNOWN_TOKENS.GALA,
|
|
320
|
-
* WELL_KNOWN_TOKENS.GUSDC,
|
|
321
|
-
* 3000,
|
|
322
|
-
* { exactIn: '1000', amountOutMinimum: estimatedOutput },
|
|
323
|
-
* );
|
|
324
|
-
* await submitted.confirm();
|
|
325
|
-
* ```
|
|
326
|
-
*/
|
|
327
|
-
export declare const WELL_KNOWN_TOKENS: {
|
|
328
|
-
/** Native GALA token */
|
|
329
|
-
readonly GALA: TokenClassKeyString;
|
|
330
|
-
/** Bridged USDC (from Ethereum) */
|
|
331
|
-
readonly GUSDC: TokenClassKeyString;
|
|
332
|
-
/** Wrapped ETH */
|
|
333
|
-
readonly WETH: TokenClassKeyString;
|
|
334
|
-
/** Bridged SOL (from Solana) */
|
|
335
|
-
readonly GSOL: TokenClassKeyString;
|
|
336
|
-
};
|
|
337
|
-
/**
|
|
338
|
-
* Token format decision helper.
|
|
339
|
-
*
|
|
340
|
-
* Returns guidance on which token format to use based on the operation type.
|
|
341
|
-
*
|
|
342
|
-
* @param operation - The SDK operation you want to perform
|
|
343
|
-
* @returns Object with format recommendation and examples
|
|
344
|
-
*
|
|
345
|
-
* @example
|
|
346
|
-
* ```typescript
|
|
347
|
-
* const guide = getTokenFormatGuide('buy');
|
|
348
|
-
* // → { format: 'tokenName', example: 'anime', notes: 'Bonding curve operations use simple names' }
|
|
349
|
-
*
|
|
350
|
-
* const dexGuide = getTokenFormatGuide('dex.swaps.swap');
|
|
351
|
-
* // → { format: 'tokenClassKey', example: 'GALA|Unit|none|none', notes: 'DEX operations require full format' }
|
|
352
|
-
* ```
|
|
353
|
-
*/
|
|
354
|
-
export declare function getTokenFormatGuide(operation: string): {
|
|
355
|
-
format: 'tokenName' | 'tokenClassKey' | 'both';
|
|
356
|
-
example: string;
|
|
357
|
-
notes: string;
|
|
358
|
-
};
|
|
359
|
-
//# sourceMappingURL=token.types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token.types.d.ts","sourceRoot":"","sources":["../../src/types/token.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyMG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,mBAAmB,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAE5E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IAEnB,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;IAEjB,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IAEb,iFAAiF;IACjF,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,mBAAmB,CAI3E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CAE7D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB;IAC5B,wBAAwB;mBACO,mBAAmB;IAElD,mCAAmC;oBACwC,mBAAmB;IAE9F,kBAAkB;mBACuD,mBAAmB;IAE5F,gCAAgC;mBAC0C,mBAAmB;CACrF,CAAC;AAEX;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG;IACtD,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAkCA"}
|
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wrappable Token Types
|
|
3
|
-
*
|
|
4
|
-
* Type definitions for dynamically fetched wrappable tokens from DEX API.
|
|
5
|
-
* Wrappable tokens are token pairs where one can be wrapped/unwrapped into
|
|
6
|
-
* the other (e.g., MUSIC ↔ GMUSIC).
|
|
7
|
-
*
|
|
8
|
-
* @category Types
|
|
9
|
-
* @since 4.0.18
|
|
10
|
-
*/
|
|
11
|
-
import type { BaseCacheStats } from '../services/AbstractCacheService.js';
|
|
12
|
-
import type { TokenId } from './common.js';
|
|
13
|
-
/**
|
|
14
|
-
* Current USD price information from API response
|
|
15
|
-
*/
|
|
16
|
-
export interface WrappableTokenPrices {
|
|
17
|
-
/** Current USD price */
|
|
18
|
-
usd?: number;
|
|
19
|
-
/** 24-hour price change percentage */
|
|
20
|
-
usd24hChange?: number;
|
|
21
|
-
/** 24-hour trading volume in USD */
|
|
22
|
-
usd24hVol?: number;
|
|
23
|
-
/** Market cap in USD */
|
|
24
|
-
usdMarketCap?: number;
|
|
25
|
-
/** Timestamp of last price update */
|
|
26
|
-
lastUpdatedAt?: string;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Raw wrappable token response from DEX API /v1/tokens?wrappable=true
|
|
30
|
-
*
|
|
31
|
-
* This is the structure returned directly from the API.
|
|
32
|
-
*/
|
|
33
|
-
export interface WrappableTokenApiResponse {
|
|
34
|
-
/** Token symbol on GalaChain (e.g., "MUSIC", "GMUSIC") */
|
|
35
|
-
symbol: string;
|
|
36
|
-
/** Token display name */
|
|
37
|
-
name: string;
|
|
38
|
-
/** Token decimals */
|
|
39
|
-
decimals: number;
|
|
40
|
-
/** Token description */
|
|
41
|
-
description?: string;
|
|
42
|
-
/** Token image URL */
|
|
43
|
-
image?: string;
|
|
44
|
-
/** Pipe-delimited token class key (e.g., "$MUSIC|Unit|none|none") */
|
|
45
|
-
stringifiedTokenClassKey: string;
|
|
46
|
-
/** Token collection */
|
|
47
|
-
collection: string;
|
|
48
|
-
/** Token category */
|
|
49
|
-
category: string;
|
|
50
|
-
/** Token type */
|
|
51
|
-
type: string;
|
|
52
|
-
/** Additional key */
|
|
53
|
-
additionalKey: string;
|
|
54
|
-
/** Network (always "GC" for GalaChain) */
|
|
55
|
-
network: string;
|
|
56
|
-
/** Whether the token is verified */
|
|
57
|
-
verified: boolean;
|
|
58
|
-
/** Whether the token is swappable on DEX */
|
|
59
|
-
swappable: boolean;
|
|
60
|
-
/** Token channel (e.g., "music", "asset") */
|
|
61
|
-
channel?: string;
|
|
62
|
-
/** Whether the token is trending */
|
|
63
|
-
trending?: boolean;
|
|
64
|
-
/** Bridge destination chain ID (if bridgeable) */
|
|
65
|
-
bridgeDestinationChainId?: number;
|
|
66
|
-
/** Whether bridging is disabled */
|
|
67
|
-
disableBridge?: boolean;
|
|
68
|
-
/** Price symbol for external price sources */
|
|
69
|
-
priceSymbol?: string;
|
|
70
|
-
/** Whether price is known to external sources */
|
|
71
|
-
priceIsKnownToExternalPriceSource?: boolean;
|
|
72
|
-
/** Counterpart token's stringified TokenClassKey (e.g., "$GMUSIC|Unit|none|none") */
|
|
73
|
-
wrap: string;
|
|
74
|
-
/** Current USD prices (optional) */
|
|
75
|
-
currentPrices?: WrappableTokenPrices;
|
|
76
|
-
/** User's balance (only when address param provided) */
|
|
77
|
-
balance?: string;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Paginated response from /v1/tokens?wrappable=true API
|
|
81
|
-
*/
|
|
82
|
-
export interface WrappableTokensApiResponse {
|
|
83
|
-
/** Array of wrappable tokens */
|
|
84
|
-
tokens: WrappableTokenApiResponse[];
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Processed wrappable token for SDK use
|
|
88
|
-
*
|
|
89
|
-
* This is the normalized structure used internally by the SDK.
|
|
90
|
-
*/
|
|
91
|
-
export interface WrappableToken {
|
|
92
|
-
/** Token symbol on GalaChain (e.g., "MUSIC", "GMUSIC") */
|
|
93
|
-
symbol: string;
|
|
94
|
-
/** Token display name */
|
|
95
|
-
name: string;
|
|
96
|
-
/** Token decimals */
|
|
97
|
-
decimals: number;
|
|
98
|
-
/** GalaChain token descriptor */
|
|
99
|
-
galaChainDescriptor: {
|
|
100
|
-
collection: string;
|
|
101
|
-
category: string;
|
|
102
|
-
type: string;
|
|
103
|
-
additionalKey: string;
|
|
104
|
-
};
|
|
105
|
-
/** Pipe-delimited token class key */
|
|
106
|
-
stringifiedTokenClassKey: string;
|
|
107
|
-
/** Counterpart token's stringified TokenClassKey */
|
|
108
|
-
wrapCounterpart: string;
|
|
109
|
-
/** Whether the token is swappable on DEX */
|
|
110
|
-
swappable: boolean;
|
|
111
|
-
/** Whether the token is verified */
|
|
112
|
-
verified: boolean;
|
|
113
|
-
/** Token channel (e.g., "music", "asset") */
|
|
114
|
-
channel?: string;
|
|
115
|
-
/** Whether the token is trending */
|
|
116
|
-
trending?: boolean;
|
|
117
|
-
/** Token image URL */
|
|
118
|
-
image?: string;
|
|
119
|
-
/** Token description */
|
|
120
|
-
description?: string;
|
|
121
|
-
/** Current USD prices */
|
|
122
|
-
currentPrices?: WrappableTokenPrices;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Options for fetching wrappable tokens (metadata only, no balance)
|
|
126
|
-
*/
|
|
127
|
-
export interface FetchWrappableTokensOptions {
|
|
128
|
-
/** Pagination offset (default: 0) */
|
|
129
|
-
offset?: number;
|
|
130
|
-
/** Results per page (max: 1000, default: 1000) */
|
|
131
|
-
limit?: number;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Result of fetching wrappable tokens (metadata only, no balance)
|
|
135
|
-
*/
|
|
136
|
-
export interface FetchWrappableTokensResult {
|
|
137
|
-
/** Array of wrappable tokens */
|
|
138
|
-
tokens: WrappableToken[];
|
|
139
|
-
/** Timestamp when data was fetched */
|
|
140
|
-
fetchedAt: number;
|
|
141
|
-
/** Number of tokens returned */
|
|
142
|
-
tokenCount: number;
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Options for getting a wrappable token by tokenId
|
|
146
|
-
*/
|
|
147
|
-
export interface GetWrappableTokenOptions {
|
|
148
|
-
/**
|
|
149
|
-
* Token identifier in flexible format.
|
|
150
|
-
*
|
|
151
|
-
* Accepts:
|
|
152
|
-
* - Pipe-delimited string: "$MUSIC|Unit|none|none"
|
|
153
|
-
* - TokenClassKey object: { collection: '$MUSIC', category: 'Unit', type: 'none', additionalKey: 'none' }
|
|
154
|
-
*
|
|
155
|
-
* @example "$MUSIC|Unit|none|none"
|
|
156
|
-
* @example { collection: '$MUSIC', category: 'Unit', type: 'none', additionalKey: 'none' }
|
|
157
|
-
*/
|
|
158
|
-
tokenId: TokenId;
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Result of checking if a token is wrappable
|
|
162
|
-
*/
|
|
163
|
-
export interface IsTokenWrappableResult {
|
|
164
|
-
/** Whether the token is wrappable */
|
|
165
|
-
isWrappable: boolean;
|
|
166
|
-
/** The queried token's stringified TokenClassKey */
|
|
167
|
-
tokenId: string;
|
|
168
|
-
/** Counterpart token's stringified TokenClassKey (if wrappable) */
|
|
169
|
-
wrapCounterpart?: string;
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Cache statistics for wrappable tokens
|
|
173
|
-
*
|
|
174
|
-
* Note: Uses `totalItems` from BaseCacheStats for token count.
|
|
175
|
-
* The `tokenCount` alias is provided for convenience.
|
|
176
|
-
*/
|
|
177
|
-
export interface WrappableTokenCacheStats extends BaseCacheStats {
|
|
178
|
-
/** Number of tokens in cache (alias for totalItems) */
|
|
179
|
-
tokenCount: number;
|
|
180
|
-
/** Whether cache is populated */
|
|
181
|
-
isPopulated: boolean;
|
|
182
|
-
/** Timestamp when cache was last updated */
|
|
183
|
-
lastFetchedAt: number | null;
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Options for wrapping a token (e.g., MUSIC → GMUSIC)
|
|
187
|
-
*
|
|
188
|
-
* Wrapping transfers a token from its native channel to the asset channel,
|
|
189
|
-
* converting it to its wrapped counterpart. This is required for tokens
|
|
190
|
-
* like MUSIC to be traded on the DEX.
|
|
191
|
-
*
|
|
192
|
-
* @example
|
|
193
|
-
* ```typescript
|
|
194
|
-
* const result = await sdk.wrapToken({
|
|
195
|
-
* tokenId: 'MUSIC',
|
|
196
|
-
* amount: '100.5',
|
|
197
|
-
* });
|
|
198
|
-
* ```
|
|
199
|
-
*/
|
|
200
|
-
export interface WrapTokenOptions {
|
|
201
|
-
/**
|
|
202
|
-
* Token to wrap (source token on native channel).
|
|
203
|
-
*
|
|
204
|
-
* Accepts:
|
|
205
|
-
* - Symbol: "MUSIC"
|
|
206
|
-
* - Pipe-delimited: "$MUSIC|Unit|none|none"
|
|
207
|
-
* - TokenClassKey object: { collection: '$MUSIC', ... }
|
|
208
|
-
*/
|
|
209
|
-
tokenId: TokenId;
|
|
210
|
-
/** Amount to wrap (decimal string, e.g., "100.5") */
|
|
211
|
-
amount: string;
|
|
212
|
-
/** Optional recipient address (defaults to sender) */
|
|
213
|
-
recipient?: string;
|
|
214
|
-
/** Optional memo for the transaction */
|
|
215
|
-
memo?: string;
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Options for unwrapping a token (e.g., GMUSIC → MUSIC)
|
|
219
|
-
*
|
|
220
|
-
* Unwrapping transfers a token from the asset channel back to its native
|
|
221
|
-
* channel, converting it from the wrapped version to the original.
|
|
222
|
-
*
|
|
223
|
-
* @example
|
|
224
|
-
* ```typescript
|
|
225
|
-
* const result = await sdk.unwrapToken({
|
|
226
|
-
* tokenId: 'GMUSIC',
|
|
227
|
-
* amount: '50',
|
|
228
|
-
* });
|
|
229
|
-
* ```
|
|
230
|
-
*/
|
|
231
|
-
export interface UnwrapTokenOptions {
|
|
232
|
-
/**
|
|
233
|
-
* Token to unwrap (wrapped token on asset channel).
|
|
234
|
-
*
|
|
235
|
-
* Accepts:
|
|
236
|
-
* - Symbol: "GMUSIC"
|
|
237
|
-
* - Pipe-delimited: "$GMUSIC|Unit|none|none"
|
|
238
|
-
* - TokenClassKey object: { collection: '$GMUSIC', ... }
|
|
239
|
-
*/
|
|
240
|
-
tokenId: TokenId;
|
|
241
|
-
/** Amount to unwrap (decimal string, e.g., "50") */
|
|
242
|
-
amount: string;
|
|
243
|
-
/** Optional recipient address (defaults to sender) */
|
|
244
|
-
recipient?: string;
|
|
245
|
-
/** Optional memo for the transaction */
|
|
246
|
-
memo?: string;
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* Result of a wrap or unwrap operation
|
|
250
|
-
*/
|
|
251
|
-
export interface WrapUnwrapResult {
|
|
252
|
-
/** Whether the operation succeeded */
|
|
253
|
-
success: boolean;
|
|
254
|
-
/** Transaction hash/ID for tracking */
|
|
255
|
-
transactionId?: string;
|
|
256
|
-
/** Source token symbol (e.g., "MUSIC" for wrap, "GMUSIC" for unwrap) */
|
|
257
|
-
fromToken: string;
|
|
258
|
-
/** Destination token symbol (e.g., "GMUSIC" for wrap, "MUSIC" for unwrap) */
|
|
259
|
-
toToken: string;
|
|
260
|
-
/** Amount transferred (decimal string) */
|
|
261
|
-
amount: string;
|
|
262
|
-
/** Source channel name (e.g., "music", "asset") */
|
|
263
|
-
fromChannel: string;
|
|
264
|
-
/** Destination channel name (e.g., "asset", "music") */
|
|
265
|
-
toChannel: string;
|
|
266
|
-
/** Fee paid for the operation (if any) */
|
|
267
|
-
fee?: string;
|
|
268
|
-
/** Timestamp when the operation completed (epoch ms) */
|
|
269
|
-
completedAt?: number;
|
|
270
|
-
/** Error message if operation failed */
|
|
271
|
-
error?: string;
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* Fee estimation for wrap/unwrap operations
|
|
275
|
-
*
|
|
276
|
-
* Wrap and unwrap operations may have different fee authorization types:
|
|
277
|
-
* - Wrap (→ asset): Uses `cross_channel_authorization` on source channel
|
|
278
|
-
* - Unwrap (→ native): Uses `automatic` authorization on asset channel
|
|
279
|
-
*/
|
|
280
|
-
export interface WrapUnwrapFeeEstimate {
|
|
281
|
-
/** Estimated fee amount (decimal string) */
|
|
282
|
-
fee: string;
|
|
283
|
-
/** Fee token symbol (usually "GALA") */
|
|
284
|
-
feeToken: string;
|
|
285
|
-
/** Fee authorization type used by the backend */
|
|
286
|
-
authorizationType: 'cross_channel_authorization' | 'automatic';
|
|
287
|
-
/** Channel where the fee is authorized/charged */
|
|
288
|
-
feeChannel: string;
|
|
289
|
-
}
|
|
290
|
-
/**
|
|
291
|
-
* Status of a wrap/unwrap operation
|
|
292
|
-
*/
|
|
293
|
-
export type WrapUnwrapStatus = 'pending' | 'processing' | 'completed' | 'failed';
|
|
294
|
-
/**
|
|
295
|
-
* Extended result with status polling information
|
|
296
|
-
*/
|
|
297
|
-
export interface WrapUnwrapStatusResult extends WrapUnwrapResult {
|
|
298
|
-
/** Current status of the operation */
|
|
299
|
-
status: WrapUnwrapStatus;
|
|
300
|
-
/** Number of confirmations (if applicable) */
|
|
301
|
-
confirmations?: number;
|
|
302
|
-
/** Estimated time remaining in ms (if available) */
|
|
303
|
-
estimatedTimeRemainingMs?: number;
|
|
304
|
-
}
|
|
305
|
-
//# sourceMappingURL=wrappable-token.dto.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wrappable-token.dto.d.ts","sourceRoot":"","sources":["../../src/types/wrappable-token.dto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,wBAAwB,EAAE,MAAM,CAAC;IACjC,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kDAAkD;IAClD,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,mCAAmC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,gCAAgC;IAChC,MAAM,EAAE,yBAAyB,EAAE,CAAC;CACrC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,mBAAmB,EAAE;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,qCAAqC;IACrC,wBAAwB,EAAE,MAAM,CAAC;IACjC,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,gCAAgC;IAChC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;OASG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,WAAW,EAAE,OAAO,CAAC;IACrB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC9D,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAMD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;OAOG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,iBAAiB,EAAE,6BAA6B,GAAG,WAAW,CAAC;IAC/D,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,YAAY,GACZ,WAAW,GACX,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,sCAAsC;IACtC,MAAM,EAAE,gBAAgB,CAAC;IACzB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC"}
|