aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md2
-rw-r--r--app/scripts/background.js4
-rw-r--r--app/scripts/controllers/transactions.js4
-rw-r--r--app/scripts/metamask-controller.js2
-rw-r--r--mascara/README.md13
-rw-r--r--mascara/ui/index.html3
-rw-r--r--test/unit/components/bn-as-decimal-input-test.js59
-rw-r--r--test/unit/components/pending-tx-test.js2
-rw-r--r--ui/app/account-detail.js4
-rw-r--r--ui/app/accounts/account-list-item.js4
-rw-r--r--ui/app/accounts/index.js4
-rw-r--r--ui/app/components/bn-as-decimal-input.js143
-rw-r--r--ui/app/components/eth-balance.js4
-rw-r--r--ui/app/components/fiat-value.js6
-rw-r--r--ui/app/components/pending-tx.js48
-rw-r--r--ui/app/components/shift-list-item.js8
-rw-r--r--ui/app/components/transaction-list-item.js7
-rw-r--r--ui/app/conf-tx.js4
-rw-r--r--ui/app/send.js3
19 files changed, 279 insertions, 45 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3653e5018..b49d8f3cd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,8 @@
## Current Master
- Trim currency list.
+- Enable decimals in our gas prices.
+- Fix reset button.
- Fix event filter bug introduced by newer versions of Geth.
## 3.6.4 2017-5-8
diff --git a/app/scripts/background.js b/app/scripts/background.js
index e738a9712..63c8a7252 100644
--- a/app/scripts/background.js
+++ b/app/scripts/background.js
@@ -114,13 +114,13 @@ function setupController (initState) {
//
updateBadge()
- controller.txManager.on('updateBadge', updateBadge)
+ controller.txController.on('updateBadge', updateBadge)
controller.messageManager.on('updateBadge', updateBadge)
// plugin badge text
function updateBadge () {
var label = ''
- var unapprovedTxCount = controller.txManager.unapprovedTxCount
+ var unapprovedTxCount = controller.txController.unapprovedTxCount
var unapprovedMsgCount = controller.messageManager.unapprovedMsgCount
var count = unapprovedTxCount + unapprovedMsgCount
if (count) {
diff --git a/app/scripts/controllers/transactions.js b/app/scripts/controllers/transactions.js
index 9f267160f..21dd25b30 100644
--- a/app/scripts/controllers/transactions.js
+++ b/app/scripts/controllers/transactions.js
@@ -5,8 +5,8 @@ const Semaphore = require('semaphore')
const ObservableStore = require('obs-store')
const ethUtil = require('ethereumjs-util')
const EthQuery = require('eth-query')
-const TxProviderUtil = require('./lib/tx-utils')
-const createId = require('./lib/random-id')
+const TxProviderUtil = require('../lib/tx-utils')
+const createId = require('../lib/random-id')
module.exports = class TransactionManager extends EventEmitter {
constructor (opts) {
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js
index 2406bda0d..f18da9033 100644
--- a/app/scripts/metamask-controller.js
+++ b/app/scripts/metamask-controller.js
@@ -91,7 +91,7 @@ module.exports = class MetamaskController extends EventEmitter {
// tx mgmt
this.txController = new TransactionController({
- initState: initState.TransactionController,
+ initState: initState.TransactionController || initState.TransactionManager,
networkStore: this.networkStore,
preferencesStore: this.preferencesController.store,
txHistoryLimit: 40,
diff --git a/mascara/README.md b/mascara/README.md
index db5b4f404..6e3bfe96b 100644
--- a/mascara/README.md
+++ b/mascara/README.md
@@ -3,7 +3,7 @@ start the dual servers (dapp + mascara)
npm run mascara
```
-## First time use:
+### First time use:
- navigate to: http://localhost:9001
- Create an Account
@@ -11,7 +11,7 @@ npm run mascara
- open devTools
- click Sync Tx
-## Tests:
+### Tests:
```
npm run testMascara
@@ -22,3 +22,12 @@ Test will run in browser, you will have to have these browsers installed:
- Chrome
- Firefox
- Opera
+
+
+### Deploy:
+
+Will build and deploy mascara via docker
+
+```
+docker-compose build && docker-compose stop && docker-compose up -d && docker-compose logs --tail 200 -f
+``` \ No newline at end of file
diff --git a/mascara/ui/index.html b/mascara/ui/index.html
index c5eeb05ef..eac8e4898 100644
--- a/mascara/ui/index.html
+++ b/mascara/ui/index.html
@@ -2,7 +2,8 @@
<html>
<head>
<meta charset="utf-8">
- <title>MetaMask Plugin</title>
+ <title>MetaMascara Alpha</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div id="app-content"></div>
diff --git a/test/unit/components/bn-as-decimal-input-test.js b/test/unit/components/bn-as-decimal-input-test.js
new file mode 100644
index 000000000..4ea910fb0
--- /dev/null
+++ b/test/unit/components/bn-as-decimal-input-test.js
@@ -0,0 +1,59 @@
+var assert = require('assert')
+
+const additions = require('react-testutils-additions')
+const h = require('react-hyperscript')
+const ReactTestUtils = require('react-addons-test-utils')
+const ethUtil = require('ethereumjs-util')
+const BN = ethUtil.BN
+
+var BnInput = require('../../../ui/app/components/bn-as-decimal-input')
+
+describe.only('BnInput', function () {
+ let bnInput
+ const message = 'Hello, world!'
+ const buffer = new Buffer(message, 'utf8')
+ const hex = buffer.toString('hex')
+
+ it('can tolerate a large number at a high precision', function (done) {
+
+ const renderer = ReactTestUtils.createRenderer();
+
+ let valueStr = '1'
+ while (valueStr.length < 18 + 7) {
+ valueStr += '0'
+ }
+ const value = new BN(valueStr, 10)
+
+ let inputStr = '11'
+ while (inputStr.length < 7) {
+ inputStr += '0'
+ }
+ inputStr += '.01'
+
+ let targetStr = inputStr.split('.').join()
+ while (targetStr.length < 18 + 7) {
+ targetStr += '0'
+ }
+ const target = new BN(targetStr, 10)
+
+ const precision = 1e18 // ether precision
+
+ const props = {
+ value,
+ precision,
+ onChange: (newBn) => {
+ assert.equal(newBn.toString(), targetValue.toString(), 'should tolerate increase')
+ done()
+ }
+ }
+
+ const inputComponent = h(BnInput, props)
+ const component = additions.renderIntoDocument(inputComponent)
+ renderer.render(inputComponent)
+ const input = additions.find(component, 'input.hex-input')[0]
+ ReactTestUtils.Simulate.change(input, { preventDefault() {}, target: {
+ value: inputStr,
+ checkValidity() {return true} },
+ })
+ })
+})
diff --git a/test/unit/components/pending-tx-test.js b/test/unit/components/pending-tx-test.js
index fe8290003..166b471cb 100644
--- a/test/unit/components/pending-tx-test.js
+++ b/test/unit/components/pending-tx-test.js
@@ -9,7 +9,7 @@ const Factory = createReactFactory(PendingTx)
const ReactTestUtils = require('react-addons-test-utils')
const ethUtil = require('ethereumjs-util')
-describe.only('PendingTx', function () {
+describe('PendingTx', function () {
let pendingTxComponent
const identities = {
diff --git a/ui/app/account-detail.js b/ui/app/account-detail.js
index 7cadb9d47..7a78a360c 100644
--- a/ui/app/account-detail.js
+++ b/ui/app/account-detail.js
@@ -30,6 +30,7 @@ function mapStateToProps (state) {
shapeShiftTxList: state.metamask.shapeShiftTxList,
transactions: state.metamask.selectedAddressTxList || [],
conversionRate: state.metamask.conversionRate,
+ currentCurrency: state.metamask.currentCurrency,
}
}
@@ -44,7 +45,7 @@ AccountDetailScreen.prototype.render = function () {
var checksumAddress = selected && ethUtil.toChecksumAddress(selected)
var identity = props.identities[selected]
var account = props.accounts[selected]
- const { network, conversionRate } = props
+ const { network, conversionRate, currentCurrency } = props
return (
@@ -184,6 +185,7 @@ AccountDetailScreen.prototype.render = function () {
h(EthBalance, {
value: account && account.balance,
conversionRate,
+ currentCurrency,
style: {
lineHeight: '7px',
marginTop: '10px',
diff --git a/ui/app/accounts/account-list-item.js b/ui/app/accounts/account-list-item.js
index 0e87af612..10a0b6cc7 100644
--- a/ui/app/accounts/account-list-item.js
+++ b/ui/app/accounts/account-list-item.js
@@ -15,7 +15,8 @@ function AccountListItem () {
}
AccountListItem.prototype.render = function () {
- const { identity, selectedAddress, accounts, onShowDetail, conversionRate } = this.props
+ const { identity, selectedAddress, accounts, onShowDetail,
+ conversionRate, currentCurrency } = this.props
const checksumAddress = identity && identity.address && ethUtil.toChecksumAddress(identity.address)
const isSelected = selectedAddress === identity.address
@@ -52,6 +53,7 @@ AccountListItem.prototype.render = function () {
}, checksumAddress),
h(EthBalance, {
value: account && account.balance,
+ currentCurrency,
conversionRate,
style: {
lineHeight: '7px',
diff --git a/ui/app/accounts/index.js b/ui/app/accounts/index.js
index 5105c214b..ac2615cd7 100644
--- a/ui/app/accounts/index.js
+++ b/ui/app/accounts/index.js
@@ -24,6 +24,7 @@ function mapStateToProps (state) {
pending,
keyrings: state.metamask.keyrings,
conversionRate: state.metamask.conversionRate,
+ currentCurrency: state.metamask.currentCurrency,
}
}
@@ -34,7 +35,7 @@ function AccountsScreen () {
AccountsScreen.prototype.render = function () {
const props = this.props
- const { keyrings, conversionRate } = props
+ const { keyrings, conversionRate, currentCurrency } = props
const identityList = valuesFor(props.identities)
const unapprovedTxList = valuesFor(props.unapprovedTxs)
@@ -83,6 +84,7 @@ AccountsScreen.prototype.render = function () {
identity,
selectedAddress: this.props.selectedAddress,
conversionRate,
+ currentCurrency,
accounts: this.props.accounts,
onShowDetail: this.onShowDetail.bind(this),
pending,
diff --git a/ui/app/components/bn-as-decimal-input.js b/ui/app/components/bn-as-decimal-input.js
new file mode 100644
index 000000000..d0eebe09e
--- /dev/null
+++ b/ui/app/components/bn-as-decimal-input.js
@@ -0,0 +1,143 @@
+const Component = require('react').Component
+const h = require('react-hyperscript')
+const inherits = require('util').inherits
+const ethUtil = require('ethereumjs-util')
+const BN = ethUtil.BN
+const extend = require('xtend')
+
+module.exports = BnAsDecimalInput
+
+inherits(BnAsDecimalInput, Component)
+function BnAsDecimalInput () {
+ this.state = { invalid: null }
+ Component.call(this)
+}
+
+/* Bn as Decimal Input
+ *
+ * A component for allowing easy, decimal editing
+ * of a passed in bn string value.
+ *
+ * On change, calls back its `onChange` function parameter
+ * and passes it an updated bn string.
+ */
+
+BnAsDecimalInput.prototype.render = function () {
+ const props = this.props
+ const state = this.state
+
+ const { value, precision, onChange, min, max } = props
+
+ const suffix = props.suffix
+ const style = props.style
+ const scale = Math.pow(10, precision)
+ const newValue = value.toNumber(10) / scale
+
+ return (
+ h('.flex-column', [
+ h('.flex-row', {
+ style: {
+ alignItems: 'flex-end',
+ lineHeight: '13px',
+ fontFamily: 'Montserrat Light',
+ textRendering: 'geometricPrecision',
+ },
+ }, [
+ h('input.hex-input', {
+ type: 'number',
+ step: 'any',
+ required: true,
+ min: min,
+ max: max,
+ style: extend({
+ display: 'block',
+ textAlign: 'right',
+ backgroundColor: 'transparent',
+ border: '1px solid #bdbdbd',
+
+ }, style),
+ value: newValue,
+ onBlur: (event) => {
+ this.updateValidity(event)
+ },
+ onChange: (event) => {
+ this.updateValidity(event)
+ const value = (event.target.value === '') ? '' : event.target.value
+ const scaledNumber = Math.floor(scale * value)
+ const precisionBN = new BN(scaledNumber, 10)
+ onChange(precisionBN)
+ },
+ onInvalid: (event) => {
+ const msg = this.constructWarning()
+ if (msg === state.invalid) {
+ return
+ }
+ this.setState({ invalid: msg })
+ event.preventDefault()
+ return false
+ },
+ }),
+ h('div', {
+ style: {
+ color: ' #AEAEAE',
+ fontSize: '12px',
+ marginLeft: '5px',
+ marginRight: '6px',
+ width: '20px',
+ },
+ }, suffix),
+ ]),
+
+ state.invalid ? h('span.error', {
+ style: {
+ position: 'absolute',
+ right: '0px',
+ textAlign: 'right',
+ transform: 'translateY(26px)',
+ padding: '3px',
+ background: 'rgba(255,255,255,0.85)',
+ zIndex: '1',
+ textTransform: 'capitalize',
+ border: '2px solid #E20202',
+ },
+ }, state.invalid) : null,
+ ])
+ )
+}
+
+BnAsDecimalInput.prototype.setValid = function (message) {
+ this.setState({ invalid: null })
+}
+
+BnAsDecimalInput.prototype.updateValidity = function (event) {
+ const target = event.target
+ const value = this.props.value
+ const newValue = target.value
+
+ if (value === newValue) {
+ return
+ }
+
+ const valid = target.checkValidity()
+
+ if (valid) {
+ this.setState({ invalid: null })
+ }
+}
+
+BnAsDecimalInput.prototype.constructWarning = function () {
+ const { name, min, max } = this.props
+ let message = name ? name + ' ' : ''
+
+ if (min && max) {
+ message += `must be greater than or equal to ${min} and less than or equal to ${max}.`
+ } else if (min) {
+ message += `must be greater than or equal to ${min}.`
+ } else if (max) {
+ message += `must be less than or equal to ${max}.`
+ } else {
+ message += 'Invalid input.'
+ }
+
+ return message
+}
diff --git a/ui/app/components/eth-balance.js b/ui/app/components/eth-balance.js
index 21906aa09..4f538fd31 100644
--- a/ui/app/components/eth-balance.js
+++ b/ui/app/components/eth-balance.js
@@ -37,7 +37,7 @@ EthBalanceComponent.prototype.render = function () {
}
EthBalanceComponent.prototype.renderBalance = function (value) {
var props = this.props
- const { conversionRate, shorten, incoming } = props
+ const { conversionRate, shorten, incoming, currentCurrency } = props
if (value === 'None') return value
if (value === '...') return value
var balanceObj = generateBalanceObject(value, shorten ? 1 : 3)
@@ -83,7 +83,7 @@ EthBalanceComponent.prototype.renderBalance = function (value) {
}, label),
]),
- showFiat ? h(FiatValue, { value, conversionRate }) : null,
+ showFiat ? h(FiatValue, { value: props.value, conversionRate, currentCurrency }) : null,
]))
)
}
diff --git a/ui/app/components/fiat-value.js b/ui/app/components/fiat-value.js
index 6e306c9e6..8a64a1cfc 100644
--- a/ui/app/components/fiat-value.js
+++ b/ui/app/components/fiat-value.js
@@ -12,7 +12,7 @@ function FiatValue () {
FiatValue.prototype.render = function () {
const props = this.props
- const { conversionRate } = props
+ const { conversionRate, currentCurrency } = props
const value = formatBalance(props.value, 6)
@@ -28,9 +28,7 @@ FiatValue.prototype.render = function () {
fiatTooltipNumber = 'Unknown'
}
- var fiatSuffix = props.currentCurrency
-
- return fiatDisplay(fiatDisplayNumber, fiatSuffix)
+ return fiatDisplay(fiatDisplayNumber, currentCurrency)
}
function fiatDisplay (fiatDisplayNumber, fiatSuffix) {
diff --git a/ui/app/components/pending-tx.js b/ui/app/components/pending-tx.js
index b084a1d2a..37a3a3bf3 100644
--- a/ui/app/components/pending-tx.js
+++ b/ui/app/components/pending-tx.js
@@ -12,7 +12,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)
@@ -31,6 +31,8 @@ function PendingTx () {
PendingTx.prototype.render = function () {
const props = this.props
+ const { currentCurrency } = props
+
const conversionRate = props.conversionRate
const txMeta = this.gatherTxMeta()
const txParams = txMeta.txParams || {}
@@ -48,7 +50,6 @@ PendingTx.prototype.render = function () {
// 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)
@@ -104,6 +105,7 @@ PendingTx.prototype.render = function () {
h(EthBalance, {
value: balance,
conversionRate,
+ currentCurrency,
inline: true,
labelColor: '#F7861C',
}),
@@ -141,7 +143,7 @@ PendingTx.prototype.render = function () {
// in the way that gas and gasLimit currently are.
h('.row', [
h('.cell.label', 'Amount'),
- h(EthBalance, { value: txParams.value }),
+ h(EthBalance, { value: txParams.value, currentCurrency, conversionRate }),
]),
// Gas Limit (customizable)
@@ -149,9 +151,10 @@ 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,
// The hard lower limit for gas.
min: MIN_GAS_LIMIT_BN.toString(10),
suffix: 'UNITS',
@@ -171,9 +174,10 @@ 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,
suffix: 'GWEI',
min: MIN_GAS_PRICE_GWEI_BN.toString(10),
style: {
@@ -189,7 +193,7 @@ PendingTx.prototype.render = function () {
// Max Transaction Fee (calculated)
h('.cell.row', [
h('.cell.label', 'Max Transaction Fee'),
- h(EthBalance, { value: txFeeBn.toString(16) }),
+ h(EthBalance, { value: txFeeBn.toString(16), currentCurrency, conversionRate }),
]),
h('.cell.row', {
@@ -208,6 +212,8 @@ PendingTx.prototype.render = function () {
}, [
h(EthBalance, {
value: maxCost.toString(16),
+ currentCurrency,
+ conversionRate,
inline: true,
labelColor: 'black',
fontSize: '16px',
@@ -337,22 +343,22 @@ 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) {
+ 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: cloneObj(txMeta) })
}
-PendingTx.prototype.gasLimitChanged = function (newHex) {
- log.info(`Gas limit changed to ${newHex}`)
+PendingTx.prototype.gasLimitChanged = function (newBN) {
+ 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: cloneObj(txMeta) })
}
PendingTx.prototype.resetGasFields = function () {
+
log.debug(`pending-tx resetGasFields`)
this.inputs.forEach((hexInput) => {
@@ -399,7 +405,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 = cloneObj(state.txData) || cloneObj(props.txData)
log.debug(`UI has defaulted to tx meta ${JSON.stringify(txData)}`)
return txData
@@ -420,7 +426,6 @@ PendingTx.prototype._notZeroOrEmptyString = function (obj) {
function forwardCarrat () {
return (
-
h('img', {
src: 'images/forward-carrat.svg',
style: {
@@ -428,6 +433,9 @@ function forwardCarrat () {
height: '37px',
},
})
-
)
}
+
+function cloneObj (obj) {
+ return JSON.parse(JSON.stringify(obj))
+}
diff --git a/ui/app/components/shift-list-item.js b/ui/app/components/shift-list-item.js
index db5fda5cb..32bfbeda4 100644
--- a/ui/app/components/shift-list-item.js
+++ b/ui/app/components/shift-list-item.js
@@ -8,7 +8,7 @@ const actions = require('../actions')
const addressSummary = require('../util').addressSummary
const CopyButton = require('./copyButton')
-const EtherBalance = require('./eth-balance')
+const EthBalance = require('./eth-balance')
const Tooltip = require('./tooltip')
@@ -17,6 +17,7 @@ module.exports = connect(mapStateToProps)(ShiftListItem)
function mapStateToProps (state) {
return {
conversionRate: state.metamask.conversionRate,
+ currentCurrency: state.metamask.currentCurrency,
}
}
@@ -66,7 +67,7 @@ function formatDate (date) {
ShiftListItem.prototype.renderUtilComponents = function () {
var props = this.props
- const { conversionRate } = props
+ const { conversionRate, currentCurrency } = props
switch (props.response.status) {
case 'no_deposits':
@@ -97,9 +98,10 @@ ShiftListItem.prototype.renderUtilComponents = function () {
h(CopyButton, {
value: this.props.response.transaction,
}),
- h(EtherBalance, {
+ h(EthBalance, {
value: `${props.response.outgoingCoin}`,
conversionRate,
+ currentCurrency,
width: '55px',
shorten: true,
needsParse: false,
diff --git a/ui/app/components/transaction-list-item.js b/ui/app/components/transaction-list-item.js
index 3db4c016e..c2a585003 100644
--- a/ui/app/components/transaction-list-item.js
+++ b/ui/app/components/transaction-list-item.js
@@ -2,7 +2,7 @@ const Component = require('react').Component
const h = require('react-hyperscript')
const inherits = require('util').inherits
-const EtherBalance = require('./eth-balance')
+const EthBalance = require('./eth-balance')
const addressSummary = require('../util').addressSummary
const explorerLink = require('../../lib/explorer-link')
const CopyButton = require('./copyButton')
@@ -19,7 +19,7 @@ function TransactionListItem () {
}
TransactionListItem.prototype.render = function () {
- const { transaction, network, conversionRate } = this.props
+ const { transaction, network, conversionRate, currentCurrency } = this.props
if (transaction.key === 'shapeshift') {
if (network === '1') return h(ShiftListItem, transaction)
}
@@ -78,9 +78,10 @@ TransactionListItem.prototype.render = function () {
// Places a copy button if tx is successful, else places a placeholder empty div.
transaction.hash ? h(CopyButton, { value: transaction.hash }) : h('div', {style: { display: 'flex', alignItems: 'center', width: '26px' }}),
- isTx ? h(EtherBalance, {
+ isTx ? h(EthBalance, {
value: txParams.value,
conversionRate,
+ currentCurrency,
width: '55px',
shorten: true,
showFiat: false,
diff --git a/ui/app/conf-tx.js b/ui/app/conf-tx.js
index c4df66931..0d7c4c1bb 100644
--- a/ui/app/conf-tx.js
+++ b/ui/app/conf-tx.js
@@ -28,6 +28,7 @@ function mapStateToProps (state) {
network: state.metamask.network,
provider: state.metamask.provider,
conversionRate: state.metamask.conversionRate,
+ currentCurrency: state.metamask.currentCurrency,
}
}
@@ -38,7 +39,7 @@ function ConfirmTxScreen () {
ConfirmTxScreen.prototype.render = function () {
const props = this.props
- const { network, provider, unapprovedTxs,
+ const { network, provider, unapprovedTxs, currentCurrency,
unapprovedMsgs, unapprovedPersonalMsgs, conversionRate } = props
var unconfTxList = txHelper(unapprovedTxs, unapprovedMsgs, unapprovedPersonalMsgs, network)
@@ -104,6 +105,7 @@ ConfirmTxScreen.prototype.render = function () {
accounts: props.accounts,
identities: props.identities,
conversionRate,
+ currentCurrency,
// Actions
buyEth: this.buyEth.bind(this, txParams.from || props.selectedAddress),
sendTransaction: this.sendTransaction.bind(this, txData),
diff --git a/ui/app/send.js b/ui/app/send.js
index a313c6bee..fd6994145 100644
--- a/ui/app/send.js
+++ b/ui/app/send.js
@@ -22,6 +22,7 @@ function mapStateToProps (state) {
network: state.metamask.network,
addressBook: state.metamask.addressBook,
conversionRate: state.metamask.conversionRate,
+ currentCurrency: state.metamask.currentCurrency,
}
result.error = result.warning && result.warning.split('.')[0]
@@ -50,6 +51,7 @@ SendTransactionScreen.prototype.render = function () {
identities,
addressBook,
conversionRate,
+ currentCurrency,
} = props
return (
@@ -130,6 +132,7 @@ SendTransactionScreen.prototype.render = function () {
h(EthBalance, {
value: account && account.balance,
conversionRate,
+ currentCurrency,
}),
]),