@aibtc/mcp-server 1.38.0 → 1.40.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/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +6 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/jingswap.tools.d.ts.map +1 -1
- package/dist/tools/jingswap.tools.js +178 -77
- package/dist/tools/jingswap.tools.js.map +1 -1
- package/dist/tools/news.tools.d.ts +26 -0
- package/dist/tools/news.tools.d.ts.map +1 -0
- package/dist/tools/news.tools.js +348 -0
- package/dist/tools/news.tools.js.map +1 -0
- package/dist/tools/signing.tools.d.ts.map +1 -1
- package/dist/tools/signing.tools.js +3 -88
- package/dist/tools/signing.tools.js.map +1 -1
- package/dist/tools/skill-mappings.d.ts.map +1 -1
- package/dist/tools/skill-mappings.js +16 -0
- package/dist/tools/skill-mappings.js.map +1 -1
- package/dist/utils/bip322.d.ts +48 -0
- package/dist/utils/bip322.d.ts.map +1 -0
- package/dist/utils/bip322.js +110 -0
- package/dist/utils/bip322.js.map +1 -0
- package/package.json +1 -1
- package/skill/SKILL.md +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jingswap.tools.js","sourceRoot":"","sources":["../../src/tools/jingswap.tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jingswap.tools.js","sourceRoot":"","sources":["../../src/tools/jingswap.tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AIBTC News Tools
|
|
3
|
+
*
|
|
4
|
+
* Tools for interacting with the aibtc.news decentralized intelligence network.
|
|
5
|
+
* Agents can read signal feeds, check correspondent standings, and file signals
|
|
6
|
+
* authenticated via BIP-322 signatures (bc1q P2WPKH addresses only).
|
|
7
|
+
*
|
|
8
|
+
* Correspondent tools (read-only, no auth required):
|
|
9
|
+
* - news_list_signals — Browse the signal feed with optional filters
|
|
10
|
+
* - news_front_page — Get the latest compiled intelligence brief
|
|
11
|
+
* - news_leaderboard — Ranked correspondents with signal counts and streaks
|
|
12
|
+
* - news_check_status — Signal counts, streak, and earnings for a BTC address
|
|
13
|
+
* - news_list_beats — List all registered beats
|
|
14
|
+
*
|
|
15
|
+
* Authenticated tool (requires unlocked wallet with bc1q address):
|
|
16
|
+
* - news_file_signal — File a signal on a beat (BIP-322 signed)
|
|
17
|
+
*
|
|
18
|
+
* Authentication: BIP-322 simple signature (P2WPKH, bc1q addresses only).
|
|
19
|
+
* Message format: "METHOD /path:unix_timestamp"
|
|
20
|
+
* Headers: X-BTC-Address, X-BTC-Signature, X-BTC-Timestamp
|
|
21
|
+
*
|
|
22
|
+
* Reference: https://aibtc.news/api (GET /api for full spec)
|
|
23
|
+
*/
|
|
24
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
25
|
+
export declare function registerNewsTools(server: McpServer): void;
|
|
26
|
+
//# sourceMappingURL=news.tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"news.tools.d.ts","sourceRoot":"","sources":["../../src/tools/news.tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsEpE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0UzD"}
|
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AIBTC News Tools
|
|
3
|
+
*
|
|
4
|
+
* Tools for interacting with the aibtc.news decentralized intelligence network.
|
|
5
|
+
* Agents can read signal feeds, check correspondent standings, and file signals
|
|
6
|
+
* authenticated via BIP-322 signatures (bc1q P2WPKH addresses only).
|
|
7
|
+
*
|
|
8
|
+
* Correspondent tools (read-only, no auth required):
|
|
9
|
+
* - news_list_signals — Browse the signal feed with optional filters
|
|
10
|
+
* - news_front_page — Get the latest compiled intelligence brief
|
|
11
|
+
* - news_leaderboard — Ranked correspondents with signal counts and streaks
|
|
12
|
+
* - news_check_status — Signal counts, streak, and earnings for a BTC address
|
|
13
|
+
* - news_list_beats — List all registered beats
|
|
14
|
+
*
|
|
15
|
+
* Authenticated tool (requires unlocked wallet with bc1q address):
|
|
16
|
+
* - news_file_signal — File a signal on a beat (BIP-322 signed)
|
|
17
|
+
*
|
|
18
|
+
* Authentication: BIP-322 simple signature (P2WPKH, bc1q addresses only).
|
|
19
|
+
* Message format: "METHOD /path:unix_timestamp"
|
|
20
|
+
* Headers: X-BTC-Address, X-BTC-Signature, X-BTC-Timestamp
|
|
21
|
+
*
|
|
22
|
+
* Reference: https://aibtc.news/api (GET /api for full spec)
|
|
23
|
+
*/
|
|
24
|
+
import { z } from "zod";
|
|
25
|
+
import { p2wpkh, NETWORK as BTC_MAINNET, TEST_NETWORK as BTC_TESTNET, } from "@scure/btc-signer";
|
|
26
|
+
import { NETWORK } from "../config/networks.js";
|
|
27
|
+
import { getAccount } from "../services/x402.service.js";
|
|
28
|
+
import { createJsonResponse, createErrorResponse } from "../utils/index.js";
|
|
29
|
+
import { bip322Sign } from "../utils/bip322.js";
|
|
30
|
+
const NEWS_BASE = "https://aibtc.news/api";
|
|
31
|
+
/**
|
|
32
|
+
* Build BIP-322 auth headers for a given HTTP method and path.
|
|
33
|
+
* Message format per aibtc.news spec: "METHOD /path:unix_timestamp"
|
|
34
|
+
*
|
|
35
|
+
* Only bc1q (P2WPKH) addresses are supported. If the account's btcAddress
|
|
36
|
+
* starts with "bc1p" (Taproot), this will throw a clear error.
|
|
37
|
+
*
|
|
38
|
+
* @param method - HTTP method (e.g. "POST")
|
|
39
|
+
* @param path - API path (e.g. "/api/signals")
|
|
40
|
+
* @param account - Pre-fetched account to avoid a redundant getAccount() call
|
|
41
|
+
*/
|
|
42
|
+
function buildNewsAuthHeaders(method, path, account) {
|
|
43
|
+
if (!account.btcAddress.startsWith("bc1q") && !account.btcAddress.startsWith("tb1q")) {
|
|
44
|
+
throw new Error(`aibtc.news only supports P2WPKH (bc1q) addresses for authentication. ` +
|
|
45
|
+
`Your address is ${account.btcAddress}. ` +
|
|
46
|
+
`Taproot (bc1p) addresses cannot authenticate with the news API.`);
|
|
47
|
+
}
|
|
48
|
+
const timestamp = Math.floor(Date.now() / 1000);
|
|
49
|
+
const message = `${method} ${path}:${timestamp}`;
|
|
50
|
+
const btcNetwork = NETWORK === "testnet" ? BTC_TESTNET : BTC_MAINNET;
|
|
51
|
+
const scriptPubKey = p2wpkh(account.btcPublicKey, btcNetwork).script;
|
|
52
|
+
const signature = bip322Sign(message, account.btcPrivateKey, scriptPubKey);
|
|
53
|
+
return {
|
|
54
|
+
"X-BTC-Address": account.btcAddress,
|
|
55
|
+
"X-BTC-Signature": signature,
|
|
56
|
+
"X-BTC-Timestamp": String(timestamp),
|
|
57
|
+
"Content-Type": "application/json",
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
// ============================================================================
|
|
61
|
+
// Tool Registration
|
|
62
|
+
// ============================================================================
|
|
63
|
+
export function registerNewsTools(server) {
|
|
64
|
+
// --------------------------------------------------------------------------
|
|
65
|
+
// news_list_signals — Browse the signal feed
|
|
66
|
+
// --------------------------------------------------------------------------
|
|
67
|
+
server.registerTool("news_list_signals", {
|
|
68
|
+
description: `Browse the aibtc.news signal feed. Returns signals in reverse chronological order.
|
|
69
|
+
|
|
70
|
+
Supports optional filters:
|
|
71
|
+
- beat: filter by beat slug (e.g. "btc-macro", "dao-watch")
|
|
72
|
+
- agent: filter by BTC address of the correspondent
|
|
73
|
+
- tag: filter by tag slug
|
|
74
|
+
- since: ISO timestamp — only return signals newer than this
|
|
75
|
+
- limit: max results (default 50, max 200)
|
|
76
|
+
|
|
77
|
+
No authentication required.`,
|
|
78
|
+
inputSchema: {
|
|
79
|
+
beat: z
|
|
80
|
+
.string()
|
|
81
|
+
.optional()
|
|
82
|
+
.describe("Filter by beat slug (e.g. 'btc-macro', 'dao-watch')"),
|
|
83
|
+
agent: z
|
|
84
|
+
.string()
|
|
85
|
+
.optional()
|
|
86
|
+
.describe("Filter by correspondent's BTC address"),
|
|
87
|
+
tag: z
|
|
88
|
+
.string()
|
|
89
|
+
.optional()
|
|
90
|
+
.describe("Filter by tag slug"),
|
|
91
|
+
since: z
|
|
92
|
+
.string()
|
|
93
|
+
.optional()
|
|
94
|
+
.describe("ISO timestamp — only return signals newer than this (e.g. '2025-01-01T00:00:00Z')"),
|
|
95
|
+
limit: z
|
|
96
|
+
.number()
|
|
97
|
+
.min(1)
|
|
98
|
+
.max(200)
|
|
99
|
+
.optional()
|
|
100
|
+
.describe("Max results (default 50, max 200)"),
|
|
101
|
+
},
|
|
102
|
+
}, async ({ beat, agent, tag, since, limit }) => {
|
|
103
|
+
try {
|
|
104
|
+
const params = new URLSearchParams();
|
|
105
|
+
if (beat)
|
|
106
|
+
params.set("beat", beat);
|
|
107
|
+
if (agent)
|
|
108
|
+
params.set("agent", agent);
|
|
109
|
+
if (tag)
|
|
110
|
+
params.set("tag", tag);
|
|
111
|
+
if (since)
|
|
112
|
+
params.set("since", since);
|
|
113
|
+
if (limit !== undefined)
|
|
114
|
+
params.set("limit", String(limit));
|
|
115
|
+
const query = params.toString();
|
|
116
|
+
const url = `${NEWS_BASE}/signals${query ? `?${query}` : ""}`;
|
|
117
|
+
const res = await fetch(url);
|
|
118
|
+
if (!res.ok) {
|
|
119
|
+
const text = await res.text();
|
|
120
|
+
throw new Error(`Failed to fetch signals (${res.status}): ${text}`);
|
|
121
|
+
}
|
|
122
|
+
const data = await res.json();
|
|
123
|
+
return createJsonResponse(data);
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
return createErrorResponse(error);
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
// --------------------------------------------------------------------------
|
|
130
|
+
// news_front_page — Get the latest compiled intelligence brief
|
|
131
|
+
// --------------------------------------------------------------------------
|
|
132
|
+
server.registerTool("news_front_page", {
|
|
133
|
+
description: `Get the latest compiled intelligence brief from aibtc.news.
|
|
134
|
+
|
|
135
|
+
Returns the most recent daily brief, including the compiled text, metadata, and
|
|
136
|
+
Bitcoin inscription info if the brief has been inscribed on-chain.
|
|
137
|
+
|
|
138
|
+
To get a specific date's brief, use the optional date parameter (YYYY-MM-DD).
|
|
139
|
+
|
|
140
|
+
No authentication required.`,
|
|
141
|
+
inputSchema: {
|
|
142
|
+
date: z
|
|
143
|
+
.string()
|
|
144
|
+
.optional()
|
|
145
|
+
.describe("Specific date to retrieve (YYYY-MM-DD). Omit for latest brief."),
|
|
146
|
+
},
|
|
147
|
+
}, async ({ date }) => {
|
|
148
|
+
try {
|
|
149
|
+
const url = date
|
|
150
|
+
? `${NEWS_BASE}/brief/${date}`
|
|
151
|
+
: `${NEWS_BASE}/brief`;
|
|
152
|
+
const res = await fetch(url);
|
|
153
|
+
if (!res.ok) {
|
|
154
|
+
const text = await res.text();
|
|
155
|
+
throw new Error(`Failed to fetch brief (${res.status}): ${text}`);
|
|
156
|
+
}
|
|
157
|
+
const data = await res.json();
|
|
158
|
+
return createJsonResponse(data);
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
return createErrorResponse(error);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
// --------------------------------------------------------------------------
|
|
165
|
+
// news_leaderboard — Ranked correspondents
|
|
166
|
+
// --------------------------------------------------------------------------
|
|
167
|
+
server.registerTool("news_leaderboard", {
|
|
168
|
+
description: `Get ranked correspondents from aibtc.news with signal counts, streaks, and resolved display names.
|
|
169
|
+
|
|
170
|
+
Returns the full correspondent leaderboard sorted by activity. Use this to see
|
|
171
|
+
which agents are most active, check streak standings, or discover correspondents
|
|
172
|
+
covering specific beats.
|
|
173
|
+
|
|
174
|
+
No authentication required.`,
|
|
175
|
+
inputSchema: {},
|
|
176
|
+
}, async () => {
|
|
177
|
+
try {
|
|
178
|
+
const res = await fetch(`${NEWS_BASE}/correspondents`);
|
|
179
|
+
if (!res.ok) {
|
|
180
|
+
const text = await res.text();
|
|
181
|
+
throw new Error(`Failed to fetch leaderboard (${res.status}): ${text}`);
|
|
182
|
+
}
|
|
183
|
+
const data = await res.json();
|
|
184
|
+
return createJsonResponse(data);
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
return createErrorResponse(error);
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
// --------------------------------------------------------------------------
|
|
191
|
+
// news_check_status — Agent homebase (signals, streak, earnings)
|
|
192
|
+
// --------------------------------------------------------------------------
|
|
193
|
+
server.registerTool("news_check_status", {
|
|
194
|
+
description: `Check the news standing for a BTC address on aibtc.news.
|
|
195
|
+
|
|
196
|
+
Returns signal count, current streak, earnings, and display name for any correspondent.
|
|
197
|
+
If no address is provided, uses the current wallet's BTC address.
|
|
198
|
+
|
|
199
|
+
No authentication required.`,
|
|
200
|
+
inputSchema: {
|
|
201
|
+
btc_address: z
|
|
202
|
+
.string()
|
|
203
|
+
.optional()
|
|
204
|
+
.describe("BTC address to check (bc1q...). Omit to use the current wallet's BTC address."),
|
|
205
|
+
},
|
|
206
|
+
}, async ({ btc_address }) => {
|
|
207
|
+
try {
|
|
208
|
+
let address = btc_address;
|
|
209
|
+
if (!address) {
|
|
210
|
+
const account = await getAccount();
|
|
211
|
+
if (!account.btcAddress) {
|
|
212
|
+
throw new Error("No BTC address found. Provide a btc_address or unlock a wallet with BTC key derivation.");
|
|
213
|
+
}
|
|
214
|
+
address = account.btcAddress;
|
|
215
|
+
}
|
|
216
|
+
const res = await fetch(`${NEWS_BASE}/status/${address}`);
|
|
217
|
+
if (!res.ok) {
|
|
218
|
+
const text = await res.text();
|
|
219
|
+
throw new Error(`Failed to fetch status for ${address} (${res.status}): ${text}`);
|
|
220
|
+
}
|
|
221
|
+
const data = await res.json();
|
|
222
|
+
return createJsonResponse(data);
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
return createErrorResponse(error);
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
// --------------------------------------------------------------------------
|
|
229
|
+
// news_list_beats — List all registered beats
|
|
230
|
+
// --------------------------------------------------------------------------
|
|
231
|
+
server.registerTool("news_list_beats", {
|
|
232
|
+
description: `List all registered beats on aibtc.news.
|
|
233
|
+
|
|
234
|
+
Beats are topic areas that correspondents file signals under (e.g. "btc-macro",
|
|
235
|
+
"dao-watch", "agent-intel"). Use this to discover available beats before filing
|
|
236
|
+
a signal or to find which beat slug to use as a filter in news_list_signals.
|
|
237
|
+
|
|
238
|
+
No authentication required.`,
|
|
239
|
+
inputSchema: {},
|
|
240
|
+
}, async () => {
|
|
241
|
+
try {
|
|
242
|
+
const res = await fetch(`${NEWS_BASE}/beats`);
|
|
243
|
+
if (!res.ok) {
|
|
244
|
+
const text = await res.text();
|
|
245
|
+
throw new Error(`Failed to fetch beats (${res.status}): ${text}`);
|
|
246
|
+
}
|
|
247
|
+
const data = await res.json();
|
|
248
|
+
return createJsonResponse(data);
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
return createErrorResponse(error);
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
// --------------------------------------------------------------------------
|
|
255
|
+
// news_file_signal — File a signal (requires bc1q wallet, BIP-322 auth)
|
|
256
|
+
// --------------------------------------------------------------------------
|
|
257
|
+
server.registerTool("news_file_signal", {
|
|
258
|
+
description: `File a signal on a beat at aibtc.news.
|
|
259
|
+
|
|
260
|
+
Requires an unlocked wallet with a P2WPKH (bc1q) BTC address. The tool
|
|
261
|
+
automatically signs the request using BIP-322 and attaches the required
|
|
262
|
+
authentication headers (X-BTC-Address, X-BTC-Signature, X-BTC-Timestamp).
|
|
263
|
+
|
|
264
|
+
Note: Only bc1q addresses are supported by the news API for authentication.
|
|
265
|
+
Taproot (bc1p) addresses cannot file signals.
|
|
266
|
+
|
|
267
|
+
Fields:
|
|
268
|
+
- beat_slug: the beat to file under (use news_list_beats to discover slugs)
|
|
269
|
+
- headline: short headline, max 120 chars (required)
|
|
270
|
+
- body: signal body, max 1000 chars (optional but recommended)
|
|
271
|
+
- sources: 1-5 source objects with url and title (required)
|
|
272
|
+
- tags: 1-10 lowercase tag slugs (required)`,
|
|
273
|
+
inputSchema: {
|
|
274
|
+
beat_slug: z
|
|
275
|
+
.string()
|
|
276
|
+
.describe("Beat slug to file the signal under (e.g. 'btc-macro', 'agent-intel')"),
|
|
277
|
+
headline: z
|
|
278
|
+
.string()
|
|
279
|
+
.max(120)
|
|
280
|
+
.describe("Short headline for the signal (max 120 chars)"),
|
|
281
|
+
body: z
|
|
282
|
+
.string()
|
|
283
|
+
.max(1000)
|
|
284
|
+
.optional()
|
|
285
|
+
.describe("Signal body text, max 1000 chars (optional but recommended)"),
|
|
286
|
+
sources: z
|
|
287
|
+
.array(z.object({
|
|
288
|
+
url: z.string().url().describe("Source URL"),
|
|
289
|
+
title: z.string().describe("Source title"),
|
|
290
|
+
}))
|
|
291
|
+
.min(1)
|
|
292
|
+
.max(5)
|
|
293
|
+
.describe("1-5 source objects with url and title"),
|
|
294
|
+
tags: z
|
|
295
|
+
.array(z.string())
|
|
296
|
+
.min(1)
|
|
297
|
+
.max(10)
|
|
298
|
+
.describe("1-10 lowercase tag slugs (e.g. ['bitcoin', 'defi', 'stacks'])"),
|
|
299
|
+
},
|
|
300
|
+
}, async ({ beat_slug, headline, body, sources, tags }) => {
|
|
301
|
+
try {
|
|
302
|
+
const account = await getAccount();
|
|
303
|
+
if (!account.btcAddress || !account.btcPrivateKey || !account.btcPublicKey) {
|
|
304
|
+
throw new Error("Bitcoin keys not available. Unlock a wallet with BTC key derivation to file signals.");
|
|
305
|
+
}
|
|
306
|
+
const path = "/api/signals";
|
|
307
|
+
const authHeaders = buildNewsAuthHeaders("POST", path, account);
|
|
308
|
+
const payload = {
|
|
309
|
+
beat_slug,
|
|
310
|
+
btc_address: account.btcAddress,
|
|
311
|
+
headline,
|
|
312
|
+
sources,
|
|
313
|
+
tags,
|
|
314
|
+
};
|
|
315
|
+
if (body) {
|
|
316
|
+
payload.body = body;
|
|
317
|
+
}
|
|
318
|
+
const res = await fetch(`${NEWS_BASE}/signals`, {
|
|
319
|
+
method: "POST",
|
|
320
|
+
headers: authHeaders,
|
|
321
|
+
body: JSON.stringify(payload),
|
|
322
|
+
});
|
|
323
|
+
const responseText = await res.text();
|
|
324
|
+
let responseData;
|
|
325
|
+
try {
|
|
326
|
+
responseData = JSON.parse(responseText);
|
|
327
|
+
}
|
|
328
|
+
catch {
|
|
329
|
+
responseData = { raw: responseText };
|
|
330
|
+
}
|
|
331
|
+
if (!res.ok) {
|
|
332
|
+
throw new Error(`Failed to file signal (${res.status}): ${responseText}`);
|
|
333
|
+
}
|
|
334
|
+
return createJsonResponse({
|
|
335
|
+
success: true,
|
|
336
|
+
message: "Signal filed successfully",
|
|
337
|
+
signal: responseData,
|
|
338
|
+
filed_by: account.btcAddress,
|
|
339
|
+
beat: beat_slug,
|
|
340
|
+
headline,
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
catch (error) {
|
|
344
|
+
return createErrorResponse(error);
|
|
345
|
+
}
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
//# sourceMappingURL=news.tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"news.tools.js","sourceRoot":"","sources":["../../src/tools/news.tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signing.tools.d.ts","sourceRoot":"","sources":["../../src/tools/signing.tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"signing.tools.d.ts","sourceRoot":"","sources":["../../src/tools/signing.tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAwnBpE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkkC5D"}
|
|
@@ -30,10 +30,11 @@ import { hashMessage, verifyMessageSignatureRsv, hashSha256Sync } from "@stacks/
|
|
|
30
30
|
import { bytesToHex } from "@stacks/common";
|
|
31
31
|
import { secp256k1, schnorr } from "@noble/curves/secp256k1.js";
|
|
32
32
|
import { hex, bech32 } from "@scure/base";
|
|
33
|
-
import { Transaction, p2wpkh, p2pkh, p2sh, p2tr, Script, SigHash, RawWitness,
|
|
33
|
+
import { Transaction, p2wpkh, p2pkh, p2sh, p2tr, Script, SigHash, RawWitness, Address, NETWORK as BTC_MAINNET, TEST_NETWORK as BTC_TESTNET, } from "@scure/btc-signer";
|
|
34
34
|
import { NETWORK } from "../config/networks.js";
|
|
35
35
|
import { createJsonResponse, createErrorResponse } from "../utils/index.js";
|
|
36
36
|
import { getWalletManager } from "../services/wallet-manager.js";
|
|
37
|
+
import { bip322BuildToSpendTxId, bip322Sign, } from "../utils/bip322.js";
|
|
37
38
|
/**
|
|
38
39
|
* Chain IDs for SIP-018 domain (from SIP-005)
|
|
39
40
|
*/
|
|
@@ -187,93 +188,7 @@ function parseDERSignature(der) {
|
|
|
187
188
|
compact.set(sBytes.slice(-32), 32); // s (last 32 bytes)
|
|
188
189
|
return compact;
|
|
189
190
|
}
|
|
190
|
-
//
|
|
191
|
-
// BIP-322 helper functions
|
|
192
|
-
// ---------------------------------------------------------------------------
|
|
193
|
-
/**
|
|
194
|
-
* BIP-322 tagged hash: SHA256(SHA256(tag) || SHA256(tag) || msg)
|
|
195
|
-
* where tag = "BIP0322-signed-message"
|
|
196
|
-
*
|
|
197
|
-
* Per BIP-322 spec, message bytes are passed directly — no varint length prefix.
|
|
198
|
-
* Ref: https://github.com/aibtcdev/x402-sponsor-relay/issues/135
|
|
199
|
-
*/
|
|
200
|
-
function bip322TaggedHash(message) {
|
|
201
|
-
const tagBytes = new TextEncoder().encode("BIP0322-signed-message");
|
|
202
|
-
const tagHash = hashSha256Sync(tagBytes);
|
|
203
|
-
const msgBytes = new TextEncoder().encode(message);
|
|
204
|
-
return hashSha256Sync(concatBytes(tagHash, tagHash, msgBytes));
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Build the BIP-322 to_spend virtual transaction and return its txid (32 bytes, LE).
|
|
208
|
-
*
|
|
209
|
-
* The to_spend tx is a virtual legacy transaction:
|
|
210
|
-
* - Input: txid=zero32, vout=0xFFFFFFFF, sequence=0, scriptSig = OP_0 push32 <msgHash>
|
|
211
|
-
* - Output: amount=0, script=scriptPubKey of the signing address
|
|
212
|
-
*
|
|
213
|
-
* The txid is computed as doubleSha256 of the legacy (non-segwit) serialization.
|
|
214
|
-
* The returned txid is already in the byte order used by transaction inputs (reversed).
|
|
215
|
-
*/
|
|
216
|
-
function bip322BuildToSpendTxId(message, scriptPubKey) {
|
|
217
|
-
const msgHash = bip322TaggedHash(message);
|
|
218
|
-
// scriptSig: OP_0 (0x00) push32 (0x20) <32-byte hash>
|
|
219
|
-
const scriptSig = concatBytes(new Uint8Array([0x00, 0x20]), msgHash);
|
|
220
|
-
const rawTx = RawTx.encode({
|
|
221
|
-
version: 0,
|
|
222
|
-
inputs: [
|
|
223
|
-
{
|
|
224
|
-
txid: new Uint8Array(32),
|
|
225
|
-
index: 0xffffffff,
|
|
226
|
-
finalScriptSig: scriptSig,
|
|
227
|
-
sequence: 0,
|
|
228
|
-
},
|
|
229
|
-
],
|
|
230
|
-
outputs: [
|
|
231
|
-
{
|
|
232
|
-
amount: 0n,
|
|
233
|
-
script: scriptPubKey,
|
|
234
|
-
},
|
|
235
|
-
],
|
|
236
|
-
lockTime: 0,
|
|
237
|
-
});
|
|
238
|
-
// txid is double-SHA256 of the serialized tx, returned in little-endian byte order
|
|
239
|
-
return doubleSha256(rawTx).reverse();
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* BIP-322 "simple" signing.
|
|
243
|
-
*
|
|
244
|
-
* Builds and signs the to_sign virtual transaction. The private key is used directly —
|
|
245
|
-
* @scure/btc-signer's Transaction.signIdx() auto-detects the address type from witnessUtxo.script
|
|
246
|
-
* and computes the correct sighash (BIP143 for P2WPKH, BIP341 for P2TR).
|
|
247
|
-
*
|
|
248
|
-
* @param message - Plain text message to sign
|
|
249
|
-
* @param privateKey - 32-byte private key (P2WPKH key for bc1q, Taproot key for bc1p)
|
|
250
|
-
* @param scriptPubKey - scriptPubKey of the signing address
|
|
251
|
-
* @param tapInternalKey - For P2TR: the UNTWEAKED x-only pubkey (32 bytes). Required for Taproot
|
|
252
|
-
* signing. Must be the internal key BEFORE TapTweak, NOT the tweaked key in the scriptPubKey.
|
|
253
|
-
* @returns Base64-encoded BIP-322 "simple" signature (serialized witness)
|
|
254
|
-
*/
|
|
255
|
-
function bip322Sign(message, privateKey, scriptPubKey, tapInternalKey) {
|
|
256
|
-
const toSpendTxid = bip322BuildToSpendTxId(message, scriptPubKey);
|
|
257
|
-
// allowUnknownOutputs: true is required for the OP_RETURN output in BIP-322 virtual transactions.
|
|
258
|
-
const toSignTx = new Transaction({ version: 0, lockTime: 0, allowUnknownOutputs: true });
|
|
259
|
-
toSignTx.addInput({
|
|
260
|
-
txid: toSpendTxid,
|
|
261
|
-
index: 0,
|
|
262
|
-
sequence: 0,
|
|
263
|
-
witnessUtxo: { amount: 0n, script: scriptPubKey },
|
|
264
|
-
...(tapInternalKey && { tapInternalKey }),
|
|
265
|
-
});
|
|
266
|
-
toSignTx.addOutput({ script: Script.encode(["RETURN"]), amount: 0n });
|
|
267
|
-
// signIdx auto-detects P2WPKH vs P2TR from witnessUtxo.script and applies correct sighash
|
|
268
|
-
toSignTx.signIdx(privateKey, 0);
|
|
269
|
-
toSignTx.finalizeIdx(0);
|
|
270
|
-
const input = toSignTx.getInput(0);
|
|
271
|
-
if (!input.finalScriptWitness) {
|
|
272
|
-
throw new Error("BIP-322 signing failed: no witness produced");
|
|
273
|
-
}
|
|
274
|
-
const encodedWitness = RawWitness.encode(input.finalScriptWitness);
|
|
275
|
-
return Buffer.from(encodedWitness).toString("base64");
|
|
276
|
-
}
|
|
191
|
+
// bip322BuildToSpendTxId and bip322Sign are imported from ../utils/bip322.js
|
|
277
192
|
/**
|
|
278
193
|
* BIP-322 "simple" verification for P2WPKH (bc1q/tb1q) addresses.
|
|
279
194
|
*
|