Commit 13b41702 authored by Iuri Matias's avatar Iuri Matias

separate call from tx

parent 446608aa
...@@ -3,24 +3,31 @@ var TxExecution = RemixLib.execution.txExecution ...@@ -3,24 +3,31 @@ var TxExecution = RemixLib.execution.txExecution
var TxRunner = RemixLib.execution.txRunner var TxRunner = RemixLib.execution.txRunner
var executionContext = RemixLib.execution.executionContext var executionContext = RemixLib.execution.executionContext
function runTx (payload, from, to, data, value, gasLimit, txRunner, callbacks, isCall, callback) { function runCall (payload, from, to, data, value, gasLimit, txRunner, callbacks, callback) {
let finalCallback = function (err, result) { let finalCallback = function (err, result) {
if (err) { if (err) {
return callback(err) return callback(err)
} }
if (isCall) { let toReturn = '0x' + result.result.vm.return.toString('hex')
let toReturn = '0x' + result.result.vm.return.toString('hex') if (toReturn === '0x') {
if (toReturn === '0x') { toReturn = '0x0'
toReturn = '0x0'
}
return callback(null, toReturn)
} }
return callback(null, toReturn)
}
TxExecution.callFunction(from, to, data, value, gasLimit, null, txRunner, callbacks, finalCallback, true)
}
function runTx (payload, from, to, data, value, gasLimit, txRunner, callbacks, callback) {
let finalCallback = function (err, result) {
if (err) {
return callback(err)
}
callback(null, result.transactionHash) callback(null, result.transactionHash)
} }
TxExecution.callFunction(from, to, data, value, gasLimit, null, txRunner, callbacks, finalCallback, isCall) TxExecution.callFunction(from, to, data, value, gasLimit, null, txRunner, callbacks, finalCallback, false)
} }
function createContract (payload, from, data, value, gasLimit, txRunner, callbacks, callback) { function createContract (payload, from, data, value, gasLimit, txRunner, callbacks, callback) {
...@@ -77,8 +84,10 @@ function processTx (accounts, payload, isCall, callback) { ...@@ -77,8 +84,10 @@ function processTx (accounts, payload, isCall, callback) {
} }
} }
if (to) { if (isCall) {
runTx(payload, from, to, data, value, gas, txRunner, callbacks, isCall, callback) runCall(payload, from, to, data, value, gas, txRunner, callbacks, callback)
} else if (to) {
runTx(payload, from, to, data, value, gas, txRunner, callbacks, callback)
} else { } else {
createContract(payload, from, data, value, gas, txRunner, callbacks, callback) createContract(payload, from, data, value, gas, txRunner, callbacks, callback)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment