starkfi 0.3.4 → 0.4.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 (310) hide show
  1. package/dist/index.js +289 -197
  2. package/package.json +16 -18
  3. package/dist/commands/auth/import.d.ts +0 -3
  4. package/dist/commands/auth/import.d.ts.map +0 -1
  5. package/dist/commands/auth/import.js +0 -56
  6. package/dist/commands/auth/import.js.map +0 -1
  7. package/dist/commands/auth/login.d.ts +0 -3
  8. package/dist/commands/auth/login.d.ts.map +0 -1
  9. package/dist/commands/auth/login.js +0 -24
  10. package/dist/commands/auth/login.js.map +0 -1
  11. package/dist/commands/auth/logout.d.ts +0 -3
  12. package/dist/commands/auth/logout.d.ts.map +0 -1
  13. package/dist/commands/auth/logout.js +0 -14
  14. package/dist/commands/auth/logout.js.map +0 -1
  15. package/dist/commands/auth/verify.d.ts +0 -3
  16. package/dist/commands/auth/verify.d.ts.map +0 -1
  17. package/dist/commands/auth/verify.js +0 -64
  18. package/dist/commands/auth/verify.js.map +0 -1
  19. package/dist/commands/batch/batch.d.ts +0 -3
  20. package/dist/commands/batch/batch.d.ts.map +0 -1
  21. package/dist/commands/batch/batch.js +0 -146
  22. package/dist/commands/batch/batch.js.map +0 -1
  23. package/dist/commands/chain/tx-status.d.ts +0 -3
  24. package/dist/commands/chain/tx-status.d.ts.map +0 -1
  25. package/dist/commands/chain/tx-status.js +0 -34
  26. package/dist/commands/chain/tx-status.js.map +0 -1
  27. package/dist/commands/config/config.d.ts +0 -3
  28. package/dist/commands/config/config.d.ts.map +0 -1
  29. package/dist/commands/config/config.js +0 -114
  30. package/dist/commands/config/config.js.map +0 -1
  31. package/dist/commands/lending/lending.d.ts +0 -9
  32. package/dist/commands/lending/lending.d.ts.map +0 -1
  33. package/dist/commands/lending/lending.js +0 -382
  34. package/dist/commands/lending/lending.js.map +0 -1
  35. package/dist/commands/portfolio/portfolio.d.ts +0 -3
  36. package/dist/commands/portfolio/portfolio.d.ts.map +0 -1
  37. package/dist/commands/portfolio/portfolio.js +0 -90
  38. package/dist/commands/portfolio/portfolio.js.map +0 -1
  39. package/dist/commands/staking/staking.d.ts +0 -8
  40. package/dist/commands/staking/staking.d.ts.map +0 -1
  41. package/dist/commands/staking/staking.js +0 -376
  42. package/dist/commands/staking/staking.js.map +0 -1
  43. package/dist/commands/system/status.d.ts +0 -3
  44. package/dist/commands/system/status.d.ts.map +0 -1
  45. package/dist/commands/system/status.js +0 -41
  46. package/dist/commands/system/status.js.map +0 -1
  47. package/dist/commands/trade/multi-swap.d.ts +0 -3
  48. package/dist/commands/trade/multi-swap.d.ts.map +0 -1
  49. package/dist/commands/trade/multi-swap.js +0 -132
  50. package/dist/commands/trade/multi-swap.js.map +0 -1
  51. package/dist/commands/trade/status.d.ts +0 -3
  52. package/dist/commands/trade/status.d.ts.map +0 -1
  53. package/dist/commands/trade/status.js +0 -41
  54. package/dist/commands/trade/status.js.map +0 -1
  55. package/dist/commands/trade/swap.d.ts +0 -3
  56. package/dist/commands/trade/swap.d.ts.map +0 -1
  57. package/dist/commands/trade/swap.js +0 -92
  58. package/dist/commands/trade/swap.js.map +0 -1
  59. package/dist/commands/wallet/address.d.ts +0 -3
  60. package/dist/commands/wallet/address.d.ts.map +0 -1
  61. package/dist/commands/wallet/address.js +0 -20
  62. package/dist/commands/wallet/address.js.map +0 -1
  63. package/dist/commands/wallet/balance.d.ts +0 -3
  64. package/dist/commands/wallet/balance.d.ts.map +0 -1
  65. package/dist/commands/wallet/balance.js +0 -64
  66. package/dist/commands/wallet/balance.js.map +0 -1
  67. package/dist/commands/wallet/deploy.d.ts +0 -3
  68. package/dist/commands/wallet/deploy.d.ts.map +0 -1
  69. package/dist/commands/wallet/deploy.js +0 -68
  70. package/dist/commands/wallet/deploy.js.map +0 -1
  71. package/dist/commands/wallet/send.d.ts +0 -3
  72. package/dist/commands/wallet/send.d.ts.map +0 -1
  73. package/dist/commands/wallet/send.js +0 -79
  74. package/dist/commands/wallet/send.js.map +0 -1
  75. package/dist/index.d.ts +0 -3
  76. package/dist/index.d.ts.map +0 -1
  77. package/dist/index.js.map +0 -1
  78. package/dist/lib/banner.d.ts +0 -6
  79. package/dist/lib/banner.d.ts.map +0 -1
  80. package/dist/lib/banner.js +0 -78
  81. package/dist/lib/banner.js.map +0 -1
  82. package/dist/lib/brand.d.ts +0 -5
  83. package/dist/lib/brand.d.ts.map +0 -1
  84. package/dist/lib/brand.js +0 -15
  85. package/dist/lib/brand.js.map +0 -1
  86. package/dist/lib/cache.d.ts +0 -3
  87. package/dist/lib/cache.d.ts.map +0 -1
  88. package/dist/lib/cache.js +0 -33
  89. package/dist/lib/cache.js.map +0 -1
  90. package/dist/lib/cli-helpers.d.ts +0 -8
  91. package/dist/lib/cli-helpers.d.ts.map +0 -1
  92. package/dist/lib/cli-helpers.js +0 -20
  93. package/dist/lib/cli-helpers.js.map +0 -1
  94. package/dist/lib/command.d.ts +0 -3
  95. package/dist/lib/command.d.ts.map +0 -1
  96. package/dist/lib/command.js +0 -6
  97. package/dist/lib/command.js.map +0 -1
  98. package/dist/lib/concurrency.d.ts +0 -2
  99. package/dist/lib/concurrency.d.ts.map +0 -1
  100. package/dist/lib/concurrency.js +0 -21
  101. package/dist/lib/concurrency.js.map +0 -1
  102. package/dist/lib/config.d.ts +0 -5
  103. package/dist/lib/config.d.ts.map +0 -1
  104. package/dist/lib/config.js +0 -10
  105. package/dist/lib/config.js.map +0 -1
  106. package/dist/lib/errors.d.ts +0 -41
  107. package/dist/lib/errors.d.ts.map +0 -1
  108. package/dist/lib/errors.js +0 -47
  109. package/dist/lib/errors.js.map +0 -1
  110. package/dist/lib/fetch.d.ts +0 -4
  111. package/dist/lib/fetch.d.ts.map +0 -1
  112. package/dist/lib/fetch.js +0 -13
  113. package/dist/lib/fetch.js.map +0 -1
  114. package/dist/lib/format.d.ts +0 -21
  115. package/dist/lib/format.d.ts.map +0 -1
  116. package/dist/lib/format.js +0 -122
  117. package/dist/lib/format.js.map +0 -1
  118. package/dist/lib/parse-starknet-error.d.ts +0 -2
  119. package/dist/lib/parse-starknet-error.d.ts.map +0 -1
  120. package/dist/lib/parse-starknet-error.js +0 -81
  121. package/dist/lib/parse-starknet-error.js.map +0 -1
  122. package/dist/lib/retry.d.ts +0 -8
  123. package/dist/lib/retry.d.ts.map +0 -1
  124. package/dist/lib/retry.js +0 -25
  125. package/dist/lib/retry.js.map +0 -1
  126. package/dist/lib/types.d.ts +0 -6
  127. package/dist/lib/types.d.ts.map +0 -1
  128. package/dist/lib/types.js +0 -2
  129. package/dist/lib/types.js.map +0 -1
  130. package/dist/lib/validation.d.ts +0 -2
  131. package/dist/lib/validation.d.ts.map +0 -1
  132. package/dist/lib/validation.js +0 -6
  133. package/dist/lib/validation.js.map +0 -1
  134. package/dist/mcp/handlers/auth.d.ts +0 -7
  135. package/dist/mcp/handlers/auth.d.ts.map +0 -1
  136. package/dist/mcp/handlers/auth.js +0 -22
  137. package/dist/mcp/handlers/auth.js.map +0 -1
  138. package/dist/mcp/handlers/batch.d.ts +0 -13
  139. package/dist/mcp/handlers/batch.d.ts.map +0 -1
  140. package/dist/mcp/handlers/batch.js +0 -26
  141. package/dist/mcp/handlers/batch.js.map +0 -1
  142. package/dist/mcp/handlers/config.d.ts +0 -10
  143. package/dist/mcp/handlers/config.d.ts.map +0 -1
  144. package/dist/mcp/handlers/config.js +0 -82
  145. package/dist/mcp/handlers/config.js.map +0 -1
  146. package/dist/mcp/handlers/context.d.ts +0 -10
  147. package/dist/mcp/handlers/context.d.ts.map +0 -1
  148. package/dist/mcp/handlers/context.js +0 -16
  149. package/dist/mcp/handlers/context.js.map +0 -1
  150. package/dist/mcp/handlers/index.d.ts +0 -11
  151. package/dist/mcp/handlers/index.d.ts.map +0 -1
  152. package/dist/mcp/handlers/index.js +0 -11
  153. package/dist/mcp/handlers/index.js.map +0 -1
  154. package/dist/mcp/handlers/lending.d.ts +0 -73
  155. package/dist/mcp/handlers/lending.d.ts.map +0 -1
  156. package/dist/mcp/handlers/lending.js +0 -134
  157. package/dist/mcp/handlers/lending.js.map +0 -1
  158. package/dist/mcp/handlers/multi-swap.d.ts +0 -27
  159. package/dist/mcp/handlers/multi-swap.d.ts.map +0 -1
  160. package/dist/mcp/handlers/multi-swap.js +0 -65
  161. package/dist/mcp/handlers/multi-swap.js.map +0 -1
  162. package/dist/mcp/handlers/portfolio.d.ts +0 -7
  163. package/dist/mcp/handlers/portfolio.d.ts.map +0 -1
  164. package/dist/mcp/handlers/portfolio.js +0 -10
  165. package/dist/mcp/handlers/portfolio.js.map +0 -1
  166. package/dist/mcp/handlers/staking.d.ts +0 -68
  167. package/dist/mcp/handlers/staking.d.ts.map +0 -1
  168. package/dist/mcp/handlers/staking.js +0 -119
  169. package/dist/mcp/handlers/staking.js.map +0 -1
  170. package/dist/mcp/handlers/trade.d.ts +0 -23
  171. package/dist/mcp/handlers/trade.d.ts.map +0 -1
  172. package/dist/mcp/handlers/trade.js +0 -63
  173. package/dist/mcp/handlers/trade.js.map +0 -1
  174. package/dist/mcp/handlers/utils.d.ts +0 -20
  175. package/dist/mcp/handlers/utils.d.ts.map +0 -1
  176. package/dist/mcp/handlers/utils.js +0 -21
  177. package/dist/mcp/handlers/utils.js.map +0 -1
  178. package/dist/mcp/handlers/wallet.d.ts +0 -34
  179. package/dist/mcp/handlers/wallet.d.ts.map +0 -1
  180. package/dist/mcp/handlers/wallet.js +0 -98
  181. package/dist/mcp/handlers/wallet.js.map +0 -1
  182. package/dist/mcp/handlers.d.ts +0 -108
  183. package/dist/mcp/handlers.d.ts.map +0 -1
  184. package/dist/mcp/handlers.js +0 -325
  185. package/dist/mcp/handlers.js.map +0 -1
  186. package/dist/mcp/server.d.ts +0 -2
  187. package/dist/mcp/server.d.ts.map +0 -1
  188. package/dist/mcp/server.js +0 -54
  189. package/dist/mcp/server.js.map +0 -1
  190. package/dist/mcp/tools/auth.d.ts +0 -3
  191. package/dist/mcp/tools/auth.d.ts.map +0 -1
  192. package/dist/mcp/tools/auth.js +0 -25
  193. package/dist/mcp/tools/auth.js.map +0 -1
  194. package/dist/mcp/tools/error-handling.d.ts +0 -12
  195. package/dist/mcp/tools/error-handling.d.ts.map +0 -1
  196. package/dist/mcp/tools/error-handling.js +0 -22
  197. package/dist/mcp/tools/error-handling.js.map +0 -1
  198. package/dist/mcp/tools/index.d.ts +0 -11
  199. package/dist/mcp/tools/index.d.ts.map +0 -1
  200. package/dist/mcp/tools/index.js +0 -19
  201. package/dist/mcp/tools/index.js.map +0 -1
  202. package/dist/mcp/tools/lending.d.ts +0 -3
  203. package/dist/mcp/tools/lending.d.ts.map +0 -1
  204. package/dist/mcp/tools/lending.js +0 -71
  205. package/dist/mcp/tools/lending.js.map +0 -1
  206. package/dist/mcp/tools/staking.d.ts +0 -3
  207. package/dist/mcp/tools/staking.d.ts.map +0 -1
  208. package/dist/mcp/tools/staking.js +0 -50
  209. package/dist/mcp/tools/staking.js.map +0 -1
  210. package/dist/mcp/tools/trade.d.ts +0 -3
  211. package/dist/mcp/tools/trade.d.ts.map +0 -1
  212. package/dist/mcp/tools/trade.js +0 -63
  213. package/dist/mcp/tools/trade.js.map +0 -1
  214. package/dist/mcp/tools/wallet.d.ts +0 -3
  215. package/dist/mcp/tools/wallet.d.ts.map +0 -1
  216. package/dist/mcp/tools/wallet.js +0 -27
  217. package/dist/mcp/tools/wallet.js.map +0 -1
  218. package/dist/mcp/tools.d.ts +0 -3
  219. package/dist/mcp/tools.d.ts.map +0 -1
  220. package/dist/mcp/tools.js +0 -240
  221. package/dist/mcp/tools.js.map +0 -1
  222. package/dist/services/api/client.d.ts +0 -14
  223. package/dist/services/api/client.d.ts.map +0 -1
  224. package/dist/services/api/client.js +0 -50
  225. package/dist/services/api/client.js.map +0 -1
  226. package/dist/services/auth/session.d.ts +0 -16
  227. package/dist/services/auth/session.d.ts.map +0 -1
  228. package/dist/services/auth/session.js +0 -57
  229. package/dist/services/auth/session.js.map +0 -1
  230. package/dist/services/batch/batch.d.ts +0 -35
  231. package/dist/services/batch/batch.d.ts.map +0 -1
  232. package/dist/services/batch/batch.js +0 -110
  233. package/dist/services/batch/batch.js.map +0 -1
  234. package/dist/services/config/config.d.ts +0 -24
  235. package/dist/services/config/config.d.ts.map +0 -1
  236. package/dist/services/config/config.js +0 -82
  237. package/dist/services/config/config.js.map +0 -1
  238. package/dist/services/fibrous/balances.d.ts +0 -8
  239. package/dist/services/fibrous/balances.d.ts.map +0 -1
  240. package/dist/services/fibrous/balances.js +0 -23
  241. package/dist/services/fibrous/balances.js.map +0 -1
  242. package/dist/services/fibrous/config.d.ts +0 -4
  243. package/dist/services/fibrous/config.d.ts.map +0 -1
  244. package/dist/services/fibrous/config.js +0 -4
  245. package/dist/services/fibrous/config.js.map +0 -1
  246. package/dist/services/fibrous/health.d.ts +0 -5
  247. package/dist/services/fibrous/health.d.ts.map +0 -1
  248. package/dist/services/fibrous/health.js +0 -24
  249. package/dist/services/fibrous/health.js.map +0 -1
  250. package/dist/services/fibrous/route.d.ts +0 -52
  251. package/dist/services/fibrous/route.d.ts.map +0 -1
  252. package/dist/services/fibrous/route.js +0 -127
  253. package/dist/services/fibrous/route.js.map +0 -1
  254. package/dist/services/fibrous/tokens.d.ts +0 -6
  255. package/dist/services/fibrous/tokens.d.ts.map +0 -1
  256. package/dist/services/fibrous/tokens.js +0 -34
  257. package/dist/services/fibrous/tokens.js.map +0 -1
  258. package/dist/services/portfolio/portfolio.d.ts +0 -33
  259. package/dist/services/portfolio/portfolio.d.ts.map +0 -1
  260. package/dist/services/portfolio/portfolio.js +0 -101
  261. package/dist/services/portfolio/portfolio.js.map +0 -1
  262. package/dist/services/simulate/simulate.d.ts +0 -10
  263. package/dist/services/simulate/simulate.d.ts.map +0 -1
  264. package/dist/services/simulate/simulate.js +0 -58
  265. package/dist/services/simulate/simulate.js.map +0 -1
  266. package/dist/services/staking/staking.d.ts +0 -49
  267. package/dist/services/staking/staking.d.ts.map +0 -1
  268. package/dist/services/staking/staking.js +0 -175
  269. package/dist/services/staking/staking.js.map +0 -1
  270. package/dist/services/staking/validators.d.ts +0 -5
  271. package/dist/services/staking/validators.d.ts.map +0 -1
  272. package/dist/services/staking/validators.js +0 -14
  273. package/dist/services/staking/validators.js.map +0 -1
  274. package/dist/services/starkzap/client.d.ts +0 -19
  275. package/dist/services/starkzap/client.d.ts.map +0 -1
  276. package/dist/services/starkzap/client.js +0 -88
  277. package/dist/services/starkzap/client.js.map +0 -1
  278. package/dist/services/starkzap/config.d.ts +0 -6
  279. package/dist/services/starkzap/config.d.ts.map +0 -1
  280. package/dist/services/starkzap/config.js +0 -13
  281. package/dist/services/starkzap/config.js.map +0 -1
  282. package/dist/services/tokens/balances.d.ts +0 -8
  283. package/dist/services/tokens/balances.d.ts.map +0 -1
  284. package/dist/services/tokens/balances.js +0 -23
  285. package/dist/services/tokens/balances.js.map +0 -1
  286. package/dist/services/tokens/tokens.d.ts +0 -4
  287. package/dist/services/tokens/tokens.d.ts.map +0 -1
  288. package/dist/services/tokens/tokens.js +0 -27
  289. package/dist/services/tokens/tokens.js.map +0 -1
  290. package/dist/services/vesu/api.d.ts +0 -28
  291. package/dist/services/vesu/api.d.ts.map +0 -1
  292. package/dist/services/vesu/api.js +0 -91
  293. package/dist/services/vesu/api.js.map +0 -1
  294. package/dist/services/vesu/config.d.ts +0 -9
  295. package/dist/services/vesu/config.d.ts.map +0 -1
  296. package/dist/services/vesu/config.js +0 -32
  297. package/dist/services/vesu/config.js.map +0 -1
  298. package/dist/services/vesu/index.d.ts +0 -5
  299. package/dist/services/vesu/index.d.ts.map +0 -1
  300. package/dist/services/vesu/index.js +0 -5
  301. package/dist/services/vesu/index.js.map +0 -1
  302. package/dist/services/vesu/lending.d.ts +0 -21
  303. package/dist/services/vesu/lending.d.ts.map +0 -1
  304. package/dist/services/vesu/lending.js +0 -262
  305. package/dist/services/vesu/lending.js.map +0 -1
  306. package/dist/services/vesu/pools.d.ts +0 -11
  307. package/dist/services/vesu/pools.d.ts.map +0 -1
  308. package/dist/services/vesu/pools.js +0 -23
  309. package/dist/services/vesu/pools.js.map +0 -1
  310. package/scripts/patch-esm.mjs +0 -151
