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

sendform address label + forget_sigle device (remove accounts) bugfix

This commit is contained in:
Szymon Lesisz 2018-05-11 16:45:10 +02:00
parent ec97e078b7
commit e0f5cbf709
3 changed files with 21 additions and 8 deletions

View File

@ -17,7 +17,7 @@ import BigNumber from 'bignumber.js';
import { initialState } from '../reducers/SendFormReducer'; import { initialState } from '../reducers/SendFormReducer';
import { findAccount } from '../reducers/AccountsReducer'; import { findAccount } from '../reducers/AccountsReducer';
import { findToken } from '../reducers/TokensReducer'; import { findToken } from '../reducers/TokensReducer';
import { findSelectedDevice } from '../reducers/TrezorConnectReducer'; import { findSelectedDevice, findDevice } from '../reducers/TrezorConnectReducer';
import type { import type {
Dispatch, Dispatch,
@ -269,10 +269,13 @@ export const validation = (): ThunkAction => {
// corner-case: when same derivation path is used on different networks // corner-case: when same derivation path is used on different networks
const currentNetworkAccount = savedAccounts.find(a => a.network === accountState.network); const currentNetworkAccount = savedAccounts.find(a => a.network === accountState.network);
if (currentNetworkAccount) { if (currentNetworkAccount) {
infos.address = `TREZOR Address #${ (currentNetworkAccount.index + 1) }`; const device: ?TrezorDevice = findDevice(getState().connect, currentNetworkAccount.deviceID, currentNetworkAccount.deviceState);
if (!device) return;
infos.address = `${ device.instanceLabel } Account #${ (currentNetworkAccount.index + 1) }`;
} else { } else {
// TODO: load coins from config const device: ?TrezorDevice = findDevice(getState().connect, savedAccounts[0].deviceID, savedAccounts[0].deviceState);
warnings.address = `Looks like it's TREZOR address in Account #${ (savedAccounts[0].index + 1) } of ${ savedAccounts[0].network.toUpperCase() } network`; if (!device) return;
warnings.address = `Looks like it's ${ device.instanceLabel } Account #${ (savedAccounts[0].index + 1) } address of ${ savedAccounts[0].network.toUpperCase() } network`;
} }
} }
} }

View File

@ -35,12 +35,12 @@ const createAccount = (state: State, action: AccountCreateAction): State => {
// TODO check with device_id // TODO check with device_id
// check if account was created before // check if account was created before
const exist: ?Account = state.find((account: Account) => account.address === action.address && account.network === action.network && action.device.features && account.deviceID === action.device.features.device_id); const exist: ?Account = state.find(account => account.address === action.address && account.network === action.network && action.device.features && account.deviceID === action.device.features.device_id);
if (exist) { if (exist) {
return state; return state;
} }
const address: Account = { const account: Account = {
loaded: false, loaded: false,
network: action.network, network: action.network,
deviceID: action.device.features ? action.device.features.device_id : '0', deviceID: action.device.features ? action.device.features.device_id : '0',
@ -53,12 +53,13 @@ const createAccount = (state: State, action: AccountCreateAction): State => {
} }
const newState: State = [ ...state ]; const newState: State = [ ...state ];
newState.push(address); newState.push(account);
return newState; return newState;
} }
const removeAccounts = (state: State, device: TrezorDevice): State => { const removeAccounts = (state: State, device: TrezorDevice): State => {
return state.filter(account => device.features && account.deviceID !== device.features.device_id); //return state.filter(account => device.features && account.deviceID !== device.features.device_id);
return state.filter(account => account.deviceState !== device.state);
} }
// const forgetAccounts = (state: State, action: any): State => { // const forgetAccounts = (state: State, action: any): State => {

View File

@ -55,6 +55,15 @@ export const findSelectedDevice = (state: State): ?TrezorDevice => {
}); });
} }
export const findDevice = (state: State, deviceId: string, deviceState: string): ?TrezorDevice => {
return state.devices.find(d => {
if (d.features && d.features.device_id === deviceId && d.state === deviceState){
return true;
}
return false;
});
}
export const isSavedDevice = (state: State, device: any): ?Array<TrezorDevice> => { export const isSavedDevice = (state: State, device: any): ?Array<TrezorDevice> => {