@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.
Files changed (520) hide show
  1. package/README.md +49 -21
  2. package/dist/ai-docs.json +7357 -0
  3. package/dist/constants/mcpToolNames.d.ts +3 -1
  4. package/dist/constants/mcpToolNames.d.ts.map +1 -1
  5. package/dist/constants/mcpToolNames.js +2 -1
  6. package/dist/constants/mcpToolNames.js.map +1 -1
  7. package/dist/explain-sdk-usage-ai.json +3445 -0
  8. package/dist/generated/version.d.ts +1 -1
  9. package/dist/generated/version.js +1 -1
  10. package/dist/prompts/account.d.ts +24 -0
  11. package/dist/prompts/account.d.ts.map +1 -0
  12. package/dist/prompts/account.js +89 -0
  13. package/dist/prompts/account.js.map +1 -0
  14. package/dist/prompts/api-keys.d.ts +36 -0
  15. package/dist/prompts/api-keys.d.ts.map +1 -0
  16. package/dist/prompts/api-keys.js +251 -0
  17. package/dist/prompts/api-keys.js.map +1 -0
  18. package/dist/prompts/auth.d.ts +29 -0
  19. package/dist/prompts/auth.d.ts.map +1 -0
  20. package/dist/prompts/auth.js +127 -0
  21. package/dist/prompts/auth.js.map +1 -0
  22. package/dist/prompts/balances.d.ts.map +1 -1
  23. package/dist/prompts/balances.js +17 -17
  24. package/dist/prompts/balances.js.map +1 -1
  25. package/dist/prompts/bans.d.ts +23 -0
  26. package/dist/prompts/bans.d.ts.map +1 -0
  27. package/dist/prompts/bans.js +82 -0
  28. package/dist/prompts/bans.js.map +1 -0
  29. package/dist/prompts/bridge.d.ts +2 -1
  30. package/dist/prompts/bridge.d.ts.map +1 -1
  31. package/dist/prompts/bridge.js +91 -227
  32. package/dist/prompts/bridge.js.map +1 -1
  33. package/dist/prompts/burns.d.ts +30 -0
  34. package/dist/prompts/burns.d.ts.map +1 -0
  35. package/dist/prompts/burns.js +127 -0
  36. package/dist/prompts/burns.js.map +1 -0
  37. package/dist/prompts/chat-messages.d.ts +21 -0
  38. package/dist/prompts/chat-messages.d.ts.map +1 -0
  39. package/dist/prompts/chat-messages.js +103 -0
  40. package/dist/prompts/chat-messages.js.map +1 -0
  41. package/dist/prompts/chat.d.ts +67 -0
  42. package/dist/prompts/chat.d.ts.map +1 -0
  43. package/dist/prompts/chat.js +355 -0
  44. package/dist/prompts/chat.js.map +1 -0
  45. package/dist/prompts/comments.d.ts +29 -0
  46. package/dist/prompts/comments.d.ts.map +1 -0
  47. package/dist/prompts/comments.js +133 -0
  48. package/dist/prompts/comments.js.map +1 -0
  49. package/dist/prompts/content-flags.d.ts +29 -0
  50. package/dist/prompts/content-flags.d.ts.map +1 -0
  51. package/dist/prompts/content-flags.js +248 -0
  52. package/dist/prompts/content-flags.js.map +1 -0
  53. package/dist/prompts/content-reactions.d.ts +29 -0
  54. package/dist/prompts/content-reactions.d.ts.map +1 -0
  55. package/dist/prompts/content-reactions.js +77 -0
  56. package/dist/prompts/content-reactions.js.map +1 -0
  57. package/dist/prompts/create-token.d.ts.map +1 -1
  58. package/dist/prompts/create-token.js +11 -18
  59. package/dist/prompts/create-token.js.map +1 -1
  60. package/dist/prompts/dex-trading.d.ts.map +1 -1
  61. package/dist/prompts/dex-trading.js +11 -42
  62. package/dist/prompts/dex-trading.js.map +1 -1
  63. package/dist/prompts/discover-tokens.d.ts.map +1 -1
  64. package/dist/prompts/discover-tokens.js +11 -26
  65. package/dist/prompts/discover-tokens.js.map +1 -1
  66. package/dist/prompts/event-subscriptions.d.ts +45 -0
  67. package/dist/prompts/event-subscriptions.d.ts.map +1 -0
  68. package/dist/prompts/event-subscriptions.js +330 -0
  69. package/dist/prompts/event-subscriptions.js.map +1 -0
  70. package/dist/prompts/explore-dex-pools.d.ts +2 -0
  71. package/dist/prompts/explore-dex-pools.d.ts.map +1 -1
  72. package/dist/prompts/explore-dex-pools.js +26 -104
  73. package/dist/prompts/explore-dex-pools.js.map +1 -1
  74. package/dist/prompts/factories/balance-prompt-factory.d.ts +102 -0
  75. package/dist/prompts/factories/balance-prompt-factory.d.ts.map +1 -0
  76. package/dist/prompts/factories/balance-prompt-factory.js +176 -0
  77. package/dist/prompts/factories/balance-prompt-factory.js.map +1 -0
  78. package/dist/prompts/factories/ban-management-factory.d.ts +90 -0
  79. package/dist/prompts/factories/ban-management-factory.d.ts.map +1 -0
  80. package/dist/prompts/factories/ban-management-factory.js +330 -0
  81. package/dist/prompts/factories/ban-management-factory.js.map +1 -0
  82. package/dist/prompts/factories/calculation-prompt-factory.d.ts +119 -0
  83. package/dist/prompts/factories/calculation-prompt-factory.d.ts.map +1 -0
  84. package/dist/prompts/factories/calculation-prompt-factory.js +183 -0
  85. package/dist/prompts/factories/calculation-prompt-factory.js.map +1 -0
  86. package/dist/prompts/factories/discovery-prompt-factory.d.ts +135 -0
  87. package/dist/prompts/factories/discovery-prompt-factory.d.ts.map +1 -0
  88. package/dist/prompts/factories/discovery-prompt-factory.js +240 -0
  89. package/dist/prompts/factories/discovery-prompt-factory.js.map +1 -0
  90. package/dist/prompts/factories/event-subscription-factory.d.ts +177 -0
  91. package/dist/prompts/factories/event-subscription-factory.d.ts.map +1 -0
  92. package/dist/prompts/factories/event-subscription-factory.js +329 -0
  93. package/dist/prompts/factories/event-subscription-factory.js.map +1 -0
  94. package/dist/prompts/factories/filtered-list-prompt-factory.d.ts +95 -0
  95. package/dist/prompts/factories/filtered-list-prompt-factory.d.ts.map +1 -0
  96. package/dist/prompts/factories/filtered-list-prompt-factory.js +147 -0
  97. package/dist/prompts/factories/filtered-list-prompt-factory.js.map +1 -0
  98. package/dist/prompts/factories/index.d.ts +33 -0
  99. package/dist/prompts/factories/index.d.ts.map +1 -0
  100. package/dist/prompts/factories/index.js +91 -0
  101. package/dist/prompts/factories/index.js.map +1 -0
  102. package/dist/prompts/factories/invite-management-factory.d.ts +88 -0
  103. package/dist/prompts/factories/invite-management-factory.d.ts.map +1 -0
  104. package/dist/prompts/factories/invite-management-factory.js +262 -0
  105. package/dist/prompts/factories/invite-management-factory.js.map +1 -0
  106. package/dist/prompts/factories/reaction-prompt-factory.d.ts +81 -0
  107. package/dist/prompts/factories/reaction-prompt-factory.d.ts.map +1 -0
  108. package/dist/prompts/factories/reaction-prompt-factory.js +188 -0
  109. package/dist/prompts/factories/reaction-prompt-factory.js.map +1 -0
  110. package/dist/prompts/factories/simple-operation-factory.d.ts +166 -0
  111. package/dist/prompts/factories/simple-operation-factory.d.ts.map +1 -0
  112. package/dist/prompts/factories/simple-operation-factory.js +218 -0
  113. package/dist/prompts/factories/simple-operation-factory.js.map +1 -0
  114. package/dist/prompts/index.d.ts +31 -6
  115. package/dist/prompts/index.d.ts.map +1 -1
  116. package/dist/prompts/index.js +136 -5
  117. package/dist/prompts/index.js.map +1 -1
  118. package/dist/prompts/locks.d.ts.map +1 -1
  119. package/dist/prompts/locks.js +32 -56
  120. package/dist/prompts/locks.js.map +1 -1
  121. package/dist/prompts/moderators.d.ts +22 -0
  122. package/dist/prompts/moderators.d.ts.map +1 -0
  123. package/dist/prompts/moderators.js +62 -0
  124. package/dist/prompts/moderators.js.map +1 -0
  125. package/dist/prompts/monitoring.d.ts +3 -1
  126. package/dist/prompts/monitoring.d.ts.map +1 -1
  127. package/dist/prompts/monitoring.js +52 -140
  128. package/dist/prompts/monitoring.js.map +1 -1
  129. package/dist/prompts/overseers.d.ts +34 -0
  130. package/dist/prompts/overseers.d.ts.map +1 -0
  131. package/dist/prompts/overseers.js +117 -0
  132. package/dist/prompts/overseers.js.map +1 -0
  133. package/dist/prompts/pools.d.ts +22 -20
  134. package/dist/prompts/pools.d.ts.map +1 -1
  135. package/dist/prompts/pools.js +150 -251
  136. package/dist/prompts/pools.js.map +1 -1
  137. package/dist/prompts/portfolio.d.ts.map +1 -1
  138. package/dist/prompts/portfolio.js +1 -9
  139. package/dist/prompts/portfolio.js.map +1 -1
  140. package/dist/prompts/prompt-factories.d.ts +179 -0
  141. package/dist/prompts/prompt-factories.d.ts.map +1 -0
  142. package/dist/prompts/prompt-factories.js +230 -0
  143. package/dist/prompts/prompt-factories.js.map +1 -0
  144. package/dist/prompts/referrals.d.ts +27 -0
  145. package/dist/prompts/referrals.d.ts.map +1 -0
  146. package/dist/prompts/referrals.js +176 -0
  147. package/dist/prompts/referrals.js.map +1 -0
  148. package/dist/prompts/streaming.d.ts +84 -0
  149. package/dist/prompts/streaming.d.ts.map +1 -0
  150. package/dist/prompts/streaming.js +411 -0
  151. package/dist/prompts/streaming.js.map +1 -0
  152. package/dist/prompts/tier1-bridge-operations.d.ts +30 -0
  153. package/dist/prompts/tier1-bridge-operations.d.ts.map +1 -0
  154. package/dist/prompts/tier1-bridge-operations.js +634 -0
  155. package/dist/prompts/tier1-bridge-operations.js.map +1 -0
  156. package/dist/prompts/tier1-liquidity-management.d.ts +30 -0
  157. package/dist/prompts/tier1-liquidity-management.d.ts.map +1 -0
  158. package/dist/prompts/tier1-liquidity-management.js +560 -0
  159. package/dist/prompts/tier1-liquidity-management.js.map +1 -0
  160. package/dist/prompts/tier1-pool-discovery.d.ts +30 -0
  161. package/dist/prompts/tier1-pool-discovery.d.ts.map +1 -0
  162. package/dist/prompts/tier1-pool-discovery.js +221 -0
  163. package/dist/prompts/tier1-pool-discovery.js.map +1 -0
  164. package/dist/prompts/tier1-price-history.d.ts +30 -0
  165. package/dist/prompts/tier1-price-history.d.ts.map +1 -0
  166. package/dist/prompts/tier1-price-history.js +429 -0
  167. package/dist/prompts/tier1-price-history.js.map +1 -0
  168. package/dist/prompts/tier1-token-analysis.d.ts +30 -0
  169. package/dist/prompts/tier1-token-analysis.d.ts.map +1 -0
  170. package/dist/prompts/tier1-token-analysis.js +376 -0
  171. package/dist/prompts/tier1-token-analysis.js.map +1 -0
  172. package/dist/prompts/tier2-account-setup.d.ts +24 -0
  173. package/dist/prompts/tier2-account-setup.d.ts.map +1 -0
  174. package/dist/prompts/tier2-account-setup.js +206 -0
  175. package/dist/prompts/tier2-account-setup.js.map +1 -0
  176. package/dist/prompts/tier2-advanced-liquidity.d.ts +24 -0
  177. package/dist/prompts/tier2-advanced-liquidity.d.ts.map +1 -0
  178. package/dist/prompts/tier2-advanced-liquidity.js +298 -0
  179. package/dist/prompts/tier2-advanced-liquidity.js.map +1 -0
  180. package/dist/prompts/tier2-asset-management.d.ts +25 -0
  181. package/dist/prompts/tier2-asset-management.d.ts.map +1 -0
  182. package/dist/prompts/tier2-asset-management.js +246 -0
  183. package/dist/prompts/tier2-asset-management.js.map +1 -0
  184. package/dist/prompts/tier2-token-lifecycle.d.ts +25 -0
  185. package/dist/prompts/tier2-token-lifecycle.d.ts.map +1 -0
  186. package/dist/prompts/tier2-token-lifecycle.js +241 -0
  187. package/dist/prompts/tier2-token-lifecycle.js.map +1 -0
  188. package/dist/prompts/tier3-community-engagement.d.ts +26 -0
  189. package/dist/prompts/tier3-community-engagement.d.ts.map +1 -0
  190. package/dist/prompts/tier3-community-engagement.js +610 -0
  191. package/dist/prompts/tier3-community-engagement.js.map +1 -0
  192. package/dist/prompts/tier3-moderation-workflows.d.ts +31 -0
  193. package/dist/prompts/tier3-moderation-workflows.d.ts.map +1 -0
  194. package/dist/prompts/tier3-moderation-workflows.js +511 -0
  195. package/dist/prompts/tier3-moderation-workflows.js.map +1 -0
  196. package/dist/prompts/tier3-streaming-management.d.ts +26 -0
  197. package/dist/prompts/tier3-streaming-management.d.ts.map +1 -0
  198. package/dist/prompts/tier3-streaming-management.js +797 -0
  199. package/dist/prompts/tier3-streaming-management.js.map +1 -0
  200. package/dist/prompts/token-bans.d.ts +27 -0
  201. package/dist/prompts/token-bans.d.ts.map +1 -0
  202. package/dist/prompts/token-bans.js +77 -0
  203. package/dist/prompts/token-bans.js.map +1 -0
  204. package/dist/prompts/trades.d.ts +22 -0
  205. package/dist/prompts/trades.d.ts.map +1 -0
  206. package/dist/prompts/trades.js +107 -0
  207. package/dist/prompts/trades.js.map +1 -0
  208. package/dist/prompts/trading-calculations.d.ts +3 -1
  209. package/dist/prompts/trading-calculations.d.ts.map +1 -1
  210. package/dist/prompts/trading-calculations.js +134 -270
  211. package/dist/prompts/trading-calculations.js.map +1 -1
  212. package/dist/prompts/trading.d.ts +10 -1
  213. package/dist/prompts/trading.d.ts.map +1 -1
  214. package/dist/prompts/trading.js +128 -2
  215. package/dist/prompts/trading.js.map +1 -1
  216. package/dist/prompts/transfers.d.ts +2 -1
  217. package/dist/prompts/transfers.d.ts.map +1 -1
  218. package/dist/prompts/transfers.js +26 -30
  219. package/dist/prompts/transfers.js.map +1 -1
  220. package/dist/prompts/uploads.d.ts +19 -0
  221. package/dist/prompts/uploads.d.ts.map +1 -0
  222. package/dist/prompts/uploads.js +114 -0
  223. package/dist/prompts/uploads.js.map +1 -0
  224. package/dist/prompts/utility-tools.d.ts.map +1 -1
  225. package/dist/prompts/utility-tools.js +27 -18
  226. package/dist/prompts/utility-tools.js.map +1 -1
  227. package/dist/prompts/utils/index.d.ts +21 -0
  228. package/dist/prompts/utils/index.d.ts.map +1 -0
  229. package/dist/prompts/utils/index.js +38 -0
  230. package/dist/prompts/utils/index.js.map +1 -0
  231. package/dist/prompts/utils/pagination-helpers.d.ts +95 -0
  232. package/dist/prompts/utils/pagination-helpers.d.ts.map +1 -0
  233. package/dist/prompts/utils/pagination-helpers.js +121 -0
  234. package/dist/prompts/utils/pagination-helpers.js.map +1 -0
  235. package/dist/prompts/utils/workflowTemplates.d.ts.map +1 -1
  236. package/dist/prompts/utils/workflowTemplates.js +4 -3
  237. package/dist/prompts/utils/workflowTemplates.js.map +1 -1
  238. package/dist/prompts/wallet.d.ts +24 -0
  239. package/dist/prompts/wallet.d.ts.map +1 -0
  240. package/dist/prompts/wallet.js +139 -0
  241. package/dist/prompts/wallet.js.map +1 -0
  242. package/dist/schemas/common-schemas.d.ts +890 -0
  243. package/dist/schemas/common-schemas.d.ts.map +1 -1
  244. package/dist/schemas/common-schemas.js +853 -1
  245. package/dist/schemas/common-schemas.js.map +1 -1
  246. package/dist/server.d.ts +31 -3
  247. package/dist/server.d.ts.map +1 -1
  248. package/dist/server.js +68 -7
  249. package/dist/server.js.map +1 -1
  250. package/dist/tools/api-keys/index.d.ts +41 -0
  251. package/dist/tools/api-keys/index.d.ts.map +1 -0
  252. package/dist/tools/api-keys/index.js +245 -0
  253. package/dist/tools/api-keys/index.js.map +1 -0
  254. package/dist/tools/auth/index.d.ts +19 -0
  255. package/dist/tools/auth/index.d.ts.map +1 -0
  256. package/dist/tools/auth/index.js +138 -0
  257. package/dist/tools/auth/index.js.map +1 -0
  258. package/dist/tools/balance/helpers/format-balance.d.ts +86 -0
  259. package/dist/tools/balance/helpers/format-balance.d.ts.map +1 -0
  260. package/dist/tools/balance/helpers/format-balance.js +87 -0
  261. package/dist/tools/balance/helpers/format-balance.js.map +1 -0
  262. package/dist/tools/balance/index.d.ts +4 -4
  263. package/dist/tools/balance/index.d.ts.map +1 -1
  264. package/dist/tools/balance/index.js +64 -176
  265. package/dist/tools/balance/index.js.map +1 -1
  266. package/dist/tools/ban/index.d.ts +37 -0
  267. package/dist/tools/ban/index.d.ts.map +1 -0
  268. package/dist/tools/ban/index.js +206 -0
  269. package/dist/tools/ban/index.js.map +1 -0
  270. package/dist/tools/bridge/helpers/bridgeable-token-tools.d.ts +87 -0
  271. package/dist/tools/bridge/helpers/bridgeable-token-tools.d.ts.map +1 -0
  272. package/dist/tools/bridge/helpers/bridgeable-token-tools.js +130 -0
  273. package/dist/tools/bridge/helpers/bridgeable-token-tools.js.map +1 -0
  274. package/dist/tools/bridge/helpers/external-chain-balance-tools.d.ts +87 -0
  275. package/dist/tools/bridge/helpers/external-chain-balance-tools.d.ts.map +1 -0
  276. package/dist/tools/bridge/helpers/external-chain-balance-tools.js +167 -0
  277. package/dist/tools/bridge/helpers/external-chain-balance-tools.js.map +1 -0
  278. package/dist/tools/bridge/index.d.ts +3 -7
  279. package/dist/tools/bridge/index.d.ts.map +1 -1
  280. package/dist/tools/bridge/index.js +89 -371
  281. package/dist/tools/bridge/index.js.map +1 -1
  282. package/dist/tools/burns/index.d.ts.map +1 -1
  283. package/dist/tools/burns/index.js +8 -36
  284. package/dist/tools/burns/index.js.map +1 -1
  285. package/dist/tools/chat/getPinnedChatMessage.d.ts +15 -0
  286. package/dist/tools/chat/getPinnedChatMessage.d.ts.map +1 -0
  287. package/dist/tools/chat/getPinnedChatMessage.js +37 -0
  288. package/dist/tools/chat/getPinnedChatMessage.js.map +1 -0
  289. package/dist/tools/chat/index.d.ts +73 -0
  290. package/dist/tools/chat/index.d.ts.map +1 -0
  291. package/dist/tools/chat/index.js +359 -0
  292. package/dist/tools/chat/index.js.map +1 -0
  293. package/dist/tools/chat/pinChatMessage.d.ts +16 -0
  294. package/dist/tools/chat/pinChatMessage.d.ts.map +1 -0
  295. package/dist/tools/chat/pinChatMessage.js +51 -0
  296. package/dist/tools/chat/pinChatMessage.js.map +1 -0
  297. package/dist/tools/chat/unpinChatMessage.d.ts +16 -0
  298. package/dist/tools/chat/unpinChatMessage.d.ts.map +1 -0
  299. package/dist/tools/chat/unpinChatMessage.js +39 -0
  300. package/dist/tools/chat/unpinChatMessage.js.map +1 -0
  301. package/dist/tools/chat-messages/index.d.ts +35 -0
  302. package/dist/tools/chat-messages/index.d.ts.map +1 -0
  303. package/dist/tools/chat-messages/index.js +165 -0
  304. package/dist/tools/chat-messages/index.js.map +1 -0
  305. package/dist/tools/comments/index.d.ts +44 -0
  306. package/dist/tools/comments/index.d.ts.map +1 -0
  307. package/dist/tools/comments/index.js +171 -0
  308. package/dist/tools/comments/index.js.map +1 -0
  309. package/dist/tools/content-flags/index.d.ts +38 -0
  310. package/dist/tools/content-flags/index.d.ts.map +1 -0
  311. package/dist/tools/content-flags/index.js +282 -0
  312. package/dist/tools/content-flags/index.js.map +1 -0
  313. package/dist/tools/content-reactions/index.d.ts +43 -0
  314. package/dist/tools/content-reactions/index.d.ts.map +1 -0
  315. package/dist/tools/content-reactions/index.js +135 -0
  316. package/dist/tools/content-reactions/index.js.map +1 -0
  317. package/dist/tools/creation/index.d.ts.map +1 -1
  318. package/dist/tools/creation/index.js +2 -5
  319. package/dist/tools/creation/index.js.map +1 -1
  320. package/dist/tools/dex/fetchAllDexPools.d.ts.map +1 -1
  321. package/dist/tools/dex/fetchAllDexPools.js +5 -21
  322. package/dist/tools/dex/fetchAllDexPools.js.map +1 -1
  323. package/dist/tools/dex/fetchDexPools.d.ts.map +1 -1
  324. package/dist/tools/dex/fetchDexPools.js +11 -28
  325. package/dist/tools/dex/fetchDexPools.js.map +1 -1
  326. package/dist/tools/dex/helpers.d.ts +479 -0
  327. package/dist/tools/dex/helpers.d.ts.map +1 -0
  328. package/dist/tools/dex/helpers.js +570 -0
  329. package/dist/tools/dex/helpers.js.map +1 -0
  330. package/dist/tools/dex/index.d.ts +50 -11
  331. package/dist/tools/dex/index.d.ts.map +1 -1
  332. package/dist/tools/dex/index.js +124 -486
  333. package/dist/tools/dex/index.js.map +1 -1
  334. package/dist/tools/dex/leaderboard.d.ts.map +1 -1
  335. package/dist/tools/dex/leaderboard.js +5 -70
  336. package/dist/tools/dex/leaderboard.js.map +1 -1
  337. package/dist/tools/dex/liquidity-positions.d.ts.map +1 -1
  338. package/dist/tools/dex/liquidity-positions.js +20 -91
  339. package/dist/tools/dex/liquidity-positions.js.map +1 -1
  340. package/dist/tools/dex/volume.d.ts.map +1 -1
  341. package/dist/tools/dex/volume.js +6 -21
  342. package/dist/tools/dex/volume.js.map +1 -1
  343. package/dist/tools/dex-analytics/index.d.ts +48 -0
  344. package/dist/tools/dex-analytics/index.d.ts.map +1 -0
  345. package/dist/tools/dex-analytics/index.js +111 -0
  346. package/dist/tools/dex-analytics/index.js.map +1 -0
  347. package/dist/tools/dex-liquidity/index.d.ts +22 -0
  348. package/dist/tools/dex-liquidity/index.d.ts.map +1 -0
  349. package/dist/tools/dex-liquidity/index.js +384 -0
  350. package/dist/tools/dex-liquidity/index.js.map +1 -0
  351. package/dist/tools/dex-pools/index.d.ts +60 -0
  352. package/dist/tools/dex-pools/index.d.ts.map +1 -0
  353. package/dist/tools/dex-pools/index.js +231 -0
  354. package/dist/tools/dex-pools/index.js.map +1 -0
  355. package/dist/tools/handler-factories.d.ts +1401 -0
  356. package/dist/tools/handler-factories.d.ts.map +1 -0
  357. package/dist/tools/handler-factories.js +1680 -0
  358. package/dist/tools/handler-factories.js.map +1 -0
  359. package/dist/tools/index.d.ts +1 -11
  360. package/dist/tools/index.d.ts.map +1 -1
  361. package/dist/tools/index.js +171 -27
  362. package/dist/tools/index.js.map +1 -1
  363. package/dist/tools/locks/index.d.ts +2 -0
  364. package/dist/tools/locks/index.d.ts.map +1 -1
  365. package/dist/tools/locks/index.js +9 -86
  366. package/dist/tools/locks/index.js.map +1 -1
  367. package/dist/tools/moderators/index.d.ts +53 -0
  368. package/dist/tools/moderators/index.d.ts.map +1 -0
  369. package/dist/tools/moderators/index.js +258 -0
  370. package/dist/tools/moderators/index.js.map +1 -0
  371. package/dist/tools/overseers/getOverseerUserSummary.d.ts +15 -0
  372. package/dist/tools/overseers/getOverseerUserSummary.d.ts.map +1 -0
  373. package/dist/tools/overseers/getOverseerUserSummary.js +40 -0
  374. package/dist/tools/overseers/getOverseerUserSummary.js.map +1 -0
  375. package/dist/tools/overseers/index.d.ts +58 -0
  376. package/dist/tools/overseers/index.d.ts.map +1 -0
  377. package/dist/tools/overseers/index.js +325 -0
  378. package/dist/tools/overseers/index.js.map +1 -0
  379. package/dist/tools/overseers/listOverseerUsers.d.ts +15 -0
  380. package/dist/tools/overseers/listOverseerUsers.d.ts.map +1 -0
  381. package/dist/tools/overseers/listOverseerUsers.js +76 -0
  382. package/dist/tools/overseers/listOverseerUsers.js.map +1 -0
  383. package/dist/tools/pagination-handler-factory.d.ts +131 -0
  384. package/dist/tools/pagination-handler-factory.d.ts.map +1 -0
  385. package/dist/tools/pagination-handler-factory.js +159 -0
  386. package/dist/tools/pagination-handler-factory.js.map +1 -0
  387. package/dist/tools/pools/checkPoolExists.d.ts +16 -0
  388. package/dist/tools/pools/checkPoolExists.d.ts.map +1 -0
  389. package/dist/tools/pools/checkPoolExists.js +48 -0
  390. package/dist/tools/pools/checkPoolExists.js.map +1 -0
  391. package/dist/tools/pools/fetchAllPools.d.ts.map +1 -1
  392. package/dist/tools/pools/fetchAllPools.js +51 -11
  393. package/dist/tools/pools/fetchAllPools.js.map +1 -1
  394. package/dist/tools/pools/fetchAllPriceHistory.d.ts.map +1 -1
  395. package/dist/tools/pools/fetchAllPriceHistory.js +11 -51
  396. package/dist/tools/pools/fetchAllPriceHistory.js.map +1 -1
  397. package/dist/tools/pools/fetchPoolDetails.d.ts.map +1 -1
  398. package/dist/tools/pools/fetchPoolDetails.js +4 -11
  399. package/dist/tools/pools/fetchPoolDetails.js.map +1 -1
  400. package/dist/tools/pools/fetchPools.d.ts.map +1 -1
  401. package/dist/tools/pools/fetchPools.js +40 -20
  402. package/dist/tools/pools/fetchPools.js.map +1 -1
  403. package/dist/tools/pools/fetchPriceHistory.d.ts.map +1 -1
  404. package/dist/tools/pools/fetchPriceHistory.js +10 -51
  405. package/dist/tools/pools/fetchPriceHistory.js.map +1 -1
  406. package/dist/tools/pools/fetchTokenDetails.d.ts.map +1 -1
  407. package/dist/tools/pools/fetchTokenDetails.js +4 -35
  408. package/dist/tools/pools/fetchTokenDetails.js.map +1 -1
  409. package/dist/tools/pools/index.d.ts +2 -0
  410. package/dist/tools/pools/index.d.ts.map +1 -1
  411. package/dist/tools/pools/index.js +103 -35
  412. package/dist/tools/pools/index.js.map +1 -1
  413. package/dist/tools/pools/onDexPoolCreation.d.ts +1 -2
  414. package/dist/tools/pools/onDexPoolCreation.d.ts.map +1 -1
  415. package/dist/tools/pools/onDexPoolCreation.js +14 -48
  416. package/dist/tools/pools/onDexPoolCreation.js.map +1 -1
  417. package/dist/tools/pools/onLaunchpadTokenCreation.d.ts +1 -2
  418. package/dist/tools/pools/onLaunchpadTokenCreation.d.ts.map +1 -1
  419. package/dist/tools/pools/onLaunchpadTokenCreation.js +9 -42
  420. package/dist/tools/pools/onLaunchpadTokenCreation.js.map +1 -1
  421. package/dist/tools/pools/priceHistoryFactory.d.ts +44 -0
  422. package/dist/tools/pools/priceHistoryFactory.d.ts.map +1 -0
  423. package/dist/tools/pools/priceHistoryFactory.js +154 -0
  424. package/dist/tools/pools/priceHistoryFactory.js.map +1 -0
  425. package/dist/tools/pools/updateTokenSocials.d.ts +16 -0
  426. package/dist/tools/pools/updateTokenSocials.d.ts.map +1 -0
  427. package/dist/tools/pools/updateTokenSocials.js +84 -0
  428. package/dist/tools/pools/updateTokenSocials.js.map +1 -0
  429. package/dist/tools/referrals/index.d.ts +12 -0
  430. package/dist/tools/referrals/index.d.ts.map +1 -0
  431. package/dist/tools/referrals/index.js +110 -0
  432. package/dist/tools/referrals/index.js.map +1 -0
  433. package/dist/tools/streaming/index.d.ts +94 -0
  434. package/dist/tools/streaming/index.d.ts.map +1 -0
  435. package/dist/tools/streaming/index.js +549 -0
  436. package/dist/tools/streaming/index.js.map +1 -0
  437. package/dist/tools/streaming/setNextLiveStreamCountdown.d.ts +16 -0
  438. package/dist/tools/streaming/setNextLiveStreamCountdown.d.ts.map +1 -0
  439. package/dist/tools/streaming/setNextLiveStreamCountdown.js +62 -0
  440. package/dist/tools/streaming/setNextLiveStreamCountdown.js.map +1 -0
  441. package/dist/tools/token-ban/index.d.ts +39 -0
  442. package/dist/tools/token-ban/index.d.ts.map +1 -0
  443. package/dist/tools/token-ban/index.js +177 -0
  444. package/dist/tools/token-ban/index.js.map +1 -0
  445. package/dist/tools/tool-factory.d.ts +84 -0
  446. package/dist/tools/tool-factory.d.ts.map +1 -0
  447. package/dist/tools/tool-factory.js +135 -0
  448. package/dist/tools/tool-factory.js.map +1 -0
  449. package/dist/tools/trades/index.d.ts +20 -0
  450. package/dist/tools/trades/index.d.ts.map +1 -0
  451. package/dist/tools/trades/index.js +113 -0
  452. package/dist/tools/trades/index.js.map +1 -0
  453. package/dist/tools/trading/helpers/arg-extractors.d.ts +128 -0
  454. package/dist/tools/trading/helpers/arg-extractors.d.ts.map +1 -0
  455. package/dist/tools/trading/helpers/arg-extractors.js +215 -0
  456. package/dist/tools/trading/helpers/arg-extractors.js.map +1 -0
  457. package/dist/tools/trading/helpers/index.d.ts +8 -0
  458. package/dist/tools/trading/helpers/index.d.ts.map +1 -0
  459. package/dist/tools/trading/helpers/index.js +24 -0
  460. package/dist/tools/trading/helpers/index.js.map +1 -0
  461. package/dist/tools/trading/helpers/trading-schemas.d.ts +276 -0
  462. package/dist/tools/trading/helpers/trading-schemas.d.ts.map +1 -0
  463. package/dist/tools/trading/helpers/trading-schemas.js +310 -0
  464. package/dist/tools/trading/helpers/trading-schemas.js.map +1 -0
  465. package/dist/tools/trading/index.d.ts +2 -0
  466. package/dist/tools/trading/index.d.ts.map +1 -1
  467. package/dist/tools/trading/index.js +148 -371
  468. package/dist/tools/trading/index.js.map +1 -1
  469. package/dist/tools/transfers/index.d.ts +3 -0
  470. package/dist/tools/transfers/index.d.ts.map +1 -1
  471. package/dist/tools/transfers/index.js +72 -52
  472. package/dist/tools/transfers/index.js.map +1 -1
  473. package/dist/tools/utils/cleanup.d.ts.map +1 -1
  474. package/dist/tools/utils/cleanup.js +2 -9
  475. package/dist/tools/utils/cleanup.js.map +1 -1
  476. package/dist/tools/utils/clearCache.d.ts.map +1 -1
  477. package/dist/tools/utils/clearCache.js +5 -7
  478. package/dist/tools/utils/clearCache.js.map +1 -1
  479. package/dist/tools/utils/explainSdkUsage.d.ts +52 -0
  480. package/dist/tools/utils/explainSdkUsage.d.ts.map +1 -1
  481. package/dist/tools/utils/explainSdkUsage.js +1905 -93
  482. package/dist/tools/utils/explainSdkUsage.js.map +1 -1
  483. package/dist/tools/utils/getEthereumAddressFromPrivateKey.d.ts.map +1 -1
  484. package/dist/tools/utils/getEthereumAddressFromPrivateKey.js +2 -1
  485. package/dist/tools/utils/getEthereumAddressFromPrivateKey.js.map +1 -1
  486. package/dist/tools/utils/index.d.ts +2 -0
  487. package/dist/tools/utils/index.d.ts.map +1 -1
  488. package/dist/tools/utils/index.js +2 -12
  489. package/dist/tools/utils/index.js.map +1 -1
  490. package/dist/tools/wallet/index.d.ts +7 -0
  491. package/dist/tools/wallet/index.d.ts.map +1 -0
  492. package/dist/tools/wallet/index.js +24 -0
  493. package/dist/tools/wallet/index.js.map +1 -0
  494. package/dist/utils/date-converter.d.ts +58 -0
  495. package/dist/utils/date-converter.d.ts.map +1 -0
  496. package/dist/utils/date-converter.js +83 -0
  497. package/dist/utils/date-converter.js.map +1 -0
  498. package/dist/utils/pool-filter-builder.d.ts +78 -0
  499. package/dist/utils/pool-filter-builder.d.ts.map +1 -0
  500. package/dist/utils/pool-filter-builder.js +130 -0
  501. package/dist/utils/pool-filter-builder.js.map +1 -0
  502. package/dist/utils/safe-parsers.d.ts +87 -0
  503. package/dist/utils/safe-parsers.d.ts.map +1 -0
  504. package/dist/utils/safe-parsers.js +134 -0
  505. package/dist/utils/safe-parsers.js.map +1 -0
  506. package/dist/utils/validation.d.ts +5 -5
  507. package/dist/utils/validation.d.ts.map +1 -1
  508. package/dist/utils/validation.js +24 -21
  509. package/dist/utils/validation.js.map +1 -1
  510. package/package.json +23 -15
  511. package/.env.example +0 -21
  512. package/.eslintrc.json +0 -88
  513. package/CHANGELOG.md +0 -2161
  514. package/DOCS_AUDIT_REPORT.md +0 -189
  515. package/DRY_REFACTORING_GUIDE.md +0 -271
  516. package/MCP_COVERAGE_REPORT.md +0 -164
  517. package/MCP_TEST_ANALYSIS.md +0 -317
  518. package/jest.integration.config.js +0 -70
  519. package/scripts/inject-version.ts +0 -31
  520. 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/GalaSwap Trading Operations Tools & Pool Discovery