@@ -1,68 +0,0 @@
1
- export declare function handleStakeTokens(args: {
2
- amount: string;
3
- pool: string;
4
- token?: string;
5
- }): Promise<{
6
- content: {
7
- type: "text";
8
- text: string;
9
- }[];
10
- }>;
11
- export declare function handleUnstakeTokens(args: {
12
- action: "intent" | "exit";
13
- pool: string;
14
- amount?: string;
15
- token?: string;
16
- }): Promise<{
17
- content: {
18
- type: "text";
19
- text: string;
20
- }[];
21
- }>;
22
- export declare function handleGetStakingInfo(args: {
23
- pool: string;
24
- }): Promise<{
25
- content: {
26
- type: "text";
27
- text: string;
28
- }[];
29
- }>;
30
- export declare function handleListPools(args: {
31
- validator: string;
32
- }): Promise<{
33
- content: {
34
- type: "text";
35
- text: string;
36
- }[];
37
- }>;
38
- export declare function handleListValidators(): Promise<{
39
- content: {
40
- type: "text";
41
- text: string;
42
- }[];
43
- }>;
44
- export declare function handleClaimRewards(args: {
45
- pool: string;
46
- }): Promise<{
47
- content: {
48
- type: "text";
49
- text: string;
50
- }[];
51
- }>;
52
- export declare function handleCompoundRewards(args: {
53
- pool: string;
54
- }): Promise<{
55
- content: {
56
- type: "text";
57
- text: string;
58
- }[];
59
- }>;
60
- export declare function handleGetStakeStatus({ validator }?: {
61
- validator?: string;
62
- }): Promise<{
63
- content: {
64
- type: "text";
65
- text: string;
66
- }[];
67
- }>;
68
- //# sourceMappingURL=staking.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/staking.ts"],"names":[],"mappings":"AAMA,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;GAa7F;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC/C,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;;;;;GAiCA;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;GAuBhE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE;;;;;GAahE;AAED,wBAAsB,oBAAoB;;;;;GAYzC;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;GAU9D;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;GAWjE;AAED,wBAAsB,oBAAoB,CAAC,EAAE,SAAS,EAAE,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;GAYpF"}
@@ -1,119 +0,0 @@
1
- import { requireSession } from "../../services/auth/session.js";
2
- import * as stakingService from "../../services/staking/staking.js";
3
- import { getValidators, findValidator } from "../../services/staking/validators.js";
4
- import { withWallet, withReadonlyWallet } from "./context.js";
5
- import { jsonResult, textResult } from "./utils.js";
6
- export async function handleStakeTokens(args) {
7
- return withWallet(async ({ wallet }) => {
8
- const tokenSymbol = (args.token ?? "STRK").toUpperCase();
9
- const result = await stakingService.stake(wallet, args.pool, args.amount, tokenSymbol);
10
- return jsonResult({
11
- success: true,
12
- txHash: result.hash,
13
- explorerUrl: result.explorerUrl,
14
- amount: `${args.amount} ${tokenSymbol}`,
15
- pool: args.pool,
16
- });
17
- });
18
- }
19
- export async function handleUnstakeTokens(args) {
20
- return withWallet(async ({ wallet }) => {
21
- if (args.action === "intent") {
22
- if (!args.amount) {
23
- return textResult("Amount is required for exit intent.");
24
- }
25
- const tokenSymbol = (args.token ?? "STRK").toUpperCase();
26
- const result = await stakingService.exitPoolIntent(wallet, args.pool, args.amount, tokenSymbol);
27
- return jsonResult({
28
- success: true,
29
- action: "exit_intent",
30
- txHash: result.hash,
31
- explorerUrl: result.explorerUrl,
32
- message: "Exit intent declared. Wait for cooldown period, then call with action='exit'.",
33
- });
34
- }
35
- // action === "exit"
36
- const result = await stakingService.exitPool(wallet, args.pool);
37
- return jsonResult({
38
- success: true,
39
- action: "exit_complete",
40
- txHash: result.hash,
41
- explorerUrl: result.explorerUrl,
42
- message: "Tokens withdrawn from pool.",
43
- });
44
- });
45
- }
46
- export async function handleGetStakingInfo(args) {
47
- return withReadonlyWallet(async ({ wallet }) => {
48
- const position = await stakingService.getPosition(wallet, args.pool);
49
- if (!position) {
50
- return jsonResult({
51
- isMember: false,
52
- pool: args.pool,
53
- message: "Not a member of this pool.",
54
- });
55
- }
56
- return jsonResult({
57
- isMember: true,
58
- pool: args.pool,
59
- staked: position.staked,
60
- rewards: position.rewards,
61
- total: position.total,
62
- unpooling: position.unpooling,
63
- cooldownEndsAt: position.unpoolTime ? position.unpoolTime.toISOString() : null,
64
- commissionPercent: position.commissionPercent,
65
- });
66
- });
67
- }
68
- export async function handleListPools(args) {
69
- return withReadonlyWallet(async ({ session, sdk, wallet }) => {
70
- const found = findValidator(args.validator, session.network);
71
- const stakerAddress = found ? found.stakerAddress.toString() : args.validator;
72
- const pools = await stakingService.getValidatorPools(sdk, stakerAddress, wallet);
73
- return jsonResult({
74
- validator: found ? found.name : args.validator,
75
- stakerAddress,
76
- pools,
77
- });
78
- });
79
- }
80
- export async function handleListValidators() {
81
- const session = requireSession();
82
- const validators = getValidators(session.network);
83
- return jsonResult({
84
- network: session.network,
85
- count: validators.length,
86
- validators: validators.map((v) => ({
87
- name: v.name,
88
- stakerAddress: v.stakerAddress.toString(),
89
- })),
90
- });
91
- }
92
- export async function handleClaimRewards(args) {
93
- return withWallet(async ({ wallet }) => {
94
- const result = await stakingService.claimRewards(wallet, args.pool);
95
- return jsonResult({
96
- success: true,
97
- txHash: result.hash,
98
- explorerUrl: result.explorerUrl,
99
- });
100
- });
101
- }
102
- export async function handleCompoundRewards(args) {
103
- return withWallet(async ({ wallet }) => {
104
- const result = await stakingService.compoundRewards(wallet, args.pool);
105
- return jsonResult({
106
- success: true,
107
- txHash: result.hash,
108
- explorerUrl: result.explorerUrl,
109
- compounded: result.compounded,
110
- });
111
- });
112
- }
113
- export async function handleGetStakeStatus({ validator } = {}) {
114
- return withReadonlyWallet(async ({ session, sdk, wallet }) => {
115
- const overview = await stakingService.getStakingOverview(sdk, wallet, session.network, session.address, validator);
116
- return jsonResult(overview);
117
- });
118
- }
119
- //# sourceMappingURL=staking.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"staking.js","sourceRoot":"","sources":["../../../src/mcp/handlers/staking.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- export declare function handleGetSwapQuote(args: {
2
- amount: string;
3
- from_token: string;
4
- to_token: string;
5
- }): Promise<{
6
- content: {
7
- type: "text";
8
- text: string;
9
- }[];
10
- }>;
11
- export declare function handleSwapTokens(args: {
12
- amount: string;
13
- from_token: string;
14
- to_token: string;
15
- slippage?: number;
16
- simulate?: boolean;
17
- }): Promise<{
18
- content: {
19
- type: "text";
20
- text: string;
21
- }[];
22
- }>;
23
- //# sourceMappingURL=trade.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trade.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/trade.ts"],"names":[],"mappings":"AAQA,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACjB;;;;;GAsBA;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;;;;;GAgDA"}
@@ -1,63 +0,0 @@
1
- import { resolveToken } from "../../services/tokens/tokens.js";
2
- import { getCalldata, getRoute } from "../../services/fibrous/route.js";
3
- import { Amount, fromAddress } from "starkzap";
4
- import { FIBROUS_ROUTER_ADDRESS } from "../../services/fibrous/config.js";
5
- import { simulateTransaction } from "../../services/simulate/simulate.js";
6
- import { withWallet } from "./context.js";
7
- import { jsonResult, simulationResult } from "./utils.js";
8
- export async function handleGetSwapQuote(args) {
9
- const tokenIn = resolveToken(args.from_token);
10
- const tokenOut = resolveToken(args.to_token);
11
- const parsedAmount = Amount.parse(args.amount, tokenIn);
12
- const rawAmount = parsedAmount.toBase().toString();
13
- const routeResponse = await getRoute(tokenIn, tokenOut, rawAmount);
14
- const outputAmount = Amount.fromRaw(BigInt(routeResponse.outputAmount), tokenOut);
15
- const outputFormatted = outputAmount.toUnit();
16
- return jsonResult({
17
- success: true,
18
- amountIn: `${args.amount} ${tokenIn.symbol}`,
19
- expectedAmountOut: `~${outputFormatted} ${tokenOut.symbol}`,
20
- estimatedGasUsd: routeResponse.estimatedGasUsedInUsd
21
- ? `$${routeResponse.estimatedGasUsedInUsd.toFixed(4)}`
22
- : "Unknown",
23
- routeId: routeResponse.routeId,
24
- message: "Quote generated successfully. Use swap_tokens to execute.",
25
- });
26
- }
27
- export async function handleSwapTokens(args) {
28
- return withWallet(async ({ session, wallet }) => {
29
- const tokenIn = resolveToken(args.from_token);
30
- const tokenOut = resolveToken(args.to_token);
31
- const parsedAmount = Amount.parse(args.amount, tokenIn);
32
- const rawAmount = parsedAmount.toBase().toString();
33
- const calldataResponse = await getCalldata(tokenIn, tokenOut, rawAmount, args.slippage ?? 1, session.address);
34
- const builder = wallet
35
- .tx()
36
- .approve(tokenIn, fromAddress(FIBROUS_ROUTER_ADDRESS), parsedAmount)
37
- .add({
38
- contractAddress: FIBROUS_ROUTER_ADDRESS,
39
- entrypoint: "swap",
40
- calldata: calldataResponse.calldata,
41
- });
42
- const outputAmount = Amount.fromRaw(BigInt(calldataResponse.route.outputAmount), tokenOut);
43
- const outputFormatted = outputAmount.toUnit();
44
- if (args.simulate) {
45
- const sim = await simulateTransaction(builder);
46
- return simulationResult(sim, {
47
- amountIn: `${args.amount} ${tokenIn.symbol}`,
48
- expectedAmountOut: `~${outputFormatted} ${tokenOut.symbol}`,
49
- });
50
- }
51
- const tx = await builder.send();
52
- await tx.wait();
53
- return jsonResult({
54
- success: true,
55
- txHash: tx.hash,
56
- explorerUrl: tx.explorerUrl,
57
- amountIn: `${args.amount} ${tokenIn.symbol}`,
58
- amountOut: `~${outputFormatted} ${tokenOut.symbol}`,
59
- slippage: `${args.slippage ?? 1}%`,
60
- });
61
- });
62
- }
63
- //# sourceMappingURL=trade.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trade.js","sourceRoot":"","sources":["../../../src/mcp/handlers/trade.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import type { SimulationResult } from "../../services/simulate/simulate.js";
2
- export declare function textResult(text: string): {
3
- content: {
4
- type: "text";
5
- text: string;
6
- }[];
7
- };
8
- export declare function jsonResult(data: unknown): {
9
- content: {
10
- type: "text";
11
- text: string;
12
- }[];
13
- };
14
- export declare function simulationResult(sim: SimulationResult, extras?: Record<string, unknown>): {
15
- content: {
16
- type: "text";
17
- text: string;
18
- }[];
19
- };
20
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM;;;;;EAEtC;AAGD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO;;;;;EAEvC;AAGD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;EAUvF"}
@@ -1,21 +0,0 @@
1
- // Wrap a plain text string in the MCP tool response envelope.
2
- export function textResult(text) {
3
- return { content: [{ type: "text", text }] };
4
- }
5
- // Serialise data as pretty-printed JSON inside the MCP response envelope.
6
- export function jsonResult(data) {
7
- return textResult(JSON.stringify(data, null, 2));
8
- }
9
- // Build a standardised MCP simulation response from a SimulationResult.
10
- export function simulationResult(sim, extras) {
11
- return jsonResult({
12
- success: sim.success,
13
- mode: "SIMULATION (no TX sent)",
14
- ...extras,
15
- estimatedFee: sim.estimatedFee,
16
- estimatedFeeUsd: sim.estimatedFeeUsd,
17
- callCount: sim.callCount,
18
- ...(sim.revertReason ? { revertReason: sim.revertReason } : {}),
19
- });
20
- }
21
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/mcp/handlers/utils.ts"],"names":[],"mappings":"AAEA,8DAA8D;AAC9D,MAAM,UAAU,UAAU,CAAC,IAAY;IACtC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,UAAU,CAAC,IAAa;IACvC,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,gBAAgB,CAAC,GAAqB,EAAE,MAAgC;IACvF,OAAO,UAAU,CAAC;QACjB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,yBAAyB;QAC/B,GAAG,MAAM;QACT,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC,CAAC;AACJ,CAAC"}
@@ -1,34 +0,0 @@
1
- export declare function handleGetBalance(args: {
2
- token?: string;
3
- }): Promise<{
4
- content: {
5
- type: "text";
6
- text: string;
7
- }[];
8
- }>;
9
- export declare function handleDeployAccount(): Promise<{
10
- content: {
11
- type: "text";
12
- text: string;
13
- }[];
14
- }>;
15
- export declare function handleSendTokens(args: {
16
- amount: string;
17
- token: string;
18
- recipient: string;
19
- simulate?: boolean;
20
- }): Promise<{
21
- content: {
22
- type: "text";
23
- text: string;
24
- }[];
25
- }>;
26
- export declare function handleGetTxStatus(args: {
27
- hash: string;
28
- }): Promise<{
29
- content: {
30
- type: "text";
31
- text: string;
32
- }[];
33
- }>;
34
- //# sourceMappingURL=wallet.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/wallet.ts"],"names":[],"mappings":"AAWA,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;GAmB9D;AAED,wBAAsB,mBAAmB;;;;;GAuBxC;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;;;;;GAkCA;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;GAmB7D"}
@@ -1,98 +0,0 @@
1
- import { requireSession } from "../../services/auth/session.js";
2
- import { createSDK, resolveFeeModeConfig } from "../../services/starkzap/client.js";
3
- import { ConfigService } from "../../services/config/config.js";
4
- import { getBalances } from "../../services/tokens/balances.js";
5
- import { resolveToken } from "../../services/tokens/tokens.js";
6
- import { Amount, fromAddress } from "starkzap";
7
- import { simulateTransaction } from "../../services/simulate/simulate.js";
8
- import { formatActualFee } from "../../lib/format.js";
9
- import { withWallet, withReadonlyWallet } from "./context.js";
10
- import { jsonResult, simulationResult } from "./utils.js";
11
- export async function handleGetBalance(args) {
12
- return withReadonlyWallet(async ({ session, wallet }) => {
13
- if (args.token) {
14
- const tokenType = resolveToken(args.token);
15
- const balanceAmount = await wallet.balanceOf(tokenType);
16
- return jsonResult({
17
- symbol: tokenType.symbol,
18
- name: tokenType.name,
19
- balance: balanceAmount.toUnit(),
20
- });
21
- }
22
- const balances = await getBalances(wallet);
23
- return jsonResult({
24
- network: session.network,
25
- address: session.address,
26
- balances,
27
- });
28
- });
29
- }
30
- export async function handleDeployAccount() {
31
- return withReadonlyWallet(async ({ session, wallet }) => {
32
- const alreadyDeployed = await wallet.isDeployed();
33
- if (!alreadyDeployed) {
34
- const configService = ConfigService.getInstance();
35
- const gasfreeMode = configService.get("gasfreeMode") === true;
36
- const gasToken = configService.get("gasToken");
37
- const { feeMode } = resolveFeeModeConfig(gasfreeMode, gasToken);
38
- await wallet.ensureReady({ deploy: "if_needed", feeMode });
39
- }
40
- return jsonResult({
41
- alreadyDeployed,
42
- success: true,
43
- address: session.address,
44
- network: session.network,
45
- message: alreadyDeployed
46
- ? "Account is already deployed. No action needed."
47
- : "Account deployed successfully. You can now send, swap, and stake.",
48
- });
49
- });
50
- }
51
- export async function handleSendTokens(args) {
52
- return withWallet(async ({ wallet }) => {
53
- const token = resolveToken(args.token);
54
- const amount = Amount.parse(args.amount, token);
55
- const balance = await wallet.balanceOf(token);
56
- if (balance.lt(amount)) {
57
- return jsonResult({
58
- success: false,
59
- error: `Insufficient balance. You have: ${balance.toFormatted()}, attempting to send: ${amount.toFormatted()}`,
60
- });
61
- }
62
- const builder = wallet.tx().transfer(token, [{ to: fromAddress(args.recipient), amount }]);
63
- if (args.simulate) {
64
- const sim = await simulateTransaction(builder);
65
- return simulationResult(sim, {
66
- amount: `${args.amount} ${args.token.toUpperCase()}`,
67
- to: args.recipient,
68
- });
69
- }
70
- const tx = await builder.send();
71
- await tx.wait();
72
- return jsonResult({
73
- success: true,
74
- txHash: tx.hash,
75
- explorerUrl: tx.explorerUrl,
76
- amount: `${args.amount} ${args.token.toUpperCase()}`,
77
- to: args.recipient,
78
- });
79
- });
80
- }
81
- export async function handleGetTxStatus(args) {
82
- const session = requireSession();
83
- const configService = ConfigService.getInstance();
84
- const rpcUrl = configService.get("rpcUrl");
85
- const sdk = createSDK(session.network, rpcUrl);
86
- const provider = sdk.getProvider();
87
- const receipt = await provider.getTransactionReceipt(args.hash);
88
- const rawFee = "actual_fee" in receipt ? receipt.actual_fee : undefined;
89
- const actualFee = rawFee ? formatActualFee(rawFee) : undefined;
90
- const blockNumber = "block_number" in receipt ? receipt.block_number : undefined;
91
- return jsonResult({
92
- hash: args.hash,
93
- status: receipt.statusReceipt,
94
- actualFee,
95
- blockNumber,
96
- });
97
- }
98
- //# sourceMappingURL=wallet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../src/mcp/handlers/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAwB;IAC9D,OAAO,kBAAkB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QACvD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACxD,OAAO,UAAU,CAAC;gBACjB,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE;aAC/B,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,UAAU,CAAC;YACjB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ;SACR,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACxC,OAAO,kBAAkB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QACvD,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAElD,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;YAC9D,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAuB,CAAC;YACrE,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAEhE,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,UAAU,CAAC;YACjB,eAAe;YACf,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,eAAe;gBACvB,CAAC,CAAC,gDAAgD;gBAClD,CAAC,CAAC,mEAAmE;SACtE,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAKtC;IACA,OAAO,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,UAAU,CAAC;gBACjB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,mCAAmC,OAAO,CAAC,WAAW,EAAE,yBAAyB,MAAM,CAAC,WAAW,EAAE,EAAE;aAC9G,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAE3F,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC/C,OAAO,gBAAgB,CAAC,GAAG,EAAE;gBAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;gBACpD,EAAE,EAAE,IAAI,CAAC,SAAS;aAClB,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QAEhB,OAAO,UAAU,CAAC;YACjB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,EAAE,CAAC,IAAI;YACf,WAAW,EAAE,EAAE,CAAC,WAAW;YAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;YACpD,EAAE,EAAE,IAAI,CAAC,SAAS;SAClB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAsB;IAC7D,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAuB,CAAC;IAEjE,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhE,MAAM,MAAM,GAAG,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,MAAM,WAAW,GAAG,cAAc,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjF,OAAO,UAAU,CAAC;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,OAAO,CAAC,aAAa;QAC7B,SAAS;QACT,WAAW;KACX,CAAC,CAAC;AACJ,CAAC"}
@@ -1,108 +0,0 @@
1
- export declare function handleGetAuthStatus(): Promise<{
2
- content: {
3
- type: "text";
4
- text: string;
5
- }[];
6
- }>;
7
- export declare function handleGetBalance(args: {
8
- token?: string;
9
- }): Promise<{
10
- content: {
11
- type: "text";
12
- text: string;
13
- }[];
14
- }>;
15
- export declare function handleDeployAccount(): Promise<{
16
- content: {
17
- type: "text";
18
- text: string;
19
- }[];
20
- }>;
21
- export declare function handleSwapTokens(args: {
22
- amount: string;
23
- from_token: string;
24
- to_token: string;
25
- slippage?: number;
26
- }): Promise<{
27
- content: {
28
- type: "text";
29
- text: string;
30
- }[];
31
- }>;
32
- export declare function handleSendTokens(args: {
33
- amount: string;
34
- token: string;
35
- recipient: string;
36
- }): Promise<{
37
- content: {
38
- type: "text";
39
- text: string;
40
- }[];
41
- }>;
42
- export declare function handleGetTxStatus(args: {
43
- hash: string;
44
- }): Promise<{
45
- content: {
46
- type: "text";
47
- text: string;
48
- }[];
49
- }>;
50
- export declare function handleStakeTokens(args: {
51
- amount: string;
52
- pool: string;
53
- }): Promise<{
54
- content: {
55
- type: "text";
56
- text: string;
57
- }[];
58
- }>;
59
- export declare function handleUnstakeTokens(args: {
60
- action: "intent" | "exit";
61
- pool: string;
62
- amount?: string;
63
- }): Promise<{
64
- content: {
65
- type: "text";
66
- text: string;
67
- }[];
68
- }>;
69
- export declare function handleGetStakingInfo(args: {
70
- pool: string;
71
- }): Promise<{
72
- content: {
73
- type: "text";
74
- text: string;
75
- }[];
76
- }>;
77
- export declare function handleListPools(args: {
78
- validator: string;
79
- }): Promise<{
80
- content: {
81
- type: "text";
82
- text: string;
83
- }[];
84
- }>;
85
- export declare function handleListValidators(): Promise<{
86
- content: {
87
- type: "text";
88
- text: string;
89
- }[];
90
- }>;
91
- export declare function handleCompoundRewards(args: {
92
- pool: string;
93
- }): Promise<{
94
- content: {
95
- type: "text";
96
- text: string;
97
- }[];
98
- }>;
99
- export declare function handleConfigAction(args: {
100
- action: "set-rpc" | "get-rpc" | "set-network" | "set-gasfree" | "set-gasless" | "set-gas-token" | "list";
101
- value?: string;
102
- }): Promise<{
103
- content: {
104
- type: "text";
105
- text: string;
106
- }[];
107
- }>;
108
- //# sourceMappingURL=handlers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"AAoBA,wBAAsB,mBAAmB;;;;;GAmBxC;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;GAwB9D;AAED,wBAAsB,mBAAmB;;;;;GA2BxC;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;;;;;GA0CA;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;;;;;GAiChG;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;GAgB7D;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;GAe7E;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC/C,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;;;;;GA8BA;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;GAwBhE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE;;;;;GAchE;AAED,wBAAsB,oBAAoB;;;;;GAYzC;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;GAcjE;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC9C,MAAM,EACH,SAAS,GACT,SAAS,GACT,aAAa,GACb,aAAa,GACb,aAAa,GACb,eAAe,GACf,MAAM,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;;;;;GAwEA"}