diff options
author | Alex Beregszaszi <alex@rtfs.hu> | 2018-11-23 03:10:35 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-23 03:10:35 +0800 |
commit | 5515d70be995f635570f5d3274a83f682035c7f3 (patch) | |
tree | a9fc3a16dbfa1cbbca5eb5eb7bfa595e0f5d41a6 | |
parent | ecd059cb9225c5b9d01a928b1495aff31e3773ee (diff) | |
parent | 780990516b5285c74010c2791a13e01e668ed2dd (diff) | |
download | dexon-solidity-5515d70be995f635570f5d3274a83f682035c7f3.tar.gz dexon-solidity-5515d70be995f635570f5d3274a83f682035c7f3.tar.zst dexon-solidity-5515d70be995f635570f5d3274a83f682035c7f3.zip |
Merge pull request #5481 from ethereum/fix-byecodecompare
Fix storebytecode.sh for bytecode comparison
-rwxr-xr-x | scripts/bytecodecompare/storebytecode.sh | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/scripts/bytecodecompare/storebytecode.sh b/scripts/bytecodecompare/storebytecode.sh index ccf6e60e..b14b23d0 100755 --- a/scripts/bytecodecompare/storebytecode.sh +++ b/scripts/bytecodecompare/storebytecode.sh @@ -58,7 +58,7 @@ for (var optimize of [false, true]) if (filename !== undefined) { var inputs = {} - inputs[filename] = fs.readFileSync(filename).toString() + inputs[filename] = { content: fs.readFileSync(filename).toString() } var input = { language: 'Solidity', sources: inputs, @@ -68,16 +68,22 @@ for (var optimize of [false, true]) } } var result = JSON.parse(compiler.compile(JSON.stringify(input))) - if (!('contracts' in result) || Object.keys(result['contracts']).length === 0) + if ( + !('contracts' in result) || + Object.keys(result['contracts']).length === 0 || + !result['contracts'][filename] || + Object.keys(result['contracts'][filename]).length === 0 + ) { + // NOTE: do not exit here because this may be run on source which cannot be compiled console.log(filename + ': ERROR') } else { - for (var contractName in result['contracts']) + for (var contractName in result['contracts'][filename]) { - console.log(contractName + ' ' + result['contracts'][contractName].evm.bytecode.object) - console.log(contractName + ' ' + result['contracts'][contractName].metadata) + console.log(contractName + ' ' + result['contracts'][filename][contractName].evm.bytecode.object) + console.log(contractName + ' ' + result['contracts'][filename][contractName].metadata) } } } |