/ embark-ui / src / containers / SignAndVerifyContainer.js
SignAndVerifyContainer.js
 1  import React, { Component }  from 'react';
 2  import {connect} from 'react-redux';
 3  import SignAndVerify from '../components/SignAndVerify';
 4  import {
 5    accounts as accountsAction,
 6    signMessage as signMessageAction,
 7    verifyMessage as verifyMessageAction
 8  } from '../actions';
 9  import {getAccounts} from "../reducers/selectors";
10  import {
11    getMessageSignaturePayload,
12    getMessageSignaturePendingState,
13    getMessageSignatureError,
14    getVerifiedAddressPayload,
15    getVerificationPendingState,
16    getVerificationError
17  } from '../reducers/selectors';
18  
19  class SignAndVerifyContainer extends Component {
20  
21    componentDidMount() {
22      this.props.fetchAccounts();
23    }
24  
25    render() {
26      return (
27        <React.Fragment>
28          {this.props.accounts.length &&
29            <SignAndVerify accounts={this.props.accounts}
30                           signMessage={this.props.signMessage}
31                           verifyMessage={this.props.verifyMessage}
32                           signedMessage={this.props.signedMessage}
33                           verifiedAddress={this.props.verifiedAddress}
34                           signaturePending={this.props.signaturePending}
35                           signatureError={this.props.signatureError}
36                           verificationPending={this.props.verificationPending}
37                           verificationError={this.props.verificationError}/>}
38        </React.Fragment>
39      )
40    }
41  }
42  
43  function mapStateToProps(state) {
44    return {
45      accounts: getAccounts(state),
46      signedMessage: getMessageSignaturePayload(state),
47      verifiedAddress: getVerifiedAddressPayload(state),
48      signaturePending: getMessageSignaturePendingState(state),
49      signatureError: getMessageSignatureError(state),
50      verificationPending: getVerificationPendingState(state),
51      verificationError: getVerificationError(state)
52    };
53  }
54  
55  export default connect(
56    mapStateToProps,
57    {
58      fetchAccounts: accountsAction.request,
59      signMessage: signMessageAction.request,
60      verifyMessage: verifyMessageAction.request
61    }
62  )(SignAndVerifyContainer);