dexe-mcp 0.15.0 → 0.16.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.
@@ -71,12 +71,12 @@ export declare const tierSchema: z.ZodEffects<z.ZodObject<{
71
71
  amount: z.ZodString;
72
72
  }, "strip", z.ZodTypeAny, {
73
73
  type: "TokenLock";
74
- token: string;
75
74
  amount: string;
75
+ token: string;
76
76
  }, {
77
77
  type: "TokenLock";
78
- token: string;
79
78
  amount: string;
79
+ token: string;
80
80
  }>, z.ZodObject<{
81
81
  type: z.ZodLiteral<"NftLock">;
82
82
  nft: z.ZodString;
@@ -133,8 +133,8 @@ export declare const tierSchema: z.ZodEffects<z.ZodObject<{
133
133
  type: "BABT";
134
134
  } | {
135
135
  type: "TokenLock";
136
- token: string;
137
136
  amount: string;
137
+ token: string;
138
138
  } | {
139
139
  type: "NftLock";
140
140
  amount: string;
@@ -177,8 +177,8 @@ export declare const tierSchema: z.ZodEffects<z.ZodObject<{
177
177
  type: "BABT";
178
178
  } | {
179
179
  type: "TokenLock";
180
- token: string;
181
180
  amount: string;
181
+ token: string;
182
182
  } | {
183
183
  type: "NftLock";
184
184
  amount: string;
@@ -217,8 +217,8 @@ export declare const tierSchema: z.ZodEffects<z.ZodObject<{
217
217
  type: "BABT";
218
218
  } | {
219
219
  type: "TokenLock";
220
- token: string;
221
220
  amount: string;
221
+ token: string;
222
222
  } | {
223
223
  type: "NftLock";
224
224
  amount: string;
@@ -261,8 +261,8 @@ export declare const tierSchema: z.ZodEffects<z.ZodObject<{
261
261
  type: "BABT";
262
262
  } | {
263
263
  type: "TokenLock";
264
- token: string;
265
264
  amount: string;
265
+ token: string;
266
266
  } | {
267
267
  type: "NftLock";
268
268
  amount: string;
@@ -1 +1 @@
1
- {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAqDhD,eAAO,MAAM,gBAAgB,0hBAInB,CAAC;AAOX,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAc3E"}
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAyDhD,eAAO,MAAM,gBAAgB,0hBAInB,CAAC;AAOX,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAiB3E"}
@@ -4,6 +4,7 @@ import { RpcProvider } from "../rpc.js";
4
4
  import { multicall } from "../lib/multicall.js";
5
5
  import { safeErrorMessage } from "../lib/redact.js";
6
6
  import { renderUntrusted } from "../lib/sanitize.js";
7
+ import { GET_TIER_VIEWS_FRAGMENT, GET_USER_VIEWS_FRAGMENT } from "./otc.js";
7
8
  const GOV_POOL_ABI = [
8
9
  "function getHelperContracts() view returns (address settings, address userKeeper, address validators, address poolRegistry, address votePower)",
9
10
  "function getExpertStatus(address user) view returns (bool)",
@@ -28,10 +29,13 @@ const ERC721_HOLDER_ABI = [
28
29
  const BABT_ABI = [
29
30
  "function balanceOf(address) view returns (uint256)",
30
31
  ];
32
+ // Authoritative TokenSaleProposal read ABI. `getTierViews` uses the NESTED
33
+ // TierView shape (Bug #25) shared from otc.ts — a private flat copy here used
34
+ // to decode garbage / revert (BAD_DATA) against live tiers.
31
35
  const TOKEN_SALE_READ_ABI = [
32
36
  "function latestTierId() view returns (uint256)",
33
- "function getTierViews(uint256 offset, uint256 limit) view returns (tuple(tuple(string name, string description) metadata, uint256 totalTokenProvided, uint256 saleStartTime, uint256 saleEndTime, address saleTokenAddress, uint256 claimLockDuration, address[] purchaseTokenAddresses, uint256[] exchangeRates, uint256 minAllocationPerUser, uint256 maxAllocationPerUser, tuple(uint256 cliffPeriod, uint256 unlockStep, uint256 vestingDuration, uint256 vestingPercentage) vestingSettings, tuple(uint8 participationType, bytes data)[] participationDetails)[] tiers)",
34
- "function getUserViews(address user, uint256[] tierIds, bytes32[][] proofs) view returns (tuple(bool canParticipate, tuple(bool isClaimed, bool canClaim, uint64 claimUnlockTime, uint256 claimTotalAmount, uint256 boughtTotalAmount, address[] lockedTokenAddresses, uint256[] lockedTokenAmounts, address[] lockedNftAddresses, uint256[][] lockedNftIds, address[] purchaseTokenAddresses, uint256[] purchaseTokenAmounts) purchaseView, tuple(uint64 latestVestingWithdraw, uint64 nextUnlockTime, uint256 nextUnlockAmount, uint256 vestingTotalAmount, uint256 vestingWithdrawnAmount, uint256 amountToWithdraw, uint256 lockedAmount) vestingUserView)[] userViews)",
37
+ GET_TIER_VIEWS_FRAGMENT,
38
+ GET_USER_VIEWS_FRAGMENT,
35
39
  ];
36
40
  const DISTRIBUTION_READ_ABI = [
37
41
  "function isClaimed(uint256 proposalId, address voter) view returns (bool)",
@@ -56,6 +60,9 @@ export function registerReadTools(server, ctx) {
56
60
  const rpc = new RpcProvider(ctx.config);
57
61
  registerMulticall(server, rpc);
58
62
  registerTreasury(server, rpc);
63
+ registerTokenHolders(server, rpc);
64
+ registerDaoStats(server, rpc);
65
+ registerNftsByWallet(server, rpc);
59
66
  registerValidators(server, rpc);
60
67
  registerSettings(server, rpc);
61
68
  registerExpertStatus(server, rpc);
@@ -136,29 +143,141 @@ function registerMulticall(server, rpc) {
136
143
  }
137
144
  });
138
145
  }
146
+ // EVM native-coin sentinel used by the DeXe backend balance API (0xEeee…eEeE).
147
+ const NATIVE_SENTINEL = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
148
+ /**
149
+ * Fetch ALL token balances for an address from the DeXe backend
150
+ * (`api-proxy-cache/<chain>/wallet-balances/<addr>`) — the exact endpoint the
151
+ * app.dexe.io treasury view uses. Auto-discovers every token (no need to pass
152
+ * addresses) and returns Moralis USD prices. Follows `next_page_token`.
153
+ */
154
+ async function fetchBackendBalances(base, chainId, holder) {
155
+ const out = [];
156
+ const seen = new Set();
157
+ let pageToken = "";
158
+ for (let page = 0; page < 20; page++) {
159
+ const url = new URL(`${base}/integrations/api-proxy-cache/${chainId}/wallet-balances/${holder}`);
160
+ url.searchParams.set("page_size", "100");
161
+ if (pageToken)
162
+ url.searchParams.set("page_token", pageToken);
163
+ const ctrl = new AbortController();
164
+ const timer = setTimeout(() => ctrl.abort(), 8000);
165
+ let json;
166
+ try {
167
+ const res = await fetch(url, { signal: ctrl.signal, headers: { accept: "application/json" } });
168
+ if (!res.ok)
169
+ throw new Error(`backend HTTP ${res.status}`);
170
+ json = (await res.json());
171
+ }
172
+ finally {
173
+ clearTimeout(timer);
174
+ }
175
+ for (const row of json.balances ?? [])
176
+ out.push(row);
177
+ pageToken = json.next_page_token ?? "";
178
+ if (!pageToken || seen.has(pageToken))
179
+ break;
180
+ seen.add(pageToken);
181
+ }
182
+ return out;
183
+ }
139
184
  function registerTreasury(server, rpc) {
140
185
  server.registerTool("dexe_read_treasury", {
141
- title: "Native + ERC20 balances for a DAO or arbitrary address",
142
- description: "Reads native coin balance + one-or-more ERC20 balances (symbol, decimals, balance) in a single multicall. Pass the GovPool address to query DAO treasury.",
186
+ title: "Native + ERC20 balances (with USD) for a DAO or arbitrary address",
187
+ description: "Treasury / wallet balances for any address. By default auto-discovers EVERY token via the DeXe backend (same source as app.dexe.io) and returns USD prices + a total. Falls back to on-chain RPC multicall on testnet (chain 97), when the backend is unset/unreachable, or when explicit `tokens` are passed. Pass a GovPool address to read a DAO treasury.",
143
188
  inputSchema: {
144
189
  holder: z.string().describe("Address whose balances we read"),
145
- tokens: z.array(z.string()).default([]).describe("ERC20 contract addresses"),
190
+ tokens: z
191
+ .array(z.string())
192
+ .default([])
193
+ .describe("Optional explicit ERC20 addresses; forces on-chain RPC read of just these"),
194
+ chainId: z
195
+ .number()
196
+ .int()
197
+ .positive()
198
+ .optional()
199
+ .describe("Chain to query (defaults to the configured default chain)"),
146
200
  },
147
201
  outputSchema: {
148
202
  holder: z.string(),
203
+ chainId: z.number(),
204
+ source: z.enum(["backend", "rpc"]),
149
205
  native: z.string(),
206
+ totalUsd: z.number().nullable(),
150
207
  tokens: z.array(z.object({
151
208
  token: z.string(),
152
209
  symbol: z.string().nullable(),
210
+ name: z.string().nullable(),
153
211
  decimals: z.number().nullable(),
154
212
  balance: z.string().nullable(),
213
+ usdPrice: z.number().nullable(),
214
+ usdValue: z.number().nullable(),
155
215
  })),
156
216
  },
157
- }, async ({ holder, tokens = [] }) => {
217
+ }, async ({ holder, tokens = [], chainId: chainIdArg }) => {
158
218
  if (!isAddress(holder))
159
219
  return errorResult(`Invalid holder: ${holder}`);
220
+ const chainId = rpc.resolveChainId(chainIdArg);
221
+ const backendBase = process.env.DEXE_BACKEND_API_URL?.trim()?.replace(/\/+$/, "");
222
+ // Backend covers only chains it caches (mainnets). Testnet 97 and explicit
223
+ // token reads must go on-chain.
224
+ const useBackend = !!backendBase && chainId !== 97 && tokens.length === 0;
225
+ if (useBackend) {
226
+ try {
227
+ const rows = await fetchBackendBalances(backendBase, chainId, holder);
228
+ const tokensOut = rows.map((b) => {
229
+ const decimals = b.decimals != null && b.decimals !== "" ? Number(b.decimals) : null;
230
+ const balance = b.balance ?? null;
231
+ const usdPrice = b.usd_price != null && b.usd_price !== "" ? Number(b.usd_price) : null;
232
+ let usdValue = null;
233
+ if (balance != null && decimals != null && usdPrice != null) {
234
+ usdValue = (Number(balance) / 10 ** decimals) * usdPrice;
235
+ }
236
+ return {
237
+ token: (b.token_address ?? "").toLowerCase(),
238
+ symbol: b.symbol ?? null,
239
+ name: b.name ?? null,
240
+ decimals,
241
+ balance,
242
+ usdPrice,
243
+ usdValue,
244
+ };
245
+ });
246
+ const nativeRow = tokensOut.find((t) => t.token === NATIVE_SENTINEL);
247
+ const native = nativeRow?.balance ?? "0";
248
+ const priced = tokensOut.filter((t) => t.usdValue != null);
249
+ const totalUsd = priced.length
250
+ ? priced.reduce((s, t) => s + (t.usdValue ?? 0), 0)
251
+ : null;
252
+ const structured = { holder, chainId, source: "backend", native, totalUsd, tokens: tokensOut };
253
+ const top = [...tokensOut]
254
+ .sort((a, b) => (b.usdValue ?? 0) - (a.usdValue ?? 0))
255
+ .slice(0, 15);
256
+ const text = `Treasury for ${holder} (chain ${chainId}, source: backend)\n` +
257
+ ` tokens: ${tokensOut.length}` +
258
+ (totalUsd != null ? ` total: $${totalUsd.toLocaleString("en-US", { maximumFractionDigits: 2 })}` : "") +
259
+ `\n` +
260
+ top
261
+ .map((t) => {
262
+ const amt = t.balance != null && t.decimals != null
263
+ ? (Number(t.balance) / 10 ** t.decimals).toLocaleString("en-US", { maximumFractionDigits: 4 })
264
+ : (t.balance ?? "?");
265
+ const usd = t.usdValue != null ? ` = $${t.usdValue.toLocaleString("en-US", { maximumFractionDigits: 2 })}` : "";
266
+ return ` ${(t.symbol != null ? renderUntrusted(t.symbol) : "?").padEnd(10)} ${amt}${usd}`;
267
+ })
268
+ .join("\n") +
269
+ (tokensOut.length > top.length ? `\n … +${tokensOut.length - top.length} more` : "");
270
+ return { content: [{ type: "text", text }], structuredContent: structured };
271
+ }
272
+ catch (err) {
273
+ // Fall through to the on-chain path; report why the backend was skipped.
274
+ return errorResult(`read_treasury backend fetch failed (${safeErrorMessage(err)}). ` +
275
+ `Retry with explicit \`tokens\` for an on-chain read, or check DEXE_BACKEND_API_URL.`);
276
+ }
277
+ }
278
+ // On-chain path: testnet, explicit tokens, or no backend configured.
160
279
  try {
161
- const pr = rpc.tryProvider();
280
+ const pr = rpc.tryProvider(chainId);
162
281
  if ("error" in pr)
163
282
  return errorResult(`${pr.error}\n${pr.remediation}`);
164
283
  const provider = pr.ok;
@@ -177,10 +296,13 @@ function registerTreasury(server, rpc) {
177
296
  token: t,
178
297
  balance: res[i * 3]?.success ? res[i * 3].value.toString() : null,
179
298
  symbol: res[i * 3 + 1]?.success ? res[i * 3 + 1].value : null,
299
+ name: null,
180
300
  decimals: res[i * 3 + 2]?.success ? Number(res[i * 3 + 2].value) : null,
301
+ usdPrice: null,
302
+ usdValue: null,
181
303
  }));
182
- const structured = { holder, native, tokens: tokensOut };
183
- const text = `Treasury for ${holder}\n native: ${native}\n` +
304
+ const structured = { holder, chainId, source: "rpc", native, totalUsd: null, tokens: tokensOut };
305
+ const text = `Treasury for ${holder} (chain ${chainId}, source: rpc)\n native: ${native}\n` +
184
306
  tokensOut
185
307
  .map((t) => ` ${t.symbol != null ? renderUntrusted(t.symbol) : "?"} (${t.token}): ${t.balance ?? "?"}${t.decimals != null ? ` (decimals=${t.decimals})` : ""}`)
186
308
  .join("\n");
@@ -191,6 +313,166 @@ function registerTreasury(server, rpc) {
191
313
  }
192
314
  });
193
315
  }
316
+ /**
317
+ * Generic GET against the DeXe backend (`DEXE_BACKEND_API_URL`, e.g.
318
+ * https://api.dexe.io). Same host the app.dexe.io UI uses. Throws a
319
+ * paste-ready message when the env var is unset so the tool can surface it.
320
+ */
321
+ async function backendGetJson(path, timeoutMs = 8000) {
322
+ const base = process.env.DEXE_BACKEND_API_URL?.trim()?.replace(/\/+$/, "");
323
+ if (!base) {
324
+ throw new Error("DEXE_BACKEND_API_URL is not set — backend reads unavailable. Add it to .env (e.g. https://api.dexe.io) and restart.");
325
+ }
326
+ const ctrl = new AbortController();
327
+ const timer = setTimeout(() => ctrl.abort(), timeoutMs);
328
+ try {
329
+ const res = await fetch(`${base}${path}`, {
330
+ signal: ctrl.signal,
331
+ headers: { accept: "application/json" },
332
+ });
333
+ if (!res.ok)
334
+ throw new Error(`backend HTTP ${res.status} for ${path}`);
335
+ return (await res.json());
336
+ }
337
+ finally {
338
+ clearTimeout(timer);
339
+ }
340
+ }
341
+ function registerTokenHolders(server, rpc) {
342
+ server.registerTool("dexe_read_token_holders", {
343
+ title: "Top holders of an ERC20 token (with balances)",
344
+ description: "Lists holders + raw balances for any ERC20 via the DeXe backend (same source as app.dexe.io holder lists). Sorted by balance desc. Backend-only — mainnets, not testnet 97.",
345
+ inputSchema: {
346
+ token: z.string().describe("ERC20 token contract address"),
347
+ chainId: z.number().int().positive().optional().describe("Chain (default: configured default)"),
348
+ pageSize: z.number().int().positive().max(1000).default(100).describe("Max holders to return"),
349
+ },
350
+ outputSchema: {
351
+ token: z.string(),
352
+ chainId: z.number(),
353
+ count: z.number(),
354
+ nextPageToken: z.string(),
355
+ holders: z.array(z.object({ holder: z.string(), balance: z.string() })),
356
+ },
357
+ }, async ({ token, chainId: chainIdArg, pageSize = 100 }) => {
358
+ if (!isAddress(token))
359
+ return errorResult(`Invalid token: ${token}`);
360
+ const chainId = rpc.resolveChainId(chainIdArg);
361
+ try {
362
+ const json = await backendGetJson(`/integrations/api-proxy-cache/${chainId}/token-holders-balances/${token}?page_size=${pageSize}`);
363
+ const holders = Object.entries(json.holders_balances ?? {})
364
+ .map(([holder, balance]) => ({ holder, balance }))
365
+ .sort((a, b) => (BigInt(b.balance) > BigInt(a.balance) ? 1 : -1));
366
+ const structured = {
367
+ token,
368
+ chainId,
369
+ count: holders.length,
370
+ nextPageToken: json.next_page_token ?? "",
371
+ holders,
372
+ };
373
+ const text = `Holders of ${token} (chain ${chainId}): ${holders.length}\n` +
374
+ holders
375
+ .slice(0, 20)
376
+ .map((h, i) => ` ${String(i + 1).padStart(2)}. ${h.holder} ${h.balance}`)
377
+ .join("\n") +
378
+ (holders.length > 20 ? `\n … +${holders.length - 20} more` : "");
379
+ return { content: [{ type: "text", text }], structuredContent: structured };
380
+ }
381
+ catch (err) {
382
+ return errorResult(`read_token_holders failed: ${safeErrorMessage(err)}`);
383
+ }
384
+ });
385
+ }
386
+ function registerDaoStats(server, rpc) {
387
+ server.registerTool("dexe_read_dao_stats", {
388
+ title: "DAO TVL + activity stats time series",
389
+ description: "Time series of DAO stats (tvl_usd, member counts, proposal counts, delegations) from the DeXe tracker — the app.dexe.io profile chart source. `period` is a human duration like '24 hours', '7 days', '1 months'. Backend-only — mainnets.",
390
+ inputSchema: {
391
+ govPool: z.string().describe("GovPool / DAO address"),
392
+ chainId: z.number().int().positive().optional().describe("Chain (default: configured default)"),
393
+ period: z.string().default("7 days").describe("Duration window, e.g. '24 hours', '7 days', '1 months'"),
394
+ },
395
+ outputSchema: {
396
+ govPool: z.string(),
397
+ chainId: z.number(),
398
+ period: z.string(),
399
+ points: z.number(),
400
+ data: z.array(z.record(z.unknown())),
401
+ },
402
+ }, async ({ govPool, chainId: chainIdArg, period = "7 days" }) => {
403
+ if (!isAddress(govPool))
404
+ return errorResult(`Invalid govPool: ${govPool}`);
405
+ const chainId = rpc.resolveChainId(chainIdArg);
406
+ try {
407
+ const json = await backendGetJson(`/integrations/tracker/${chainId}/pools/gov/${govPool}/stats/${encodeURIComponent(period)}`);
408
+ const rows = (json.data ?? []).map((d) => d.attributes ?? {});
409
+ const structured = { govPool, chainId, period, points: rows.length, data: rows };
410
+ const latest = rows[rows.length - 1];
411
+ const text = `DAO stats ${govPool} (chain ${chainId}, period '${period}'): ${rows.length} point(s)\n` +
412
+ (latest
413
+ ? ` latest → tvl_usd: ${latest.tvl_usd ?? "?"}, active_members: ${latest.active_members_count ?? "?"}, ` +
414
+ `external_proposals: ${latest.external_proposals_count ?? "?"}`
415
+ : " (no data — DAO may have no tracked activity in this window)");
416
+ return { content: [{ type: "text", text }], structuredContent: structured };
417
+ }
418
+ catch (err) {
419
+ return errorResult(`read_dao_stats failed: ${safeErrorMessage(err)}`);
420
+ }
421
+ });
422
+ }
423
+ function registerNftsByWallet(server, rpc) {
424
+ server.registerTool("dexe_read_nfts", {
425
+ title: "NFTs held by an address",
426
+ description: "Lists NFTs owned by any address via the DeXe backend (Moralis-backed, same source as app.dexe.io). Backend-only — mainnets, not testnet 97.",
427
+ inputSchema: {
428
+ holder: z.string().describe("Address whose NFTs we read"),
429
+ chainId: z.number().int().positive().optional().describe("Chain (default: configured default)"),
430
+ tokens: z.array(z.string()).default([]).describe("Optional NFT contract addresses to filter by"),
431
+ pageSize: z.number().int().positive().max(1000).default(100).describe("Max NFTs to return"),
432
+ },
433
+ outputSchema: {
434
+ holder: z.string(),
435
+ chainId: z.number(),
436
+ count: z.number(),
437
+ nextPageToken: z.string(),
438
+ nfts: z.array(z.record(z.unknown())),
439
+ },
440
+ }, async ({ holder, chainId: chainIdArg, tokens = [], pageSize = 100 }) => {
441
+ if (!isAddress(holder))
442
+ return errorResult(`Invalid holder: ${holder}`);
443
+ for (const t of tokens)
444
+ if (!isAddress(t))
445
+ return errorResult(`Invalid token: ${t}`);
446
+ const chainId = rpc.resolveChainId(chainIdArg);
447
+ try {
448
+ const qs = new URLSearchParams({ format: "decimal", page_size: String(pageSize) });
449
+ if (tokens.length)
450
+ qs.set("token_addresses", tokens.join(","));
451
+ const json = await backendGetJson(`/integrations/api-proxy-cache/${chainId}/nfts-by-wallet/${holder}?${qs.toString()}`);
452
+ const nfts = json.nft_data ?? [];
453
+ const structured = {
454
+ holder,
455
+ chainId,
456
+ count: nfts.length,
457
+ nextPageToken: json.next_page_token ?? "",
458
+ nfts,
459
+ };
460
+ const text = `NFTs for ${holder} (chain ${chainId}): ${nfts.length}\n` +
461
+ nfts
462
+ .slice(0, 20)
463
+ .map((n) => {
464
+ const name = (n.name ?? n.symbol ?? "?");
465
+ return ` ${renderUntrusted(String(name))} #${n.token_id ?? "?"} (${n.token_address ?? "?"})`;
466
+ })
467
+ .join("\n") +
468
+ (nfts.length > 20 ? `\n … +${nfts.length - 20} more` : "");
469
+ return { content: [{ type: "text", text }], structuredContent: structured };
470
+ }
471
+ catch (err) {
472
+ return errorResult(`read_nfts failed: ${safeErrorMessage(err)}`);
473
+ }
474
+ });
475
+ }
194
476
  function registerValidators(server, rpc) {
195
477
  server.registerTool("dexe_read_validators", {
196
478
  title: "Validator count + isValidator lookup",
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"txSend.d.ts","sourceRoot":"","sources":["../../src/tools/txSend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAG7D;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAGzG;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,aAAa,EACrB,EAAE,EAAE,oBAAoB,GACvB,IAAI,CAwTN"}
1
+ {"version":3,"file":"txSend.d.ts","sourceRoot":"","sources":["../../src/tools/txSend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAI7D;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAGzG;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,aAAa,EACrB,EAAE,EAAE,oBAAoB,GACvB,IAAI,CAyTN"}
@@ -2,6 +2,7 @@ import { z } from "zod";
2
2
  import { JsonRpcProvider } from "ethers";
3
3
  import { resolveChain } from "../config.js";
4
4
  import { runBroadcastGuards, BroadcastGuardError } from "../lib/broadcastGuards.js";
5
+ import { ENABLE_WRITES_HINT } from "./flow.js";
5
6
  /**
6
7
  * Classify a transaction whose receipt is absent: a tx that exists on-chain but
7
8
  * isn't mined yet is "pending"; a hash the node has never seen is "not_found"
@@ -133,6 +134,7 @@ export function registerTxTools(server, config, signer, wc) {
133
134
  status: "rejected",
134
135
  reason: sg.error,
135
136
  remediation: sg.remediation,
137
+ enableWrites: ENABLE_WRITES_HINT,
136
138
  chainId: chain.chainId,
137
139
  }, null, 2),
138
140
  },
@@ -1 +1 @@
1
- {"version":3,"file":"txSend.js","sourceRoot":"","sources":["../../src/tools/txSend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"txSend.js","sourceRoot":"","sources":["../../src/tools/txSend.ts"],"names":[],"mappings":"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"}