@gala-chain/launchpad-mcp-server 1.17.5 → 1.17.7

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.
Files changed (90) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +47 -9
  3. package/dist/generated/version.d.ts +1 -1
  4. package/dist/generated/version.js +1 -1
  5. package/dist/server.d.ts +7 -0
  6. package/dist/server.d.ts.map +1 -1
  7. package/dist/server.js +48 -16
  8. package/dist/server.js.map +1 -1
  9. package/dist/tools/index.d.ts +1 -1
  10. package/dist/tools/index.js +2 -2
  11. package/dist/tools/utils/explainSdkUsage.d.ts.map +1 -1
  12. package/dist/tools/utils/explainSdkUsage.js +142 -0
  13. package/dist/tools/utils/explainSdkUsage.js.map +1 -1
  14. package/dist/tools/utils/getWallet.d.ts +8 -0
  15. package/dist/tools/utils/getWallet.d.ts.map +1 -0
  16. package/dist/tools/utils/getWallet.js +27 -0
  17. package/dist/tools/utils/getWallet.js.map +1 -0
  18. package/dist/tools/utils/hasWallet.d.ts +8 -0
  19. package/dist/tools/utils/hasWallet.d.ts.map +1 -0
  20. package/dist/tools/utils/hasWallet.js +17 -0
  21. package/dist/tools/utils/hasWallet.js.map +1 -0
  22. package/dist/tools/utils/index.d.ts.map +1 -1
  23. package/dist/tools/utils/index.js +6 -0
  24. package/dist/tools/utils/index.js.map +1 -1
  25. package/dist/tools/utils/setWallet.d.ts +8 -0
  26. package/dist/tools/utils/setWallet.d.ts.map +1 -0
  27. package/dist/tools/utils/setWallet.js +40 -0
  28. package/dist/tools/utils/setWallet.js.map +1 -0
  29. package/docs/AI-AGENT-PATTERNS.md +555 -0
  30. package/docs/CONSTRAINTS-REFERENCE.md +454 -0
  31. package/docs/PROMPT-TOOL-MAPPING.md +352 -0
  32. package/docs/examples/default-values-pattern.md +240 -0
  33. package/docs/examples/tool-factory-pattern.md +217 -0
  34. package/jest.config.js +94 -0
  35. package/package.json +13 -4
  36. package/src/__tests__/integration/fetchTokenDetails.integration.test.ts +258 -0
  37. package/src/__tests__/integration/poolTools.integration.test.ts +185 -0
  38. package/src/constants/mcpToolNames.ts +141 -0
  39. package/src/index.ts +19 -0
  40. package/src/prompts/__tests__/promptStructure.test.ts +114 -0
  41. package/src/prompts/__tests__/registry.test.ts +145 -0
  42. package/src/prompts/analysis.ts +429 -0
  43. package/src/prompts/index.ts +127 -0
  44. package/src/prompts/portfolio.ts +242 -0
  45. package/src/prompts/trading.ts +191 -0
  46. package/src/prompts/utility.ts +43 -0
  47. package/src/prompts/utils/workflowTemplates.ts +344 -0
  48. package/src/schemas/common-schemas.ts +393 -0
  49. package/src/scripts/test-all-prompts.ts +184 -0
  50. package/src/server.ts +277 -0
  51. package/src/tools/balance/index.ts +174 -0
  52. package/src/tools/creation/index.ts +182 -0
  53. package/src/tools/index.ts +80 -0
  54. package/src/tools/pools/fetchAllPools.ts +47 -0
  55. package/src/tools/pools/fetchAllPriceHistory.ts +119 -0
  56. package/src/tools/pools/fetchPoolDetails.ts +27 -0
  57. package/src/tools/pools/fetchPoolDetailsForCalculation.ts +22 -0
  58. package/src/tools/pools/fetchPools.ts +47 -0
  59. package/src/tools/pools/fetchPriceHistory.ts +124 -0
  60. package/src/tools/pools/fetchTokenDetails.ts +77 -0
  61. package/src/tools/pools/index.ts +284 -0
  62. package/src/tools/social/index.ts +64 -0
  63. package/src/tools/trading/index.ts +605 -0
  64. package/src/tools/transfers/index.ts +75 -0
  65. package/src/tools/utils/clearCache.ts +36 -0
  66. package/src/tools/utils/createWallet.ts +19 -0
  67. package/src/tools/utils/explainSdkUsage.ts +1420 -0
  68. package/src/tools/utils/getAddress.ts +12 -0
  69. package/src/tools/utils/getCacheInfo.ts +14 -0
  70. package/src/tools/utils/getConfig.ts +11 -0
  71. package/src/tools/utils/getEthereumAddress.ts +12 -0
  72. package/src/tools/utils/getUrlByTokenName.ts +12 -0
  73. package/src/tools/utils/getVersion.ts +25 -0
  74. package/src/tools/utils/getWallet.ts +25 -0
  75. package/src/tools/utils/hasWallet.ts +15 -0
  76. package/src/tools/utils/index.ts +33 -0
  77. package/src/tools/utils/isTokenGraduated.ts +16 -0
  78. package/src/tools/utils/setWallet.ts +41 -0
  79. package/src/types/mcp.ts +72 -0
  80. package/src/utils/__tests__/validation.test.ts +147 -0
  81. package/src/utils/constraints.ts +155 -0
  82. package/src/utils/default-values.ts +208 -0
  83. package/src/utils/error-handler.ts +69 -0
  84. package/src/utils/error-templates.ts +273 -0
  85. package/src/utils/response-formatter.ts +51 -0
  86. package/src/utils/tool-factory.ts +257 -0
  87. package/src/utils/tool-registry.ts +296 -0
  88. package/src/utils/validation.ts +336 -0
  89. package/tests/wallet-management-integration.test.ts +284 -0
  90. package/tsconfig.json +23 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,77 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.17.7
