fix setproviderurl,swarm command & add batch command

pull/1/head
yann300 7 years ago
parent 75bd6a3d36
commit a93da3deb1
  1. 46
      src/app.js

@ -6,7 +6,6 @@ var yo = require('yo-yo')
var async = require('async') var async = require('async')
var remixLib = require('remix-lib') var remixLib = require('remix-lib')
var EventManager = remixLib.EventManager var EventManager = remixLib.EventManager
var swarmgw = require('swarmgw')
var UniversalDApp = require('./universal-dapp.js') var UniversalDApp = require('./universal-dapp.js')
var UniversalDAppUI = require('./universal-dapp-ui.js') var UniversalDAppUI = require('./universal-dapp-ui.js')
@ -365,30 +364,43 @@ Please make a backup of your contracts and start using http://remix.ethereum.org
cmdInterpreter.event.register('loadgist', (id) => { cmdInterpreter.event.register('loadgist', (id) => {
loadFromGist({gist: id}) loadFromGist({gist: id})
}) })
cmdInterpreter.event.register('loadswarm', (url) => { cmdInterpreter.event.register('loadurl', (url) => {
swarmgw.get(url, function (err, content) { importExternal(url, (err, content) => {
if (err) { if (err) {
modalDialogCustom.log(`Unable to load ${url} from swarm: ${err}`) toolTip(`Unable to load ${url} from swarm: ${err}`)
} else { } else {
content = JSON.parse(content) try {
for (var k in content.sources) { content = JSON.parse(content)
var url = content.sources[k].urls[0] // @TODO retrieve all other contents ? for (var k in content.sources) {
swarmgw.get(url, (error, content) => { var url = content.sources[k].urls[0] // @TODO retrieve all other contents ?
if (!error) { importExternal(url, (error, content) => {
filesProviders['browser'].addReadOnly(k, content) if (error) {
} else { toolTip(`Cannot retrieve the content of ${url}: ${error}`)
filesProviders['browser'].addReadOnly(k, `Cannot retrieve the content of ${url}: ${error}`)
if (content.settings && Object.keys(content.settings.compilationTarget)[0] === k) {
fileManager.switchFile(Object.keys(content.settings.compilationTarget)[0])
} }
} })
}) }
} catch (e) {
filesProviders['swarm'].addReadOnly(url, content)
} }
} }
}) })
}) })
cmdInterpreter.event.register('setproviderurl', (url) => { cmdInterpreter.event.register('setproviderurl', (url) => {
executionContext.setContext('web3', url, true) executionContext.setProviderFromEndpoint(url, 'web3', (error) => {
if (error) toolTip(error)
})
})
cmdInterpreter.event.register('batch', (url) => {
var content = editor.get(editor.current())
if (!content) {
toolTip('no content to execute')
}
var split = content.split('\n')
async.eachSeries(split, (value, cb) => {
cmdInterpreter.interpret(value) ? cb() : cb(`Cannot run ${value}. stopping`)
}, (error) => {
if (error) toolTip(error)
})
}) })
// ----------------- editor ---------------------------- // ----------------- editor ----------------------------

Loading…
Cancel
Save