chia-explorer 0.2.0 → 0.2.2
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 +1 -1
- package/dist/chips/index.d.ts +11 -3
- package/dist/chips/index.js +110 -36
- package/dist/chips/index.js.map +1 -1
- package/dist/chips/readme-index.d.ts +12 -0
- package/dist/chips/readme-index.js +82 -0
- package/dist/chips/readme-index.js.map +1 -0
- package/dist/tools/chips/list-chip-drafts.js +1 -1
- package/dist/tools/chips/list-chip-drafts.js.map +1 -1
- package/dist/tools/chips/list-chips.js +4 -4
- package/dist/tools/chips/list-chips.js.map +1 -1
- package/dist/tools/mempool/estimate-fee.js +31 -8
- package/dist/tools/mempool/estimate-fee.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -220,7 +220,7 @@ Skills are read-only and idempotent, persist state between runs, and accept stru
|
|
|
220
220
|
| `get_prefarm_status` | Live per-wallet balances of the 21M XCH strategic reserve, plus total spent |
|
|
221
221
|
| `get_prefarm_spends` | Outflows from the reserve, with destinations labelled when known (partners / market makers / exchanges). Filter by wallet, height, or count |
|
|
222
222
|
| `list_prefarm_addresses` | The hardcoded registry: custody wallets and known destination addresses. No network call |
|
|
223
|
-
| `list_chips` |
|
|
223
|
+
| `list_chips` | All Chia Improvement Proposals from the canonical README index in `Chia-Network/chips`, across every status (Living, Draft, Review, Final, Stagnant, Withdrawn, Obsolete, Grandfathered). Draft and Review entries link to open PRs; Final entries link to merged files. Status comes from the README; front matter is enriched in. Filter by status or category |
|
|
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) |
|
package/dist/chips/index.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export interface ChipSummary {
|
|
|
17
17
|
replaces: string | null;
|
|
18
18
|
superseded_by: string | null;
|
|
19
19
|
source_url: string;
|
|
20
|
-
filename: string;
|
|
20
|
+
filename: string | null;
|
|
21
21
|
}
|
|
22
22
|
export interface MergedChip extends ChipSummary {
|
|
23
23
|
source: 'merged';
|
|
@@ -31,6 +31,11 @@ export interface DraftChip extends ChipSummary {
|
|
|
31
31
|
modifies_existing: boolean;
|
|
32
32
|
body?: string;
|
|
33
33
|
}
|
|
34
|
+
export interface ChipIndexEntry extends ChipSummary {
|
|
35
|
+
kind: 'file' | 'pr' | 'external';
|
|
36
|
+
pr: PrContext | null;
|
|
37
|
+
ref: string | null;
|
|
38
|
+
}
|
|
34
39
|
export interface PrContext {
|
|
35
40
|
number: number;
|
|
36
41
|
url: string;
|
|
@@ -45,7 +50,6 @@ export interface PrContext {
|
|
|
45
50
|
head_ref: string;
|
|
46
51
|
base_ref: string;
|
|
47
52
|
}
|
|
48
|
-
export declare function listMergedChips(): Promise<ChipSummary[]>;
|
|
49
53
|
export declare function getMergedChip(number: number, options?: {
|
|
50
54
|
includeBody?: boolean;
|
|
51
55
|
}): Promise<MergedChip | null>;
|
|
@@ -59,10 +63,14 @@ export declare function findChipByNumber(number: number, options?: {
|
|
|
59
63
|
merged: MergedChip | null;
|
|
60
64
|
drafts: DraftChip[];
|
|
61
65
|
}>;
|
|
66
|
+
export declare function listChipsFromReadme(): Promise<ChipIndexEntry[]>;
|
|
62
67
|
export interface SearchOptions {
|
|
63
68
|
status?: string;
|
|
64
69
|
source?: 'merged' | 'draft' | 'both';
|
|
65
70
|
limit?: number;
|
|
66
71
|
}
|
|
67
|
-
export
|
|
72
|
+
export interface SearchMatch extends ChipIndexEntry {
|
|
73
|
+
source: 'merged' | 'draft';
|
|
74
|
+
}
|
|
75
|
+
export declare function searchChips(query: string, options?: SearchOptions): Promise<SearchMatch[]>;
|
|
68
76
|
export { resetCache } from '../github/cache.js';
|
package/dist/chips/index.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { FileNotFoundError, fetchRawFile, githubApi } from '../github/client.js';
|
|
2
2
|
import { getCached } from '../github/cache.js';
|
|
3
3
|
import { buildChipFileName, extractAbstract, extractChipPathInfo, parseChipFrontMatter, } from './parser.js';
|
|
4
|
+
import { getChipReadmeIndex } from './readme-index.js';
|
|
4
5
|
const REPO = 'Chia-Network/chips';
|
|
5
6
|
const DEFAULT_REF = 'main';
|
|
6
|
-
const CHIPS_DIR = 'CHIPs';
|
|
7
|
-
const LISTING_TTL_MS = 5 * 60_000;
|
|
8
7
|
const CONTENT_TTL_MS = 10 * 60_000;
|
|
9
8
|
const PR_LIST_TTL_MS = 2 * 60_000;
|
|
10
9
|
function summarize(fm, body, ref, filename) {
|
|
@@ -29,30 +28,11 @@ function summarize(fm, body, ref, filename) {
|
|
|
29
28
|
filename,
|
|
30
29
|
};
|
|
31
30
|
}
|
|
32
|
-
async function listChipFilenames() {
|
|
33
|
-
return getCached(`chips:contents:${DEFAULT_REF}`, async () => {
|
|
34
|
-
const entries = await githubApi(`/repos/${REPO}/contents/${CHIPS_DIR}?ref=${DEFAULT_REF}`);
|
|
35
|
-
return entries
|
|
36
|
-
.filter((e) => e.type === 'file' && /^chip-\d{1,5}\.md$/i.test(e.name))
|
|
37
|
-
.map((e) => e.path)
|
|
38
|
-
.sort();
|
|
39
|
-
}, LISTING_TTL_MS);
|
|
40
|
-
}
|
|
41
31
|
async function fetchChipFile(ref, path) {
|
|
42
32
|
return getCached(`chips:raw:${ref}:${path}`, () => fetchRawFile(REPO, ref, path), CONTENT_TTL_MS);
|
|
43
33
|
}
|
|
44
|
-
export async function listMergedChips() {
|
|
45
|
-
const paths = await listChipFilenames();
|
|
46
|
-
const summaries = await Promise.all(paths.map(async (path) => {
|
|
47
|
-
const body = await fetchChipFile(DEFAULT_REF, path);
|
|
48
|
-
const fm = parseChipFrontMatter(body);
|
|
49
|
-
return summarize(fm, body, DEFAULT_REF, path);
|
|
50
|
-
}));
|
|
51
|
-
summaries.sort((a, b) => (a.number ?? 0) - (b.number ?? 0));
|
|
52
|
-
return summaries;
|
|
53
|
-
}
|
|
54
34
|
export async function getMergedChip(number, options = {}) {
|
|
55
|
-
const filename =
|
|
35
|
+
const filename = `CHIPs/${buildChipFileName(number)}`;
|
|
56
36
|
try {
|
|
57
37
|
const body = await fetchChipFile(DEFAULT_REF, filename);
|
|
58
38
|
const fm = parseChipFrontMatter(body);
|
|
@@ -173,6 +153,103 @@ export async function findChipByNumber(number, options = {}) {
|
|
|
173
153
|
}
|
|
174
154
|
return { merged, drafts };
|
|
175
155
|
}
|
|
156
|
+
function sparseEntry(idx) {
|
|
157
|
+
return {
|
|
158
|
+
number: idx.number,
|
|
159
|
+
title: idx.title,
|
|
160
|
+
status: idx.status,
|
|
161
|
+
category: null,
|
|
162
|
+
sub_category: null,
|
|
163
|
+
type: null,
|
|
164
|
+
authors: [],
|
|
165
|
+
editors: [],
|
|
166
|
+
description: null,
|
|
167
|
+
abstract: null,
|
|
168
|
+
created: null,
|
|
169
|
+
updated: null,
|
|
170
|
+
comments_uri: null,
|
|
171
|
+
requires: null,
|
|
172
|
+
replaces: null,
|
|
173
|
+
superseded_by: null,
|
|
174
|
+
source_url: idx.url,
|
|
175
|
+
filename: idx.filename,
|
|
176
|
+
kind: idx.kind,
|
|
177
|
+
pr: null,
|
|
178
|
+
ref: null,
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
async function buildIndexEntry(idx, openPrs) {
|
|
182
|
+
if (idx.kind === 'file' && idx.filename) {
|
|
183
|
+
try {
|
|
184
|
+
const body = await fetchChipFile(DEFAULT_REF, idx.filename);
|
|
185
|
+
const fm = parseChipFrontMatter(body);
|
|
186
|
+
const summary = summarize(fm, body, DEFAULT_REF, idx.filename);
|
|
187
|
+
return {
|
|
188
|
+
...summary,
|
|
189
|
+
number: idx.number ?? summary.number,
|
|
190
|
+
title: summary.title ?? idx.title,
|
|
191
|
+
status: idx.status,
|
|
192
|
+
source_url: idx.url,
|
|
193
|
+
kind: 'file',
|
|
194
|
+
pr: null,
|
|
195
|
+
ref: DEFAULT_REF,
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
catch (err) {
|
|
199
|
+
if (err instanceof FileNotFoundError)
|
|
200
|
+
return sparseEntry(idx);
|
|
201
|
+
throw err;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
if (idx.kind === 'pr' && idx.prNumber != null) {
|
|
205
|
+
const pr = openPrs.get(idx.prNumber);
|
|
206
|
+
if (pr) {
|
|
207
|
+
const files = await listPrChipFiles(pr.number).catch(() => []);
|
|
208
|
+
const chipFiles = files.filter((f) => f.status !== 'removed' && extractChipPathInfo(f.filename));
|
|
209
|
+
let chipFile;
|
|
210
|
+
if (idx.number != null) {
|
|
211
|
+
const target = buildChipFileName(idx.number);
|
|
212
|
+
chipFile = chipFiles.find((f) => f.filename.toLowerCase().endsWith(target.toLowerCase()));
|
|
213
|
+
}
|
|
214
|
+
if (!chipFile)
|
|
215
|
+
chipFile = chipFiles[0];
|
|
216
|
+
if (chipFile) {
|
|
217
|
+
const body = await fetchChipFile(pr.head.sha, chipFile.filename).catch(() => null);
|
|
218
|
+
if (body) {
|
|
219
|
+
const fm = parseChipFrontMatter(body);
|
|
220
|
+
const summary = summarize(fm, body, pr.head.sha, chipFile.filename);
|
|
221
|
+
return {
|
|
222
|
+
...summary,
|
|
223
|
+
number: idx.number ?? summary.number,
|
|
224
|
+
title: summary.title ?? idx.title,
|
|
225
|
+
status: idx.status,
|
|
226
|
+
source_url: idx.url,
|
|
227
|
+
kind: 'pr',
|
|
228
|
+
pr: prContext(pr),
|
|
229
|
+
ref: pr.head.sha,
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
return sparseEntry(idx);
|
|
235
|
+
}
|
|
236
|
+
return sparseEntry(idx);
|
|
237
|
+
}
|
|
238
|
+
export async function listChipsFromReadme() {
|
|
239
|
+
const [index, openPrsList] = await Promise.all([getChipReadmeIndex(), listOpenChipPrs()]);
|
|
240
|
+
const openPrs = new Map(openPrsList.map((pr) => [pr.number, pr]));
|
|
241
|
+
const entries = await Promise.all(index.map((idx) => buildIndexEntry(idx, openPrs)));
|
|
242
|
+
entries.sort((a, b) => {
|
|
243
|
+
if (a.number == null && b.number == null)
|
|
244
|
+
return 0;
|
|
245
|
+
if (a.number == null)
|
|
246
|
+
return 1;
|
|
247
|
+
if (b.number == null)
|
|
248
|
+
return -1;
|
|
249
|
+
return a.number - b.number;
|
|
250
|
+
});
|
|
251
|
+
return entries;
|
|
252
|
+
}
|
|
176
253
|
function matchesQuery(s, q) {
|
|
177
254
|
const needle = q.toLowerCase();
|
|
178
255
|
const haystacks = [];
|
|
@@ -188,25 +265,22 @@ function matchesQuery(s, q) {
|
|
|
188
265
|
haystacks.push(String(s.number));
|
|
189
266
|
return haystacks.some((h) => h.toLowerCase().includes(needle));
|
|
190
267
|
}
|
|
268
|
+
function kindToSource(kind) {
|
|
269
|
+
return kind === 'pr' ? 'draft' : 'merged';
|
|
270
|
+
}
|
|
191
271
|
export async function searchChips(query, options = {}) {
|
|
192
272
|
const source = options.source ?? 'both';
|
|
193
273
|
const limit = options.limit ?? 20;
|
|
194
274
|
const statusFilter = options.status?.toLowerCase();
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
if (source === 'draft' || source === 'both') {
|
|
203
|
-
const drafts = await listChipDrafts();
|
|
204
|
-
pool.push(...drafts);
|
|
205
|
-
}
|
|
206
|
-
const filtered = pool.filter((c) => {
|
|
207
|
-
if (statusFilter && (c.status?.toLowerCase() ?? '') !== statusFilter)
|
|
275
|
+
const entries = await listChipsFromReadme();
|
|
276
|
+
const filtered = entries
|
|
277
|
+
.map((e) => ({ ...e, source: kindToSource(e.kind) }))
|
|
278
|
+
.filter((e) => {
|
|
279
|
+
if (source !== 'both' && e.source !== source)
|
|
280
|
+
return false;
|
|
281
|
+
if (statusFilter && (e.status?.toLowerCase() ?? '') !== statusFilter)
|
|
208
282
|
return false;
|
|
209
|
-
return matchesQuery(
|
|
283
|
+
return matchesQuery(e, query);
|
|
210
284
|
});
|
|
211
285
|
return filtered.slice(0, limit);
|
|
212
286
|
}
|
package/dist/chips/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chips/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chips/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type ChipReadmeEntryKind = 'file' | 'pr' | 'external';
|
|
2
|
+
export interface ChipReadmeEntry {
|
|
3
|
+
number: number | null;
|
|
4
|
+
title: string;
|
|
5
|
+
status: string;
|
|
6
|
+
url: string;
|
|
7
|
+
kind: ChipReadmeEntryKind;
|
|
8
|
+
filename: string | null;
|
|
9
|
+
prNumber: number | null;
|
|
10
|
+
}
|
|
11
|
+
export declare function parseChipReadmeIndex(markdown: string): ChipReadmeEntry[];
|
|
12
|
+
export declare function getChipReadmeIndex(): Promise<ChipReadmeEntry[]>;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { fetchRawFile } from '../github/client.js';
|
|
2
|
+
import { getCached } from '../github/cache.js';
|
|
3
|
+
const REPO = 'Chia-Network/chips';
|
|
4
|
+
const DEFAULT_REF = 'main';
|
|
5
|
+
const README_PATH = 'README.md';
|
|
6
|
+
const README_TTL_MS = 5 * 60_000;
|
|
7
|
+
const BULLET_PATTERN = /^\*\s+\[(.+?)\]\((.+?)\)/;
|
|
8
|
+
const FILE_LINK_PATTERN = /^\/?CHIPs\/(chip-\d{1,5}\.md)$/i;
|
|
9
|
+
const PR_LINK_PATTERN = /^https?:\/\/github\.com\/Chia-Network\/chips\/pull\/(\d+)\/?$/i;
|
|
10
|
+
function parseLabel(label) {
|
|
11
|
+
const m = label.match(/^\s*(\d+)\s*[-–—:]\s*(.+?)\s*$/);
|
|
12
|
+
if (m) {
|
|
13
|
+
return { number: Number(m[1]), title: m[2].trim() };
|
|
14
|
+
}
|
|
15
|
+
return { number: null, title: label.trim() };
|
|
16
|
+
}
|
|
17
|
+
function classify(url) {
|
|
18
|
+
const fileMatch = url.match(FILE_LINK_PATTERN);
|
|
19
|
+
if (fileMatch) {
|
|
20
|
+
const filename = `CHIPs/${fileMatch[1]}`;
|
|
21
|
+
return {
|
|
22
|
+
kind: 'file',
|
|
23
|
+
filename,
|
|
24
|
+
prNumber: null,
|
|
25
|
+
absoluteUrl: `https://github.com/${REPO}/blob/${DEFAULT_REF}/${filename}`,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const prMatch = url.match(PR_LINK_PATTERN);
|
|
29
|
+
if (prMatch) {
|
|
30
|
+
return {
|
|
31
|
+
kind: 'pr',
|
|
32
|
+
filename: null,
|
|
33
|
+
prNumber: Number(prMatch[1]),
|
|
34
|
+
absoluteUrl: url,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
return { kind: 'external', filename: null, prNumber: null, absoluteUrl: url };
|
|
38
|
+
}
|
|
39
|
+
export function parseChipReadmeIndex(markdown) {
|
|
40
|
+
const lines = markdown.split(/\r?\n/);
|
|
41
|
+
const entries = [];
|
|
42
|
+
let currentStatus = null;
|
|
43
|
+
for (const raw of lines) {
|
|
44
|
+
const line = raw.trim();
|
|
45
|
+
const heading = line.match(/^###\s+(.+?)\s*$/);
|
|
46
|
+
if (heading) {
|
|
47
|
+
currentStatus = heading[1].trim();
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (line.startsWith('## ')) {
|
|
51
|
+
currentStatus = null;
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (!currentStatus)
|
|
55
|
+
continue;
|
|
56
|
+
const bullet = line.match(BULLET_PATTERN);
|
|
57
|
+
if (!bullet)
|
|
58
|
+
continue;
|
|
59
|
+
const [, label, url] = bullet;
|
|
60
|
+
if (!label || !url)
|
|
61
|
+
continue;
|
|
62
|
+
const { number, title } = parseLabel(label);
|
|
63
|
+
const { kind, filename, prNumber, absoluteUrl } = classify(url);
|
|
64
|
+
entries.push({
|
|
65
|
+
number,
|
|
66
|
+
title,
|
|
67
|
+
status: currentStatus,
|
|
68
|
+
url: absoluteUrl,
|
|
69
|
+
kind,
|
|
70
|
+
filename,
|
|
71
|
+
prNumber,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return entries;
|
|
75
|
+
}
|
|
76
|
+
export async function getChipReadmeIndex() {
|
|
77
|
+
return getCached(`chips:readme:${DEFAULT_REF}`, async () => {
|
|
78
|
+
const body = await fetchRawFile(REPO, DEFAULT_REF, README_PATH);
|
|
79
|
+
return parseChipReadmeIndex(body);
|
|
80
|
+
}, README_TTL_MS);
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=readme-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readme-index.js","sourceRoot":"","sources":["../../src/chips/readme-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { listChipDrafts } from '../../chips/index.js';
|
|
2
2
|
import { errorText, jsonText } from '../shared/response.js';
|
|
3
3
|
export function register(server) {
|
|
4
|
-
server.tool('list_chip_drafts', 'List open pull
|
|
4
|
+
server.tool('list_chip_drafts', 'List the live state of every open pull request against Chia-Network/chips that adds or modifies a CHIP file. Use this for PR review context (author, requested reviewers, draft flag, updated_at) and the modifies_existing flag for amendments. PRs that do not touch a CHIPs/chip-*.md file are filtered out. For the canonical CHIP index across all statuses (including Draft proposals), use list_chips.', {}, async () => {
|
|
5
5
|
try {
|
|
6
6
|
const drafts = await listChipDrafts();
|
|
7
7
|
return jsonText({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-chip-drafts.js","sourceRoot":"","sources":["../../../src/tools/chips/list-chip-drafts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"list-chip-drafts.js","sourceRoot":"","sources":["../../../src/tools/chips/list-chip-drafts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,+YAA+Y,EAC/Y,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;YACtC,OAAO,QAAQ,CAAC;gBACd,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { listChipsFromReadme } from '../../chips/index.js';
|
|
2
2
|
import { chipCategoryFilterSchema, chipStatusFilterSchema } from '../../schemas/chips.js';
|
|
3
3
|
import { errorText, jsonText } from '../shared/response.js';
|
|
4
4
|
export function register(server) {
|
|
5
|
-
server.tool('list_chips', 'List Chia Improvement Proposals (CHIPs)
|
|
5
|
+
server.tool('list_chips', 'List all Chia Improvement Proposals (CHIPs) from the canonical index in the Chia-Network/chips repo README, across every status (Living, Draft, Review, Final, Stagnant, Withdrawn, Obsolete, Grandfathered, Under Consideration). Draft and Review entries point to open PRs; Final entries point to merged files on main. Status comes from the README (authoritative); category, authors, and abstract are enriched from front matter when a CHIP file is available. Use this to find the most recent CHIPs — they are typically in Draft. Optional filters: status, category.', {
|
|
6
6
|
status: chipStatusFilterSchema,
|
|
7
7
|
category: chipCategoryFilterSchema,
|
|
8
8
|
}, async ({ status, category }) => {
|
|
9
9
|
try {
|
|
10
|
-
const all = await
|
|
10
|
+
const all = await listChipsFromReadme();
|
|
11
11
|
const statusLc = status?.toLowerCase();
|
|
12
12
|
const categoryLc = category?.toLowerCase();
|
|
13
13
|
const filtered = all.filter((c) => {
|
|
@@ -20,7 +20,7 @@ export function register(server) {
|
|
|
20
20
|
return jsonText({
|
|
21
21
|
source: 'github',
|
|
22
22
|
repo: 'Chia-Network/chips',
|
|
23
|
-
|
|
23
|
+
index: 'README.md',
|
|
24
24
|
count: filtered.length,
|
|
25
25
|
chips: filtered,
|
|
26
26
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-chips.js","sourceRoot":"","sources":["../../../src/tools/chips/list-chips.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"list-chips.js","sourceRoot":"","sources":["../../../src/tools/chips/list-chips.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,mjBAAmjB,EACnjB;QACE,MAAM,EAAE,sBAAsB;QAC9B,QAAQ,EAAE,wBAAwB;KACnC,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,mBAAmB,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,EAAE,WAAW,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,QAAQ,EAAE,WAAW,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAChC,IAAI,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ;oBAAE,OAAO,KAAK,CAAC;gBAC3E,IAAI,UAAU,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,KAAK,UAAU;oBAAE,OAAO,KAAK,CAAC;gBACjF,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;gBACd,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,QAAQ,CAAC,MAAM;gBACtB,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;QACL,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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (
|
|
52
|
-
|
|
53
|
-
|
|
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":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,WAAW,GAAG;IAClB,sBAAsB;IACtB,WAAW;IACX,YAAY;IACZ,cAAc;IACd,iBAAiB;IACjB,kBAAkB;IAClB,wBAAwB;IACxB,mBAAmB;IACnB,uBAAuB;CACf,CAAC;AAEX,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,cAAc,EACd,8QAA8Q,EAC9Q;QACE,YAAY,EAAE,CAAC;aACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,OAAO,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvB,QAAQ,CAAC,qEAAqE,CAAC;QAClF,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,0DAA0D,CAAC;QACvE,UAAU,EAAE,CAAC;aACV,IAAI,CAAC,WAAW,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CAAC,8DAA8D,CAAC;QAC3E,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,gDAAgD,CAAC;QAC7D,OAAO,EAAE,aAAa;KACvB,EACD,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;QACjE,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAkB,CAAC,CAAC;YAC3C,
|
|
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