clodds 1.1.0 → 1.2.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 +79 -47
- package/dist/agents/handlers/kalshi.d.ts +1 -2
- package/dist/agents/handlers/kalshi.js +369 -616
- package/dist/agents/handlers/kalshi.js.map +1 -1
- package/dist/agents/handlers/types.d.ts +1 -1
- package/dist/agents/index.d.ts +1 -1
- package/dist/agents/index.js +435 -710
- package/dist/agents/index.js.map +1 -1
- package/dist/bittensor/index.d.ts +3 -2
- package/dist/bittensor/index.js +44 -5
- package/dist/bittensor/index.js.map +1 -1
- package/dist/cli/commands/gateway.js +37 -2
- package/dist/cli/commands/gateway.js.map +1 -1
- package/dist/cli/commands/index.js +3 -2
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/index.js +6 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cron/index.d.ts +1 -1
- package/dist/cron/index.js +26 -34
- package/dist/cron/index.js.map +1 -1
- package/dist/db/index.d.ts +12 -0
- package/dist/db/index.js +51 -23
- package/dist/db/index.js.map +1 -1
- package/dist/db/migrations.js +36 -0
- package/dist/db/migrations.js.map +1 -1
- package/dist/evm/index.d.ts +1 -0
- package/dist/evm/index.js +2 -0
- package/dist/evm/index.js.map +1 -1
- package/dist/evm/pancakeswap.d.ts +55 -0
- package/dist/evm/pancakeswap.js +299 -0
- package/dist/evm/pancakeswap.js.map +1 -0
- package/dist/exchanges/lighter/index.d.ts +95 -0
- package/dist/exchanges/lighter/index.js +154 -0
- package/dist/exchanges/lighter/index.js.map +1 -0
- package/dist/gateway/server.d.ts +9 -0
- package/dist/gateway/server.js +208 -1
- package/dist/gateway/server.js.map +1 -1
- package/dist/gateway/signal-bus.d.ts +2 -43
- package/dist/gateway/signal-bus.js.map +1 -1
- package/dist/index.js +40 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp/security.d.ts +44 -0
- package/dist/mcp/security.js +143 -0
- package/dist/mcp/security.js.map +1 -0
- package/dist/mcp/server.js +27 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/services/alt-data/index.d.ts +1 -1
- package/dist/sessions/index.js +66 -7
- package/dist/sessions/index.js.map +1 -1
- package/dist/signal-router/router.d.ts +1 -1
- package/dist/signal-router/types.d.ts +1 -1
- package/dist/skills/bundled/arbitrage/index.js +96 -63
- package/dist/skills/bundled/arbitrage/index.js.map +1 -1
- package/dist/skills/bundled/betfair/index.js +121 -83
- package/dist/skills/bundled/betfair/index.js.map +1 -1
- package/dist/skills/bundled/bridge/index.js +42 -13
- package/dist/skills/bundled/bridge/index.js.map +1 -1
- package/dist/skills/bundled/crypto-hft/index.js +267 -226
- package/dist/skills/bundled/crypto-hft/index.js.map +1 -1
- package/dist/skills/bundled/drift/index.js +83 -52
- package/dist/skills/bundled/drift/index.js.map +1 -1
- package/dist/skills/bundled/embeddings/index.js +87 -49
- package/dist/skills/bundled/embeddings/index.js.map +1 -1
- package/dist/skills/bundled/execution/index.js +47 -25
- package/dist/skills/bundled/execution/index.js.map +1 -1
- package/dist/skills/bundled/feeds/index.js +45 -25
- package/dist/skills/bundled/feeds/index.js.map +1 -1
- package/dist/skills/bundled/hyperliquid/index.js +91 -45
- package/dist/skills/bundled/hyperliquid/index.js.map +1 -1
- package/dist/skills/bundled/integrations/index.js +2 -1
- package/dist/skills/bundled/integrations/index.js.map +1 -1
- package/dist/skills/bundled/kamino/index.js +71 -43
- package/dist/skills/bundled/kamino/index.js.map +1 -1
- package/dist/skills/bundled/lighter/index.d.ts +19 -0
- package/dist/skills/bundled/lighter/index.js +385 -0
- package/dist/skills/bundled/lighter/index.js.map +1 -0
- package/dist/skills/bundled/marginfi/index.d.ts +21 -0
- package/dist/skills/bundled/marginfi/index.js +387 -0
- package/dist/skills/bundled/marginfi/index.js.map +1 -0
- package/dist/skills/bundled/opinion/index.js +44 -25
- package/dist/skills/bundled/opinion/index.js.map +1 -1
- package/dist/skills/bundled/pancakeswap/index.d.ts +19 -0
- package/dist/skills/bundled/pancakeswap/index.js +260 -0
- package/dist/skills/bundled/pancakeswap/index.js.map +1 -0
- package/dist/skills/bundled/setup/index.d.ts +16 -0
- package/dist/skills/bundled/setup/index.js +427 -0
- package/dist/skills/bundled/setup/index.js.map +1 -0
- package/dist/skills/bundled/solend/index.d.ts +22 -0
- package/dist/skills/bundled/solend/index.js +401 -0
- package/dist/skills/bundled/solend/index.js.map +1 -0
- package/dist/skills/bundled/trading-evm/index.js +42 -11
- package/dist/skills/bundled/trading-evm/index.js.map +1 -1
- package/dist/skills/errors.d.ts +20 -0
- package/dist/skills/errors.js +84 -0
- package/dist/skills/errors.js.map +1 -0
- package/dist/skills/executor.d.ts +1 -1
- package/dist/skills/executor.js +515 -41
- package/dist/skills/executor.js.map +1 -1
- package/dist/skills/help.d.ts +33 -0
- package/dist/skills/help.js +73 -0
- package/dist/skills/help.js.map +1 -0
- package/dist/solana/marginfi.d.ts +112 -0
- package/dist/solana/marginfi.js +340 -0
- package/dist/solana/marginfi.js.map +1 -0
- package/dist/solana/solend.d.ts +120 -0
- package/dist/solana/solend.js +261 -0
- package/dist/solana/solend.js.map +1 -0
- package/dist/trading/bridge.d.ts +1 -1
- package/dist/trading/position-bridge.d.ts +1 -1
- package/dist/types/signal-bus.d.ts +48 -0
- package/dist/types/signal-bus.js +9 -0
- package/dist/types/signal-bus.js.map +1 -0
- package/dist/types.d.ts +17 -0
- package/dist/utils/json-utils.d.ts +8 -8
- package/package.json +8 -6
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Lighter Skill
|
|
4
|
+
*
|
|
5
|
+
* CLI commands for the Lighter orderbook DEX on Arbitrum.
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.skill = void 0;
|
|
42
|
+
const ethers_1 = require("ethers");
|
|
43
|
+
const lighter = __importStar(require("../../../exchanges/lighter/index.js"));
|
|
44
|
+
const help_js_1 = require("../../help.js");
|
|
45
|
+
const errors_js_1 = require("../../errors.js");
|
|
46
|
+
const logger_js_1 = require("../../../utils/logger.js");
|
|
47
|
+
// =============================================================================
|
|
48
|
+
// HELPERS
|
|
49
|
+
// =============================================================================
|
|
50
|
+
function formatNumber(n, decimals = 2) {
|
|
51
|
+
if (Math.abs(n) >= 1e9)
|
|
52
|
+
return (n / 1e9).toFixed(decimals) + 'B';
|
|
53
|
+
if (Math.abs(n) >= 1e6)
|
|
54
|
+
return (n / 1e6).toFixed(decimals) + 'M';
|
|
55
|
+
if (Math.abs(n) >= 1e3)
|
|
56
|
+
return (n / 1e3).toFixed(decimals) + 'K';
|
|
57
|
+
return n.toFixed(decimals);
|
|
58
|
+
}
|
|
59
|
+
function getConfig() {
|
|
60
|
+
const privateKey = process.env.EVM_PRIVATE_KEY;
|
|
61
|
+
if (!privateKey)
|
|
62
|
+
return null;
|
|
63
|
+
const wallet = new ethers_1.Wallet(privateKey);
|
|
64
|
+
return {
|
|
65
|
+
walletAddress: wallet.address,
|
|
66
|
+
privateKey,
|
|
67
|
+
apiKey: process.env.LIGHTER_API_KEY,
|
|
68
|
+
dryRun: process.env.DRY_RUN === 'true',
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
// =============================================================================
|
|
72
|
+
// HANDLERS
|
|
73
|
+
// =============================================================================
|
|
74
|
+
async function handleMarkets() {
|
|
75
|
+
const markets = await lighter.getMarkets();
|
|
76
|
+
if (markets.length === 0) {
|
|
77
|
+
return 'No markets available';
|
|
78
|
+
}
|
|
79
|
+
const lines = ['**Lighter Markets**', ''];
|
|
80
|
+
for (const m of markets) {
|
|
81
|
+
lines.push(` ${m.name} — ${m.baseToken}/${m.quoteToken} (min: ${m.minOrderSize})`);
|
|
82
|
+
}
|
|
83
|
+
return lines.join('\n');
|
|
84
|
+
}
|
|
85
|
+
async function handlePrice(market) {
|
|
86
|
+
if (!market)
|
|
87
|
+
return 'Usage: /lighter price <market>';
|
|
88
|
+
const price = await lighter.getPrice(market);
|
|
89
|
+
return [
|
|
90
|
+
`**${market}**`,
|
|
91
|
+
`Bid: $${price.bid.toFixed(2)}`,
|
|
92
|
+
`Ask: $${price.ask.toFixed(2)}`,
|
|
93
|
+
`Mid: $${price.mid.toFixed(2)}`,
|
|
94
|
+
`Spread: ${price.bid > 0 ? ((price.ask - price.bid) / price.bid * 100).toFixed(4) : '0'}%`,
|
|
95
|
+
].join('\n');
|
|
96
|
+
}
|
|
97
|
+
async function handleBook(market) {
|
|
98
|
+
if (!market)
|
|
99
|
+
return 'Usage: /lighter book <market>';
|
|
100
|
+
const ob = await lighter.getOrderbook(market);
|
|
101
|
+
const lines = [`**${market} Orderbook**`, '', 'Asks:'];
|
|
102
|
+
for (const ask of ob.asks.slice(0, 5).reverse()) {
|
|
103
|
+
lines.push(` $${ask.price.toFixed(2)} | ${formatNumber(ask.size)}`);
|
|
104
|
+
}
|
|
105
|
+
lines.push('---');
|
|
106
|
+
for (const bid of ob.bids.slice(0, 5)) {
|
|
107
|
+
lines.push(` $${bid.price.toFixed(2)} | ${formatNumber(bid.size)}`);
|
|
108
|
+
}
|
|
109
|
+
return lines.join('\n');
|
|
110
|
+
}
|
|
111
|
+
async function handleBalance() {
|
|
112
|
+
const config = getConfig();
|
|
113
|
+
if (!config)
|
|
114
|
+
return 'Set EVM_PRIVATE_KEY to use Lighter';
|
|
115
|
+
const balances = await lighter.getBalance(config);
|
|
116
|
+
if (balances.length === 0) {
|
|
117
|
+
return 'No balances found';
|
|
118
|
+
}
|
|
119
|
+
const lines = ['**Lighter Balances**', ''];
|
|
120
|
+
for (const b of balances) {
|
|
121
|
+
lines.push(` ${b.token}: ${b.total} (available: ${b.available})`);
|
|
122
|
+
}
|
|
123
|
+
return lines.join('\n');
|
|
124
|
+
}
|
|
125
|
+
async function handlePositions() {
|
|
126
|
+
const config = getConfig();
|
|
127
|
+
if (!config)
|
|
128
|
+
return 'Set EVM_PRIVATE_KEY to use Lighter';
|
|
129
|
+
const positions = await lighter.getPositions(config);
|
|
130
|
+
if (positions.length === 0) {
|
|
131
|
+
return 'No open positions';
|
|
132
|
+
}
|
|
133
|
+
const lines = ['**Lighter Positions**', ''];
|
|
134
|
+
for (const p of positions) {
|
|
135
|
+
const pnl = parseFloat(p.unrealizedPnl);
|
|
136
|
+
const pnlStr = pnl >= 0 ? `+$${formatNumber(pnl)}` : `-$${formatNumber(Math.abs(pnl))}`;
|
|
137
|
+
lines.push(` ${p.market} ${p.side} ${p.size} @ $${p.entryPrice} (${pnlStr})`);
|
|
138
|
+
lines.push(` Mark: $${p.markPrice} | Lev: ${p.leverage}x | Liq: $${p.liquidationPrice}`);
|
|
139
|
+
}
|
|
140
|
+
return lines.join('\n');
|
|
141
|
+
}
|
|
142
|
+
async function handleOrders() {
|
|
143
|
+
const config = getConfig();
|
|
144
|
+
if (!config)
|
|
145
|
+
return 'Set EVM_PRIVATE_KEY to use Lighter';
|
|
146
|
+
const orders = await lighter.getOpenOrders(config);
|
|
147
|
+
if (orders.length === 0) {
|
|
148
|
+
return 'No open orders';
|
|
149
|
+
}
|
|
150
|
+
const lines = ['**Lighter Open Orders**', ''];
|
|
151
|
+
for (const o of orders) {
|
|
152
|
+
lines.push(` ${o.market} ${o.side} ${o.size} @ $${o.price} (filled: ${o.filled})`);
|
|
153
|
+
lines.push(` ID: ${o.orderId}`);
|
|
154
|
+
}
|
|
155
|
+
return lines.join('\n');
|
|
156
|
+
}
|
|
157
|
+
async function handleLong(market, size, price) {
|
|
158
|
+
const config = getConfig();
|
|
159
|
+
if (!config)
|
|
160
|
+
return 'Set EVM_PRIVATE_KEY to use Lighter';
|
|
161
|
+
if (!market || !size) {
|
|
162
|
+
return 'Usage: /lighter long <market> <size> [price]\nExample: /lighter long ETH-USD 1 3000';
|
|
163
|
+
}
|
|
164
|
+
const result = await lighter.placeOrder(config, {
|
|
165
|
+
market,
|
|
166
|
+
side: 'BUY',
|
|
167
|
+
size: parseFloat(size),
|
|
168
|
+
price: price ? parseFloat(price) : undefined,
|
|
169
|
+
type: price ? 'LIMIT' : 'MARKET',
|
|
170
|
+
});
|
|
171
|
+
if (result.success) {
|
|
172
|
+
return `LONG ${market} ${size} ${price ? `@ $${price}` : 'MARKET'} (ID: ${result.orderId})`;
|
|
173
|
+
}
|
|
174
|
+
return `Order failed: ${result.error}`;
|
|
175
|
+
}
|
|
176
|
+
async function handleShort(market, size, price) {
|
|
177
|
+
const config = getConfig();
|
|
178
|
+
if (!config)
|
|
179
|
+
return 'Set EVM_PRIVATE_KEY to use Lighter';
|
|
180
|
+
if (!market || !size) {
|
|
181
|
+
return 'Usage: /lighter short <market> <size> [price]\nExample: /lighter short BTC-USD 0.1 45000';
|
|
182
|
+
}
|
|
183
|
+
const result = await lighter.placeOrder(config, {
|
|
184
|
+
market,
|
|
185
|
+
side: 'SELL',
|
|
186
|
+
size: parseFloat(size),
|
|
187
|
+
price: price ? parseFloat(price) : undefined,
|
|
188
|
+
type: price ? 'LIMIT' : 'MARKET',
|
|
189
|
+
});
|
|
190
|
+
if (result.success) {
|
|
191
|
+
return `SHORT ${market} ${size} ${price ? `@ $${price}` : 'MARKET'} (ID: ${result.orderId})`;
|
|
192
|
+
}
|
|
193
|
+
return `Order failed: ${result.error}`;
|
|
194
|
+
}
|
|
195
|
+
async function handleClose(market) {
|
|
196
|
+
const config = getConfig();
|
|
197
|
+
if (!config)
|
|
198
|
+
return 'Set EVM_PRIVATE_KEY to use Lighter';
|
|
199
|
+
if (!market)
|
|
200
|
+
return 'Usage: /lighter close <market>';
|
|
201
|
+
const positions = await lighter.getPositions(config);
|
|
202
|
+
const pos = positions.find(p => p.market.toLowerCase() === market.toLowerCase());
|
|
203
|
+
if (!pos) {
|
|
204
|
+
return `No open position for ${market}`;
|
|
205
|
+
}
|
|
206
|
+
const size = parseFloat(pos.size);
|
|
207
|
+
const result = await lighter.placeOrder(config, {
|
|
208
|
+
market: pos.market,
|
|
209
|
+
side: pos.side === 'LONG' ? 'SELL' : 'BUY',
|
|
210
|
+
size,
|
|
211
|
+
type: 'MARKET',
|
|
212
|
+
reduceOnly: true,
|
|
213
|
+
});
|
|
214
|
+
if (result.success) {
|
|
215
|
+
const pnl = parseFloat(pos.unrealizedPnl);
|
|
216
|
+
const pnlStr = pnl >= 0 ? `+$${pnl.toFixed(2)}` : `-$${Math.abs(pnl).toFixed(2)}`;
|
|
217
|
+
return `Closed ${pos.market} ${pos.side} ${pos.size} (PnL: ${pnlStr})`;
|
|
218
|
+
}
|
|
219
|
+
return `Close failed: ${result.error}`;
|
|
220
|
+
}
|
|
221
|
+
async function handleCloseAll() {
|
|
222
|
+
const config = getConfig();
|
|
223
|
+
if (!config)
|
|
224
|
+
return 'Set EVM_PRIVATE_KEY to use Lighter';
|
|
225
|
+
const positions = await lighter.getPositions(config);
|
|
226
|
+
if (positions.length === 0) {
|
|
227
|
+
return 'No open positions';
|
|
228
|
+
}
|
|
229
|
+
const results = [];
|
|
230
|
+
let totalPnl = 0;
|
|
231
|
+
for (const pos of positions) {
|
|
232
|
+
const size = parseFloat(pos.size);
|
|
233
|
+
const pnl = parseFloat(pos.unrealizedPnl);
|
|
234
|
+
const result = await lighter.placeOrder(config, {
|
|
235
|
+
market: pos.market,
|
|
236
|
+
side: pos.side === 'LONG' ? 'SELL' : 'BUY',
|
|
237
|
+
size,
|
|
238
|
+
type: 'MARKET',
|
|
239
|
+
reduceOnly: true,
|
|
240
|
+
});
|
|
241
|
+
if (result.success) {
|
|
242
|
+
totalPnl += pnl;
|
|
243
|
+
const pnlStr = pnl >= 0 ? `+$${pnl.toFixed(2)}` : `-$${Math.abs(pnl).toFixed(2)}`;
|
|
244
|
+
results.push(`${pos.market}: closed (${pnlStr})`);
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
results.push(`${pos.market}: ${result.error}`);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
const totalStr = totalPnl >= 0 ? `+$${totalPnl.toFixed(2)}` : `-$${Math.abs(totalPnl).toFixed(2)}`;
|
|
251
|
+
return ['**Closed Positions:**', '', ...results, '', `Total PnL: ${totalStr}`].join('\n');
|
|
252
|
+
}
|
|
253
|
+
async function handleCancel(orderId) {
|
|
254
|
+
const config = getConfig();
|
|
255
|
+
if (!config)
|
|
256
|
+
return 'Set EVM_PRIVATE_KEY to use Lighter';
|
|
257
|
+
if (!orderId)
|
|
258
|
+
return 'Usage: /lighter cancel <orderId>';
|
|
259
|
+
const result = await lighter.cancelOrder(config, orderId);
|
|
260
|
+
return result.success ? `Order ${orderId} cancelled` : `Failed: ${result.error}`;
|
|
261
|
+
}
|
|
262
|
+
async function handleCancelAll() {
|
|
263
|
+
const config = getConfig();
|
|
264
|
+
if (!config)
|
|
265
|
+
return 'Set EVM_PRIVATE_KEY to use Lighter';
|
|
266
|
+
const result = await lighter.cancelAllOrders(config);
|
|
267
|
+
return result.success ? 'All orders cancelled' : `Failed: ${result.error}`;
|
|
268
|
+
}
|
|
269
|
+
// =============================================================================
|
|
270
|
+
// MAIN HANDLER
|
|
271
|
+
// =============================================================================
|
|
272
|
+
exports.skill = {
|
|
273
|
+
name: 'lighter',
|
|
274
|
+
description: 'Lighter orderbook DEX on Arbitrum',
|
|
275
|
+
commands: [
|
|
276
|
+
{
|
|
277
|
+
name: 'lighter',
|
|
278
|
+
description: 'Lighter DEX commands',
|
|
279
|
+
usage: '/lighter <command>',
|
|
280
|
+
},
|
|
281
|
+
],
|
|
282
|
+
requires: { env: ['EVM_PRIVATE_KEY'] },
|
|
283
|
+
async handler(args) {
|
|
284
|
+
const parts = args.trim().split(/\s+/);
|
|
285
|
+
const cmd = parts[0]?.toLowerCase();
|
|
286
|
+
try {
|
|
287
|
+
switch (cmd) {
|
|
288
|
+
case 'markets':
|
|
289
|
+
case 'm':
|
|
290
|
+
return handleMarkets();
|
|
291
|
+
case 'price':
|
|
292
|
+
case 'p':
|
|
293
|
+
return parts[1] ? handlePrice(parts[1]) : 'Usage: /lighter price <market>';
|
|
294
|
+
case 'book':
|
|
295
|
+
case 'ob':
|
|
296
|
+
return parts[1] ? handleBook(parts[1]) : 'Usage: /lighter book <market>';
|
|
297
|
+
case 'balance':
|
|
298
|
+
case 'bal':
|
|
299
|
+
case 'b':
|
|
300
|
+
return handleBalance();
|
|
301
|
+
case 'positions':
|
|
302
|
+
case 'pos':
|
|
303
|
+
return handlePositions();
|
|
304
|
+
case 'orders':
|
|
305
|
+
case 'o':
|
|
306
|
+
return handleOrders();
|
|
307
|
+
case 'long':
|
|
308
|
+
case 'l':
|
|
309
|
+
return handleLong(parts[1], parts[2], parts[3]);
|
|
310
|
+
case 'short':
|
|
311
|
+
case 's':
|
|
312
|
+
return handleShort(parts[1], parts[2], parts[3]);
|
|
313
|
+
case 'close':
|
|
314
|
+
return parts[1] ? handleClose(parts[1]) : 'Usage: /lighter close <market>';
|
|
315
|
+
case 'closeall':
|
|
316
|
+
return handleCloseAll();
|
|
317
|
+
case 'cancel':
|
|
318
|
+
return parts[1] ? handleCancel(parts[1]) : 'Usage: /lighter cancel <orderId>';
|
|
319
|
+
case 'cancelall':
|
|
320
|
+
return handleCancelAll();
|
|
321
|
+
case 'help':
|
|
322
|
+
case '':
|
|
323
|
+
case undefined:
|
|
324
|
+
default:
|
|
325
|
+
return (0, help_js_1.formatHelp)({
|
|
326
|
+
name: 'Lighter',
|
|
327
|
+
emoji: '⚡',
|
|
328
|
+
description: 'Orderbook DEX on Arbitrum — trade perps with on-chain settlement.',
|
|
329
|
+
sections: [
|
|
330
|
+
{
|
|
331
|
+
title: 'Market Data',
|
|
332
|
+
commands: [
|
|
333
|
+
{ cmd: '/lighter markets', description: 'List all available markets' },
|
|
334
|
+
{ cmd: '/lighter price <market>', description: 'Get bid/ask/mid price' },
|
|
335
|
+
{ cmd: '/lighter book <market>', description: 'View orderbook depth' },
|
|
336
|
+
],
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
title: 'Account',
|
|
340
|
+
commands: [
|
|
341
|
+
{ cmd: '/lighter balance', description: 'Show token balances' },
|
|
342
|
+
{ cmd: '/lighter positions', description: 'View open positions with PnL' },
|
|
343
|
+
{ cmd: '/lighter orders', description: 'List open orders' },
|
|
344
|
+
],
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
title: 'Trading',
|
|
348
|
+
commands: [
|
|
349
|
+
{ cmd: '/lighter long <mkt> <size> [price]', description: 'Open long (market or limit)' },
|
|
350
|
+
{ cmd: '/lighter short <mkt> <size> [price]', description: 'Open short (market or limit)' },
|
|
351
|
+
{ cmd: '/lighter close <market>', description: 'Close a position' },
|
|
352
|
+
{ cmd: '/lighter closeall', description: 'Close all positions' },
|
|
353
|
+
{ cmd: '/lighter cancel <orderId>', description: 'Cancel an order' },
|
|
354
|
+
{ cmd: '/lighter cancelall', description: 'Cancel all orders' },
|
|
355
|
+
],
|
|
356
|
+
},
|
|
357
|
+
],
|
|
358
|
+
examples: [
|
|
359
|
+
'/lighter markets',
|
|
360
|
+
'/lighter long ETH-USD 1 3000',
|
|
361
|
+
'/lighter short BTC-USD 0.1',
|
|
362
|
+
'/lighter close ETH-USD',
|
|
363
|
+
],
|
|
364
|
+
envVars: [
|
|
365
|
+
{ name: 'EVM_PRIVATE_KEY', description: 'EVM wallet private key', required: true },
|
|
366
|
+
{ name: 'LIGHTER_API_KEY', description: 'API key for higher rate limits' },
|
|
367
|
+
{ name: 'DRY_RUN', description: 'Set "true" to simulate trades' },
|
|
368
|
+
],
|
|
369
|
+
seeAlso: [
|
|
370
|
+
{ cmd: '/hl', description: 'Hyperliquid perps' },
|
|
371
|
+
{ cmd: '/drift', description: 'Drift Protocol (Solana)' },
|
|
372
|
+
{ cmd: '/positions', description: 'Cross-platform positions' },
|
|
373
|
+
],
|
|
374
|
+
notes: ['Shortcuts: m=markets, p=price, ob=book, b=balance, pos=positions, o=orders, l=long, s=short'],
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
catch (error) {
|
|
379
|
+
logger_js_1.logger.error({ error, args }, 'Lighter command failed');
|
|
380
|
+
return (0, errors_js_1.wrapSkillError)('Lighter', cmd || 'command', error);
|
|
381
|
+
}
|
|
382
|
+
},
|
|
383
|
+
};
|
|
384
|
+
exports.default = exports.skill;
|
|
385
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/lighter/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MarginFi CLI Skill — Solana Lending & Borrowing (10 Commands)
|
|
3
|
+
*
|
|
4
|
+
* /marginfi deposit <amount> <token> - Deposit collateral
|
|
5
|
+
* /marginfi withdraw <amount|all> <token> - Withdraw collateral
|
|
6
|
+
* /marginfi borrow <amount> <token> - Borrow assets
|
|
7
|
+
* /marginfi repay <amount|all> <token> - Repay borrowed assets
|
|
8
|
+
* /marginfi account - View your positions
|
|
9
|
+
* /marginfi health - Check health factor
|
|
10
|
+
* /marginfi banks - List all lending pools
|
|
11
|
+
* /marginfi rates - View supply/borrow rates
|
|
12
|
+
* /marginfi help - Show this help
|
|
13
|
+
*/
|
|
14
|
+
export declare function execute(args: string): Promise<string>;
|
|
15
|
+
declare const _default: {
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
commands: string[];
|
|
19
|
+
handle: typeof execute;
|
|
20
|
+
};
|
|
21
|
+
export default _default;
|