aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/bytecodecompare/storebytecode.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/bytecodecompare/storebytecode.sh')
-rwxr-xr-xscripts/bytecodecompare/storebytecode.sh19
1 files changed, 14 insertions, 5 deletions
diff --git a/scripts/bytecodecompare/storebytecode.sh b/scripts/bytecodecompare/storebytecode.sh
index 89a669bd..ccf6e60e 100755
--- a/scripts/bytecodecompare/storebytecode.sh
+++ b/scripts/bytecodecompare/storebytecode.sh
@@ -41,14 +41,15 @@ TMPDIR=$(mktemp -d)
if [[ "$SOLC_EMSCRIPTEN" = "On" ]]
then
# npm install solc
- git clone --depth 1 https://github.com/ethereum/solc-js.git solc
- cp "$REPO_ROOT/build/libsolc/soljson.js" .
+ git clone --depth 1 https://github.com/ethereum/solc-js.git solc-js
+ ( cd solc-js; npm install )
+ cp "$REPO_ROOT/build/libsolc/soljson.js" solc-js/
cat > solc <<EOF
#!/usr/bin/env node
var process = require('process')
var fs = require('fs')
-var compiler = require('solc/wrapper.js')(require('./soljson.js'))
+var compiler = require('./solc-js/wrapper.js')(require('./solc-js/soljson.js'))
for (var optimize of [false, true])
{
@@ -58,7 +59,15 @@ for (var optimize of [false, true])
{
var inputs = {}
inputs[filename] = fs.readFileSync(filename).toString()
- var result = compiler.compile({sources: inputs}, optimize)
+ var input = {
+ language: 'Solidity',
+ sources: inputs,
+ settings: {
+ optimizer: { enabled: optimize },
+ outputSelection: { '*': { '*': ['evm.bytecode.object', 'metadata'] } }
+ }
+ }
+ var result = JSON.parse(compiler.compile(JSON.stringify(input)))
if (!('contracts' in result) || Object.keys(result['contracts']).length === 0)
{
console.log(filename + ': ERROR')
@@ -67,7 +76,7 @@ for (var optimize of [false, true])
{
for (var contractName in result['contracts'])
{
- console.log(contractName + ' ' + result['contracts'][contractName].bytecode)
+ console.log(contractName + ' ' + result['contracts'][contractName].evm.bytecode.object)
console.log(contractName + ' ' + result['contracts'][contractName].metadata)
}
}