chia-explorer 0.1.4 → 0.1.5

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.
@@ -29,4 +29,6 @@ export declare function fetchCoinRecordsByPuzzleHash(agent: RPCAgent, puzzleHash
29
29
  }): Promise<CoinRecordLike[]>;
30
30
  export declare function fetchCoinRecordsByParentIds(agent: RPCAgent, parentIds: readonly string[], options?: {
31
31
  includeSpent?: boolean;
32
+ startHeight?: number;
33
+ endHeight?: number;
32
34
  }): Promise<CoinRecordLike[]>;
@@ -60,6 +60,10 @@ export async function fetchCoinRecordsByParentIds(agent, parentIds, options = {}
60
60
  parent_ids: batch,
61
61
  include_spent_coins: includeSpent,
62
62
  };
63
+ if (options.startHeight !== undefined)
64
+ payload.start_height = options.startHeight;
65
+ if (options.endHeight !== undefined)
66
+ payload.end_height = options.endHeight;
63
67
  const res = await get_coin_records_by_parent_ids(agent, payload);
64
68
  const records = (res.coin_records ?? []);
65
69
  all.push(...records);
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/coinset/pagination.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/coinset/pagination.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -6,10 +6,13 @@ import { register as registerGetPeakHeight } from './tools/blockchain/get-peak-h
6
6
  import { register as registerGetBlockByHeight } from './tools/blockchain/get-block-by-height.js';
7
7
  import { register as registerGetBlockByHash } from './tools/blockchain/get-block-by-hash.js';
8
8
  import { register as registerCountBlockTransactions } from './tools/blockchain/count-block-transactions.js';
9
+ import { register as registerGetBlockAdditionsAndRemovals } from './tools/blockchain/get-block-additions-and-removals.js';
9
10
  import { register as registerGetBalance } from './tools/coins/get-balance.js';
10
11
  import { register as registerGetCoinRecordsByPuzzleHash } from './tools/coins/get-coin-records-by-puzzle-hash.js';
12
+ import { register as registerGetCoinRecordsByParentIds } from './tools/coins/get-coin-records-by-parent-ids.js';
11
13
  import { register as registerGetCoinByName } from './tools/coins/get-coin-by-name.js';
12
14
  import { register as registerCalculateCoinName } from './tools/coins/calculate-coin-name.js';
15
+ import { register as registerGetPuzzleAndSolution } from './tools/coins/get-puzzle-and-solution.js';
13
16
  import { register as registerAddressToPuzzleHash } from './tools/addresses/address-to-puzzle-hash.js';
14
17
  import { register as registerPuzzleHashToAddress } from './tools/addresses/puzzle-hash-to-address.js';
15
18
  import { register as registerGetXchPrice } from './tools/price/get-xch-price.js';
