starkfi 0.3.1 → 0.3.4

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 (159) hide show
  1. package/MCP.md +7 -7
  2. package/README.md +93 -71
  3. package/dist/commands/auth/login.js +2 -1
  4. package/dist/commands/auth/login.js.map +1 -1
  5. package/dist/commands/batch/batch.d.ts.map +1 -1
  6. package/dist/commands/batch/batch.js +6 -15
  7. package/dist/commands/batch/batch.js.map +1 -1
  8. package/dist/commands/chain/tx-status.d.ts.map +1 -1
  9. package/dist/commands/chain/tx-status.js +8 -13
  10. package/dist/commands/chain/tx-status.js.map +1 -1
  11. package/dist/commands/config/config.d.ts.map +1 -1
  12. package/dist/commands/config/config.js +10 -7
  13. package/dist/commands/config/config.js.map +1 -1
  14. package/dist/commands/lending/lending.d.ts.map +1 -1
  15. package/dist/commands/lending/lending.js +46 -11
  16. package/dist/commands/lending/lending.js.map +1 -1
  17. package/dist/commands/portfolio/portfolio.d.ts.map +1 -1
  18. package/dist/commands/portfolio/portfolio.js +21 -7
  19. package/dist/commands/portfolio/portfolio.js.map +1 -1
  20. package/dist/commands/staking/staking.d.ts.map +1 -1
  21. package/dist/commands/staking/staking.js +30 -9
  22. package/dist/commands/staking/staking.js.map +1 -1
  23. package/dist/commands/system/status.d.ts +3 -0
  24. package/dist/commands/system/status.d.ts.map +1 -0
  25. package/dist/commands/system/status.js +41 -0
  26. package/dist/commands/system/status.js.map +1 -0
  27. package/dist/commands/trade/multi-swap.d.ts.map +1 -1
  28. package/dist/commands/trade/multi-swap.js +5 -14
  29. package/dist/commands/trade/multi-swap.js.map +1 -1
  30. package/dist/commands/trade/swap.d.ts.map +1 -1
  31. package/dist/commands/trade/swap.js +4 -13
  32. package/dist/commands/trade/swap.js.map +1 -1
  33. package/dist/commands/wallet/address.d.ts.map +1 -1
  34. package/dist/commands/wallet/address.js +1 -1
  35. package/dist/commands/wallet/address.js.map +1 -1
  36. package/dist/commands/wallet/balance.d.ts.map +1 -1
  37. package/dist/commands/wallet/balance.js +8 -7
  38. package/dist/commands/wallet/balance.js.map +1 -1
  39. package/dist/commands/wallet/deploy.d.ts.map +1 -1
  40. package/dist/commands/wallet/deploy.js +9 -15
  41. package/dist/commands/wallet/deploy.js.map +1 -1
  42. package/dist/commands/wallet/send.d.ts.map +1 -1
  43. package/dist/commands/wallet/send.js +4 -13
  44. package/dist/commands/wallet/send.js.map +1 -1
  45. package/dist/index.js +4 -8
  46. package/dist/index.js.map +1 -1
  47. package/dist/lib/brand.d.ts +5 -0
  48. package/dist/lib/brand.d.ts.map +1 -0
  49. package/dist/lib/brand.js +15 -0
  50. package/dist/lib/brand.js.map +1 -0
  51. package/dist/lib/cli-helpers.d.ts +8 -0
  52. package/dist/lib/cli-helpers.d.ts.map +1 -0
  53. package/dist/lib/cli-helpers.js +20 -0
  54. package/dist/lib/cli-helpers.js.map +1 -0
  55. package/dist/lib/config.d.ts +1 -1
  56. package/dist/lib/config.d.ts.map +1 -1
  57. package/dist/lib/config.js +1 -1
  58. package/dist/lib/config.js.map +1 -1
  59. package/dist/lib/format.d.ts +2 -1
  60. package/dist/lib/format.d.ts.map +1 -1
  61. package/dist/lib/format.js +22 -8
  62. package/dist/lib/format.js.map +1 -1
  63. package/dist/lib/parse-starknet-error.d.ts +2 -0
  64. package/dist/lib/parse-starknet-error.d.ts.map +1 -0
  65. package/dist/lib/parse-starknet-error.js +81 -0
  66. package/dist/lib/parse-starknet-error.js.map +1 -0
  67. package/dist/mcp/handlers/auth.js +1 -1
  68. package/dist/mcp/handlers/auth.js.map +1 -1
  69. package/dist/mcp/handlers/batch.d.ts.map +1 -1
  70. package/dist/mcp/handlers/batch.js +17 -24
  71. package/dist/mcp/handlers/batch.js.map +1 -1
  72. package/dist/mcp/handlers/config.d.ts +1 -1
  73. package/dist/mcp/handlers/config.d.ts.map +1 -1
  74. package/dist/mcp/handlers/config.js +4 -0
  75. package/dist/mcp/handlers/config.js.map +1 -1
  76. package/dist/mcp/handlers/context.d.ts +10 -0
  77. package/dist/mcp/handlers/context.d.ts.map +1 -0
  78. package/dist/mcp/handlers/context.js +16 -0
  79. package/dist/mcp/handlers/context.js.map +1 -0
  80. package/dist/mcp/handlers/index.d.ts +1 -0
  81. package/dist/mcp/handlers/index.d.ts.map +1 -1
  82. package/dist/mcp/handlers/index.js +1 -0
  83. package/dist/mcp/handlers/index.js.map +1 -1
  84. package/dist/mcp/handlers/lending.d.ts.map +1 -1
  85. package/dist/mcp/handlers/lending.js +105 -116
  86. package/dist/mcp/handlers/lending.js.map +1 -1
  87. package/dist/mcp/handlers/multi-swap.d.ts.map +1 -1
  88. package/dist/mcp/handlers/multi-swap.js +31 -39
  89. package/dist/mcp/handlers/multi-swap.js.map +1 -1
  90. package/dist/mcp/handlers/portfolio.d.ts.map +1 -1
  91. package/dist/mcp/handlers/portfolio.js +5 -6
  92. package/dist/mcp/handlers/portfolio.js.map +1 -1
  93. package/dist/mcp/handlers/staking.d.ts.map +1 -1
  94. package/dist/mcp/handlers/staking.js +73 -77
  95. package/dist/mcp/handlers/staking.js.map +1 -1
  96. package/dist/mcp/handlers/trade.d.ts.map +1 -1
  97. package/dist/mcp/handlers/trade.js +32 -40
  98. package/dist/mcp/handlers/trade.js.map +1 -1
  99. package/dist/mcp/handlers/utils.d.ts +7 -0
  100. package/dist/mcp/handlers/utils.d.ts.map +1 -1
  101. package/dist/mcp/handlers/utils.js +14 -0
  102. package/dist/mcp/handlers/utils.js.map +1 -1
  103. package/dist/mcp/handlers/wallet.d.ts.map +1 -1
  104. package/dist/mcp/handlers/wallet.js +61 -65
  105. package/dist/mcp/handlers/wallet.js.map +1 -1
  106. package/dist/mcp/tools/auth.d.ts.map +1 -1
  107. package/dist/mcp/tools/auth.js +10 -2
  108. package/dist/mcp/tools/auth.js.map +1 -1
  109. package/dist/mcp/tools/error-handling.d.ts.map +1 -1
  110. package/dist/mcp/tools/error-handling.js +9 -15
  111. package/dist/mcp/tools/error-handling.js.map +1 -1
  112. package/dist/services/auth/session.js +1 -1
  113. package/dist/services/auth/session.js.map +1 -1
  114. package/dist/services/config/config.d.ts +1 -0
  115. package/dist/services/config/config.d.ts.map +1 -1
  116. package/dist/services/config/config.js +4 -0
  117. package/dist/services/config/config.js.map +1 -1
  118. package/dist/services/fibrous/route.d.ts +1 -0
  119. package/dist/services/fibrous/route.d.ts.map +1 -1
  120. package/dist/services/fibrous/route.js +26 -1
  121. package/dist/services/fibrous/route.js.map +1 -1
  122. package/dist/services/portfolio/portfolio.d.ts +2 -0
  123. package/dist/services/portfolio/portfolio.d.ts.map +1 -1
  124. package/dist/services/portfolio/portfolio.js +21 -24
  125. package/dist/services/portfolio/portfolio.js.map +1 -1
  126. package/dist/services/simulate/simulate.d.ts.map +1 -1
  127. package/dist/services/simulate/simulate.js +7 -6
  128. package/dist/services/simulate/simulate.js.map +1 -1
  129. package/dist/services/staking/staking.d.ts.map +1 -1
  130. package/dist/services/staking/staking.js +16 -3
  131. package/dist/services/staking/staking.js.map +1 -1
  132. package/dist/services/staking/validators.d.ts +1 -2
  133. package/dist/services/staking/validators.d.ts.map +1 -1
  134. package/dist/services/staking/validators.js.map +1 -1
  135. package/dist/services/starkzap/client.d.ts +1 -1
  136. package/dist/services/starkzap/client.d.ts.map +1 -1
  137. package/dist/services/starkzap/client.js +11 -6
  138. package/dist/services/starkzap/client.js.map +1 -1
  139. package/dist/services/tokens/tokens.d.ts.map +1 -1
  140. package/dist/services/tokens/tokens.js +17 -9
  141. package/dist/services/tokens/tokens.js.map +1 -1
  142. package/dist/services/vesu/lending.d.ts.map +1 -1
  143. package/dist/services/vesu/lending.js +0 -7
  144. package/dist/services/vesu/lending.js.map +1 -1
  145. package/dist/services/vesu/pools.d.ts +4 -0
  146. package/dist/services/vesu/pools.d.ts.map +1 -1
  147. package/dist/services/vesu/pools.js +8 -0
  148. package/dist/services/vesu/pools.js.map +1 -1
  149. package/package.json +9 -5
  150. package/skills/README.md +1 -1
  151. package/skills/balance/SKILL.md +1 -1
  152. package/skills/batch/SKILL.md +6 -6
  153. package/skills/config/SKILL.md +10 -1
  154. package/skills/lending/SKILL.md +20 -9
  155. package/skills/multi-swap/SKILL.md +1 -1
  156. package/skills/portfolio/SKILL.md +2 -2
  157. package/skills/send/SKILL.md +1 -1
  158. package/skills/staking/SKILL.md +10 -10
  159. package/skills/trade/SKILL.md +1 -1
@@ -1,11 +1,10 @@
1
- import { requireSession } from "../../services/auth/session.js";
2
- import { initSDKAndWallet } from "../../services/starkzap/client.js";
3
1
  import { getPortfolio } from "../../services/portfolio/portfolio.js";
2
+ import { withReadonlyWallet } from "./context.js";
4
3
  import { jsonResult } from "./utils.js";
5
4
  export async function handleGetPortfolio() {
6
- const session = requireSession();
7
- const { sdk, wallet } = await initSDKAndWallet(session);
8
- const portfolio = await getPortfolio(sdk, wallet, session);
9
- return jsonResult(portfolio);
5
+ return withReadonlyWallet(async ({ session, sdk, wallet }) => {
6
+ const portfolio = await getPortfolio(sdk, wallet, session);
7
+ return jsonResult(portfolio);
8
+ });
10
9
  }
11
10
  //# sourceMappingURL=portfolio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../../../src/mcp/handlers/portfolio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACvC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAExD,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAE3D,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../../../src/mcp/handlers/portfolio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACvC,OAAO,kBAAkB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;QAC5D,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3D,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
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;;;;;GAgB7F;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;;;;;GAoCA;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,kBAAkB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;GAa9D;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;GAcjE;AAED,wBAAsB,oBAAoB,CAAC,EAAE,SAAS,EAAE,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;GAapF"}
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,82 +1,80 @@
1
1
  import { requireSession } from "../../services/auth/session.js";
