aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/selectors/custom-gas.js
diff options
context:
space:
mode:
Diffstat (limited to 'ui/app/selectors/custom-gas.js')
-rw-r--r--ui/app/selectors/custom-gas.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/ui/app/selectors/custom-gas.js b/ui/app/selectors/custom-gas.js
index 59f240f9c..91c9109a5 100644
--- a/ui/app/selectors/custom-gas.js
+++ b/ui/app/selectors/custom-gas.js
@@ -2,6 +2,7 @@ import { pipe, partialRight } from 'ramda'
import {
conversionUtil,
multiplyCurrencies,
+ conversionGreaterThan,
} from '../conversion-util'
import {
getCurrentCurrency,
@@ -38,6 +39,8 @@ const selectors = {
getRenderableBasicEstimateData,
getRenderableEstimateDataForSmallButtonsFromGWEI,
priceEstimateToWei,
+ getSafeLowEstimate,
+ isCustomPriceSafe,
}
module.exports = selectors
@@ -96,6 +99,39 @@ function getDefaultActiveButtonIndex (gasButtonInfo, customGasPriceInHex, gasPri
})
}
+function getSafeLowEstimate (state) {
+ const {
+ gas: {
+ basicEstimates: {
+ safeLow,
+ },
+ },
+ } = state
+
+ return safeLow
+}
+
+function isCustomPriceSafe (state) {
+ const safeLow = getSafeLowEstimate(state)
+ const customGasPrice = getCustomGasPrice(state)
+
+ if (!customGasPrice) {
+ return true
+ }
+
+ const customPriceSafe = conversionGreaterThan(
+ {
+ value: customGasPrice,
+ fromNumericBase: 'hex',
+ fromDenomination: 'WEI',
+ toDenomination: 'GWEI',
+ },
+ { value: safeLow, fromNumericBase: 'dec' }
+ )
+
+ return customPriceSafe
+}
+
function getBasicGasEstimateBlockTime (state) {
return state.gas.basicEstimates.blockTime
}