1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-02 14:15:06 +01:00
metamask-extension/ui/pages/send/send-content/send-content.container.js
2021-07-05 01:09:19 -07:00

58 lines
1.4 KiB
JavaScript

import { connect } from 'react-redux';
import {
accountsWithSendEtherInfoSelector,
getAddressBookEntry,
getIsEthGasPriceFetched,
getNoGasPriceFetched,
} from '../../../selectors';
import { getIsAssetSendable, getSendTo } from '../../../ducks/send';
import * as actions from '../../../store/actions';
import SendContent from './send-content.component';
function mapStateToProps(state) {
const ownedAccounts = accountsWithSendEtherInfoSelector(state);
const to = getSendTo(state);
return {
isAssetSendable: getIsAssetSendable(state),
isOwnedAccount: Boolean(
ownedAccounts.find(
({ address }) => address.toLowerCase() === to.toLowerCase(),
),
),
contact: getAddressBookEntry(state, to),
isEthGasPrice: getIsEthGasPriceFetched(state),
noGasPrice: getNoGasPriceFetched(state),
to,
};
}
function mapDispatchToProps(dispatch) {
return {
showAddToAddressBookModal: (recipient) =>
dispatch(
actions.showModal({
name: 'ADD_TO_ADDRESSBOOK',
recipient,
}),
),
};
}
function mergeProps(stateProps, dispatchProps, ownProps) {
const { to, ...restStateProps } = stateProps;
return {
...ownProps,
...restStateProps,
showAddToAddressBookModal: () =>
dispatchProps.showAddToAddressBookModal(to),
};
}
export default connect(
mapStateToProps,
mapDispatchToProps,
mergeProps,
)(SendContent);