solidity/scripts/bytecodecompare/prepare_report.py

25 lines
832 B
Python
Raw Normal View History

#!/usr/bin/env python
import sys
import glob
import subprocess
import json
solc = sys.argv[1]
2017-06-20 12:31:09 +00:00
report = open("report.txt", "wb")
2017-03-22 19:56:44 +00:00
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")