@clawnch/clawtomaton 0.3.0 → 0.4.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 (79) hide show
  1. package/README.md +2 -2
  2. package/dist/agent/index.d.ts +5 -1
  3. package/dist/agent/index.d.ts.map +1 -1
  4. package/dist/agent/index.js +108 -10
  5. package/dist/agent/index.js.map +1 -1
  6. package/dist/agent/prompt.d.ts.map +1 -1
  7. package/dist/agent/prompt.js +158 -2
  8. package/dist/agent/prompt.js.map +1 -1
  9. package/dist/heartbeat/index.d.ts +18 -0
  10. package/dist/heartbeat/index.d.ts.map +1 -1
  11. package/dist/heartbeat/index.js +153 -2
  12. package/dist/heartbeat/index.js.map +1 -1
  13. package/dist/index.d.ts +3 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +3 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/market/index.d.ts +8 -1
  18. package/dist/market/index.d.ts.map +1 -1
  19. package/dist/market/index.js +28 -2
  20. package/dist/market/index.js.map +1 -1
  21. package/dist/skills/analyze-market.d.ts +17 -0
  22. package/dist/skills/analyze-market.d.ts.map +1 -0
  23. package/dist/skills/analyze-market.js +156 -0
  24. package/dist/skills/analyze-market.js.map +1 -0
  25. package/dist/skills/check-balance.d.ts +2 -2
  26. package/dist/skills/check-balance.d.ts.map +1 -1
  27. package/dist/skills/check-balance.js +43 -8
  28. package/dist/skills/check-balance.js.map +1 -1
  29. package/dist/skills/check-price.d.ts +11 -0
  30. package/dist/skills/check-price.d.ts.map +1 -0
  31. package/dist/skills/check-price.js +83 -0
  32. package/dist/skills/check-price.js.map +1 -0
  33. package/dist/skills/claim-vault.d.ts +15 -0
  34. package/dist/skills/claim-vault.d.ts.map +1 -0
  35. package/dist/skills/claim-vault.js +96 -0
  36. package/dist/skills/claim-vault.js.map +1 -0
  37. package/dist/skills/deploy.d.ts.map +1 -1
  38. package/dist/skills/deploy.js +10 -1
  39. package/dist/skills/deploy.js.map +1 -1
  40. package/dist/skills/index.d.ts +8 -1
  41. package/dist/skills/index.d.ts.map +1 -1
  42. package/dist/skills/index.js +29 -1
  43. package/dist/skills/index.js.map +1 -1
  44. package/dist/skills/manage-orders.d.ts +26 -0
  45. package/dist/skills/manage-orders.d.ts.map +1 -0
  46. package/dist/skills/manage-orders.js +470 -0
  47. package/dist/skills/manage-orders.js.map +1 -0
  48. package/dist/skills/portfolio.d.ts +19 -0
  49. package/dist/skills/portfolio.d.ts.map +1 -0
  50. package/dist/skills/portfolio.js +189 -0
  51. package/dist/skills/portfolio.js.map +1 -0
  52. package/dist/skills/watch-activity.d.ts +12 -0
  53. package/dist/skills/watch-activity.d.ts.map +1 -0
  54. package/dist/skills/watch-activity.js +130 -0
  55. package/dist/skills/watch-activity.js.map +1 -0
  56. package/dist/skills/xmtp.d.ts +18 -0
  57. package/dist/skills/xmtp.d.ts.map +1 -0
  58. package/dist/skills/xmtp.js +180 -0
  59. package/dist/skills/xmtp.js.map +1 -0
  60. package/dist/state/index.d.ts +19 -0
  61. package/dist/state/index.d.ts.map +1 -1
  62. package/dist/state/index.js +101 -0
  63. package/dist/state/index.js.map +1 -1
  64. package/dist/types.d.ts +16 -0
  65. package/dist/types.d.ts.map +1 -1
  66. package/dist/types.js.map +1 -1
  67. package/dist/xmtp/client.d.ts +79 -0
  68. package/dist/xmtp/client.d.ts.map +1 -0
  69. package/dist/xmtp/client.js +282 -0
  70. package/dist/xmtp/client.js.map +1 -0
  71. package/dist/xmtp/index.d.ts +9 -0
  72. package/dist/xmtp/index.d.ts.map +1 -0
  73. package/dist/xmtp/index.js +8 -0
  74. package/dist/xmtp/index.js.map +1 -0
  75. package/dist/xmtp/types.d.ts +59 -0
  76. package/dist/xmtp/types.d.ts.map +1 -0
  77. package/dist/xmtp/types.js +5 -0
  78. package/dist/xmtp/types.js.map +1 -0
  79. package/package.json +3 -2
@@ -20,6 +20,7 @@ import { buildClients } from '../identity/index.js';
20
20
  import { BunkerClient } from '../bunker/client.js';
21
21
  import { checkThreat, handleThreatEscalation, handleCriticalMigration, formatThreat } from '../bunker/threat-monitor.js';
22
22
  import { BUNKER_EXPIRY_WARN_HOURS } from '../constants.js';
23
+ import { ClawnchOrders, ClawnchTrader } from '@clawnch/clawncher-sdk';
23
24
  /** Minimum time between agent runs even if conditions are met (5 min) */
24
25
  const MIN_RUN_INTERVAL_MS = 5 * 60 * 1000;
25
26
  /** How often to do a full self-reflection run regardless of conditions (24h) */
