eslint ./src/actions

pull/86/head
Szymon Lesisz 6 years ago
parent d684eec819
commit ef235e6ab8

@ -1,7 +1,7 @@
/* @flow */ /* @flow */
import * as ACCOUNT from 'actions/constants/account'; import * as ACCOUNT from 'actions/constants/account';
import type { Action, TrezorDevice } from 'flowtype'; import type { Action } from 'flowtype';
import type { Account, State } from 'reducers/AccountsReducer'; import type { Account, State } from 'reducers/AccountsReducer';
export type AccountFromStorageAction = { export type AccountFromStorageAction = {
@ -60,5 +60,5 @@ export const setNonce = (address: string, network: string, deviceState: string,
export const update = (account: Account): Action => ({ export const update = (account: Account): Action => ({
type: ACCOUNT.UPDATE, type: ACCOUNT.UPDATE,
payload: account payload: account,
}); });

@ -48,7 +48,7 @@ export const showUnverifiedAddress = (): Action => ({
}); });
//export const showAddress = (address_n: string): AsyncAction => { //export const showAddress = (address_n: string): AsyncAction => {
export const showAddress = (address_n: Array<number>): AsyncAction => async (dispatch: Dispatch, getState: GetState): Promise<void> => { export const showAddress = (path: Array<number>): AsyncAction => async (dispatch: Dispatch, getState: GetState): Promise<void> => {
const selected = getState().wallet.selectedDevice; const selected = getState().wallet.selectedDevice;
if (!selected) return; if (!selected) return;
@ -66,7 +66,7 @@ export const showAddress = (address_n: Array<number>): AsyncAction => async (dis
instance: selected.instance, instance: selected.instance,
state: selected.state, state: selected.state,
}, },
path: address_n, path,
useEmptyPassphrase: !selected.instance, useEmptyPassphrase: !selected.instance,
}); });
@ -90,7 +90,7 @@ export const showAddress = (address_n: Array<number>): AsyncAction => async (dis
{ {
label: 'Try again', label: 'Try again',
callback: () => { callback: () => {
dispatch(showAddress(address_n)); dispatch(showAddress(path));
}, },
}, },
], ],

@ -27,7 +27,8 @@ export type TokenAction = {
// action from component <reactSelect> // action from component <reactSelect>
export const load = (input: string, network: string): AsyncAction => async (dispatch: Dispatch, getState: GetState): Promise<any> => { export const load = ($input: string, network: string): AsyncAction => async (dispatch: Dispatch, getState: GetState): Promise<any> => {
let input = $input;
if (input.length < 1) input = '0x'; if (input.length < 1) input = '0x';
const tokens = getState().localStorage.tokens[network]; const tokens = getState().localStorage.tokens[network];
@ -43,10 +44,12 @@ export const load = (input: string, network: string): AsyncAction => async (disp
return result.slice(0, 100); return result.slice(0, 100);
} }
const info = await dispatch( BlockchainActions.getTokenInfo(input, network) ); const info = await dispatch(BlockchainActions.getTokenInfo(input, network));
if (info) { if (info) {
return [info]; return [info];
} }
return null;
}; };
export const setBalance = (tokenAddress: string, ethAddress: string, balance: string): AsyncAction => async (dispatch: Dispatch, getState: GetState): Promise<void> => { export const setBalance = (tokenAddress: string, ethAddress: string, balance: string): AsyncAction => async (dispatch: Dispatch, getState: GetState): Promise<void> => {
@ -63,7 +66,7 @@ export const setBalance = (tokenAddress: string, ethAddress: string, balance: st
}); });
}; };
export const add = (token: NetworkToken, account: Account): AsyncAction => async (dispatch: Dispatch, getState: GetState): Promise<void> => { export const add = (token: NetworkToken, account: Account): AsyncAction => async (dispatch: Dispatch): Promise<void> => {
const tkn: Token = { const tkn: Token = {
loaded: false, loaded: false,
deviceState: account.deviceState, deviceState: account.deviceState,
@ -81,7 +84,7 @@ export const add = (token: NetworkToken, account: Account): AsyncAction => async
payload: tkn, payload: tkn,
}); });
const tokenBalance = await dispatch( BlockchainActions.getTokenBalance(tkn) ); const tokenBalance = await dispatch(BlockchainActions.getTokenBalance(tkn));
dispatch(setBalance(token.address, account.address, tokenBalance)); dispatch(setBalance(token.address, account.address, tokenBalance));
}; };