4
+
5
+ ### Patch Changes
6
+
7
+ - Bump SDK dependency to v3.22.7 which includes the new read-only operations example
8
+
9
+ ## 1.18.0
10
+
11
+ ### Minor Changes
12
+
13
+ - feat: Implement optional wallet support with 3 new wallet management tools (57 tools across
14
+ read-only and full-access modes)
15
+
16
+ ## Overview
17
+
18
+ PRIVATE_KEY environment variable is now optional, enabling two distinct operational modes:
19
+ - **Read-Only Mode**: Query pools, prices, token details without wallet (40+ tools available)
20
+ - **Full-Access Mode**: Execute trades, create tokens, sign transactions with wallet (17+
21
+ additional tools)
22
+
23
+ ## New Wallet Management Tools
24
+ - **`gala_launchpad_has_wallet`** - Check if MCP server wallet is currently configured
25
+ - **`gala_launchpad_get_wallet`** - Retrieve the configured wallet address (GalaChain and Ethereum
26
+ formats)
27
+ - **`gala_launchpad_set_wallet`** - Configure wallet for signing operations dynamically
28
+
29
+ ## Installation
30
+
31
+ **Full-Access Mode (with wallet):**
32
+
33
+ ```bash
34
+ claude mcp add "galachain-launchpad" -- \
35
+ env PRIVATE_KEY=<YOUR_KEY> ENVIRONMENT=production \
36
+ npx -y @gala-chain/launchpad-mcp-server@latest
37
+ ```
38
+
39
+ **Read-Only Mode (no wallet):**
40
+
41
+ ```bash
42
+ claude mcp add "galachain-launchpad" -- \
43
+ env ENVIRONMENT=production \
44
+ npx -y @gala-chain/launchpad-mcp-server@latest
45
+ ```
46
+
47
+ ## Key Features
48
+ - **Optional PRIVATE_KEY**: Omit `PRIVATE_KEY` environment variable for read-only mode
49
+ - **Progressive Enhancement**: Start with read-only queries, upgrade by setting wallet dynamically
50
+ - **Smart Tool Availability**: Tools requiring wallet automatically disabled in read-only mode
51
+ - **Seamless Claude Desktop Integration**: Full compatibility with Claude Desktop MCP server setup
52
+ - **Type Safety**: Wallet validation matches SDK implementation for consistency
53
+ - **Backward Compatible**: Existing installations with PRIVATE_KEY continue to work unchanged
54
+
55
+ ## Tool Categories (57 Total)
56
+ - **Pool Management & Pricing** (17 tools) - Fetch pools, details, distributions, badges, prices
57
+ - **Price History & Analysis** (4 tools) - Historical price data and trends
58
+ - **Trading Operations** (13 tools) - Buy/sell calculations, token trades, graduation
59
+ - **Balance & Portfolio** (6 tools) - Token balances, holdings, profiles
60
+ - **Token Creation & Management** (4 tools) - Launch tokens, upload images, manage metadata
61
+ - **Wallet Management** (3 tools) - Check, get, set wallet configuration
62
+ - **Utility & Social** (10 tools) - Comments, transfers, configuration, URL generation
63
+
64
+ ## SDK Dependency Update
65
+ - Updated @gala-chain/launchpad-sdk to 3.23.0
66
+ - Incorporates 4 new wallet management methods (hasWallet, getWallet, setWallet, validateWallet)
67
+ - All MCP tools leverage SDK's new optional wallet support
68
+
69
+ ## Test Coverage
70
+ - Unit tests for optional wallet mode detection and tool filtering
71
+ - Integration tests for read-only mode MCP operations (pool queries, price fetches)
72
+ - Integration tests for full-access mode with wallet operations (trades, transfers, creation)
73
+ - Tool availability verification for both operational modes
74
+
3
75
  ## 1.17.5
