diff options
author | frankiebee <frankie.diamond@gmail.com> | 2017-05-25 11:10:58 +0800 |
---|---|---|
committer | frankiebee <frankie.diamond@gmail.com> | 2017-05-25 11:10:58 +0800 |
commit | 3b06a29e1b1b1cf55748a9df8bdbec4bd0c8a9a7 (patch) | |
tree | 42a0991d1170dfc7369d37497bb693c17a0daec6 /ui/app/components/pending-tx.js | |
parent | 473b88f399478b47bfa53d44ef9981aeb6d9960b (diff) | |
parent | 764806d211e026226bf8003cbdd6ff3ec570d5db (diff) | |
download | tangerine-wallet-browser-3b06a29e1b1b1cf55748a9df8bdbec4bd0c8a9a7.tar tangerine-wallet-browser-3b06a29e1b1b1cf55748a9df8bdbec4bd0c8a9a7.tar.gz tangerine-wallet-browser-3b06a29e1b1b1cf55748a9df8bdbec4bd0c8a9a7.tar.bz2 tangerine-wallet-browser-3b06a29e1b1b1cf55748a9df8bdbec4bd0c8a9a7.tar.lz tangerine-wallet-browser-3b06a29e1b1b1cf55748a9df8bdbec4bd0c8a9a7.tar.xz tangerine-wallet-browser-3b06a29e1b1b1cf55748a9df8bdbec4bd0c8a9a7.tar.zst tangerine-wallet-browser-3b06a29e1b1b1cf55748a9df8bdbec4bd0c8a9a7.zip |
Merge branch 'master' into reloadDapp
Diffstat (limited to 'ui/app/components/pending-tx.js')
-rw-r--r-- | ui/app/components/pending-tx.js | 45 |
1 files changed, 27 insertions, 18 deletions
diff --git a/ui/app/components/pending-tx.js b/ui/app/components/pending-tx.js index 0d1f06ba6..b46f715bc 100644 --- a/ui/app/components/pending-tx.js +++ b/ui/app/components/pending-tx.js @@ -2,6 +2,7 @@ const Component = require('react').Component const h = require('react-hyperscript') const inherits = require('util').inherits const actions = require('../actions') +const clone = require('clone') const ethUtil = require('ethereumjs-util') const BN = ethUtil.BN @@ -12,7 +13,7 @@ const EthBalance = require('./eth-balance') const util = require('../util') const addressSummary = util.addressSummary const nameForAddress = require('../../lib/contract-namer') -const HexInput = require('./hex-as-decimal-input') +const BNInput = require('./bn-as-decimal-input') const MIN_GAS_PRICE_GWEI_BN = new BN(2) const GWEI_FACTOR = new BN(1e9) @@ -46,11 +47,11 @@ PendingTx.prototype.render = function () { // Gas const gas = txParams.gas const gasBn = hexToBn(gas) + const safeGasLimit = parseInt(txMeta.blockGasLimit) // Gas Price const gasPrice = txParams.gasPrice || MIN_GAS_PRICE_BN.toString(16) const gasPriceBn = hexToBn(gasPrice) - const gasPriceGweiBn = gasPriceBn.div(GWEI_FACTOR) const txFeeBn = gasBn.mul(gasPriceBn) const valueBn = hexToBn(txParams.value) @@ -152,11 +153,14 @@ PendingTx.prototype.render = function () { h('.cell.label', 'Gas Limit'), h('.cell.value', { }, [ - h(HexInput, { + h(BNInput, { name: 'Gas Limit', - value: gas, + value: gasBn, + precision: 0, + scale: 0, // The hard lower limit for gas. min: MIN_GAS_LIMIT_BN.toString(10), + max: safeGasLimit, suffix: 'UNITS', style: { position: 'relative', @@ -174,9 +178,11 @@ PendingTx.prototype.render = function () { h('.cell.label', 'Gas Price'), h('.cell.value', { }, [ - h(HexInput, { + h(BNInput, { name: 'Gas Price', - value: gasPriceGweiBn.toString(16), + value: gasPriceBn, + precision: 9, + scale: 9, suffix: 'GWEI', min: MIN_GAS_PRICE_GWEI_BN.toString(10), style: { @@ -342,19 +348,24 @@ PendingTx.prototype.miniAccountPanelForRecipient = function () { } } -PendingTx.prototype.gasPriceChanged = function (newHex) { - log.info(`Gas price changed to: ${newHex}`) - const inWei = hexToBn(newHex).mul(GWEI_FACTOR) +PendingTx.prototype.gasPriceChanged = function (newBN, valid) { + log.info(`Gas price changed to: ${newBN.toString(10)}`) const txMeta = this.gatherTxMeta() - txMeta.txParams.gasPrice = inWei.toString(16) - this.setState({ txData: txMeta }) + txMeta.txParams.gasPrice = '0x' + newBN.toString('hex') + this.setState({ + txData: clone(txMeta), + valid, + }) } -PendingTx.prototype.gasLimitChanged = function (newHex) { - log.info(`Gas limit changed to ${newHex}`) +PendingTx.prototype.gasLimitChanged = function (newBN, valid) { + log.info(`Gas limit changed to ${newBN.toString(10)}`) const txMeta = this.gatherTxMeta() - txMeta.txParams.gas = newHex - this.setState({ txData: txMeta }) + txMeta.txParams.gas = '0x' + newBN.toString('hex') + this.setState({ + txData: clone(txMeta), + valid, + }) } PendingTx.prototype.resetGasFields = function () { @@ -404,7 +415,7 @@ PendingTx.prototype.gatherTxMeta = function () { log.debug(`pending-tx gatherTxMeta`) const props = this.props const state = this.state - const txData = state.txData || props.txData + const txData = clone(state.txData) || clone(props.txData) log.debug(`UI has defaulted to tx meta ${JSON.stringify(txData)}`) return txData @@ -425,7 +436,6 @@ PendingTx.prototype._notZeroOrEmptyString = function (obj) { function forwardCarrat () { return ( - h('img', { src: 'images/forward-carrat.svg', style: { @@ -433,6 +443,5 @@ function forwardCarrat () { height: '37px', }, }) - ) } |