Skip to content

Commit 066bd1c

Browse files
committed
remove snakecase and use get()
1 parent 826758e commit 066bd1c

File tree

1 file changed

+16
-42
lines changed

1 file changed

+16
-42
lines changed

crytic_compile/platform/foundry.py

Lines changed: 16 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -132,48 +132,22 @@ def config(target: str) -> Optional[PlatformConfig]:
132132
json_config = json.loads(
133133
subprocess.run(["forge", "config", "--json"], stdout=subprocess.PIPE, check=True).stdout
134134
)
135-
result.remappings = json_config["remappings"]
136-
137-
def lookup_by_keys(keys: List[str], dictionary: Dict[str, T]) -> Optional[T]:
138-
for key in keys:
139-
if key in dictionary:
140-
return dictionary[key]
141-
return None
142-
143-
# Foundry supports snake and kebab case.
144-
result.solc_version = lookup_by_keys(["solc", "solc_version", "solc-version"], json_config)
145-
via_ir = lookup_by_keys(["via_ir", "via-ir"], json_config)
146-
if via_ir:
147-
result.via_ir = via_ir
148-
result.allow_paths = lookup_by_keys(["allow_paths", "allow-paths"], json_config)
149-
150-
if "offline" in json_config:
151-
result.offline = json_config["offline"]
152-
if "optimizer" in json_config:
153-
result.optimizer = json_config["optimizer"]
154-
else:
155-
# Default to true
156-
result.optimizer = True
157-
optimizer_runs = lookup_by_keys(["optimizer_runs", "optimizer-runs"], json_config)
158-
if optimizer_runs is None:
159-
# Default to 200
160-
result.optimizer_runs = 200
161-
else:
162-
result.optimizer_runs = optimizer_runs
163-
evm_version = lookup_by_keys(["evm_version", "evm-version"], json_config)
164-
if evm_version is None:
165-
result.evm_version = evm_version
166-
else:
167-
# Default to london
168-
result.evm_version = "london"
169-
if "src" in json_config:
170-
result.src_path = json_config["src"]
171-
if "test" in json_config:
172-
result.tests_path = json_config["test"]
173-
if "libs" in json_config:
174-
result.libs_path = json_config["libs"]
175-
if "script" in json_config:
176-
result.scripts_path = json_config["script"]
135+
136+
# Solc configurations
137+
result.solc_version = json_config.get("solc")
138+
result.via_ir = json_config.get("via_ir")
139+
result.allow_paths = json_config.get("allow_paths")
140+
result.offline = json_config.get("offline")
141+
result.evm_version = json_config.get("evm_version")
142+
result.optimizer = json_config.get("optimizer")
143+
result.optimizer_runs = json_config.get("optimizer_runs")
144+
result.remappings = json_config.get("remappings")
145+
146+
# Foundry project configurations
147+
result.src_path = json_config.get("src")
148+
result.tests_path = json_config.get("test")
149+
result.libs_path = json_config.get("libs")
150+
result.scripts_path = json_config.get("script")
177151

178152
return result
179153

0 commit comments

Comments
 (0)