aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/pending-tx/confirm-send-ether.js
diff options
context:
space:
mode:
Diffstat (limited to 'ui/app/components/pending-tx/confirm-send-ether.js')
-rw-r--r--ui/app/components/pending-tx/confirm-send-ether.js52
1 files changed, 32 insertions, 20 deletions
diff --git a/ui/app/components/pending-tx/confirm-send-ether.js b/ui/app/components/pending-tx/confirm-send-ether.js
index ec61d66b4..b1e3a0374 100644
--- a/ui/app/components/pending-tx/confirm-send-ether.js
+++ b/ui/app/components/pending-tx/confirm-send-ether.js
@@ -8,7 +8,11 @@ const Identicon = require('../identicon')
const ethUtil = require('ethereumjs-util')
const BN = ethUtil.BN
const hexToBn = require('../../../../app/scripts/lib/hex-to-bn')
-const { conversionUtil, addCurrencies } = require('../../conversion-util')
+const {
+ conversionUtil,
+ addCurrencies,
+ multiplyCurrencies
+} = require('../../conversion-util')
const GasFeeDisplay = require('../send/gas-fee-display-v2')
const { MIN_GAS_PRICE_HEX } = require('../send/send-constants')
@@ -37,7 +41,7 @@ function mapDispatchToProps (dispatch) {
return {
clearSend: () => dispatch(actions.clearSend()),
editTransaction: txMeta => {
- const { id, txParams, lastGasPrice } = txMeta
+ const { id, txParams } = txMeta
const {
gas: gasLimit,
gasPrice,
@@ -45,21 +49,6 @@ function mapDispatchToProps (dispatch) {
value: amount,
} = txParams
- let forceGasMin
- let nonce
- if (lastGasPrice) {
- const stripped = ethUtil.stripHexPrefix(lastGasPrice)
- forceGasMin = ethUtil.addHexPrefix(addCurrencies(stripped, MIN_GAS_PRICE_HEX, {
- aBase: 16,
- bBase: 16,
- toNumericBase: 'hex',
- fromDenomination: 'WEI',
- toDenomination: 'GWEI',
- }))
-
- nonce = txParams.nonce
- }
-
dispatch(actions.updateSend({
gasLimit,
gasPrice,
@@ -68,21 +57,36 @@ function mapDispatchToProps (dispatch) {
amount,
errors: { to: null, amount: null },
editingTransactionId: id,
- forceGasMin,
- nonce,
}))
dispatch(actions.showSendPage())
},
cancelTransaction: ({ id }) => dispatch(actions.cancelTx({ id })),
showCustomizeGasModal: (txMeta, sendGasLimit, sendGasPrice, sendGasTotal) => {
- const { id, txParams } = txMeta
+ const { id, txParams, lastGasPrice } = txMeta
const { gas: txGasLimit, gasPrice: txGasPrice } = txParams
+ let forceGasMin
+ let nonce
+ if (lastGasPrice) {
+ const stripped = ethUtil.stripHexPrefix(lastGasPrice)
+ forceGasMin = ethUtil.addHexPrefix(multiplyCurrencies(stripped, 1.1, {
+ multiplicandBase: 16,
+ multiplierBase: 10,
+ toNumericBase: 'hex',
+ fromDenomination: 'WEI',
+ toDenomination: 'GWEI',
+ }))
+
+ nonce = txParams.nonce
+ }
+
dispatch(actions.updateSend({
gasLimit: sendGasLimit || txGasLimit,
gasPrice: sendGasPrice || txGasPrice,
editingTransactionId: id,
gasTotal: sendGasTotal,
+ forceGasMin,
+ nonce,
}))
dispatch(actions.showModal({ name: 'CUSTOMIZE_GAS' }))
},
@@ -493,6 +497,14 @@ ConfirmSendEther.prototype.gatherTxMeta = function () {
const state = this.state
const txData = clone(state.txData) || clone(props.txData)
+ if (txData.lastGasPrice) {
+ const { gasPrice: sendGasPrice, gas: sendGasLimit } = props.send
+ const { gasPrice: txGasPrice, gas: txGasLimit } = txData.txParams
+
+ txData.txParams.gasPrice = sendGasPrice || txGasPrice
+ txData.txParams.gas = sendGasLimit || txGasLimit
+ }
+
// log.debug(`UI has defaulted to tx meta ${JSON.stringify(txData)}`)
return txData
}