2
+ * DEX Trading Operations Tools
3
3
  *
4
- * Tools for trading on GalaSwap DEX after tokens graduate from bonding curves,
5
- * discovering liquidity pools, and managing positions.
6
- * Provides quote generation, swap execution, liquidity management, asset management, and pool exploration.
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
- export declare const executeSwapTool: MCPTool;
12
- export declare const getSwapUserAssetsTool: MCPTool;
13
- export declare const getSwapPoolInfoTool: MCPTool;
14
- export declare const fetchCompositePoolDataTool: MCPTool;
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
- export declare const getSwapPoolPriceTool: MCPTool;
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;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAqClD,eAAO,MAAM,0BAA0B,EAAE,OA6BxC,CAAC;AAGF,eAAO,MAAM,2BAA2B,EAAE,OA6BzC,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,OAuD7B,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,OA+BnC,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,OAwBjC,CAAC;AASF,eAAO,MAAM,0BAA0B,EAAE,OAsCxC,CAAC;AAGF,eAAO,MAAM,8BAA8B,EAAE,OAqE5C,CAAC;AAGF,eAAO,MAAM,iCAAiC,EAAE,OA0D/C,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,OA6BlC,CAAC;AAGF,eAAO,MAAM,wBAAwB,EAAE,OAgCtC,CAAC;AAGF,eAAO,MAAM,2BAA2B,EAAE,OAqDzC,CAAC;AAGF,eAAO,MAAM,8BAA8B,EAAE,OAqC5C,CAAC;AAGF,eAAO,MAAM,QAAQ,EAAE,OAAO,EAkB7B,CAAC"}
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"}