gate-mcp 0.7.0 → 0.8.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/dist/client.d.ts.map +1 -1
- package/dist/client.js +5 -0
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/cross_ex.d.ts +3 -0
- package/dist/tools/cross_ex.d.ts.map +1 -0
- package/dist/tools/cross_ex.js +623 -0
- package/dist/tools/cross_ex.js.map +1 -0
- package/dist/tools/trad_fi.d.ts +3 -0
- package/dist/tools/trad_fi.d.ts.map +1 -0
- package/dist/tools/trad_fi.js +310 -0
- package/dist/tools/trad_fi.js.map +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +3 -1
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAQrC,wBAAgB,YAAY,IAAI,SAAS,CAUxC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,wBAAgB,WAAW,IAAI,IAAI,CAMlC"}
|
package/dist/client.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { ApiClient } from 'gate-api';
|
|
2
|
+
import { createRequire } from 'module';
|
|
2
3
|
const DEFAULT_BASE_URL = 'https://api.gateio.ws';
|
|
4
|
+
const _require = createRequire(import.meta.url);
|
|
5
|
+
const { version } = _require('../package.json');
|
|
6
|
+
const USER_AGENT = `gate-local-mcp/${version}`;
|
|
3
7
|
export function createClient() {
|
|
4
8
|
const baseUrl = process.env.GATE_BASE_URL ?? DEFAULT_BASE_URL;
|
|
5
9
|
const client = new ApiClient(`${baseUrl}/api/v4`);
|
|
10
|
+
client.defaultHeaders = { ...client.defaultHeaders, 'User-Agent': USER_AGENT };
|
|
6
11
|
const key = process.env.GATE_API_KEY;
|
|
7
12
|
const secret = process.env.GATE_API_SECRET;
|
|
8
13
|
if (key && secret) {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AACjD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,iBAAiB,CAAwB,CAAC;AACvE,MAAM,UAAU,GAAG,kBAAkB,OAAO,EAAE,CAAC;AAE/C,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAC;IAC9D,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,OAAO,SAAS,CAAC,CAAC;IAClD,MAAM,CAAC,cAAc,GAAG,EAAE,GAAG,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IAC/E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC3C,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const VALID_MODULES: readonly ["spot", "futures", "delivery", "margin", "wallet", "account", "options", "earn", "flash_swap", "unified", "sub_account", "multi_collateral_loan", "p2p"];
|
|
1
|
+
export declare const VALID_MODULES: readonly ["spot", "futures", "delivery", "margin", "wallet", "account", "options", "earn", "flash_swap", "unified", "sub_account", "multi_collateral_loan", "p2p", "tradfi", "crossex"];
|
|
2
2
|
export type ModuleName = typeof VALID_MODULES[number];
|
|
3
3
|
export interface ServerConfig {
|
|
4
4
|
/** null means all modules */
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,yLAIhB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,WAAW,IAAI,YAAY,CAyC1C"}
|
package/dist/config.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export const VALID_MODULES = [
|
|
2
2
|
'spot', 'futures', 'delivery', 'margin', 'wallet',
|
|
3
3
|
'account', 'options', 'earn', 'flash_swap', 'unified', 'sub_account',
|
|
4
|
-
'multi_collateral_loan', 'p2p',
|
|
4
|
+
'multi_collateral_loan', 'p2p', 'tradfi', 'crossex',
|
|
5
5
|
];
|
|
6
6
|
export function parseConfig() {
|
|
7
7
|
// --- readonly ---
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ;IACjD,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa;IACpE,uBAAuB,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ;IACjD,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa;IACpE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS;CAC3C,CAAC;AAUX,MAAM,UAAU,WAAW;IACzB,mBAAmB;IACnB,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,MAAM,CAAC;IACpD,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,QAAQ,GAAG,IAAI,CAAC;IAEzD,kBAAkB;IAClB,+DAA+D;IAC/D,IAAI,UAAU,GAAuB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAE9D,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IACzE,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACxF,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,gGAAgG,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAc,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAK,aAAmC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,KAAK,CAAC,GAAG,CAAC,IAAkB,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,8BAA8B,IAAI,+BAA+B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC9E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACrC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,6 +16,8 @@ import { registerUnifiedTools } from './tools/unified.js';
|
|
|
16
16
|
import { registerSubAccountTools } from './tools/sub_account.js';
|
|
17
17
|
import { registerMultiCollateralLoanTools } from './tools/multi_collateral_loan.js';
|
|
18
18
|
import { registerP2PTools } from './tools/p2p.js';
|
|
19
|
+
import { registerTradFiTools } from './tools/trad_fi.js';
|
|
20
|
+
import { registerCrossExTools } from './tools/cross_ex.js';
|
|
19
21
|
const config = parseConfig();
|
|
20
22
|
const server = new McpServer({
|
|
21
23
|
name: 'gate',
|
|
@@ -43,6 +45,8 @@ const MODULE_REGISTRY = {
|
|
|
43
45
|
sub_account: registerSubAccountTools,
|
|
44
46
|
multi_collateral_loan: registerMultiCollateralLoanTools,
|
|
45
47
|
p2p: registerP2PTools,
|
|
48
|
+
tradfi: registerTradFiTools,
|
|
49
|
+
crossex: registerCrossExTools,
|
|
46
50
|
};
|
|
47
51
|
const modulesToLoad = config.modules ?? new Set(Object.keys(MODULE_REGISTRY));
|
|
48
52
|
for (const name of modulesToLoad) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross_ex.d.ts","sourceRoot":"","sources":["../../src/tools/cross_ex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuoB5D"}
|
|
@@ -0,0 +1,623 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { CrossExApi } from 'gate-api';
|
|
3
|
+
import { createClient, requireAuth } from '../client.js';
|
|
4
|
+
import { textContent, errorContent } from '../utils.js';
|
|
5
|
+
export function registerCrossExTools(server) {
|
|
6
|
+
// ── Public market data ────────────────────────────────────────────────────
|
|
7
|
+
server.tool('cex_cross_ex_list_crossex_rule_symbols', 'List CrossEx rule symbols (public)', {
|
|
8
|
+
symbols: z.string().optional().describe('Filter by symbol(s), comma-separated'),
|
|
9
|
+
}, async ({ symbols }) => {
|
|
10
|
+
try {
|
|
11
|
+
const opts = {};
|
|
12
|
+
if (symbols !== undefined)
|
|
13
|
+
opts.symbols = symbols;
|
|
14
|
+
const { body } = await new CrossExApi(createClient()).listCrossexRuleSymbols(opts);
|
|
15
|
+
return textContent(body);
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
return errorContent(e);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
server.tool('cex_cross_ex_list_crossex_rule_risk_limits', 'List CrossEx rule risk limits for a symbol (public)', {
|
|
22
|
+
symbols: z.string().describe('Symbol name'),
|
|
23
|
+
}, async ({ symbols }) => {
|
|
24
|
+
try {
|
|
25
|
+
const { body } = await new CrossExApi(createClient()).listCrossexRuleRiskLimits(symbols);
|
|
26
|
+
return textContent(body);
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
return errorContent(e);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
server.tool('cex_cross_ex_list_crossex_transfer_coins', 'List coins available for CrossEx transfer (public)', {
|
|
33
|
+
coin: z.string().optional().describe('Filter by coin symbol'),
|
|
34
|
+
}, async ({ coin }) => {
|
|
35
|
+
try {
|
|
36
|
+
const opts = {};
|
|
37
|
+
if (coin !== undefined)
|
|
38
|
+
opts.coin = coin;
|
|
39
|
+
const { body } = await new CrossExApi(createClient()).listCrossexTransferCoins(opts);
|
|
40
|
+
return textContent(body);
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
return errorContent(e);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
server.tool('cex_cross_ex_get_crossex_fee', 'Get CrossEx trading fee information (public)', {}, async () => {
|
|
47
|
+
try {
|
|
48
|
+
const { body } = await new CrossExApi(createClient()).getCrossexFee();
|
|
49
|
+
return textContent(body);
|
|
50
|
+
}
|
|
51
|
+
catch (e) {
|
|
52
|
+
return errorContent(e);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
server.tool('cex_cross_ex_get_crossex_interest_rate', 'Get CrossEx interest rates (public)', {
|
|
56
|
+
coin: z.string().optional().describe('Filter by coin symbol'),
|
|
57
|
+
exchange_type: z.string().optional().describe('Exchange type filter'),
|
|
58
|
+
}, async ({ coin, exchange_type }) => {
|
|
59
|
+
try {
|
|
60
|
+
const opts = {};
|
|
61
|
+
if (coin !== undefined)
|
|
62
|
+
opts.coin = coin;
|
|
63
|
+
if (exchange_type !== undefined)
|
|
64
|
+
opts.exchangeType = exchange_type;
|
|
65
|
+
const { body } = await new CrossExApi(createClient()).getCrossexInterestRate(opts);
|
|
66
|
+
return textContent(body);
|
|
67
|
+
}
|
|
68
|
+
catch (e) {
|
|
69
|
+
return errorContent(e);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
server.tool('cex_cross_ex_list_crossex_coin_discount_rate', 'List CrossEx coin discount rates (public)', {
|
|
73
|
+
coin: z.string().optional().describe('Filter by coin symbol'),
|
|
74
|
+
exchange_type: z.string().optional().describe('Exchange type filter'),
|
|
75
|
+
}, async ({ coin, exchange_type }) => {
|
|
76
|
+
try {
|
|
77
|
+
const opts = {};
|
|
78
|
+
if (coin !== undefined)
|
|
79
|
+
opts.coin = coin;
|
|
80
|
+
if (exchange_type !== undefined)
|
|
81
|
+
opts.exchangeType = exchange_type;
|
|
82
|
+
const { body } = await new CrossExApi(createClient()).listCrossexCoinDiscountRate(opts);
|
|
83
|
+
return textContent(body);
|
|
84
|
+
}
|
|
85
|
+
catch (e) {
|
|
86
|
+
return errorContent(e);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
// ── Transfers (requires authentication) ──────────────────────────────────
|
|
90
|
+
server.tool('cex_cross_ex_list_crossex_transfers', 'List CrossEx transfer history (requires authentication)', {
|
|
91
|
+
coin: z.string().optional().describe('Filter by coin symbol'),
|
|
92
|
+
order_id: z.string().optional().describe('Filter by order ID'),
|
|
93
|
+
from: z.number().optional().describe('Start time (Unix timestamp in seconds)'),
|
|
94
|
+
to: z.number().optional().describe('End time (Unix timestamp in seconds)'),
|
|
95
|
+
page: z.number().int().min(1).optional(),
|
|
96
|
+
limit: z.number().int().min(1).optional(),
|
|
97
|
+
}, async ({ coin, order_id, from, to, page, limit }) => {
|
|
98
|
+
try {
|
|
99
|
+
requireAuth();
|
|
100
|
+
const opts = {};
|
|
101
|
+
if (coin !== undefined)
|
|
102
|
+
opts.coin = coin;
|
|
103
|
+
if (order_id !== undefined)
|
|
104
|
+
opts.orderId = order_id;
|
|
105
|
+
if (from !== undefined)
|
|
106
|
+
opts.from = from;
|
|
107
|
+
if (to !== undefined)
|
|
108
|
+
opts.to = to;
|
|
109
|
+
if (page !== undefined)
|
|
110
|
+
opts.page = page;
|
|
111
|
+
if (limit !== undefined)
|
|
112
|
+
opts.limit = limit;
|
|
113
|
+
const { body } = await new CrossExApi(createClient()).listCrossexTransfers(opts);
|
|
114
|
+
return textContent(body);
|
|
115
|
+
}
|
|
116
|
+
catch (e) {
|
|
117
|
+
return errorContent(e);
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
server.tool('cex_cross_ex_create_crossex_transfer', 'Create a CrossEx transfer (requires authentication) — always confirm with the user before calling this tool', {
|
|
121
|
+
coin: z.string().describe('Coin symbol e.g. USDT'),
|
|
122
|
+
amount: z.string().describe('Transfer amount'),
|
|
123
|
+
from: z.string().describe('Source account'),
|
|
124
|
+
to: z.string().describe('Destination account'),
|
|
125
|
+
text: z.string().optional().describe('Optional memo'),
|
|
126
|
+
}, async ({ coin, amount, from, to, text }) => {
|
|
127
|
+
try {
|
|
128
|
+
requireAuth();
|
|
129
|
+
const { InlineObject10 } = await import('gate-api');
|
|
130
|
+
const req = new InlineObject10();
|
|
131
|
+
req.coin = coin;
|
|
132
|
+
req.amount = amount;
|
|
133
|
+
req.from = from;
|
|
134
|
+
req.to = to;
|
|
135
|
+
if (text !== undefined)
|
|
136
|
+
req.text = text;
|
|
137
|
+
const { body } = await new CrossExApi(createClient()).createCrossexTransfer({ inlineObject10: req });
|
|
138
|
+
return textContent(body);
|
|
139
|
+
}
|
|
140
|
+
catch (e) {
|
|
141
|
+
return errorContent(e);
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
// ── Orders (requires authentication) ─────────────────────────────────────
|
|
145
|
+
server.tool('cex_cross_ex_list_crossex_open_orders', 'List open CrossEx orders (requires authentication)', {
|
|
146
|
+
symbol: z.string().optional().describe('Filter by symbol'),
|
|
147
|
+
exchange_type: z.string().optional().describe('Exchange type filter'),
|
|
148
|
+
business_type: z.string().optional().describe('Business type filter'),
|
|
149
|
+
}, async ({ symbol, exchange_type, business_type }) => {
|
|
150
|
+
try {
|
|
151
|
+
requireAuth();
|
|
152
|
+
const opts = {};
|
|
153
|
+
if (symbol !== undefined)
|
|
154
|
+
opts.symbol = symbol;
|
|
155
|
+
if (exchange_type !== undefined)
|
|
156
|
+
opts.exchangeType = exchange_type;
|
|
157
|
+
if (business_type !== undefined)
|
|
158
|
+
opts.businessType = business_type;
|
|
159
|
+
const { body } = await new CrossExApi(createClient()).listCrossexOpenOrders(opts);
|
|
160
|
+
return textContent(body);
|
|
161
|
+
}
|
|
162
|
+
catch (e) {
|
|
163
|
+
return errorContent(e);
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
server.tool('cex_cross_ex_create_crossex_order', 'Create a CrossEx order (requires authentication) — always confirm the details with the user before calling this tool', {
|
|
167
|
+
symbol: z.string().describe('Symbol e.g. BTC_USDT'),
|
|
168
|
+
side: z.enum(['BUY', 'SELL']).describe('Order side'),
|
|
169
|
+
type: z.enum(['LIMIT', 'MARKET']).optional().describe('Order type (default LIMIT)'),
|
|
170
|
+
qty: z.string().optional().describe('Order quantity'),
|
|
171
|
+
price: z.string().optional().describe('Order price (required for LIMIT)'),
|
|
172
|
+
quote_qty: z.string().optional().describe('Quote quantity (for market buy by amount)'),
|
|
173
|
+
time_in_force: z.enum(['GTC', 'IOC', 'FOK', 'POC']).optional(),
|
|
174
|
+
reduce_only: z.boolean().optional(),
|
|
175
|
+
position_side: z.enum(['LONG', 'SHORT', 'NONE']).optional(),
|
|
176
|
+
text: z.string().optional().describe('Custom order note'),
|
|
177
|
+
}, async ({ symbol, side, type, qty, price, quote_qty, time_in_force, reduce_only, position_side, text }) => {
|
|
178
|
+
try {
|
|
179
|
+
requireAuth();
|
|
180
|
+
const { InlineObject11 } = await import('gate-api');
|
|
181
|
+
const req = new InlineObject11();
|
|
182
|
+
req.symbol = symbol;
|
|
183
|
+
req.side = side;
|
|
184
|
+
if (type !== undefined)
|
|
185
|
+
req.type = type;
|
|
186
|
+
if (qty !== undefined)
|
|
187
|
+
req.qty = qty;
|
|
188
|
+
if (price !== undefined)
|
|
189
|
+
req.price = price;
|
|
190
|
+
if (quote_qty !== undefined)
|
|
191
|
+
req.quoteQty = quote_qty;
|
|
192
|
+
if (time_in_force !== undefined)
|
|
193
|
+
req.timeInForce = time_in_force;
|
|
194
|
+
if (reduce_only !== undefined)
|
|
195
|
+
req.reduceOnly = (reduce_only ? 'true' : 'false');
|
|
196
|
+
if (position_side !== undefined)
|
|
197
|
+
req.positionSide = position_side;
|
|
198
|
+
if (text !== undefined)
|
|
199
|
+
req.text = text;
|
|
200
|
+
const { body } = await new CrossExApi(createClient()).createCrossexOrder({ inlineObject11: req });
|
|
201
|
+
return textContent(body);
|
|
202
|
+
}
|
|
203
|
+
catch (e) {
|
|
204
|
+
return errorContent(e);
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
server.tool('cex_cross_ex_get_crossex_order', 'Get details of a CrossEx order (requires authentication)', {
|
|
208
|
+
order_id: z.string().describe('Order ID'),
|
|
209
|
+
}, async ({ order_id }) => {
|
|
210
|
+
try {
|
|
211
|
+
requireAuth();
|
|
212
|
+
const { body } = await new CrossExApi(createClient()).getCrossexOrder(order_id);
|
|
213
|
+
return textContent(body);
|
|
214
|
+
}
|
|
215
|
+
catch (e) {
|
|
216
|
+
return errorContent(e);
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
server.tool('cex_cross_ex_update_crossex_order', 'Update an open CrossEx order (requires authentication) — always confirm with the user before calling this tool', {
|
|
220
|
+
order_id: z.string().describe('Order ID'),
|
|
221
|
+
qty: z.string().optional().describe('New quantity'),
|
|
222
|
+
price: z.string().optional().describe('New price'),
|
|
223
|
+
}, async ({ order_id, qty, price }) => {
|
|
224
|
+
try {
|
|
225
|
+
requireAuth();
|
|
226
|
+
const { InlineObject12 } = await import('gate-api');
|
|
227
|
+
const req = new InlineObject12();
|
|
228
|
+
if (qty !== undefined)
|
|
229
|
+
req.qty = qty;
|
|
230
|
+
if (price !== undefined)
|
|
231
|
+
req.price = price;
|
|
232
|
+
const { body } = await new CrossExApi(createClient()).updateCrossexOrder(order_id, { inlineObject12: req });
|
|
233
|
+
return textContent(body);
|
|
234
|
+
}
|
|
235
|
+
catch (e) {
|
|
236
|
+
return errorContent(e);
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
server.tool('cex_cross_ex_cancel_crossex_order', 'Cancel a CrossEx order (requires authentication) — always confirm with the user before calling this tool', {
|
|
240
|
+
order_id: z.string().describe('Order ID'),
|
|
241
|
+
}, async ({ order_id }) => {
|
|
242
|
+
try {
|
|
243
|
+
requireAuth();
|
|
244
|
+
const { body } = await new CrossExApi(createClient()).cancelCrossexOrder(order_id);
|
|
245
|
+
return textContent(body);
|
|
246
|
+
}
|
|
247
|
+
catch (e) {
|
|
248
|
+
return errorContent(e);
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
server.tool('cex_cross_ex_list_crossex_history_orders', 'List CrossEx order history (requires authentication)', {
|
|
252
|
+
symbol: z.string().optional().describe('Filter by symbol'),
|
|
253
|
+
from: z.number().optional().describe('Start time (Unix timestamp in seconds)'),
|
|
254
|
+
to: z.number().optional().describe('End time (Unix timestamp in seconds)'),
|
|
255
|
+
page: z.number().int().min(1).optional(),
|
|
256
|
+
limit: z.number().int().min(1).optional(),
|
|
257
|
+
}, async ({ symbol, from, to, page, limit }) => {
|
|
258
|
+
try {
|
|
259
|
+
requireAuth();
|
|
260
|
+
const opts = {};
|
|
261
|
+
if (symbol !== undefined)
|
|
262
|
+
opts.symbol = symbol;
|
|
263
|
+
if (from !== undefined)
|
|
264
|
+
opts.from = from;
|
|
265
|
+
if (to !== undefined)
|
|
266
|
+
opts.to = to;
|
|
267
|
+
if (page !== undefined)
|
|
268
|
+
opts.page = page;
|
|
269
|
+
if (limit !== undefined)
|
|
270
|
+
opts.limit = limit;
|
|
271
|
+
const { body } = await new CrossExApi(createClient()).listCrossexHistoryOrders(opts);
|
|
272
|
+
return textContent(body);
|
|
273
|
+
}
|
|
274
|
+
catch (e) {
|
|
275
|
+
return errorContent(e);
|
|
276
|
+
}
|
|
277
|
+
});
|
|
278
|
+
server.tool('cex_cross_ex_list_crossex_history_trades', 'List CrossEx trade history (requires authentication)', {
|
|
279
|
+
symbol: z.string().optional().describe('Filter by symbol'),
|
|
280
|
+
from: z.number().optional().describe('Start time (Unix timestamp in seconds)'),
|
|
281
|
+
to: z.number().optional().describe('End time (Unix timestamp in seconds)'),
|
|
282
|
+
page: z.number().int().min(1).optional(),
|
|
283
|
+
limit: z.number().int().min(1).optional(),
|
|
284
|
+
}, async ({ symbol, from, to, page, limit }) => {
|
|
285
|
+
try {
|
|
286
|
+
requireAuth();
|
|
287
|
+
const opts = {};
|
|
288
|
+
if (symbol !== undefined)
|
|
289
|
+
opts.symbol = symbol;
|
|
290
|
+
if (from !== undefined)
|
|
291
|
+
opts.from = from;
|
|
292
|
+
if (to !== undefined)
|
|
293
|
+
opts.to = to;
|
|
294
|
+
if (page !== undefined)
|
|
295
|
+
opts.page = page;
|
|
296
|
+
if (limit !== undefined)
|
|
297
|
+
opts.limit = limit;
|
|
298
|
+
const { body } = await new CrossExApi(createClient()).listCrossexHistoryTrades(opts);
|
|
299
|
+
return textContent(body);
|
|
300
|
+
}
|
|
301
|
+
catch (e) {
|
|
302
|
+
return errorContent(e);
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
// ── Convert (requires authentication) ────────────────────────────────────
|
|
306
|
+
server.tool('cex_cross_ex_create_crossex_convert_quote', 'Get a conversion quote for CrossEx (requires authentication)', {
|
|
307
|
+
exchange_type: z.string().describe('Exchange type'),
|
|
308
|
+
from_coin: z.string().describe('Source coin e.g. BTC'),
|
|
309
|
+
to_coin: z.string().describe('Target coin e.g. USDT'),
|
|
310
|
+
from_amount: z.string().describe('Amount to convert'),
|
|
311
|
+
}, async ({ exchange_type, from_coin, to_coin, from_amount }) => {
|
|
312
|
+
try {
|
|
313
|
+
requireAuth();
|
|
314
|
+
const { InlineObject13 } = await import('gate-api');
|
|
315
|
+
const req = new InlineObject13();
|
|
316
|
+
req.exchangeType = exchange_type;
|
|
317
|
+
req.fromCoin = from_coin;
|
|
318
|
+
req.toCoin = to_coin;
|
|
319
|
+
req.fromAmount = from_amount;
|
|
320
|
+
const { body } = await new CrossExApi(createClient()).createCrossexConvertQuote({ inlineObject13: req });
|
|
321
|
+
return textContent(body);
|
|
322
|
+
}
|
|
323
|
+
catch (e) {
|
|
324
|
+
return errorContent(e);
|
|
325
|
+
}
|
|
326
|
+
});
|
|
327
|
+
server.tool('cex_cross_ex_create_crossex_convert_order', 'Execute a CrossEx conversion order using a quote (requires authentication) — always confirm with the user before calling this tool', {
|
|
328
|
+
quote_id: z.string().describe('Quote ID from create_crossex_convert_quote'),
|
|
329
|
+
}, async ({ quote_id }) => {
|
|
330
|
+
try {
|
|
331
|
+
requireAuth();
|
|
332
|
+
const { InlineObject14 } = await import('gate-api');
|
|
333
|
+
const req = new InlineObject14();
|
|
334
|
+
req.quoteId = quote_id;
|
|
335
|
+
const { body } = await new CrossExApi(createClient()).createCrossexConvertOrder({ inlineObject14: req });
|
|
336
|
+
return textContent(body);
|
|
337
|
+
}
|
|
338
|
+
catch (e) {
|
|
339
|
+
return errorContent(e);
|
|
340
|
+
}
|
|
341
|
+
});
|
|
342
|
+
// ── Account (requires authentication) ────────────────────────────────────
|
|
343
|
+
server.tool('cex_cross_ex_get_crossex_account', 'Get CrossEx account information (requires authentication)', {
|
|
344
|
+
exchange_type: z.string().optional().describe('Exchange type filter'),
|
|
345
|
+
}, async ({ exchange_type }) => {
|
|
346
|
+
try {
|
|
347
|
+
requireAuth();
|
|
348
|
+
const opts = {};
|
|
349
|
+
if (exchange_type !== undefined)
|
|
350
|
+
opts.exchangeType = exchange_type;
|
|
351
|
+
const { body } = await new CrossExApi(createClient()).getCrossexAccount(opts);
|
|
352
|
+
return textContent(body);
|
|
353
|
+
}
|
|
354
|
+
catch (e) {
|
|
355
|
+
return errorContent(e);
|
|
356
|
+
}
|
|
357
|
+
});
|
|
358
|
+
server.tool('cex_cross_ex_update_crossex_account', 'Update CrossEx account settings (requires authentication)', {
|
|
359
|
+
position_mode: z.string().optional().describe('Position mode e.g. hedge or one-way'),
|
|
360
|
+
account_mode: z.string().optional().describe('Account mode'),
|
|
361
|
+
exchange_type: z.string().optional().describe('Exchange type'),
|
|
362
|
+
}, async ({ position_mode, account_mode, exchange_type }) => {
|
|
363
|
+
try {
|
|
364
|
+
requireAuth();
|
|
365
|
+
const { InlineObject15 } = await import('gate-api');
|
|
366
|
+
const req = new InlineObject15();
|
|
367
|
+
if (position_mode !== undefined)
|
|
368
|
+
req.positionMode = position_mode;
|
|
369
|
+
if (account_mode !== undefined)
|
|
370
|
+
req.accountMode = account_mode;
|
|
371
|
+
if (exchange_type !== undefined)
|
|
372
|
+
req.exchangeType = exchange_type;
|
|
373
|
+
const { body } = await new CrossExApi(createClient()).updateCrossexAccount({ inlineObject15: req });
|
|
374
|
+
return textContent(body);
|
|
375
|
+
}
|
|
376
|
+
catch (e) {
|
|
377
|
+
return errorContent(e);
|
|
378
|
+
}
|
|
379
|
+
});
|
|
380
|
+
server.tool('cex_cross_ex_list_crossex_account_book', 'List CrossEx account ledger/book entries (requires authentication)', {
|
|
381
|
+
coin: z.string().optional().describe('Filter by coin symbol'),
|
|
382
|
+
from: z.number().optional().describe('Start time (Unix timestamp in seconds)'),
|
|
383
|
+
to: z.number().optional().describe('End time (Unix timestamp in seconds)'),
|
|
384
|
+
page: z.number().int().min(1).optional(),
|
|
385
|
+
limit: z.number().int().min(1).optional(),
|
|
386
|
+
}, async ({ coin, from, to, page, limit }) => {
|
|
387
|
+
try {
|
|
388
|
+
requireAuth();
|
|
389
|
+
const opts = {};
|
|
390
|
+
if (coin !== undefined)
|
|
391
|
+
opts.coin = coin;
|
|
392
|
+
if (from !== undefined)
|
|
393
|
+
opts.from = from;
|
|
394
|
+
if (to !== undefined)
|
|
395
|
+
opts.to = to;
|
|
396
|
+
if (page !== undefined)
|
|
397
|
+
opts.page = page;
|
|
398
|
+
if (limit !== undefined)
|
|
399
|
+
opts.limit = limit;
|
|
400
|
+
const { body } = await new CrossExApi(createClient()).listCrossexAccountBook(opts);
|
|
401
|
+
return textContent(body);
|
|
402
|
+
}
|
|
403
|
+
catch (e) {
|
|
404
|
+
return errorContent(e);
|
|
405
|
+
}
|
|
406
|
+
});
|
|
407
|
+
// ── Positions (requires authentication) ──────────────────────────────────
|
|
408
|
+
server.tool('cex_cross_ex_list_crossex_positions', 'List open CrossEx positions (requires authentication)', {
|
|
409
|
+
symbol: z.string().optional().describe('Filter by symbol'),
|
|
410
|
+
exchange_type: z.string().optional().describe('Exchange type filter'),
|
|
411
|
+
}, async ({ symbol, exchange_type }) => {
|
|
412
|
+
try {
|
|
413
|
+
requireAuth();
|
|
414
|
+
const opts = {};
|
|
415
|
+
if (symbol !== undefined)
|
|
416
|
+
opts.symbol = symbol;
|
|
417
|
+
if (exchange_type !== undefined)
|
|
418
|
+
opts.exchangeType = exchange_type;
|
|
419
|
+
const { body } = await new CrossExApi(createClient()).listCrossexPositions(opts);
|
|
420
|
+
return textContent(body);
|
|
421
|
+
}
|
|
422
|
+
catch (e) {
|
|
423
|
+
return errorContent(e);
|
|
424
|
+
}
|
|
425
|
+
});
|
|
426
|
+
server.tool('cex_cross_ex_list_crossex_margin_positions', 'List open CrossEx margin positions (requires authentication)', {
|
|
427
|
+
symbol: z.string().optional().describe('Filter by symbol'),
|
|
428
|
+
exchange_type: z.string().optional().describe('Exchange type filter'),
|
|
429
|
+
}, async ({ symbol, exchange_type }) => {
|
|
430
|
+
try {
|
|
431
|
+
requireAuth();
|
|
432
|
+
const opts = {};
|
|
433
|
+
if (symbol !== undefined)
|
|
434
|
+
opts.symbol = symbol;
|
|
435
|
+
if (exchange_type !== undefined)
|
|
436
|
+
opts.exchangeType = exchange_type;
|
|
437
|
+
const { body } = await new CrossExApi(createClient()).listCrossexMarginPositions(opts);
|
|
438
|
+
return textContent(body);
|
|
439
|
+
}
|
|
440
|
+
catch (e) {
|
|
441
|
+
return errorContent(e);
|
|
442
|
+
}
|
|
443
|
+
});
|
|
444
|
+
server.tool('cex_cross_ex_list_crossex_adl_rank', 'List CrossEx auto-deleverage ranks for a symbol (requires authentication)', {
|
|
445
|
+
symbol: z.string().describe('Symbol name'),
|
|
446
|
+
}, async ({ symbol }) => {
|
|
447
|
+
try {
|
|
448
|
+
requireAuth();
|
|
449
|
+
const { body } = await new CrossExApi(createClient()).listCrossexAdlRank(symbol);
|
|
450
|
+
return textContent(body);
|
|
451
|
+
}
|
|
452
|
+
catch (e) {
|
|
453
|
+
return errorContent(e);
|
|
454
|
+
}
|
|
455
|
+
});
|
|
456
|
+
server.tool('cex_cross_ex_get_crossex_positions_leverage', 'Get leverage settings for CrossEx positions (requires authentication)', {
|
|
457
|
+
symbols: z.string().optional().describe('Filter by symbol(s), comma-separated'),
|
|
458
|
+
}, async ({ symbols }) => {
|
|
459
|
+
try {
|
|
460
|
+
requireAuth();
|
|
461
|
+
const opts = {};
|
|
462
|
+
if (symbols !== undefined)
|
|
463
|
+
opts.symbols = symbols;
|
|
464
|
+
const { body } = await new CrossExApi(createClient()).getCrossexPositionsLeverage(opts);
|
|
465
|
+
return textContent(body);
|
|
466
|
+
}
|
|
467
|
+
catch (e) {
|
|
468
|
+
return errorContent(e);
|
|
469
|
+
}
|
|
470
|
+
});
|
|
471
|
+
server.tool('cex_cross_ex_update_crossex_positions_leverage', 'Update leverage for CrossEx positions (requires authentication)', {
|
|
472
|
+
symbol: z.string().describe('Symbol name'),
|
|
473
|
+
leverage: z.string().describe('Leverage value e.g. "10"'),
|
|
474
|
+
}, async ({ symbol, leverage }) => {
|
|
475
|
+
try {
|
|
476
|
+
requireAuth();
|
|
477
|
+
const { InlineObject16 } = await import('gate-api');
|
|
478
|
+
const req = new InlineObject16();
|
|
479
|
+
req.symbol = symbol;
|
|
480
|
+
req.leverage = leverage;
|
|
481
|
+
const { body } = await new CrossExApi(createClient()).updateCrossexPositionsLeverage({ inlineObject16: req });
|
|
482
|
+
return textContent(body);
|
|
483
|
+
}
|
|
484
|
+
catch (e) {
|
|
485
|
+
return errorContent(e);
|
|
486
|
+
}
|
|
487
|
+
});
|
|
488
|
+
server.tool('cex_cross_ex_get_crossex_margin_positions_leverage', 'Get leverage settings for CrossEx margin positions (requires authentication)', {
|
|
489
|
+
symbols: z.string().optional().describe('Filter by symbol(s), comma-separated'),
|
|
490
|
+
}, async ({ symbols }) => {
|
|
491
|
+
try {
|
|
492
|
+
requireAuth();
|
|
493
|
+
const opts = {};
|
|
494
|
+
if (symbols !== undefined)
|
|
495
|
+
opts.symbols = symbols;
|
|
496
|
+
const { body } = await new CrossExApi(createClient()).getCrossexMarginPositionsLeverage(opts);
|
|
497
|
+
return textContent(body);
|
|
498
|
+
}
|
|
499
|
+
catch (e) {
|
|
500
|
+
return errorContent(e);
|
|
501
|
+
}
|
|
502
|
+
});
|
|
503
|
+
server.tool('cex_cross_ex_update_crossex_margin_positions_leverage', 'Update leverage for CrossEx margin positions (requires authentication)', {
|
|
504
|
+
symbol: z.string().describe('Symbol name'),
|
|
505
|
+
leverage: z.string().describe('Leverage value e.g. "10"'),
|
|
506
|
+
}, async ({ symbol, leverage }) => {
|
|
507
|
+
try {
|
|
508
|
+
requireAuth();
|
|
509
|
+
const { InlineObject17 } = await import('gate-api');
|
|
510
|
+
const req = new InlineObject17();
|
|
511
|
+
req.symbol = symbol;
|
|
512
|
+
req.leverage = leverage;
|
|
513
|
+
const { body } = await new CrossExApi(createClient()).updateCrossexMarginPositionsLeverage({ inlineObject17: req });
|
|
514
|
+
return textContent(body);
|
|
515
|
+
}
|
|
516
|
+
catch (e) {
|
|
517
|
+
return errorContent(e);
|
|
518
|
+
}
|
|
519
|
+
});
|
|
520
|
+
server.tool('cex_cross_ex_close_crossex_position', 'Close a CrossEx position (requires authentication) — always confirm with the user before calling this tool', {
|
|
521
|
+
symbol: z.string().describe('Symbol name'),
|
|
522
|
+
position_side: z.string().optional().describe('Position side: LONG, SHORT, or NONE'),
|
|
523
|
+
}, async ({ symbol, position_side }) => {
|
|
524
|
+
try {
|
|
525
|
+
requireAuth();
|
|
526
|
+
const { InlineObject18 } = await import('gate-api');
|
|
527
|
+
const req = new InlineObject18();
|
|
528
|
+
req.symbol = symbol;
|
|
529
|
+
if (position_side !== undefined)
|
|
530
|
+
req.positionSide = position_side;
|
|
531
|
+
const { body } = await new CrossExApi(createClient()).closeCrossexPosition({ inlineObject18: req });
|
|
532
|
+
return textContent(body);
|
|
533
|
+
}
|
|
534
|
+
catch (e) {
|
|
535
|
+
return errorContent(e);
|
|
536
|
+
}
|
|
537
|
+
});
|
|
538
|
+
server.tool('cex_cross_ex_list_crossex_history_positions', 'List CrossEx position history (requires authentication)', {
|
|
539
|
+
symbol: z.string().optional().describe('Filter by symbol'),
|
|
540
|
+
from: z.number().optional().describe('Start time (Unix timestamp in seconds)'),
|
|
541
|
+
to: z.number().optional().describe('End time (Unix timestamp in seconds)'),
|
|
542
|
+
page: z.number().int().min(1).optional(),
|
|
543
|
+
limit: z.number().int().min(1).optional(),
|
|
544
|
+
}, async ({ symbol, from, to, page, limit }) => {
|
|
545
|
+
try {
|
|
546
|
+
requireAuth();
|
|
547
|
+
const opts = {};
|
|
548
|
+
if (symbol !== undefined)
|
|
549
|
+
opts.symbol = symbol;
|
|
550
|
+
if (from !== undefined)
|
|
551
|
+
opts.from = from;
|
|
552
|
+
if (to !== undefined)
|
|
553
|
+
opts.to = to;
|
|
554
|
+
if (page !== undefined)
|
|
555
|
+
opts.page = page;
|
|
556
|
+
if (limit !== undefined)
|
|
557
|
+
opts.limit = limit;
|
|
558
|
+
const { body } = await new CrossExApi(createClient()).listCrossexHistoryPositions(opts);
|
|
559
|
+
return textContent(body);
|
|
560
|
+
}
|
|
561
|
+
catch (e) {
|
|
562
|
+
return errorContent(e);
|
|
563
|
+
}
|
|
564
|
+
});
|
|
565
|
+
server.tool('cex_cross_ex_list_crossex_history_margin_positions', 'List CrossEx margin position history (requires authentication)', {
|
|
566
|
+
symbol: z.string().optional().describe('Filter by symbol'),
|
|
567
|
+
from: z.number().optional().describe('Start time (Unix timestamp in seconds)'),
|
|
568
|
+
to: z.number().optional().describe('End time (Unix timestamp in seconds)'),
|
|
569
|
+
page: z.number().int().min(1).optional(),
|
|
570
|
+
limit: z.number().int().min(1).optional(),
|
|
571
|
+
}, async ({ symbol, from, to, page, limit }) => {
|
|
572
|
+
try {
|
|
573
|
+
requireAuth();
|
|
574
|
+
const opts = {};
|
|
575
|
+
if (symbol !== undefined)
|
|
576
|
+
opts.symbol = symbol;
|
|
577
|
+
if (from !== undefined)
|
|
578
|
+
opts.from = from;
|
|
579
|
+
if (to !== undefined)
|
|
580
|
+
opts.to = to;
|
|
581
|
+
if (page !== undefined)
|
|
582
|
+
opts.page = page;
|
|
583
|
+
if (limit !== undefined)
|
|
584
|
+
opts.limit = limit;
|
|
585
|
+
const { body } = await new CrossExApi(createClient()).listCrossexHistoryMarginPositions(opts);
|
|
586
|
+
return textContent(body);
|
|
587
|
+
}
|
|
588
|
+
catch (e) {
|
|
589
|
+
return errorContent(e);
|
|
590
|
+
}
|
|
591
|
+
});
|
|
592
|
+
server.tool('cex_cross_ex_list_crossex_history_margin_interests', 'List CrossEx margin interest history (requires authentication)', {
|
|
593
|
+
symbol: z.string().optional().describe('Filter by symbol'),
|
|
594
|
+
exchange_type: z.string().optional().describe('Exchange type filter'),
|
|
595
|
+
from: z.number().optional().describe('Start time (Unix timestamp in seconds)'),
|
|
596
|
+
to: z.number().optional().describe('End time (Unix timestamp in seconds)'),
|
|
597
|
+
page: z.number().int().min(1).optional(),
|
|
598
|
+
limit: z.number().int().min(1).optional(),
|
|
599
|
+
}, async ({ symbol, exchange_type, from, to, page, limit }) => {
|
|
600
|
+
try {
|
|
601
|
+
requireAuth();
|
|
602
|
+
const opts = {};
|
|
603
|
+
if (symbol !== undefined)
|
|
604
|
+
opts.symbol = symbol;
|
|
605
|
+
if (exchange_type !== undefined)
|
|
606
|
+
opts.exchangeType = exchange_type;
|
|
607
|
+
if (from !== undefined)
|
|
608
|
+
opts.from = from;
|
|
609
|
+
if (to !== undefined)
|
|
610
|
+
opts.to = to;
|
|
611
|
+
if (page !== undefined)
|
|
612
|
+
opts.page = page;
|
|
613
|
+
if (limit !== undefined)
|
|
614
|
+
opts.limit = limit;
|
|
615
|
+
const { body } = await new CrossExApi(createClient()).listCrossexHistoryMarginInterests(opts);
|
|
616
|
+
return textContent(body);
|
|
617
|
+
}
|
|
618
|
+
catch (e) {
|
|
619
|
+
return errorContent(e);
|
|
620
|
+
}
|
|
621
|
+
});
|
|
622
|
+
}
|
|
623
|
+
//# sourceMappingURL=cross_ex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross_ex.js","sourceRoot":"","sources":["../../src/tools/cross_ex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trad_fi.d.ts","sourceRoot":"","sources":["../../src/tools/trad_fi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmV3D"}
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { TradFiApi } from 'gate-api';
|
|
3
|
+
import { createClient, requireAuth } from '../client.js';
|
|
4
|
+
import { textContent, errorContent } from '../utils.js';
|
|
5
|
+
export function registerTradFiTools(server) {
|
|
6
|
+
// ── Market data (public) ──────────────────────────────────────────────────
|
|
7
|
+
server.tool('cex_trad_fi_query_categories', 'List all TradFi instrument categories', {}, async () => {
|
|
8
|
+
try {
|
|
9
|
+
const { body } = await new TradFiApi(createClient()).queryCategories();
|
|
10
|
+
return textContent(body);
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
return errorContent(e);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
server.tool('cex_trad_fi_query_symbols', 'List all available TradFi trading symbols', {}, async () => {
|
|
17
|
+
try {
|
|
18
|
+
const { body } = await new TradFiApi(createClient()).querySymbols();
|
|
19
|
+
return textContent(body);
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
return errorContent(e);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
server.tool('cex_trad_fi_query_symbol_detail', 'Get contract/instrument details for a TradFi symbol', {
|
|
26
|
+
symbols: z.string().describe('Symbol name e.g. AAPL'),
|
|
27
|
+
}, async ({ symbols }) => {
|
|
28
|
+
try {
|
|
29
|
+
const { body } = await new TradFiApi(createClient()).querySymbolDetail(symbols);
|
|
30
|
+
return textContent(body);
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
return errorContent(e);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
server.tool('cex_trad_fi_query_symbol_kline', 'Get kline/OHLCV data for a TradFi symbol', {
|
|
37
|
+
symbol: z.string().describe('Symbol name e.g. AAPL'),
|
|
38
|
+
kline_type: z.enum(['1m', '15m', '1h', '4h', '1d', '7d', '30d']).describe('Kline interval'),
|
|
39
|
+
begin_time: z.number().optional().describe('Start time (Unix timestamp in seconds)'),
|
|
40
|
+
end_time: z.number().optional().describe('End time (Unix timestamp in seconds)'),
|
|
41
|
+
limit: z.number().int().optional().describe('Number of data points'),
|
|
42
|
+
}, async ({ symbol, kline_type, begin_time, end_time, limit }) => {
|
|
43
|
+
try {
|
|
44
|
+
const opts = {};
|
|
45
|
+
if (begin_time !== undefined)
|
|
46
|
+
opts.beginTime = begin_time;
|
|
47
|
+
if (end_time !== undefined)
|
|
48
|
+
opts.endTime = end_time;
|
|
49
|
+
if (limit !== undefined)
|
|
50
|
+
opts.limit = limit;
|
|
51
|
+
const { body } = await new TradFiApi(createClient()).querySymbolKline(symbol, kline_type, opts);
|
|
52
|
+
return textContent(body);
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
return errorContent(e);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
server.tool('cex_trad_fi_query_symbol_ticker', 'Get latest ticker for a TradFi symbol', {
|
|
59
|
+
symbol: z.string().describe('Symbol name e.g. AAPL'),
|
|
60
|
+
}, async ({ symbol }) => {
|
|
61
|
+
try {
|
|
62
|
+
const { body } = await new TradFiApi(createClient()).querySymbolTicker(symbol);
|
|
63
|
+
return textContent(body);
|
|
64
|
+
}
|
|
65
|
+
catch (e) {
|
|
66
|
+
return errorContent(e);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
// ── Account (requires authentication) ────────────────────────────────────
|
|
70
|
+
server.tool('cex_trad_fi_query_mt5_account_info', 'Get MT5 account information (requires authentication)', {}, async () => {
|
|
71
|
+
try {
|
|
72
|
+
requireAuth();
|
|
73
|
+
const { body } = await new TradFiApi(createClient()).queryMt5AccountInfo();
|
|
74
|
+
return textContent(body);
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
77
|
+
return errorContent(e);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
server.tool('cex_trad_fi_query_user_assets', 'Get TradFi account asset balances (requires authentication)', {}, async () => {
|
|
81
|
+
try {
|
|
82
|
+
requireAuth();
|
|
83
|
+
const { body } = await new TradFiApi(createClient()).queryUserAssets();
|
|
84
|
+
return textContent(body);
|
|
85
|
+
}
|
|
86
|
+
catch (e) {
|
|
87
|
+
return errorContent(e);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
// ── Transactions ──────────────────────────────────────────────────────────
|
|
91
|
+
server.tool('cex_trad_fi_query_transaction', 'List TradFi account transaction history (requires authentication)', {
|
|
92
|
+
begin_time: z.number().optional().describe('Start time (Unix timestamp in seconds)'),
|
|
93
|
+
end_time: z.number().optional().describe('End time (Unix timestamp in seconds)'),
|
|
94
|
+
type: z.enum(['deposit', 'withdraw', 'dividend', 'fill_negative']).optional().describe('Transaction type filter'),
|
|
95
|
+
page: z.number().int().min(1).optional(),
|
|
96
|
+
page_size: z.number().int().min(1).optional(),
|
|
97
|
+
}, async ({ begin_time, end_time, type, page, page_size }) => {
|
|
98
|
+
try {
|
|
99
|
+
requireAuth();
|
|
100
|
+
const opts = {};
|
|
101
|
+
if (begin_time !== undefined)
|
|
102
|
+
opts.beginTime = begin_time;
|
|
103
|
+
if (end_time !== undefined)
|
|
104
|
+
opts.endTime = end_time;
|
|
105
|
+
if (type !== undefined)
|
|
106
|
+
opts.type = type;
|
|
107
|
+
if (page !== undefined)
|
|
108
|
+
opts.page = page;
|
|
109
|
+
if (page_size !== undefined)
|
|
110
|
+
opts.pageSize = page_size;
|
|
111
|
+
const { body } = await new TradFiApi(createClient()).queryTransaction(opts);
|
|
112
|
+
return textContent(body);
|
|
113
|
+
}
|
|
114
|
+
catch (e) {
|
|
115
|
+
return errorContent(e);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
server.tool('cex_trad_fi_create_transaction', 'Create a TradFi deposit or withdrawal transaction (requires authentication) — always confirm with the user before calling this tool', {
|
|
119
|
+
asset: z.string().describe('Asset symbol e.g. USDT'),
|
|
120
|
+
change: z.string().describe('Amount to transfer'),
|
|
121
|
+
type: z.enum(['deposit', 'withdraw']).describe('Transaction type'),
|
|
122
|
+
}, async ({ asset, change, type }) => {
|
|
123
|
+
try {
|
|
124
|
+
requireAuth();
|
|
125
|
+
const { InlineObject1 } = await import('gate-api');
|
|
126
|
+
const req = new InlineObject1();
|
|
127
|
+
req.asset = asset;
|
|
128
|
+
req.change = change;
|
|
129
|
+
req.type = type;
|
|
130
|
+
const { body } = await new TradFiApi(createClient()).createTransaction(req);
|
|
131
|
+
return textContent(body);
|
|
132
|
+
}
|
|
133
|
+
catch (e) {
|
|
134
|
+
return errorContent(e);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
// ── Orders ────────────────────────────────────────────────────────────────
|
|
138
|
+
server.tool('cex_trad_fi_query_order_list', 'List open TradFi orders (requires authentication)', {}, async () => {
|
|
139
|
+
try {
|
|
140
|
+
requireAuth();
|
|
141
|
+
const { body } = await new TradFiApi(createClient()).queryOrderList();
|
|
142
|
+
return textContent(body);
|
|
143
|
+
}
|
|
144
|
+
catch (e) {
|
|
145
|
+
return errorContent(e);
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
server.tool('cex_trad_fi_create_tradfi_order', 'Create a TradFi order (requires authentication) — always confirm the details with the user before calling this tool', {
|
|
149
|
+
symbol: z.string().describe('Symbol name e.g. AAPL'),
|
|
150
|
+
side: z.number().int().min(1).max(2).describe('Order side: 1=buy, 2=sell'),
|
|
151
|
+
price: z.string().describe('Order price'),
|
|
152
|
+
price_type: z.enum(['trigger', 'market']).describe('Price type: trigger or market'),
|
|
153
|
+
volume: z.string().describe('Order volume'),
|
|
154
|
+
price_tp: z.string().optional().describe('Take-profit price'),
|
|
155
|
+
price_sl: z.string().optional().describe('Stop-loss price'),
|
|
156
|
+
}, async ({ symbol, side, price, price_type, volume, price_tp, price_sl }) => {
|
|
157
|
+
try {
|
|
158
|
+
requireAuth();
|
|
159
|
+
const { InlineObject2 } = await import('gate-api');
|
|
160
|
+
const req = new InlineObject2();
|
|
161
|
+
req.symbol = symbol;
|
|
162
|
+
req.side = side;
|
|
163
|
+
req.price = price;
|
|
164
|
+
req.priceType = price_type;
|
|
165
|
+
req.volume = volume;
|
|
166
|
+
if (price_tp !== undefined)
|
|
167
|
+
req.priceTp = price_tp;
|
|
168
|
+
if (price_sl !== undefined)
|
|
169
|
+
req.priceSl = price_sl;
|
|
170
|
+
const { body } = await new TradFiApi(createClient()).createTradFiOrder(req);
|
|
171
|
+
return textContent(body);
|
|
172
|
+
}
|
|
173
|
+
catch (e) {
|
|
174
|
+
return errorContent(e);
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
server.tool('cex_trad_fi_update_order', 'Update an open TradFi order (requires authentication) — always confirm the new values with the user before calling this tool', {
|
|
178
|
+
order_id: z.number().int().describe('Order ID'),
|
|
179
|
+
price: z.string().describe('New order price'),
|
|
180
|
+
price_tp: z.string().nullable().optional().describe('New take-profit price (null to remove)'),
|
|
181
|
+
price_sl: z.string().nullable().optional().describe('New stop-loss price (null to remove)'),
|
|
182
|
+
}, async ({ order_id, price, price_tp, price_sl }) => {
|
|
183
|
+
try {
|
|
184
|
+
requireAuth();
|
|
185
|
+
const { InlineObject3 } = await import('gate-api');
|
|
186
|
+
const req = new InlineObject3();
|
|
187
|
+
req.price = price;
|
|
188
|
+
if (price_tp !== undefined)
|
|
189
|
+
req.priceTp = price_tp;
|
|
190
|
+
if (price_sl !== undefined)
|
|
191
|
+
req.priceSl = price_sl;
|
|
192
|
+
const { body } = await new TradFiApi(createClient()).updateOrder(order_id, req);
|
|
193
|
+
return textContent(body);
|
|
194
|
+
}
|
|
195
|
+
catch (e) {
|
|
196
|
+
return errorContent(e);
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
server.tool('cex_trad_fi_delete_order', 'Cancel/delete an open TradFi order (requires authentication) — always confirm with the user before calling this tool', {
|
|
200
|
+
order_id: z.number().int().describe('Order ID'),
|
|
201
|
+
}, async ({ order_id }) => {
|
|
202
|
+
try {
|
|
203
|
+
requireAuth();
|
|
204
|
+
const { body } = await new TradFiApi(createClient()).deleteOrder(order_id);
|
|
205
|
+
return textContent(body);
|
|
206
|
+
}
|
|
207
|
+
catch (e) {
|
|
208
|
+
return errorContent(e);
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
server.tool('cex_trad_fi_query_order_history_list', 'List TradFi order history (requires authentication)', {
|
|
212
|
+
begin_time: z.number().optional().describe('Start time (Unix timestamp in seconds)'),
|
|
213
|
+
end_time: z.number().optional().describe('End time (Unix timestamp in seconds)'),
|
|
214
|
+
symbol: z.string().optional().describe('Filter by symbol'),
|
|
215
|
+
side: z.number().int().min(1).max(2).optional().describe('Filter by side: 1=buy, 2=sell'),
|
|
216
|
+
}, async ({ begin_time, end_time, symbol, side }) => {
|
|
217
|
+
try {
|
|
218
|
+
requireAuth();
|
|
219
|
+
const opts = {};
|
|
220
|
+
if (begin_time !== undefined)
|
|
221
|
+
opts.beginTime = begin_time;
|
|
222
|
+
if (end_time !== undefined)
|
|
223
|
+
opts.endTime = end_time;
|
|
224
|
+
if (symbol !== undefined)
|
|
225
|
+
opts.symbol = symbol;
|
|
226
|
+
if (side !== undefined)
|
|
227
|
+
opts.side = side;
|
|
228
|
+
const { body } = await new TradFiApi(createClient()).queryOrderHistoryList(opts);
|
|
229
|
+
return textContent(body);
|
|
230
|
+
}
|
|
231
|
+
catch (e) {
|
|
232
|
+
return errorContent(e);
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
// ── Positions ─────────────────────────────────────────────────────────────
|
|
236
|
+
server.tool('cex_trad_fi_query_position_list', 'List open TradFi positions (requires authentication)', {}, async () => {
|
|
237
|
+
try {
|
|
238
|
+
requireAuth();
|
|
239
|
+
const { body } = await new TradFiApi(createClient()).queryPositionList();
|
|
240
|
+
return textContent(body);
|
|
241
|
+
}
|
|
242
|
+
catch (e) {
|
|
243
|
+
return errorContent(e);
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
server.tool('cex_trad_fi_update_position', 'Update take-profit or stop-loss for a TradFi position (requires authentication) — always confirm with the user before calling this tool', {
|
|
247
|
+
position_id: z.number().int().describe('Position ID'),
|
|
248
|
+
price_tp: z.string().nullable().optional().describe('New take-profit price (null to remove)'),
|
|
249
|
+
price_sl: z.string().nullable().optional().describe('New stop-loss price (null to remove)'),
|
|
250
|
+
}, async ({ position_id, price_tp, price_sl }) => {
|
|
251
|
+
try {
|
|
252
|
+
requireAuth();
|
|
253
|
+
const { InlineObject4 } = await import('gate-api');
|
|
254
|
+
const req = new InlineObject4();
|
|
255
|
+
if (price_tp !== undefined)
|
|
256
|
+
req.priceTp = price_tp;
|
|
257
|
+
if (price_sl !== undefined)
|
|
258
|
+
req.priceSl = price_sl;
|
|
259
|
+
const { body } = await new TradFiApi(createClient()).updatePosition(position_id, req);
|
|
260
|
+
return textContent(body);
|
|
261
|
+
}
|
|
262
|
+
catch (e) {
|
|
263
|
+
return errorContent(e);
|
|
264
|
+
}
|
|
265
|
+
});
|
|
266
|
+
server.tool('cex_trad_fi_close_position', 'Close a TradFi position (requires authentication) — always confirm with the user before calling this tool', {
|
|
267
|
+
position_id: z.number().int().describe('Position ID'),
|
|
268
|
+
close_type: z.number().int().min(1).max(2).describe('Close type: 1=market close, 2=limit close'),
|
|
269
|
+
close_volume: z.string().nullable().optional().describe('Volume to close (null for full close)'),
|
|
270
|
+
}, async ({ position_id, close_type, close_volume }) => {
|
|
271
|
+
try {
|
|
272
|
+
requireAuth();
|
|
273
|
+
const { InlineObject5 } = await import('gate-api');
|
|
274
|
+
const req = new InlineObject5();
|
|
275
|
+
req.closeType = close_type;
|
|
276
|
+
if (close_volume !== undefined)
|
|
277
|
+
req.closeVolume = close_volume;
|
|
278
|
+
const { body } = await new TradFiApi(createClient()).closePosition(position_id, req);
|
|
279
|
+
return textContent(body);
|
|
280
|
+
}
|
|
281
|
+
catch (e) {
|
|
282
|
+
return errorContent(e);
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
server.tool('cex_trad_fi_query_position_history_list', 'List TradFi position history (requires authentication)', {
|
|
286
|
+
begin_time: z.number().optional().describe('Start time (Unix timestamp in seconds)'),
|
|
287
|
+
end_time: z.number().optional().describe('End time (Unix timestamp in seconds)'),
|
|
288
|
+
symbol: z.string().optional().describe('Filter by symbol'),
|
|
289
|
+
position_dir: z.enum(['Long', 'Short']).optional().describe('Filter by position direction'),
|
|
290
|
+
}, async ({ begin_time, end_time, symbol, position_dir }) => {
|
|
291
|
+
try {
|
|
292
|
+
requireAuth();
|
|
293
|
+
const opts = {};
|
|
294
|
+
if (begin_time !== undefined)
|
|
295
|
+
opts.beginTime = begin_time;
|
|
296
|
+
if (end_time !== undefined)
|
|
297
|
+
opts.endTime = end_time;
|
|
298
|
+
if (symbol !== undefined)
|
|
299
|
+
opts.symbol = symbol;
|
|
300
|
+
if (position_dir !== undefined)
|
|
301
|
+
opts.positionDir = position_dir;
|
|
302
|
+
const { body } = await new TradFiApi(createClient()).queryPositionHistoryList(opts);
|
|
303
|
+
return textContent(body);
|
|
304
|
+
}
|
|
305
|
+
catch (e) {
|
|
306
|
+
return errorContent(e);
|
|
307
|
+
}
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
//# sourceMappingURL=trad_fi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trad_fi.js","sourceRoot":"","sources":["../../src/tools/trad_fi.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CASrD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO;;;;;EAEzC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO;;;;;;EAGxC;AASD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD"}
|
package/dist/utils.js
CHANGED
|
@@ -10,6 +10,8 @@ export const NAME_ABBREVIATIONS = {
|
|
|
10
10
|
dual_comp: 'dual',
|
|
11
11
|
flash_swap: 'fc',
|
|
12
12
|
multi_collateral_loan: 'mcl',
|
|
13
|
+
trad_fi: 'tradfi',
|
|
14
|
+
cross_ex: 'crossex',
|
|
13
15
|
};
|
|
14
16
|
/**
|
|
15
17
|
* Apply NAME_ABBREVIATIONS to a tool name, replacing every occurrence of each
|
|
@@ -41,7 +43,7 @@ const WRITE_VERBS = new Set([
|
|
|
41
43
|
'create', 'cancel', 'amend', 'update', 'set',
|
|
42
44
|
'delete', 'lock', 'unlock', 'add', 'countdown',
|
|
43
45
|
'swap', 'place', 'change', 'stop', 'repay', 'operate',
|
|
44
|
-
'confirm', 'send', 'upload',
|
|
46
|
+
'confirm', 'send', 'upload', 'close',
|
|
45
47
|
]);
|
|
46
48
|
/**
|
|
47
49
|
* Returns true if the tool name refers to a state-mutating (write) operation.
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,OAAO,EAAgB,IAAI;IAC3B,WAAW,EAAY,IAAI;IAC3B,SAAS,EAAc,MAAM;IAC7B,SAAS,EAAc,MAAM;IAC7B,UAAU,EAAa,IAAI;IAC3B,qBAAqB,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,OAAO,EAAgB,IAAI;IAC3B,WAAW,EAAY,IAAI;IAC3B,SAAS,EAAc,MAAM;IAC7B,SAAS,EAAc,MAAM;IAC7B,UAAU,EAAa,IAAI;IAC3B,qBAAqB,EAAE,KAAK;IAC5B,OAAO,EAAgB,QAAQ;IAC/B,QAAQ,EAAe,SAAS;CACjC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAC/C,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC5F,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK;IAC5C,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW;IAC9C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;IACrD,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;CACrC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC"}
|
package/package.json
CHANGED