chia-explorer 0.2.1 → 0.3.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/README.md CHANGED
@@ -224,8 +224,9 @@ Skills are read-only and idempotent, persist state between runs, and accept stru
224
224
  | `get_chip` | One CHIP by number. Returns the merged version (if any), any open PR drafts proposing the same number, and optionally the full markdown |
225
225
  | `list_chip_drafts` | Open PRs against `Chia-Network/chips` that add or modify a CHIP, with parsed front matter and PR context (author, reviewers, draft flag) |
226
226
  | `search_chips` | Keyword search across merged CHIPs and open PR drafts (title, description, abstract, authors) |
227
+ | `list_forks` | Every Chia consensus fork (hard and soft) with status (Activated, Planned, …), activation block, build, and a link to the purpose (CHIP, post-mortem, blog post). Sourced from the canonical docs page at docs.chia.net, with the source's `last_updated` date included so callers can judge freshness |
227
228
 
228
- Blockchain tools take an optional `network: "mainnet" | "testnet11"` (default `mainnet`). The price and CHIPs tools take no network arg. The prefarm tools are mainnet only.
229
+ Blockchain tools take an optional `network: "mainnet" | "testnet11"` (default `mainnet`). The price, CHIPs, and forks tools take no network arg. The prefarm tools are mainnet only.
229
230
 
230
231
  ## Optional config
231
232
 
