@aibtc/mcp-server 1.36.0 → 1.37.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.
Files changed (50) hide show
  1. package/dist/services/defi.service.d.ts.map +1 -1
  2. package/dist/services/defi.service.js +4 -17
  3. package/dist/services/defi.service.js.map +1 -1
  4. package/dist/services/wallet-manager.d.ts.map +1 -1
  5. package/dist/services/wallet-manager.js +7 -0
  6. package/dist/services/wallet-manager.js.map +1 -1
  7. package/dist/tools/contract.tools.d.ts.map +1 -1
  8. package/dist/tools/contract.tools.js +3 -2
  9. package/dist/tools/contract.tools.js.map +1 -1
  10. package/dist/tools/index.d.ts.map +1 -1
  11. package/dist/tools/index.js +15 -0
  12. package/dist/tools/index.js.map +1 -1
  13. package/dist/tools/jingswap.tools.d.ts +3 -0
  14. package/dist/tools/jingswap.tools.d.ts.map +1 -0
  15. package/dist/tools/jingswap.tools.js +471 -0
  16. package/dist/tools/jingswap.tools.js.map +1 -0
  17. package/dist/tools/nostr.tools.d.ts +3 -0
  18. package/dist/tools/nostr.tools.d.ts.map +1 -0
  19. package/dist/tools/nostr.tools.js +409 -0
  20. package/dist/tools/nostr.tools.js.map +1 -0
  21. package/dist/tools/ordinals-p2p.tools.d.ts +21 -0
  22. package/dist/tools/ordinals-p2p.tools.d.ts.map +1 -0
  23. package/dist/tools/ordinals-p2p.tools.js +621 -0
  24. package/dist/tools/ordinals-p2p.tools.js.map +1 -0
  25. package/dist/tools/relay-diagnostic.tools.d.ts.map +1 -1
  26. package/dist/tools/relay-diagnostic.tools.js +27 -4
  27. package/dist/tools/relay-diagnostic.tools.js.map +1 -1
  28. package/dist/tools/skill-mappings.d.ts.map +1 -1
  29. package/dist/tools/skill-mappings.js +13 -1
  30. package/dist/tools/skill-mappings.js.map +1 -1
  31. package/dist/tools/stacks-market.tools.d.ts +22 -0
  32. package/dist/tools/stacks-market.tools.d.ts.map +1 -0
  33. package/dist/tools/stacks-market.tools.js +630 -0
  34. package/dist/tools/stacks-market.tools.js.map +1 -0
  35. package/dist/tools/taproot-multisig.tools.d.ts +17 -0
  36. package/dist/tools/taproot-multisig.tools.d.ts.map +1 -0
  37. package/dist/tools/taproot-multisig.tools.js +236 -0
  38. package/dist/tools/taproot-multisig.tools.js.map +1 -0
  39. package/dist/tools/transfer.tools.js +1 -1
  40. package/dist/tools/transfer.tools.js.map +1 -1
  41. package/dist/transactions/builder.d.ts +35 -1
  42. package/dist/transactions/builder.d.ts.map +1 -1
  43. package/dist/transactions/builder.js +153 -4
  44. package/dist/transactions/builder.js.map +1 -1
  45. package/dist/utils/fee.d.ts +15 -0
  46. package/dist/utils/fee.d.ts.map +1 -1
  47. package/dist/utils/fee.js +36 -4
  48. package/dist/utils/fee.js.map +1 -1
  49. package/package.json +4 -1
  50. package/skill/SKILL.md +1 -1
package/dist/utils/fee.js CHANGED
@@ -9,12 +9,18 @@ import { getHiroApi } from "../services/hiro-api.js";
9
9
  /**
10
10
  * Fee floor and ceiling clamps by transaction type (in micro-STX).
11
11
  * Prevents absurd fees during mempool spikes while allowing reasonable variation.
12
+ *
13
+ * Ceilings are set conservatively:
14
+ * token_transfer: 3,000 uSTX (0.003 STX) — simple transfer
15
+ * contract_call: 50,000 uSTX (0.05 STX) — complex contract call
16
+ * smart_contract: 50,000 uSTX (0.05 STX) — deployment
17
+ * These match the x402-sponsor-relay reference implementation.
12
18
  */
