Discard signed message after leaving tab (#2056)

This commit is contained in:
mwbailey 2018-07-18 15:05:41 -07:00 committed by Daniel Ternyak
parent e242d0960c
commit 48304699a1
4 changed files with 29 additions and 3 deletions

View File

@ -18,6 +18,7 @@ interface Props {
signMessageRequested: messageActions.TSignMessageRequested;
signedMessage: ISignedMessage | null;
resetWallet: walletActions.TResetWallet;
resetMessage: messageActions.TResetMessage;
}
interface State {
@ -35,6 +36,7 @@ export class SignMessage extends Component<Props, State> {
public componentWillUnmount() {
this.props.resetWallet();
this.props.resetMessage();
}
public render() {
@ -97,6 +99,8 @@ export class SignMessage extends Component<Props, State> {
private changeWallet = () => {
this.props.resetWallet();
this.props.resetMessage();
this.setState(initialState);
};
}
@ -107,5 +111,6 @@ const mapStateToProps = (state: AppState) => ({
export default connect(mapStateToProps, {
signMessageRequested: messageActions.signMessageRequested,
resetWallet: walletActions.resetWallet
resetWallet: walletActions.resetWallet,
resetMessage: messageActions.resetMessage
})(SignMessage);

View File

@ -25,3 +25,10 @@ export function signMessageFailed(): types.SignMessageFailedAction {
type: types.MessageActions.SIGN_FAILED
};
}
export type TResetMessage = typeof resetMessage;
export function resetMessage(): types.ResetMessageAction {
return {
type: types.MessageActions.RESET
};
}

View File

@ -21,6 +21,12 @@ function signMessageFailed(state: types.MessageState): types.MessageState {
};
}
function resetMessage(): types.MessageState {
return {
...INITIAL_STATE
};
}
export function messageReducer(
state: types.MessageState = INITIAL_STATE,
action: types.MessageAction
@ -30,6 +36,8 @@ export function messageReducer(
return signLocalMessageSucceeded(state, action);
case types.MessageActions.SIGN_FAILED:
return signMessageFailed(state);
case types.MessageActions.RESET:
return resetMessage();
default:
return state;
}

View File

@ -3,7 +3,8 @@ import { ISignedMessage } from 'libs/signing';
export enum MessageActions {
SIGN_REQUESTED = 'MESSAGE_SIGN_REQUESTED',
SIGN_LOCAL_SUCCEEDED = 'MESSAGE_SIGN_LOCAL_SUCCEEDED',
SIGN_FAILED = 'MESSAGE_SIGN_FAILED'
SIGN_FAILED = 'MESSAGE_SIGN_FAILED',
RESET = 'MESSAGE_RESET'
}
export interface MessageState {
@ -24,7 +25,12 @@ export interface SignMessageFailedAction {
type: MessageActions.SIGN_FAILED;
}
export interface ResetMessageAction {
type: MessageActions.RESET;
}
export type MessageAction =
| SignMessageRequestedAction
| SignLocalMessageSucceededAction
| SignMessageFailedAction;
| SignMessageFailedAction
| ResetMessageAction;