@aibtc/mcp-server 1.0.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/README.md +340 -0
- package/dist/api.d.ts +9 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +79 -0
- package/dist/api.js.map +1 -0
- package/dist/config/contracts.d.ts +169 -0
- package/dist/config/contracts.d.ts.map +1 -0
- package/dist/config/contracts.js +250 -0
- package/dist/config/contracts.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/networks.d.ts +11 -0
- package/dist/config/networks.d.ts.map +1 -0
- package/dist/config/networks.js +21 -0
- package/dist/config/networks.js.map +1 -0
- package/dist/endpoints/index.d.ts +2 -0
- package/dist/endpoints/index.d.ts.map +1 -0
- package/dist/endpoints/index.js +2 -0
- package/dist/endpoints/index.js.map +1 -0
- package/dist/endpoints/registry.d.ts +38 -0
- package/dist/endpoints/registry.d.ts.map +1 -0
- package/dist/endpoints/registry.js +935 -0
- package/dist/endpoints/registry.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +79 -0
- package/dist/index.js.map +1 -0
- package/dist/services/bitflow.service.d.ts +159 -0
- package/dist/services/bitflow.service.d.ts.map +1 -0
- package/dist/services/bitflow.service.js +325 -0
- package/dist/services/bitflow.service.js.map +1 -0
- package/dist/services/bns.service.d.ts +87 -0
- package/dist/services/bns.service.d.ts.map +1 -0
- package/dist/services/bns.service.js +312 -0
- package/dist/services/bns.service.js.map +1 -0
- package/dist/services/defi.service.d.ts +146 -0
- package/dist/services/defi.service.d.ts.map +1 -0
- package/dist/services/defi.service.js +461 -0
- package/dist/services/defi.service.js.map +1 -0
- package/dist/services/hiro-api.d.ts +438 -0
- package/dist/services/hiro-api.d.ts.map +1 -0
- package/dist/services/hiro-api.js +376 -0
- package/dist/services/hiro-api.js.map +1 -0
- package/dist/services/nft.service.d.ts +70 -0
- package/dist/services/nft.service.d.ts.map +1 -0
- package/dist/services/nft.service.js +148 -0
- package/dist/services/nft.service.js.map +1 -0
- package/dist/services/sbtc.service.d.ts +44 -0
- package/dist/services/sbtc.service.d.ts.map +1 -0
- package/dist/services/sbtc.service.js +100 -0
- package/dist/services/sbtc.service.js.map +1 -0
- package/dist/services/scaffold.service.d.ts +41 -0
- package/dist/services/scaffold.service.d.ts.map +1 -0
- package/dist/services/scaffold.service.js +1055 -0
- package/dist/services/scaffold.service.js.map +1 -0
- package/dist/services/stacking.service.d.ts +58 -0
- package/dist/services/stacking.service.d.ts.map +1 -0
- package/dist/services/stacking.service.js +153 -0
- package/dist/services/stacking.service.js.map +1 -0
- package/dist/services/tokens.service.d.ts +62 -0
- package/dist/services/tokens.service.d.ts.map +1 -0
- package/dist/services/tokens.service.js +119 -0
- package/dist/services/tokens.service.js.map +1 -0
- package/dist/services/wallet-manager.d.ts +107 -0
- package/dist/services/wallet-manager.d.ts.map +1 -0
- package/dist/services/wallet-manager.js +389 -0
- package/dist/services/wallet-manager.js.map +1 -0
- package/dist/services/x402.service.d.ts +26 -0
- package/dist/services/x402.service.d.ts.map +1 -0
- package/dist/services/x402.service.js +125 -0
- package/dist/services/x402.service.js.map +1 -0
- package/dist/tools/bitflow.tools.d.ts +3 -0
- package/dist/tools/bitflow.tools.d.ts.map +1 -0
- package/dist/tools/bitflow.tools.js +501 -0
- package/dist/tools/bitflow.tools.js.map +1 -0
- package/dist/tools/bns.tools.d.ts +3 -0
- package/dist/tools/bns.tools.d.ts.map +1 -0
- package/dist/tools/bns.tools.js +164 -0
- package/dist/tools/bns.tools.js.map +1 -0
- package/dist/tools/contract.tools.d.ts +3 -0
- package/dist/tools/contract.tools.d.ts.map +1 -0
- package/dist/tools/contract.tools.js +126 -0
- package/dist/tools/contract.tools.js.map +1 -0
- package/dist/tools/defi.tools.d.ts +3 -0
- package/dist/tools/defi.tools.d.ts.map +1 -0
- package/dist/tools/defi.tools.js +425 -0
- package/dist/tools/defi.tools.js.map +1 -0
- package/dist/tools/endpoint.tools.d.ts +3 -0
- package/dist/tools/endpoint.tools.d.ts.map +1 -0
- package/dist/tools/endpoint.tools.js +157 -0
- package/dist/tools/endpoint.tools.js.map +1 -0
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +52 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/nft.tools.d.ts +3 -0
- package/dist/tools/nft.tools.d.ts.map +1 -0
- package/dist/tools/nft.tools.js +154 -0
- package/dist/tools/nft.tools.js.map +1 -0
- package/dist/tools/openrouter.tools.d.ts +3 -0
- package/dist/tools/openrouter.tools.d.ts.map +1 -0
- package/dist/tools/openrouter.tools.js +664 -0
- package/dist/tools/openrouter.tools.js.map +1 -0
- package/dist/tools/query.tools.d.ts +3 -0
- package/dist/tools/query.tools.d.ts.map +1 -0
- package/dist/tools/query.tools.js +209 -0
- package/dist/tools/query.tools.js.map +1 -0
- package/dist/tools/sbtc.tools.d.ts +3 -0
- package/dist/tools/sbtc.tools.d.ts.map +1 -0
- package/dist/tools/sbtc.tools.js +103 -0
- package/dist/tools/sbtc.tools.js.map +1 -0
- package/dist/tools/scaffold.tools.d.ts +3 -0
- package/dist/tools/scaffold.tools.d.ts.map +1 -0
- package/dist/tools/scaffold.tools.js +216 -0
- package/dist/tools/scaffold.tools.js.map +1 -0
- package/dist/tools/stacking.tools.d.ts +3 -0
- package/dist/tools/stacking.tools.d.ts.map +1 -0
- package/dist/tools/stacking.tools.js +112 -0
- package/dist/tools/stacking.tools.js.map +1 -0
- package/dist/tools/tokens.tools.d.ts +3 -0
- package/dist/tools/tokens.tools.d.ts.map +1 -0
- package/dist/tools/tokens.tools.js +154 -0
- package/dist/tools/tokens.tools.js.map +1 -0
- package/dist/tools/transfer.tools.d.ts +3 -0
- package/dist/tools/transfer.tools.d.ts.map +1 -0
- package/dist/tools/transfer.tools.js +62 -0
- package/dist/tools/transfer.tools.js.map +1 -0
- package/dist/tools/wallet-management.tools.d.ts +6 -0
- package/dist/tools/wallet-management.tools.d.ts.map +1 -0
- package/dist/tools/wallet-management.tools.js +390 -0
- package/dist/tools/wallet-management.tools.js.map +1 -0
- package/dist/tools/wallet.tools.d.ts +3 -0
- package/dist/tools/wallet.tools.d.ts.map +1 -0
- package/dist/tools/wallet.tools.js +105 -0
- package/dist/tools/wallet.tools.js.map +1 -0
- package/dist/transactions/builder.d.ts +56 -0
- package/dist/transactions/builder.d.ts.map +1 -0
- package/dist/transactions/builder.js +134 -0
- package/dist/transactions/builder.js.map +1 -0
- package/dist/transactions/clarity-values.d.ts +67 -0
- package/dist/transactions/clarity-values.d.ts.map +1 -0
- package/dist/transactions/clarity-values.js +169 -0
- package/dist/transactions/clarity-values.js.map +1 -0
- package/dist/transactions/post-conditions.d.ts +27 -0
- package/dist/transactions/post-conditions.d.ts.map +1 -0
- package/dist/transactions/post-conditions.js +101 -0
- package/dist/transactions/post-conditions.js.map +1 -0
- package/dist/utils/encryption.d.ts +33 -0
- package/dist/utils/encryption.d.ts.map +1 -0
- package/dist/utils/encryption.js +110 -0
- package/dist/utils/encryption.js.map +1 -0
- package/dist/utils/errors.d.ts +84 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +132 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/formatting.d.ts +51 -0
- package/dist/utils/formatting.d.ts.map +1 -0
- package/dist/utils/formatting.js +114 -0
- package/dist/utils/formatting.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/storage.d.ts +90 -0
- package/dist/utils/storage.d.ts.map +1 -0
- package/dist/utils/storage.js +196 -0
- package/dist/utils/storage.js.map +1 -0
- package/dist/utils/validation.d.ts +67 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +74 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/wallet.d.ts +86 -0
- package/dist/wallet.d.ts.map +1 -0
- package/dist/wallet.js +279 -0
- package/dist/wallet.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { getAccount, getWalletAddress, NETWORK } from "../services/x402.service.js";
|
|
3
|
+
import { getStackingService } from "../services/stacking.service.js";
|
|
4
|
+
import { getExplorerTxUrl } from "../config/networks.js";
|
|
5
|
+
import { createJsonResponse, createErrorResponse } from "../utils/index.js";
|
|
6
|
+
export function registerStackingTools(server) {
|
|
7
|
+
// Get PoX info
|
|
8
|
+
server.registerTool("get_pox_info", {
|
|
9
|
+
description: "Get current Proof of Transfer (PoX) cycle information.",
|
|
10
|
+
}, async () => {
|
|
11
|
+
try {
|
|
12
|
+
const stackingService = getStackingService(NETWORK);
|
|
13
|
+
const poxInfo = await stackingService.getPoxInfo();
|
|
14
|
+
return createJsonResponse({
|
|
15
|
+
network: NETWORK,
|
|
16
|
+
currentCycle: poxInfo.current_cycle,
|
|
17
|
+
nextCycle: poxInfo.next_cycle,
|
|
18
|
+
minAmountUstx: poxInfo.min_amount_ustx,
|
|
19
|
+
rewardCycleLength: poxInfo.reward_cycle_length,
|
|
20
|
+
prepareCycleLength: poxInfo.prepare_cycle_length,
|
|
21
|
+
currentBurnchainBlockHeight: poxInfo.current_burnchain_block_height,
|
|
22
|
+
totalLiquidSupplyUstx: poxInfo.total_liquid_supply_ustx,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
return createErrorResponse(error);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
// Get stacking status
|
|
30
|
+
server.registerTool("get_stacking_status", {
|
|
31
|
+
description: "Check if an address is currently stacking STX.",
|
|
32
|
+
inputSchema: {
|
|
33
|
+
address: z
|
|
34
|
+
.string()
|
|
35
|
+
.optional()
|
|
36
|
+
.describe("Wallet address to check. Uses configured wallet if not provided."),
|
|
37
|
+
},
|
|
38
|
+
}, async ({ address }) => {
|
|
39
|
+
try {
|
|
40
|
+
const stackingService = getStackingService(NETWORK);
|
|
41
|
+
const walletAddress = address || (await getWalletAddress());
|
|
42
|
+
const status = await stackingService.getStackingStatus(walletAddress);
|
|
43
|
+
return createJsonResponse({
|
|
44
|
+
address: walletAddress,
|
|
45
|
+
network: NETWORK,
|
|
46
|
+
...status,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
return createErrorResponse(error);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
// Stack STX
|
|
54
|
+
server.registerTool("stack_stx", {
|
|
55
|
+
description: `Lock STX for stacking to earn BTC rewards.
|
|
56
|
+
|
|
57
|
+
Requires a Bitcoin address (hash) for receiving rewards.`,
|
|
58
|
+
inputSchema: {
|
|
59
|
+
amount: z.string().describe("Amount of STX to stack (in micro-STX)"),
|
|
60
|
+
poxAddressVersion: z.number().describe("Bitcoin address version (0 for P2PKH, 1 for P2SH, etc.)"),
|
|
61
|
+
poxAddressHashbytes: z.string().describe("Bitcoin address hash (hex string)"),
|
|
62
|
+
startBurnHeight: z.number().describe("Bitcoin block height to start stacking"),
|
|
63
|
+
lockPeriod: z.number().min(1).max(12).describe("Number of reward cycles to lock (1-12)"),
|
|
64
|
+
},
|
|
65
|
+
}, async ({ amount, poxAddressVersion, poxAddressHashbytes, startBurnHeight, lockPeriod }) => {
|
|
66
|
+
try {
|
|
67
|
+
const stackingService = getStackingService(NETWORK);
|
|
68
|
+
const account = await getAccount();
|
|
69
|
+
const result = await stackingService.stack(account, BigInt(amount), { version: poxAddressVersion, hashbytes: poxAddressHashbytes }, startBurnHeight, lockPeriod);
|
|
70
|
+
return createJsonResponse({
|
|
71
|
+
success: true,
|
|
72
|
+
txid: result.txid,
|
|
73
|
+
stacker: account.address,
|
|
74
|
+
amount,
|
|
75
|
+
lockPeriod,
|
|
76
|
+
startBurnHeight,
|
|
77
|
+
network: NETWORK,
|
|
78
|
+
explorerUrl: getExplorerTxUrl(result.txid, NETWORK),
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
return createErrorResponse(error);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
// Extend stacking
|
|
86
|
+
server.registerTool("extend_stacking", {
|
|
87
|
+
description: "Extend an existing stacking lock period.",
|
|
88
|
+
inputSchema: {
|
|
89
|
+
extendCount: z.number().min(1).max(12).describe("Number of additional cycles to lock"),
|
|
90
|
+
poxAddressVersion: z.number().describe("Bitcoin address version"),
|
|
91
|
+
poxAddressHashbytes: z.string().describe("Bitcoin address hash (hex string)"),
|
|
92
|
+
},
|
|
93
|
+
}, async ({ extendCount, poxAddressVersion, poxAddressHashbytes }) => {
|
|
94
|
+
try {
|
|
95
|
+
const stackingService = getStackingService(NETWORK);
|
|
96
|
+
const account = await getAccount();
|
|
97
|
+
const result = await stackingService.extendStacking(account, extendCount, { version: poxAddressVersion, hashbytes: poxAddressHashbytes });
|
|
98
|
+
return createJsonResponse({
|
|
99
|
+
success: true,
|
|
100
|
+
txid: result.txid,
|
|
101
|
+
stacker: account.address,
|
|
102
|
+
extendCount,
|
|
103
|
+
network: NETWORK,
|
|
104
|
+
explorerUrl: getExplorerTxUrl(result.txid, NETWORK),
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
return createErrorResponse(error);
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=stacking.tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stacking.tools.js","sourceRoot":"","sources":["../../src/tools/stacking.tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,eAAe;IACf,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EAAE,wDAAwD;KACtE,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;YAEnD,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,OAAO;gBAChB,YAAY,EAAE,OAAO,CAAC,aAAa;gBACnC,SAAS,EAAE,OAAO,CAAC,UAAU;gBAC7B,aAAa,EAAE,OAAO,CAAC,eAAe;gBACtC,iBAAiB,EAAE,OAAO,CAAC,mBAAmB;gBAC9C,kBAAkB,EAAE,OAAO,CAAC,oBAAoB;gBAChD,2BAA2B,EAAE,OAAO,CAAC,8BAA8B;gBACnE,qBAAqB,EAAE,OAAO,CAAC,wBAAwB;aACxD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,sBAAsB;IACtB,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,kEAAkE,CAAC;SAChF;KACF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,aAAa,GAAG,OAAO,IAAI,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YAEtE,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,OAAO;gBAChB,GAAG,MAAM;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,YAAY;IACZ,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;QACE,WAAW,EAAE;;yDAEsC;QACnD,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YACpE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;YACjG,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAC7E,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YAC9E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SACzF;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,EAAE;QACxF,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,CACxC,OAAO,EACP,MAAM,CAAC,MAAM,CAAC,EACd,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAC9D,eAAe,EACf,UAAU,CACX,CAAC;YAEF,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM;gBACN,UAAU;gBACV,eAAe;gBACf,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;aACpD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,kBAAkB;IAClB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,0CAA0C;QACvD,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YACtF,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACjE,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;SAC9E;KACF,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,EAAE,EAAE;QAChE,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,cAAc,CACjD,OAAO,EACP,WAAW,EACX,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAC/D,CAAC;YAEF,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,WAAW;gBACX,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;aACpD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;AAEJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.tools.d.ts","sourceRoot":"","sources":["../../src/tools/tokens.tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4K1D"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { getAccount, getWalletAddress, NETWORK } from "../services/x402.service.js";
|
|
3
|
+
import { getTokensService } from "../services/tokens.service.js";
|
|
4
|
+
import { getExplorerTxUrl } from "../config/networks.js";
|
|
5
|
+
import { createJsonResponse, createErrorResponse } from "../utils/index.js";
|
|
6
|
+
export function registerTokenTools(server) {
|
|
7
|
+
// Get token balance
|
|
8
|
+
server.registerTool("get_token_balance", {
|
|
9
|
+
description: `Get the balance of any SIP-010 token for a wallet address.
|
|
10
|
+
|
|
11
|
+
Supports well-known tokens by symbol: sBTC, USDCx, ALEX, DIKO
|
|
12
|
+
Or use the full contract ID: address.contract-name`,
|
|
13
|
+
inputSchema: {
|
|
14
|
+
token: z.string().describe("Token symbol (e.g., 'USDCx', 'sBTC') or contract ID"),
|
|
15
|
+
address: z
|
|
16
|
+
.string()
|
|
17
|
+
.optional()
|
|
18
|
+
.describe("Wallet address to check. Uses configured wallet if not provided."),
|
|
19
|
+
},
|
|
20
|
+
}, async ({ token, address }) => {
|
|
21
|
+
try {
|
|
22
|
+
const tokensService = getTokensService(NETWORK);
|
|
23
|
+
const walletAddress = address || (await getWalletAddress());
|
|
24
|
+
const balance = await tokensService.getBalance(token, walletAddress);
|
|
25
|
+
return createJsonResponse({
|
|
26
|
+
address: walletAddress,
|
|
27
|
+
network: NETWORK,
|
|
28
|
+
token: {
|
|
29
|
+
contractId: balance.contractId,
|
|
30
|
+
symbol: balance.symbol,
|
|
31
|
+
name: balance.name,
|
|
32
|
+
decimals: balance.decimals,
|
|
33
|
+
},
|
|
34
|
+
balance: {
|
|
35
|
+
raw: balance.balance,
|
|
36
|
+
formatted: balance.formattedBalance,
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
return createErrorResponse(error);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
// Transfer token
|
|
45
|
+
server.registerTool("transfer_token", {
|
|
46
|
+
description: `Transfer any SIP-010 token to a recipient address.
|
|
47
|
+
|
|
48
|
+
Supports well-known tokens by symbol: sBTC, USDCx, ALEX, DIKO
|
|
49
|
+
Or use the full contract ID.`,
|
|
50
|
+
inputSchema: {
|
|
51
|
+
token: z.string().describe("Token symbol (e.g., 'USDCx') or contract ID"),
|
|
52
|
+
recipient: z.string().describe("The recipient's Stacks address"),
|
|
53
|
+
amount: z.string().describe("Amount in smallest unit (depends on token decimals)"),
|
|
54
|
+
memo: z.string().optional().describe("Optional memo message (max 34 bytes)"),
|
|
55
|
+
},
|
|
56
|
+
}, async ({ token, recipient, amount, memo }) => {
|
|
57
|
+
try {
|
|
58
|
+
const tokensService = getTokensService(NETWORK);
|
|
59
|
+
const account = await getAccount();
|
|
60
|
+
const result = await tokensService.transfer(account, token, recipient, BigInt(amount), memo);
|
|
61
|
+
return createJsonResponse({
|
|
62
|
+
success: true,
|
|
63
|
+
txid: result.txid,
|
|
64
|
+
from: account.address,
|
|
65
|
+
recipient,
|
|
66
|
+
token,
|
|
67
|
+
amount,
|
|
68
|
+
memo: memo || null,
|
|
69
|
+
network: NETWORK,
|
|
70
|
+
explorerUrl: getExplorerTxUrl(result.txid, NETWORK),
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
return createErrorResponse(error);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
// Get token info
|
|
78
|
+
server.registerTool("get_token_info", {
|
|
79
|
+
description: "Get metadata for a SIP-010 token (name, symbol, decimals, supply).",
|
|
80
|
+
inputSchema: {
|
|
81
|
+
token: z.string().describe("Token symbol or contract ID"),
|
|
82
|
+
},
|
|
83
|
+
}, async ({ token }) => {
|
|
84
|
+
try {
|
|
85
|
+
const tokensService = getTokensService(NETWORK);
|
|
86
|
+
const info = await tokensService.getTokenInfo(token);
|
|
87
|
+
if (!info) {
|
|
88
|
+
return createJsonResponse({
|
|
89
|
+
error: "Token metadata not found",
|
|
90
|
+
token,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
return createJsonResponse({
|
|
94
|
+
network: NETWORK,
|
|
95
|
+
...info,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
return createErrorResponse(error);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
// List user tokens
|
|
103
|
+
server.registerTool("list_user_tokens", {
|
|
104
|
+
description: "List all fungible tokens owned by an address.",
|
|
105
|
+
inputSchema: {
|
|
106
|
+
address: z
|
|
107
|
+
.string()
|
|
108
|
+
.optional()
|
|
109
|
+
.describe("Wallet address to check. Uses configured wallet if not provided."),
|
|
110
|
+
},
|
|
111
|
+
}, async ({ address }) => {
|
|
112
|
+
try {
|
|
113
|
+
const tokensService = getTokensService(NETWORK);
|
|
114
|
+
const walletAddress = address || (await getWalletAddress());
|
|
115
|
+
const tokens = await tokensService.getUserTokens(walletAddress);
|
|
116
|
+
return createJsonResponse({
|
|
117
|
+
address: walletAddress,
|
|
118
|
+
network: NETWORK,
|
|
119
|
+
tokenCount: tokens.length,
|
|
120
|
+
tokens: tokens.map((t) => ({
|
|
121
|
+
contractId: t.asset_identifier,
|
|
122
|
+
balance: t.balance,
|
|
123
|
+
})),
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
return createErrorResponse(error);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
// Get token holders
|
|
131
|
+
server.registerTool("get_token_holders", {
|
|
132
|
+
description: "Get the top holders of a SIP-010 token.",
|
|
133
|
+
inputSchema: {
|
|
134
|
+
token: z.string().describe("Token symbol or contract ID"),
|
|
135
|
+
limit: z.number().optional().default(20).describe("Maximum number of holders to return"),
|
|
136
|
+
offset: z.number().optional().default(0).describe("Offset for pagination"),
|
|
137
|
+
},
|
|
138
|
+
}, async ({ token, limit, offset }) => {
|
|
139
|
+
try {
|
|
140
|
+
const tokensService = getTokensService(NETWORK);
|
|
141
|
+
const result = await tokensService.getTokenHolders(token, { limit, offset });
|
|
142
|
+
return createJsonResponse({
|
|
143
|
+
token,
|
|
144
|
+
network: NETWORK,
|
|
145
|
+
total: result.total,
|
|
146
|
+
holders: result.results,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
return createErrorResponse(error);
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=tokens.tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.tools.js","sourceRoot":"","sources":["../../src/tools/tokens.tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer.tools.d.ts","sourceRoot":"","sources":["../../src/tools/transfer.tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiE7D"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { getAccount, NETWORK } from "../services/x402.service.js";
|
|
3
|
+
import { transferStx, broadcastSignedTransaction } from "../transactions/builder.js";
|
|
4
|
+
import { getExplorerTxUrl } from "../config/networks.js";
|
|
5
|
+
import { createJsonResponse, createErrorResponse } from "../utils/index.js";
|
|
6
|
+
export function registerTransferTools(server) {
|
|
7
|
+
// Transfer STX
|
|
8
|
+
server.registerTool("transfer_stx", {
|
|
9
|
+
description: `Transfer STX tokens to a recipient address. Signs and broadcasts the transaction.
|
|
10
|
+
|
|
11
|
+
Example: To send 2 STX, use amount "2000000" (micro-STX).
|
|
12
|
+
1 STX = 1,000,000 micro-STX`,
|
|
13
|
+
inputSchema: {
|
|
14
|
+
recipient: z.string().describe("The recipient's Stacks address (starts with SP or ST)"),
|
|
15
|
+
amount: z
|
|
16
|
+
.string()
|
|
17
|
+
.describe("Amount in micro-STX (1 STX = 1,000,000 micro-STX). Example: '2000000' for 2 STX"),
|
|
18
|
+
memo: z.string().optional().describe("Optional memo message to include with the transfer"),
|
|
19
|
+
},
|
|
20
|
+
}, async ({ recipient, amount, memo }) => {
|
|
21
|
+
try {
|
|
22
|
+
const account = await getAccount();
|
|
23
|
+
const result = await transferStx(account, recipient, BigInt(amount), memo);
|
|
24
|
+
const stxAmount = (BigInt(amount) / BigInt(1000000)).toString();
|
|
25
|
+
return createJsonResponse({
|
|
26
|
+
success: true,
|
|
27
|
+
txid: result.txid,
|
|
28
|
+
from: account.address,
|
|
29
|
+
recipient,
|
|
30
|
+
amount: stxAmount + " STX",
|
|
31
|
+
amountMicroStx: amount,
|
|
32
|
+
memo: memo || null,
|
|
33
|
+
network: NETWORK,
|
|
34
|
+
explorerUrl: getExplorerTxUrl(result.txid, NETWORK),
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
return createErrorResponse(error);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
// Broadcast pre-signed transaction
|
|
42
|
+
server.registerTool("broadcast_transaction", {
|
|
43
|
+
description: "Broadcast a pre-signed Stacks transaction to the network.",
|
|
44
|
+
inputSchema: {
|
|
45
|
+
signedTx: z.string().describe("The signed transaction as a hex string"),
|
|
46
|
+
},
|
|
47
|
+
}, async ({ signedTx }) => {
|
|
48
|
+
try {
|
|
49
|
+
const result = await broadcastSignedTransaction(signedTx, NETWORK);
|
|
50
|
+
return createJsonResponse({
|
|
51
|
+
success: true,
|
|
52
|
+
txid: result.txid,
|
|
53
|
+
network: NETWORK,
|
|
54
|
+
explorerUrl: getExplorerTxUrl(result.txid, NETWORK),
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
return createErrorResponse(error);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=transfer.tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer.tools.js","sourceRoot":"","sources":["../../src/tools/transfer.tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,eAAe;IACf,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EAAE;;;4BAGS;QACtB,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;YACvF,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,CAAC,iFAAiF,CAAC;YAC9F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;SAC3F;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;YAE3E,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAEhE,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,OAAO,CAAC,OAAO;gBACrB,SAAS;gBACT,MAAM,EAAE,SAAS,GAAG,MAAM;gBAC1B,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE,IAAI,IAAI,IAAI;gBAClB,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;aACpD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,mCAAmC;IACnC,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SACxE;KACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEnE,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;aACpD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet-management.tools.d.ts","sourceRoot":"","sources":["../../src/tools/wallet-management.tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAudrE"}
|