types.ts
1 import { CCResponse } from 'api/rates'; 2 3 export enum RatesActions { 4 CC_REQUESTED = 'RATES_FETCH_CC_REQUESTED', 5 CC_FAILED = 'RATES_FETCH_CC_FAILED', 6 CC_SUCCEEDED = 'RATES_FETCH_CC_SUCCEEDED' 7 } 8 9 // SYMBOL -> PRICE TO BUY 1 ETH 10 export interface RatesState { 11 rates: { [symbol: string]: CCResponse['rates'] }; 12 ratesError?: string | null; 13 } 14 15 export interface FetchCCRatesRequested { 16 type: RatesActions.CC_REQUESTED; 17 payload: string[]; 18 } 19 20 export interface FetchCCRatesSucceeded { 21 type: RatesActions.CC_SUCCEEDED; 22 payload: CCResponse; 23 } 24 25 export interface FetchCCRatesFailed { 26 type: RatesActions.CC_FAILED; 27 } 28 29 export type RatesAction = FetchCCRatesRequested | FetchCCRatesSucceeded | FetchCCRatesFailed;