@gala-chain/launchpad-mcp-server 7.0.0-beta.3 → 7.0.0-beta.5
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/dist/constants/mcpToolNames.d.ts +230 -230
- package/dist/constants/mcpToolNames.d.ts.map +1 -1
- package/dist/constants/mcpToolNames.js +28 -33
- package/dist/constants/mcpToolNames.js.map +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -4
- package/dist/generated/version.js.map +1 -1
- package/dist/index.js +2 -4
- package/dist/index.js.map +1 -1
- package/dist/prompts/account.js +5 -8
- package/dist/prompts/account.js.map +1 -1
- package/dist/prompts/advanced-pools.js +1 -4
- package/dist/prompts/advanced-pools.js.map +1 -1
- package/dist/prompts/ai-moderation.js +12 -15
- package/dist/prompts/ai-moderation.js.map +1 -1
- package/dist/prompts/analysis.js +45 -48
- package/dist/prompts/analysis.js.map +1 -1
- package/dist/prompts/api-keys.js +21 -24
- package/dist/prompts/api-keys.js.map +1 -1
- package/dist/prompts/auth.js +12 -15
- package/dist/prompts/auth.js.map +1 -1
- package/dist/prompts/balances.js +32 -35
- package/dist/prompts/balances.js.map +1 -1
- package/dist/prompts/bans.js +7 -10
- package/dist/prompts/bans.js.map +1 -1
- package/dist/prompts/bridge.js +28 -31
- package/dist/prompts/bridge.js.map +1 -1
- package/dist/prompts/burns.js +6 -9
- package/dist/prompts/burns.js.map +1 -1
- package/dist/prompts/chat-messages.js +6 -9
- package/dist/prompts/chat-messages.js.map +1 -1
- package/dist/prompts/chat.js +31 -35
- package/dist/prompts/chat.js.map +1 -1
- package/dist/prompts/comments.js +10 -13
- package/dist/prompts/comments.js.map +1 -1
- package/dist/prompts/content-flags.js +21 -24
- package/dist/prompts/content-flags.js.map +1 -1
- package/dist/prompts/content-reactions.js +9 -14
- package/dist/prompts/content-reactions.js.map +1 -1
- package/dist/prompts/create-token.js +12 -15
- package/dist/prompts/create-token.js.map +1 -1
- package/dist/prompts/creation-utils.js +18 -21
- package/dist/prompts/creation-utils.js.map +1 -1
- package/dist/prompts/dex-leaderboard.js +26 -29
- package/dist/prompts/dex-leaderboard.js.map +1 -1
- package/dist/prompts/dex-trading.js +18 -21
- package/dist/prompts/dex-trading.js.map +1 -1
- package/dist/prompts/dex-volume.js +9 -12
- package/dist/prompts/dex-volume.js.map +1 -1
- package/dist/prompts/discover-tokens.js +11 -14
- package/dist/prompts/discover-tokens.js.map +1 -1
- package/dist/prompts/event-subscriptions.js +23 -26
- package/dist/prompts/event-subscriptions.js.map +1 -1
- package/dist/prompts/explore-dex-pools.js +9 -12
- package/dist/prompts/explore-dex-pools.js.map +1 -1
- package/dist/prompts/factories/balance-prompt-factory.js +9 -14
- package/dist/prompts/factories/balance-prompt-factory.js.map +1 -1
- package/dist/prompts/factories/ban-management-factory.js +15 -19
- package/dist/prompts/factories/ban-management-factory.js.map +1 -1
- package/dist/prompts/factories/calculation-prompt-factory.js +15 -20
- package/dist/prompts/factories/calculation-prompt-factory.js.map +1 -1
- package/dist/prompts/factories/discovery-prompt-factory.js +12 -18
- package/dist/prompts/factories/discovery-prompt-factory.js.map +1 -1
- package/dist/prompts/factories/event-subscription-factory.js +18 -24
- package/dist/prompts/factories/event-subscription-factory.js.map +1 -1
- package/dist/prompts/factories/filtered-list-prompt-factory.js +15 -19
- package/dist/prompts/factories/filtered-list-prompt-factory.js.map +1 -1
- package/dist/prompts/factories/index.js +11 -58
- package/dist/prompts/factories/index.js.map +1 -1
- package/dist/prompts/factories/invite-management-factory.js +12 -16
- package/dist/prompts/factories/invite-management-factory.js.map +1 -1
- package/dist/prompts/factories/reaction-prompt-factory.d.ts +1 -1
- package/dist/prompts/factories/reaction-prompt-factory.d.ts.map +1 -1
- package/dist/prompts/factories/reaction-prompt-factory.js +11 -17
- package/dist/prompts/factories/reaction-prompt-factory.js.map +1 -1
- package/dist/prompts/factories/simple-operation-factory.js +15 -21
- package/dist/prompts/factories/simple-operation-factory.js.map +1 -1
- package/dist/prompts/global-feed.js +8 -11
- package/dist/prompts/global-feed.js.map +1 -1
- package/dist/prompts/holders.js +12 -15
- package/dist/prompts/holders.js.map +1 -1
- package/dist/prompts/index.js +176 -237
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/liquidity-positions.js +21 -24
- package/dist/prompts/liquidity-positions.js.map +1 -1
- package/dist/prompts/locks.js +14 -17
- package/dist/prompts/locks.js.map +1 -1
- package/dist/prompts/manifest.js +16 -25
- package/dist/prompts/manifest.js.map +1 -1
- package/dist/prompts/messages.js +19 -22
- package/dist/prompts/messages.js.map +1 -1
- package/dist/prompts/moderators.js +6 -9
- package/dist/prompts/moderators.js.map +1 -1
- package/dist/prompts/monitoring.js +7 -10
- package/dist/prompts/monitoring.js.map +1 -1
- package/dist/prompts/nft.js +23 -26
- package/dist/prompts/nft.js.map +1 -1
- package/dist/prompts/oembed.js +8 -11
- package/dist/prompts/oembed.js.map +1 -1
- package/dist/prompts/overseers.js +11 -14
- package/dist/prompts/overseers.js.map +1 -1
- package/dist/prompts/platform-stats.js +4 -7
- package/dist/prompts/platform-stats.js.map +1 -1
- package/dist/prompts/pools.js +30 -33
- package/dist/prompts/pools.js.map +1 -1
- package/dist/prompts/portfolio.js +40 -43
- package/dist/prompts/portfolio.js.map +1 -1
- package/dist/prompts/prompt-factories.js +11 -19
- package/dist/prompts/prompt-factories.js.map +1 -1
- package/dist/prompts/referrals.js +25 -28
- package/dist/prompts/referrals.js.map +1 -1
- package/dist/prompts/restricted-names.js +6 -9
- package/dist/prompts/restricted-names.js.map +1 -1
- package/dist/prompts/streaming.js +42 -46
- package/dist/prompts/streaming.js.map +1 -1
- package/dist/prompts/tier1-bridge-operations.js +14 -17
- package/dist/prompts/tier1-bridge-operations.js.map +1 -1
- package/dist/prompts/tier1-liquidity-management.js +21 -24
- package/dist/prompts/tier1-liquidity-management.js.map +1 -1
- package/dist/prompts/tier1-pool-discovery.js +20 -23
- package/dist/prompts/tier1-pool-discovery.js.map +1 -1
- package/dist/prompts/tier1-price-history.js +19 -22
- package/dist/prompts/tier1-price-history.js.map +1 -1
- package/dist/prompts/tier1-token-analysis.js +15 -18
- package/dist/prompts/tier1-token-analysis.js.map +1 -1
- package/dist/prompts/tier2-account-setup.js +8 -11
- package/dist/prompts/tier2-account-setup.js.map +1 -1
- package/dist/prompts/tier2-advanced-liquidity.js +8 -11
- package/dist/prompts/tier2-advanced-liquidity.js.map +1 -1
- package/dist/prompts/tier2-asset-management.js +8 -11
- package/dist/prompts/tier2-asset-management.js.map +1 -1
- package/dist/prompts/tier2-token-lifecycle.js +8 -11
- package/dist/prompts/tier2-token-lifecycle.js.map +1 -1
- package/dist/prompts/tier3-community-engagement.js +11 -14
- package/dist/prompts/tier3-community-engagement.js.map +1 -1
- package/dist/prompts/tier3-moderation-workflows.js +14 -17
- package/dist/prompts/tier3-moderation-workflows.js.map +1 -1
- package/dist/prompts/tier3-streaming-management.js +11 -14
- package/dist/prompts/tier3-streaming-management.js.map +1 -1
- package/dist/prompts/token-bans.js +6 -9
- package/dist/prompts/token-bans.js.map +1 -1
- package/dist/prompts/trades.js +8 -11
- package/dist/prompts/trades.js.map +1 -1
- package/dist/prompts/trading-calculations.js +38 -41
- package/dist/prompts/trading-calculations.js.map +1 -1
- package/dist/prompts/trading.js +31 -34
- package/dist/prompts/trading.js.map +1 -1
- package/dist/prompts/transfers.js +15 -18
- package/dist/prompts/transfers.js.map +1 -1
- package/dist/prompts/utility-tools.js +66 -69
- package/dist/prompts/utility-tools.js.map +1 -1
- package/dist/prompts/utility.js +6 -9
- package/dist/prompts/utility.js.map +1 -1
- package/dist/prompts/utils/handlerHelpers.js +2 -6
- package/dist/prompts/utils/handlerHelpers.js.map +1 -1
- package/dist/prompts/utils/pagination-helpers.js +4 -10
- package/dist/prompts/utils/pagination-helpers.js.map +1 -1
- package/dist/prompts/utils/textTemplates.js +1 -4
- package/dist/prompts/utils/textTemplates.js.map +1 -1
- package/dist/prompts/utils/workflowTemplates.js +47 -60
- package/dist/prompts/utils/workflowTemplates.js.map +1 -1
- package/dist/prompts/validate-manifest.d.ts.map +1 -1
- package/dist/prompts/validate-manifest.js +13 -17
- package/dist/prompts/validate-manifest.js.map +1 -1
- package/dist/prompts/wallet.js +15 -18
- package/dist/prompts/wallet.js.map +1 -1
- package/dist/prompts/websocket-admin.js +48 -51
- package/dist/prompts/websocket-admin.js.map +1 -1
- package/dist/prompts/weekly-challenge.js +6 -9
- package/dist/prompts/weekly-challenge.js.map +1 -1
- package/dist/schemas/common-schemas.d.ts +109 -109
- package/dist/schemas/common-schemas.d.ts.map +1 -1
- package/dist/schemas/common-schemas.js +128 -136
- package/dist/schemas/common-schemas.js.map +1 -1
- package/dist/scripts/test-all-prompts.js +2 -4
- package/dist/scripts/test-all-prompts.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +27 -31
- package/dist/server.js.map +1 -1
- package/dist/setup.js +10 -12
- package/dist/setup.js.map +1 -1
- package/dist/tools/ai-moderation/index.js +19 -22
- package/dist/tools/ai-moderation/index.js.map +1 -1
- package/dist/tools/api-keys/index.js +28 -31
- package/dist/tools/api-keys/index.js.map +1 -1
- package/dist/tools/auth/index.js +27 -30
- package/dist/tools/auth/index.js.map +1 -1
- package/dist/tools/balance/helpers/format-balance.js +3 -8
- package/dist/tools/balance/helpers/format-balance.js.map +1 -1
- package/dist/tools/balance/index.js +56 -59
- package/dist/tools/balance/index.js.map +1 -1
- package/dist/tools/ban/index.js +36 -39
- package/dist/tools/ban/index.js.map +1 -1
- package/dist/tools/ban/onBanEnforcement.js +2 -5
- package/dist/tools/ban/onBanEnforcement.js.map +1 -1
- package/dist/tools/bridge/helpers/external-chain-balance-tools.js +29 -36
- package/dist/tools/bridge/helpers/external-chain-balance-tools.js.map +1 -1
- package/dist/tools/bridge/index.js +96 -103
- package/dist/tools/bridge/index.js.map +1 -1
- package/dist/tools/burns/index.js +7 -10
- package/dist/tools/burns/index.js.map +1 -1
- package/dist/tools/chat/index.js +39 -42
- package/dist/tools/chat/index.js.map +1 -1
- package/dist/tools/chat-messages/index.js +24 -27
- package/dist/tools/chat-messages/index.js.map +1 -1
- package/dist/tools/comments/index.js +24 -27
- package/dist/tools/comments/index.js.map +1 -1
- package/dist/tools/comments/onCommentCreated.js +2 -5
- package/dist/tools/comments/onCommentCreated.js.map +1 -1
- package/dist/tools/content-flags/index.js +31 -34
- package/dist/tools/content-flags/index.js.map +1 -1
- package/dist/tools/content-reactions/index.js +27 -30
- package/dist/tools/content-reactions/index.js.map +1 -1
- package/dist/tools/creation/index.js +35 -71
- package/dist/tools/creation/index.js.map +1 -1
- package/dist/tools/dex/helpers.js +25 -41
- package/dist/tools/dex/helpers.js.map +1 -1
- package/dist/tools/dex/index.js +42 -48
- package/dist/tools/dex/index.js.map +1 -1
- package/dist/tools/dex-analytics/index.js +28 -31
- package/dist/tools/dex-analytics/index.js.map +1 -1
- package/dist/tools/dex-liquidity/index.js +61 -64
- package/dist/tools/dex-liquidity/index.js.map +1 -1
- package/dist/tools/dex-pools/index.d.ts.map +1 -1
- package/dist/tools/dex-pools/index.js +133 -52
- package/dist/tools/dex-pools/index.js.map +1 -1
- package/dist/tools/global-feed/getGlobalFeedStatus.js +7 -10
- package/dist/tools/global-feed/getGlobalFeedStatus.js.map +1 -1
- package/dist/tools/global-feed/getSiteConfigState.js +7 -10
- package/dist/tools/global-feed/getSiteConfigState.js.map +1 -1
- package/dist/tools/global-feed/index.js +16 -24
- package/dist/tools/global-feed/index.js.map +1 -1
- package/dist/tools/global-feed/monitorGlobalFeedEvents.js +7 -10
- package/dist/tools/global-feed/monitorGlobalFeedEvents.js.map +1 -1
- package/dist/tools/global-feed/subscribeToGlobalFeed.js +7 -10
- package/dist/tools/global-feed/subscribeToGlobalFeed.js.map +1 -1
- package/dist/tools/global-feed/unsubscribeFromGlobalFeed.js +7 -10
- package/dist/tools/global-feed/unsubscribeFromGlobalFeed.js.map +1 -1
- package/dist/tools/handler-factories.d.ts +11 -11
- package/dist/tools/handler-factories.d.ts.map +1 -1
- package/dist/tools/handler-factories.js +110 -161
- package/dist/tools/handler-factories.js.map +1 -1
- package/dist/tools/holders/index.js +36 -39
- package/dist/tools/holders/index.js.map +1 -1
- package/dist/tools/index.js +88 -91
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/locks/index.js +11 -14
- package/dist/tools/locks/index.js.map +1 -1
- package/dist/tools/manifest.js +17 -26
- package/dist/tools/manifest.js.map +1 -1
- package/dist/tools/messages/createMessage.js +6 -9
- package/dist/tools/messages/createMessage.js.map +1 -1
- package/dist/tools/messages/deleteMessage.js +6 -9
- package/dist/tools/messages/deleteMessage.js.map +1 -1
- package/dist/tools/messages/fetchMessages.js +9 -12
- package/dist/tools/messages/fetchMessages.js.map +1 -1
- package/dist/tools/messages/getMessageStats.js +3 -6
- package/dist/tools/messages/getMessageStats.js.map +1 -1
- package/dist/tools/messages/getPinnedMessage.js +6 -9
- package/dist/tools/messages/getPinnedMessage.js.map +1 -1
- package/dist/tools/messages/index.js +19 -28
- package/dist/tools/messages/index.js.map +1 -1
- package/dist/tools/messages/pinMessage.js +6 -9
- package/dist/tools/messages/pinMessage.js.map +1 -1
- package/dist/tools/messages/unpinMessage.js +6 -9
- package/dist/tools/messages/unpinMessage.js.map +1 -1
- package/dist/tools/messages/updateMessage.js +6 -9
- package/dist/tools/messages/updateMessage.js.map +1 -1
- package/dist/tools/moderators/getActiveModerators.js +5 -8
- package/dist/tools/moderators/getActiveModerators.js.map +1 -1
- package/dist/tools/moderators/index.js +48 -51
- package/dist/tools/moderators/index.js.map +1 -1
- package/dist/tools/moderators/onModeratorChanged.js +2 -5
- package/dist/tools/moderators/onModeratorChanged.js.map +1 -1
- package/dist/tools/nft/index.d.ts.map +1 -1
- package/dist/tools/nft/index.js +60 -63
- package/dist/tools/nft/index.js.map +1 -1
- package/dist/tools/notifications/index.js +17 -20
- package/dist/tools/notifications/index.js.map +1 -1
- package/dist/tools/oembed/index.js +11 -14
- package/dist/tools/oembed/index.js.map +1 -1
- package/dist/tools/overseers/cache-management.js +18 -21
- package/dist/tools/overseers/cache-management.js.map +1 -1
- package/dist/tools/overseers/getOverseerUserSummary.js +5 -8
- package/dist/tools/overseers/getOverseerUserSummary.js.map +1 -1
- package/dist/tools/overseers/index.js +68 -71
- package/dist/tools/overseers/index.js.map +1 -1
- package/dist/tools/overseers/listOverseerUsers.js +5 -8
- package/dist/tools/overseers/listOverseerUsers.js.map +1 -1
- package/dist/tools/pagination-handler-factory.js +12 -17
- package/dist/tools/pagination-handler-factory.js.map +1 -1
- package/dist/tools/platform-stats/index.js +5 -8
- package/dist/tools/platform-stats/index.js.map +1 -1
- package/dist/tools/pools/checkPoolExists.js +6 -9
- package/dist/tools/pools/checkPoolExists.js.map +1 -1
- package/dist/tools/pools/fetchAllPools.js +5 -8
- package/dist/tools/pools/fetchAllPools.js.map +1 -1
- package/dist/tools/pools/fetchAllPriceHistory.js +10 -13
- package/dist/tools/pools/fetchAllPriceHistory.js.map +1 -1
- package/dist/tools/pools/fetchPoolDetails.js +5 -8
- package/dist/tools/pools/fetchPoolDetails.js.map +1 -1
- package/dist/tools/pools/fetchPoolDetailsForCalculation.js +2 -5
- package/dist/tools/pools/fetchPoolDetailsForCalculation.js.map +1 -1
- package/dist/tools/pools/fetchPools.js +13 -16
- package/dist/tools/pools/fetchPools.js.map +1 -1
- package/dist/tools/pools/fetchPriceHistory.js +12 -15
- package/dist/tools/pools/fetchPriceHistory.js.map +1 -1
- package/dist/tools/pools/fetchTokenDetails.js +5 -8
- package/dist/tools/pools/fetchTokenDetails.js.map +1 -1
- package/dist/tools/pools/getPoolRealtimeState.js +5 -8
- package/dist/tools/pools/getPoolRealtimeState.js.map +1 -1
- package/dist/tools/pools/index.d.ts.map +1 -1
- package/dist/tools/pools/index.js +78 -81
- package/dist/tools/pools/index.js.map +1 -1
- package/dist/tools/pools/onDexPoolCreation.js +2 -5
- package/dist/tools/pools/onDexPoolCreation.js.map +1 -1
- package/dist/tools/pools/onHolderCountChanged.js +2 -5
- package/dist/tools/pools/onHolderCountChanged.js.map +1 -1
- package/dist/tools/pools/onLaunchpadTokenCreation.js +2 -5
- package/dist/tools/pools/onLaunchpadTokenCreation.js.map +1 -1
- package/dist/tools/pools/onPoolUpdated.js +2 -5
- package/dist/tools/pools/onPoolUpdated.js.map +1 -1
- package/dist/tools/pools/updateTokenConfig.js +6 -9
- package/dist/tools/pools/updateTokenConfig.js.map +1 -1
- package/dist/tools/pools/validateToken.js +7 -10
- package/dist/tools/pools/validateToken.js.map +1 -1
- package/dist/tools/recordings/index.js +20 -23
- package/dist/tools/recordings/index.js.map +1 -1
- package/dist/tools/referrals/index.js +20 -23
- package/dist/tools/referrals/index.js.map +1 -1
- package/dist/tools/restricted-names/getRestrictedNames.js +3 -6
- package/dist/tools/restricted-names/getRestrictedNames.js.map +1 -1
- package/dist/tools/restricted-names/index.js +7 -10
- package/dist/tools/restricted-names/index.js.map +1 -1
- package/dist/tools/restricted-names/updateRestrictedNames.js +3 -6
- package/dist/tools/restricted-names/updateRestrictedNames.js.map +1 -1
- package/dist/tools/simulcasts/index.js +19 -22
- package/dist/tools/simulcasts/index.js.map +1 -1
- package/dist/tools/streaming/index.js +47 -50
- package/dist/tools/streaming/index.js.map +1 -1
- package/dist/tools/streaming/setNextLiveStreamCountdown.js +6 -9
- package/dist/tools/streaming/setNextLiveStreamCountdown.js.map +1 -1
- package/dist/tools/token-ban/index.js +28 -31
- package/dist/tools/token-ban/index.js.map +1 -1
- package/dist/tools/token-ban/onTokenBanChanged.js +2 -5
- package/dist/tools/token-ban/onTokenBanChanged.js.map +1 -1
- package/dist/tools/tool-factory.js +5 -8
- package/dist/tools/tool-factory.js.map +1 -1
- package/dist/tools/trades/getRecentTrades.js +7 -10
- package/dist/tools/trades/getRecentTrades.js.map +1 -1
- package/dist/tools/trades/index.js +16 -19
- package/dist/tools/trades/index.js.map +1 -1
- package/dist/tools/trades/onTradeExecuted.js +2 -5
- package/dist/tools/trades/onTradeExecuted.js.map +1 -1
- package/dist/tools/trading/helpers/arg-extractors.js +7 -16
- package/dist/tools/trading/helpers/arg-extractors.js.map +1 -1
- package/dist/tools/trading/helpers/index.js +2 -18
- package/dist/tools/trading/helpers/index.js.map +1 -1
- package/dist/tools/trading/helpers/trading-schemas.d.ts +21 -21
- package/dist/tools/trading/helpers/trading-schemas.d.ts.map +1 -1
- package/dist/tools/trading/helpers/trading-schemas.js +49 -54
- package/dist/tools/trading/helpers/trading-schemas.js.map +1 -1
- package/dist/tools/trading/index.js +101 -96
- package/dist/tools/trading/index.js.map +1 -1
- package/dist/tools/transfers/index.js +14 -17
- package/dist/tools/transfers/index.js.map +1 -1
- package/dist/tools/utils/cleanup.js +3 -6
- package/dist/tools/utils/cleanup.js.map +1 -1
- package/dist/tools/utils/clearCache.js +5 -8
- package/dist/tools/utils/clearCache.js.map +1 -1
- package/dist/tools/utils/createSolanaWallet.js +4 -7
- package/dist/tools/utils/createSolanaWallet.js.map +1 -1
- package/dist/tools/utils/createWallet.js +4 -7
- package/dist/tools/utils/createWallet.js.map +1 -1
- package/dist/tools/utils/explainSdkUsage.js +18 -22
- package/dist/tools/utils/explainSdkUsage.js.map +1 -1
- package/dist/tools/utils/explainWebSocketEvents.js +3 -6
- package/dist/tools/utils/explainWebSocketEvents.js.map +1 -1
- package/dist/tools/utils/getAddress.js +2 -5
- package/dist/tools/utils/getAddress.js.map +1 -1
- package/dist/tools/utils/getCacheInfo.js +2 -5
- package/dist/tools/utils/getCacheInfo.js.map +1 -1
- package/dist/tools/utils/getConfig.js +2 -5
- package/dist/tools/utils/getConfig.js.map +1 -1
- package/dist/tools/utils/getEnvironment.js +2 -5
- package/dist/tools/utils/getEnvironment.js.map +1 -1
- package/dist/tools/utils/getEthereumAddress.js +2 -5
- package/dist/tools/utils/getEthereumAddress.js.map +1 -1
- package/dist/tools/utils/getEthereumAddressFromPrivateKey.js +6 -9
- package/dist/tools/utils/getEthereumAddressFromPrivateKey.js.map +1 -1
- package/dist/tools/utils/getEventSchema.js +3 -6
- package/dist/tools/utils/getEventSchema.js.map +1 -1
- package/dist/tools/utils/getPlatformStatus.js +3 -6
- package/dist/tools/utils/getPlatformStatus.js.map +1 -1
- package/dist/tools/utils/getPublicKeyFromPrivateKey.js +4 -7
- package/dist/tools/utils/getPublicKeyFromPrivateKey.js.map +1 -1
- package/dist/tools/utils/getUrlByTokenName.js +2 -5
- package/dist/tools/utils/getUrlByTokenName.js.map +1 -1
- package/dist/tools/utils/getVersion.js +4 -7
- package/dist/tools/utils/getVersion.js.map +1 -1
- package/dist/tools/utils/getWallet.js +2 -5
- package/dist/tools/utils/getWallet.js.map +1 -1
- package/dist/tools/utils/hasWallet.js +2 -5
- package/dist/tools/utils/hasWallet.js.map +1 -1
- package/dist/tools/utils/index.js +33 -36
- package/dist/tools/utils/index.js.map +1 -1
- package/dist/tools/utils/isTokenGraduated.js +2 -5
- package/dist/tools/utils/isTokenGraduated.js.map +1 -1
- package/dist/tools/utils/setWallet.js +4 -7
- package/dist/tools/utils/setWallet.js.map +1 -1
- package/dist/tools/utils/switchEnvironment.js +2 -5
- package/dist/tools/utils/switchEnvironment.js.map +1 -1
- package/dist/tools/validate-manifest.d.ts.map +1 -1
- package/dist/tools/validate-manifest.js +11 -15
- package/dist/tools/validate-manifest.js.map +1 -1
- package/dist/tools/wallet/index.js +13 -16
- package/dist/tools/wallet/index.js.map +1 -1
- package/dist/tools/websocket-admin/emitBalanceUpdated.js +9 -12
- package/dist/tools/websocket-admin/emitBalanceUpdated.js.map +1 -1
- package/dist/tools/websocket-admin/emitChatMessage.js +6 -9
- package/dist/tools/websocket-admin/emitChatMessage.js.map +1 -1
- package/dist/tools/websocket-admin/emitChatStatus.js +6 -9
- package/dist/tools/websocket-admin/emitChatStatus.js.map +1 -1
- package/dist/tools/websocket-admin/emitDownloadReady.js +6 -9
- package/dist/tools/websocket-admin/emitDownloadReady.js.map +1 -1
- package/dist/tools/websocket-admin/emitFeatureStatus.js +4 -7
- package/dist/tools/websocket-admin/emitFeatureStatus.js.map +1 -1
- package/dist/tools/websocket-admin/emitModeratorAdded.js +7 -10
- package/dist/tools/websocket-admin/emitModeratorAdded.js.map +1 -1
- package/dist/tools/websocket-admin/emitModeratorRemoved.js +7 -10
- package/dist/tools/websocket-admin/emitModeratorRemoved.js.map +1 -1
- package/dist/tools/websocket-admin/emitRecordingStatus.js +6 -9
- package/dist/tools/websocket-admin/emitRecordingStatus.js.map +1 -1
- package/dist/tools/websocket-admin/emitRecordingsCountUpdated.js +6 -9
- package/dist/tools/websocket-admin/emitRecordingsCountUpdated.js.map +1 -1
- package/dist/tools/websocket-admin/emitSiteConfigChanged.js +4 -7
- package/dist/tools/websocket-admin/emitSiteConfigChanged.js.map +1 -1
- package/dist/tools/websocket-admin/emitStreamCountdown.js +6 -9
- package/dist/tools/websocket-admin/emitStreamCountdown.js.map +1 -1
- package/dist/tools/websocket-admin/emitStreamStatus.js +6 -9
- package/dist/tools/websocket-admin/emitStreamStatus.js.map +1 -1
- package/dist/tools/websocket-admin/emitTokenBanned.js +7 -10
- package/dist/tools/websocket-admin/emitTokenBanned.js.map +1 -1
- package/dist/tools/websocket-admin/emitTokenUnbanned.js +7 -10
- package/dist/tools/websocket-admin/emitTokenUnbanned.js.map +1 -1
- package/dist/tools/websocket-admin/emitTradeExecuted.js +8 -11
- package/dist/tools/websocket-admin/emitTradeExecuted.js.map +1 -1
- package/dist/tools/websocket-admin/emitTypingIndicator.js +7 -10
- package/dist/tools/websocket-admin/emitTypingIndicator.js.map +1 -1
- package/dist/tools/websocket-admin/emitUserProfileUpdated.js +6 -9
- package/dist/tools/websocket-admin/emitUserProfileUpdated.js.map +1 -1
- package/dist/tools/websocket-admin/emitViewerCount.js +6 -9
- package/dist/tools/websocket-admin/emitViewerCount.js.map +1 -1
- package/dist/tools/websocket-admin/emitWebSocketEvent.js +6 -9
- package/dist/tools/websocket-admin/emitWebSocketEvent.js.map +1 -1
- package/dist/tools/websocket-admin/getConnectedClients.js +6 -9
- package/dist/tools/websocket-admin/getConnectedClients.js.map +1 -1
- package/dist/tools/websocket-admin/getOnlineOverseers.js +4 -7
- package/dist/tools/websocket-admin/getOnlineOverseers.js.map +1 -1
- package/dist/tools/websocket-admin/getOnlineUsers.js +4 -7
- package/dist/tools/websocket-admin/getOnlineUsers.js.map +1 -1
- package/dist/tools/websocket-admin/getTokenViewers.js +6 -9
- package/dist/tools/websocket-admin/getTokenViewers.js.map +1 -1
- package/dist/tools/websocket-admin/index.js +51 -76
- package/dist/tools/websocket-admin/index.js.map +1 -1
- package/dist/tools/websocket-admin/isUserOnline.js +4 -7
- package/dist/tools/websocket-admin/isUserOnline.js.map +1 -1
- package/dist/tools/weekly-challenge/index.js +8 -11
- package/dist/tools/weekly-challenge/index.js.map +1 -1
- package/dist/types/mcp.js +1 -2
- package/dist/types/mcp.js.map +1 -1
- package/dist/utils/constraints.d.ts.map +1 -1
- package/dist/utils/constraints.js +12 -17
- package/dist/utils/constraints.js.map +1 -1
- package/dist/utils/date-converter.js +3 -8
- package/dist/utils/date-converter.js.map +1 -1
- package/dist/utils/default-values.d.ts.map +1 -1
- package/dist/utils/default-values.js +27 -33
- package/dist/utils/default-values.js.map +1 -1
- package/dist/utils/error-handler.js +4 -8
- package/dist/utils/error-handler.js.map +1 -1
- package/dist/utils/error-templates.d.ts +12 -4
- package/dist/utils/error-templates.d.ts.map +1 -1
- package/dist/utils/error-templates.js +31 -38
- package/dist/utils/error-templates.js.map +1 -1
- package/dist/utils/handler-args.js +4 -10
- package/dist/utils/handler-args.js.map +1 -1
- package/dist/utils/pool-filter-builder.js +5 -10
- package/dist/utils/pool-filter-builder.js.map +1 -1
- package/dist/utils/response-formatter.js +4 -10
- package/dist/utils/response-formatter.js.map +1 -1
- package/dist/utils/safe-parsers.js +5 -12
- package/dist/utils/safe-parsers.js.map +1 -1
- package/dist/utils/tool-factory.js +24 -33
- package/dist/utils/tool-factory.js.map +1 -1
- package/dist/utils/tool-registry.js +10 -22
- package/dist/utils/tool-registry.js.map +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +27 -44
- package/dist/utils/validation.js.map +1 -1
- package/package.json +16 -11
|
@@ -1,151 +1,148 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/** MCP tools for current-contract GSwap liquidity positions. */
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const helpers_js_1 = require("../dex/helpers.js");
|
|
9
|
-
exports.getUserLiquidityPositionsTool = {
|
|
2
|
+
import { DECIMAL_AMOUNT_SCHEMA, LIQUIDITY_AMOUNTS_SCHEMA, OWNER_ADDRESS_SCHEMA, TOKEN_PAIR_SCHEMA, TOKEN_PAIR_WITH_TICKS_SCHEMA, } from '../../schemas/common-schemas.js';
|
|
3
|
+
import { formatSuccess } from '../../utils/response-formatter.js';
|
|
4
|
+
import { withErrorHandling } from '../../utils/error-handler.js';
|
|
5
|
+
import { extractTokenPairParams, extractTokenPairWithTicksParams, asPriceIn, formatDexSubmission, formatPosition, formatPositions, } from '../dex/helpers.js';
|
|
6
|
+
export const getUserLiquidityPositionsTool = {
|
|
10
7
|
name: 'gala_launchpad_get_user_liquidity_positions',
|
|
11
8
|
description: 'Get current-contract GSwap liquidity positions owned by an address.',
|
|
12
|
-
inputSchema: { type: 'object', properties: { ownerAddress:
|
|
13
|
-
handler:
|
|
9
|
+
inputSchema: { type: 'object', properties: { ownerAddress: OWNER_ADDRESS_SCHEMA }, required: ['ownerAddress'] },
|
|
10
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
14
11
|
const owner = requiredString(args, 'ownerAddress');
|
|
15
12
|
const positions = await sdk.dex.positions.getUserPositions(owner);
|
|
16
|
-
return
|
|
13
|
+
return formatSuccess({ ownerAddress: owner, positions: formatPositions(positions), count: positions.length });
|
|
17
14
|
}),
|
|
18
15
|
};
|
|
19
|
-
|
|
16
|
+
export const getAllUserLiquidityPositionsTool = {
|
|
20
17
|
name: 'gala_launchpad_get_all_user_liquidity_positions',
|
|
21
18
|
description: 'Get all current-contract GSwap liquidity positions owned by an address.',
|
|
22
|
-
inputSchema: { type: 'object', properties: { ownerAddress:
|
|
23
|
-
handler:
|
|
19
|
+
inputSchema: { type: 'object', properties: { ownerAddress: OWNER_ADDRESS_SCHEMA }, required: ['ownerAddress'] },
|
|
20
|
+
handler: getUserLiquidityPositionsTool.handler,
|
|
24
21
|
};
|
|
25
|
-
|
|
22
|
+
export const getLiquidityPositionByIdTool = {
|
|
26
23
|
name: 'gala_launchpad_get_liquidity_position_by_id',
|
|
27
24
|
description: 'Get one current-contract GSwap position by its pair, fee, owner, and tick range.',
|
|
28
25
|
inputSchema: {
|
|
29
26
|
type: 'object',
|
|
30
|
-
properties: { ...
|
|
27
|
+
properties: { ...TOKEN_PAIR_WITH_TICKS_SCHEMA, ownerAddress: OWNER_ADDRESS_SCHEMA },
|
|
31
28
|
required: ['token0', 'token1', 'fee', 'tickLower', 'tickUpper', 'ownerAddress'],
|
|
32
29
|
},
|
|
33
30
|
handler: createPositionLookupHandler(),
|
|
34
31
|
};
|
|
35
|
-
|
|
32
|
+
export const getLiquidityPositionTool = {
|
|
36
33
|
name: 'gala_launchpad_get_liquidity_position',
|
|
37
34
|
description: 'Get one current-contract GSwap position by pair, owner, and tick range.',
|
|
38
35
|
inputSchema: {
|
|
39
36
|
type: 'object',
|
|
40
|
-
properties: { ...
|
|
37
|
+
properties: { ...TOKEN_PAIR_WITH_TICKS_SCHEMA, ownerAddress: OWNER_ADDRESS_SCHEMA },
|
|
41
38
|
required: ['token0', 'token1', 'fee', 'tickLower', 'tickUpper', 'ownerAddress'],
|
|
42
39
|
},
|
|
43
40
|
handler: createPositionLookupHandler(),
|
|
44
41
|
};
|
|
45
|
-
|
|
42
|
+
export const estimateRemoveLiquidityTool = {
|
|
46
43
|
name: 'gala_launchpad_estimate_remove_liquidity',
|
|
47
44
|
description: 'Estimate token amounts released by a current-contract GSwap liquidity withdrawal.',
|
|
48
45
|
inputSchema: {
|
|
49
46
|
type: 'object',
|
|
50
|
-
properties: { ...
|
|
47
|
+
properties: { ...TOKEN_PAIR_WITH_TICKS_SCHEMA, liquidity: DECIMAL_AMOUNT_SCHEMA, ownerAddress: OWNER_ADDRESS_SCHEMA },
|
|
51
48
|
required: ['token0', 'token1', 'fee', 'tickLower', 'tickUpper', 'liquidity', 'ownerAddress'],
|
|
52
49
|
},
|
|
53
|
-
handler:
|
|
54
|
-
const params =
|
|
50
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
51
|
+
const params = extractTokenPairWithTicksParams(args);
|
|
55
52
|
const estimate = await sdk.dex.positions.estimateRemoveLiquidity({ ...params, liquidity: requiredString(args, 'liquidity') });
|
|
56
|
-
return
|
|
53
|
+
return formatSuccess({ ...estimate, message: `Estimated withdrawal for ${params.token0}/${params.token1}.` });
|
|
57
54
|
}),
|
|
58
55
|
};
|
|
59
|
-
|
|
56
|
+
export const addLiquidityByPriceTool = {
|
|
60
57
|
name: 'gala_launchpad_add_liquidity_by_price',
|
|
61
58
|
description: 'Add liquidity through sdk.dex.positions.addLiquidityByPrice and return confirm() output.',
|
|
62
59
|
inputSchema: {
|
|
63
60
|
type: 'object',
|
|
64
61
|
properties: {
|
|
65
|
-
...
|
|
66
|
-
minPrice:
|
|
67
|
-
maxPrice:
|
|
68
|
-
...
|
|
62
|
+
...TOKEN_PAIR_SCHEMA,
|
|
63
|
+
minPrice: DECIMAL_AMOUNT_SCHEMA,
|
|
64
|
+
maxPrice: DECIMAL_AMOUNT_SCHEMA,
|
|
65
|
+
...LIQUIDITY_AMOUNTS_SCHEMA,
|
|
69
66
|
amountIsToken0: { type: 'boolean', description: 'Whether amount is denominated in token0.' },
|
|
70
67
|
},
|
|
71
68
|
required: ['token0', 'token1', 'fee', 'minPrice', 'maxPrice', 'amount0Desired', 'amount1Desired'],
|
|
72
69
|
},
|
|
73
|
-
handler:
|
|
74
|
-
const pair =
|
|
70
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
71
|
+
const pair = extractTokenPairParams(args);
|
|
75
72
|
const { amount, amountIsToken0 } = depositAmount(args);
|
|
76
73
|
const transaction = await sdk.dex.positions.addLiquidityByPrice({
|
|
77
74
|
...pair,
|
|
78
|
-
minPrice:
|
|
79
|
-
maxPrice:
|
|
75
|
+
minPrice: asPriceIn(requiredString(args, 'minPrice')),
|
|
76
|
+
maxPrice: asPriceIn(requiredString(args, 'maxPrice')),
|
|
80
77
|
amount,
|
|
81
78
|
amountIsToken0,
|
|
82
79
|
});
|
|
83
|
-
return
|
|
80
|
+
return formatSuccess({ ...(await formatDexSubmission(transaction)), token0: pair.token0, token1: pair.token1 });
|
|
84
81
|
}),
|
|
85
82
|
};
|
|
86
|
-
|
|
83
|
+
export const addLiquidityByTicksTool = {
|
|
87
84
|
name: 'gala_launchpad_add_liquidity_by_ticks',
|
|
88
85
|
description: 'Add liquidity through sdk.dex.positions.addLiquidityByTicks and return confirm() output.',
|
|
89
86
|
inputSchema: {
|
|
90
87
|
type: 'object',
|
|
91
|
-
properties: { ...
|
|
88
|
+
properties: { ...TOKEN_PAIR_WITH_TICKS_SCHEMA, ...LIQUIDITY_AMOUNTS_SCHEMA, amountIsToken0: { type: 'boolean', description: 'Whether amount is denominated in token0.' } },
|
|
92
89
|
required: ['token0', 'token1', 'fee', 'tickLower', 'tickUpper', 'amount0Desired', 'amount1Desired'],
|
|
93
90
|
},
|
|
94
|
-
handler:
|
|
95
|
-
const pair =
|
|
91
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
92
|
+
const pair = extractTokenPairWithTicksParams(args);
|
|
96
93
|
const { amount, amountIsToken0 } = depositAmount(args);
|
|
97
94
|
const transaction = await sdk.dex.positions.addLiquidityByTicks({ ...pair, amount, amountIsToken0 });
|
|
98
|
-
return
|
|
95
|
+
return formatSuccess({ ...(await formatDexSubmission(transaction)), token0: pair.token0, token1: pair.token1 });
|
|
99
96
|
}),
|
|
100
97
|
};
|
|
101
|
-
|
|
98
|
+
export const removeLiquidityTool = {
|
|
102
99
|
name: 'gala_launchpad_remove_liquidity',
|
|
103
100
|
description: 'Remove current-contract GSwap liquidity and return confirm() output.',
|
|
104
101
|
inputSchema: {
|
|
105
102
|
type: 'object',
|
|
106
|
-
properties: { ...
|
|
103
|
+
properties: { ...TOKEN_PAIR_WITH_TICKS_SCHEMA, ownerAddress: OWNER_ADDRESS_SCHEMA, liquidity: DECIMAL_AMOUNT_SCHEMA, amount0: DECIMAL_AMOUNT_SCHEMA, amount1: DECIMAL_AMOUNT_SCHEMA },
|
|
107
104
|
required: ['token0', 'token1', 'fee', 'tickLower', 'tickUpper', 'ownerAddress'],
|
|
108
105
|
},
|
|
109
|
-
handler:
|
|
110
|
-
const pair =
|
|
106
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
107
|
+
const pair = extractTokenPairWithTicksParams(args);
|
|
111
108
|
const transaction = await sdk.dex.positions.removeLiquidity({
|
|
112
109
|
...pair,
|
|
113
110
|
...optionalProperty(args, 'amount0'),
|
|
114
111
|
...optionalProperty(args, 'amount1'),
|
|
115
112
|
});
|
|
116
|
-
return
|
|
113
|
+
return formatSuccess({ ...(await formatDexSubmission(transaction)), token0: pair.token0, token1: pair.token1 });
|
|
117
114
|
}),
|
|
118
115
|
};
|
|
119
|
-
|
|
116
|
+
export const fetchSwapPositionDirectTool = {
|
|
120
117
|
name: 'gala_launchpad_fetch_swap_position_direct',
|
|
121
118
|
description: 'Fetch one current-contract GSwap position by its compound pair and tick key.',
|
|
122
119
|
inputSchema: {
|
|
123
120
|
type: 'object',
|
|
124
|
-
properties: { ...
|
|
121
|
+
properties: { ...TOKEN_PAIR_WITH_TICKS_SCHEMA, ownerAddress: OWNER_ADDRESS_SCHEMA },
|
|
125
122
|
required: ['token0', 'token1', 'fee', 'tickLower', 'tickUpper', 'ownerAddress'],
|
|
126
123
|
},
|
|
127
124
|
handler: createPositionLookupHandler(),
|
|
128
125
|
};
|
|
129
|
-
|
|
126
|
+
export const collectPositionFeesTool = {
|
|
130
127
|
name: 'gala_launchpad_collect_position_fees',
|
|
131
128
|
description: 'Collect current-contract GSwap position fees and return confirm() output.',
|
|
132
129
|
inputSchema: {
|
|
133
130
|
type: 'object',
|
|
134
|
-
properties: { ...
|
|
131
|
+
properties: { ...TOKEN_PAIR_WITH_TICKS_SCHEMA, ownerAddress: OWNER_ADDRESS_SCHEMA },
|
|
135
132
|
required: ['token0', 'token1', 'fee', 'tickLower', 'tickUpper', 'ownerAddress'],
|
|
136
133
|
},
|
|
137
|
-
handler:
|
|
138
|
-
const params =
|
|
134
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
135
|
+
const params = extractTokenPairWithTicksParams(args);
|
|
139
136
|
const transaction = await sdk.dex.positions.collectPositionFees(params);
|
|
140
|
-
return
|
|
137
|
+
return formatSuccess({ ...(await formatDexSubmission(transaction)), token0: params.token0, token1: params.token1 });
|
|
141
138
|
}),
|
|
142
139
|
};
|
|
143
140
|
function createPositionLookupHandler() {
|
|
144
|
-
return
|
|
145
|
-
const params =
|
|
141
|
+
return withErrorHandling(async (sdk, args) => {
|
|
142
|
+
const params = extractTokenPairWithTicksParams(args);
|
|
146
143
|
const owner = requiredString(args, 'ownerAddress');
|
|
147
144
|
const position = await sdk.dex.positions.getPosition({ ...params, owner });
|
|
148
|
-
return
|
|
145
|
+
return formatSuccess(position === null ? { found: false } : { found: true, position: formatPosition(position) });
|
|
149
146
|
});
|
|
150
147
|
}
|
|
151
148
|
function depositAmount(args) {
|
|
@@ -177,16 +174,16 @@ function optionalProperty(args, name) {
|
|
|
177
174
|
const value = optionalString(args, name);
|
|
178
175
|
return value === undefined ? {} : { [name]: value };
|
|
179
176
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
177
|
+
export const liquidityPositionTools = [
|
|
178
|
+
getUserLiquidityPositionsTool,
|
|
179
|
+
getAllUserLiquidityPositionsTool,
|
|
180
|
+
getLiquidityPositionByIdTool,
|
|
181
|
+
getLiquidityPositionTool,
|
|
182
|
+
estimateRemoveLiquidityTool,
|
|
183
|
+
addLiquidityByPriceTool,
|
|
184
|
+
addLiquidityByTicksTool,
|
|
185
|
+
removeLiquidityTool,
|
|
186
|
+
fetchSwapPositionDirectTool,
|
|
187
|
+
collectPositionFeesTool,
|
|
191
188
|
];
|
|
192
189
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/dex-liquidity/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/dex-liquidity/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/dex-pools/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/dex-pools/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAwFlD,eAAO,MAAM,iBAAiB,EAAE,OAkB/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,OAYlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,OAwBjC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,OAaxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,OAalC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,OA2BzC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,OAY5C,CAAC;AAQF,eAAO,MAAM,aAAa,EAAE,OAAO,EAQlC,CAAC"}
|
|
@@ -1,112 +1,193 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/** MCP tools for current-contract GSwap pool and symbol discovery. */
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
2
|
+
import { CURSOR_SCHEMA, DEX_TOKEN_CLASS_KEY_SCHEMA, DEX_TOKEN_SYMBOL_SCHEMA, FEE_TIER_SCHEMA, SEARCH_SCHEMA, createPageSizeSchema, createPoolDiscoverySchema, } from '../../schemas/common-schemas.js';
|
|
3
|
+
import { formatSuccess } from '../../utils/response-formatter.js';
|
|
4
|
+
import { withErrorHandling } from '../../utils/error-handler.js';
|
|
5
|
+
import { extractTokenPairParams, formatFeeTierPercent, formatFeeTiersPercent, formatPool, formatSlot0, mapTokenMetadataArray, } from '../dex/helpers.js';
|
|
6
|
+
const DEFAULT_POOL_PAGE_SIZE = 10;
|
|
7
|
+
const DEFAULT_TOKEN_PAGE_SIZE = 20;
|
|
8
|
+
const POOL_PRICE_FIELDS = [
|
|
9
|
+
'price',
|
|
10
|
+
'sqrtPrice',
|
|
11
|
+
'token0Tvl',
|
|
12
|
+
'token1Tvl',
|
|
13
|
+
'token0Price',
|
|
14
|
+
'token1Price',
|
|
15
|
+
];
|
|
16
|
+
function poolSearchMatches(pool, search) {
|
|
17
|
+
if (search === undefined)
|
|
18
|
+
return true;
|
|
19
|
+
const normalized = search.toLowerCase();
|
|
20
|
+
return [pool.token0, pool.token1, pool.token0CompositeKey, pool.token1CompositeKey]
|
|
21
|
+
.some((value) => typeof value === 'string' && value.toLowerCase().includes(normalized));
|
|
22
|
+
}
|
|
23
|
+
function poolSortValue(pool, sortBy) {
|
|
24
|
+
const value = pool[sortBy === 'TVL' ? 'tvlUsd' : sortBy];
|
|
25
|
+
return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
|
|
26
|
+
}
|
|
27
|
+
function discoverPools(pools, args) {
|
|
28
|
+
const search = typeof args.search === 'string' ? args.search : undefined;
|
|
29
|
+
const sortBy = (typeof args.sortBy === 'string' ? args.sortBy : 'TVL');
|
|
30
|
+
const descending = args.sortOrder !== 'asc';
|
|
31
|
+
return pools
|
|
32
|
+
.filter((pool) => poolSearchMatches(pool, search))
|
|
33
|
+
.map((pool, index) => ({ pool, index, value: poolSortValue(pool, sortBy) }))
|
|
34
|
+
.sort((left, right) => {
|
|
35
|
+
if (left.value === undefined && right.value !== undefined)
|
|
36
|
+
return 1;
|
|
37
|
+
if (left.value !== undefined && right.value === undefined)
|
|
38
|
+
return -1;
|
|
39
|
+
if (left.value !== undefined && right.value !== undefined && left.value !== right.value) {
|
|
40
|
+
return (left.value < right.value ? -1 : 1) * (descending ? -1 : 1);
|
|
41
|
+
}
|
|
42
|
+
return left.index - right.index;
|
|
43
|
+
})
|
|
44
|
+
.map(({ pool }) => pool);
|
|
45
|
+
}
|
|
46
|
+
function encodeOffset(offset) {
|
|
47
|
+
return Buffer.from(`offset:${offset}`, 'utf8').toString('base64url');
|
|
48
|
+
}
|
|
49
|
+
function decodeOffset(cursor) {
|
|
50
|
+
if (cursor === undefined)
|
|
51
|
+
return 0;
|
|
52
|
+
if (typeof cursor !== 'string')
|
|
53
|
+
throw new Error('cursor must be a string');
|
|
54
|
+
const decoded = Buffer.from(cursor, 'base64url').toString('utf8');
|
|
55
|
+
const match = /^offset:(0|[1-9]\d*)$/.exec(decoded);
|
|
56
|
+
if (!match)
|
|
57
|
+
throw new Error('cursor is invalid');
|
|
58
|
+
const offset = Number(match[1]);
|
|
59
|
+
if (!Number.isSafeInteger(offset))
|
|
60
|
+
throw new Error('cursor is invalid');
|
|
61
|
+
return offset;
|
|
62
|
+
}
|
|
63
|
+
function omitPoolPrices(pool) {
|
|
64
|
+
const result = { ...pool };
|
|
65
|
+
for (const field of POOL_PRICE_FIELDS)
|
|
66
|
+
delete result[field];
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
export const fetchDexPoolsTool = {
|
|
10
70
|
name: 'gala_launchpad_fetch_dex_pools',
|
|
11
71
|
description: 'Fetch current-contract GSwap pools through sdk.dex.pools.getPools.',
|
|
12
|
-
inputSchema:
|
|
13
|
-
handler:
|
|
14
|
-
const pools = await sdk.dex.pools.getPools();
|
|
15
|
-
|
|
72
|
+
inputSchema: createPoolDiscoverySchema({ includePagination: true, defaultPageSize: 10 }),
|
|
73
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
74
|
+
const pools = discoverPools(await sdk.dex.pools.getPools(), args);
|
|
75
|
+
const total = pools.length;
|
|
76
|
+
const pageSize = typeof args.pageSize === 'number' ? args.pageSize : DEFAULT_POOL_PAGE_SIZE;
|
|
77
|
+
const offset = decodeOffset(args.cursor);
|
|
78
|
+
const page = pools.slice(offset, offset + pageSize);
|
|
79
|
+
const nextOffset = offset + page.length;
|
|
80
|
+
return formatSuccess({
|
|
81
|
+
pools: page.map(formatPool),
|
|
82
|
+
count: page.length,
|
|
83
|
+
total,
|
|
84
|
+
...(nextOffset < total ? { nextCursor: encodeOffset(nextOffset) } : {}),
|
|
85
|
+
});
|
|
16
86
|
}),
|
|
17
87
|
};
|
|
18
|
-
|
|
88
|
+
export const fetchAllDexPoolsTool = {
|
|
19
89
|
name: 'gala_launchpad_fetch_all_dex_pools',
|
|
20
90
|
description: 'Fetch all current-contract GSwap pools through sdk.dex.pools.getPools.',
|
|
21
|
-
inputSchema:
|
|
22
|
-
additionalProperties: { withPrices: { type: 'boolean', description: 'Include current prices when available.' } },
|
|
91
|
+
inputSchema: createPoolDiscoverySchema({
|
|
92
|
+
additionalProperties: { withPrices: { type: 'boolean', description: 'Include current prices when available (default: true).' } },
|
|
23
93
|
}),
|
|
24
|
-
handler:
|
|
25
|
-
const pools = await sdk.dex.pools.getPools();
|
|
26
|
-
|
|
94
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
95
|
+
const pools = discoverPools(await sdk.dex.pools.getPools(), args);
|
|
96
|
+
const withPrices = args.withPrices !== false;
|
|
97
|
+
const outputPools = withPrices ? pools : pools.map(omitPoolPrices);
|
|
98
|
+
return formatSuccess({ pools: outputPools.map(formatPool), count: outputPools.length });
|
|
27
99
|
}),
|
|
28
100
|
};
|
|
29
|
-
|
|
101
|
+
export const getSwapPoolInfoTool = {
|
|
30
102
|
name: 'gala_launchpad_get_swap_pool_info',
|
|
31
103
|
description: 'Get current-contract GSwap pool information for a token pair.',
|
|
32
104
|
inputSchema: {
|
|
33
105
|
type: 'object',
|
|
34
|
-
properties: { tokenA:
|
|
106
|
+
properties: { tokenA: DEX_TOKEN_SYMBOL_SCHEMA, tokenB: DEX_TOKEN_SYMBOL_SCHEMA },
|
|
35
107
|
required: ['tokenA', 'tokenB'],
|
|
36
108
|
},
|
|
37
|
-
handler:
|
|
109
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
38
110
|
const tokenA = requiredString(args, 'tokenA');
|
|
39
111
|
const tokenB = requiredString(args, 'tokenB');
|
|
40
112
|
const pools = await sdk.dex.pools.getPools();
|
|
41
113
|
const matches = pools.filter((pool) => (pool.token0 === tokenA && pool.token1 === tokenB) ||
|
|
42
114
|
(pool.token0 === tokenB && pool.token1 === tokenA));
|
|
43
|
-
return
|
|
115
|
+
return formatSuccess({
|
|
44
116
|
tokenA,
|
|
45
117
|
tokenB,
|
|
46
|
-
pools: matches.map(
|
|
47
|
-
feeTiers:
|
|
118
|
+
pools: matches.map(formatPool),
|
|
119
|
+
feeTiers: formatFeeTiersPercent(matches.map((pool) => pool.fee)),
|
|
48
120
|
message: `${matches.length} GSwap pools found for ${tokenA}/${tokenB}.`,
|
|
49
121
|
});
|
|
50
122
|
}),
|
|
51
123
|
};
|
|
52
|
-
|
|
124
|
+
export const fetchCompositePoolDataTool = {
|
|
53
125
|
name: 'gala_launchpad_fetch_composite_pool_data',
|
|
54
126
|
description: 'Fetch a current-contract GSwap composite pool snapshot through sdk.dex.pools.getCompositePool.',
|
|
55
127
|
inputSchema: {
|
|
56
128
|
type: 'object',
|
|
57
|
-
properties: { token0:
|
|
129
|
+
properties: { token0: DEX_TOKEN_CLASS_KEY_SCHEMA, token1: DEX_TOKEN_CLASS_KEY_SCHEMA, fee: FEE_TIER_SCHEMA },
|
|
58
130
|
required: ['token0', 'token1', 'fee'],
|
|
59
131
|
},
|
|
60
|
-
handler:
|
|
61
|
-
const { token0, token1, fee } =
|
|
132
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
133
|
+
const { token0, token1, fee } = extractTokenPairParams(args);
|
|
62
134
|
const composite = await sdk.dex.pools.getCompositePool(token0, token1, fee);
|
|
63
|
-
return
|
|
135
|
+
return formatSuccess({ token0, token1, fee, composite });
|
|
64
136
|
}),
|
|
65
137
|
};
|
|
66
|
-
|
|
138
|
+
export const getSwapPoolPriceTool = {
|
|
67
139
|
name: 'gala_launchpad_get_swap_pool_price',
|
|
68
140
|
description: 'Get current-contract GSwap price state through sdk.dex.pools.getSlot0.',
|
|
69
141
|
inputSchema: {
|
|
70
142
|
type: 'object',
|
|
71
|
-
properties: { token0:
|
|
143
|
+
properties: { token0: DEX_TOKEN_SYMBOL_SCHEMA, token1: DEX_TOKEN_SYMBOL_SCHEMA, fee: FEE_TIER_SCHEMA },
|
|
72
144
|
required: ['token0', 'token1', 'fee'],
|
|
73
145
|
},
|
|
74
|
-
handler:
|
|
75
|
-
const { token0, token1, fee } =
|
|
146
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
147
|
+
const { token0, token1, fee } = extractTokenPairParams(args);
|
|
76
148
|
const slot0 = await sdk.dex.pools.getSlot0(token0, token1, fee);
|
|
77
|
-
return
|
|
149
|
+
return formatSuccess({ ...formatSlot0(slot0), feePercent: formatFeeTierPercent(fee) });
|
|
78
150
|
}),
|
|
79
151
|
};
|
|
80
|
-
|
|
152
|
+
export const fetchAvailableDexTokensTool = {
|
|
81
153
|
name: 'gala_launchpad_fetch_available_dex_tokens',
|
|
82
154
|
description: 'List registered GSwap trading symbols through sdk.dex.symbols.list.',
|
|
83
155
|
inputSchema: {
|
|
84
156
|
type: 'object',
|
|
85
|
-
properties: { search:
|
|
157
|
+
properties: { search: SEARCH_SCHEMA, pageSize: createPageSizeSchema('pool', 20), cursor: CURSOR_SCHEMA },
|
|
86
158
|
required: [],
|
|
87
159
|
},
|
|
88
|
-
handler:
|
|
160
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
89
161
|
const search = typeof args.search === 'string' ? args.search.toLowerCase() : undefined;
|
|
90
162
|
const allTokens = await sdk.dex.symbols.list();
|
|
91
163
|
const filtered = search === undefined
|
|
92
164
|
? allTokens
|
|
93
165
|
: allTokens.filter((token) => token.symbol.toLowerCase().includes(search));
|
|
94
|
-
const pageSize = typeof args.pageSize === 'number' ? args.pageSize :
|
|
95
|
-
const
|
|
96
|
-
|
|
166
|
+
const pageSize = typeof args.pageSize === 'number' ? args.pageSize : DEFAULT_TOKEN_PAGE_SIZE;
|
|
167
|
+
const offset = decodeOffset(args.cursor);
|
|
168
|
+
const page = filtered.slice(offset, offset + pageSize);
|
|
169
|
+
const nextOffset = offset + page.length;
|
|
170
|
+
return formatSuccess({
|
|
171
|
+
count: filtered.length,
|
|
172
|
+
page: Math.floor(offset / pageSize) + 1,
|
|
173
|
+
limit: page.length,
|
|
174
|
+
hasMore: nextOffset < filtered.length,
|
|
175
|
+
...(nextOffset < filtered.length ? { nextCursor: encodeOffset(nextOffset) } : {}),
|
|
176
|
+
tokens: mapTokenMetadataArray(page),
|
|
177
|
+
});
|
|
97
178
|
}),
|
|
98
179
|
};
|
|
99
|
-
|
|
180
|
+
export const fetchAllAvailableDexTokensTool = {
|
|
100
181
|
name: 'gala_launchpad_fetch_all_available_dex_tokens',
|
|
101
182
|
description: 'List all registered GSwap trading symbols through sdk.dex.symbols.list.',
|
|
102
|
-
inputSchema: { type: 'object', properties: { search:
|
|
103
|
-
handler:
|
|
183
|
+
inputSchema: { type: 'object', properties: { search: SEARCH_SCHEMA }, required: [] },
|
|
184
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
104
185
|
const search = typeof args.search === 'string' ? args.search.toLowerCase() : undefined;
|
|
105
186
|
const tokens = await sdk.dex.symbols.list();
|
|
106
187
|
const filtered = search === undefined
|
|
107
188
|
? tokens
|
|
108
189
|
: tokens.filter((token) => token.symbol.toLowerCase().includes(search));
|
|
109
|
-
return
|
|
190
|
+
return formatSuccess({ tokenCount: filtered.length, tokens: mapTokenMetadataArray(filtered) });
|
|
110
191
|
}),
|
|
111
192
|
};
|
|
112
193
|
function requiredString(args, name) {
|
|
@@ -115,13 +196,13 @@ function requiredString(args, name) {
|
|
|
115
196
|
throw new Error(`${name} must be a non-empty string`);
|
|
116
197
|
return value;
|
|
117
198
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
199
|
+
export const dexPoolsTools = [
|
|
200
|
+
fetchDexPoolsTool,
|
|
201
|
+
fetchAllDexPoolsTool,
|
|
202
|
+
getSwapPoolInfoTool,
|
|
203
|
+
fetchCompositePoolDataTool,
|
|
204
|
+
getSwapPoolPriceTool,
|
|
205
|
+
fetchAvailableDexTokensTool,
|
|
206
|
+
fetchAllAvailableDexTokensTool,
|
|
126
207
|
];
|
|
127
208
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/dex-pools/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/dex-pools/index.ts"],"names":[],"mappings":"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"}
|