|
|
|
@ -27,7 +27,8 @@ var css = csjs` |
|
|
|
|
|
|
|
|
|
function VmDebugger (_parentUI, _traceManager, _codeManager, _solidityProxy, _callTree) { |
|
|
|
|
let _parent = _parentUI.debugger |
|
|
|
|
|
|
|
|
|
var self = this |
|
|
|
|
this.view |
|
|
|
|
this.asmCode = new CodeListView(_parent, _codeManager) |
|
|
|
|
this.stackPanel = new StackPanel(_parentUI, _traceManager) |
|
|
|
|
this.storagePanel = new StoragePanel(_parentUI, _traceManager) |
|
|
|
@ -42,12 +43,13 @@ function VmDebugger (_parentUI, _traceManager, _codeManager, _solidityProxy, _ca |
|
|
|
|
this.returnValuesPanel = new DropdownPanel('Return Value', {json: true}) |
|
|
|
|
this.returnValuesPanel.data = {} |
|
|
|
|
_parentUI.event.register('indexChanged', this.returnValuesPanel, function (index) { |
|
|
|
|
var self = this |
|
|
|
|
if (!self.view) return |
|
|
|
|
var innerself = this |
|
|
|
|
_traceManager.getReturnValue(index, function (error, returnValue) { |
|
|
|
|
if (error) { |
|
|
|
|
self.update([error]) |
|
|
|
|
innerself.update([error]) |
|
|
|
|
} else if (_parentUI.currentStepIndex === index) { |
|
|
|
|
self.update([returnValue]) |
|
|
|
|
innerself.update([returnValue]) |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
@ -55,9 +57,8 @@ function VmDebugger (_parentUI, _traceManager, _codeManager, _solidityProxy, _ca |
|
|
|
|
|
|
|
|
|
this.fullStoragesChangesPanel = new FullStoragesChangesPanel(_parentUI, _traceManager) |
|
|
|
|
|
|
|
|
|
this.view |
|
|
|
|
var self = this |
|
|
|
|
_parent.event.register('newTraceLoaded', this, function () { |
|
|
|
|
if (!self.view) return |
|
|
|
|
var storageResolver = new StorageResolver({web3: _parent.web3}) |
|
|
|
|
self.storagePanel.storageResolver = storageResolver |
|
|
|
|
self.solidityState.storageResolver = storageResolver |
|
|
|
@ -71,11 +72,12 @@ function VmDebugger (_parentUI, _traceManager, _codeManager, _solidityProxy, _ca |
|
|
|
|
self.view.style.display = 'none' |
|
|
|
|
}) |
|
|
|
|
_parent.callTree.event.register('callTreeReady', () => { |
|
|
|
|
self.asmCode.basicPanel.show() |
|
|
|
|
if (!self.view) return |
|
|
|
|
if (_parent.callTree.reducedTrace.length) { |
|
|
|
|
self.solidityLocals.basicPanel.show() |
|
|
|
|
self.solidityState.basicPanel.show() |
|
|
|
|
} |
|
|
|
|
self.asmCode.basicPanel.show() |
|
|
|
|
self.stackPanel.basicPanel.show() |
|
|
|
|
self.storagePanel.basicPanel.show() |
|
|
|
|
self.memoryPanel.basicPanel.show() |
|
|
|
@ -97,6 +99,11 @@ VmDebugger.prototype.renderHead = function () { |
|
|
|
|
return headView |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
VmDebugger.prototype.remove = function () { |
|
|
|
|
// used to stop listenning on event. bad and should be "refactored"
|
|
|
|
|
this.view = null |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
VmDebugger.prototype.render = function () { |
|
|
|
|
var view = yo`<div id='vmdebugger' style='display:none'>
|
|
|
|
|
<div> |
|
|
|
|