13
19
  const FEE_CLAMPS = {
14
20
  token_transfer: { floor: 180n, ceiling: 3000n },
15
- contract_call: { floor: 3000n, ceiling: 100000n },
16
- smart_contract: { floor: 10000n, ceiling: 100000n },
17
- all: { floor: 180n, ceiling: 100000n }, // Widest range for aggregate fees
21
+ contract_call: { floor: 3000n, ceiling: 50000n },
22
+ smart_contract: { floor: 10000n, ceiling: 50000n },
23
+ all: { floor: 180n, ceiling: 50000n }, // Widest range for aggregate fees
18
24
  };
19
25
  /**
20
26
  * Check if a string is a valid fee preset.
@@ -90,6 +96,32 @@ export async function resolveFee(fee, network, txType = "all") {
90
96
  if (!/^\d+$/.test(normalizedFee)) {
91
97
  throw new Error(`Invalid fee value "${fee}" – expected a non-negative integer string in micro-STX or preset ("low", "medium", "high").`);
92
98
  }
93
- return BigInt(normalizedFee);
99
+ // Clamp numeric overrides to the txType ceiling so user-specified fees
100
+ // can't accidentally produce NotEnoughFunds on complex calls.
101
+ const numericFee = BigInt(normalizedFee);
102
+ const clamps = FEE_CLAMPS[txType];
103
+ return clampFee(numericFee, clamps.floor, clamps.ceiling);
104
+ }
105
+ /**
106
+ * Resolve a default medium-priority fee for a given transaction type.
107
+ *
108
+ * Used by builder functions when the caller does not supply an explicit fee,
109
+ * so that ALL write paths receive a clamped fee rather than relying on the
110
+ * unclamped @stacks/transactions auto-estimation which can over-shoot.
111
+ *
112
+ * Falls back gracefully: if the Hiro mempool API is unreachable, returns the
113
+ * floor × 2 (medium multiplier) for the tx type.
114
+ *
115
+ * @param network - The Stacks network to fetch fee estimates from
116
+ * @param txType - The transaction type for ceiling/floor selection
117
+ * @returns Fee in micro-STX as bigint
118
+ */
119
+ export async function resolveDefaultFee(network, txType = "contract_call") {
120
+ const resolved = await resolveFee("medium", network, txType);
121
+ // resolveFee("medium", ...) always returns a value (never undefined) because
122
+ // "medium" is a valid preset — the cast is safe.
123
+ // Fallback path (when Hiro is unreachable): returns floor × 2 for the txType.
124
+ // This risks slow inclusion during congestion but prevents hard failures.
125
+ return resolved;
94
126
  }
95
127
  //# sourceMappingURL=fee.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fee.js","sourceRoot":"","sources":["../../src/utils/fee.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fee.js","sourceRoot":"","sources":["../../src/utils/fee.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aibtc/mcp-server",
3
- "version": "1.36.0",
3
+ "version": "1.37.0",
4
4
  "description": "Bitcoin-native MCP server for AI agents: BTC/STX wallets, DeFi yield, sBTC peg, NFTs, and x402 payments.",
5
5
  "mcpName": "io.github.aibtcdev/mcp-server",
6
6
  "type": "module",
@@ -60,12 +60,15 @@
60
60
  "axios": "^1.13.6",
61
61
  "dotenv": "^17.3.1",
62
62
  "micro-ordinals": "^0.3.0",
63
+ "nostr-tools": "^2.23.3",
63
64
  "sbtc": "^0.3.2",
64
65
  "tslib": "^2.8.1",
66
+ "ws": "^8.19.0",
65
67
  "zod": "^4.3.6"
66
68
  },
67
69
  "devDependencies": {
68
70
  "@types/node": "^22.19.13",
71
+ "@types/ws": "^8.18.1",
69
72
  "tsx": "^4.21.0",
70
73
  "typescript": "^5.9.3",
71
74
  "vitest": "^4.0.18"
package/skill/SKILL.md CHANGED
@@ -4,7 +4,7 @@ description: Bitcoin L1 wallet for agents - check balances, send BTC, manage UTX
4
4
  license: MIT
5
5
  metadata:
6
6
  author: aibtcdev
7
- version: 1.36.0 # x-release-please-version
7
+ version: 1.37.0 # x-release-please-version
8
8
  npm: "@aibtc/mcp-server"
9
9
  github: https://github.com/aibtcdev/aibtc-mcp-server
10
10
  ---