From e448ded402edb86e35c89306d2e630886fa34f61 Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Fri, 6 Dec 2019 15:36:47 -0500 Subject: [PATCH] user Web3 utils instead of execution context web3 --- src/app/tabs/runTab/model/dropdownlogic.js | 19 ++++++++++--------- src/app/tabs/runTab/model/recorder.js | 11 ++++++----- src/app/tabs/runTab/model/settings.js | 5 +++-- src/app/udapp/run-tab.js | 3 ++- src/app/ui/universal-dapp-ui.js | 11 ++++++----- 5 files changed, 27 insertions(+), 22 deletions(-) diff --git a/src/app/tabs/runTab/model/dropdownlogic.js b/src/app/tabs/runTab/model/dropdownlogic.js index 6c22d965a3..a5c603d6fe 100644 --- a/src/app/tabs/runTab/model/dropdownlogic.js +++ b/src/app/tabs/runTab/model/dropdownlogic.js @@ -7,6 +7,7 @@ var typeConversion = remixLib.execution.typeConversion var txExecution = remixLib.execution.txExecution var CompilerAbstract = require('../../../compiler/compiler-abstract') var EventManager = remixLib.EventManager +var Web3 = require('web3') class DropdownLogic { constructor (fileManager, compilersArtefacts, config, editor, udapp, filePanel, runView) { @@ -106,17 +107,17 @@ class DropdownLogic { fromWei (value, doTypeConversion, unit) { if (doTypeConversion) { - return executionContext.web3().utils.fromWei(typeConversion.toInt(value), unit || 'ether') + return Web3.utils.fromWei(typeConversion.toInt(value), unit || 'ether') } - return executionContext.web3().utils.fromWei(value.toString(10), unit || 'ether') + return Web3.utils.fromWei(value.toString(10), unit || 'ether') } toWei (value, unit) { - return executionContext.web3().utils.toWei(value, unit || 'gwei') + return Web3.utils.toWei(value, unit || 'gwei') } calculateFee (gas, gasPrice, unit) { - return executionContext.web3().utils.toBN(gas).mul(executionContext.web3().utils.toBN(executionContext.web3().utils.toWei(gasPrice.toString(10), unit || 'gwei'))) + return Web3.utils.toBN(gas).mul(Web3.utils.toBN(Web3.utils.toWei(gasPrice.toString(10), unit || 'gwei'))) } getGasPrice (cb) { @@ -139,7 +140,7 @@ class DropdownLogic { if (network.name !== 'Main') { return continueTxExecution(null) } - var amount = executionContext.web3().utils.fromWei(typeConversion.toInt(tx.value), 'ether') + var amount = Web3.utils.fromWei(typeConversion.toInt(tx.value), 'ether') // TODO: there is still a UI dependency to remove here, it's still too coupled at this point to remove easily var content = confirmDialog(tx, amount, gasEstimation, this.recorder, @@ -148,8 +149,8 @@ class DropdownLogic { // TODO: this try catch feels like an anti pattern, can/should be // removed, but for now keeping the original logic try { - var fee = executionContext.web3().utils.toBN(tx.gas).mul(executionContext.web3().utils.toBN(executionContext.web3().utils.toWei(gasPrice.toString(10), 'gwei'))) - txFeeText = ' ' + executionContext.web3().utils.fromWei(fee.toString(10), 'ether') + ' Ether' + var fee = Web3.utils.toBN(tx.gas).mul(Web3.utils.toBN(Web3.utils.toWei(gasPrice.toString(10), 'gwei'))) + txFeeText = ' ' + Web3.utils.fromWei(fee.toString(10), 'ether') + ' Ether' priceStatus = true } catch (e) { txFeeText = ' Please fix this issue before sending any transaction. ' + e.message @@ -164,7 +165,7 @@ class DropdownLogic { return cb('Unable to retrieve the current network gas price.' + warnMessage + error) } try { - var gasPriceValue = executionContext.web3().utils.fromWei(gasPrice.toString(10), 'gwei') + var gasPriceValue = Web3.utils.fromWei(gasPrice.toString(10), 'gwei') cb(null, gasPriceValue) } catch (e) { cb(warnMessage + e.message, null, false) @@ -180,7 +181,7 @@ class DropdownLogic { if (!content.gasPriceStatus) { cancelCb('Given gas price is not correct') } else { - var gasPrice = executionContext.web3().utils.toWei(content.querySelector('#gasprice').value, 'gwei') + var gasPrice = Web3.utils.toWei(content.querySelector('#gasprice').value, 'gwei') continueTxExecution(gasPrice) } }}, { diff --git a/src/app/tabs/runTab/model/recorder.js b/src/app/tabs/runTab/model/recorder.js index 2d49a3795b..c6c68f4d94 100644 --- a/src/app/tabs/runTab/model/recorder.js +++ b/src/app/tabs/runTab/model/recorder.js @@ -7,6 +7,7 @@ var format = remixLib.execution.txFormat var txHelper = remixLib.execution.txHelper var typeConversion = remixLib.execution.typeConversion var helper = require('../../../../lib/helper.js') +var Web3 = require('web3') /** * Record transaction as long as the user create them. @@ -315,7 +316,7 @@ class Recorder { if (network.name !== 'Main') { return continueTxExecution(null) } - var amount = executionContext.web3().utils.fromWei(typeConversion.toInt(tx.value), 'ether') + var amount = Web3.utils.fromWei(typeConversion.toInt(tx.value), 'ether') // TODO: there is still a UI dependency to remove here, it's still too coupled at this point to remove easily var content = confirmDialog(tx, amount, gasEstimation, this.recorder, @@ -324,8 +325,8 @@ class Recorder { // TODO: this try catch feels like an anti pattern, can/should be // removed, but for now keeping the original logic try { - var fee = executionContext.web3().utils.toBN(tx.gas).mul(executionContext.web3().utils.toBN(executionContext.web3().toWei(gasPrice.toString(10), 'gwei'))) - txFeeText = ' ' + executionContext.web3().utils.fromWei(fee.toString(10), 'ether') + ' Ether' + var fee = Web3.utils.toBN(tx.gas).mul(Web3.utils.toBN(Web3.utils.toWei(gasPrice.toString(10), 'gwei'))) + txFeeText = ' ' + Web3.utils.fromWei(fee.toString(10), 'ether') + ' Ether' priceStatus = true } catch (e) { txFeeText = ' Please fix this issue before sending any transaction. ' + e.message @@ -340,7 +341,7 @@ class Recorder { return cb('Unable to retrieve the current network gas price.' + warnMessage + error) } try { - var gasPriceValue = executionContext.web3().utils.fromWei(gasPrice.toString(10), 'gwei') + var gasPriceValue = Web3.utils.fromWei(gasPrice.toString(10), 'gwei') cb(null, gasPriceValue) } catch (e) { cb(warnMessage + e.message, null, false) @@ -356,7 +357,7 @@ class Recorder { if (!content.gasPriceStatus) { cancelCb('Given gas price is not correct') } else { - var gasPrice = executionContext.web3().utils.toWei(content.querySelector('#gasprice').value, 'gwei') + var gasPrice = Web3.utils.toWei(content.querySelector('#gasprice').value, 'gwei') continueTxExecution(gasPrice) } }}, { diff --git a/src/app/tabs/runTab/model/settings.js b/src/app/tabs/runTab/model/settings.js index d7e6ae6f0a..3d514487d2 100644 --- a/src/app/tabs/runTab/model/settings.js +++ b/src/app/tabs/runTab/model/settings.js @@ -1,6 +1,7 @@ var ethJSUtil = require('ethereumjs-util') var Personal = require('web3-eth-personal') var remixLib = require('remix-lib') +var Web3 = require('web3') const addTooltip = require('../../../ui/tooltip') var EventManager = remixLib.EventManager var executionContext = remixLib.execution.executionContext @@ -95,7 +96,7 @@ class Settings { return } if (isInjected) { - const hashedMsg = executionContext.web3().sha3(message) + const hashedMsg = Web3.utils.sha3(message) try { addTooltip('Please check your provider to approve') executionContext.web3().eth.sign(account, hashedMsg, (error, signedData) => { @@ -107,7 +108,7 @@ class Settings { return } - const hashedMsg = executionContext.web3().sha3(message) + const hashedMsg = Web3.utils.sha3(message) try { var personal = new Personal(executionContext.web3().currentProvider) personal.sign(hashedMsg, account, passphrase, (error, signedData) => { diff --git a/src/app/udapp/run-tab.js b/src/app/udapp/run-tab.js index e554970b71..01f9b3e322 100644 --- a/src/app/udapp/run-tab.js +++ b/src/app/udapp/run-tab.js @@ -4,6 +4,7 @@ import * as packageJson from '../../../package.json' const $ = require('jquery') const yo = require('yo-yo') const ethJSUtil = require('ethereumjs-util') +const Web3 = require('web3') const EventManager = require('../../lib/events') const Card = require('../ui/card') @@ -63,7 +64,7 @@ export class RunTab extends LibraryPlugin { if (['ether', 'finney', 'gwei', 'wei'].indexOf(selectedUnit) >= 0) { unit = selectedUnit } - cb(null, executionContext.web3().utils.toWei(number, unit)) + cb(null, Web3.utils.toWei(number, unit)) } catch (e) { cb(e) } diff --git a/src/app/ui/universal-dapp-ui.js b/src/app/ui/universal-dapp-ui.js index 656d992d5b..cc9a8c3e44 100644 --- a/src/app/ui/universal-dapp-ui.js +++ b/src/app/ui/universal-dapp-ui.js @@ -4,6 +4,7 @@ var $ = require('jquery') var yo = require('yo-yo') var ethJSUtil = require('ethereumjs-util') +var Web3 = require('web3') var BN = ethJSUtil.BN var helper = require('../../lib/helper') var copyToClipboard = require('./copy-to-clipboard') @@ -163,15 +164,15 @@ UniversalDAppUI.prototype.getCallButton = function (args) { if (network.name !== 'Main') { return continueTxExecution(null) } - var amount = executionContext.web3().utils.fromWei(typeConversion.toInt(tx.value), 'ether') + var amount = Web3.utils.fromWei(typeConversion.toInt(tx.value), 'ether') var content = confirmDialog(tx, amount, gasEstimation, self.udapp, (gasPrice, cb) => { let txFeeText, priceStatus // TODO: this try catch feels like an anti pattern, can/should be // removed, but for now keeping the original logic try { - var fee = executionContext.web3().utils.toBN(tx.gas).mul(executionContext.web3().utils.toBN(executionContext.web3().utils.toWei(gasPrice.toString(10), 'gwei'))) - txFeeText = ' ' + executionContext.web3().fromWei(fee.toString(10), 'ether') + ' Ether' + var fee = Web3.utils.toBN(tx.gas).mul(Web3.utils.toBN(Web3.utils.toWei(gasPrice.toString(10), 'gwei'))) + txFeeText = ' ' + Web3.utils.fromWei(fee.toString(10), 'ether') + ' Ether' priceStatus = true } catch (e) { txFeeText = ' Please fix this issue before sending any transaction. ' + e.message @@ -186,7 +187,7 @@ UniversalDAppUI.prototype.getCallButton = function (args) { return cb('Unable to retrieve the current network gas price.' + warnMessage + error) } try { - var gasPriceValue = executionContext.web3().utils.fromWei(gasPrice.toString(10), 'gwei') + var gasPriceValue = Web3.utils.fromWei(gasPrice.toString(10), 'gwei') cb(null, gasPriceValue) } catch (e) { cb(warnMessage + e.message, null, false) @@ -207,7 +208,7 @@ UniversalDAppUI.prototype.getCallButton = function (args) { if (!content.gasPriceStatus) { cancelCb('Given gas price is not correct') } else { - var gasPrice = executionContext.web3().utils.toWei(content.querySelector('#gasprice').value, 'gwei') + var gasPrice = Web3.utils.toWei(content.querySelector('#gasprice').value, 'gwei') continueTxExecution(gasPrice) } }}, {