make Debugger.prototype.debug returns a Promise

pull/7/head
yann300 6 years ago
parent 1314c751d8
commit a13f4e3725
  1. 14
      remix-debug/src/debugger/debugger.js

@ -72,31 +72,41 @@ Debugger.prototype.debug = function (blockNumber, txNumber, tx, loadingCb) {
const self = this
let web3 = this.debugger.web3
return new Promise((resolve, reject) => {
if (this.debugger.traceManager.isLoading) {
return
return resolve()
}
if (tx) {
if (!tx.to) {
tx.to = traceHelper.contractCreationToken('0')
}
return self.debugTx(tx, loadingCb)
self.debugTx(tx, loadingCb)
return resolve()
}
try {
if (txNumber.indexOf('0x') !== -1) {
return web3.eth.getTransaction(txNumber, function (_error, result) {
if (_error) return reject(_error)
if (!result) return reject('cannot find transaction ' + txNumber)
let tx = result
self.debugTx(tx, loadingCb)
return resolve()
})
}
web3.eth.getTransactionFromBlock(blockNumber, txNumber, function (_error, result) {
if (_error) return reject(_error)
if (!result) return reject('cannot find transaction ' + blockNumber + ' ' + txNumber)
let tx = result
self.debugTx(tx, loadingCb)
return resolve()
})
} catch (e) {
console.error(e.message)
return reject(e.message)
}
})
}
Debugger.prototype.debugTx = function (tx, loadingCb) {

Loading…
Cancel
Save