2
- import { initSDKAndWallet } from "../../services/starkzap/client.js";
3
2
  import * as stakingService from "../../services/staking/staking.js";
4
3
  import { getValidators, findValidator } from "../../services/staking/validators.js";
4
+ import { withWallet, withReadonlyWallet } from "./context.js";
5
5
  import { jsonResult, textResult } from "./utils.js";
6
6
  export async function handleStakeTokens(args) {
7
- const session = requireSession();
8
- const { wallet } = await initSDKAndWallet(session);
9
- await wallet.ensureReady({ deploy: "if_needed" });
10
- const tokenSymbol = (args.token ?? "STRK").toUpperCase();
11
- const result = await stakingService.stake(wallet, args.pool, args.amount, tokenSymbol);
12
- return jsonResult({
13
- success: true,
14
- txHash: result.hash,
15
- explorerUrl: result.explorerUrl,
16
- amount: `${args.amount} ${tokenSymbol}`,
17
- pool: args.pool,
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
+ });
18
17
  });
19
18
  }
20
19
  export async function handleUnstakeTokens(args) {
21
- const session = requireSession();
22
- const { wallet } = await initSDKAndWallet(session);
23
- await wallet.ensureReady({ deploy: "if_needed" });
24
- if (args.action === "intent") {
25
- if (!args.amount) {
26
- return textResult("Amount is required for exit intent.");
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
+ });
27
34
  }