@@ -36,10 +39,13 @@ export function createServer() {
36
39
  registerGetBlockByHeight(server);
37
40
  registerGetBlockByHash(server);
38
41
  registerCountBlockTransactions(server);
42
+ registerGetBlockAdditionsAndRemovals(server);
39
43
  registerGetBalance(server);
40
44
  registerGetCoinRecordsByPuzzleHash(server);
45
+ registerGetCoinRecordsByParentIds(server);
41
46
  registerGetCoinByName(server);
42
47
  registerCalculateCoinName(server);
48
+ registerGetPuzzleAndSolution(server);
43
49
  registerAddressToPuzzleHash(server);
44
50
  registerPuzzleHashToAddress(server);
45
51
  registerGetXchPrice(server);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,QAAQ,IAAI,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACpG,OAAO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,EAAE,QAAQ,IAAI,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EAAE,QAAQ,IAAI,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACjG,OAAO,EAAE,QAAQ,IAAI,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EAAE,QAAQ,IAAI,8BAA8B,EAAE,MAAM,gDAAgD,CAAC;AAE5G,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,QAAQ,IAAI,kCAAkC,EAAE,MAAM,kDAAkD,CAAC;AAClH,OAAO,EAAE,QAAQ,IAAI,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,QAAQ,IAAI,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAE7F,OAAO,EAAE,QAAQ,IAAI,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AACtG,OAAO,EAAE,QAAQ,IAAI,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAEtG,OAAO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,QAAQ,IAAI,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAE5F,OAAO,EAAE,QAAQ,IAAI,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,QAAQ,IAAI,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,QAAQ,IAAI,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAErG,OAAO,EAAE,QAAQ,IAAI,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAE,QAAQ,IAAI,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,QAAQ,IAAI,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,QAAQ,IAAI,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAExF,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,EAC3C;QACE,YAAY,EACV,4FAA4F;YAC5F,wEAAwE;YACxE,sDAAsD;YACtD,2GAA2G;YAC3G,0FAA0F;YAC1F,uCAAuC;KAC1C,CACF,CAAC;IAEF,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,8BAA8B,CAAC,MAAM,CAAC,CAAC;IAEvC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,kCAAkC,CAAC,MAAM,CAAC,CAAC;IAC3C,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAElC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAEpC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEjC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAErC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAErC,OAAO,MAAM,CAAC;AAChB,CAAC"}
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,52 @@
1
+ import { z } from 'zod';
2
+ import { get_additions_and_removals, get_block_record_by_height, } from 'chia-agent/api/rpc/full_node/index.js';
3
+ import { getAgent } from '../../coinset/agent.js';
4
+ import { hex32Schema, heightSchema, networkSchema } from '../../schemas/common.js';
5
+ import { stripHexPrefix } from '../../chia/hex.js';
6
+ import { errorText, jsonText } from '../shared/response.js';
7
+ export function register(server) {
8
+ server.tool('get_block_additions_and_removals', 'List every coin created (additions) and destroyed (removals) in a single block. Pass either height OR header_hash. Use this when a singleton control coin and funds coin spend together — direct parent-id lookup misses the funds child but this tool surfaces it.', {
9
+ height: heightSchema.optional(),
10
+ header_hash: hex32Schema.optional(),
11
+ network: networkSchema,
12
+ }, async ({ height, header_hash, network }) => {
13
+ try {
14
+ if (height === undefined && header_hash === undefined) {
15
+ throw new Error('provide either height or header_hash');
16
+ }
17
+ if (height !== undefined && header_hash !== undefined) {
18
+ throw new Error('provide only one of height or header_hash, not both');
19
+ }
20
+ const agent = getAgent(network);
21
+ let resolvedHash;
22
+ let resolvedHeight = null;
23
+ if (header_hash !== undefined) {
24
+ resolvedHash = stripHexPrefix(header_hash).toLowerCase();
25
+ }
26
+ else {
27
+ const rec = await get_block_record_by_height(agent, { height: height });
28
+ if (!rec.block_record)
29
+ throw new Error(`no block record at height ${height}`);
30
+ resolvedHash = rec.block_record.header_hash;
31
+ resolvedHeight = rec.block_record.height;
32
+ }
33
+ const res = await get_additions_and_removals(agent, { header_hash: resolvedHash });
34
+ const additions = res.additions ?? [];
35
+ const removals = res.removals ?? [];
36
+ return jsonText({
37
+ network,
38
+ height: resolvedHeight,
39
+ header_hash: resolvedHash,
40
+ additions_count: additions.length,
41
+ removals_count: removals.length,
42
+ additions,
43
+ removals,
44
+ });
45
+ }
46
+ catch (err) {
47
+ return errorText(err);
48
+ }
49
+ });
50
+ }
51
+ void z;
52
+ //# sourceMappingURL=get-block-additions-and-removals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-block-additions-and-removals.js","sourceRoot":"","sources":["../../../src/tools/blockchain/get-block-additions-and-removals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,kCAAkC,EAClC,qQAAqQ,EACrQ;QACE,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE;QAC/B,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;QACnC,OAAO,EAAE,aAAa;KACvB,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;QACzC,IAAI,CAAC;YACH,IAAI,MAAM,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,MAAM,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAkB,CAAC,CAAC;YAC3C,IAAI,YAAoB,CAAC;YACzB,IAAI,cAAc,GAAkB,IAAI,CAAC;YACzC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,YAAY,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,MAAM,0BAA0B,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAgB,EAAE,CAAC,CAAC;gBAClF,IAAI,CAAC,GAAG,CAAC,YAAY;oBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAO,EAAE,CAAC,CAAC;gBAC/E,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC;gBAC5C,cAAc,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC;YAC3C,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,0BAA0B,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;YACnF,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;YACpC,OAAO,QAAQ,CAAC;gBACd,OAAO;gBACP,MAAM,EAAE,cAAc;gBACtB,WAAW,EAAE,YAAY;gBACzB,eAAe,EAAE,SAAS,CAAC,MAAM;gBACjC,cAAc,EAAE,QAAQ,CAAC,MAAM;gBAC/B,SAAS;gBACT,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,KAAK,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function register(server: McpServer): void;
@@ -0,0 +1,40 @@
1
+ import { z } from 'zod';
2
+ import { getAgent } from '../../coinset/agent.js';
3
+ import { fetchCoinRecordsByParentIds } from '../../coinset/pagination.js';
4
+ import { hex32Schema, networkSchema } from '../../schemas/common.js';
5
+ import { stripHexPrefix } from '../../chia/hex.js';
6
+ import { errorText, jsonText } from '../shared/response.js';
7
+ export function register(server) {
8
+ server.tool('get_coin_records_by_parent_ids', 'Return raw coin records for the given parent coin names. Use this to find the children produced by spending a coin. include_spent_coins defaults to true.', {
9
+ parent_ids: z
10
+ .array(hex32Schema)
11
+ .min(1)
12
+ .max(1000)
13
+ .describe('32-byte coin names (parent ids), 0x-prefixed or bare hex'),
14
+ include_spent_coins: z.boolean().optional().describe('Include spent children (default true)'),
15
+ start_height: z.number().int().nonnegative().optional(),
16
+ end_height: z.number().int().nonnegative().optional(),
17
+ network: networkSchema,
18
+ }, async ({ parent_ids, include_spent_coins, start_height, end_height, network }) => {
19
+ try {
20
+ const agent = getAgent(network);
21
+ const normalized = parent_ids.map((id) => stripHexPrefix(id).toLowerCase());
22
+ const records = await fetchCoinRecordsByParentIds(agent, normalized, {
23
+ includeSpent: include_spent_coins ?? true,
24
+ ...(start_height !== undefined ? { startHeight: start_height } : {}),
25
+ ...(end_height !== undefined ? { endHeight: end_height } : {}),
26
+ });
27
+ return jsonText({
28
+ network,
29
+ parent_ids: normalized,
30
+ parent_count: normalized.length,
31
+ coin_count: records.length,
32
+ coin_records: records,
33
+ });
34
+ }
35
+ catch (err) {
36
+ return errorText(err);
37
+ }
38
+ });
39
+ }
40
+ //# sourceMappingURL=get-coin-records-by-parent-ids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-coin-records-by-parent-ids.js","sourceRoot":"","sources":["../../../src/tools/coins/get-coin-records-by-parent-ids.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,gCAAgC,EAChC,2JAA2J,EAC3J;QACE,UAAU,EAAE,CAAC;aACV,KAAK,CAAC,WAAW,CAAC;aAClB,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,IAAI,CAAC;aACT,QAAQ,CAAC,0DAA0D,CAAC;QACvE,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAC7F,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;QACvD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;QACrD,OAAO,EAAE,aAAa;KACvB,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/E,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAkB,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5E,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,KAAK,EAAE,UAAU,EAAE;gBACnE,YAAY,EAAE,mBAAmB,IAAI,IAAI;gBACzC,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/D,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;gBACd,OAAO;gBACP,UAAU,EAAE,UAAU;gBACtB,YAAY,EAAE,UAAU,CAAC,MAAM;gBAC/B,UAAU,EAAE,OAAO,CAAC,MAAM;gBAC1B,YAAY,EAAE,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function register(server: McpServer): void;
@@ -0,0 +1,31 @@
1
+ import { get_puzzle_and_solution } from 'chia-agent/api/rpc/full_node/index.js';
2
+ import { getAgent } from '../../coinset/agent.js';
3
+ import { hex32Schema, heightSchema, networkSchema } from '../../schemas/common.js';
4
+ import { stripHexPrefix } from '../../chia/hex.js';
5
+ import { errorText, jsonText } from '../shared/response.js';
6
+ export function register(server) {
7
+ server.tool('get_puzzle_and_solution', 'Fetch the CLVM puzzle reveal and solution for a coin at its spent block height. Reveals what a spend actually did — required for decoding singleton state transitions.', {
8
+ coin_id: hex32Schema.describe('32-byte coin name'),
9
+ height: heightSchema.describe('The spent_block_index of the coin (the block where the coin was spent)'),
10
+ network: networkSchema,
11
+ }, async ({ coin_id, height, network }) => {
12
+ try {
13
+ const agent = getAgent(network);
14
+ const normalized = stripHexPrefix(coin_id).toLowerCase();
15
+ const res = await get_puzzle_and_solution(agent, {
16
+ coin_id: normalized,
17
+ height,
18
+ });
19
+ return jsonText({
20
+ network,
21
+ coin_id: normalized,
22
+ height,
23
+ coin_solution: res.coin_solution,
24
+ });
25
+ }
26
+ catch (err) {
27
+ return errorText(err);
28
+ }
29
+ });
30
+ }
31
+ //# sourceMappingURL=get-puzzle-and-solution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-puzzle-and-solution.js","sourceRoot":"","sources":["../../../src/tools/coins/get-puzzle-and-solution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,wKAAwK,EACxK;QACE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAClD,MAAM,EAAE,YAAY,CAAC,QAAQ,CAC3B,wEAAwE,CACzE;QACD,OAAO,EAAE,aAAa;KACvB,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAkB,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACzD,MAAM,GAAG,GAAG,MAAM,uBAAuB,CAAC,KAAK,EAAE;gBAC/C,OAAO,EAAE,UAAU;gBACnB,MAAM;aACP,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;gBACd,OAAO;gBACP,OAAO,EAAE,UAAU;gBACnB,MAAM;gBACN,aAAa,EAAE,GAAG,CAAC,aAAa;aACjC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chia-explorer",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
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",