|
|
@ -48,6 +48,7 @@ class VmDebuggerLogic { |
|
|
|
this.storageResolver = null |
|
|
|
this.storageResolver = null |
|
|
|
|
|
|
|
|
|
|
|
this.debuggerSolidityState = new DebuggerSolidityState(_parentUI, _traceManager, _codeManager, _solidityProxy) |
|
|
|
this.debuggerSolidityState = new DebuggerSolidityState(_parentUI, _traceManager, _codeManager, _solidityProxy) |
|
|
|
|
|
|
|
this.debuggerSolidityLocals = new DebuggerSolidityLocals(_parentUI, _traceManager, _callTree) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
start () { |
|
|
|
start () { |
|
|
@ -59,6 +60,9 @@ class VmDebuggerLogic { |
|
|
|
|
|
|
|
|
|
|
|
this.debuggerSolidityState.init() |
|
|
|
this.debuggerSolidityState.init() |
|
|
|
this.listenToSolidityStateEvents() |
|
|
|
this.listenToSolidityStateEvents() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.debuggerSolidityLocals.init() |
|
|
|
|
|
|
|
this.listenToSolidityLocalsEvents() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
listenToEvents () { |
|
|
|
listenToEvents () { |
|
|
@ -214,6 +218,12 @@ class VmDebuggerLogic { |
|
|
|
self._parent.event.register('newTraceLoaded', this, function () { |
|
|
|
self._parent.event.register('newTraceLoaded', this, function () { |
|
|
|
self.storageResolver = new StorageResolver({web3: self._parent.web3}) |
|
|
|
self.storageResolver = new StorageResolver({web3: self._parent.web3}) |
|
|
|
self.debuggerSolidityState.storageResolver = self.storageResolver |
|
|
|
self.debuggerSolidityState.storageResolver = self.storageResolver |
|
|
|
|
|
|
|
self.debuggerSolidityLocals.storageResolver = self.storageResolver |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// self.debuggerSolidityState.storageResolver = self.vmDebuggerLogic.storageResolver
|
|
|
|
|
|
|
|
// self.solidityState.storageResolver = self.storageResolver
|
|
|
|
|
|
|
|
// self.fullStoragesChangesPanel.storageResolver = self.storageResolver
|
|
|
|
|
|
|
|
|
|
|
|
self.event.trigger('newTrace', []) |
|
|
|
self.event.trigger('newTrace', []) |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
@ -226,17 +236,34 @@ class VmDebuggerLogic { |
|
|
|
|
|
|
|
|
|
|
|
listenToSolidityStateEvents () { |
|
|
|
listenToSolidityStateEvents () { |
|
|
|
const self = this |
|
|
|
const self = this |
|
|
|
this.debuggerSolidityState.event.register('solidityState', this, function (state) { |
|
|
|
this.debuggerSolidityState.event.register('solidityState', function (state) { |
|
|
|
self.event.trigger('solidityState', [state]) |
|
|
|
self.event.trigger('solidityState', [state]) |
|
|
|
}) |
|
|
|
}) |
|
|
|
this.debuggerSolidityState.event.register('solidityStateMessage', this, function (message) { |
|
|
|
this.debuggerSolidityState.event.register('solidityStateMessage', function (message) { |
|
|
|
self.event.trigger('solidityStateMessage', [message]) |
|
|
|
self.event.trigger('solidityStateMessage', [message]) |
|
|
|
}) |
|
|
|
}) |
|
|
|
this.debuggerSolidityState.event.register('solidityStateUpdating', this, function () { |
|
|
|
this.debuggerSolidityState.event.register('solidityStateUpdating', function () { |
|
|
|
self.event.trigger('solidityStateUpdating', []) |
|
|
|
self.event.trigger('solidityStateUpdating', []) |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
listenToSolidityLocalsEvents () { |
|
|
|
|
|
|
|
const self = this |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.debuggerSolidityLocals.event.register('solidityLocals', function (state) { |
|
|
|
|
|
|
|
self.event.trigger('solidityLocals', [state]) |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
this.debuggerSolidityLocals.event.register('solidityLocalsMessage', function (message) { |
|
|
|
|
|
|
|
self.event.trigger('solidityLocalsMessage', [message]) |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
this.debuggerSolidityLocals.event.register('solidityLocalsUpdating', function () { |
|
|
|
|
|
|
|
self.event.trigger('solidityLocalsUpdating', []) |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
this.debuggerSolidityLocals.event.register('traceReturnValueUpdate', function (data, header) { |
|
|
|
|
|
|
|
self.event.trigger('traceReturnValueUpdate', [data, header]) |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function VmDebugger (_parentUI, _traceManager, _codeManager, _solidityProxy, _callTree) { |
|
|
|
function VmDebugger (_parentUI, _traceManager, _codeManager, _solidityProxy, _callTree) { |
|
|
@ -293,9 +320,7 @@ function VmDebugger (_parentUI, _traceManager, _codeManager, _solidityProxy, _ca |
|
|
|
self.stepDetail.updateField('vm trace step', index) |
|
|
|
self.stepDetail.updateField('vm trace step', index) |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
// this.debuggerSolidityState = new DebuggerSolidityState(_parentUI, _traceManager, _codeManager, _solidityProxy)
|
|
|
|
|
|
|
|
this.solidityState = new SolidityState() |
|
|
|
this.solidityState = new SolidityState() |
|
|
|
// this.debuggerSolidityState.init()
|
|
|
|
|
|
|
|
this.vmDebuggerLogic.event.register('solidityState', this, function (state) { |
|
|
|
this.vmDebuggerLogic.event.register('solidityState', this, function (state) { |
|
|
|
self.solidityState.update(state) |
|
|
|
self.solidityState.update(state) |
|
|
|
}) |
|
|
|
}) |
|
|
@ -306,22 +331,20 @@ function VmDebugger (_parentUI, _traceManager, _codeManager, _solidityProxy, _ca |
|
|
|
self.solidityState.setUpdating() |
|
|
|
self.solidityState.setUpdating() |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
this.debuggerSolidityLocals = new DebuggerSolidityLocals(_parentUI, _traceManager, _callTree) |
|
|
|
|
|
|
|
this.solidityLocals = new SolidityLocals() |
|
|
|
this.solidityLocals = new SolidityLocals() |
|
|
|
this.debuggerSolidityLocals.event.register('solidityLocals', this, function (state) { |
|
|
|
this.vmDebuggerLogic.event.register('solidityLocals', this, function (state) { |
|
|
|
self.solidityLocals.update(state) |
|
|
|
self.solidityLocals.update(state) |
|
|
|
}) |
|
|
|
}) |
|
|
|
this.debuggerSolidityLocals.event.register('solidityLocalsMessage', this, function (message) { |
|
|
|
this.vmDebuggerLogic.event.register('solidityLocalsMessage', this, function (message) { |
|
|
|
self.solidityLocals.setMessage(message) |
|
|
|
self.solidityLocals.setMessage(message) |
|
|
|
}) |
|
|
|
}) |
|
|
|
this.debuggerSolidityLocals.event.register('solidityLocalsUpdating', this, function () { |
|
|
|
this.vmDebuggerLogic.event.register('solidityLocalsUpdating', this, function () { |
|
|
|
self.solidityLocals.setUpdating() |
|
|
|
self.solidityLocals.setUpdating() |
|
|
|
}) |
|
|
|
}) |
|
|
|
this.debuggerSolidityLocals.init() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.returnValuesPanel = new DropdownPanel('Return Value', {json: true}) |
|
|
|
this.returnValuesPanel = new DropdownPanel('Return Value', {json: true}) |
|
|
|
this.returnValuesPanel.data = {} |
|
|
|
this.returnValuesPanel.data = {} |
|
|
|
this.debuggerSolidityLocals.event.register('traceReturnValueUpdate', this.returnValuesPanel.update.bind(this.returnValuesPanel)) |
|
|
|
this.vmDebuggerLogic.event.register('traceReturnValueUpdate', this.returnValuesPanel.update.bind(this.returnValuesPanel)) |
|
|
|
|
|
|
|
|
|
|
|
this.fullStoragesChangesPanel = new FullStoragesChangesPanel(_parentUI, _traceManager) |
|
|
|
this.fullStoragesChangesPanel = new FullStoragesChangesPanel(_parentUI, _traceManager) |
|
|
|
this.addresses = [] |
|
|
|
this.addresses = [] |
|
|
@ -337,11 +360,6 @@ function VmDebugger (_parentUI, _traceManager, _codeManager, _solidityProxy, _ca |
|
|
|
this.vmDebuggerLogic.event.register('newTrace', () => { |
|
|
|
this.vmDebuggerLogic.event.register('newTrace', () => { |
|
|
|
if (!self.view) return |
|
|
|
if (!self.view) return |
|
|
|
|
|
|
|
|
|
|
|
// self.debuggerSolidityState.storageResolver = self.vmDebuggerLogic.storageResolver
|
|
|
|
|
|
|
|
self.debuggerSolidityLocals.storageResolver = self.vmDebuggerLogic.storageResolver |
|
|
|
|
|
|
|
// self.solidityState.storageResolver = self.storageResolver
|
|
|
|
|
|
|
|
// self.fullStoragesChangesPanel.storageResolver = self.storageResolver
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
self.asmCode.basicPanel.show() |
|
|
|
self.asmCode.basicPanel.show() |
|
|
|
self.stackPanel.basicPanel.show() |
|
|
|
self.stackPanel.basicPanel.show() |
|
|
|
self.storagePanel.basicPanel.show() |
|
|
|
self.storagePanel.basicPanel.show() |
|
|
|