Skip to content

Commit 60d2cce

Browse files
committed
add library names and placeholder to solc export format
1 parent 7d6d7aa commit 60d2cce

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

crytic_compile/platform/solc.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,11 @@
3434
def _build_contract_data(compilation_unit: "CompilationUnit") -> Dict:
3535
contracts = {}
3636

37-
libraries = compilation_unit.crytic_compile.libraries
37+
libraries_to_update = compilation_unit.crytic_compile.libraries
3838

3939
for filename, source_unit in compilation_unit.source_units.items():
4040
for contract_name in source_unit.contracts_names:
41+
libraries = source_unit.libraries_names_and_patterns(contract_name)
4142
abi = str(source_unit.abi(contract_name))
4243
abi = abi.replace("'", '"')
4344
abi = abi.replace("True", "true")
@@ -48,10 +49,11 @@ def _build_contract_data(compilation_unit: "CompilationUnit") -> Dict:
4849
"srcmap": ";".join(source_unit.srcmap_init(contract_name)),
4950
"srcmap-runtime": ";".join(source_unit.srcmap_runtime(contract_name)),
5051
"abi": abi,
51-
"bin": source_unit.bytecode_init(contract_name, libraries),
52-
"bin-runtime": source_unit.bytecode_runtime(contract_name, libraries),
52+
"bin": source_unit.bytecode_init(contract_name, libraries_to_update),
53+
"bin-runtime": source_unit.bytecode_runtime(contract_name, libraries_to_update),
5354
"userdoc": source_unit.natspec[contract_name].userdoc.export(),
5455
"devdoc": source_unit.natspec[contract_name].devdoc.export(),
56+
"libraries": dict(libraries) if libraries else {},
5557
}
5658
return contracts
5759

0 commit comments

Comments
 (0)