@gala-chain/launchpad-mcp-server 5.0.2-beta.1 → 5.0.4-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -21
- package/dist/ai-docs.json +7357 -0
- package/dist/constants/mcpToolNames.d.ts +3 -1
- package/dist/constants/mcpToolNames.d.ts.map +1 -1
- package/dist/constants/mcpToolNames.js +2 -1
- package/dist/constants/mcpToolNames.js.map +1 -1
- package/dist/explain-sdk-usage-ai.json +3445 -0
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/prompts/account.d.ts +24 -0
- package/dist/prompts/account.d.ts.map +1 -0
- package/dist/prompts/account.js +89 -0
- package/dist/prompts/account.js.map +1 -0
- package/dist/prompts/api-keys.d.ts +36 -0
- package/dist/prompts/api-keys.d.ts.map +1 -0
- package/dist/prompts/api-keys.js +251 -0
- package/dist/prompts/api-keys.js.map +1 -0
- package/dist/prompts/auth.d.ts +29 -0
- package/dist/prompts/auth.d.ts.map +1 -0
- package/dist/prompts/auth.js +127 -0
- package/dist/prompts/auth.js.map +1 -0
- package/dist/prompts/balances.d.ts.map +1 -1
- package/dist/prompts/balances.js +17 -17
- package/dist/prompts/balances.js.map +1 -1
- package/dist/prompts/bans.d.ts +23 -0
- package/dist/prompts/bans.d.ts.map +1 -0
- package/dist/prompts/bans.js +82 -0
- package/dist/prompts/bans.js.map +1 -0
- package/dist/prompts/bridge.d.ts +2 -1
- package/dist/prompts/bridge.d.ts.map +1 -1
- package/dist/prompts/bridge.js +91 -227
- package/dist/prompts/bridge.js.map +1 -1
- package/dist/prompts/burns.d.ts +30 -0
- package/dist/prompts/burns.d.ts.map +1 -0
- package/dist/prompts/burns.js +127 -0
- package/dist/prompts/burns.js.map +1 -0
- package/dist/prompts/chat-messages.d.ts +21 -0
- package/dist/prompts/chat-messages.d.ts.map +1 -0
- package/dist/prompts/chat-messages.js +103 -0
- package/dist/prompts/chat-messages.js.map +1 -0
- package/dist/prompts/chat.d.ts +67 -0
- package/dist/prompts/chat.d.ts.map +1 -0
- package/dist/prompts/chat.js +355 -0
- package/dist/prompts/chat.js.map +1 -0
- package/dist/prompts/comments.d.ts +29 -0
- package/dist/prompts/comments.d.ts.map +1 -0
- package/dist/prompts/comments.js +133 -0
- package/dist/prompts/comments.js.map +1 -0
- package/dist/prompts/content-flags.d.ts +29 -0
- package/dist/prompts/content-flags.d.ts.map +1 -0
- package/dist/prompts/content-flags.js +248 -0
- package/dist/prompts/content-flags.js.map +1 -0
- package/dist/prompts/content-reactions.d.ts +29 -0
- package/dist/prompts/content-reactions.d.ts.map +1 -0
- package/dist/prompts/content-reactions.js +77 -0
- package/dist/prompts/content-reactions.js.map +1 -0
- package/dist/prompts/create-token.d.ts.map +1 -1
- package/dist/prompts/create-token.js +11 -18
- package/dist/prompts/create-token.js.map +1 -1
- package/dist/prompts/dex-trading.d.ts.map +1 -1
- package/dist/prompts/dex-trading.js +11 -42
- package/dist/prompts/dex-trading.js.map +1 -1
- package/dist/prompts/discover-tokens.d.ts.map +1 -1
- package/dist/prompts/discover-tokens.js +11 -26
- package/dist/prompts/discover-tokens.js.map +1 -1
- package/dist/prompts/event-subscriptions.d.ts +45 -0
- package/dist/prompts/event-subscriptions.d.ts.map +1 -0
- package/dist/prompts/event-subscriptions.js +330 -0
- package/dist/prompts/event-subscriptions.js.map +1 -0
- package/dist/prompts/explore-dex-pools.d.ts +2 -0
- package/dist/prompts/explore-dex-pools.d.ts.map +1 -1
- package/dist/prompts/explore-dex-pools.js +26 -104
- package/dist/prompts/explore-dex-pools.js.map +1 -1
- package/dist/prompts/factories/balance-prompt-factory.d.ts +102 -0
- package/dist/prompts/factories/balance-prompt-factory.d.ts.map +1 -0
- package/dist/prompts/factories/balance-prompt-factory.js +176 -0
- package/dist/prompts/factories/balance-prompt-factory.js.map +1 -0
- package/dist/prompts/factories/ban-management-factory.d.ts +90 -0
- package/dist/prompts/factories/ban-management-factory.d.ts.map +1 -0
- package/dist/prompts/factories/ban-management-factory.js +330 -0
- package/dist/prompts/factories/ban-management-factory.js.map +1 -0
- package/dist/prompts/factories/calculation-prompt-factory.d.ts +119 -0
- package/dist/prompts/factories/calculation-prompt-factory.d.ts.map +1 -0
- package/dist/prompts/factories/calculation-prompt-factory.js +183 -0
- package/dist/prompts/factories/calculation-prompt-factory.js.map +1 -0
- package/dist/prompts/factories/discovery-prompt-factory.d.ts +135 -0
- package/dist/prompts/factories/discovery-prompt-factory.d.ts.map +1 -0
- package/dist/prompts/factories/discovery-prompt-factory.js +240 -0
- package/dist/prompts/factories/discovery-prompt-factory.js.map +1 -0
- package/dist/prompts/factories/event-subscription-factory.d.ts +177 -0
- package/dist/prompts/factories/event-subscription-factory.d.ts.map +1 -0
- package/dist/prompts/factories/event-subscription-factory.js +329 -0
- package/dist/prompts/factories/event-subscription-factory.js.map +1 -0
- package/dist/prompts/factories/filtered-list-prompt-factory.d.ts +95 -0
- package/dist/prompts/factories/filtered-list-prompt-factory.d.ts.map +1 -0
- package/dist/prompts/factories/filtered-list-prompt-factory.js +147 -0
- package/dist/prompts/factories/filtered-list-prompt-factory.js.map +1 -0
- package/dist/prompts/factories/index.d.ts +33 -0
- package/dist/prompts/factories/index.d.ts.map +1 -0
- package/dist/prompts/factories/index.js +91 -0
- package/dist/prompts/factories/index.js.map +1 -0
- package/dist/prompts/factories/invite-management-factory.d.ts +88 -0
- package/dist/prompts/factories/invite-management-factory.d.ts.map +1 -0
- package/dist/prompts/factories/invite-management-factory.js +262 -0
- package/dist/prompts/factories/invite-management-factory.js.map +1 -0
- package/dist/prompts/factories/reaction-prompt-factory.d.ts +81 -0
- package/dist/prompts/factories/reaction-prompt-factory.d.ts.map +1 -0
- package/dist/prompts/factories/reaction-prompt-factory.js +188 -0
- package/dist/prompts/factories/reaction-prompt-factory.js.map +1 -0
- package/dist/prompts/factories/simple-operation-factory.d.ts +166 -0
- package/dist/prompts/factories/simple-operation-factory.d.ts.map +1 -0
- package/dist/prompts/factories/simple-operation-factory.js +218 -0
- package/dist/prompts/factories/simple-operation-factory.js.map +1 -0
- package/dist/prompts/index.d.ts +31 -6
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +136 -5
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/locks.d.ts.map +1 -1
- package/dist/prompts/locks.js +32 -56
- package/dist/prompts/locks.js.map +1 -1
- package/dist/prompts/moderators.d.ts +22 -0
- package/dist/prompts/moderators.d.ts.map +1 -0
- package/dist/prompts/moderators.js +62 -0
- package/dist/prompts/moderators.js.map +1 -0
- package/dist/prompts/monitoring.d.ts +3 -1
- package/dist/prompts/monitoring.d.ts.map +1 -1
- package/dist/prompts/monitoring.js +52 -140
- package/dist/prompts/monitoring.js.map +1 -1
- package/dist/prompts/overseers.d.ts +34 -0
- package/dist/prompts/overseers.d.ts.map +1 -0
- package/dist/prompts/overseers.js +117 -0
- package/dist/prompts/overseers.js.map +1 -0
- package/dist/prompts/pools.d.ts +22 -20
- package/dist/prompts/pools.d.ts.map +1 -1
- package/dist/prompts/pools.js +150 -251
- package/dist/prompts/pools.js.map +1 -1
- package/dist/prompts/portfolio.d.ts.map +1 -1
- package/dist/prompts/portfolio.js +1 -9
- package/dist/prompts/portfolio.js.map +1 -1
- package/dist/prompts/prompt-factories.d.ts +179 -0
- package/dist/prompts/prompt-factories.d.ts.map +1 -0
- package/dist/prompts/prompt-factories.js +230 -0
- package/dist/prompts/prompt-factories.js.map +1 -0
- package/dist/prompts/referrals.d.ts +27 -0
- package/dist/prompts/referrals.d.ts.map +1 -0
- package/dist/prompts/referrals.js +176 -0
- package/dist/prompts/referrals.js.map +1 -0
- package/dist/prompts/streaming.d.ts +84 -0
- package/dist/prompts/streaming.d.ts.map +1 -0
- package/dist/prompts/streaming.js +411 -0
- package/dist/prompts/streaming.js.map +1 -0
- package/dist/prompts/tier1-bridge-operations.d.ts +30 -0
- package/dist/prompts/tier1-bridge-operations.d.ts.map +1 -0
- package/dist/prompts/tier1-bridge-operations.js +634 -0
- package/dist/prompts/tier1-bridge-operations.js.map +1 -0
- package/dist/prompts/tier1-liquidity-management.d.ts +30 -0
- package/dist/prompts/tier1-liquidity-management.d.ts.map +1 -0
- package/dist/prompts/tier1-liquidity-management.js +560 -0
- package/dist/prompts/tier1-liquidity-management.js.map +1 -0
- package/dist/prompts/tier1-pool-discovery.d.ts +30 -0
- package/dist/prompts/tier1-pool-discovery.d.ts.map +1 -0
- package/dist/prompts/tier1-pool-discovery.js +221 -0
- package/dist/prompts/tier1-pool-discovery.js.map +1 -0
- package/dist/prompts/tier1-price-history.d.ts +30 -0
- package/dist/prompts/tier1-price-history.d.ts.map +1 -0
- package/dist/prompts/tier1-price-history.js +429 -0
- package/dist/prompts/tier1-price-history.js.map +1 -0
- package/dist/prompts/tier1-token-analysis.d.ts +30 -0
- package/dist/prompts/tier1-token-analysis.d.ts.map +1 -0
- package/dist/prompts/tier1-token-analysis.js +376 -0
- package/dist/prompts/tier1-token-analysis.js.map +1 -0
- package/dist/prompts/tier2-account-setup.d.ts +24 -0
- package/dist/prompts/tier2-account-setup.d.ts.map +1 -0
- package/dist/prompts/tier2-account-setup.js +206 -0
- package/dist/prompts/tier2-account-setup.js.map +1 -0
- package/dist/prompts/tier2-advanced-liquidity.d.ts +24 -0
- package/dist/prompts/tier2-advanced-liquidity.d.ts.map +1 -0
- package/dist/prompts/tier2-advanced-liquidity.js +298 -0
- package/dist/prompts/tier2-advanced-liquidity.js.map +1 -0
- package/dist/prompts/tier2-asset-management.d.ts +25 -0
- package/dist/prompts/tier2-asset-management.d.ts.map +1 -0
- package/dist/prompts/tier2-asset-management.js +246 -0
- package/dist/prompts/tier2-asset-management.js.map +1 -0
- package/dist/prompts/tier2-token-lifecycle.d.ts +25 -0
- package/dist/prompts/tier2-token-lifecycle.d.ts.map +1 -0
- package/dist/prompts/tier2-token-lifecycle.js +241 -0
- package/dist/prompts/tier2-token-lifecycle.js.map +1 -0
- package/dist/prompts/tier3-community-engagement.d.ts +26 -0
- package/dist/prompts/tier3-community-engagement.d.ts.map +1 -0
- package/dist/prompts/tier3-community-engagement.js +610 -0
- package/dist/prompts/tier3-community-engagement.js.map +1 -0
- package/dist/prompts/tier3-moderation-workflows.d.ts +31 -0
- package/dist/prompts/tier3-moderation-workflows.d.ts.map +1 -0
- package/dist/prompts/tier3-moderation-workflows.js +511 -0
- package/dist/prompts/tier3-moderation-workflows.js.map +1 -0
- package/dist/prompts/tier3-streaming-management.d.ts +26 -0
- package/dist/prompts/tier3-streaming-management.d.ts.map +1 -0
- package/dist/prompts/tier3-streaming-management.js +797 -0
- package/dist/prompts/tier3-streaming-management.js.map +1 -0
- package/dist/prompts/token-bans.d.ts +27 -0
- package/dist/prompts/token-bans.d.ts.map +1 -0
- package/dist/prompts/token-bans.js +77 -0
- package/dist/prompts/token-bans.js.map +1 -0
- package/dist/prompts/trades.d.ts +22 -0
- package/dist/prompts/trades.d.ts.map +1 -0
- package/dist/prompts/trades.js +107 -0
- package/dist/prompts/trades.js.map +1 -0
- package/dist/prompts/trading-calculations.d.ts +3 -1
- package/dist/prompts/trading-calculations.d.ts.map +1 -1
- package/dist/prompts/trading-calculations.js +134 -270
- package/dist/prompts/trading-calculations.js.map +1 -1
- package/dist/prompts/trading.d.ts +10 -1
- package/dist/prompts/trading.d.ts.map +1 -1
- package/dist/prompts/trading.js +128 -2
- package/dist/prompts/trading.js.map +1 -1
- package/dist/prompts/transfers.d.ts +2 -1
- package/dist/prompts/transfers.d.ts.map +1 -1
- package/dist/prompts/transfers.js +26 -30
- package/dist/prompts/transfers.js.map +1 -1
- package/dist/prompts/uploads.d.ts +19 -0
- package/dist/prompts/uploads.d.ts.map +1 -0
- package/dist/prompts/uploads.js +114 -0
- package/dist/prompts/uploads.js.map +1 -0
- package/dist/prompts/utility-tools.d.ts.map +1 -1
- package/dist/prompts/utility-tools.js +27 -18
- package/dist/prompts/utility-tools.js.map +1 -1
- package/dist/prompts/utils/index.d.ts +21 -0
- package/dist/prompts/utils/index.d.ts.map +1 -0
- package/dist/prompts/utils/index.js +38 -0
- package/dist/prompts/utils/index.js.map +1 -0
- package/dist/prompts/utils/pagination-helpers.d.ts +95 -0
- package/dist/prompts/utils/pagination-helpers.d.ts.map +1 -0
- package/dist/prompts/utils/pagination-helpers.js +121 -0
- package/dist/prompts/utils/pagination-helpers.js.map +1 -0
- package/dist/prompts/utils/workflowTemplates.d.ts.map +1 -1
- package/dist/prompts/utils/workflowTemplates.js +4 -3
- package/dist/prompts/utils/workflowTemplates.js.map +1 -1
- package/dist/prompts/wallet.d.ts +24 -0
- package/dist/prompts/wallet.d.ts.map +1 -0
- package/dist/prompts/wallet.js +139 -0
- package/dist/prompts/wallet.js.map +1 -0
- package/dist/schemas/common-schemas.d.ts +890 -0
- package/dist/schemas/common-schemas.d.ts.map +1 -1
- package/dist/schemas/common-schemas.js +853 -1
- package/dist/schemas/common-schemas.js.map +1 -1
- package/dist/server.d.ts +31 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +68 -7
- package/dist/server.js.map +1 -1
- package/dist/tools/api-keys/index.d.ts +41 -0
- package/dist/tools/api-keys/index.d.ts.map +1 -0
- package/dist/tools/api-keys/index.js +245 -0
- package/dist/tools/api-keys/index.js.map +1 -0
- package/dist/tools/auth/index.d.ts +19 -0
- package/dist/tools/auth/index.d.ts.map +1 -0
- package/dist/tools/auth/index.js +138 -0
- package/dist/tools/auth/index.js.map +1 -0
- package/dist/tools/balance/helpers/format-balance.d.ts +86 -0
- package/dist/tools/balance/helpers/format-balance.d.ts.map +1 -0
- package/dist/tools/balance/helpers/format-balance.js +87 -0
- package/dist/tools/balance/helpers/format-balance.js.map +1 -0
- package/dist/tools/balance/index.d.ts +4 -4
- package/dist/tools/balance/index.d.ts.map +1 -1
- package/dist/tools/balance/index.js +64 -176
- package/dist/tools/balance/index.js.map +1 -1
- package/dist/tools/ban/index.d.ts +37 -0
- package/dist/tools/ban/index.d.ts.map +1 -0
- package/dist/tools/ban/index.js +206 -0
- package/dist/tools/ban/index.js.map +1 -0
- package/dist/tools/bridge/helpers/bridgeable-token-tools.d.ts +87 -0
- package/dist/tools/bridge/helpers/bridgeable-token-tools.d.ts.map +1 -0
- package/dist/tools/bridge/helpers/bridgeable-token-tools.js +130 -0
- package/dist/tools/bridge/helpers/bridgeable-token-tools.js.map +1 -0
- package/dist/tools/bridge/helpers/external-chain-balance-tools.d.ts +87 -0
- package/dist/tools/bridge/helpers/external-chain-balance-tools.d.ts.map +1 -0
- package/dist/tools/bridge/helpers/external-chain-balance-tools.js +167 -0
- package/dist/tools/bridge/helpers/external-chain-balance-tools.js.map +1 -0
- package/dist/tools/bridge/index.d.ts +3 -7
- package/dist/tools/bridge/index.d.ts.map +1 -1
- package/dist/tools/bridge/index.js +89 -371
- package/dist/tools/bridge/index.js.map +1 -1
- package/dist/tools/burns/index.d.ts.map +1 -1
- package/dist/tools/burns/index.js +8 -36
- package/dist/tools/burns/index.js.map +1 -1
- package/dist/tools/chat/getPinnedChatMessage.d.ts +15 -0
- package/dist/tools/chat/getPinnedChatMessage.d.ts.map +1 -0
- package/dist/tools/chat/getPinnedChatMessage.js +37 -0
- package/dist/tools/chat/getPinnedChatMessage.js.map +1 -0
- package/dist/tools/chat/index.d.ts +73 -0
- package/dist/tools/chat/index.d.ts.map +1 -0
- package/dist/tools/chat/index.js +359 -0
- package/dist/tools/chat/index.js.map +1 -0
- package/dist/tools/chat/pinChatMessage.d.ts +16 -0
- package/dist/tools/chat/pinChatMessage.d.ts.map +1 -0
- package/dist/tools/chat/pinChatMessage.js +51 -0
- package/dist/tools/chat/pinChatMessage.js.map +1 -0
- package/dist/tools/chat/unpinChatMessage.d.ts +16 -0
- package/dist/tools/chat/unpinChatMessage.d.ts.map +1 -0
- package/dist/tools/chat/unpinChatMessage.js +39 -0
- package/dist/tools/chat/unpinChatMessage.js.map +1 -0
- package/dist/tools/chat-messages/index.d.ts +35 -0
- package/dist/tools/chat-messages/index.d.ts.map +1 -0
- package/dist/tools/chat-messages/index.js +165 -0
- package/dist/tools/chat-messages/index.js.map +1 -0
- package/dist/tools/comments/index.d.ts +44 -0
- package/dist/tools/comments/index.d.ts.map +1 -0
- package/dist/tools/comments/index.js +171 -0
- package/dist/tools/comments/index.js.map +1 -0
- package/dist/tools/content-flags/index.d.ts +38 -0
- package/dist/tools/content-flags/index.d.ts.map +1 -0
- package/dist/tools/content-flags/index.js +282 -0
- package/dist/tools/content-flags/index.js.map +1 -0
- package/dist/tools/content-reactions/index.d.ts +43 -0
- package/dist/tools/content-reactions/index.d.ts.map +1 -0
- package/dist/tools/content-reactions/index.js +135 -0
- package/dist/tools/content-reactions/index.js.map +1 -0
- package/dist/tools/creation/index.d.ts.map +1 -1
- package/dist/tools/creation/index.js +2 -5
- package/dist/tools/creation/index.js.map +1 -1
- package/dist/tools/dex/fetchAllDexPools.d.ts.map +1 -1
- package/dist/tools/dex/fetchAllDexPools.js +5 -21
- package/dist/tools/dex/fetchAllDexPools.js.map +1 -1
- package/dist/tools/dex/fetchDexPools.d.ts.map +1 -1
- package/dist/tools/dex/fetchDexPools.js +11 -28
- package/dist/tools/dex/fetchDexPools.js.map +1 -1
- package/dist/tools/dex/helpers.d.ts +479 -0
- package/dist/tools/dex/helpers.d.ts.map +1 -0
- package/dist/tools/dex/helpers.js +570 -0
- package/dist/tools/dex/helpers.js.map +1 -0
- package/dist/tools/dex/index.d.ts +50 -11
- package/dist/tools/dex/index.d.ts.map +1 -1
- package/dist/tools/dex/index.js +124 -486
- package/dist/tools/dex/index.js.map +1 -1
- package/dist/tools/dex/leaderboard.d.ts.map +1 -1
- package/dist/tools/dex/leaderboard.js +5 -70
- package/dist/tools/dex/leaderboard.js.map +1 -1
- package/dist/tools/dex/liquidity-positions.d.ts.map +1 -1
- package/dist/tools/dex/liquidity-positions.js +20 -91
- package/dist/tools/dex/liquidity-positions.js.map +1 -1
- package/dist/tools/dex/volume.d.ts.map +1 -1
- package/dist/tools/dex/volume.js +6 -21
- package/dist/tools/dex/volume.js.map +1 -1
- package/dist/tools/dex-analytics/index.d.ts +48 -0
- package/dist/tools/dex-analytics/index.d.ts.map +1 -0
- package/dist/tools/dex-analytics/index.js +111 -0
- package/dist/tools/dex-analytics/index.js.map +1 -0
- package/dist/tools/dex-liquidity/index.d.ts +22 -0
- package/dist/tools/dex-liquidity/index.d.ts.map +1 -0
- package/dist/tools/dex-liquidity/index.js +384 -0
- package/dist/tools/dex-liquidity/index.js.map +1 -0
- package/dist/tools/dex-pools/index.d.ts +60 -0
- package/dist/tools/dex-pools/index.d.ts.map +1 -0
- package/dist/tools/dex-pools/index.js +231 -0
- package/dist/tools/dex-pools/index.js.map +1 -0
- package/dist/tools/handler-factories.d.ts +1401 -0
- package/dist/tools/handler-factories.d.ts.map +1 -0
- package/dist/tools/handler-factories.js +1680 -0
- package/dist/tools/handler-factories.js.map +1 -0
- package/dist/tools/index.d.ts +1 -11
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +171 -27
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/locks/index.d.ts +2 -0
- package/dist/tools/locks/index.d.ts.map +1 -1
- package/dist/tools/locks/index.js +9 -86
- package/dist/tools/locks/index.js.map +1 -1
- package/dist/tools/moderators/index.d.ts +53 -0
- package/dist/tools/moderators/index.d.ts.map +1 -0
- package/dist/tools/moderators/index.js +258 -0
- package/dist/tools/moderators/index.js.map +1 -0
- package/dist/tools/overseers/getOverseerUserSummary.d.ts +15 -0
- package/dist/tools/overseers/getOverseerUserSummary.d.ts.map +1 -0
- package/dist/tools/overseers/getOverseerUserSummary.js +40 -0
- package/dist/tools/overseers/getOverseerUserSummary.js.map +1 -0
- package/dist/tools/overseers/index.d.ts +58 -0
- package/dist/tools/overseers/index.d.ts.map +1 -0
- package/dist/tools/overseers/index.js +325 -0
- package/dist/tools/overseers/index.js.map +1 -0
- package/dist/tools/overseers/listOverseerUsers.d.ts +15 -0
- package/dist/tools/overseers/listOverseerUsers.d.ts.map +1 -0
- package/dist/tools/overseers/listOverseerUsers.js +76 -0
- package/dist/tools/overseers/listOverseerUsers.js.map +1 -0
- package/dist/tools/pagination-handler-factory.d.ts +131 -0
- package/dist/tools/pagination-handler-factory.d.ts.map +1 -0
- package/dist/tools/pagination-handler-factory.js +159 -0
- package/dist/tools/pagination-handler-factory.js.map +1 -0
- package/dist/tools/pools/checkPoolExists.d.ts +16 -0
- package/dist/tools/pools/checkPoolExists.d.ts.map +1 -0
- package/dist/tools/pools/checkPoolExists.js +48 -0
- package/dist/tools/pools/checkPoolExists.js.map +1 -0
- package/dist/tools/pools/fetchAllPools.d.ts.map +1 -1
- package/dist/tools/pools/fetchAllPools.js +51 -11
- package/dist/tools/pools/fetchAllPools.js.map +1 -1
- package/dist/tools/pools/fetchAllPriceHistory.d.ts.map +1 -1
- package/dist/tools/pools/fetchAllPriceHistory.js +11 -51
- package/dist/tools/pools/fetchAllPriceHistory.js.map +1 -1
- package/dist/tools/pools/fetchPoolDetails.d.ts.map +1 -1
- package/dist/tools/pools/fetchPoolDetails.js +4 -11
- package/dist/tools/pools/fetchPoolDetails.js.map +1 -1
- package/dist/tools/pools/fetchPools.d.ts.map +1 -1
- package/dist/tools/pools/fetchPools.js +40 -20
- package/dist/tools/pools/fetchPools.js.map +1 -1
- package/dist/tools/pools/fetchPriceHistory.d.ts.map +1 -1
- package/dist/tools/pools/fetchPriceHistory.js +10 -51
- package/dist/tools/pools/fetchPriceHistory.js.map +1 -1
- package/dist/tools/pools/fetchTokenDetails.d.ts.map +1 -1
- package/dist/tools/pools/fetchTokenDetails.js +4 -35
- package/dist/tools/pools/fetchTokenDetails.js.map +1 -1
- package/dist/tools/pools/index.d.ts +2 -0
- package/dist/tools/pools/index.d.ts.map +1 -1
- package/dist/tools/pools/index.js +103 -35
- package/dist/tools/pools/index.js.map +1 -1
- package/dist/tools/pools/onDexPoolCreation.d.ts +1 -2
- package/dist/tools/pools/onDexPoolCreation.d.ts.map +1 -1
- package/dist/tools/pools/onDexPoolCreation.js +14 -48
- package/dist/tools/pools/onDexPoolCreation.js.map +1 -1
- package/dist/tools/pools/onLaunchpadTokenCreation.d.ts +1 -2
- package/dist/tools/pools/onLaunchpadTokenCreation.d.ts.map +1 -1
- package/dist/tools/pools/onLaunchpadTokenCreation.js +9 -42
- package/dist/tools/pools/onLaunchpadTokenCreation.js.map +1 -1
- package/dist/tools/pools/priceHistoryFactory.d.ts +44 -0
- package/dist/tools/pools/priceHistoryFactory.d.ts.map +1 -0
- package/dist/tools/pools/priceHistoryFactory.js +154 -0
- package/dist/tools/pools/priceHistoryFactory.js.map +1 -0
- package/dist/tools/pools/updateTokenSocials.d.ts +16 -0
- package/dist/tools/pools/updateTokenSocials.d.ts.map +1 -0
- package/dist/tools/pools/updateTokenSocials.js +84 -0
- package/dist/tools/pools/updateTokenSocials.js.map +1 -0
- package/dist/tools/referrals/index.d.ts +12 -0
- package/dist/tools/referrals/index.d.ts.map +1 -0
- package/dist/tools/referrals/index.js +110 -0
- package/dist/tools/referrals/index.js.map +1 -0
- package/dist/tools/streaming/index.d.ts +94 -0
- package/dist/tools/streaming/index.d.ts.map +1 -0
- package/dist/tools/streaming/index.js +549 -0
- package/dist/tools/streaming/index.js.map +1 -0
- package/dist/tools/streaming/setNextLiveStreamCountdown.d.ts +16 -0
- package/dist/tools/streaming/setNextLiveStreamCountdown.d.ts.map +1 -0
- package/dist/tools/streaming/setNextLiveStreamCountdown.js +62 -0
- package/dist/tools/streaming/setNextLiveStreamCountdown.js.map +1 -0
- package/dist/tools/token-ban/index.d.ts +39 -0
- package/dist/tools/token-ban/index.d.ts.map +1 -0
- package/dist/tools/token-ban/index.js +177 -0
- package/dist/tools/token-ban/index.js.map +1 -0
- package/dist/tools/tool-factory.d.ts +84 -0
- package/dist/tools/tool-factory.d.ts.map +1 -0
- package/dist/tools/tool-factory.js +135 -0
- package/dist/tools/tool-factory.js.map +1 -0
- package/dist/tools/trades/index.d.ts +20 -0
- package/dist/tools/trades/index.d.ts.map +1 -0
- package/dist/tools/trades/index.js +113 -0
- package/dist/tools/trades/index.js.map +1 -0
- package/dist/tools/trading/helpers/arg-extractors.d.ts +128 -0
- package/dist/tools/trading/helpers/arg-extractors.d.ts.map +1 -0
- package/dist/tools/trading/helpers/arg-extractors.js +215 -0
- package/dist/tools/trading/helpers/arg-extractors.js.map +1 -0
- package/dist/tools/trading/helpers/index.d.ts +8 -0
- package/dist/tools/trading/helpers/index.d.ts.map +1 -0
- package/dist/tools/trading/helpers/index.js +24 -0
- package/dist/tools/trading/helpers/index.js.map +1 -0
- package/dist/tools/trading/helpers/trading-schemas.d.ts +276 -0
- package/dist/tools/trading/helpers/trading-schemas.d.ts.map +1 -0
- package/dist/tools/trading/helpers/trading-schemas.js +310 -0
- package/dist/tools/trading/helpers/trading-schemas.js.map +1 -0
- package/dist/tools/trading/index.d.ts +2 -0
- package/dist/tools/trading/index.d.ts.map +1 -1
- package/dist/tools/trading/index.js +148 -371
- package/dist/tools/trading/index.js.map +1 -1
- package/dist/tools/transfers/index.d.ts +3 -0
- package/dist/tools/transfers/index.d.ts.map +1 -1
- package/dist/tools/transfers/index.js +72 -52
- package/dist/tools/transfers/index.js.map +1 -1
- package/dist/tools/utils/cleanup.d.ts.map +1 -1
- package/dist/tools/utils/cleanup.js +2 -9
- package/dist/tools/utils/cleanup.js.map +1 -1
- package/dist/tools/utils/clearCache.d.ts.map +1 -1
- package/dist/tools/utils/clearCache.js +5 -7
- package/dist/tools/utils/clearCache.js.map +1 -1
- package/dist/tools/utils/explainSdkUsage.d.ts +52 -0
- package/dist/tools/utils/explainSdkUsage.d.ts.map +1 -1
- package/dist/tools/utils/explainSdkUsage.js +1905 -93
- package/dist/tools/utils/explainSdkUsage.js.map +1 -1
- package/dist/tools/utils/getEthereumAddressFromPrivateKey.d.ts.map +1 -1
- package/dist/tools/utils/getEthereumAddressFromPrivateKey.js +2 -1
- package/dist/tools/utils/getEthereumAddressFromPrivateKey.js.map +1 -1
- package/dist/tools/utils/index.d.ts +2 -0
- package/dist/tools/utils/index.d.ts.map +1 -1
- package/dist/tools/utils/index.js +2 -12
- package/dist/tools/utils/index.js.map +1 -1
- package/dist/tools/wallet/index.d.ts +7 -0
- package/dist/tools/wallet/index.d.ts.map +1 -0
- package/dist/tools/wallet/index.js +24 -0
- package/dist/tools/wallet/index.js.map +1 -0
- package/dist/utils/date-converter.d.ts +58 -0
- package/dist/utils/date-converter.d.ts.map +1 -0
- package/dist/utils/date-converter.js +83 -0
- package/dist/utils/date-converter.js.map +1 -0
- package/dist/utils/pool-filter-builder.d.ts +78 -0
- package/dist/utils/pool-filter-builder.d.ts.map +1 -0
- package/dist/utils/pool-filter-builder.js +130 -0
- package/dist/utils/pool-filter-builder.js.map +1 -0
- package/dist/utils/safe-parsers.d.ts +87 -0
- package/dist/utils/safe-parsers.d.ts.map +1 -0
- package/dist/utils/safe-parsers.js +134 -0
- package/dist/utils/safe-parsers.js.map +1 -0
- package/dist/utils/validation.d.ts +5 -5
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +24 -21
- package/dist/utils/validation.js.map +1 -1
- package/package.json +23 -15
- package/.env.example +0 -21
- package/.eslintrc.json +0 -88
- package/CHANGELOG.md +0 -2161
- package/DOCS_AUDIT_REPORT.md +0 -189
- package/DRY_REFACTORING_GUIDE.md +0 -271
- package/MCP_COVERAGE_REPORT.md +0 -164
- package/MCP_TEST_ANALYSIS.md +0 -317
- package/jest.integration.config.js +0 -70
- package/scripts/inject-version.ts +0 -31
- package/scripts/validate-mcp-test-analysis.ts +0 -250
|
@@ -0,0 +1,570 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* DEX Helper Utilities
|
|
4
|
+
*
|
|
5
|
+
* Shared formatting and validation functions for DEX tools.
|
|
6
|
+
* Reduces duplication across quote, position, volume, and swap tools.
|
|
7
|
+
*
|
|
8
|
+
* Contains:
|
|
9
|
+
* - Quote response formatting (SwapQuoteResult, DexPoolQuoteResult)
|
|
10
|
+
* - Liquidity position formatting
|
|
11
|
+
* - Wallet validation
|
|
12
|
+
* - Volume trend analysis
|
|
13
|
+
* - Token asset mapping
|
|
14
|
+
* - Handler factories for quote tools
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.VALID_FEE_TIERS = void 0;
|
|
18
|
+
exports.formatQuoteResponse = formatQuoteResponse;
|
|
19
|
+
exports.formatDexPoolQuoteResponse = formatDexPoolQuoteResponse;
|
|
20
|
+
exports.formatPosition = formatPosition;
|
|
21
|
+
exports.formatPositions = formatPositions;
|
|
22
|
+
exports.validateWalletConfigured = validateWalletConfigured;
|
|
23
|
+
exports.formatVolumeTrends = formatVolumeTrends;
|
|
24
|
+
exports.mapTokenAssets = mapTokenAssets;
|
|
25
|
+
exports.formatFeeTierPercent = formatFeeTierPercent;
|
|
26
|
+
exports.formatFeeTiersPercent = formatFeeTiersPercent;
|
|
27
|
+
exports.validateFeeTier = validateFeeTier;
|
|
28
|
+
exports.extractTokenPairParams = extractTokenPairParams;
|
|
29
|
+
exports.extractTokenPairWithTicksParams = extractTokenPairWithTicksParams;
|
|
30
|
+
exports.mapTokenMetadata = mapTokenMetadata;
|
|
31
|
+
exports.mapTokenMetadataArray = mapTokenMetadataArray;
|
|
32
|
+
exports.parsePositionListResult = parsePositionListResult;
|
|
33
|
+
exports.formatPositionListResponse = formatPositionListResponse;
|
|
34
|
+
exports.formatAddLiquidityResponse = formatAddLiquidityResponse;
|
|
35
|
+
exports.createSwapQuoteTool = createSwapQuoteTool;
|
|
36
|
+
exports.createDexPoolQuoteTool = createDexPoolQuoteTool;
|
|
37
|
+
const safe_parsers_js_1 = require("../../utils/safe-parsers.js");
|
|
38
|
+
const response_formatter_js_1 = require("../../utils/response-formatter.js");
|
|
39
|
+
const error_handler_js_1 = require("../../utils/error-handler.js");
|
|
40
|
+
const common_schemas_js_1 = require("../../schemas/common-schemas.js");
|
|
41
|
+
/**
|
|
42
|
+
* Build a standardized quote message.
|
|
43
|
+
*
|
|
44
|
+
* Centralizes the message format pattern used by all quote response formatters.
|
|
45
|
+
* Format: "{prefix} {inputAmount} {fromToken} -> ~{outputAmount} {toToken}{suffix}"
|
|
46
|
+
*
|
|
47
|
+
* @param data - Quote data with tokens and amounts
|
|
48
|
+
* @param options - Message formatting options
|
|
49
|
+
* @returns Formatted quote message string
|
|
50
|
+
*/
|
|
51
|
+
function buildQuoteMessage(data, options) {
|
|
52
|
+
const { fromToken, toToken, inputAmount, outputAmount } = data;
|
|
53
|
+
const { prefix, suffix = '' } = options;
|
|
54
|
+
return `${prefix} ${inputAmount} ${fromToken} -> ~${outputAmount} ${toToken}${suffix}`;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Format a swap quote response with standardized fields.
|
|
58
|
+
*
|
|
59
|
+
* Handles SwapQuoteResult (from getSwapQuote* methods).
|
|
60
|
+
* Adds optional calculationMode for context.
|
|
61
|
+
*
|
|
62
|
+
* @param quote - The quote result to format (SwapQuoteResult)
|
|
63
|
+
* @param mode - Optional calculation mode (e.g., 'local', 'external')
|
|
64
|
+
* @returns Formatted response object with common quote fields
|
|
65
|
+
*/
|
|
66
|
+
function formatQuoteResponse(quote, mode) {
|
|
67
|
+
return {
|
|
68
|
+
fromToken: quote.fromToken,
|
|
69
|
+
toToken: quote.toToken,
|
|
70
|
+
inputAmount: quote.inputAmount,
|
|
71
|
+
estimatedOutput: quote.estimatedOutput,
|
|
72
|
+
feeTier: quote.feeTier,
|
|
73
|
+
priceImpact: quote.priceImpact,
|
|
74
|
+
executionPrice: quote.executionPrice,
|
|
75
|
+
...(mode && { calculationMode: mode }),
|
|
76
|
+
message: buildQuoteMessage({
|
|
77
|
+
fromToken: quote.fromToken,
|
|
78
|
+
toToken: quote.toToken,
|
|
79
|
+
inputAmount: quote.inputAmount,
|
|
80
|
+
outputAmount: quote.estimatedOutput,
|
|
81
|
+
}, { prefix: 'Quote:' }),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Format a DEX pool quote response with additional pool data.
|
|
86
|
+
*
|
|
87
|
+
* Handles DexPoolQuoteResult (from calculateDexPoolQuote* methods).
|
|
88
|
+
* Includes price tracking and optionally cached data indicator.
|
|
89
|
+
*
|
|
90
|
+
* @param quote - The pool quote result to format (DexPoolQuoteResult)
|
|
91
|
+
* @param tokens - Tuple of [fromToken, toToken] symbols
|
|
92
|
+
* @param mode - Calculation mode ('local' or 'external')
|
|
93
|
+
* @param usedCachedData - Whether cached pool data was used (optional)
|
|
94
|
+
* @returns Formatted response object with pool quote fields
|
|
95
|
+
*/
|
|
96
|
+
function formatDexPoolQuoteResponse(quote, tokens, mode, usedCachedData) {
|
|
97
|
+
const [fromToken, toToken] = tokens;
|
|
98
|
+
const modeLabel = mode === 'local' ? 'Local' : 'External';
|
|
99
|
+
return {
|
|
100
|
+
mode,
|
|
101
|
+
fromToken,
|
|
102
|
+
toToken,
|
|
103
|
+
inputAmount: quote.amount0,
|
|
104
|
+
outputAmount: quote.amount1,
|
|
105
|
+
currentSqrtPrice: quote.currentSqrtPrice,
|
|
106
|
+
newSqrtPrice: quote.newSqrtPrice,
|
|
107
|
+
priceImpact: quote.priceImpact,
|
|
108
|
+
executionPrice: quote.executionPrice,
|
|
109
|
+
...(usedCachedData !== undefined && { usedCachedData }),
|
|
110
|
+
message: buildQuoteMessage({ fromToken, toToken, inputAmount: quote.amount0, outputAmount: quote.amount1 }, { prefix: `${modeLabel} quote:`, suffix: usedCachedData ? ' (using cached pool data)' : '' }),
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Format a single liquidity position for MCP response.
|
|
115
|
+
*
|
|
116
|
+
* Core formatting function used by all position-related tools.
|
|
117
|
+
* Extracts and maps position fields consistently with optional metadata.
|
|
118
|
+
*
|
|
119
|
+
* @param position - SDK position object (LiquidityPosition)
|
|
120
|
+
* @param options - Optional formatting options (includeOwner, includeTimestamps)
|
|
121
|
+
* @returns Formatted position object with standardized fields
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* // Basic formatting (for list responses)
|
|
125
|
+
* formatPosition(pos);
|
|
126
|
+
*
|
|
127
|
+
* // With metadata (for detail responses)
|
|
128
|
+
* formatPosition(pos, { includeOwner: true, includeTimestamps: true });
|
|
129
|
+
*/
|
|
130
|
+
function formatPosition(position, options = {}) {
|
|
131
|
+
const base = {
|
|
132
|
+
positionId: position.positionId,
|
|
133
|
+
token0: position.token0,
|
|
134
|
+
token1: position.token1,
|
|
135
|
+
feeTier: position.feeTier,
|
|
136
|
+
liquidity: String(position.liquidity),
|
|
137
|
+
amount0: position.amount0 ? String(position.amount0) : undefined,
|
|
138
|
+
amount1: position.amount1 ? String(position.amount1) : undefined,
|
|
139
|
+
feeAmount0: position.feeAmount0 ? String(position.feeAmount0) : undefined,
|
|
140
|
+
feeAmount1: position.feeAmount1 ? String(position.feeAmount1) : undefined,
|
|
141
|
+
tickLower: position.tickLower,
|
|
142
|
+
tickUpper: position.tickUpper,
|
|
143
|
+
};
|
|
144
|
+
if (options.includeOwner && position.ownerAddress) {
|
|
145
|
+
base.ownerAddress = position.ownerAddress;
|
|
146
|
+
}
|
|
147
|
+
if (options.includeTimestamps) {
|
|
148
|
+
base.createdAt = position.createdAt ? position.createdAt.toISOString() : undefined;
|
|
149
|
+
base.updatedAt = position.updatedAt ? position.updatedAt.toISOString() : undefined;
|
|
150
|
+
}
|
|
151
|
+
return base;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Format liquidity position data for MCP response.
|
|
155
|
+
*
|
|
156
|
+
* Convenience wrapper around formatPosition for array mapping.
|
|
157
|
+
* Handles null/undefined positions gracefully.
|
|
158
|
+
*
|
|
159
|
+
* @param positions - Array of position objects (LiquidityPosition) to format
|
|
160
|
+
* @param options - Optional formatting options passed to each position
|
|
161
|
+
* @returns Formatted positions array with standardized fields
|
|
162
|
+
*/
|
|
163
|
+
function formatPositions(positions, options = {}) {
|
|
164
|
+
return (positions && Array.isArray(positions))
|
|
165
|
+
? positions.map((pos) => formatPosition(pos, options))
|
|
166
|
+
: [];
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Validate that a wallet is configured.
|
|
170
|
+
*
|
|
171
|
+
* Checks if SDK has a valid wallet address configured by attempting to get address.
|
|
172
|
+
* Used before wallet-required operations.
|
|
173
|
+
*
|
|
174
|
+
* @param sdk - LaunchpadSDK instance
|
|
175
|
+
* @throws Error if wallet not configured
|
|
176
|
+
*/
|
|
177
|
+
function validateWalletConfigured(sdk) {
|
|
178
|
+
try {
|
|
179
|
+
sdk.getAddress();
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
throw new Error('Wallet not configured - required for this operation');
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Format volume trend analysis.
|
|
187
|
+
*
|
|
188
|
+
* Extracts trend direction and percentage change for volume metrics.
|
|
189
|
+
* Used for consistent volume summary formatting across tools.
|
|
190
|
+
*
|
|
191
|
+
* @param volume1d - 1-day volume
|
|
192
|
+
* @param volume7d - 7-day volume
|
|
193
|
+
* @param volume30d - 30-day volume
|
|
194
|
+
* @param delta1d - 1-day delta change value
|
|
195
|
+
* @param delta7d - 7-day delta change value
|
|
196
|
+
* @param delta30d - 30-day delta change value
|
|
197
|
+
* @returns Formatted trend analysis object
|
|
198
|
+
*/
|
|
199
|
+
function formatVolumeTrends(volume1d, volume7d, volume30d, delta1d, delta7d, delta30d) {
|
|
200
|
+
return {
|
|
201
|
+
analysis: {
|
|
202
|
+
volume1dTrend: delta1d > 0 ? 'increasing' : 'decreasing',
|
|
203
|
+
volume7dTrend: delta7d > 0 ? 'increasing' : 'decreasing',
|
|
204
|
+
volume30dTrend: delta30d > 0 ? 'increasing' : 'decreasing',
|
|
205
|
+
volume1dChangePercent: `${(delta1d * 100).toFixed(2)}%`,
|
|
206
|
+
volume7dChangePercent: `${(delta7d * 100).toFixed(2)}%`,
|
|
207
|
+
volume30dChangePercent: `${(delta30d * 100).toFixed(2)}%`,
|
|
208
|
+
},
|
|
209
|
+
formattedMetrics: {
|
|
210
|
+
volume1d: `$${volume1d.toLocaleString('en-US', { maximumFractionDigits: 2 })}`,
|
|
211
|
+
volume7d: `$${volume7d.toLocaleString('en-US', { maximumFractionDigits: 2 })}`,
|
|
212
|
+
volume30d: `$${volume30d.toLocaleString('en-US', { maximumFractionDigits: 2 })}`,
|
|
213
|
+
},
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Map token asset fields for consistent asset formatting.
|
|
218
|
+
*
|
|
219
|
+
* Extracts and formats token asset metadata with rich information.
|
|
220
|
+
* Used for consistent asset mapping across multiple tools.
|
|
221
|
+
*
|
|
222
|
+
* @param assets - Array of asset objects to map
|
|
223
|
+
* @returns Formatted assets array with standardized fields
|
|
224
|
+
*/
|
|
225
|
+
function mapTokenAssets(assets) {
|
|
226
|
+
return (assets || []).map((asset) => ({
|
|
227
|
+
symbol: asset.symbol,
|
|
228
|
+
name: asset.name,
|
|
229
|
+
description: undefined, // GSwapTokenAsset doesn't have description
|
|
230
|
+
image: asset.imageUrl,
|
|
231
|
+
balance: String(asset.balance),
|
|
232
|
+
decimals: asset.decimals,
|
|
233
|
+
verified: undefined, // GSwapTokenAsset doesn't have verified
|
|
234
|
+
compositeKey: typeof asset.tokenId === 'string' ? asset.tokenId : undefined,
|
|
235
|
+
}));
|
|
236
|
+
}
|
|
237
|
+
// =============================================================================
|
|
238
|
+
// Fee Tier Formatting Helpers - Consistent percentage display
|
|
239
|
+
// =============================================================================
|
|
240
|
+
/**
|
|
241
|
+
* Valid GalaSwap fee tiers in basis points.
|
|
242
|
+
* Used for validation and display formatting.
|
|
243
|
+
*/
|
|
244
|
+
exports.VALID_FEE_TIERS = [500, 3000, 10000];
|
|
245
|
+
/**
|
|
246
|
+
* Format a fee tier as a percentage string.
|
|
247
|
+
*
|
|
248
|
+
* Converts basis points to percentage for human-readable display.
|
|
249
|
+
* Uses proper formula: fee / 10000 to get decimal, then format as percentage.
|
|
250
|
+
*
|
|
251
|
+
* @param fee - Fee tier in basis points (500, 3000, or 10000)
|
|
252
|
+
* @returns Formatted percentage string (e.g., "0.05%", "0.30%", "1.00%")
|
|
253
|
+
*
|
|
254
|
+
* @example
|
|
255
|
+
* formatFeeTierPercent(500) // "0.05%"
|
|
256
|
+
* formatFeeTierPercent(3000) // "0.30%"
|
|
257
|
+
* formatFeeTierPercent(10000) // "1.00%"
|
|
258
|
+
*/
|
|
259
|
+
function formatFeeTierPercent(fee) {
|
|
260
|
+
const percent = fee / 10000;
|
|
261
|
+
return `${percent.toFixed(2)}%`;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Format an array of fee tiers as percentage strings.
|
|
265
|
+
*
|
|
266
|
+
* Convenience wrapper for formatting multiple fee tiers.
|
|
267
|
+
* Common use case: pool info response with available fee tiers.
|
|
268
|
+
*
|
|
269
|
+
* @param tiers - Array of fee tiers in basis points
|
|
270
|
+
* @returns Array of formatted percentage strings
|
|
271
|
+
*
|
|
272
|
+
* @example
|
|
273
|
+
* formatFeeTiersPercent([500, 3000, 10000])
|
|
274
|
+
* // ["0.05%", "0.30%", "1.00%"]
|
|
275
|
+
*/
|
|
276
|
+
function formatFeeTiersPercent(tiers) {
|
|
277
|
+
return tiers.map(formatFeeTierPercent);
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Validate that a fee tier is valid.
|
|
281
|
+
*
|
|
282
|
+
* Checks if the provided fee tier is one of the valid GalaSwap fee tiers.
|
|
283
|
+
* Throws an error with helpful message if invalid.
|
|
284
|
+
*
|
|
285
|
+
* @param fee - Fee tier to validate
|
|
286
|
+
* @throws Error if fee tier is not 500, 3000, or 10000
|
|
287
|
+
*
|
|
288
|
+
* @example
|
|
289
|
+
* validateFeeTier(3000); // OK
|
|
290
|
+
* validateFeeTier(1000); // throws Error
|
|
291
|
+
*/
|
|
292
|
+
function validateFeeTier(fee) {
|
|
293
|
+
// Type guard: ensure fee is actually a number before validation
|
|
294
|
+
if (typeof fee !== 'number' || !Number.isFinite(fee)) {
|
|
295
|
+
throw new Error(`Invalid fee tier type: expected number, got ${typeof fee}. ` +
|
|
296
|
+
`Valid fee tiers are: ${exports.VALID_FEE_TIERS.join(', ')} (representing 0.05%, 0.30%, 1.00%)`);
|
|
297
|
+
}
|
|
298
|
+
if (!exports.VALID_FEE_TIERS.includes(fee)) {
|
|
299
|
+
throw new Error(`Invalid fee tier: ${fee}. Valid fee tiers are: ${exports.VALID_FEE_TIERS.join(', ')} (representing 0.05%, 0.30%, 1.00%)`);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Extract token pair parameters (token0, token1, fee) from MCP args.
|
|
304
|
+
*
|
|
305
|
+
* Eliminates repetitive type casting across DEX tools.
|
|
306
|
+
* Used in pool queries, quotes, and liquidity operations.
|
|
307
|
+
*
|
|
308
|
+
* @param args - MCP tool args object
|
|
309
|
+
* @returns Typed token pair parameters
|
|
310
|
+
*
|
|
311
|
+
* @example
|
|
312
|
+
* const { token0, token1, fee } = extractTokenPairParams(args);
|
|
313
|
+
* await sdk.fetchCompositePoolData({ token0, token1, fee });
|
|
314
|
+
*/
|
|
315
|
+
function extractTokenPairParams(args) {
|
|
316
|
+
return {
|
|
317
|
+
token0: args.token0,
|
|
318
|
+
token1: args.token1,
|
|
319
|
+
fee: args.fee,
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Extract token pair with tick range parameters from MCP args.
|
|
324
|
+
*
|
|
325
|
+
* Extends extractTokenPairParams with tick boundaries for concentrated liquidity.
|
|
326
|
+
* Used in position queries, liquidity add/remove, and fee estimation.
|
|
327
|
+
*
|
|
328
|
+
* @param args - MCP tool args object
|
|
329
|
+
* @returns Typed token pair with tick parameters
|
|
330
|
+
*
|
|
331
|
+
* @example
|
|
332
|
+
* const params = extractTokenPairWithTicksParams(args);
|
|
333
|
+
* await sdk.getSwapLiquidityPosition(owner, params);
|
|
334
|
+
*/
|
|
335
|
+
function extractTokenPairWithTicksParams(args) {
|
|
336
|
+
return {
|
|
337
|
+
...extractTokenPairParams(args),
|
|
338
|
+
tickLower: args.tickLower,
|
|
339
|
+
tickUpper: args.tickUpper,
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Map token metadata for DEX token discovery responses.
|
|
344
|
+
*
|
|
345
|
+
* Extracts common token metadata fields for consistent formatting.
|
|
346
|
+
* Used in fetchAvailableDexTokens and fetchAllAvailableDexTokens.
|
|
347
|
+
*
|
|
348
|
+
* @param token - SDK token metadata object
|
|
349
|
+
* @returns Formatted token metadata object
|
|
350
|
+
*/
|
|
351
|
+
function mapTokenMetadata(token) {
|
|
352
|
+
return {
|
|
353
|
+
symbol: token.symbol,
|
|
354
|
+
name: token.name,
|
|
355
|
+
description: token.description,
|
|
356
|
+
image: token.image,
|
|
357
|
+
decimals: token.decimals,
|
|
358
|
+
verified: token.verified,
|
|
359
|
+
compositeKey: token.compositeKey,
|
|
360
|
+
category: token.category,
|
|
361
|
+
type: token.type,
|
|
362
|
+
collection: token.collection,
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Map array of tokens for DEX token discovery responses.
|
|
367
|
+
*
|
|
368
|
+
* Convenience wrapper around mapTokenMetadata for array mapping.
|
|
369
|
+
*
|
|
370
|
+
* @param tokens - Array of SDK token metadata objects
|
|
371
|
+
* @returns Formatted token metadata array
|
|
372
|
+
*
|
|
373
|
+
* @example
|
|
374
|
+
* const tokens = await sdk.fetchAllAvailableDexTokens({ search });
|
|
375
|
+
* return formatSuccess({ tokens: mapTokenMetadataArray(tokens) });
|
|
376
|
+
*/
|
|
377
|
+
function mapTokenMetadataArray(tokens) {
|
|
378
|
+
return (tokens || []).map(mapTokenMetadata);
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Parse SDK position list result into normalized format.
|
|
382
|
+
*
|
|
383
|
+
* Handles both array and object returns for backward compatibility.
|
|
384
|
+
* Used by getUserLiquidityPositions and getAllUserLiquidityPositions.
|
|
385
|
+
*
|
|
386
|
+
* @param result - Raw SDK result (array or object with items/prices)
|
|
387
|
+
* @returns Normalized result with positions, prices map, and count
|
|
388
|
+
*
|
|
389
|
+
* @example
|
|
390
|
+
* const { positions, prices, pricesCount } = parsePositionListResult(result);
|
|
391
|
+
*/
|
|
392
|
+
function parsePositionListResult(result) {
|
|
393
|
+
const positions = Array.isArray(result) ? result : result?.items || [];
|
|
394
|
+
const prices = !Array.isArray(result) && result?.prices ? result.prices : new Map();
|
|
395
|
+
return {
|
|
396
|
+
positions,
|
|
397
|
+
prices,
|
|
398
|
+
pricesCount: prices.size,
|
|
399
|
+
};
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Format position list response with consistent structure.
|
|
403
|
+
*
|
|
404
|
+
* Consolidates the common response formatting logic used by both
|
|
405
|
+
* getUserLiquidityPositions and getAllUserLiquidityPositions tools.
|
|
406
|
+
*
|
|
407
|
+
* @param parsed - Parsed position list result from parsePositionListResult
|
|
408
|
+
* @param options - Formatting options (ownerAddress, withPrices, messageSuffix)
|
|
409
|
+
* @returns Formatted response object ready for formatSuccess()
|
|
410
|
+
*
|
|
411
|
+
* @example
|
|
412
|
+
* const parsed = parsePositionListResult(result);
|
|
413
|
+
* return formatSuccess(formatPositionListResponse(parsed, {
|
|
414
|
+
* ownerAddress: args.ownerAddress,
|
|
415
|
+
* withPrices: !!args.withPrices,
|
|
416
|
+
* messageSuffix: '(auto-paginated)',
|
|
417
|
+
* }));
|
|
418
|
+
*/
|
|
419
|
+
function formatPositionListResponse(parsed, options) {
|
|
420
|
+
const { positions, pricesCount } = parsed;
|
|
421
|
+
const { ownerAddress, withPrices, messageSuffix } = options;
|
|
422
|
+
const positionCount = positions.length;
|
|
423
|
+
// Build message with optional suffix
|
|
424
|
+
const suffix = messageSuffix ? ` ${messageSuffix}` : '';
|
|
425
|
+
const pricingNote = withPrices ? ` with pricing data for ${pricesCount}` : '';
|
|
426
|
+
const message = positionCount > 0
|
|
427
|
+
? `${positionCount} open positions found${suffix}${pricingNote}`
|
|
428
|
+
: 'No open positions found';
|
|
429
|
+
return {
|
|
430
|
+
ownerAddress,
|
|
431
|
+
positionCount,
|
|
432
|
+
positionsWithPricing: pricesCount,
|
|
433
|
+
positions: formatPositions(positions),
|
|
434
|
+
pricingStatus: withPrices
|
|
435
|
+
? `Pricing fetched for ${pricesCount}/${positionCount} positions`
|
|
436
|
+
: 'No pricing requested',
|
|
437
|
+
message,
|
|
438
|
+
};
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Format add liquidity response with consistent structure.
|
|
442
|
+
*
|
|
443
|
+
* Consolidates the common response fields for addLiquidityByPrice and addLiquidityByTicks.
|
|
444
|
+
* Both operations return the same core fields, differing only in range representation.
|
|
445
|
+
*
|
|
446
|
+
* @param result - SDK add liquidity result
|
|
447
|
+
* @param inputArgs - Original input arguments (for fallback amounts)
|
|
448
|
+
* @param rangeField - Object with either priceRange or tickRange field
|
|
449
|
+
* @returns Formatted response object ready for formatSuccess()
|
|
450
|
+
*
|
|
451
|
+
* @example
|
|
452
|
+
* return formatSuccess(formatAddLiquidityResponse(result, typedArgs, {
|
|
453
|
+
* priceRange: `${typedArgs.minPrice} - ${typedArgs.maxPrice}`,
|
|
454
|
+
* }));
|
|
455
|
+
*/
|
|
456
|
+
function formatAddLiquidityResponse(result, inputArgs, rangeField) {
|
|
457
|
+
return {
|
|
458
|
+
transactionId: result.transactionId,
|
|
459
|
+
status: result.status,
|
|
460
|
+
token0: inputArgs.token0,
|
|
461
|
+
token1: inputArgs.token1,
|
|
462
|
+
...rangeField,
|
|
463
|
+
amount0: result.amount0 || inputArgs.amount0Desired,
|
|
464
|
+
amount1: result.amount1 || inputArgs.amount1Desired,
|
|
465
|
+
liquidity: result.liquidity,
|
|
466
|
+
positionId: result.positionId,
|
|
467
|
+
message: `Liquidity added! Position: ${result.positionId || result.transactionId}`,
|
|
468
|
+
};
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Factory function to create swap quote tools with consistent structure.
|
|
472
|
+
*
|
|
473
|
+
* Eliminates duplication between exactInput and exactOutput quote tools.
|
|
474
|
+
* Both tools share identical schema and handler logic, differing only in
|
|
475
|
+
* the description and SDK method called.
|
|
476
|
+
*
|
|
477
|
+
* @param config - Configuration for the quote tool
|
|
478
|
+
* @returns MCPTool definition for the swap quote tool
|
|
479
|
+
*
|
|
480
|
+
* @example
|
|
481
|
+
* const exactInputTool = createSwapQuoteTool({
|
|
482
|
+
* name: 'gala_launchpad_get_swap_quote_exact_input',
|
|
483
|
+
* description: 'Get swap quote for exact input amount',
|
|
484
|
+
* amountDescription: 'Amount of source token to spend',
|
|
485
|
+
* sdkMethod: 'getSwapQuoteExactInput',
|
|
486
|
+
* });
|
|
487
|
+
*/
|
|
488
|
+
function createSwapQuoteTool(config) {
|
|
489
|
+
return {
|
|
490
|
+
name: config.name,
|
|
491
|
+
description: config.description,
|
|
492
|
+
inputSchema: {
|
|
493
|
+
type: 'object',
|
|
494
|
+
properties: {
|
|
495
|
+
...common_schemas_js_1.SWAP_QUOTE_INPUT_SCHEMA,
|
|
496
|
+
amount: {
|
|
497
|
+
...common_schemas_js_1.SWAP_QUOTE_INPUT_SCHEMA.amount,
|
|
498
|
+
description: config.amountDescription,
|
|
499
|
+
},
|
|
500
|
+
},
|
|
501
|
+
required: ['fromToken', 'toToken', 'amount'],
|
|
502
|
+
},
|
|
503
|
+
handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
|
|
504
|
+
const quote = await sdk[config.sdkMethod](args.fromToken, args.toToken, args.amount);
|
|
505
|
+
return (0, response_formatter_js_1.formatSuccess)(formatQuoteResponse(quote));
|
|
506
|
+
}),
|
|
507
|
+
};
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* Factory function to create DEX pool quote tools.
|
|
511
|
+
*
|
|
512
|
+
* Eliminates duplication between local and external pool quote tools.
|
|
513
|
+
* Handles the composite pool data fetching and mode-specific SDK calls.
|
|
514
|
+
*
|
|
515
|
+
* @param config - Configuration for the pool quote tool
|
|
516
|
+
* @returns MCPTool definition for the DEX pool quote tool
|
|
517
|
+
*/
|
|
518
|
+
function createDexPoolQuoteTool(config) {
|
|
519
|
+
const properties = { ...common_schemas_js_1.DEX_POOL_QUOTE_INPUT_SCHEMA };
|
|
520
|
+
if (config.includeCachedDataParam) {
|
|
521
|
+
properties.compositePoolData = {
|
|
522
|
+
type: 'string',
|
|
523
|
+
description: 'Optional: Pre-fetched composite pool data as JSON string from gala_launchpad_fetch_composite_pool_data. If provided, skips fetch for efficiency (ideal for bulk quotes).',
|
|
524
|
+
};
|
|
525
|
+
}
|
|
526
|
+
return {
|
|
527
|
+
name: config.name,
|
|
528
|
+
description: config.description,
|
|
529
|
+
inputSchema: {
|
|
530
|
+
type: 'object',
|
|
531
|
+
properties,
|
|
532
|
+
required: ['token0', 'token1', 'fee', 'fromToken', 'toToken', 'amount'],
|
|
533
|
+
},
|
|
534
|
+
handler: (0, error_handler_js_1.withErrorHandling)(async (sdk, args) => {
|
|
535
|
+
// Use provided composite data or fetch it
|
|
536
|
+
let composite;
|
|
537
|
+
if (config.includeCachedDataParam && args.compositePoolData) {
|
|
538
|
+
const result = (0, safe_parsers_js_1.safeParseJson)(args.compositePoolData, null);
|
|
539
|
+
if (!result) {
|
|
540
|
+
throw new Error(`Invalid compositePoolData JSON: must be a valid JSON object`);
|
|
541
|
+
}
|
|
542
|
+
composite = result;
|
|
543
|
+
// Basic structural validation - SDK will validate fully, but provide better error for obvious issues
|
|
544
|
+
if (!composite || typeof composite !== 'object') {
|
|
545
|
+
throw new Error('compositePoolData must be a JSON object, not a primitive value');
|
|
546
|
+
}
|
|
547
|
+
if (!('pool' in composite) || !('tickDataMap' in composite)) {
|
|
548
|
+
throw new Error('compositePoolData must contain "pool" and "tickDataMap" properties. ' +
|
|
549
|
+
'Use gala_launchpad_fetch_composite_pool_data to get valid pool data.');
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
else {
|
|
553
|
+
composite = await sdk.fetchCompositePoolData(extractTokenPairParams(args));
|
|
554
|
+
}
|
|
555
|
+
// Calculate quote using appropriate SDK method
|
|
556
|
+
const sdkMethod = config.mode === 'local'
|
|
557
|
+
? 'calculateDexPoolQuoteExactAmountLocal'
|
|
558
|
+
: 'calculateDexPoolQuoteExactAmountExternal';
|
|
559
|
+
const quote = await sdk[sdkMethod]({
|
|
560
|
+
compositePoolData: composite,
|
|
561
|
+
fromToken: args.fromToken,
|
|
562
|
+
toToken: args.toToken,
|
|
563
|
+
amount: args.amount,
|
|
564
|
+
});
|
|
565
|
+
const usedCachedData = config.includeCachedDataParam ? !!args.compositePoolData : undefined;
|
|
566
|
+
return (0, response_formatter_js_1.formatSuccess)(formatDexPoolQuoteResponse(quote, [args.fromToken, args.toToken], config.mode, usedCachedData));
|
|
567
|
+
}),
|
|
568
|
+
};
|
|
569
|
+
}
|
|
570
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/tools/dex/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,61 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* DEX
|
|
2
|
+
* DEX Trading Operations Tools
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Core trading tools for executing swaps on GalaSwap DEX.
|
|
5
|
+
* Provides quote generation, swap execution, and user asset queries.
|
|
6
|
+
*
|
|
7
|
+
* Related categories:
|
|
8
|
+
* - dex-pools: Pool discovery and information
|
|
9
|
+
* - dex-liquidity: Liquidity position management
|
|
10
|
+
* - dex-analytics: Leaderboard and volume analytics
|
|
7
11
|
*/
|
|
8
12
|
import type { MCPTool } from '../../types/mcp.js';
|
|
13
|
+
/**
|
|
14
|
+
* 1. Get Swap Quote (Exact Input)
|
|
15
|
+
*
|
|
16
|
+
* Get swap quote for exact input amount - specify how much you want to spend.
|
|
17
|
+
*/
|
|
9
18
|
export declare const getSwapQuoteExactInputTool: MCPTool;
|
|
19
|
+
/**
|
|
20
|
+
* 2. Get Swap Quote (Exact Output)
|
|
21
|
+
*
|
|
22
|
+
* Get swap quote for exact output amount - specify how much you want to receive.
|
|
23
|
+
*/
|
|
10
24
|
export declare const getSwapQuoteExactOutputTool: MCPTool;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
25
|
+
/**
|
|
26
|
+
* 3. Calculate DEX Pool Quote (Local - instant offline calculation)
|
|
27
|
+
*
|
|
28
|
+
* Calculate instant DEX quote using local bonding curve math.
|
|
29
|
+
* Auto-fetches pool data unless compositePoolData is provided (for bulk efficiency).
|
|
30
|
+
*/
|
|
15
31
|
export declare const calculateDexPoolQuoteLocalTool: MCPTool;
|
|
32
|
+
/**
|
|
33
|
+
* 4. Calculate DEX Pool Quote (External - real-time from blockchain)
|
|
34
|
+
*
|
|
35
|
+
* Calculate real-time DEX quote from GalaChain blockchain.
|
|
36
|
+
* Slower than local but always reflects current pool state.
|
|
37
|
+
* Use for final price verification.
|
|
38
|
+
*/
|
|
16
39
|
export declare const calculateDexPoolQuoteExternalTool: MCPTool;
|
|
17
|
-
|
|
40
|
+
/**
|
|
41
|
+
* 5. Execute Swap
|
|
42
|
+
*
|
|
43
|
+
* Execute a token swap on GalaSwap DEX with slippage protection.
|
|
44
|
+
* Get a quote first using getSwapQuote tools.
|
|
45
|
+
*/
|
|
46
|
+
export declare const executeSwapTool: MCPTool;
|
|
47
|
+
/**
|
|
48
|
+
* 6. Get User Assets (with rich metadata)
|
|
49
|
+
*
|
|
50
|
+
* Get all token assets and balances for a wallet address with rich metadata.
|
|
51
|
+
*/
|
|
52
|
+
export declare const getSwapUserAssetsTool: MCPTool;
|
|
53
|
+
/**
|
|
54
|
+
* 7. Get All Swap User Assets (auto-paginated, with rich metadata)
|
|
55
|
+
*
|
|
56
|
+
* Get ALL token assets and balances for a wallet (auto-paginates) with rich metadata.
|
|
57
|
+
* Complete portfolio view for DEX trading.
|
|
58
|
+
*/
|
|
18
59
|
export declare const getAllSwapUserAssetsTool: MCPTool;
|
|
19
|
-
export declare const fetchAvailableDexTokensTool: MCPTool;
|
|
20
|
-
export declare const fetchAllAvailableDexTokensTool: MCPTool;
|
|
21
60
|
export declare const dexTools: MCPTool[];
|
|
22
61
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/dex/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/dex/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAoClD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,OAKvC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,OAKxC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,EAAE,OAM3C,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,EAAE,OAK9C,CAAC;AAMH;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,OAgD7B,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,OAuBnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,OAwBtC,CAAC;AAOF,eAAO,MAAM,QAAQ,EAAE,OAAO,EAQ7B,CAAC"}
|