@varun-ai07/covenant-mcp 1.2.0 → 1.2.1

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 (49) hide show
  1. package/README.md +451 -366
  2. package/dist/abis/AgentWallet.json +415 -0
  3. package/dist/abis/COVENANTRouter.json +173 -0
  4. package/dist/abis/CapabilityVerifier.json +213 -0
  5. package/dist/abis/Groth16Verifier.json +36 -0
  6. package/dist/abis/Groth16VerifierCapability.json +36 -0
  7. package/dist/abis/Groth16VerifierReputation.json +36 -0
  8. package/dist/abis/LitProtocolIntegration.json +703 -0
  9. package/dist/abis/ReputationVerifier.json +213 -0
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +38 -1
  12. package/dist/config.js.map +1 -1
  13. package/dist/handlers/transactions.d.ts.map +1 -1
  14. package/dist/handlers/transactions.js +274 -27
  15. package/dist/handlers/transactions.js.map +1 -1
  16. package/dist/handlers/wallet.d.ts +3 -1
  17. package/dist/handlers/wallet.d.ts.map +1 -1
  18. package/dist/handlers/wallet.js +82 -2
  19. package/dist/handlers/wallet.js.map +1 -1
  20. package/dist/lib/cache.d.ts +53 -0
  21. package/dist/lib/cache.d.ts.map +1 -0
  22. package/dist/lib/cache.js +154 -0
  23. package/dist/lib/cache.js.map +1 -0
  24. package/dist/lib/events.d.ts +73 -0
  25. package/dist/lib/events.d.ts.map +1 -0
  26. package/dist/lib/events.js +203 -0
  27. package/dist/lib/events.js.map +1 -0
  28. package/dist/tools/batches.d.ts.map +1 -1
  29. package/dist/tools/batches.js +4 -3
  30. package/dist/tools/batches.js.map +1 -1
  31. package/dist/tools/collectives.d.ts.map +1 -1
  32. package/dist/tools/collectives.js +15 -6
  33. package/dist/tools/collectives.js.map +1 -1
  34. package/dist/tools/escrow.d.ts.map +1 -1
  35. package/dist/tools/escrow.js +8 -6
  36. package/dist/tools/escrow.js.map +1 -1
  37. package/dist/tools/insurance.d.ts.map +1 -1
  38. package/dist/tools/insurance.js +7 -4
  39. package/dist/tools/insurance.js.map +1 -1
  40. package/dist/tools/receipts.d.ts.map +1 -1
  41. package/dist/tools/receipts.js +49 -61
  42. package/dist/tools/receipts.js.map +1 -1
  43. package/dist/types.d.ts +7 -0
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/utils.d.ts +52 -0
  46. package/dist/utils.d.ts.map +1 -0
  47. package/dist/utils.js +217 -0
  48. package/dist/utils.js.map +1 -0
  49. package/package.json +1 -1
@@ -1,41 +1,33 @@
1
+ /**
2
+ * Transaction utilities: gas estimation, multicall, result formatting.
3
+ */
4
+ import { formatEther } from "viem";
1
5
  import { getExplorerTxUrl } from "../config.js";
2
6
  import { sanitizeErrorMessage } from "../schemas.js";
3
7
  // ============================================================
4
- // Format tx result for MCP tool response
8
+ // Format tx result for MCP tool response (Human-readable text)
5
9
  // ============================================================
