aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/bytecodecompare/prepare_report.py
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-03-29 21:04:22 +0800
committerGitHub <noreply@github.com>2017-03-29 21:04:22 +0800
commitfefb3fad6fa20b9c99dd987a7869c297b279032e (patch)
treed63d6a959eb4fc449e1b1a7b97c51d522cfe3e06 /scripts/bytecodecompare/prepare_report.py
parent215184ef6613a9a05e56ffa169d5322100507da8 (diff)
parent5c3a80ab5bac2dd5faf19416a640990af3da0a31 (diff)
downloaddexon-solidity-fefb3fad6fa20b9c99dd987a7869c297b279032e.tar
dexon-solidity-fefb3fad6fa20b9c99dd987a7869c297b279032e.tar.gz
dexon-solidity-fefb3fad6fa20b9c99dd987a7869c297b279032e.tar.bz2
dexon-solidity-fefb3fad6fa20b9c99dd987a7869c297b279032e.tar.lz
dexon-solidity-fefb3fad6fa20b9c99dd987a7869c297b279032e.tar.xz
dexon-solidity-fefb3fad6fa20b9c99dd987a7869c297b279032e.tar.zst
dexon-solidity-fefb3fad6fa20b9c99dd987a7869c297b279032e.zip
Merge pull request #1780 from ethereum/storebytecode
Push bytecode of all test contracts to remote repository.
Diffstat (limited to 'scripts/bytecodecompare/prepare_report.py')
-rwxr-xr-xscripts/bytecodecompare/prepare_report.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/scripts/bytecodecompare/prepare_report.py b/scripts/bytecodecompare/prepare_report.py
new file mode 100755
index 00000000..5a770981
--- /dev/null
+++ b/scripts/bytecodecompare/prepare_report.py
@@ -0,0 +1,24 @@
+#!/usr/bin/env python
+
+import sys
+import glob
+import subprocess
+import json
+
+solc = sys.argv[1]
+report = open("report.txt", "w")
+
+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")