Merge pull request #1791 from ethereum/remixLibs

Use latest Remix libraries
pull/1/head
yann300 6 years ago committed by GitHub
commit d266db68ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 17
      package.json
  2. 17
      src/universal-dapp.js

@ -8,6 +8,7 @@
"ace-mode-solidity": "^0.1.0",
"async": "^2.1.2",
"babel-eslint": "^7.1.1",
"babel-plugin-transform-modern-regexp": "0.0.6",
"babel-plugin-transform-object-assign": "^6.22.0",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-plugin-yo-yoify": "^0.3.3",
@ -42,12 +43,12 @@
"npm-link-local": "^1.1.0",
"npm-run-all": "^4.0.2",
"onchange": "^3.2.1",
"remix-analyzer": "0.3.1",
"remix-debug": "0.3.1",
"remix-lib": "0.4.1",
"remix-solidity": "0.3.1",
"remix-analyzer": "0.3.5",
"remix-debug": "0.3.5",
"remix-lib": "0.4.5",
"remix-solidity": "0.3.5",
"remix-tabs": "^1.0.0",
"remix-tests": "0.1.1",
"remix-tests": "0.1.6",
"remixd": "0.1.8-alpha.6",
"request": "^2.83.0",
"rimraf": "^2.6.1",
@ -111,7 +112,8 @@
"transform-es2015-spread",
"transform-es2015-parameters",
"transform-es2015-destructuring",
"transform-es2015-block-scoping"
"transform-es2015-block-scoping",
"transform-modern-regexp"
]
},
"browserify": {
@ -152,12 +154,13 @@
"remix-ide": "./bin/remix-ide"
},
"scripts": {
"setupremix": "npm run linkremixlib && npm run linkremixsolidity && npm run linkremixsimulator && npm run linkremixtests",
"setupremix": "npm run linkremixdebug && npm run linkremixlib && npm run linkremixsolidity && npm run linkremixsimulator && npm run linkremixtests",
"pullremix": "git clone https://github.com/ethereum/remix",
"linkremixlib": "cd node_modules && rm -rf remix-lib && ln -s ../../remix/remix-lib remix-lib && cd ..",
"linkremixsolidity": "cd node_modules && rm -rf remix-solidity && ln -s ../../remix/remix-solidity remix-solidity && cd ..",
"linkremixsimulator": "cd node_modules && rm -rf remix-simulator && ln -s ../../remix/remix-simulator remix-simulator && cd ..",
"linkremixtests": "cd node_modules && rm -rf remix-tests && ln -s ../../remix/remix-tests remix-tests && cd ..",
"linkremixdebug": "cd node_modules && rm -rf remix-debug && ln -s ../../remix/remix-debug remix-debug && cd ..",
"build": "browserify src/index.js -o build/app.js --exclude solc",
"build_debugger": "browserify src/app/debugger/remix-debugger/index.js -o src/app/debugger/remix-debugger/build/app.js",
"browsertest": "sleep 5 && npm run nightwatch_local",

@ -58,7 +58,6 @@ module.exports = class UniversalDApp extends UdappApi {
this._addAccount('dae9801649ba2d95a21e688b56f77905e5667c44ce868ec83f82e838712a2c7a', '0x56BC75E2D63100000')
this._addAccount('d74aa6d18aa79a05f3473dd030a97d3305737cbc8337d940344345c1f6b72eea', '0x56BC75E2D63100000')
this._addAccount('71975fbf7fe448e004ac7ae54cad0a383c3906055a65468714156a07385e96ce', '0x56BC75E2D63100000')
executionContext.vm().stateManager.cache.flush(function () {})
}
// TODO: most params here can be refactored away in txRunner
this.txRunner = new TxRunner(this.accounts, {
@ -88,7 +87,6 @@ module.exports = class UniversalDApp extends UdappApi {
return new Promise((resolve, reject) => {
if (executionContext.getProvider() !== 'vm') return reject('plugin API does not allow creating a new account through web3 connection. Only vm mode is allowed')
this._addAccount(privateKey, balance)
executionContext.vm().stateManager.cache.flush(function () {})
privateKey = Buffer.from(privateKey, 'hex')
resolve('0x' + ethJSUtil.privateToAddress(privateKey).toString('hex'))
})
@ -108,7 +106,6 @@ module.exports = class UniversalDApp extends UdappApi {
privateKey = crypto.randomBytes(32)
} while (!ethJSUtil.isValidPrivate(privateKey))
this._addAccount(privateKey, '0x56BC75E2D63100000')
executionContext.vm().stateManager.cache.flush(function () {})
cb(null, '0x' + ethJSUtil.privateToAddress(privateKey).toString('hex'))
}
}
@ -123,7 +120,15 @@ module.exports = class UniversalDApp extends UdappApi {
const address = ethJSUtil.privateToAddress(privateKey)
// 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)
})
})
this.accounts['0x' + address.toString('hex')] = { privateKey, nonce: 0 }
}
}
@ -174,11 +179,11 @@ module.exports = class UniversalDApp extends UdappApi {
return cb('No accounts?')
}
executionContext.vm().stateManager.getAccountBalance(Buffer.from(address, 'hex'), (err, res) => {
executionContext.vm().stateManager.getAccount(Buffer.from(address, 'hex'), (err, res) => {
if (err) {
cb('Account not found')
} else {
cb(null, new BN(res).toString(10))
cb(null, new BN(res.balance).toString(10))
}
})
}

Loading…
Cancel
Save