@0xprotovox/deficlaw 0.6.0 → 0.7.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.
@@ -52,6 +52,12 @@ interface SummaryInput {
52
52
  status: string;
53
53
  holdingPercent: number;
54
54
  } | null;
55
+ topHolders?: {
56
+ address: string;
57
+ buyTx: number;
58
+ sellTx: number;
59
+ supplyPercent: number;
60
+ }[];
55
61
  };
56
62
  kols?: {
57
63
  twitterHandle: string | null;
@@ -179,6 +179,17 @@ export function generateSummary(data) {
179
179
  lines.push(`No dev wallet detected in top holders.`);
180
180
  }
181
181
  }
182
+ // ── Whale alert: top 10 holders selling ──
183
+ if (holders && holders.topHolders) {
184
+ const top10 = holders.topHolders?.slice(0, 10) ?? [];
185
+ const netSellers = top10.filter(h => h.sellTx > h.buyTx);
186
+ if (netSellers.length >= 3) {
187
+ lines.push(`WARNING: ${netSellers.length} of top 10 holders are net sellers (more sell tx than buy tx).`);
188
+ }
189
+ else if (netSellers.length >= 1) {
190
+ lines.push(`Note: ${netSellers.length} of top 10 holders ${netSellers.length === 1 ? 'is a' : 'are'} net seller${netSellers.length === 1 ? '' : 's'}.`);
191
+ }
192
+ }
182
193
  // ── KOL analysis ──
