Commit c37caa9d authored by Iuri Matias's avatar Iuri Matias

pass getCode to SolidityProxy

parent f5352f82
......@@ -33,7 +33,7 @@ function Ethdebugger (opts) {
this.traceManager = new TraceManager({web3: this.web3})
this.codeManager = new CodeManager(this.traceManager)
this.solidityProxy = new SolidityProxy(this.traceManager, this.codeManager)
this.solidityProxy = new SolidityProxy({traceManager: this.traceManager, getCode: this.codeManager.getCode.bind(this.codeManager)})
this.storageResolver = null
this.callTree = new InternalCallTree(this.event, this.traceManager, this.solidityProxy, this.codeManager, { includeLocalVariables: true })
......@@ -42,7 +42,7 @@ function Ethdebugger (opts) {
Ethdebugger.prototype.setManagers = function () {
this.traceManager = new TraceManager({web3: this.web3})
this.codeManager = new CodeManager(this.traceManager)
this.solidityProxy = new SolidityProxy(this.traceManager, this.codeManager)
this.solidityProxy = new SolidityProxy({traceManager: this.traceManager, getCode: this.codeManager.getCode.bind(this.codeManager)})
this.storageResolver = null
this.callTree = new InternalCallTree(this.event, this.traceManager, this.solidityProxy, this.codeManager, { includeLocalVariables: true })
......
......@@ -6,11 +6,11 @@ const astHelper = require('./astHelper')
const util = remixLib.util
class SolidityProxy {
constructor (traceManager, codeManager) {
constructor ({traceManager, getCode}) {
this.cache = new Cache()
this.reset({})
this.traceManager = traceManager
this.codeManager = codeManager
this.getCode = getCode
}
/**
......@@ -44,7 +44,7 @@ class SolidityProxy {
if (this.cache.contractNameByAddress[address]) {
return this.cache.contractNameByAddress[address]
}
const code = await this.codeManager.getCode(address)
const code = await this.getCode(address)
const contractName = contractNameFromCode(this.contracts, code.bytecode, address)
this.cache.contractNameByAddress[address] = contractName
return contractName
......
......@@ -25,7 +25,7 @@ module.exports = function (st, vm, privateKey, contractBytecode, compilationResu
var traceManager = new TraceManager({web3: vm.web3})
var codeManager = new CodeManager(traceManager)
codeManager.clear()
var solidityProxy = new SolidityProxy(traceManager, codeManager)
var solidityProxy = new SolidityProxy({traceManager, getCode: codeManager.getCode.bind(codeManager)})
solidityProxy.reset(compilationResult)
var debuggerEvent = new EventManager()
var callTree = new InternalCallTree(debuggerEvent, traceManager, solidityProxy, codeManager, { includeLocalVariables: true })
......
......@@ -22,7 +22,7 @@ module.exports = function (st, vm, privateKey, contractBytecode, compilationResu
var traceManager = new TraceManager({web3: vm.web3})
var codeManager = new CodeManager(traceManager)
codeManager.clear()
var solidityProxy = new SolidityProxy(traceManager, codeManager)
var solidityProxy = new SolidityProxy({traceManager, getCode: codeManager.getCode.bind(codeManager)})
solidityProxy.reset(compilationResult)
var debuggerEvent = new EventManager()
var callTree = new InternalCallTree(debuggerEvent, traceManager, solidityProxy, codeManager, { includeLocalVariables: true })
......
......@@ -23,7 +23,7 @@ module.exports = function (st, vm, privateKey, contractBytecode, compilationResu
var traceManager = new TraceManager({web3: vm.web3})
var codeManager = new CodeManager(traceManager)
codeManager.clear()
var solidityProxy = new SolidityProxy(traceManager, codeManager)
var solidityProxy = new SolidityProxy({traceManager, getCode: codeManager.getCode.bind(codeManager)})
solidityProxy.reset(compilationResult)
var debuggerEvent = new EventManager()
var callTree = new InternalCallTree(debuggerEvent, traceManager, solidityProxy, codeManager, { includeLocalVariables: true })
......
......@@ -22,7 +22,7 @@ module.exports = function (st, vm, privateKey, contractBytecode, compilationResu
var traceManager = new TraceManager({web3: vm.web3})
var codeManager = new CodeManager(traceManager)
codeManager.clear()
var solidityProxy = new SolidityProxy(traceManager, codeManager)
var solidityProxy = new SolidityProxy({traceManager, getCode: codeManager.getCode.bind(codeManager)})
solidityProxy.reset(compilationResult)
var debuggerEvent = new EventManager()
var callTree = new InternalCallTree(debuggerEvent, traceManager, solidityProxy, codeManager, { includeLocalVariables: true })
......
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