@aibtc/mcp-server 1.32.1 → 1.33.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.
@@ -197,65 +197,83 @@ Signers later process the request and send BTC on L1.`,
197
197
  return createErrorResponse(error);
198
198
  }
199
199
  });
200
- // Check withdrawal request status
201
- server.registerTool("sbtc_withdrawal_status", {
202
- description: "Check status of an sBTC withdrawal request by requestId or initiating txid.",
203
- inputSchema: {
204
- requestId: z
205
- .number()
206
- .int()
207
- .positive()
208
- .optional()
209
- .describe("Withdrawal request ID"),
210
- txid: z
211
- .string()
212
- .optional()
213
- .describe("Initiate-withdrawal transaction ID (used to resolve requestId)"),
214
- },
215
- }, async ({ requestId, txid }) => {
216
- try {
217
- if (requestId === undefined && !txid) {
218
- throw new Error("Provide either requestId or txid.");
219
- }
220
- const sbtcService = getSbtcService(NETWORK);
221
- let resolvedRequestId = requestId;
222
- if (resolvedRequestId === undefined && txid) {
223
- resolvedRequestId = await sbtcService.getWithdrawalRequestIdFromTx(txid);
224
- if (resolvedRequestId === null) {
225
- return createJsonResponse({
226
- txid,
227
- requestId: null,
228
- status: "pending_tx",
229
- message: "Could not resolve requestId from tx yet. The transaction may still be pending or unindexed.",
230
- network: NETWORK,
231
- explorerUrl: getExplorerTxUrl(txid, NETWORK),
232
- });
233
- }
234
- }
235
- if (resolvedRequestId == null) {
236
- throw new Error("Unable to resolve withdrawal request ID.");
237
- }
238
- const request = await sbtcService.getWithdrawalRequest(resolvedRequestId, getReadonlySenderAddress());
239
- if (!request) {
200
+ // Shared withdrawal status logic used by sbtc_withdrawal_status and sbtc_withdraw_status
201
+ async function fetchWithdrawalStatus(params) {
202
+ const { requestId, txid } = params;
203
+ if (requestId === undefined && !txid) {
204
+ throw new Error("Provide either requestId or txid.");
205
+ }
206
+ const sbtcService = getSbtcService(NETWORK);
207
+ let resolvedRequestId = requestId;
208
+ if (resolvedRequestId === undefined && txid) {
209
+ resolvedRequestId = await sbtcService.getWithdrawalRequestIdFromTx(txid);
210
+ if (resolvedRequestId === null) {
240
211
  return createJsonResponse({
241
- requestId: resolvedRequestId,
242
- status: "not_found",
212
+ txid,
213
+ requestId: null,
214
+ status: "pending_tx",
215
+ message: "Could not resolve requestId from tx yet. The transaction may still be pending or unindexed.",
243
216
  network: NETWORK,
217
+ explorerUrl: getExplorerTxUrl(txid, NETWORK),
244
218
  });
245
219
  }
220
+ }
221
+ if (resolvedRequestId == null) {
222
+ throw new Error("Unable to resolve withdrawal request ID.");
223
+ }
224
+ const request = await sbtcService.getWithdrawalRequest(resolvedRequestId, getReadonlySenderAddress());
225
+ if (!request) {
246
226
  return createJsonResponse({
247
- requestId: request.id,
248
- status: request.status,
227
+ requestId: resolvedRequestId,
228
+ status: "not_found",
249
229
  network: NETWORK,
250
- amountSats: request.amountSats,
251
- maxFeeSats: request.maxFeeSats,
252
- sender: request.sender,
253
- blockHeight: request.blockHeight,
254
- recipient: request.recipient,
255
- txid,
256
- ...(txid ? { explorerUrl: getExplorerTxUrl(txid, NETWORK) } : {}),
257
230
  });
258
231
  }
232
+ return createJsonResponse({
233
+ requestId: request.id,
234
+ status: request.status,
235
+ network: NETWORK,
236
+ amountSats: request.amountSats,
237
+ maxFeeSats: request.maxFeeSats,
238
+ sender: request.sender,
239
+ blockHeight: request.blockHeight,
240
+ recipient: request.recipient,
241
+ txid,
242
+ ...(txid ? { explorerUrl: getExplorerTxUrl(txid, NETWORK) } : {}),
243
+ });
244
+ }
245
+ const withdrawalStatusInputSchema = {
246
+ requestId: z
247
+ .number()
248
+ .int()
249
+ .positive()
250
+ .optional()
251
+ .describe("Withdrawal request ID"),
252
+ txid: z
253
+ .string()
254
+ .optional()
255
+ .describe("Initiate-withdrawal transaction ID (used to resolve requestId)"),
256
+ };
257
+ // Check withdrawal request status
258
+ server.registerTool("sbtc_withdrawal_status", {
259
+ description: "Check status of an sBTC withdrawal request by requestId or initiating txid.",
260
+ inputSchema: withdrawalStatusInputSchema,
261
+ }, async ({ requestId, txid }) => {
262
+ try {
263
+ return await fetchWithdrawalStatus({ requestId, txid });
264
+ }
265
+ catch (error) {
266
+ return createErrorResponse(error);
267
+ }
268
+ });
269
+ // Compatibility alias for sbtc_withdrawal_status
270
+ server.registerTool("sbtc_withdraw_status", {
271
+ description: "Alias for sbtc_withdrawal_status. Check the status of an sBTC peg-out (withdrawal) request.",
272
+ inputSchema: withdrawalStatusInputSchema,
273
+ }, async ({ requestId, txid }) => {
274
+ try {
275
+ return await fetchWithdrawalStatus({ requestId, txid });
276
+ }
259
277
  catch (error) {
260
278
  return createErrorResponse(error);
261
279
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sbtc.tools.js","sourceRoot":"","sources":["../../src/tools/sbtc.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,SAAS,sBAAsB,CAAC,mBAA2B;IAIzD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAEhF,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IACtF,CAAC;IAED,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,KAAK;YACR,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpF,KAAK,IAAI;YACP,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpF,KAAK,MAAM;YACT,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpF,KAAK,KAAK;YACR,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpF;YACE,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB;IAC/B,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,mBAAmB;IACnB,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EAAE,4CAA4C;QACzD,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,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,aAAa,GAAG,OAAO,IAAI,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAE5D,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO,CAAC,WAAW;oBACzB,GAAG,EAAE,OAAO,CAAC,UAAU,GAAG,OAAO;iBAClC;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,EAAE;;;6DAG0C;QACvD,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YAChE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;YACrG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC7D,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,iGAAiG,CAAC;YAC9G,SAAS,EAAE,eAAe;SAC3B;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE;QACpD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YAE5G,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAEpE,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,OAAO;gBAC3B,UAAU,EAAE,MAAM;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,kFAAkF;IAClF,KAAK,UAAU,iBAAiB,CAAC,MAMhC;QACC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAEvE,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,gDAAgD,MAAM,YAAY,MAAM,EAAE,CAC3E,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;QAEnE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,kBAAkB,CACjD,OAAO,EACP,MAAM,CAAC,MAAM,CAAC,EACd,MAAM,CAAC,MAAM,CAAC,EACd,cAAc,EACd,WAAW,EACX,SAAS,CACV,CAAC;QAEF,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,WAAW,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1E,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,qBAAqB,GAAG;QAC5B,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,gCAAgC,CAAC;QAC7C,mBAAmB,EAAE,CAAC;aACnB,MAAM,EAAE;aACR,QAAQ,CAAC,0DAA0D,CAAC;QACvE,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,EAAE;aACL,WAAW,EAAE;aACb,QAAQ,EAAE;aACV,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,CAAC,gCAAgC,CAAC;QAC7C,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,qEAAqE,CAAC;QAClF,SAAS,EAAE,eAAe;KAC3B,CAAC;IAEF,+CAA+C;IAC/C,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,WAAW,EAAE;;;sDAGmC;QAChD,WAAW,EAAE,qBAAqB;KACnC,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE;QAChE,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,MAAM,iBAAiB,CAAC;gBACpE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS;aACpD,CAAC,CAAC;YAEH,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,SAAS;gBACT,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE;oBACT,OAAO,EAAE,mBAAmB;oBAC5B,OAAO,EAAE,cAAc,CAAC,OAAO;oBAC/B,YAAY,EAAE,cAAc,CAAC,YAAY;iBAC1C;gBACD,UAAU,EAAE;oBACV,UAAU,EAAE,MAAM;oBAClB,UAAU,EAAE,MAAM;oBAClB,UAAU,EAAE,MAAM,GAAG,MAAM;iBAC5B;gBACD,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;gBACnD,QAAQ,EACN,SAAS,KAAK,IAAI;oBAChB,CAAC,CAAC,qDAAqD,SAAS,EAAE;oBAClE,CAAC,CAAC,qEAAqE;aAC5E,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,mDAAmD;IACnD,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EACT,kFAAkF;QACpF,WAAW,EAAE,qBAAqB;KACnC,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE;QAChE,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC;gBACzC,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS;aACpD,CAAC,CAAC;YAEH,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;IAEF,kCAAkC;IAClC,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EACT,6EAA6E;QAC/E,WAAW,EAAE;YACX,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,QAAQ,CAAC,uBAAuB,CAAC;YACpC,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,gEAAgE,CAAC;SAC9E;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,iBAAiB,GAA8B,SAAS,CAAC;YAE7D,IAAI,iBAAiB,KAAK,SAAS,IAAI,IAAI,EAAE,CAAC;gBAC5C,iBAAiB,GAAG,MAAM,WAAW,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACzE,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;oBAC/B,OAAO,kBAAkB,CAAC;wBACxB,IAAI;wBACJ,SAAS,EAAE,IAAI;wBACf,MAAM,EAAE,YAAY;wBACpB,OAAO,EACL,6FAA6F;wBAC/F,OAAO,EAAE,OAAO;wBAChB,WAAW,EAAE,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC;qBAC7C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,oBAAoB,CACpD,iBAAiB,EACjB,wBAAwB,EAAE,CAC3B,CAAC;YAEF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,kBAAkB,CAAC;oBACxB,SAAS,EAAE,iBAAiB;oBAC5B,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,kBAAkB,CAAC;gBACxB,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,IAAI;gBACJ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE,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,uBAAuB,EACvB;QACE,WAAW,EAAE,2DAA2D;KACzE,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,0DAA0D;YAC1D,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;YACzC,IAAI,OAAO,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,oDAAoD;gBACpD,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YAED,4EAA4E;YAC5E,IAAI,OAAO,EAAE,gBAAgB,EAAE,CAAC;gBAC9B,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;gBACtD,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAE/E,MAAM,kBAAkB,GAAG,MAAM,cAAc,CAAC,mBAAmB,CACjE,OAAO,CAAC,OAAO,EACf,gBAAgB,EAChB,KAAK,EAAE,yBAAyB;gBAChC,GAAG,CAAC,qCAAqC;iBAC1C,CAAC;gBAEF,OAAO,kBAAkB,CAAC;oBACxB,OAAO,EAAE,OAAO;oBAChB,cAAc,EAAE,kBAAkB,CAAC,cAAc;oBACjD,YAAY,EAAE,GAAG,kBAAkB,CAAC,MAAM,WAAW;oBACrD,eAAe,EAAE,GAAG,kBAAkB,CAAC,QAAQ,SAAS;oBACxD,aAAa,EAAE,OAAO,CAAC,OAAO;oBAC9B,YAAY,EAAE;wBACZ,0CAA0C;wBAC1C,yCAAyC;wBACzC,sDAAsD;wBACtD,+EAA+E;wBAC/E,gGAAgG;qBACjG;iBACF,CAAC,CAAC;YACL,CAAC;YAED,oDAAoD;YACpD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,CAAC;YAEvD,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,OAAO;gBAChB,GAAG,WAAW;aACf,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,oBAAoB;IACpB,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EAAE,gEAAgE;KAC9E,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;YAE/C,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE;oBACX,IAAI,EAAE,OAAO,CAAC,eAAe;oBAC7B,GAAG,EAAE,OAAO,CAAC,cAAc,GAAG,OAAO;iBACtC;gBACD,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EAAE;;;;;;;;;gFAS6D;QAC1E,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,CAAC,8DAA8D,CAAC;YAC3E,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,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CACP,sEAAsE,CACvE;YACH,eAAe,EAAE,CAAC;iBACf,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,OAAO,CAAC,GAAG,CAAC;iBACZ,QAAQ,CACP,oFAAoF,CACrF;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,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,EAAE,EAAE;QAC5E,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,cAAc,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAChF,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;YACJ,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,GAAG,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;gBACpC,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,sBAAsB;YACtB,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAEtD,2EAA2E;YAC3E,mCAAmC;YACnC,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE/E,iDAAiD;YACjD,oEAAoE;YACpE,iEAAiE;YACjE,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,uBAAuB,CAChE,MAAM,EACN,OAAO,CAAC,OAAO,EAAE,iCAAiC;YAClD,OAAO,CAAC,UAAU,EAAE,uCAAuC;YAC3D,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,OAAO,CAAC,aAAa,EAAE,wDAAwD;YAC/E,eAAe,CAChB,CAAC;YAEF,4DAA4D;YAC5D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,kBAAkB,CACpD,aAAa,CAAC,KAAK,EACnB,aAAa,CAAC,aAAa,EAC3B,aAAa,CAAC,aAAa,EAC3B,aAAa,CAAC,IAAI,CACnB,CAAC;YAEF,MAAM,SAAS,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEpD,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,WAAW,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;gBAClD,OAAO,EAAE;oBACP,MAAM,EAAE,SAAS,GAAG,MAAM;oBAC1B,UAAU,EAAE,MAAM;oBAClB,SAAS,EAAE,OAAO,CAAC,OAAO;oBAC1B,cAAc,EAAE,OAAO,CAAC,UAAU;oBAClC,cAAc,EAAE,OAAO,CAAC,cAAc;oBACtC,YAAY,EAAE,YAAY,GAAG,OAAO;oBACpC,eAAe,EAAE,eAAe,GAAG,SAAS;oBAC5C,OAAO,EAAE,GAAG,eAAe,SAAS;iBACrC;gBACD,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,uFAAuF;aAC9F,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,4BAA4B;IAC5B,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EAAE,iEAAiE;QAC9E,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YAClE,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,WAAW,EAAE;iBACb,QAAQ,EAAE;iBACV,OAAO,CAAC,CAAC,CAAC;iBACV,QAAQ,CAAC,0CAA0C,CAAC;SACxD;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEjE,OAAO,kBAAkB,CAAC;gBACxB,IAAI;gBACJ,IAAI;gBACJ,MAAM;gBACN,WAAW,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;gBAC3C,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4CAA4C;YAC5C,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,OAAO,kBAAkB,CAAC;oBACxB,IAAI;oBACJ,IAAI;oBACJ,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,gHAAgH;oBACzH,WAAW,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;oBAC3C,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;YACL,CAAC;YACD,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;AAEJ,CAAC"}
1
+ {"version":3,"file":"sbtc.tools.js","sourceRoot":"","sources":["../../src/tools/sbtc.tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerStackingLotteryTools(server: McpServer): void;
3
+ //# sourceMappingURL=stacking-lottery.tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stacking-lottery.tools.d.ts","sourceRoot":"","sources":["../../src/tools/stacking-lottery.tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+GpE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8ZpE"}
@@ -0,0 +1,422 @@
1
+ import { z } from "zod";
2
+ import { uintCV, contractPrincipalCV, PostConditionMode, deserializeCV, cvToJSON, } from "@stacks/transactions";
3
+ import { getAccount, NETWORK } from "../services/x402.service.js";
4
+ import { getHiroApi } from "../services/hiro-api.js";
5
+ import { callContract } from "../transactions/builder.js";
6
+ import { getExplorerTxUrl } from "../config/networks.js";
7
+ import { createJsonResponse, createErrorResponse } from "../utils/index.js";
8
+ // ---------------------------------------------------------------------------
9
+ // Constants — mirrored from the stackspot skill
10
+ // ---------------------------------------------------------------------------
11
+ const POT_DEPLOYER = "SPT4SQP5RC1BFAJEQKBHZMXQ8NQ7G118F335BD85";
12
+ const PLATFORM_ADDRESS = "SP7FSE31MWSJJFTQBEQ1TT6TF3G4J6GDKE81SWD9";
13
+ const PLATFORM_CONTRACT = "stackspots";
14
+ const KNOWN_POTS = [
15
+ {
16
+ name: "Genesis",
17
+ contractName: "Genesis",
18
+ maxParticipants: 2,
19
+ minAmountStx: 20,
20
+ deployer: POT_DEPLOYER,
21
+ },
22
+ {
23
+ name: "BuildOnBitcoin",
24
+ contractName: "BuildOnBitcoin",
25
+ maxParticipants: 10,
26
+ minAmountStx: 100,
27
+ deployer: POT_DEPLOYER,
28
+ },
29
+ {
30
+ name: "STXLFG",
31
+ contractName: "STXLFG",
32
+ maxParticipants: 100,
33
+ minAmountStx: 21,
34
+ deployer: POT_DEPLOYER,
35
+ },
36
+ ];
37
+ // ---------------------------------------------------------------------------
38
+ // Helpers
39
+ // ---------------------------------------------------------------------------
40
+ /**
41
+ * Parse a contract name that may be fully qualified (deployer.name) or bare (name).
42
+ * Returns { deployer, contractName }.
43
+ */
44
+ function parseContractName(input) {
45
+ if (input.includes(".")) {
46
+ const [deployer, ...rest] = input.split(".");
47
+ return { deployer, contractName: rest.join(".") };
48
+ }
49
+ return { deployer: POT_DEPLOYER, contractName: input };
50
+ }
51
+ /**
52
+ * Call a read-only function on a pot contract and return a JSON-friendly value.
53
+ */
54
+ async function callPotReadOnly(contractNameOrId, functionName, args) {
55
+ const hiro = getHiroApi(NETWORK);
56
+ const { deployer, contractName } = parseContractName(contractNameOrId);
57
+ const contractId = `${deployer}.${contractName}`;
58
+ const result = await hiro.callReadOnlyFunction(contractId, functionName, args, deployer);
59
+ if (!result.okay) {
60
+ throw new Error(`Read-only call ${functionName} failed: ${result.cause ?? "unknown error"}`);
61
+ }
62
+ if (!result.result) {
63
+ return null;
64
+ }
65
+ const hex = result.result.startsWith("0x")
66
+ ? result.result.slice(2)
67
+ : result.result;
68
+ const cv = deserializeCV(Buffer.from(hex, "hex"));
69
+ return cvToJSON(cv);
70
+ }
71
+ // ---------------------------------------------------------------------------
72
+ // Tool registration
73
+ // ---------------------------------------------------------------------------
74
+ export function registerStackingLotteryTools(server) {
75
+ // ==========================================================================
76
+ // list-pots
77
+ // ==========================================================================
78
+ server.registerTool("stackspot_list_pots", {
79
+ description: `List all known Stackspot stacking lottery pots with current on-chain values.
80
+
81
+ Stackspot is a stacking lottery on Stacks: participants pool STX into a pot, the pot
82
+ stacks via PoX to earn BTC rewards. A VRF-selected winner receives the sBTC yield;
83
+ all participants recover their original STX contribution.
84
+
85
+ Returns each pot's contract ID, configuration, current STX value, and lock status.
86
+
87
+ Note: Stackspot is only available on mainnet.`,
88
+ inputSchema: {},
89
+ }, async () => {
90
+ try {
91
+ if (NETWORK !== "mainnet") {
92
+ return createJsonResponse({
93
+ error: "Stackspot is only available on mainnet",
94
+ network: NETWORK,
95
+ });
96
+ }
97
+ const pots = await Promise.all(KNOWN_POTS.map(async (pot) => {
98
+ let currentValueUstx = null;
99
+ let isLocked = null;
100
+ try {
101
+ currentValueUstx = await callPotReadOnly(pot.contractName, "get-pot-value", []);
102
+ }
103
+ catch {
104
+ // pot may not be deployed or reachable — skip gracefully
105
+ }
106
+ try {
107
+ isLocked = await callPotReadOnly(pot.contractName, "is-locked", []);
108
+ }
109
+ catch {
110
+ // same
111
+ }
112
+ return {
113
+ name: pot.name,
114
+ contract: `${pot.deployer}.${pot.contractName}`,
115
+ maxParticipants: pot.maxParticipants,
116
+ minAmountStx: pot.minAmountStx,
117
+ currentValueUstx,
118
+ isLocked,
119
+ };
120
+ }));
121
+ return createJsonResponse({
122
+ network: NETWORK,
123
+ potCount: pots.length,
124
+ pots,
125
+ });
126
+ }
127
+ catch (error) {
128
+ return createErrorResponse(error);
129
+ }
130
+ });
131
+ // ==========================================================================
132
+ // get-pot-state
133
+ // ==========================================================================
134
+ server.registerTool("stackspot_get_pot_state", {
135
+ description: `Get full on-chain state for a Stackspot stacking lottery pot.
136
+
137
+ Returns the pot value, lock status, configurations, pool config, and detailed state.
138
+ Use a bare contract name (e.g., "STXLFG") or a fully-qualified identifier
139
+ (e.g., "SPT4SQP5RC1BFAJEQKBHZMXQ8NQ7G118F335BD85.STXLFG").
140
+
141
+ Note: Stackspot is only available on mainnet.`,
142
+ inputSchema: {
143
+ contractName: z
144
+ .string()
145
+ .describe('Pot contract name or full identifier (e.g., "STXLFG" or "SPT4SQP5RC1BFAJEQKBHZMXQ8NQ7G118F335BD85.STXLFG")'),
146
+ },
147
+ }, async ({ contractName }) => {
148
+ try {
149
+ if (NETWORK !== "mainnet") {
150
+ return createJsonResponse({
151
+ error: "Stackspot is only available on mainnet",
152
+ network: NETWORK,
153
+ });
154
+ }
155
+ const parsed = parseContractName(contractName);
156
+ const contractId = `${parsed.deployer}.${parsed.contractName}`;
157
+ const [potValue, isLocked, configs, poolConfig, details] = await Promise.all([
158
+ callPotReadOnly(contractName, "get-pot-value", []),
159
+ callPotReadOnly(contractName, "is-locked", []),
160
+ callPotReadOnly(contractName, "get-configs", []),
161
+ callPotReadOnly(contractName, "get-pool-config", []),
162
+ callPotReadOnly(contractName, "get-pot-details", []),
163
+ ]);
164
+ return createJsonResponse({
165
+ network: NETWORK,
166
+ contractName: parsed.contractName,
167
+ contractId,
168
+ state: {
169
+ potValueUstx: potValue,
170
+ isLocked,
171
+ configs,
172
+ poolConfig,
173
+ details,
174
+ },
175
+ });
176
+ }
177
+ catch (error) {
178
+ return createErrorResponse(error);
179
+ }
180
+ });
181
+ // ==========================================================================
182
+ // join-pot
183
+ // ==========================================================================
184
+ server.registerTool("stackspot_join_pot", {
185
+ description: `Contribute STX to a Stackspot stacking lottery pot.
186
+
187
+ Joins a pot by contributing STX. Your STX is locked until the stacking cycle
188
+ completes. All participants recover their STX regardless of who wins; only the
189
+ VRF-selected winner receives the sBTC yield.
190
+
191
+ Use a bare contract name (e.g., "STXLFG") or a fully-qualified identifier.
192
+ Amount must be in micro-STX (1 STX = 1,000,000 micro-STX).
193
+
194
+ Requires an unlocked wallet with sufficient STX balance.
195
+
196
+ Note: Stackspot is only available on mainnet.`,
197
+ inputSchema: {
198
+ contractName: z
199
+ .string()
200
+ .describe('Pot contract name or full identifier (e.g., "STXLFG" or "SPT4SQP5RC1BFAJEQKBHZMXQ8NQ7G118F335BD85.STXLFG")'),
201
+ amount: z
202
+ .string()
203
+ .describe("Amount to contribute in micro-STX (1 STX = 1,000,000 micro-STX)"),
204
+ },
205
+ }, async ({ contractName, amount }) => {
206
+ try {
207
+ if (NETWORK !== "mainnet") {
208
+ return createJsonResponse({
209
+ error: "Stackspot is only available on mainnet",
210
+ network: NETWORK,
211
+ });
212
+ }
213
+ let amountBigInt;
214
+ try {
215
+ amountBigInt = BigInt(amount);
216
+ }
217
+ catch {
218
+ return createJsonResponse({
219
+ error: `Invalid amount "${amount}": must be a whole number in micro-STX (e.g., "1000000" for 1 STX)`,
220
+ });
221
+ }
222
+ if (amountBigInt <= 0n) {
223
+ return createJsonResponse({
224
+ error: "amount must be a positive integer in micro-STX",
225
+ });
226
+ }
227
+ const parsed = parseContractName(contractName);
228
+ // Warn if amount is below the known minimum for this pot
229
+ const knownPot = KNOWN_POTS.find((p) => p.contractName === parsed.contractName);
230
+ if (knownPot) {
231
+ const minUstx = BigInt(knownPot.minAmountStx) * 1000000n;
232
+ if (amountBigInt < minUstx) {
233
+ return createJsonResponse({
234
+ error: `amount ${amount} is below the minimum for ${parsed.contractName}: ${minUstx} micro-STX (${knownPot.minAmountStx} STX)`,
235
+ minimumUstx: minUstx.toString(),
236
+ minimumStx: knownPot.minAmountStx,
237
+ });
238
+ }
239
+ }
240
+ const account = await getAccount();
241
+ const result = await callContract(account, {
242
+ contractAddress: parsed.deployer,
243
+ contractName: parsed.contractName,
244
+ functionName: "join-pot",
245
+ functionArgs: [uintCV(amountBigInt)],
246
+ postConditionMode: PostConditionMode.Allow,
247
+ });
248
+ return createJsonResponse({
249
+ success: true,
250
+ txid: result.txid,
251
+ network: NETWORK,
252
+ explorerUrl: getExplorerTxUrl(result.txid, NETWORK),
253
+ pot: {
254
+ contractId: `${parsed.deployer}.${parsed.contractName}`,
255
+ amountUstx: amount,
256
+ },
257
+ });
258
+ }
259
+ catch (error) {
260
+ return createErrorResponse(error);
261
+ }
262
+ });
263
+ // ==========================================================================
264
+ // start-pot
265
+ // ==========================================================================
266
+ server.registerTool("stackspot_start_pot", {
267
+ description: `Trigger a full Stackspot pot to begin stacking via the platform contract.
268
+
269
+ Initiates stacking for a pot that has reached its participant limit. This call
270
+ goes through the platform contract (stackspots) and must be made during the PoX
271
+ prepare phase. Any participant can call this once the pot is full.
272
+
273
+ Use a bare contract name (e.g., "STXLFG") or a fully-qualified identifier.
274
+
275
+ Requires an unlocked wallet.
276
+
277
+ Note: Stackspot is only available on mainnet.`,
278
+ inputSchema: {
279
+ contractName: z
280
+ .string()
281
+ .describe('Pot contract name or full identifier (e.g., "STXLFG" or "SPT4SQP5RC1BFAJEQKBHZMXQ8NQ7G118F335BD85.STXLFG")'),
282
+ },
283
+ }, async ({ contractName }) => {
284
+ try {
285
+ if (NETWORK !== "mainnet") {
286
+ return createJsonResponse({
287
+ error: "Stackspot is only available on mainnet",
288
+ network: NETWORK,
289
+ });
290
+ }
291
+ const parsed = parseContractName(contractName);
292
+ const account = await getAccount();
293
+ const result = await callContract(account, {
294
+ contractAddress: PLATFORM_ADDRESS,
295
+ contractName: PLATFORM_CONTRACT,
296
+ functionName: "start-stackspot-jackpot",
297
+ functionArgs: [
298
+ contractPrincipalCV(parsed.deployer, parsed.contractName),
299
+ ],
300
+ postConditionMode: PostConditionMode.Allow,
301
+ });
302
+ return createJsonResponse({
303
+ success: true,
304
+ txid: result.txid,
305
+ network: NETWORK,
306
+ explorerUrl: getExplorerTxUrl(result.txid, NETWORK),
307
+ pot: {
308
+ contractId: `${parsed.deployer}.${parsed.contractName}`,
309
+ },
310
+ });
311
+ }
312
+ catch (error) {
313
+ return createErrorResponse(error);
314
+ }
315
+ });
316
+ // ==========================================================================
317
+ // claim-rewards
318
+ // ==========================================================================
319
+ server.registerTool("stackspot_claim_rewards", {
320
+ description: `Claim rewards from a completed Stackspot stacking lottery pot.
321
+
322
+ After stacking completes and a winner is selected by VRF, each participant claims
323
+ their share: all participants recover their contributed STX; the VRF-selected winner
324
+ also receives the sBTC yield earned during the stacking cycle.
325
+
326
+ Use a bare contract name (e.g., "STXLFG") or a fully-qualified identifier.
327
+
328
+ Requires an unlocked wallet.
329
+
330
+ Note: Stackspot is only available on mainnet.`,
331
+ inputSchema: {
332
+ contractName: z
333
+ .string()
334
+ .describe('Pot contract name or full identifier (e.g., "STXLFG" or "SPT4SQP5RC1BFAJEQKBHZMXQ8NQ7G118F335BD85.STXLFG")'),
335
+ },
336
+ }, async ({ contractName }) => {
337
+ try {
338
+ if (NETWORK !== "mainnet") {
339
+ return createJsonResponse({
340
+ error: "Stackspot is only available on mainnet",
341
+ network: NETWORK,
342
+ });
343
+ }
344
+ const parsed = parseContractName(contractName);
345
+ const account = await getAccount();
346
+ const result = await callContract(account, {
347
+ contractAddress: parsed.deployer,
348
+ contractName: parsed.contractName,
349
+ functionName: "claim-pot-reward",
350
+ functionArgs: [],
351
+ // TODO: tighten to PostConditionMode.Deny once post-conditions are
352
+ // defined; kept as Allow to match the upstream stackspot skill for now.
353
+ postConditionMode: PostConditionMode.Allow,
354
+ });
355
+ return createJsonResponse({
356
+ success: true,
357
+ txid: result.txid,
358
+ network: NETWORK,
359
+ explorerUrl: getExplorerTxUrl(result.txid, NETWORK),
360
+ pot: {
361
+ contractId: `${parsed.deployer}.${parsed.contractName}`,
362
+ },
363
+ });
364
+ }
365
+ catch (error) {
366
+ return createErrorResponse(error);
367
+ }
368
+ });
369
+ // ==========================================================================
370
+ // cancel-pot
371
+ // ==========================================================================
372
+ server.registerTool("stackspot_cancel_pot", {
373
+ description: `Cancel a Stackspot stacking lottery pot before stacking begins.
374
+
375
+ Cancels an unlocked pot to recover contributed STX. The pot must not yet be locked
376
+ (i.e., stacking has not started). Once stacking begins the pot cannot be cancelled.
377
+
378
+ Use a bare contract name (e.g., "STXLFG") or a fully-qualified identifier.
379
+
380
+ Requires an unlocked wallet.
381
+
382
+ Note: Stackspot is only available on mainnet.`,
383
+ inputSchema: {
384
+ contractName: z
385
+ .string()
386
+ .describe('Pot contract name or full identifier (e.g., "STXLFG" or "SPT4SQP5RC1BFAJEQKBHZMXQ8NQ7G118F335BD85.STXLFG")'),
387
+ },
388
+ }, async ({ contractName }) => {
389
+ try {
390
+ if (NETWORK !== "mainnet") {
391
+ return createJsonResponse({
392
+ error: "Stackspot is only available on mainnet",
393
+ network: NETWORK,
394
+ });
395
+ }
396
+ const parsed = parseContractName(contractName);
397
+ const account = await getAccount();
398
+ const result = await callContract(account, {
399
+ contractAddress: parsed.deployer,
400
+ contractName: parsed.contractName,
401
+ functionName: "cancel-pot",
402
+ functionArgs: [],
403
+ // TODO: tighten to PostConditionMode.Deny once post-conditions are
404
+ // defined; kept as Allow to match the upstream stackspot skill for now.
405
+ postConditionMode: PostConditionMode.Allow,
406
+ });
407
+ return createJsonResponse({
408
+ success: true,
409
+ txid: result.txid,
410
+ network: NETWORK,
411
+ explorerUrl: getExplorerTxUrl(result.txid, NETWORK),
412
+ pot: {
413
+ contractId: `${parsed.deployer}.${parsed.contractName}`,
414
+ },
415
+ });
416
+ }
417
+ catch (error) {
418
+ return createErrorResponse(error);
419
+ }
420
+ });
421
+ }
422
+ //# sourceMappingURL=stacking-lottery.tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stacking-lottery.tools.js","sourceRoot":"","sources":["../../src/tools/stacking-lottery.tools.ts"],"names":[],"mappings":"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"}