parent
b9cac79586
commit
0d9b667e1b
@ -0,0 +1,19 @@ |
|||||||
|
'use strict' |
||||||
|
var Web3 = require('web3') |
||||||
|
var Web3Admin = require('../util/web3Admin') |
||||||
|
var TraceManager = require('../trace/traceManager') |
||||||
|
var CodeManager = require('../code/codeManager') |
||||||
|
|
||||||
|
module.exports = { |
||||||
|
loadContext: function () { |
||||||
|
var web3 = new Web3() |
||||||
|
web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545')) |
||||||
|
Web3Admin.extend(web3) |
||||||
|
var traceManager = new TraceManager(web3) |
||||||
|
return { |
||||||
|
web3: web3, |
||||||
|
traceManager: traceManager, |
||||||
|
codeManager: new CodeManager(web3, traceManager) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,35 @@ |
|||||||
|
'use strict' |
||||||
|
module.exports = { |
||||||
|
formatMemory: function (mem, width) { |
||||||
|
var ret = '' |
||||||
|
if (!mem) { |
||||||
|
return ret |
||||||
|
} |
||||||
|
|
||||||
|
if (!mem.substr) { |
||||||
|
mem = mem.join('') // geth returns an array, eth return raw string
|
||||||
|
} |
||||||
|
|
||||||
|
for (var k = 0; k < mem.length; k += (width * 2)) { |
||||||
|
var memory = mem.substr(k, width * 2) |
||||||
|
var content = this.tryConvertAsciiFormat(memory) |
||||||
|
ret += '0x' + k.toString(16) + ' ' + content.raw + ' ' + content.ascii + '\n' |
||||||
|
} |
||||||
|
return ret |
||||||
|
}, |
||||||
|
|
||||||
|
tryConvertAsciiFormat: function (memorySlot) { |
||||||
|
var ret = { ascii: '', raw: '' } |
||||||
|
for (var k = 0; k < memorySlot.length; k += 2) { |
||||||
|
var raw = memorySlot.substr(k, 2) |
||||||
|
var ascii = String.fromCharCode(parseInt(raw, 16)) |
||||||
|
ascii = ascii.replace(/\W/g, '?') |
||||||
|
if (ascii === '') { |
||||||
|
ascii = '?' |
||||||
|
} |
||||||
|
ret.ascii += ascii |
||||||
|
ret.raw += ' ' + raw |
||||||
|
} |
||||||
|
return ret |
||||||
|
} |
||||||
|
} |
@ -1,26 +1,10 @@ |
|||||||
'use strict' |
'use strict' |
||||||
var ReactDOM = require('react-dom') |
var ReactDOM = require('react-dom') |
||||||
var React = require('react') |
var React = require('react') |
||||||
var Web3 = require('web3') |
var util = require('./helpers/init') |
||||||
var Web3Admin = require('./web3Admin') |
|
||||||
var TraceManager = require('./traceManager') |
|
||||||
var CodeManager = require('./codeManager') |
|
||||||
|
|
||||||
function loadContext () { |
|
||||||
var web3 = new Web3() |
|
||||||
web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545')) |
|
||||||
Web3Admin.extend(web3) |
|
||||||
var traceManager = new TraceManager(web3) |
|
||||||
return { |
|
||||||
web3: web3, |
|
||||||
traceManager: traceManager, |
|
||||||
codeManager: new CodeManager(web3, traceManager) |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
var Debugger = require('./debugger') |
var Debugger = require('./debugger') |
||||||
|
|
||||||
ReactDOM.render( |
ReactDOM.render( |
||||||
<Debugger context={loadContext()} />, |
<Debugger context={util.loadContext()} />, |
||||||
document.getElementById('app') |
document.getElementById('app') |
||||||
) |
) |
||||||
|
@ -0,0 +1,12 @@ |
|||||||
|
/* global describe it*/ |
||||||
|
var should = require('should') |
||||||
|
|
||||||
|
var init = require('../src/helpers/init') |
||||||
|
describe('index', function () { |
||||||
|
describe('loadContext', function () { |
||||||
|
it('web3', function () { |
||||||
|
var context = init.loadContext() |
||||||
|
should.exist(context.web3) |
||||||
|
}) |
||||||
|
}) |
||||||
|
}) |
Loading…
Reference in new issue