Merge pull request #2475 from ethereum/web3_utils

use Web3 utils instead of execution context web3
pull/1/head
Iuri Matias 5 years ago committed by GitHub
commit c7986d2d51
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 19
      src/app/tabs/runTab/model/dropdownlogic.js
  2. 11
      src/app/tabs/runTab/model/recorder.js
  3. 5
      src/app/tabs/runTab/model/settings.js
  4. 3
      src/app/udapp/run-tab.js
  5. 11
      src/app/ui/universal-dapp-ui.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)
}
}}, {

@ -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)
}
}}, {

@ -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) => {

@ -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)
}

@ -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)
}
}}, {

Loading…
Cancel
Save