@@ -132,48 +132,22 @@ def config(target: str) -> Optional[PlatformConfig]:
132
132
json_config = json .loads (
133
133
subprocess .run (["forge" , "config" , "--json" ], stdout = subprocess .PIPE , check = True ).stdout
134
134
)
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" )
177
151
178
152
return result
179
153
0 commit comments