28
- const tokenSymbol = (args.token ?? "STRK").toUpperCase();
29
- const result = await stakingService.exitPoolIntent(wallet, args.pool, args.amount, tokenSymbol);
35
+ // action === "exit"
36
+ const result = await stakingService.exitPool(wallet, args.pool);
30
37
  return jsonResult({
31
38
  success: true,
32
- action: "exit_intent",
39
+ action: "exit_complete",
33
40
  txHash: result.hash,
34
41
  explorerUrl: result.explorerUrl,
35
- message: "Exit intent declared. Wait for cooldown period, then call with action='exit'.",
42
+ message: "Tokens withdrawn from pool.",
36
43
  });
37
- }
38
- // action === "exit"
39
- const result = await stakingService.exitPool(wallet, args.pool);
40
- return jsonResult({
41
- success: true,
42
- action: "exit_complete",
43
- txHash: result.hash,
44
- explorerUrl: result.explorerUrl,
45
- message: "Tokens withdrawn from pool.",
46
44
  });
47
45
  }
48
46
  export async function handleGetStakingInfo(args) {
49
- const session = requireSession();
50
- const { wallet } = await initSDKAndWallet(session);
51
- const position = await stakingService.getPosition(wallet, args.pool);
52
- if (!position) {
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
+ }
53
56
  return jsonResult({
54
- isMember: false,
57
+ isMember: true,
55
58
  pool: args.pool,
56
- message: "Not a member of this 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,
57
65
  });
58
- }
59
- return jsonResult({
60
- isMember: true,
61
- pool: args.pool,
62
- staked: position.staked,
63
- rewards: position.rewards,
64
- total: position.total,
65
- unpooling: position.unpooling,
66
- cooldownEndsAt: position.unpoolTime ? position.unpoolTime.toISOString() : null,
67
- commissionPercent: position.commissionPercent,
68
66
  });
69
67
  }
70
68
  export async function handleListPools(args) {
71
- const session = requireSession();
72
- const { sdk, wallet } = await initSDKAndWallet(session);
73
- const found = findValidator(args.validator, session.network);
74
- const stakerAddress = found ? found.stakerAddress.toString() : args.validator;
75
- const pools = await stakingService.getValidatorPools(sdk, stakerAddress, wallet);
76
- return jsonResult({
77
- validator: found ? found.name : args.validator,
78
- stakerAddress,
79
- pools,
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
+ });
80
78
  });