4
76
 
5
77
  ### Patch Changes
package/README.md CHANGED
@@ -4,7 +4,7 @@ MCP (Model Context Protocol) server for Gala Launchpad SDK - Enables AI agents t
4
4
 
5
5
  ## 🚀 Features
6
6
 
7
- - **55 AI-accessible tools** for complete Gala Launchpad integration (includes 4 price history tools)
7
+ - **57 AI-accessible tools** for complete Gala Launchpad integration (includes 4 price history tools, 3 wallet management tools)
8
8
  - **14 slash commands** (prompts) for quick access to common workflows
9
9
  - **Type-safe** - Full TypeScript support with validated inputs
10
10
  - **Production-ready** - Built on [@gala-chain/launchpad-sdk ](https://www.npmjs.com/package/@gala-chain/launchpad-sdk)
@@ -50,7 +50,7 @@ Add to your `claude_desktop_config.json`:
50
50
  ```
51
51
 
52
52
  **Environment Variables:**
53
- - `PRIVATE_KEY` (required) - Your Ethereum wallet private key
53
+ - `PRIVATE_KEY` (optional) - Your Ethereum wallet private key (omit for read-only mode)
54
54
  - `ENVIRONMENT` (optional) - `development` or `production` (default: development)
55
55
  - `DEBUG` (optional) - `true` to enable debug logging
56
56
  - `TIMEOUT` (optional) - Request timeout in milliseconds (default: 30000)
@@ -62,9 +62,45 @@ Add to your `claude_desktop_config.json`:
62
62
  3. **Restart Claude Desktop**
63
63
  4. **Use tools**: Ask Claude to interact with Gala Launchpad!
64
64
 
65
- ## 🛠️ Available Tools (54 Total)
65
+ ## 🔐 Operational Modes
66
66
 
67
- ### Pool Management (15 tools)
67
+ The MCP server supports two operational modes with dynamic wallet configuration:
68
+
69
+ ### Full-Access Mode (with PRIVATE_KEY)
70
+ - Execute token trades (buy/sell)
71
+ - Create new tokens
72
+ - Transfer GALA and tokens
73
+ - Update profile information
74
+ - Post comments on token pools
75
+ - All read operations (fetch pools, prices, balances, etc.)
76
+
77
+ **Setup:**
78
+ ```bash
79
+ claude mcp add "galachain-launchpad" -- env PRIVATE_KEY=0x... ENVIRONMENT=development npx -y @gala-chain/launchpad-mcp-server@latest
80
+ ```
81
+
82
+ ### Read-Only Mode (without PRIVATE_KEY)
83
+ - Fetch token pools and details
84
+ - Get real-time prices and price history
85
+ - Check balances and portfolio
86
+ - Browse comments on token pools
87
+ - Explore token metadata and distributions
88
+ - **Cannot:** Execute trades, create tokens, transfer funds (operations requiring wallet signatures)
89
+
90
+ **Setup:**
91
+ ```bash
92
+ claude mcp add "galachain-launchpad-readonly" -- env ENVIRONMENT=development npx -y @gala-chain/launchpad-mcp-server@latest
93
+ ```
94
+
95
+ ### Dynamic Wallet Configuration
96
+ Use the wallet management tools to upgrade or switch wallets at runtime:
97
+ - `gala_launchpad_has_wallet` - Check current wallet status
98
+ - `gala_launchpad_set_wallet` - Upgrade from read-only to full-access mode
99
+ - `gala_launchpad_get_wallet` - Retrieve wallet information
100
+
101
+ ## 🛠️ Available Tools (57 Total)
102
+
103
+ ### Pool Management (17 tools)
68
104
  - `gala_launchpad_fetch_pools` - Fetch token pools with filtering
69
105
  - `gala_launchpad_fetch_all_pools` - Fetch all available pools with automatic pagination
70
106
  - `gala_launchpad_fetch_pool_details` - Get detailed pool state
@@ -305,6 +341,11 @@ Ask Claude:
305
341
  - `gala_launchpad_fetch_profile` - Get user profile
306
342
  - `gala_launchpad_update_profile` - Update profile
307
343
 
344
+ ### Wallet Management (3 tools)
345
+ - `gala_launchpad_has_wallet` - Check if wallet is configured
346
+ - `gala_launchpad_get_wallet` - Get currently configured wallet instance
347
+ - `gala_launchpad_set_wallet` - Configure wallet for signing operations (upgrade from read-only mode)
348
+
308
349
  ### Token Creation (4 tools)
309
350
  - `gala_launchpad_launch_token` - Create new token pool
310
351
  - `gala_launchpad_upload_token_image` - Upload token image from filesystem
@@ -319,16 +360,13 @@ Ask Claude:
319
360
  - `gala_launchpad_transfer_gala` - Transfer GALA tokens
320
361
  - `gala_launchpad_transfer_token` - Transfer launchpad tokens
321
362
 
322
- ### Utility Tools (9 tools)
363
+ ### Utility Tools (6 tools)
323
364
  - `gala_launchpad_create_wallet` - Create new GalaChain wallet
324
365
  - `gala_launchpad_get_address` - Get user's GalaChain address
325
366
  - `gala_launchpad_get_ethereum_address` - Get user's Ethereum address
326
367
  - `gala_launchpad_get_config` - Get current SDK configuration
327
368
  - `gala_launchpad_get_url_by_token_name` - Generate frontend URL for a token
328
- - `gala_launchpad_explain_sdk_usage` - Get SDK code examples and usage explanations
329
- - `gala_launchpad_is_token_graduated` - Check if token completed bonding curve phase
330
- - `gala_launchpad_get_cache_info` - Get token metadata cache statistics
331
- - `gala_launchpad_clear_cache` - Clear token metadata cache entries
369
+ - `gala_launchpad_get_version` - Get SDK and MCP server version information
332
370
 
333
371
  ## 💡 Example Usage
334
372
 
@@ -3,5 +3,5 @@
3
3
  * This file is generated by scripts/inject-version.ts during build
4
4
  * DO NOT EDIT MANUALLY
5
5
  */
6
- export declare const MCP_SERVER_VERSION = "1.17.5";
6
+ export declare const MCP_SERVER_VERSION = "1.17.7";
7
7
  //# sourceMappingURL=version.d.ts.map
@@ -6,5 +6,5 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.MCP_SERVER_VERSION = void 0;
9
- exports.MCP_SERVER_VERSION = '1.17.5';
9
+ exports.MCP_SERVER_VERSION = '1.17.7';
10
10
  //# sourceMappingURL=version.js.map
package/dist/server.d.ts CHANGED
@@ -10,6 +10,13 @@ export declare class LaunchpadMCPServer {
10
10
  constructor();
11
11
  /**
12
12
  * Initialize SDK with AgentConfig
13
+ *
14
+ * Supports two operational modes:
15
+ * 1. Full-access mode (PRIVATE_KEY provided): Uses quickSetup() - all operations available
16
+ * 2. Read-only mode (PRIVATE_KEY not provided): Uses readOnlySetup() - query operations only
17
+ *
18
+ * In read-only mode, signing operations (buy, sell, create tokens, etc.) will throw ValidationError
19
+ * when attempted, but all query operations (fetchPools, fetchBalance, etc.) work normally.
13
20
  */
14
21
  initialize(): Promise<void>;
15
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAA6B;IACxC,OAAO,CAAC,KAAK,CAAU;;IAyBvB;;OAEG;IACG,UAAU;IAiChB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmDzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiD3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;OAEG;IACG,KAAK;IAaX;;OAEG;IACH,OAAO;CAQR"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAA6B;IACxC,OAAO,CAAC,KAAK,CAAU;;IAyBvB;;;;;;;;;OASG;IACG,UAAU;IA8DhB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmDzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiD3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;OAEG;IACG,KAAK;IAaX;;OAEG;IACH,OAAO;CAQR"}
package/dist/server.js CHANGED
@@ -35,29 +35,61 @@ class LaunchpadMCPServer {
35
35
  }
36
36
  /**
37
37
  * Initialize SDK with AgentConfig
38
+ *
39
+ * Supports two operational modes:
40
+ * 1. Full-access mode (PRIVATE_KEY provided): Uses quickSetup() - all operations available
41
+ * 2. Read-only mode (PRIVATE_KEY not provided): Uses readOnlySetup() - query operations only
42
+ *
43
+ * In read-only mode, signing operations (buy, sell, create tokens, etc.) will throw ValidationError
44
+ * when attempted, but all query operations (fetchPools, fetchBalance, etc.) work normally.
38
45
  */
39
46
  async initialize() {
40
47
  try {
41
48
  if (this.debug) {
42
49
  console.error('[MCP Server] Initializing SDK...');
43
50
  }
44
- const { sdk, validation } = await launchpad_sdk_1.AgentConfig.quickSetup({
45
- environment: process.env.ENVIRONMENT || 'development',
46
- privateKey: process.env.PRIVATE_KEY,
47
- timeout: parseInt(process.env.TIMEOUT || '30000', 10),
48
- debug: this.debug,
49
- autoValidate: false,
50
- });
51
- this.sdk = sdk;
52
- if (this.debug) {
53
- console.error('[MCP Server] SDK initialized successfully');
54
- if (validation) {
55
- console.error(`[MCP Server] Validation - Ready: ${validation.ready}`);
56
- console.error(`[MCP Server] Validation - Can Trade: ${validation.capabilities.canTrade}`);
51
+ const hasPrivateKey = Boolean(process.env.PRIVATE_KEY && process.env.PRIVATE_KEY.trim());
52
+ const environment = process.env.ENVIRONMENT || 'development';
53
+ const timeout = parseInt(process.env.TIMEOUT || '30000', 10);
54
+ if (hasPrivateKey) {
55
+ // Full-access mode: use quickSetup() to enable signing operations
56
+ if (this.debug) {
57
+ console.error('[MCP Server] PRIVATE_KEY detected - initializing in full-access mode');
58
+ }
59
+ const { sdk, validation } = await launchpad_sdk_1.AgentConfig.quickSetup({
60
+ environment,
61
+ privateKey: process.env.PRIVATE_KEY,
62
+ timeout,
63
+ debug: this.debug,
64
+ autoValidate: false,
65
+ });
66
+ this.sdk = sdk;
67
+ if (this.debug) {
68
+ console.error('[MCP Server] SDK initialized successfully (full-access mode)');
69
+ if (validation) {
70
+ console.error(`[MCP Server] Validation - Ready: ${validation.ready}`);
71
+ console.error(`[MCP Server] Validation - Can Trade: ${validation.capabilities.canTrade}`);
72
+ }
73
+ }
74
+ if (validation && !validation.ready) {
75
+ console.error('[MCP Server] Warning: SDK not ready', validation.issues);
57
76
  }
58
77
  }
59
- if (validation && !validation.ready) {
60
- console.error('[MCP Server] Warning: SDK not ready', validation.issues);
78
+ else {
79
+ // Read-only mode: use readOnlySetup() for query-only operations
80
+ if (this.debug) {
81
+ console.error('[MCP Server] PRIVATE_KEY not provided - initializing in read-only mode');
82
+ }
83
+ const { sdk } = await launchpad_sdk_1.AgentConfig.readOnlySetup({
84
+ environment,
85
+ timeout,
86
+ debug: this.debug,
87
+ });
88
+ this.sdk = sdk;
89
+ if (this.debug) {
90
+ console.error('[MCP Server] SDK initialized successfully (read-only mode)');
91
+ console.error('[MCP Server] Note: Signing operations will fail - wallet required');
92
+ }
61
93
  }
62
94
  }
63
95
  catch (error) {
@@ -95,7 +127,7 @@ class LaunchpadMCPServer {
95
127
  throw new Error(`Tool not found: ${toolName}`);
96
128
  }
97
129
  if (!this.sdk) {
98
- throw new Error('SDK not initialized. Please ensure PRIVATE_KEY environment variable is set.');
130
+ throw new Error('SDK not initialized. Failed during startup - check logs for details.');
99
131
  }
100
132
  try {
101
133
  const result = await tool.handler(this.sdk, args);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * @see src/utils/tool-registry.ts
8
8
  */
9
9
  /**
10
- * Enhanced tool registry with validation (54 tools)
10
+ * Enhanced tool registry with validation (57 tools)
11
11
  */
12
12
  export declare const registry: import("../utils/tool-registry.js").ToolRegistry;
13
13
  /**
@@ -58,9 +58,9 @@ const toolCategories = [
58
58
  },
59
59
  ];
60
60
  /**
61
- * Enhanced tool registry with validation (54 tools)
61
+ * Enhanced tool registry with validation (57 tools)
62
62
  */
63
- exports.registry = (0, tool_registry_js_1.createToolRegistry)(toolCategories, 54);
63
+ exports.registry = (0, tool_registry_js_1.createToolRegistry)(toolCategories, 57);
64
64
  /**
65
65
  * Complete tool array (for backward compatibility)
66
66
  */
@@ -1 +1 @@
1
- {"version":3,"file":"explainSdkUsage.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/explainSdkUsage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AA6qClD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAqEjC,CAAC"}
1
+ {"version":3,"file":"explainSdkUsage.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/explainSdkUsage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AA4zClD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAqEjC,CAAC"}
@@ -909,6 +909,148 @@ async function analyzeTokenDetails() {
909
909
  - Object: \`{ collection, category, type, additionalKey }\`
910
910
 
911
911
  **MCP Tool Equivalent:** \`gala_launchpad_fetch_token_details\`
912
+ `,
913
+ 'spot-prices-smart-routing': `
914
+ ## Smart Spot Price Routing with DEX Fallback
915
+
916
+ The SDK intelligently routes pricing requests between DEX and Launchpad backends based on token graduation status - no need to know which backend a token uses!
917
+
918
+ \`\`\`typescript
919
+ import { createLaunchpadSDK } from '@gala-chain/launchpad-sdk';
920
+
921
+ async function tokenPricing() {
922
+ const sdk = createLaunchpadSDK({
923
+ wallet: 'your-private-key'
924
+ });
925
+
926
+ // OPTION 1: SMART ROUTING (Recommended) - Automatic backend selection
927
+ // Use tokenId for ANY token (graduated or ungraduated)
928
+ // SDK automatically detects and routes to correct backend
929
+ console.log('=== Smart Routing (Recommended) ===');
930
+ const smartPrice = await sdk.fetchTokenSpotPrice({
931
+ tokenId: 'Token|Unit|ANIME|eth:0x...' // Works for ANY token!
932
+ });
933
+ console.log(\`Token price: $\${smartPrice}\`);
934
+ // ✅ Handles graduated tokens (DEX) automatically
935
+ // ✅ Handles ungraduated tokens (Launchpad) automatically
936
+ // ✅ No need to know token status beforehand
937
+
938
+ // OPTION 2: EXPLICIT DEX PRICING - Graduated tokens only
939
+ // Use tokenId directly for DEX tokens
940
+ console.log('\\n=== Explicit DEX Pricing ===');
941
+ const dexPrices = await sdk.fetchTokenSpotPrice({
942
+ tokenId: 'GALA|Unit|none|none' // Or other DEX token
943
+ });
944
+ console.log(\`DEX Token GALA: $\${dexPrices}\`);
945
+
946
+ // OPTION 3: EXPLICIT LAUNCHPAD PRICING - Ungraduated tokens
947
+ // Use tokenName for launchpad bonding curve tokens
948
+ console.log('\\n=== Explicit Launchpad Pricing ===');
949
+ const launchpadPrice = await sdk.fetchLaunchpadTokenSpotPrice('anime');
950
+ console.log(\`Launchpad token anime: $\${launchpadPrice}\`);
951
+
952
+ // ADVANCED: Handle both pricing methods with error recovery
953
+ console.log('\\n=== Fallback Pricing Strategy ===');
954
+ async function getPriceWithFallback(tokenId: string, tokenName?: string) {
955
+ try {
956
+ // Try DEX pricing first
957
+ return await sdk.fetchTokenSpotPrice({ tokenId });
958
+ } catch (error) {
959
+ // If not on DEX, try launchpad pricing
960
+ if (tokenName) {
961
+ try {
962
+ return await sdk.fetchLaunchpadTokenSpotPrice(tokenName);
963
+ } catch (fallbackError) {
964
+ throw new Error(\`Could not fetch price for \${tokenName}\`);
965
+ }
966
+ }
967
+ throw error;
968
+ }
969
+ }
970
+
971
+ const fallbackPrice = await getPriceWithFallback(
972
+ 'Token|Unit|ANIME|eth:0x...',
973
+ 'anime'
974
+ );
975
+ console.log(\`Fallback price: $\${fallbackPrice}\`);
976
+
977
+ // USECASE: Price comparison and discovery
978
+ console.log('\\n=== Price Discovery ===');
979
+ async function comparePrices(tokenName: string) {
980
+ const launchpadPrice = await sdk.fetchLaunchpadTokenSpotPrice(tokenName);
981
+
982
+ // Check if graduated (on DEX)
983
+ const isGraduated = await sdk.isTokenGraduated(tokenName);
984
+
985
+ if (isGraduated) {
986
+ const dexPrice = await sdk.fetchTokenSpotPrice({
987
+ tokenId: \`Token|Unit|\${tokenName.toUpperCase()}|eth:0x...\`
988
+ });
989
+ console.log(\`Launchpad: $\${launchpadPrice}, DEX: $\${dexPrice}\`);
990
+ return { launchpadPrice, dexPrice, graduated: true };
991
+ } else {
992
+ console.log(\`Launchpad: $\${launchpadPrice} (not on DEX yet)\`);
993
+ return { launchpadPrice, graduated: false };
994
+ }
995
+ }
996
+
997
+ const priceComparison = await comparePrices('anime');
998
+ }
999
+ \`\`\`
1000
+
1001
+ **Smart Routing Benefits:**
1002
+ - ✅ **Seamless Transitions** - Works before and after token graduation
1003
+ - ✅ **No Backend Knowledge** - SDK handles routing automatically
1004
+ - ✅ **Error Handling** - Automatic fallback if needed
1005
+ - ✅ **Single API** - Use same method for all tokens
1006
+
1007
+ **When to Use Each Method:**
1008
+
1009
+ | Method | Use Case | Token Status |
1010
+ |--------|----------|--------------|
1011
+ | \`fetchTokenSpotPrice({ tokenId })\` | Smart routing (recommended) | Any (DEX or Launchpad) |
1012
+ | \`fetchLaunchpadTokenSpotPrice(name)\` | Launchpad-only pricing | Ungraduated tokens |
1013
+ | \`isTokenGraduated(name)\` | Check token status | Any |
1014
+
1015
+ **Key Differences:**
1016
+
1017
+ **Ungraduated Tokens (Launchpad):**
1018
+ - Priced on exponential bonding curve
1019
+ - Token name parameter works: \`fetchLaunchpadTokenSpotPrice('anime')\`
1020
+ - Price affected by supply/demand
1021
+
1022
+ **Graduated Tokens (DEX):**
1023
+ - Priced on DEX via order books
1024
+ - Token ID format needed: \`Token|Unit|SYMBOL|eth:0x...\`
1025
+ - Market-driven pricing
1026
+
1027
+ **Graduation Impact:**
1028
+ When a token graduates from launchpad to DEX:
1029
+ - Bonding curve closes
1030
+ - Trading moves to DEX order books
1031
+ - Smart routing automatically switches backends
1032
+ - Old launchpad queries will fail (use DEX pricing instead)
1033
+
1034
+ **Error Handling:**
1035
+ \`\`\`typescript
1036
+ async function safePriceQuery(tokenId: string) {
1037
+ try {
1038
+ // Always try smart routing first
1039
+ return await sdk.fetchTokenSpotPrice({ tokenId });
1040
+ } catch (error) {
1041
+ if (error.message.includes('not found')) {
1042
+ console.log('Token not available on DEX');
1043
+ // Could try fallback to launchpad pricing here
1044
+ }
1045
+ throw error;
1046
+ }
1047
+ }
1048
+ \`\`\`
1049
+
1050
+ **MCP Tool Equivalents:**
1051
+ - \`gala_launchpad_fetch_token_spot_price\` - Smart routing
1052
+ - \`gala_launchpad_fetch_launchpad_token_spot_price\` - Launchpad-only
1053
+ - \`gala_launchpad_is_token_graduated\` - Check graduation status
912
1054
  `,
913
1055
  'profile-management': `
914
1056
  ## User Profile Management with SDK
@@ -1 +1 @@
1
- {"version":3,"file":"explainSdkUsage.js","sourceRoot":"","sources":["../../../src/tools/utils/explainSdkUsage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explainSdkUsage.js","sourceRoot":"","sources":["../../../src/tools/utils/explainSdkUsage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Get Wallet Tool
3
+ *
4
+ * Retrieves the wallet instance currently configured in the SDK.
5
+ * Returns the wallet object if configured, or null if in read-only mode.
6
+ */
7
+ export declare const getWalletTool: import("../../types/mcp.js").MCPTool;
8
+ //# sourceMappingURL=getWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWallet.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/getWallet.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,aAAa,sCAexB,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /**
3
+ * Get Wallet Tool
4
+ *
5
+ * Retrieves the wallet instance currently configured in the SDK.
6
+ * Returns the wallet object if configured, or null if in read-only mode.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.getWalletTool = void 0;
10
+ const tool_factory_js_1 = require("../../utils/tool-factory.js");
11
+ exports.getWalletTool = (0, tool_factory_js_1.createNoParamTool)({
12
+ name: 'gala_launchpad_get_wallet',
13
+ description: 'Get the wallet instance currently configured in the SDK. Returns wallet object if available, or null if in read-only mode.',
14
+ handler: (sdk) => {
15
+ const wallet = sdk.getWallet();
16
+ // Return wallet metadata if available, or null
17
+ if (wallet && typeof wallet === 'object' && 'address' in wallet) {
18
+ return {
19
+ address: wallet.address,
20
+ hasPrivateKey: 'privateKey' in wallet && Boolean(wallet.privateKey),
21
+ };
22
+ }
23
+ return null;
24
+ },
25
+ resultKey: 'wallet',
26
+ });
27
+ //# sourceMappingURL=getWallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWallet.js","sourceRoot":"","sources":["../../../src/tools/utils/getWallet.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,iEAAgE;AAEnD,QAAA,aAAa,GAAG,IAAA,mCAAiB,EAAC;IAC7C,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE,4HAA4H;IACzI,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;QAC/B,+CAA+C;QAC/C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YAChE,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,aAAa,EAAE,YAAY,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;aACpE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Has Wallet Tool
3
+ *
4
+ * Checks if the SDK has a wallet configured for signing operations.
5
+ * Returns true if wallet is available, false for read-only mode.
6
+ */
7
+ export declare const hasWalletTool: import("../../types/mcp.js").MCPTool;
8
+ //# sourceMappingURL=hasWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasWallet.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/hasWallet.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,aAAa,sCAKxB,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /**
3
+ * Has Wallet Tool
4
+ *
5
+ * Checks if the SDK has a wallet configured for signing operations.
6
+ * Returns true if wallet is available, false for read-only mode.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.hasWalletTool = void 0;
10
+ const tool_factory_js_1 = require("../../utils/tool-factory.js");
11
+ exports.hasWalletTool = (0, tool_factory_js_1.createNoParamTool)({
12
+ name: 'gala_launchpad_has_wallet',
13
+ description: 'Check if wallet is configured in the SDK. Returns true if wallet is available for signing operations, false if in read-only mode.',
14
+ handler: (sdk) => sdk.hasWallet(),
15
+ resultKey: 'hasWallet',
16
+ });
17
+ //# sourceMappingURL=hasWallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasWallet.js","sourceRoot":"","sources":["../../../src/tools/utils/hasWallet.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,iEAAgE;AAEnD,QAAA,aAAa,GAAG,IAAA,mCAAiB,EAAC;IAC7C,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE,mIAAmI;IAChJ,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE;IACjC,SAAS,EAAE,WAAW;CACvB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,eAAO,MAAM,YAAY,wCAWxB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,eAAO,MAAM,YAAY,wCAcxB,CAAC"}
@@ -14,6 +14,9 @@ const isTokenGraduated_js_1 = require("./isTokenGraduated.js");
14
14
  const getCacheInfo_js_1 = require("./getCacheInfo.js");
15
15
  const clearCache_js_1 = require("./clearCache.js");
16
16
  const getVersion_js_1 = require("./getVersion.js");
17
+ const hasWallet_js_1 = require("./hasWallet.js");
18
+ const getWallet_js_1 = require("./getWallet.js");
19
+ const setWallet_js_1 = require("./setWallet.js");
17
20
  exports.utilityTools = [
18
21
  createWallet_js_1.createWalletTool,
19
22
  getAddress_js_1.getAddressTool,
@@ -25,5 +28,8 @@ exports.utilityTools = [
25
28
  getCacheInfo_js_1.getCacheInfoTool,
26
29
  clearCache_js_1.clearCacheTool,
27
30
  getVersion_js_1.getVersionTool,
31
+ hasWallet_js_1.hasWalletTool,
32
+ getWallet_js_1.getWalletTool,
33
+ setWallet_js_1.setWalletTool,
28
34
  ];
29
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/utils/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uDAAqD;AACrD,mDAAiD;AACjD,mEAAiE;AACjE,iDAA+C;AAC/C,iEAA+D;AAC/D,6DAA2D;AAC3D,+DAA6D;AAC7D,uDAAqD;AACrD,mDAAiD;AACjD,mDAAiD;AAEpC,QAAA,YAAY,GAAG;IAC1B,kCAAgB;IAChB,8BAAc;IACd,8CAAsB;IACtB,4BAAa;IACb,4CAAqB;IACrB,wCAAmB;IACnB,0CAAoB;IACpB,kCAAgB;IAChB,8BAAc;IACd,8BAAc;CACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/utils/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uDAAqD;AACrD,mDAAiD;AACjD,mEAAiE;AACjE,iDAA+C;AAC/C,iEAA+D;AAC/D,6DAA2D;AAC3D,+DAA6D;AAC7D,uDAAqD;AACrD,mDAAiD;AACjD,mDAAiD;AACjD,iDAA+C;AAC/C,iDAA+C;AAC/C,iDAA+C;AAElC,QAAA,YAAY,GAAG;IAC1B,kCAAgB;IAChB,8BAAc;IACd,8CAAsB;IACtB,4BAAa;IACb,4CAAqB;IACrB,wCAAmB;IACnB,0CAAoB;IACpB,kCAAgB;IAChB,8BAAc;IACd,8BAAc;IACd,4BAAa;IACb,4BAAa;IACb,4BAAa;CACd,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Set Wallet Tool
3
+ *
4
+ * Configures a wallet for signing operations.
5
+ * Takes a private key string and sets it as the active wallet in the SDK.
6
+ */
7
+ export declare const setWalletTool: import("../../types/mcp.js").MCPTool;
8
+ //# sourceMappingURL=setWallet.d.ts.map