@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.
Files changed (178) hide show
  1. package/README.md +340 -0
  2. package/dist/api.d.ts +9 -0
  3. package/dist/api.d.ts.map +1 -0
  4. package/dist/api.js +79 -0
  5. package/dist/api.js.map +1 -0
  6. package/dist/config/contracts.d.ts +169 -0
  7. package/dist/config/contracts.d.ts.map +1 -0
  8. package/dist/config/contracts.js +250 -0
  9. package/dist/config/contracts.js.map +1 -0
  10. package/dist/config/index.d.ts +3 -0
  11. package/dist/config/index.d.ts.map +1 -0
  12. package/dist/config/index.js +3 -0
  13. package/dist/config/index.js.map +1 -0
  14. package/dist/config/networks.d.ts +11 -0
  15. package/dist/config/networks.d.ts.map +1 -0
  16. package/dist/config/networks.js +21 -0
  17. package/dist/config/networks.js.map +1 -0
  18. package/dist/endpoints/index.d.ts +2 -0
  19. package/dist/endpoints/index.d.ts.map +1 -0
  20. package/dist/endpoints/index.js +2 -0
  21. package/dist/endpoints/index.js.map +1 -0
  22. package/dist/endpoints/registry.d.ts +38 -0
  23. package/dist/endpoints/registry.d.ts.map +1 -0
  24. package/dist/endpoints/registry.js +935 -0
  25. package/dist/endpoints/registry.js.map +1 -0
  26. package/dist/index.d.ts +3 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +79 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/services/bitflow.service.d.ts +159 -0
  31. package/dist/services/bitflow.service.d.ts.map +1 -0
  32. package/dist/services/bitflow.service.js +325 -0
  33. package/dist/services/bitflow.service.js.map +1 -0
  34. package/dist/services/bns.service.d.ts +87 -0
  35. package/dist/services/bns.service.d.ts.map +1 -0
  36. package/dist/services/bns.service.js +312 -0
  37. package/dist/services/bns.service.js.map +1 -0
  38. package/dist/services/defi.service.d.ts +146 -0
  39. package/dist/services/defi.service.d.ts.map +1 -0
  40. package/dist/services/defi.service.js +461 -0
  41. package/dist/services/defi.service.js.map +1 -0
  42. package/dist/services/hiro-api.d.ts +438 -0
  43. package/dist/services/hiro-api.d.ts.map +1 -0
  44. package/dist/services/hiro-api.js +376 -0
  45. package/dist/services/hiro-api.js.map +1 -0
  46. package/dist/services/nft.service.d.ts +70 -0
  47. package/dist/services/nft.service.d.ts.map +1 -0
  48. package/dist/services/nft.service.js +148 -0
  49. package/dist/services/nft.service.js.map +1 -0
  50. package/dist/services/sbtc.service.d.ts +44 -0
  51. package/dist/services/sbtc.service.d.ts.map +1 -0
  52. package/dist/services/sbtc.service.js +100 -0
  53. package/dist/services/sbtc.service.js.map +1 -0
  54. package/dist/services/scaffold.service.d.ts +41 -0
  55. package/dist/services/scaffold.service.d.ts.map +1 -0
  56. package/dist/services/scaffold.service.js +1055 -0
  57. package/dist/services/scaffold.service.js.map +1 -0
  58. package/dist/services/stacking.service.d.ts +58 -0
  59. package/dist/services/stacking.service.d.ts.map +1 -0
  60. package/dist/services/stacking.service.js +153 -0
  61. package/dist/services/stacking.service.js.map +1 -0
  62. package/dist/services/tokens.service.d.ts +62 -0
  63. package/dist/services/tokens.service.d.ts.map +1 -0
  64. package/dist/services/tokens.service.js +119 -0
  65. package/dist/services/tokens.service.js.map +1 -0
  66. package/dist/services/wallet-manager.d.ts +107 -0
  67. package/dist/services/wallet-manager.d.ts.map +1 -0
  68. package/dist/services/wallet-manager.js +389 -0
  69. package/dist/services/wallet-manager.js.map +1 -0
  70. package/dist/services/x402.service.d.ts +26 -0
  71. package/dist/services/x402.service.d.ts.map +1 -0
  72. package/dist/services/x402.service.js +125 -0
  73. package/dist/services/x402.service.js.map +1 -0
  74. package/dist/tools/bitflow.tools.d.ts +3 -0
  75. package/dist/tools/bitflow.tools.d.ts.map +1 -0
  76. package/dist/tools/bitflow.tools.js +501 -0
  77. package/dist/tools/bitflow.tools.js.map +1 -0
  78. package/dist/tools/bns.tools.d.ts +3 -0
  79. package/dist/tools/bns.tools.d.ts.map +1 -0
  80. package/dist/tools/bns.tools.js +164 -0
  81. package/dist/tools/bns.tools.js.map +1 -0
  82. package/dist/tools/contract.tools.d.ts +3 -0
  83. package/dist/tools/contract.tools.d.ts.map +1 -0
  84. package/dist/tools/contract.tools.js +126 -0
  85. package/dist/tools/contract.tools.js.map +1 -0
  86. package/dist/tools/defi.tools.d.ts +3 -0
  87. package/dist/tools/defi.tools.d.ts.map +1 -0
  88. package/dist/tools/defi.tools.js +425 -0
  89. package/dist/tools/defi.tools.js.map +1 -0
  90. package/dist/tools/endpoint.tools.d.ts +3 -0
  91. package/dist/tools/endpoint.tools.d.ts.map +1 -0
  92. package/dist/tools/endpoint.tools.js +157 -0
  93. package/dist/tools/endpoint.tools.js.map +1 -0
  94. package/dist/tools/index.d.ts +6 -0
  95. package/dist/tools/index.d.ts.map +1 -0
  96. package/dist/tools/index.js +52 -0
  97. package/dist/tools/index.js.map +1 -0
  98. package/dist/tools/nft.tools.d.ts +3 -0
  99. package/dist/tools/nft.tools.d.ts.map +1 -0
  100. package/dist/tools/nft.tools.js +154 -0
  101. package/dist/tools/nft.tools.js.map +1 -0
  102. package/dist/tools/openrouter.tools.d.ts +3 -0
  103. package/dist/tools/openrouter.tools.d.ts.map +1 -0
  104. package/dist/tools/openrouter.tools.js +664 -0
  105. package/dist/tools/openrouter.tools.js.map +1 -0
  106. package/dist/tools/query.tools.d.ts +3 -0
  107. package/dist/tools/query.tools.d.ts.map +1 -0
  108. package/dist/tools/query.tools.js +209 -0
  109. package/dist/tools/query.tools.js.map +1 -0
  110. package/dist/tools/sbtc.tools.d.ts +3 -0
  111. package/dist/tools/sbtc.tools.d.ts.map +1 -0
  112. package/dist/tools/sbtc.tools.js +103 -0
  113. package/dist/tools/sbtc.tools.js.map +1 -0
  114. package/dist/tools/scaffold.tools.d.ts +3 -0
  115. package/dist/tools/scaffold.tools.d.ts.map +1 -0
  116. package/dist/tools/scaffold.tools.js +216 -0
  117. package/dist/tools/scaffold.tools.js.map +1 -0
  118. package/dist/tools/stacking.tools.d.ts +3 -0
  119. package/dist/tools/stacking.tools.d.ts.map +1 -0
  120. package/dist/tools/stacking.tools.js +112 -0
  121. package/dist/tools/stacking.tools.js.map +1 -0
  122. package/dist/tools/tokens.tools.d.ts +3 -0
  123. package/dist/tools/tokens.tools.d.ts.map +1 -0
  124. package/dist/tools/tokens.tools.js +154 -0
  125. package/dist/tools/tokens.tools.js.map +1 -0
  126. package/dist/tools/transfer.tools.d.ts +3 -0
  127. package/dist/tools/transfer.tools.d.ts.map +1 -0
  128. package/dist/tools/transfer.tools.js +62 -0
  129. package/dist/tools/transfer.tools.js.map +1 -0
  130. package/dist/tools/wallet-management.tools.d.ts +6 -0
  131. package/dist/tools/wallet-management.tools.d.ts.map +1 -0
  132. package/dist/tools/wallet-management.tools.js +390 -0
  133. package/dist/tools/wallet-management.tools.js.map +1 -0
  134. package/dist/tools/wallet.tools.d.ts +3 -0
  135. package/dist/tools/wallet.tools.d.ts.map +1 -0
  136. package/dist/tools/wallet.tools.js +105 -0
  137. package/dist/tools/wallet.tools.js.map +1 -0
  138. package/dist/transactions/builder.d.ts +56 -0
  139. package/dist/transactions/builder.d.ts.map +1 -0
  140. package/dist/transactions/builder.js +134 -0
  141. package/dist/transactions/builder.js.map +1 -0
  142. package/dist/transactions/clarity-values.d.ts +67 -0
  143. package/dist/transactions/clarity-values.d.ts.map +1 -0
  144. package/dist/transactions/clarity-values.js +169 -0
  145. package/dist/transactions/clarity-values.js.map +1 -0
  146. package/dist/transactions/post-conditions.d.ts +27 -0
  147. package/dist/transactions/post-conditions.d.ts.map +1 -0
  148. package/dist/transactions/post-conditions.js +101 -0
  149. package/dist/transactions/post-conditions.js.map +1 -0
  150. package/dist/utils/encryption.d.ts +33 -0
  151. package/dist/utils/encryption.d.ts.map +1 -0
  152. package/dist/utils/encryption.js +110 -0
  153. package/dist/utils/encryption.js.map +1 -0
  154. package/dist/utils/errors.d.ts +84 -0
  155. package/dist/utils/errors.d.ts.map +1 -0
  156. package/dist/utils/errors.js +132 -0
  157. package/dist/utils/errors.js.map +1 -0
  158. package/dist/utils/formatting.d.ts +51 -0
  159. package/dist/utils/formatting.d.ts.map +1 -0
  160. package/dist/utils/formatting.js +114 -0
  161. package/dist/utils/formatting.js.map +1 -0
  162. package/dist/utils/index.d.ts +6 -0
  163. package/dist/utils/index.d.ts.map +1 -0
  164. package/dist/utils/index.js +6 -0
  165. package/dist/utils/index.js.map +1 -0
  166. package/dist/utils/storage.d.ts +90 -0
  167. package/dist/utils/storage.d.ts.map +1 -0
  168. package/dist/utils/storage.js +196 -0
  169. package/dist/utils/storage.js.map +1 -0
  170. package/dist/utils/validation.d.ts +67 -0
  171. package/dist/utils/validation.d.ts.map +1 -0
  172. package/dist/utils/validation.js +74 -0
  173. package/dist/utils/validation.js.map +1 -0
  174. package/dist/wallet.d.ts +86 -0
  175. package/dist/wallet.d.ts.map +1 -0
  176. package/dist/wallet.js +279 -0
  177. package/dist/wallet.js.map +1 -0
  178. package/package.json +58 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.service.js","sourceRoot":"","sources":["../../src/services/scaffold.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { PoxInfo } from "./hiro-api.js";
