-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
54 lines (51 loc) · 1.17 KB
/
types.ts
File metadata and controls
54 lines (51 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
export interface Trader {
id: string;
handle: string;
avatar: string;
pnl30d: number;
pnlTotal: number;
winRate: number;
drawdown: number;
subscribers: number;
riskLevel: 'Conservative' | 'Balanced' | 'Aggressive';
strategyTags: string[];
description: string;
subscriptionPrice: number;
isVerified?: boolean;
assets: string[];
}
export interface Signal {
id: string;
market: string;
side: 'BUY' | 'SELL';
position_type: 'LONG' | 'SHORT';
entry_type: 'MARKET' | 'LIMIT';
entry_price: number;
stop_loss: number;
take_profit: number;
leverage?: number;
size_type: 'PERCENT' | 'ABSOLUTE';
size_value: number;
slippage_bps?: number;
valid_until: string;
note?: string;
}
export interface Subscription {
id: string;
traderId: string;
traderHandle: string;
traderAvatar: string;
expiresAt: string;
status: 'ACTIVE' | 'EXPIRING' | 'EXPIRED';
monthlyCost: number;
pnlSinceSub: number;
}
export enum Views {
LANDING = 'LANDING',
MARKETPLACE = 'MARKETPLACE',
PROFILE = 'PROFILE',
DASHBOARD_SUBSCRIBER = 'DASHBOARD_SUBSCRIBER',
DASHBOARD_TRADER = 'DASHBOARD_TRADER',
SIGNALS = 'SIGNALS',
CONNECT_WALLET = 'CONNECT_WALLET'
}