@@ -0,0 +1,12 @@
1
+ import { type Fork } from './parser.js';
2
+ export type { Fork, ForkType, ForksDocument } from './parser.js';
3
+ export declare const FORKS_SOURCE_URL = "https://docs.chia.net/chia-blockchain/consensus/forks/";
4
+ export declare const FORKS_MARKDOWN_URL = "https://github.com/Chia-Network/chia-docs/blob/main/docs/chia-blockchain/consensus/forks.md";
5
+ export interface ForksResult {
6
+ source_url: string;
7
+ markdown_url: string;
8
+ last_updated: string | null;
9
+ count: number;
10
+ forks: Fork[];
11
+ }
12
+ export declare function getForks(): Promise<ForksResult>;
@@ -0,0 +1,24 @@
1
+ import { fetchRawFile } from '../github/client.js';
2
+ import { getCached } from '../github/cache.js';
3
+ import { parseForksMarkdown } from './parser.js';
4
+ const REPO = 'Chia-Network/chia-docs';
5
+ const REF = 'main';
6
+ const FORKS_PATH = 'docs/chia-blockchain/consensus/forks.md';
7
+ const FORKS_TTL_MS = 10 * 60_000;
8
+ export const FORKS_SOURCE_URL = 'https://docs.chia.net/chia-blockchain/consensus/forks/';
9
+ export const FORKS_MARKDOWN_URL = `https://github.com/${REPO}/blob/${REF}/${FORKS_PATH}`;
10
+ async function fetchForksDocument() {
11
+ const body = await fetchRawFile(REPO, REF, FORKS_PATH);
12
+ return parseForksMarkdown(body);
13
+ }
14
+ export async function getForks() {
15
+ const doc = await getCached('chia-docs:forks', fetchForksDocument, FORKS_TTL_MS);
16
+ return {
17
+ source_url: FORKS_SOURCE_URL,
18
+ markdown_url: FORKS_MARKDOWN_URL,
19
+ last_updated: doc.last_updated,
20
+ count: doc.forks.length,
21
+ forks: doc.forks,
22
+ };
23
+ }
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chia-docs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAiC,MAAM,aAAa,CAAC;AAIhF,MAAM,IAAI,GAAG,wBAAwB,CAAC;AACtC,MAAM,GAAG,GAAG,MAAM,CAAC;AACnB,MAAM,UAAU,GAAG,yCAAyC,CAAC;AAC7D,MAAM,YAAY,GAAG,EAAE,GAAG,MAAM,CAAC;AAEjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,wDAAwD,CAAC;AACzF,MAAM,CAAC,MAAM,kBAAkB,GAAG,sBAAsB,IAAI,SAAS,GAAG,IAAI,UAAU,EAAE,CAAC;AAUzF,KAAK,UAAU,kBAAkB;IAC/B,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACvD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;IACjF,OAAO;QACL,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,kBAAkB;QAChC,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;QACvB,KAAK,EAAE,GAAG,CAAC,KAAK;KACjB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ export type ForkType = 'hard' | 'soft';
2
+ export interface Fork {
3
+ type: ForkType;
4
+ name: string;
5
+ activation_block: number | null;
6
+ activation_date: string | null;
7
+ build: string | null;
8
+ status: string;
9
+ purpose_url: string | null;
10
+ }
11
+ export interface ForksDocument {
12
+ last_updated: string | null;
13
+ forks: Fork[];
14
+ }
15
+ export declare function parseForksMarkdown(markdown: string): ForksDocument;
@@ -0,0 +1,129 @@
1
+ const HEADER_KEYS = {
2
+ block: 'activation block',
3
+ date: 'activation date',
4
+ type: 'type',
5
+ build: 'build',
6
+ status: 'status',
7
+ description: 'description',
8
+ };
9
+ const LAST_UPDATED_PATTERN = /last updated on\s+(\d{4}-\d{2}-\d{2})/i;
10
+ const MARKDOWN_LINK_PATTERN = /\[([^\]]+)\]\(([^)]+)\)/g;
11
+ function splitRow(line) {
12
+ let s = line.trim();
13
+ if (s.startsWith('|'))
14
+ s = s.slice(1);
15
+ if (s.endsWith('|'))
16
+ s = s.slice(0, -1);
17
+ return s.split('|').map((c) => c.trim());
18
+ }
19
+ function isSeparatorRow(cells) {
20
+ if (cells.length === 0)
21
+ return false;
22
+ return cells.every((c) => /^:?-+:?$/.test(c.trim()));
23
+ }
24
+ function isTableRow(line) {
25
+ const trimmed = line.trim();
26
+ return trimmed.startsWith('|') && trimmed.endsWith('|') && trimmed.length > 2;
27
+ }
28
+ function blankToNull(value) {
29
+ const v = value.trim();
30
+ if (!v || v === '-' || v.toLowerCase() === 'n/a' || v.toLowerCase() === 'tbd')
31
+ return null;
32
+ return v;
33
+ }
34
+ function parseBlock(raw) {
35
+ // Strip backticks, whitespace (incl. NBSP via \s), commas, underscores.
36
+ const cleaned = raw.replace(/[`\s,_]/g, '');
37
+ if (!cleaned)
38
+ return null;
39
+ if (!/^\d+$/.test(cleaned))
40
+ return null;
41
+ const n = Number(cleaned);
42
+ return Number.isFinite(n) ? n : null;
43
+ }
44
+ function parseType(raw) {
45
+ const v = raw.trim().toLowerCase();
46
+ if (v === 'hard')
47
+ return 'hard';
48
+ if (v === 'soft')
49
+ return 'soft';
50
+ return null;
51
+ }
52
+ function parseDescription(raw) {
53
+ const trimmed = raw.trim();
54
+ let firstUrl = null;
55
+ const stripped = trimmed
56
+ .replace(MARKDOWN_LINK_PATTERN, (_match, text, url) => {
57
+ if (firstUrl == null)
58
+ firstUrl = url.trim();
59
+ return text;
60
+ })
61
+ .replace(/\s+/g, ' ')
62
+ .trim();
63
+ return { name: stripped, purpose_url: firstUrl };
64
+ }
65
+ function buildColumnMap(headerCells) {
66
+ const idx = {};
67
+ headerCells.forEach((cell, i) => {
68
+ idx[cell.trim().toLowerCase()] = i;
69
+ });
70
+ const block = idx[HEADER_KEYS.block];
71
+ const date = idx[HEADER_KEYS.date];
72
+ const type = idx[HEADER_KEYS.type];
73
+ const build = idx[HEADER_KEYS.build];
74
+ const status = idx[HEADER_KEYS.status];
75
+ const description = idx[HEADER_KEYS.description];
76
+ if (block == null ||
77
+ date == null ||
78
+ type == null ||
79
+ build == null ||
80
+ status == null ||
81
+ description == null) {
82
+ return null;
83
+ }
84
+ return { block, date, type, build, status, description };
85
+ }
86
+ export function parseForksMarkdown(markdown) {
87
+ const lastUpdated = markdown.match(LAST_UPDATED_PATTERN)?.[1] ?? null;
88
+ const forks = [];
89
+ const lines = markdown.split(/\r?\n/);
90
+ let cols = null;
91
+ for (let i = 0; i < lines.length; i++) {
92
+ const line = lines[i];
93
+ if (!isTableRow(line))
94
+ continue;
95
+ const cells = splitRow(line);
96
+ if (cells.length === 0)
97
+ continue;
98
+ if (!cols) {
99
+ const candidate = buildColumnMap(cells);
100
+ if (!candidate)
101
+ continue;
102
+ const next = lines[i + 1];
103
+ if (!next || !isSeparatorRow(splitRow(next)))
104
+ continue;
105
+ cols = candidate;
106
+ i++;
107
+ continue;
108
+ }
109
+ if (isSeparatorRow(cells))
110
+ continue;
111
+ const type = parseType(cells[cols.type] ?? '');
112
+ if (!type)
113
+ continue;
114
+ const description = parseDescription(cells[cols.description] ?? '');
115
+ if (!description.name)
116
+ continue;
117
+ forks.push({
118
+ type,
119
+ name: description.name,
120
+ activation_block: parseBlock(cells[cols.block] ?? ''),
121
+ activation_date: blankToNull(cells[cols.date] ?? ''),
122
+ build: blankToNull(cells[cols.build] ?? ''),
123
+ status: cells[cols.status]?.trim() || 'Unknown',
124
+ purpose_url: description.purpose_url,
125
+ });
126
+ }
127
+ return { last_updated: lastUpdated, forks };
128
+ }
129
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/chia-docs/parser.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -30,6 +30,7 @@ import { register as registerListChips } from './tools/chips/list-chips.js';
30
30
  import { register as registerGetChip } from './tools/chips/get-chip.js';
31
31
  import { register as registerListChipDrafts } from './tools/chips/list-chip-drafts.js';
32
32
  import { register as registerSearchChips } from './tools/chips/search-chips.js';
33
+ import { register as registerListForks } from './tools/forks/list-forks.js';
33
34
  import { register as registerNetworkStatusPrompt } from './prompts/network-status.js';
34
35
  import { register as registerAddressSummaryPrompt } from './prompts/address-summary.js';
35
36
  import { register as registerBlockSummaryPrompt } from './prompts/block-summary.js';
@@ -38,11 +39,12 @@ export function createServer() {
38
39
  const server = new McpServer({ name: 'chia-explorer', version: VERSION }, {
39
40
  instructions: 'chia-explorer answers questions about the Chia blockchain via the public coinset.org API, ' +
40
41
  'plus XCH spot price and fiat conversion via the public CoinGecko API, ' +
41
- 'plus Chia Improvement Proposals (CHIPs) read directly from the Chia-Network/chips GitHub repo (merged on main and open PR drafts). ' +
42
+ 'plus Chia Improvement Proposals (CHIPs) read directly from the Chia-Network/chips GitHub repo (merged on main and open PR drafts), ' +
43
+ 'plus Chia consensus fork history (hard and soft forks, with status and activation block) read from the Chia-Network/chia-docs GitHub repo. ' +
42
44
  'Read-only: no signing, no key material, no push_tx. ' +
43
45
  "Blockchain tools accept an optional `network: 'mainnet' | 'testnet11'` argument; mainnet is the default. " +
44
46
  'When an address is provided, the network is auto-detected from the prefix (xch / txch). ' +
45
- 'Price and CHIPs tools take no network argument. ' +
47
+ 'Price, CHIPs, and forks tools take no network argument. ' +
46
48
  'An optional GITHUB_TOKEN env var lifts the unauthenticated GitHub rate limit on CHIPs listings.',
47
49
  });
48
50
  registerGetBlockchainState(server);
@@ -75,6 +77,7 @@ export function createServer() {
75
77
  registerGetChip(server);
76
78
  registerListChipDrafts(server);
77
79
  registerSearchChips(server);
80
+ registerListForks(server);
78
81
  registerNetworkStatusPrompt(server);
79
82
  registerAddressSummaryPrompt(server);
80
83
  registerBlockSummaryPrompt(server);
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function register(server: McpServer): void;
@@ -0,0 +1,14 @@
1
+ import { getForks } from '../../chia-docs/index.js';
2
+ import { errorText, jsonText } from '../shared/response.js';
3
+ export function register(server) {
4
+ server.tool('list_forks', 'List every Chia consensus fork (hard and soft) with current status, drawn from the canonical docs page at https://docs.chia.net/chia-blockchain/consensus/forks/ (sourced from the Chia-Network/chia-docs GitHub repo). Each entry has type ("hard" | "soft"), name, activation_block, activation_date, build, status (e.g. Activated, Planned), and a purpose_url linking to the relevant CHIP, post-mortem, or blog post when available. Includes the source\'s last_updated date so callers can judge freshness. No arguments, no network selector (consensus forks are protocol-level).', {}, async () => {
5
+ try {
6
+ const result = await getForks();
7
+ return jsonText(result);
8
+ }
9
+ catch (err) {
10
+ return errorText(err);
11
+ }
12
+ });
13
+ }
14
+ //# sourceMappingURL=list-forks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-forks.js","sourceRoot":"","sources":["../../../src/tools/forks/list-forks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,6jBAA6jB,EAC7jB,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;YAChC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -15,6 +15,24 @@ const SPEND_TYPES = [
15
15
  'pw_absorb_rewards',
16
16
  'create_new_did_wallet',
17
17
  ];
18
+ // Approximate CLVM cost of one standard XCH spend.
19
+ const DEFAULT_SPEND_COST = 11_000_000;
20
+ // coinset's get_fee_estimate accepts only `cost` + `target_times` (it rejects `spend_type`),
21
+ // so a spend_type hint is translated into an approximate cost here. These are rough multiples
22
+ // of one standard spend, meant only to bias the estimate — pass an explicit `cost` for precision.
23
+ const SPEND_TYPE_COST = {
24
+ send_xch_transaction: DEFAULT_SPEND_COST,
25
+ cat_spend: DEFAULT_SPEND_COST * 3,
26
+ // chia.net's Jan-2024 fees post puts offer-take cost at 80-150M; *4 (44M)
27
+ // under-shoots by ~2-3x, which would translate directly to an underestimated fee.
28
+ take_offer: DEFAULT_SPEND_COST * 9,
29
+ cancel_offer: DEFAULT_SPEND_COST * 2,
30
+ nft_set_nft_did: DEFAULT_SPEND_COST * 5,
31
+ nft_transfer_nft: DEFAULT_SPEND_COST * 5,
32
+ create_new_pool_wallet: DEFAULT_SPEND_COST * 5,
33
+ pw_absorb_rewards: DEFAULT_SPEND_COST * 4,
34
+ create_new_did_wallet: DEFAULT_SPEND_COST * 4,
35
+ };
18
36
  export function register(server) {
19
37
  server.tool('estimate_fee', 'Estimate the recommended mojo fee for inclusion in the next block within each target time (in seconds). Default target_times = [60, 300, 900] (1, 5, 15 minutes). Optionally bias the estimate by passing `spend_type` and `spend_count`, or supply an explicit CLVM `cost`.', {
20
38
  target_times: z
@@ -43,14 +61,19 @@ export function register(server) {
43
61
  }, async ({ target_times, cost, spend_type, spend_count, network }) => {
44
62
  try {
45
63
  const agent = getAgent(network);
46
- const payload = { target_times };
47
- if (cost !== undefined)
48
- payload.cost = cost;
49
- if (spend_type !== undefined)
50
- payload.spend_type = spend_type;
51
- if (spend_count !== undefined)
52
- payload.spend_count = spend_count;
53
- const res = await get_fee_estimate(agent, payload);
64
+ // coinset's get_fee_estimate accepts only `cost` + `target_times`. Resolve to a cost:
65
+ // an explicit `cost`, else the spend_type's approximate cost (or a standard spend)
66
+ // scaled by spend_count. This avoids the "missing field cost" / "unknown field
67
+ // spend_type" errors coinset returns for the raw payload.
68
+ let effectiveCost;
69
+ if (cost !== undefined) {
70
+ effectiveCost = cost;
71
+ }
72
+ else {
73
+ const perSpend = spend_type ? SPEND_TYPE_COST[spend_type] : DEFAULT_SPEND_COST;
74
+ effectiveCost = perSpend * (spend_count ?? 1);
75
+ }
76
+ const res = await get_fee_estimate(agent, { target_times, cost: effectiveCost });
54
77
  const estimates_mojo = (res.estimates ?? []).map((e) => toBigInt(e).toString());
55
78
  const estimates_xch = estimates_mojo.map((m) => mojoToXch(m));
56
79
  return jsonText({
@@ -1 +1 @@
1
- {"version":3,"file":"estimate-fee.js","sourceRoot":"","sources":["../../../src/tools/mempool/estimate-fee.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"estimate-fee.js","sourceRoot":"","sources":["../../../src/tools/mempool/estimate-fee.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chia-explorer",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "MCP server that answers questions about the Chia blockchain via the public coinset.org API",
5
5
  "mcpName": "io.github.Spacetime-Technology/chia-explorer",
6
6
  "type": "module",