remove duplicated methods

pull/5370/head
Iuri Matias 5 years ago
parent 6483be8b1b
commit 062106ce7c
  1. 2
      src/app/tabs/runTab/model/recorder.js
  2. 2
      src/app/tabs/runTab/settings.js
  3. 126
      src/blockchain/blockchain.js

@ -247,7 +247,7 @@ class Recorder {
logCallBack(`(${index}) data: ${data.data}`) logCallBack(`(${index}) data: ${data.data}`)
record.data = { dataHex: data.data, funArgs: tx.record.parameters, funAbi: fnABI, contractBytecode: tx.record.bytecode, contractName: tx.record.contractName, timestamp: tx.timestamp } record.data = { dataHex: data.data, funArgs: tx.record.parameters, funAbi: fnABI, contractBytecode: tx.record.bytecode, contractName: tx.record.contractName, timestamp: tx.timestamp }
self.blockchain.runTransaction(record, continueCb, promptCb, confirmationCb, self.blockchain.runTx(record, confirmationCb, continueCb, promptCb,
function (err, txResult) { function (err, txResult) {
if (err) { if (err) {
console.error(err) console.error(err)

@ -44,7 +44,7 @@ class SettingsUI {
if (!this.el) return if (!this.el) return
var accounts = $(this.el.querySelector('#txorigin')).children('option') var accounts = $(this.el.querySelector('#txorigin')).children('option')
accounts.each((index, account) => { accounts.each((index, account) => {
this.blockchain.getAccountBalanceForAddress(account.value, (err, balance) => { this.blockchain.getBalanceInEther(account.value, (err, balance) => {
if (err) return if (err) return
account.innerText = helper.shortenAddress(account.value, balance) account.innerText = helper.shortenAddress(account.value, balance)
}) })

@ -68,8 +68,8 @@ class Blockchain {
statusCb(`creation of ${selectedContract.name} pending...`) statusCb(`creation of ${selectedContract.name} pending...`)
this.createContract(selectedContract, data, continueCb, promptCb, confirmationCb, finalCb) this.createContract(selectedContract, data, continueCb, promptCb, confirmationCb, finalCb)
}, statusCb, (data, runTxCallback) => { }, statusCb, (data, runTxCallback) => {
// called for libraries deployment // called for libraries deployment
this.runTransaction(data, continueCb, promptCb, confirmationCb, runTxCallback) this.runTx(data, confirmationCb, continueCb, promptCb, runTxCallback)
}) })
} }
if (Object.keys(selectedContract.bytecodeLinkReferences).length) statusCb(`linking ${JSON.stringify(selectedContract.bytecodeLinkReferences, null, '\t')} using ${JSON.stringify(contractMetadata.linkReferences, null, '\t')}`) if (Object.keys(selectedContract.bytecodeLinkReferences).length) statusCb(`linking ${JSON.stringify(selectedContract.bytecodeLinkReferences, null, '\t')} using ${JSON.stringify(contractMetadata.linkReferences, null, '\t')}`)
@ -81,10 +81,6 @@ class Blockchain {
}) })
} }
runTransaction (data, continueCb, promptCb, confirmationCb, finalCb) {
this.runTx(data, confirmationCb, continueCb, promptCb, finalCb)
}
createContract (selectedContract, data, continueCb, promptCb, confirmationCb, finalCb) { createContract (selectedContract, data, continueCb, promptCb, confirmationCb, finalCb) {
if (data) { if (data) {
data.contractName = selectedContract.name data.contractName = selectedContract.name
@ -92,29 +88,29 @@ class Blockchain {
data.contractABI = selectedContract.abi data.contractABI = selectedContract.abi
} }
this._createContract(data, confirmationCb, continueCb, promptCb, this.runTx({ data: data, useCall: false }, confirmationCb, continueCb, promptCb,
(error, txResult) => { (error, txResult) => {
if (error) { if (error) {
return finalCb(`creation of ${selectedContract.name} errored: ${error}`) return finalCb(`creation of ${selectedContract.name} errored: ${error}`)
} }
const isVM = this.executionContext.isVM() const isVM = this.executionContext.isVM()
if (isVM) { if (isVM) {
const vmError = txExecution.checkVMError(txResult) const vmError = txExecution.checkVMError(txResult)
if (vmError.error) { if (vmError.error) {
return finalCb(vmError.message) return finalCb(vmError.message)
} }
} }
if (txResult.result.status && txResult.result.status === '0x0') { if (txResult.result.status && txResult.result.status === '0x0') {
return finalCb(`creation of ${selectedContract.name} errored: transaction execution failed`) return finalCb(`creation of ${selectedContract.name} errored: transaction execution failed`)
} }
const address = isVM ? txResult.result.createdAddress : txResult.result.contractAddress const address = isVM ? txResult.result.createdAddress : txResult.result.contractAddress
finalCb(null, selectedContract, address) finalCb(null, selectedContract, address)
} }
) )
} }
determineGasPrice (cb) { determineGasPrice (cb) {
this.getGasPrice((error, gasPrice) => { this.executionContext.web3().eth.getGasPrice((error, gasPrice) => {
const warnMessage = ' Please fix this issue before sending any transaction. ' const warnMessage = ' Please fix this issue before sending any transaction. '
if (error) { if (error) {
return cb('Unable to retrieve the current network gas price.' + warnMessage + error) return cb('Unable to retrieve the current network gas price.' + warnMessage + error)
@ -128,10 +124,6 @@ class Blockchain {
}) })
} }
getGasPrice (cb) {
return this.executionContext.web3().eth.getGasPrice(cb)
}
fromWei (value, doTypeConversion, unit) { fromWei (value, doTypeConversion, unit) {
if (doTypeConversion) { if (doTypeConversion) {
return Web3.utils.fromWei(typeConversion.toInt(value), unit || 'ether') return Web3.utils.fromWei(typeConversion.toInt(value), unit || 'ether')
@ -182,10 +174,6 @@ class Blockchain {
return this.executionContext.getProvider() return this.executionContext.getProvider()
} }
getAccountBalanceForAddress (address, cb) {
return this.getBalanceInEther(address, cb)
}
updateNetwork (cb) { updateNetwork (cb) {
this.networkcallid++ this.networkcallid++
((callid) => { ((callid) => {
@ -458,8 +446,8 @@ class Blockchain {
}) })
} }
/** Get the balance of an address */ /** Get the balance of an address, and convert wei to ether */
getBalance (address, cb) { getBalanceInEther (address, cb) {
address = stripHexPrefix(address) address = stripHexPrefix(address)
if (!this.executionContext.isVM()) { if (!this.executionContext.isVM()) {
@ -467,7 +455,7 @@ class Blockchain {
if (err) { if (err) {
return cb(err) return cb(err)
} }
cb(null, res.toString(10)) cb(null, Web3.utils.fromWei(res.toString(10), 'ether'))
}) })
} }
if (!this.accounts) { if (!this.accounts) {
@ -478,18 +466,7 @@ class Blockchain {
if (err) { if (err) {
return cb('Account not found') return cb('Account not found')
} }
cb(null, new BN(res.balance).toString(10)) cb(null, Web3.utils.fromWei(new BN(res.balance).toString(10), 'ether'))
})
}
/** Get the balance of an address, and convert wei to ether */
getBalanceInEther (address, callback) {
this.getBalance(address, (error, balance) => {
if (error) {
return callback(error)
}
// callback(null, this.executionContext.web3().fromWei(balance, 'ether'))
callback(null, Web3.utils.fromWei(balance.toString(10), 'ether'))
}) })
} }
@ -497,19 +474,6 @@ class Blockchain {
return Object.keys(this.txRunner.pendingTxs).length return Object.keys(this.txRunner.pendingTxs).length
} }
/**
* deploy the given contract
*
* @param {String} data - data to send with the transaction ( return of txFormat.buildData(...) ).
* @param {Function} callback - callback.
*/
_createContract (data, confirmationCb, continueCb, promptCb, callback) {
this.runTx({data: data, useCall: false}, confirmationCb, continueCb, promptCb, (error, txResult) => {
// see universaldapp.js line 660 => 700 to check possible values of txResult (error case)
callback(error, txResult)
})
}
/** /**
* call the current given contract * call the current given contract
* *
@ -543,35 +507,25 @@ class Blockchain {
if (network.name === 'Main' && network.id === '1') { if (network.name === 'Main' && network.id === '1') {
return reject(new Error('It is not allowed to make this action against mainnet')) return reject(new Error('It is not allowed to make this action against mainnet'))
} }
this.silentRunTx(tx, (error, result) => {
if (error) return reject(error) this.txRunner.rawRun(
try { tx,
resolve(resultToRemixTx(result)) (network, tx, gasEstimation, continueTxExecution, cancelCb) => { continueTxExecution() },
} catch (e) { (error, continueTxExecution, cancelCb) => { if (error) { reject(error) } else { continueTxExecution() } },
reject(e) (okCb, cancelCb) => { okCb() },
(error, result) => {
if (error) return reject(error)
try {
resolve(resultToRemixTx(result))
} catch (e) {
reject(e)
}
} }
}) )
}) })
}) })
} }
/**
* This function send a tx without alerting the user (if mainnet or if gas estimation too high).
* SHOULD BE TAKEN CAREFULLY!
*
* @param {Object} tx - transaction.
* @param {Function} callback - callback.
*/
silentRunTx (tx, cb) {
this.txRunner.rawRun(
tx,
(network, tx, gasEstimation, continueTxExecution, cancelCb) => { continueTxExecution() },
(error, continueTxExecution, cancelCb) => { if (error) { cb(error) } else { continueTxExecution() } },
(okCb, cancelCb) => { okCb() },
cb
)
}
runTx (args, confirmationCb, continueCb, promptCb, cb) { runTx (args, confirmationCb, continueCb, promptCb, cb) {
const self = this const self = this
async.waterfall([ async.waterfall([

Loading…
Cancel
Save