starkfi 0.3.2 → 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 (146) hide show
  1. package/MCP.md +1 -1
  2. package/README.md +27 -6
  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 +9 -6
  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 +3 -3
  46. package/dist/index.js.map +1 -1
  47. package/dist/lib/cli-helpers.d.ts +8 -0
  48. package/dist/lib/cli-helpers.d.ts.map +1 -0
  49. package/dist/lib/cli-helpers.js +20 -0
  50. package/dist/lib/cli-helpers.js.map +1 -0
  51. package/dist/lib/config.d.ts +1 -1
  52. package/dist/lib/config.d.ts.map +1 -1
  53. package/dist/lib/config.js +1 -1
  54. package/dist/lib/config.js.map +1 -1
  55. package/dist/lib/format.d.ts +2 -1
  56. package/dist/lib/format.d.ts.map +1 -1
  57. package/dist/lib/format.js +21 -4
  58. package/dist/lib/format.js.map +1 -1
  59. package/dist/lib/parse-starknet-error.d.ts +2 -0
  60. package/dist/lib/parse-starknet-error.d.ts.map +1 -0
  61. package/dist/lib/parse-starknet-error.js +81 -0
  62. package/dist/lib/parse-starknet-error.js.map +1 -0
  63. package/dist/mcp/handlers/auth.js +1 -1
  64. package/dist/mcp/handlers/auth.js.map +1 -1
  65. package/dist/mcp/handlers/batch.d.ts.map +1 -1
  66. package/dist/mcp/handlers/batch.js +17 -24
  67. package/dist/mcp/handlers/batch.js.map +1 -1
  68. package/dist/mcp/handlers/config.d.ts +1 -1
  69. package/dist/mcp/handlers/config.d.ts.map +1 -1
  70. package/dist/mcp/handlers/config.js +4 -0
  71. package/dist/mcp/handlers/config.js.map +1 -1
  72. package/dist/mcp/handlers/context.d.ts +10 -0
  73. package/dist/mcp/handlers/context.d.ts.map +1 -0
  74. package/dist/mcp/handlers/context.js +16 -0
  75. package/dist/mcp/handlers/context.js.map +1 -0
  76. package/dist/mcp/handlers/index.d.ts +1 -0
  77. package/dist/mcp/handlers/index.d.ts.map +1 -1
  78. package/dist/mcp/handlers/index.js +1 -0
  79. package/dist/mcp/handlers/index.js.map +1 -1
  80. package/dist/mcp/handlers/lending.d.ts.map +1 -1
  81. package/dist/mcp/handlers/lending.js +105 -116
  82. package/dist/mcp/handlers/lending.js.map +1 -1
  83. package/dist/mcp/handlers/multi-swap.d.ts.map +1 -1
  84. package/dist/mcp/handlers/multi-swap.js +31 -39
  85. package/dist/mcp/handlers/multi-swap.js.map +1 -1
  86. package/dist/mcp/handlers/portfolio.d.ts.map +1 -1
  87. package/dist/mcp/handlers/portfolio.js +5 -6
  88. package/dist/mcp/handlers/portfolio.js.map +1 -1
  89. package/dist/mcp/handlers/staking.d.ts.map +1 -1
  90. package/dist/mcp/handlers/staking.js +73 -77
  91. package/dist/mcp/handlers/staking.js.map +1 -1
  92. package/dist/mcp/handlers/trade.d.ts.map +1 -1
  93. package/dist/mcp/handlers/trade.js +32 -40
  94. package/dist/mcp/handlers/trade.js.map +1 -1
  95. package/dist/mcp/handlers/utils.d.ts +7 -0
  96. package/dist/mcp/handlers/utils.d.ts.map +1 -1
  97. package/dist/mcp/handlers/utils.js +14 -0
  98. package/dist/mcp/handlers/utils.js.map +1 -1
  99. package/dist/mcp/handlers/wallet.d.ts.map +1 -1
  100. package/dist/mcp/handlers/wallet.js +61 -65
  101. package/dist/mcp/handlers/wallet.js.map +1 -1
  102. package/dist/mcp/tools/auth.d.ts.map +1 -1
  103. package/dist/mcp/tools/auth.js +10 -2
  104. package/dist/mcp/tools/auth.js.map +1 -1
  105. package/dist/mcp/tools/error-handling.d.ts.map +1 -1
  106. package/dist/mcp/tools/error-handling.js +9 -15
  107. package/dist/mcp/tools/error-handling.js.map +1 -1
  108. package/dist/services/auth/session.js +1 -1
  109. package/dist/services/auth/session.js.map +1 -1
  110. package/dist/services/config/config.d.ts +1 -0
  111. package/dist/services/config/config.d.ts.map +1 -1
  112. package/dist/services/config/config.js +4 -0
  113. package/dist/services/config/config.js.map +1 -1
  114. package/dist/services/fibrous/route.d.ts +1 -0
  115. package/dist/services/fibrous/route.d.ts.map +1 -1
  116. package/dist/services/fibrous/route.js +26 -1
  117. package/dist/services/fibrous/route.js.map +1 -1
  118. package/dist/services/portfolio/portfolio.d.ts +2 -0
  119. package/dist/services/portfolio/portfolio.d.ts.map +1 -1
  120. package/dist/services/portfolio/portfolio.js +21 -24
  121. package/dist/services/portfolio/portfolio.js.map +1 -1
  122. package/dist/services/simulate/simulate.d.ts.map +1 -1
  123. package/dist/services/simulate/simulate.js +7 -6
  124. package/dist/services/simulate/simulate.js.map +1 -1
  125. package/dist/services/staking/staking.d.ts.map +1 -1
  126. package/dist/services/staking/staking.js +16 -3
  127. package/dist/services/staking/staking.js.map +1 -1
  128. package/dist/services/starkzap/client.d.ts +1 -1
  129. package/dist/services/starkzap/client.d.ts.map +1 -1
  130. package/dist/services/starkzap/client.js +11 -6
  131. package/dist/services/starkzap/client.js.map +1 -1
  132. package/dist/services/tokens/tokens.d.ts.map +1 -1
  133. package/dist/services/tokens/tokens.js +17 -9
  134. package/dist/services/tokens/tokens.js.map +1 -1
  135. package/dist/services/vesu/lending.d.ts.map +1 -1
  136. package/dist/services/vesu/lending.js +0 -7
  137. package/dist/services/vesu/lending.js.map +1 -1
  138. package/dist/services/vesu/pools.d.ts +4 -0
  139. package/dist/services/vesu/pools.d.ts.map +1 -1
  140. package/dist/services/vesu/pools.js +8 -0
  141. package/dist/services/vesu/pools.js.map +1 -1
  142. package/package.json +7 -3
  143. package/skills/config/SKILL.md +9 -0
  144. package/skills/lending/SKILL.md +20 -9
  145. package/skills/portfolio/SKILL.md +1 -1
  146. package/skills/staking/SKILL.md +1 -1
