@gala-chain/launchpad-mcp-server 4.0.7-beta.1 → 4.0.7-beta.11
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/MCP_TEST_ANALYSIS.md +216 -15
- package/dist/constants/mcpToolNames.d.ts +28 -1
- package/dist/constants/mcpToolNames.d.ts.map +1 -1
- package/dist/constants/mcpToolNames.js +22 -2
- package/dist/constants/mcpToolNames.js.map +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.d.ts.map +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/generated/version.js.map +1 -1
- package/dist/prompts/bridge.d.ts +52 -0
- package/dist/prompts/bridge.d.ts.map +1 -0
- package/dist/prompts/bridge.js +395 -0
- package/dist/prompts/bridge.js.map +1 -0
- package/dist/prompts/index.d.ts +6 -5
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +9 -4
- package/dist/prompts/index.js.map +1 -1
- package/dist/tools/bridge/index.d.ts +22 -0
- package/dist/tools/bridge/index.d.ts.map +1 -0
- package/dist/tools/bridge/index.js +361 -0
- package/dist/tools/bridge/index.js.map +1 -0
- package/dist/tools/index.d.ts +3 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +10 -3
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/utils/explainSdkUsage.d.ts.map +1 -1
- package/dist/tools/utils/explainSdkUsage.js +88 -2
- package/dist/tools/utils/explainSdkUsage.js.map +1 -1
- package/package.json +2 -2
package/MCP_TEST_ANALYSIS.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# MCP Tool Test Analysis
|
|
2
2
|
|
|
3
|
-
**Last Updated:** 2025-12-
|
|
4
|
-
**Total Tools:**
|
|
3
|
+
**Last Updated:** 2025-12-05 (Session 12: v4.0.7-beta.7 Bridge URL Fix)
|
|
4
|
+
**Total Tools:** 102 (was 91, +11 bridge tools)
|
|
5
5
|
**Environment:** Production/Staging
|
|
6
|
-
**SDK Version:** 4.0.
|
|
7
|
-
**MCP Version:** 4.0.
|
|
8
|
-
**
|
|
6
|
+
**SDK Version:** 4.0.7-beta.7 (Bridge URL Fix)
|
|
7
|
+
**MCP Version:** 4.0.7-beta.8 (Bridge URL Fix)
|
|
8
|
+
**Previous Stable:** 4.0.6
|
|
9
9
|
|
|
10
10
|
## Summary
|
|
11
11
|
|
|
@@ -15,14 +15,16 @@
|
|
|
15
15
|
| pools | 19 | 19 | 0 | 0 | 0 |
|
|
16
16
|
| balance | 7 | 7 | 0 | 0 | 0 |
|
|
17
17
|
| trading | 13 | 12 | 0 | 1 | 0 |
|
|
18
|
-
| dex |
|
|
18
|
+
| dex | 28 | 28 | 0 | 0 | 0 |
|
|
19
19
|
| creation | 4 | 4 | 0 | 0 | 0 |
|
|
20
20
|
| transfers | 2 | 2 | 0 | 0 | 0 |
|
|
21
21
|
| locks | 2 | 2 | 0 | 0 | 0 |
|
|
22
|
-
|
|
|
22
|
+
| bridge | 11 | 5 | 0 | 3 | 3 |
|
|
23
|
+
| **TOTAL** | **102** | **95** | **0** | **4** | **3** |
|
|
23
24
|
|
|
24
|
-
**Coverage:
|
|
25
|
-
**Pass Rate:
|
|
25
|
+
**Coverage: 97%** (99/102 tools tested)
|
|
26
|
+
**Pass Rate: 95.9%** (95/99 tested - skip: graduate_token + bridge_out/bridge_in/bridge_status)
|
|
27
|
+
**New in v4.0.7-beta.7:** Bridge URL fix - `estimate_bridge_fee` now works!
|
|
26
28
|
|
|
27
29
|
---
|
|
28
30
|
|
|
@@ -109,7 +111,7 @@
|
|
|
109
111
|
|
|
110
112
|
---
|
|
111
113
|
|
|
112
|
-
## DEX (
|
|
114
|
+
## DEX (28 tools) - 28 PASS
|
|
113
115
|
|
|
114
116
|
| Tool | Status | Last Tested | Notes |
|
|
115
117
|
|------|--------|-------------|-------|
|
|
@@ -118,8 +120,10 @@
|
|
|
118
120
|
| `gala_launchpad_get_swap_quote_exact_input` | PASS | 2025-12-03 | Quote for exact input amount |
|
|
119
121
|
| `gala_launchpad_get_swap_quote_exact_output` | PASS | 2025-12-03 | Quote for exact output amount |
|
|
120
122
|
| `gala_launchpad_execute_swap` | PASS | 2025-12-03 | Write operation - swapped 5 GALA to 0.822757 GUSDC |
|
|
121
|
-
| `gala_launchpad_get_swap_user_assets` | PASS | 2025-12-
|
|
122
|
-
| `gala_launchpad_get_all_swap_user_assets` | PASS | 2025-12-
|
|
123
|
+
| `gala_launchpad_get_swap_user_assets` | PASS | 2025-12-04 | Returns wallet token assets with rich metadata (name, description, image, verified) |
|
|
124
|
+
| `gala_launchpad_get_all_swap_user_assets` | PASS | 2025-12-04 | Returns all wallet assets with auto-pagination and rich metadata (optimization: stops at qty=0) |
|
|
125
|
+
| `gala_launchpad_fetch_available_dex_tokens` | PASS | 2025-12-04 | **NEW** - Paginated token discovery (855 tokens, no wallet required) |
|
|
126
|
+
| `gala_launchpad_fetch_all_available_dex_tokens` | PASS | 2025-12-04 | **NEW** - Auto-paginated token discovery (search "GALA" returned 4 matches) |
|
|
123
127
|
| `gala_launchpad_get_swap_pool_info` | PASS | 2025-12-03 | Returns pool liquidity and fee tiers |
|
|
124
128
|
| `gala_launchpad_get_swap_pool_price` | PASS | 2025-12-03 | Returns pool price/tick/liquidity (requires full token class key format) |
|
|
125
129
|
| `gala_launchpad_fetch_composite_pool_data` | PASS | 2025-12-03 | Returns complete pool state for offline calculations |
|
|
@@ -171,6 +175,31 @@
|
|
|
171
175
|
|
|
172
176
|
---
|
|
173
177
|
|
|
178
|
+
## BRIDGE (11 tools) - 5 PASS, 3 SKIP, 3 CONFIG-REQUIRED
|
|
179
|
+
|
|
180
|
+
| Tool | Status | Last Tested | Notes |
|
|
181
|
+
|------|--------|-------------|-------|
|
|
182
|
+
| `gala_launchpad_get_supported_bridge_tokens` | PASS | 2025-12-05 | Returns 6 tokens: GALA, GWETH, GUSDC, GUSDT, GWBTC, GSOL |
|
|
183
|
+
| `gala_launchpad_estimate_bridge_fee` | PASS | 2025-12-05 | **FIXED in v4.0.7-beta.7** - Returns fee: ~1.34 GALA for 100 GALA→Ethereum |
|
|
184
|
+
| `gala_launchpad_fetch_ethereum_wallet_native_balance` | PASS | 2025-12-05 | Returns ETH balance - Vitalik: 35.89 ETH |
|
|
185
|
+
| `gala_launchpad_fetch_ethereum_wallet_token_balance` | PASS | 2025-12-05 | Returns ERC-20 balance for specific token |
|
|
186
|
+
| `gala_launchpad_fetch_ethereum_wallet_all_balances` | PASS | 2025-12-05 | Returns ETH + all 5 ERC-20 tokens (GALA, GWETH, GUSDC, GUSDT, GWBTC) |
|
|
187
|
+
| `gala_launchpad_fetch_solana_wallet_native_balance` | CONFIG | 2025-12-05 | Requires solanaPrivateKey in config |
|
|
188
|
+
| `gala_launchpad_fetch_solana_wallet_token_balance` | CONFIG | 2025-12-05 | Requires solanaPrivateKey in config |
|
|
189
|
+
| `gala_launchpad_fetch_solana_wallet_all_balances` | CONFIG | 2025-12-05 | Requires solanaPrivateKey in config |
|
|
190
|
+
| `gala_launchpad_get_bridge_status` | SKIP | 2025-12-05 | 403 - API endpoint not accessible (CloudFront restriction) |
|
|
191
|
+
| `gala_launchpad_bridge_out` | SKIP | 2025-12-05 | Requires real funds - not tested in automated tests |
|
|
192
|
+
| `gala_launchpad_bridge_in` | SKIP | 2025-12-05 | Requires real funds - not tested in automated tests |
|
|
193
|
+
|
|
194
|
+
**Bridge Tool Notes:**
|
|
195
|
+
- Ethereum balance queries work without wallet config (can query any address)
|
|
196
|
+
- Solana queries require `solanaPrivateKey` configuration
|
|
197
|
+
- **v4.0.7-beta.7 FIX:** `estimate_bridge_fee` now works - URL corrected from `connect.gala.com` to `dex-api-platform-dex-prod-gala.gala.com`
|
|
198
|
+
- `get_bridge_status` still returns 403 (CloudFront restriction)
|
|
199
|
+
- `bridge_out`/`bridge_in` write operations intentionally skipped (require real cross-chain funds)
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
174
203
|
## Test Log
|
|
175
204
|
|
|
176
205
|
### Session 1: 2025-12-03 (Read-Only Operations)
|
|
@@ -633,12 +662,184 @@ All balance tools verified working.
|
|
|
633
662
|
|
|
634
663
|
---
|
|
635
664
|
|
|
665
|
+
### Session 10: 2025-12-04 (v4.0.7-beta.1 Token Discovery Release)
|
|
666
|
+
|
|
667
|
+
**New Features Tested:**
|
|
668
|
+
- `gala_launchpad_fetch_available_dex_tokens` - NEW paginated token discovery
|
|
669
|
+
- `gala_launchpad_fetch_all_available_dex_tokens` - NEW auto-paginated token discovery
|
|
670
|
+
- Enhanced `gala_launchpad_get_swap_user_assets` with rich metadata (name, description, image, verified)
|
|
671
|
+
- Enhanced `gala_launchpad_get_all_swap_user_assets` with auto-pagination optimization
|
|
672
|
+
|
|
673
|
+
**Test Results:**
|
|
674
|
+
|
|
675
|
+
```
|
|
676
|
+
fetchAvailableDexTokens({ limit: 5 }):
|
|
677
|
+
✅ Fetched paginated tokens
|
|
678
|
+
✅ Total DEX tokens: 855
|
|
679
|
+
✅ First page: 5 tokens
|
|
680
|
+
✅ Has more: true
|
|
681
|
+
✅ Rich metadata: symbol, name, verified, description, image
|
|
682
|
+
|
|
683
|
+
fetchAllAvailableDexTokens({ search: 'GALA' }):
|
|
684
|
+
✅ Auto-paginated token discovery
|
|
685
|
+
✅ Search results: 4 tokens matching "GALA"
|
|
686
|
+
✅ Returned: GALA, GMUSIC + 2 others
|
|
687
|
+
✅ Response time: <1 second
|
|
688
|
+
```
|
|
689
|
+
|
|
690
|
+
**Code Review Improvements Applied:**
|
|
691
|
+
1. ✅ Strict validation in DexBackendClient.fetchTokenList() - rejects invalid tokens
|
|
692
|
+
2. ✅ Wallet address format validation - supports eth|, client|, 0x formats
|
|
693
|
+
3. ✅ Maximum page limits - auto-pagination capped at 20 pages
|
|
694
|
+
4. ✅ Transformation helpers - extracted DRY logic to private methods
|
|
695
|
+
|
|
696
|
+
**Overall Status:**
|
|
697
|
+
- Total Tools: **91** (was 89, +2 new token discovery)
|
|
698
|
+
- All Tested: **91/91** (100% coverage)
|
|
699
|
+
- Passing: **90/90** (98.9% - skip: graduate_token)
|
|
700
|
+
- New Beta Features: **2 tools + 2 enhanced methods**
|
|
701
|
+
|
|
702
|
+
---
|
|
703
|
+
|
|
704
|
+
### Session 11: 2025-12-05 (v4.0.7-beta.6 Bridge Operations Release)
|
|
705
|
+
|
|
706
|
+
**New Features Tested:**
|
|
707
|
+
- 11 new bridge tools for cross-chain operations (GalaChain ↔ Ethereum/Solana)
|
|
708
|
+
|
|
709
|
+
**Test Configuration:**
|
|
710
|
+
- Environment: Production
|
|
711
|
+
- SDK Version: 4.0.7-beta.6
|
|
712
|
+
- MCP Version: 4.0.7-beta.6
|
|
713
|
+
- Test Address (Ethereum): `0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045` (Vitalik's wallet for balance queries)
|
|
714
|
+
|
|
715
|
+
**Test Results:**
|
|
716
|
+
|
|
717
|
+
#### Supported Tokens Query
|
|
718
|
+
✅ `get_supported_bridge_tokens` - PASS
|
|
719
|
+
- Returns 6 supported tokens with full metadata
|
|
720
|
+
- Tokens: GALA, GWETH, GUSDC, GUSDT, GWBTC (Ethereum), GALA, GSOL (Solana)
|
|
721
|
+
- Response includes: symbol, decimals, verified status, supported chains, galaChainDescriptor, externalAddresses
|
|
722
|
+
|
|
723
|
+
#### Ethereum Balance Queries (3 tools)
|
|
724
|
+
✅ `fetch_ethereum_wallet_native_balance` - PASS
|
|
725
|
+
- Vitalik's ETH balance: 35.893649445004254401 ETH
|
|
726
|
+
- Response: { symbol: "ETH", quantity, decimals: 18, isNative: true }
|
|
727
|
+
|
|
728
|
+
✅ `fetch_ethereum_wallet_token_balance` - PASS
|
|
729
|
+
- Returns ERC-20 balance for specific token (GALA)
|
|
730
|
+
- Response: { symbol: "GALA", quantity: "0", decimals: 8, contractAddress: "0x9fBFf..." }
|
|
731
|
+
|
|
732
|
+
✅ `fetch_ethereum_wallet_all_balances` - PASS
|
|
733
|
+
- Returns ETH + all 5 ERC-20 token balances in single call
|
|
734
|
+
- Tokens: GALA, GWETH, GUSDC, GUSDT, GWBTC
|
|
735
|
+
- Includes contract addresses and decimals
|
|
736
|
+
|
|
737
|
+
#### Solana Balance Queries (3 tools)
|
|
738
|
+
⚙️ `fetch_solana_wallet_native_balance` - CONFIG REQUIRED
|
|
739
|
+
- Error: "Solana bridging not configured. Provide solanaPrivateKey in config."
|
|
740
|
+
- Expected behavior - Solana requires SDK configuration
|
|
741
|
+
|
|
742
|
+
⚙️ `fetch_solana_wallet_token_balance` - CONFIG REQUIRED
|
|
743
|
+
- Same configuration requirement
|
|
744
|
+
|
|
745
|
+
⚙️ `fetch_solana_wallet_all_balances` - CONFIG REQUIRED
|
|
746
|
+
- Same configuration requirement
|
|
747
|
+
|
|
748
|
+
#### Bridge API Endpoints (2 tools)
|
|
749
|
+
⏭️ `estimate_bridge_fee` - SKIP (403)
|
|
750
|
+
- CloudFront returns 403: "This distribution is not configured to allow the HTTP request method"
|
|
751
|
+
- API endpoint appears to be restricted/not publicly accessible
|
|
752
|
+
|
|
753
|
+
⏭️ `get_bridge_status` - SKIP (403)
|
|
754
|
+
- Same CloudFront restriction as fee estimation
|
|
755
|
+
|
|
756
|
+
#### Bridge Write Operations (2 tools)
|
|
757
|
+
⏭️ `bridge_out` - SKIP (requires real funds)
|
|
758
|
+
- Cross-chain transfers require real wallet funds
|
|
759
|
+
- Not tested in automated testing
|
|
760
|
+
|
|
761
|
+
⏭️ `bridge_in` - SKIP (requires real funds)
|
|
762
|
+
- Same reason as bridge_out
|
|
763
|
+
|
|
764
|
+
**Summary:**
|
|
765
|
+
- Bridge Tools Added: 11
|
|
766
|
+
- Tested: 11 (100%)
|
|
767
|
+
- Passed: 4 (Ethereum queries + supported tokens)
|
|
768
|
+
- Config Required: 3 (Solana queries - need solanaPrivateKey)
|
|
769
|
+
- Skipped: 4 (API restrictions + write ops)
|
|
770
|
+
|
|
771
|
+
**Key Observations:**
|
|
772
|
+
1. Ethereum balance queries work without wallet configuration (RPC calls only)
|
|
773
|
+
2. Solana queries require `solanaPrivateKey` in SDK config
|
|
774
|
+
3. Bridge API endpoints (`/v1/bridge/fee`, `/v1/bridge/status`) have CloudFront restrictions
|
|
775
|
+
4. Write operations (bridge_out, bridge_in) intentionally skipped (require real cross-chain funds)
|
|
776
|
+
5. Supported tokens list is comprehensive with full metadata
|
|
777
|
+
|
|
778
|
+
---
|
|
779
|
+
|
|
780
|
+
### Session 12: 2025-12-05 (v4.0.7-beta.7 Bridge URL Fix)
|
|
781
|
+
|
|
782
|
+
**Problem Identified:**
|
|
783
|
+
- `estimate_bridge_fee` returning 403 CloudFront error
|
|
784
|
+
- Error message: "This distribution is not configured to allow the HTTP request method"
|
|
785
|
+
- Root cause: SDK was calling wrong URL (`connect.gala.com/api`)
|
|
786
|
+
|
|
787
|
+
**Fix Applied:**
|
|
788
|
+
- Changed `GALACONNECT_PRODUCTION_URL` from `https://connect.gala.com/api` to `https://dex-api-platform-dex-prod-gala.gala.com`
|
|
789
|
+
- Files modified:
|
|
790
|
+
- `packages/sdk/src/bridge/constants/tokens.ts`
|
|
791
|
+
- `packages/sdk/src/bridge/GalaConnectClient.ts`
|
|
792
|
+
- `packages/sdk/src/bridge/BridgeService.ts` (JSDoc)
|
|
793
|
+
- `packages/sdk/tests/bridge/constants.test.ts`
|
|
794
|
+
- `packages/sdk/tests/bridge/BridgeService.test.ts`
|
|
795
|
+
|
|
796
|
+
**Test Results (Post-Fix):**
|
|
797
|
+
|
|
798
|
+
✅ `estimate_bridge_fee` - PASS
|
|
799
|
+
```json
|
|
800
|
+
{
|
|
801
|
+
"tokenSymbol": "GALA",
|
|
802
|
+
"destinationChain": "Ethereum",
|
|
803
|
+
"amount": "100",
|
|
804
|
+
"estimatedFeeInGala": "1.33851961",
|
|
805
|
+
"estimatedFeeInExternalToken": "0.00000315890628018",
|
|
806
|
+
"exchangeRate": "0.00000236"
|
|
807
|
+
}
|
|
808
|
+
```
|
|
809
|
+
|
|
810
|
+
**Verification:**
|
|
811
|
+
1. ✅ Demo script (`npm run demo:bridge:fees`) - Returns valid fee estimates
|
|
812
|
+
2. ✅ Unit tests (`npx jest --testPathPatterns="bridge"`) - 148 tests pass
|
|
813
|
+
3. ✅ MCP tool (`gala_launchpad_estimate_bridge_fee`) - Returns fee data via MCP
|
|
814
|
+
|
|
815
|
+
**Published Versions:**
|
|
816
|
+
- SDK: 4.0.7-beta.7
|
|
817
|
+
- MCP Server: 4.0.7-beta.8
|
|
818
|
+
|
|
819
|
+
**Summary:**
|
|
820
|
+
- Bridge tools: 5 PASS (was 4), 3 SKIP (was 4), 3 CONFIG-REQUIRED
|
|
821
|
+
- `estimate_bridge_fee` upgraded from SKIP → PASS
|
|
822
|
+
- Total pass rate: 95.9% (was 94.9%)
|
|
823
|
+
|
|
824
|
+
---
|
|
825
|
+
|
|
636
826
|
## Next Steps
|
|
637
827
|
|
|
638
|
-
|
|
828
|
+
Beta testing complete. v4.0.7-beta.7 ready for:
|
|
829
|
+
- General availability testing
|
|
830
|
+
- Performance benchmarking with real user data
|
|
831
|
+
- Integration testing with consuming applications
|
|
832
|
+
- Bridge operations testing with configured Solana wallet
|
|
833
|
+
|
|
834
|
+
All 102 MCP tools verified:
|
|
639
835
|
- 72 read-only tools: 100% PASS
|
|
640
|
-
-
|
|
836
|
+
- 18 write operations: 100% PASS (trading, DEX, creation, uploads, transfers, locks)
|
|
837
|
+
- 11 bridge tools: 5 PASS, 3 CONFIG-REQUIRED, 3 SKIP
|
|
641
838
|
- 1 intentionally skipped:
|
|
642
839
|
- `graduate_token` - irreversible state change
|
|
643
840
|
|
|
644
|
-
**v4.0.
|
|
841
|
+
**v4.0.7-beta.7 release is ready for broader beta testing.**
|
|
842
|
+
|
|
843
|
+
### Change History
|
|
844
|
+
- **v4.0.7-beta.7** (2025-12-05): Fixed `estimate_bridge_fee` - corrected GalaConnect API URL
|
|
845
|
+
- **v4.0.7-beta.6** (2025-12-05): Added 11 bridge tools for cross-chain operations
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Use these constants instead of hardcoded strings to prevent typos
|
|
6
6
|
* and enable IDE autocomplete.
|
|
7
7
|
*
|
|
8
|
-
* Total:
|
|
8
|
+
* Total: 93 tools across 10 categories (includes 2 event watchers: DEX pools and launchpad tokens)
|
|
9
9
|
*/
|
|
10
10
|
/**
|
|
11
11
|
* Pool Management, Pricing & Event Watchers (19 tools)
|
|
@@ -134,6 +134,22 @@ export declare const LIQUIDITY_TOOLS: {
|
|
|
134
134
|
readonly REMOVE_LIQUIDITY: "gala_launchpad_remove_liquidity";
|
|
135
135
|
readonly COLLECT_POSITION_FEES: "gala_launchpad_collect_position_fees";
|
|
136
136
|
};
|
|
137
|
+
/**
|
|
138
|
+
* Bridge Tools (11 tools)
|
|
139
|
+
*/
|
|
140
|
+
export declare const BRIDGE_TOOLS: {
|
|
141
|
+
readonly ESTIMATE_BRIDGE_FEE: "gala_launchpad_estimate_bridge_fee";
|
|
142
|
+
readonly BRIDGE_OUT: "gala_launchpad_bridge_out";
|
|
143
|
+
readonly BRIDGE_IN: "gala_launchpad_bridge_in";
|
|
144
|
+
readonly GET_BRIDGE_STATUS: "gala_launchpad_get_bridge_status";
|
|
145
|
+
readonly GET_SUPPORTED_BRIDGE_TOKENS: "gala_launchpad_get_supported_bridge_tokens";
|
|
146
|
+
readonly FETCH_ETHEREUM_WALLET_TOKEN_BALANCE: "gala_launchpad_fetch_ethereum_wallet_token_balance";
|
|
147
|
+
readonly FETCH_ETHEREUM_WALLET_NATIVE_BALANCE: "gala_launchpad_fetch_ethereum_wallet_native_balance";
|
|
148
|
+
readonly FETCH_SOLANA_WALLET_TOKEN_BALANCE: "gala_launchpad_fetch_solana_wallet_token_balance";
|
|
149
|
+
readonly FETCH_SOLANA_WALLET_NATIVE_BALANCE: "gala_launchpad_fetch_solana_wallet_native_balance";
|
|
150
|
+
readonly FETCH_ETHEREUM_WALLET_ALL_BALANCES: "gala_launchpad_fetch_ethereum_wallet_all_balances";
|
|
151
|
+
readonly FETCH_SOLANA_WALLET_ALL_BALANCES: "gala_launchpad_fetch_solana_wallet_all_balances";
|
|
152
|
+
};
|
|
137
153
|
/**
|
|
138
154
|
* All MCP Tools - Flat structure for easy access
|
|
139
155
|
*
|
|
@@ -141,6 +157,17 @@ export declare const LIQUIDITY_TOOLS: {
|
|
|
141
157
|
* or use this flat object for backwards compatibility.
|
|
142
158
|
*/
|
|
143
159
|
export declare const MCP_TOOLS: {
|
|
160
|
+
readonly ESTIMATE_BRIDGE_FEE: "gala_launchpad_estimate_bridge_fee";
|
|
161
|
+
readonly BRIDGE_OUT: "gala_launchpad_bridge_out";
|
|
162
|
+
readonly BRIDGE_IN: "gala_launchpad_bridge_in";
|
|
163
|
+
readonly GET_BRIDGE_STATUS: "gala_launchpad_get_bridge_status";
|
|
164
|
+
readonly GET_SUPPORTED_BRIDGE_TOKENS: "gala_launchpad_get_supported_bridge_tokens";
|
|
165
|
+
readonly FETCH_ETHEREUM_WALLET_TOKEN_BALANCE: "gala_launchpad_fetch_ethereum_wallet_token_balance";
|
|
166
|
+
readonly FETCH_ETHEREUM_WALLET_NATIVE_BALANCE: "gala_launchpad_fetch_ethereum_wallet_native_balance";
|
|
167
|
+
readonly FETCH_SOLANA_WALLET_TOKEN_BALANCE: "gala_launchpad_fetch_solana_wallet_token_balance";
|
|
168
|
+
readonly FETCH_SOLANA_WALLET_NATIVE_BALANCE: "gala_launchpad_fetch_solana_wallet_native_balance";
|
|
169
|
+
readonly FETCH_ETHEREUM_WALLET_ALL_BALANCES: "gala_launchpad_fetch_ethereum_wallet_all_balances";
|
|
170
|
+
readonly FETCH_SOLANA_WALLET_ALL_BALANCES: "gala_launchpad_fetch_solana_wallet_all_balances";
|
|
144
171
|
readonly GET_USER_LIQUIDITY_POSITIONS: "gala_launchpad_get_user_liquidity_positions";
|
|
145
172
|
readonly GET_LIQUIDITY_POSITION_BY_ID: "gala_launchpad_get_liquidity_position_by_id";
|
|
146
173
|
readonly GET_LIQUIDITY_POSITION: "gala_launchpad_get_liquidity_position";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpToolNames.d.ts","sourceRoot":"","sources":["../../src/constants/mcpToolNames.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;CAoBb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;CAchB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;CAQhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CAehB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;CAaZ,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;CASlB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"mcpToolNames.d.ts","sourceRoot":"","sources":["../../src/constants/mcpToolNames.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;CAoBb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;CAchB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;CAQhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CAehB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;CAaZ,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;CASlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;CAcf,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqBZ,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAErE;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,WAAW,CAEjE"}
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
* Use these constants instead of hardcoded strings to prevent typos
|
|
7
7
|
* and enable IDE autocomplete.
|
|
8
8
|
*
|
|
9
|
-
* Total:
|
|
9
|
+
* Total: 93 tools across 10 categories (includes 2 event watchers: DEX pools and launchpad tokens)
|
|
10
10
|
*/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.MCP_TOOLS = exports.LIQUIDITY_TOOLS = exports.DEX_TOOLS = exports.UTILITY_TOOLS = exports.LOCK_TOOLS = exports.TRANSFER_TOOLS = exports.CREATION_TOOLS = exports.BALANCE_TOOLS = exports.TRADING_TOOLS = exports.POOL_TOOLS = void 0;
|
|
12
|
+
exports.MCP_TOOLS = exports.BRIDGE_TOOLS = exports.LIQUIDITY_TOOLS = exports.DEX_TOOLS = exports.UTILITY_TOOLS = exports.LOCK_TOOLS = exports.TRANSFER_TOOLS = exports.CREATION_TOOLS = exports.BALANCE_TOOLS = exports.TRADING_TOOLS = exports.POOL_TOOLS = void 0;
|
|
13
13
|
exports.getAllToolNames = getAllToolNames;
|
|
14
14
|
exports.isValidToolName = isValidToolName;
|
|
15
15
|
/**
|
|
@@ -139,6 +139,24 @@ exports.LIQUIDITY_TOOLS = {
|
|
|
139
139
|
REMOVE_LIQUIDITY: 'gala_launchpad_remove_liquidity',
|
|
140
140
|
COLLECT_POSITION_FEES: 'gala_launchpad_collect_position_fees',
|
|
141
141
|
};
|
|
142
|
+
/**
|
|
143
|
+
* Bridge Tools (11 tools)
|
|
144
|
+
*/
|
|
145
|
+
exports.BRIDGE_TOOLS = {
|
|
146
|
+
ESTIMATE_BRIDGE_FEE: 'gala_launchpad_estimate_bridge_fee',
|
|
147
|
+
BRIDGE_OUT: 'gala_launchpad_bridge_out',
|
|
148
|
+
BRIDGE_IN: 'gala_launchpad_bridge_in',
|
|
149
|
+
GET_BRIDGE_STATUS: 'gala_launchpad_get_bridge_status',
|
|
150
|
+
GET_SUPPORTED_BRIDGE_TOKENS: 'gala_launchpad_get_supported_bridge_tokens',
|
|
151
|
+
// Single token balance queries (fast - 1 RPC call)
|
|
152
|
+
FETCH_ETHEREUM_WALLET_TOKEN_BALANCE: 'gala_launchpad_fetch_ethereum_wallet_token_balance',
|
|
153
|
+
FETCH_ETHEREUM_WALLET_NATIVE_BALANCE: 'gala_launchpad_fetch_ethereum_wallet_native_balance',
|
|
154
|
+
FETCH_SOLANA_WALLET_TOKEN_BALANCE: 'gala_launchpad_fetch_solana_wallet_token_balance',
|
|
155
|
+
FETCH_SOLANA_WALLET_NATIVE_BALANCE: 'gala_launchpad_fetch_solana_wallet_native_balance',
|
|
156
|
+
// All tokens balance queries (complete portfolio view)
|
|
157
|
+
FETCH_ETHEREUM_WALLET_ALL_BALANCES: 'gala_launchpad_fetch_ethereum_wallet_all_balances',
|
|
158
|
+
FETCH_SOLANA_WALLET_ALL_BALANCES: 'gala_launchpad_fetch_solana_wallet_all_balances',
|
|
159
|
+
};
|
|
142
160
|
/**
|
|
143
161
|
* All MCP Tools - Flat structure for easy access
|
|
144
162
|
*
|
|
@@ -164,6 +182,8 @@ exports.MCP_TOOLS = {
|
|
|
164
182
|
...exports.DEX_TOOLS,
|
|
165
183
|
// Liquidity Positions
|
|
166
184
|
...exports.LIQUIDITY_TOOLS,
|
|
185
|
+
// Bridge
|
|
186
|
+
...exports.BRIDGE_TOOLS,
|
|
167
187
|
};
|
|
168
188
|
/**
|
|
169
189
|
* Get all tool names as an array
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpToolNames.js","sourceRoot":"","sources":["../../src/constants/mcpToolNames.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;
|
|
1
|
+
{"version":3,"file":"mcpToolNames.js","sourceRoot":"","sources":["../../src/constants/mcpToolNames.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/generated/version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/generated/version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,kBAAkB,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/generated/version.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEU,QAAA,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/generated/version.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEU,QAAA,kBAAkB,GAAG,eAAe,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bridge Prompts (Slash Commands)
|
|
3
|
+
*
|
|
4
|
+
* Cross-chain bridging commands for GalaChain ↔ Ethereum and GalaChain ↔ Solana
|
|
5
|
+
*/
|
|
6
|
+
import type { MCPPrompt } from '../types/mcp.js';
|
|
7
|
+
/**
|
|
8
|
+
* Get Supported Bridge Tokens - List all tokens supported for cross-chain bridging
|
|
9
|
+
*/
|
|
10
|
+
export declare const supportedBridgeTokensPrompt: MCPPrompt;
|
|
11
|
+
/**
|
|
12
|
+
* Estimate Bridge Fee - Estimate fees for bridging tokens to Ethereum or Solana
|
|
13
|
+
*/
|
|
14
|
+
export declare const estimateBridgeFeePrompt: MCPPrompt;
|
|
15
|
+
/**
|
|
16
|
+
* Bridge Out - Bridge tokens from GalaChain to Ethereum or Solana
|
|
17
|
+
*/
|
|
18
|
+
export declare const bridgeOutPrompt: MCPPrompt;
|
|
19
|
+
/**
|
|
20
|
+
* Bridge In - Bridge tokens from Ethereum or Solana to GalaChain
|
|
21
|
+
*/
|
|
22
|
+
export declare const bridgeInPrompt: MCPPrompt;
|
|
23
|
+
/**
|
|
24
|
+
* Get Bridge Status - Check the status of a bridge transaction
|
|
25
|
+
*/
|
|
26
|
+
export declare const bridgeStatusPrompt: MCPPrompt;
|
|
27
|
+
/**
|
|
28
|
+
* Fetch Ethereum Token Balance - Get single ERC-20 token balance
|
|
29
|
+
*/
|
|
30
|
+
export declare const ethereumTokenBalancePrompt: MCPPrompt;
|
|
31
|
+
/**
|
|
32
|
+
* Fetch Ethereum Native Balance - Get native ETH balance only
|
|
33
|
+
*/
|
|
34
|
+
export declare const ethereumNativeBalancePrompt: MCPPrompt;
|
|
35
|
+
/**
|
|
36
|
+
* Fetch Solana Token Balance - Get single SPL token balance
|
|
37
|
+
*/
|
|
38
|
+
export declare const solanaTokenBalancePrompt: MCPPrompt;
|
|
39
|
+
/**
|
|
40
|
+
* Fetch Solana Native Balance - Get native SOL balance only
|
|
41
|
+
*/
|
|
42
|
+
export declare const solanaNativeBalancePrompt: MCPPrompt;
|
|
43
|
+
/**
|
|
44
|
+
* Fetch All Ethereum Wallet Balances - Get all supported token balances on Ethereum
|
|
45
|
+
*/
|
|
46
|
+
export declare const ethereumAllBalancesPrompt: MCPPrompt;
|
|
47
|
+
/**
|
|
48
|
+
* Fetch All Solana Wallet Balances - Get all supported token balances on Solana
|
|
49
|
+
*/
|
|
50
|
+
export declare const solanaAllBalancesPrompt: MCPPrompt;
|
|
51
|
+
export declare const bridgePrompts: MCPPrompt[];
|
|
52
|
+
//# sourceMappingURL=bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/prompts/bridge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAMjD;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAyBzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAwCrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SA8C7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAsC5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAiChC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAiCxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,SA0BzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAiCtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,SA0BvC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,SA4BvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,SA2BrC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAAS,EAcpC,CAAC"}
|