gate-mcp 0.4.1 → 0.5.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.
- package/README.md +71 -19
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +45 -0
- package/dist/config.js.map +1 -0
- package/dist/index.js +31 -14
- package/dist/index.js.map +1 -1
- package/dist/tools/account.js +10 -10
- package/dist/tools/delivery.js +11 -11
- package/dist/tools/earn.d.ts.map +1 -1
- package/dist/tools/earn.js +378 -25
- package/dist/tools/earn.js.map +1 -1
- package/dist/tools/flash_swap.js +5 -5
- package/dist/tools/futures.js +45 -45
- package/dist/tools/margin.js +5 -5
- package/dist/tools/options.js +13 -13
- package/dist/tools/spot.js +28 -28
- package/dist/tools/sub_account.js +11 -11
- package/dist/tools/unified.js +16 -16
- package/dist/tools/wallet.js +12 -12
- package/dist/utils.d.ts +6 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +13 -0
- package/dist/utils.js.map +1 -1
- package/package.json +3 -2
package/dist/tools/earn.js
CHANGED
|
@@ -1,19 +1,43 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { EarnApi } from 'gate-api';
|
|
2
|
+
import { EarnApi, EarnUniApi } from 'gate-api';
|
|
3
3
|
import { createClient, requireAuth } from '../client.js';
|
|
4
4
|
import { textContent, errorContent } from '../utils.js';
|
|
5
5
|
export function registerEarnTools(server) {
|
|
6
|
+
// ── ETH2 ──────────────────────────────────────────────────────────────────
|
|
7
|
+
server.tool('cex_earn_swap_eth2', 'Swap ETH to ETH2 or ETH2 to ETH (requires authentication)', {
|
|
8
|
+
side: z.enum(['lend', 'redeem']).describe('lend = ETH→ETH2, redeem = ETH2→ETH'),
|
|
9
|
+
amount: z.string().describe('Amount to swap'),
|
|
10
|
+
}, async ({ side, amount }) => {
|
|
11
|
+
try {
|
|
12
|
+
requireAuth();
|
|
13
|
+
const { Eth2Swap } = await import('gate-api');
|
|
14
|
+
const body = new Eth2Swap();
|
|
15
|
+
body.side = side;
|
|
16
|
+
body.amount = amount;
|
|
17
|
+
const { body: result } = await new EarnApi(createClient()).swapETH2(body);
|
|
18
|
+
return textContent(result);
|
|
19
|
+
}
|
|
20
|
+
catch (e) {
|
|
21
|
+
return errorContent(e);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
server.tool('cex_earn_rate_list_eth2', 'Get ETH2 swap rate list', {}, async () => {
|
|
25
|
+
try {
|
|
26
|
+
const { body } = await new EarnApi(createClient()).rateListETH2();
|
|
27
|
+
return textContent(body);
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
return errorContent(e);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
6
33
|
// ── Dual Investment ───────────────────────────────────────────────────────
|
|
7
|
-
server.tool('
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}, async ({ limit, offset }) => {
|
|
34
|
+
server.tool('cex_earn_list_dual_investment_plans', 'List dual investment plans', {
|
|
35
|
+
plan_id: z.number().int().optional().describe('Filter by plan ID'),
|
|
36
|
+
}, async ({ plan_id }) => {
|
|
11
37
|
try {
|
|
12
38
|
const opts = {};
|
|
13
|
-
if (
|
|
14
|
-
opts.
|
|
15
|
-
if (offset !== undefined)
|
|
16
|
-
opts.offset = offset;
|
|
39
|
+
if (plan_id !== undefined)
|
|
40
|
+
opts.planId = plan_id;
|
|
17
41
|
const { body } = await new EarnApi(createClient()).listDualInvestmentPlans(opts);
|
|
18
42
|
return textContent(body);
|
|
19
43
|
}
|
|
@@ -21,17 +45,23 @@ export function registerEarnTools(server) {
|
|
|
21
45
|
return errorContent(e);
|
|
22
46
|
}
|
|
23
47
|
});
|
|
24
|
-
server.tool('
|
|
48
|
+
server.tool('cex_earn_list_dual_orders', 'List dual investment orders (requires authentication)', {
|
|
49
|
+
from: z.number().optional().describe('Start time (Unix timestamp)'),
|
|
50
|
+
to: z.number().optional().describe('End time (Unix timestamp)'),
|
|
51
|
+
page: z.number().int().optional(),
|
|
25
52
|
limit: z.number().int().optional(),
|
|
26
|
-
|
|
27
|
-
}, async ({ limit, offset }) => {
|
|
53
|
+
}, async ({ from, to, page, limit }) => {
|
|
28
54
|
try {
|
|
29
55
|
requireAuth();
|
|
30
56
|
const opts = {};
|
|
57
|
+
if (from !== undefined)
|
|
58
|
+
opts.from = from;
|
|
59
|
+
if (to !== undefined)
|
|
60
|
+
opts.to = to;
|
|
61
|
+
if (page !== undefined)
|
|
62
|
+
opts.page = page;
|
|
31
63
|
if (limit !== undefined)
|
|
32
64
|
opts.limit = limit;
|
|
33
|
-
if (offset !== undefined)
|
|
34
|
-
opts.offset = offset;
|
|
35
65
|
const { body } = await new EarnApi(createClient()).listDualOrders(opts);
|
|
36
66
|
return textContent(body);
|
|
37
67
|
}
|
|
@@ -39,7 +69,27 @@ export function registerEarnTools(server) {
|
|
|
39
69
|
return errorContent(e);
|
|
40
70
|
}
|
|
41
71
|
});
|
|
42
|
-
server.tool('
|
|
72
|
+
server.tool('cex_earn_place_dual_order', 'Place a dual investment order (requires authentication)', {
|
|
73
|
+
plan_id: z.string().describe('Plan ID'),
|
|
74
|
+
amount: z.string().describe('Investment amount'),
|
|
75
|
+
text: z.string().optional().describe('Custom order comment'),
|
|
76
|
+
}, async ({ plan_id, amount, text }) => {
|
|
77
|
+
try {
|
|
78
|
+
requireAuth();
|
|
79
|
+
const { PlaceDualInvestmentOrderParams } = await import('gate-api');
|
|
80
|
+
const params = new PlaceDualInvestmentOrderParams();
|
|
81
|
+
params.planId = plan_id;
|
|
82
|
+
params.amount = amount;
|
|
83
|
+
if (text !== undefined)
|
|
84
|
+
params.text = text;
|
|
85
|
+
const { body } = await new EarnApi(createClient()).placeDualOrder(params);
|
|
86
|
+
return textContent(body);
|
|
87
|
+
}
|
|
88
|
+
catch (e) {
|
|
89
|
+
return errorContent(e);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
server.tool('cex_earn_list_dual_balance', 'Get dual investment balance (requires authentication)', {}, async () => {
|
|
43
93
|
try {
|
|
44
94
|
requireAuth();
|
|
45
95
|
const { body } = await new EarnApi(createClient()).listDualBalance();
|
|
@@ -50,20 +100,20 @@ export function registerEarnTools(server) {
|
|
|
50
100
|
}
|
|
51
101
|
});
|
|
52
102
|
// ── Structured Products ───────────────────────────────────────────────────
|
|
53
|
-
server.tool('
|
|
103
|
+
server.tool('cex_earn_list_structured_products', 'List structured products', {
|
|
54
104
|
status: z.enum(['in_progress', 'will_begin', 'waiting', 'done']).describe('Product status'),
|
|
55
105
|
type: z.string().optional().describe('Product type'),
|
|
106
|
+
page: z.number().int().optional(),
|
|
56
107
|
limit: z.number().int().optional(),
|
|
57
|
-
|
|
58
|
-
}, async ({ status, type, limit, offset }) => {
|
|
108
|
+
}, async ({ status, type, page, limit }) => {
|
|
59
109
|
try {
|
|
60
110
|
const opts = {};
|
|
61
111
|
if (type)
|
|
62
112
|
opts.type = type;
|
|
113
|
+
if (page !== undefined)
|
|
114
|
+
opts.page = page;
|
|
63
115
|
if (limit !== undefined)
|
|
64
116
|
opts.limit = limit;
|
|
65
|
-
if (offset !== undefined)
|
|
66
|
-
opts.offset = offset;
|
|
67
117
|
const { body } = await new EarnApi(createClient()).listStructuredProducts(status, opts);
|
|
68
118
|
return textContent(body);
|
|
69
119
|
}
|
|
@@ -71,12 +121,12 @@ export function registerEarnTools(server) {
|
|
|
71
121
|
return errorContent(e);
|
|
72
122
|
}
|
|
73
123
|
});
|
|
74
|
-
server.tool('
|
|
124
|
+
server.tool('cex_earn_list_structured_orders', 'List structured product orders (requires authentication)', {
|
|
75
125
|
from: z.number().optional().describe('Start time (Unix timestamp)'),
|
|
76
126
|
to: z.number().optional().describe('End time (Unix timestamp)'),
|
|
127
|
+
page: z.number().int().optional(),
|
|
77
128
|
limit: z.number().int().optional(),
|
|
78
|
-
|
|
79
|
-
}, async ({ from, to, limit, offset }) => {
|
|
129
|
+
}, async ({ from, to, page, limit }) => {
|
|
80
130
|
try {
|
|
81
131
|
requireAuth();
|
|
82
132
|
const opts = {};
|
|
@@ -84,10 +134,10 @@ export function registerEarnTools(server) {
|
|
|
84
134
|
opts.from = from;
|
|
85
135
|
if (to !== undefined)
|
|
86
136
|
opts.to = to;
|
|
137
|
+
if (page !== undefined)
|
|
138
|
+
opts.page = page;
|
|
87
139
|
if (limit !== undefined)
|
|
88
140
|
opts.limit = limit;
|
|
89
|
-
if (offset !== undefined)
|
|
90
|
-
opts.offset = offset;
|
|
91
141
|
const { body } = await new EarnApi(createClient()).listStructuredOrders(opts);
|
|
92
142
|
return textContent(body);
|
|
93
143
|
}
|
|
@@ -95,5 +145,308 @@ export function registerEarnTools(server) {
|
|
|
95
145
|
return errorContent(e);
|
|
96
146
|
}
|
|
97
147
|
});
|
|
148
|
+
server.tool('cex_earn_place_structured_order', 'Purchase a structured product (requires authentication)', {
|
|
149
|
+
pid: z.string().optional().describe('Product ID'),
|
|
150
|
+
amount: z.string().optional().describe('Investment amount'),
|
|
151
|
+
}, async ({ pid, amount }) => {
|
|
152
|
+
try {
|
|
153
|
+
requireAuth();
|
|
154
|
+
const { StructuredBuy } = await import('gate-api');
|
|
155
|
+
const order = new StructuredBuy();
|
|
156
|
+
if (pid !== undefined)
|
|
157
|
+
order.pid = pid;
|
|
158
|
+
if (amount !== undefined)
|
|
159
|
+
order.amount = amount;
|
|
160
|
+
const { body } = await new EarnApi(createClient()).placeStructuredOrder(order);
|
|
161
|
+
return textContent(body);
|
|
162
|
+
}
|
|
163
|
+
catch (e) {
|
|
164
|
+
return errorContent(e);
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
// ── Staking ───────────────────────────────────────────────────────────────
|
|
168
|
+
server.tool('cex_earn_find_coin', 'Search for staking coins', {
|
|
169
|
+
cointype: z.string().optional().describe('Coin type filter'),
|
|
170
|
+
}, async ({ cointype }) => {
|
|
171
|
+
try {
|
|
172
|
+
const { FindCoin } = await import('gate-api');
|
|
173
|
+
const req = new FindCoin();
|
|
174
|
+
if (cointype !== undefined)
|
|
175
|
+
req.cointype = cointype;
|
|
176
|
+
const { body } = await new EarnApi(createClient()).findCoin(req);
|
|
177
|
+
return textContent(body);
|
|
178
|
+
}
|
|
179
|
+
catch (e) {
|
|
180
|
+
return errorContent(e);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
server.tool('cex_earn_swap_staking_coin', 'Swap staking coins (requires authentication)', {
|
|
184
|
+
coin: z.string().describe('Coin name'),
|
|
185
|
+
side: z.number().int().describe('1 = stake, 2 = redeem'),
|
|
186
|
+
amount: z.string().describe('Amount'),
|
|
187
|
+
pid: z.number().int().optional().describe('Product ID'),
|
|
188
|
+
}, async ({ coin, side, amount, pid }) => {
|
|
189
|
+
try {
|
|
190
|
+
requireAuth();
|
|
191
|
+
const { SwapCoin } = await import('gate-api');
|
|
192
|
+
const req = new SwapCoin();
|
|
193
|
+
req.coin = coin;
|
|
194
|
+
req.side = side;
|
|
195
|
+
req.amount = amount;
|
|
196
|
+
if (pid !== undefined)
|
|
197
|
+
req.pid = pid;
|
|
198
|
+
const { body } = await new EarnApi(createClient()).swapStakingCoin(req);
|
|
199
|
+
return textContent(body);
|
|
200
|
+
}
|
|
201
|
+
catch (e) {
|
|
202
|
+
return errorContent(e);
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
server.tool('cex_earn_order_list', 'List staking orders (requires authentication)', {
|
|
206
|
+
pid: z.number().int().optional().describe('Product ID'),
|
|
207
|
+
coin: z.string().optional().describe('Coin name'),
|
|
208
|
+
type: z.number().int().optional().describe('Order type'),
|
|
209
|
+
page: z.number().int().optional(),
|
|
210
|
+
}, async ({ pid, coin, type, page }) => {
|
|
211
|
+
try {
|
|
212
|
+
requireAuth();
|
|
213
|
+
const opts = {};
|
|
214
|
+
if (pid !== undefined)
|
|
215
|
+
opts.pid = pid;
|
|
216
|
+
if (coin !== undefined)
|
|
217
|
+
opts.coin = coin;
|
|
218
|
+
if (type !== undefined)
|
|
219
|
+
opts.type = type;
|
|
220
|
+
if (page !== undefined)
|
|
221
|
+
opts.page = page;
|
|
222
|
+
const { body } = await new EarnApi(createClient()).orderList(opts);
|
|
223
|
+
return textContent(body);
|
|
224
|
+
}
|
|
225
|
+
catch (e) {
|
|
226
|
+
return errorContent(e);
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
server.tool('cex_earn_award_list', 'List staking awards (requires authentication)', {
|
|
230
|
+
pid: z.number().int().optional().describe('Product ID'),
|
|
231
|
+
coin: z.string().optional().describe('Coin name'),
|
|
232
|
+
page: z.number().int().optional(),
|
|
233
|
+
}, async ({ pid, coin, page }) => {
|
|
234
|
+
try {
|
|
235
|
+
requireAuth();
|
|
236
|
+
const opts = {};
|
|
237
|
+
if (pid !== undefined)
|
|
238
|
+
opts.pid = pid;
|
|
239
|
+
if (coin !== undefined)
|
|
240
|
+
opts.coin = coin;
|
|
241
|
+
if (page !== undefined)
|
|
242
|
+
opts.page = page;
|
|
243
|
+
const { body } = await new EarnApi(createClient()).awardList(opts);
|
|
244
|
+
return textContent(body);
|
|
245
|
+
}
|
|
246
|
+
catch (e) {
|
|
247
|
+
return errorContent(e);
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
server.tool('cex_earn_asset_list', 'List staking assets (requires authentication)', {
|
|
251
|
+
coin: z.string().optional().describe('Coin name filter'),
|
|
252
|
+
}, async ({ coin }) => {
|
|
253
|
+
try {
|
|
254
|
+
requireAuth();
|
|
255
|
+
const opts = {};
|
|
256
|
+
if (coin !== undefined)
|
|
257
|
+
opts.coin = coin;
|
|
258
|
+
const { body } = await new EarnApi(createClient()).assetList(opts);
|
|
259
|
+
return textContent(body);
|
|
260
|
+
}
|
|
261
|
+
catch (e) {
|
|
262
|
+
return errorContent(e);
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
// ── Earn Uni (Simple Earn) ─────────────────────────────────────────────────
|
|
266
|
+
server.tool('cex_earn_list_uni_currencies', 'List currencies available for Simple Earn lending', {}, async () => {
|
|
267
|
+
try {
|
|
268
|
+
const { body } = await new EarnUniApi(createClient()).listUniCurrencies();
|
|
269
|
+
return textContent(body);
|
|
270
|
+
}
|
|
271
|
+
catch (e) {
|
|
272
|
+
return errorContent(e);
|
|
273
|
+
}
|
|
274
|
+
});
|
|
275
|
+
server.tool('cex_earn_get_uni_currency', 'Get details of a Simple Earn lending currency', {
|
|
276
|
+
currency: z.string().describe('Currency name'),
|
|
277
|
+
}, async ({ currency }) => {
|
|
278
|
+
try {
|
|
279
|
+
const { body } = await new EarnUniApi(createClient()).getUniCurrency(currency);
|
|
280
|
+
return textContent(body);
|
|
281
|
+
}
|
|
282
|
+
catch (e) {
|
|
283
|
+
return errorContent(e);
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
server.tool('cex_earn_list_user_uni_lends', 'List user Simple Earn lending records (requires authentication)', {
|
|
287
|
+
currency: z.string().optional(),
|
|
288
|
+
page: z.number().int().optional(),
|
|
289
|
+
limit: z.number().int().optional(),
|
|
290
|
+
}, async ({ currency, page, limit }) => {
|
|
291
|
+
try {
|
|
292
|
+
requireAuth();
|
|
293
|
+
const opts = {};
|
|
294
|
+
if (currency !== undefined)
|
|
295
|
+
opts.currency = currency;
|
|
296
|
+
if (page !== undefined)
|
|
297
|
+
opts.page = page;
|
|
298
|
+
if (limit !== undefined)
|
|
299
|
+
opts.limit = limit;
|
|
300
|
+
const { body } = await new EarnUniApi(createClient()).listUserUniLends(opts);
|
|
301
|
+
return textContent(body);
|
|
302
|
+
}
|
|
303
|
+
catch (e) {
|
|
304
|
+
return errorContent(e);
|
|
305
|
+
}
|
|
306
|
+
});
|
|
307
|
+
server.tool('cex_earn_create_uni_lend', 'Create a Simple Earn lending order (requires authentication)', {
|
|
308
|
+
currency: z.string().describe('Currency to lend'),
|
|
309
|
+
amount: z.string().describe('Amount to lend'),
|
|
310
|
+
type: z.enum(['lend', 'redeem']).describe('lend or redeem'),
|
|
311
|
+
min_rate: z.string().optional().describe('Minimum lending rate'),
|
|
312
|
+
}, async ({ currency, amount, type, min_rate }) => {
|
|
313
|
+
try {
|
|
314
|
+
requireAuth();
|
|
315
|
+
const { CreateUniLend } = await import('gate-api');
|
|
316
|
+
const req = new CreateUniLend();
|
|
317
|
+
req.currency = currency;
|
|
318
|
+
req.amount = amount;
|
|
319
|
+
req.type = type === 'lend' ? CreateUniLend.Type.Lend : CreateUniLend.Type.Redeem;
|
|
320
|
+
if (min_rate !== undefined)
|
|
321
|
+
req.minRate = min_rate;
|
|
322
|
+
const { body } = await new EarnUniApi(createClient()).createUniLend(req);
|
|
323
|
+
return textContent(body);
|
|
324
|
+
}
|
|
325
|
+
catch (e) {
|
|
326
|
+
return errorContent(e);
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
server.tool('cex_earn_change_uni_lend', 'Modify a Simple Earn lending order (requires authentication)', {
|
|
330
|
+
currency: z.string().optional().describe('Currency'),
|
|
331
|
+
min_rate: z.string().optional().describe('New minimum lending rate'),
|
|
332
|
+
}, async ({ currency, min_rate }) => {
|
|
333
|
+
try {
|
|
334
|
+
requireAuth();
|
|
335
|
+
const { PatchUniLend } = await import('gate-api');
|
|
336
|
+
const req = new PatchUniLend();
|
|
337
|
+
if (currency !== undefined)
|
|
338
|
+
req.currency = currency;
|
|
339
|
+
if (min_rate !== undefined)
|
|
340
|
+
req.minRate = min_rate;
|
|
341
|
+
const { body } = await new EarnUniApi(createClient()).changeUniLend(req);
|
|
342
|
+
return textContent(body);
|
|
343
|
+
}
|
|
344
|
+
catch (e) {
|
|
345
|
+
return errorContent(e);
|
|
346
|
+
}
|
|
347
|
+
});
|
|
348
|
+
server.tool('cex_earn_list_uni_lend_records', 'List Simple Earn lending history (requires authentication)', {
|
|
349
|
+
currency: z.string().optional(),
|
|
350
|
+
page: z.number().int().optional(),
|
|
351
|
+
limit: z.number().int().optional(),
|
|
352
|
+
from: z.number().optional().describe('Start time (Unix timestamp)'),
|
|
353
|
+
to: z.number().optional().describe('End time (Unix timestamp)'),
|
|
354
|
+
type: z.enum(['lend', 'redeem']).optional(),
|
|
355
|
+
}, async ({ currency, page, limit, from, to, type }) => {
|
|
356
|
+
try {
|
|
357
|
+
requireAuth();
|
|
358
|
+
const opts = {};
|
|
359
|
+
if (currency !== undefined)
|
|
360
|
+
opts.currency = currency;
|
|
361
|
+
if (page !== undefined)
|
|
362
|
+
opts.page = page;
|
|
363
|
+
if (limit !== undefined)
|
|
364
|
+
opts.limit = limit;
|
|
365
|
+
if (from !== undefined)
|
|
366
|
+
opts.from = from;
|
|
367
|
+
if (to !== undefined)
|
|
368
|
+
opts.to = to;
|
|
369
|
+
if (type !== undefined)
|
|
370
|
+
opts.type = type;
|
|
371
|
+
const { body } = await new EarnUniApi(createClient()).listUniLendRecords(opts);
|
|
372
|
+
return textContent(body);
|
|
373
|
+
}
|
|
374
|
+
catch (e) {
|
|
375
|
+
return errorContent(e);
|
|
376
|
+
}
|
|
377
|
+
});
|
|
378
|
+
server.tool('cex_earn_get_uni_interest', 'Get Simple Earn interest for a currency (requires authentication)', {
|
|
379
|
+
currency: z.string().describe('Currency name'),
|
|
380
|
+
}, async ({ currency }) => {
|
|
381
|
+
try {
|
|
382
|
+
requireAuth();
|
|
383
|
+
const { body } = await new EarnUniApi(createClient()).getUniInterest(currency);
|
|
384
|
+
return textContent(body);
|
|
385
|
+
}
|
|
386
|
+
catch (e) {
|
|
387
|
+
return errorContent(e);
|
|
388
|
+
}
|
|
389
|
+
});
|
|
390
|
+
server.tool('cex_earn_list_uni_interest_records', 'List Simple Earn interest history (requires authentication)', {
|
|
391
|
+
currency: z.string().optional(),
|
|
392
|
+
page: z.number().int().optional(),
|
|
393
|
+
limit: z.number().int().optional(),
|
|
394
|
+
from: z.number().optional().describe('Start time (Unix timestamp)'),
|
|
395
|
+
to: z.number().optional().describe('End time (Unix timestamp)'),
|
|
396
|
+
}, async ({ currency, page, limit, from, to }) => {
|
|
397
|
+
try {
|
|
398
|
+
requireAuth();
|
|
399
|
+
const opts = {};
|
|
400
|
+
if (currency !== undefined)
|
|
401
|
+
opts.currency = currency;
|
|
402
|
+
if (page !== undefined)
|
|
403
|
+
opts.page = page;
|
|
404
|
+
if (limit !== undefined)
|
|
405
|
+
opts.limit = limit;
|
|
406
|
+
if (from !== undefined)
|
|
407
|
+
opts.from = from;
|
|
408
|
+
if (to !== undefined)
|
|
409
|
+
opts.to = to;
|
|
410
|
+
const { body } = await new EarnUniApi(createClient()).listUniInterestRecords(opts);
|
|
411
|
+
return textContent(body);
|
|
412
|
+
}
|
|
413
|
+
catch (e) {
|
|
414
|
+
return errorContent(e);
|
|
415
|
+
}
|
|
416
|
+
});
|
|
417
|
+
server.tool('cex_earn_get_uni_interest_status', 'Get Simple Earn interest reinvestment status for a currency (requires authentication)', {
|
|
418
|
+
currency: z.string().describe('Currency name'),
|
|
419
|
+
}, async ({ currency }) => {
|
|
420
|
+
try {
|
|
421
|
+
requireAuth();
|
|
422
|
+
const { body } = await new EarnUniApi(createClient()).getUniInterestStatus(currency);
|
|
423
|
+
return textContent(body);
|
|
424
|
+
}
|
|
425
|
+
catch (e) {
|
|
426
|
+
return errorContent(e);
|
|
427
|
+
}
|
|
428
|
+
});
|
|
429
|
+
server.tool('cex_earn_list_uni_chart', 'Get Simple Earn lending rate chart data', {
|
|
430
|
+
from: z.number().describe('Start time (Unix timestamp)'),
|
|
431
|
+
to: z.number().describe('End time (Unix timestamp)'),
|
|
432
|
+
asset: z.string().describe('Asset name'),
|
|
433
|
+
}, async ({ from, to, asset }) => {
|
|
434
|
+
try {
|
|
435
|
+
const { body } = await new EarnUniApi(createClient()).listUniChart(from, to, asset);
|
|
436
|
+
return textContent(body);
|
|
437
|
+
}
|
|
438
|
+
catch (e) {
|
|
439
|
+
return errorContent(e);
|
|
440
|
+
}
|
|
441
|
+
});
|
|
442
|
+
server.tool('cex_earn_list_uni_rate', 'Get Simple Earn current lending rates for all currencies', {}, async () => {
|
|
443
|
+
try {
|
|
444
|
+
const { body } = await new EarnUniApi(createClient()).listUniRate();
|
|
445
|
+
return textContent(body);
|
|
446
|
+
}
|
|
447
|
+
catch (e) {
|
|
448
|
+
return errorContent(e);
|
|
449
|
+
}
|
|
450
|
+
});
|
|
98
451
|
}
|
|
99
452
|
//# sourceMappingURL=earn.js.map
|
package/dist/tools/earn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"earn.js","sourceRoot":"","sources":["../../src/tools/earn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"earn.js","sourceRoot":"","sources":["../../src/tools/earn.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/flash_swap.js
CHANGED
|
@@ -3,7 +3,7 @@ import { FlashSwapApi } from 'gate-api';
|
|
|
3
3
|
import { createClient, requireAuth } from '../client.js';
|
|
4
4
|
import { textContent, errorContent } from '../utils.js';
|
|
5
5
|
export function registerFlashSwapTools(server) {
|
|
6
|
-
server.tool('
|
|
6
|
+
server.tool('cex_flash_swap_list_flash_swap_currency_pairs', 'List all supported flash swap currency pairs', {
|
|
7
7
|
currency: z.string().optional().describe('Filter by currency symbol'),
|
|
8
8
|
}, async ({ currency }) => {
|
|
9
9
|
try {
|
|
@@ -17,7 +17,7 @@ export function registerFlashSwapTools(server) {
|
|
|
17
17
|
return errorContent(e);
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
|
-
server.tool('
|
|
20
|
+
server.tool('cex_flash_swap_preview_flash_swap_order', 'Preview a flash swap order to get a quote (requires authentication)', {
|
|
21
21
|
sell_currency: z.string().describe('Currency to sell e.g. USDT'),
|
|
22
22
|
sell_amount: z.string().optional().describe('Amount to sell (specify either sell_amount or buy_amount)'),
|
|
23
23
|
buy_currency: z.string().describe('Currency to buy e.g. BTC'),
|
|
@@ -37,7 +37,7 @@ export function registerFlashSwapTools(server) {
|
|
|
37
37
|
return errorContent(e);
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
|
-
server.tool('
|
|
40
|
+
server.tool('cex_flash_swap_create_flash_swap_order', 'Execute a flash swap order (requires authentication) — always confirm the swap details with the user before calling this tool', {
|
|
41
41
|
preview_id: z.string().describe('Preview ID from preview_flash_swap_order'),
|
|
42
42
|
sell_currency: z.string().describe('Currency to sell'),
|
|
43
43
|
sell_amount: z.string().describe('Amount to sell'),
|
|
@@ -60,7 +60,7 @@ export function registerFlashSwapTools(server) {
|
|
|
60
60
|
return errorContent(e);
|
|
61
61
|
}
|
|
62
62
|
});
|
|
63
|
-
server.tool('
|
|
63
|
+
server.tool('cex_flash_swap_list_flash_swap_orders', 'List flash swap order history (requires authentication)', {
|
|
64
64
|
status: z.number().int().optional().describe('Order status: 1=success, 2=failed'),
|
|
65
65
|
sell_currency: z.string().optional(),
|
|
66
66
|
buy_currency: z.string().optional(),
|
|
@@ -87,7 +87,7 @@ export function registerFlashSwapTools(server) {
|
|
|
87
87
|
return errorContent(e);
|
|
88
88
|
}
|
|
89
89
|
});
|
|
90
|
-
server.tool('
|
|
90
|
+
server.tool('cex_flash_swap_get_flash_swap_order', 'Get details of a flash swap order (requires authentication)', { order_id: z.number().int().describe('Order ID') }, async ({ order_id }) => {
|
|
91
91
|
try {
|
|
92
92
|
requireAuth();
|
|
93
93
|
const { body } = await new FlashSwapApi(createClient()).getFlashSwapOrder(order_id);
|