dero-mcp-server 0.2.2 → 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.
- package/POSITIONING.md +94 -0
- package/README.md +125 -24
- package/SKILL.md +264 -0
- package/data/docs-index.json +264 -260
- package/dist/bn254.d.ts +74 -0
- package/dist/bn254.d.ts.map +1 -0
- package/dist/bn254.js +205 -0
- package/dist/bn254.js.map +1 -0
- package/dist/citations.d.ts +70 -0
- package/dist/citations.d.ts.map +1 -1
- package/dist/citations.js +161 -1
- package/dist/citations.js.map +1 -1
- package/dist/composites/_shared.d.ts +1 -1
- package/dist/composites/_shared.js +1 -1
- package/dist/composites/audit-chain-artifact-claim.d.ts +128 -0
- package/dist/composites/audit-chain-artifact-claim.d.ts.map +1 -0
- package/dist/composites/audit-chain-artifact-claim.js +305 -0
- package/dist/composites/audit-chain-artifact-claim.js.map +1 -0
- package/dist/composites/diagnose-chain-health.d.ts +1 -1
- package/dist/composites/diagnose-chain-health.js +1 -1
- package/dist/composites/estimate-deploy-cost.d.ts +1 -1
- package/dist/composites/estimate-deploy-cost.js +1 -1
- package/dist/composites/explain-smart-contract.d.ts +1 -1
- package/dist/composites/explain-smart-contract.js +1 -1
- package/dist/composites/forge-demo-proof.d.ts +81 -0
- package/dist/composites/forge-demo-proof.d.ts.map +1 -0
- package/dist/composites/forge-demo-proof.js +204 -0
- package/dist/composites/forge-demo-proof.js.map +1 -0
- package/dist/composites/recommend-docs-path.d.ts +1 -1
- package/dist/composites/recommend-docs-path.js +1 -1
- package/dist/composites/trace-transaction-with-context.d.ts +1 -1
- package/dist/composites/trace-transaction-with-context.js +1 -1
- package/dist/daemon-base.d.ts +28 -0
- package/dist/daemon-base.d.ts.map +1 -0
- package/dist/daemon-base.js +62 -0
- package/dist/daemon-base.js.map +1 -0
- package/dist/dero-curve.d.ts +79 -0
- package/dist/dero-curve.d.ts.map +1 -0
- package/dist/dero-curve.js +79 -0
- package/dist/dero-curve.js.map +1 -0
- package/dist/docs-parse.d.ts.map +1 -1
- package/dist/docs-parse.js +18 -2
- package/dist/docs-parse.js.map +1 -1
- package/dist/http-server.d.ts +37 -0
- package/dist/http-server.d.ts.map +1 -0
- package/dist/http-server.js +132 -0
- package/dist/http-server.js.map +1 -0
- package/dist/index.js +18 -11
- package/dist/index.js.map +1 -1
- package/dist/proof-decode.d.ts +125 -0
- package/dist/proof-decode.d.ts.map +1 -0
- package/dist/proof-decode.js +619 -0
- package/dist/proof-decode.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +89 -11
- package/dist/server.js.map +1 -1
- package/dist/tool-descriptions.d.ts +3 -0
- package/dist/tool-descriptions.d.ts.map +1 -1
- package/dist/tool-descriptions.js +39 -0
- package/dist/tool-descriptions.js.map +1 -1
- package/dist/tx-parse.d.ts +63 -0
- package/dist/tx-parse.d.ts.map +1 -0
- package/dist/tx-parse.js +183 -0
- package/dist/tx-parse.js.map +1 -0
- package/package.json +23 -2
package/dist/server.js
CHANGED
|
@@ -3,7 +3,10 @@ import { z } from 'zod';
|
|
|
3
3
|
import { deroJsonRpc, jsonRpcEndpoint } from './rpc.js';
|
|
4
4
|
import { DERO_DOC_PRODUCTS, getDeroDocPage, listDeroDocs, searchDeroDocs, } from './docs.js';
|
|
5
5
|
import { DERO_TOOL_NAMES, TOOL_DESCRIPTIONS } from './tool-descriptions.js';
|
|
6
|
-
import { relatedDocsFor } from './citations.js';
|
|
6
|
+
import { enrichWithFlaggedArtifacts, relatedDocsFor } from './citations.js';
|
|
7
|
+
import { decodeDeroBech32, interpretValueTransfer } from './proof-decode.js';
|
|
8
|
+
import { auditChainArtifactClaim, auditChainArtifactClaimInputSchema, } from './composites/audit-chain-artifact-claim.js';
|
|
9
|
+
import { forgeDemoProof, forgeDemoProofInputSchema, } from './composites/forge-demo-proof.js';
|
|
7
10
|
import { diagnoseChainHealth, diagnoseChainHealthInputSchema, } from './composites/diagnose-chain-health.js';
|
|
8
11
|
import { explainSmartContract, explainSmartContractInputSchema, } from './composites/explain-smart-contract.js';
|
|
9
12
|
import { recommendDocsPath, recommendDocsPathInputSchema, } from './composites/recommend-docs-path.js';
|
|
@@ -47,6 +50,16 @@ function toolText(data) {
|
|
|
47
50
|
}
|
|
48
51
|
function classifyToolError(error) {
|
|
49
52
|
const message = error instanceof Error ? error.message : String(error);
|
|
53
|
+
// Generic `INVALID_INPUT: <reason>` prefix used by composites that validate
|
|
54
|
+
// their own argument shape (audit_chain_artifact_claim, dero_forge_demo_proof).
|
|
55
|
+
// The composite's own `<reason>` is preserved verbatim in `_meta.error.raw`.
|
|
56
|
+
if (message.startsWith('INVALID_INPUT:')) {
|
|
57
|
+
return {
|
|
58
|
+
code: 'INVALID_INPUT',
|
|
59
|
+
hint: message.slice('INVALID_INPUT:'.length).trim() || 'Re-check the tool input shape against the tool description.',
|
|
60
|
+
retryable: false,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
50
63
|
if (message.includes('Provide either hash or height')) {
|
|
51
64
|
return {
|
|
52
65
|
code: 'INVALID_INPUT',
|
|
@@ -54,6 +67,13 @@ function classifyToolError(error) {
|
|
|
54
67
|
retryable: false,
|
|
55
68
|
};
|
|
56
69
|
}
|
|
70
|
+
if (message.startsWith('INVALID_BECH32:')) {
|
|
71
|
+
return {
|
|
72
|
+
code: 'INVALID_BECH32',
|
|
73
|
+
hint: 'Confirm the string starts with one of dero/deto/deroi/detoi/deroproof, includes the "1" separator, and is uniformly cased (BIP-0173 forbids mixed case). See integrity/payload-vs-transaction-proofs for proof anatomy.',
|
|
74
|
+
retryable: false,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
57
77
|
if (message.includes('DERO docs unavailable') ||
|
|
58
78
|
message.includes('bundled docs index is missing')) {
|
|
59
79
|
return {
|
|
@@ -210,7 +230,7 @@ export function createDeroMcpServer(daemonBaseUrl) {
|
|
|
210
230
|
const rpc = async (method, params) => deroJsonRpc(endpoint, method, params);
|
|
211
231
|
const server = new McpServer({
|
|
212
232
|
name: 'dero-daemon-mcp',
|
|
213
|
-
version: '0.
|
|
233
|
+
version: '0.4.0',
|
|
214
234
|
});
|
|
215
235
|
server.registerTool('dero_daemon_ping', readOnly({
|
|
216
236
|
description: TOOL_DESCRIPTIONS.dero_daemon_ping,
|
|
@@ -259,7 +279,9 @@ export function createDeroMcpServer(daemonBaseUrl) {
|
|
|
259
279
|
params.hash = args.hash;
|
|
260
280
|
if (args.height !== undefined)
|
|
261
281
|
params.height = args.height;
|
|
262
|
-
|
|
282
|
+
const result = (await rpc('DERO.GetBlock', params)) ?? {};
|
|
283
|
+
const enrichment = enrichWithFlaggedArtifacts({ block_hash: args.hash }, relatedDocsFor('dero_get_block'));
|
|
284
|
+
return { ...result, ...(enrichment ?? {}) };
|
|
263
285
|
}));
|
|
264
286
|
server.registerTool('dero_get_block_header_by_topo_height', readOnly({
|
|
265
287
|
description: TOOL_DESCRIPTIONS.dero_get_block_header_by_topo_height,
|
|
@@ -270,13 +292,21 @@ export function createDeroMcpServer(daemonBaseUrl) {
|
|
|
270
292
|
.nonnegative()
|
|
271
293
|
.describe('Topological height'),
|
|
272
294
|
},
|
|
273
|
-
}), withStructuredErrors('dero_get_block_header_by_topo_height', async ({ topoheight }) =>
|
|
295
|
+
}), withStructuredErrors('dero_get_block_header_by_topo_height', async ({ topoheight }) => {
|
|
296
|
+
const result = (await rpc('DERO.GetBlockHeaderByTopoHeight', { topoheight })) ?? {};
|
|
297
|
+
const enrichment = enrichWithFlaggedArtifacts({ topoheight }, relatedDocsFor('dero_get_block_header_by_topo_height'));
|
|
298
|
+
return { ...result, ...(enrichment ?? {}) };
|
|
299
|
+
}));
|
|
274
300
|
server.registerTool('dero_get_block_header_by_hash', readOnly({
|
|
275
301
|
description: TOOL_DESCRIPTIONS.dero_get_block_header_by_hash,
|
|
276
302
|
inputSchema: {
|
|
277
303
|
hash: hex64Schema.describe('Block top hash (hex)'),
|
|
278
304
|
},
|
|
279
|
-
}), withStructuredErrors('dero_get_block_header_by_hash', async ({ hash }) =>
|
|
305
|
+
}), withStructuredErrors('dero_get_block_header_by_hash', async ({ hash }) => {
|
|
306
|
+
const result = (await rpc('DERO.GetBlockHeaderByHash', { hash })) ?? {};
|
|
307
|
+
const enrichment = enrichWithFlaggedArtifacts({ block_hash: hash }, relatedDocsFor('dero_get_block_header_by_hash'));
|
|
308
|
+
return { ...result, ...(enrichment ?? {}) };
|
|
309
|
+
}));
|
|
280
310
|
server.registerTool('dero_get_tx_pool', readOnly({
|
|
281
311
|
description: TOOL_DESCRIPTIONS.dero_get_tx_pool,
|
|
282
312
|
}), withStructuredErrors('dero_get_tx_pool', async () => rpc('DERO.GetTxPool')));
|
|
@@ -305,7 +335,9 @@ export function createDeroMcpServer(daemonBaseUrl) {
|
|
|
305
335
|
const params = { txs_hashes };
|
|
306
336
|
if (decode_as_json !== undefined)
|
|
307
337
|
params.decode_as_json = decode_as_json;
|
|
308
|
-
|
|
338
|
+
const result = (await rpc('DERO.GetTransaction', params)) ?? {};
|
|
339
|
+
const enrichment = enrichWithFlaggedArtifacts({ tx_hashes: txs_hashes }, relatedDocsFor('dero_get_transaction'));
|
|
340
|
+
return { ...result, ...(enrichment ?? {}) };
|
|
309
341
|
}));
|
|
310
342
|
server.registerTool('dero_get_encrypted_balance', readOnly({
|
|
311
343
|
description: TOOL_DESCRIPTIONS.dero_get_encrypted_balance,
|
|
@@ -412,6 +444,46 @@ export function createDeroMcpServer(daemonBaseUrl) {
|
|
|
412
444
|
params.miner = miner;
|
|
413
445
|
return rpc('DERO.GetBlockTemplate', params);
|
|
414
446
|
}));
|
|
447
|
+
server.registerTool('dero_decode_proof_string', readOnly({
|
|
448
|
+
description: TOOL_DESCRIPTIONS.dero_decode_proof_string,
|
|
449
|
+
inputSchema: {
|
|
450
|
+
proof_string: z
|
|
451
|
+
.string()
|
|
452
|
+
.min(8)
|
|
453
|
+
.describe('Full bech32 string with HRP, e.g. "deroproof1qyy…" or "dero1abc…". Whitespace is trimmed.'),
|
|
454
|
+
},
|
|
455
|
+
}), withStructuredErrors('dero_decode_proof_string', async ({ proof_string }) => {
|
|
456
|
+
let decoded;
|
|
457
|
+
try {
|
|
458
|
+
decoded = decodeDeroBech32(proof_string);
|
|
459
|
+
}
|
|
460
|
+
catch (error) {
|
|
461
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
462
|
+
throw new Error(`INVALID_BECH32: ${message}`);
|
|
463
|
+
}
|
|
464
|
+
const decodedJson = {
|
|
465
|
+
hrp: decoded.hrp,
|
|
466
|
+
mainnet: decoded.mainnet,
|
|
467
|
+
is_proof: decoded.is_proof,
|
|
468
|
+
public_key_hex: decoded.public_key_hex,
|
|
469
|
+
arguments: decoded.arguments,
|
|
470
|
+
};
|
|
471
|
+
const value_interpretation = decoded.value_transfer_uint64 !== undefined
|
|
472
|
+
? interpretValueTransfer(decoded.value_transfer_uint64)
|
|
473
|
+
: undefined;
|
|
474
|
+
// Try flagged-artifact enrichment first; fall back to the generic
|
|
475
|
+
// per-tool related_docs when the input is not a known adversarial string.
|
|
476
|
+
const enrichment = enrichWithFlaggedArtifacts({ proof_string }, relatedDocsFor('dero_decode_proof_string'));
|
|
477
|
+
const baseline = enrichment
|
|
478
|
+
? enrichment
|
|
479
|
+
: { related_docs: relatedDocsFor('dero_decode_proof_string') ?? [] };
|
|
480
|
+
return {
|
|
481
|
+
decoded: decodedJson,
|
|
482
|
+
...(value_interpretation ? { value_interpretation } : {}),
|
|
483
|
+
...(baseline.related_docs?.length ? { related_docs: baseline.related_docs } : {}),
|
|
484
|
+
...(enrichment ? { context_note: enrichment.context_note } : {}),
|
|
485
|
+
};
|
|
486
|
+
}));
|
|
415
487
|
server.registerTool('dero_docs_search', readOnly({
|
|
416
488
|
description: TOOL_DESCRIPTIONS.dero_docs_search,
|
|
417
489
|
inputSchema: {
|
|
@@ -472,9 +544,8 @@ export function createDeroMcpServer(daemonBaseUrl) {
|
|
|
472
544
|
}));
|
|
473
545
|
// ---------- Composite tools (Phase C) ----------
|
|
474
546
|
// Composites chain read-only primitives and bundled docs into
|
|
475
|
-
// intent-shaped responses. Each composite has a design
|
|
476
|
-
//
|
|
477
|
-
// response shape, failure modes, and flow test ID.
|
|
547
|
+
// intent-shaped responses. Each composite has a maintainer design contract
|
|
548
|
+
// (input schema, internal chain, response shape, failure modes, flow test ID).
|
|
478
549
|
server.registerTool('diagnose_chain_health', readOnly({
|
|
479
550
|
description: TOOL_DESCRIPTIONS.diagnose_chain_health,
|
|
480
551
|
inputSchema: diagnoseChainHealthInputSchema,
|
|
@@ -495,6 +566,14 @@ export function createDeroMcpServer(daemonBaseUrl) {
|
|
|
495
566
|
description: TOOL_DESCRIPTIONS.trace_transaction_with_context,
|
|
496
567
|
inputSchema: traceTransactionWithContextInputSchema,
|
|
497
568
|
}), withStructuredErrors('trace_transaction_with_context', async (args) => traceTransactionWithContext(rpc, args)));
|
|
569
|
+
server.registerTool('audit_chain_artifact_claim', readOnly({
|
|
570
|
+
description: TOOL_DESCRIPTIONS.audit_chain_artifact_claim,
|
|
571
|
+
inputSchema: auditChainArtifactClaimInputSchema,
|
|
572
|
+
}), withStructuredErrors('audit_chain_artifact_claim', async (args) => auditChainArtifactClaim(rpc, args ?? {})));
|
|
573
|
+
server.registerTool('dero_forge_demo_proof', readOnly({
|
|
574
|
+
description: TOOL_DESCRIPTIONS.dero_forge_demo_proof,
|
|
575
|
+
inputSchema: forgeDemoProofInputSchema,
|
|
576
|
+
}), withStructuredErrors('dero_forge_demo_proof', async (args) => forgeDemoProof(rpc, args ?? {})));
|
|
498
577
|
server.registerResource('dero_mcp_server_info', 'dero://mcp/server-info', {
|
|
499
578
|
description: 'Server metadata, tool list, resource list, and prompt names.',
|
|
500
579
|
mimeType: 'application/json',
|
|
@@ -505,7 +584,7 @@ export function createDeroMcpServer(daemonBaseUrl) {
|
|
|
505
584
|
mimeType: 'application/json',
|
|
506
585
|
text: JSON.stringify({
|
|
507
586
|
name: 'dero-daemon-mcp',
|
|
508
|
-
version: '0.
|
|
587
|
+
version: '0.4.0',
|
|
509
588
|
mode: 'read-only',
|
|
510
589
|
endpoint: endpoint,
|
|
511
590
|
docs_products: DERO_DOC_PRODUCTS,
|
|
@@ -639,7 +718,6 @@ export function createDeroMcpServer(daemonBaseUrl) {
|
|
|
639
718
|
error_codes: ['TX_NOT_FOUND (retryable=true; daemon returns empty record on unknown hashes)', 'RPC_UNREACHABLE'],
|
|
640
719
|
},
|
|
641
720
|
],
|
|
642
|
-
design_contract_doc: 'docs/composites.md in the dero-mcp-server repo',
|
|
643
721
|
}, null, 2),
|
|
644
722
|
},
|
|
645
723
|
],
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,9 @@ export declare const TOOL_DESCRIPTIONS: {
|
|
|
44
44
|
readonly recommend_docs_path: "Composite: take a natural-language intent, fan out parallel scoped searches across the bundled docs for all four DERO products (derod, tela, hologram, deropay), boost any product_hint matches by 1.5×, and return a ranked recommendation list with per-result rationale plus ready-to-cite related_docs.\n\nWhen to call: at the START of any \"where do I read about X?\" or \"which docs cover Y?\" investigation, BEFORE calling dero_docs_search directly. PREFER this over guessing the right product: this composite already runs all four products in parallel, dedupes overlap, surfaces the top heading per result as rationale, and gives you the top-2 citations pre-built. Pass product_hint when the user has already said e.g. \"TELA\" or \"DeroPay\" so that product's matches float to the top.\n\nInput Requirements:\n- `intent` is REQUIRED. Free-text description of what the user is trying to do (min 8 chars). Drop verbs and use product nouns like \"deploy a TELA app\" or \"verify a DeroPay webhook signature\" for best results.\n- `product_hint` is OPTIONAL. One of `derod | tela | hologram | deropay`. Multiplies hint-product scores by 1.5×.\n- `limit_per_product` is OPTIONAL (default 2, max 5). Cap per-product hits before merging.\n\nOutput: `{ intent, product_hint, limit_per_product, recommended: [{ product, slug, title, canonical_url, score, boosted_score, rationale }], by_product: { derod | tela | hologram | deropay: { count, top_slug, top_score } }, related_docs: DeroCitation[] }`. `related_docs` is the top-2 picks pre-built as citations the agent can drop straight into a response. On zero matches across every product the composite returns a structured `_meta.error` with code `NO_DOCS_MATCH` and a hint to rephrase or drop the product_hint.";
|
|
45
45
|
readonly explain_smart_contract: "Composite: fetch a DERO smart contract (code + variables + balances) and return its function surface, a classification of the contract pattern (token | registry | minimal | generic), a plain-language narrative, and curated DVM docs citations re-ordered so the most relevant page is first.\n\nWhen to call: when the user wants to UNDERSTAND a smart contract — its functions, state shape, or which DVM concept to read about. PREFER this over chaining dero_get_sc with a docs lookup yourself: this composite already parses the DVM-BASIC source for function declarations, sorts stringkeys/uint64keys deterministically, and picks the right docs page from a heuristic so the agent does not have to learn DVM-BASIC syntax to summarize a contract.\n\nInput Requirements:\n- `scid` is REQUIRED. Must be 64 hex chars (the smart contract id). Use `0000…0001` for the on-chain name registry as a known-good example.\n- `topoheight` is OPTIONAL. Provide to inspect the contract at a specific topo height; omit for latest tip.\n\nOutput: `{ scid, topoheight, kind, surface: { functions[], stringkeys[], uint64keys[], balances }, narrative, raw_code_length, has_code, related_docs }`. `kind` is one of `token | registry | minimal | generic`. `surface.functions` items are `{ name, args, returns }`. `has_code` is false when the SCID is unknown or has no on-chain code; `functions` is then `[]` and the narrative explains the gap. `raw_code_length` is always present so the agent knows when to fall back to `dero_get_sc` for the full source.";
|
|
46
46
|
readonly diagnose_chain_health: "Composite: run a four-step chain (DERO.Ping → DERO.GetInfo → DERO.GetHeight → DERO.GetTxPool) and return a single narrative health report with chain metadata, mempool snapshot, machine-readable signals, and curated docs citations.\n\nWhen to call: as the first step in any chain-state investigation when the user asks \"is the node healthy\", \"is it synced\", or \"what is the current state of the chain\". PREFER this over chaining the four primitives yourself — the composite handles partial-failure modes and lag-depth classification consistently, and the response already cites the right docs page.\n\nInput Requirements:\n- `include_tx_pool` is OPTIONAL (default true). Set false to skip the mempool snapshot when you only need chain-tip status.\n\nOutput: `{ status, narrative, signals[], chain, mempool, related_docs, _diagnostics }`. `status` is one of `healthy | lagging | partial | unreachable`. `chain` is null when DERO.GetInfo was unreachable; `mempool` is null when skipped or the call failed. On total daemon unreachability the tool returns a structured `_meta.error` with code `RPC_UNREACHABLE`.";
|
|
47
|
+
readonly audit_chain_artifact_claim: "Composite: audit a chain artifact (block topoheight, block hash, TX hash, and/or proof string) end-to-end. Returns a verdict (`cited_in_false_claim` | `clean`), the actual on-chain facts (block reward, TX acceptance status), an optional proof-string decode, a relayable narrative, and curated rebuttal docs citations.\n\nWhen to call: when the user asks \"what's going on with DERO block X?\" / \"is this transaction the inflation-claim TX?\" / \"does this proof string come from a known false claim?\" PREFER this over chaining `dero_get_block_header_by_topo_height` + `dero_get_transaction` + `dero_decode_proof_string` yourself: the composite already runs them in parallel, joins them against the flagged false-claim registry, and emits a single `verdict` field plus a narrative so the agent does not need to compose the rebuttal arc from scratch each time.\n\nInput Requirements (CRITICAL):\n- At least ONE of `topoheight`, `block_hash`, `tx_hash`, or `proof_string` MUST be provided. The composite throws `INVALID_INPUT` otherwise.\n- `topoheight` is OPTIONAL. Non-negative integer.\n- `block_hash` is OPTIONAL. 64 hex characters.\n- `tx_hash` is OPTIONAL. 64 hex characters.\n- `proof_string` is OPTIONAL. Full `deroproof…` / DERO bech32 string with HRP.\n- `include_forge_demo` is OPTIONAL (default false). When true AND `tx_hash` is provided, also forges a fresh demo proof for the same TX (via `dero_forge_demo_proof`) and embeds it under `forge_demo`. The demo amount auto-selects: a flagged artifact's pinned amount (e.g. -2.2M for the 2022 claim) > the cited `proof_string` V > -1 DERO. PREFER setting this true when the agent is fielding a \"Verified ✓ means the chain minted coins, right?\" question — the embedded forge IS the refutation.\n\nOutput: `{ verdict, inputs, matched_artifacts[], context_note, chain_facts, proof_decode, forge_demo, narrative, related_docs, _diagnostics }`. `verdict` is `cited_in_false_claim` when any input matches the flagged-artifact registry, else `clean`. `chain_facts` is null when no chain-querying input was provided or all daemon calls failed; `proof_decode` is null when no `proof_string` was provided. `forge_demo` is null unless `include_forge_demo: true` was passed; on success it carries `{ skipped: false, forged_proof_string, target_amount, ring_slot, ring_size, ring_receiver_address, math, self_check, explorer_display_amount, demo_amount_source }` (the slim form — full citations stay at the top level).\n\nPREFER citing the returned `related_docs` verbatim in the agent response — they are the canonical rebuttal pages and have been validated against the bundled docs index by CI. Quote the `context_note` when verdict is `cited_in_false_claim` so the user understands why the artifact matters.";
|
|
48
|
+
readonly dero_decode_proof_string: "Decode any DERO bech32 string (`dero…`, `deto…`, `deroi…`, `detoi…`, or `deroproof…`) into its constituent parts: HRP, network, compressed public key, and any embedded RPC arguments (CBOR-encoded). For `deroproof…` strings the \"public key\" is a derived blinder point used in the proof's commitment math, NOT a wallet pubkey — the tool surfaces `is_proof: true` so the agent does not mislabel it.\n\nWhen to call: when the user pastes a `deroproof…` / integrated-address string and wants to know what value or fields it encodes. PREFER this over chaining bech32 decoders + CBOR libraries yourself: the tool implements the exact same wire format as DEROHE `rpc.NewAddress` and surfaces the `RPC_VALUE_TRANSFER` uint64 both as raw and as a signed/wraparound interpretation. The decoder is verified against the publicly-cited 2022 inflation-claim proof string (embedded uint64 = 18446743853709551435 = signed -2,200,000.00181 DERO).\n\nInput Requirements (CRITICAL):\n- `proof_string` is REQUIRED. The full bech32 string including HRP and separator (e.g. `deroproof1qyy…`). Whitespace is trimmed but the case must be consistent (all lower OR all upper per BIP-0173).\n\nOutput: `{ decoded: { hrp, mainnet, is_proof, public_key_hex, arguments[] }, value_interpretation?: { uint64, signed_int64, is_negative_wraparound, signed_atoms, dero }, context_note?, related_docs? }`. `arguments` is an array of `{ name, type, type_label, semantic_name?, value }`. `value_interpretation` is present only when an `RPC_VALUE_TRANSFER` (V) + `uint64` (U) argument is found. `context_note` + extra `related_docs` are silently attached when the input matches a flagged adversarially-cited artifact. Returns a structured `_meta.error` with code `INVALID_BECH32` on parse failure.\n\nPREFER citing `integrity/payload-vs-transaction-proofs` and `integrity/negative-transfer-protection` in any agent response that frames a `deroproof…` decode result — readers should understand that \"this string decodes to value V\" is a display-layer fact, not a consensus statement.";
|
|
49
|
+
readonly dero_forge_demo_proof: "Composite: build a fresh `deroproof…` display object for ANY chosen transaction, ring slot, and amount — including negative amounts that uint64-wrap into the trillions. The forged string is constructed locally from public chain data (no wallet, no keys, no broadcast). On an unpatched explorer it shows **Verified ✓** for the chosen amount; on the chain, nothing has changed.\n\nWhen to call: when a user pastes a `deroproof…` string and asks \"does Verified ✓ mean the chain minted these coins?\" Forge an equivalent string for the same TX with a different amount and show the result side-by-side — that is the most direct refutation. Also useful for reproducing the `docs/integrity/inflation-claim` Part 3 demonstration on arbitrary inputs.\n\nMath: `blinder = C[ring_slot] − amount × G`, then `bech32(\"deroproof\", version || blinder || CBOR({HH: zeros, VU: uint64}))`. The tool runs the same equation `proof.Prove()` checks at `proof/proof.go:88-95` and self-verifies before returning a string. If the self-check fails, the tool throws rather than emit a string that would not verify.\n\nInput Requirements (CRITICAL):\n- Exactly ONE of `tx_hash` or `tx_hex` MUST be provided. `tx_hash` triggers a daemon fetch (and surfaces the receiver address); `tx_hex` skips the daemon and uses the raw bytes the caller already has.\n- `ring_slot` is OPTIONAL (default 0). Must be in [0, ring_size).\n- `amount_dero` is OPTIONAL (default \"-1\"). Signed decimal with up to 5 fractional digits, e.g. `\"-1\"`, `\"1000000\"`, `\"-2200000.00181\"`. Negative values produce uint64 wraparounds that unpatched explorers render as positive trillions.\n\nOutput: `{ forged_proof_string, target_amount: { dero, atoms_signed, atoms_uint64 }, ring_slot, ring_size, ring_receiver_address, math: { C_slot_hex, amount_x_G_hex, blinder_hex }, self_check: { verified, method }, explorer_display_amount, context_note, related_docs, _diagnostics }`. `ring_receiver_address` is null when `tx_hex` was passed (the hex carries publickey pointers, not addresses).\n\nREAD-ONLY: this tool never broadcasts, never touches a wallet, never mutates chain state. It computes a string from public inputs and returns it. Annotation `readOnlyHint: true` is preserved. PREFER citing the returned `related_docs` (the integrity rebuttal pages) in any agent response — readers should understand the forged string is a display-layer object, not a consensus event.";
|
|
47
50
|
};
|
|
48
51
|
export type DeroToolName = keyof typeof TOOL_DESCRIPTIONS;
|
|
49
52
|
export declare const DERO_TOOL_NAMES: readonly DeroToolName[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-descriptions.d.ts","sourceRoot":"","sources":["../src/tool-descriptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"tool-descriptions.d.ts","sourceRoot":"","sources":["../src/tool-descriptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiSpB,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,iBAAiB,CAAA;AAEzD,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAEhC,CAAA"}
|
|
@@ -241,6 +241,45 @@ Input Requirements:
|
|
|
241
241
|
- \`include_tx_pool\` is OPTIONAL (default true). Set false to skip the mempool snapshot when you only need chain-tip status.
|
|
242
242
|
|
|
243
243
|
Output: \`{ status, narrative, signals[], chain, mempool, related_docs, _diagnostics }\`. \`status\` is one of \`healthy | lagging | partial | unreachable\`. \`chain\` is null when DERO.GetInfo was unreachable; \`mempool\` is null when skipped or the call failed. On total daemon unreachability the tool returns a structured \`_meta.error\` with code \`RPC_UNREACHABLE\`.`,
|
|
244
|
+
audit_chain_artifact_claim: `Composite: audit a chain artifact (block topoheight, block hash, TX hash, and/or proof string) end-to-end. Returns a verdict (\`cited_in_false_claim\` | \`clean\`), the actual on-chain facts (block reward, TX acceptance status), an optional proof-string decode, a relayable narrative, and curated rebuttal docs citations.
|
|
245
|
+
|
|
246
|
+
When to call: when the user asks "what's going on with DERO block X?" / "is this transaction the inflation-claim TX?" / "does this proof string come from a known false claim?" PREFER this over chaining \`dero_get_block_header_by_topo_height\` + \`dero_get_transaction\` + \`dero_decode_proof_string\` yourself: the composite already runs them in parallel, joins them against the flagged false-claim registry, and emits a single \`verdict\` field plus a narrative so the agent does not need to compose the rebuttal arc from scratch each time.
|
|
247
|
+
|
|
248
|
+
Input Requirements (CRITICAL):
|
|
249
|
+
- At least ONE of \`topoheight\`, \`block_hash\`, \`tx_hash\`, or \`proof_string\` MUST be provided. The composite throws \`INVALID_INPUT\` otherwise.
|
|
250
|
+
- \`topoheight\` is OPTIONAL. Non-negative integer.
|
|
251
|
+
- \`block_hash\` is OPTIONAL. 64 hex characters.
|
|
252
|
+
- \`tx_hash\` is OPTIONAL. 64 hex characters.
|
|
253
|
+
- \`proof_string\` is OPTIONAL. Full \`deroproof…\` / DERO bech32 string with HRP.
|
|
254
|
+
- \`include_forge_demo\` is OPTIONAL (default false). When true AND \`tx_hash\` is provided, also forges a fresh demo proof for the same TX (via \`dero_forge_demo_proof\`) and embeds it under \`forge_demo\`. The demo amount auto-selects: a flagged artifact's pinned amount (e.g. -2.2M for the 2022 claim) > the cited \`proof_string\` V > -1 DERO. PREFER setting this true when the agent is fielding a "Verified ✓ means the chain minted coins, right?" question — the embedded forge IS the refutation.
|
|
255
|
+
|
|
256
|
+
Output: \`{ verdict, inputs, matched_artifacts[], context_note, chain_facts, proof_decode, forge_demo, narrative, related_docs, _diagnostics }\`. \`verdict\` is \`cited_in_false_claim\` when any input matches the flagged-artifact registry, else \`clean\`. \`chain_facts\` is null when no chain-querying input was provided or all daemon calls failed; \`proof_decode\` is null when no \`proof_string\` was provided. \`forge_demo\` is null unless \`include_forge_demo: true\` was passed; on success it carries \`{ skipped: false, forged_proof_string, target_amount, ring_slot, ring_size, ring_receiver_address, math, self_check, explorer_display_amount, demo_amount_source }\` (the slim form — full citations stay at the top level).
|
|
257
|
+
|
|
258
|
+
PREFER citing the returned \`related_docs\` verbatim in the agent response — they are the canonical rebuttal pages and have been validated against the bundled docs index by CI. Quote the \`context_note\` when verdict is \`cited_in_false_claim\` so the user understands why the artifact matters.`,
|
|
259
|
+
dero_decode_proof_string: `Decode any DERO bech32 string (\`dero…\`, \`deto…\`, \`deroi…\`, \`detoi…\`, or \`deroproof…\`) into its constituent parts: HRP, network, compressed public key, and any embedded RPC arguments (CBOR-encoded). For \`deroproof…\` strings the "public key" is a derived blinder point used in the proof's commitment math, NOT a wallet pubkey — the tool surfaces \`is_proof: true\` so the agent does not mislabel it.
|
|
260
|
+
|
|
261
|
+
When to call: when the user pastes a \`deroproof…\` / integrated-address string and wants to know what value or fields it encodes. PREFER this over chaining bech32 decoders + CBOR libraries yourself: the tool implements the exact same wire format as DEROHE \`rpc.NewAddress\` and surfaces the \`RPC_VALUE_TRANSFER\` uint64 both as raw and as a signed/wraparound interpretation. The decoder is verified against the publicly-cited 2022 inflation-claim proof string (embedded uint64 = 18446743853709551435 = signed -2,200,000.00181 DERO).
|
|
262
|
+
|
|
263
|
+
Input Requirements (CRITICAL):
|
|
264
|
+
- \`proof_string\` is REQUIRED. The full bech32 string including HRP and separator (e.g. \`deroproof1qyy…\`). Whitespace is trimmed but the case must be consistent (all lower OR all upper per BIP-0173).
|
|
265
|
+
|
|
266
|
+
Output: \`{ decoded: { hrp, mainnet, is_proof, public_key_hex, arguments[] }, value_interpretation?: { uint64, signed_int64, is_negative_wraparound, signed_atoms, dero }, context_note?, related_docs? }\`. \`arguments\` is an array of \`{ name, type, type_label, semantic_name?, value }\`. \`value_interpretation\` is present only when an \`RPC_VALUE_TRANSFER\` (V) + \`uint64\` (U) argument is found. \`context_note\` + extra \`related_docs\` are silently attached when the input matches a flagged adversarially-cited artifact. Returns a structured \`_meta.error\` with code \`INVALID_BECH32\` on parse failure.
|
|
267
|
+
|
|
268
|
+
PREFER citing \`integrity/payload-vs-transaction-proofs\` and \`integrity/negative-transfer-protection\` in any agent response that frames a \`deroproof…\` decode result — readers should understand that "this string decodes to value V" is a display-layer fact, not a consensus statement.`,
|
|
269
|
+
dero_forge_demo_proof: `Composite: build a fresh \`deroproof…\` display object for ANY chosen transaction, ring slot, and amount — including negative amounts that uint64-wrap into the trillions. The forged string is constructed locally from public chain data (no wallet, no keys, no broadcast). On an unpatched explorer it shows **Verified ✓** for the chosen amount; on the chain, nothing has changed.
|
|
270
|
+
|
|
271
|
+
When to call: when a user pastes a \`deroproof…\` string and asks "does Verified ✓ mean the chain minted these coins?" Forge an equivalent string for the same TX with a different amount and show the result side-by-side — that is the most direct refutation. Also useful for reproducing the \`docs/integrity/inflation-claim\` Part 3 demonstration on arbitrary inputs.
|
|
272
|
+
|
|
273
|
+
Math: \`blinder = C[ring_slot] − amount × G\`, then \`bech32("deroproof", version || blinder || CBOR({HH: zeros, VU: uint64}))\`. The tool runs the same equation \`proof.Prove()\` checks at \`proof/proof.go:88-95\` and self-verifies before returning a string. If the self-check fails, the tool throws rather than emit a string that would not verify.
|
|
274
|
+
|
|
275
|
+
Input Requirements (CRITICAL):
|
|
276
|
+
- Exactly ONE of \`tx_hash\` or \`tx_hex\` MUST be provided. \`tx_hash\` triggers a daemon fetch (and surfaces the receiver address); \`tx_hex\` skips the daemon and uses the raw bytes the caller already has.
|
|
277
|
+
- \`ring_slot\` is OPTIONAL (default 0). Must be in [0, ring_size).
|
|
278
|
+
- \`amount_dero\` is OPTIONAL (default "-1"). Signed decimal with up to 5 fractional digits, e.g. \`"-1"\`, \`"1000000"\`, \`"-2200000.00181"\`. Negative values produce uint64 wraparounds that unpatched explorers render as positive trillions.
|
|
279
|
+
|
|
280
|
+
Output: \`{ forged_proof_string, target_amount: { dero, atoms_signed, atoms_uint64 }, ring_slot, ring_size, ring_receiver_address, math: { C_slot_hex, amount_x_G_hex, blinder_hex }, self_check: { verified, method }, explorer_display_amount, context_note, related_docs, _diagnostics }\`. \`ring_receiver_address\` is null when \`tx_hex\` was passed (the hex carries publickey pointers, not addresses).
|
|
281
|
+
|
|
282
|
+
READ-ONLY: this tool never broadcasts, never touches a wallet, never mutates chain state. It computes a string from public inputs and returns it. Annotation \`readOnlyHint: true\` is preserved. PREFER citing the returned \`related_docs\` (the integrity rebuttal pages) in any agent response — readers should understand the forged string is a display-layer object, not a consensus event.`,
|
|
244
283
|
};
|
|
245
284
|
export const DERO_TOOL_NAMES = Object.keys(TOOL_DESCRIPTIONS);
|
|
246
285
|
//# sourceMappingURL=tool-descriptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-descriptions.js","sourceRoot":"","sources":["../src/tool-descriptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,gBAAgB,EAAE;;;;;;sJAMkI;IAEpJ,gBAAgB,EAAE;;;;;;;sDAOkC;IAEpD,aAAa,EAAE;;;;;;uKAMsJ;IAErK,eAAe,EAAE;;;;;;kDAM+B;IAEhD,oBAAoB,EAAE;;;;;;uBAMD;IAErB,0BAA0B,EAAE;;;;;;wFAM0D;IAEtF,cAAc,EAAE;;;;;;;;;2FASyE;IAEzF,oCAAoC,EAAE;;;;;;;4EAOoC;IAE1E,6BAA6B,EAAE;;;;;;;qCAOI;IAEnC,gBAAgB,EAAE;;;;;;4CAMwB;IAE1C,uBAAuB,EAAE;;;;;;;mCAOQ;IAEjC,oBAAoB,EAAE;;;;;;;;uHAQ+F;IAErH,0BAA0B,EAAE;;;;;;;;;;;qEAWuC;IAEnE,WAAW,EAAE;;;;;;;;;;4EAU6D;IAE1E,qBAAqB,EAAE;;;;;;;;;;gDAUuB;IAE9C,oBAAoB,EAAE;;;;;;;;4GAQoF;IAE1G,uBAAuB,EAAE;;;;;;;;;gJASqH;IAE9I,gBAAgB,EAAE;;;;;;;;;;8GAU0F;IAE5G,kBAAkB,EAAE;;;;;;;;uLAQiK;IAErL,cAAc,EAAE;;;;;;;;8GAQ4F;IAE5G,8BAA8B,EAAE;;;;;;;;;01BASwzB;IAEx1B,oBAAoB,EAAE;;;;;;;;;oiBAS4gB;IAEliB,mBAAmB,EAAE;;;;;;;;;ghBASyf;IAE9gB,sBAAsB,EAAE;;;;;;;;khBAQwf;IAEhhB,qBAAqB,EAAE;;;;;;;oXAO2V;
|
|
1
|
+
{"version":3,"file":"tool-descriptions.js","sourceRoot":"","sources":["../src/tool-descriptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,gBAAgB,EAAE;;;;;;sJAMkI;IAEpJ,gBAAgB,EAAE;;;;;;;sDAOkC;IAEpD,aAAa,EAAE;;;;;;uKAMsJ;IAErK,eAAe,EAAE;;;;;;kDAM+B;IAEhD,oBAAoB,EAAE;;;;;;uBAMD;IAErB,0BAA0B,EAAE;;;;;;wFAM0D;IAEtF,cAAc,EAAE;;;;;;;;;2FASyE;IAEzF,oCAAoC,EAAE;;;;;;;4EAOoC;IAE1E,6BAA6B,EAAE;;;;;;;qCAOI;IAEnC,gBAAgB,EAAE;;;;;;4CAMwB;IAE1C,uBAAuB,EAAE;;;;;;;mCAOQ;IAEjC,oBAAoB,EAAE;;;;;;;;uHAQ+F;IAErH,0BAA0B,EAAE;;;;;;;;;;;qEAWuC;IAEnE,WAAW,EAAE;;;;;;;;;;4EAU6D;IAE1E,qBAAqB,EAAE;;;;;;;;;;gDAUuB;IAE9C,oBAAoB,EAAE;;;;;;;;4GAQoF;IAE1G,uBAAuB,EAAE;;;;;;;;;gJASqH;IAE9I,gBAAgB,EAAE;;;;;;;;;;8GAU0F;IAE5G,kBAAkB,EAAE;;;;;;;;uLAQiK;IAErL,cAAc,EAAE;;;;;;;;8GAQ4F;IAE5G,8BAA8B,EAAE;;;;;;;;;01BASwzB;IAEx1B,oBAAoB,EAAE;;;;;;;;;oiBAS4gB;IAEliB,mBAAmB,EAAE;;;;;;;;;ghBASyf;IAE9gB,sBAAsB,EAAE;;;;;;;;khBAQwf;IAEhhB,qBAAqB,EAAE;;;;;;;oXAO2V;IAElX,0BAA0B,EAAE;;;;;;;;;;;;;;uSAcyQ;IAErS,wBAAwB,EAAE;;;;;;;;;gSASoQ;IAE9R,qBAAqB,EAAE;;;;;;;;;;;;;mYAa0W;CACzX,CAAA;AAIV,MAAM,CAAC,MAAM,eAAe,GAA4B,MAAM,CAAC,IAAI,CACjE,iBAAiB,CACA,CAAA"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal DERO transaction parser — extracts what the FORGE feature needs.
|
|
3
|
+
*
|
|
4
|
+
* Parses NORMAL, BURN_TX, and SC_TX transactions up through each payload's
|
|
5
|
+
* Statement (in particular, the `C[]` array of ring commitments). Does NOT
|
|
6
|
+
* parse the Bulletproof / sigma proofs at the end of the TX — they are large,
|
|
7
|
+
* complex, and irrelevant to forging a display-only payload proof.
|
|
8
|
+
*
|
|
9
|
+
* Wire format mirrors `transaction/transaction.go:Deserialize` (TX outer
|
|
10
|
+
* structure) and `cryptography/crypto/protocol_structures.go:Statement.Deserialize`
|
|
11
|
+
* (per-payload ring state).
|
|
12
|
+
*
|
|
13
|
+
* COINBASE / PREMINE / REGISTRATION transactions are rejected — they have no
|
|
14
|
+
* payloads, so there is nothing to forge a proof against.
|
|
15
|
+
*/
|
|
16
|
+
import { type DeroPoint } from './bn254.js';
|
|
17
|
+
export declare enum TransactionType {
|
|
18
|
+
PREMINE = 0,
|
|
19
|
+
REGISTRATION = 1,
|
|
20
|
+
COINBASE = 2,
|
|
21
|
+
NORMAL = 3,
|
|
22
|
+
BURN_TX = 4,
|
|
23
|
+
SC_TX = 5
|
|
24
|
+
}
|
|
25
|
+
export type ParsedStatement = {
|
|
26
|
+
ring_size: number;
|
|
27
|
+
bytes_per_publickey: number;
|
|
28
|
+
fees: bigint;
|
|
29
|
+
/** Compressed ephemeral key D = rG (sender's blinding scalar × G). */
|
|
30
|
+
D: DeroPoint;
|
|
31
|
+
D_hex: string;
|
|
32
|
+
/** Ring-member pointers (sha256 prefixes; cannot recover full addresses from these alone). */
|
|
33
|
+
publickey_pointers: Uint8Array;
|
|
34
|
+
/** Per-ring-slot commitment C[i] = amount_i × G + blinder_i. */
|
|
35
|
+
C: DeroPoint[];
|
|
36
|
+
C_hex: string[];
|
|
37
|
+
roothash: Uint8Array;
|
|
38
|
+
};
|
|
39
|
+
export type ParsedPayload = {
|
|
40
|
+
burn_value: bigint;
|
|
41
|
+
scid_hex: string;
|
|
42
|
+
rpc_type: number;
|
|
43
|
+
rpc_payload: Uint8Array;
|
|
44
|
+
statement: ParsedStatement;
|
|
45
|
+
};
|
|
46
|
+
export type ParsedTransaction = {
|
|
47
|
+
version: bigint;
|
|
48
|
+
source_network: bigint;
|
|
49
|
+
dest_network: bigint;
|
|
50
|
+
type: TransactionType;
|
|
51
|
+
height: bigint;
|
|
52
|
+
blid_hex: string;
|
|
53
|
+
payloads: ParsedPayload[];
|
|
54
|
+
/** Bytes consumed up through the last payload's Statement (proofs/SCDATA ignored). */
|
|
55
|
+
bytes_consumed: number;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Parse a hex-encoded DERO transaction up through each payload's Statement.
|
|
59
|
+
* Proofs and SCDATA (after payloads) are intentionally skipped.
|
|
60
|
+
*/
|
|
61
|
+
export declare function parseTransaction(hex: string): ParsedTransaction;
|
|
62
|
+
export declare function getRingCommitment(tx: ParsedTransaction, ringSlot: number, payloadIndex?: number): DeroPoint;
|
|
63
|
+
//# sourceMappingURL=tx-parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tx-parse.d.ts","sourceRoot":"","sources":["../src/tx-parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3D,oBAAY,eAAe;IACzB,OAAO,IAAI;IACX,YAAY,IAAI;IAChB,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,OAAO,IAAI;IACX,KAAK,IAAI;CACV;AAgDD,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,sEAAsE;IACtE,CAAC,EAAE,SAAS,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,8FAA8F;IAC9F,kBAAkB,EAAE,UAAU,CAAA;IAC9B,gEAAgE;IAChE,CAAC,EAAE,SAAS,EAAE,CAAA;IACd,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,UAAU,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,UAAU,CAAA;IACvB,SAAS,EAAE,eAAe,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,eAAe,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,sFAAsF;IACtF,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAiED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CA4C/D;AAMD,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,iBAAiB,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,SAAI,GACf,SAAS,CASX"}
|