81
79
  }
82
80
  export async function handleListValidators() {
@@ -92,32 +90,30 @@ export async function handleListValidators() {
92
90
  });
93
91
  }
94
92
  export async function handleClaimRewards(args) {
95
- const session = requireSession();
96
- const { wallet } = await initSDKAndWallet(session);
97
- await wallet.ensureReady({ deploy: "if_needed" });
98
- const result = await stakingService.claimRewards(wallet, args.pool);
99
- return jsonResult({
100
- success: true,
101
- txHash: result.hash,
102
- explorerUrl: result.explorerUrl,
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
+ });
103
100
  });
104
101
  }
105
102
  export async function handleCompoundRewards(args) {
106
- const session = requireSession();
107
- const { wallet } = await initSDKAndWallet(session);
108
- await wallet.ensureReady({ deploy: "if_needed" });
109
- const result = await stakingService.compoundRewards(wallet, args.pool);
110
- return jsonResult({
111
- success: true,
112
- txHash: result.hash,
113
- explorerUrl: result.explorerUrl,
114
- compounded: result.compounded,
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
+ });
115
111
  });
116
112
  }
117
113
  export async function handleGetStakeStatus({ validator } = {}) {
118
- const session = requireSession();
119
- const { sdk, wallet } = await initSDKAndWallet(session);
120
- const overview = await stakingService.getStakingOverview(sdk, wallet, session.network, session.address, validator);
121
- return jsonResult(overview);
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
+ });
122
118
  }
123
119
  //# sourceMappingURL=staking.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"staking.js","sourceRoot":"","sources":["../../../src/mcp/handlers/staking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"staking.js","sourceRoot":"","sources":["../../../src/mcp/handlers/staking.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"trade.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/trade.ts"],"names":[],"mappings":"AASA,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;;;;;GAyDA"}
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,11 +1,10 @@
1
- import { requireSession } from "../../services/auth/session.js";
2
- import { initSDKAndWallet } from "../../services/starkzap/client.js";
3
1
  import { resolveToken } from "../../services/tokens/tokens.js";
4
2
  import { getCalldata, getRoute } from "../../services/fibrous/route.js";
5
3
  import { Amount, fromAddress } from "starkzap";
6
4
  import { FIBROUS_ROUTER_ADDRESS } from "../../services/fibrous/config.js";
7
5
  import { simulateTransaction } from "../../services/simulate/simulate.js";
8
- import { jsonResult } from "./utils.js";
6
+ import { withWallet } from "./context.js";
7
+ import { jsonResult, simulationResult } from "./utils.js";
9
8
  export async function handleGetSwapQuote(args) {
10
9
  const tokenIn = resolveToken(args.from_token);
11
10
  const tokenOut = resolveToken(args.to_token);
@@ -26,46 +25,39 @@ export async function handleGetSwapQuote(args) {
26
25
  });
27
26
  }
