mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-22 17:33:23 +01:00
Broke hex decimal input into its own component
Also added a new state to try to make UI dev mode work again, but it has other issues, like #1128, that need to be addressed before UI dev mode can be used again.
This commit is contained in:
parent
89af0ef408
commit
6b56d6ba98
210
development/states/conf-tx.json
Normal file
210
development/states/conf-tx.json
Normal file
File diff suppressed because one or more lines are too long
49
ui/app/components/hex-as-decimal-input.js
Normal file
49
ui/app/components/hex-as-decimal-input.js
Normal file
@ -0,0 +1,49 @@
|
||||
const Component = require('react').Component
|
||||
const h = require('react-hyperscript')
|
||||
const inherits = require('util').inherits
|
||||
const ethUtil = require('ethereumjs-util')
|
||||
const BN = ethUtil.BN
|
||||
|
||||
module.exports = HexAsDecimalInput
|
||||
|
||||
inherits(HexAsDecimalInput, Component)
|
||||
function HexAsDecimalInput () {
|
||||
Component.call(this)
|
||||
}
|
||||
|
||||
/* Hex as Decimal Input
|
||||
*
|
||||
* A component for allowing easy, decimal editing
|
||||
* of a passed in hex string value.
|
||||
*
|
||||
* On change, calls back its `onChange` function parameter
|
||||
* and passes it an updated hex string.
|
||||
*/
|
||||
|
||||
HexAsDecimalInput.prototype.render = function () {
|
||||
const props = this.props
|
||||
const { value, onChange } = props
|
||||
const decimalValue = decimalize(value)
|
||||
|
||||
return (
|
||||
h('input', {
|
||||
value: decimalValue,
|
||||
onChange: (event) => {
|
||||
const hexString = hexify(event.target.value)
|
||||
onChange(hexString)
|
||||
},
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
function hexify (decimalString) {
|
||||
const hexBN = new BN(decimalString, 10)
|
||||
return '0x' + hexBN.toString('hex')
|
||||
}
|
||||
|
||||
function decimalize (input) {
|
||||
const strippedInput = ethUtil.stripHexPrefix(input)
|
||||
const inputBN = new BN(strippedInput, 'hex')
|
||||
return inputBN.toString(10)
|
||||
}
|
||||
|
@ -2,8 +2,7 @@ const Component = require('react').Component
|
||||
const h = require('react-hyperscript')
|
||||
const inherits = require('util').inherits
|
||||
const PendingTxDetails = require('./pending-tx-details')
|
||||
const BN = require('ethereumjs-util').BN
|
||||
const ethUtil = require('ethereumjs-util')
|
||||
const HexInput = require('./hex-as-decimal-input')
|
||||
|
||||
module.exports = PendingTx
|
||||
|
||||
@ -13,12 +12,13 @@ function PendingTx () {
|
||||
}
|
||||
|
||||
PendingTx.prototype.render = function () {
|
||||
var props = this.props
|
||||
var state = this.state || {}
|
||||
var txData = props.txData
|
||||
var txParams = txData.txParams
|
||||
var gasValue = state.gas || txParams.gas
|
||||
var decimalGas = decimalize(gasValue)
|
||||
const props = this.props
|
||||
const state = this.state || {}
|
||||
const txData = props.txData
|
||||
const txParams = txData.txParams
|
||||
|
||||
const gas = state.gas || txParams.gas
|
||||
const gasPrice = state.gasPrice || txParams.gasPrice
|
||||
|
||||
return (
|
||||
|
||||
@ -78,24 +78,22 @@ PendingTx.prototype.render = function () {
|
||||
onClick: props.cancelTransaction,
|
||||
}, 'Reject'),
|
||||
]),
|
||||
h('input', {
|
||||
value: decimalGas,
|
||||
onChange: (event) => {
|
||||
const hexString = hexify(event.target.value)
|
||||
this.setState({ gas: hexString })
|
||||
}
|
||||
|
||||
h(HexInput, {
|
||||
value: gas,
|
||||
onChange: (newHex) => {
|
||||
this.setState({ gas: newHex })
|
||||
},
|
||||
}),
|
||||
|
||||
h(HexInput, {
|
||||
value: gasPrice,
|
||||
onChange: (newHex) => {
|
||||
this.setState({ gasPrice: newHex })
|
||||
},
|
||||
}),
|
||||
|
||||
])
|
||||
)
|
||||
}
|
||||
|
||||
function decimalize (input) {
|
||||
const strippedInput = ethUtil.stripHexPrefix(input)
|
||||
const inputBN = new BN(strippedInput, 'hex')
|
||||
return inputBN.toString(10)
|
||||
}
|
||||
|
||||
function hexify (decimalString) {
|
||||
const hexBN = new BN(decimalString, 10)
|
||||
return '0x' + hexBN.toString('hex')
|
||||
}
|
||||
|
@ -36,7 +36,6 @@ function ConfirmTxScreen () {
|
||||
|
||||
ConfirmTxScreen.prototype.render = function () {
|
||||
var props = this.props
|
||||
var state = this.state || {}
|
||||
|
||||
var network = props.network
|
||||
var provider = props.provider
|
||||
|
Loading…
Reference in New Issue
Block a user