From bb91c22aadbf62789d2ac556b2459b7e34cc29dc Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Tue, 20 Feb 2018 18:07:55 -0500 Subject: [PATCH] move confirmation dialog to its own file --- src/app/execution/confirmDialog.js | 75 ++++++++++++++++++++++++++++++ src/app/execution/txRunner.js | 72 +--------------------------- 2 files changed, 76 insertions(+), 71 deletions(-) create mode 100644 src/app/execution/confirmDialog.js diff --git a/src/app/execution/confirmDialog.js b/src/app/execution/confirmDialog.js new file mode 100644 index 0000000000..c05f8ff150 --- /dev/null +++ b/src/app/execution/confirmDialog.js @@ -0,0 +1,75 @@ +var executionContext = require('../../execution-context') +var typeConversion = require('../../lib/typeConversion') +var yo = require('yo-yo') +var csjs = require('csjs-inject') +var remixLib = require('remix-lib') +var styleGuide = remixLib.ui.styleGuide +var styles = styleGuide() + +var css = csjs` + .txInfoBox { + ${styles.rightPanel.compileTab.box_CompileContainer}; // add askToConfirmTXContainer to Remix and then replace this styling + } + .wrapword { + white-space: pre-wrap; /* Since CSS 2.1 */ + white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + word-wrap: break-word; /* Internet Explorer 5.5+ */ + } +` + +function confirmDialog (tx, gasEstimation, self) { + var amount = executionContext.web3().fromWei(typeConversion.toInt(tx.value), 'ether') + var input = yo`` + var el = yo` +
+
You are creating a transaction on the main network. Click confirm if you are sure to continue.
+
+
From: ${tx.from}
+
To: ${tx.to ? tx.to : '(Contract Creation)'}
+
Amount: ${amount} Ether
+
Gas estimation: ${gasEstimation}
+
Gas limit: ${tx.gas}
+
Gas price: Gwei (visit ethgasstation.info to get more info about gas price)
+
Max transaction fee:
+
Data:
+
${tx.data}
+
+
+ ${input} + Do not ask for confirmation again. (the setting will not be persisted for the next page reload) +
+
+ ` + + var warnMessage = ' Please fix this issue before sending any transaction. ' + function gasPriceChanged () { + try { + var gasPrice = el.querySelector('#gasprice').value + var fee = executionContext.web3().toBigNumber(tx.gas).mul(executionContext.web3().toBigNumber(executionContext.web3().toWei(gasPrice.toString(10), 'gwei'))) + el.querySelector('#txfee').innerHTML = ' ' + executionContext.web3().fromWei(fee.toString(10), 'ether') + ' Ether' + el.gasPriceStatus = true + } catch (e) { + el.querySelector('#txfee').innerHTML = warnMessage + e.message + el.gasPriceStatus = false + } + } + + executionContext.web3().eth.getGasPrice((error, gasPrice) => { + if (error) { + el.querySelector('#txfee').innerHTML = 'Unable to retrieve the current network gas price.' + warnMessage + error + } else { + try { + el.querySelector('#gasprice').value = executionContext.web3().fromWei(gasPrice.toString(10), 'gwei') + gasPriceChanged() + } catch (e) { + el.querySelector('#txfee').innerHTML = warnMessage + e.message + el.gasPriceStatus = false + } + } + }) + return el +} + +module.exports = confirmDialog diff --git a/src/app/execution/txRunner.js b/src/app/execution/txRunner.js index 23fe9ebc07..9729c4c201 100644 --- a/src/app/execution/txRunner.js +++ b/src/app/execution/txRunner.js @@ -5,26 +5,9 @@ var ethJSUtil = require('ethereumjs-util') var BN = ethJSUtil.BN var executionContext = require('../../execution-context') var modalDialog = require('../ui/modaldialog') -var yo = require('yo-yo') -var typeConversion = require('../../lib/typeConversion') -var csjs = require('csjs-inject') -var remixLib = require('remix-lib') -var styleGuide = remixLib.ui.styleGuide -var styles = styleGuide() var modal = require('../ui/modal-dialog-custom') -var css = csjs` - .txInfoBox { - ${styles.rightPanel.compileTab.box_CompileContainer}; // add askToConfirmTXContainer to Remix and then replace this styling - } - .wrapword { - white-space: pre-wrap; /* Since CSS 2.1 */ - white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - word-wrap: break-word; /* Internet Explorer 5.5+ */ - } -` +var confirmDialog = require('./confirmDialog') function TxRunner (vmaccounts, api) { this._api = api @@ -231,57 +214,4 @@ function run (self, tx, stamp, callback) { } } -function confirmDialog (tx, gasEstimation, self) { - var amount = executionContext.web3().fromWei(typeConversion.toInt(tx.value), 'ether') - var input = yo`` - var el = yo` -
-
You are creating a transaction on the main network. Click confirm if you are sure to continue.
-
-
From: ${tx.from}
-
To: ${tx.to ? tx.to : '(Contract Creation)'}
-
Amount: ${amount} Ether
-
Gas estimation: ${gasEstimation}
-
Gas limit: ${tx.gas}
-
Gas price: Gwei (visit ethgasstation.info to get more info about gas price)
-
Max transaction fee:
-
Data:
-
${tx.data}
-
-
- ${input} - Do not ask for confirmation again. (the setting will not be persisted for the next page reload) -
-
- ` - - var warnMessage = ' Please fix this issue before sending any transaction. ' - function gasPriceChanged () { - try { - var gasPrice = el.querySelector('#gasprice').value - var fee = executionContext.web3().toBigNumber(tx.gas).mul(executionContext.web3().toBigNumber(executionContext.web3().toWei(gasPrice.toString(10), 'gwei'))) - el.querySelector('#txfee').innerHTML = ' ' + executionContext.web3().fromWei(fee.toString(10), 'ether') + ' Ether' - el.gasPriceStatus = true - } catch (e) { - el.querySelector('#txfee').innerHTML = warnMessage + e.message - el.gasPriceStatus = false - } - } - - executionContext.web3().eth.getGasPrice((error, gasPrice) => { - if (error) { - el.querySelector('#txfee').innerHTML = 'Unable to retrieve the current network gas price.' + warnMessage + error - } else { - try { - el.querySelector('#gasprice').value = executionContext.web3().fromWei(gasPrice.toString(10), 'gwei') - gasPriceChanged() - } catch (e) { - el.querySelector('#txfee').innerHTML = warnMessage + e.message - el.gasPriceStatus = false - } - } - }) - return el -} - module.exports = TxRunner