@ -3,19 +3,15 @@
import EthereumjsTx from 'ethereumjs-tx'; import EthereumjsTx from 'ethereumjs-tx';
import EthereumjsUnits from 'ethereumjs-units'; import EthereumjsUnits from 'ethereumjs-units';
import BigNumber from 'bignumber.js'; import BigNumber from 'bignumber.js';
import { toHex } from 'web3-utils'; import { toHex } from 'web3-utils'; // eslint-disable-line import/no-extraneous-dependencies
import { initWeb3 } from './Web3Actions'; import { initWeb3 } from 'actions/Web3Actions';
import type { import type {
Dispatch, Dispatch,
GetState,
PromiseAction, PromiseAction,
} from 'flowtype'; } from 'flowtype';
import type { import type { EthereumTransaction } from 'trezor-connect';
EthereumTransaction
} from 'trezor-connect';
import type { Token } from 'reducers/TokensReducer'; import type { Token } from 'reducers/TokensReducer';
type EthereumTxRequest = { type EthereumTxRequest = {
@ -30,19 +26,18 @@ type EthereumTxRequest = {
nonce: number; nonce: number;
} }
export const prepareEthereumTx = (tx: EthereumTxRequest): PromiseAction<EthereumTransaction> => async (dispatch: Dispatch): Promise<EthereumTransaction> => {
export const prepareEthereumTx = (tx: EthereumTxRequest): PromiseAction<EthereumTransaction> => async (dispatch: Dispatch, getState: GetState): Promise<EthereumTransaction> => { const instance = await dispatch(initWeb3(tx.network));
const instance = await dispatch( initWeb3(tx.network) ); const { token } = tx;
const token = tx.token;
let data: string = `0x${tx.data}`; // TODO: check if already prefixed let data: string = `0x${tx.data}`; // TODO: check if already prefixed
let value: string = toHex( EthereumjsUnits.convert(tx.amount, 'ether', 'wei') ); let value: string = toHex(EthereumjsUnits.convert(tx.amount, 'ether', 'wei'));
let to: string = tx.to; let to: string = tx.to; // eslint-disable-line prefer-destructuring
if (token) { if (token) {
// smart contract transaction // smart contract transaction
const contract = instance.erc20.clone(); const contract = instance.erc20.clone();
contract.options.address = token.address; contract.options.address = token.address;
const tokenAmount: string = new BigNumber(tx.amount).times(Math.pow(10, token.decimals)).toString(10); const tokenAmount: string = new BigNumber(tx.amount).times(10 ** token.decimals).toString(10);
data = instance.erc20.methods.transfer(to, tokenAmount).encodeABI(); data = instance.erc20.methods.transfer(to, tokenAmount).encodeABI();
value = '0x00'; value = '0x00';
to = token.address; to = token.address;
@ -55,15 +50,14 @@ export const prepareEthereumTx = (tx: EthereumTxRequest): PromiseAction<Ethereum
chainId: instance.chainId, chainId: instance.chainId,
nonce: toHex(tx.nonce), nonce: toHex(tx.nonce),
gasLimit: toHex(tx.gasLimit), gasLimit: toHex(tx.gasLimit),
gasPrice: toHex( EthereumjsUnits.convert(tx.gasPrice, 'gwei', 'wei') ), gasPrice: toHex(EthereumjsUnits.convert(tx.gasPrice, 'gwei', 'wei')),
r: '', r: '',
s: '', s: '',
v: '', v: '',
} };
}; };
export const serializeEthereumTx = (tx: EthereumTransaction): PromiseAction<string> => async (dispatch: Dispatch, getState: GetState): Promise<string> => { export const serializeEthereumTx = (tx: EthereumTransaction): PromiseAction<string> => async (): Promise<string> => {
const ethTx = new EthereumjsTx(tx); const ethTx = new EthereumjsTx(tx);
return `0x${ ethTx.serialize().toString('hex') }`; return `0x${ethTx.serialize().toString('hex')}`;
// return toHex( ethTx.serialize() ); };
}

@ -6,10 +6,6 @@ import * as WALLET from 'actions/constants/wallet';
import * as stateUtils from 'reducers/utils'; import * as stateUtils from 'reducers/utils';
import type { import type {
Account,
Coin,
Discovery,
Token,
Device, Device,
TrezorDevice, TrezorDevice,
RouterLocationState, RouterLocationState,

Loading…
Cancel
Save