clodds 1.2.9 → 1.4.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/skills/bundled/acp/SKILL.md +188 -0
- package/dist/skills/bundled/acp/index.d.ts +0 -3
- package/dist/skills/bundled/acp/index.js +1 -1
- package/dist/skills/bundled/acp/index.js.map +1 -1
- package/dist/skills/bundled/agentbets/SKILL.md +19 -0
- package/dist/skills/bundled/agentbets/index.js +1 -1
- package/dist/skills/bundled/agentbets/index.js.map +1 -1
- package/dist/skills/bundled/ai-strategy/SKILL.md +111 -0
- package/dist/skills/bundled/ai-strategy/index.js +1 -1
- package/dist/skills/bundled/ai-strategy/index.js.map +1 -1
- package/dist/skills/bundled/alerts/SKILL.md +87 -0
- package/dist/skills/bundled/analytics/SKILL.md +252 -0
- package/dist/skills/bundled/analytics/index.js +2 -2
- package/dist/skills/bundled/analytics/index.js.map +1 -1
- package/dist/skills/bundled/arbitrage/SKILL.md +287 -0
- package/dist/skills/bundled/arbitrage/index.js +6 -1
- package/dist/skills/bundled/arbitrage/index.js.map +1 -1
- package/dist/skills/bundled/auto-reply/SKILL.md +285 -0
- package/dist/skills/bundled/auto-reply/index.js +2 -2
- package/dist/skills/bundled/auto-reply/index.js.map +1 -1
- package/dist/skills/bundled/automation/SKILL.md +242 -0
- package/dist/skills/bundled/automation/index.js +2 -2
- package/dist/skills/bundled/automation/index.js.map +1 -1
- package/dist/skills/bundled/backtest/SKILL.md +225 -0
- package/dist/skills/bundled/bags/SKILL.md +131 -0
- package/dist/skills/bundled/bankr/SKILL.md +114 -0
- package/dist/skills/bundled/betfair/SKILL.md +113 -0
- package/dist/skills/bundled/binance-futures/SKILL.md +84 -0
- package/dist/skills/bundled/binance-futures/index.d.ts +0 -3
- package/dist/skills/bundled/binance-futures/index.js +1 -2
- package/dist/skills/bundled/binance-futures/index.js.map +1 -1
- package/dist/skills/bundled/botchan/SKILL.md +66 -0
- package/dist/skills/bundled/botchan/index.d.ts +0 -3
- package/dist/skills/bundled/botchan/index.js +0 -1
- package/dist/skills/bundled/botchan/index.js.map +1 -1
- package/dist/skills/bundled/bridge/SKILL.md +215 -0
- package/dist/skills/bundled/bridge/index.js +6 -0
- package/dist/skills/bundled/bridge/index.js.map +1 -1
- package/dist/skills/bundled/bybit-futures/SKILL.md +84 -0
- package/dist/skills/bundled/bybit-futures/index.d.ts +0 -3
- package/dist/skills/bundled/bybit-futures/index.js +0 -1
- package/dist/skills/bundled/bybit-futures/index.js.map +1 -1
- package/dist/skills/bundled/clanker/SKILL.md +125 -0
- package/dist/skills/bundled/clanker/index.d.ts +0 -3
- package/dist/skills/bundled/clanker/index.js +0 -1
- package/dist/skills/bundled/clanker/index.js.map +1 -1
- package/dist/skills/bundled/copy-trading/SKILL.md +285 -0
- package/dist/skills/bundled/copy-trading/index.js +15 -8
- package/dist/skills/bundled/copy-trading/index.js.map +1 -1
- package/dist/skills/bundled/copy-trading-solana/SKILL.md +66 -0
- package/dist/skills/bundled/credentials/SKILL.md +261 -0
- package/dist/skills/bundled/credentials/index.js +4 -0
- package/dist/skills/bundled/credentials/index.js.map +1 -1
- package/dist/skills/bundled/crypto-hft/SKILL.md +121 -0
- package/dist/skills/bundled/crypto-hft/index.js +18 -3
- package/dist/skills/bundled/crypto-hft/index.js.map +1 -1
- package/dist/skills/bundled/dca/SKILL.md +27 -0
- package/dist/skills/bundled/dex/SKILL.md +92 -0
- package/dist/skills/bundled/dex/index.js +77 -29
- package/dist/skills/bundled/dex/index.js.map +1 -1
- package/dist/skills/bundled/divergence/SKILL.md +83 -0
- package/dist/skills/bundled/doctor/SKILL.md +267 -0
- package/dist/skills/bundled/doctor/index.js +2 -8
- package/dist/skills/bundled/doctor/index.js.map +1 -1
- package/dist/skills/bundled/drift/SKILL.md +53 -0
- package/dist/skills/bundled/drift-sdk/SKILL.md +103 -0
- package/dist/skills/bundled/drift-sdk/index.d.ts +0 -3
- package/dist/skills/bundled/drift-sdk/index.js +0 -1
- package/dist/skills/bundled/drift-sdk/index.js.map +1 -1
- package/dist/skills/bundled/edge/SKILL.md +84 -0
- package/dist/skills/bundled/embeddings/SKILL.md +244 -0
- package/dist/skills/bundled/endaoment/SKILL.md +65 -0
- package/dist/skills/bundled/endaoment/index.d.ts +0 -3
- package/dist/skills/bundled/endaoment/index.js +0 -1
- package/dist/skills/bundled/endaoment/index.js.map +1 -1
- package/dist/skills/bundled/ens/SKILL.md +63 -0
- package/dist/skills/bundled/ens/index.d.ts +0 -3
- package/dist/skills/bundled/ens/index.js +0 -1
- package/dist/skills/bundled/ens/index.js.map +1 -1
- package/dist/skills/bundled/erc8004/SKILL.md +79 -0
- package/dist/skills/bundled/erc8004/index.d.ts +0 -3
- package/dist/skills/bundled/erc8004/index.js +0 -1
- package/dist/skills/bundled/erc8004/index.js.map +1 -1
- package/dist/skills/bundled/execution/SKILL.md +278 -0
- package/dist/skills/bundled/farcaster/SKILL.md +80 -0
- package/dist/skills/bundled/farcaster/index.js +12 -0
- package/dist/skills/bundled/farcaster/index.js.map +1 -1
- package/dist/skills/bundled/features/SKILL.md +20 -0
- package/dist/skills/bundled/feeds/SKILL.md +288 -0
- package/dist/skills/bundled/harden/SKILL.md +74 -0
- package/dist/skills/bundled/history/SKILL.md +257 -0
- package/dist/skills/bundled/hyperliquid/SKILL.md +200 -0
- package/dist/skills/bundled/hyperliquid/index.d.ts +0 -3
- package/dist/skills/bundled/hyperliquid/index.js +0 -1
- package/dist/skills/bundled/hyperliquid/index.js.map +1 -1
- package/dist/skills/bundled/identity/SKILL.md +228 -0
- package/dist/skills/bundled/identity/index.js +2 -2
- package/dist/skills/bundled/identity/index.js.map +1 -1
- package/dist/skills/bundled/integrations/SKILL.md +321 -0
- package/dist/skills/bundled/integrations/index.js +2 -2
- package/dist/skills/bundled/integrations/index.js.map +1 -1
- package/dist/skills/bundled/jupiter/SKILL.md +163 -0
- package/dist/skills/bundled/jupiter/index.js +2 -2
- package/dist/skills/bundled/kamino/SKILL.md +69 -0
- package/dist/skills/bundled/ledger/SKILL.md +20 -0
- package/dist/skills/bundled/lighter/SKILL.md +83 -0
- package/dist/skills/bundled/lighter/index.d.ts +0 -3
- package/dist/skills/bundled/lighter/index.js +0 -1
- package/dist/skills/bundled/lighter/index.js.map +1 -1
- package/dist/skills/bundled/marginfi/SKILL.md +62 -0
- package/dist/skills/bundled/market-index/SKILL.md +242 -0
- package/dist/skills/bundled/market-index/index.js +1 -3
- package/dist/skills/bundled/market-index/index.js.map +1 -1
- package/dist/skills/bundled/markets/SKILL.md +49 -0
- package/dist/skills/bundled/mcp/SKILL.md +235 -0
- package/dist/skills/bundled/mcp/index.js +1 -3
- package/dist/skills/bundled/mcp/index.js.map +1 -1
- package/dist/skills/bundled/memory/SKILL.md +209 -0
- package/dist/skills/bundled/metaculus/SKILL.md +62 -0
- package/dist/skills/bundled/metaculus/index.js +4 -1
- package/dist/skills/bundled/metaculus/index.js.map +1 -1
- package/dist/skills/bundled/meteora/SKILL.md +28 -0
- package/dist/skills/bundled/meteora-dbc/SKILL.md +25 -0
- package/dist/skills/bundled/metrics/SKILL.md +338 -0
- package/dist/skills/bundled/mev/SKILL.md +239 -0
- package/dist/skills/bundled/mev/index.js +2 -2
- package/dist/skills/bundled/mev/index.js.map +1 -1
- package/dist/skills/bundled/mexc-futures/SKILL.md +86 -0
- package/dist/skills/bundled/mexc-futures/index.d.ts +0 -3
- package/dist/skills/bundled/mexc-futures/index.js +0 -1
- package/dist/skills/bundled/mexc-futures/index.js.map +1 -1
- package/dist/skills/bundled/mm/SKILL.md +142 -0
- package/dist/skills/bundled/mm/index.js +28 -27
- package/dist/skills/bundled/mm/index.js.map +1 -1
- package/dist/skills/bundled/monitoring/SKILL.md +249 -0
- package/dist/skills/bundled/news/SKILL.md +95 -0
- package/dist/skills/bundled/news/index.js +1 -2
- package/dist/skills/bundled/news/index.js.map +1 -1
- package/dist/skills/bundled/onchainkit/SKILL.md +83 -0
- package/dist/skills/bundled/opinion/SKILL.md +87 -0
- package/dist/skills/bundled/opportunity/SKILL.md +308 -0
- package/dist/skills/bundled/orca/SKILL.md +28 -0
- package/dist/skills/bundled/orca/index.js +11 -7
- package/dist/skills/bundled/orca/index.js.map +1 -1
- package/dist/skills/bundled/pairing/SKILL.md +275 -0
- package/dist/skills/bundled/pancakeswap/SKILL.md +93 -0
- package/dist/skills/bundled/pancakeswap/index.d.ts +0 -3
- package/dist/skills/bundled/pancakeswap/index.js +0 -1
- package/dist/skills/bundled/pancakeswap/index.js.map +1 -1
- package/dist/skills/bundled/percolator/SKILL.md +22 -0
- package/dist/skills/bundled/permissions/SKILL.md +269 -0
- package/dist/skills/bundled/permissions/index.js +2 -2
- package/dist/skills/bundled/permissions/index.js.map +1 -1
- package/dist/skills/bundled/plugins/SKILL.md +263 -0
- package/dist/skills/bundled/plugins/index.js +2 -2
- package/dist/skills/bundled/plugins/index.js.map +1 -1
- package/dist/skills/bundled/portfolio/SKILL.md +161 -0
- package/dist/skills/bundled/portfolio/index.js +1 -1
- package/dist/skills/bundled/portfolio/index.js.map +1 -1
- package/dist/skills/bundled/portfolio-sync/SKILL.md +466 -0
- package/dist/skills/bundled/positions/SKILL.md +262 -0
- package/dist/skills/bundled/predictfun/SKILL.md +109 -0
- package/dist/skills/bundled/predictfun/index.js +1 -1
- package/dist/skills/bundled/predictfun/index.js.map +1 -1
- package/dist/skills/bundled/predictit/SKILL.md +66 -0
- package/dist/skills/bundled/predictit/index.js +4 -1
- package/dist/skills/bundled/predictit/index.js.map +1 -1
- package/dist/skills/bundled/presence/SKILL.md +217 -0
- package/dist/skills/bundled/presence/index.js +2 -2
- package/dist/skills/bundled/presence/index.js.map +1 -1
- package/dist/skills/bundled/processes/SKILL.md +254 -0
- package/dist/skills/bundled/pump-swarm/SKILL.md +309 -0
- package/dist/skills/bundled/pumpfun/SKILL.md +145 -0
- package/dist/skills/bundled/pumpfun/index.js +82 -8
- package/dist/skills/bundled/pumpfun/index.js.map +1 -1
- package/dist/skills/bundled/qmd/SKILL.md +129 -0
- package/dist/skills/bundled/qrcoin/SKILL.md +60 -0
- package/dist/skills/bundled/qrcoin/index.d.ts +0 -3
- package/dist/skills/bundled/qrcoin/index.js +0 -1
- package/dist/skills/bundled/qrcoin/index.js.map +1 -1
- package/dist/skills/bundled/raydium/SKILL.md +198 -0
- package/dist/skills/bundled/remote/SKILL.md +201 -0
- package/dist/skills/bundled/research/SKILL.md +83 -0
- package/dist/skills/bundled/research/index.js +2 -2
- package/dist/skills/bundled/research/index.js.map +1 -1
- package/dist/skills/bundled/risk/SKILL.md +323 -0
- package/dist/skills/bundled/router/SKILL.md +233 -0
- package/dist/skills/bundled/routing/SKILL.md +258 -0
- package/dist/skills/bundled/sandbox/SKILL.md +257 -0
- package/dist/skills/bundled/search-config/SKILL.md +257 -0
- package/dist/skills/bundled/search-config/index.js +2 -2
- package/dist/skills/bundled/search-config/index.js.map +1 -1
- package/dist/skills/bundled/sessions/SKILL.md +251 -0
- package/dist/skills/bundled/sessions/index.js +1 -1
- package/dist/skills/bundled/sessions/index.js.map +1 -1
- package/dist/skills/bundled/setup/SKILL.md +53 -0
- package/dist/skills/bundled/shield/SKILL.md +21 -0
- package/dist/skills/bundled/signals/SKILL.md +106 -0
- package/dist/skills/bundled/signals/index.d.ts +0 -3
- package/dist/skills/bundled/signals/index.js +3 -4
- package/dist/skills/bundled/signals/index.js.map +1 -1
- package/dist/skills/bundled/sizing/SKILL.md +238 -0
- package/dist/skills/bundled/slippage/SKILL.md +306 -0
- package/dist/skills/bundled/smarkets/SKILL.md +107 -0
- package/dist/skills/bundled/smarkets/index.js +3 -3
- package/dist/skills/bundled/smarkets/index.js.map +1 -1
- package/dist/skills/bundled/solend/SKILL.md +63 -0
- package/dist/skills/bundled/strategy/SKILL.md +266 -0
- package/dist/skills/bundled/streaming/SKILL.md +150 -0
- package/dist/skills/bundled/streaming/index.js +2 -2
- package/dist/skills/bundled/streaming/index.js.map +1 -1
- package/dist/skills/bundled/tailscale/SKILL.md +249 -0
- package/dist/skills/bundled/tailscale/index.js +2 -2
- package/dist/skills/bundled/tailscale/index.js.map +1 -1
- package/dist/skills/bundled/ticks/SKILL.md +61 -0
- package/dist/skills/bundled/token-security/SKILL.md +18 -0
- package/dist/skills/bundled/trading-evm/SKILL.md +329 -0
- package/dist/skills/bundled/trading-futures/SKILL.md +865 -0
- package/dist/skills/bundled/trading-kalshi/SKILL.md +629 -0
- package/dist/skills/bundled/trading-kalshi/index.js +2 -0
- package/dist/skills/bundled/trading-kalshi/index.js.map +1 -1
- package/dist/skills/bundled/trading-manifold/SKILL.md +387 -0
- package/dist/skills/bundled/trading-polymarket/SKILL.md +1080 -0
- package/dist/skills/bundled/trading-polymarket/index.js +28 -19
- package/dist/skills/bundled/trading-polymarket/index.js.map +1 -1
- package/dist/skills/bundled/trading-solana/SKILL.md +418 -0
- package/dist/skills/bundled/trading-solana/index.js +1 -1
- package/dist/skills/bundled/trading-solana/index.js.map +1 -1
- package/dist/skills/bundled/trading-system/SKILL.md +290 -0
- package/dist/skills/bundled/triggers/SKILL.md +433 -0
- package/dist/skills/bundled/tts/SKILL.md +220 -0
- package/dist/skills/bundled/tweet-ideas/SKILL.md +77 -0
- package/dist/skills/bundled/usage/SKILL.md +239 -0
- package/dist/skills/bundled/usage/index.js +2 -2
- package/dist/skills/bundled/usage/index.js.map +1 -1
- package/dist/skills/bundled/veil/SKILL.md +76 -0
- package/dist/skills/bundled/veil/index.d.ts +0 -3
- package/dist/skills/bundled/veil/index.js +0 -1
- package/dist/skills/bundled/veil/index.js.map +1 -1
- package/dist/skills/bundled/verify/SKILL.md +199 -0
- package/dist/skills/bundled/verify/index.d.ts +0 -3
- package/dist/skills/bundled/verify/index.js +0 -1
- package/dist/skills/bundled/verify/index.js.map +1 -1
- package/dist/skills/bundled/virtuals/SKILL.md +82 -0
- package/dist/skills/bundled/voice/SKILL.md +217 -0
- package/dist/skills/bundled/voice/index.js +2 -2
- package/dist/skills/bundled/voice/index.js.map +1 -1
- package/dist/skills/bundled/weather/SKILL.md +80 -0
- package/dist/skills/bundled/weather/index.js +3 -0
- package/dist/skills/bundled/weather/index.js.map +1 -1
- package/dist/skills/bundled/webhooks/SKILL.md +297 -0
- package/dist/skills/bundled/webhooks/index.js +2 -2
- package/dist/skills/bundled/webhooks/index.js.map +1 -1
- package/dist/skills/bundled/whale-tracking/SKILL.md +287 -0
- package/dist/skills/bundled/whale-tracking/index.js +2 -2
- package/dist/skills/bundled/whale-tracking/index.js.map +1 -1
- package/dist/skills/bundled/yoink/SKILL.md +54 -0
- package/dist/skills/bundled/yoink/index.d.ts +0 -3
- package/dist/skills/bundled/yoink/index.js +0 -1
- package/dist/skills/bundled/yoink/index.js.map +1 -1
- package/dist/skills/executor.js +5 -3
- package/dist/skills/executor.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mev
|
|
3
|
+
description: "MEV protection against sandwich attacks and front-running"
|
|
4
|
+
emoji: "🛡️"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# MEV Protection - Complete API Reference
|
|
8
|
+
|
|
9
|
+
Protect trades from MEV (Maximal Extractable Value) attacks including sandwich attacks and front-running.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Chat Commands
|
|
14
|
+
|
|
15
|
+
### Protection Settings
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
/mev Show current protection
|
|
19
|
+
/mev status Protection status
|
|
20
|
+
/mev enable Enable protection
|
|
21
|
+
/mev disable Disable protection
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Configure Protection
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
/mev level aggressive Maximum protection
|
|
28
|
+
/mev level standard Balanced protection
|
|
29
|
+
/mev level minimal Basic protection
|
|
30
|
+
/mev provider flashbots Use Flashbots
|
|
31
|
+
/mev provider mev-blocker Use MEV Blocker
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Check Transaction
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
/mev check <tx-hash> Check if tx was attacked
|
|
38
|
+
/mev simulate <order> Simulate MEV risk
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## TypeScript API Reference
|
|
44
|
+
|
|
45
|
+
### Create MEV Protection
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
import { createMEVProtection } from 'clodds/mev';
|
|
49
|
+
|
|
50
|
+
const mev = createMEVProtection({
|
|
51
|
+
// Default level
|
|
52
|
+
level: 'standard',
|
|
53
|
+
|
|
54
|
+
// Providers
|
|
55
|
+
providers: {
|
|
56
|
+
ethereum: 'flashbots', // 'flashbots' | 'mev-blocker'
|
|
57
|
+
solana: 'jito', // 'jito' | 'standard'
|
|
58
|
+
},
|
|
59
|
+
|
|
60
|
+
// Settings
|
|
61
|
+
maxPriorityFee: 5, // gwei
|
|
62
|
+
bundleTimeout: 60, // seconds
|
|
63
|
+
});
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Execute Protected Trade
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
// EVM trade with protection
|
|
70
|
+
const result = await mev.executeProtected({
|
|
71
|
+
chain: 'ethereum',
|
|
72
|
+
type: 'swap',
|
|
73
|
+
tokenIn: 'USDC',
|
|
74
|
+
tokenOut: 'ETH',
|
|
75
|
+
amountIn: 10000,
|
|
76
|
+
minAmountOut: calculateMinOut(10000, 0.5), // 0.5% slippage
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
console.log(`Tx hash: ${result.txHash}`);
|
|
80
|
+
console.log(`Protected: ${result.protected}`);
|
|
81
|
+
console.log(`Bundle ID: ${result.bundleId}`);
|
|
82
|
+
console.log(`Savings: $${result.estimatedSavings}`);
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Flashbots (Ethereum)
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
// Submit via Flashbots Protect
|
|
89
|
+
const result = await mev.flashbots({
|
|
90
|
+
to: routerAddress,
|
|
91
|
+
data: swapCalldata,
|
|
92
|
+
value: 0,
|
|
93
|
+
maxFeePerGas: parseGwei('50'),
|
|
94
|
+
maxPriorityFeePerGas: parseGwei('2'),
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
console.log(`Submitted to Flashbots`);
|
|
98
|
+
console.log(`Bundle hash: ${result.bundleHash}`);
|
|
99
|
+
|
|
100
|
+
// Wait for inclusion
|
|
101
|
+
const status = await mev.waitForInclusion(result.bundleHash);
|
|
102
|
+
console.log(`Included in block: ${status.blockNumber}`);
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### MEV Blocker (Ethereum)
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
// Use MEV Blocker by CoW Protocol
|
|
109
|
+
const result = await mev.mevBlocker({
|
|
110
|
+
to: routerAddress,
|
|
111
|
+
data: swapCalldata,
|
|
112
|
+
value: 0,
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
// MEV Blocker automatically:
|
|
116
|
+
// - Protects from sandwich attacks
|
|
117
|
+
// - Backruns profitable MEV to you
|
|
118
|
+
// - Returns any captured MEV
|
|
119
|
+
console.log(`MEV captured: $${result.mevCaptured}`);
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Jito (Solana)
|
|
123
|
+
|
|
124
|
+
```typescript
|
|
125
|
+
// Submit via Jito bundles
|
|
126
|
+
const result = await mev.jito({
|
|
127
|
+
instructions: swapInstructions,
|
|
128
|
+
tip: 10000, // lamports tip to validators
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
console.log(`Bundle ID: ${result.bundleId}`);
|
|
132
|
+
console.log(`Status: ${result.status}`);
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Check Transaction
|
|
136
|
+
|
|
137
|
+
```typescript
|
|
138
|
+
// Check if a past transaction was attacked
|
|
139
|
+
const analysis = await mev.analyzeTransaction(txHash);
|
|
140
|
+
|
|
141
|
+
console.log(`Was attacked: ${analysis.wasAttacked}`);
|
|
142
|
+
if (analysis.wasAttacked) {
|
|
143
|
+
console.log(`Attack type: ${analysis.attackType}`);
|
|
144
|
+
console.log(`Attacker: ${analysis.attacker}`);
|
|
145
|
+
console.log(`Loss: $${analysis.estimatedLoss}`);
|
|
146
|
+
console.log(`Frontrun tx: ${analysis.frontrunTx}`);
|
|
147
|
+
console.log(`Backrun tx: ${analysis.backrunTx}`);
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Simulate MEV Risk
|
|
152
|
+
|
|
153
|
+
```typescript
|
|
154
|
+
// Before trading, check MEV risk
|
|
155
|
+
const risk = await mev.simulateRisk({
|
|
156
|
+
chain: 'ethereum',
|
|
157
|
+
type: 'swap',
|
|
158
|
+
tokenIn: 'USDC',
|
|
159
|
+
tokenOut: 'PEPE',
|
|
160
|
+
amountIn: 50000,
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
console.log(`MEV risk: ${risk.level}`); // 'low' | 'medium' | 'high'
|
|
164
|
+
console.log(`Estimated max loss: $${risk.maxLoss}`);
|
|
165
|
+
console.log(`Recommendation: ${risk.recommendation}`);
|
|
166
|
+
|
|
167
|
+
if (risk.level === 'high') {
|
|
168
|
+
console.log('⚠️ High MEV risk - use protection!');
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Protection Levels
|
|
173
|
+
|
|
174
|
+
```typescript
|
|
175
|
+
// Aggressive - maximum protection, slower
|
|
176
|
+
mev.setLevel('aggressive', {
|
|
177
|
+
usePrivateMempool: true,
|
|
178
|
+
bundleOnly: true,
|
|
179
|
+
maxSlippage: 0.1,
|
|
180
|
+
waitForProtection: true,
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
// Standard - balanced protection
|
|
184
|
+
mev.setLevel('standard', {
|
|
185
|
+
usePrivateMempool: true,
|
|
186
|
+
bundleOnly: false,
|
|
187
|
+
maxSlippage: 0.5,
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
// Minimal - basic protection
|
|
191
|
+
mev.setLevel('minimal', {
|
|
192
|
+
usePrivateMempool: false,
|
|
193
|
+
bundleOnly: false,
|
|
194
|
+
maxSlippage: 1.0,
|
|
195
|
+
});
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## MEV Attack Types
|
|
201
|
+
|
|
202
|
+
| Attack | Description | Protection |
|
|
203
|
+
|--------|-------------|------------|
|
|
204
|
+
| **Sandwich** | Front + backrun your trade | Private mempool |
|
|
205
|
+
| **Front-running** | Copy your trade first | Private mempool |
|
|
206
|
+
| **Back-running** | Profit after your trade | Jito/Flashbots |
|
|
207
|
+
| **JIT Liquidity** | Manipulate pool | Slippage limits |
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## Protection Providers
|
|
212
|
+
|
|
213
|
+
| Chain | Provider | Method |
|
|
214
|
+
|-------|----------|--------|
|
|
215
|
+
| **Ethereum** | Flashbots Protect | Private relay |
|
|
216
|
+
| **Ethereum** | MEV Blocker | CoW Protocol |
|
|
217
|
+
| **Solana** | Jito | Bundle submission |
|
|
218
|
+
| **L2s** | Native | Sequencer protection |
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## When to Use Protection
|
|
223
|
+
|
|
224
|
+
| Trade Size | Token | Recommendation |
|
|
225
|
+
|------------|-------|----------------|
|
|
226
|
+
| < $1,000 | Major | Minimal |
|
|
227
|
+
| $1,000 - $10,000 | Major | Standard |
|
|
228
|
+
| > $10,000 | Major | Aggressive |
|
|
229
|
+
| Any size | Meme/Low liquidity | Aggressive |
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## Best Practices
|
|
234
|
+
|
|
235
|
+
1. **Always protect large trades** — MEV bots watch everything
|
|
236
|
+
2. **Use tight slippage** — Limits attack profitability
|
|
237
|
+
3. **Check before trading** — Simulate MEV risk
|
|
238
|
+
4. **Review transactions** — Learn from past attacks
|
|
239
|
+
5. **L2s are safer** — Sequencer provides natural protection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/mev/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIH,IAAI,YAAY,GAAuB,OAAO,CAAC;AAE/C,KAAK,UAAU,OAAO,CAAC,IAAY;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,MAAM,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,wDAAa,mCAAmC,GAAC,CAAC;QAE9D,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ;gBACX,OAAO,uCAAuC,YAAY,+FAA+F,CAAC;YAE5J,KAAK,QAAQ;gBACX,OAAO,uCAAuC,YAAY,iOAAiO,CAAC;YAE9R,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;gBACtC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;oBACpE,OAAO,yCAAyC,CAAC;gBACnD,CAAC;gBACD,YAAY,GAAG,KAAK,CAAC;gBACrB,OAAO,iCAAiC,KAAK,KAAK,CAAC;YACrD,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,KAAK,CAAC,MAAM,CAAC;oBAAE,OAAO,6BAA6B,CAAC;gBACxD,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,aAAa;gBAClC,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC;gBACtE,OAAO,2CAA2C,MAAM,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,kBAAkB,SAAS,GAAG,CAAC;YACxN,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;gBACjD,IAAI,KAAK,CAAC,GAAG,CAAC;oBAAE,OAAO,2CAA2C,CAAC;gBACnE,MAAM,QAAQ,GAAG,GAAG,CAAC,qBAAqB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAC3D,OAAO,wBAAwB,GAAG,sBAAsB,QAAQ,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC;YACtJ,CAAC;YAED;gBACE,OAAO,QAAQ,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/mev/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mexc-futures
|
|
3
|
+
description: MEXC Futures trading with DB tracking (No KYC)
|
|
4
|
+
emoji: "🔵"
|
|
5
|
+
commands:
|
|
6
|
+
- /mx
|
|
7
|
+
gates:
|
|
8
|
+
envs:
|
|
9
|
+
- MEXC_API_KEY
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# MEXC Futures
|
|
13
|
+
|
|
14
|
+
Trade perpetual futures on MEXC with up to 200x leverage. No KYC required for small amounts.
|
|
15
|
+
|
|
16
|
+
## Quick Start
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Set credentials
|
|
20
|
+
export MEXC_API_KEY="your-api-key"
|
|
21
|
+
export MEXC_API_SECRET="your-api-secret"
|
|
22
|
+
|
|
23
|
+
# Check balance
|
|
24
|
+
/mx balance
|
|
25
|
+
|
|
26
|
+
# Open position
|
|
27
|
+
/mx long BTC_USDT 1 10x
|
|
28
|
+
|
|
29
|
+
# View stats
|
|
30
|
+
/mx stats
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Commands
|
|
34
|
+
|
|
35
|
+
### Account
|
|
36
|
+
|
|
37
|
+
| Command | Description |
|
|
38
|
+
|---------|-------------|
|
|
39
|
+
| `/mx balance` | Check account balance |
|
|
40
|
+
| `/mx positions` | View open positions |
|
|
41
|
+
| `/mx orders` | List open orders |
|
|
42
|
+
|
|
43
|
+
### Trading
|
|
44
|
+
|
|
45
|
+
| Command | Description |
|
|
46
|
+
|---------|-------------|
|
|
47
|
+
| `/mx long <symbol> <vol> [leverage]x` | Open long position |
|
|
48
|
+
| `/mx short <symbol> <vol> [leverage]x` | Open short position |
|
|
49
|
+
| `/mx close <symbol>` | Close position |
|
|
50
|
+
| `/mx closeall` | Close all positions |
|
|
51
|
+
| `/mx leverage <symbol> <value>` | Set leverage |
|
|
52
|
+
|
|
53
|
+
### Market Data
|
|
54
|
+
|
|
55
|
+
| Command | Description |
|
|
56
|
+
|---------|-------------|
|
|
57
|
+
| `/mx price <symbol>` | Get current price |
|
|
58
|
+
| `/mx funding <symbol>` | Check funding rate |
|
|
59
|
+
| `/mx markets [query]` | List markets |
|
|
60
|
+
|
|
61
|
+
### Database/History
|
|
62
|
+
|
|
63
|
+
| Command | Description |
|
|
64
|
+
|---------|-------------|
|
|
65
|
+
| `/mx trades [symbol] [limit]` | Trade history from database |
|
|
66
|
+
| `/mx dbstats [symbol] [period]` | Win rate, PnL, profit factor |
|
|
67
|
+
| `/mx dbfunding [symbol]` | Funding payments history |
|
|
68
|
+
| `/mx dbpositions [all]` | Position history |
|
|
69
|
+
|
|
70
|
+
**Stats periods:** `day`, `week`, `month`
|
|
71
|
+
|
|
72
|
+
## Examples
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
/mx long BTC_USDT 1 10x # 10x leveraged long, 1 contract
|
|
76
|
+
/mx short ETH_USDT 5 20x # 20x leveraged short, 5 contracts
|
|
77
|
+
/mx close BTC_USDT # Close BTC position
|
|
78
|
+
/mx trades BTC_USDT 20 # Last 20 BTC trades
|
|
79
|
+
/mx stats ETH_USDT week # ETH stats for past week
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Notes
|
|
83
|
+
|
|
84
|
+
- MEXC uses contract notation (e.g., `BTC_USDT` not `BTCUSDT`)
|
|
85
|
+
- No KYC required for smaller trading volumes
|
|
86
|
+
- Up to 200x leverage available
|
|
@@ -335,7 +335,6 @@ const skill = {
|
|
|
335
335
|
name: 'mexc-futures',
|
|
336
336
|
description: 'MEXC Futures trading with DB tracking (No KYC, 200x)',
|
|
337
337
|
commands: ['/mx'],
|
|
338
|
-
requires: { env: ['MEXC_API_KEY', 'MEXC_API_SECRET'] },
|
|
339
338
|
async handle(args) {
|
|
340
339
|
const parts = args.trim().split(/\s+/);
|
|
341
340
|
const cmd = parts[0]?.toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/mexc-futures/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4DAA8C;AAC9C,kDAA+C;AAC/C,oCAKqB;AAErB,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,SAAS,YAAY,CAAC,CAAS,EAAE,QAAQ,GAAG,CAAC;IAC3C,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IACjE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IACjE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IACjE,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAClD,CAAC;AAED,SAAS,UAAU,CAAC,EAAiB;IACnC,MAAM,IAAI,GAAG,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,CAAC,CAAC,CAAC,OAAO,cAAc,CAAC;QAC9B,KAAK,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC;QAChC,KAAK,CAAC,CAAC,CAAC,OAAO,eAAe,CAAC;QAC/B,KAAK,CAAC,CAAC,CAAC,OAAO,eAAe,CAAC;QAC/B,OAAO,CAAC,CAAC,OAAO,QAAQ,IAAI,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;AAC7C,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACxC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC9C,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IAC9C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAAC,MAAe;IAClC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,KAAK,KAAK,CAAC;QAAC,KAAK,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACxD,KAAK,MAAM,CAAC;QAAC,KAAK,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC7D,KAAK,OAAO,CAAC;QAAC,KAAK,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAChE,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,WAAoB;IACzC,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACnC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,MAAsB,EAAE,QAAiB;IAC/D,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAY,GAAE,CAAC;QAChC,EAAE,CAAC,mBAAmB,CAAC;YACrB,MAAM,EAAE,SAAS,EAAE;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,EAAE,MAAM,CAAC,OAAO;YACnB,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,KAAK;YAC1C,QAAQ;YACR,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,eAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,KAAK,UAAU,aAAa;IAC1B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAE3D,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAEtD,MAAM,KAAK,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,MAAM,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAE3D,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAEvD,MAAM,KAAK,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;QACpG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtH,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAE3D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAEjD,MAAM,KAAK,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,KAAK,UAAU,UAAU,CAAC,MAAe,EAAE,MAAe,EAAE,WAAoB;IAC9E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO,8EAA8E,CAAC;IAE9G,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9E,MAAM,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEjC,OAAO,WAAW,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,GAAG,uBAAuB,MAAM,CAAC,OAAO,EAAE,CAAC;AACzF,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAe,EAAE,MAAe,EAAE,WAAoB;IAC/E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO,gFAAgF,CAAC;IAEhH,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/E,MAAM,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEjC,OAAO,YAAY,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,GAAG,uBAAuB,MAAM,CAAC,OAAO,EAAE,CAAC;AAC1F,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAe;IACxC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,2BAA2B,CAAC;IAEhD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM;QAAE,OAAO,wBAAwB,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;IAEnE,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,UAAU,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,GAAG,YAAY,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAE3D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,uBAAuB,CAAC;IAEzD,MAAM,KAAK,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;IACzE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAe,EAAE,WAAoB;IACjE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW;QAAE,OAAO,sCAAsC,CAAC;IAE3E,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC7D,OAAO,OAAO,MAAM,CAAC,WAAW,EAAE,gBAAgB,QAAQ,GAAG,CAAC;AAChE,CAAC;AAED,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,KAAK,UAAU,WAAW,CAAC,MAAe;IACxC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,2BAA2B,CAAC;IAEhD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9D,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAAe;IAC9C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,6BAA6B,CAAC;IAElD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjE,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,aAAa,IAAI,MAAM,UAAU,mBAAmB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AAChH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAc;IACzC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAE3D,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,KAAK;QAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAExF,MAAM,KAAK,GAAG,CAAC,mBAAmB,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,KAAK,UAAU,cAAc,CAAC,MAAe,EAAE,QAAiB;IAC9D,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAY,GAAE,CAAC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,MAAM,MAAM,GAAG,EAAE,CAAC,oBAAoB,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAEvE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAE7F,MAAM,KAAK,GAAG,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC3H,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAe,EAAE,MAAe;IAC3D,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAY,GAAE,CAAC;IAChC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAErE,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAE3D,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,OAAO;QACL,eAAe,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,IAAI;QAC7D,EAAE;QACF,WAAW,KAAK,CAAC,WAAW,eAAe,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;QAC5E,eAAe,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACrF,SAAS,KAAK,CAAC,QAAQ,cAAc,KAAK,CAAC,SAAS,EAAE;QACtD,kBAAkB,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;KAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAe,EAAE,QAAiB;IAC/D,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAY,GAAE,CAAC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,EAAE,CAAC,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAEzE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,2BAA2B,CAAC;IAE7D,MAAM,KAAK,GAAG,EAAE,CAAC,0BAA0B,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,CAAC,8BAA8B,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,MAAM,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAgB;IAC/C,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAY,GAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,CAAC;IAClD,MAAM,SAAS,GAAG,EAAE,CAAC,uBAAuB,CAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAExE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAEhG,MAAM,KAAK,GAAG,CAAC,UAAU,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC,CAAC;IACjF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;IAC/G,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,CAAC,KAAK,CAAC;IACjB,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC,EAAE;IAEtD,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QAEpC,IAAI,CAAC;YACH,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,SAAS,CAAC;gBAAC,KAAK,KAAK,CAAC,CAAC,OAAO,aAAa,EAAE,CAAC;gBACnD,KAAK,WAAW,CAAC;gBAAC,KAAK,KAAK,CAAC,CAAC,OAAO,eAAe,EAAE,CAAC;gBACvD,KAAK,QAAQ,CAAC,CAAC,OAAO,YAAY,EAAE,CAAC;gBACrC,KAAK,MAAM,CAAC;gBAAC,KAAK,GAAG,CAAC,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,KAAK,OAAO,CAAC;gBAAC,KAAK,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzE,KAAK,OAAO,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,KAAK,UAAU,CAAC,CAAC,OAAO,cAAc,EAAE,CAAC;gBACzC,KAAK,UAAU,CAAC;gBAAC,KAAK,KAAK,CAAC,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,KAAK,OAAO,CAAC;gBAAC,KAAK,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,KAAK,SAAS,CAAC;gBAAC,KAAK,IAAI,CAAC,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,KAAK,SAAS,CAAC;gBAAC,KAAK,GAAG,CAAC,CAAC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,KAAK,QAAQ,CAAC,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,KAAK,SAAS,CAAC;gBAAC,KAAK,OAAO,CAAC,CAAC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,KAAK,WAAW,CAAC,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7D,KAAK,aAAa,CAAC,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD;oBACE,OAAO;wBACL,yDAAyD;wBACzD,EAAE;wBACF,yCAAyC;wBACzC,yFAAyF;wBACzF,yDAAyD;wBACzD,2DAA2D;wBAC3D,EAAE;wBACF,yCAAyC;qBAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;YAC9D,OAAO,UAAU,OAAO,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;CACF,CAAC;AAEF,kBAAe,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/mexc-futures/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4DAA8C;AAC9C,kDAA+C;AAC/C,oCAKqB;AAErB,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,SAAS,YAAY,CAAC,CAAS,EAAE,QAAQ,GAAG,CAAC;IAC3C,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IACjE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IACjE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IACjE,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAClD,CAAC;AAED,SAAS,UAAU,CAAC,EAAiB;IACnC,MAAM,IAAI,GAAG,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,CAAC,CAAC,CAAC,OAAO,cAAc,CAAC;QAC9B,KAAK,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC;QAChC,KAAK,CAAC,CAAC,CAAC,OAAO,eAAe,CAAC;QAC/B,KAAK,CAAC,CAAC,CAAC,OAAO,eAAe,CAAC;QAC/B,OAAO,CAAC,CAAC,OAAO,QAAQ,IAAI,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;AAC7C,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACxC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC9C,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IAC9C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAAC,MAAe;IAClC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,KAAK,KAAK,CAAC;QAAC,KAAK,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACxD,KAAK,MAAM,CAAC;QAAC,KAAK,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC7D,KAAK,OAAO,CAAC;QAAC,KAAK,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAChE,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,WAAoB;IACzC,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACnC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,MAAsB,EAAE,QAAiB;IAC/D,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAY,GAAE,CAAC;QAChC,EAAE,CAAC,mBAAmB,CAAC;YACrB,MAAM,EAAE,SAAS,EAAE;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,EAAE,MAAM,CAAC,OAAO;YACnB,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,KAAK;YAC1C,QAAQ;YACR,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,eAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,KAAK,UAAU,aAAa;IAC1B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAE3D,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAEtD,MAAM,KAAK,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,MAAM,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAE3D,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAEvD,MAAM,KAAK,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;QACpG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtH,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAE3D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAEjD,MAAM,KAAK,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,KAAK,UAAU,UAAU,CAAC,MAAe,EAAE,MAAe,EAAE,WAAoB;IAC9E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO,8EAA8E,CAAC;IAE9G,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9E,MAAM,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEjC,OAAO,WAAW,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,GAAG,uBAAuB,MAAM,CAAC,OAAO,EAAE,CAAC;AACzF,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAe,EAAE,MAAe,EAAE,WAAoB;IAC/E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO,gFAAgF,CAAC;IAEhH,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/E,MAAM,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEjC,OAAO,YAAY,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,GAAG,uBAAuB,MAAM,CAAC,OAAO,EAAE,CAAC;AAC1F,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAe;IACxC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,2BAA2B,CAAC;IAEhD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM;QAAE,OAAO,wBAAwB,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;IAEnE,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,UAAU,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,GAAG,YAAY,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAE3D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,uBAAuB,CAAC;IAEzD,MAAM,KAAK,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;IACzE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAe,EAAE,WAAoB;IACjE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW;QAAE,OAAO,sCAAsC,CAAC;IAE3E,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC7D,OAAO,OAAO,MAAM,CAAC,WAAW,EAAE,gBAAgB,QAAQ,GAAG,CAAC;AAChE,CAAC;AAED,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,KAAK,UAAU,WAAW,CAAC,MAAe;IACxC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,2BAA2B,CAAC;IAEhD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9D,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAAe;IAC9C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,6BAA6B,CAAC;IAElD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjE,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,aAAa,IAAI,MAAM,UAAU,mBAAmB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AAChH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAc;IACzC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,sCAAsC,CAAC;IAE3D,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,KAAK;QAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAExF,MAAM,KAAK,GAAG,CAAC,mBAAmB,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,KAAK,UAAU,cAAc,CAAC,MAAe,EAAE,QAAiB;IAC9D,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAY,GAAE,CAAC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,MAAM,MAAM,GAAG,EAAE,CAAC,oBAAoB,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAEvE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAE7F,MAAM,KAAK,GAAG,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC3H,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAe,EAAE,MAAe;IAC3D,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAY,GAAE,CAAC;IAChC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAErE,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAE3D,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,OAAO;QACL,eAAe,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,IAAI;QAC7D,EAAE;QACF,WAAW,KAAK,CAAC,WAAW,eAAe,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;QAC5E,eAAe,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACrF,SAAS,KAAK,CAAC,QAAQ,cAAc,KAAK,CAAC,SAAS,EAAE;QACtD,kBAAkB,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;KAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAe,EAAE,QAAiB;IAC/D,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAY,GAAE,CAAC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,EAAE,CAAC,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAEzE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,2BAA2B,CAAC;IAE7D,MAAM,KAAK,GAAG,EAAE,CAAC,0BAA0B,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,CAAC,8BAA8B,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,MAAM,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAgB;IAC/C,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAY,GAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,CAAC;IAClD,MAAM,SAAS,GAAG,EAAE,CAAC,uBAAuB,CAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAExE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAEhG,MAAM,KAAK,GAAG,CAAC,UAAU,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC,CAAC;IACjF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;IAC/G,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,CAAC,KAAK,CAAC;IAEjB,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QAEpC,IAAI,CAAC;YACH,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,SAAS,CAAC;gBAAC,KAAK,KAAK,CAAC,CAAC,OAAO,aAAa,EAAE,CAAC;gBACnD,KAAK,WAAW,CAAC;gBAAC,KAAK,KAAK,CAAC,CAAC,OAAO,eAAe,EAAE,CAAC;gBACvD,KAAK,QAAQ,CAAC,CAAC,OAAO,YAAY,EAAE,CAAC;gBACrC,KAAK,MAAM,CAAC;gBAAC,KAAK,GAAG,CAAC,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,KAAK,OAAO,CAAC;gBAAC,KAAK,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzE,KAAK,OAAO,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,KAAK,UAAU,CAAC,CAAC,OAAO,cAAc,EAAE,CAAC;gBACzC,KAAK,UAAU,CAAC;gBAAC,KAAK,KAAK,CAAC,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,KAAK,OAAO,CAAC;gBAAC,KAAK,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,KAAK,SAAS,CAAC;gBAAC,KAAK,IAAI,CAAC,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,KAAK,SAAS,CAAC;gBAAC,KAAK,GAAG,CAAC,CAAC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,KAAK,QAAQ,CAAC,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,KAAK,SAAS,CAAC;gBAAC,KAAK,OAAO,CAAC,CAAC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,KAAK,WAAW,CAAC,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7D,KAAK,aAAa,CAAC,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD;oBACE,OAAO;wBACL,yDAAyD;wBACzD,EAAE;wBACF,yCAAyC;wBACzC,yFAAyF;wBACzF,yDAAyD;wBACzD,2DAA2D;wBAC3D,EAAE;wBACF,yCAAyC;qBAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;YAC9D,OAAO,UAAU,OAAO,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;CACF,CAAC;AAEF,kBAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mm
|
|
3
|
+
description: "Market making - two-sided quoting with inventory management"
|
|
4
|
+
emoji: "📊"
|
|
5
|
+
gates:
|
|
6
|
+
envs:
|
|
7
|
+
anyOf:
|
|
8
|
+
- POLY_API_KEY
|
|
9
|
+
- KALSHI_API_KEY
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Market Making Skill
|
|
13
|
+
|
|
14
|
+
Automated two-sided quoting on prediction markets with inventory skew, volatility-adjusted spreads, and risk controls.
|
|
15
|
+
|
|
16
|
+
## Supported Platforms
|
|
17
|
+
|
|
18
|
+
- Polymarket (post-only maker orders, zero taker fees)
|
|
19
|
+
- Kalshi
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Chat Commands
|
|
24
|
+
|
|
25
|
+
### Lifecycle
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
/mm start <platform> <marketId> <tokenId> [flags] Start market making
|
|
29
|
+
/mm stop <id> Stop and cancel all orders
|
|
30
|
+
/mm list List active market makers
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Monitoring
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
/mm status Overview of all active MMs
|
|
37
|
+
/mm status <id> Detailed state for one MM
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Configuration
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
/mm config <id> View current config as JSON
|
|
44
|
+
/mm config <id> --spread 3 Update config (takes effect next requote)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Start Flags
|
|
50
|
+
|
|
51
|
+
| Flag | Default | Description |
|
|
52
|
+
|------|---------|-------------|
|
|
53
|
+
| `--spread N` | 2 | Base half-spread in cents |
|
|
54
|
+
| `--min-spread N` | 1 | Minimum spread floor (cents) |
|
|
55
|
+
| `--max-spread N` | 10 | Maximum spread cap (cents) |
|
|
56
|
+
| `--size N` | 50 | Order size per side (shares) |
|
|
57
|
+
| `--max-inventory N` | 500 | Max inventory before aggressive skew |
|
|
58
|
+
| `--skew N` | 0.5 | Inventory skew factor (0-1) |
|
|
59
|
+
| `--vol-mult N` | 10 | Volatility multiplier for spread widening |
|
|
60
|
+
| `--alpha N` | 0.3 | EMA alpha for fair value smoothing (0-1) |
|
|
61
|
+
| `--fv-method M` | weighted_mid | Fair value method: mid_price, weighted_mid, vwap, ema |
|
|
62
|
+
| `--interval N` | 5000 | Requote interval in ms |
|
|
63
|
+
| `--threshold N` | 1 | Min price change (cents) to trigger requote |
|
|
64
|
+
| `--max-pos N` | 1000 | Max position value in USD |
|
|
65
|
+
| `--max-loss N` | 100 | Max loss before auto-halt (USD) |
|
|
66
|
+
| `--max-orders N` | 1 | Orders per side (levels) |
|
|
67
|
+
| `--level-spacing N` | (=spread) | Cents between price levels |
|
|
68
|
+
| `--level-decay N` | 0.5 | Size decay per level (0-1, e.g. 0.5 = each level half of previous) |
|
|
69
|
+
| `--neg-risk true` | false | Enable negative risk mode (Polymarket crypto) |
|
|
70
|
+
| `--name "Name"` | auto | Display name for the outcome |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Examples
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
# Start with defaults
|
|
78
|
+
/mm start polymarket 0xabc123 98765
|
|
79
|
+
|
|
80
|
+
# Custom spread and sizing
|
|
81
|
+
/mm start polymarket 0xabc123 98765 --spread 3 --size 100 --max-inventory 1000
|
|
82
|
+
|
|
83
|
+
# Tight spread for liquid market
|
|
84
|
+
/mm start polymarket 0xabc123 98765 --spread 1 --min-spread 1 --max-spread 5 --interval 2000
|
|
85
|
+
|
|
86
|
+
# 3-level quoting: L1=50 shares, L2=25, L3=12 — spaced 2c apart
|
|
87
|
+
/mm start polymarket 0xabc123 98765 --max-orders 3 --level-spacing 2 --level-decay 0.5 --size 50
|
|
88
|
+
|
|
89
|
+
# Check all running MMs
|
|
90
|
+
/mm status
|
|
91
|
+
|
|
92
|
+
# Widen spread on the fly
|
|
93
|
+
/mm config polymarket_98765678 --spread 4
|
|
94
|
+
|
|
95
|
+
# Shut down
|
|
96
|
+
/mm stop polymarket_98765678
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## How It Works
|
|
102
|
+
|
|
103
|
+
1. **Fair value** computed from orderbook (weighted mid, VWAP, or EMA)
|
|
104
|
+
2. **Spread** adjusted by recent volatility (wider in volatile markets)
|
|
105
|
+
3. **Skew** shifts quotes away from overweight side to manage inventory
|
|
106
|
+
4. **Quotes** placed as post-only maker orders (bid and ask)
|
|
107
|
+
5. **Requote** cycle: cancel all, recalculate, place new orders
|
|
108
|
+
6. **Auto-halt** if realized P&L exceeds max loss threshold
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## API Usage
|
|
113
|
+
|
|
114
|
+
```typescript
|
|
115
|
+
import { createMMStrategy, type MMConfig } from '../trading/market-making';
|
|
116
|
+
|
|
117
|
+
const config: MMConfig = {
|
|
118
|
+
id: 'btc-yes',
|
|
119
|
+
platform: 'polymarket',
|
|
120
|
+
marketId: '0x...',
|
|
121
|
+
tokenId: '12345',
|
|
122
|
+
outcomeName: 'BTC > 100k',
|
|
123
|
+
baseSpreadCents: 2,
|
|
124
|
+
minSpreadCents: 1,
|
|
125
|
+
maxSpreadCents: 10,
|
|
126
|
+
orderSize: 50,
|
|
127
|
+
maxInventory: 500,
|
|
128
|
+
skewFactor: 0.5,
|
|
129
|
+
volatilityMultiplier: 10,
|
|
130
|
+
fairValueAlpha: 0.3,
|
|
131
|
+
fairValueMethod: 'weighted_mid',
|
|
132
|
+
requoteIntervalMs: 5000,
|
|
133
|
+
requoteThresholdCents: 1,
|
|
134
|
+
maxPositionValueUsd: 1000,
|
|
135
|
+
maxLossUsd: 100,
|
|
136
|
+
maxOrdersPerSide: 1,
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
const strategy = createMMStrategy(config, { execution, feeds });
|
|
140
|
+
botManager.registerStrategy(strategy);
|
|
141
|
+
await botManager.startBot(strategy.config.id);
|
|
142
|
+
```
|
|
@@ -79,22 +79,22 @@ async function handleStart(args) {
|
|
|
79
79
|
tokenId,
|
|
80
80
|
outcomeName: flags['name'] || `${platform}:${tokenId.slice(0, 12)}`,
|
|
81
81
|
negRisk: flags['neg-risk'] === 'true',
|
|
82
|
-
baseSpreadCents:
|
|
83
|
-
minSpreadCents:
|
|
84
|
-
maxSpreadCents:
|
|
85
|
-
orderSize:
|
|
86
|
-
maxInventory:
|
|
87
|
-
skewFactor:
|
|
88
|
-
volatilityMultiplier:
|
|
89
|
-
fairValueAlpha:
|
|
82
|
+
baseSpreadCents: parseFloat(flags['spread']) || 2,
|
|
83
|
+
minSpreadCents: parseFloat(flags['min-spread']) || 1,
|
|
84
|
+
maxSpreadCents: parseFloat(flags['max-spread']) || 10,
|
|
85
|
+
orderSize: parseFloat(flags['size']) || 50,
|
|
86
|
+
maxInventory: parseFloat(flags['max-inventory']) || 500,
|
|
87
|
+
skewFactor: parseFloat(flags['skew']) || 0.5,
|
|
88
|
+
volatilityMultiplier: parseFloat(flags['vol-mult']) || 10,
|
|
89
|
+
fairValueAlpha: parseFloat(flags['alpha']) || 0.3,
|
|
90
90
|
fairValueMethod: flags['fv-method'] || 'weighted_mid',
|
|
91
|
-
requoteIntervalMs:
|
|
92
|
-
requoteThresholdCents:
|
|
93
|
-
maxPositionValueUsd:
|
|
94
|
-
maxLossUsd:
|
|
95
|
-
maxOrdersPerSide:
|
|
96
|
-
levelSpacingCents: flags['level-spacing'] ?
|
|
97
|
-
levelSizeDecay: flags['level-decay'] ?
|
|
91
|
+
requoteIntervalMs: parseFloat(flags['interval']) || 5000,
|
|
92
|
+
requoteThresholdCents: parseFloat(flags['threshold']) || 1,
|
|
93
|
+
maxPositionValueUsd: parseFloat(flags['max-pos']) || 1000,
|
|
94
|
+
maxLossUsd: parseFloat(flags['max-loss']) || 100,
|
|
95
|
+
maxOrdersPerSide: parseFloat(flags['max-orders']) || 1,
|
|
96
|
+
levelSpacingCents: flags['level-spacing'] ? (parseFloat(flags['level-spacing']) || undefined) : undefined,
|
|
97
|
+
levelSizeDecay: flags['level-decay'] ? (parseFloat(flags['level-decay']) || undefined) : undefined,
|
|
98
98
|
};
|
|
99
99
|
try {
|
|
100
100
|
const { createMMStrategy } = await Promise.resolve().then(() => __importStar(require('../../../trading/market-making/strategy')));
|
|
@@ -204,30 +204,31 @@ async function handleConfig(args) {
|
|
|
204
204
|
`\`\`\``,
|
|
205
205
|
].join('\n');
|
|
206
206
|
}
|
|
207
|
+
const safeNum = (v) => { const n = Number(v); return isNaN(n) ? undefined : n; };
|
|
207
208
|
if (flags['spread'])
|
|
208
|
-
mm.config.baseSpreadCents =
|
|
209
|
+
mm.config.baseSpreadCents = safeNum(flags['spread']) ?? mm.config.baseSpreadCents;
|
|
209
210
|
if (flags['min-spread'])
|
|
210
|
-
mm.config.minSpreadCents =
|
|
211
|
+
mm.config.minSpreadCents = safeNum(flags['min-spread']) ?? mm.config.minSpreadCents;
|
|
211
212
|
if (flags['max-spread'])
|
|
212
|
-
mm.config.maxSpreadCents =
|
|
213
|
+
mm.config.maxSpreadCents = safeNum(flags['max-spread']) ?? mm.config.maxSpreadCents;
|
|
213
214
|
if (flags['size'])
|
|
214
|
-
mm.config.orderSize =
|
|
215
|
+
mm.config.orderSize = safeNum(flags['size']) ?? mm.config.orderSize;
|
|
215
216
|
if (flags['max-inventory'])
|
|
216
|
-
mm.config.maxInventory =
|
|
217
|
+
mm.config.maxInventory = safeNum(flags['max-inventory']) ?? mm.config.maxInventory;
|
|
217
218
|
if (flags['skew'])
|
|
218
|
-
mm.config.skewFactor =
|
|
219
|
+
mm.config.skewFactor = safeNum(flags['skew']) ?? mm.config.skewFactor;
|
|
219
220
|
if (flags['alpha'])
|
|
220
|
-
mm.config.fairValueAlpha =
|
|
221
|
+
mm.config.fairValueAlpha = safeNum(flags['alpha']) ?? mm.config.fairValueAlpha;
|
|
221
222
|
if (flags['interval'])
|
|
222
|
-
mm.config.requoteIntervalMs =
|
|
223
|
+
mm.config.requoteIntervalMs = safeNum(flags['interval']) ?? mm.config.requoteIntervalMs;
|
|
223
224
|
if (flags['max-loss'])
|
|
224
|
-
mm.config.maxLossUsd =
|
|
225
|
+
mm.config.maxLossUsd = safeNum(flags['max-loss']) ?? mm.config.maxLossUsd;
|
|
225
226
|
if (flags['max-orders'])
|
|
226
|
-
mm.config.maxOrdersPerSide =
|
|
227
|
+
mm.config.maxOrdersPerSide = safeNum(flags['max-orders']) ?? mm.config.maxOrdersPerSide;
|
|
227
228
|
if (flags['level-spacing'])
|
|
228
|
-
mm.config.levelSpacingCents =
|
|
229
|
+
mm.config.levelSpacingCents = safeNum(flags['level-spacing']) ?? mm.config.levelSpacingCents;
|
|
229
230
|
if (flags['level-decay'])
|
|
230
|
-
mm.config.levelSizeDecay =
|
|
231
|
+
mm.config.levelSizeDecay = safeNum(flags['level-decay']) ?? mm.config.levelSizeDecay;
|
|
231
232
|
return `Config updated for "${id}". Changes take effect on next requote.`;
|
|
232
233
|
}
|
|
233
234
|
function handleList() {
|