/ common / features / rates / types.ts
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;