183
194
  if (kols && kols.length > 0) {
184
195
  const kolsSelling = kols.filter(k => k.status === 'selling');
@@ -263,14 +274,40 @@ export function generateSummary(data) {
263
274
  return lines.join('\n');
264
275
  }
265
276
  function computeVerdict(data) {
266
- const { price, market, risk, holders, kols } = data;
277
+ const { price, market, risk, holders, kols, security, token } = data;
278
+ // DEAD TOKEN: zero volume in 24h
279
+ if (market.volume24h === 0 && market.volume1h === 0) {
280
+ return { signal: 'DEAD TOKEN', reason: 'Zero trading volume in 24h. Token is dead or abandoned.' };
281
+ }
282
+ // DEAD TOKEN: near-zero volume
283
+ if (market.volume24h < 500 && market.volume1h === 0) {
284
+ return { signal: 'DEAD TOKEN', reason: 'Virtually no trading activity. Token appears abandoned.' };
285
+ }
286
+ // CAUTION: very new token (<1h old) regardless of other signals
287
+ const ageStr = token.age;
288
+ const isVeryNew = /^\d+m$/.test(ageStr) || ageStr === '0h' || ageStr === '1h';
289
+ if (isVeryNew) {
290
+ return { signal: 'CAUTION', reason: `Token is only ${ageStr} old. Too early to assess. Most tokens this new fail within hours.` };
291
+ }
292
+ // LIKELY SCAM: >50% fresh wallets
293
+ if (holders && holders.categories.freshWallets > holders.total * 0.50) {
294
+ const freshPct = ((holders.categories.freshWallets / holders.total) * 100).toFixed(0);
295
+ return { signal: 'AVOID', reason: `${freshPct}% fresh wallets detected. Highly likely bundled, wash traded, or a scam setup.` };
296
+ }
267
297
  // AVOID: critical risk or very low liquidity
268
298
  if (risk.score >= 70 || market.liquidity < 1000) {
269
299
  return { signal: 'AVOID', reason: 'Too many red flags. Critical risk score or dangerously low liquidity.' };
270
300
  }
271
- // AVOID: zero volume dead token
272
- if (market.volume24h < 500 && market.volume1h === 0) {
273
- return { signal: 'AVOID', reason: 'Token appears dead with no trading activity.' };
301
+ // ESTABLISHED: large mcap + low risk + revoked authorities
302
+ const authoritiesRevoked = security &&
303
+ security.mintAuthority === 'revoked' &&
304
+ security.freezeAuthority === 'revoked';
305
+ if (market.marketCap > 100_000_000 && risk.level === 'LOW' && authoritiesRevoked) {
306
+ return { signal: 'ESTABLISHED', reason: `${token.symbol} has ${fmtShort(market.marketCap)} market cap, low risk score, and revoked authorities. Established token with strong fundamentals.` };
307
+ }
308
+ // ESTABLISHED: very large mcap even without full security data
309
+ if (market.marketCap > 500_000_000 && risk.level === 'LOW') {
310
+ return { signal: 'ESTABLISHED', reason: `${token.symbol} has ${fmtShort(market.marketCap)} market cap and low risk. Major established token.` };
274
311
  }
275
312
  let bullPoints = 0;
276
313
  let bearPoints = 0;
@@ -329,8 +366,10 @@ function computeVerdict(data) {
329
366
  else if (risk.score >= 20)
330
367
  bearPoints += 1;
331
368
  const net = bullPoints - bearPoints;
332
- if (net >= 3)
333
- return { signal: 'BUY SIGNAL', reason: `Strong bullish indicators: ${bullPoints} bull vs ${bearPoints} bear signals. Momentum, holder sentiment, and volume align.` };
369
+ if (net >= 4)
370
+ return { signal: 'STRONG BUY', reason: `Very strong bullish indicators: ${bullPoints} bull vs ${bearPoints} bear signals. Momentum, holder sentiment, and volume all align.` };
371
+ if (net >= 2)
372
+ return { signal: 'BUY SIGNAL', reason: `Bullish: ${bullPoints} bull vs ${bearPoints} bear signals. Positive momentum and fundamentals.` };
334
373
  if (net >= 1)
335
374
  return { signal: 'BUY SIGNAL', reason: `Mildly bullish: ${bullPoints} bull vs ${bearPoints} bear signals. Some positive indicators but not overwhelming.` };
336
375
  if (net <= -3)
@@ -339,4 +378,14 @@ function computeVerdict(data) {
339
378
  return { signal: 'SELL SIGNAL', reason: `Mildly bearish: ${bearPoints} bear vs ${bullPoints} bull signals. Caution advised.` };
340
379
  return { signal: 'NEUTRAL', reason: `Mixed signals: ${bullPoints} bull vs ${bearPoints} bear. No clear direction from current data.` };
341
380
  }
381
+ /** Short format for market cap in verdict messages */
382
+ function fmtShort(n) {
383
+ if (n >= 1_000_000_000)
384
+ return `$${(n / 1_000_000_000).toFixed(1)}B`;
385
+ if (n >= 1_000_000)
386
+ return `$${(n / 1_000_000).toFixed(0)}M`;
387
+ if (n >= 1_000)
388
+ return `$${(n / 1_000).toFixed(0)}K`;
389
+ return `$${n.toFixed(0)}`;
390
+ }
342
391
  //# sourceMappingURL=summaryGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"summaryGenerator.js","sourceRoot":"","sources":["../../src/analysis/summaryGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summaryGenerator.js","sourceRoot":"","sources":["../../src/analysis/summaryGenerator.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -16,67 +16,70 @@ import { handleEstimateSlippage } from './tools/estimateSlippage.js';
16
16
  import { handleCompareTokens } from './tools/compareTokens.js';
17
17
  import { handleGetTokenSecurity } from './tools/getTokenSecurity.js';
18
18
  import { formatAnalysis } from './analysis/formatOutput.js';
19
- /** Build a compact response with only essential fields (3x smaller) */
20
- function buildCompactResult(result) {
21
- const compact = {};
22
- // Summary text
23
- if (result.summary)
24
- compact.summary = result.summary;
25
- // Price (just USD + 24h change)
19
+ /** Build a compact text summary (readable, not JSON) */
20
+ function buildCompactText(result) {
21
+ const lines = [];
22
+ const token = result.token;
26
23
  const price = result.price;
24
+ const market = result.market;
25
+ const risk = result.risk;
26
+ const holders = result.holders;
27
+ const meta = result.meta;
28
+ // Header
29
+ if (token) {
30
+ lines.push(`${token.symbol} (${token.name}) — ${token.age} old`);
31
+ }
32
+ // Price line
27
33
  if (price) {
28
- compact.price = {
29
- usd: price.usd,
30
- change24h: price.change24h,
31
- change1h: price.change1h,
32
- };
34
+ const p = price.usd;
35
+ const priceStr = p >= 1 ? `$${p.toFixed(2)}` : p >= 0.001 ? `$${p.toFixed(4)}` : `$${p.toExponential(2)}`;
36
+ const c1h = price.change1h;
37
+ const c24h = price.change24h;
38
+ lines.push(`Price: ${priceStr} | 1h: ${c1h > 0 ? '+' : ''}${c1h?.toFixed(1) ?? '0'}% | 24h: ${c24h > 0 ? '+' : ''}${c24h?.toFixed(1) ?? '0'}%`);
33
39
  }
34
- // Token basics
35
- const token = result.token;
36
- if (token) {
37
- compact.token = {
38
- symbol: token.symbol,
39
- name: token.name,
40
- address: token.address,
41
- age: token.age,
42
- };
40
+ // Market line
41
+ if (market) {
42
+ const mcap = market.marketCap;
43
+ const liq = market.liquidity;
44
+ const vol = market.volume24h;
45
+ lines.push(`MCap: ${fmtCompact(mcap)} | Liq: ${fmtCompact(liq)} | Vol 24h: ${fmtCompact(vol)}`);
43
46
  }
44
- // Risk score + level only
45
- const risk = result.risk;
47
+ // Risk line
46
48
  if (risk) {
47
- compact.risk = {
48
- score: risk.score,
49
- level: risk.level,
50
- summary: risk.summary,
51
- };
49
+ lines.push(`Risk: ${risk.score}/100 [${risk.level}]`);
52
50
  }
53
- // Top 5 holders only (not 20)
54
- const holders = result.holders;
51
+ // Holders summary
55
52
  if (holders) {
56
- const topHolders = holders.topHolders;
57
- compact.holders = {
58
- total: holders.total,
59
- top5Pct: holders.concentration?.top5Pct,
60
- topHolders: topHolders ? topHolders.slice(0, 5) : [],
61
- };
53
+ const total = holders.total;
54
+ const conc = holders.concentration;
55
+ const top10 = conc?.top10Pct ?? 0;
56
+ lines.push(`Holders: ${total} analyzed | Top 10 own ${(top10 * 100).toFixed(1)}%`);
62
57
  }
63
- // Market basics
64
- const market = result.market;
65
- if (market) {
66
- compact.market = {
67
- marketCap: market.marketCap,
68
- liquidity: market.liquidity,
69
- volume24h: market.volume24h,
70
- };
58
+ // Summary (the AI-generated narrative)
59
+ if (result.summary) {
60
+ lines.push('');
61
+ lines.push(result.summary);
62
+ }
63
+ // Fetch time
64
+ if (meta) {
65
+ lines.push('');
66
+ lines.push(`Sources: ${meta.sources?.join(' + ') ?? 'unknown'} | ${(meta.fetchTimeMs / 1000).toFixed(1)}s`);
71
67
  }
72
- // Meta
73
- compact.meta = result.meta;
74
- return compact;
68
+ return lines.join('\n');
69
+ }
70
+ function fmtCompact(n) {
71
+ if (n >= 1_000_000_000)
72
+ return `$${(n / 1_000_000_000).toFixed(1)}B`;
73
+ if (n >= 1_000_000)
74
+ return `$${(n / 1_000_000).toFixed(1)}M`;
75
+ if (n >= 1_000)
76
+ return `$${(n / 1_000).toFixed(1)}K`;
77
+ return `$${n.toFixed(0)}`;
75
78
  }
76
79
  export function createServer() {
77
80
  const server = new McpServer({
78
81
  name: 'deficlaw',
79
- version: '0.6.0',
82
+ version: '0.7.0',
80
83
  });
81
84
  // ── analyze_token ──
82
85
  server.tool('analyze_token', 'Full token analysis: price, volume, liquidity, holder intelligence, risk scoring. Supports Solana tokens with GMGN holder data. Use quick=true for fast price-only analysis (<1s). Use compact=true for smaller response (top 5 holders, no full details).', {
@@ -95,17 +98,22 @@ export function createServer() {
95
98
  if ('error' in result && typeof result.error === 'string') {
96
99
  return { content: [{ type: 'text', text: JSON.stringify(result) }], isError: true };
97
100
  }
98
- // Compact mode: return only essential fields
101
+ // Compact mode: return readable text summary, not JSON
99
102
  if (args.compact) {
100
- const compact = buildCompactResult(result);
101
- return { content: [{ type: 'text', text: JSON.stringify(compact, null, 2) }] };
103
+ const compactText = buildCompactText(result);
104
+ return { content: [{ type: 'text', text: compactText }] };
102
105
  }
103
106
  const formatted = formatAnalysis(result);
104
107
  return { content: [{ type: 'text', text: formatted }] };
105
108
  }
106
109
  catch (err) {
107
110
  const message = err instanceof Error ? err.message : String(err);
108
- return { content: [{ type: 'text', text: JSON.stringify({ error: `Analysis failed: ${message}` }) }], isError: true };
111
+ const userMessage = message.includes('429') || message.includes('Rate limited')
112
+ ? 'Rate limited by DexScreener. Wait 30 seconds and try again.'
113
+ : message.includes('not found') || message.includes('No pairs')
114
+ ? `Token not found. Try: search_token to find by name or symbol.`
115
+ : `Analysis failed: ${message}`;
116
+ return { content: [{ type: 'text', text: JSON.stringify({ error: userMessage }) }], isError: true };
109
117
  }
110
118
  });
111
119
  // ── get_price ──
@@ -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":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,wDAAwD;AACxD,SAAS,gBAAgB,CAAC,MAA+B;IACvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAA4C,CAAC;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,KAA4C,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,MAA6C,CAAC;IACpE,MAAM,IAAI,GAAG,MAAM,CAAC,IAA2C,CAAC;IAChE,MAAM,OAAO,GAAG,MAAM,CAAC,OAA8C,CAAC;IACtE,MAAM,IAAI,GAAG,MAAM,CAAC,IAA2C,CAAC;IAEhE,SAAS;IACT,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,aAAa;IACb,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,GAAG,KAAK,CAAC,GAAa,CAAC;QAC9B,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1G,MAAM,GAAG,GAAG,KAAK,CAAC,QAAkB,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAmB,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,UAAU,QAAQ,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IAClJ,CAAC;IAED,cAAc;IACd,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,MAAM,CAAC,SAAmB,CAAC;QACxC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAmB,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAmB,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,GAAG,CAAC,eAAe,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,YAAY;IACZ,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,kBAAkB;IAClB,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAe,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAmD,CAAC;QACzE,MAAM,KAAK,GAAG,IAAI,EAAE,QAAQ,IAAI,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,0BAA0B,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACrF,CAAC;IAED,uCAAuC;IACvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAiB,CAAC,CAAC;IACvC,CAAC;IAED,aAAa;IACb,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,YAAa,IAAI,CAAC,OAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,CAAE,IAAI,CAAC,WAAsB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxI,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,IAAI,CAAC,IAAI,aAAa;QAAE,OAAO,IAAI,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACrE,IAAI,CAAC,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7D,IAAI,CAAC,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,CAAC,IAAI,CACT,eAAe,EACf,4PAA4P,EAC5P;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QACxF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QACjG,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,iEAAiE,CAAC;QACtH,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,+DAA+D,CAAC;QAC3G,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,oGAAoG,CAAC;KACnJ,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,uCAAuC;YACvC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK;gBAC9B,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;gBACrC,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,aAAa,CAAC,CAAC;YACvD,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC1D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC/F,CAAC;YAED,uDAAuD;YACvD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC7C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;YACrE,CAAC;YAED,MAAM,SAAS,GAAG,cAAc,CAAC,MAAyD,CAAC,CAAC;YAC5F,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACnE,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC7E,CAAC,CAAC,6DAA6D;gBAC/D,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAC7D,CAAC,CAAC,+DAA+D;oBACjE,CAAC,CAAC,oBAAoB,OAAO,EAAE,CAAC;YACpC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC/G,CAAC;IACH,CAAC,CACF,CAAC;IAEF,kBAAkB;IAClB,MAAM,CAAC,IAAI,CACT,WAAW,EACX,8EAA8E,EAC9E;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QAChF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KAClG,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,wBAAwB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrI,CAAC;IACH,CAAC,CACF,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,IAAI,CACT,cAAc,EACd,+FAA+F,EAC/F;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QACjG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KAC3F,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC7C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACzF,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,0BAA0B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACvI,CAAC;IACH,CAAC,CACF,CAAC;IAEF,wBAAwB;IACxB,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,4GAA4G,EAC5G;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;KACrG,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC/C,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,6BAA6B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC1I,CAAC;IACH,CAAC,CACF,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,IAAI,CACT,cAAc,EACd,6GAA6G,EAC7G;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6DAA6D,CAAC;QAChG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mFAAmF,CAAC;QAC1H,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;KAC5F,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC7C,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,wBAAwB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrI,CAAC;IACH,CAAC,CACF,CAAC;IAEF,yBAAyB;IACzB,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,mHAAmH,EACnH;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QACjG,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAC1G,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KAC3F,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAChD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,8BAA8B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3I,CAAC;IACH,CAAC,CACF,CAAC;IAEF,0BAA0B;IAC1B,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,0FAA0F,EAC1F;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;KACjE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,OAAO,IAAI,MAAM;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACpH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACxE,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,+BAA+B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5I,CAAC;IACH,CAAC,CACF,CAAC;IAEF,uBAAuB;IACvB,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,gFAAgF,EAChF;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAC5D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;KAC3D,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,OAAO,IAAI,MAAM;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACpH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACxE,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,sBAAsB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACnI,CAAC;IACH,CAAC,CACF,CAAC;IAEF,2BAA2B;IAC3B,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,oGAAoG,EACpG;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;KACjE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,OAAO,IAAI,MAAM;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACpH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACxE,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,0BAA0B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACvI,CAAC;IACH,CAAC,CACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -38,6 +38,9 @@ async function throttledFetch(url, timeoutMs = 8000) {
38
38
  await new Promise(r => setTimeout(r, 1000 * (attempt + 1)));
39
39
  continue;
40
40
  }
41
+ if (res.status === 429) {
42
+ throw new Error('Rate limited by DexScreener. Wait 30 seconds and try again.');
43
+ }
41
44
  if (!res.ok) {
42
45
  throw new Error(`DexScreener HTTP ${res.status}: ${res.statusText} (${url})`);
43
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dexscreener.js","sourceRoot":"","sources":["../../src/sources/dexscreener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dexscreener.js","sourceRoot":"","sources":["../../src/sources/dexscreener.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,5 @@
1
- declare const SOL_MINT = "So11111111111111111111111111111111111111112";
2
- declare const SOL_DECIMALS = 9;
3
- export interface JupiterQuote {
4
- inputMint: string;
5
- outputMint: string;
6
- inAmount: string;
7
- outAmount: string;
8
- otherAmountThreshold: string;
9
- priceImpactPct: string;
10
- slippageBps: number;
11
- routePlan: {
12
- swapInfo: {
13
- ammKey: string;
14
- label: string;
15
- };
16
- }[];
17
- }
18
1
  export interface SlippageEstimate {
19
2
  buyAmountUsd: number;
20
- inputLamports: string;
21
3
  estimatedOutput: number;
22
4
  priceImpactPct: number;
23
5
  effectivePrice: number;
@@ -25,13 +7,8 @@ export interface SlippageEstimate {
25
7
  route: string;
26
8
  }
27
9
  /**
28
- * Get a Jupiter quote for buying a token with SOL.
29
- * amount is in lamports (1 SOL = 1e9 lamports).
30
- */
31
- export declare function getQuote(outputMint: string, amountLamports: string, slippageBps?: number): Promise<JupiterQuote | null>;
32
- /**
33
- * Estimate slippage for multiple buy sizes.
34
- * Returns quotes for $50, $100, $500, $1000 buys.
10
+ * Estimate slippage from pool liquidity using constant-product AMM formula.
11
+ * priceImpact tradeSize / (2 * liquidityUsd) * 100
12
+ * This is an approximation — real slippage depends on pool type and route.
35
13
  */
36
- export declare function estimateSlippage(tokenMint: string, solPriceUsd: number, tokenDecimals: number): Promise<SlippageEstimate[]>;
37
- export { SOL_MINT, SOL_DECIMALS };
14
+ export declare function estimateSlippageFromLiquidity(tokenPriceUsd: number, liquidityUsd: number, dex: string, buyAmounts?: number[]): SlippageEstimate[];
@@ -1,82 +1,39 @@
1
1
  /**
2
- * Jupiter Quote API Client
3
- * Free API, no auth needed. Used for slippage estimation on Solana.
4
- * https://station.jup.ag/docs/apis/swap-api
2
+ * Slippage Estimation based on DexScreener liquidity data
3
+ * Jupiter API now requires auth, so we calculate price impact from pool liquidity
4
+ * Formula: priceImpact ≈ tradeSize / (2 * poolLiquidity) for constant-product AMMs
5
5
  */
6
- import { MemoryCache } from '../cache/memoryCache.js';
7
6
  import { debug } from '../utils/debug.js';
8
- const BASE_URL = 'https://api.jup.ag/quote/v1';
9
- const CACHE_TTL = 30_000; // 30s cache for quotes
10
- const SOL_MINT = 'So11111111111111111111111111111111111111112';
11
- const SOL_DECIMALS = 9;
12
- const quoteCache = new MemoryCache(CACHE_TTL);
13
7
  /**
14
- * Get a Jupiter quote for buying a token with SOL.
15
- * amount is in lamports (1 SOL = 1e9 lamports).
8
+ * Estimate slippage from pool liquidity using constant-product AMM formula.
9
+ * priceImpact tradeSize / (2 * liquidityUsd) * 100
10
+ * This is an approximation — real slippage depends on pool type and route.
16
11
  */
17
- export async function getQuote(outputMint, amountLamports, slippageBps = 50) {
18
- const cacheKey = `jup:${outputMint}:${amountLamports}:${slippageBps}`;
19
- const cached = quoteCache.get(cacheKey);
20
- if (cached) {
21
- debug(`jupiter quote cache HIT: ${cacheKey}`);
22
- return cached;
23
- }
24
- const url = `${BASE_URL}?inputMint=${SOL_MINT}&outputMint=${outputMint}&amount=${amountLamports}&slippageBps=${slippageBps}`;
25
- debug(`Fetching Jupiter quote: ${url}`);
26
- try {
27
- const res = await fetch(url, { signal: AbortSignal.timeout(8000) });
28
- if (!res.ok) {
29
- debug(`Jupiter HTTP ${res.status}: ${res.statusText}`);
30
- return null;
31
- }
32
- const data = await res.json();
33
- if (!data.outAmount)
34
- return null;
35
- quoteCache.set(cacheKey, data);
36
- return data;
37
- }
38
- catch (err) {
39
- debug(`Jupiter quote failed: ${err instanceof Error ? err.message : String(err)}`);
40
- return null;
41
- }
42
- }
43
- /**
44
- * Estimate slippage for multiple buy sizes.
45
- * Returns quotes for $50, $100, $500, $1000 buys.
46
- */
47
- export async function estimateSlippage(tokenMint, solPriceUsd, tokenDecimals) {
48
- const buyAmounts = [50, 100, 500, 1000]; // USD amounts
49
- const results = [];
50
- // Convert USD amounts to SOL lamports
51
- const quotes = await Promise.all(buyAmounts.map(async (usdAmount) => {
52
- const solAmount = usdAmount / solPriceUsd;
53
- const lamports = Math.round(solAmount * 1e9).toString();
54
- const quote = await getQuote(tokenMint, lamports);
55
- if (!quote)
56
- return null;
57
- const outAmount = parseFloat(quote.outAmount) / Math.pow(10, tokenDecimals);
58
- const priceImpact = parseFloat(quote.priceImpactPct) || 0;
59
- const effectivePrice = outAmount > 0 ? usdAmount / outAmount : 0;
60
- // Determine route label
61
- const routeLabels = quote.routePlan
62
- ?.map(r => r.swapInfo?.label)
63
- .filter(Boolean) ?? [];
64
- const route = routeLabels.length > 0 ? routeLabels.join(' -> ') : 'unknown';
12
+ export function estimateSlippageFromLiquidity(tokenPriceUsd, liquidityUsd, dex, buyAmounts = [50, 100, 500, 1000]) {
13
+ if (liquidityUsd <= 0 || tokenPriceUsd <= 0)
14
+ return [];
15
+ return buyAmounts.map(usdAmount => {
16
+ // Constant-product AMM price impact formula
17
+ // For a buy of size X into a pool of size L:
18
+ // priceImpact ≈ X / (2 * L) for small trades
19
+ // For larger trades relative to pool: priceImpact = X / (L + X)
20
+ const impact = usdAmount / (liquidityUsd + usdAmount);
21
+ const impactPct = impact * 100;
22
+ // Effective price after slippage
23
+ const effectivePrice = tokenPriceUsd * (1 + impact);
24
+ // Estimated tokens received
25
+ const estimatedOutput = usdAmount / effectivePrice;
26
+ // Convert impact to basis points
27
+ const slippageBps = Math.round(impactPct * 100);
28
+ debug(`Slippage $${usdAmount}: impact ${impactPct.toFixed(4)}% (${slippageBps}bps) on ${dex}`);
65
29
  return {
66
30
  buyAmountUsd: usdAmount,
67
- inputLamports: lamports,
68
- estimatedOutput: outAmount,
69
- priceImpactPct: Math.round(priceImpact * 10000) / 10000,
31
+ estimatedOutput: Math.round(estimatedOutput * 1000000) / 1000000,
32
+ priceImpactPct: Math.round(impactPct * 10000) / 10000,
70
33
  effectivePrice,
71
- slippageBps: quote.slippageBps,
72
- route,
34
+ slippageBps,
35
+ route: dex,
73
36
  };
74
- }));
75
- for (const q of quotes) {
76
- if (q)
77
- results.push(q);
78
- }
79
- return results;
37
+ });
80
38
  }
81
- export { SOL_MINT, SOL_DECIMALS };
82
39
  //# sourceMappingURL=jupiter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jupiter.js","sourceRoot":"","sources":["../../src/sources/jupiter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,QAAQ,GAAG,6BAA6B,CAAC;AAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,uBAAuB;AACjD,MAAM,QAAQ,GAAG,6CAA6C,CAAC;AAC/D,MAAM,YAAY,GAAG,CAAC,CAAC;AAuBvB,MAAM,UAAU,GAAG,IAAI,WAAW,CAAe,SAAS,CAAC,CAAC;AAE5D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,UAAkB,EAClB,cAAsB,EACtB,WAAW,GAAG,EAAE;IAEhB,MAAM,QAAQ,GAAG,OAAO,UAAU,IAAI,cAAc,IAAI,WAAW,EAAE,CAAC;IACtE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,QAAQ,cAAc,QAAQ,eAAe,UAAU,WAAW,cAAc,gBAAgB,WAAW,EAAE,CAAC;IAC7H,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;IAExC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEpE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,KAAK,CAAC,gBAAgB,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAkB,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEjC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAiB,EACjB,WAAmB,EACnB,aAAqB;IAErB,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc;IACvD,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,sCAAsC;IACtC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAoC,EAAE;QACnE,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QAExD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjE,wBAAwB;QACxB,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS;YACjC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5E,OAAO;YACL,YAAY,EAAE,SAAS;YACvB,aAAa,EAAE,QAAQ;YACvB,eAAe,EAAE,SAAS;YAC1B,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,KAAK;YACvD,cAAc;YACd,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,KAAK;SACN,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"jupiter.js","sourceRoot":"","sources":["../../src/sources/jupiter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAW1C;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAC3C,aAAqB,EACrB,YAAoB,EACpB,GAAW,EACX,aAAuB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;IAE3C,IAAI,YAAY,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvD,OAAO,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAChC,4CAA4C;QAC5C,6CAA6C;QAC7C,6CAA6C;QAC7C,gEAAgE;QAChE,MAAM,MAAM,GAAG,SAAS,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,GAAG,GAAG,CAAC;QAE/B,iCAAiC;QACjC,MAAM,cAAc,GAAG,aAAa,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAEpD,4BAA4B;QAC5B,MAAM,eAAe,GAAG,SAAS,GAAG,cAAc,CAAC;QAEnD,iCAAiC;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;QAEhD,KAAK,CAAC,aAAa,SAAS,YAAY,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,WAAW,WAAW,GAAG,EAAE,CAAC,CAAC;QAE/F,OAAO;YACL,YAAY,EAAE,SAAS;YACvB,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,OAAO;YAChE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,KAAK;YACrD,cAAc;YACd,WAAW;YACX,KAAK,EAAE,GAAG;SACX,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
package/dist/test.js CHANGED
@@ -20,7 +20,7 @@ async function bench(name, fn) {
20
20
  }
21
21
  }
22
22
  async function main() {
23
- console.log('deficlaw v0.6.0 — Speed Benchmarks');
23
+ console.log('deficlaw v0.7.0 — Speed Benchmarks');
24
24
  console.log('='.repeat(70));
25
25
  console.log(`Test token: ${TEST_TOKEN}`);
26
26
  console.log(`Test search: "${TEST_SEARCH}"`);
@@ -109,7 +109,7 @@ export async function handleAnalyzeToken(args) {
109
109
  // ── 1. DexScreener (required) ──
110
110
  const pair = await getTokenPair(args.address, chain);
111
111
  if (!pair) {
112
- return { error: `Token not found on DexScreener: ${args.address} (${chain}). Check the address and chain.` };
112
+ return { error: `Token not found on DexScreener for address ${args.address} (${chain}). Try: search_token to find by name or symbol.` };
113
113
  }
114
114
  sources.push('dexscreener');
115
115
  // Token age calculation
@@ -135,7 +135,7 @@ export async function handleAnalyzeToken(args) {
135
135
  // Run holder fetch and security check in parallel for speed
136
136
  const holderPromise = (includeHolders && isSolana)
137
137
  ? gmgn.getHolders(args.address).catch((err) => {
138
- holderError = `GMGN fetch failed: ${err instanceof Error ? err.message : String(err)}`;
138
+ holderError = `Holder data temporarily unavailable. Using price/security data only. Try again in 1 minute.`;
139
139
  return null;
140
140
  })
141
141
  : Promise.resolve(null);
@@ -256,7 +256,15 @@ export async function handleAnalyzeToken(args) {
256
256
  price: result.price,
257
257
  market: result.market,
258
258
  risk: result.risk,
259
- holders: holderAnalysis,
259
+ holders: holderAnalysis ? {
260
+ ...holderAnalysis,
261
+ topHolders: holderAnalysis.topHolders.map(h => ({
262
+ address: h.address,
263
+ buyTx: h.buyTx,
264
+ sellTx: h.sellTx,
265
+ supplyPercent: h.supplyPercent,
266
+ })),
267
+ } : undefined,
260
268
  kols: result.kols,
261
269
  security: securityForSummary,
262
270
  });
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeToken.js","sourceRoot":"","sources":["../../src/tools/analyzeToken.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAsB,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AA+BlE,yDAAyD;AACzD,SAAS,eAAe,CAAC,OAAiB;IACxC,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;IAE9E,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,OAAe,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnF,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IAEpE,+BAA+B;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE1D,uBAAuB;IACvB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEnE,gBAAgB;IAChB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAE9E,2BAA2B;IAC3B,MAAM,WAAW,GAAG,OAAO;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAa,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;QAC1C,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE;QACrF,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO;QAC9B,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa;QAC3C,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ;QAC3B,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU;QACpC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;QAClC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW;YAC5E,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KACzD,CAAC,CAAC,CAAC,IAAI,CAAC;IAET,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,aAAa,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE;QAC9C,UAAU,EAAE;YACV,UAAU,EAAE,UAAU,CAAC,MAAM;YAC7B,YAAY,EAAE,YAAY,CAAC,MAAM;YACjC,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,UAAU,EAAE,UAAU,CAAC,MAAM;YAC7B,YAAY,EAAE,YAAY,CAAC,MAAM;YACjC,QAAQ,EAAE,QAAQ,CAAC,MAAM;YACzB,WAAW,EAAE,WAAW,CAAC,MAAM;YAC/B,SAAS,EAAE,SAAS,CAAC,MAAM;YAC3B,UAAU,EAAE,UAAU,CAAC,MAAM;SAC9B;QACD,SAAS,EAAE;YACT,iBAAiB,EAAE,UAAU,CAAC,MAAM;YACpC,aAAa,EAAE,MAAM,CAAC,MAAM;YAC5B,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACxE,WAAW,EAAE,QAAQ;YACrB,YAAY,EAAE,SAAS;YACvB,eAAe,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACpE;QACD,QAAQ,EAAE;YACR,cAAc;YACd,eAAe;YACf,YAAY,EAAE,eAAe,GAAG,CAAC;gBAC/B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,eAAe,EAAE,MAAM,CAAC;gBACpD,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,UAAU;YACV,WAAW;SACZ;QACD,aAAa;QACb,SAAS;QACT,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,GAAG,EAAE,CAAC,CAAC,QAAQ;YACf,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,KAAK,EAAE,CAAC,CAAC,UAAU;YACnB,MAAM,EAAE,CAAC,CAAC,WAAW;YACrB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,aAAa,EAAE,CAAC,CAAC,aAAa;SAC/B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAIxC;IACC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC;IACrC,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,KAAK,KAAK,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,kCAAkC;IAClC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,KAAK,EAAE,mCAAmC,IAAI,CAAC,OAAO,KAAK,KAAK,iCAAiC,EAAE,CAAC;IAC/G,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE5B,wBAAwB;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG;QACnE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG;YAC9C,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;gBAC1C,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI;oBACjD,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAErC,yBAAyB;IACzB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,oBAAoB,GAAG,YAAY,GAAG,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;QAClE,CAAC,CAAC,CAAC,CAAC;IAEN,oDAAoD;IACpD,4DAA4D;IAC5D,IAAI,cAAgD,CAAC;IACrD,IAAI,UAAU,GAAa,EAAE,CAAC;IAC9B,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,UAAU,GAAa,EAAE,CAAC;IAE9B,MAAM,QAAQ,GAAG,KAAK,KAAK,QAAQ,CAAC;IAEpC,4DAA4D;IAC5D,MAAM,aAAa,GAAG,CAAC,cAAc,IAAI,QAAQ,CAAC;QAChD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAQ,EAAE;YACzD,WAAW,GAAG,sBAAsB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACvF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACJ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,MAAM,eAAe,GAAG,QAAQ;QAC9B,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAS,EAAE,CAAC,IAAI,CAAC;QACxD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;IAEnF,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC;QAChC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACnC,cAAc,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEzC,qDAAqD;IACrD,MAAM,IAAI,GAAG,SAAS,CAAC;QACrB,IAAI;QACJ,OAAO,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QACvD,QAAQ;KACT,CAAC,CAAC;IAEH,kDAAkD;IAClD,IAAI,WAAW,GAAmC,IAAI,CAAC;IACvD,IAAI,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3E,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,GAAG;oBACZ,aAAa,EAAE,IAAI;oBACnB,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO;oBAC/C,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa;oBACrD,aAAa,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;wBACzC,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE;wBACxG,CAAC,CAAC,IAAI;iBACT,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;IAChD,CAAC;IAED,wBAAwB;IACxB,MAAM,MAAM,GAA4B;QACtC,KAAK,EAAE;YACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;YAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;YACzB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YAC7B,KAAK;YACL,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ;YAC7B,GAAG,EAAE,MAAM;YACX,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;SAClF;QACD,KAAK,EAAE;YACL,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACnC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC;YACnC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC;YACnC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC;YACnC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;SACtC;QACD,MAAM,EAAE;YACN,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC;YAC9B,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;YAClB,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;YAChC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC;YAC9B,SAAS,EAAE,YAAY;YACvB,oBAAoB;YACpB,GAAG,EAAE,IAAI,CAAC,KAAK;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B;QACD,IAAI;KACL,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC;QAChC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC9C,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,GAAG,EAAE,CAAC,CAAC,QAAQ;gBACf,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;aACjE,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IAED,IAAI,WAAW;QAAE,MAAM,CAAC,UAAU,GAAG,WAAW,CAAC;IAEjD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,QAAQ,GAAG;YAChB,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC;IACJ,CAAC;IAED,IAAI,WAAW;QAAE,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IAElD,2BAA2B;IAC3B,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;QAC9C,MAAM,CAAC,OAAO,GAAG;YACf,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;YACnD,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,GAAG,IAAI,IAAI;YACxE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,GAAG,IAAI,IAAI;SAC3E,CAAC;IACJ,CAAC;IAED,2CAA2C;IAC3C,MAAM,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC;QACpC,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,aAAa,EAAE,CAAC,CAAC,WAAW;QAC5B,gBAAgB,EAAG,WAAuC,EAAE,aAAa;YACvE,CAAC,CAAG,WAAuC,CAAC,aAAqC,CAAC,OAAO;YACzF,CAAC,CAAC,CAAC;KACN,CAAC,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAsD;QACpE,KAAK,EAAE,MAAM,CAAC,KAAiG;QAC/G,MAAM,EAAE,MAAM,CAAC,MAAoJ;QACnK,IAAI,EAAE,MAAM,CAAC,IAAwC;QACrD,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,MAAM,CAAC,IAAmF;QAChG,QAAQ,EAAE,kBAAkB;KAC7B,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,GAAG;QACZ,OAAO;QACP,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;KAClC,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"analyzeToken.js","sourceRoot":"","sources":["../../src/tools/analyzeToken.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  /**
2
- * estimate_slippage tool — Jupiter-based slippage estimation for Solana tokens.
3
- * Shows price impact for $50, $100, $500, $1000 buys.
4
- * Uses Jupiter Quote API (free, no auth).
2
+ * estimate_slippage tool — Liquidity-based slippage estimation
3
+ * Uses DexScreener pool data to estimate price impact at $50/$100/$500/$1000
5
4
  */
6
5
  import { type SlippageEstimate } from '../sources/jupiter.js';
7
6
  interface SlippageResult {
@@ -9,7 +8,8 @@ interface SlippageResult {
9
8
  symbol: string;
10
9
  name: string;
11
10
  currentPriceUsd: number;
12
- solPriceUsd: number;
11
+ liquidityUsd: number;
12
+ dex: string;
13
13
  estimates: SlippageEstimate[];
14
14
  summary: string;
15
15
  fetchedAt: string;
@@ -1,69 +1,84 @@
1
1
  /**
2
- * estimate_slippage tool — Jupiter-based slippage estimation for Solana tokens.
3
- * Shows price impact for $50, $100, $500, $1000 buys.
4
- * Uses Jupiter Quote API (free, no auth).
2
+ * estimate_slippage tool — Liquidity-based slippage estimation
3
+ * Uses DexScreener pool data to estimate price impact at $50/$100/$500/$1000
5
4
  */
6
- import { estimateSlippage } from '../sources/jupiter.js';
7
- import { getPrice } from '../sources/dexscreener.js';
8
- import { getTokenSecurity } from '../sources/solanaRpc.js';
9
- import { debug } from '../utils/debug.js';
10
- const SOL_MINT = 'So11111111111111111111111111111111111111112';
5
+ import { estimateSlippageFromLiquidity } from '../sources/jupiter.js';
6
+ import { getPrice, getTokenPair } from '../sources/dexscreener.js';
11
7
  export async function handleEstimateSlippage(args) {
12
8
  if (!args.address || args.address.trim().length === 0) {
13
9
  return { error: 'Token address is required. Provide a Solana token mint address.' };
14
10
  }
15
11
  const address = args.address.trim();
16
- debug(`Estimating slippage for ${address}`);
17
- // Get SOL price first
18
- const solPrice = await getPrice(SOL_MINT, 'solana');
19
- if (!solPrice) {
20
- return { error: 'Could not fetch SOL price. DexScreener may be temporarily unavailable.' };
12
+ const pair = await getTokenPair(address, 'solana');
13
+ if (!pair) {
14
+ return { error: `Token not found on DexScreener: ${address}. Check the address or try searching by name.` };
21
15
  }
22
- // Get token info
23
- const tokenPrice = await getPrice(address, 'solana');
24
- if (!tokenPrice) {
25
- return { error: `Token not found on DexScreener: ${address}. Check the address or try searching by name with search_token.` };
16
+ const priceUsd = parseFloat(pair.priceUsd) || 0;
17
+ const liquidityUsd = pair.liquidity?.usd || 0;
18
+ const symbol = pair.baseToken.symbol;
19
+ const name = pair.baseToken.name;
20
+ const dex = pair.dexId;
21
+ if (liquidityUsd <= 0) {
22
+ return { error: `No liquidity data for ${symbol}. Cannot estimate slippage.` };
26
23
  }
27
- // Fetch actual token decimals from Solana RPC (falls back to 6 if unavailable)
28
- const security = await getTokenSecurity(address).catch(() => null);
29
- const tokenDecimals = security?.decimals ?? 6;
30
- const estimates = await estimateSlippage(address, solPrice.priceUsd, tokenDecimals);
24
+ const estimates = estimateSlippageFromLiquidity(priceUsd, liquidityUsd, dex);
31
25
  if (estimates.length === 0) {
32
- return { error: `No Jupiter routes found for ${tokenPrice.symbol}. The token may not have enough liquidity on Jupiter-supported DEXes.` };
26
+ return { error: `Could not estimate slippage for ${symbol}.` };
33
27
  }
28
+ // Auto-fetch SOL price for context
29
+ const SOL_MINT = 'So11111111111111111111111111111111111111112';
30
+ let solPriceUsd = null;
31
+ try {
32
+ const solPrice = await getPrice(SOL_MINT, 'solana');
33
+ if (solPrice)
34
+ solPriceUsd = solPrice.priceUsd;
35
+ }
36
+ catch { /* non-critical */ }
34
37
  // Build summary
35
- const summaryParts = [];
36
- summaryParts.push(`Slippage estimates for ${tokenPrice.symbol} (${tokenPrice.name}):`);
38
+ const lines = [];
39
+ lines.push(`Slippage estimates for ${symbol} (${name}):`);
40
+ lines.push(`Pool liquidity: $${liquidityUsd.toLocaleString()} on ${dex}`);
41
+ if (solPriceUsd) {
42
+ lines.push(`SOL price: $${solPriceUsd.toFixed(2)}`);
43
+ }
44
+ lines.push('');
37
45
  for (const est of estimates) {
38
- const impactStr = est.priceImpactPct > 1
39
- ? `${est.priceImpactPct.toFixed(2)}% (HIGH)`
40
- : est.priceImpactPct > 0.3
41
- ? `${est.priceImpactPct.toFixed(2)}% (moderate)`
42
- : `${est.priceImpactPct.toFixed(4)}% (low)`;
43
- summaryParts.push(` $${est.buyAmountUsd}: ${est.estimatedOutput.toFixed(2)} ${tokenPrice.symbol}, price impact ${impactStr}, via ${est.route}`);
46
+ const impactStr = est.priceImpactPct > 5
47
+ ? `${est.priceImpactPct.toFixed(2)}% (VERY HIGH)`
48
+ : est.priceImpactPct > 1
49
+ ? `${est.priceImpactPct.toFixed(2)}% (HIGH)`
50
+ : est.priceImpactPct > 0.3
51
+ ? `${est.priceImpactPct.toFixed(3)}% (moderate)`
52
+ : `${est.priceImpactPct.toFixed(4)}% (low)`;
53
+ const solEquiv = solPriceUsd ? ` (~${(est.buyAmountUsd / solPriceUsd).toFixed(2)} SOL)` : '';
54
+ lines.push(` $${est.buyAmountUsd}${solEquiv}: ~${est.estimatedOutput.toLocaleString()} ${symbol}, price impact ${impactStr}`);
44
55
  }
45
56
  // Overall assessment
46
57
  const maxImpact = Math.max(...estimates.map(e => e.priceImpactPct));
58
+ lines.push('');
47
59
  if (maxImpact > 5) {
48
- summaryParts.push(`\nWARNING: Very high price impact even at small sizes. Extremely illiquid token.`);
60
+ lines.push('WARNING: Very high price impact. Extremely illiquid token. Trade tiny amounts only.');
49
61
  }
50
62
  else if (maxImpact > 2) {
51
- summaryParts.push(`\nCaution: Significant price impact at larger sizes. Trade in smaller amounts.`);
63
+ lines.push('Caution: Significant price impact at larger sizes. Trade in smaller amounts.');
52
64
  }
53
65
  else if (maxImpact > 0.5) {
54
- summaryParts.push(`\nModerate liquidity. $100-500 buys are reasonable, larger sizes will move the price.`);
66
+ lines.push('Moderate liquidity. $100-500 buys are reasonable, larger sizes will move the price.');
55
67
  }
56
68
  else {
57
- summaryParts.push(`\nGood liquidity. All tested buy sizes have low price impact.`);
69
+ lines.push('Good liquidity. All tested buy sizes have low price impact.');
58
70
  }
71
+ lines.push('');
72
+ lines.push('(Estimated from pool liquidity using constant-product AMM formula. Actual slippage may vary by DEX and route.)');
59
73
  return {
60
74
  token: address,
61
- symbol: tokenPrice.symbol,
62
- name: tokenPrice.name,
63
- currentPriceUsd: tokenPrice.priceUsd,
64
- solPriceUsd: solPrice.priceUsd,
75
+ symbol,
76
+ name,
77
+ currentPriceUsd: priceUsd,
78
+ liquidityUsd,
79
+ dex,
65
80
  estimates,
66
- summary: summaryParts.join('\n'),
81
+ summary: lines.join('\n'),
67
82
  fetchedAt: new Date().toISOString(),
68
83
  };
69
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"estimateSlippage.js","sourceRoot":"","sources":["../../src/tools/estimateSlippage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,gBAAgB,EAAyB,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,QAAQ,GAAG,6CAA6C,CAAC;AAa/D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAE5C;IACC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,KAAK,EAAE,iEAAiE,EAAE,CAAC;IACtF,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACpC,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;IAE5C,sBAAsB;IACtB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,KAAK,EAAE,wEAAwE,EAAE,CAAC;IAC7F,CAAC;IAED,iBAAiB;IACjB,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,mCAAmC,OAAO,iEAAiE,EAAE,CAAC;IAChI,CAAC;IAED,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,QAAQ,EAAE,QAAQ,IAAI,CAAC,CAAC;IAE9C,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEpF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,KAAK,EAAE,+BAA+B,UAAU,CAAC,MAAM,uEAAuE,EAAE,CAAC;IAC5I,CAAC;IAED,gBAAgB;IAChB,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,YAAY,CAAC,IAAI,CAAC,0BAA0B,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;IAEvF,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,GAAG,CAAC;YACtC,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU;YAC5C,CAAC,CAAC,GAAG,CAAC,cAAc,GAAG,GAAG;gBACxB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc;gBAChD,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAChD,YAAY,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,kBAAkB,SAAS,SAAS,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACnJ,CAAC;IAED,qBAAqB;IACrB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IACpE,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,YAAY,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;IACxG,CAAC;SAAM,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QACzB,YAAY,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;IACtG,CAAC;SAAM,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;QAC3B,YAAY,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;IAC7G,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IACrF,CAAC;IAED,OAAO;QACL,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,eAAe,EAAE,UAAU,CAAC,QAAQ;QACpC,WAAW,EAAE,QAAQ,CAAC,QAAQ;QAC9B,SAAS;QACT,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QAChC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"estimateSlippage.js","sourceRoot":"","sources":["../../src/tools/estimateSlippage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xprotovox/deficlaw",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "DeFi MCP Server for Claude Code — token analysis, prices, trending, holder intelligence",
5
5
  "author": "0xprotovox",
6
6
  "license": "MIT",