-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
61 lines (55 loc) · 1.05 KB
/
Copy pathtypes.ts
File metadata and controls
61 lines (55 loc) · 1.05 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
55
56
57
58
59
60
61
export enum AssetType {
CRYPTO = 'CRYPTO',
FIAT = 'FIAT'
}
export enum RateType {
COMMERCIAL = 'Comercial',
TOURISM = 'Turismo'
}
export interface CurrencyPair {
id: string;
base: string;
quote: string;
name: string;
type: AssetType;
supportsTourism: boolean;
apiSymbol: string; // Used for fetching
}
// Timeframes for chart history
export enum TimeFrame {
H12 = '12h',
D1 = '1d',
D5 = '5d',
W1 = '1w',
D15 = '15d',
M1 = '1m',
M6 = '6m',
Y1 = '1y',
Y5 = '5y',
Y10 = '10y',
Y20 = '20y',
MAX = 'Max'
}
export interface HistoryPoint {
timestamp: number;
price: number;
}
export interface QuoteData {
price: number;
change24h: number; // Percentage
change24hAbs: number; // Absolute value
high24h: number;
low24h: number;
marketCap?: number; // Optional Market Cap
lastUpdate: number;
}
export interface MarketState {
currentPairId: string;
rateType: RateType;
timeFrame: TimeFrame;
quote: QuoteData | null;
history: HistoryPoint[];
isLoading: boolean;
isError: boolean;
lastFetch: number;
}