1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-24 11:01:41 +01:00
metamask-extension/ui/components/app/gas-customization/advanced-gas-inputs/advanced-gas-inputs.container.js
Dan J Miller 9fa15dda6f
Support for Layer 2 networks with transaction fees on both layers (#12658)
* Support for Layer 2 networks with transaction fees on both layers

* Use  variable name in transaction-breakdown

* Add comment on code source to ui/helpers/utils/optimism/fetchEstimatedL1Fee.js

* Fix unit tests

* Ensure values passed to  are defined

* Fix activity log
2021-11-11 13:16:45 -03:30

51 lines
1.5 KiB
JavaScript

import { connect } from 'react-redux';
import {
decGWEIToHexWEI,
decimalToHex,
hexWEIToDecGWEI,
} from '../../../../helpers/utils/conversions.util';
import { getNetworkSupportsSettingGasPrice } from '../../../../selectors/selectors';
import { MIN_GAS_LIMIT_DEC } from '../../../../pages/send/send.constants';
import AdvancedGasInputs from './advanced-gas-inputs.component';
function convertGasPriceForInputs(gasPriceInHexWEI) {
return Number(hexWEIToDecGWEI(gasPriceInHexWEI));
}
function convertGasLimitForInputs(gasLimitInHexWEI) {
return parseInt(gasLimitInHexWEI, 16) || 0;
}
function convertMinimumGasLimitForInputs(minimumGasLimit = MIN_GAS_LIMIT_DEC) {
return parseInt(minimumGasLimit, 10);
}
function mapStateToProps(state) {
return {
networkSupportsSettingGasPrice: getNetworkSupportsSettingGasPrice(state),
};
}
function mergeProps(stateProps, dispatchProps, ownProps) {
const {
customGasPrice,
customGasLimit,
updateCustomGasPrice,
updateCustomGasLimit,
minimumGasLimit,
} = ownProps;
return {
...ownProps,
...stateProps,
...dispatchProps,
customGasPrice: convertGasPriceForInputs(customGasPrice),
customGasLimit: convertGasLimitForInputs(customGasLimit),
minimumGasLimit: convertMinimumGasLimitForInputs(minimumGasLimit),
updateCustomGasPrice: (price) =>
updateCustomGasPrice(decGWEIToHexWEI(price)),
updateCustomGasLimit: (limit) => updateCustomGasLimit(decimalToHex(limit)),
};
}
export default connect(mapStateToProps, null, mergeProps)(AdvancedGasInputs);