You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.8 KiB
56 lines
1.8 KiB
6 years ago
|
import { connect } from 'react-redux'
|
||
|
import { compose } from 'recompose'
|
||
|
import R from 'ramda'
|
||
|
import { multiplyCurrencies } from '../../../conversion-util'
|
||
|
import { bnToHex } from '../../../helpers/conversions.util'
|
||
|
import withModalProps from '../../../higher-order-components/with-modal-props'
|
||
|
import CancelTransaction from './cancel-transaction.component'
|
||
|
import { showModal, hideModal, createCancelTransaction } from '../../../actions'
|
||
|
|
||
|
const mapStateToProps = (state, ownProps) => {
|
||
|
const { metamask } = state
|
||
|
const { transactionId, originalGasPrice } = ownProps
|
||
|
const { selectedAddressTxList } = metamask
|
||
|
const transaction = R.find(({ id }) => id === transactionId)(selectedAddressTxList)
|
||
|
const transactionStatus = transaction ? transaction.status : ''
|
||
|
|
||
|
const defaultNewGasPrice = bnToHex(multiplyCurrencies(originalGasPrice, 1.1))
|
||
|
|
||
|
return {
|
||
|
transactionId,
|
||
|
transactionStatus,
|
||
|
originalGasPrice,
|
||
|
defaultNewGasPrice,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const mapDispatchToProps = dispatch => {
|
||
|
return {
|
||
|
hideModal: () => dispatch(hideModal()),
|
||
|
createCancelTransaction: txId => dispatch(createCancelTransaction(txId)),
|
||
|
showTransactionConfirmedModal: () => dispatch(showModal({ name: 'TRANSACTION_CONFIRMED' })),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const mergeProps = (stateProps, dispatchProps, ownProps) => {
|
||
|
const { transactionId, ...restStateProps } = stateProps
|
||
|
const {
|
||
|
createCancelTransaction: dispatchCreateCancelTransaction,
|
||
|
...restDispatchProps
|
||
|
} = dispatchProps
|
||
|
|
||
|
return {
|
||
|
...restStateProps,
|
||
|
...restDispatchProps,
|
||
|
...ownProps,
|
||
|
createCancelTransaction: newGasPrice => {
|
||
|
return dispatchCreateCancelTransaction(transactionId, newGasPrice)
|
||
|
},
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export default compose(
|
||
|
withModalProps,
|
||
|
connect(mapStateToProps, mapDispatchToProps, mergeProps),
|
||
|
)(CancelTransaction)
|