diff options
author | chriseth <chris@ethereum.org> | 2017-03-23 03:56:44 +0800 |
---|---|---|
committer | chriseth <chris@ethereum.org> | 2017-03-23 16:56:18 +0800 |
commit | 5c3a80ab5bac2dd5faf19416a640990af3da0a31 (patch) | |
tree | 69c5699ba612cc3a28dfb1edae57b545814663ef /scripts/bytecodecompare/prepare_report.py | |
parent | bbe3557a2fda2f4a09b63b1f3e501d4c8625bfe1 (diff) | |
download | dexon-solidity-5c3a80ab5bac2dd5faf19416a640990af3da0a31.tar dexon-solidity-5c3a80ab5bac2dd5faf19416a640990af3da0a31.tar.gz dexon-solidity-5c3a80ab5bac2dd5faf19416a640990af3da0a31.tar.bz2 dexon-solidity-5c3a80ab5bac2dd5faf19416a640990af3da0a31.tar.lz dexon-solidity-5c3a80ab5bac2dd5faf19416a640990af3da0a31.tar.xz dexon-solidity-5c3a80ab5bac2dd5faf19416a640990af3da0a31.tar.zst dexon-solidity-5c3a80ab5bac2dd5faf19416a640990af3da0a31.zip |
Also generate optimized code.
Diffstat (limited to 'scripts/bytecodecompare/prepare_report.py')
-rwxr-xr-x | scripts/bytecodecompare/prepare_report.py | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/scripts/bytecodecompare/prepare_report.py b/scripts/bytecodecompare/prepare_report.py index 68793927..5a770981 100755 --- a/scripts/bytecodecompare/prepare_report.py +++ b/scripts/bytecodecompare/prepare_report.py @@ -8,13 +8,17 @@ import json solc = sys.argv[1] report = open("report.txt", "w") -for f in sorted(glob.glob("*.sol")): - proc = subprocess.Popen([solc, '--combined-json', 'bin,metadata', f], stdout=subprocess.PIPE, stderr=subprocess.PIPE) - (out, err) = proc.communicate() - try: - result = json.loads(out.strip()) - for contractName in sorted(result['contracts'].keys()): - report.write(contractName + ' ' + result['contracts'][contractName]['bin'] + '\n') - report.write(contractName + ' ' + result['contracts'][contractName]['metadata'] + '\n') - except: - report.write(f + ": ERROR\n") +for optimize in [False, True]: + for f in sorted(glob.glob("*.sol")): + args = [solc, '--combined-json', 'bin,metadata', f] + if optimize: + args += ['--optimize'] + proc = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + (out, err) = proc.communicate() + try: + result = json.loads(out.strip()) + for contractName in sorted(result['contracts'].keys()): + report.write(contractName + ' ' + result['contracts'][contractName]['bin'] + '\n') + report.write(contractName + ' ' + result['contracts'][contractName]['metadata'] + '\n') + except: + report.write(f + ": ERROR\n") |