|
|
@ -37,7 +37,6 @@ UniversalDApp.prototype.resetEnvironment = function () { |
|
|
|
this._addAccount('dae9801649ba2d95a21e688b56f77905e5667c44ce868ec83f82e838712a2c7a', '0x56BC75E2D63100000') |
|
|
|
this._addAccount('dae9801649ba2d95a21e688b56f77905e5667c44ce868ec83f82e838712a2c7a', '0x56BC75E2D63100000') |
|
|
|
this._addAccount('d74aa6d18aa79a05f3473dd030a97d3305737cbc8337d940344345c1f6b72eea', '0x56BC75E2D63100000') |
|
|
|
this._addAccount('d74aa6d18aa79a05f3473dd030a97d3305737cbc8337d940344345c1f6b72eea', '0x56BC75E2D63100000') |
|
|
|
this._addAccount('71975fbf7fe448e004ac7ae54cad0a383c3906055a65468714156a07385e96ce', '0x56BC75E2D63100000') |
|
|
|
this._addAccount('71975fbf7fe448e004ac7ae54cad0a383c3906055a65468714156a07385e96ce', '0x56BC75E2D63100000') |
|
|
|
executionContext.vm().stateManager.cache.flush(function () {}) |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
// TODO: most params here can be refactored away in txRunner
|
|
|
|
// TODO: most params here can be refactored away in txRunner
|
|
|
|
this.txRunner = new TxRunner(this.accounts, { |
|
|
|
this.txRunner = new TxRunner(this.accounts, { |
|
|
@ -65,7 +64,6 @@ UniversalDApp.prototype.resetAPI = function (transactionContextAPI) { |
|
|
|
|
|
|
|
|
|
|
|
UniversalDApp.prototype.createVMAccount = function (privateKey, balance, cb) { |
|
|
|
UniversalDApp.prototype.createVMAccount = function (privateKey, balance, cb) { |
|
|
|
this._addAccount(privateKey, balance) |
|
|
|
this._addAccount(privateKey, balance) |
|
|
|
executionContext.vm().stateManager.cache.flush(function () {}) |
|
|
|
|
|
|
|
privateKey = Buffer.from(privateKey, 'hex') |
|
|
|
privateKey = Buffer.from(privateKey, 'hex') |
|
|
|
cb(null, '0x' + ethJSUtil.privateToAddress(privateKey).toString('hex')) |
|
|
|
cb(null, '0x' + ethJSUtil.privateToAddress(privateKey).toString('hex')) |
|
|
|
} |
|
|
|
} |
|
|
@ -84,7 +82,6 @@ UniversalDApp.prototype.newAccount = function (password, passwordPromptCb, cb) { |
|
|
|
privateKey = crypto.randomBytes(32) |
|
|
|
privateKey = crypto.randomBytes(32) |
|
|
|
} while (!ethJSUtil.isValidPrivate(privateKey)) |
|
|
|
} while (!ethJSUtil.isValidPrivate(privateKey)) |
|
|
|
this._addAccount(privateKey, '0x56BC75E2D63100000') |
|
|
|
this._addAccount(privateKey, '0x56BC75E2D63100000') |
|
|
|
executionContext.vm().stateManager.cache.flush(function () {}) |
|
|
|
|
|
|
|
cb(null, '0x' + ethJSUtil.privateToAddress(privateKey).toString('hex')) |
|
|
|
cb(null, '0x' + ethJSUtil.privateToAddress(privateKey).toString('hex')) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -101,7 +98,14 @@ UniversalDApp.prototype._addAccount = function (privateKey, balance) { |
|
|
|
var address = ethJSUtil.privateToAddress(privateKey) |
|
|
|
var address = ethJSUtil.privateToAddress(privateKey) |
|
|
|
|
|
|
|
|
|
|
|
// FIXME: we don't care about the callback, but we should still make this proper
|
|
|
|
// FIXME: we don't care about the callback, but we should still make this proper
|
|
|
|
executionContext.vm().stateManager.putAccountBalance(address, balance || '0xf00000000000000001', function cb () {}) |
|
|
|
let stateManager = executionContext.vm().stateManager |
|
|
|
|
|
|
|
stateManager.getAccount(address, (error, account) => { |
|
|
|
|
|
|
|
if (error) return console.log(error) |
|
|
|
|
|
|
|
account.balance = balance || '0xf00000000000000001' |
|
|
|
|
|
|
|
stateManager.putAccount(address, account, function cb (error) { |
|
|
|
|
|
|
|
if (error) console.log(error) |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}) |
|
|
|
self.accounts['0x' + address.toString('hex')] = { privateKey: privateKey, nonce: 0 } |
|
|
|
self.accounts['0x' + address.toString('hex')] = { privateKey: privateKey, nonce: 0 } |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -144,11 +148,11 @@ UniversalDApp.prototype.getBalance = function (address, cb) { |
|
|
|
return cb('No accounts?') |
|
|
|
return cb('No accounts?') |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
executionContext.vm().stateManager.getAccountBalance(Buffer.from(address, 'hex'), function (err, res) { |
|
|
|
executionContext.vm().stateManager.getAccount(Buffer.from(address, 'hex'), function (err, res) { |
|
|
|
if (err) { |
|
|
|
if (err) { |
|
|
|
cb('Account not found') |
|
|
|
cb('Account not found') |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
cb(null, new BN(res).toString(10)) |
|
|
|
cb(null, new BN(res.balance).toString(10)) |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|