28
27
  export async function handleSwapTokens(args) {
29
- const session = requireSession();
30
- const { wallet } = await initSDKAndWallet(session);
31
- await wallet.ensureReady({ deploy: "if_needed" });
32
- const tokenIn = resolveToken(args.from_token);
33
- const tokenOut = resolveToken(args.to_token);
34
- const parsedAmount = Amount.parse(args.amount, tokenIn);
35
- const rawAmount = parsedAmount.toBase().toString();
36
- const calldataResponse = await getCalldata(tokenIn, tokenOut, rawAmount, args.slippage ?? 1, session.address);
37
- const builder = wallet
38
- .tx()
39
- .approve(tokenIn, fromAddress(FIBROUS_ROUTER_ADDRESS), parsedAmount)
40
- .add({
41
- contractAddress: FIBROUS_ROUTER_ADDRESS,
42
- entrypoint: "swap",
43
- calldata: calldataResponse.calldata,
44
- });
45
- const outputAmount = Amount.fromRaw(BigInt(calldataResponse.route.outputAmount), tokenOut);
46
- const outputFormatted = outputAmount.toUnit();
47
- if (args.simulate) {
48
- const sim = await simulateTransaction(builder);
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();
49
53
  return jsonResult({
50
- success: sim.success,
51
- mode: "SIMULATION (no TX sent)",
54
+ success: true,
55
+ txHash: tx.hash,
56
+ explorerUrl: tx.explorerUrl,
52
57
  amountIn: `${args.amount} ${tokenIn.symbol}`,
53
- expectedAmountOut: `~${outputFormatted} ${tokenOut.symbol}`,
54
- estimatedFee: sim.estimatedFee,
55
- estimatedFeeUsd: sim.estimatedFeeUsd,
56
- callCount: sim.callCount,
57
- ...(sim.revertReason ? { revertReason: sim.revertReason } : {}),
58
+ amountOut: `~${outputFormatted} ${tokenOut.symbol}`,
59
+ slippage: `${args.slippage ?? 1}%`,
58
60
  });
59
- }
60
- const tx = await builder.send();
61
- await tx.wait();
62
- return jsonResult({
63
- success: true,
64
- txHash: tx.hash,
65
- explorerUrl: tx.explorerUrl,
66
- amountIn: `${args.amount} ${tokenIn.symbol}`,
67
- amountOut: `~${outputFormatted} ${tokenOut.symbol}`,
68
- slippage: `${args.slippage ?? 1}%`,
69
61
  });
70
62
  }
71
63
  //# sourceMappingURL=trade.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trade.js","sourceRoot":"","sources":["../../../src/mcp/handlers/trade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trade.js","sourceRoot":"","sources":["../../../src/mcp/handlers/trade.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { SimulationResult } from "../../services/simulate/simulate.js";
1
2
  export declare function textResult(text: string): {
2
3
  content: {
3
4
  type: "text";
@@ -10,4 +11,10 @@ export declare function jsonResult(data: unknown): {
10
11
  text: string;
11
12
  }[];
12
13
  };
14
+ export declare function simulationResult(sim: SimulationResult, extras?: Record<string, unknown>): {
15
+ content: {
16
+ type: "text";
17
+ text: string;
18
+ }[];
19
+ };
13
20
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM;;;;;EAEtC;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO;;;;;EAEvC"}
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,7 +1,21 @@
1
+ // Wrap a plain text string in the MCP tool response envelope.
1
2
  export function textResult(text) {
2
3
  return { content: [{ type: "text", text }] };
3
4
  }
5
+ // Serialise data as pretty-printed JSON inside the MCP response envelope.
4
6
  export function jsonResult(data) {
5
7
  return textResult(JSON.stringify(data, null, 2));
6
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
+ }
7
21
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/mcp/handlers/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,IAAY;IACtC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAa;IACvC,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC"}
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 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/wallet.ts"],"names":[],"mappings":"AAaA,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;GAqB9D;AAED,wBAAsB,mBAAmB;;;;;GAwBxC;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;;;;;GA4CA;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;GAkB7D"}
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,86 +1,81 @@
1
1
  import { requireSession } from "../../services/auth/session.js";
2
- import { initSDKAndWallet, createSDK, resolveFeeModeConfig, } from "../../services/starkzap/client.js";
2
+ import { createSDK, resolveFeeModeConfig } from "../../services/starkzap/client.js";
3
3
  import { ConfigService } from "../../services/config/config.js";
4
4
  import { getBalances } from "../../services/tokens/balances.js";
5
5
  import { resolveToken } from "../../services/tokens/tokens.js";
6
6
  import { Amount, fromAddress } from "starkzap";
7
7
  import { simulateTransaction } from "../../services/simulate/simulate.js";
8
- import { jsonResult } from "./utils.js";
8
+ import { formatActualFee } from "../../lib/format.js";
9
+ import { withWallet, withReadonlyWallet } from "./context.js";
10
+ import { jsonResult, simulationResult } from "./utils.js";
9
11
  export async function handleGetBalance(args) {
10
- const session = requireSession();
11
- const { wallet } = await initSDKAndWallet(session);
12
- if (args.token) {
13
- const tokenType = resolveToken(args.token);
14
- const balanceAmount = await wallet.balanceOf(tokenType);
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);
15
23
  return jsonResult({
16
- symbol: tokenType.symbol,
17
- name: tokenType.name,
18
- balance: balanceAmount.toUnit(),
24
+ network: session.network,
25
+ address: session.address,
26
+ balances,
19
27
  });
20
- }
21
- const balances = await getBalances(wallet);
22
- return jsonResult({
23
- network: session.network,
24
- address: session.address,
25
- balances,
26
28
  });
27
29
  }