6
10
  export function formatTxResult(result) {
7
11
  if (result.status === "success") {
12
+ const etherUrl = getExplorerTxUrl(result.txHash);
13
+ const gasEth = formatEther(BigInt(result.gasUsed) * BigInt(10 ** 9)); // Rough estimate at 1 gwei
8
14
  return {
9
15
  content: [
10
16
  {
11
17
  type: "text",
12
- text: JSON.stringify({
13
- success: true,
14
- txHash: result.txHash,
15
- explorer: getExplorerTxUrl(result.txHash),
16
- blockNumber: result.blockNumber.toString(),
17
- gasUsed: result.gasUsed.toString(),
18
- }, null, 2),
18
+ text: `Transaction successful.\n\nTx: ${result.txHash}\nBlock: ${result.blockNumber}\nGas used: ${result.gasUsed}\n\nView on explorer: ${etherUrl}`,
19
19
  },
20
20
  ],
21
21
  };
22
22
  }
23
23
  if (result.status === "prepared") {
24
+ const valueEth = result.value !== undefined ? formatEther(BigInt(result.value)) : "0";
25
+ const expiresAtStr = result.expiresAt ? new Date(result.expiresAt * 1000).toISOString() : "N/A";
24
26
  return {
25
27
  content: [
26
28
  {
27
29
  type: "text",
28
- text: JSON.stringify({
29
- prepared: true,
30
- to: result.to,
31
- data: result.data,
32
- value: result.value.toString(),
33
- chainId: result.chainId,
34
- nonce: result.nonce,
35
- expiresAt: result.expiresAt,
36
- instruction: "Sign this calldata with your wallet and broadcast to the chain. " +
37
- "Validate nonce and expiry before signing.",
38
- }, null, 2),
30
+ text: `Transaction prepared for signing.\n\nTo: ${result.to}\nValue: ${valueEth} ETH${result.chainId ? `\nChain ID: ${result.chainId}` : ""}${result.nonce !== undefined ? `\nNonce: ${result.nonce}` : ""}\nExpires: ${expiresAtStr}\n\nSign and broadcast this transaction from your wallet.`,
39
31
  },
40
32
  ],
41
33
  };
@@ -45,37 +37,292 @@ export function formatTxResult(result) {
45
37
  content: [
46
38
  {
47
39
  type: "text",
48
- text: `Error: ${result.error}${result.reason ? `\nReason: ${result.reason}` : ""}`,
40
+ text: `Transaction failed: ${result.error}${result.reason ? ` ${result.reason}` : ""}`,
49
41
  },
50
42
  ],
51
43
  isError: true,
52
44
  };
53
45
  }
54
46
  // ============================================================
55
- // Format read result for MCP tool response
47
+ // Format read result for MCP tool response (Human-readable text)
56
48
  // ============================================================
57
49
  export function formatReadResult(data, label) {
58
- // Convert BigInts to strings for JSON serialization
59
- const serialized = JSON.parse(JSON.stringify(data, (_key, value) => typeof value === "bigint" ? value.toString() : value));
50
+ // Convert BigInts to appropriate values
51
+ const processed = processReadData(data);
52
+ // Generate human-readable text
53
+ const text = formatReadableText(processed, label);
60
54
  return {
61
55
  content: [
62
56
  {
63
57
  type: "text",
64
- text: label
65
- ? `${label}:\n${JSON.stringify(serialized, null, 2)}`
66
- : JSON.stringify(serialized, null, 2),
58
+ text: text,
67
59
  },
68
60
  ],
69
61
  };
70
62
  }
63
+ /**
64
+ * Process data to convert BigInts and format nested structures
65
+ */
66
+ function processReadData(data) {
67
+ if (data === null || data === undefined)
68
+ return data;
69
+ if (typeof data === "bigint")
70
+ return data.toString();
71
+ if (Array.isArray(data))
72
+ return data.map(processReadData);
73
+ if (typeof data === "object") {
74
+ const result = {};
75
+ for (const [key, value] of Object.entries(data)) {
76
+ result[key] = processReadData(value);
77
+ }
78
+ return result;
79
+ }
80
+ return data;
81
+ }
82
+ /**
83
+ * Format data as human-readable text
84
+ */
85
+ function formatReadableText(data, label) {
86
+ const lines = [];
87
+ if (label) {
88
+ lines.push(label);
89
+ lines.push("");
90
+ }
91
+ if (Array.isArray(data)) {
92
+ // Handle tuple arrays from Solidity
93
+ if (data.length > 0 && typeof data[0] === "object") {
94
+ data.forEach((item, i) => {
95
+ lines.push(formatObjectBrief(item, i));
96
+ });
97
+ }
98
+ else if (data.every(v => typeof v !== "object")) {
99
+ // Simple array
100
+ lines.push(data.map((v, i) => `[${i}] ${formatValue(v)}`).join("\n"));
101
+ }
102
+ else {
103
+ // Mixed array - format each item
104
+ data.forEach((item, i) => {
105
+ if (typeof item === "object" && item !== null) {
106
+ lines.push(`[${i}] ${formatObjectBrief(item)}`);
107
+ }
108
+ else {
109
+ lines.push(`[${i}] ${formatValue(item)}`);
110
+ }
111
+ });
112
+ }
113
+ }
114
+ else if (typeof data === "object" && data !== null) {
115
+ lines.push(formatObjectBrief(data));
116
+ }
117
+ else {
118
+ lines.push(formatValue(data));
119
+ }
120
+ return lines.join("\n");
121
+ }
122
+ /**
123
+ * Format an object as brief human-readable text
124
+ */
125
+ function formatObjectBrief(obj, index) {
126
+ if (!obj || typeof obj !== "object")
127
+ return String(obj);
128
+ const parts = [];
129
+ // Common field mappings for better readability
130
+ const fieldLabels = {
131
+ // Agent
132
+ did: "DID",
133
+ wallet: "Wallet",
134
+ reputation: "Reputation",
135
+ isActive: "Active",
136
+ tasksCompleted: "Tasks Done",
137
+ tasksFailed: "Tasks Failed",
138
+ stakedAmount: "Stake",
139
+ registeredAt: "Registered",
140
+ lastTaskAt: "Last Task",
141
+ name: "Name",
142
+ totalValueTransacted: "Total Volume",
143
+ capabilities: "Capabilities",
144
+ // Task
145
+ client: "Client",
146
+ worker: "Worker",
147
+ payment: "Payment",
148
+ deadline: "Deadline",
149
+ descriptionHash: "Description",
150
+ deliverableHash: "Deliverable",
151
+ status: "Status",
152
+ priority: "Priority",
153
+ createdAt: "Created",
154
+ completedAt: "Completed",
155
+ statusLabel: "Status",
156
+ usesMilestones: "Milestones",
157
+ // Open task
158
+ maxPayment: "Max Payment",
159
+ selectedWorker: "Selected Worker",
160
+ selectedPriceEth: "Selected Price",
161
+ maxPaymentEth: "Max Payment",
162
+ // Bid
163
+ priceEth: "Bid Price",
164
+ timeEstimate: "Time Estimate",
165
+ proposalHash: "Proposal",
166
+ bidAt: "Bid Time",
167
+ bidder: "Bidder",
168
+ // Stats
169
+ totalAgents: "Total Agents",
170
+ totalTasks: "Total Tasks",
171
+ completedTasks: "Completed Tasks",
172
+ totalVolume: "Total Volume",
173
+ totalFees: "Protocol Fees",
174
+ activeAgents: "Active Agents",
175
+ totalFeesEth: "Protocol Fees",
176
+ count: "Count",
177
+ // Misc
178
+ taskId: "Task ID",
179
+ collectiveId: "Collective ID",
180
+ batchId: "Batch ID",
181
+ receiptCount: "Receipts",
182
+ poolBalanceEth: "Pool Balance",
183
+ coveragePercent: "Coverage",
184
+ interactionType: "Type",
185
+ typeLabel: "Type",
186
+ issuer: "Issuer",
187
+ counterparty: "Counterparty",
188
+ dataHash: "Data Hash",
189
+ valid: "Valid",
190
+ // Batch
191
+ taskIds: "Task IDs",
192
+ workers: "Workers",
193
+ totalPayment: "Total Payment",
194
+ aggregationSpec: "Aggregation",
195
+ // Collective
196
+ minContribution: "Min Contribution",
197
+ treasury: "Treasury",
198
+ maxMembers: "Max Members",
199
+ memberCount: "Members",
200
+ members: "Members",
201
+ // Dispute
202
+ disputeId: "Dispute ID",
203
+ inFavorOfWorker: "For Worker",
204
+ votesForWorker: "Votes For Worker",
205
+ votesForClient: "Votes For Client",
206
+ resolved: "Resolved",
207
+ };
208
+ for (const [key, value] of Object.entries(obj)) {
209
+ const label = fieldLabels[key] || formatFieldName(key);
210
+ const formatted = formatValue(value, key);
211
+ // Skip raw hex data that's not useful
212
+ if (key === "did" && typeof value === "string" && value.startsWith("0x") && value.length > 20) {
213
+ parts.push(`${label}: ${value.slice(0, 10)}...${value.slice(-8)}`);
214
+ }
215
+ else if (key === "capabilities" && Array.isArray(value)) {
216
+ parts.push(`${label}: ${value.join(", ")}`);
217
+ }
218
+ else if (key === "stakedAmount" && typeof value === "string") {
219
+ try {
220
+ const eth = formatEther(BigInt(value));
221
+ parts.push(`${label}: ${eth} ETH`);
222
+ }
223
+ catch {
224
+ parts.push(`${label}: ${value}`);
225
+ }
226
+ }
227
+ else if ((key === "payment" || key === "maxPayment" || key === "totalVolume" || key === "totalFees" || key === "treasury" || key === "minContribution" || key === "totalPayment") && typeof value === "string" && value.length > 10) {
228
+ try {
229
+ const eth = formatEther(BigInt(value));
230
+ parts.push(`${label}: ${eth} ETH`);
231
+ }
232
+ catch {
233
+ parts.push(`${label}: ${value}`);
234
+ }
235
+ }
236
+ else if ((key === "deadline" || key === "createdAt" || key === "completedAt" || key === "registeredAt" || key === "lastTaskAt" || key === "bidAt") && value && typeof value === "string" && value !== "0") {
237
+ const ts = BigInt(value);
238
+ const date = new Date(Number(ts) * 1000);
239
+ if (date.getFullYear() > 2000 && date.getFullYear() < 2100) {
240
+ parts.push(`${label}: ${date.toISOString().split(".")[0]} UTC`);
241
+ }
242
+ else {
243
+ parts.push(`${label}: ${value}`);
244
+ }
245
+ }
246
+ else if (key === "status" && typeof value === "number") {
247
+ const statusLabels = ["Pending", "InProgress", "Submitted", "Completed", "Disputed", "Cancelled"];
248
+ parts.push(`${label}: ${statusLabels[value] || value}`);
249
+ }
250
+ else if (key === "isActive") {
251
+ parts.push(`${label}: ${value === 1 || value === true ? "Yes" : "No"}`);
252
+ }
253
+ else if (key === "milestones" && Array.isArray(value)) {
254
+ parts.push(`${label}: ${value.length} milestones defined`);
255
+ }
256
+ else if (typeof value === "object" && value !== null && !Array.isArray(value)) {
257
+ parts.push(`${label}: [nested object]`);
258
+ }
259
+ else {
260
+ parts.push(`${label}: ${formatted}`);
261
+ }
262
+ }
263
+ const prefix = index !== undefined ? `#${index + 1} — ` : "";
264
+ return prefix + parts.join(" | ");
265
+ }
266
+ /**
267
+ * Format a field name from camelCase to Title Case
268
+ */
269
+ function formatFieldName(name) {
270
+ return name
271
+ .replace(/([A-Z])/g, " $1")
272
+ .replace(/^./, s => s.toUpperCase())
273
+ .trim();
274
+ }
275
+ /**
276
+ * Format a single value for display
277
+ */
278
+ function formatValue(value, key) {
279
+ if (value === null || value === undefined)
280
+ return "—";
281
+ if (typeof value === "bigint") {
282
+ // Try to format as ETH if it looks like wei
283
+ if (key && (key.toLowerCase().includes("payment") || key.toLowerCase().includes("stake") || key.toLowerCase().includes("balance"))) {
284
+ try {
285
+ return `${formatEther(value)} ETH`;
286
+ }
287
+ catch {
288
+ return value.toString();
289
+ }
290
+ }
291
+ return value.toString();
292
+ }
293
+ if (typeof value === "string" && value.startsWith("0x") && value.length === 42) {
294
+ return `${value.slice(0, 6)}...${value.slice(-4)}`;
295
+ }
296
+ if (Array.isArray(value)) {
297
+ if (value.length === 0)
298
+ return "[]";
299
+ if (value.every(v => typeof v !== "object")) {
300
+ return value.join(", ");
301
+ }
302
+ return `[${value.length} items]`;
303
+ }
304
+ return String(value);
305
+ }
71
306
  // ============================================================
72
307
  // Format error for MCP tool response
73
308
  // ============================================================
74
309
  export function formatError(error) {
75
310
  const msg = error instanceof Error ? error.message : String(error);
76
311
  const sanitized = sanitizeErrorMessage(msg);
312
+ // Make error messages more concise
313
+ let concise = sanitized;
314
+ if (concise.includes("Transaction reverted")) {
315
+ // Extract just the reason if present
316
+ const reasonMatch = concise.match(/reason[:\s]+(.+?)(?:\n|$)/i);
317
+ if (reasonMatch) {
318
+ concise = reasonMatch[1].trim();
319
+ }
320
+ else {
321
+ concise = "Transaction reverted";
322
+ }
323
+ }
77
324
  return {
78
- content: [{ type: "text", text: `Error: ${sanitized}` }],
325
+ content: [{ type: "text", text: `Error: ${concise}` }],
79
326
  isError: true,
80
327
  };
81
328
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../src/handlers/transactions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../src/handlers/transactions.ts"],"names":[],"mappings":"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"}
@@ -20,5 +20,7 @@ export declare function checkPermission(contractName: string, functionName: stri
20
20
  reason?: string;
21
21
  }>;
22
22
  export declare function executeOrPrepare(contractAddress: Address, abi: Abi, functionName: string, args: readonly unknown[], value?: bigint, contractName?: string): Promise<TxResult>;
23
- export declare function readContract(contractAddress: Address, abi: Abi, functionName: string, args?: readonly unknown[]): Promise<any>;
23
+ export declare function readContract(contractAddress: Address, abi: Abi, functionName: string, args?: readonly unknown[], options?: {
24
+ skipCache?: boolean;
25
+ }): Promise<any>;
24
26
  //# sourceMappingURL=wallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/handlers/wallet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAEL,KAAK,GAAG,EACR,KAAK,OAAO,EAEb,MAAM,MAAM,CAAC;AAYd,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,aAAa,CAAC;AAS5E;;;GAGG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,SAAS,OAAO,EAAE,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6FhD;AAMD,wBAAsB,gBAAgB,CACpC,eAAe,EAAE,OAAO,EACxB,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,QAAQ,CAAC,CAgBnB;AA6JD,wBAAsB,YAAY,CAChC,eAAe,EAAE,OAAO,EACxB,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,SAAS,OAAO,EAAO,GAC5B,OAAO,CAAC,GAAG,CAAC,CAed"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/handlers/wallet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAEL,KAAK,GAAG,EACR,KAAK,OAAO,EAEb,MAAM,MAAM,CAAC;AAYd,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,aAAa,CAAC;AAgE5E;;;GAGG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,SAAS,OAAO,EAAE,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6FhD;AAMD,wBAAsB,gBAAgB,CACpC,eAAe,EAAE,OAAO,EACxB,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,QAAQ,CAAC,CAgBnB;AA8KD,wBAAsB,YAAY,CAChC,eAAe,EAAE,OAAO,EACxB,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,SAAS,OAAO,EAAO,EAC7B,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,OAAO,CAAC,GAAG,CAAC,CAgBd"}
@@ -11,9 +11,54 @@
11
11
  */
12
12
  import { encodeFunctionData, } from "viem";
13
13
  import { getWalletClient, getPublicClient, getAccount, WALLET_MODE, CHAIN, getExplorerTxUrl, CONTRACTS, loadAbi, } from "../config.js";
14
+ import { rpcCache } from "../lib/cache.js";
14
15
  // Maximum gas limit to prevent DoS via expensive calls
15
16
  const GAS_LIMIT_MAX = 10000000n; // 10M gas
16
17
  // ============================================================
18
+ // Cache invalidation for write operations
19
+ // ============================================================
20
+ function invalidateCacheForWrite(contractAddress, functionName, args) {
21
+ const addr = contractAddress.toLowerCase();
22
+ // TaskEscrow writes
23
+ if (addr === CONTRACTS.TaskEscrow?.toLowerCase()) {
24
+ if (functionName === "createTask" || functionName === "createTaskWithPriority" || functionName === "createMilestoneTask") {
25
+ rpcCache.invalidate("taskCount");
26
+ rpcCache.invalidate("clientTasks");
27
+ rpcCache.invalidate("workerTasks");
28
+ rpcCache.invalidate("stats");
29
+ }
30
+ else if (functionName === "verifyTask" || functionName === "submitWork") {
31
+ const taskId = args[0];
32
+ if (typeof taskId === "bigint" || typeof taskId === "number") {
33
+ rpcCache.invalidateTask(Number(taskId));
34
+ }
35
+ }
36
+ }
37
+ // AgentRegistry writes
38
+ if (addr === CONTRACTS.AgentRegistry?.toLowerCase()) {
39
+ rpcCache.invalidate("agentCount");
40
+ rpcCache.invalidate("leaderboard");
41
+ rpcCache.invalidate("stats");
42
+ if (args[0] && typeof args[0] === "string") {
43
+ rpcCache.invalidateAgent(args[0]);
44
+ }
45
+ }
46
+ // OpenTaskMarket writes
47
+ if (addr === CONTRACTS.OpenTaskMarket?.toLowerCase()) {
48
+ rpcCache.invalidate("taskCount");
49
+ rpcCache.invalidate("stats");
50
+ }
51
+ // Collective writes
52
+ if (addr === CONTRACTS.AgentCollective?.toLowerCase()) {
53
+ rpcCache.invalidate("collective");
54
+ }
55
+ // Batch writes
56
+ if (addr === CONTRACTS.ParallelTaskBatch?.toLowerCase()) {
57
+ rpcCache.invalidate("batch");
58
+ rpcCache.invalidate("taskCount");
59
+ }
60
+ }
61
+ // ============================================================
17
62
  // Permission Pre-Checks
18
63
  // ============================================================
19
64
  /**
@@ -160,6 +205,8 @@ async function executeTx(contractAddress, abi, functionName, args, value) {
160
205
  timeout: 60_000,
161
206
  });
162
207
  console.error(`[TX] Confirmed in block ${receipt.blockNumber} — gas: ${receipt.gasUsed}`);
208
+ // Invalidate relevant caches after successful write
209
+ invalidateCacheForWrite(contractAddress, functionName, args);
163
210
  return {
164
211
  status: "success",
165
212
  txHash: hash,
@@ -243,9 +290,42 @@ function parseViemError(error) {
243
290
  };
244
291
  }
245
292
  // ============================================================
246
- // Read-only calls (no wallet needed)
293
+ // Read-only calls (no wallet needed) - with caching
247
294
  // ============================================================
248
- export async function readContract(contractAddress, abi, functionName, args = []) {
295
+ // Category mapping for cache TTLs
296
+ function getCacheCategory(functionName) {
297
+ if (functionName.startsWith("getAgent") || functionName === "getAgent" || functionName === "findAgents")
298
+ return "agent";
299
+ if (functionName.startsWith("getTask") || functionName === "getTask")
300
+ return "task";
301
+ if (functionName.includes("Count") || functionName.includes("counter"))
302
+ return "taskCount";
303
+ if (functionName.startsWith("getCollective"))
304
+ return "collective";
305
+ if (functionName.includes("Insurance") || functionName.includes("pool"))
306
+ return "insurance";
307
+ if (functionName.startsWith("getBatch"))
308
+ return "batch";
309
+ if (functionName.startsWith("getDispute"))
310
+ return "dispute";
311
+ if (functionName.includes("Stats") || functionName.includes("leaderboard"))
312
+ return "stats";
313
+ if (functionName.includes("Receipt"))
314
+ return "receipt";
315
+ return "default";
316
+ }
317
+ export async function readContract(contractAddress, abi, functionName, args = [], options) {
318
+ // Skip caching for non-deterministic reads
319
+ if (options?.skipCache) {
320
+ return await executeRead(contractAddress, abi, functionName, args);
321
+ }
322
+ // Generate cache key
323
+ const argsHash = JSON.stringify(args).slice(0, 100);
324
+ const cacheKey = `read:${contractAddress}:${functionName}:${argsHash}`;
325
+ const category = getCacheCategory(functionName);
326
+ return rpcCache.getOrFetch(cacheKey, () => executeRead(contractAddress, abi, functionName, args), category);
327
+ }
328
+ async function executeRead(contractAddress, abi, functionName, args) {
249
329
  const publicClient = getPublicClient();
250
330
  try {
251
331
  const result = await publicClient.readContract({
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/handlers/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/handlers/wallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * RPC Response Cache - Reduces blockchain RPC traffic with TTL-based caching
3
+ */
4
+ interface CacheStats {
5
+ hits: number;
6
+ misses: number;
7
+ size: number;
8
+ hitRate: string;
9
+ }
10
+ export declare class RPCCache {
11
+ private cache;
12
+ private stats;
13
+ private defaultTTLs;
14
+ /**
15
+ * Get cached value or fetch and cache
16
+ */
17
+ getOrFetch<T>(key: string, fetcher: () => Promise<T>, category?: string): Promise<T>;
18
+ /**
19
+ * Get from cache (returns null if not found or expired)
20
+ */
21
+ get<T>(key: string): T | null;
22
+ /**
23
+ * Set cache entry
24
+ */
25
+ set<T>(key: string, data: T, ttl?: number): void;
26
+ /**
27
+ * Invalidate specific key(s) by pattern
28
+ */
29
+ invalidate(pattern: string): number;
30
+ /**
31
+ * Invalidate all entries matching a task (for task updates)
32
+ */
33
+ invalidateTask(taskId: number): void;
34
+ /**
35
+ * Invalidate all entries matching an agent (for agent updates)
36
+ */
37
+ invalidateAgent(address: string): void;
38
+ /**
39
+ * Clear all cache
40
+ */
41
+ clear(): void;
42
+ /**
43
+ * Get cache statistics
44
+ */
45
+ getStats(): CacheStats;
46
+ /**
47
+ * Clean expired entries (call periodically)
48
+ */
49
+ cleanup(): number;
50
+ }
51
+ export declare const rpcCache: RPCCache;
52
+ export {};
53
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/lib/cache.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,KAAK,CAA0B;IAGvC,OAAO,CAAC,WAAW,CAiCjB;IAEF;;OAEG;IACG,UAAU,CAAC,CAAC,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,CAAC;IAcb;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAiB7B;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAQhD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAWnC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQpC;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOtC;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,QAAQ,IAAI,UAAU;IAUtB;;OAEG;IACH,OAAO,IAAI,MAAM;CAWlB;AAGD,eAAO,MAAM,QAAQ,UAAiB,CAAC"}