@aibtc/mcp-server 1.48.0 → 1.49.1
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/services/lightning/provider.d.ts +68 -0
- package/dist/services/lightning/provider.d.ts.map +1 -0
- package/dist/services/lightning/provider.js +8 -0
- package/dist/services/lightning/provider.js.map +1 -0
- package/dist/services/lightning/spark-provider.d.ts +41 -0
- package/dist/services/lightning/spark-provider.d.ts.map +1 -0
- package/dist/services/lightning/spark-provider.js +165 -0
- package/dist/services/lightning/spark-provider.js.map +1 -0
- package/dist/services/lightning-manager.d.ts +96 -0
- package/dist/services/lightning-manager.d.ts.map +1 -0
- package/dist/services/lightning-manager.js +226 -0
- package/dist/services/lightning-manager.js.map +1 -0
- package/dist/services/sbtc-deposit.service.d.ts.map +1 -1
- package/dist/services/sbtc-deposit.service.js +7 -13
- package/dist/services/sbtc-deposit.service.js.map +1 -1
- package/dist/services/unisat-indexer.d.ts +5 -0
- package/dist/services/unisat-indexer.d.ts.map +1 -1
- package/dist/services/unisat-indexer.js +8 -0
- package/dist/services/unisat-indexer.js.map +1 -1
- package/dist/services/x402.service.d.ts.map +1 -1
- package/dist/services/x402.service.js +228 -0
- package/dist/services/x402.service.js.map +1 -1
- package/dist/tools/bitcoin.tools.d.ts.map +1 -1
- package/dist/tools/bitcoin.tools.js +26 -46
- package/dist/tools/bitcoin.tools.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/lightning.tools.d.ts +11 -0
- package/dist/tools/lightning.tools.d.ts.map +1 -0
- package/dist/tools/lightning.tools.js +333 -0
- package/dist/tools/lightning.tools.js.map +1 -0
- package/dist/tools/styx.tools.d.ts.map +1 -1
- package/dist/tools/styx.tools.js +28 -30
- package/dist/tools/styx.tools.js.map +1 -1
- package/dist/utils/l402-protocol.d.ts +64 -0
- package/dist/utils/l402-protocol.d.ts.map +1 -0
- package/dist/utils/l402-protocol.js +114 -0
- package/dist/utils/l402-protocol.js.map +1 -0
- package/package.json +3 -1
- package/skill/SKILL.md +1 -1
- package/dist/services/ordinal-indexer.d.ts +0 -128
- package/dist/services/ordinal-indexer.d.ts.map +0 -1
- package/dist/services/ordinal-indexer.js +0 -126
- package/dist/services/ordinal-indexer.js.map +0 -1
|
@@ -16,7 +16,7 @@ import { createJsonResponse, createErrorResponse } from "../utils/index.js";
|
|
|
16
16
|
import { getWalletManager } from "../services/wallet-manager.js";
|
|
17
17
|
import { MempoolApi, getMempoolAddressUrl, getMempoolTxUrl, } from "../services/mempool-api.js";
|
|
18
18
|
import { buildAndSignBtcTransaction } from "../transactions/bitcoin-builder.js";
|
|
19
|
-
import {
|
|
19
|
+
import { UnisatIndexer } from "../services/unisat-indexer.js";
|
|
20
20
|
/**
|
|
21
21
|
* Get the Bitcoin address to use for queries.
|
|
22
22
|
* Prefers the provided address, falls back to wallet's btcAddress.
|
|
@@ -244,30 +244,22 @@ export function registerBitcoinTools(server) {
|
|
|
244
244
|
const api = new MempoolApi(NETWORK);
|
|
245
245
|
// Fetch UTXOs - use cardinal UTXOs by default for safety
|
|
246
246
|
let utxos;
|
|
247
|
-
let testnetWarning = "";
|
|
248
247
|
if (includeOrdinals) {
|
|
249
248
|
// Power user mode: use all UTXOs
|
|
250
249
|
utxos = await api.getUtxos(account.btcAddress);
|
|
251
250
|
}
|
|
252
251
|
else {
|
|
253
|
-
// Safe mode:
|
|
254
|
-
//
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
testnetWarning =
|
|
258
|
-
" Note: Ordinal protection is not available on testnet. All UTXOs were used.";
|
|
259
|
-
}
|
|
260
|
-
else {
|
|
261
|
-
const indexer = new OrdinalIndexer(NETWORK);
|
|
262
|
-
utxos = await indexer.getCardinalUtxos(account.btcAddress);
|
|
263
|
-
}
|
|
252
|
+
// Safe mode: Unisat-filtered cardinal UTXOs only,
|
|
253
|
+
// excluding inscription-bearing and rune-bearing outputs.
|
|
254
|
+
const indexer = new UnisatIndexer(NETWORK);
|
|
255
|
+
utxos = await indexer.getCardinalUtxos(account.btcAddress);
|
|
264
256
|
}
|
|
265
257
|
if (utxos.length === 0) {
|
|
266
258
|
const errorMsg = includeOrdinals
|
|
267
259
|
? `No UTXOs found for address ${account.btcAddress}`
|
|
268
260
|
: `No cardinal UTXOs available for address ${account.btcAddress}. ` +
|
|
269
|
-
`
|
|
270
|
-
`Set includeOrdinals=true to spend them (WARNING: may destroy inscriptions).`;
|
|
261
|
+
`Your remaining UTXOs may carry inscriptions or runes. ` +
|
|
262
|
+
`Set includeOrdinals=true to spend them (WARNING: may destroy inscriptions or runes).`;
|
|
271
263
|
throw new Error(errorMsg);
|
|
272
264
|
}
|
|
273
265
|
// Resolve fee rate
|
|
@@ -327,9 +319,6 @@ export function registerBitcoinTools(server) {
|
|
|
327
319
|
sender: account.btcAddress,
|
|
328
320
|
network: NETWORK,
|
|
329
321
|
};
|
|
330
|
-
if (testnetWarning) {
|
|
331
|
-
response.warning = testnetWarning.trim();
|
|
332
|
-
}
|
|
333
322
|
return createJsonResponse(response);
|
|
334
323
|
}
|
|
335
324
|
catch (error) {
|
|
@@ -338,10 +327,10 @@ export function registerBitcoinTools(server) {
|
|
|
338
327
|
});
|
|
339
328
|
// Get cardinal UTXOs (safe to spend)
|
|
340
329
|
server.registerTool("get_cardinal_utxos", {
|
|
341
|
-
description: "Get cardinal UTXOs (safe to spend - no inscriptions). " +
|
|
342
|
-
"Cardinal UTXOs are regular Bitcoin outputs that do not contain ordinal inscriptions. " +
|
|
330
|
+
description: "Get cardinal UTXOs (safe to spend - no inscriptions or runes). " +
|
|
331
|
+
"Cardinal UTXOs are regular Bitcoin outputs that do not contain ordinal inscriptions or rune balances. " +
|
|
343
332
|
"These UTXOs can be safely used for regular Bitcoin transfers and fees. " +
|
|
344
|
-
"
|
|
333
|
+
"Backed by the Unisat indexer; set UNISAT_API_KEY to lift free-tier rate limits.",
|
|
345
334
|
inputSchema: {
|
|
346
335
|
address: z
|
|
347
336
|
.string()
|
|
@@ -356,7 +345,7 @@ export function registerBitcoinTools(server) {
|
|
|
356
345
|
}, async ({ address, confirmedOnly }) => {
|
|
357
346
|
try {
|
|
358
347
|
const btcAddress = await getBtcAddress(address);
|
|
359
|
-
const indexer = new
|
|
348
|
+
const indexer = new UnisatIndexer(NETWORK);
|
|
360
349
|
let utxos = await indexer.getCardinalUtxos(btcAddress);
|
|
361
350
|
if (confirmedOnly) {
|
|
362
351
|
utxos = utxos.filter((u) => u.status.confirmed);
|
|
@@ -369,10 +358,6 @@ export function registerBitcoinTools(server) {
|
|
|
369
358
|
summary: summarizeUtxos(utxos),
|
|
370
359
|
explorerUrl: getMempoolAddressUrl(btcAddress, NETWORK),
|
|
371
360
|
};
|
|
372
|
-
if (NETWORK === "testnet") {
|
|
373
|
-
response.warning =
|
|
374
|
-
"Ordinal indexing not available on testnet. All UTXOs shown as cardinal.";
|
|
375
|
-
}
|
|
376
361
|
return createJsonResponse(response);
|
|
377
362
|
}
|
|
378
363
|
catch (error) {
|
|
@@ -381,10 +366,9 @@ export function registerBitcoinTools(server) {
|
|
|
381
366
|
});
|
|
382
367
|
// Get ordinal UTXOs (contain inscriptions)
|
|
383
368
|
server.registerTool("get_ordinal_utxos", {
|
|
384
|
-
description: "Get ordinal UTXOs (contain inscriptions - do not spend). " +
|
|
385
|
-
"Ordinal UTXOs
|
|
386
|
-
"
|
|
387
|
-
"Only available on mainnet (Hiro Ordinals API does not index testnet).",
|
|
369
|
+
description: "Get ordinal UTXOs (contain inscriptions or runes - do not spend). " +
|
|
370
|
+
"Ordinal UTXOs carry inscriptions or rune balances and should not be spent in regular transfers. " +
|
|
371
|
+
"Backed by the Unisat indexer; set UNISAT_API_KEY to lift free-tier rate limits.",
|
|
388
372
|
inputSchema: {
|
|
389
373
|
address: z
|
|
390
374
|
.string()
|
|
@@ -399,7 +383,7 @@ export function registerBitcoinTools(server) {
|
|
|
399
383
|
}, async ({ address, confirmedOnly }) => {
|
|
400
384
|
try {
|
|
401
385
|
const btcAddress = await getBtcAddress(address);
|
|
402
|
-
const indexer = new
|
|
386
|
+
const indexer = new UnisatIndexer(NETWORK);
|
|
403
387
|
let utxos = await indexer.getOrdinalUtxos(btcAddress);
|
|
404
388
|
if (confirmedOnly) {
|
|
405
389
|
utxos = utxos.filter((u) => u.status.confirmed);
|
|
@@ -412,10 +396,6 @@ export function registerBitcoinTools(server) {
|
|
|
412
396
|
summary: summarizeUtxos(utxos),
|
|
413
397
|
explorerUrl: getMempoolAddressUrl(btcAddress, NETWORK),
|
|
414
398
|
};
|
|
415
|
-
if (NETWORK === "testnet") {
|
|
416
|
-
response.warning =
|
|
417
|
-
"Ordinal indexing not available on testnet. No inscriptions can be detected.";
|
|
418
|
-
}
|
|
419
399
|
return createJsonResponse(response);
|
|
420
400
|
}
|
|
421
401
|
catch (error) {
|
|
@@ -426,7 +406,7 @@ export function registerBitcoinTools(server) {
|
|
|
426
406
|
server.registerTool("get_inscriptions_by_address", {
|
|
427
407
|
description: "Get all inscriptions owned by a Bitcoin address. " +
|
|
428
408
|
"Returns inscription IDs, content types, and metadata. " +
|
|
429
|
-
"
|
|
409
|
+
"Backed by the Unisat indexer; set UNISAT_API_KEY to lift free-tier rate limits.",
|
|
430
410
|
inputSchema: {
|
|
431
411
|
address: z
|
|
432
412
|
.string()
|
|
@@ -436,22 +416,22 @@ export function registerBitcoinTools(server) {
|
|
|
436
416
|
}, async ({ address }) => {
|
|
437
417
|
try {
|
|
438
418
|
const btcAddress = await getBtcAddress(address);
|
|
439
|
-
const indexer = new
|
|
419
|
+
const indexer = new UnisatIndexer(NETWORK);
|
|
440
420
|
const inscriptions = await indexer.getInscriptionsForAddress(btcAddress);
|
|
441
421
|
// Format inscriptions for response
|
|
442
422
|
const formattedInscriptions = inscriptions.map((ins) => ({
|
|
443
|
-
id: ins.
|
|
444
|
-
number: ins.
|
|
445
|
-
contentType: ins.
|
|
446
|
-
contentLength: ins.
|
|
423
|
+
id: ins.inscriptionId,
|
|
424
|
+
number: ins.inscriptionNumber,
|
|
425
|
+
contentType: ins.contentType,
|
|
426
|
+
contentLength: ins.contentLength,
|
|
447
427
|
output: ins.output,
|
|
448
428
|
location: ins.location,
|
|
449
429
|
offset: ins.offset,
|
|
430
|
+
owner: ins.address,
|
|
431
|
+
outputValue: ins.outputValue,
|
|
450
432
|
genesis: {
|
|
451
|
-
txid: ins.
|
|
452
|
-
|
|
453
|
-
blockHash: ins.genesis_block_hash,
|
|
454
|
-
timestamp: new Date(ins.genesis_timestamp).toISOString(),
|
|
433
|
+
txid: ins.genesisTransaction,
|
|
434
|
+
timestamp: new Date(ins.timestamp * 1000).toISOString(),
|
|
455
435
|
},
|
|
456
436
|
}));
|
|
457
437
|
return createJsonResponse({
|
|
@@ -461,7 +441,7 @@ export function registerBitcoinTools(server) {
|
|
|
461
441
|
summary: {
|
|
462
442
|
count: inscriptions.length,
|
|
463
443
|
contentTypes: [
|
|
464
|
-
...new Set(inscriptions.map((i) => i.
|
|
444
|
+
...new Set(inscriptions.map((i) => i.contentType)),
|
|
465
445
|
].sort(),
|
|
466
446
|
},
|
|
467
447
|
explorerUrl: getMempoolAddressUrl(btcAddress, NETWORK),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitcoin.tools.js","sourceRoot":"","sources":["../../src/tools/bitcoin.tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EACL,UAAU,EACV,oBAAoB,EACpB,eAAe,GAEhB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,eAAwB;IACnD,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;IAEnD,IAAI,WAAW,EAAE,UAAU,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC,UAAU,CAAC;IAChC,CAAC;IAED,MAAM,IAAI,KAAK,CACb,0DAA0D;QACxD,wDAAwD,CAC3D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,QAAgB;IACjC,MAAM,GAAG,GAAG,QAAQ,GAAG,WAAW,CAAC;IACnC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,IAAU;IAC5B,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE;YACL,QAAQ,EAAE,IAAI,CAAC,KAAK;YACpB,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;SAC3B;QACD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;QAChC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;QACrC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAC/B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;YACvD,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,UAAU,EAAE;YACV,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC;SAC3B;QACD,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM;QAC9D,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM;KAClE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,kBAAkB;IAClB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EACT,6CAA6C;YAC7C,2EAA2E;QAC7E,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,qEAAqE;gBACnE,gDAAgD,CACnD;SACJ;KACF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAE7C,yCAAyC;YACzC,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAE1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC;gBAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC1B,iBAAiB,IAAI,IAAI,CAAC,KAAK,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,MAAM,mBAAmB,GAAG,aAAa,GAAG,iBAAiB,CAAC;YAE9D,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE;oBACP,QAAQ,EAAE,aAAa;oBACvB,GAAG,EAAE,SAAS,CAAC,aAAa,CAAC;iBAC9B;gBACD,SAAS,EAAE;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,GAAG,EAAE,SAAS,CAAC,iBAAiB,CAAC;iBAClC;gBACD,WAAW,EAAE;oBACX,QAAQ,EAAE,mBAAmB;oBAC7B,GAAG,EAAE,SAAS,CAAC,mBAAmB,CAAC;iBACpC;gBACD,SAAS,EAAE,KAAK,CAAC,MAAM;gBACvB,WAAW,EAAE,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC;aACvD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EACT,wEAAwE;YACxE,mFAAmF;KACtF,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC;YAElD,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE;oBACJ,IAAI,EAAE;wBACJ,QAAQ,EAAE,KAAK,CAAC,IAAI;wBACpB,MAAM,EAAE,0BAA0B;qBACnC;oBACD,MAAM,EAAE;wBACN,QAAQ,EAAE,KAAK,CAAC,MAAM;wBACtB,MAAM,EAAE,aAAa;qBACtB;oBACD,IAAI,EAAE;wBACJ,QAAQ,EAAE,KAAK,CAAC,IAAI;wBACpB,MAAM,EAAE,SAAS;qBAClB;iBACF;gBACD,OAAO,EAAE;oBACP,QAAQ,EAAE,aAAa,CAAC,UAAU;oBAClC,MAAM,EAAE,WAAW;iBACpB;gBACD,OAAO,EAAE;oBACP,QAAQ,EAAE,aAAa,CAAC,UAAU;oBAClC,MAAM,EAAE,mBAAmB;iBAC5B;gBACD,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,gBAAgB;IAChB,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EACT,sEAAsE;YACtE,2EAA2E;QAC7E,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,0EAA0E,CAC3E;YACH,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,8CAA8C,CAAC;SAC5D;KACF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE;QACnC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAE3C,IAAI,aAAa,EAAE,CAAC;gBAClB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YAED,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;gBAC5B,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;gBAC9B,WAAW,EAAE,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC;aACvD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,eAAe;IACf,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EACT,uCAAuC;YACvC,uDAAuD;YACvD,gDAAgD;YAChD,0EAA0E;YAC1E,iFAAiF;QACnF,WAAW,EAAE;YACX,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,CACP,qEAAqE,CACtE;YACH,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,CAAC,2DAA2D,CAAC;YACxE,OAAO,EAAE,CAAC;iBACP,KAAK,CAAC;gBACL,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAClC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;aAC5B,CAAC;iBACD,QAAQ,EAAE;iBACV,OAAO,CAAC,QAAQ,CAAC;iBACjB,QAAQ,CACP,qFAAqF,CACtF;YACH,eAAe,EAAE,CAAC;iBACf,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CACP,iFAAiF;gBACjF,kEAAkE,CACnE;SACJ;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE;QACxD,IAAI,CAAC;YACH,gDAAgD;YAChD,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;YAEjD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC3E,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;YACJ,CAAC;YAED,6BAA6B;YAC7B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;YAEpC,yDAAyD;YACzD,IAAI,KAAa,CAAC;YAClB,IAAI,cAAc,GAAG,EAAE,CAAC;YAExB,IAAI,eAAe,EAAE,CAAC;gBACpB,iCAAiC;gBACjC,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,uDAAuD;gBACvD,mEAAmE;gBACnE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC/C,cAAc;wBACZ,6EAA6E,CAAC;gBAClF,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;oBAC5C,KAAK,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,eAAe;oBAC9B,CAAC,CAAC,8BAA8B,OAAO,CAAC,UAAU,EAAE;oBACpD,CAAC,CAAC,2CAA2C,OAAO,CAAC,UAAU,IAAI;wBACjE,wDAAwD;wBACxD,6EAA6E,CAAC;gBAClF,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;YAED,mBAAmB;YACnB,IAAI,eAAuB,CAAC;YAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,eAAe,GAAG,OAAO,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;gBACzC,QAAQ,OAAO,EAAE,CAAC;oBAChB,KAAK,MAAM;wBACT,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC;wBAChC,MAAM;oBACR,KAAK,MAAM;wBACT,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC;wBAChC,MAAM;oBACR,KAAK,QAAQ,CAAC;oBACd;wBACE,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC;wBAClC,MAAM;gBACV,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,MAAM,QAAQ,GAAG,0BAA0B,CACzC;gBACE,KAAK;gBACL,SAAS;gBACT,MAAM;gBACN,OAAO,EAAE,eAAe;gBACxB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,aAAa,EAAE,OAAO,CAAC,UAAU;gBACjC,OAAO,EAAE,OAAO;aACjB,EACD,OAAO,CAAC,aAAa,CACtB,CAAC;YAEF,4BAA4B;YAC5B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE5D,MAAM,QAAQ,GAA4B;gBACxC,OAAO,EAAE,IAAI;gBACb,IAAI;gBACJ,WAAW,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;gBAC3C,WAAW,EAAE;oBACX,SAAS;oBACT,MAAM,EAAE;wBACN,QAAQ,EAAE,MAAM;wBAChB,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC;qBACvB;oBACD,GAAG,EAAE;wBACH,QAAQ,EAAE,QAAQ,CAAC,GAAG;wBACtB,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;wBAC5B,QAAQ,EAAE,GAAG,eAAe,SAAS;qBACtC;oBACD,MAAM,EAAE;wBACN,QAAQ,EAAE,QAAQ,CAAC,MAAM;wBACzB,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;qBAChC;oBACD,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe;iBACpD;gBACD,MAAM,EAAE,OAAO,CAAC,UAAU;gBAC1B,OAAO,EAAE,OAAO;aACjB,CAAC;YAEF,IAAI,cAAc,EAAE,CAAC;gBACnB,QAAQ,CAAC,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;YAC3C,CAAC;YAED,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,qCAAqC;IACrC,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EACT,wDAAwD;YACxD,uFAAuF;YACvF,yEAAyE;YACzE,uEAAuE;QACzE,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,0EAA0E,CAC3E;YACH,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,8CAA8C,CAAC;SAC5D;KACF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE;QACnC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,KAAK,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAEvD,IAAI,aAAa,EAAE,CAAC;gBAClB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,QAAQ,GAA4B;gBACxC,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;gBAC5B,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;gBAC9B,WAAW,EAAE,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC;aACvD,CAAC;YAEF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,QAAQ,CAAC,OAAO;oBACd,yEAAyE,CAAC;YAC9E,CAAC;YAED,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,2CAA2C;IAC3C,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EACT,2DAA2D;YAC3D,2FAA2F;YAC3F,4EAA4E;YAC5E,uEAAuE;QACzE,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,0EAA0E,CAC3E;YACH,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,8CAA8C,CAAC;SAC5D;KACF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE;QACnC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,KAAK,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAEtD,IAAI,aAAa,EAAE,CAAC;gBAClB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,QAAQ,GAA4B;gBACxC,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;gBAC5B,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;gBAC9B,WAAW,EAAE,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC;aACvD,CAAC;YAEF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,QAAQ,CAAC,OAAO;oBACd,6EAA6E,CAAC;YAClF,CAAC;YAED,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,8BAA8B;IAC9B,MAAM,CAAC,YAAY,CACjB,6BAA6B,EAC7B;QACE,WAAW,EACT,mDAAmD;YACnD,wDAAwD;YACxD,uEAAuE;QACzE,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,0EAA0E,CAC3E;SACJ;KACF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAEzE,mCAAmC;YACnC,MAAM,qBAAqB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACvD,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,WAAW,EAAE,GAAG,CAAC,YAAY;gBAC7B,aAAa,EAAE,GAAG,CAAC,cAAc;gBACjC,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE;oBACP,IAAI,EAAE,GAAG,CAAC,aAAa;oBACvB,WAAW,EAAE,GAAG,CAAC,oBAAoB;oBACrC,SAAS,EAAE,GAAG,CAAC,kBAAkB;oBACjC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE;iBACzD;aACF,CAAC,CAAC,CAAC;YAEJ,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,OAAO;gBAChB,YAAY,EAAE,qBAAqB;gBACnC,OAAO,EAAE;oBACP,KAAK,EAAE,YAAY,CAAC,MAAM;oBAC1B,YAAY,EAAE;wBACZ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;qBACpD,CAAC,IAAI,EAAE;iBACT;gBACD,WAAW,EAAE,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC;aACvD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"bitcoin.tools.js","sourceRoot":"","sources":["../../src/tools/bitcoin.tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4EpE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwIxD"}
|
package/dist/tools/index.js
CHANGED
|
@@ -23,6 +23,7 @@ import { registerYieldDashboardTools } from "./yield-dashboard.tools.js";
|
|
|
23
23
|
import { registerPillarTools } from "./pillar.tools.js";
|
|
24
24
|
import { registerPillarDirectTools } from "./pillar-direct.tools.js";
|
|
25
25
|
import { registerBitcoinTools } from "./bitcoin.tools.js";
|
|
26
|
+
import { registerLightningTools } from "./lightning.tools.js";
|
|
26
27
|
import { registerMempoolTools } from "./mempool.tools.js";
|
|
27
28
|
import { registerNostrTools } from "./nostr.tools.js";
|
|
28
29
|
import { registerRelayDiagnosticTools } from "./relay-diagnostic.tools.js";
|
|
@@ -123,6 +124,8 @@ export function registerAllTools(server) {
|
|
|
123
124
|
registerPillarDirectTools(server);
|
|
124
125
|
// Bitcoin L1 (read-only: balance, fees, UTXOs)
|
|
125
126
|
registerBitcoinTools(server);
|
|
127
|
+
// Lightning Network (L402 auto-pay, Spark-backed wallet)
|
|
128
|
+
registerLightningTools(server);
|
|
126
129
|
// Mempool Watch (read-only: mempool stats, tx status, address tx history)
|
|
127
130
|
registerMempoolTools(server);
|
|
128
131
|
// Nostr protocol (publish notes, read feed, manage profile)
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lightning Network (L402) tools.
|
|
3
|
+
*
|
|
4
|
+
* Exposes MCP tools for managing an embedded Spark-backed Lightning wallet,
|
|
5
|
+
* funding it from the user's L1 BTC wallet, and paying / creating Lightning
|
|
6
|
+
* invoices. The L402 interceptor in src/services/x402.service.ts uses the
|
|
7
|
+
* same LightningProvider singleton to auto-pay invoice challenges on 402s.
|
|
8
|
+
*/
|
|
9
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
10
|
+
export declare function registerLightningTools(server: McpServer): void;
|
|
11
|
+
//# sourceMappingURL=lightning.tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lightning.tools.d.ts","sourceRoot":"","sources":["../../src/tools/lightning.tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAcpE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgZ9D"}
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lightning Network (L402) tools.
|
|
3
|
+
*
|
|
4
|
+
* Exposes MCP tools for managing an embedded Spark-backed Lightning wallet,
|
|
5
|
+
* funding it from the user's L1 BTC wallet, and paying / creating Lightning
|
|
6
|
+
* invoices. The L402 interceptor in src/services/x402.service.ts uses the
|
|
7
|
+
* same LightningProvider singleton to auto-pay invoice challenges on 402s.
|
|
8
|
+
*/
|
|
9
|
+
import { z } from "zod";
|
|
10
|
+
import { createJsonResponse, createErrorResponse } from "../utils/index.js";
|
|
11
|
+
import { getLightningManager } from "../services/lightning-manager.js";
|
|
12
|
+
import { getWalletManager } from "../services/wallet-manager.js";
|
|
13
|
+
import { MempoolApi, getMempoolTxUrl, } from "../services/mempool-api.js";
|
|
14
|
+
import { buildAndSignBtcTransaction } from "../transactions/bitcoin-builder.js";
|
|
15
|
+
import { UnisatIndexer } from "../services/unisat-indexer.js";
|
|
16
|
+
import { NETWORK } from "../config/networks.js";
|
|
17
|
+
export function registerLightningTools(server) {
|
|
18
|
+
// --- Wallet lifecycle -----------------------------------------------------
|
|
19
|
+
server.registerTool("lightning_create", {
|
|
20
|
+
description: "Create a new embedded Lightning wallet backed by the Spark SDK. " +
|
|
21
|
+
"Generates a fresh BIP39 mnemonic (shown once), encrypts it with the " +
|
|
22
|
+
"provided password, and stores it at ~/.aibtc/lightning/keystore.json. " +
|
|
23
|
+
"Returns the deposit address for funding the wallet from L1 BTC.",
|
|
24
|
+
inputSchema: {
|
|
25
|
+
name: z.string().describe("Name for the Lightning wallet (e.g., 'main')"),
|
|
26
|
+
password: z
|
|
27
|
+
.string()
|
|
28
|
+
.min(8)
|
|
29
|
+
.describe("Password to protect the Lightning wallet (minimum 8 characters) - WARNING: sensitive value"),
|
|
30
|
+
},
|
|
31
|
+
}, async ({ name, password }) => {
|
|
32
|
+
try {
|
|
33
|
+
const manager = getLightningManager();
|
|
34
|
+
const result = await manager.createWallet(password, name);
|
|
35
|
+
return createJsonResponse({
|
|
36
|
+
success: true,
|
|
37
|
+
message: "Lightning wallet created. Save the mnemonic — it will NOT be shown again.",
|
|
38
|
+
walletId: result.walletId,
|
|
39
|
+
lightningAddress: result.lightningAddress,
|
|
40
|
+
depositAddress: result.depositAddress,
|
|
41
|
+
mnemonic: result.mnemonic,
|
|
42
|
+
network: NETWORK,
|
|
43
|
+
nextSteps: [
|
|
44
|
+
"Save the mnemonic in a secure location.",
|
|
45
|
+
"Use lightning_fund_from_btc to deposit L1 BTC into the wallet, then claim it once confirmed.",
|
|
46
|
+
],
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
return createErrorResponse(error);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
server.registerTool("lightning_import", {
|
|
54
|
+
description: "Import an existing Lightning wallet into the embedded Spark-backed " +
|
|
55
|
+
"store from a BIP39 mnemonic phrase. Encrypted locally at " +
|
|
56
|
+
"~/.aibtc/lightning/keystore.json.",
|
|
57
|
+
inputSchema: {
|
|
58
|
+
name: z.string().describe("Name for the Lightning wallet"),
|
|
59
|
+
mnemonic: z
|
|
60
|
+
.string()
|
|
61
|
+
.describe("BIP39 mnemonic phrase - WARNING: sensitive value"),
|
|
62
|
+
password: z
|
|
63
|
+
.string()
|
|
64
|
+
.min(8)
|
|
65
|
+
.describe("Password to protect the Lightning wallet (minimum 8 characters) - WARNING: sensitive value"),
|
|
66
|
+
},
|
|
67
|
+
}, async ({ name, mnemonic, password }) => {
|
|
68
|
+
try {
|
|
69
|
+
const manager = getLightningManager();
|
|
70
|
+
const result = await manager.importWallet(mnemonic, password, name);
|
|
71
|
+
return createJsonResponse({
|
|
72
|
+
success: true,
|
|
73
|
+
message: "Lightning wallet imported.",
|
|
74
|
+
walletId: result.walletId,
|
|
75
|
+
lightningAddress: result.lightningAddress,
|
|
76
|
+
depositAddress: result.depositAddress,
|
|
77
|
+
network: NETWORK,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
return createErrorResponse(error);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
server.registerTool("lightning_unlock", {
|
|
85
|
+
description: "Unlock the Lightning wallet for the current session. Required before " +
|
|
86
|
+
"paying or creating invoices, and before the L402 interceptor can " +
|
|
87
|
+
"auto-pay challenges.",
|
|
88
|
+
inputSchema: {
|
|
89
|
+
password: z.string().describe("Wallet password - WARNING: sensitive value"),
|
|
90
|
+
},
|
|
91
|
+
}, async ({ password }) => {
|
|
92
|
+
try {
|
|
93
|
+
const manager = getLightningManager();
|
|
94
|
+
const result = await manager.unlock(password);
|
|
95
|
+
return createJsonResponse({
|
|
96
|
+
success: true,
|
|
97
|
+
message: "Lightning wallet unlocked.",
|
|
98
|
+
walletId: result.walletId,
|
|
99
|
+
lightningAddress: result.lightningAddress,
|
|
100
|
+
balanceSats: result.balanceSats,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
return createErrorResponse(error);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
server.registerTool("lightning_lock", {
|
|
108
|
+
description: "Lock the Lightning wallet and drop the Spark session from memory. " +
|
|
109
|
+
"L402 auto-pay will stop working until the wallet is unlocked again.",
|
|
110
|
+
}, async () => {
|
|
111
|
+
try {
|
|
112
|
+
const manager = getLightningManager();
|
|
113
|
+
manager.lock();
|
|
114
|
+
return createJsonResponse({
|
|
115
|
+
success: true,
|
|
116
|
+
message: "Lightning wallet locked.",
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
return createErrorResponse(error);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
server.registerTool("lightning_status", {
|
|
124
|
+
description: "Get the status of the embedded Lightning wallet: whether it's " +
|
|
125
|
+
"unlocked, its wallet id, current balance (if unlocked), deposit " +
|
|
126
|
+
"address, and optional Lightning address.",
|
|
127
|
+
}, async () => {
|
|
128
|
+
try {
|
|
129
|
+
const manager = getLightningManager();
|
|
130
|
+
const status = await manager.getStatus();
|
|
131
|
+
return createJsonResponse(status);
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
return createErrorResponse(error);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
// --- L1 → LN funding ------------------------------------------------------
|
|
138
|
+
server.registerTool("lightning_fund_from_btc", {
|
|
139
|
+
description: "Fund the Lightning wallet from the user's L1 BTC wallet. " +
|
|
140
|
+
"Sends BTC to the Spark deposit address and returns the L1 txid. " +
|
|
141
|
+
"After the transaction confirms on-chain, the deposit must be " +
|
|
142
|
+
"claimed to credit the Lightning balance (separate follow-up step; " +
|
|
143
|
+
"not automated in this PR). Requires the main wallet to be unlocked " +
|
|
144
|
+
"AND the Lightning wallet to be unlocked (to fetch the deposit address).",
|
|
145
|
+
inputSchema: {
|
|
146
|
+
amountSats: z
|
|
147
|
+
.number()
|
|
148
|
+
.int()
|
|
149
|
+
.positive()
|
|
150
|
+
.describe("Amount to deposit in satoshis (1 BTC = 100,000,000 satoshis)"),
|
|
151
|
+
feeRate: z
|
|
152
|
+
.union([
|
|
153
|
+
z.enum(["fast", "medium", "slow"]),
|
|
154
|
+
z.number().int().positive(),
|
|
155
|
+
])
|
|
156
|
+
.optional()
|
|
157
|
+
.default("medium")
|
|
158
|
+
.describe("Fee rate: 'fast' (~10 min), 'medium' (~30 min), 'slow' (~1 hr), or number in sat/vB"),
|
|
159
|
+
},
|
|
160
|
+
}, async ({ amountSats, feeRate }) => {
|
|
161
|
+
try {
|
|
162
|
+
// Lightning wallet must be unlocked so we can fetch a deposit address.
|
|
163
|
+
const ln = getLightningManager();
|
|
164
|
+
const lnProvider = ln.getProvider();
|
|
165
|
+
if (!lnProvider) {
|
|
166
|
+
throw new Error("Lightning wallet is locked. Use lightning_unlock first so we can fetch a deposit address.");
|
|
167
|
+
}
|
|
168
|
+
// L1 BTC wallet must be unlocked for signing.
|
|
169
|
+
const walletManager = getWalletManager();
|
|
170
|
+
const account = walletManager.getActiveAccount();
|
|
171
|
+
if (!account) {
|
|
172
|
+
throw new Error("Wallet is not unlocked. Use wallet_unlock first to enable transactions.");
|
|
173
|
+
}
|
|
174
|
+
if (!account.btcAddress || !account.btcPrivateKey || !account.btcPublicKey) {
|
|
175
|
+
throw new Error("Bitcoin keys not available. Please unlock your wallet again.");
|
|
176
|
+
}
|
|
177
|
+
const depositAddress = await lnProvider.getDepositAddress();
|
|
178
|
+
const api = new MempoolApi(NETWORK);
|
|
179
|
+
// Prefer cardinal UTXOs so we don't burn inscriptions or runes.
|
|
180
|
+
const indexer = new UnisatIndexer(NETWORK);
|
|
181
|
+
const utxos = await indexer.getCardinalUtxos(account.btcAddress);
|
|
182
|
+
if (utxos.length === 0) {
|
|
183
|
+
throw new Error(`No cardinal UTXOs available for address ${account.btcAddress}. ` +
|
|
184
|
+
`Deposit L1 BTC to this address before funding Lightning.`);
|
|
185
|
+
}
|
|
186
|
+
let resolvedFeeRate;
|
|
187
|
+
if (typeof feeRate === "number") {
|
|
188
|
+
resolvedFeeRate = feeRate;
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
const tiers = await api.getFeeTiers();
|
|
192
|
+
resolvedFeeRate =
|
|
193
|
+
feeRate === "fast"
|
|
194
|
+
? tiers.fast
|
|
195
|
+
: feeRate === "slow"
|
|
196
|
+
? tiers.slow
|
|
197
|
+
: tiers.medium;
|
|
198
|
+
}
|
|
199
|
+
const txResult = buildAndSignBtcTransaction({
|
|
200
|
+
utxos,
|
|
201
|
+
recipient: depositAddress,
|
|
202
|
+
amount: amountSats,
|
|
203
|
+
feeRate: resolvedFeeRate,
|
|
204
|
+
senderPubKey: account.btcPublicKey,
|
|
205
|
+
senderAddress: account.btcAddress,
|
|
206
|
+
network: NETWORK,
|
|
207
|
+
}, account.btcPrivateKey);
|
|
208
|
+
const txid = await api.broadcastTransaction(txResult.txHex);
|
|
209
|
+
const response = {
|
|
210
|
+
success: true,
|
|
211
|
+
btcTxid: txid,
|
|
212
|
+
amountSats,
|
|
213
|
+
depositAddress,
|
|
214
|
+
explorerUrl: getMempoolTxUrl(txid, NETWORK),
|
|
215
|
+
feeSats: txResult.fee,
|
|
216
|
+
feeRateUsed: `${resolvedFeeRate} sat/vB`,
|
|
217
|
+
estimatedConfirmation: feeRate === "fast"
|
|
218
|
+
? "~10 minutes"
|
|
219
|
+
: feeRate === "slow"
|
|
220
|
+
? "~1 hour"
|
|
221
|
+
: "~30 minutes",
|
|
222
|
+
nextStep: "Once this transaction confirms on-chain, the deposit must be claimed " +
|
|
223
|
+
"to credit the Lightning balance. Automatic claim is out of scope for this PR.",
|
|
224
|
+
};
|
|
225
|
+
return createJsonResponse(response);
|
|
226
|
+
}
|
|
227
|
+
catch (error) {
|
|
228
|
+
return createErrorResponse(error);
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
server.registerTool("lightning_claim_deposit", {
|
|
232
|
+
description: "Claim a confirmed BTC L1 deposit into the Spark Lightning wallet. " +
|
|
233
|
+
"Call this AFTER lightning_fund_from_btc and after the on-chain " +
|
|
234
|
+
"transaction has 3 confirmations. Fetches a signed quote from the " +
|
|
235
|
+
"SSP, submits the claim, and returns the credited sats + Spark " +
|
|
236
|
+
"transfer id. Requires an unlocked Lightning wallet.",
|
|
237
|
+
inputSchema: {
|
|
238
|
+
transactionId: z
|
|
239
|
+
.string()
|
|
240
|
+
.describe("Bitcoin txid of the deposit transaction"),
|
|
241
|
+
outputIndex: z
|
|
242
|
+
.number()
|
|
243
|
+
.int()
|
|
244
|
+
.nonnegative()
|
|
245
|
+
.optional()
|
|
246
|
+
.describe("Vout index of the deposit output (default: SSP auto-detects)"),
|
|
247
|
+
},
|
|
248
|
+
}, async ({ transactionId, outputIndex }) => {
|
|
249
|
+
try {
|
|
250
|
+
const manager = getLightningManager();
|
|
251
|
+
const provider = manager.getProvider();
|
|
252
|
+
if (!provider) {
|
|
253
|
+
throw new Error("Lightning wallet not unlocked. Run lightning_unlock first.");
|
|
254
|
+
}
|
|
255
|
+
const result = await provider.claimDeposit(transactionId, outputIndex);
|
|
256
|
+
return createJsonResponse({
|
|
257
|
+
success: true,
|
|
258
|
+
...result,
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
catch (error) {
|
|
262
|
+
return createErrorResponse(error);
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
// --- Manual Lightning ops -------------------------------------------------
|
|
266
|
+
server.registerTool("lightning_pay_invoice", {
|
|
267
|
+
description: "Pay a BOLT-11 Lightning invoice from the embedded Lightning wallet. " +
|
|
268
|
+
"Returns the payment preimage (proof of payment) and fees paid.",
|
|
269
|
+
inputSchema: {
|
|
270
|
+
bolt11: z
|
|
271
|
+
.string()
|
|
272
|
+
.describe("BOLT-11 encoded Lightning invoice (starts with lnbc... or lntb...)"),
|
|
273
|
+
maxFeeSats: z
|
|
274
|
+
.number()
|
|
275
|
+
.int()
|
|
276
|
+
.nonnegative()
|
|
277
|
+
.optional()
|
|
278
|
+
.describe("Maximum routing fee to pay in sats (provider default applies when omitted)"),
|
|
279
|
+
},
|
|
280
|
+
}, async ({ bolt11, maxFeeSats }) => {
|
|
281
|
+
try {
|
|
282
|
+
const manager = getLightningManager();
|
|
283
|
+
const provider = manager.getProvider();
|
|
284
|
+
if (!provider) {
|
|
285
|
+
throw new Error("Lightning wallet is locked. Use lightning_unlock first.");
|
|
286
|
+
}
|
|
287
|
+
const result = await provider.payInvoice(bolt11, maxFeeSats);
|
|
288
|
+
return createJsonResponse({
|
|
289
|
+
success: true,
|
|
290
|
+
preimage: result.preimage,
|
|
291
|
+
feesPaidSats: result.feesPaid,
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
catch (error) {
|
|
295
|
+
return createErrorResponse(error);
|
|
296
|
+
}
|
|
297
|
+
});
|
|
298
|
+
server.registerTool("lightning_create_invoice", {
|
|
299
|
+
description: "Create a BOLT-11 Lightning invoice that can receive a payment into " +
|
|
300
|
+
"the embedded Lightning wallet.",
|
|
301
|
+
inputSchema: {
|
|
302
|
+
amountSats: z
|
|
303
|
+
.number()
|
|
304
|
+
.int()
|
|
305
|
+
.positive()
|
|
306
|
+
.describe("Amount to request in satoshis"),
|
|
307
|
+
memo: z
|
|
308
|
+
.string()
|
|
309
|
+
.optional()
|
|
310
|
+
.describe("Optional description attached to the invoice"),
|
|
311
|
+
},
|
|
312
|
+
}, async ({ amountSats, memo }) => {
|
|
313
|
+
try {
|
|
314
|
+
const manager = getLightningManager();
|
|
315
|
+
const provider = manager.getProvider();
|
|
316
|
+
if (!provider) {
|
|
317
|
+
throw new Error("Lightning wallet is locked. Use lightning_unlock first.");
|
|
318
|
+
}
|
|
319
|
+
const result = await provider.createInvoice(amountSats, memo);
|
|
320
|
+
return createJsonResponse({
|
|
321
|
+
success: true,
|
|
322
|
+
bolt11: result.bolt11,
|
|
323
|
+
paymentHash: result.paymentHash,
|
|
324
|
+
amountSats,
|
|
325
|
+
memo,
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
catch (error) {
|
|
329
|
+
return createErrorResponse(error);
|
|
330
|
+
}
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
//# sourceMappingURL=lightning.tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lightning.tools.js","sourceRoot":"","sources":["../../src/tools/lightning.tools.ts"],"names":[],"mappings":"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"}
|