@@ -1,145 +1,134 @@
1
- import { requireSession } from "../../services/auth/session.js";
2
- import { initSDKAndWallet } from "../../services/starkzap/client.js";
3
1
  import * as lendingService from "../../services/vesu/lending.js";
4
- import { getVesuPools, findPoolEntry } from "../../services/vesu/pools.js";
2
+ import { getVesuPools, resolvePoolAddress } from "../../services/vesu/pools.js";
5
3
  import { StarkfiError, ErrorCode } from "../../lib/errors.js";
4
+ import { withWallet, withReadonlyWallet } from "./context.js";
6
5
  import { jsonResult } from "./utils.js";
7
- function resolvePool(poolQuery, network) {
8
- const found = findPoolEntry(poolQuery, network);
9
- return found
10
- ? { address: found.address, name: found.name }
11
- : { address: poolQuery, name: null };
12
- }
13
6
  export async function handleListLendingPools(args) {
14
- const session = requireSession();
15
- let pools = await getVesuPools(session.network);
16
- if (args.name) {
17
- const lower = args.name.toLowerCase();
18
- pools = pools.filter((p) => p.name.toLowerCase().includes(lower));
19
- }
20
- return jsonResult({
21
- success: true,
22
- pools: pools.map((p) => ({
23
- name: p.name,
24
- poolContract: p.address,
25
- protocolVersion: p.protocolVersion,
26
- isDeprecated: p.isDeprecated,
27
- assets: p.assets.map((a) => a.symbol),
28
- pairs: p.pairs.map((pair) => `${pair.collateralSymbol}/${pair.debtSymbol}`),
29
- })),
7
+ return withReadonlyWallet(async ({ session }) => {
8
+ let pools = await getVesuPools(session.network);
9
+ if (args.name) {
10
+ const lower = args.name.toLowerCase();
11
+ pools = pools.filter((p) => p.name.toLowerCase().includes(lower));
12
+ }
13
+ return jsonResult({
14
+ success: true,
15
+ pools: pools.map((p) => ({
16
+ name: p.name,
17
+ poolContract: p.address,
18
+ protocolVersion: p.protocolVersion,
19
+ isDeprecated: p.isDeprecated,
20
+ assets: p.assets.map((a) => a.symbol),
21
+ pairs: p.pairs.map((pair) => `${pair.collateralSymbol}/${pair.debtSymbol}`),
22
+ })),
23
+ });
30
24
  });
31
25
  }
32
26
  export async function handleGetLendingPosition(args) {
33
- const session = requireSession();
34
- const { wallet } = await initSDKAndWallet(session);
35
- const pool = resolvePool(args.pool, session.network);
36
- const suppliedBalance = await lendingService.getSuppliedBalance(wallet, pool.address, args.collateral_token);
37
- let position = null;
38
- if (args.borrow_token) {
39
- position = await lendingService.getPosition(wallet, pool.address, args.collateral_token, args.borrow_token);
40
- }
41
- if (!position && (!suppliedBalance || suppliedBalance === "0.0")) {
27
+ return withReadonlyWallet(async ({ session, wallet }) => {
28
+ const pool = resolvePoolAddress(args.pool, session.network);
29
+ const suppliedBalance = await lendingService.getSuppliedBalance(wallet, pool.address, args.collateral_token);
30
+ let position = null;
31
+ if (args.borrow_token) {
32
+ position = await lendingService.getPosition(wallet, pool.address, args.collateral_token, args.borrow_token);
33
+ }
34
+ if (!position && (!suppliedBalance || suppliedBalance === "0.0")) {
35
+ return jsonResult({
36
+ success: true,
37
+ position: null,
38
+ suppliedYield: null,
39
+ message: "No active position or supply found for this pool and token.",
40
+ });
41
+ }
42
42
  return jsonResult({
43
43
  success: true,
44
- position: null,
45
- suppliedYield: null,
46
- message: "No active position or supply found for this pool and token.",
44
+ suppliedYield: suppliedBalance && suppliedBalance !== "0.0"
45
+ ? `${suppliedBalance} ${args.collateral_token.toUpperCase()}`
46
+ : null,
47
+ position,
47
48
  });
48
- }
49
- return jsonResult({
50
- success: true,
51
- suppliedYield: suppliedBalance && suppliedBalance !== "0.0"
52
- ? `${suppliedBalance} ${args.collateral_token.toUpperCase()}`
53
- : null,
54
- position,
55
49
  });
56
50
  }
57
51
  export async function handleSupplyAssets(args) {
58
- const session = requireSession();
59
- const { wallet } = await initSDKAndWallet(session);
60
- await wallet.ensureReady({ deploy: "if_needed" });
61
- const pool = resolvePool(args.pool, session.network);
62
- const result = await lendingService.supply(wallet, pool.address, args.token, args.amount);
63
- return jsonResult({
64
- success: true,
65
- action: "supply",
66
- amount: `${args.amount} ${args.token.toUpperCase()}`,
67
- pool: pool.address,
68
- poolName: pool.name,
69
- txHash: result.hash,
70
- explorerUrl: result.explorerUrl,
52
+ return withWallet(async ({ session, wallet }) => {
53
+ const pool = resolvePoolAddress(args.pool, session.network);
54
+ const result = await lendingService.supply(wallet, pool.address, args.token, args.amount);
55
+ return jsonResult({
56
+ success: true,
57
+ action: "supply",
58
+ amount: `${args.amount} ${args.token.toUpperCase()}`,
59
+ pool: pool.address,
60
+ poolName: pool.name,
61
+ txHash: result.hash,
62
+ explorerUrl: result.explorerUrl,
63
+ });
71
64
  });
72
65
  }
73
66
  export async function handleWithdrawAssets(args) {
74
- const session = requireSession();
75
- const { wallet } = await initSDKAndWallet(session);
76
- await wallet.ensureReady({ deploy: "if_needed" });
77
- const pool = resolvePool(args.pool, session.network);
78
- const result = await lendingService.withdraw(wallet, pool.address, args.token, args.amount);
79
- return jsonResult({
80
- success: true,
81
- action: "withdraw",
82
- amount: `${args.amount} ${args.token.toUpperCase()}`,
83
- pool: pool.address,
84
- poolName: pool.name,
85
- txHash: result.hash,
86
- explorerUrl: result.explorerUrl,
67
+ return withWallet(async ({ session, wallet }) => {
68
+ const pool = resolvePoolAddress(args.pool, session.network);
69
+ const result = await lendingService.withdraw(wallet, pool.address, args.token, args.amount);
70
+ return jsonResult({
71
+ success: true,
72
+ action: "withdraw",
73
+ amount: `${args.amount} ${args.token.toUpperCase()}`,
74
+ pool: pool.address,
75
+ poolName: pool.name,
76
+ txHash: result.hash,
77
+ explorerUrl: result.explorerUrl,
78
+ });
87
79
  });
88
80
  }
89
81
  export async function handleBorrowAssets(args) {
90
- const session = requireSession();
91
- const { wallet } = await initSDKAndWallet(session);
92
- await wallet.ensureReady({ deploy: "if_needed" });
93
- const pool = resolvePool(args.pool, session.network);
94
- let useSupplied = false;
95
- if (args.use_supplied) {
96
- const balance = await lendingService.getSuppliedBalance(wallet, pool.address, args.collateral_token);
97
- if (!balance || parseFloat(balance) < parseFloat(args.collateral_amount)) {
98
- throw new StarkfiError(ErrorCode.INSUFFICIENT_BALANCE, `Insufficient supplied balance. You have ${balance || "0"} ${args.collateral_token} supplied, but want to use ${args.collateral_amount} as collateral.`);
82
+ return withWallet(async ({ session, wallet }) => {
83
+ const pool = resolvePoolAddress(args.pool, session.network);
84
+ let useSupplied = false;
85
+ if (args.use_supplied) {
86
+ const balance = await lendingService.getSuppliedBalance(wallet, pool.address, args.collateral_token);
87
+ if (!balance || parseFloat(balance) < parseFloat(args.collateral_amount)) {
88
+ throw new StarkfiError(ErrorCode.INSUFFICIENT_BALANCE, `Insufficient supplied balance. You have ${balance || "0"} ${args.collateral_token} supplied, but want to use ${args.collateral_amount} as collateral.`);
89
+ }
90
+ useSupplied = true;
99
91
  }
100
- useSupplied = true;
101
- }
102
- const result = await lendingService.borrow(wallet, pool.address, args.collateral_token, args.collateral_amount, args.borrow_token, args.borrow_amount, useSupplied);
103
- return jsonResult({
104
- success: true,
105
- action: "borrow",
106
- collateral: `${args.collateral_amount} ${args.collateral_token.toUpperCase()}`,
107
- borrowed: `${args.borrow_amount} ${args.borrow_token.toUpperCase()}`,
108
- pool: pool.address,
109
- poolName: pool.name,
110
- txHash: result.hash,
111
- explorerUrl: result.explorerUrl,
92
+ const result = await lendingService.borrow(wallet, pool.address, args.collateral_token, args.collateral_amount, args.borrow_token, args.borrow_amount, useSupplied);
93
+ return jsonResult({
94
+ success: true,
95
+ action: "borrow",
96
+ collateral: `${args.collateral_amount} ${args.collateral_token.toUpperCase()}`,
97
+ borrowed: `${args.borrow_amount} ${args.borrow_token.toUpperCase()}`,
98
+ pool: pool.address,
99
+ poolName: pool.name,
100
+ txHash: result.hash,
101
+ explorerUrl: result.explorerUrl,
102
+ });
112
103
  });
113
104
  }
114
105
  export async function handleRepayDebt(args) {
115
- const session = requireSession();
116
- const { wallet } = await initSDKAndWallet(session);
117
- await wallet.ensureReady({ deploy: "if_needed" });
118
- const pool = resolvePool(args.pool, session.network);
119
- const result = await lendingService.repay(wallet, pool.address, args.collateral_token, args.token, args.amount);
120
- return jsonResult({
121
- success: true,
122
- action: "repay",
123
- repaid: `${args.amount} ${args.token.toUpperCase()}`,
124
- pool: pool.address,
125
- poolName: pool.name,
126
- txHash: result.hash,
127
- explorerUrl: result.explorerUrl,
106
+ return withWallet(async ({ session, wallet }) => {
107
+ const pool = resolvePoolAddress(args.pool, session.network);
108
+ const result = await lendingService.repay(wallet, pool.address, args.collateral_token, args.token, args.amount);
109
+ return jsonResult({
110
+ success: true,
111
+ action: "repay",
112
+ repaid: `${args.amount} ${args.token.toUpperCase()}`,
113
+ pool: pool.address,
114
+ poolName: pool.name,
115
+ txHash: result.hash,
116
+ explorerUrl: result.explorerUrl,
117
+ });
128
118
  });
129
119
  }
130
120
  export async function handleClosePosition(args) {
131
- const session = requireSession();
132
- const { wallet } = await initSDKAndWallet(session);
133
- await wallet.ensureReady({ deploy: "if_needed" });
134
- const pool = resolvePool(args.pool, session.network);
135
- const result = await lendingService.closePosition(wallet, pool.address, args.collateral_token, args.debt_token);
136
- return jsonResult({
137
- success: true,
138
- action: "close_position",
139
- pool: pool.address,
140
- poolName: pool.name,
141
- txHash: result.hash,
142
- explorerUrl: result.explorerUrl,
121
+ return withWallet(async ({ session, wallet }) => {
122
+ const pool = resolvePoolAddress(args.pool, session.network);
123
+ const result = await lendingService.closePosition(wallet, pool.address, args.collateral_token, args.debt_token);
124
+ return jsonResult({
125
+ success: true,
126
+ action: "close_position",
127
+ pool: pool.address,
128
+ poolName: pool.name,
129
+ txHash: result.hash,
130
+ explorerUrl: result.explorerUrl,
131
+ });
143
132
  });
144
133
  }
145
134
  //# sourceMappingURL=lending.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lending.js","sourceRoot":"","sources":["../../../src/mcp/handlers/lending.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lending.js","sourceRoot":"","sources":["../../../src/mcp/handlers/lending.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAuB;IACnE,OAAO,kBAAkB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/C,IAAI,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEhD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,UAAU,CAAC;YACjB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,YAAY,EAAE,CAAC,CAAC,OAAO;gBACvB,eAAe,EAAE,CAAC,CAAC,eAAe;gBAClC,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;gBACrC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;aAC3E,CAAC,CAAC;SACH,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAI9C;IACA,OAAO,kBAAkB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5D,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAC9D,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,gBAAgB,CACrB,CAAC;QAEF,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAC1C,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,YAAY,CACjB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,eAAe,IAAI,eAAe,KAAK,KAAK,CAAC,EAAE,CAAC;YAClE,OAAO,UAAU,CAAC;gBACjB,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,6DAA6D;aACtE,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,UAAU,CAAC;YACjB,OAAO,EAAE,IAAI;YACb,aAAa,EACZ,eAAe,IAAI,eAAe,KAAK,KAAK;gBAC3C,CAAC,CAAC,GAAG,eAAe,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE;gBAC7D,CAAC,CAAC,IAAI;YACR,QAAQ;SACR,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAqD;IAC7F,OAAO,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1F,OAAO,UAAU,CAAC;YACjB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;YACpD,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;SAC/B,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAqD;IAC/F,OAAO,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE5F,OAAO,UAAU,CAAC;YACjB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;YACpD,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;SAC/B,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAOxC;IACA,OAAO,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5D,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,kBAAkB,CACtD,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,gBAAgB,CACrB,CAAC;YACF,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC1E,MAAM,IAAI,YAAY,CACrB,SAAS,CAAC,oBAAoB,EAC9B,2CAA2C,OAAO,IAAI,GAAG,IAAI,IAAI,CAAC,gBAAgB,8BAA8B,IAAI,CAAC,iBAAiB,iBAAiB,CACvJ,CAAC;YACH,CAAC;YACD,WAAW,GAAG,IAAI,CAAC;QACpB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CACzC,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,aAAa,EAClB,WAAW,CACX,CAAC;QAEF,OAAO,UAAU,CAAC;YACjB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE;YAC9E,QAAQ,EAAE,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE;YACpE,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;SAC/B,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAKrC;IACA,OAAO,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CACxC,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,CACX,CAAC;QAEF,OAAO,UAAU,CAAC;YACjB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;YACpD,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;SAC/B,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAIzC;IACA,OAAO,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAChD,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,UAAU,CACf,CAAC;QAEF,OAAO,UAAU,CAAC;YACjB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;SAC/B,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"multi-swap.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/multi-swap.ts"],"names":[],"mappings":"AA0BA,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IACnD,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClE;;;;;GAaA;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC3C,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;;;;;GAkDA"}
1
+ {"version":3,"file":"multi-swap.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/multi-swap.ts"],"names":[],"mappings":"AAyBA,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IACnD,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClE;;;;;GAaA;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC3C,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;;;;;GAyCA"}
@@ -1,11 +1,10 @@
1
1
  import { Amount, fromAddress } from "starkzap";
2
- import { requireSession } from "../../services/auth/session.js";
3
- import { initSDKAndWallet } from "../../services/starkzap/client.js";
4
2
  import { resolveToken } from "../../services/tokens/tokens.js";
5
3
  import { getCalldataBatch, getRouteBatch, } from "../../services/fibrous/route.js";
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
  async function resolvePairs(swaps) {
10
9
  return Promise.all(swaps.map(async (s) => {
11
10
  const tokenIn = resolveToken(s.from_token);
@@ -28,46 +27,39 @@ export async function handleGetMultiSwapQuote(args) {
28
27
  });
29
28
  }
30
29
  export async function handleMultiSwap(args) {
31
- const session = requireSession();
32
- const { wallet } = await initSDKAndWallet(session);
33
- await wallet.ensureReady({ deploy: "if_needed" });
34
- const pairs = await resolvePairs(args.swaps);
35
- const calldataResults = await getCalldataBatch(pairs, args.slippage ?? 1, session.address);
36
- const builder = wallet.tx();
37
- for (let i = 0; i < pairs.length; i++) {
38
- const pair = pairs[i];
39
- const cd = calldataResults[i];
40
- const parsedAmount = Amount.parse(args.swaps[i].amount, pair.tokenIn);
41
- builder.approve(pair.tokenIn, fromAddress(FIBROUS_ROUTER_ADDRESS), parsedAmount).add({
42
- contractAddress: FIBROUS_ROUTER_ADDRESS,
43
- entrypoint: "swap",
44
- calldata: cd.calldata,
30
+ return withWallet(async ({ session, wallet }) => {
31
+ const pairs = await resolvePairs(args.swaps);
32
+ const calldataResults = await getCalldataBatch(pairs, args.slippage ?? 1, session.address);
33
+ const builder = wallet.tx();
34
+ for (let i = 0; i < pairs.length; i++) {
35
+ const pair = pairs[i];
36
+ const cd = calldataResults[i];
37
+ const parsedAmount = Amount.parse(args.swaps[i].amount, pair.tokenIn);
38
+ builder.approve(pair.tokenIn, fromAddress(FIBROUS_ROUTER_ADDRESS), parsedAmount).add({
39
+ contractAddress: FIBROUS_ROUTER_ADDRESS,
40
+ entrypoint: "swap",
41
+ calldata: cd.calldata,
42
+ });
43
+ }
44
+ const formatSwap = (i) => ({
45
+ amountIn: `${args.swaps[i].amount} ${pairs[i].tokenIn.symbol}`,
46
+ expectedAmountOut: `~${Amount.fromRaw(BigInt(calldataResults[i].route.outputAmount), pairs[i].tokenOut).toUnit()} ${pairs[i].tokenOut.symbol}`,
45
47
  });
46
- }
47
- const formatSwap = (i) => ({
48
- amountIn: `${args.swaps[i].amount} ${pairs[i].tokenIn.symbol}`,
49
- expectedAmountOut: `~${Amount.fromRaw(BigInt(calldataResults[i].route.outputAmount), pairs[i].tokenOut).toUnit()} ${pairs[i].tokenOut.symbol}`,
50
- });
51
- if (args.simulate) {
52
- const sim = await simulateTransaction(builder);
48
+ if (args.simulate) {
49
+ const sim = await simulateTransaction(builder);
50
+ return simulationResult(sim, {
51
+ swaps: pairs.map((_, i) => formatSwap(i)),
52
+ });
53
+ }
54
+ const tx = await builder.send();
55
+ await tx.wait();
53
56
  return jsonResult({
54
- success: sim.success,
55
- mode: "SIMULATION (no TX sent)",
57
+ success: true,
58
+ txHash: tx.hash,
59
+ explorerUrl: tx.explorerUrl,
56
60
  swaps: pairs.map((_, i) => formatSwap(i)),
57
- estimatedFee: sim.estimatedFee,
58
- estimatedFeeUsd: sim.estimatedFeeUsd,
59
- callCount: sim.callCount,
60
- ...(sim.revertReason ? { revertReason: sim.revertReason } : {}),
61
+ slippage: `${args.slippage ?? 1}%`,
61
62
  });
62
- }
63
- const tx = await builder.send();
64
- await tx.wait();
65
- return jsonResult({
66
- success: true,
67
- txHash: tx.hash,
68
- explorerUrl: tx.explorerUrl,
69
- swaps: pairs.map((_, i) => formatSwap(i)),
70
- slippage: `${args.slippage ?? 1}%`,
71
63
  });
72
64
  }
73
65
  //# sourceMappingURL=multi-swap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"multi-swap.js","sourceRoot":"","sources":["../../../src/mcp/handlers/multi-swap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-swap.js","sourceRoot":"","sources":["../../../src/mcp/handlers/multi-swap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EACN,gBAAgB,EAChB,aAAa,GAEb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE1D,KAAK,UAAU,YAAY,CAC1B,KAAiE;IAEjE,OAAO,OAAO,CAAC,GAAG,CACjB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IACxE,CAAC,CAAC,CACF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAE7C;IACA,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;IAE1C,OAAO,UAAU,CAAC;QACjB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE;YAC9D,iBAAiB,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE;YACvH,eAAe,EAAE,CAAC,CAAC,qBAAqB,IAAI,IAAI;SAChD,CAAC,CAAC;QACH,OAAO,EAAE,8CAA8C;KACvD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAIrC;IACA,OAAO,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAE3F,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAEtE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,sBAAsB,CAAC,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC;gBACpF,eAAe,EAAE,sBAAsB;gBACvC,UAAU,EAAE,MAAM;gBAClB,QAAQ,EAAE,EAAE,CAAC,QAAQ;aACrB,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;YAClC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE;YAC9D,iBAAiB,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE;SAC9I,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC/C,OAAO,gBAAgB,CAAC,GAAG,EAAE;gBAC5B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aACzC,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,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACzC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG;SAClC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/portfolio.ts"],"names":[],"mappings":"AAKA,wBAAsB,kBAAkB;;;;;GAOvC"}
1
+ {"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/portfolio.ts"],"names":[],"mappings":"AAIA,wBAAsB,kBAAkB;;;;;GAKvC"}
@@ -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"}