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:
parent
ec97e078b7
commit
e0f5cbf709
@ -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`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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 => {
|
||||||
|
@ -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> => {
|
||||||
|
Loading…
Reference in New Issue
Block a user