import React from 'react'; import translate from 'translations'; import { ISignedMessage } from 'libs/signing'; import { IFullWallet } from 'libs/wallet'; import { TShowNotification } from 'actions/notifications'; interface Props { wallet: IFullWallet; message: string; showNotification: TShowNotification; onSignMessage(msg: ISignedMessage): any; } export default class SignMessageButton extends React.Component { public render() { return ( ); } private handleSignMessage = async () => { const { wallet, message, showNotification, onSignMessage } = this.props; try { const signedMessage: ISignedMessage = { address: wallet.getAddressString(), msg: message, sig: await wallet.signMessage(message), version: '2' }; onSignMessage(signedMessage); showNotification( 'success', translate('SIGN_MSG_SUCCESS', { $address: signedMessage.address }) ); } catch (err) { showNotification('danger', translate('SIGN_MSG_FAIL', { $err: err.message })); } }; }