@aibtc/mcp-server 1.40.0 → 1.42.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 (56) hide show
  1. package/dist/services/credentials.d.ts +31 -0
  2. package/dist/services/credentials.d.ts.map +1 -0
  3. package/dist/services/credentials.js +162 -0
  4. package/dist/services/credentials.js.map +1 -0
  5. package/dist/services/erc8004.service.d.ts +28 -0
  6. package/dist/services/erc8004.service.d.ts.map +1 -1
  7. package/dist/services/erc8004.service.js +115 -0
  8. package/dist/services/erc8004.service.js.map +1 -1
  9. package/dist/services/unisat-indexer.d.ts +97 -0
  10. package/dist/services/unisat-indexer.d.ts.map +1 -0
  11. package/dist/services/unisat-indexer.js +178 -0
  12. package/dist/services/unisat-indexer.js.map +1 -0
  13. package/dist/tools/bounty-scanner.tools.d.ts +29 -0
  14. package/dist/tools/bounty-scanner.tools.d.ts.map +1 -0
  15. package/dist/tools/bounty-scanner.tools.js +405 -0
  16. package/dist/tools/bounty-scanner.tools.js.map +1 -0
  17. package/dist/tools/credentials.tools.d.ts +9 -0
  18. package/dist/tools/credentials.tools.d.ts.map +1 -0
  19. package/dist/tools/credentials.tools.js +151 -0
  20. package/dist/tools/credentials.tools.js.map +1 -0
  21. package/dist/tools/identity.tools.d.ts +22 -0
  22. package/dist/tools/identity.tools.d.ts.map +1 -0
  23. package/dist/tools/identity.tools.js +404 -0
  24. package/dist/tools/identity.tools.js.map +1 -0
  25. package/dist/tools/index.d.ts.map +1 -1
  26. package/dist/tools/index.js +15 -0
  27. package/dist/tools/index.js.map +1 -1
  28. package/dist/tools/jingswap.tools.d.ts.map +1 -1
  29. package/dist/tools/jingswap.tools.js +19 -7
  30. package/dist/tools/jingswap.tools.js.map +1 -1
  31. package/dist/tools/ordinals-p2p.tools.js +2 -2
  32. package/dist/tools/ordinals-p2p.tools.js.map +1 -1
  33. package/dist/tools/runes.tools.d.ts +25 -0
  34. package/dist/tools/runes.tools.d.ts.map +1 -0
  35. package/dist/tools/runes.tools.js +464 -0
  36. package/dist/tools/runes.tools.js.map +1 -0
  37. package/dist/tools/skill-mappings.d.ts.map +1 -1
  38. package/dist/tools/skill-mappings.js +40 -0
  39. package/dist/tools/skill-mappings.js.map +1 -1
  40. package/dist/tools/souldinals.tools.d.ts +18 -0
  41. package/dist/tools/souldinals.tools.d.ts.map +1 -0
  42. package/dist/tools/souldinals.tools.js +551 -0
  43. package/dist/tools/souldinals.tools.js.map +1 -0
  44. package/dist/tools/stacking-lottery.tools.d.ts.map +1 -1
  45. package/dist/tools/stacking-lottery.tools.js +7 -4
  46. package/dist/tools/stacking-lottery.tools.js.map +1 -1
  47. package/dist/transactions/rune-transfer-builder.d.ts +46 -0
  48. package/dist/transactions/rune-transfer-builder.d.ts.map +1 -0
  49. package/dist/transactions/rune-transfer-builder.js +130 -0
  50. package/dist/transactions/rune-transfer-builder.js.map +1 -0
  51. package/dist/transactions/runestone-builder.d.ts +40 -0
  52. package/dist/transactions/runestone-builder.d.ts.map +1 -0
  53. package/dist/transactions/runestone-builder.js +76 -0
  54. package/dist/transactions/runestone-builder.js.map +1 -0
  55. package/package.json +2 -1
  56. package/skill/SKILL.md +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"stacking-lottery.tools.js","sourceRoot":"","sources":["../../src/tools/stacking-lottery.tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stacking-lottery.tools.js","sourceRoot":"","sources":["../../src/tools/stacking-lottery.tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,iBAAiB,EAEjB,aAAa,EACb,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,8EAA8E;AAC9E,gDAAgD;AAChD,8EAA8E;AAE9E,MAAM,YAAY,GAAG,0CAA0C,CAAC;AAChE,MAAM,gBAAgB,GAAG,0CAA0C,CAAC;AACpE,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAUvC,MAAM,UAAU,GAAc;IAC5B;QACE,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,SAAS;QACvB,eAAe,EAAE,CAAC;QAClB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,YAAY;KACvB;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,YAAY,EAAE,gBAAgB;QAC9B,eAAe,EAAE,EAAE;QACnB,YAAY,EAAE,GAAG;QACjB,QAAQ,EAAE,YAAY;KACvB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,QAAQ;QACtB,eAAe,EAAE,GAAG;QACpB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,YAAY;KACvB;CACF,CAAC;AAEF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;GAGG;AACH,SAAS,iBAAiB,CAAC,KAAa;IAItC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAC5B,gBAAwB,EACxB,YAAoB,EACpB,IAAoB;IAEpB,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,GAAG,QAAQ,IAAI,YAAY,EAAE,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAC5C,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,QAAQ,CACT,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,kBAAkB,YAAY,YAAY,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,CAC5E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;QACxC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAClB,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAClD,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,6EAA6E;IAC7E,YAAY;IACZ,6EAA6E;IAE7E,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EAAE;;;;;;;;8CAQ2B;QACxC,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,kBAAkB,CAAC;oBACxB,KAAK,EAAE,wCAAwC;oBAC/C,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC3B,IAAI,gBAAgB,GAAY,IAAI,CAAC;gBACrC,IAAI,QAAQ,GAAY,IAAI,CAAC;gBAC7B,IAAI,CAAC;oBACH,gBAAgB,GAAG,MAAM,eAAe,CACtC,GAAG,CAAC,YAAY,EAChB,eAAe,EACf,EAAE,CACH,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,yDAAyD;gBAC3D,CAAC;gBACD,IAAI,CAAC;oBACH,QAAQ,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;gBACtE,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO;gBACT,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,QAAQ,EAAE,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,YAAY,EAAE;oBAC/C,eAAe,EAAE,GAAG,CAAC,eAAe;oBACpC,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,gBAAgB;oBAChB,QAAQ;iBACT,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;YAEF,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,6EAA6E;IAC7E,gBAAgB;IAChB,6EAA6E;IAE7E,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,WAAW,EAAE;;;;;;8CAM2B;QACxC,WAAW,EAAE;YACX,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,CACP,4GAA4G,CAC7G;SACJ;KACF,EACD,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;QACzB,IAAI,CAAC;YACH,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,kBAAkB,CAAC;oBACxB,KAAK,EAAE,wCAAwC;oBAC/C,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAE/D,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,GACtD,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,eAAe,CAAC,YAAY,EAAE,eAAe,EAAE,EAAE,CAAC;gBAClD,eAAe,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,CAAC;gBAC9C,eAAe,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE,CAAC;gBAChD,eAAe,CAAC,YAAY,EAAE,iBAAiB,EAAE,EAAE,CAAC;gBACpD,eAAe,CAAC,YAAY,EAAE,iBAAiB,EAAE,EAAE,CAAC;aACrD,CAAC,CAAC;YAEL,OAAO,kBAAkB,CAAC;gBACxB,OAAO,EAAE,OAAO;gBAChB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,UAAU;gBACV,KAAK,EAAE;oBACL,YAAY,EAAE,QAAQ;oBACtB,QAAQ;oBACR,OAAO;oBACP,UAAU;oBACV,OAAO;iBACR;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,6EAA6E;IAC7E,WAAW;IACX,6EAA6E;IAE7E,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EAAE;;;;;;;;;;;8CAW2B;QACxC,WAAW,EAAE;YACX,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,CACP,4GAA4G,CAC7G;YACH,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,CACP,iEAAiE,CAClE;SACJ;KACF,EACD,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,kBAAkB,CAAC;oBACxB,KAAK,EAAE,wCAAwC;oBAC/C,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,IAAI,YAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,kBAAkB,CAAC;oBACxB,KAAK,EAAE,mBAAmB,MAAM,oEAAoE;iBACrG,CAAC,CAAC;YACL,CAAC;YACD,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;gBACvB,OAAO,kBAAkB,CAAC;oBACxB,KAAK,EAAE,gDAAgD;iBACxD,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAE/C,yDAAyD;YACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY,CAC9C,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,QAAU,CAAC;gBAC3D,IAAI,YAAY,GAAG,OAAO,EAAE,CAAC;oBAC3B,OAAO,kBAAkB,CAAC;wBACxB,KAAK,EAAE,UAAU,MAAM,6BAA6B,MAAM,CAAC,YAAY,KAAK,OAAO,eAAe,QAAQ,CAAC,YAAY,OAAO;wBAC9H,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE;wBAC/B,UAAU,EAAE,QAAQ,CAAC,YAAY;qBAClC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE;gBACzC,eAAe,EAAE,MAAM,CAAC,QAAQ;gBAChC,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,YAAY,EAAE,UAAU;gBACxB,YAAY,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACpC,iBAAiB,EAAE,iBAAiB,CAAC,KAAK;aAC3C,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;gBACnD,GAAG,EAAE;oBACH,UAAU,EAAE,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,YAAY,EAAE;oBACvD,UAAU,EAAE,MAAM;iBACnB;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,6EAA6E;IAC7E,YAAY;IACZ,6EAA6E;IAE7E,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EAAE;;;;;;;;;;8CAU2B;QACxC,WAAW,EAAE;YACX,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,CACP,4GAA4G,CAC7G;SACJ;KACF,EACD,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;QACzB,IAAI,CAAC;YACH,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,kBAAkB,CAAC;oBACxB,KAAK,EAAE,wCAAwC;oBAC/C,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE;gBACzC,eAAe,EAAE,gBAAgB;gBACjC,YAAY,EAAE,iBAAiB;gBAC/B,YAAY,EAAE,yBAAyB;gBACvC,YAAY,EAAE;oBACZ,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;iBAC1D;gBACD,iBAAiB,EAAE,iBAAiB,CAAC,KAAK;aAC3C,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;gBACnD,GAAG,EAAE;oBACH,UAAU,EAAE,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,YAAY,EAAE;iBACxD;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,6EAA6E;IAC7E,gBAAgB;IAChB,6EAA6E;IAE7E,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,WAAW,EAAE;;;;;;;;;;8CAU2B;QACxC,WAAW,EAAE;YACX,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,CACP,4GAA4G,CAC7G;SACJ;KACF,EACD,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;QACzB,IAAI,CAAC;YACH,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,kBAAkB,CAAC;oBACxB,KAAK,EAAE,wCAAwC;oBAC/C,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE;gBACzC,eAAe,EAAE,MAAM,CAAC,QAAQ;gBAChC,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,YAAY,EAAE,kBAAkB;gBAChC,YAAY,EAAE,EAAE;gBAChB,qEAAqE;gBACrE,yEAAyE;gBACzE,mEAAmE;gBACnE,uEAAuE;gBACvE,iBAAiB,EAAE,iBAAiB,CAAC,KAAK;aAC3C,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;gBACnD,GAAG,EAAE;oBACH,UAAU,EAAE,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,YAAY,EAAE;iBACxD;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,6EAA6E;IAC7E,aAAa;IACb,6EAA6E;IAE7E,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EAAE;;;;;;;;;8CAS2B;QACxC,WAAW,EAAE;YACX,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,CACP,4GAA4G,CAC7G;SACJ;KACF,EACD,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;QACzB,IAAI,CAAC;YACH,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,kBAAkB,CAAC;oBACxB,KAAK,EAAE,wCAAwC;oBAC/C,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE;gBACzC,eAAe,EAAE,MAAM,CAAC,QAAQ;gBAChC,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,YAAY,EAAE,YAAY;gBAC1B,YAAY,EAAE,EAAE;gBAChB,uEAAuE;gBACvE,yEAAyE;gBACzE,yEAAyE;gBACzE,iBAAiB,EAAE,iBAAiB,CAAC,KAAK;aAC3C,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;gBACnD,GAAG,EAAE;oBACH,UAAU,EAAE,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,YAAY,EAAE;iBACxD;aACF,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,46 @@
1
+ /**
2
+ * Rune Transfer Builder
3
+ *
4
+ * Builds a transaction to transfer runes from one address to another.
5
+ * Transaction structure:
6
+ * - P2TR inputs: rune UTXOs (signed with taproot key)
7
+ * - P2WPKH inputs: cardinal UTXOs for fees (signed with segwit key)
8
+ * - OP_RETURN output: Runestone with edict + change pointer
9
+ * - P2TR output: recipient receives runes (dust amount)
10
+ * - P2TR output: rune change back to sender (if partial transfer)
11
+ * - P2WPKH output: BTC change back to sender
12
+ */
13
+ import * as btc from "@scure/btc-signer";
14
+ import type { Network } from "../config/networks.js";
15
+ import type { UTXO } from "../services/mempool-api.js";
16
+ export interface RuneTransferOptions {
17
+ runeId: string;
18
+ amount: bigint;
19
+ runeUtxos: UTXO[];
20
+ feeUtxos: UTXO[];
21
+ recipientAddress: string;
22
+ feeRate: number;
23
+ senderPubKey: Uint8Array;
24
+ senderTaprootPubKey: Uint8Array;
25
+ senderAddress: string;
26
+ senderTaprootAddress: string;
27
+ network: Network;
28
+ }
29
+ export interface RuneTransferResult {
30
+ tx: btc.Transaction;
31
+ fee: number;
32
+ btcChange: number;
33
+ vsize: number;
34
+ taprootInputIndices: number[];
35
+ feeInputIndices: number[];
36
+ }
37
+ export declare function buildRuneTransfer(options: RuneTransferOptions): RuneTransferResult;
38
+ /**
39
+ * Sign a rune transfer transaction with mixed key types (P2TR + P2WPKH).
40
+ */
41
+ export declare function signRuneTransfer(tx: btc.Transaction, taprootPrivateKey: Uint8Array, btcPrivateKey: Uint8Array, taprootInputIndices: number[], feeInputIndices: number[]): {
42
+ txHex: string;
43
+ txid: string;
44
+ vsize: number;
45
+ };
46
+ //# sourceMappingURL=rune-transfer-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rune-transfer-builder.d.ts","sourceRoot":"","sources":["../../src/transactions/rune-transfer-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AASrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAGvD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,EAAE,CAAC;IAClB,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,UAAU,CAAC;IACzB,mBAAmB,EAAE,UAAU,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAQD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CAgIlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,GAAG,CAAC,WAAW,EACnB,iBAAiB,EAAE,UAAU,EAC7B,aAAa,EAAE,UAAU,EACzB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,eAAe,EAAE,MAAM,EAAE,GACxB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAUhD"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Rune Transfer Builder
3
+ *
4
+ * Builds a transaction to transfer runes from one address to another.
5
+ * Transaction structure:
6
+ * - P2TR inputs: rune UTXOs (signed with taproot key)
7
+ * - P2WPKH inputs: cardinal UTXOs for fees (signed with segwit key)
8
+ * - OP_RETURN output: Runestone with edict + change pointer
9
+ * - P2TR output: recipient receives runes (dust amount)
10
+ * - P2TR output: rune change back to sender (if partial transfer)
11
+ * - P2WPKH output: BTC change back to sender
12
+ */
13
+ import * as btc from "@scure/btc-signer";
14
+ import { P2WPKH_INPUT_VBYTES, P2WPKH_OUTPUT_VBYTES, P2TR_OUTPUT_VBYTES, P2TR_INPUT_BASE_VBYTES, TX_OVERHEAD_VBYTES, DUST_THRESHOLD, } from "../config/bitcoin-constants.js";
15
+ import { buildRunestoneScript, parseRuneId } from "./runestone-builder.js";
16
+ function getBtcNetwork(network) {
17
+ return network === "testnet" ? btc.TEST_NETWORK : btc.NETWORK;
18
+ }
19
+ const OP_RETURN_VBYTES = 50;
20
+ export function buildRuneTransfer(options) {
21
+ const { runeId, amount, runeUtxos, feeUtxos, recipientAddress, feeRate, senderPubKey, senderTaprootPubKey, senderAddress, senderTaprootAddress, network, } = options;
22
+ if (runeUtxos.length === 0)
23
+ throw new Error("No rune UTXOs provided");
24
+ if (feeUtxos.length === 0)
25
+ throw new Error("No fee UTXOs provided");
26
+ if (feeRate <= 0)
27
+ throw new Error("Fee rate must be positive");
28
+ if (amount <= 0n)
29
+ throw new Error("Amount must be positive");
30
+ const btcNetwork = getBtcNetwork(network);
31
+ const tx = new btc.Transaction();
32
+ const { block, txIndex } = parseRuneId(runeId);
33
+ // Rune UTXOs (P2TR inputs)
34
+ const taprootPayment = btc.p2tr(senderTaprootPubKey, undefined, btcNetwork);
35
+ const taprootInputIndices = [];
36
+ for (let i = 0; i < runeUtxos.length; i++) {
37
+ const utxo = runeUtxos[i];
38
+ tx.addInput({
39
+ txid: utxo.txid,
40
+ index: utxo.vout,
41
+ witnessUtxo: { script: taprootPayment.script, amount: BigInt(utxo.value) },
42
+ });
43
+ taprootInputIndices.push(i);
44
+ }
45
+ // Fee UTXOs (P2WPKH inputs)
46
+ const senderP2wpkh = btc.p2wpkh(senderPubKey, btcNetwork);
47
+ const sortedFeeUtxos = [...feeUtxos]
48
+ .filter((u) => u.status.confirmed)
49
+ .sort((a, b) => b.value - a.value);
50
+ if (sortedFeeUtxos.length === 0)
51
+ throw new Error("No confirmed fee UTXOs available");
52
+ const selectedFeeUtxos = [];
53
+ let feeTotal = 0;
54
+ const feeInputIndices = [];
55
+ for (const utxo of sortedFeeUtxos) {
56
+ selectedFeeUtxos.push(utxo);
57
+ feeTotal += utxo.value;
58
+ const estimatedVsize = TX_OVERHEAD_VBYTES +
59
+ runeUtxos.length * P2TR_INPUT_BASE_VBYTES +
60
+ selectedFeeUtxos.length * P2WPKH_INPUT_VBYTES +
61
+ OP_RETURN_VBYTES +
62
+ P2TR_OUTPUT_VBYTES + // recipient
63
+ P2TR_OUTPUT_VBYTES + // rune change
64
+ P2WPKH_OUTPUT_VBYTES; // BTC change
65
+ if (feeTotal >= Math.ceil(estimatedVsize * feeRate) + DUST_THRESHOLD) {
66
+ break;
67
+ }
68
+ }
69
+ const feeInputStartIdx = runeUtxos.length;
70
+ for (let i = 0; i < selectedFeeUtxos.length; i++) {
71
+ const utxo = selectedFeeUtxos[i];
72
+ tx.addInput({
73
+ txid: utxo.txid,
74
+ index: utxo.vout,
75
+ witnessUtxo: { script: senderP2wpkh.script, amount: BigInt(utxo.value) },
76
+ });
77
+ feeInputIndices.push(feeInputStartIdx + i);
78
+ }
79
+ // Outputs:
80
+ // 0: OP_RETURN Runestone
81
+ // 1: Recipient
82
+ // 2: Rune change (sender taproot)
83
+ // 3: BTC change (sender segwit)
84
+ const edict = { block, txIndex, amount, outputIndex: 1 };
85
+ const runestoneScript = buildRunestoneScript({ edict, changeOutput: 2 });
86
+ tx.addOutput({ script: runestoneScript, amount: 0n });
87
+ tx.addOutputAddress(recipientAddress, BigInt(DUST_THRESHOLD), btcNetwork);
88
+ const runeSats = runeUtxos.reduce((sum, u) => sum + u.value, 0);
89
+ const runeChangeSats = runeSats - DUST_THRESHOLD;
90
+ if (runeChangeSats >= DUST_THRESHOLD) {
91
+ tx.addOutputAddress(senderTaprootAddress, BigInt(runeChangeSats), btcNetwork);
92
+ }
93
+ const actualOutputCount = 3 + (runeChangeSats >= DUST_THRESHOLD ? 1 : 0);
94
+ const finalVsize = TX_OVERHEAD_VBYTES +
95
+ runeUtxos.length * P2TR_INPUT_BASE_VBYTES +
96
+ selectedFeeUtxos.length * P2WPKH_INPUT_VBYTES +
97
+ OP_RETURN_VBYTES +
98
+ (actualOutputCount - 1) * P2TR_OUTPUT_VBYTES +
99
+ P2WPKH_OUTPUT_VBYTES;
100
+ const finalFee = Math.ceil(finalVsize * feeRate);
101
+ const btcChange = feeTotal - finalFee;
102
+ if (btcChange < 0) {
103
+ throw new Error(`Insufficient fee UTXOs: have ${feeTotal} sats, need ${finalFee} sats for fee`);
104
+ }
105
+ if (btcChange >= DUST_THRESHOLD) {
106
+ tx.addOutputAddress(senderAddress, BigInt(btcChange), btcNetwork);
107
+ }
108
+ return {
109
+ tx,
110
+ fee: finalFee,
111
+ btcChange: btcChange >= DUST_THRESHOLD ? btcChange : 0,
112
+ vsize: Math.ceil(finalVsize),
113
+ taprootInputIndices,
114
+ feeInputIndices,
115
+ };
116
+ }
117
+ /**
118
+ * Sign a rune transfer transaction with mixed key types (P2TR + P2WPKH).
119
+ */
120
+ export function signRuneTransfer(tx, taprootPrivateKey, btcPrivateKey, taprootInputIndices, feeInputIndices) {
121
+ for (const idx of taprootInputIndices) {
122
+ tx.signIdx(taprootPrivateKey, idx);
123
+ }
124
+ for (const idx of feeInputIndices) {
125
+ tx.signIdx(btcPrivateKey, idx);
126
+ }
127
+ tx.finalize();
128
+ return { txHex: tx.hex, txid: tx.id, vsize: tx.vsize };
129
+ }
130
+ //# sourceMappingURL=rune-transfer-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rune-transfer-builder.js","sourceRoot":"","sources":["../../src/transactions/rune-transfer-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Runestone Builder
3
+ *
4
+ * Minimal Runestone OP_RETURN encoder for single-edict rune transfers.
5
+ * Encodes a Runestone message as an OP_RETURN output script.
6
+ *
7
+ * Protocol spec: https://docs.ordinals.com/runes.html
8
+ */
9
+ /**
10
+ * Encode a bigint as unsigned LEB128 bytes.
11
+ */
12
+ export declare function encodeLEB128(value: bigint): Uint8Array;
13
+ export interface RuneEdict {
14
+ /** Rune ID block height (e.g., 840000) */
15
+ block: bigint;
16
+ /** Rune ID transaction index within block */
17
+ txIndex: bigint;
18
+ /** Amount of runes to transfer (in smallest unit) */
19
+ amount: bigint;
20
+ /** Output index to send runes to */
21
+ outputIndex: number;
22
+ }
23
+ export interface RunestoneOptions {
24
+ edict: RuneEdict;
25
+ /** Output index for remaining rune balance (change pointer) */
26
+ changeOutput: number;
27
+ }
28
+ /**
29
+ * Build a Runestone OP_RETURN script for a single-edict rune transfer.
30
+ * Always includes an explicit change pointer to avoid burning remaining runes.
31
+ */
32
+ export declare function buildRunestoneScript(options: RunestoneOptions): Uint8Array;
33
+ /**
34
+ * Parse a rune ID string (e.g., "840000:1") into block and tx components.
35
+ */
36
+ export declare function parseRuneId(runeId: string): {
37
+ block: bigint;
38
+ txIndex: bigint;
39
+ };
40
+ //# sourceMappingURL=runestone-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runestone-builder.d.ts","sourceRoot":"","sources":["../../src/transactions/runestone-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CActD;AAMD,MAAM,WAAW,SAAS;IACxB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,UAAU,CAmC1E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAS9E"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Runestone Builder
3
+ *
4
+ * Minimal Runestone OP_RETURN encoder for single-edict rune transfers.
5
+ * Encodes a Runestone message as an OP_RETURN output script.
6
+ *
7
+ * Protocol spec: https://docs.ordinals.com/runes.html
8
+ */
9
+ // ---------------------------------------------------------------------------
10
+ // LEB128 encoding
11
+ // ---------------------------------------------------------------------------
12
+ /**
13
+ * Encode a bigint as unsigned LEB128 bytes.
14
+ */
15
+ export function encodeLEB128(value) {
16
+ if (value < 0n)
17
+ throw new Error("LEB128 only encodes unsigned values");
18
+ const bytes = [];
19
+ do {
20
+ let byte = Number(value & 0x7fn);
21
+ value >>= 7n;
22
+ if (value !== 0n) {
23
+ byte |= 0x80;
24
+ }
25
+ bytes.push(byte);
26
+ } while (value !== 0n);
27
+ return new Uint8Array(bytes);
28
+ }
29
+ /**
30
+ * Build a Runestone OP_RETURN script for a single-edict rune transfer.
31
+ * Always includes an explicit change pointer to avoid burning remaining runes.
32
+ */
33
+ export function buildRunestoneScript(options) {
34
+ const { edict, changeOutput } = options;
35
+ const parts = [];
36
+ // Tag 0: edicts body
37
+ const tag0 = encodeLEB128(0n);
38
+ parts.push(tag0, encodeLEB128(edict.block));
39
+ parts.push(tag0, encodeLEB128(edict.txIndex));
40
+ parts.push(tag0, encodeLEB128(edict.amount));
41
+ parts.push(tag0, encodeLEB128(BigInt(edict.outputIndex)));
42
+ // Tag 22: default output (change pointer)
43
+ parts.push(encodeLEB128(22n), encodeLEB128(BigInt(changeOutput)));
44
+ const payloadLength = parts.reduce((sum, p) => sum + p.length, 0);
45
+ // OP_RETURN (0x6a) OP_13 (0x5d) <pushdata>
46
+ const script = [0x6a, 0x5d];
47
+ if (payloadLength < 76) {
48
+ script.push(payloadLength);
49
+ }
50
+ else if (payloadLength < 256) {
51
+ script.push(0x4c, payloadLength);
52
+ }
53
+ else {
54
+ script.push(0x4d, payloadLength & 0xff, (payloadLength >> 8) & 0xff);
55
+ }
56
+ for (const part of parts) {
57
+ for (const byte of part) {
58
+ script.push(byte);
59
+ }
60
+ }
61
+ return new Uint8Array(script);
62
+ }
63
+ /**
64
+ * Parse a rune ID string (e.g., "840000:1") into block and tx components.
65
+ */
66
+ export function parseRuneId(runeId) {
67
+ const [blockStr, txStr] = runeId.split(":");
68
+ if (!blockStr || !txStr) {
69
+ throw new Error(`Invalid rune ID format: "${runeId}". Expected "block:tx" (e.g., "840000:1")`);
70
+ }
71
+ return {
72
+ block: BigInt(blockStr),
73
+ txIndex: BigInt(txStr),
74
+ };
75
+ }
76
+ //# sourceMappingURL=runestone-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runestone-builder.js","sourceRoot":"","sources":["../../src/transactions/runestone-builder.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.40.0",
3
+ "version": "1.42.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",
@@ -47,6 +47,7 @@
47
47
  "@faktoryfun/styx-sdk": "^1.3.5",
48
48
  "@modelcontextprotocol/sdk": "^1.27.1",
49
49
  "@noble/curves": "^2.0.1",
50
+ "@noble/hashes": "^2.0.1",
50
51
  "@scure/base": "^2.0.0",
51
52
  "@scure/bip32": "^1.4.0",
52
53
  "@scure/bip39": "^2.0.1",
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.40.0 # x-release-please-version
7
+ version: 1.42.0 # x-release-please-version
8
8
  npm: "@aibtc/mcp-server"
9
9
  github: https://github.com/aibtcdev/aibtc-mcp-server
10
10
  ---