@@ -83,9 +84,13 @@ export class Heartbeat {
83
84
  const { wake, reason } = await this.market.shouldWake(tokenAddress);
84
85
  // Check bunker conditions (cheap API calls, gated behind config)
85
86
  const bunkerWake = await this.checkBunkerConditions();
87
+ // Check conditional orders against current price (cheap — pure data check)
88
+ const orderWake = await this.checkOrderTriggers(tokenAddress);
89
+ // Check XMTP inbox for unread messages (cheap — just queue check)
90
+ const xmtpWake = this.checkXmtpInbox();
86
91
  // Also check if it's time for periodic self-reflection
87
92
  const reflectionDue = Date.now() - this.lastReflectionTime > REFLECTION_INTERVAL_MS;
88
- if (!wake && !bunkerWake.wake && !reflectionDue) {
93
+ if (!wake && !bunkerWake.wake && !orderWake.wake && !xmtpWake.wake && !reflectionDue) {
89
94
  // Nothing to do. Silence is golden.
90
95
  return;
91
96
  }
@@ -94,7 +99,52 @@ export class Heartbeat {
94
99
  const conditions = this.market.evaluate(snap);
95
100
  const snapshotText = formatSnapshot(snap);
96
101
  let prompt;
97
- if (wake || bunkerWake.wake) {
102
+ if (xmtpWake.wake) {
103
+ // XMTP messages — the agent needs to read and respond
104
+ console.log(`[heartbeat] Waking agent: ${xmtpWake.reason}`);
105
+ const promptParts = [
106
+ `[HEARTBEAT — XMTP MESSAGE RECEIVED]`,
107
+ `Trigger: ${xmtpWake.reason}`,
108
+ ``,
109
+ `UNREAD MESSAGES:`,
110
+ ...xmtpWake.messages.map((m) => {
111
+ const time = new Date(m.sentAt).toISOString();
112
+ const type = m.isDm ? 'DM' : 'Group';
113
+ return ` [${time}] [${type}] From: ${m.senderAddress}\n Conversation: ${m.conversationId}\n Message: ${m.content}`;
114
+ }),
115
+ ``,
116
+ snapshotText,
117
+ ``,
118
+ `You have received XMTP messages. Read them carefully and decide how to respond.`,
119
+ `Use the xmtp skill with action=reply to respond to conversations.`,
120
+ `Consider: Is this a user asking about your token? A trading request? A greeting?`,
121
+ `Respond authentically in your voice. Be helpful but concise.`,
122
+ ];
123
+ prompt = promptParts.join('\n');
124
+ }
125
+ else if (orderWake.wake) {
126
+ // Order triggers take priority — the agent needs to execute swaps
127
+ console.log(`[heartbeat] Waking agent: ${orderWake.reason}`);
128
+ const promptParts = [
129
+ `[HEARTBEAT — ORDER TRIGGERED]`,
130
+ `Trigger: ${orderWake.reason}`,
131
+ ``,
132
+ snapshotText,
133
+ ``,
134
+ `Conditions:`,
135
+ conditions.summary,
136
+ ``,
137
+ `TRIGGERED ORDERS:`,
138
+ ...orderWake.triggeredOrders.map(o => ` ${o.id} [${o.type}]: ${o.description}\n Action: ${o.action.side} ${o.action.amountPct ? `${o.action.amountPct}%` : o.action.amountRaw ?? '?'} — Token: ${o.token}\n Slippage: ${o.action.slippageBps ?? 200}bps`),
139
+ ``,
140
+ `ACTION REQUIRED: Execute each triggered order with the swap skill, then mark it done:`,
141
+ ` manage_orders action=executed orderId=<id> executionResult=<txHash>`,
142
+ `If a swap fails, revert the order to pending:`,
143
+ ` manage_orders action=check currentPrice=<price> (will re-trigger on next heartbeat)`,
144
+ ];
145
+ prompt = promptParts.join('\n');
146
+ }
147
+ else if (wake || bunkerWake.wake) {
98
148
  const triggerReason = wake ? reason : bunkerWake.reason;
99
149
  console.log(`[heartbeat] Waking agent: ${triggerReason}`);
100
150
  const promptParts = [
@@ -135,6 +185,13 @@ export class Heartbeat {
135
185
  `Reflect on: What's working? What should change? Any strategic adjustments?`,
136
186
  ].join('\n');
137
187
  }
188
+ // Record portfolio snapshot + update drawdown tracking (non-blocking)
189
+ try {
190
+ this.recordPortfolioSnapshot(snap);
191
+ }
192
+ catch {
193
+ // Non-fatal
194
+ }
138
195
  this.lastRunTime = Date.now();
139
196
  await this.agent.run(prompt);
140
197
  }
@@ -144,6 +201,100 @@ export class Heartbeat {
144
201
  this.agent.getState().audit('heartbeat_error', msg);
145
202
  }
146
203
  }
204
+ /**
205
+ * Record a portfolio snapshot and update drawdown tracking.
206
+ * Called on each heartbeat cycle that gets past the condition checks.
207
+ */
208
+ recordPortfolioSnapshot(snap) {
209
+ const state = this.agent.getState();
210
+ const trader = new ClawnchTrader(state.asTraderStorage());
211
+ // Compute total portfolio value from token positions + ETH
212
+ const ethBalanceEth = Number(snap.ethBalance) / 1e18;
213
+ const tokenValueEth = snap.ownToken?.priceEth != null
214
+ ? parseFloat(snap.ownToken.balanceFormatted) * snap.ownToken.priceEth
215
+ : 0;
216
+ const totalValueEth = tokenValueEth + ethBalanceEth;
217
+ // Record snapshot
218
+ const totalValueUsd = snap.ownToken?.priceUsd != null && snap.ownToken?.priceEth != null && snap.ownToken.priceEth > 0
219
+ ? parseFloat(snap.ownToken.balanceFormatted) * snap.ownToken.priceUsd + ethBalanceEth * (snap.ownToken.priceUsd / snap.ownToken.priceEth)
220
+ : null;
221
+ trader.recordSnapshot(tokenValueEth, totalValueUsd, ethBalanceEth);
222
+ // Update drawdown tracking in risk config
223
+ const orders = new ClawnchOrders(state, state.asRiskStorage());
224
+ const { circuitBreakerTripped } = orders.updatePortfolioValue(totalValueEth);
225
+ if (circuitBreakerTripped) {
226
+ console.log(`[heartbeat] CIRCUIT BREAKER TRIPPED — max drawdown exceeded`);
227
+ state.audit('circuit_breaker', 'Drawdown circuit breaker tripped. All orders halted.');
228
+ }
229
+ }
230
+ /**
231
+ * Check conditional orders against the current on-chain price.
232
+ * If any orders trigger, return wake=true with the triggered orders.
233
+ *
234
+ * This is cheap: reads price from the already-available snapshot data,
235
+ * then does a pure in-memory comparison against stored orders.
236
+ */
237
+ async checkOrderTriggers(tokenAddress) {
238
+ if (!tokenAddress) {
239
+ return { wake: false, reason: '' };
240
+ }
241
+ const state = this.agent.getState();
242
+ const pendingOrders = state.getOrders().filter(o => o.status === 'pending');
243
+ if (pendingOrders.length === 0) {
244
+ return { wake: false, reason: '' };
245
+ }
246
+ // Get current price — use a quick snapshot read (already cached if recent)
247
+ try {
248
+ const snap = await this.market.snapshot(tokenAddress);
249
+ const priceEth = snap.ownToken?.priceEth;
250
+ if (priceEth == null || priceEth <= 0) {
251
+ return { wake: false, reason: '' };
252
+ }
253
+ const orders = new ClawnchOrders(state);
254
+ const triggered = orders.checkTriggers(priceEth);
255
+ if (triggered.length === 0) {
256
+ return { wake: false, reason: '' };
257
+ }
258
+ return {
259
+ wake: true,
260
+ reason: `${triggered.length} order(s) triggered at price ${priceEth.toExponential(4)} ETH`,
261
+ triggeredOrders: triggered,
262
+ };
263
+ }
264
+ catch {
265
+ // Price read failed — don't block the heartbeat
266
+ return { wake: false, reason: '' };
267
+ }
268
+ }
269
+ /**
270
+ * Check XMTP inbox for unread messages.
271
+ * Drains the message queue — messages are included in the wake prompt.
272
+ */
273
+ checkXmtpInbox() {
274
+ const xmtpClient = this.agent.getXmtpClient();
275
+ if (!xmtpClient || !xmtpClient.isStarted() || !xmtpClient.hasUnreadMessages()) {
276
+ return { wake: false, reason: '' };
277
+ }
278
+ const messages = xmtpClient.drainMessages();
279
+ if (messages.length === 0) {
280
+ return { wake: false, reason: '' };
281
+ }
282
+ // Filter by allowlist if configured
283
+ const config = this.config.xmtp;
284
+ let filtered = messages;
285
+ if (config?.allowlist && config.allowlist.length > 0) {
286
+ const allowed = new Set(config.allowlist.map(a => a.toLowerCase()));
287
+ filtered = messages.filter(m => allowed.has(m.senderAddress.toLowerCase()));
288
+ }
289
+ if (filtered.length === 0) {
290
+ return { wake: false, reason: '' };
291
+ }
292
+ return {
293
+ wake: true,
294
+ reason: `${filtered.length} XMTP message(s) received`,
295
+ messages: filtered,
296
+ };
297
+ }
147
298
  /**
148
299
  * Check bunker-specific wake conditions:
149
300
  * 1. Runtime expiring within BUNKER_EXPIRY_WARN_HOURS
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/heartbeat/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/heartbeat/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -22,7 +22,7 @@ export { StateStore } from './state/index.js';
22
22
  export type { AuditEntry } from './state/index.js';
23
23
  export { SurvivalMonitor, determineTier, formatSurvivalStatus } from './survival/index.js';
24
24
  export { ALL_SKILLS, getSkillsForTier } from './skills/index.js';
25
- export { checkBalanceSkill, checkStatsSkill, claimFeesSkill, deployTokenSkill, swapSkill, transferSkill, shellSkill, conwaySkill, editSoulSkill, clawnxSkill, bunkerSkill, } from './skills/index.js';
25
+ export { checkBalanceSkill, checkStatsSkill, claimFeesSkill, deployTokenSkill, swapSkill, transferSkill, shellSkill, conwaySkill, editSoulSkill, clawnxSkill, bunkerSkill, xmtpSkill, } from './skills/index.js';
26
26
  export { Heartbeat } from './heartbeat/index.js';
27
27
  export { MarketIntelligence, formatSnapshot } from './market/index.js';
28
28
  export type { MarketSnapshot, MarketConditions, OwnTokenStats } from './market/index.js';
@@ -36,5 +36,7 @@ export type { ThreatCheckResult } from './bunker/threat-monitor.js';
36
36
  export { SelfModAuditor } from './self-mod/index.js';
37
37
  export type { ClawtomatonIdentity, SurvivalTier, SurvivalState, AgentContext, ConversationTurn, ToolCall, ToolResult, SkillDefinition, SkillParameter, HeartbeatTask, ClawtomatonConfig, ActivationResult, } from './types.js';
38
38
  export { SURVIVAL_THRESHOLDS, CLAWTOMATON_ACTIVATION_COST, CLAWNCH_TOKEN_ADDRESS, CLAWNCH_BURN_ADDRESS, } from './types.js';
39
+ export { XmtpClient } from './xmtp/client.js';
40
+ export type { XmtpConfig, XmtpMessage, XmtpConversationInfo } from './xmtp/types.js';
39
41
  export { BUNKER_TOKEN_ADDRESS, BUNKER_API_URL, BUNKER_DOCKER_IMAGE, BUNKER_EXPIRY_WARN_HOURS, BUNKER_DEFAULT_DURATION_HOURS, } from './constants.js';
40
42
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/E,YAAY,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGtF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3F,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGzF,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACzJ,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACxH,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,GAAG,EACH,OAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,KAAK,EACL,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACnF,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/E,YAAY,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGtF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3F,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,SAAS,GACV,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGzF,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACzJ,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACxH,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,GAAG,EACH,OAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,KAAK,EACL,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACnF,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGrF,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -25,7 +25,7 @@ export { StateStore } from './state/index.js';
25
25
  export { SurvivalMonitor, determineTier, formatSurvivalStatus } from './survival/index.js';
26
26
  // Skills
27
27
  export { ALL_SKILLS, getSkillsForTier } from './skills/index.js';
28
- export { checkBalanceSkill, checkStatsSkill, claimFeesSkill, deployTokenSkill, swapSkill, transferSkill, shellSkill, conwaySkill, editSoulSkill, clawnxSkill, bunkerSkill, } from './skills/index.js';
28
+ export { checkBalanceSkill, checkStatsSkill, claimFeesSkill, deployTokenSkill, swapSkill, transferSkill, shellSkill, conwaySkill, editSoulSkill, clawnxSkill, bunkerSkill, xmtpSkill, } from './skills/index.js';
29
29
  // Heartbeat
30
30
  export { Heartbeat } from './heartbeat/index.js';
31
31
  // Market intelligence
@@ -37,6 +37,8 @@ export { checkThreat, handleThreatEscalation, handleCriticalMigration, formatThr
37
37
  // Self-modification audit
38
38
  export { SelfModAuditor } from './self-mod/index.js';
39
39
  export { SURVIVAL_THRESHOLDS, CLAWTOMATON_ACTIVATION_COST, CLAWNCH_TOKEN_ADDRESS, CLAWNCH_BURN_ADDRESS, } from './types.js';
40
+ // XMTP (encrypted messaging)
41
+ export { XmtpClient } from './xmtp/client.js';
40
42
  // Constants
41
43
  export { BUNKER_TOKEN_ADDRESS, BUNKER_API_URL, BUNKER_DOCKER_IMAGE, BUNKER_EXPIRY_WARN_HOURS, BUNKER_DEFAULT_DURATION_HOURS, } from './constants.js';
42
44
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,aAAa;AACb,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,WAAW;AACX,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAG/E,QAAQ;AACR,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,WAAW;AACX,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3F,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAE3B,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,sBAAsB;AACtB,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMvE,+CAA+C;AAC/C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACzJ,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAoBxH,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAkBrD,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,YAAY;AACZ,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,aAAa;AACb,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,WAAW;AACX,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAG/E,QAAQ;AACR,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,WAAW;AACX,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3F,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,sBAAsB;AACtB,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMvE,+CAA+C;AAC/C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACzJ,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAoBxH,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAkBrD,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,6BAA6B;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,YAAY;AACZ,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC"}
@@ -40,6 +40,12 @@ export interface OwnTokenStats {
40
40
  balanceFormatted: string;
41
41
  totalSupply: bigint;
42
42
  holdingPct: number;
43
+ /** Price in ETH per token (null if pool read fails) */
44
+ priceEth: number | null;
45
+ /** Price in USD per token (null if unavailable) */
46
+ priceUsd: number | null;
47
+ /** Market cap in USD (null if unavailable) */
48
+ marketCapUsd: number | null;
43
49
  }
44
50
  export interface MarketConditions {
45
51
  feesWorthClaiming: boolean;
@@ -54,6 +60,7 @@ export declare class MarketIntelligence {
54
60
  private address;
55
61
  private state;
56
62
  private reader;
63
+ private price;
57
64
  constructor(publicClient: PublicClient, address: Address, state: StateStore, network?: NetworkName);
58
65
  /**
59
66
  * Take a full market snapshot — all data from chain, no caching.
@@ -77,7 +84,7 @@ export declare class MarketIntelligence {
77
84
  */
78
85
  private fetchBunkerData;
79
86
  /**
80
- * Fetch own token stats using the SDK's ClawnchReader + ERC20ABI.
87
+ * Fetch own token stats using the SDK's ClawnchReader + ERC20ABI + ClawnchPrice.
81
88
  */
82
89
  private fetchOwnTokenStats;
83
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/market/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,YAAY,EAClB,MAAM,MAAM,CAAC;AACd,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAcpD,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IAErB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAE9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0BAA0B,EAAE,MAAM,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2BAA2B,EAAE,MAAM,CAAC;IAEpC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAE3B,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAE/B,QAAQ,EAAE,MAAM,CAAC;IAEjB,0EAA0E;IAC1E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iEAAiE;IACjE,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,wCAAwC;IACxC,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAgB;gBAG5B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,WAAuB;IAQlC;;OAEG;IACG,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAkD/D;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB;IA0ChD;;OAEG;IACG,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;YAyBtE,SAAS;IAyBvB;;;OAGG;YACW,eAAe;IAwC7B;;OAEG;YACW,kBAAkB;CA6BjC;AAUD,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CA2B3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/market/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,YAAY,EAClB,MAAM,MAAM,CAAC;AACd,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAcpD,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IAErB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAE9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0BAA0B,EAAE,MAAM,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2BAA2B,EAAE,MAAM,CAAC;IAEpC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAE3B,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAE/B,QAAQ,EAAE,MAAM,CAAC;IAEjB,0EAA0E;IAC1E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iEAAiE;IACjE,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,wCAAwC;IACxC,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,KAAK,CAAe;gBAG1B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,WAAuB;IASlC;;OAEG;IACG,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAkD/D;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB;IA0ChD;;OAEG;IACG,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;YAyBtE,SAAS;IAyBvB;;;OAGG;YACW,eAAe;IAwC7B;;OAEG;YACW,kBAAkB;CA6CjC;AAUD,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAmC3D"}
@@ -5,7 +5,7 @@
5
5
  * Uses the Clawncher SDK for all on-chain reads — no local ABI duplication.
6
6
  */
7
7
  import { formatEther, erc20Abi, } from 'viem';
8
- import { ClawnchReader, ERC20ABI, } from '@clawnch/clawncher-sdk';
8
+ import { ClawnchReader, ClawnchPrice, ERC20ABI, } from '@clawnch/clawncher-sdk';
9
9
  import { BASE_WETH, GAS_PER_TX, CLAIM_TX_COUNT, MIN_CLAIM_PROFIT_WEI, INFERENCE_COST_ETH_EQUIV, BUNKER_TOKEN_ADDRESS, } from '../constants.js';
10
10
  // ============================================================================
11
11
  // Market Intelligence
@@ -15,11 +15,13 @@ export class MarketIntelligence {
15
15
  address;
16
16
  state;
17
17
  reader;
18
+ price;
18
19
  constructor(publicClient, address, state, network = 'mainnet') {
19
20
  this.publicClient = publicClient;
20
21
  this.address = address;
21
22
  this.state = state;
22
23
  this.reader = new ClawnchReader({ publicClient: publicClient, network });
24
+ this.price = new ClawnchPrice({ publicClient: publicClient, network });
23
25
  }
24
26
  /**
25
27
  * Take a full market snapshot — all data from chain, no caching.
@@ -187,7 +189,7 @@ export class MarketIntelligence {
187
189
  }
188
190
  }
189
191
  /**
190
- * Fetch own token stats using the SDK's ClawnchReader + ERC20ABI.
192
+ * Fetch own token stats using the SDK's ClawnchReader + ERC20ABI + ClawnchPrice.
191
193
  */
192
194
  async fetchOwnTokenStats(tokenAddress) {
193
195
  try {
@@ -203,6 +205,19 @@ export class MarketIntelligence {
203
205
  const holdingPct = tokenInfo.totalSupply > 0n
204
206
  ? Number((balance * 10000n) / tokenInfo.totalSupply) / 100
205
207
  : 0;
208
+ // Fetch price (non-fatal — null on failure)
209
+ let priceEth = null;
210
+ let priceUsd = null;
211
+ let marketCapUsd = null;
212
+ try {
213
+ const priceInfo = await this.price.getTokenPrice(tokenAddress);
214
+ priceEth = priceInfo.priceInEth;
215
+ priceUsd = priceInfo.priceInUsd;
216
+ marketCapUsd = priceInfo.marketCapUsd;
217
+ }
218
+ catch {
219
+ // Price read failed — pool may not exist or token not paired with WETH
220
+ }
206
221
  return {
207
222
  address: tokenAddress,
208
223
  symbol: tokenInfo.symbol,
@@ -210,6 +225,9 @@ export class MarketIntelligence {
210
225
  balanceFormatted: formatEther(balance),
211
226
  totalSupply: tokenInfo.totalSupply,
212
227
  holdingPct,
228
+ priceEth,
229
+ priceUsd,
230
+ marketCapUsd,
213
231
  };
214
232
  }
215
233
  catch {
@@ -238,6 +256,14 @@ export function formatSnapshot(snap) {
238
256
  lines.push(`--- Own Token ---`);
239
257
  lines.push(`$${snap.ownToken.symbol} (${snap.ownToken.address})`);
240
258
  lines.push(`Balance: ${snap.ownToken.balanceFormatted} (${snap.ownToken.holdingPct.toFixed(2)}% of supply)`);
259
+ if (snap.ownToken.priceEth != null) {
260
+ lines.push(`Price: ${snap.ownToken.priceEth.toExponential(4)} ETH${snap.ownToken.priceUsd != null ? ` ($${snap.ownToken.priceUsd.toExponential(4)})` : ''}`);
261
+ }
262
+ if (snap.ownToken.marketCapUsd != null) {
263
+ const mcap = snap.ownToken.marketCapUsd;
264
+ const mcapStr = mcap >= 1_000_000 ? `$${(mcap / 1_000_000).toFixed(2)}M` : mcap >= 1_000 ? `$${(mcap / 1_000).toFixed(2)}K` : `$${mcap.toFixed(2)}`;
265
+ lines.push(`Market Cap: ${mcapStr}`);
266
+ }
241
267
  }
242
268
  if (snap.bunkerBalance !== null && snap.bunkerBalance > 0n) {
243
269
  lines.push(`--- Bunker ---`);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/market/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,WAAW,EACX,QAAQ,GAGT,MAAM,MAAM,CAAC;AACd,OAAO,EAEL,aAAa,EACb,QAAQ,GAET,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AA0DzB,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,MAAM,OAAO,kBAAkB;IACrB,YAAY,CAAe;IAC3B,OAAO,CAAU;IACjB,KAAK,CAAa;IAClB,MAAM,CAAgB;IAE9B,YACE,YAA0B,EAC1B,OAAgB,EAChB,KAAiB,EACjB,UAAuB,SAAS;QAEhC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,EAAE,YAAY,EAAE,YAAmB,EAAE,OAAO,EAAE,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,YAAsB;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACzD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;YACvD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;YAC/B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;SAC7B,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,QAAQ,GAAG,UAAU,CAAC;QACjD,MAAM,qBAAqB,GAAG,kBAAkB,GAAG,cAAc,CAAC;QAElE,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,GAAG,qBAAqB;YACnE,CAAC,CAAC,QAAQ,CAAC,aAAa,GAAG,qBAAqB;YAChD,CAAC,CAAC,EAAE,GAAG,CAAC,qBAAqB,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC1D,MAAM,iBAAiB,GAAG,cAAc,GAAG,oBAAoB,CAAC;QAEhE,IAAI,QAAQ,GAAyB,IAAI,CAAC;QAC1C,IAAI,YAAY,EAAE,CAAC;YACjB,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,QAAQ,GAAG,kBAAkB,GAAG,EAAE;YACtC,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,kBAAkB,CAAC;YACzC,CAAC,CAAC,CAAC,CAAC;QAEN,uDAAuD;QACvD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAEhD,OAAO;YACL,SAAS;YACT,UAAU;YACV,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC;YACrC,QAAQ;YACR,kBAAkB;YAClB,qBAAqB;YACrB,qBAAqB,EAAE,WAAW,CAAC,qBAAqB,CAAC;YACzD,iBAAiB,EAAE,QAAQ,CAAC,aAAa;YACzC,0BAA0B,EAAE,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC/D,kBAAkB,EAAE,QAAQ,CAAC,cAAc;YAC3C,2BAA2B,EAAE,QAAQ,CAAC,uBAAuB;YAC7D,cAAc;YACd,cAAc,EAAE,WAAW,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;YACtE,iBAAiB;YACjB,QAAQ;YACR,QAAQ;YACR,GAAG,UAAU;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAoB;QAC3B,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;QAEtF,MAAM,aAAa,GAAG,GAAG,CAAC;QAC1B,MAAM,YAAY,GAAG,kBAAkB,GAAG,aAAa,GAAG,wBAAwB,GAAG,GAAG,CAAC;QACzF,MAAM,oBAAoB,GAAG,UAAU,GAAG,YAAY,CAAC;QACvD,MAAM,uBAAuB,GAAG,YAAY,GAAG,EAAE;YAC/C,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,YAAY,CAAC;YAC3C,CAAC,CAAC,CAAC,CAAC;QAEN,MAAM,iBAAiB,GAAG,YAAY,GAAG,EAAE,CAAC;QAC5C,MAAM,mBAAmB,GAAG,UAAU,GAAG,iBAAiB,IAAI,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAE7G,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;QAE1C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,iBAAiB,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,0BAA0B,4BAA4B,IAAI,CAAC,cAAc,OAAO,CAAC,CAAC;QACvH,CAAC;aAAM,IAAI,iBAAiB,GAAG,EAAE,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,0BAA0B,iDAAiD,IAAI,CAAC,qBAAqB,OAAO,CAAC,CAAC;QACjJ,CAAC;QACD,IAAI,mBAAmB,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,YAAY,iCAAiC,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,aAAa,uBAAuB,iDAAiD,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,QAAQ,iCAAiC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE3G,OAAO;YACL,iBAAiB,EAAE,iBAAiB;YACpC,mBAAmB;YACnB,oBAAoB;YACpB,uBAAuB;YACvB,UAAU;YACV,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SAC1B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,YAAsB;QACrC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEvC,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC;gBACnC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,iDAAiD,EAAE,CAAC;YACnF,CAAC;YACD,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;gBACjC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,wBAAwB,IAAI,CAAC,0BAA0B,OAAO,EAAE,CAAC;YAChG,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBACrC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,UAAU,CAAC,uBAAuB,0BAA0B,EAAE,CAAC;YACtG,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACtG,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,WAAW;IACX,6EAA6E;IAErE,KAAK,CAAC,SAAS,CAAC,YAAsB;QAK5C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC;QACjF,CAAC;QAED,IAAI,CAAC;YACH,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;aACzD,CAAC,CAAC;YAEH,OAAO;gBACL,aAAa,EAAE,QAAQ;gBACvB,cAAc,EAAE,SAAS;gBACzB,uBAAuB,EAAE,WAAW,CAAC,SAAS,CAAC;aAChD,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC;QACjF,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe;QAM3B,MAAM,QAAQ,GAAG;YACf,aAAa,EAAE,IAAI;YACnB,sBAAsB,EAAE,IAAI;YAC5B,sBAAsB,EAAE,IAAI;YAC5B,2BAA2B,EAAE,IAAI;SAClC,CAAC;QAEF,IAAI,CAAC;YACH,iEAAiE;YACjE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBACnD,OAAO,EAAE,oBAAoB;gBAC7B,GAAG,EAAE,QAAQ;gBACb,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;aACrB,CAAC,CAAC;YAEH,4CAA4C;YAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAChD,MAAM,SAAS,GAAG,WAAW,EAAE,SAAS,IAAI,IAAI,CAAC;YACjD,MAAM,cAAc,GAAG,SAAS;gBAC9B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1D,CAAC,CAAC,IAAI,CAAC;YAET,OAAO;gBACL,aAAa,EAAE,OAAO;gBACtB,sBAAsB,EAAE,WAAW,CAAC,OAAO,CAAC;gBAC5C,sBAAsB,EAAE,SAAS;gBACjC,2BAA2B,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI;aAC1F,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,YAAqB;QACpD,IAAI,CAAC;YACH,oEAAoE;YACpE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAE/D,uFAAuF;YACvF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBACnD,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,QAAQ;gBACb,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;aACrB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,GAAG,EAAE;gBAC3C,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,GAAG;gBAC1D,CAAC,CAAC,CAAC,CAAC;YAEN,OAAO;gBACL,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,OAAO;gBACP,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC;gBACtC,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,UAAU;aACX,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAED,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAoB;IACjD,MAAM,KAAK,GAAG;QACZ,wBAAwB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,OAAO;QACrE,gBAAgB,IAAI,CAAC,YAAY,MAAM;QACvC,cAAc,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO;QAC9C,4BAA4B,IAAI,CAAC,qBAAqB,MAAM;QAC5D,wBAAwB,IAAI,CAAC,0BAA0B,EAAE;QACzD,yBAAyB,IAAI,CAAC,2BAA2B,EAAE;QAC3D,qBAAqB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,cAAc,OAAO,CAAC,CAAC,CAAC,uBAAuB,EAAE;QACpH,eAAe,IAAI,CAAC,QAAQ,yBAAyB;KACtD,CAAC;IAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,gBAAgB,KAAK,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC/G,CAAC;IAED,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,GAAG,EAAE,EAAE,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,2BAA2B,KAAK,IAAI,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,2BAA2B,aAAa,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/market/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Skill: analyze_market — Technical analysis of a token's trading activity.
3
+ *
4
+ * Fetches recent swap events from the V4 pool, builds OHLCV candles,
5
+ * and computes technical indicators:
6
+ * - SMA (20, 50)
7
+ * - RSI (14)
8
+ * - Bollinger Bands (20, 2)
9
+ * - VWAP
10
+ * - Volatility (annualized)
11
+ * - Combined signal (strong_buy → strong_sell)
12
+ *
13
+ * No gas cost — read-only operation using event logs.
14
+ */
15
+ import type { SkillDefinition } from '../types.js';
16
+ export declare const analyzeMarketSkill: SkillDefinition;
17
+ //# sourceMappingURL=analyze-market.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-market.d.ts","sourceRoot":"","sources":["../../src/skills/analyze-market.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,eAAe,EAA4B,MAAM,aAAa,CAAC;AAG7E,eAAO,MAAM,kBAAkB,EAAE,eA8HhC,CAAC"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Skill: analyze_market — Technical analysis of a token's trading activity.
3
+ *
4
+ * Fetches recent swap events from the V4 pool, builds OHLCV candles,
5
+ * and computes technical indicators:
6
+ * - SMA (20, 50)
7
+ * - RSI (14)
8
+ * - Bollinger Bands (20, 2)
9
+ * - VWAP
10
+ * - Volatility (annualized)
11
+ * - Combined signal (strong_buy → strong_sell)
12
+ *
13
+ * No gas cost — read-only operation using event logs.
14
+ */
15
+ import { ClawnchAnalytics, ClawnchPrice, ClawnchReader, ClawnchWatcher } from '@clawnch/clawncher-sdk';
16
+ export const analyzeMarketSkill = {
17
+ name: 'analyze_market',
18
+ description: [
19
+ 'Technical analysis of a token: SMA, RSI, Bollinger Bands, VWAP, volatility.',
20
+ 'Builds OHLCV candles from on-chain swap events and produces a buy/sell signal.',
21
+ 'No gas cost (read-only). Needs ~50+ swaps for meaningful indicators.',
22
+ ].join(' '),
23
+ parameters: [
24
+ {
25
+ name: 'token',
26
+ type: 'address',
27
+ description: 'Token address to analyze. Defaults to own token.',
28
+ required: false,
29
+ },
30
+ {
31
+ name: 'interval',
32
+ type: 'string',
33
+ description: 'Candle interval: "5m", "15m", "1h", "4h", "1d". Default "1h".',
34
+ required: false,
35
+ },
36
+ {
37
+ name: 'blocks',
38
+ type: 'number',
39
+ description: 'Number of past blocks to scan for swaps (default 10000, ~5.5 hours on Base).',
40
+ required: false,
41
+ },
42
+ ],
43
+ execute: async (params, ctx) => {
44
+ try {
45
+ const tokenAddress = params.token ?? ctx.identity.tokenAddress;
46
+ if (!tokenAddress) {
47
+ return { callId: '', success: false, result: null, error: 'No token address. Deploy a token first or specify one.' };
48
+ }
49
+ const { buildClients } = await import('../identity/index.js');
50
+ const rpcUrl = process.env.BASE_RPC_URL ?? 'https://mainnet.base.org';
51
+ const { publicClient } = buildClients(ctx.identity, rpcUrl);
52
+ // Get pool ID and WETH side
53
+ const reader = new ClawnchReader({ publicClient: publicClient, network: 'mainnet' });
54
+ const rewards = await reader.getTokenRewards(tokenAddress);
55
+ if (!rewards) {
56
+ return { callId: '', success: false, result: null, error: 'No pool found for this token. It may not be a Clawncher token.' };
57
+ }
58
+ const poolKey = rewards.poolKey;
59
+ const wethAddress = '0x4200000000000000000000000000000000000006';
60
+ const wethSide = poolKey.currency0.toLowerCase() === wethAddress.toLowerCase() ? 0 : 1;
61
+ // Build pool ID from the rewards data
62
+ // The watcher needs the pool ID as a hex string. We can get it from getTokenPrice.
63
+ const price = new ClawnchPrice({ publicClient: publicClient, network: 'mainnet' });
64
+ let poolId;
65
+ try {
66
+ const priceInfo = await price.getTokenPrice(tokenAddress);
67
+ // poolId is not directly returned by getTokenPrice. We need to compute it.
68
+ // For now, use reader.getTokenRewards which returns poolKey but not poolId.
69
+ // We'll fetch swaps by scanning the PoolManager for events with this token's pool.
70
+ // Actually, the watcher's getRecentSwaps needs a poolId. Let's compute it from the pool key.
71
+ poolId = computePoolId(poolKey);
72
+ }
73
+ catch {
74
+ return { callId: '', success: false, result: null, error: 'Failed to read pool state. Token may not have liquidity.' };
75
+ }
76
+ // Fetch swap events
77
+ const blocksToScan = params.blocks ?? 10000;
78
+ const currentBlock = await publicClient.getBlockNumber();
79
+ const fromBlock = currentBlock > BigInt(blocksToScan) ? currentBlock - BigInt(blocksToScan) : 0n;
80
+ const watcher = new ClawnchWatcher({ publicClient: publicClient, network: 'mainnet' });
81
+ const swaps = await watcher.getRecentSwaps(poolId, {
82
+ fromBlock,
83
+ toBlock: currentBlock,
84
+ limit: 500,
85
+ });
86
+ if (swaps.length < 5) {
87
+ return {
88
+ callId: '',
89
+ success: true,
90
+ result: `Only ${swaps.length} swap(s) found in the last ${blocksToScan} blocks. Not enough data for technical analysis.\n\nTry increasing the blocks parameter or wait for more trading activity.`,
91
+ };
92
+ }
93
+ // Build candles and analyze
94
+ const interval = params.interval ?? '1h';
95
+ const analytics = new ClawnchAnalytics();
96
+ const candles = analytics.buildCandles(swaps, wethSide, interval);
97
+ if (candles.length < 5) {
98
+ return {
99
+ callId: '',
100
+ success: true,
101
+ result: `${swaps.length} swaps produced only ${candles.length} candle(s). Need more data for meaningful analysis.`,
102
+ };
103
+ }
104
+ const analysis = analytics.analyze(candles, interval);
105
+ const lines = [
106
+ `Market Analysis for ${tokenAddress}`,
107
+ ` ${swaps.length} swaps → ${candles.length} candles (${interval})`,
108
+ ``,
109
+ ];
110
+ if (analysis) {
111
+ lines.push(analysis.summary);
112
+ }
113
+ else {
114
+ // Not enough candles for full analysis, show what we can
115
+ const lastCandle = candles[candles.length - 1];
116
+ const vwap = analytics.vwap(candles);
117
+ const vol = analytics.volatility(candles, interval);
118
+ lines.push(`Price: ${lastCandle.close.toExponential(4)} ETH`);
119
+ lines.push(`Range: ${lastCandle.low.toExponential(3)} — ${lastCandle.high.toExponential(3)}`);
120
+ lines.push(`VWAP: ${vwap.toExponential(4)} ETH`);
121
+ lines.push(`Volatility: ${(vol * 100).toFixed(0)}% annualized`);
122
+ lines.push(`Total volume: ${candles.reduce((s, c) => s + c.volume, 0).toFixed(6)} ETH`);
123
+ lines.push(``, `(Need 50+ candles for SMA/RSI/BB. Currently ${candles.length}.)`);
124
+ }
125
+ return { callId: '', success: true, result: lines.join('\n') };
126
+ }
127
+ catch (err) {
128
+ return { callId: '', success: false, result: null, error: err instanceof Error ? err.message : String(err) };
129
+ }
130
+ },
131
+ };
132
+ /**
133
+ * Compute Uniswap V4 pool ID from pool key via keccak256.
134
+ * Pool ID = keccak256(abi.encode(currency0, currency1, fee, tickSpacing, hooks))
135
+ */
136
+ function computePoolId(poolKey) {
137
+ // We need viem's encodePacked / keccak256. Dynamic import to keep the function sync-compatible.
138
+ // Actually, for V4, pool ID is keccak256(abi.encode(...)) not encodePacked.
139
+ // Use viem's encodeAbiParameters + keccak256.
140
+ const { encodeAbiParameters, keccak256 } = require('viem');
141
+ const encoded = encodeAbiParameters([
142
+ { type: 'address' },
143
+ { type: 'address' },
144
+ { type: 'uint24' },
145
+ { type: 'int24' },
146
+ { type: 'address' },
147
+ ], [
148
+ poolKey.currency0,
149
+ poolKey.currency1,
150
+ poolKey.fee,
151
+ poolKey.tickSpacing,
152
+ poolKey.hooks,
153
+ ]);
154
+ return keccak256(encoded);
155
+ }
156
+ //# sourceMappingURL=analyze-market.js.map