refactor getCallDataAt

pull/5370/head
Iuri Matias 4 years ago committed by aniket-engg
parent 4441f90eba
commit 6f13845431
  1. 12
      libs/remix-debug/src/debugger/VmDebugger.js
  2. 10
      libs/remix-lib/src/trace/traceManager.js
  3. 15
      libs/remix-lib/test/traceManager.js

@ -60,14 +60,14 @@ class VmDebuggerLogic {
this.event.trigger('functionsStackUpdate', [this._callTree.retrieveFunctionsStack(index)])
this._traceManager.getCallDataAt(index, (error, calldata) => {
if (error) {
// console.log(error)
this.event.trigger('traceManagerCallDataUpdate', [{}])
} else if (this.stepManager.currentStepIndex === index) {
try {
const calldata = this._traceManager.getCallDataAt(index)
if (this.stepManager.currentStepIndex === index) {
this.event.trigger('traceManagerCallDataUpdate', [calldata])
}
})
} catch (error) {
this.event.trigger('traceManagerCallDataUpdate', [{}])
}
try {
const memory = this._traceManager.getMemoryAt(index)

@ -88,15 +88,17 @@ TraceManager.prototype.getAddresses = function () {
return this.traceCache.addresses
}
TraceManager.prototype.getCallDataAt = function (stepIndex, callback) {
TraceManager.prototype.getCallDataAt = function (stepIndex) {
try {
this.checkRequestedStep(stepIndex)
} catch (check) {
return callback(check, null)
throw new Error(check)
}
const callDataChange = util.findLowerBoundValue(stepIndex, this.traceCache.callDataChanges)
if (callDataChange === null) return callback('no calldata found', null)
callback(null, [this.traceCache.callsData[callDataChange]])
if (callDataChange === null) {
throw new Error('no calldata found')
}
return [this.traceCache.callsData[callDataChange]]
}
TraceManager.prototype.buildCallPath = function (stepIndex, callback) {

@ -61,14 +61,13 @@ tape('TraceManager', function (t) {
})
t.test('TraceManager.getCallData', function (st) {
traceManager.getCallDataAt(0, function (error, result) {
if (error) {
st.fail(error)
} else {
st.ok(result[0] === '0x60fe47b10000000000000000000000000000000000000000000000000000000000000038')
st.end()
}
})
try {
const result = traceManager.getCallDataAt(0)
st.ok(result[0] === '0x60fe47b10000000000000000000000000000000000000000000000000000000000000038')
st.end()
} catch (error) {
st.fail(error)
}
})
t.test('TraceManager.getCallStackAt', function (st) {

Loading…
Cancel
Save