|
|
|
import { connect } from 'react-redux'
|
|
|
|
import { showModal } from '../../../actions'
|
|
|
|
import {
|
|
|
|
decGWEIToHexWEI,
|
|
|
|
decimalToHex,
|
|
|
|
hexWEIToDecGWEI,
|
|
|
|
} from '../../../helpers/conversions.util'
|
|
|
|
import AdvancedGasInputs from './advanced-gas-inputs.component'
|
|
|
|
|
|
|
|
function convertGasPriceForInputs (gasPriceInHexWEI) {
|
|
|
|
return Number(hexWEIToDecGWEI(gasPriceInHexWEI))
|
|
|
|
}
|
|
|
|
|
|
|
|
function convertGasLimitForInputs (gasLimitInHexWEI) {
|
|
|
|
return parseInt(gasLimitInHexWEI, 16)
|
|
|
|
}
|
|
|
|
|
|
|
|
const mapDispatchToProps = dispatch => {
|
|
|
|
return {
|
|
|
|
showGasPriceInfoModal: modalName => dispatch(showModal({ name: 'GAS_PRICE_INFO_MODAL' })),
|
|
|
|
showGasLimitInfoModal: modalName => dispatch(showModal({ name: 'GAS_LIMIT_INFO_MODAL' })),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
const mergeProps = (stateProps, dispatchProps, ownProps) => {
|
|
|
|
const {customGasPrice, customGasLimit, updateCustomGasPrice, updateCustomGasLimit} = ownProps
|
|
|
|
return {
|
|
|
|
...stateProps,
|
|
|
|
...dispatchProps,
|
|
|
|
...ownProps,
|
|
|
|
customGasPrice: convertGasPriceForInputs(customGasPrice),
|
|
|
|
customGasLimit: convertGasLimitForInputs(customGasLimit),
|
|
|
|
updateCustomGasPrice: (price) => updateCustomGasPrice(decGWEIToHexWEI(price)),
|
|
|
|
updateCustomGasLimit: (limit) => updateCustomGasLimit(decimalToHex(limit)),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default connect(null, mapDispatchToProps, mergeProps)(AdvancedGasInputs)
|