@aibtc/mcp-server 1.5.0 → 1.6.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/config/caip.d.ts +66 -0
- package/dist/config/caip.d.ts.map +1 -0
- package/dist/config/caip.js +84 -0
- package/dist/config/caip.js.map +1 -0
- package/dist/services/mempool-api.d.ts +183 -0
- package/dist/services/mempool-api.d.ts.map +1 -0
- package/dist/services/mempool-api.js +179 -0
- package/dist/services/mempool-api.js.map +1 -0
- package/dist/services/wallet-manager.d.ts.map +1 -1
- package/dist/services/wallet-manager.js +5 -3
- package/dist/services/wallet-manager.js.map +1 -1
- package/dist/tools/bitcoin.tools.d.ts +15 -0
- package/dist/tools/bitcoin.tools.d.ts.map +1 -0
- package/dist/tools/bitcoin.tools.js +295 -0
- package/dist/tools/bitcoin.tools.js.map +1 -0
- 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/transactions/bitcoin-builder.d.ts +171 -0
- package/dist/transactions/bitcoin-builder.d.ts.map +1 -0
- package/dist/transactions/bitcoin-builder.js +242 -0
- package/dist/transactions/bitcoin-builder.js.map +1 -0
- package/dist/transactions/builder.d.ts +9 -0
- package/dist/transactions/builder.d.ts.map +1 -1
- package/dist/transactions/builder.js.map +1 -1
- package/dist/utils/bitcoin.d.ts +52 -0
- package/dist/utils/bitcoin.d.ts.map +1 -1
- package/dist/utils/bitcoin.js +69 -0
- package/dist/utils/bitcoin.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CAIP-2 Chain Identifiers
|
|
3
|
+
*
|
|
4
|
+
* Chain-agnostic identifiers following the CAIP-2 specification:
|
|
5
|
+
* https://chainagnostic.org/CAIPs/caip-2
|
|
6
|
+
*
|
|
7
|
+
* Format: namespace:reference
|
|
8
|
+
* - Stacks uses "stacks" namespace with chain ID as reference
|
|
9
|
+
* - Bitcoin uses "bip122" namespace with genesis block hash prefix (32 chars)
|
|
10
|
+
*/
|
|
11
|
+
import type { Network } from "./networks.js";
|
|
12
|
+
/**
|
|
13
|
+
* CAIP-2 chain identifier type
|
|
14
|
+
*/
|
|
15
|
+
export type ChainId = string;
|
|
16
|
+
/**
|
|
17
|
+
* Stacks chain IDs
|
|
18
|
+
* - Mainnet: chain ID 1
|
|
19
|
+
* - Testnet: chain ID 2147483648 (0x80000000)
|
|
20
|
+
*/
|
|
21
|
+
export declare const STACKS_CHAIN_IDS: {
|
|
22
|
+
readonly mainnet: "stacks:1";
|
|
23
|
+
readonly testnet: "stacks:2147483648";
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Bitcoin chain IDs (BIP122 namespace)
|
|
27
|
+
* Using first 32 characters of genesis block hash as reference
|
|
28
|
+
* - Mainnet: 000000000019d6689c085ae165831e93
|
|
29
|
+
* - Testnet: 000000000933ea01ad0ee984209779ba
|
|
30
|
+
*/
|
|
31
|
+
export declare const BITCOIN_CHAIN_IDS: {
|
|
32
|
+
readonly mainnet: "bip122:000000000019d6689c085ae165831e93";
|
|
33
|
+
readonly testnet: "bip122:000000000933ea01ad0ee984209779ba";
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Get Stacks CAIP-2 chain ID for a network
|
|
37
|
+
*/
|
|
38
|
+
export declare function getStacksChainId(network: Network): ChainId;
|
|
39
|
+
/**
|
|
40
|
+
* Get Bitcoin CAIP-2 chain ID for a network
|
|
41
|
+
*/
|
|
42
|
+
export declare function getBitcoinChainId(network: Network): ChainId;
|
|
43
|
+
/**
|
|
44
|
+
* Parse CAIP-2 chain ID into namespace and reference
|
|
45
|
+
*/
|
|
46
|
+
export declare function parseChainId(chainId: ChainId): {
|
|
47
|
+
namespace: string;
|
|
48
|
+
reference: string;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Check if a chain ID is a Stacks chain
|
|
52
|
+
*/
|
|
53
|
+
export declare function isStacksChainId(chainId: ChainId): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Check if a chain ID is a Bitcoin chain
|
|
56
|
+
*/
|
|
57
|
+
export declare function isBitcoinChainId(chainId: ChainId): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Get network from Stacks chain ID
|
|
60
|
+
*/
|
|
61
|
+
export declare function getNetworkFromStacksChainId(chainId: ChainId): Network | null;
|
|
62
|
+
/**
|
|
63
|
+
* Get network from Bitcoin chain ID
|
|
64
|
+
*/
|
|
65
|
+
export declare function getNetworkFromBitcoinChainId(chainId: ChainId): Network | null;
|
|
66
|
+
//# sourceMappingURL=caip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"caip.d.ts","sourceRoot":"","sources":["../../src/config/caip.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAEX;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE3D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAMA;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEzD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAI5E;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAI7E"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CAIP-2 Chain Identifiers
|
|
3
|
+
*
|
|
4
|
+
* Chain-agnostic identifiers following the CAIP-2 specification:
|
|
5
|
+
* https://chainagnostic.org/CAIPs/caip-2
|
|
6
|
+
*
|
|
7
|
+
* Format: namespace:reference
|
|
8
|
+
* - Stacks uses "stacks" namespace with chain ID as reference
|
|
9
|
+
* - Bitcoin uses "bip122" namespace with genesis block hash prefix (32 chars)
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Stacks chain IDs
|
|
13
|
+
* - Mainnet: chain ID 1
|
|
14
|
+
* - Testnet: chain ID 2147483648 (0x80000000)
|
|
15
|
+
*/
|
|
16
|
+
export const STACKS_CHAIN_IDS = {
|
|
17
|
+
mainnet: "stacks:1",
|
|
18
|
+
testnet: "stacks:2147483648",
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Bitcoin chain IDs (BIP122 namespace)
|
|
22
|
+
* Using first 32 characters of genesis block hash as reference
|
|
23
|
+
* - Mainnet: 000000000019d6689c085ae165831e93
|
|
24
|
+
* - Testnet: 000000000933ea01ad0ee984209779ba
|
|
25
|
+
*/
|
|
26
|
+
export const BITCOIN_CHAIN_IDS = {
|
|
27
|
+
mainnet: "bip122:000000000019d6689c085ae165831e93",
|
|
28
|
+
testnet: "bip122:000000000933ea01ad0ee984209779ba",
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Get Stacks CAIP-2 chain ID for a network
|
|
32
|
+
*/
|
|
33
|
+
export function getStacksChainId(network) {
|
|
34
|
+
return STACKS_CHAIN_IDS[network];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get Bitcoin CAIP-2 chain ID for a network
|
|
38
|
+
*/
|
|
39
|
+
export function getBitcoinChainId(network) {
|
|
40
|
+
return BITCOIN_CHAIN_IDS[network];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Parse CAIP-2 chain ID into namespace and reference
|
|
44
|
+
*/
|
|
45
|
+
export function parseChainId(chainId) {
|
|
46
|
+
const [namespace, reference] = chainId.split(":");
|
|
47
|
+
if (!namespace || !reference) {
|
|
48
|
+
throw new Error(`Invalid CAIP-2 chain ID: ${chainId}`);
|
|
49
|
+
}
|
|
50
|
+
return { namespace, reference };
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Check if a chain ID is a Stacks chain
|
|
54
|
+
*/
|
|
55
|
+
export function isStacksChainId(chainId) {
|
|
56
|
+
return chainId.startsWith("stacks:");
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Check if a chain ID is a Bitcoin chain
|
|
60
|
+
*/
|
|
61
|
+
export function isBitcoinChainId(chainId) {
|
|
62
|
+
return chainId.startsWith("bip122:");
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get network from Stacks chain ID
|
|
66
|
+
*/
|
|
67
|
+
export function getNetworkFromStacksChainId(chainId) {
|
|
68
|
+
if (chainId === STACKS_CHAIN_IDS.mainnet)
|
|
69
|
+
return "mainnet";
|
|
70
|
+
if (chainId === STACKS_CHAIN_IDS.testnet)
|
|
71
|
+
return "testnet";
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get network from Bitcoin chain ID
|
|
76
|
+
*/
|
|
77
|
+
export function getNetworkFromBitcoinChainId(chainId) {
|
|
78
|
+
if (chainId === BITCOIN_CHAIN_IDS.mainnet)
|
|
79
|
+
return "mainnet";
|
|
80
|
+
if (chainId === BITCOIN_CHAIN_IDS.testnet)
|
|
81
|
+
return "testnet";
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=caip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"caip.js","sourceRoot":"","sources":["../../src/config/caip.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,mBAAmB;CACpB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,yCAAyC;IAClD,OAAO,EAAE,yCAAyC;CAC1C,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAgB;IAI3C,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,OAAO,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC1D,IAAI,OAAO,KAAK,gBAAgB,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC3D,IAAI,OAAO,KAAK,gBAAgB,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC3D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAAgB;IAC3D,IAAI,OAAO,KAAK,iBAAiB,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,OAAO,KAAK,iBAAiB,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mempool.space API client for Bitcoin UTXO and fee data
|
|
3
|
+
*
|
|
4
|
+
* Public API endpoints (no authentication required):
|
|
5
|
+
* - Mainnet: https://mempool.space/api
|
|
6
|
+
* - Testnet: https://mempool.space/testnet/api
|
|
7
|
+
*
|
|
8
|
+
* Documentation: https://mempool.space/docs/api
|
|
9
|
+
*/
|
|
10
|
+
import type { Network } from "../config/networks.js";
|
|
11
|
+
/**
|
|
12
|
+
* UTXO (Unspent Transaction Output) from mempool.space API
|
|
13
|
+
*/
|
|
14
|
+
export interface UTXO {
|
|
15
|
+
/**
|
|
16
|
+
* Transaction ID containing this UTXO
|
|
17
|
+
*/
|
|
18
|
+
txid: string;
|
|
19
|
+
/**
|
|
20
|
+
* Output index within the transaction
|
|
21
|
+
*/
|
|
22
|
+
vout: number;
|
|
23
|
+
/**
|
|
24
|
+
* UTXO status (confirmed or unconfirmed)
|
|
25
|
+
*/
|
|
26
|
+
status: {
|
|
27
|
+
confirmed: boolean;
|
|
28
|
+
block_height?: number;
|
|
29
|
+
block_hash?: string;
|
|
30
|
+
block_time?: number;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Value in satoshis
|
|
34
|
+
*/
|
|
35
|
+
value: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Fee estimates from mempool.space API (sat/vB)
|
|
39
|
+
*/
|
|
40
|
+
export interface FeeEstimates {
|
|
41
|
+
/**
|
|
42
|
+
* Fee rate for fastest confirmation (~10 min)
|
|
43
|
+
*/
|
|
44
|
+
fastestFee: number;
|
|
45
|
+
/**
|
|
46
|
+
* Fee rate for fast confirmation (~30 min)
|
|
47
|
+
*/
|
|
48
|
+
halfHourFee: number;
|
|
49
|
+
/**
|
|
50
|
+
* Fee rate for standard confirmation (~1 hour)
|
|
51
|
+
*/
|
|
52
|
+
hourFee: number;
|
|
53
|
+
/**
|
|
54
|
+
* Fee rate for economy confirmation (~24 hours)
|
|
55
|
+
*/
|
|
56
|
+
economyFee: number;
|
|
57
|
+
/**
|
|
58
|
+
* Minimum relay fee rate
|
|
59
|
+
*/
|
|
60
|
+
minimumFee: number;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Simplified fee tiers for user selection
|
|
64
|
+
*/
|
|
65
|
+
export interface FeeTiers {
|
|
66
|
+
/**
|
|
67
|
+
* Fast: ~10 minute confirmation
|
|
68
|
+
*/
|
|
69
|
+
fast: number;
|
|
70
|
+
/**
|
|
71
|
+
* Medium: ~30 minute confirmation
|
|
72
|
+
*/
|
|
73
|
+
medium: number;
|
|
74
|
+
/**
|
|
75
|
+
* Slow: ~1 hour confirmation
|
|
76
|
+
*/
|
|
77
|
+
slow: number;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get the mempool.space API base URL for a network
|
|
81
|
+
*/
|
|
82
|
+
export declare function getMempoolApiUrl(network: Network): string;
|
|
83
|
+
/**
|
|
84
|
+
* Get the mempool.space explorer URL for a network
|
|
85
|
+
*/
|
|
86
|
+
export declare function getMempoolExplorerUrl(network: Network): string;
|
|
87
|
+
/**
|
|
88
|
+
* Get transaction explorer URL
|
|
89
|
+
*/
|
|
90
|
+
export declare function getMempoolTxUrl(txid: string, network: Network): string;
|
|
91
|
+
/**
|
|
92
|
+
* Get address explorer URL
|
|
93
|
+
*/
|
|
94
|
+
export declare function getMempoolAddressUrl(address: string, network: Network): string;
|
|
95
|
+
/**
|
|
96
|
+
* mempool.space API client
|
|
97
|
+
*/
|
|
98
|
+
export declare class MempoolApi {
|
|
99
|
+
private readonly baseUrl;
|
|
100
|
+
private readonly network;
|
|
101
|
+
constructor(network: Network);
|
|
102
|
+
/**
|
|
103
|
+
* Get UTXOs for a Bitcoin address
|
|
104
|
+
*
|
|
105
|
+
* @param address - Bitcoin address (bc1... for mainnet, tb1... for testnet)
|
|
106
|
+
* @returns Array of UTXOs with txid, vout, value, and confirmation status
|
|
107
|
+
* @throws Error if API request fails
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* const api = new MempoolApi('mainnet');
|
|
112
|
+
* const utxos = await api.getUtxos('bc1q...');
|
|
113
|
+
* const total = utxos.reduce((sum, u) => sum + u.value, 0);
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
getUtxos(address: string): Promise<UTXO[]>;
|
|
117
|
+
/**
|
|
118
|
+
* Get current recommended fee estimates
|
|
119
|
+
*
|
|
120
|
+
* @returns Fee estimates in sat/vB for different confirmation targets
|
|
121
|
+
* @throws Error if API request fails
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```typescript
|
|
125
|
+
* const api = new MempoolApi('mainnet');
|
|
126
|
+
* const fees = await api.getFeeEstimates();
|
|
127
|
+
* console.log(`Fast fee: ${fees.fastestFee} sat/vB`);
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
getFeeEstimates(): Promise<FeeEstimates>;
|
|
131
|
+
/**
|
|
132
|
+
* Get simplified fee tiers for user selection
|
|
133
|
+
*
|
|
134
|
+
* Maps mempool.space fee estimates to fast/medium/slow tiers:
|
|
135
|
+
* - Fast: fastestFee (~10 min)
|
|
136
|
+
* - Medium: halfHourFee (~30 min)
|
|
137
|
+
* - Slow: hourFee (~1 hour)
|
|
138
|
+
*
|
|
139
|
+
* @returns Fee tiers in sat/vB
|
|
140
|
+
* @throws Error if API request fails
|
|
141
|
+
*/
|
|
142
|
+
getFeeTiers(): Promise<FeeTiers>;
|
|
143
|
+
/**
|
|
144
|
+
* Get balance for a Bitcoin address (sum of UTXOs)
|
|
145
|
+
*
|
|
146
|
+
* @param address - Bitcoin address
|
|
147
|
+
* @returns Balance in satoshis
|
|
148
|
+
* @throws Error if API request fails
|
|
149
|
+
*/
|
|
150
|
+
getBalance(address: string): Promise<number>;
|
|
151
|
+
/**
|
|
152
|
+
* Get confirmed balance for a Bitcoin address
|
|
153
|
+
*
|
|
154
|
+
* @param address - Bitcoin address
|
|
155
|
+
* @returns Confirmed balance in satoshis (excludes unconfirmed UTXOs)
|
|
156
|
+
* @throws Error if API request fails
|
|
157
|
+
*/
|
|
158
|
+
getConfirmedBalance(address: string): Promise<number>;
|
|
159
|
+
/**
|
|
160
|
+
* Broadcast a signed transaction to the Bitcoin network
|
|
161
|
+
*
|
|
162
|
+
* @param txHex - Signed transaction as hex string
|
|
163
|
+
* @returns Transaction ID (txid)
|
|
164
|
+
* @throws Error if broadcast fails
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```typescript
|
|
168
|
+
* const api = new MempoolApi('mainnet');
|
|
169
|
+
* const txid = await api.broadcastTransaction(signedTxHex);
|
|
170
|
+
* console.log(`Broadcast: ${getMempoolTxUrl(txid, 'mainnet')}`);
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
broadcastTransaction(txHex: string): Promise<string>;
|
|
174
|
+
/**
|
|
175
|
+
* Get the network this client is configured for
|
|
176
|
+
*/
|
|
177
|
+
getNetwork(): Network;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Create a mempool.space API client for the given network
|
|
181
|
+
*/
|
|
182
|
+
export declare function createMempoolApi(network: Network): MempoolApi;
|
|
183
|
+
//# sourceMappingURL=mempool-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mempool-api.d.ts","sourceRoot":"","sources":["../../src/services/mempool-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,EAAE;QACN,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAIzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAI9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAEtE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEtB,OAAO,EAAE,OAAO;IAK5B;;;;;;;;;;;;;OAaG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAchD;;;;;;;;;;;;OAYG;IACG,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC;IAc9C;;;;;;;;;;OAUG;IACG,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAStC;;;;;;OAMG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKlD;;;;;;OAMG;IACG,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO3D;;;;;;;;;;;;;OAaG;IACG,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB1D;;OAEG;IACH,UAAU,IAAI,OAAO;CAGtB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAE7D"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mempool.space API client for Bitcoin UTXO and fee data
|
|
3
|
+
*
|
|
4
|
+
* Public API endpoints (no authentication required):
|
|
5
|
+
* - Mainnet: https://mempool.space/api
|
|
6
|
+
* - Testnet: https://mempool.space/testnet/api
|
|
7
|
+
*
|
|
8
|
+
* Documentation: https://mempool.space/docs/api
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Get the mempool.space API base URL for a network
|
|
12
|
+
*/
|
|
13
|
+
export function getMempoolApiUrl(network) {
|
|
14
|
+
return network === "mainnet"
|
|
15
|
+
? "https://mempool.space/api"
|
|
16
|
+
: "https://mempool.space/testnet/api";
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Get the mempool.space explorer URL for a network
|
|
20
|
+
*/
|
|
21
|
+
export function getMempoolExplorerUrl(network) {
|
|
22
|
+
return network === "mainnet"
|
|
23
|
+
? "https://mempool.space"
|
|
24
|
+
: "https://mempool.space/testnet";
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get transaction explorer URL
|
|
28
|
+
*/
|
|
29
|
+
export function getMempoolTxUrl(txid, network) {
|
|
30
|
+
return `${getMempoolExplorerUrl(network)}/tx/${txid}`;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get address explorer URL
|
|
34
|
+
*/
|
|
35
|
+
export function getMempoolAddressUrl(address, network) {
|
|
36
|
+
return `${getMempoolExplorerUrl(network)}/address/${address}`;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* mempool.space API client
|
|
40
|
+
*/
|
|
41
|
+
export class MempoolApi {
|
|
42
|
+
baseUrl;
|
|
43
|
+
network;
|
|
44
|
+
constructor(network) {
|
|
45
|
+
this.network = network;
|
|
46
|
+
this.baseUrl = getMempoolApiUrl(network);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get UTXOs for a Bitcoin address
|
|
50
|
+
*
|
|
51
|
+
* @param address - Bitcoin address (bc1... for mainnet, tb1... for testnet)
|
|
52
|
+
* @returns Array of UTXOs with txid, vout, value, and confirmation status
|
|
53
|
+
* @throws Error if API request fails
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* const api = new MempoolApi('mainnet');
|
|
58
|
+
* const utxos = await api.getUtxos('bc1q...');
|
|
59
|
+
* const total = utxos.reduce((sum, u) => sum + u.value, 0);
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
async getUtxos(address) {
|
|
63
|
+
const response = await fetch(`${this.baseUrl}/address/${address}/utxo`);
|
|
64
|
+
if (!response.ok) {
|
|
65
|
+
const errorText = await response.text().catch(() => "Unknown error");
|
|
66
|
+
throw new Error(`Failed to fetch UTXOs for ${address}: ${response.status} ${response.statusText} - ${errorText}`);
|
|
67
|
+
}
|
|
68
|
+
const utxos = await response.json();
|
|
69
|
+
return utxos;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get current recommended fee estimates
|
|
73
|
+
*
|
|
74
|
+
* @returns Fee estimates in sat/vB for different confirmation targets
|
|
75
|
+
* @throws Error if API request fails
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```typescript
|
|
79
|
+
* const api = new MempoolApi('mainnet');
|
|
80
|
+
* const fees = await api.getFeeEstimates();
|
|
81
|
+
* console.log(`Fast fee: ${fees.fastestFee} sat/vB`);
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
async getFeeEstimates() {
|
|
85
|
+
const response = await fetch(`${this.baseUrl}/v1/fees/recommended`);
|
|
86
|
+
if (!response.ok) {
|
|
87
|
+
const errorText = await response.text().catch(() => "Unknown error");
|
|
88
|
+
throw new Error(`Failed to fetch fee estimates: ${response.status} ${response.statusText} - ${errorText}`);
|
|
89
|
+
}
|
|
90
|
+
const fees = await response.json();
|
|
91
|
+
return fees;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get simplified fee tiers for user selection
|
|
95
|
+
*
|
|
96
|
+
* Maps mempool.space fee estimates to fast/medium/slow tiers:
|
|
97
|
+
* - Fast: fastestFee (~10 min)
|
|
98
|
+
* - Medium: halfHourFee (~30 min)
|
|
99
|
+
* - Slow: hourFee (~1 hour)
|
|
100
|
+
*
|
|
101
|
+
* @returns Fee tiers in sat/vB
|
|
102
|
+
* @throws Error if API request fails
|
|
103
|
+
*/
|
|
104
|
+
async getFeeTiers() {
|
|
105
|
+
const estimates = await this.getFeeEstimates();
|
|
106
|
+
return {
|
|
107
|
+
fast: estimates.fastestFee,
|
|
108
|
+
medium: estimates.halfHourFee,
|
|
109
|
+
slow: estimates.hourFee,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Get balance for a Bitcoin address (sum of UTXOs)
|
|
114
|
+
*
|
|
115
|
+
* @param address - Bitcoin address
|
|
116
|
+
* @returns Balance in satoshis
|
|
117
|
+
* @throws Error if API request fails
|
|
118
|
+
*/
|
|
119
|
+
async getBalance(address) {
|
|
120
|
+
const utxos = await this.getUtxos(address);
|
|
121
|
+
return utxos.reduce((sum, utxo) => sum + utxo.value, 0);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Get confirmed balance for a Bitcoin address
|
|
125
|
+
*
|
|
126
|
+
* @param address - Bitcoin address
|
|
127
|
+
* @returns Confirmed balance in satoshis (excludes unconfirmed UTXOs)
|
|
128
|
+
* @throws Error if API request fails
|
|
129
|
+
*/
|
|
130
|
+
async getConfirmedBalance(address) {
|
|
131
|
+
const utxos = await this.getUtxos(address);
|
|
132
|
+
return utxos
|
|
133
|
+
.filter((utxo) => utxo.status.confirmed)
|
|
134
|
+
.reduce((sum, utxo) => sum + utxo.value, 0);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Broadcast a signed transaction to the Bitcoin network
|
|
138
|
+
*
|
|
139
|
+
* @param txHex - Signed transaction as hex string
|
|
140
|
+
* @returns Transaction ID (txid)
|
|
141
|
+
* @throws Error if broadcast fails
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```typescript
|
|
145
|
+
* const api = new MempoolApi('mainnet');
|
|
146
|
+
* const txid = await api.broadcastTransaction(signedTxHex);
|
|
147
|
+
* console.log(`Broadcast: ${getMempoolTxUrl(txid, 'mainnet')}`);
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
async broadcastTransaction(txHex) {
|
|
151
|
+
const response = await fetch(`${this.baseUrl}/tx`, {
|
|
152
|
+
method: "POST",
|
|
153
|
+
headers: {
|
|
154
|
+
"Content-Type": "text/plain",
|
|
155
|
+
},
|
|
156
|
+
body: txHex,
|
|
157
|
+
});
|
|
158
|
+
if (!response.ok) {
|
|
159
|
+
const errorText = await response.text().catch(() => "Unknown error");
|
|
160
|
+
throw new Error(`Failed to broadcast transaction: ${response.status} ${response.statusText} - ${errorText}`);
|
|
161
|
+
}
|
|
162
|
+
// Response is the txid as plain text
|
|
163
|
+
const txid = await response.text();
|
|
164
|
+
return txid.trim();
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Get the network this client is configured for
|
|
168
|
+
*/
|
|
169
|
+
getNetwork() {
|
|
170
|
+
return this.network;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Create a mempool.space API client for the given network
|
|
175
|
+
*/
|
|
176
|
+
export function createMempoolApi(network) {
|
|
177
|
+
return new MempoolApi(network);
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=mempool-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mempool-api.js","sourceRoot":"","sources":["../../src/services/mempool-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-manager.d.ts","sourceRoot":"","sources":["../../src/services/wallet-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAcL,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAa1D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,cAAM,aAAa;IACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IACvC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO;IAEP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,aAAa;IAOnC;;OAEG;YACW,iBAAiB;IAO/B;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,kBAAkB,CAAC;IA2D9B;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,kBAAkB,CAAC;IA6D9B;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"wallet-manager.d.ts","sourceRoot":"","sources":["../../src/services/wallet-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAcL,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAa1D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,cAAM,aAAa;IACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IACvC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO;IAEP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,aAAa;IAOnC;;OAEG;YACW,iBAAiB;IAO/B;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,kBAAkB,CAAC;IA2D9B;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,kBAAkB,CAAC;IA6D9B;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiFlE;;OAEG;IACH,IAAI,IAAI,IAAI;IAKZ;;OAEG;IACH,gBAAgB,IAAI,OAAO,GAAG,IAAI;IAclC;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,cAAc,IAAI;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;KACxB,GAAG,IAAI;IAmBR;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAM9C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAMpC;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMjD;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnD;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CrE;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BzE;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAM3B;AAGD,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD"}
|
|
@@ -4,7 +4,7 @@ import { wordlist } from "@scure/bip39/wordlists/english.js";
|
|
|
4
4
|
import { encrypt, decrypt, generateWalletId, initializeStorage, readWalletIndex, readKeystore, writeKeystore, readAppConfig, writeAppConfig, addWalletToIndex, removeWalletFromIndex, deleteWalletStorage, updateWalletMetadata, } from "../utils/index.js";
|
|
5
5
|
import { WalletNotFoundError, InvalidPasswordError, InvalidMnemonicError, } from "../utils/errors.js";
|
|
6
6
|
import { NETWORK } from "../config/networks.js";
|
|
7
|
-
import { deriveBitcoinAddress } from "../utils/bitcoin.js";
|
|
7
|
+
import { deriveBitcoinAddress, deriveBitcoinKeyPair } from "../utils/bitcoin.js";
|
|
8
8
|
/**
|
|
9
9
|
* Wallet manager singleton - handles wallet creation, encryption, and session management
|
|
10
10
|
*/
|
|
@@ -166,12 +166,14 @@ class WalletManager {
|
|
|
166
166
|
});
|
|
167
167
|
const stacksAccount = wallet.accounts[0];
|
|
168
168
|
const address = getStxAddress(stacksAccount, walletMeta.network);
|
|
169
|
-
// Derive Bitcoin
|
|
170
|
-
const { address: btcAddress } =
|
|
169
|
+
// Derive Bitcoin key pair (includes private key for signing)
|
|
170
|
+
const { address: btcAddress, privateKey: btcPrivateKey, publicKeyBytes: btcPublicKey, } = deriveBitcoinKeyPair(mnemonic, walletMeta.network);
|
|
171
171
|
const account = {
|
|
172
172
|
address,
|
|
173
173
|
btcAddress,
|
|
174
174
|
privateKey: stacksAccount.stxPrivateKey,
|
|
175
|
+
btcPrivateKey,
|
|
176
|
+
btcPublicKey,
|
|
175
177
|
network: walletMeta.network,
|
|
176
178
|
};
|
|
177
179
|
// Update last used timestamp
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-manager.js","sourceRoot":"","sources":["../../src/services/wallet-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wallet-manager.js","sourceRoot":"","sources":["../../src/services/wallet-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bitcoin L1 tools
|
|
3
|
+
*
|
|
4
|
+
* These tools provide Bitcoin blockchain operations:
|
|
5
|
+
* - get_btc_balance: Check BTC balance for an address
|
|
6
|
+
* - get_btc_fees: Get current fee estimates
|
|
7
|
+
* - get_btc_utxos: List UTXOs for an address
|
|
8
|
+
* - transfer_btc: Send BTC to a recipient address
|
|
9
|
+
*
|
|
10
|
+
* Data is fetched from mempool.space API (no authentication required).
|
|
11
|
+
* Transfer operations require an unlocked wallet.
|
|
12
|
+
*/
|
|
13
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
14
|
+
export declare function registerBitcoinTools(server: McpServer): void;
|
|
15
|
+
//# sourceMappingURL=bitcoin.tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitcoin.tools.d.ts","sourceRoot":"","sources":["../../src/tools/bitcoin.tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2CpE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8S5D"}
|