types.ts
1 import { transactionBroadcastTypes } from './broadcast'; 2 import { transactionFieldsTypes } from './fields'; 3 import { transactionMetaTypes } from './meta'; 4 import { transactionNetworkTypes } from './network'; 5 import { transactionSignTypes } from './sign'; 6 7 export enum TransactionActions { 8 CURRENT_VALUE_SET = 'TRANSACTION_CURRENT_VALUE_SET', 9 CURRENT_TO_SET = 'TRANSACTION_CURRENT_TO_SET', 10 TOKEN_TO_ETHER_SWAP = 'TRANSACTION_TOKEN_TO_ETHER_SWAP', 11 ETHER_TO_TOKEN_SWAP = 'TRANSACTION_ETHER_TO_TOKEN_SWAP', 12 TOKEN_TO_TOKEN_SWAP = 'TRANSACTION_TOKEN_TO_TOKEN_SWAP', 13 SEND_EVERYTHING_REQUESTED = 'TRANSACTION_SEND_EVERYTHING_REQUESTED', 14 SEND_EVERYTHING_SUCCEEDED = 'TRANSACTION_SEND_EVERYTHING_SUCCEEDED', 15 SEND_EVERYTHING_FAILED = 'TRANSACTION_SEND_EVERYTHING_FAILED', 16 RESET_REQUESTED = 'TRANSACTION_RESET_REQUESTED', 17 RESET_SUCCESSFUL = 'TRANSACTION_RESET_SUCCESSFUL' 18 } 19 20 export interface TransactionState { 21 broadcast: transactionBroadcastTypes.TransactionBroadcastState; 22 fields: transactionFieldsTypes.TransactionFieldsState; 23 meta: transactionMetaTypes.TransactionMetaState; 24 network: transactionNetworkTypes.TransactionNetworkState; 25 sign: transactionSignTypes.TransactionSignState; 26 } 27 28 export interface SetCurrentValueAction { 29 type: TransactionActions.CURRENT_VALUE_SET; 30 payload: string; 31 } 32 33 export interface SetCurrentToAction { 34 type: TransactionActions.CURRENT_TO_SET; 35 payload: string; 36 } 37 38 export type CurrentAction = SetCurrentValueAction | SetCurrentToAction; 39 40 //#region Send Everything 41 export interface SendEverythingRequestedAction { 42 type: TransactionActions.SEND_EVERYTHING_REQUESTED; 43 } 44 export interface SendEverythingSucceededAction { 45 type: TransactionActions.SEND_EVERYTHING_SUCCEEDED; 46 } 47 export interface SendEverythingFailedAction { 48 type: TransactionActions.SEND_EVERYTHING_FAILED; 49 } 50 51 export type SendEverythingAction = 52 | SendEverythingRequestedAction 53 | SendEverythingSucceededAction 54 | SendEverythingFailedAction; 55 //#endregion Send Everything 56 57 //#region Swap 58 export interface SwapTokenToEtherAction { 59 type: TransactionActions.TOKEN_TO_ETHER_SWAP; 60 payload: { 61 to: transactionFieldsTypes.SetToFieldAction['payload']; 62 value: transactionFieldsTypes.SetValueFieldAction['payload']; 63 decimal: number; 64 }; 65 } 66 export interface SwapEtherToTokenAction { 67 type: TransactionActions.ETHER_TO_TOKEN_SWAP; 68 payload: { 69 to: transactionFieldsTypes.SetToFieldAction['payload']; 70 data: transactionFieldsTypes.SetDataFieldAction['payload']; 71 tokenTo: transactionMetaTypes.SetTokenToMetaAction['payload']; 72 tokenValue: transactionMetaTypes.SetTokenValueMetaAction['payload']; 73 decimal: number; 74 }; 75 } 76 export interface SwapTokenToTokenAction { 77 type: TransactionActions.TOKEN_TO_TOKEN_SWAP; 78 payload: { 79 to: transactionFieldsTypes.SetToFieldAction['payload']; 80 data: transactionFieldsTypes.SetDataFieldAction['payload']; 81 tokenValue: transactionMetaTypes.SetTokenValueMetaAction['payload']; 82 decimal: number; 83 }; 84 } 85 export type SwapAction = SwapEtherToTokenAction | SwapTokenToEtherAction | SwapTokenToTokenAction; 86 //#endregion Swap 87 88 export interface ResetTransactionRequestedAction { 89 type: TransactionActions.RESET_REQUESTED; 90 } 91 92 export interface ResetTransactionSuccessfulAction { 93 type: TransactionActions.RESET_SUCCESSFUL; 94 payload: { isContractInteraction: boolean }; 95 } 96 97 export type TransactionAction = 98 | transactionBroadcastTypes.TransactionBroadcastAction 99 | transactionFieldsTypes.InputFieldAction 100 | transactionFieldsTypes.TransactionFieldAction 101 | transactionMetaTypes.TransactionMetaAction 102 | transactionNetworkTypes.TransactionNetworkAction 103 | transactionSignTypes.TransactionSignAction 104 | SwapAction 105 | ResetTransactionRequestedAction 106 | ResetTransactionSuccessfulAction 107 | CurrentAction 108 | SendEverythingAction;