2
+ import { type Network } from "../config/index.js";
3
+ import { type Account, type TransferResult } from "../transactions/builder.js";
4
+ export interface StackingStatus {
5
+ stacked: boolean;
6
+ amountMicroStx: string;
7
+ amountStx: string;
8
+ firstRewardCycle: number;
9
+ lockPeriod: number;
10
+ unlockHeight: number;
11
+ poxAddress?: string;
12
+ }
13
+ export declare class StackingService {
14
+ private network;
15
+ private hiro;
16
+ private contracts;
17
+ constructor(network: Network);
18
+ /**
19
+ * Get current PoX (Proof of Transfer) info
20
+ */
21
+ getPoxInfo(): Promise<PoxInfo>;
22
+ /**
23
+ * Get stacking status for an address
24
+ * Note: Returns whether the address is stacking, but detailed amounts require proper CV parsing
25
+ */
26
+ getStackingStatus(address: string): Promise<StackingStatus>;
27
+ /**
28
+ * Stack STX tokens
29
+ */
30
+ stack(account: Account, amount: bigint, poxAddress: {
31
+ version: number;
32
+ hashbytes: string;
33
+ }, startBurnHeight: number, lockPeriod: number): Promise<TransferResult>;
34
+ /**
35
+ * Extend stacking period
36
+ */
37
+ extendStacking(account: Account, extendCount: number, poxAddress: {
38
+ version: number;
39
+ hashbytes: string;
40
+ }): Promise<TransferResult>;
41
+ /**
42
+ * Increase stacking amount
43
+ */
44
+ increaseStacking(account: Account, increaseAmount: bigint): Promise<TransferResult>;
45
+ /**
46
+ * Delegate STX to a stacking pool
47
+ */
48
+ delegateStx(account: Account, amount: bigint, delegateTo: string, untilBurnHeight?: number, poxAddress?: {
49
+ version: number;
50
+ hashbytes: string;
51
+ }): Promise<TransferResult>;
52
+ /**
53
+ * Revoke delegation
54
+ */
55
+ revokeDelegation(account: Account): Promise<TransferResult>;
56
+ }
57
+ export declare function getStackingService(network: Network): StackingService;
58
+ //# sourceMappingURL=stacking.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stacking.service.d.ts","sourceRoot":"","sources":["../../src/services/stacking.service.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,OAAO,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAiC,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAgB,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAM7F,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,qBAAa,eAAe;IAId,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,SAAS,CAAkC;gBAE/B,OAAO,EAAE,OAAO;IAKpC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAIpC;;;OAGG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAmCjE;;OAEG;IACG,KAAK,CACT,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAClD,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC;IAqB1B;;OAEG;IACG,cAAc,CAClB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GACjD,OAAO,CAAC,cAAc,CAAC;IAmB1B;;OAEG;IACG,gBAAgB,CACpB,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,cAAc,CAAC;IAa1B;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,EACxB,UAAU,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,cAAc,CAAC;IAuB1B;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;CAWlE;AAQD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAKpE"}
@@ -0,0 +1,153 @@
1
+ import { uintCV, tupleCV, bufferCV, noneCV, someCV } from "@stacks/transactions";
2
+ import { getHiroApi } from "./hiro-api.js";
3
+ import { getContracts, parseContractId } from "../config/index.js";
4
+ import { callContract } from "../transactions/builder.js";
5
+ // ============================================================================
6
+ // Stacking Service
7
+ // ============================================================================
8
+ export class StackingService {
9
+ network;
10
+ hiro;
11
+ contracts;
12
+ constructor(network) {
13
+ this.network = network;
14
+ this.hiro = getHiroApi(network);
15
+ this.contracts = getContracts(network);
16
+ }
17
+ /**
18
+ * Get current PoX (Proof of Transfer) info
19
+ */
20
+ async getPoxInfo() {
21
+ return this.hiro.getPoxInfo();
22
+ }
23
+ /**
24
+ * Get stacking status for an address
25
+ * Note: Returns whether the address is stacking, but detailed amounts require proper CV parsing
26
+ */
27
+ async getStackingStatus(address) {
28
+ try {
29
+ const result = await this.hiro.callReadOnlyFunction(this.contracts.POX_4, "get-stacker-info", [{ type: "principal", value: address }], address);
30
+ if (result.okay && result.result) {
31
+ const isStacked = result.result.includes("some");
32
+ return {
33
+ stacked: isStacked,
34
+ amountMicroStx: "0", // Requires CV parsing
35
+ amountStx: "0",
36
+ firstRewardCycle: 0,
37
+ lockPeriod: 0,
38
+ unlockHeight: 0,
39
+ };
40
+ }
41
+ }
42
+ catch {
43
+ // Stacker info not found
44
+ }
45
+ return {
46
+ stacked: false,
47
+ amountMicroStx: "0",
48
+ amountStx: "0",
49
+ firstRewardCycle: 0,
50
+ lockPeriod: 0,
51
+ unlockHeight: 0,
52
+ };
53
+ }
54
+ /**
55
+ * Stack STX tokens
56
+ */
57
+ async stack(account, amount, poxAddress, startBurnHeight, lockPeriod) {
58
+ const { address: contractAddress, name: contractName } = parseContractId(this.contracts.POX_4);
59
+ const functionArgs = [
60
+ uintCV(amount),
61
+ tupleCV({
62
+ version: bufferCV(Buffer.from([poxAddress.version])),
63
+ hashbytes: bufferCV(Buffer.from(poxAddress.hashbytes, "hex")),
64
+ }),
65
+ uintCV(startBurnHeight),
66
+ uintCV(lockPeriod),
67
+ ];
68
+ return callContract(account, {
69
+ contractAddress,
70
+ contractName,
71
+ functionName: "stack-stx",
72
+ functionArgs,
73
+ });
74
+ }
75
+ /**
76
+ * Extend stacking period
77
+ */
78
+ async extendStacking(account, extendCount, poxAddress) {
79
+ const { address: contractAddress, name: contractName } = parseContractId(this.contracts.POX_4);
80
+ const functionArgs = [
81
+ uintCV(extendCount),
82
+ tupleCV({
83
+ version: bufferCV(Buffer.from([poxAddress.version])),
84
+ hashbytes: bufferCV(Buffer.from(poxAddress.hashbytes, "hex")),
85
+ }),
86
+ ];
87
+ return callContract(account, {
88
+ contractAddress,
89
+ contractName,
90
+ functionName: "stack-extend",
91
+ functionArgs,
92
+ });
93
+ }
94
+ /**
95
+ * Increase stacking amount
96
+ */
97
+ async increaseStacking(account, increaseAmount) {
98
+ const { address: contractAddress, name: contractName } = parseContractId(this.contracts.POX_4);
99
+ const functionArgs = [uintCV(increaseAmount)];
100
+ return callContract(account, {
101
+ contractAddress,
102
+ contractName,
103
+ functionName: "stack-increase",
104
+ functionArgs,
105
+ });
106
+ }
107
+ /**
108
+ * Delegate STX to a stacking pool
109
+ */
110
+ async delegateStx(account, amount, delegateTo, untilBurnHeight, poxAddress) {
111
+ const { address: contractAddress, name: contractName } = parseContractId(this.contracts.POX_4);
112
+ const functionArgs = [
113
+ uintCV(amount),
114
+ { type: "principal", value: delegateTo },
115
+ untilBurnHeight ? someCV(uintCV(untilBurnHeight)) : noneCV(),
116
+ poxAddress
117
+ ? someCV(tupleCV({
118
+ version: bufferCV(Buffer.from([poxAddress.version])),
119
+ hashbytes: bufferCV(Buffer.from(poxAddress.hashbytes, "hex")),
120
+ }))
121
+ : noneCV(),
122
+ ];
123
+ return callContract(account, {
124
+ contractAddress,
125
+ contractName,
126
+ functionName: "delegate-stx",
127
+ functionArgs,
128
+ });
129
+ }
130
+ /**
131
+ * Revoke delegation
132
+ */
133
+ async revokeDelegation(account) {
134
+ const { address: contractAddress, name: contractName } = parseContractId(this.contracts.POX_4);
135
+ return callContract(account, {
136
+ contractAddress,
137
+ contractName,
138
+ functionName: "revoke-delegate-stx",
139
+ functionArgs: [],
140
+ });
141
+ }
142
+ }
143
+ // ============================================================================
144
+ // Helper Functions
145
+ // ============================================================================
146
+ let _stackingServiceInstance = null;
147
+ export function getStackingService(network) {
148
+ if (!_stackingServiceInstance || _stackingServiceInstance["network"] !== network) {
149
+ _stackingServiceInstance = new StackingService(network);
150
+ }
151
+ return _stackingServiceInstance;
152
+ }
153
+ //# sourceMappingURL=stacking.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stacking.service.js","sourceRoot":"","sources":["../../src/services/stacking.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { FungibleTokenHolding } from "./hiro-api.js";
2
+ import { type Network } from "../config/index.js";
3
+ import { type Account, type TransferResult } from "../transactions/builder.js";
4
+ export interface TokenBalance {
5
+ contractId: string;
6
+ balance: string;
7
+ decimals: number;
8
+ symbol?: string;
9
+ name?: string;
10
+ formattedBalance: string;
11
+ }
12
+ export interface TokenInfo {
13
+ contractId: string;
14
+ name: string;
15
+ symbol: string;
16
+ decimals: number;
17
+ totalSupply: string;
18
+ tokenUri?: string;
19
+ description?: string;
20
+ imageUri?: string;
21
+ }
22
+ export declare class TokensService {
23
+ private network;
24
+ private hiro;
25
+ private wellKnownTokens;
26
+ constructor(network: Network);
27
+ /**
28
+ * Resolve a token symbol or contract ID to a contract ID
29
+ */
30
+ resolveToken(tokenIdentifier: string): string;
31
+ /**
32
+ * Get token balance for an address
33
+ */
34
+ getBalance(tokenContractOrSymbol: string, address: string): Promise<TokenBalance>;
35
+ /**
36
+ * Get token information
37
+ */
38
+ getTokenInfo(tokenContractOrSymbol: string): Promise<TokenInfo | null>;
39
+ /**
40
+ * Transfer tokens to a recipient (SIP-010 standard)
41
+ */
42
+ transfer(account: Account, tokenContractOrSymbol: string, recipient: string, amount: bigint, memo?: string): Promise<TransferResult>;
43
+ /**
44
+ * Get all tokens owned by an address
45
+ */
46
+ getUserTokens(address: string): Promise<FungibleTokenHolding[]>;
47
+ /**
48
+ * Get token holders
49
+ */
50
+ getTokenHolders(tokenContractOrSymbol: string, options?: {
51
+ limit?: number;
52
+ offset?: number;
53
+ }): Promise<{
54
+ total: number;
55
+ results: Array<{
56
+ address: string;
57
+ balance: string;
58
+ }>;
59
+ }>;
60
+ }
61
+ export declare function getTokensService(network: Network): TokensService;
62
+ //# sourceMappingURL=tokens.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.service.d.ts","sourceRoot":"","sources":["../../src/services/tokens.service.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAuC,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAgB,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAM7F,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,qBAAa,aAAa;IAIZ,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,eAAe,CAAwC;gBAE3C,OAAO,EAAE,OAAO;IAKpC;;OAEG;IACH,YAAY,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAe7C;;OAEG;IACG,UAAU,CACd,qBAAqB,EAAE,MAAM,EAC7B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC;IAsBxB;;OAEG;IACG,YAAY,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAoB5E;;OAEG;IACG,QAAQ,CACZ,OAAO,EAAE,OAAO,EAChB,qBAAqB,EAAE,MAAM,EAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,cAAc,CAAC;IAqB1B;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAIrE;;OAEG;IACG,eAAe,CACnB,qBAAqB,EAAE,MAAM,EAC7B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CAIpF;AAQD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAKhE"}
@@ -0,0 +1,119 @@
1
+ import { uintCV, principalCV, noneCV, someCV, bufferCV } from "@stacks/transactions";
2
+ import { getHiroApi } from "./hiro-api.js";
3
+ import { parseContractId, getWellKnownTokens } from "../config/index.js";
4
+ import { callContract } from "../transactions/builder.js";
5
+ // ============================================================================
6
+ // Tokens Service (SIP-010)
7
+ // ============================================================================
8
+ export class TokensService {
9
+ network;
10
+ hiro;
11
+ wellKnownTokens;
12
+ constructor(network) {
13
+ this.network = network;
14
+ this.hiro = getHiroApi(network);
15
+ this.wellKnownTokens = getWellKnownTokens(network);
16
+ }
17
+ /**
18
+ * Resolve a token symbol or contract ID to a contract ID
19
+ */
20
+ resolveToken(tokenIdentifier) {
21
+ // Check if it's a well-known token symbol (case-insensitive)
22
+ const upperToken = tokenIdentifier.toUpperCase();
23
+ // Look up in wellKnownTokens by iterating keys (handles case differences like sBTC vs SBTC)
24
+ for (const [symbol, contractId] of Object.entries(this.wellKnownTokens)) {
25
+ if (symbol.toUpperCase() === upperToken && contractId !== "native") {
26
+ return contractId;
27
+ }
28
+ }
29
+ // Not a known symbol - treat as contract ID
30
+ return tokenIdentifier;
31
+ }
32
+ /**
33
+ * Get token balance for an address
34
+ */
35
+ async getBalance(tokenContractOrSymbol, address) {
36
+ const contractId = this.resolveToken(tokenContractOrSymbol);
37
+ const balance = await this.hiro.getTokenBalance(address, contractId);
38
+ const metadata = await this.hiro.getTokenMetadata(contractId);
39
+ const decimals = metadata?.decimals || 6;
40
+ const divisor = BigInt(10 ** decimals);
41
+ const balanceBigInt = BigInt(balance);
42
+ const wholePart = balanceBigInt / divisor;
43
+ const fractionalPart = balanceBigInt % divisor;
44
+ const formattedBalance = `${wholePart}.${fractionalPart.toString().padStart(decimals, "0")}`;
45
+ return {
46
+ contractId,
47
+ balance,
48
+ decimals,
49
+ symbol: metadata?.symbol,
50
+ name: metadata?.name,
51
+ formattedBalance,
52
+ };
53
+ }
54
+ /**
55
+ * Get token information
56
+ */
57
+ async getTokenInfo(tokenContractOrSymbol) {
58
+ const contractId = this.resolveToken(tokenContractOrSymbol);
59
+ const metadata = await this.hiro.getTokenMetadata(contractId);
60
+ if (!metadata) {
61
+ return null;
62
+ }
63
+ return {
64
+ contractId,
65
+ name: metadata.name,
66
+ symbol: metadata.symbol,
67
+ decimals: metadata.decimals,
68
+ totalSupply: metadata.total_supply,
69
+ tokenUri: metadata.token_uri,
70
+ description: metadata.description,
71
+ imageUri: metadata.image_uri,
72
+ };
73
+ }
74
+ /**
75
+ * Transfer tokens to a recipient (SIP-010 standard)
76
+ */
77
+ async transfer(account, tokenContractOrSymbol, recipient, amount, memo) {
78
+ const contractId = this.resolveToken(tokenContractOrSymbol);
79
+ const { address: contractAddress, name: contractName } = parseContractId(contractId);
80
+ // SIP-010 transfer function signature:
81
+ // (transfer (amount uint) (sender principal) (recipient principal) (memo (optional (buff 34))))
82
+ const functionArgs = [
83
+ uintCV(amount),
84
+ principalCV(account.address),
85
+ principalCV(recipient),
86
+ memo ? someCV(bufferCV(Buffer.from(memo).subarray(0, 34))) : noneCV(),
87
+ ];
88
+ return callContract(account, {
89
+ contractAddress,
90
+ contractName,
91
+ functionName: "transfer",
92
+ functionArgs,
93
+ });
94
+ }
95
+ /**
96
+ * Get all tokens owned by an address
97
+ */
98
+ async getUserTokens(address) {
99
+ return this.hiro.getUserTokens(address);
100
+ }
101
+ /**
102
+ * Get token holders
103
+ */
104
+ async getTokenHolders(tokenContractOrSymbol, options) {
105
+ const contractId = this.resolveToken(tokenContractOrSymbol);
106
+ return this.hiro.getTokenHolders(contractId, options);
107
+ }
108
+ }
109
+ // ============================================================================
110
+ // Helper Functions
111
+ // ============================================================================
112
+ let _tokensServiceInstance = null;
113
+ export function getTokensService(network) {
114
+ if (!_tokensServiceInstance || _tokensServiceInstance["network"] !== network) {
115
+ _tokensServiceInstance = new TokensService(network);
116
+ }
117
+ return _tokensServiceInstance;
118
+ }
119
+ //# sourceMappingURL=tokens.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.service.js","sourceRoot":"","sources":["../../src/services/tokens.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ import { type WalletMetadata } from "../utils/index.js";
2
+ import { type Network } from "../config/networks.js";
3
+ import type { Account } from "../transactions/builder.js";
4
+ /**
5
+ * Result from creating a new wallet
6
+ */
7
+ export interface WalletCreateResult {
8
+ walletId: string;
9
+ address: string;
10
+ mnemonic: string;
11
+ }
12
+ /**
13
+ * Result from importing a wallet
14
+ */
15
+ export interface WalletImportResult {
16
+ walletId: string;
17
+ address: string;
18
+ }
19
+ /**
20
+ * Wallet manager singleton - handles wallet creation, encryption, and session management
21
+ */
22
+ declare class WalletManager {
23
+ private static instance;
24
+ private session;
25
+ private lockTimer;
26
+ private initialized;
27
+ private constructor();
28
+ /**
29
+ * Get singleton instance
30
+ */
31
+ static getInstance(): WalletManager;
32
+ /**
33
+ * Ensure storage is initialized
34
+ */
35
+ private ensureInitialized;
36
+ /**
37
+ * Create a new wallet with BIP39 mnemonic
38
+ */
39
+ createWallet(name: string, password: string, network?: Network): Promise<WalletCreateResult>;
40
+ /**
41
+ * Import an existing wallet from mnemonic
42
+ */
43
+ importWallet(name: string, mnemonic: string, password: string, network?: Network): Promise<WalletImportResult>;
44
+ /**
45
+ * Unlock a wallet for use
46
+ */
47
+ unlock(walletId: string, password: string): Promise<Account>;
48
+ /**
49
+ * Lock the wallet (clear session)
50
+ */
51
+ lock(): void;
52
+ /**
53
+ * Get the active account if unlocked
54
+ */
55
+ getActiveAccount(): Account | null;
56
+ /**
57
+ * Check if a wallet is unlocked
58
+ */
59
+ isUnlocked(): boolean;
60
+ /**
61
+ * Get session info (without sensitive data)
62
+ */
63
+ getSessionInfo(): {
64
+ walletId: string;
65
+ address: string;
66
+ expiresAt: Date | null;
67
+ } | null;
68
+ /**
69
+ * List all wallets (metadata only)
70
+ */
71
+ listWallets(): Promise<WalletMetadata[]>;
72
+ /**
73
+ * Check if any wallets exist
74
+ */
75
+ hasWallets(): Promise<boolean>;
76
+ /**
77
+ * Get active wallet ID from config
78
+ */
79
+ getActiveWalletId(): Promise<string | null>;
80
+ /**
81
+ * Switch active wallet (note: requires unlock after switching)
82
+ */
83
+ switchWallet(walletId: string): Promise<void>;
84
+ /**
85
+ * Delete a wallet (requires password confirmation)
86
+ */
87
+ deleteWallet(walletId: string, password: string): Promise<void>;
88
+ /**
89
+ * Export mnemonic (requires password verification)
90
+ */
91
+ exportMnemonic(walletId: string, password: string): Promise<string>;
92
+ /**
93
+ * Set auto-lock timeout
94
+ */
95
+ setAutoLockTimeout(minutes: number): Promise<void>;
96
+ /**
97
+ * Start auto-lock timer
98
+ */
99
+ private startAutoLockTimer;
100
+ /**
101
+ * Clear auto-lock timer
102
+ */
103
+ private clearAutoLockTimer;
104
+ }
105
+ export declare function getWalletManager(): WalletManager;
106
+ export {};
107
+ //# sourceMappingURL=wallet-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-manager.d.ts","sourceRoot":"","sources":["../../src/services/wallet-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAcL,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAY1D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,cAAM,aAAa;IACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IACvC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO;IAEP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,aAAa;IAOnC;;OAEG;YACW,iBAAiB;IAO/B;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,kBAAkB,CAAC;IAuD9B;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,kBAAkB,CAAC;IAyD9B;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuElE;;OAEG;IACH,IAAI,IAAI,IAAI;IAKZ;;OAEG;IACH,gBAAgB,IAAI,OAAO,GAAG,IAAI;IAclC;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,cAAc,IAAI;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;KACxB,GAAG,IAAI;IAkBR;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAM9C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAMpC;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMjD;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnD;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CrE;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BzE;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAM3B;AAGD,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD"}