From cd4ae4a5fddf78542d8a1b30ff80dbf752eb4018 Mon Sep 17 00:00:00 2001 From: Charles Cooper Date: Sun, 1 Sep 2024 17:15:23 +0800 Subject: [PATCH] refactor out get_settings function --- vyper/cli/vyper_json.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/vyper/cli/vyper_json.py b/vyper/cli/vyper_json.py index b6e659fbf9..7d0e6064af 100755 --- a/vyper/cli/vyper_json.py +++ b/vyper/cli/vyper_json.py @@ -249,16 +249,11 @@ def get_search_paths(input_dict: dict) -> list[PurePath]: return [PurePath(p) for p in ret] -def compile_from_input_dict( - input_dict: dict, exc_handler: Callable = exc_handler_raises -) -> tuple[dict, dict]: - if input_dict["language"] != "Vyper": - raise JSONError(f"Invalid language '{input_dict['language']}' - Only Vyper is supported.") - +def get_settings(input_dict: dict) -> Settings: evm_version = get_evm_version(input_dict) optimize = input_dict["settings"].get("optimize") - experimental_codegen = input_dict["settings"].get("experimentalCodegen", None) + experimental_codegen = input_dict["settings"].get("experimentalCodegen") if isinstance(optimize, bool): # bool optimization level for backwards compatibility warnings.warn( @@ -271,10 +266,19 @@ def compile_from_input_dict( else: assert optimize is None - settings = Settings( + return Settings( evm_version=evm_version, optimize=optimize, experimental_codegen=experimental_codegen ) + +def compile_from_input_dict( + input_dict: dict, exc_handler: Callable = exc_handler_raises +) -> tuple[dict, dict]: + if input_dict["language"] != "Vyper": + raise JSONError(f"Invalid language '{input_dict['language']}' - Only Vyper is supported.") + + settings = get_settings(input_dict) + no_bytecode_metadata = not input_dict["settings"].get("bytecodeMetadata", True) integrity = input_dict.get("integrity")