1
0
mirror of https://github.com/trezor/trezor-wallet synced 2024-11-28 03:08:30 +00:00

eslint ./src/actions 2

This commit is contained in:
Szymon Lesisz 2018-09-23 09:13:09 +02:00
parent ef235e6ab8
commit b36b9667e4
2 changed files with 16 additions and 25 deletions

View File

@ -9,10 +9,7 @@ import type {
ThunkAction, AsyncAction, PromiseAction, Action, GetState, Dispatch, TrezorDevice, ThunkAction, AsyncAction, PromiseAction, Action, GetState, Dispatch, TrezorDevice,
} from 'flowtype'; } from 'flowtype';
import type { Discovery, State } from 'reducers/DiscoveryReducer'; import type { Discovery, State } from 'reducers/DiscoveryReducer';
import * as AccountsActions from './AccountsActions';
import * as BlockchainActions from './BlockchainActions'; import * as BlockchainActions from './BlockchainActions';
import { setBalance as setTokenBalance } from './TokenActions';
export type DiscoveryStartAction = { export type DiscoveryStartAction = {
type: typeof DISCOVERY.START, type: typeof DISCOVERY.START,
@ -65,7 +62,7 @@ export const start = (device: TrezorDevice, network: string, ignoreCompleted?: b
return; return;
} }
const discovery: State = getState().discovery; const { discovery } = getState();
const discoveryProcess: ?Discovery = discovery.find(d => d.deviceState === device.state && d.network === network); const discoveryProcess: ?Discovery = discovery.find(d => d.deviceState === device.state && d.network === network);
if (!selected.connected && (!discoveryProcess || !discoveryProcess.completed)) { if (!selected.connected && (!discoveryProcess || !discoveryProcess.completed)) {
@ -88,7 +85,7 @@ export const start = (device: TrezorDevice, network: string, ignoreCompleted?: b
} }
if (!discoveryProcess) { if (!discoveryProcess) {
dispatch(begin(device, network)) dispatch(begin(device, network));
} else if (discoveryProcess.completed && !ignoreCompleted) { } else if (discoveryProcess.completed && !ignoreCompleted) {
dispatch({ dispatch({
type: DISCOVERY.COMPLETE, type: DISCOVERY.COMPLETE,
@ -172,9 +169,8 @@ const begin = (device: TrezorDevice, network: string): AsyncAction => async (dis
dispatch(start(device, network)); dispatch(start(device, network));
}; };
const discoverAccount = (device: TrezorDevice, discoveryProcess: Discovery): AsyncAction => async (dispatch: Dispatch, getState: GetState): Promise<void> => { const discoverAccount = (device: TrezorDevice, discoveryProcess: Discovery): AsyncAction => async (dispatch: Dispatch): Promise<void> => {
const { completed } = discoveryProcess; const { completed } = discoveryProcess;
discoveryProcess.completed = false;
const derivedKey = discoveryProcess.hdKey.derive(`m/${discoveryProcess.accountIndex}`); const derivedKey = discoveryProcess.hdKey.derive(`m/${discoveryProcess.accountIndex}`);
const path = discoveryProcess.basePath.concat(discoveryProcess.accountIndex); const path = discoveryProcess.basePath.concat(discoveryProcess.accountIndex);
@ -183,15 +179,13 @@ const discoverAccount = (device: TrezorDevice, discoveryProcess: Discovery): Asy
const { network } = discoveryProcess; const { network } = discoveryProcess;
// TODO: check if address was created before // TODO: check if address was created before
try { try {
const account = await dispatch( BlockchainActions.discoverAccount(device, ethAddress, network) ); const account = await dispatch(BlockchainActions.discoverAccount(device, ethAddress, network));
if (discoveryProcess.interrupted) return; if (discoveryProcess.interrupted) return;
// const accountIsEmpty = account.transactions <= 0 && account.nonce <= 0 && account.balance === '0'; // const accountIsEmpty = account.transactions <= 0 && account.nonce <= 0 && account.balance === '0';
const accountIsEmpty = account.nonce <= 0 && account.balance === '0'; const accountIsEmpty = account.nonce <= 0 && account.balance === '0';
if (!accountIsEmpty || (accountIsEmpty && completed) || (accountIsEmpty && discoveryProcess.accountIndex === 0)) { if (!accountIsEmpty || (accountIsEmpty && completed) || (accountIsEmpty && discoveryProcess.accountIndex === 0)) {
dispatch({ dispatch({
type: ACCOUNT.CREATE, type: ACCOUNT.CREATE,
payload: { payload: {
@ -205,22 +199,20 @@ const discoverAccount = (device: TrezorDevice, discoveryProcess: Discovery): Asy
balance: account.balance, balance: account.balance,
nonce: account.nonce, nonce: account.nonce,
block: account.block, block: account.block,
transactions: account.transactions transactions: account.transactions,
} },
}); });
} }
if (accountIsEmpty) { if (accountIsEmpty) {
dispatch( finish(device, discoveryProcess) ); dispatch(finish(device, discoveryProcess));
} else { } else if (!completed) {
if (!completed) { dispatch( discoverAccount(device, discoveryProcess) ); } dispatch(discoverAccount(device, discoveryProcess));
} }
} catch (error) { } catch (error) {
dispatch({ dispatch({
type: DISCOVERY.STOP, type: DISCOVERY.STOP,
device device,
}); });
dispatch({ dispatch({
@ -243,7 +235,7 @@ const discoverAccount = (device: TrezorDevice, discoveryProcess: Discovery): Asy
} }
}; };
const finish = (device: TrezorDevice, discoveryProcess: Discovery): AsyncAction => async (dispatch: Dispatch, getState: GetState): Promise<void> => { const finish = (device: TrezorDevice, discoveryProcess: Discovery): AsyncAction => async (dispatch: Dispatch): Promise<void> => {
await TrezorConnect.getFeatures({ await TrezorConnect.getFeatures({
device: { device: {
path: device.path, path: device.path,
@ -254,7 +246,7 @@ const finish = (device: TrezorDevice, discoveryProcess: Discovery): AsyncAction
useEmptyPassphrase: !device.instance, useEmptyPassphrase: !device.instance,
}); });
await dispatch( BlockchainActions.subscribe(discoveryProcess.network) ); await dispatch(BlockchainActions.subscribe(discoveryProcess.network));
if (discoveryProcess.interrupted) return; if (discoveryProcess.interrupted) return;
@ -263,13 +255,12 @@ const finish = (device: TrezorDevice, discoveryProcess: Discovery): AsyncAction
device, device,
network: discoveryProcess.network, network: discoveryProcess.network,
}); });
};
} export const reconnect = (network: string): PromiseAction<void> => async (dispatch: Dispatch): Promise<void> => {
export const reconnect = (network: string): PromiseAction<void> => async (dispatch: Dispatch, getState: GetState): Promise<void> => {
await dispatch(BlockchainActions.subscribe(network)); await dispatch(BlockchainActions.subscribe(network));
dispatch(restore()); dispatch(restore());
} };
export const restore = (): ThunkAction => (dispatch: Dispatch, getState: GetState): void => { export const restore = (): ThunkAction => (dispatch: Dispatch, getState: GetState): void => {
const selected = getState().wallet.selectedDevice; const selected = getState().wallet.selectedDevice;

View File

@ -25,7 +25,7 @@ export const onPinSubmit = (value: string): Action => {
}; };
export const onPassphraseSubmit = (passphrase: string): AsyncAction => async (dispatch: Dispatch): Promise<void> => { export const onPassphraseSubmit = (passphrase: string): AsyncAction => async (dispatch: Dispatch): Promise<void> => {
const resp = await TrezorConnect.uiResponse({ await TrezorConnect.uiResponse({
type: UI.RECEIVE_PASSPHRASE, type: UI.RECEIVE_PASSPHRASE,
payload: { payload: {
value: passphrase, value: passphrase,