Commit 332cee0a authored by Iuri Matias's avatar Iuri Matias

move providers method from debugger

parent 31fbcc49
...@@ -16,6 +16,8 @@ var remixLib = require('remix-lib') ...@@ -16,6 +16,8 @@ var remixLib = require('remix-lib')
var Web3Providers = remixLib.vm.Web3Providers var Web3Providers = remixLib.vm.Web3Providers
var DummyProvider = remixLib.vm.DummyProvider var DummyProvider = remixLib.vm.DummyProvider
var init = remixLib.init
var yo = require('yo-yo') var yo = require('yo-yo')
var csjs = require('csjs-inject') var csjs = require('csjs-inject')
...@@ -51,15 +53,15 @@ class DebuggerUI { ...@@ -51,15 +53,15 @@ class DebuggerUI {
compilersArtefacts: this.registry.get('compilersartefacts').api compilersArtefacts: this.registry.get('compilersartefacts').api
}) })
this.debugger.web3Providers = new Web3Providers() this.web3Providers = new Web3Providers()
this.debugger.executionContext = this.executionContext this.executionContext = this.executionContext
this.debugger.addProvider('DUMMYWEB3', new DummyProvider()) this.addProvider('DUMMYWEB3', new DummyProvider())
this.debugger.switchProvider('DUMMYWEB3') this.switchProvider('DUMMYWEB3')
this.debugger.addProvider('vm', this.executionContext.vm()) this.addProvider('vm', this.executionContext.vm())
this.debugger.addProvider('injected', this.executionContext.internalWeb3()) this.addProvider('injected', this.executionContext.internalWeb3())
this.debugger.addProvider('web3', this.executionContext.internalWeb3()) this.addProvider('web3', this.executionContext.internalWeb3())
this.debugger.switchProvider(this.executionContext.getProvider()) this.switchProvider(this.executionContext.getProvider())
this.isActive = false this.isActive = false
...@@ -78,18 +80,36 @@ class DebuggerUI { ...@@ -78,18 +80,36 @@ class DebuggerUI {
this.listenToEvents() this.listenToEvents()
} }
setupExecutionContext () {
this.executionContext.event.register('contextChanged', this, function (context) {
// TODO: was already broken
//self.switchProvider(context)
})
this.debugger.addProvider('vm', this.executionContext.vm())
this.debugger.addProvider('injected', this.executionContext.internalWeb3()) addProvider (type, obj) {
this.debugger.addProvider('web3', this.executionContext.internalWeb3()) this.web3Providers.addProvider(type, obj)
this.debugger.switchProvider(this.executionContext.getProvider()) this.event.trigger('providerAdded', [type])
}
switchProvider (type) {
var self = this
this.web3Providers.get(type, function (error, obj) {
if (error) {
console.log('provider ' + type + ' not defined')
} else {
self.debugger.updateWeb3(obj)
self.executionContext.detectNetwork((error, network) => {
if (error || !network) {
self.debugger.debugger.updateWeb3(obj)
} else {
var webDebugNode = init.web3DebugNode(network.name)
self.debugger.updateWeb3(!webDebugNode ? obj : webDebugNode)
}
})
self.event.trigger('providerChanged', [type])
}
})
} }
setEditor () { setEditor () {
const self = this const self = this
this.editor = this.registry.get('editor').api this.editor = this.registry.get('editor').api
......
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