28
30
  export async function handleDeployAccount() {
29
- const session = requireSession();
30
- const { wallet } = await initSDKAndWallet(session);
31
- const alreadyDeployed = await wallet.isDeployed();
32
- if (!alreadyDeployed) {
33
- const configService = ConfigService.getInstance();
34
- const gasfreeMode = configService.get("gasfreeMode") === true;
35
- const gasToken = configService.get("gasToken");
36
- const { feeMode } = resolveFeeModeConfig(gasfreeMode, gasToken);
37
- await wallet.ensureReady({ deploy: "if_needed", feeMode });
38
- }
39
- return jsonResult({
40
- alreadyDeployed,
41
- success: true,
42
- address: session.address,
43
- network: session.network,
44
- message: alreadyDeployed
45
- ? "Account is already deployed. No action needed."
46
- : "Account deployed successfully. You can now send, swap, and stake.",
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
+ });
47
49
  });
48
50
  }
49
51
  export async function handleSendTokens(args) {
50
- const session = requireSession();
51
- const { wallet } = await initSDKAndWallet(session);
52
- await wallet.ensureReady({ deploy: "if_needed" });
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)) {
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();
57
72
  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 jsonResult({
66
- success: sim.success,
67
- mode: "SIMULATION (no TX sent)",
73
+ success: true,
74
+ txHash: tx.hash,
75
+ explorerUrl: tx.explorerUrl,
68
76
  amount: `${args.amount} ${args.token.toUpperCase()}`,
69
77
  to: args.recipient,
70
- estimatedFee: sim.estimatedFee,
71
- estimatedFeeUsd: sim.estimatedFeeUsd,
72
- callCount: sim.callCount,
73
- ...(sim.revertReason ? { revertReason: sim.revertReason } : {}),
74
78
  });
75
- }
76
- const tx = await builder.send();
77
- await tx.wait();
78
- return jsonResult({
79
- success: true,
80
- txHash: tx.hash,
81
- explorerUrl: tx.explorerUrl,
82
- amount: `${args.amount} ${args.token.toUpperCase()}`,
83
- to: args.recipient,
84
79
  });
85
80
  }
86
81
  export async function handleGetTxStatus(args) {
@@ -90,7 +85,8 @@ export async function handleGetTxStatus(args) {
90
85
  const sdk = createSDK(session.network, rpcUrl);
91
86
  const provider = sdk.getProvider();
92
87
  const receipt = await provider.getTransactionReceipt(args.hash);
93
- const actualFee = "actual_fee" in receipt ? String(receipt.actual_fee) : undefined;
88
+ const rawFee = "actual_fee" in receipt ? receipt.actual_fee : undefined;
89
+ const actualFee = rawFee ? formatActualFee(rawFee) : undefined;
94
90
  const blockNumber = "block_number" in receipt ? receipt.block_number : undefined;
95
91
  return jsonResult({
96
92
  hash: args.hash,
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../src/mcp/handlers/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../src/mcp/handlers/wallet.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CA8BpE"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAsCpE"}