From 376b923a7979d47373db49dfadbba7ad96c1f730 Mon Sep 17 00:00:00 2001 From: George Plotnikov Date: Wed, 26 Oct 2022 15:13:11 +0500 Subject: [PATCH 1/3] adding support for `no-pretty-print` --- test/cmdlineTests.sh | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/test/cmdlineTests.sh b/test/cmdlineTests.sh index b320da05e..6adc91538 100755 --- a/test/cmdlineTests.sh +++ b/test/cmdlineTests.sh @@ -186,25 +186,25 @@ function test_solc_behaviour exitCode=$? set -e - if [[ " ${solc_args[*]} " == *" --standard-json "* ]] + if [[ " ${solc_args[*]} " == *" --standard-json "* ]] && [[ -s $stdout_path ]] then python3 - < }] +json = re.sub(r"\"errors\":\s*\[\s*\],?","\n" if json[1] == " " else "",json) # Remove "errors" array if it's not empty +json = re.sub("\n\\s*\n", "\n", json) # Remove trailing whitespace +json = re.sub(r"},(\n{0,1})\n*(\s*(]|}))", r"}\1\2", json) # Remove trailing comma open("$stdout_path", "w").write(json) EOF sed -i.bak -E -e 's/ Consider adding \\"pragma solidity \^[0-9.]*;\\"//g' "$stdout_path" - sed -i.bak -E -e 's/\"opcodes\":\"[^"]+\"/\"opcodes\":\"\"/g' "$stdout_path" - sed -i.bak -E -e 's/\"sourceMap\":\"[0-9:;-]+\"/\"sourceMap\":\"\"/g' "$stdout_path" + sed -i.bak -E -e 's/\"opcodes\":[[:space:]]*\"[^"]+\"/\"opcodes\":\"\"/g' "$stdout_path" + sed -i.bak -E -e 's/\"sourceMap\":[[:space:]]*\"[0-9:;-]+\"/\"sourceMap\":\"\"/g' "$stdout_path" # Remove bytecode (but not linker references). - sed -i.bak -E -e 's/(\"object\":\")[0-9a-f]+([^"]*\")/\1\2/g' "$stdout_path" + sed -i.bak -E -e 's/(\"object\":[[:space:]]*\")[0-9a-f]+([^"]*\")/\1\2/g' "$stdout_path" # shellcheck disable=SC2016 - sed -i.bak -E -e 's/(\"object\":\"[^"]+\$__)[0-9a-f]+(\")/\1\2/g' "$stdout_path" + sed -i.bak -E -e 's/(\"object\":[[:space:]]*\"[^"]+\$__)[0-9a-f]+(\")/\1\2/g' "$stdout_path" # shellcheck disable=SC2016 sed -i.bak -E -e 's/([0-9a-f]{34}\$__)[0-9a-f]+(__\$[0-9a-f]{17})/\1\2/g' "$stdout_path" # Remove metadata in assembly output (see below about the magic numbers) @@ -215,7 +215,7 @@ EOF # Replace escaped newlines by actual newlines for readability # shellcheck disable=SC1003 sed -i.bak -E -e 's/\\n/\'$'\n/g' "$stdout_path" - sed -i.bak -e 's/\(^[ ]*auxdata: \)0x[0-9a-f]*$/\1/' "$stdout_path" + sed -i.bak -e 's/\(^[ ]*auxdata:[[:space:]]\)0x[0-9a-f]*$/\1/' "$stdout_path" rm "$stdout_path.bak" else sed -i.bak -e '/^Warning: This is a pre-release compiler version, please do not use it in production./d' "$stderr_path" @@ -458,7 +458,13 @@ printTask "Running general commandline tests..." inputFile="" stdout="$(cat "${tdir}/output.json" 2>/dev/null || true)" stdoutExpectationFile="${tdir}/output.json" - command_args="--standard-json "$(cat "${tdir}/args" 2>/dev/null || true) + prettyPrintFlags="" + if [[ ! -f "${tdir}/no-pretty-print" ]] + then + prettyPrintFlags="--pretty-json --json-indent 4" + fi + + command_args="--standard-json ${prettyPrintFlags} "$(cat "${tdir}/args" 2>/dev/null || true) else if [ -e "${tdir}/stdin" ] then From 6374b4fe23ec8dc989f430b8d4ee0f45e65a52f1 Mon Sep 17 00:00:00 2001 From: George Plotnikov Date: Wed, 26 Oct 2022 15:13:47 +0500 Subject: [PATCH 2/3] regenerating tests expectation --- .../linking_standard_solidity/output.json | 27 +- .../output.json | 27 +- .../output.json | 43 +- .../linking_standard_yul/output.json | 20 +- .../output.json | 20 +- .../output.json | 32 +- .../output_selection_all_A1/output.json | 43 +- .../output_selection_all_A2/output.json | 30 +- .../output_selection_all_blank/output.json | 14 +- .../output_selection_all_star/output.json | 63 +- .../output_selection_single_A1/output.json | 30 +- .../output_selection_single_B1/output.json | 30 +- .../output_selection_single_all/output.json | 40 +- .../no-pretty-print} | 0 .../pretty_json_standard/no-pretty-print | 0 .../no-pretty-print | 0 .../recovery_standard_json/output.json | 94 +- .../output.json | 41 +- .../args | 2 +- .../args | 2 +- .../args | 2 +- .../args | 2 +- .../output.json | 41 +- .../standard_default_success/output.json | 10 +- .../standard_empty_file_name/output.json | 29 +- .../standard_ewasm_requested/output.json | 26 +- .../output.json | 24 +- .../standard_function_debug_info/output.json | 186 +- .../standard_generatedSources/output.json | 2388 ++++++++++++++++- .../standard_immutable_references/output.json | 35 +- .../output.json | 22 +- .../standard_ir_requested/output.json | 22 +- .../no-pretty-print | 0 .../output.json | 26 +- .../output.json | 23 +- .../output.json | 10 +- .../output.json | 49 +- .../output.json | 49 +- .../output.json | 13 +- .../output.json | 13 +- .../output.json | 13 +- .../output.json | 23 +- .../output.json | 71 +- .../output.json | 49 +- .../output.json | 23 +- .../output.json | 13 +- .../output.json | 13 +- .../output.json | 13 +- .../output.json | 22 +- .../output.json | 28 +- .../output.json | 10 +- .../output.json | 73 +- .../output.json | 28 +- .../output.json | 55 +- .../output.json | 13 +- .../output.json | 31 +- .../output.json | 52 +- .../output.json | 31 +- .../output.json | 10 +- .../output.json | 25 +- .../output.json | 47 +- .../output.json | 41 +- .../output.json | 13 +- .../output.json | 13 +- .../output.json | 13 +- .../output.json | 48 +- .../output.json | 48 +- .../output.json | 38 +- .../output.json | 23 +- .../output.json | 66 +- .../output.json | 50 +- .../output.json | 29 +- .../output.json | 13 +- .../output.json | 31 +- .../output.json | 33 +- .../output.json | 65 +- .../output.json | 31 +- .../output.json | 31 +- .../output.json | 52 +- .../output.json | 31 +- .../output.json | 52 +- .../output.json | 10 +- .../output.json | 47 +- .../output.json | 10 +- .../output.json | 152 +- .../output.json | 146 +- .../output.json | 85 +- .../output.json | 52 +- .../output.json | 31 +- .../output.json | 13 +- .../output.json | 10 +- .../output.json | 31 +- .../output.json | 52 +- .../output.json | 31 +- .../output.json | 10 +- .../output.json | 31 +- .../output.json | 52 +- .../output.json | 31 +- .../output.json | 118 +- .../output.json | 67 +- .../output.json | 85 +- .../output.json | 49 +- .../output.json | 13 +- .../output.json | 13 +- .../output.json | 13 +- .../output.json | 60 +- .../output.json | 62 +- .../output.json | 23 +- .../output.json | 13 +- .../output.json | 13 +- .../cmdlineTests/standard_no_append_cbor/args | 1 - .../standard_no_append_cbor/output.json | 6 +- .../args | 1 - .../standard_only_ast_requested/output.json | 97 +- .../output.json | 1478 +++++++++- .../args | 1 - .../standard_optimizer_invalid_details/args | 1 - .../standard_optimizer_no_yul/args | 1 - test/cmdlineTests/standard_optimizer_yul/args | 1 - .../standard_optimizer_yulDetails/args | 1 - .../args | 1 - .../args | 1 - .../args | 1 - .../args | 1 - .../args | 1 - .../args | 1 - .../args | 1 - .../args | 1 - .../args | 1 - .../args | 1 - .../args | 1 - .../args | 1 - .../args | 1 - .../args | 1 - .../args | 1 - .../args | 1 - .../output.json | 38 +- .../standard_urls_existing_and_missing/args | 1 - test/cmdlineTests/standard_urls_missing/args | 1 - .../standard_viair_requested/output.json | 71 +- .../output.json | 13 +- .../standard_wrong_key_metadata/output.json | 13 +- .../standard_wrong_key_optimizer/output.json | 13 +- .../standard_wrong_key_root/output.json | 13 +- .../standard_wrong_key_settings/output.json | 13 +- .../standard_wrong_key_source/output.json | 13 +- .../output.json | 13 +- .../output.json | 13 +- .../output.json | 13 +- .../standard_wrong_type_metadata/output.json | 13 +- .../standard_wrong_type_optimizer/output.json | 13 +- .../output.json | 13 +- .../output.json | 13 +- .../output.json | 13 +- .../output.json | 13 +- .../output.json | 13 +- .../output.json | 13 +- .../standard_wrong_type_root/output.json | 13 +- .../standard_wrong_type_settings/output.json | 13 +- .../standard_wrong_type_source/output.json | 13 +- .../standard_wrong_type_sources/output.json | 13 +- .../output.json | 13 +- test/cmdlineTests/standard_yul/output.json | 33 +- .../standard_yul_debug_info_print_all/args | 2 +- .../output.json | 2 +- .../args | 2 +- .../output.json | 2 +- .../standard_yul_debug_info_print_none/args | 2 +- .../output.json | 2 +- .../args | 2 +- .../output.json | 3 +- .../standard_yul_immutable_references/args | 1 - .../output.json | 68 +- .../output.json | 3 +- .../standard_yul_multiple_files/output.json | 13 +- .../output.json | 13 +- .../standard_yul_object/output.json | 33 +- .../output.json | 21 +- .../standard_yul_object_name/output.json | 43 +- .../standard_yul_optimiserSteps/output.json | 33 +- .../standard_yul_optimized/output.json | 33 +- .../standard_yul_single_file_via_urls/args | 2 +- .../standard_yul_stack_opt/output.json | 18 +- .../output.json | 18 +- .../storage_layout_bytes/output.json | 50 +- .../storage_layout_dyn_array/output.json | 70 +- .../storage_layout_many/output.json | 199 +- .../storage_layout_mapping/output.json | 86 +- .../storage_layout_smoke/output.json | 24 +- .../output.json | 28 +- .../storage_layout_string/output.json | 50 +- .../storage_layout_struct/output.json | 127 +- .../storage_layout_struct_packed/output.json | 133 +- .../storage_layout_value_types/output.json | 79 +- .../output.json | 99 +- .../yul_string_format_ascii/output.json | 22 +- .../output.json | 22 +- .../output.json | 22 +- .../yul_string_format_ascii_long/output.json | 22 +- .../yul_string_format_hex/output.json | 22 +- 200 files changed, 9142 insertions(+), 478 deletions(-) rename test/cmdlineTests/{standard_json_no_pretty_print/args => pretty_json_indent_only/no-pretty-print} (100%) create mode 100644 test/cmdlineTests/pretty_json_standard/no-pretty-print create mode 100644 test/cmdlineTests/pretty_json_standard_indent/no-pretty-print create mode 100644 test/cmdlineTests/standard_json_no_pretty_print/no-pretty-print delete mode 100644 test/cmdlineTests/standard_no_append_cbor/args delete mode 100644 test/cmdlineTests/standard_no_append_cbor_with_metadata_hash/args delete mode 100644 test/cmdlineTests/standard_optimizer_invalid_detail_type/args delete mode 100644 test/cmdlineTests/standard_optimizer_invalid_details/args delete mode 100644 test/cmdlineTests/standard_optimizer_no_yul/args delete mode 100644 test/cmdlineTests/standard_optimizer_yul/args delete mode 100644 test/cmdlineTests/standard_optimizer_yulDetails/args delete mode 100644 test/cmdlineTests/standard_optimizer_yulDetails_no_object/args delete mode 100644 test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps/args delete mode 100644 test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_invalid_abbreviation/args delete mode 100644 test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_invalid_nested_delimiter/args delete mode 100644 test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_mutliple_delimiters/args delete mode 100644 test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_nested_brackets/args delete mode 100644 test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_nesting_too_deep/args delete mode 100644 test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_type/args delete mode 100644 test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_unbalanced_closing_bracket/args delete mode 100644 test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_unbalanced_opening_bracket/args delete mode 100644 test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_with_cleanup_sequence/args delete mode 100644 test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_with_empty_cleanup_sequence/args delete mode 100644 test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_with_empty_optimisation_sequence/args delete mode 100644 test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_with_empty_sequence/args delete mode 100644 test/cmdlineTests/standard_optimizer_yulDetails_without_yul/args delete mode 100644 test/cmdlineTests/standard_parsing_import_absolute_paths/args delete mode 100644 test/cmdlineTests/standard_urls_existing_and_missing/args delete mode 100644 test/cmdlineTests/standard_urls_missing/args delete mode 100644 test/cmdlineTests/standard_yul_immutable_references/args diff --git a/test/cmdlineTests/linking_standard_solidity/output.json b/test/cmdlineTests/linking_standard_solidity/output.json index acf3bbc00..83813d806 100644 --- a/test/cmdlineTests/linking_standard_solidity/output.json +++ b/test/cmdlineTests/linking_standard_solidity/output.json @@ -1 +1,26 @@ -{"contracts":{"A":{"C":{"evm":{"bytecode":{"linkReferences":{},"object":""}}}}},"sources":{"A":{"id":0}}} +{ + "contracts": + { + "A": + { + "C": + { + "evm": + { + "bytecode": + { + "linkReferences": {}, + "object": "" + } + } + } + } + }, + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/linking_standard_solidity_quote_in_file_name/output.json b/test/cmdlineTests/linking_standard_solidity_quote_in_file_name/output.json index 370772d7d..38e0a1b5a 100644 --- a/test/cmdlineTests/linking_standard_solidity_quote_in_file_name/output.json +++ b/test/cmdlineTests/linking_standard_solidity_quote_in_file_name/output.json @@ -1 +1,26 @@ -{"contracts":{"A\"B":{"C":{"evm":{"bytecode":{"linkReferences":{},"object":""}}}}},"sources":{"A\"B":{"id":0}}} +{ + "contracts": + { + "A\"B": + { + "C": + { + "evm": + { + "bytecode": + { + "linkReferences": {}, + "object": "" + } + } + } + } + }, + "sources": + { + "A\"B": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/linking_standard_solidity_unresolved_references/output.json b/test/cmdlineTests/linking_standard_solidity_unresolved_references/output.json index 65db86584..d9684242a 100644 --- a/test/cmdlineTests/linking_standard_solidity_unresolved_references/output.json +++ b/test/cmdlineTests/linking_standard_solidity_unresolved_references/output.json @@ -1 +1,42 @@ -{"contracts":{"A":{"C":{"evm":{"bytecode":{"linkReferences":{"A":{"L2":[{"length":20,"start":184},{"length":20,"start":368}]}},"object":"__$622b2f540b6a16ff5db7bea656ad8fcf4f$____$622b2f540b6a16ff5db7bea656ad8fcf4f$__"}}}}},"sources":{"A":{"id":0}}} +{ + "contracts": + { + "A": + { + "C": + { + "evm": + { + "bytecode": + { + "linkReferences": + { + "A": + { + "L2": + [ + { + "length": 20, + "start": 184 + }, + { + "length": 20, + "start": 368 + } + ] + } + }, + "object": "__$622b2f540b6a16ff5db7bea656ad8fcf4f$____$622b2f540b6a16ff5db7bea656ad8fcf4f$__" + } + } + } + } + }, + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/linking_standard_yul/output.json b/test/cmdlineTests/linking_standard_yul/output.json index 89fa9901c..b9059bdfd 100644 --- a/test/cmdlineTests/linking_standard_yul/output.json +++ b/test/cmdlineTests/linking_standard_yul/output.json @@ -1 +1,19 @@ -{"contracts":{"A":{"a":{"evm":{"bytecode":{"linkReferences":{},"object":""}}}}},} +{ + "contracts": + { + "A": + { + "a": + { + "evm": + { + "bytecode": + { + "linkReferences": {}, + "object": "" + } + } + } + } + } +} diff --git a/test/cmdlineTests/linking_standard_yul_quote_in_file_name/output.json b/test/cmdlineTests/linking_standard_yul_quote_in_file_name/output.json index 89fa9901c..b9059bdfd 100644 --- a/test/cmdlineTests/linking_standard_yul_quote_in_file_name/output.json +++ b/test/cmdlineTests/linking_standard_yul_quote_in_file_name/output.json @@ -1 +1,19 @@ -{"contracts":{"A":{"a":{"evm":{"bytecode":{"linkReferences":{},"object":""}}}}},} +{ + "contracts": + { + "A": + { + "a": + { + "evm": + { + "bytecode": + { + "linkReferences": {}, + "object": "" + } + } + } + } + } +} diff --git a/test/cmdlineTests/linking_standard_yul_unresolved_references/output.json b/test/cmdlineTests/linking_standard_yul_unresolved_references/output.json index ec597c396..ac1250cd4 100644 --- a/test/cmdlineTests/linking_standard_yul_unresolved_references/output.json +++ b/test/cmdlineTests/linking_standard_yul_unresolved_references/output.json @@ -1 +1,31 @@ -{"contracts":{"A":{"a":{"evm":{"bytecode":{"linkReferences":{"contract/test.sol":{"L2":[{"length":20,"start":22}]}},"object":"__$fb58009a6b1ecea3b9d99bedd645df4ec3$__"}}}}},} +{ + "contracts": + { + "A": + { + "a": + { + "evm": + { + "bytecode": + { + "linkReferences": + { + "contract/test.sol": + { + "L2": + [ + { + "length": 20, + "start": 22 + } + ] + } + }, + "object": "__$fb58009a6b1ecea3b9d99bedd645df4ec3$__" + } + } + } + } + } +} diff --git a/test/cmdlineTests/output_selection_all_A1/output.json b/test/cmdlineTests/output_selection_all_A1/output.json index 5592b43f0..b21b632bd 100644 --- a/test/cmdlineTests/output_selection_all_A1/output.json +++ b/test/cmdlineTests/output_selection_all_A1/output.json @@ -1 +1,42 @@ -{"contracts":{"a.sol":{"A1":{"evm":{"bytecode":{"object":""}}}},"b.sol":{"A1":{"evm":{"bytecode":{"object":""}}}}},"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}} +{ + "contracts": + { + "a.sol": + { + "A1": + { + "evm": + { + "bytecode": + { + "object": "" + } + } + } + }, + "b.sol": + { + "A1": + { + "evm": + { + "bytecode": + { + "object": "" + } + } + } + } + }, + "sources": + { + "a.sol": + { + "id": 0 + }, + "b.sol": + { + "id": 1 + } + } +} diff --git a/test/cmdlineTests/output_selection_all_A2/output.json b/test/cmdlineTests/output_selection_all_A2/output.json index d300efa1c..c33941c2f 100644 --- a/test/cmdlineTests/output_selection_all_A2/output.json +++ b/test/cmdlineTests/output_selection_all_A2/output.json @@ -1 +1,29 @@ -{"contracts":{"a.sol":{"A2":{"evm":{"bytecode":{"object":""}}}}},"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}} +{ + "contracts": + { + "a.sol": + { + "A2": + { + "evm": + { + "bytecode": + { + "object": "" + } + } + } + } + }, + "sources": + { + "a.sol": + { + "id": 0 + }, + "b.sol": + { + "id": 1 + } + } +} diff --git a/test/cmdlineTests/output_selection_all_blank/output.json b/test/cmdlineTests/output_selection_all_blank/output.json index 880514054..b4c60911c 100644 --- a/test/cmdlineTests/output_selection_all_blank/output.json +++ b/test/cmdlineTests/output_selection_all_blank/output.json @@ -1 +1,13 @@ -{"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}} +{ + "sources": + { + "a.sol": + { + "id": 0 + }, + "b.sol": + { + "id": 1 + } + } +} diff --git a/test/cmdlineTests/output_selection_all_star/output.json b/test/cmdlineTests/output_selection_all_star/output.json index 174401500..f70963621 100644 --- a/test/cmdlineTests/output_selection_all_star/output.json +++ b/test/cmdlineTests/output_selection_all_star/output.json @@ -1 +1,62 @@ -{"contracts":{"a.sol":{"A1":{"evm":{"bytecode":{"object":""}}},"A2":{"evm":{"bytecode":{"object":""}}}},"b.sol":{"A1":{"evm":{"bytecode":{"object":""}}},"B2":{"evm":{"bytecode":{"object":""}}}}},"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}} +{ + "contracts": + { + "a.sol": + { + "A1": + { + "evm": + { + "bytecode": + { + "object": "" + } + } + }, + "A2": + { + "evm": + { + "bytecode": + { + "object": "" + } + } + } + }, + "b.sol": + { + "A1": + { + "evm": + { + "bytecode": + { + "object": "" + } + } + }, + "B2": + { + "evm": + { + "bytecode": + { + "object": "" + } + } + } + } + }, + "sources": + { + "a.sol": + { + "id": 0 + }, + "b.sol": + { + "id": 1 + } + } +} diff --git a/test/cmdlineTests/output_selection_single_A1/output.json b/test/cmdlineTests/output_selection_single_A1/output.json index 43d5be406..ab44a2d54 100644 --- a/test/cmdlineTests/output_selection_single_A1/output.json +++ b/test/cmdlineTests/output_selection_single_A1/output.json @@ -1 +1,29 @@ -{"contracts":{"a.sol":{"A1":{"evm":{"bytecode":{"object":""}}}}},"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}} +{ + "contracts": + { + "a.sol": + { + "A1": + { + "evm": + { + "bytecode": + { + "object": "" + } + } + } + } + }, + "sources": + { + "a.sol": + { + "id": 0 + }, + "b.sol": + { + "id": 1 + } + } +} diff --git a/test/cmdlineTests/output_selection_single_B1/output.json b/test/cmdlineTests/output_selection_single_B1/output.json index 101f2e7a2..ffaf266b4 100644 --- a/test/cmdlineTests/output_selection_single_B1/output.json +++ b/test/cmdlineTests/output_selection_single_B1/output.json @@ -1 +1,29 @@ -{"contracts":{"b.sol":{"B2":{"evm":{"bytecode":{"object":""}}}}},"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}} +{ + "contracts": + { + "b.sol": + { + "B2": + { + "evm": + { + "bytecode": + { + "object": "" + } + } + } + } + }, + "sources": + { + "a.sol": + { + "id": 0 + }, + "b.sol": + { + "id": 1 + } + } +} diff --git a/test/cmdlineTests/output_selection_single_all/output.json b/test/cmdlineTests/output_selection_single_all/output.json index e04588cb4..52d04cb18 100644 --- a/test/cmdlineTests/output_selection_single_all/output.json +++ b/test/cmdlineTests/output_selection_single_all/output.json @@ -1 +1,39 @@ -{"contracts":{"a.sol":{"A1":{"evm":{"bytecode":{"object":""}}},"A2":{"evm":{"bytecode":{"object":""}}}}},"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}} +{ + "contracts": + { + "a.sol": + { + "A1": + { + "evm": + { + "bytecode": + { + "object": "" + } + } + }, + "A2": + { + "evm": + { + "bytecode": + { + "object": "" + } + } + } + } + }, + "sources": + { + "a.sol": + { + "id": 0 + }, + "b.sol": + { + "id": 1 + } + } +} diff --git a/test/cmdlineTests/standard_json_no_pretty_print/args b/test/cmdlineTests/pretty_json_indent_only/no-pretty-print similarity index 100% rename from test/cmdlineTests/standard_json_no_pretty_print/args rename to test/cmdlineTests/pretty_json_indent_only/no-pretty-print diff --git a/test/cmdlineTests/pretty_json_standard/no-pretty-print b/test/cmdlineTests/pretty_json_standard/no-pretty-print new file mode 100644 index 000000000..e69de29bb diff --git a/test/cmdlineTests/pretty_json_standard_indent/no-pretty-print b/test/cmdlineTests/pretty_json_standard_indent/no-pretty-print new file mode 100644 index 000000000..e69de29bb diff --git a/test/cmdlineTests/recovery_standard_json/output.json b/test/cmdlineTests/recovery_standard_json/output.json index 2378a2084..68415ac0c 100644 --- a/test/cmdlineTests/recovery_standard_json/output.json +++ b/test/cmdlineTests/recovery_standard_json/output.json @@ -1,13 +1,101 @@ -{"errors":[{"component":"general","errorCode":"3546","formattedMessage":"ParserError: Expected type name +{ + "errors": + [ + { + "component": "general", + "errorCode": "3546", + "formattedMessage": "ParserError: Expected type name --> A:2:58: | 2 | pragma solidity >=0.0; contract Errort6 { using foo for ; /* missing type name */ } | ^ -","message":"Expected type name","severity":"error","sourceLocation":{"end":94,"file":"A","start":93},"type":"ParserError"},{"component":"general","errorCode":"3796","formattedMessage":"Warning: Recovered in ContractDefinition at '}'. +", + "message": "Expected type name", + "severity": "error", + "sourceLocation": + { + "end": 94, + "file": "A", + "start": 93 + }, + "type": "ParserError" + }, + { + "component": "general", + "errorCode": "3796", + "formattedMessage": "Warning: Recovered in ContractDefinition at '}'. --> A:2:84: | 2 | pragma solidity >=0.0; contract Errort6 { using foo for ; /* missing type name */ } | ^ -","message":"Recovered in ContractDefinition at '}'.","severity":"warning","sourceLocation":{"end":120,"file":"A","start":119},"type":"Warning"}],"sources":{"A":{"ast":{"absolutePath":"A","exportedSymbols":{"Errort6":[3]},"id":4,"license":"GPL-3.0","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity",">=","0.0"],"nodeType":"PragmaDirective","src":"36:22:0"},{"abstract":false,"baseContracts":[],"canonicalName":"Errort6","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":3,"linearizedBaseContracts":[3],"name":"Errort6","nameLocation":"68:7:0","nodeType":"ContractDefinition","nodes":[],"scope":4,"src":"59:35:0","usedErrors":[]}],"src":"36:84:0"},"id":0}}} +", + "message": "Recovered in ContractDefinition at '}'.", + "severity": "warning", + "sourceLocation": + { + "end": 120, + "file": "A", + "start": 119 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "ast": + { + "absolutePath": "A", + "exportedSymbols": + { + "Errort6": + [ + 3 + ] + }, + "id": 4, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": + [ + { + "id": 1, + "literals": + [ + "solidity", + ">=", + "0.0" + ], + "nodeType": "PragmaDirective", + "src": "36:22:0" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Errort6", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 3, + "linearizedBaseContracts": + [ + 3 + ], + "name": "Errort6", + "nameLocation": "68:7:0", + "nodeType": "ContractDefinition", + "nodes": [], + "scope": 4, + "src": "59:35:0", + "usedErrors": [] + } + ], + "src": "36:84:0" + }, + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_debug_info_in_evm_asm_via_ir_location/output.json b/test/cmdlineTests/standard_debug_info_in_evm_asm_via_ir_location/output.json index 586099182..28a76eb95 100644 --- a/test/cmdlineTests/standard_debug_info_in_evm_asm_via_ir_location/output.json +++ b/test/cmdlineTests/standard_debug_info_in_evm_asm_via_ir_location/output.json @@ -1,4 +1,13 @@ -{"contracts":{"C":{"C":{"evm":{"assembly":" /* \"C\":79:428 contract C... */ +{ + "contracts": + { + "C": + { + "C": + { + "evm": + { + "assembly": " /* \"C\":79:428 contract C... */ 0xa0 jumpi(tag_5, callvalue) 0x1f @@ -361,7 +370,17 @@ sub_0: assembly { auxdata: } -"}}},"D":{"D":{"evm":{"assembly":" /* \"D\":91:166 contract D is C(3)... */ +" + } + } + }, + "D": + { + "D": + { + "evm": + { + "assembly": " /* \"D\":91:166 contract D is C(3)... */ 0xa0 jumpi(tag_5, callvalue) 0x1f @@ -740,4 +759,20 @@ sub_0: assembly { auxdata: } -"}}}},"sources":{"C":{"id":0},"D":{"id":1}}} +" + } + } + } + }, + "sources": + { + "C": + { + "id": 0 + }, + "D": + { + "id": 1 + } + } +} diff --git a/test/cmdlineTests/standard_debug_info_in_yul_and_evm_asm_print_all/args b/test/cmdlineTests/standard_debug_info_in_yul_and_evm_asm_print_all/args index 24d48faf2..18532c5a6 100644 --- a/test/cmdlineTests/standard_debug_info_in_yul_and_evm_asm_print_all/args +++ b/test/cmdlineTests/standard_debug_info_in_yul_and_evm_asm_print_all/args @@ -1 +1 @@ ---pretty-json --json-indent 4 --allow-paths . +--allow-paths . diff --git a/test/cmdlineTests/standard_debug_info_in_yul_and_evm_asm_print_location_only/args b/test/cmdlineTests/standard_debug_info_in_yul_and_evm_asm_print_location_only/args index 24d48faf2..18532c5a6 100644 --- a/test/cmdlineTests/standard_debug_info_in_yul_and_evm_asm_print_location_only/args +++ b/test/cmdlineTests/standard_debug_info_in_yul_and_evm_asm_print_location_only/args @@ -1 +1 @@ ---pretty-json --json-indent 4 --allow-paths . +--allow-paths . diff --git a/test/cmdlineTests/standard_debug_info_in_yul_and_evm_asm_print_none/args b/test/cmdlineTests/standard_debug_info_in_yul_and_evm_asm_print_none/args index 24d48faf2..18532c5a6 100644 --- a/test/cmdlineTests/standard_debug_info_in_yul_and_evm_asm_print_none/args +++ b/test/cmdlineTests/standard_debug_info_in_yul_and_evm_asm_print_none/args @@ -1 +1 @@ ---pretty-json --json-indent 4 --allow-paths . +--allow-paths . diff --git a/test/cmdlineTests/standard_debug_info_in_yul_and_evm_asm_print_snippet_only/args b/test/cmdlineTests/standard_debug_info_in_yul_and_evm_asm_print_snippet_only/args index 24d48faf2..18532c5a6 100644 --- a/test/cmdlineTests/standard_debug_info_in_yul_and_evm_asm_print_snippet_only/args +++ b/test/cmdlineTests/standard_debug_info_in_yul_and_evm_asm_print_snippet_only/args @@ -1 +1 @@ ---pretty-json --json-indent 4 --allow-paths . +--allow-paths . diff --git a/test/cmdlineTests/standard_debug_info_in_yul_location/output.json b/test/cmdlineTests/standard_debug_info_in_yul_location/output.json index aff1f17aa..d564db75a 100644 --- a/test/cmdlineTests/standard_debug_info_in_yul_location/output.json +++ b/test/cmdlineTests/standard_debug_info_in_yul_location/output.json @@ -1,4 +1,11 @@ -{"contracts":{"C":{"C":{"ir":" +{ + "contracts": + { + "C": + { + "C": + { + "ir": " /// @use-src 0:\"C\" object \"C_54\" { code { @@ -604,7 +611,8 @@ object \"C_54\" { } -","irOptimized":"/// @use-src 0:\"C\" +", + "irOptimized": "/// @use-src 0:\"C\" object \"C_54\" { code { { @@ -759,7 +767,14 @@ object \"C_54\" { data \".metadata\" hex\"\" } } -"}},"D":{"D":{"ir":" +" + } + }, + "D": + { + "D": + { + "ir": " /// @use-src 0:\"C\", 1:\"D\" object \"D_72\" { code { @@ -1435,7 +1450,8 @@ object \"D_72\" { } -","irOptimized":"/// @use-src 0:\"C\", 1:\"D\" +", + "irOptimized": "/// @use-src 0:\"C\", 1:\"D\" object \"D_72\" { code { { @@ -1597,4 +1613,19 @@ object \"D_72\" { data \".metadata\" hex\"\" } } -"}}},"sources":{"C":{"id":0},"D":{"id":1}}} +" + } + } + }, + "sources": + { + "C": + { + "id": 0 + }, + "D": + { + "id": 1 + } + } +} diff --git a/test/cmdlineTests/standard_default_success/output.json b/test/cmdlineTests/standard_default_success/output.json index 59b90c8cc..acf3b74ef 100644 --- a/test/cmdlineTests/standard_default_success/output.json +++ b/test/cmdlineTests/standard_default_success/output.json @@ -1 +1,9 @@ -{"sources":{"A":{"id":0}}} +{ + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_empty_file_name/output.json b/test/cmdlineTests/standard_empty_file_name/output.json index 88cbe7667..e419d0a5e 100644 --- a/test/cmdlineTests/standard_empty_file_name/output.json +++ b/test/cmdlineTests/standard_empty_file_name/output.json @@ -1,3 +1,28 @@ -{"errors":[{"component":"general","errorCode":"2904","formattedMessage":"DeclarationError: Declaration \"A\" not found in \"\" (referenced as \".\"). +{ + "errors": + [ + { + "component": "general", + "errorCode": "2904", + "formattedMessage": "DeclarationError: Declaration \"A\" not found in \"\" (referenced as \".\"). -","message":"Declaration \"A\" not found in \"\" (referenced as \".\").","severity":"error","sourceLocation":{"end":79,"file":"","start":59},"type":"DeclarationError"}],"sources":{"":{"id":0}}} +", + "message": "Declaration \"A\" not found in \"\" (referenced as \".\").", + "severity": "error", + "sourceLocation": + { + "end": 79, + "file": "", + "start": 59 + }, + "type": "DeclarationError" + } + ], + "sources": + { + "": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_ewasm_requested/output.json b/test/cmdlineTests/standard_ewasm_requested/output.json index a8ab1fd0b..1db94af7d 100644 --- a/test/cmdlineTests/standard_ewasm_requested/output.json +++ b/test/cmdlineTests/standard_ewasm_requested/output.json @@ -1,4 +1,14 @@ -{"contracts":{"A":{"C":{"ewasm":{"wasm":"","wast":"(module +{ + "contracts": + { + "A": + { + "C": + { + "ewasm": + { + "wasm": "", + "wast": "(module ;; custom section for sub-module ;; The Keccak-256 hash of the text representation of ;; (@custom \"C_3_deployed\" \"\") @@ -151,4 +161,16 @@ ) ) -"}}}},"sources":{"A":{"id":0}}} +" + } + } + } + }, + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_ewasm_requested_abstract/output.json b/test/cmdlineTests/standard_ewasm_requested_abstract/output.json index 2858515df..14a4ef2df 100644 --- a/test/cmdlineTests/standard_ewasm_requested_abstract/output.json +++ b/test/cmdlineTests/standard_ewasm_requested_abstract/output.json @@ -1 +1,23 @@ -{"contracts":{"A":{"C":{"ewasm":{"wasm":"","wast":""}}}},"sources":{"A":{"id":0}}} +{ + "contracts": + { + "A": + { + "C": + { + "ewasm": + { + "wasm": "", + "wast": "" + } + } + } + }, + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_function_debug_info/output.json b/test/cmdlineTests/standard_function_debug_info/output.json index bb86d0924..d4f665186 100644 --- a/test/cmdlineTests/standard_function_debug_info/output.json +++ b/test/cmdlineTests/standard_function_debug_info/output.json @@ -1 +1,185 @@ -{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"functionDebugData":{}},"deployedBytecode":{"functionDebugData":{"@f_19":{"entryPoint":96,"id":19,"parameterSlots":1,"returnSlots":1},"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":439,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":544,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":418,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":590,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":663,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":678,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":309,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":171,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":336,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":799,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":385,"id":null,"parameterSlots":1,"returnSlots":1},"finalize_allocation":{"entryPoint":260,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x11":{"entryPoint":752,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":705,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":213,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":191,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":380,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":186,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":181,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":196,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_uint256":{"entryPoint":395,"id":null,"parameterSlots":1,"returnSlots":0}}}}}}},"sources":{"a.sol":{"id":0}}} +{ + "contracts": + { + "a.sol": + { + "A": + { + "evm": + { + "bytecode": + { + "functionDebugData": {} + }, + "deployedBytecode": + { + "functionDebugData": + { + "@f_19": + { + "entryPoint": 96, + "id": 19, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr": + { + "entryPoint": 439, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_uint256_$dyn_memory_ptr": + { + "entryPoint": 544, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": + { + "entryPoint": 418, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr": + { + "entryPoint": 590, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": + { + "entryPoint": 663, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": + { + "entryPoint": 678, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": + { + "entryPoint": 309, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": + { + "entryPoint": 171, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr": + { + "entryPoint": 336, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "checked_add_t_uint256": + { + "entryPoint": 799, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_uint256": + { + "entryPoint": 385, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": + { + "entryPoint": 260, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "panic_error_0x11": + { + "entryPoint": 752, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x32": + { + "entryPoint": 705, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": + { + "entryPoint": 213, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": + { + "entryPoint": 191, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": + { + "entryPoint": 380, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": + { + "entryPoint": 186, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": + { + "entryPoint": 181, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": + { + "entryPoint": 196, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "validator_revert_t_uint256": + { + "entryPoint": 395, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + } + } + } + } + } + }, + "sources": + { + "a.sol": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_generatedSources/output.json b/test/cmdlineTests/standard_generatedSources/output.json index 05405ceab..e56ddaa80 100644 --- a/test/cmdlineTests/standard_generatedSources/output.json +++ b/test/cmdlineTests/standard_generatedSources/output.json @@ -1,4 +1,2351 @@ -{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3989:1","statements":[{"body":{"nodeType":"YulBlock","src":"47:35:1","statements":[{"nodeType":"YulAssignment","src":"57:19:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"73:2:1","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"67:5:1"},"nodeType":"YulFunctionCall","src":"67:9:1"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"57:6:1"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"40:6:1","type":""}],"src":"7:75:1"},{"body":{"nodeType":"YulBlock","src":"177:28:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"194:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"197:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"187:6:1"},"nodeType":"YulFunctionCall","src":"187:12:1"},"nodeType":"YulExpressionStatement","src":"187:12:1"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"88:117:1"},{"body":{"nodeType":"YulBlock","src":"300:28:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:1"},"nodeType":"YulFunctionCall","src":"310:12:1"},"nodeType":"YulExpressionStatement","src":"310:12:1"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"211:117:1"},{"body":{"nodeType":"YulBlock","src":"423:28:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"440:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"443:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"433:6:1"},"nodeType":"YulFunctionCall","src":"433:12:1"},"nodeType":"YulExpressionStatement","src":"433:12:1"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"334:117:1"},{"body":{"nodeType":"YulBlock","src":"505:54:1","statements":[{"nodeType":"YulAssignment","src":"515:38:1","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"533:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"540:2:1","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"529:3:1"},"nodeType":"YulFunctionCall","src":"529:14:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"549:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"545:3:1"},"nodeType":"YulFunctionCall","src":"545:7:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"525:3:1"},"nodeType":"YulFunctionCall","src":"525:28:1"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"515:6:1"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"488:5:1","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"498:6:1","type":""}],"src":"457:102:1"},{"body":{"nodeType":"YulBlock","src":"593:152:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"610:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"613:77:1","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"603:6:1"},"nodeType":"YulFunctionCall","src":"603:88:1"},"nodeType":"YulExpressionStatement","src":"603:88:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"707:1:1","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"710:4:1","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"700:6:1"},"nodeType":"YulFunctionCall","src":"700:15:1"},"nodeType":"YulExpressionStatement","src":"700:15:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"731:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"734:4:1","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"724:6:1"},"nodeType":"YulFunctionCall","src":"724:15:1"},"nodeType":"YulExpressionStatement","src":"724:15:1"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"565:180:1"},{"body":{"nodeType":"YulBlock","src":"794:238:1","statements":[{"nodeType":"YulVariableDeclaration","src":"804:58:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"826:6:1"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"856:4:1"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"834:21:1"},"nodeType":"YulFunctionCall","src":"834:27:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"822:3:1"},"nodeType":"YulFunctionCall","src":"822:40:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"808:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"973:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"975:16:1"},"nodeType":"YulFunctionCall","src":"975:18:1"},"nodeType":"YulExpressionStatement","src":"975:18:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"916:10:1"},{"kind":"number","nodeType":"YulLiteral","src":"928:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"913:2:1"},"nodeType":"YulFunctionCall","src":"913:34:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"952:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"964:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"949:2:1"},"nodeType":"YulFunctionCall","src":"949:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"910:2:1"},"nodeType":"YulFunctionCall","src":"910:62:1"},"nodeType":"YulIf","src":"907:88:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1011:2:1","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1015:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1004:6:1"},"nodeType":"YulFunctionCall","src":"1004:22:1"},"nodeType":"YulExpressionStatement","src":"1004:22:1"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"780:6:1","type":""},{"name":"size","nodeType":"YulTypedName","src":"788:4:1","type":""}],"src":"751:281:1"},{"body":{"nodeType":"YulBlock","src":"1079:88:1","statements":[{"nodeType":"YulAssignment","src":"1089:30:1","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"1099:18:1"},"nodeType":"YulFunctionCall","src":"1099:20:1"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1089:6:1"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1148:6:1"},{"name":"size","nodeType":"YulIdentifier","src":"1156:4:1"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"1128:19:1"},"nodeType":"YulFunctionCall","src":"1128:33:1"},"nodeType":"YulExpressionStatement","src":"1128:33:1"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"1063:4:1","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1072:6:1","type":""}],"src":"1038:129:1"},{"body":{"nodeType":"YulBlock","src":"1255:229:1","statements":[{"body":{"nodeType":"YulBlock","src":"1360:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1362:16:1"},"nodeType":"YulFunctionCall","src":"1362:18:1"},"nodeType":"YulExpressionStatement","src":"1362:18:1"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1332:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"1340:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1329:2:1"},"nodeType":"YulFunctionCall","src":"1329:30:1"},"nodeType":"YulIf","src":"1326:56:1"},{"nodeType":"YulAssignment","src":"1392:25:1","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1404:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"1412:4:1","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"1400:3:1"},"nodeType":"YulFunctionCall","src":"1400:17:1"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"1392:4:1"}]},{"nodeType":"YulAssignment","src":"1454:23:1","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"1466:4:1"},{"kind":"number","nodeType":"YulLiteral","src":"1472:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1462:3:1"},"nodeType":"YulFunctionCall","src":"1462:15:1"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"1454:4:1"}]}]},"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"1239:6:1","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"1250:4:1","type":""}],"src":"1173:311:1"},{"body":{"nodeType":"YulBlock","src":"1579:28:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1596:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1599:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1589:6:1"},"nodeType":"YulFunctionCall","src":"1589:12:1"},"nodeType":"YulExpressionStatement","src":"1589:12:1"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"1490:117:1"},{"body":{"nodeType":"YulBlock","src":"1658:32:1","statements":[{"nodeType":"YulAssignment","src":"1668:16:1","value":{"name":"value","nodeType":"YulIdentifier","src":"1679:5:1"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1668:7:1"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1640:5:1","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1650:7:1","type":""}],"src":"1613:77:1"},{"body":{"nodeType":"YulBlock","src":"1739:79:1","statements":[{"body":{"nodeType":"YulBlock","src":"1796:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1805:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1808:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1798:6:1"},"nodeType":"YulFunctionCall","src":"1798:12:1"},"nodeType":"YulExpressionStatement","src":"1798:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1762:5:1"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1787:5:1"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"1769:17:1"},"nodeType":"YulFunctionCall","src":"1769:24:1"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1759:2:1"},"nodeType":"YulFunctionCall","src":"1759:35:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1752:6:1"},"nodeType":"YulFunctionCall","src":"1752:43:1"},"nodeType":"YulIf","src":"1749:63:1"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1732:5:1","type":""}],"src":"1696:122:1"},{"body":{"nodeType":"YulBlock","src":"1876:87:1","statements":[{"nodeType":"YulAssignment","src":"1886:29:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1908:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1895:12:1"},"nodeType":"YulFunctionCall","src":"1895:20:1"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1886:5:1"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1951:5:1"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1924:26:1"},"nodeType":"YulFunctionCall","src":"1924:33:1"},"nodeType":"YulExpressionStatement","src":"1924:33:1"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1854:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"1862:3:1","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1870:5:1","type":""}],"src":"1824:139:1"},{"body":{"nodeType":"YulBlock","src":"2088:608:1","statements":[{"nodeType":"YulAssignment","src":"2098:90:1","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2180:6:1"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"2123:56:1"},"nodeType":"YulFunctionCall","src":"2123:64:1"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2107:15:1"},"nodeType":"YulFunctionCall","src":"2107:81:1"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2098:5:1"}]},{"nodeType":"YulVariableDeclaration","src":"2197:16:1","value":{"name":"array","nodeType":"YulIdentifier","src":"2208:5:1"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"2201:3:1","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"2230:5:1"},{"name":"length","nodeType":"YulIdentifier","src":"2237:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2223:6:1"},"nodeType":"YulFunctionCall","src":"2223:21:1"},"nodeType":"YulExpressionStatement","src":"2223:21:1"},{"nodeType":"YulAssignment","src":"2253:23:1","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"2264:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"2271:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2260:3:1"},"nodeType":"YulFunctionCall","src":"2260:16:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2253:3:1"}]},{"nodeType":"YulVariableDeclaration","src":"2286:44:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2304:6:1"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2316:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2324:4:1","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2312:3:1"},"nodeType":"YulFunctionCall","src":"2312:17:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2300:3:1"},"nodeType":"YulFunctionCall","src":"2300:30:1"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"2290:6:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"2358:103:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"2372:77:1"},"nodeType":"YulFunctionCall","src":"2372:79:1"},"nodeType":"YulExpressionStatement","src":"2372:79:1"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"2345:6:1"},{"name":"end","nodeType":"YulIdentifier","src":"2353:3:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2342:2:1"},"nodeType":"YulFunctionCall","src":"2342:15:1"},"nodeType":"YulIf","src":"2339:122:1"},{"body":{"nodeType":"YulBlock","src":"2546:144:1","statements":[{"nodeType":"YulVariableDeclaration","src":"2561:21:1","value":{"name":"src","nodeType":"YulIdentifier","src":"2579:3:1"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"2565:10:1","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2603:3:1"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"2629:10:1"},{"name":"end","nodeType":"YulIdentifier","src":"2641:3:1"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2608:20:1"},"nodeType":"YulFunctionCall","src":"2608:37:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2596:6:1"},"nodeType":"YulFunctionCall","src":"2596:50:1"},"nodeType":"YulExpressionStatement","src":"2596:50:1"},{"nodeType":"YulAssignment","src":"2659:21:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2670:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"2675:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2666:3:1"},"nodeType":"YulFunctionCall","src":"2666:14:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2659:3:1"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2499:3:1"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"2504:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2496:2:1"},"nodeType":"YulFunctionCall","src":"2496:15:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2512:25:1","statements":[{"nodeType":"YulAssignment","src":"2514:21:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2525:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"2530:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2521:3:1"},"nodeType":"YulFunctionCall","src":"2521:14:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"2514:3:1"}]}]},"pre":{"nodeType":"YulBlock","src":"2474:21:1","statements":[{"nodeType":"YulVariableDeclaration","src":"2476:17:1","value":{"name":"offset","nodeType":"YulIdentifier","src":"2487:6:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"2480:3:1","type":""}]}]},"src":"2470:220:1"}]},"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2058:6:1","type":""},{"name":"length","nodeType":"YulTypedName","src":"2066:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"2074:3:1","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2082:5:1","type":""}],"src":"1986:710:1"},{"body":{"nodeType":"YulBlock","src":"2796:293:1","statements":[{"body":{"nodeType":"YulBlock","src":"2845:83:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"2847:77:1"},"nodeType":"YulFunctionCall","src":"2847:79:1"},"nodeType":"YulExpressionStatement","src":"2847:79:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2824:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2832:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2820:3:1"},"nodeType":"YulFunctionCall","src":"2820:17:1"},{"name":"end","nodeType":"YulIdentifier","src":"2839:3:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2816:3:1"},"nodeType":"YulFunctionCall","src":"2816:27:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2809:6:1"},"nodeType":"YulFunctionCall","src":"2809:35:1"},"nodeType":"YulIf","src":"2806:122:1"},{"nodeType":"YulVariableDeclaration","src":"2937:34:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2964:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2951:12:1"},"nodeType":"YulFunctionCall","src":"2951:20:1"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2941:6:1","type":""}]},{"nodeType":"YulAssignment","src":"2980:103:1","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3056:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"3064:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3052:3:1"},"nodeType":"YulFunctionCall","src":"3052:17:1"},{"name":"length","nodeType":"YulIdentifier","src":"3071:6:1"},{"name":"end","nodeType":"YulIdentifier","src":"3079:3:1"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"2989:62:1"},"nodeType":"YulFunctionCall","src":"2989:94:1"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2980:5:1"}]}]},"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2774:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"2782:3:1","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2790:5:1","type":""}],"src":"2719:370:1"},{"body":{"nodeType":"YulBlock","src":"3186:448:1","statements":[{"body":{"nodeType":"YulBlock","src":"3232:83:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"3234:77:1"},"nodeType":"YulFunctionCall","src":"3234:79:1"},"nodeType":"YulExpressionStatement","src":"3234:79:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3207:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"3216:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3203:3:1"},"nodeType":"YulFunctionCall","src":"3203:23:1"},{"kind":"number","nodeType":"YulLiteral","src":"3228:2:1","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3199:3:1"},"nodeType":"YulFunctionCall","src":"3199:32:1"},"nodeType":"YulIf","src":"3196:119:1"},{"nodeType":"YulBlock","src":"3325:302:1","statements":[{"nodeType":"YulVariableDeclaration","src":"3340:45:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3371:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"3382:1:1","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3367:3:1"},"nodeType":"YulFunctionCall","src":"3367:17:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3354:12:1"},"nodeType":"YulFunctionCall","src":"3354:31:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3344:6:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"3432:83:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"3434:77:1"},"nodeType":"YulFunctionCall","src":"3434:79:1"},"nodeType":"YulExpressionStatement","src":"3434:79:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3404:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"3412:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3401:2:1"},"nodeType":"YulFunctionCall","src":"3401:30:1"},"nodeType":"YulIf","src":"3398:117:1"},{"nodeType":"YulAssignment","src":"3529:88:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3589:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"3600:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3585:3:1"},"nodeType":"YulFunctionCall","src":"3585:22:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3609:7:1"}],"functionName":{"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"3539:45:1"},"nodeType":"YulFunctionCall","src":"3539:78:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3529:6:1"}]}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3156:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3167:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3179:6:1","type":""}],"src":"3095:539:1"},{"body":{"nodeType":"YulBlock","src":"3705:53:1","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3722:3:1"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3745:5:1"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"3727:17:1"},"nodeType":"YulFunctionCall","src":"3727:24:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3715:6:1"},"nodeType":"YulFunctionCall","src":"3715:37:1"},"nodeType":"YulExpressionStatement","src":"3715:37:1"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3693:5:1","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3700:3:1","type":""}],"src":"3640:118:1"},{"body":{"nodeType":"YulBlock","src":"3862:124:1","statements":[{"nodeType":"YulAssignment","src":"3872:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3884:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"3895:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3880:3:1"},"nodeType":"YulFunctionCall","src":"3880:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3872:4:1"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3952:6:1"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3965:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"3976:1:1","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3961:3:1"},"nodeType":"YulFunctionCall","src":"3961:17:1"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"3908:43:1"},"nodeType":"YulFunctionCall","src":"3908:71:1"},"nodeType":"YulExpressionStatement","src":"3908:71:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3834:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3846:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3857:4:1","type":""}],"src":"3764:222:1"}]},"contents":"{ +{ + "contracts": + { + "a.sol": + { + "A": + { + "evm": + { + "bytecode": + { + "generatedSources": [], + "object": "" + }, + "deployedBytecode": + { + "generatedSources": + [ + { + "ast": + { + "nodeType": "YulBlock", + "src": "0:3989:1", + "statements": + [ + { + "body": + { + "nodeType": "YulBlock", + "src": "47:35:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "57:19:1", + "value": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:1", + "type": "", + "value": "64" + } + ], + "functionName": + { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:1" + }, + "variableNames": + [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:1" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": + [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:1", + "type": "" + } + ], + "src": "7:75:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "177:28:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:1" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "300:28:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:1" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "423:28:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "440:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "443:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "433:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "433:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "433:12:1" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "334:117:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "505:54:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "515:38:1", + "value": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "533:5:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "540:2:1", + "type": "", + "value": "31" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "529:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "529:14:1" + }, + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "549:2:1", + "type": "", + "value": "31" + } + ], + "functionName": + { + "name": "not", + "nodeType": "YulIdentifier", + "src": "545:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "545:7:1" + } + ], + "functionName": + { + "name": "and", + "nodeType": "YulIdentifier", + "src": "525:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "525:28:1" + }, + "variableNames": + [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "515:6:1" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "488:5:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "498:6:1", + "type": "" + } + ], + "src": "457:102:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "593:152:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "610:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "613:77:1", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "603:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "603:88:1" + }, + "nodeType": "YulExpressionStatement", + "src": "603:88:1" + }, + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "707:1:1", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "710:4:1", + "type": "", + "value": "0x41" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "700:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "700:15:1" + }, + "nodeType": "YulExpressionStatement", + "src": "700:15:1" + }, + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "731:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "734:4:1", + "type": "", + "value": "0x24" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "724:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "724:15:1" + }, + "nodeType": "YulExpressionStatement", + "src": "724:15:1" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "565:180:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "794:238:1", + "statements": + [ + { + "nodeType": "YulVariableDeclaration", + "src": "804:58:1", + "value": + { + "arguments": + [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "826:6:1" + }, + { + "arguments": + [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "856:4:1" + } + ], + "functionName": + { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "834:21:1" + }, + "nodeType": "YulFunctionCall", + "src": "834:27:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "822:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "822:40:1" + }, + "variables": + [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "808:10:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "973:22:1", + "statements": + [ + { + "expression": + { + "arguments": [], + "functionName": + { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "975:16:1" + }, + "nodeType": "YulFunctionCall", + "src": "975:18:1" + }, + "nodeType": "YulExpressionStatement", + "src": "975:18:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "916:10:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "928:18:1", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": + { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "913:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "913:34:1" + }, + { + "arguments": + [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "952:10:1" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "964:6:1" + } + ], + "functionName": + { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "949:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "949:22:1" + } + ], + "functionName": + { + "name": "or", + "nodeType": "YulIdentifier", + "src": "910:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "910:62:1" + }, + "nodeType": "YulIf", + "src": "907:88:1" + }, + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1011:2:1", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1015:10:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1004:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1004:22:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1004:22:1" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "780:6:1", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "788:4:1", + "type": "" + } + ], + "src": "751:281:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1079:88:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "1089:30:1", + "value": + { + "arguments": [], + "functionName": + { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "1099:18:1" + }, + "nodeType": "YulFunctionCall", + "src": "1099:20:1" + }, + "variableNames": + [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1089:6:1" + } + ] + }, + { + "expression": + { + "arguments": + [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1148:6:1" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1156:4:1" + } + ], + "functionName": + { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "1128:19:1" + }, + "nodeType": "YulFunctionCall", + "src": "1128:33:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1128:33:1" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1063:4:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1072:6:1", + "type": "" + } + ], + "src": "1038:129:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1255:229:1", + "statements": + [ + { + "body": + { + "nodeType": "YulBlock", + "src": "1360:22:1", + "statements": + [ + { + "expression": + { + "arguments": [], + "functionName": + { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1362:16:1" + }, + "nodeType": "YulFunctionCall", + "src": "1362:18:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1362:18:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1332:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1340:18:1", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": + { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1329:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "1329:30:1" + }, + "nodeType": "YulIf", + "src": "1326:56:1" + }, + { + "nodeType": "YulAssignment", + "src": "1392:25:1", + "value": + { + "arguments": + [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1404:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1412:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": + { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "1400:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1400:17:1" + }, + "variableNames": + [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1392:4:1" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1454:23:1", + "value": + { + "arguments": + [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1466:4:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1472:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1462:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1462:15:1" + }, + "variableNames": + [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1454:4:1" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1239:6:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1250:4:1", + "type": "" + } + ], + "src": "1173:311:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1579:28:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1596:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1599:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1589:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1589:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1589:12:1" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulFunctionDefinition", + "src": "1490:117:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1658:32:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "1668:16:1", + "value": + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1679:5:1" + }, + "variableNames": + [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1668:7:1" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1640:5:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1650:7:1", + "type": "" + } + ], + "src": "1613:77:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1739:79:1", + "statements": + [ + { + "body": + { + "nodeType": "YulBlock", + "src": "1796:16:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1805:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1808:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1798:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1798:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1798:12:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1762:5:1" + }, + { + "arguments": + [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1787:5:1" + } + ], + "functionName": + { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "1769:17:1" + }, + "nodeType": "YulFunctionCall", + "src": "1769:24:1" + } + ], + "functionName": + { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "1759:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "1759:35:1" + } + ], + "functionName": + { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1752:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1752:43:1" + }, + "nodeType": "YulIf", + "src": "1749:63:1" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1732:5:1", + "type": "" + } + ], + "src": "1696:122:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1876:87:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "1886:29:1", + "value": + { + "arguments": + [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1908:6:1" + } + ], + "functionName": + { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1895:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "1895:20:1" + }, + "variableNames": + [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1886:5:1" + } + ] + }, + { + "expression": + { + "arguments": + [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1951:5:1" + } + ], + "functionName": + { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "1924:26:1" + }, + "nodeType": "YulFunctionCall", + "src": "1924:33:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1924:33:1" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1854:6:1", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1862:3:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1870:5:1", + "type": "" + } + ], + "src": "1824:139:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "2088:608:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "2098:90:1", + "value": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2180:6:1" + } + ], + "functionName": + { + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2123:56:1" + }, + "nodeType": "YulFunctionCall", + "src": "2123:64:1" + } + ], + "functionName": + { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "2107:15:1" + }, + "nodeType": "YulFunctionCall", + "src": "2107:81:1" + }, + "variableNames": + [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2098:5:1" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2197:16:1", + "value": + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2208:5:1" + }, + "variables": + [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2201:3:1", + "type": "" + } + ] + }, + { + "expression": + { + "arguments": + [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2230:5:1" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2237:6:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2223:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "2223:21:1" + }, + "nodeType": "YulExpressionStatement", + "src": "2223:21:1" + }, + { + "nodeType": "YulAssignment", + "src": "2253:23:1", + "value": + { + "arguments": + [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2264:5:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2271:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2260:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2260:16:1" + }, + "variableNames": + [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2253:3:1" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2286:44:1", + "value": + { + "arguments": + [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2304:6:1" + }, + { + "arguments": + [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2316:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2324:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": + { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "2312:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2312:17:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2300:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2300:30:1" + }, + "variables": + [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "2290:6:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "2358:103:1", + "statements": + [ + { + "expression": + { + "arguments": [], + "functionName": + { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "2372:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "2372:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "2372:79:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "2345:6:1" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2353:3:1" + } + ], + "functionName": + { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2342:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "2342:15:1" + }, + "nodeType": "YulIf", + "src": "2339:122:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "2546:144:1", + "statements": + [ + { + "nodeType": "YulVariableDeclaration", + "src": "2561:21:1", + "value": + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2579:3:1" + }, + "variables": + [ + { + "name": "elementPos", + "nodeType": "YulTypedName", + "src": "2565:10:1", + "type": "" + } + ] + }, + { + "expression": + { + "arguments": + [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2603:3:1" + }, + { + "arguments": + [ + { + "name": "elementPos", + "nodeType": "YulIdentifier", + "src": "2629:10:1" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2641:3:1" + } + ], + "functionName": + { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "2608:20:1" + }, + "nodeType": "YulFunctionCall", + "src": "2608:37:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2596:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "2596:50:1" + }, + "nodeType": "YulExpressionStatement", + "src": "2596:50:1" + }, + { + "nodeType": "YulAssignment", + "src": "2659:21:1", + "value": + { + "arguments": + [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2670:3:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2675:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2666:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2666:14:1" + }, + "variableNames": + [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2659:3:1" + } + ] + } + ] + }, + "condition": + { + "arguments": + [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2499:3:1" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "2504:6:1" + } + ], + "functionName": + { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "2496:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "2496:15:1" + }, + "nodeType": "YulForLoop", + "post": + { + "nodeType": "YulBlock", + "src": "2512:25:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "2514:21:1", + "value": + { + "arguments": + [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2525:3:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2530:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2521:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2521:14:1" + }, + "variableNames": + [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2514:3:1" + } + ] + } + ] + }, + "pre": + { + "nodeType": "YulBlock", + "src": "2474:21:1", + "statements": + [ + { + "nodeType": "YulVariableDeclaration", + "src": "2476:17:1", + "value": + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2487:6:1" + }, + "variables": + [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "2480:3:1", + "type": "" + } + ] + } + ] + }, + "src": "2470:220:1" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2058:6:1", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2066:6:1", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2074:3:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2082:5:1", + "type": "" + } + ], + "src": "1986:710:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "2796:293:1", + "statements": + [ + { + "body": + { + "nodeType": "YulBlock", + "src": "2845:83:1", + "statements": + [ + { + "expression": + { + "arguments": [], + "functionName": + { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "2847:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "2847:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "2847:79:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "arguments": + [ + { + "arguments": + [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2824:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2832:4:1", + "type": "", + "value": "0x1f" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2820:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2820:17:1" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2839:3:1" + } + ], + "functionName": + { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2816:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2816:27:1" + } + ], + "functionName": + { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2809:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "2809:35:1" + }, + "nodeType": "YulIf", + "src": "2806:122:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2937:34:1", + "value": + { + "arguments": + [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2964:6:1" + } + ], + "functionName": + { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2951:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "2951:20:1" + }, + "variables": + [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2941:6:1", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2980:103:1", + "value": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3056:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3064:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3052:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3052:17:1" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3071:6:1" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3079:3:1" + } + ], + "functionName": + { + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2989:62:1" + }, + "nodeType": "YulFunctionCall", + "src": "2989:94:1" + }, + "variableNames": + [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2980:5:1" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2774:6:1", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2782:3:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2790:5:1", + "type": "" + } + ], + "src": "2719:370:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "3186:448:1", + "statements": + [ + { + "body": + { + "nodeType": "YulBlock", + "src": "3232:83:1", + "statements": + [ + { + "expression": + { + "arguments": [], + "functionName": + { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3234:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "3234:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "3234:79:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3207:7:1" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3216:9:1" + } + ], + "functionName": + { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3203:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3203:23:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3228:2:1", + "type": "", + "value": "32" + } + ], + "functionName": + { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3199:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3199:32:1" + }, + "nodeType": "YulIf", + "src": "3196:119:1" + }, + { + "nodeType": "YulBlock", + "src": "3325:302:1", + "statements": + [ + { + "nodeType": "YulVariableDeclaration", + "src": "3340:45:1", + "value": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3371:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3382:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3367:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3367:17:1" + } + ], + "functionName": + { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3354:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "3354:31:1" + }, + "variables": + [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3344:6:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "3432:83:1", + "statements": + [ + { + "expression": + { + "arguments": [], + "functionName": + { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "3434:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "3434:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "3434:79:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3404:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3412:18:1", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": + { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3401:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "3401:30:1" + }, + "nodeType": "YulIf", + "src": "3398:117:1" + }, + { + "nodeType": "YulAssignment", + "src": "3529:88:1", + "value": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3589:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3600:6:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3585:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3585:22:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3609:7:1" + } + ], + "functionName": + { + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "3539:45:1" + }, + "nodeType": "YulFunctionCall", + "src": "3539:78:1" + }, + "variableNames": + [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3529:6:1" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3156:9:1", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3167:7:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3179:6:1", + "type": "" + } + ], + "src": "3095:539:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "3705:53:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3722:3:1" + }, + { + "arguments": + [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3745:5:1" + } + ], + "functionName": + { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "3727:17:1" + }, + "nodeType": "YulFunctionCall", + "src": "3727:24:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3715:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "3715:37:1" + }, + "nodeType": "YulExpressionStatement", + "src": "3715:37:1" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3693:5:1", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3700:3:1", + "type": "" + } + ], + "src": "3640:118:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "3862:124:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "3872:26:1", + "value": + { + "arguments": + [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3884:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3895:2:1", + "type": "", + "value": "32" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3880:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3880:18:1" + }, + "variableNames": + [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3872:4:1" + } + ] + }, + { + "expression": + { + "arguments": + [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3952:6:1" + }, + { + "arguments": + [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3965:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3976:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3961:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3961:17:1" + } + ], + "functionName": + { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "3908:43:1" + }, + "nodeType": "YulFunctionCall", + "src": "3908:71:1" + }, + "nodeType": "YulExpressionStatement", + "src": "3908:71:1" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3834:9:1", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3846:6:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3857:4:1", + "type": "" + } + ], + "src": "3764:222:1" + } + ] + }, + "contents": "{ function allocate_unbounded() -> memPtr { memPtr := mload(64) @@ -120,7 +2467,42 @@ } } -","id":1,"language":"Yul","name":"#utility.yul"}]}}}}},"errors":[{"component":"general","errorCode":"3420","formattedMessage":"Warning: Source file does not specify required compiler version! +", + "id": 1, + "language": "Yul", + "name": "#utility.yul" + } + ] + } + } + } + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "3420", + "formattedMessage": "Warning: Source file does not specify required compiler version! --> a.sol -","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":-1,"file":"a.sol","start":-1},"type":"Warning"}],"sources":{"a.sol":{"id":0}}} +", + "message": "Source file does not specify required compiler version!", + "severity": "warning", + "sourceLocation": + { + "end": -1, + "file": "a.sol", + "start": -1 + }, + "type": "Warning" + } + ], + "sources": + { + "a.sol": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_immutable_references/output.json b/test/cmdlineTests/standard_immutable_references/output.json index 9742233e6..e25a911ff 100644 --- a/test/cmdlineTests/standard_immutable_references/output.json +++ b/test/cmdlineTests/standard_immutable_references/output.json @@ -1 +1,34 @@ -{"contracts":{"a.sol":{"A":{"evm":{"deployedBytecode":{"immutableReferences":{"6":[{"length":32,"start":75}]}}}}}},"sources":{"a.sol":{"id":0}}} +{ + "contracts": + { + "a.sol": + { + "A": + { + "evm": + { + "deployedBytecode": + { + "immutableReferences": + { + "6": + [ + { + "length": 32, + "start": 75 + } + ] + } + } + } + } + } + }, + "sources": + { + "a.sol": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_irOptimized_requested/output.json b/test/cmdlineTests/standard_irOptimized_requested/output.json index f91976411..b3a27c5ca 100644 --- a/test/cmdlineTests/standard_irOptimized_requested/output.json +++ b/test/cmdlineTests/standard_irOptimized_requested/output.json @@ -1,4 +1,11 @@ -{"contracts":{"A":{"C":{"irOptimized":"/// @use-src 0:\"A\" +{ + "contracts": + { + "A": + { + "C": + { + "irOptimized": "/// @use-src 0:\"A\" object \"C_7\" { code { /// @src 0:79:121 \"contract C { function f() public pure {} }\" @@ -69,4 +76,15 @@ object \"C_7\" { data \".metadata\" hex\"\" } } -"}}},"sources":{"A":{"id":0}}} +" + } + } + }, + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_ir_requested/output.json b/test/cmdlineTests/standard_ir_requested/output.json index 78e2aebce..ab38f0a58 100644 --- a/test/cmdlineTests/standard_ir_requested/output.json +++ b/test/cmdlineTests/standard_ir_requested/output.json @@ -1,4 +1,11 @@ -{"contracts":{"A":{"C":{"ir":" +{ + "contracts": + { + "A": + { + "C": + { + "ir": " /// @use-src 0:\"A\" object \"C_7\" { code { @@ -111,4 +118,15 @@ object \"C_7\" { } -"}}},"sources":{"A":{"id":0}}} +" + } + } + }, + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_json_no_pretty_print/no-pretty-print b/test/cmdlineTests/standard_json_no_pretty_print/no-pretty-print new file mode 100644 index 000000000..e69de29bb diff --git a/test/cmdlineTests/standard_method_identifiers_requested/output.json b/test/cmdlineTests/standard_method_identifiers_requested/output.json index 7e3f139f9..35d4f5002 100644 --- a/test/cmdlineTests/standard_method_identifiers_requested/output.json +++ b/test/cmdlineTests/standard_method_identifiers_requested/output.json @@ -1 +1,25 @@ -{"contracts":{"A":{"C":{"evm":{"methodIdentifiers":{"f()":"26121ff0"}}}}},"sources":{"A":{"id":0}}} +{ + "contracts": + { + "A": + { + "C": + { + "evm": + { + "methodIdentifiers": + { + "f()": "26121ff0" + } + } + } + } + }, + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_method_identifiers_requested_empty/output.json b/test/cmdlineTests/standard_method_identifiers_requested_empty/output.json index 7953dc157..f90a33351 100644 --- a/test/cmdlineTests/standard_method_identifiers_requested_empty/output.json +++ b/test/cmdlineTests/standard_method_identifiers_requested_empty/output.json @@ -1 +1,22 @@ -{"contracts":{"A":{"C":{"evm":{"methodIdentifiers":{}}}}},"sources":{"A":{"id":0}}} +{ + "contracts": + { + "A": + { + "C": + { + "evm": + { + "methodIdentifiers": {} + } + } + } + }, + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_missing_key_useLiteralContent/output.json b/test/cmdlineTests/standard_missing_key_useLiteralContent/output.json index 59b90c8cc..acf3b74ef 100644 --- a/test/cmdlineTests/standard_missing_key_useLiteralContent/output.json +++ b/test/cmdlineTests/standard_missing_key_useLiteralContent/output.json @@ -1 +1,9 @@ -{"sources":{"A":{"id":0}}} +{ + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_contracts_all/output.json b/test/cmdlineTests/standard_model_checker_contracts_all/output.json index 33dcf989a..b4bfd66b8 100644 --- a/test/cmdlineTests/standard_model_checker_contracts_all/output.json +++ b/test/cmdlineTests/standard_model_checker_contracts_all/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: y = 0 @@ -11,14 +17,28 @@ B.g(0) 5 | \t\t\t\t\t\tassert(y > 0); | \t\t\t\t\t\t^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: y = 0 Transaction trace: B.constructor() -B.g(0)","severity":"warning","sourceLocation":{"end":137,"file":"Source","start":124},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +B.g(0)", + "severity": "warning", + "sourceLocation": + { + "end": 137, + "file": "Source", + "start": 124 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: x = 0 @@ -31,11 +51,30 @@ A.f(0) 10 | \t\t\t\t\t\tassert(x > 0); | \t\t\t\t\t\t^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: x = 0 Transaction trace: A.constructor() -A.f(0)","severity":"warning","sourceLocation":{"end":231,"file":"Source","start":218},"type":"Warning"}],"sources":{"Source":{"id":0}}} +A.f(0)", + "severity": "warning", + "sourceLocation": + { + "end": 231, + "file": "Source", + "start": 218 + }, + "type": "Warning" + } + ], + "sources": + { + "Source": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_contracts_all_explicit/output.json b/test/cmdlineTests/standard_model_checker_contracts_all_explicit/output.json index 33dcf989a..b4bfd66b8 100644 --- a/test/cmdlineTests/standard_model_checker_contracts_all_explicit/output.json +++ b/test/cmdlineTests/standard_model_checker_contracts_all_explicit/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: y = 0 @@ -11,14 +17,28 @@ B.g(0) 5 | \t\t\t\t\t\tassert(y > 0); | \t\t\t\t\t\t^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: y = 0 Transaction trace: B.constructor() -B.g(0)","severity":"warning","sourceLocation":{"end":137,"file":"Source","start":124},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +B.g(0)", + "severity": "warning", + "sourceLocation": + { + "end": 137, + "file": "Source", + "start": 124 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: x = 0 @@ -31,11 +51,30 @@ A.f(0) 10 | \t\t\t\t\t\tassert(x > 0); | \t\t\t\t\t\t^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: x = 0 Transaction trace: A.constructor() -A.f(0)","severity":"warning","sourceLocation":{"end":231,"file":"Source","start":218},"type":"Warning"}],"sources":{"Source":{"id":0}}} +A.f(0)", + "severity": "warning", + "sourceLocation": + { + "end": 231, + "file": "Source", + "start": 218 + }, + "type": "Warning" + } + ], + "sources": + { + "Source": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_contracts_empty_array/output.json b/test/cmdlineTests/standard_model_checker_contracts_empty_array/output.json index ca309b981..ada440ad3 100644 --- a/test/cmdlineTests/standard_model_checker_contracts_empty_array/output.json +++ b/test/cmdlineTests/standard_model_checker_contracts_empty_array/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Source contracts must be a non-empty array.","message":"Source contracts must be a non-empty array.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Source contracts must be a non-empty array.", + "message": "Source contracts must be a non-empty array.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_model_checker_contracts_empty_contract/output.json b/test/cmdlineTests/standard_model_checker_contracts_empty_contract/output.json index 9dac3796b..c3b171e99 100644 --- a/test/cmdlineTests/standard_model_checker_contracts_empty_contract/output.json +++ b/test/cmdlineTests/standard_model_checker_contracts_empty_contract/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Contract name cannot be empty.","message":"Contract name cannot be empty.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Contract name cannot be empty.", + "message": "Contract name cannot be empty.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_model_checker_contracts_empty_source/output.json b/test/cmdlineTests/standard_model_checker_contracts_empty_source/output.json index 93ade03a6..98dcc1afa 100644 --- a/test/cmdlineTests/standard_model_checker_contracts_empty_source/output.json +++ b/test/cmdlineTests/standard_model_checker_contracts_empty_source/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Source name cannot be empty.","message":"Source name cannot be empty.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Source name cannot be empty.", + "message": "Source name cannot be empty.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_model_checker_contracts_inexistent_contract/output.json b/test/cmdlineTests/standard_model_checker_contracts_inexistent_contract/output.json index 1e19f7ed0..e3714e8e6 100644 --- a/test/cmdlineTests/standard_model_checker_contracts_inexistent_contract/output.json +++ b/test/cmdlineTests/standard_model_checker_contracts_inexistent_contract/output.json @@ -1,3 +1,22 @@ -{"errors":[{"component":"general","errorCode":"7400","formattedMessage":"Warning: Requested contract \"C\" does not exist in source \"Source\". +{ + "errors": + [ + { + "component": "general", + "errorCode": "7400", + "formattedMessage": "Warning: Requested contract \"C\" does not exist in source \"Source\". -","message":"Requested contract \"C\" does not exist in source \"Source\".","severity":"warning","type":"Warning"}],"sources":{"Source":{"id":0}}} +", + "message": "Requested contract \"C\" does not exist in source \"Source\".", + "severity": "warning", + "type": "Warning" + } + ], + "sources": + { + "Source": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_contracts_multi_source/output.json b/test/cmdlineTests/standard_model_checker_contracts_multi_source/output.json index 955b97025..a87566581 100644 --- a/test/cmdlineTests/standard_model_checker_contracts_multi_source/output.json +++ b/test/cmdlineTests/standard_model_checker_contracts_multi_source/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: y = 0 @@ -11,14 +17,28 @@ B.g(0) 5 | \t\t\t\t\t\tassert(y > 0); | \t\t\t\t\t\t^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: y = 0 Transaction trace: A.constructor() -B.g(0)","severity":"warning","sourceLocation":{"end":137,"file":"Source","start":124},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +B.g(0)", + "severity": "warning", + "sourceLocation": + { + "end": 137, + "file": "Source", + "start": 124 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: x = 0 @@ -31,14 +51,28 @@ A.f(0) 10 | \t\t\t\t\t\tassert(x > 0); | \t\t\t\t\t\t^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: x = 0 Transaction trace: A.constructor() -A.f(0)","severity":"warning","sourceLocation":{"end":231,"file":"Source","start":218},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +A.f(0)", + "severity": "warning", + "sourceLocation": + { + "end": 231, + "file": "Source", + "start": 218 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: z = 0 @@ -51,11 +85,34 @@ C.h(0) 6 | \t\t\t\t\t\tassert(z > 100); | \t\t\t\t\t\t^^^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: z = 0 Transaction trace: C.constructor() -C.h(0)","severity":"warning","sourceLocation":{"end":165,"file":"Source2","start":150},"type":"Warning"}],"sources":{"Source":{"id":0},"Source2":{"id":1}}} +C.h(0)", + "severity": "warning", + "sourceLocation": + { + "end": 165, + "file": "Source2", + "start": 150 + }, + "type": "Warning" + } + ], + "sources": + { + "Source": + { + "id": 0 + }, + "Source2": + { + "id": 1 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_contracts_only_one/output.json b/test/cmdlineTests/standard_model_checker_contracts_only_one/output.json index a996f530b..57c4f10fa 100644 --- a/test/cmdlineTests/standard_model_checker_contracts_only_one/output.json +++ b/test/cmdlineTests/standard_model_checker_contracts_only_one/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: y = 0 @@ -11,14 +17,28 @@ B.g(0) 5 | \t\t\t\t\t\tassert(y > 0); | \t\t\t\t\t\t^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: y = 0 Transaction trace: A.constructor() -B.g(0)","severity":"warning","sourceLocation":{"end":137,"file":"Source","start":124},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +B.g(0)", + "severity": "warning", + "sourceLocation": + { + "end": 137, + "file": "Source", + "start": 124 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: x = 0 @@ -31,11 +51,30 @@ A.f(0) 10 | \t\t\t\t\t\tassert(x > 0); | \t\t\t\t\t\t^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: x = 0 Transaction trace: A.constructor() -A.f(0)","severity":"warning","sourceLocation":{"end":231,"file":"Source","start":218},"type":"Warning"}],"sources":{"Source":{"id":0}}} +A.f(0)", + "severity": "warning", + "sourceLocation": + { + "end": 231, + "file": "Source", + "start": 218 + }, + "type": "Warning" + } + ], + "sources": + { + "Source": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_contracts_wrong_key_sources/output.json b/test/cmdlineTests/standard_model_checker_contracts_wrong_key_sources/output.json index 63570423a..d38ad1b59 100644 --- a/test/cmdlineTests/standard_model_checker_contracts_wrong_key_sources/output.json +++ b/test/cmdlineTests/standard_model_checker_contracts_wrong_key_sources/output.json @@ -1,3 +1,22 @@ -{"errors":[{"component":"general","errorCode":"9134","formattedMessage":"Warning: Requested source \"Sourceee\" does not exist. +{ + "errors": + [ + { + "component": "general", + "errorCode": "9134", + "formattedMessage": "Warning: Requested source \"Sourceee\" does not exist. -","message":"Requested source \"Sourceee\" does not exist.","severity":"warning","type":"Warning"}],"sources":{"Source":{"id":0}}} +", + "message": "Requested source \"Sourceee\" does not exist.", + "severity": "warning", + "type": "Warning" + } + ], + "sources": + { + "Source": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_contracts_wrong_key_sources_2/output.json b/test/cmdlineTests/standard_model_checker_contracts_wrong_key_sources_2/output.json index 92c7402f3..98365d1bf 100644 --- a/test/cmdlineTests/standard_model_checker_contracts_wrong_key_sources_2/output.json +++ b/test/cmdlineTests/standard_model_checker_contracts_wrong_key_sources_2/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"settings.modelChecker.contracts is not a JSON object.","message":"settings.modelChecker.contracts is not a JSON object.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "settings.modelChecker.contracts is not a JSON object.", + "message": "settings.modelChecker.contracts is not a JSON object.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_model_checker_contracts_wrong_key_sources_3/output.json b/test/cmdlineTests/standard_model_checker_contracts_wrong_key_sources_3/output.json index 5c5a2d6aa..567db80af 100644 --- a/test/cmdlineTests/standard_model_checker_contracts_wrong_key_sources_3/output.json +++ b/test/cmdlineTests/standard_model_checker_contracts_wrong_key_sources_3/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Source contracts must be an array.","message":"Source contracts must be an array.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Source contracts must be an array.", + "message": "Source contracts must be an array.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_model_checker_contracts_wrong_key_sources_4/output.json b/test/cmdlineTests/standard_model_checker_contracts_wrong_key_sources_4/output.json index 6e41c3a48..30d4c2dcf 100644 --- a/test/cmdlineTests/standard_model_checker_contracts_wrong_key_sources_4/output.json +++ b/test/cmdlineTests/standard_model_checker_contracts_wrong_key_sources_4/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Every contract in settings.modelChecker.contracts must be a string.","message":"Every contract in settings.modelChecker.contracts must be a string.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Every contract in settings.modelChecker.contracts must be a string.", + "message": "Every contract in settings.modelChecker.contracts must be a string.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_model_checker_divModSlacks_default_all/output.json b/test/cmdlineTests/standard_model_checker_divModSlacks_default_all/output.json index 8d6a624a8..db2384cd9 100644 --- a/test/cmdlineTests/standard_model_checker_divModSlacks_default_all/output.json +++ b/test/cmdlineTests/standard_model_checker_divModSlacks_default_all/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x72b32f47722af7f889ab5740b229c1799f27d0a693995a581c00f65438255a15":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x72b32f47722af7f889ab5740b229c1799f27d0a693995a581c00f65438255a15": "(set-option :produce-models true) (set-logic ALL) (declare-fun |a_3_3| () Int) (declare-fun |b_5_3| () Int) @@ -30,7 +35,8 @@ (assert (and (and (and true true) (and (= expr_15_1 (not (= expr_13_0 expr_14_0))) (and (=> (and true true) true) (and (= expr_14_0 0) (and (=> (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 b_5_0) (and (= _10_0 0) (and (= _8_0 0) (and (and (>= b_5_0 0) (<= b_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_3_0 0) (<= a_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 332507694)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 19)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 209)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 170)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 46)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) (not expr_15_1))) (check-sat) -","0x825b322db572f1c2705128460f2af503aeeb571f1c2e15207ce4fd0355accee6":"(set-option :produce-models true) +", + "0x825b322db572f1c2705128460f2af503aeeb571f1c2e15207ce4fd0355accee6": "(set-option :produce-models true) (set-logic ALL) (declare-fun |a_3_3| () Int) (declare-fun |b_5_3| () Int) @@ -62,4 +68,14 @@ (assert (and (and (and true true) (and (= expr_15_1 (not (= expr_13_0 expr_14_0))) (and (=> (and true true) true) (and (= expr_14_0 0) (and (=> (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 b_5_0) (and (= _10_0 0) (and (= _8_0 0) (and (and (>= b_5_0 0) (<= b_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_3_0 0) (<= a_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 332507694)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 19)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 209)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 170)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 46)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) expr_15_1)) (check-sat) -"}},"sources":{"A":{"id":0}}} +" + } + }, + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_divModSlacks_default_bmc/output.json b/test/cmdlineTests/standard_model_checker_divModSlacks_default_bmc/output.json index 0bcabf157..e733f8597 100644 --- a/test/cmdlineTests/standard_model_checker_divModSlacks_default_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_divModSlacks_default_bmc/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x4e97ac0812ea5c46e435c3db54d9e2eb4a3bcadff47f83ce1640429a0a47f6a4":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x4e97ac0812ea5c46e435c3db54d9e2eb4a3bcadff47f83ce1640429a0a47f6a4": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -47,7 +52,8 @@ (assert (= |EVALEXPR_4| expr_19_0)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) -","0x5e6c35c70ccbb1d9823ba3ab86fc9448ead56e6158f73aa8bed482232be56105":"(set-option :produce-models true) +", + "0x5e6c35c70ccbb1d9823ba3ab86fc9448ead56e6158f73aa8bed482232be56105": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -96,7 +102,8 @@ (assert (= |EVALEXPR_4| expr_22_0)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) -","0x615d3f7e7a864c5b3fa9663d698ad3525d0345fa9b53c171d86493beded9023b":"(set-option :produce-models true) +", + "0x615d3f7e7a864c5b3fa9663d698ad3525d0345fa9b53c171d86493beded9023b": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -120,7 +127,8 @@ (assert (and (and (and true true) (and (= expr_15_1 (not (= expr_13_0 expr_14_0))) (and (=> (and true true) true) (and (= expr_14_0 0) (and (=> (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 b_5_0) (and (= _10_0 0) (and (= _8_0 0) (and (and (>= b_5_0 0) (<= b_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_3_0 0) (<= a_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 332507694)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 19)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 209)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 170)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 46)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) (not expr_15_1))) (check-sat) -","0x769f12e07b77225b4e96b3031839452b89976583e45e7924b8bf82ca53a0dd45":"(set-option :produce-models true) +", + "0x769f12e07b77225b4e96b3031839452b89976583e45e7924b8bf82ca53a0dd45": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -144,4 +152,14 @@ (assert (and (and (and true true) (and (= expr_15_1 (not (= expr_13_0 expr_14_0))) (and (=> (and true true) true) (and (= expr_14_0 0) (and (=> (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 b_5_0) (and (= _10_0 0) (and (= _8_0 0) (and (and (>= b_5_0 0) (<= b_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_3_0 0) (<= a_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 332507694)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 19)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 209)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 170)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 46)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) expr_15_1)) (check-sat) -"}},"sources":{"A":{"id":0}}} +" + } + }, + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_divModSlacks_default_chc/output.json b/test/cmdlineTests/standard_model_checker_divModSlacks_default_chc/output.json index 59b90c8cc..acf3b74ef 100644 --- a/test/cmdlineTests/standard_model_checker_divModSlacks_default_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_divModSlacks_default_chc/output.json @@ -1 +1,9 @@ -{"sources":{"A":{"id":0}}} +{ + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_divModSlacks_false_all/output.json b/test/cmdlineTests/standard_model_checker_divModSlacks_false_all/output.json index baad07867..936ee3ffe 100644 --- a/test/cmdlineTests/standard_model_checker_divModSlacks_false_all/output.json +++ b/test/cmdlineTests/standard_model_checker_divModSlacks_false_all/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x591e1d66214247cc99275e22a55210a804c80e9939d5e515cd60a20b3a927c44":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x591e1d66214247cc99275e22a55210a804c80e9939d5e515cd60a20b3a927c44": "(set-option :produce-models true) (set-logic ALL) (declare-fun |a_3_3| () Int) (declare-fun |b_5_3| () Int) @@ -51,7 +56,8 @@ (assert (= |EVALEXPR_4| expr_19_0)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) -","0x5d07befb0482a6d4e328641d57f10a2cbc89b2c287f8d5630bbe20ba4f829e7d":"(set-option :produce-models true) +", + "0x5d07befb0482a6d4e328641d57f10a2cbc89b2c287f8d5630bbe20ba4f829e7d": "(set-option :produce-models true) (set-logic ALL) (declare-fun |a_3_3| () Int) (declare-fun |b_5_3| () Int) @@ -104,7 +110,8 @@ (assert (= |EVALEXPR_4| expr_22_0)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) -","0x72b32f47722af7f889ab5740b229c1799f27d0a693995a581c00f65438255a15":"(set-option :produce-models true) +", + "0x72b32f47722af7f889ab5740b229c1799f27d0a693995a581c00f65438255a15": "(set-option :produce-models true) (set-logic ALL) (declare-fun |a_3_3| () Int) (declare-fun |b_5_3| () Int) @@ -136,7 +143,8 @@ (assert (and (and (and true true) (and (= expr_15_1 (not (= expr_13_0 expr_14_0))) (and (=> (and true true) true) (and (= expr_14_0 0) (and (=> (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 b_5_0) (and (= _10_0 0) (and (= _8_0 0) (and (and (>= b_5_0 0) (<= b_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_3_0 0) (<= a_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 332507694)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 19)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 209)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 170)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 46)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) (not expr_15_1))) (check-sat) -","0x825b322db572f1c2705128460f2af503aeeb571f1c2e15207ce4fd0355accee6":"(set-option :produce-models true) +", + "0x825b322db572f1c2705128460f2af503aeeb571f1c2e15207ce4fd0355accee6": "(set-option :produce-models true) (set-logic ALL) (declare-fun |a_3_3| () Int) (declare-fun |b_5_3| () Int) @@ -168,18 +176,67 @@ (assert (and (and (and true true) (and (= expr_15_1 (not (= expr_13_0 expr_14_0))) (and (=> (and true true) true) (and (= expr_14_0 0) (and (=> (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 b_5_0) (and (= _10_0 0) (and (= _8_0 0) (and (and (>= b_5_0 0) (<= b_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_3_0 0) (<= a_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 332507694)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 19)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 209)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 170)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 46)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) expr_15_1)) (check-sat) -"}},"errors":[{"component":"general","errorCode":"1218","formattedMessage":"Warning: CHC: Error trying to invoke SMT solver. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "1218", + "formattedMessage": "Warning: CHC: Error trying to invoke SMT solver. --> A:7:15: | 7 | \t\t\t\t\t\treturn (a / b, a % b); | \t\t\t\t\t\t ^^^^^ -","message":"CHC: Error trying to invoke SMT solver.","severity":"warning","sourceLocation":{"end":182,"file":"A","start":177},"type":"Warning"},{"component":"general","errorCode":"1218","formattedMessage":"Warning: CHC: Error trying to invoke SMT solver. +", + "message": "CHC: Error trying to invoke SMT solver.", + "severity": "warning", + "sourceLocation": + { + "end": 182, + "file": "A", + "start": 177 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "1218", + "formattedMessage": "Warning: CHC: Error trying to invoke SMT solver. --> A:7:22: | 7 | \t\t\t\t\t\treturn (a / b, a % b); | \t\t\t\t\t\t ^^^^^ -","message":"CHC: Error trying to invoke SMT solver.","severity":"warning","sourceLocation":{"end":189,"file":"A","start":184},"type":"Warning"},{"component":"general","errorCode":"5840","formattedMessage":"Warning: CHC: 2 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. +", + "message": "CHC: Error trying to invoke SMT solver.", + "severity": "warning", + "sourceLocation": + { + "end": 189, + "file": "A", + "start": 184 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5840", + "formattedMessage": "Warning: CHC: 2 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. -","message":"CHC: 2 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.","severity":"warning","type":"Warning"}],"sources":{"A":{"id":0}}} +", + "message": "CHC: 2 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.", + "severity": "warning", + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_divModSlacks_false_bmc/output.json b/test/cmdlineTests/standard_model_checker_divModSlacks_false_bmc/output.json index 401ad4d98..ae3a76a25 100644 --- a/test/cmdlineTests/standard_model_checker_divModSlacks_false_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_divModSlacks_false_bmc/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x615d3f7e7a864c5b3fa9663d698ad3525d0345fa9b53c171d86493beded9023b":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x615d3f7e7a864c5b3fa9663d698ad3525d0345fa9b53c171d86493beded9023b": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -22,7 +27,8 @@ (assert (and (and (and true true) (and (= expr_15_1 (not (= expr_13_0 expr_14_0))) (and (=> (and true true) true) (and (= expr_14_0 0) (and (=> (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 b_5_0) (and (= _10_0 0) (and (= _8_0 0) (and (and (>= b_5_0 0) (<= b_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_3_0 0) (<= a_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 332507694)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 19)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 209)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 170)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 46)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) (not expr_15_1))) (check-sat) -","0x769f12e07b77225b4e96b3031839452b89976583e45e7924b8bf82ca53a0dd45":"(set-option :produce-models true) +", + "0x769f12e07b77225b4e96b3031839452b89976583e45e7924b8bf82ca53a0dd45": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -46,7 +52,8 @@ (assert (and (and (and true true) (and (= expr_15_1 (not (= expr_13_0 expr_14_0))) (and (=> (and true true) true) (and (= expr_14_0 0) (and (=> (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 b_5_0) (and (= _10_0 0) (and (= _8_0 0) (and (and (>= b_5_0 0) (<= b_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_3_0 0) (<= a_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 332507694)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 19)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 209)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 170)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 46)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) expr_15_1)) (check-sat) -","0x7eae514917329522604efe7292b9036d26ff191c3e65dfa51c727b3e7427c10b":"(set-option :produce-models true) +", + "0x7eae514917329522604efe7292b9036d26ff191c3e65dfa51c727b3e7427c10b": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -91,7 +98,8 @@ (assert (= |EVALEXPR_4| expr_19_0)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) -","0xda96cf77e7e434e73e6c4dd847b2e0aa96dbdebf7a585f884ff024246977d02a":"(set-option :produce-models true) +", + "0xda96cf77e7e434e73e6c4dd847b2e0aa96dbdebf7a585f884ff024246977d02a": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -136,4 +144,14 @@ (assert (= |EVALEXPR_4| expr_22_0)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) -"}},"sources":{"A":{"id":0}}} +" + } + }, + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_divModSlacks_false_chc/output.json b/test/cmdlineTests/standard_model_checker_divModSlacks_false_chc/output.json index c4e29b4e8..fccd15838 100644 --- a/test/cmdlineTests/standard_model_checker_divModSlacks_false_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_divModSlacks_false_chc/output.json @@ -1,15 +1,62 @@ -{"errors":[{"component":"general","errorCode":"1218","formattedMessage":"Warning: CHC: Error trying to invoke SMT solver. +{ + "errors": + [ + { + "component": "general", + "errorCode": "1218", + "formattedMessage": "Warning: CHC: Error trying to invoke SMT solver. --> A:7:15: | 7 | \t\t\t\t\t\treturn (a / b, a % b); | \t\t\t\t\t\t ^^^^^ -","message":"CHC: Error trying to invoke SMT solver.","severity":"warning","sourceLocation":{"end":182,"file":"A","start":177},"type":"Warning"},{"component":"general","errorCode":"1218","formattedMessage":"Warning: CHC: Error trying to invoke SMT solver. +", + "message": "CHC: Error trying to invoke SMT solver.", + "severity": "warning", + "sourceLocation": + { + "end": 182, + "file": "A", + "start": 177 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "1218", + "formattedMessage": "Warning: CHC: Error trying to invoke SMT solver. --> A:7:22: | 7 | \t\t\t\t\t\treturn (a / b, a % b); | \t\t\t\t\t\t ^^^^^ -","message":"CHC: Error trying to invoke SMT solver.","severity":"warning","sourceLocation":{"end":189,"file":"A","start":184},"type":"Warning"},{"component":"general","errorCode":"5840","formattedMessage":"Warning: CHC: 2 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. +", + "message": "CHC: Error trying to invoke SMT solver.", + "severity": "warning", + "sourceLocation": + { + "end": 189, + "file": "A", + "start": 184 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5840", + "formattedMessage": "Warning: CHC: 2 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. -","message":"CHC: 2 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.","severity":"warning","type":"Warning"}],"sources":{"A":{"id":0}}} +", + "message": "CHC: 2 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.", + "severity": "warning", + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_divModSlacks_wrong/output.json b/test/cmdlineTests/standard_model_checker_divModSlacks_wrong/output.json index 05cca29c4..457fb1ba0 100644 --- a/test/cmdlineTests/standard_model_checker_divModSlacks_wrong/output.json +++ b/test/cmdlineTests/standard_model_checker_divModSlacks_wrong/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"settings.modelChecker.divModNoSlacks must be a Boolean.","message":"settings.modelChecker.divModNoSlacks must be a Boolean.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "settings.modelChecker.divModNoSlacks must be a Boolean.", + "message": "settings.modelChecker.divModNoSlacks must be a Boolean.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_model_checker_engine_all/output.json b/test/cmdlineTests/standard_model_checker_engine_all/output.json index 12dfe5871..2a2c394fd 100644 --- a/test/cmdlineTests/standard_model_checker_engine_all/output.json +++ b/test/cmdlineTests/standard_model_checker_engine_all/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: x = 0 @@ -11,11 +17,30 @@ C.f(0) 4 | contract C { function f(uint x) public pure { assert(x > 0); } } | ^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: x = 0 Transaction trace: C.constructor() -C.f(0)","severity":"warning","sourceLocation":{"end":119,"file":"A","start":106},"type":"Warning"}],"sources":{"A":{"id":0}}} +C.f(0)", + "severity": "warning", + "sourceLocation": + { + "end": 119, + "file": "A", + "start": 106 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_engine_bmc/output.json b/test/cmdlineTests/standard_model_checker_engine_bmc/output.json index 77e6eeccd..4ddb02414 100644 --- a/test/cmdlineTests/standard_model_checker_engine_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_engine_bmc/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x7fe5be7672be6bc9bc2b750f3170bfa08ecd79fc95afb084539b74294c2dd24d":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x7fe5be7672be6bc9bc2b750f3170bfa08ecd79fc95afb084539b74294c2dd24d": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -22,7 +27,15 @@ (assert (= |EVALEXPR_0| x_3_0)) (check-sat) (get-value (|EVALEXPR_0| )) -"}},"errors":[{"component":"general","errorCode":"4661","formattedMessage":"Warning: BMC: Assertion violation happens here. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "4661", + "formattedMessage": "Warning: BMC: Assertion violation happens here. --> A:4:47: | 4 | contract C { function f(uint x) public pure { assert(x > 0); } } @@ -33,6 +46,37 @@ Note: Counterexample: Note: Callstack: Note: -","message":"BMC: Assertion violation happens here.","secondarySourceLocations":[{"message":"Counterexample: +", + "message": "BMC: Assertion violation happens here.", + "secondarySourceLocations": + [ + { + "message": "Counterexample: x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":119,"file":"A","start":106},"type":"Warning"}],"sources":{"A":{"id":0}}} +" + }, + { + "message": "Callstack:" + }, + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 119, + "file": "A", + "start": 106 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_engine_chc/output.json b/test/cmdlineTests/standard_model_checker_engine_chc/output.json index 12dfe5871..2a2c394fd 100644 --- a/test/cmdlineTests/standard_model_checker_engine_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_engine_chc/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: x = 0 @@ -11,11 +17,30 @@ C.f(0) 4 | contract C { function f(uint x) public pure { assert(x > 0); } } | ^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: x = 0 Transaction trace: C.constructor() -C.f(0)","severity":"warning","sourceLocation":{"end":119,"file":"A","start":106},"type":"Warning"}],"sources":{"A":{"id":0}}} +C.f(0)", + "severity": "warning", + "sourceLocation": + { + "end": 119, + "file": "A", + "start": 106 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_engine_none/output.json b/test/cmdlineTests/standard_model_checker_engine_none/output.json index 59b90c8cc..acf3b74ef 100644 --- a/test/cmdlineTests/standard_model_checker_engine_none/output.json +++ b/test/cmdlineTests/standard_model_checker_engine_none/output.json @@ -1 +1,9 @@ -{"sources":{"A":{"id":0}}} +{ + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_invariants_contract/output.json b/test/cmdlineTests/standard_model_checker_invariants_contract/output.json index 385fcb31f..1e61e18eb 100644 --- a/test/cmdlineTests/standard_model_checker_invariants_contract/output.json +++ b/test/cmdlineTests/standard_model_checker_invariants_contract/output.json @@ -1,7 +1,26 @@ -{"errors":[{"component":"general","errorCode":"1180","formattedMessage":"Info: Contract invariant(s) for A:test: +{ + "errors": + [ + { + "component": "general", + "errorCode": "1180", + "formattedMessage": "Info: Contract invariant(s) for A:test: ((x <= 0) || true) -","message":"Contract invariant(s) for A:test: +", + "message": "Contract invariant(s) for A:test: ((x <= 0) || true) -","severity":"info","type":"Info"}],"sources":{"A":{"id":0}}} +", + "severity": "info", + "type": "Info" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_invariants_contract_reentrancy/output.json b/test/cmdlineTests/standard_model_checker_invariants_contract_reentrancy/output.json index 64d63c46c..5a83ba7ac 100644 --- a/test/cmdlineTests/standard_model_checker_invariants_contract_reentrancy/output.json +++ b/test/cmdlineTests/standard_model_checker_invariants_contract_reentrancy/output.json @@ -1,10 +1,30 @@ -{"errors":[{"component":"general","errorCode":"9302","formattedMessage":"Warning: Return value of low-level calls not used. +{ + "errors": + [ + { + "component": "general", + "errorCode": "9302", + "formattedMessage": "Warning: Return value of low-level calls not used. --> A:7:7: | 7 | \t\t\t\t\t\t_a.call(\"\"); | \t\t\t\t\t\t^^^^^^^^^^^ -","message":"Return value of low-level calls not used.","severity":"warning","sourceLocation":{"end":143,"file":"A","start":132},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +", + "message": "Return value of low-level calls not used.", + "severity": "warning", + "sourceLocation": + { + "end": 143, + "file": "A", + "start": 132 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: x = 0 _a = 0x0 @@ -19,7 +39,8 @@ test.f(0x0) 8 | \t\t\t\t\t\tassert(x == 10); | \t\t\t\t\t\t^^^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: x = 0 _a = 0x0 @@ -28,4 +49,22 @@ Transaction trace: test.constructor() State: x = 0 test.f(0x0) - _a.call(\"\") -- untrusted external call","severity":"warning","sourceLocation":{"end":166,"file":"A","start":151},"type":"Warning"}],"sources":{"A":{"id":0}}} + _a.call(\"\") -- untrusted external call", + "severity": "warning", + "sourceLocation": + { + "end": 166, + "file": "A", + "start": 151 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_invariants_reentrancy/output.json b/test/cmdlineTests/standard_model_checker_invariants_reentrancy/output.json index d7cb43429..2d1d093bf 100644 --- a/test/cmdlineTests/standard_model_checker_invariants_reentrancy/output.json +++ b/test/cmdlineTests/standard_model_checker_invariants_reentrancy/output.json @@ -1,17 +1,50 @@ -{"errors":[{"component":"general","errorCode":"9302","formattedMessage":"Warning: Return value of low-level calls not used. +{ + "errors": + [ + { + "component": "general", + "errorCode": "9302", + "formattedMessage": "Warning: Return value of low-level calls not used. --> A:7:7: | 7 | \t\t\t\t\t\t_a.call(\"\"); | \t\t\t\t\t\t^^^^^^^^^^^ -","message":"Return value of low-level calls not used.","severity":"warning","sourceLocation":{"end":143,"file":"A","start":132},"type":"Warning"},{"component":"general","errorCode":"1180","formattedMessage":"Info: Reentrancy property(ies) for A:test: +", + "message": "Return value of low-level calls not used.", + "severity": "warning", + "sourceLocation": + { + "end": 143, + "file": "A", + "start": 132 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "1180", + "formattedMessage": "Info: Reentrancy property(ies) for A:test: (((!(x <= 0) || (x' <= 0)) && (!(x <= 0) || ( <= 0))) || true) = 0 -> no errors = 1 -> Assertion failed at assert(x < 10) -","message":"Reentrancy property(ies) for A:test: +", + "message": "Reentrancy property(ies) for A:test: (((!(x <= 0) || (x' <= 0)) && (!(x <= 0) || ( <= 0))) || true) = 0 -> no errors = 1 -> Assertion failed at assert(x < 10) -","severity":"info","type":"Info"}],"sources":{"A":{"id":0}}} +", + "severity": "info", + "type": "Info" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_invariants_wrong_key/output.json b/test/cmdlineTests/standard_model_checker_invariants_wrong_key/output.json index 7758b29ca..45fcfbe98 100644 --- a/test/cmdlineTests/standard_model_checker_invariants_wrong_key/output.json +++ b/test/cmdlineTests/standard_model_checker_invariants_wrong_key/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Invalid model checker invariants requested.","message":"Invalid model checker invariants requested.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Invalid model checker invariants requested.", + "message": "Invalid model checker invariants requested.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_model_checker_invariants_wrong_type/output.json b/test/cmdlineTests/standard_model_checker_invariants_wrong_type/output.json index 5ad18a3b1..d1992e464 100644 --- a/test/cmdlineTests/standard_model_checker_invariants_wrong_type/output.json +++ b/test/cmdlineTests/standard_model_checker_invariants_wrong_type/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Every invariant type in settings.modelChecker.invariants must be a string.","message":"Every invariant type in settings.modelChecker.invariants must be a string.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Every invariant type in settings.modelChecker.invariants must be a string.", + "message": "Every invariant type in settings.modelChecker.invariants must be a string.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_model_checker_invariants_wrong_type_2/output.json b/test/cmdlineTests/standard_model_checker_invariants_wrong_type_2/output.json index b4fba3576..078edfc1d 100644 --- a/test/cmdlineTests/standard_model_checker_invariants_wrong_type_2/output.json +++ b/test/cmdlineTests/standard_model_checker_invariants_wrong_type_2/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"settings.modelChecker.invariants must be an array.","message":"settings.modelChecker.invariants must be an array.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "settings.modelChecker.invariants must be an array.", + "message": "settings.modelChecker.invariants must be an array.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_model_checker_show_unproved_default_all_engines/output.json b/test/cmdlineTests/standard_model_checker_show_unproved_default_all_engines/output.json index 6f0aaa4e0..fafec12d3 100644 --- a/test/cmdlineTests/standard_model_checker_show_unproved_default_all_engines/output.json +++ b/test/cmdlineTests/standard_model_checker_show_unproved_default_all_engines/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x4cd81a462deca8d6bf08b33a7f5bce9cf9306c7ee90b83c106ca7927066a23b1":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x4cd81a462deca8d6bf08b33a7f5bce9cf9306c7ee90b83c106ca7927066a23b1": "(set-option :produce-models true) (set-logic ALL) (declare-datatypes ((|struct test.S| 0)) (((|struct test.S| (|struct test.S_accessor_x| Int))))) (declare-fun |s_7_3| () |struct test.S|) @@ -24,7 +29,8 @@ (assert (and (and (and true true) (and (= expr_15_0 b_9_0) (and true (and true (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 2562959041)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 152)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 195)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 166)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))) (not expr_15_0))) (check-sat) -","0x65d23088fadc165b70d1947e1ba5191db247c8c5fab4e23d292c1168e94b4784":"(set-option :produce-models true) +", + "0x65d23088fadc165b70d1947e1ba5191db247c8c5fab4e23d292c1168e94b4784": "(set-option :produce-models true) (set-logic ALL) (declare-datatypes ((|struct test.S| 0)) (((|struct test.S| (|struct test.S_accessor_x| Int))))) (declare-fun |s_7_3| () |struct test.S|) @@ -69,7 +75,8 @@ (assert (= |EVALEXPR_0| b_9_0)) (check-sat) (get-value (|EVALEXPR_0| )) -","0xd6dbbd7b7e45b0360943223d07028611980d896347710102f264ffa0ae086fad":"(set-option :produce-models true) +", + "0xd6dbbd7b7e45b0360943223d07028611980d896347710102f264ffa0ae086fad": "(set-option :produce-models true) (set-logic ALL) (declare-datatypes ((|struct test.S| 0)) (((|struct test.S| (|struct test.S_accessor_x| Int))))) (declare-fun |s_7_3| () |struct test.S|) @@ -95,8 +102,37 @@ (assert (and (and (and true true) (and (= expr_15_0 b_9_0) (and true (and true (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 2562959041)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 152)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 195)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 166)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))) expr_15_0)) (check-sat) -"}},"errors":[{"component":"general","errorCode":"5840","formattedMessage":"Warning: CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "5840", + "formattedMessage": "Warning: CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. -","message":"CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.","severity":"warning","type":"Warning"},{"component":"general","errorCode":"2788","formattedMessage":"Warning: BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. +", + "message": "CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.", + "severity": "warning", + "type": "Warning" + }, + { + "component": "general", + "errorCode": "2788", + "formattedMessage": "Warning: BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. -","message":"BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.","severity":"warning","type":"Warning"}],"sources":{"A":{"id":0}}} +", + "message": "BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.", + "severity": "warning", + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_show_unproved_false_all_engines/output.json b/test/cmdlineTests/standard_model_checker_show_unproved_false_all_engines/output.json index 6f0aaa4e0..fafec12d3 100644 --- a/test/cmdlineTests/standard_model_checker_show_unproved_false_all_engines/output.json +++ b/test/cmdlineTests/standard_model_checker_show_unproved_false_all_engines/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x4cd81a462deca8d6bf08b33a7f5bce9cf9306c7ee90b83c106ca7927066a23b1":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x4cd81a462deca8d6bf08b33a7f5bce9cf9306c7ee90b83c106ca7927066a23b1": "(set-option :produce-models true) (set-logic ALL) (declare-datatypes ((|struct test.S| 0)) (((|struct test.S| (|struct test.S_accessor_x| Int))))) (declare-fun |s_7_3| () |struct test.S|) @@ -24,7 +29,8 @@ (assert (and (and (and true true) (and (= expr_15_0 b_9_0) (and true (and true (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 2562959041)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 152)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 195)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 166)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))) (not expr_15_0))) (check-sat) -","0x65d23088fadc165b70d1947e1ba5191db247c8c5fab4e23d292c1168e94b4784":"(set-option :produce-models true) +", + "0x65d23088fadc165b70d1947e1ba5191db247c8c5fab4e23d292c1168e94b4784": "(set-option :produce-models true) (set-logic ALL) (declare-datatypes ((|struct test.S| 0)) (((|struct test.S| (|struct test.S_accessor_x| Int))))) (declare-fun |s_7_3| () |struct test.S|) @@ -69,7 +75,8 @@ (assert (= |EVALEXPR_0| b_9_0)) (check-sat) (get-value (|EVALEXPR_0| )) -","0xd6dbbd7b7e45b0360943223d07028611980d896347710102f264ffa0ae086fad":"(set-option :produce-models true) +", + "0xd6dbbd7b7e45b0360943223d07028611980d896347710102f264ffa0ae086fad": "(set-option :produce-models true) (set-logic ALL) (declare-datatypes ((|struct test.S| 0)) (((|struct test.S| (|struct test.S_accessor_x| Int))))) (declare-fun |s_7_3| () |struct test.S|) @@ -95,8 +102,37 @@ (assert (and (and (and true true) (and (= expr_15_0 b_9_0) (and true (and true (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 2562959041)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 152)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 195)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 166)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))) expr_15_0)) (check-sat) -"}},"errors":[{"component":"general","errorCode":"5840","formattedMessage":"Warning: CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "5840", + "formattedMessage": "Warning: CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. -","message":"CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.","severity":"warning","type":"Warning"},{"component":"general","errorCode":"2788","formattedMessage":"Warning: BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. +", + "message": "CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.", + "severity": "warning", + "type": "Warning" + }, + { + "component": "general", + "errorCode": "2788", + "formattedMessage": "Warning: BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. -","message":"BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.","severity":"warning","type":"Warning"}],"sources":{"A":{"id":0}}} +", + "message": "BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.", + "severity": "warning", + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_show_unproved_false_bmc/output.json b/test/cmdlineTests/standard_model_checker_show_unproved_false_bmc/output.json index 6893a9a5e..a274a20c5 100644 --- a/test/cmdlineTests/standard_model_checker_show_unproved_false_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_show_unproved_false_bmc/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x5953b22204605efc775a59974aec3ddf9f831e46e30a65e149873e6f48887590":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x5953b22204605efc775a59974aec3ddf9f831e46e30a65e149873e6f48887590": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -20,7 +25,8 @@ (assert (and (and (and true true) (and (= expr_15_0 b_9_0) (and true (and true (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 2562959041)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 152)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 195)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 166)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))) (not expr_15_0))) (check-sat) -","0x84635fcc37e5318fb46619945199a333750ee247769e97445a2f89b98b54fef9":"(set-option :produce-models true) +", + "0x84635fcc37e5318fb46619945199a333750ee247769e97445a2f89b98b54fef9": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -61,7 +67,8 @@ (assert (= |EVALEXPR_0| b_9_0)) (check-sat) (get-value (|EVALEXPR_0| )) -","0xd55ef003dcd6e8ebbd55fce4adaa36b4d898204d649e5426179dea4b7450a9f5":"(set-option :produce-models true) +", + "0xd55ef003dcd6e8ebbd55fce4adaa36b4d898204d649e5426179dea4b7450a9f5": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -83,6 +90,27 @@ (assert (and (and (and true true) (and (= expr_15_0 b_9_0) (and true (and true (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 2562959041)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 152)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 195)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 166)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))) expr_15_0)) (check-sat) -"}},"errors":[{"component":"general","errorCode":"2788","formattedMessage":"Warning: BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "2788", + "formattedMessage": "Warning: BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. -","message":"BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.","severity":"warning","type":"Warning"}],"sources":{"A":{"id":0}}} +", + "message": "BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.", + "severity": "warning", + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_show_unproved_false_chc/output.json b/test/cmdlineTests/standard_model_checker_show_unproved_false_chc/output.json index 5e66cb899..7f0e676cb 100644 --- a/test/cmdlineTests/standard_model_checker_show_unproved_false_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_show_unproved_false_chc/output.json @@ -1,3 +1,22 @@ -{"errors":[{"component":"general","errorCode":"5840","formattedMessage":"Warning: CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. +{ + "errors": + [ + { + "component": "general", + "errorCode": "5840", + "formattedMessage": "Warning: CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. -","message":"CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.","severity":"warning","type":"Warning"}],"sources":{"A":{"id":0}}} +", + "message": "CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.", + "severity": "warning", + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_show_unproved_true_all_engines/output.json b/test/cmdlineTests/standard_model_checker_show_unproved_true_all_engines/output.json index a3626c64b..6fcfb8bcf 100644 --- a/test/cmdlineTests/standard_model_checker_show_unproved_true_all_engines/output.json +++ b/test/cmdlineTests/standard_model_checker_show_unproved_true_all_engines/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x4cd81a462deca8d6bf08b33a7f5bce9cf9306c7ee90b83c106ca7927066a23b1":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x4cd81a462deca8d6bf08b33a7f5bce9cf9306c7ee90b83c106ca7927066a23b1": "(set-option :produce-models true) (set-logic ALL) (declare-datatypes ((|struct test.S| 0)) (((|struct test.S| (|struct test.S_accessor_x| Int))))) (declare-fun |s_7_3| () |struct test.S|) @@ -24,7 +29,8 @@ (assert (and (and (and true true) (and (= expr_15_0 b_9_0) (and true (and true (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 2562959041)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 152)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 195)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 166)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))) (not expr_15_0))) (check-sat) -","0x65d23088fadc165b70d1947e1ba5191db247c8c5fab4e23d292c1168e94b4784":"(set-option :produce-models true) +", + "0x65d23088fadc165b70d1947e1ba5191db247c8c5fab4e23d292c1168e94b4784": "(set-option :produce-models true) (set-logic ALL) (declare-datatypes ((|struct test.S| 0)) (((|struct test.S| (|struct test.S_accessor_x| Int))))) (declare-fun |s_7_3| () |struct test.S|) @@ -69,7 +75,8 @@ (assert (= |EVALEXPR_0| b_9_0)) (check-sat) (get-value (|EVALEXPR_0| )) -","0xd6dbbd7b7e45b0360943223d07028611980d896347710102f264ffa0ae086fad":"(set-option :produce-models true) +", + "0xd6dbbd7b7e45b0360943223d07028611980d896347710102f264ffa0ae086fad": "(set-option :produce-models true) (set-logic ALL) (declare-datatypes ((|struct test.S| 0)) (((|struct test.S| (|struct test.S_accessor_x| Int))))) (declare-fun |s_7_3| () |struct test.S|) @@ -95,17 +102,64 @@ (assert (and (and (and true true) (and (= expr_15_0 b_9_0) (and true (and true (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 2562959041)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 152)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 195)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 166)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))) expr_15_0)) (check-sat) -"}},"errors":[{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation might happen here. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation might happen here. --> A:11:7: | 11 | \t\t\t\t\t\tassert(s.x > 0); | \t\t\t\t\t\t^^^^^^^^^^^^^^^ -","message":"CHC: Assertion violation might happen here.","severity":"warning","sourceLocation":{"end":201,"file":"A","start":186},"type":"Warning"},{"component":"general","errorCode":"7812","formattedMessage":"Warning: BMC: Assertion violation might happen here. +", + "message": "CHC: Assertion violation might happen here.", + "severity": "warning", + "sourceLocation": + { + "end": 201, + "file": "A", + "start": 186 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "7812", + "formattedMessage": "Warning: BMC: Assertion violation might happen here. --> A:11:7: | 11 | \t\t\t\t\t\tassert(s.x > 0); | \t\t\t\t\t\t^^^^^^^^^^^^^^^ Note: -","message":"BMC: Assertion violation might happen here.","secondarySourceLocations":[{"message":""}],"severity":"warning","sourceLocation":{"end":201,"file":"A","start":186},"type":"Warning"}],"sources":{"A":{"id":0}}} +", + "message": "BMC: Assertion violation might happen here.", + "secondarySourceLocations": + [ + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 201, + "file": "A", + "start": 186 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_show_unproved_true_bmc/output.json b/test/cmdlineTests/standard_model_checker_show_unproved_true_bmc/output.json index 21422cec1..006e1f03b 100644 --- a/test/cmdlineTests/standard_model_checker_show_unproved_true_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_show_unproved_true_bmc/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x5953b22204605efc775a59974aec3ddf9f831e46e30a65e149873e6f48887590":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x5953b22204605efc775a59974aec3ddf9f831e46e30a65e149873e6f48887590": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -20,7 +25,8 @@ (assert (and (and (and true true) (and (= expr_15_0 b_9_0) (and true (and true (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 2562959041)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 152)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 195)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 166)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))) (not expr_15_0))) (check-sat) -","0x84635fcc37e5318fb46619945199a333750ee247769e97445a2f89b98b54fef9":"(set-option :produce-models true) +", + "0x84635fcc37e5318fb46619945199a333750ee247769e97445a2f89b98b54fef9": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -61,7 +67,8 @@ (assert (= |EVALEXPR_0| b_9_0)) (check-sat) (get-value (|EVALEXPR_0| )) -","0xd55ef003dcd6e8ebbd55fce4adaa36b4d898204d649e5426179dea4b7450a9f5":"(set-option :produce-models true) +", + "0xd55ef003dcd6e8ebbd55fce4adaa36b4d898204d649e5426179dea4b7450a9f5": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -83,11 +90,44 @@ (assert (and (and (and true true) (and (= expr_15_0 b_9_0) (and true (and true (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 2562959041)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 152)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 195)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 166)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))) expr_15_0)) (check-sat) -"}},"errors":[{"component":"general","errorCode":"7812","formattedMessage":"Warning: BMC: Assertion violation might happen here. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "7812", + "formattedMessage": "Warning: BMC: Assertion violation might happen here. --> A:11:7: | 11 | \t\t\t\t\t\tassert(s.x > 0); | \t\t\t\t\t\t^^^^^^^^^^^^^^^ Note: -","message":"BMC: Assertion violation might happen here.","secondarySourceLocations":[{"message":""}],"severity":"warning","sourceLocation":{"end":201,"file":"A","start":186},"type":"Warning"}],"sources":{"A":{"id":0}}} +", + "message": "BMC: Assertion violation might happen here.", + "secondarySourceLocations": + [ + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 201, + "file": "A", + "start": 186 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_show_unproved_true_chc/output.json b/test/cmdlineTests/standard_model_checker_show_unproved_true_chc/output.json index 352b76d27..58956287f 100644 --- a/test/cmdlineTests/standard_model_checker_show_unproved_true_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_show_unproved_true_chc/output.json @@ -1,7 +1,32 @@ -{"errors":[{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation might happen here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation might happen here. --> A:11:7: | 11 | \t\t\t\t\t\tassert(s.x > 0); | \t\t\t\t\t\t^^^^^^^^^^^^^^^ -","message":"CHC: Assertion violation might happen here.","severity":"warning","sourceLocation":{"end":201,"file":"A","start":186},"type":"Warning"}],"sources":{"A":{"id":0}}} +", + "message": "CHC: Assertion violation might happen here.", + "severity": "warning", + "sourceLocation": + { + "end": 201, + "file": "A", + "start": 186 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_show_unproved_wrong/output.json b/test/cmdlineTests/standard_model_checker_show_unproved_wrong/output.json index 394dbf925..a9342cddf 100644 --- a/test/cmdlineTests/standard_model_checker_show_unproved_wrong/output.json +++ b/test/cmdlineTests/standard_model_checker_show_unproved_wrong/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"settings.modelChecker.showUnproved must be a Boolean value.","message":"settings.modelChecker.showUnproved must be a Boolean value.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "settings.modelChecker.showUnproved must be a Boolean value.", + "message": "settings.modelChecker.showUnproved must be a Boolean value.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_model_checker_solvers_all/output.json b/test/cmdlineTests/standard_model_checker_solvers_all/output.json index 12dfe5871..2a2c394fd 100644 --- a/test/cmdlineTests/standard_model_checker_solvers_all/output.json +++ b/test/cmdlineTests/standard_model_checker_solvers_all/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: x = 0 @@ -11,11 +17,30 @@ C.f(0) 4 | contract C { function f(uint x) public pure { assert(x > 0); } } | ^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: x = 0 Transaction trace: C.constructor() -C.f(0)","severity":"warning","sourceLocation":{"end":119,"file":"A","start":106},"type":"Warning"}],"sources":{"A":{"id":0}}} +C.f(0)", + "severity": "warning", + "sourceLocation": + { + "end": 119, + "file": "A", + "start": 106 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_solvers_none/output.json b/test/cmdlineTests/standard_model_checker_solvers_none/output.json index d5672007e..ab989857c 100644 --- a/test/cmdlineTests/standard_model_checker_solvers_none/output.json +++ b/test/cmdlineTests/standard_model_checker_solvers_none/output.json @@ -1,5 +1,32 @@ -{"errors":[{"component":"general","errorCode":"7649","formattedMessage":"Warning: CHC analysis was not possible since no Horn solver was found and enabled. +{ + "errors": + [ + { + "component": "general", + "errorCode": "7649", + "formattedMessage": "Warning: CHC analysis was not possible since no Horn solver was found and enabled. -","message":"CHC analysis was not possible since no Horn solver was found and enabled.","severity":"warning","type":"Warning"},{"component":"general","errorCode":"7710","formattedMessage":"Warning: BMC analysis was not possible since no SMT solver was found and enabled. +", + "message": "CHC analysis was not possible since no Horn solver was found and enabled.", + "severity": "warning", + "type": "Warning" + }, + { + "component": "general", + "errorCode": "7710", + "formattedMessage": "Warning: BMC analysis was not possible since no SMT solver was found and enabled. -","message":"BMC analysis was not possible since no SMT solver was found and enabled.","severity":"warning","type":"Warning"}],"sources":{"A":{"id":0}}} +", + "message": "BMC analysis was not possible since no SMT solver was found and enabled.", + "severity": "warning", + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_solvers_smtlib2/output.json b/test/cmdlineTests/standard_model_checker_solvers_smtlib2/output.json index 866727f4b..41ef018d9 100644 --- a/test/cmdlineTests/standard_model_checker_solvers_smtlib2/output.json +++ b/test/cmdlineTests/standard_model_checker_solvers_smtlib2/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x2bcd3328dc8d31e869efd5e0dfdb16a6fa26f0a9c2829ea55670262be485e401":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x2bcd3328dc8d31e869efd5e0dfdb16a6fa26f0a9c2829ea55670262be485e401": "(set-option :produce-models true) (set-logic ALL) (declare-fun |x_3_3| () Int) (declare-fun |error_0| () Int) @@ -24,7 +29,8 @@ (assert (= |EVALEXPR_0| x_3_0)) (check-sat) (get-value (|EVALEXPR_0| )) -","0x4e70784a8a93c7429a716aa8b778f3de5d1f63b30158452534da5d44e5967d2b":"(set-logic HORN) +", + "0x4e70784a8a93c7429a716aa8b778f3de5d1f63b30158452534da5d44e5967d2b": "(set-logic HORN) (declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) (declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) @@ -145,12 +151,57 @@ (assert (forall ( (abi_0 |abi_type|) (crypto_0 |crypto_type|) (error_0 Int) (error_1 Int) (expr_7_0 Int) (expr_8_0 Int) (expr_9_1 Bool) (funds_2_0 Int) (state_0 |state_type|) (state_1 |state_type|) (state_2 |state_type|) (state_3 |state_type|) (this_0 Int) (tx_0 |tx_type|) (x_3_0 Int) (x_3_1 Int) (x_3_2 Int)) (=> error_target_3_0 false))) -(check-sat)"}},"errors":[{"component":"general","errorCode":"5840","formattedMessage":"Warning: CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. +(check-sat)" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "5840", + "formattedMessage": "Warning: CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. -","message":"CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.","severity":"warning","type":"Warning"},{"component":"general","errorCode":"3996","formattedMessage":"Warning: CHC analysis was not possible. No Horn solver was available. None of the installed solvers was enabled. +", + "message": "CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.", + "severity": "warning", + "type": "Warning" + }, + { + "component": "general", + "errorCode": "3996", + "formattedMessage": "Warning: CHC analysis was not possible. No Horn solver was available. None of the installed solvers was enabled. -","message":"CHC analysis was not possible. No Horn solver was available. None of the installed solvers was enabled.","severity":"warning","type":"Warning"},{"component":"general","errorCode":"2788","formattedMessage":"Warning: BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. +", + "message": "CHC analysis was not possible. No Horn solver was available. None of the installed solvers was enabled.", + "severity": "warning", + "type": "Warning" + }, + { + "component": "general", + "errorCode": "2788", + "formattedMessage": "Warning: BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. -","message":"BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.","severity":"warning","type":"Warning"},{"component":"general","errorCode":"8084","formattedMessage":"Warning: BMC analysis was not possible. No SMT solver (Z3 or CVC4) was available. None of the installed solvers was enabled. +", + "message": "BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.", + "severity": "warning", + "type": "Warning" + }, + { + "component": "general", + "errorCode": "8084", + "formattedMessage": "Warning: BMC analysis was not possible. No SMT solver (Z3 or CVC4) was available. None of the installed solvers was enabled. -","message":"BMC analysis was not possible. No SMT solver (Z3 or CVC4) was available. None of the installed solvers was enabled.","severity":"warning","type":"Warning"}],"sources":{"A":{"id":0}}} +", + "message": "BMC analysis was not possible. No SMT solver (Z3 or CVC4) was available. None of the installed solvers was enabled.", + "severity": "warning", + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_solvers_z3/output.json b/test/cmdlineTests/standard_model_checker_solvers_z3/output.json index 12dfe5871..2a2c394fd 100644 --- a/test/cmdlineTests/standard_model_checker_solvers_z3/output.json +++ b/test/cmdlineTests/standard_model_checker_solvers_z3/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: x = 0 @@ -11,11 +17,30 @@ C.f(0) 4 | contract C { function f(uint x) public pure { assert(x > 0); } } | ^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: x = 0 Transaction trace: C.constructor() -C.f(0)","severity":"warning","sourceLocation":{"end":119,"file":"A","start":106},"type":"Warning"}],"sources":{"A":{"id":0}}} +C.f(0)", + "severity": "warning", + "sourceLocation": + { + "end": 119, + "file": "A", + "start": 106 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_solvers_z3_smtlib2/output.json b/test/cmdlineTests/standard_model_checker_solvers_z3_smtlib2/output.json index 12dfe5871..2a2c394fd 100644 --- a/test/cmdlineTests/standard_model_checker_solvers_z3_smtlib2/output.json +++ b/test/cmdlineTests/standard_model_checker_solvers_z3_smtlib2/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: x = 0 @@ -11,11 +17,30 @@ C.f(0) 4 | contract C { function f(uint x) public pure { assert(x > 0); } } | ^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: x = 0 Transaction trace: C.constructor() -C.f(0)","severity":"warning","sourceLocation":{"end":119,"file":"A","start":106},"type":"Warning"}],"sources":{"A":{"id":0}}} +C.f(0)", + "severity": "warning", + "sourceLocation": + { + "end": 119, + "file": "A", + "start": 106 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_assert_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_assert_bmc/output.json index 695772406..0393396ed 100644 --- a/test/cmdlineTests/standard_model_checker_targets_assert_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_assert_bmc/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x67f6235b42fbb5cc636b1d18ccd5622020b45eef0c634965f9adf8b4bb923a64":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x67f6235b42fbb5cc636b1d18ccd5622020b45eef0c634965f9adf8b4bb923a64": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -53,7 +58,15 @@ (assert (= |EVALEXPR_1| x_8_1)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| )) -"}},"errors":[{"component":"general","errorCode":"4661","formattedMessage":"Warning: BMC: Assertion violation happens here. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "4661", + "formattedMessage": "Warning: BMC: Assertion violation happens here. --> A:12:7: | 12 | \t\t\t\t\t\tassert(x > 0); @@ -65,7 +78,38 @@ Note: Counterexample: Note: Callstack: Note: -","message":"BMC: Assertion violation happens here.","secondarySourceLocations":[{"message":"Counterexample: +", + "message": "BMC: Assertion violation happens here.", + "secondarySourceLocations": + [ + { + "message": "Counterexample: a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"}],"sources":{"A":{"id":0}}} +" + }, + { + "message": "Callstack:" + }, + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 258, + "file": "A", + "start": 245 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_assert_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_assert_chc/output.json index fc4b9b9da..5c43fe6b5 100644 --- a/test/cmdlineTests/standard_model_checker_targets_assert_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_assert_chc/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: arr = [] a = 0x0 @@ -13,7 +19,8 @@ test.f(0x0, 1) 12 | \t\t\t\t\t\tassert(x > 0); | \t\t\t\t\t\t^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: arr = [] a = 0x0 @@ -22,4 +29,22 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0x0, 1)", + "severity": "warning", + "sourceLocation": + { + "end": 258, + "file": "A", + "start": 245 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_balance_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_balance_bmc/output.json index aa8503d2d..041f55079 100644 --- a/test/cmdlineTests/standard_model_checker_targets_balance_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_balance_bmc/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0xa5a6f54f166338793f025832fad8408fccb5fa0ee7a8ab0cb4ed7ec5a8c034de":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0xa5a6f54f166338793f025832fad8408fccb5fa0ee7a8ab0cb4ed7ec5a8c034de": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -53,7 +58,15 @@ (assert (= |EVALEXPR_1| x_8_1)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| )) -"}},"errors":[{"component":"general","errorCode":"1236","formattedMessage":"Warning: BMC: Insufficient funds happens here. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "1236", + "formattedMessage": "Warning: BMC: Insufficient funds happens here. --> A:11:7: | 11 | \t\t\t\t\t\ta.transfer(x); @@ -65,7 +78,38 @@ Note: Counterexample: Note: Callstack: Note: -","message":"BMC: Insufficient funds happens here.","secondarySourceLocations":[{"message":"Counterexample: +", + "message": "BMC: Insufficient funds happens here.", + "secondarySourceLocations": + [ + { + "message": "Counterexample: a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":237,"file":"A","start":224},"type":"Warning"}],"sources":{"A":{"id":0}}} +" + }, + { + "message": "Callstack:" + }, + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 237, + "file": "A", + "start": 224 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_balance_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_balance_chc/output.json index 59b90c8cc..acf3b74ef 100644 --- a/test/cmdlineTests/standard_model_checker_targets_balance_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_balance_chc/output.json @@ -1 +1,9 @@ -{"sources":{"A":{"id":0}}} +{ + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_constantCondition_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_constantCondition_bmc/output.json index 766289fb4..132f3e5a3 100644 --- a/test/cmdlineTests/standard_model_checker_targets_constantCondition_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_constantCondition_bmc/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0xca9972ec543d923e2e93a20db0b793a19de392a072a70371f575dbee55fe301c":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0xca9972ec543d923e2e93a20db0b793a19de392a072a70371f575dbee55fe301c": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -23,7 +28,8 @@ (assert (and (and (and true true) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (=> (and true true) true) (and (= expr_13_0 0) (and (=> (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint_array_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) (not expr_14_1))) (check-sat) -","0xdda5d43b30361d8d706472ecb9bb78f49c5beb6ffe9eba3ff632d1cd5f17e317":"(set-option :produce-models true) +", + "0xdda5d43b30361d8d706472ecb9bb78f49c5beb6ffe9eba3ff632d1cd5f17e317": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -48,11 +54,44 @@ (assert (and (and (and true true) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (=> (and true true) true) (and (= expr_13_0 0) (and (=> (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint_array_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) expr_14_1)) (check-sat) -"}},"errors":[{"component":"general","errorCode":"6838","formattedMessage":"Warning: BMC: Condition is always true. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "6838", + "formattedMessage": "Warning: BMC: Condition is always true. --> A:7:15: | 7 | \t\t\t\t\t\trequire(x >= 0); | \t\t\t\t\t\t ^^^^^^ Note: Callstack: -","message":"BMC: Condition is always true.","secondarySourceLocations":[{"message":"Callstack:"}],"severity":"warning","sourceLocation":{"end":165,"file":"A","start":159},"type":"Warning"}],"sources":{"A":{"id":0}}} +", + "message": "BMC: Condition is always true.", + "secondarySourceLocations": + [ + { + "message": "Callstack:" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 165, + "file": "A", + "start": 159 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_constantCondition_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_constantCondition_chc/output.json index 59b90c8cc..acf3b74ef 100644 --- a/test/cmdlineTests/standard_model_checker_targets_constantCondition_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_constantCondition_chc/output.json @@ -1 +1,9 @@ -{"sources":{"A":{"id":0}}} +{ + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_default_all_engines/output.json b/test/cmdlineTests/standard_model_checker_targets_default_all_engines/output.json index ad6418636..c3033a5dc 100644 --- a/test/cmdlineTests/standard_model_checker_targets_default_all_engines/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_default_all_engines/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x03d0edb825a4f6251a71019a2075e51c5d4fce6236dfaa9b24ed56309b4cb52e":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x03d0edb825a4f6251a71019a2075e51c5d4fce6236dfaa9b24ed56309b4cb52e": "(set-option :produce-models true) (set-logic ALL) (declare-datatypes ((|uint_array_tuple| 0)) (((|uint_array_tuple| (|uint_array_tuple_accessor_array| (Array Int Int)) (|uint_array_tuple_accessor_length| Int))))) (declare-fun |arr_4_length_pair_2| () |uint_array_tuple|) @@ -30,7 +35,8 @@ (assert (and (and (and true true) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (=> (and true true) true) (and (= expr_13_0 0) (and (=> (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint_array_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) (not expr_14_1))) (check-sat) -","0xa7b2de16abc4c0f0f9e2c540a576178d99cb73a01cf0d0d1d62d51735c6d3b44":"(set-option :produce-models true) +", + "0xa7b2de16abc4c0f0f9e2c540a576178d99cb73a01cf0d0d1d62d51735c6d3b44": "(set-option :produce-models true) (set-logic ALL) (declare-datatypes ((|uint_array_tuple| 0)) (((|uint_array_tuple| (|uint_array_tuple_accessor_array| (Array Int Int)) (|uint_array_tuple_accessor_length| Int))))) (declare-fun |arr_4_length_pair_2| () |uint_array_tuple|) @@ -91,7 +97,8 @@ (assert (= |EVALEXPR_1| x_8_1)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| )) -","0xd43cc6edbb2db7e490ff38b099043a3d3f17f85031b33673e76cb1eaf0598122":"(set-option :produce-models true) +", + "0xd43cc6edbb2db7e490ff38b099043a3d3f17f85031b33673e76cb1eaf0598122": "(set-option :produce-models true) (set-logic ALL) (declare-datatypes ((|uint_array_tuple| 0)) (((|uint_array_tuple| (|uint_array_tuple_accessor_array| (Array Int Int)) (|uint_array_tuple_accessor_length| Int))))) (declare-fun |arr_4_length_pair_2| () |uint_array_tuple|) @@ -123,7 +130,15 @@ (assert (and (and (and true true) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (=> (and true true) true) (and (= expr_13_0 0) (and (=> (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint_array_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) expr_14_1)) (check-sat) -"}},"errors":[{"component":"general","errorCode":"4281","formattedMessage":"Warning: CHC: Division by zero happens here. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "4281", + "formattedMessage": "Warning: CHC: Division by zero happens here. Counterexample: arr = [] a = 0x0 @@ -138,7 +153,8 @@ test.f(0x0, 1) 10 | \t\t\t\t\t\t2 / x; | \t\t\t\t\t\t^^^^^ -","message":"CHC: Division by zero happens here. +", + "message": "CHC: Division by zero happens here. Counterexample: arr = [] a = 0x0 @@ -147,7 +163,20 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +test.f(0x0, 1)", + "severity": "warning", + "sourceLocation": + { + "end": 216, + "file": "A", + "start": 211 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: arr = [] a = 0x0 @@ -162,7 +191,8 @@ test.f(0x0, 1) 12 | \t\t\t\t\t\tassert(x > 0); | \t\t\t\t\t\t^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: arr = [] a = 0x0 @@ -171,7 +201,20 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"},{"component":"general","errorCode":"2529","formattedMessage":"Warning: CHC: Empty array \"pop\" happens here. +test.f(0x0, 1)", + "severity": "warning", + "sourceLocation": + { + "end": 258, + "file": "A", + "start": 245 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "2529", + "formattedMessage": "Warning: CHC: Empty array \"pop\" happens here. Counterexample: arr = [] a = 0x0 @@ -186,7 +229,8 @@ test.f(0x0, 1) 13 | \t\t\t\t\t\tarr.pop(); | \t\t\t\t\t\t^^^^^^^^^ -","message":"CHC: Empty array \"pop\" happens here. +", + "message": "CHC: Empty array \"pop\" happens here. Counterexample: arr = [] a = 0x0 @@ -195,7 +239,20 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":275,"file":"A","start":266},"type":"Warning"},{"component":"general","errorCode":"6368","formattedMessage":"Warning: CHC: Out of bounds access happens here. +test.f(0x0, 1)", + "severity": "warning", + "sourceLocation": + { + "end": 275, + "file": "A", + "start": 266 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "6368", + "formattedMessage": "Warning: CHC: Out of bounds access happens here. Counterexample: arr = [] a = 0x0 @@ -210,7 +267,8 @@ test.f(0x0, 1) 14 | \t\t\t\t\t\tarr[x]; | \t\t\t\t\t\t^^^^^^ -","message":"CHC: Out of bounds access happens here. +", + "message": "CHC: Out of bounds access happens here. Counterexample: arr = [] a = 0x0 @@ -219,14 +277,47 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":283},"type":"Warning"},{"component":"general","errorCode":"6838","formattedMessage":"Warning: BMC: Condition is always true. +test.f(0x0, 1)", + "severity": "warning", + "sourceLocation": + { + "end": 289, + "file": "A", + "start": 283 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "6838", + "formattedMessage": "Warning: BMC: Condition is always true. --> A:7:15: | 7 | \t\t\t\t\t\trequire(x >= 0); | \t\t\t\t\t\t ^^^^^^ Note: Callstack: -","message":"BMC: Condition is always true.","secondarySourceLocations":[{"message":"Callstack:"}],"severity":"warning","sourceLocation":{"end":165,"file":"A","start":159},"type":"Warning"},{"component":"general","errorCode":"1236","formattedMessage":"Warning: BMC: Insufficient funds happens here. +", + "message": "BMC: Condition is always true.", + "secondarySourceLocations": + [ + { + "message": "Callstack:" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 165, + "file": "A", + "start": 159 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "1236", + "formattedMessage": "Warning: BMC: Insufficient funds happens here. --> A:11:7: | 11 | \t\t\t\t\t\ta.transfer(x); @@ -238,7 +329,38 @@ Note: Counterexample: Note: Callstack: Note: -","message":"BMC: Insufficient funds happens here.","secondarySourceLocations":[{"message":"Counterexample: +", + "message": "BMC: Insufficient funds happens here.", + "secondarySourceLocations": + [ + { + "message": "Counterexample: a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":237,"file":"A","start":224},"type":"Warning"}],"sources":{"A":{"id":0}}} +" + }, + { + "message": "Callstack:" + }, + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 237, + "file": "A", + "start": 224 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_default_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_default_bmc/output.json index acbe715bf..6d0f6282b 100644 --- a/test/cmdlineTests/standard_model_checker_targets_default_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_default_bmc/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x540d6a4b18ea4181713b8f0e9b4b272f762e142ba1716a3960cfdbed3f1ae64e":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x540d6a4b18ea4181713b8f0e9b4b272f762e142ba1716a3960cfdbed3f1ae64e": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -55,7 +60,8 @@ (assert (= |EVALEXPR_2| expr_29_0)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) -","0x67f6235b42fbb5cc636b1d18ccd5622020b45eef0c634965f9adf8b4bb923a64":"(set-option :produce-models true) +", + "0x67f6235b42fbb5cc636b1d18ccd5622020b45eef0c634965f9adf8b4bb923a64": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -110,7 +116,8 @@ (assert (= |EVALEXPR_1| x_8_1)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| )) -","0xa5a6f54f166338793f025832fad8408fccb5fa0ee7a8ab0cb4ed7ec5a8c034de":"(set-option :produce-models true) +", + "0xa5a6f54f166338793f025832fad8408fccb5fa0ee7a8ab0cb4ed7ec5a8c034de": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -165,7 +172,8 @@ (assert (= |EVALEXPR_1| x_8_1)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| )) -","0xca9972ec543d923e2e93a20db0b793a19de392a072a70371f575dbee55fe301c":"(set-option :produce-models true) +", + "0xca9972ec543d923e2e93a20db0b793a19de392a072a70371f575dbee55fe301c": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -190,7 +198,8 @@ (assert (and (and (and true true) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (=> (and true true) true) (and (= expr_13_0 0) (and (=> (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint_array_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) (not expr_14_1))) (check-sat) -","0xdda5d43b30361d8d706472ecb9bb78f49c5beb6ffe9eba3ff632d1cd5f17e317":"(set-option :produce-models true) +", + "0xdda5d43b30361d8d706472ecb9bb78f49c5beb6ffe9eba3ff632d1cd5f17e317": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -215,14 +224,42 @@ (assert (and (and (and true true) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (=> (and true true) true) (and (= expr_13_0 0) (and (=> (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint_array_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) expr_14_1)) (check-sat) -"}},"errors":[{"component":"general","errorCode":"6838","formattedMessage":"Warning: BMC: Condition is always true. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "6838", + "formattedMessage": "Warning: BMC: Condition is always true. --> A:7:15: | 7 | \t\t\t\t\t\trequire(x >= 0); | \t\t\t\t\t\t ^^^^^^ Note: Callstack: -","message":"BMC: Condition is always true.","secondarySourceLocations":[{"message":"Callstack:"}],"severity":"warning","sourceLocation":{"end":165,"file":"A","start":159},"type":"Warning"},{"component":"general","errorCode":"3046","formattedMessage":"Warning: BMC: Division by zero happens here. +", + "message": "BMC: Condition is always true.", + "secondarySourceLocations": + [ + { + "message": "Callstack:" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 165, + "file": "A", + "start": 159 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "3046", + "formattedMessage": "Warning: BMC: Division by zero happens here. --> A:10:7: | 10 | \t\t\t\t\t\t2 / x; @@ -235,11 +272,37 @@ Note: Counterexample: Note: Callstack: Note: -","message":"BMC: Division by zero happens here.","secondarySourceLocations":[{"message":"Counterexample: +", + "message": "BMC: Division by zero happens here.", + "secondarySourceLocations": + [ + { + "message": "Counterexample: = 0 a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"},{"component":"general","errorCode":"1236","formattedMessage":"Warning: BMC: Insufficient funds happens here. +" + }, + { + "message": "Callstack:" + }, + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 216, + "file": "A", + "start": 211 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "1236", + "formattedMessage": "Warning: BMC: Insufficient funds happens here. --> A:11:7: | 11 | \t\t\t\t\t\ta.transfer(x); @@ -251,10 +314,36 @@ Note: Counterexample: Note: Callstack: Note: -","message":"BMC: Insufficient funds happens here.","secondarySourceLocations":[{"message":"Counterexample: +", + "message": "BMC: Insufficient funds happens here.", + "secondarySourceLocations": + [ + { + "message": "Counterexample: a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":237,"file":"A","start":224},"type":"Warning"},{"component":"general","errorCode":"4661","formattedMessage":"Warning: BMC: Assertion violation happens here. +" + }, + { + "message": "Callstack:" + }, + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 237, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "4661", + "formattedMessage": "Warning: BMC: Assertion violation happens here. --> A:12:7: | 12 | \t\t\t\t\t\tassert(x > 0); @@ -266,7 +355,38 @@ Note: Counterexample: Note: Callstack: Note: -","message":"BMC: Assertion violation happens here.","secondarySourceLocations":[{"message":"Counterexample: +", + "message": "BMC: Assertion violation happens here.", + "secondarySourceLocations": + [ + { + "message": "Counterexample: a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"}],"sources":{"A":{"id":0}}} +" + }, + { + "message": "Callstack:" + }, + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 258, + "file": "A", + "start": 245 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_default_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_default_chc/output.json index bcdf48e50..c3df366c9 100644 --- a/test/cmdlineTests/standard_model_checker_targets_default_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_default_chc/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"4281","formattedMessage":"Warning: CHC: Division by zero happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "4281", + "formattedMessage": "Warning: CHC: Division by zero happens here. Counterexample: arr = [] a = 0x0 @@ -13,7 +19,8 @@ test.f(0x0, 1) 10 | \t\t\t\t\t\t2 / x; | \t\t\t\t\t\t^^^^^ -","message":"CHC: Division by zero happens here. +", + "message": "CHC: Division by zero happens here. Counterexample: arr = [] a = 0x0 @@ -22,7 +29,20 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +test.f(0x0, 1)", + "severity": "warning", + "sourceLocation": + { + "end": 216, + "file": "A", + "start": 211 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: arr = [] a = 0x0 @@ -37,7 +57,8 @@ test.f(0x0, 1) 12 | \t\t\t\t\t\tassert(x > 0); | \t\t\t\t\t\t^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: arr = [] a = 0x0 @@ -46,7 +67,20 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"},{"component":"general","errorCode":"2529","formattedMessage":"Warning: CHC: Empty array \"pop\" happens here. +test.f(0x0, 1)", + "severity": "warning", + "sourceLocation": + { + "end": 258, + "file": "A", + "start": 245 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "2529", + "formattedMessage": "Warning: CHC: Empty array \"pop\" happens here. Counterexample: arr = [] a = 0x0 @@ -61,7 +95,8 @@ test.f(0x0, 1) 13 | \t\t\t\t\t\tarr.pop(); | \t\t\t\t\t\t^^^^^^^^^ -","message":"CHC: Empty array \"pop\" happens here. +", + "message": "CHC: Empty array \"pop\" happens here. Counterexample: arr = [] a = 0x0 @@ -70,7 +105,20 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":275,"file":"A","start":266},"type":"Warning"},{"component":"general","errorCode":"6368","formattedMessage":"Warning: CHC: Out of bounds access happens here. +test.f(0x0, 1)", + "severity": "warning", + "sourceLocation": + { + "end": 275, + "file": "A", + "start": 266 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "6368", + "formattedMessage": "Warning: CHC: Out of bounds access happens here. Counterexample: arr = [] a = 0x0 @@ -85,7 +133,8 @@ test.f(0x0, 1) 14 | \t\t\t\t\t\tarr[x]; | \t\t\t\t\t\t^^^^^^ -","message":"CHC: Out of bounds access happens here. +", + "message": "CHC: Out of bounds access happens here. Counterexample: arr = [] a = 0x0 @@ -94,4 +143,22 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":283},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0x0, 1)", + "severity": "warning", + "sourceLocation": + { + "end": 289, + "file": "A", + "start": 283 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_div_by_zero_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_div_by_zero_bmc/output.json index 1f90958f2..2e8cb7b32 100644 --- a/test/cmdlineTests/standard_model_checker_targets_div_by_zero_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_div_by_zero_bmc/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x540d6a4b18ea4181713b8f0e9b4b272f762e142ba1716a3960cfdbed3f1ae64e":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x540d6a4b18ea4181713b8f0e9b4b272f762e142ba1716a3960cfdbed3f1ae64e": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -55,7 +60,15 @@ (assert (= |EVALEXPR_2| expr_29_0)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) -"}},"errors":[{"component":"general","errorCode":"3046","formattedMessage":"Warning: BMC: Division by zero happens here. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "3046", + "formattedMessage": "Warning: BMC: Division by zero happens here. --> A:10:7: | 10 | \t\t\t\t\t\t2 / x; @@ -68,8 +81,39 @@ Note: Counterexample: Note: Callstack: Note: -","message":"BMC: Division by zero happens here.","secondarySourceLocations":[{"message":"Counterexample: +", + "message": "BMC: Division by zero happens here.", + "secondarySourceLocations": + [ + { + "message": "Counterexample: = 0 a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"}],"sources":{"A":{"id":0}}} +" + }, + { + "message": "Callstack:" + }, + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 216, + "file": "A", + "start": 211 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_div_by_zero_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_div_by_zero_chc/output.json index bd8b26c12..5c09175e7 100644 --- a/test/cmdlineTests/standard_model_checker_targets_div_by_zero_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_div_by_zero_chc/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"4281","formattedMessage":"Warning: CHC: Division by zero happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "4281", + "formattedMessage": "Warning: CHC: Division by zero happens here. Counterexample: arr = [] a = 0x0 @@ -13,7 +19,8 @@ test.f(0x0, 1) 10 | \t\t\t\t\t\t2 / x; | \t\t\t\t\t\t^^^^^ -","message":"CHC: Division by zero happens here. +", + "message": "CHC: Division by zero happens here. Counterexample: arr = [] a = 0x0 @@ -22,4 +29,22 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0x0, 1)", + "severity": "warning", + "sourceLocation": + { + "end": 216, + "file": "A", + "start": 211 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_empty_array/output.json b/test/cmdlineTests/standard_model_checker_targets_empty_array/output.json index 94163d97d..312af9741 100644 --- a/test/cmdlineTests/standard_model_checker_targets_empty_array/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_empty_array/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"settings.modelChecker.targets must be a non-empty array.","message":"settings.modelChecker.targets must be a non-empty array.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "settings.modelChecker.targets must be a non-empty array.", + "message": "settings.modelChecker.targets must be a non-empty array.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_bmc/output.json index 59b90c8cc..acf3b74ef 100644 --- a/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_bmc/output.json @@ -1 +1,9 @@ -{"sources":{"A":{"id":0}}} +{ + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_chc/output.json index 436942c45..b87480e74 100644 --- a/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_chc/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"6368","formattedMessage":"Warning: CHC: Out of bounds access happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "6368", + "formattedMessage": "Warning: CHC: Out of bounds access happens here. Counterexample: arr = [] a = 0x0 @@ -13,7 +19,8 @@ test.f(0x0, 1) 14 | \t\t\t\t\t\tarr[x]; | \t\t\t\t\t\t^^^^^^ -","message":"CHC: Out of bounds access happens here. +", + "message": "CHC: Out of bounds access happens here. Counterexample: arr = [] a = 0x0 @@ -22,4 +29,22 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":283},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0x0, 1)", + "severity": "warning", + "sourceLocation": + { + "end": 289, + "file": "A", + "start": 283 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_overflow_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_overflow_bmc/output.json index 51d1520e8..742f1ea75 100644 --- a/test/cmdlineTests/standard_model_checker_targets_overflow_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_overflow_bmc/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0xb91b28779c6db8b1a6ceecabfa97788476fbb427474cd132376917103e4bc9d9":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0xb91b28779c6db8b1a6ceecabfa97788476fbb427474cd132376917103e4bc9d9": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -55,7 +60,15 @@ (assert (= |EVALEXPR_2| (+ expr_20_0 expr_25_1))) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) -"}},"errors":[{"component":"general","errorCode":"2661","formattedMessage":"Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "2661", + "formattedMessage": "Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. --> A:9:7: | 9 | \t\t\t\t\t\tx + type(uint).max; @@ -68,8 +81,39 @@ Note: Counterexample: Note: Callstack: Note: -","message":"BMC: Overflow (resulting value larger than 2**256 - 1) happens here.","secondarySourceLocations":[{"message":"Counterexample: +", + "message": "BMC: Overflow (resulting value larger than 2**256 - 1) happens here.", + "secondarySourceLocations": + [ + { + "message": "Counterexample: = 2**256 a = 0 x = 1 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"}],"sources":{"A":{"id":0}}} +" + }, + { + "message": "Callstack:" + }, + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 203, + "file": "A", + "start": 185 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_overflow_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_overflow_chc/output.json index 5a5410b0c..b700a938e 100644 --- a/test/cmdlineTests/standard_model_checker_targets_overflow_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_overflow_chc/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "4984", + "formattedMessage": "Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. Counterexample: arr = [] a = 0x0 @@ -13,7 +19,8 @@ test.f(0x0, 2) 9 | \t\t\t\t\t\tx + type(uint).max; | \t\t\t\t\t\t^^^^^^^^^^^^^^^^^^ -","message":"CHC: Overflow (resulting value larger than 2**256 - 1) happens here. +", + "message": "CHC: Overflow (resulting value larger than 2**256 - 1) happens here. Counterexample: arr = [] a = 0x0 @@ -22,4 +29,22 @@ x = 1 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 2)","severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0x0, 2)", + "severity": "warning", + "sourceLocation": + { + "end": 203, + "file": "A", + "start": 185 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_pop_empty_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_pop_empty_bmc/output.json index 59b90c8cc..acf3b74ef 100644 --- a/test/cmdlineTests/standard_model_checker_targets_pop_empty_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_pop_empty_bmc/output.json @@ -1 +1,9 @@ -{"sources":{"A":{"id":0}}} +{ + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_pop_empty_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_pop_empty_chc/output.json index 87edd534d..c670bb4f6 100644 --- a/test/cmdlineTests/standard_model_checker_targets_pop_empty_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_pop_empty_chc/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"2529","formattedMessage":"Warning: CHC: Empty array \"pop\" happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "2529", + "formattedMessage": "Warning: CHC: Empty array \"pop\" happens here. Counterexample: arr = [] a = 0x0 @@ -13,7 +19,8 @@ test.f(0x0, 1) 13 | \t\t\t\t\t\tarr.pop(); | \t\t\t\t\t\t^^^^^^^^^ -","message":"CHC: Empty array \"pop\" happens here. +", + "message": "CHC: Empty array \"pop\" happens here. Counterexample: arr = [] a = 0x0 @@ -22,4 +29,22 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":275,"file":"A","start":266},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0x0, 1)", + "severity": "warning", + "sourceLocation": + { + "end": 275, + "file": "A", + "start": 266 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_bmc/output.json index f52b8948d..238b46b59 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_bmc/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x6bfae35e234137f12dfe7bc10a8cd34cfa8f3cf1a3439e2e99418358e7bad911":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x6bfae35e234137f12dfe7bc10a8cd34cfa8f3cf1a3439e2e99418358e7bad911": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -55,7 +60,15 @@ (assert (= |EVALEXPR_2| (- expr_17_0 1))) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) -"}},"errors":[{"component":"general","errorCode":"4144","formattedMessage":"Warning: BMC: Underflow (resulting value less than 0) happens here. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "4144", + "formattedMessage": "Warning: BMC: Underflow (resulting value less than 0) happens here. --> A:8:7: | 8 | \t\t\t\t\t\t--x; @@ -68,8 +81,39 @@ Note: Counterexample: Note: Callstack: Note: -","message":"BMC: Underflow (resulting value less than 0) happens here.","secondarySourceLocations":[{"message":"Counterexample: +", + "message": "BMC: Underflow (resulting value less than 0) happens here.", + "secondarySourceLocations": + [ + { + "message": "Counterexample: = (- 1) a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"}],"sources":{"A":{"id":0}}} +" + }, + { + "message": "Callstack:" + }, + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 177, + "file": "A", + "start": 174 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_chc/output.json index 096bb971b..600d7fe6b 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_chc/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"3944","formattedMessage":"Warning: CHC: Underflow (resulting value less than 0) happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "3944", + "formattedMessage": "Warning: CHC: Underflow (resulting value less than 0) happens here. Counterexample: arr = [] a = 0x0 @@ -13,7 +19,8 @@ test.f(0x0, 0) 8 | \t\t\t\t\t\t--x; | \t\t\t\t\t\t^^^ -","message":"CHC: Underflow (resulting value less than 0) happens here. +", + "message": "CHC: Underflow (resulting value less than 0) happens here. Counterexample: arr = [] a = 0x0 @@ -22,4 +29,22 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 0)","severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0x0, 0)", + "severity": "warning", + "sourceLocation": + { + "end": 177, + "file": "A", + "start": 174 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_bmc/output.json index bebe82a97..e4a5bdbf4 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_bmc/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x67f6235b42fbb5cc636b1d18ccd5622020b45eef0c634965f9adf8b4bb923a64":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x67f6235b42fbb5cc636b1d18ccd5622020b45eef0c634965f9adf8b4bb923a64": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -53,7 +58,8 @@ (assert (= |EVALEXPR_1| x_8_1)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| )) -","0x6bfae35e234137f12dfe7bc10a8cd34cfa8f3cf1a3439e2e99418358e7bad911":"(set-option :produce-models true) +", + "0x6bfae35e234137f12dfe7bc10a8cd34cfa8f3cf1a3439e2e99418358e7bad911": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -110,7 +116,8 @@ (assert (= |EVALEXPR_2| (- expr_17_0 1))) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) -","0xb91b28779c6db8b1a6ceecabfa97788476fbb427474cd132376917103e4bc9d9":"(set-option :produce-models true) +", + "0xb91b28779c6db8b1a6ceecabfa97788476fbb427474cd132376917103e4bc9d9": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -167,7 +174,15 @@ (assert (= |EVALEXPR_2| (+ expr_20_0 expr_25_1))) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) -"}},"errors":[{"component":"general","errorCode":"4144","formattedMessage":"Warning: BMC: Underflow (resulting value less than 0) happens here. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "4144", + "formattedMessage": "Warning: BMC: Underflow (resulting value less than 0) happens here. --> A:8:7: | 8 | \t\t\t\t\t\t--x; @@ -180,11 +195,37 @@ Note: Counterexample: Note: Callstack: Note: -","message":"BMC: Underflow (resulting value less than 0) happens here.","secondarySourceLocations":[{"message":"Counterexample: +", + "message": "BMC: Underflow (resulting value less than 0) happens here.", + "secondarySourceLocations": + [ + { + "message": "Counterexample: = (- 1) a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"},{"component":"general","errorCode":"2661","formattedMessage":"Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. +" + }, + { + "message": "Callstack:" + }, + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 177, + "file": "A", + "start": 174 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "2661", + "formattedMessage": "Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. --> A:9:7: | 9 | \t\t\t\t\t\tx + type(uint).max; @@ -197,11 +238,37 @@ Note: Counterexample: Note: Callstack: Note: -","message":"BMC: Overflow (resulting value larger than 2**256 - 1) happens here.","secondarySourceLocations":[{"message":"Counterexample: +", + "message": "BMC: Overflow (resulting value larger than 2**256 - 1) happens here.", + "secondarySourceLocations": + [ + { + "message": "Counterexample: = 2**256 a = 0 x = 1 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"},{"component":"general","errorCode":"4661","formattedMessage":"Warning: BMC: Assertion violation happens here. +" + }, + { + "message": "Callstack:" + }, + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 203, + "file": "A", + "start": 185 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "4661", + "formattedMessage": "Warning: BMC: Assertion violation happens here. --> A:12:7: | 12 | \t\t\t\t\t\tassert(x > 0); @@ -213,7 +280,38 @@ Note: Counterexample: Note: Callstack: Note: -","message":"BMC: Assertion violation happens here.","secondarySourceLocations":[{"message":"Counterexample: +", + "message": "BMC: Assertion violation happens here.", + "secondarySourceLocations": + [ + { + "message": "Counterexample: a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"}],"sources":{"A":{"id":0}}} +" + }, + { + "message": "Callstack:" + }, + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 258, + "file": "A", + "start": 245 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_chc/output.json index 3ea910cba..5afeeaa94 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_chc/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"3944","formattedMessage":"Warning: CHC: Underflow (resulting value less than 0) happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "3944", + "formattedMessage": "Warning: CHC: Underflow (resulting value less than 0) happens here. Counterexample: arr = [] a = 0x0 @@ -13,7 +19,8 @@ test.f(0x0, 0) 8 | \t\t\t\t\t\t--x; | \t\t\t\t\t\t^^^ -","message":"CHC: Underflow (resulting value less than 0) happens here. +", + "message": "CHC: Underflow (resulting value less than 0) happens here. Counterexample: arr = [] a = 0x0 @@ -22,7 +29,20 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 0)","severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"},{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. +test.f(0x0, 0)", + "severity": "warning", + "sourceLocation": + { + "end": 177, + "file": "A", + "start": 174 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "4984", + "formattedMessage": "Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. Counterexample: arr = [] a = 0x0 @@ -37,7 +57,8 @@ test.f(0x0, 2) 9 | \t\t\t\t\t\tx + type(uint).max; | \t\t\t\t\t\t^^^^^^^^^^^^^^^^^^ -","message":"CHC: Overflow (resulting value larger than 2**256 - 1) happens here. +", + "message": "CHC: Overflow (resulting value larger than 2**256 - 1) happens here. Counterexample: arr = [] a = 0x0 @@ -46,7 +67,20 @@ x = 1 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 2)","severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +test.f(0x0, 2)", + "severity": "warning", + "sourceLocation": + { + "end": 203, + "file": "A", + "start": 185 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "6328", + "formattedMessage": "Warning: CHC: Assertion violation happens here. Counterexample: arr = [] a = 0x0 @@ -61,7 +95,8 @@ test.f(0x0, 1) 12 | \t\t\t\t\t\tassert(x > 0); | \t\t\t\t\t\t^^^^^^^^^^^^^ -","message":"CHC: Assertion violation happens here. +", + "message": "CHC: Assertion violation happens here. Counterexample: arr = [] a = 0x0 @@ -70,4 +105,22 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0x0, 1)", + "severity": "warning", + "sourceLocation": + { + "end": 258, + "file": "A", + "start": 245 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_bmc/output.json index 954444392..8a28f8cf3 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_bmc/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x6bfae35e234137f12dfe7bc10a8cd34cfa8f3cf1a3439e2e99418358e7bad911":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x6bfae35e234137f12dfe7bc10a8cd34cfa8f3cf1a3439e2e99418358e7bad911": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -55,7 +60,8 @@ (assert (= |EVALEXPR_2| (- expr_17_0 1))) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) -","0xb91b28779c6db8b1a6ceecabfa97788476fbb427474cd132376917103e4bc9d9":"(set-option :produce-models true) +", + "0xb91b28779c6db8b1a6ceecabfa97788476fbb427474cd132376917103e4bc9d9": "(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -112,7 +118,15 @@ (assert (= |EVALEXPR_2| (+ expr_20_0 expr_25_1))) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) -"}},"errors":[{"component":"general","errorCode":"4144","formattedMessage":"Warning: BMC: Underflow (resulting value less than 0) happens here. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "4144", + "formattedMessage": "Warning: BMC: Underflow (resulting value less than 0) happens here. --> A:8:7: | 8 | \t\t\t\t\t\t--x; @@ -125,11 +139,37 @@ Note: Counterexample: Note: Callstack: Note: -","message":"BMC: Underflow (resulting value less than 0) happens here.","secondarySourceLocations":[{"message":"Counterexample: +", + "message": "BMC: Underflow (resulting value less than 0) happens here.", + "secondarySourceLocations": + [ + { + "message": "Counterexample: = (- 1) a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"},{"component":"general","errorCode":"2661","formattedMessage":"Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. +" + }, + { + "message": "Callstack:" + }, + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 177, + "file": "A", + "start": 174 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "2661", + "formattedMessage": "Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. --> A:9:7: | 9 | \t\t\t\t\t\tx + type(uint).max; @@ -142,8 +182,39 @@ Note: Counterexample: Note: Callstack: Note: -","message":"BMC: Overflow (resulting value larger than 2**256 - 1) happens here.","secondarySourceLocations":[{"message":"Counterexample: +", + "message": "BMC: Overflow (resulting value larger than 2**256 - 1) happens here.", + "secondarySourceLocations": + [ + { + "message": "Counterexample: = 2**256 a = 0 x = 1 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"}],"sources":{"A":{"id":0}}} +" + }, + { + "message": "Callstack:" + }, + { + "message": "" + } + ], + "severity": "warning", + "sourceLocation": + { + "end": 203, + "file": "A", + "start": 185 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_chc/output.json index 88ed4136b..9a07b669a 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_chc/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"3944","formattedMessage":"Warning: CHC: Underflow (resulting value less than 0) happens here. +{ + "errors": + [ + { + "component": "general", + "errorCode": "3944", + "formattedMessage": "Warning: CHC: Underflow (resulting value less than 0) happens here. Counterexample: arr = [] a = 0x0 @@ -13,7 +19,8 @@ test.f(0x0, 0) 8 | \t\t\t\t\t\t--x; | \t\t\t\t\t\t^^^ -","message":"CHC: Underflow (resulting value less than 0) happens here. +", + "message": "CHC: Underflow (resulting value less than 0) happens here. Counterexample: arr = [] a = 0x0 @@ -22,7 +29,20 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 0)","severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"},{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. +test.f(0x0, 0)", + "severity": "warning", + "sourceLocation": + { + "end": 177, + "file": "A", + "start": 174 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "4984", + "formattedMessage": "Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. Counterexample: arr = [] a = 0x0 @@ -37,7 +57,8 @@ test.f(0x0, 2) 9 | \t\t\t\t\t\tx + type(uint).max; | \t\t\t\t\t\t^^^^^^^^^^^^^^^^^^ -","message":"CHC: Overflow (resulting value larger than 2**256 - 1) happens here. +", + "message": "CHC: Overflow (resulting value larger than 2**256 - 1) happens here. Counterexample: arr = [] a = 0x0 @@ -46,4 +67,22 @@ x = 1 Transaction trace: test.constructor() State: arr = [] -test.f(0x0, 2)","severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0x0, 2)", + "severity": "warning", + "sourceLocation": + { + "end": 203, + "file": "A", + "start": 185 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_targets_wrong_target_types/output.json b/test/cmdlineTests/standard_model_checker_targets_wrong_target_types/output.json index 673493cc9..6e2af863e 100644 --- a/test/cmdlineTests/standard_model_checker_targets_wrong_target_types/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_wrong_target_types/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Every target in settings.modelChecker.targets must be a string.","message":"Every target in settings.modelChecker.targets must be a string.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Every target in settings.modelChecker.targets must be a string.", + "message": "Every target in settings.modelChecker.targets must be a string.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_model_checker_targets_wrong_target_types_2/output.json b/test/cmdlineTests/standard_model_checker_targets_wrong_target_types_2/output.json index ee68dbef1..c1e7759b5 100644 --- a/test/cmdlineTests/standard_model_checker_targets_wrong_target_types_2/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_wrong_target_types_2/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"settings.modelChecker.targets must be an array.","message":"settings.modelChecker.targets must be an array.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "settings.modelChecker.targets must be an array.", + "message": "settings.modelChecker.targets must be an array.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_model_checker_targets_wrong_targets/output.json b/test/cmdlineTests/standard_model_checker_targets_wrong_targets/output.json index eeee3fa93..d0bf7f56d 100644 --- a/test/cmdlineTests/standard_model_checker_targets_wrong_targets/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_wrong_targets/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Invalid model checker targets requested.","message":"Invalid model checker targets requested.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Invalid model checker targets requested.", + "message": "Invalid model checker targets requested.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_model_checker_timeout_all/output.json b/test/cmdlineTests/standard_model_checker_timeout_all/output.json index 7f4d3ddb4..ef1a66d67 100644 --- a/test/cmdlineTests/standard_model_checker_timeout_all/output.json +++ b/test/cmdlineTests/standard_model_checker_timeout_all/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x18c291cddb0272d6f9afaa62c0b2c2afbc1fae5b3a880c413000b0907aed4aeb":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x18c291cddb0272d6f9afaa62c0b2c2afbc1fae5b3a880c413000b0907aed4aeb": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |x_3_3| () Int) @@ -38,7 +43,8 @@ (assert (and (and (and true true) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (=> (and true true) true) (and (= expr_20_0 0) (and (=> (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_16_0)) (and (and (<= 0 r_div_mod_16_0) (or (= expr_18_0 0) (< r_div_mod_16_0 expr_18_0))) (and (= (+ (* d_div_mod_16_0 expr_18_0) r_div_mod_16_0) expr_17_0) (and (=> (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (=> (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (=> (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (=> (and true true) true) (and (= expr_12_0 0) (and (=> (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))) (not expr_21_1))) (check-sat) -","0x74e7fbb4ed837661c73d27b70acb3e91238303f8ec1d916f24d47bc9cbcf8710":"(set-option :produce-models true) +", + "0x74e7fbb4ed837661c73d27b70acb3e91238303f8ec1d916f24d47bc9cbcf8710": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |x_3_3| () Int) @@ -71,7 +77,8 @@ (assert (and (and (and true true) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (=> (and true true) true) (and (= expr_12_0 0) (and (=> (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) expr_13_1)) (check-sat) -","0x88bef994914e6778ed64a76b27254fc481b9a2d77f95d66ff288495bf4e55741":"(set-option :produce-models true) +", + "0x88bef994914e6778ed64a76b27254fc481b9a2d77f95d66ff288495bf4e55741": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |x_3_3| () Int) @@ -104,7 +111,8 @@ (assert (and (and (and true true) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (=> (and true true) true) (and (= expr_12_0 0) (and (=> (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) (not expr_13_1))) (check-sat) -","0xc37900bf0c35dca7bc5c59eca0d169ec4baa8ac48960d828d2ffbef94b5be280":"(set-option :produce-models true) +", + "0xc37900bf0c35dca7bc5c59eca0d169ec4baa8ac48960d828d2ffbef94b5be280": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |x_3_3| () Int) @@ -151,7 +159,8 @@ (assert (and (and (and true true) (and (= expr_29_1 (= expr_27_1 expr_28_0)) (and (=> (and true true) true) (and (= expr_28_0 0) (and (=> (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (ite (= expr_26_0 0) 0 r_div_mod_17_0)) (and (and (<= 0 r_div_mod_17_0) (or (= expr_26_0 0) (< r_div_mod_17_0 expr_26_0))) (and (= (+ (* d_div_mod_17_0 expr_26_0) r_div_mod_17_0) expr_25_0) (and (=> (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 k_7_0) (and (=> (and true true) (and (>= expr_25_0 0) (<= expr_25_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_0 y_5_0) (and (=> (and true true) expr_21_1) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (=> (and true true) true) (and (= expr_20_0 0) (and (=> (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_16_0)) (and (and (<= 0 r_div_mod_16_0) (or (= expr_18_0 0) (< r_div_mod_16_0 expr_18_0))) (and (= (+ (* d_div_mod_16_0 expr_18_0) r_div_mod_16_0) expr_17_0) (and (=> (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (=> (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (=> (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (=> (and true true) true) (and (= expr_12_0 0) (and (=> (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))) expr_29_1)) (check-sat) -","0xcf75850659a91bcdeae2161dd859054b536a5b776454ab5fcbfe4b04394e82e4":"(set-option :produce-models true) +", + "0xcf75850659a91bcdeae2161dd859054b536a5b776454ab5fcbfe4b04394e82e4": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |x_3_3| () Int) @@ -191,7 +200,8 @@ (assert (and (and (and true true) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (=> (and true true) true) (and (= expr_20_0 0) (and (=> (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_16_0)) (and (and (<= 0 r_div_mod_16_0) (or (= expr_18_0 0) (< r_div_mod_16_0 expr_18_0))) (and (= (+ (* d_div_mod_16_0 expr_18_0) r_div_mod_16_0) expr_17_0) (and (=> (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (=> (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (=> (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (=> (and true true) true) (and (= expr_12_0 0) (and (=> (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))) expr_21_1)) (check-sat) -","0xe39f08760131429ca6c71cf526231ab81674474859187242afd8cec7ce0ce328":"(set-option :produce-models true) +", + "0xe39f08760131429ca6c71cf526231ab81674474859187242afd8cec7ce0ce328": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |x_3_3| () Int) @@ -263,7 +273,8 @@ (assert (= |EVALEXPR_3| r_33_1)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| )) -","0xf9f64bcc789d80a36748834de05ce2f0fa7a498fe6ff511d74e00b2c9ea54061":"(set-option :produce-models true) +", + "0xf9f64bcc789d80a36748834de05ce2f0fa7a498fe6ff511d74e00b2c9ea54061": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |x_3_3| () Int) @@ -310,8 +321,37 @@ (assert (and (and (and true true) (and (= expr_29_1 (= expr_27_1 expr_28_0)) (and (=> (and true true) true) (and (= expr_28_0 0) (and (=> (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (ite (= expr_26_0 0) 0 r_div_mod_17_0)) (and (and (<= 0 r_div_mod_17_0) (or (= expr_26_0 0) (< r_div_mod_17_0 expr_26_0))) (and (= (+ (* d_div_mod_17_0 expr_26_0) r_div_mod_17_0) expr_25_0) (and (=> (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 k_7_0) (and (=> (and true true) (and (>= expr_25_0 0) (<= expr_25_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_0 y_5_0) (and (=> (and true true) expr_21_1) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (=> (and true true) true) (and (= expr_20_0 0) (and (=> (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_16_0)) (and (and (<= 0 r_div_mod_16_0) (or (= expr_18_0 0) (< r_div_mod_16_0 expr_18_0))) (and (= (+ (* d_div_mod_16_0 expr_18_0) r_div_mod_16_0) expr_17_0) (and (=> (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (=> (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (=> (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (=> (and true true) true) (and (= expr_12_0 0) (and (=> (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))) (not expr_29_1))) (check-sat) -"}},"errors":[{"component":"general","errorCode":"5840","formattedMessage":"Warning: CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "5840", + "formattedMessage": "Warning: CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. -","message":"CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.","severity":"warning","type":"Warning"},{"component":"general","errorCode":"2788","formattedMessage":"Warning: BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. +", + "message": "CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.", + "severity": "warning", + "type": "Warning" + }, + { + "component": "general", + "errorCode": "2788", + "formattedMessage": "Warning: BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. -","message":"BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.","severity":"warning","type":"Warning"}],"sources":{"A":{"id":0}}} +", + "message": "BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.", + "severity": "warning", + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_timeout_bmc/output.json b/test/cmdlineTests/standard_model_checker_timeout_bmc/output.json index 6893009dc..81f376d50 100644 --- a/test/cmdlineTests/standard_model_checker_timeout_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_timeout_bmc/output.json @@ -1,4 +1,9 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x18f1a56145e2b4c7e9c1ef433341d60b541a71e48c54ead52a17a93f8a053eca":"(set-option :produce-models true) +{ + "auxiliaryInputRequested": + { + "smtlib2queries": + { + "0x18f1a56145e2b4c7e9c1ef433341d60b541a71e48c54ead52a17a93f8a053eca": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -23,7 +28,8 @@ (assert (and (and (and true true) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (=> (and true true) true) (and (= expr_12_0 0) (and (=> (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) (not expr_13_1))) (check-sat) -","0x1f43df4daea9eb9e59c5b2db499960a23bffb2cdac07fc883cd2c767d942105f":"(set-option :produce-models true) +", + "0x1f43df4daea9eb9e59c5b2db499960a23bffb2cdac07fc883cd2c767d942105f": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -89,7 +95,8 @@ (assert (= |EVALEXPR_4| expr_26_0)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) -","0x2ea43ae8ad6d3cdc84a32665e0bd61d2f64aa5fa8e09c1419c53ca3f226af616":"(set-option :produce-models true) +", + "0x2ea43ae8ad6d3cdc84a32665e0bd61d2f64aa5fa8e09c1419c53ca3f226af616": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -128,7 +135,8 @@ (assert (and (and (and true true) (and (= expr_29_1 (= expr_27_1 expr_28_0)) (and (=> (and true true) true) (and (= expr_28_0 0) (and (=> (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (ite (= expr_26_0 0) 0 r_div_mod_1_0)) (and (and (<= 0 r_div_mod_1_0) (or (= expr_26_0 0) (< r_div_mod_1_0 expr_26_0))) (and (= (+ (* d_div_mod_1_0 expr_26_0) r_div_mod_1_0) expr_25_0) (and (=> (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 k_7_0) (and (=> (and true true) (and (>= expr_25_0 0) (<= expr_25_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_0 y_5_0) (and (=> (and true true) expr_21_1) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (=> (and true true) true) (and (= expr_20_0 0) (and (=> (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_18_0 0) (< r_div_mod_0_0 expr_18_0))) (and (= (+ (* d_div_mod_0_0 expr_18_0) r_div_mod_0_0) expr_17_0) (and (=> (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (=> (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (=> (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (=> (and true true) true) (and (= expr_12_0 0) (and (=> (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))) (not expr_29_1))) (check-sat) -","0x5e036bb9ccee2986805fcd35aaa27c558abaea31e953b5e660af5e76e698d380":"(set-option :produce-models true) +", + "0x5e036bb9ccee2986805fcd35aaa27c558abaea31e953b5e660af5e76e698d380": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -167,7 +175,8 @@ (assert (and (and (and true true) (and (= expr_29_1 (= expr_27_1 expr_28_0)) (and (=> (and true true) true) (and (= expr_28_0 0) (and (=> (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (ite (= expr_26_0 0) 0 r_div_mod_1_0)) (and (and (<= 0 r_div_mod_1_0) (or (= expr_26_0 0) (< r_div_mod_1_0 expr_26_0))) (and (= (+ (* d_div_mod_1_0 expr_26_0) r_div_mod_1_0) expr_25_0) (and (=> (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 k_7_0) (and (=> (and true true) (and (>= expr_25_0 0) (<= expr_25_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_0 y_5_0) (and (=> (and true true) expr_21_1) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (=> (and true true) true) (and (= expr_20_0 0) (and (=> (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_18_0 0) (< r_div_mod_0_0 expr_18_0))) (and (= (+ (* d_div_mod_0_0 expr_18_0) r_div_mod_0_0) expr_17_0) (and (=> (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (=> (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (=> (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (=> (and true true) true) (and (= expr_12_0 0) (and (=> (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))) expr_29_1)) (check-sat) -","0x6490ffd45310ea9e88252dd18e4ee7a87801885c0d9ec688c0a04811bf4c3bd1":"(set-option :produce-models true) +", + "0x6490ffd45310ea9e88252dd18e4ee7a87801885c0d9ec688c0a04811bf4c3bd1": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -233,7 +242,8 @@ (assert (= |EVALEXPR_4| expr_18_0)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) -","0x8b61d0b3f7435930ba41234874e4800cd8459f7bacac0b46af5bf0020e83c41a":"(set-option :produce-models true) +", + "0x8b61d0b3f7435930ba41234874e4800cd8459f7bacac0b46af5bf0020e83c41a": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -297,7 +307,8 @@ (assert (= |EVALEXPR_3| r_33_1)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| )) -","0x90d07b7650deb5ef0f3634fa43fccdc46bb90524def99fc7787105bd332ce18c":"(set-option :produce-models true) +", + "0x90d07b7650deb5ef0f3634fa43fccdc46bb90524def99fc7787105bd332ce18c": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -363,7 +374,8 @@ (assert (= |EVALEXPR_4| expr_37_0)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) -","0xc9acf5c2a281159171ca5133ba0856bb644c2c8afd233b6a7d618d290f4f5faa":"(set-option :produce-models true) +", + "0xc9acf5c2a281159171ca5133ba0856bb644c2c8afd233b6a7d618d290f4f5faa": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -429,7 +441,8 @@ (assert (= |EVALEXPR_4| expr_42_0)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) -","0xcb840e71fb938bc7517d41d9315ff82d34fc0e15610d9d8bfa5fced2308c95f8":"(set-option :produce-models true) +", + "0xcb840e71fb938bc7517d41d9315ff82d34fc0e15610d9d8bfa5fced2308c95f8": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -461,7 +474,8 @@ (assert (and (and (and true true) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (=> (and true true) true) (and (= expr_20_0 0) (and (=> (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_18_0 0) (< r_div_mod_0_0 expr_18_0))) (and (= (+ (* d_div_mod_0_0 expr_18_0) r_div_mod_0_0) expr_17_0) (and (=> (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (=> (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (=> (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (=> (and true true) true) (and (= expr_12_0 0) (and (=> (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))) (not expr_21_1))) (check-sat) -","0xe4a65aed9be739fdcb6ce76ede4dc9b65b256d38e2499b5dbf2f4e9fc1a2233f":"(set-option :produce-models true) +", + "0xe4a65aed9be739fdcb6ce76ede4dc9b65b256d38e2499b5dbf2f4e9fc1a2233f": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -486,7 +500,8 @@ (assert (and (and (and true true) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (=> (and true true) true) (and (= expr_12_0 0) (and (=> (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) expr_13_1)) (check-sat) -","0xf8157c6d01d1321e17ba8e5f19f02386953f4078d481bba0a33fe50993605158":"(set-option :produce-models true) +", + "0xf8157c6d01d1321e17ba8e5f19f02386953f4078d481bba0a33fe50993605158": "(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -518,6 +533,27 @@ (assert (and (and (and true true) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (=> (and true true) true) (and (= expr_20_0 0) (and (=> (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_18_0 0) (< r_div_mod_0_0 expr_18_0))) (and (= (+ (* d_div_mod_0_0 expr_18_0) r_div_mod_0_0) expr_17_0) (and (=> (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (=> (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (=> (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (=> (and true true) true) (and (= expr_12_0 0) (and (=> (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.basefee| tx_0) 0) (<= (|block.basefee| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))) expr_21_1)) (check-sat) -"}},"errors":[{"component":"general","errorCode":"2788","formattedMessage":"Warning: BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. +" + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "2788", + "formattedMessage": "Warning: BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. -","message":"BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.","severity":"warning","type":"Warning"}],"sources":{"A":{"id":0}}} +", + "message": "BMC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.", + "severity": "warning", + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_timeout_chc/output.json b/test/cmdlineTests/standard_model_checker_timeout_chc/output.json index 5e66cb899..7f0e676cb 100644 --- a/test/cmdlineTests/standard_model_checker_timeout_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_timeout_chc/output.json @@ -1,3 +1,22 @@ -{"errors":[{"component":"general","errorCode":"5840","formattedMessage":"Warning: CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. +{ + "errors": + [ + { + "component": "general", + "errorCode": "5840", + "formattedMessage": "Warning: CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query. -","message":"CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.","severity":"warning","type":"Warning"}],"sources":{"A":{"id":0}}} +", + "message": "CHC: 1 verification condition(s) could not be proved. Enable the model checker option \"show unproved\" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.", + "severity": "warning", + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_model_checker_timeout_wrong_key/output.json b/test/cmdlineTests/standard_model_checker_timeout_wrong_key/output.json index a02329045..137562f41 100644 --- a/test/cmdlineTests/standard_model_checker_timeout_wrong_key/output.json +++ b/test/cmdlineTests/standard_model_checker_timeout_wrong_key/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Unknown key \"atimeout\"","message":"Unknown key \"atimeout\"","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Unknown key \"atimeout\"", + "message": "Unknown key \"atimeout\"", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_model_checker_timeout_wrong_value/output.json b/test/cmdlineTests/standard_model_checker_timeout_wrong_value/output.json index c3a54e514..ce630905c 100644 --- a/test/cmdlineTests/standard_model_checker_timeout_wrong_value/output.json +++ b/test/cmdlineTests/standard_model_checker_timeout_wrong_value/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"settings.modelChecker.timeout must be an unsigned integer.","message":"settings.modelChecker.timeout must be an unsigned integer.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "settings.modelChecker.timeout must be an unsigned integer.", + "message": "settings.modelChecker.timeout must be an unsigned integer.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_no_append_cbor/args b/test/cmdlineTests/standard_no_append_cbor/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_no_append_cbor/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_no_append_cbor/output.json b/test/cmdlineTests/standard_no_append_cbor/output.json index 990217c9e..0fca3f271 100644 --- a/test/cmdlineTests/standard_no_append_cbor/output.json +++ b/test/cmdlineTests/standard_no_append_cbor/output.json @@ -12,9 +12,9 @@ "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, - "object": "608080604052346013576004908160198239f35b600080fdfe600080fd", - "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x13 JUMPI PUSH1 0x4 SWAP1 DUP2 PUSH1 0x19 DUP3 CODECOPY RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT ", - "sourceMap": "60:16:0:-:0;;;;;;;;;;;;;;;;;" + "object": "", + "opcodes":"", + "sourceMap":"" } } } diff --git a/test/cmdlineTests/standard_no_append_cbor_with_metadata_hash/args b/test/cmdlineTests/standard_no_append_cbor_with_metadata_hash/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_no_append_cbor_with_metadata_hash/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_only_ast_requested/output.json b/test/cmdlineTests/standard_only_ast_requested/output.json index 0177dd7fc..4caa8a764 100644 --- a/test/cmdlineTests/standard_only_ast_requested/output.json +++ b/test/cmdlineTests/standard_only_ast_requested/output.json @@ -1 +1,96 @@ -{"sources":{"A":{"ast":{"absolutePath":"A","exportedSymbols":{"C":[6]},"id":7,"license":"GPL-3.0","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity",">=","0.0"],"nodeType":"PragmaDirective","src":"36:22:0"},{"abstract":false,"baseContracts":[],"canonicalName":"C","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":6,"linearizedBaseContracts":[6],"name":"C","nameLocation":"68:1:0","nodeType":"ContractDefinition","nodes":[{"body":{"id":4,"nodeType":"Block","src":"97:2:0","statements":[]},"functionSelector":"26121ff0","id":5,"implemented":true,"kind":"function","modifiers":[],"name":"f","nameLocation":"81:1:0","nodeType":"FunctionDefinition","parameters":{"id":2,"nodeType":"ParameterList","parameters":[],"src":"82:2:0"},"returnParameters":{"id":3,"nodeType":"ParameterList","parameters":[],"src":"97:0:0"},"scope":6,"src":"72:27:0","stateMutability":"pure","virtual":false,"visibility":"public"}],"scope":7,"src":"59:42:0","usedErrors":[]}],"src":"36:65:0"},"id":0}}} +{ + "sources": + { + "A": + { + "ast": + { + "absolutePath": "A", + "exportedSymbols": + { + "C": + [ + 6 + ] + }, + "id": 7, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": + [ + { + "id": 1, + "literals": + [ + "solidity", + ">=", + "0.0" + ], + "nodeType": "PragmaDirective", + "src": "36:22:0" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "C", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 6, + "linearizedBaseContracts": + [ + 6 + ], + "name": "C", + "nameLocation": "68:1:0", + "nodeType": "ContractDefinition", + "nodes": + [ + { + "body": + { + "id": 4, + "nodeType": "Block", + "src": "97:2:0", + "statements": [] + }, + "functionSelector": "26121ff0", + "id": 5, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "f", + "nameLocation": "81:1:0", + "nodeType": "FunctionDefinition", + "parameters": + { + "id": 2, + "nodeType": "ParameterList", + "parameters": [], + "src": "82:2:0" + }, + "returnParameters": + { + "id": 3, + "nodeType": "ParameterList", + "parameters": [], + "src": "97:0:0" + }, + "scope": 6, + "src": "72:27:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 7, + "src": "59:42:0", + "usedErrors": [] + } + ], + "src": "36:65:0" + }, + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_optimizer_generatedSources/output.json b/test/cmdlineTests/standard_optimizer_generatedSources/output.json index 940450827..264241d03 100644 --- a/test/cmdlineTests/standard_optimizer_generatedSources/output.json +++ b/test/cmdlineTests/standard_optimizer_generatedSources/output.json @@ -1,4 +1,1460 @@ -{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1445:1","statements":[{"nodeType":"YulBlock","src":"6:3:1","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:1","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:1","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:1","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:1"},"nodeType":"YulFunctionCall","src":"66:20:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:1"},"nodeType":"YulFunctionCall","src":"56:31:1"},"nodeType":"YulExpressionStatement","src":"56:31:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:1","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:1","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:1"},"nodeType":"YulFunctionCall","src":"96:15:1"},"nodeType":"YulExpressionStatement","src":"96:15:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:1","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:1"},"nodeType":"YulFunctionCall","src":"120:15:1"},"nodeType":"YulExpressionStatement","src":"120:15:1"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:1"},{"body":{"nodeType":"YulBlock","src":"241:1020:1","statements":[{"nodeType":"YulVariableDeclaration","src":"251:12:1","value":{"kind":"number","nodeType":"YulLiteral","src":"261:2:1","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"255:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"308:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:1"},"nodeType":"YulFunctionCall","src":"310:12:1"},"nodeType":"YulExpressionStatement","src":"310:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"283:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"292:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"279:3:1"},"nodeType":"YulFunctionCall","src":"279:23:1"},{"name":"_1","nodeType":"YulIdentifier","src":"304:2:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"275:3:1"},"nodeType":"YulFunctionCall","src":"275:32:1"},"nodeType":"YulIf","src":"272:52:1"},{"nodeType":"YulVariableDeclaration","src":"333:37:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"360:9:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"347:12:1"},"nodeType":"YulFunctionCall","src":"347:23:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"337:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"379:28:1","value":{"kind":"number","nodeType":"YulLiteral","src":"389:18:1","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"383:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"434:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"443:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"446:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"436:6:1"},"nodeType":"YulFunctionCall","src":"436:12:1"},"nodeType":"YulExpressionStatement","src":"436:12:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"422:6:1"},{"name":"_2","nodeType":"YulIdentifier","src":"430:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"419:2:1"},"nodeType":"YulFunctionCall","src":"419:14:1"},"nodeType":"YulIf","src":"416:34:1"},{"nodeType":"YulVariableDeclaration","src":"459:32:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"473:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"484:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"469:3:1"},"nodeType":"YulFunctionCall","src":"469:22:1"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"463:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"539:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"548:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"551:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"541:6:1"},"nodeType":"YulFunctionCall","src":"541:12:1"},"nodeType":"YulExpressionStatement","src":"541:12:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"518:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"522:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"514:3:1"},"nodeType":"YulFunctionCall","src":"514:13:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"529:7:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"510:3:1"},"nodeType":"YulFunctionCall","src":"510:27:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"503:6:1"},"nodeType":"YulFunctionCall","src":"503:35:1"},"nodeType":"YulIf","src":"500:55:1"},{"nodeType":"YulVariableDeclaration","src":"564:26:1","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"587:2:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"574:12:1"},"nodeType":"YulFunctionCall","src":"574:16:1"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"568:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"613:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"615:16:1"},"nodeType":"YulFunctionCall","src":"615:18:1"},"nodeType":"YulExpressionStatement","src":"615:18:1"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"605:2:1"},{"name":"_2","nodeType":"YulIdentifier","src":"609:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"602:2:1"},"nodeType":"YulFunctionCall","src":"602:10:1"},"nodeType":"YulIf","src":"599:36:1"},{"nodeType":"YulVariableDeclaration","src":"644:20:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"658:1:1","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"661:2:1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"654:3:1"},"nodeType":"YulFunctionCall","src":"654:10:1"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"648:2:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"673:23:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"693:2:1","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"687:5:1"},"nodeType":"YulFunctionCall","src":"687:9:1"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"677:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"705:56:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"727:6:1"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"743:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"747:2:1","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"739:3:1"},"nodeType":"YulFunctionCall","src":"739:11:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"756:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"752:3:1"},"nodeType":"YulFunctionCall","src":"752:7:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"735:3:1"},"nodeType":"YulFunctionCall","src":"735:25:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"723:3:1"},"nodeType":"YulFunctionCall","src":"723:38:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"709:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"820:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"822:16:1"},"nodeType":"YulFunctionCall","src":"822:18:1"},"nodeType":"YulExpressionStatement","src":"822:18:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"779:10:1"},{"name":"_2","nodeType":"YulIdentifier","src":"791:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"776:2:1"},"nodeType":"YulFunctionCall","src":"776:18:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"799:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"811:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"796:2:1"},"nodeType":"YulFunctionCall","src":"796:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"773:2:1"},"nodeType":"YulFunctionCall","src":"773:46:1"},"nodeType":"YulIf","src":"770:72:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"858:2:1","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"862:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"851:6:1"},"nodeType":"YulFunctionCall","src":"851:22:1"},"nodeType":"YulExpressionStatement","src":"851:22:1"},{"nodeType":"YulVariableDeclaration","src":"882:17:1","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"893:6:1"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"886:3:1","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"915:6:1"},{"name":"_4","nodeType":"YulIdentifier","src":"923:2:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"908:6:1"},"nodeType":"YulFunctionCall","src":"908:18:1"},"nodeType":"YulExpressionStatement","src":"908:18:1"},{"nodeType":"YulAssignment","src":"935:22:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"946:6:1"},{"name":"_1","nodeType":"YulIdentifier","src":"954:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"942:3:1"},"nodeType":"YulFunctionCall","src":"942:15:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"935:3:1"}]},{"nodeType":"YulVariableDeclaration","src":"966:34:1","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"988:2:1"},{"name":"_5","nodeType":"YulIdentifier","src":"992:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"984:3:1"},"nodeType":"YulFunctionCall","src":"984:11:1"},{"name":"_1","nodeType":"YulIdentifier","src":"997:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"980:3:1"},"nodeType":"YulFunctionCall","src":"980:20:1"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"970:6:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1032:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1041:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1044:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1034:6:1"},"nodeType":"YulFunctionCall","src":"1034:12:1"},"nodeType":"YulExpressionStatement","src":"1034:12:1"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1015:6:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1023:7:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1012:2:1"},"nodeType":"YulFunctionCall","src":"1012:19:1"},"nodeType":"YulIf","src":"1009:39:1"},{"nodeType":"YulVariableDeclaration","src":"1057:22:1","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1072:2:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1076:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1068:3:1"},"nodeType":"YulFunctionCall","src":"1068:11:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1061:3:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1144:86:1","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1165:3:1"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1183:3:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1170:12:1"},"nodeType":"YulFunctionCall","src":"1170:17:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1158:6:1"},"nodeType":"YulFunctionCall","src":"1158:30:1"},"nodeType":"YulExpressionStatement","src":"1158:30:1"},{"nodeType":"YulAssignment","src":"1201:19:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1212:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1217:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1208:3:1"},"nodeType":"YulFunctionCall","src":"1208:12:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1201:3:1"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1099:3:1"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1104:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1096:2:1"},"nodeType":"YulFunctionCall","src":"1096:15:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1112:23:1","statements":[{"nodeType":"YulAssignment","src":"1114:19:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1125:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1130:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1121:3:1"},"nodeType":"YulFunctionCall","src":"1121:12:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1114:3:1"}]}]},"pre":{"nodeType":"YulBlock","src":"1092:3:1","statements":[]},"src":"1088:142:1"},{"nodeType":"YulAssignment","src":"1239:16:1","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1249:6:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1239:6:1"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"207:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"218:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"230:6:1","type":""}],"src":"146:1115:1"},{"body":{"nodeType":"YulBlock","src":"1367:76:1","statements":[{"nodeType":"YulAssignment","src":"1377:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1389:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1400:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1385:3:1"},"nodeType":"YulFunctionCall","src":"1385:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1377:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1419:9:1"},{"name":"value0","nodeType":"YulIdentifier","src":"1430:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1412:6:1"},"nodeType":"YulFunctionCall","src":"1412:25:1"},"nodeType":"YulExpressionStatement","src":"1412:25:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1336:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1347:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1358:4:1","type":""}],"src":"1266:177:1"}]},"contents":"{ +{ + "contracts": + { + "a.sol": + { + "A": + { + "evm": + { + "bytecode": + { + "generatedSources": [], + "object": "" + }, + "deployedBytecode": + { + "generatedSources": + [ + { + "ast": + { + "nodeType": "YulBlock", + "src": "0:1445:1", + "statements": + [ + { + "nodeType": "YulBlock", + "src": "6:3:1", + "statements": [] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "46:95:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63:1:1", + "type": "", + "value": "0" + }, + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "70:3:1", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "75:10:1", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": + { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "66:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "66:20:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "56:31:1" + }, + "nodeType": "YulExpressionStatement", + "src": "56:31:1" + }, + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "103:1:1", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "106:4:1", + "type": "", + "value": "0x41" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "96:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "96:15:1" + }, + "nodeType": "YulExpressionStatement", + "src": "96:15:1" + }, + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "127:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "130:4:1", + "type": "", + "value": "0x24" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "120:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "120:15:1" + }, + "nodeType": "YulExpressionStatement", + "src": "120:15:1" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "14:127:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "241:1020:1", + "statements": + [ + { + "nodeType": "YulVariableDeclaration", + "src": "251:12:1", + "value": + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "261:2:1", + "type": "", + "value": "32" + }, + "variables": + [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "255:2:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "308:16:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "283:7:1" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "292:9:1" + } + ], + "functionName": + { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "279:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "279:23:1" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "304:2:1" + } + ], + "functionName": + { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "275:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "275:32:1" + }, + "nodeType": "YulIf", + "src": "272:52:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "333:37:1", + "value": + { + "arguments": + [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "360:9:1" + } + ], + "functionName": + { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "347:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "347:23:1" + }, + "variables": + [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "337:6:1", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "379:28:1", + "value": + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "389:18:1", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": + [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "383:2:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "434:16:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "443:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "446:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "436:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "436:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "436:12:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "422:6:1" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "430:2:1" + } + ], + "functionName": + { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "419:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "419:14:1" + }, + "nodeType": "YulIf", + "src": "416:34:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "459:32:1", + "value": + { + "arguments": + [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "473:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "484:6:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "469:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "469:22:1" + }, + "variables": + [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "463:2:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "539:16:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "548:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "551:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "541:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "541:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "541:12:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "arguments": + [ + { + "arguments": + [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "518:2:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "522:4:1", + "type": "", + "value": "0x1f" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "514:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "514:13:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "529:7:1" + } + ], + "functionName": + { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "510:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "510:27:1" + } + ], + "functionName": + { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "503:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "503:35:1" + }, + "nodeType": "YulIf", + "src": "500:55:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "564:26:1", + "value": + { + "arguments": + [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "587:2:1" + } + ], + "functionName": + { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "574:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "574:16:1" + }, + "variables": + [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "568:2:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "613:22:1", + "statements": + [ + { + "expression": + { + "arguments": [], + "functionName": + { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "615:16:1" + }, + "nodeType": "YulFunctionCall", + "src": "615:18:1" + }, + "nodeType": "YulExpressionStatement", + "src": "615:18:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "605:2:1" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "609:2:1" + } + ], + "functionName": + { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "602:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "602:10:1" + }, + "nodeType": "YulIf", + "src": "599:36:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "644:20:1", + "value": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "658:1:1", + "type": "", + "value": "5" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "661:2:1" + } + ], + "functionName": + { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "654:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "654:10:1" + }, + "variables": + [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "648:2:1", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "673:23:1", + "value": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "693:2:1", + "type": "", + "value": "64" + } + ], + "functionName": + { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "687:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "687:9:1" + }, + "variables": + [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "677:6:1", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "705:56:1", + "value": + { + "arguments": + [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "727:6:1" + }, + { + "arguments": + [ + { + "arguments": + [ + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "743:2:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "747:2:1", + "type": "", + "value": "63" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "739:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "739:11:1" + }, + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "756:2:1", + "type": "", + "value": "31" + } + ], + "functionName": + { + "name": "not", + "nodeType": "YulIdentifier", + "src": "752:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "752:7:1" + } + ], + "functionName": + { + "name": "and", + "nodeType": "YulIdentifier", + "src": "735:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "735:25:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "723:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "723:38:1" + }, + "variables": + [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "709:10:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "820:22:1", + "statements": + [ + { + "expression": + { + "arguments": [], + "functionName": + { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "822:16:1" + }, + "nodeType": "YulFunctionCall", + "src": "822:18:1" + }, + "nodeType": "YulExpressionStatement", + "src": "822:18:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "779:10:1" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "791:2:1" + } + ], + "functionName": + { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "776:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "776:18:1" + }, + { + "arguments": + [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "799:10:1" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "811:6:1" + } + ], + "functionName": + { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "796:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "796:22:1" + } + ], + "functionName": + { + "name": "or", + "nodeType": "YulIdentifier", + "src": "773:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "773:46:1" + }, + "nodeType": "YulIf", + "src": "770:72:1" + }, + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "858:2:1", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "862:10:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "851:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "851:22:1" + }, + "nodeType": "YulExpressionStatement", + "src": "851:22:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "882:17:1", + "value": + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "893:6:1" + }, + "variables": + [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "886:3:1", + "type": "" + } + ] + }, + { + "expression": + { + "arguments": + [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "915:6:1" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "923:2:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "908:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "908:18:1" + }, + "nodeType": "YulExpressionStatement", + "src": "908:18:1" + }, + { + "nodeType": "YulAssignment", + "src": "935:22:1", + "value": + { + "arguments": + [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "946:6:1" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "954:2:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "942:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "942:15:1" + }, + "variableNames": + [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "935:3:1" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "966:34:1", + "value": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "988:2:1" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "992:2:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "984:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "984:11:1" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "997:2:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "980:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "980:20:1" + }, + "variables": + [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "970:6:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1032:16:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1041:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1044:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1034:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1034:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1034:12:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "1015:6:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1023:7:1" + } + ], + "functionName": + { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1012:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "1012:19:1" + }, + "nodeType": "YulIf", + "src": "1009:39:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1057:22:1", + "value": + { + "arguments": + [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1072:2:1" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1076:2:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1068:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1068:11:1" + }, + "variables": + [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1061:3:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1144:86:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1165:3:1" + }, + { + "arguments": + [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1183:3:1" + } + ], + "functionName": + { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1170:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "1170:17:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1158:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1158:30:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1158:30:1" + }, + { + "nodeType": "YulAssignment", + "src": "1201:19:1", + "value": + { + "arguments": + [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1212:3:1" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1217:2:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1208:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1208:12:1" + }, + "variableNames": + [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1201:3:1" + } + ] + } + ] + }, + "condition": + { + "arguments": + [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1099:3:1" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "1104:6:1" + } + ], + "functionName": + { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1096:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "1096:15:1" + }, + "nodeType": "YulForLoop", + "post": + { + "nodeType": "YulBlock", + "src": "1112:23:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "1114:19:1", + "value": + { + "arguments": + [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1125:3:1" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1130:2:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1121:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1121:12:1" + }, + "variableNames": + [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1114:3:1" + } + ] + } + ] + }, + "pre": + { + "nodeType": "YulBlock", + "src": "1092:3:1", + "statements": [] + }, + "src": "1088:142:1" + }, + { + "nodeType": "YulAssignment", + "src": "1239:16:1", + "value": + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1249:6:1" + }, + "variableNames": + [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1239:6:1" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "207:9:1", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "218:7:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "230:6:1", + "type": "" + } + ], + "src": "146:1115:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1367:76:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "1377:26:1", + "value": + { + "arguments": + [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1389:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1400:2:1", + "type": "", + "value": "32" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1385:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1385:18:1" + }, + "variableNames": + [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1377:4:1" + } + ] + }, + { + "expression": + { + "arguments": + [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1419:9:1" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1430:6:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1412:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1412:25:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1412:25:1" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1336:9:1", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1347:6:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1358:4:1", + "type": "" + } + ], + "src": "1266:177:1" + } + ] + }, + "contents": "{ { } function panic_error_0x41() { @@ -40,4 +1496,22 @@ tail := add(headStart, 32) mstore(headStart, value0) } -}","id":1,"language":"Yul","name":"#utility.yul"}]}}}}},"sources":{"a.sol":{"id":0}}} +}", + "id": 1, + "language": "Yul", + "name": "#utility.yul" + } + ] + } + } + } + } + }, + "sources": + { + "a.sol": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_optimizer_invalid_detail_type/args b/test/cmdlineTests/standard_optimizer_invalid_detail_type/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_invalid_detail_type/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_invalid_details/args b/test/cmdlineTests/standard_optimizer_invalid_details/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_invalid_details/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_no_yul/args b/test/cmdlineTests/standard_optimizer_no_yul/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_no_yul/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yul/args b/test/cmdlineTests/standard_optimizer_yul/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yul/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yulDetails/args b/test/cmdlineTests/standard_optimizer_yulDetails/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yulDetails/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yulDetails_no_object/args b/test/cmdlineTests/standard_optimizer_yulDetails_no_object/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yulDetails_no_object/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps/args b/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_invalid_abbreviation/args b/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_invalid_abbreviation/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_invalid_abbreviation/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_invalid_nested_delimiter/args b/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_invalid_nested_delimiter/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_invalid_nested_delimiter/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_mutliple_delimiters/args b/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_mutliple_delimiters/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_mutliple_delimiters/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_nested_brackets/args b/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_nested_brackets/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_nested_brackets/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_nesting_too_deep/args b/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_nesting_too_deep/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_nesting_too_deep/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_type/args b/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_type/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_type/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_unbalanced_closing_bracket/args b/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_unbalanced_closing_bracket/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_unbalanced_closing_bracket/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_unbalanced_opening_bracket/args b/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_unbalanced_opening_bracket/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_unbalanced_opening_bracket/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_with_cleanup_sequence/args b/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_with_cleanup_sequence/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_with_cleanup_sequence/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_with_empty_cleanup_sequence/args b/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_with_empty_cleanup_sequence/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_with_empty_cleanup_sequence/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_with_empty_optimisation_sequence/args b/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_with_empty_optimisation_sequence/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_with_empty_optimisation_sequence/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_with_empty_sequence/args b/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_with_empty_sequence/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yulDetails_optimiserSteps_with_empty_sequence/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_optimizer_yulDetails_without_yul/args b/test/cmdlineTests/standard_optimizer_yulDetails_without_yul/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_optimizer_yulDetails_without_yul/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_parsing_import_absolute_paths/args b/test/cmdlineTests/standard_parsing_import_absolute_paths/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_parsing_import_absolute_paths/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_secondary_source_location/output.json b/test/cmdlineTests/standard_secondary_source_location/output.json index 9d09bc194..6423769aa 100644 --- a/test/cmdlineTests/standard_secondary_source_location/output.json +++ b/test/cmdlineTests/standard_secondary_source_location/output.json @@ -1,4 +1,10 @@ -{"errors":[{"component":"general","errorCode":"3364","formattedMessage":"DeclarationError: Base constructor arguments given twice. +{ + "errors": + [ + { + "component": "general", + "errorCode": "3364", + "formattedMessage": "DeclarationError: Base constructor arguments given twice. --> A:2:105: | 2 | pragma solidity >=0.0; contract A { constructor(uint) {} } contract B is A(2) { } contract C is A(3) {} contract D is B, C {} @@ -14,4 +20,32 @@ Note: Second constructor call is here: 2 | pragma solidity >=0.0; contract A { constructor(uint) {} } contract B is A(2) { } contract C is A(3) {} contract D is B, C {} | ^^^^ -","message":"Base constructor arguments given twice.","secondarySourceLocations":[{"end":112,"file":"A","message":"First constructor call is here:","start":108},{"end":135,"file":"A","message":"Second constructor call is here:","start":131}],"severity":"error","sourceLocation":{"end":160,"file":"A","start":139},"type":"DeclarationError"}],"sources":{}} +", + "message": "Base constructor arguments given twice.", + "secondarySourceLocations": + [ + { + "end": 112, + "file": "A", + "message": "First constructor call is here:", + "start": 108 + }, + { + "end": 135, + "file": "A", + "message": "Second constructor call is here:", + "start": 131 + } + ], + "severity": "error", + "sourceLocation": + { + "end": 160, + "file": "A", + "start": 139 + }, + "type": "DeclarationError" + } + ], + "sources": {} +} diff --git a/test/cmdlineTests/standard_urls_existing_and_missing/args b/test/cmdlineTests/standard_urls_existing_and_missing/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_urls_existing_and_missing/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_urls_missing/args b/test/cmdlineTests/standard_urls_missing/args deleted file mode 100644 index a905f1fe6..000000000 --- a/test/cmdlineTests/standard_urls_missing/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json --json-indent 4 diff --git a/test/cmdlineTests/standard_viair_requested/output.json b/test/cmdlineTests/standard_viair_requested/output.json index f08a5d302..3e459c56f 100644 --- a/test/cmdlineTests/standard_viair_requested/output.json +++ b/test/cmdlineTests/standard_viair_requested/output.json @@ -1,4 +1,23 @@ -{"contracts":{"A":{"C":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"object":""}},"ir":" +{ + "contracts": + { + "A": + { + "C": + { + "evm": + { + "bytecode": + { + "generatedSources": [], + "object": "" + }, + "deployedBytecode": + { + "object": "" + } + }, + "ir": " /// @use-src 0:\"A\" object \"C_3\" { code { @@ -60,7 +79,23 @@ object \"C_3\" { } -"},"D":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"object":""}},"ir":" +" + }, + "D": + { + "evm": + { + "bytecode": + { + "generatedSources": [], + "object": "" + }, + "deployedBytecode": + { + "object": "" + } + }, + "ir": " /// @use-src 0:\"A\" object \"D_16\" { code { @@ -260,10 +295,38 @@ object \"D_16\" { } -"}}},"errors":[{"component":"general","errorCode":"2072","formattedMessage":"Warning: Unused local variable. +" + } + } + }, + "errors": + [ + { + "component": "general", + "errorCode": "2072", + "formattedMessage": "Warning: Unused local variable. --> A:2:93: | 2 | pragma solidity >=0.0; pragma abicoder v2; contract C {} contract D { function f() public { C c = new C(); } } | ^^^ -","message":"Unused local variable.","severity":"warning","sourceLocation":{"end":131,"file":"A","start":128},"type":"Warning"}],"sources":{"A":{"id":0}}} +", + "message": "Unused local variable.", + "severity": "warning", + "sourceLocation": + { + "end": 131, + "file": "A", + "start": 128 + }, + "type": "Warning" + } + ], + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_wrong_key_auxiliary_input/output.json b/test/cmdlineTests/standard_wrong_key_auxiliary_input/output.json index 077ac47ec..1e846d19c 100644 --- a/test/cmdlineTests/standard_wrong_key_auxiliary_input/output.json +++ b/test/cmdlineTests/standard_wrong_key_auxiliary_input/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Unknown key \"key1\"","message":"Unknown key \"key1\"","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Unknown key \"key1\"", + "message": "Unknown key \"key1\"", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_key_metadata/output.json b/test/cmdlineTests/standard_wrong_key_metadata/output.json index 077ac47ec..1e846d19c 100644 --- a/test/cmdlineTests/standard_wrong_key_metadata/output.json +++ b/test/cmdlineTests/standard_wrong_key_metadata/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Unknown key \"key1\"","message":"Unknown key \"key1\"","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Unknown key \"key1\"", + "message": "Unknown key \"key1\"", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_key_optimizer/output.json b/test/cmdlineTests/standard_wrong_key_optimizer/output.json index 077ac47ec..1e846d19c 100644 --- a/test/cmdlineTests/standard_wrong_key_optimizer/output.json +++ b/test/cmdlineTests/standard_wrong_key_optimizer/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Unknown key \"key1\"","message":"Unknown key \"key1\"","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Unknown key \"key1\"", + "message": "Unknown key \"key1\"", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_key_root/output.json b/test/cmdlineTests/standard_wrong_key_root/output.json index 077ac47ec..1e846d19c 100644 --- a/test/cmdlineTests/standard_wrong_key_root/output.json +++ b/test/cmdlineTests/standard_wrong_key_root/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Unknown key \"key1\"","message":"Unknown key \"key1\"","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Unknown key \"key1\"", + "message": "Unknown key \"key1\"", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_key_settings/output.json b/test/cmdlineTests/standard_wrong_key_settings/output.json index 077ac47ec..1e846d19c 100644 --- a/test/cmdlineTests/standard_wrong_key_settings/output.json +++ b/test/cmdlineTests/standard_wrong_key_settings/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Unknown key \"key1\"","message":"Unknown key \"key1\"","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Unknown key \"key1\"", + "message": "Unknown key \"key1\"", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_key_source/output.json b/test/cmdlineTests/standard_wrong_key_source/output.json index 077ac47ec..1e846d19c 100644 --- a/test/cmdlineTests/standard_wrong_key_source/output.json +++ b/test/cmdlineTests/standard_wrong_key_source/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Unknown key \"key1\"","message":"Unknown key \"key1\"","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Unknown key \"key1\"", + "message": "Unknown key \"key1\"", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_type_auxiliary_input/output.json b/test/cmdlineTests/standard_wrong_type_auxiliary_input/output.json index fe33dcd06..877ecad4d 100644 --- a/test/cmdlineTests/standard_wrong_type_auxiliary_input/output.json +++ b/test/cmdlineTests/standard_wrong_type_auxiliary_input/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"\"auxiliaryInput\" must be an object","message":"\"auxiliaryInput\" must be an object","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "\"auxiliaryInput\" must be an object", + "message": "\"auxiliaryInput\" must be an object", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_type_auxiliary_input_smtlib2responses/output.json b/test/cmdlineTests/standard_wrong_type_auxiliary_input_smtlib2responses/output.json index 3efaea208..c28238145 100644 --- a/test/cmdlineTests/standard_wrong_type_auxiliary_input_smtlib2responses/output.json +++ b/test/cmdlineTests/standard_wrong_type_auxiliary_input_smtlib2responses/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"\"auxiliaryInput.smtlib2responses\" must be an object.","message":"\"auxiliaryInput.smtlib2responses\" must be an object.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "\"auxiliaryInput.smtlib2responses\" must be an object.", + "message": "\"auxiliaryInput.smtlib2responses\" must be an object.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_type_auxiliary_input_smtlib2responses_member/output.json b/test/cmdlineTests/standard_wrong_type_auxiliary_input_smtlib2responses_member/output.json index a05176be9..6676998c6 100644 --- a/test/cmdlineTests/standard_wrong_type_auxiliary_input_smtlib2responses_member/output.json +++ b/test/cmdlineTests/standard_wrong_type_auxiliary_input_smtlib2responses_member/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"\"smtlib2Responses.abc\" must be a string.","message":"\"smtlib2Responses.abc\" must be a string.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "\"smtlib2Responses.abc\" must be a string.", + "message": "\"smtlib2Responses.abc\" must be a string.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_type_metadata/output.json b/test/cmdlineTests/standard_wrong_type_metadata/output.json index 7b997cec1..df9f8cae3 100644 --- a/test/cmdlineTests/standard_wrong_type_metadata/output.json +++ b/test/cmdlineTests/standard_wrong_type_metadata/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"\"settings.metadata\" must be an object","message":"\"settings.metadata\" must be an object","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "\"settings.metadata\" must be an object", + "message": "\"settings.metadata\" must be an object", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_type_optimizer/output.json b/test/cmdlineTests/standard_wrong_type_optimizer/output.json index d43b64708..d7ce30326 100644 --- a/test/cmdlineTests/standard_wrong_type_optimizer/output.json +++ b/test/cmdlineTests/standard_wrong_type_optimizer/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"\"settings.optimizer\" must be an object","message":"\"settings.optimizer\" must be an object","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "\"settings.optimizer\" must be an object", + "message": "\"settings.optimizer\" must be an object", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_type_output_selection/output.json b/test/cmdlineTests/standard_wrong_type_output_selection/output.json index 39e748826..d7d8f563f 100644 --- a/test/cmdlineTests/standard_wrong_type_output_selection/output.json +++ b/test/cmdlineTests/standard_wrong_type_output_selection/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"\"settings.outputSelection\" must be an object","message":"\"settings.outputSelection\" must be an object","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "\"settings.outputSelection\" must be an object", + "message": "\"settings.outputSelection\" must be an object", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_type_output_selection_contract/output.json b/test/cmdlineTests/standard_wrong_type_output_selection_contract/output.json index a4ba320ee..5a35419ef 100644 --- a/test/cmdlineTests/standard_wrong_type_output_selection_contract/output.json +++ b/test/cmdlineTests/standard_wrong_type_output_selection_contract/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"\"settings.outputSelection.fileA.A\" must be a string array","message":"\"settings.outputSelection.fileA.A\" must be a string array","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "\"settings.outputSelection.fileA.A\" must be a string array", + "message": "\"settings.outputSelection.fileA.A\" must be a string array", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_type_output_selection_file/output.json b/test/cmdlineTests/standard_wrong_type_output_selection_file/output.json index 8874e6368..888efc75b 100644 --- a/test/cmdlineTests/standard_wrong_type_output_selection_file/output.json +++ b/test/cmdlineTests/standard_wrong_type_output_selection_file/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"\"settings.outputSelection.fileA\" must be an object","message":"\"settings.outputSelection.fileA\" must be an object","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "\"settings.outputSelection.fileA\" must be an object", + "message": "\"settings.outputSelection.fileA\" must be an object", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_type_output_selection_output/output.json b/test/cmdlineTests/standard_wrong_type_output_selection_output/output.json index a4ba320ee..5a35419ef 100644 --- a/test/cmdlineTests/standard_wrong_type_output_selection_output/output.json +++ b/test/cmdlineTests/standard_wrong_type_output_selection_output/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"\"settings.outputSelection.fileA.A\" must be a string array","message":"\"settings.outputSelection.fileA.A\" must be a string array","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "\"settings.outputSelection.fileA.A\" must be a string array", + "message": "\"settings.outputSelection.fileA.A\" must be a string array", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_type_remappings/output.json b/test/cmdlineTests/standard_wrong_type_remappings/output.json index b5e4ea5cb..b94919077 100644 --- a/test/cmdlineTests/standard_wrong_type_remappings/output.json +++ b/test/cmdlineTests/standard_wrong_type_remappings/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"\"settings.remappings\" must be an array of strings.","message":"\"settings.remappings\" must be an array of strings.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "\"settings.remappings\" must be an array of strings.", + "message": "\"settings.remappings\" must be an array of strings.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_type_remappings_entry/output.json b/test/cmdlineTests/standard_wrong_type_remappings_entry/output.json index 0fc71ded4..d083c85be 100644 --- a/test/cmdlineTests/standard_wrong_type_remappings_entry/output.json +++ b/test/cmdlineTests/standard_wrong_type_remappings_entry/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"\"settings.remappings\" must be an array of strings","message":"\"settings.remappings\" must be an array of strings","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "\"settings.remappings\" must be an array of strings", + "message": "\"settings.remappings\" must be an array of strings", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_type_root/output.json b/test/cmdlineTests/standard_wrong_type_root/output.json index 15c12e778..da8fefdf5 100644 --- a/test/cmdlineTests/standard_wrong_type_root/output.json +++ b/test/cmdlineTests/standard_wrong_type_root/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Input is not a JSON object.","message":"Input is not a JSON object.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Input is not a JSON object.", + "message": "Input is not a JSON object.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_type_settings/output.json b/test/cmdlineTests/standard_wrong_type_settings/output.json index c78c6086d..a25071c85 100644 --- a/test/cmdlineTests/standard_wrong_type_settings/output.json +++ b/test/cmdlineTests/standard_wrong_type_settings/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"\"settings\" must be an object","message":"\"settings\" must be an object","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "\"settings\" must be an object", + "message": "\"settings\" must be an object", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_type_source/output.json b/test/cmdlineTests/standard_wrong_type_source/output.json index 98fe32fd9..98496c643 100644 --- a/test/cmdlineTests/standard_wrong_type_source/output.json +++ b/test/cmdlineTests/standard_wrong_type_source/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"\"sources.A\" must be an object","message":"\"sources.A\" must be an object","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "\"sources.A\" must be an object", + "message": "\"sources.A\" must be an object", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_type_sources/output.json b/test/cmdlineTests/standard_wrong_type_sources/output.json index ac6c613f5..3f5f51fce 100644 --- a/test/cmdlineTests/standard_wrong_type_sources/output.json +++ b/test/cmdlineTests/standard_wrong_type_sources/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"\"sources\" is not a JSON object.","message":"\"sources\" is not a JSON object.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "\"sources\" is not a JSON object.", + "message": "\"sources\" is not a JSON object.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_wrong_type_useLiteralContent/output.json b/test/cmdlineTests/standard_wrong_type_useLiteralContent/output.json index 47eb32ec4..7135c9856 100644 --- a/test/cmdlineTests/standard_wrong_type_useLiteralContent/output.json +++ b/test/cmdlineTests/standard_wrong_type_useLiteralContent/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"\"settings.metadata.useLiteralContent\" must be Boolean","message":"\"settings.metadata.useLiteralContent\" must be Boolean","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "\"settings.metadata.useLiteralContent\" must be Boolean", + "message": "\"settings.metadata.useLiteralContent\" must be Boolean", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_yul/output.json b/test/cmdlineTests/standard_yul/output.json index 63da252cd..33d5fc0bd 100644 --- a/test/cmdlineTests/standard_yul/output.json +++ b/test/cmdlineTests/standard_yul/output.json @@ -1,4 +1,13 @@ -{"contracts":{"A":{"object":{"evm":{"assembly":" /* \"A\":17:18 */ +{ + "contracts": + { + "A": + { + "object": + { + "evm": + { + "assembly": " /* \"A\":17:18 */ 0x00 /* \"A\":11:19 */ mload @@ -14,16 +23,32 @@ sstore /* \"A\":0:42 */ pop -","bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""}},"ir":"object \"object\" { +", + "bytecode": + { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes":"", + "sourceMap":"" + } + }, + "ir": "object \"object\" { code { let x := mload(0) sstore(add(x, 0), 0) } } -","irOptimized":"object \"object\" { +", + "irOptimized": "object \"object\" { code { let x := mload(0) sstore(add(x, 0), 0) } } -"}}},} +" + } + } + } +} diff --git a/test/cmdlineTests/standard_yul_debug_info_print_all/args b/test/cmdlineTests/standard_yul_debug_info_print_all/args index 24d48faf2..18532c5a6 100644 --- a/test/cmdlineTests/standard_yul_debug_info_print_all/args +++ b/test/cmdlineTests/standard_yul_debug_info_print_all/args @@ -1 +1 @@ ---pretty-json --json-indent 4 --allow-paths . +--allow-paths . diff --git a/test/cmdlineTests/standard_yul_debug_info_print_all/output.json b/test/cmdlineTests/standard_yul_debug_info_print_all/output.json index 70122b9a7..78f14c08d 100644 --- a/test/cmdlineTests/standard_yul_debug_info_print_all/output.json +++ b/test/cmdlineTests/standard_yul_debug_info_print_all/output.json @@ -22,5 +22,5 @@ tag_3: } } } - }, } +} diff --git a/test/cmdlineTests/standard_yul_debug_info_print_location_only/args b/test/cmdlineTests/standard_yul_debug_info_print_location_only/args index 24d48faf2..18532c5a6 100644 --- a/test/cmdlineTests/standard_yul_debug_info_print_location_only/args +++ b/test/cmdlineTests/standard_yul_debug_info_print_location_only/args @@ -1 +1 @@ ---pretty-json --json-indent 4 --allow-paths . +--allow-paths . diff --git a/test/cmdlineTests/standard_yul_debug_info_print_location_only/output.json b/test/cmdlineTests/standard_yul_debug_info_print_location_only/output.json index e7b1a6943..526a6a5c6 100644 --- a/test/cmdlineTests/standard_yul_debug_info_print_location_only/output.json +++ b/test/cmdlineTests/standard_yul_debug_info_print_location_only/output.json @@ -22,5 +22,5 @@ tag_3: } } } - }, } +} diff --git a/test/cmdlineTests/standard_yul_debug_info_print_none/args b/test/cmdlineTests/standard_yul_debug_info_print_none/args index 24d48faf2..18532c5a6 100644 --- a/test/cmdlineTests/standard_yul_debug_info_print_none/args +++ b/test/cmdlineTests/standard_yul_debug_info_print_none/args @@ -1 +1 @@ ---pretty-json --json-indent 4 --allow-paths . +--allow-paths . diff --git a/test/cmdlineTests/standard_yul_debug_info_print_none/output.json b/test/cmdlineTests/standard_yul_debug_info_print_none/output.json index b8b5ff913..f5b5c6364 100644 --- a/test/cmdlineTests/standard_yul_debug_info_print_none/output.json +++ b/test/cmdlineTests/standard_yul_debug_info_print_none/output.json @@ -20,5 +20,5 @@ tag_3: } } } - }, } +} diff --git a/test/cmdlineTests/standard_yul_debug_info_print_snippet_only/args b/test/cmdlineTests/standard_yul_debug_info_print_snippet_only/args index 24d48faf2..18532c5a6 100644 --- a/test/cmdlineTests/standard_yul_debug_info_print_snippet_only/args +++ b/test/cmdlineTests/standard_yul_debug_info_print_snippet_only/args @@ -1 +1 @@ ---pretty-json --json-indent 4 --allow-paths . +--allow-paths . diff --git a/test/cmdlineTests/standard_yul_embedded_object_name/output.json b/test/cmdlineTests/standard_yul_embedded_object_name/output.json index 0967ef424..2c63c0851 100644 --- a/test/cmdlineTests/standard_yul_embedded_object_name/output.json +++ b/test/cmdlineTests/standard_yul_embedded_object_name/output.json @@ -1 +1,2 @@ -{} +{ +} diff --git a/test/cmdlineTests/standard_yul_immutable_references/args b/test/cmdlineTests/standard_yul_immutable_references/args deleted file mode 100644 index d13a8ac44..000000000 --- a/test/cmdlineTests/standard_yul_immutable_references/args +++ /dev/null @@ -1 +0,0 @@ ---pretty-json diff --git a/test/cmdlineTests/standard_yul_immutable_references/output.json b/test/cmdlineTests/standard_yul_immutable_references/output.json index fe9bd66a6..1f75e8ad2 100644 --- a/test/cmdlineTests/standard_yul_immutable_references/output.json +++ b/test/cmdlineTests/standard_yul_immutable_references/output.json @@ -1,42 +1,42 @@ { - "contracts": - { - "A": + "contracts": { - "YulTest": - { - "evm": + "A": { - "bytecode": - { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "60298060156000396001600060010152806000f3fe7f000000000000000000000000000000000000000000000000000000000000000060005260206000f3", - "opcodes": "PUSH1 0x29 DUP1 PUSH1 0x15 PUSH1 0x0 CODECOPY PUSH1 0x1 PUSH1 0x0 PUSH1 0x1 ADD MSTORE DUP1 PUSH1 0x0 RETURN INVALID PUSH32 0x0 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN ", - "sourceMap": "42:19:0:-:0;100:4;77:21;74:1;65:40;133:1;122;109:26;;;149:4;146:1;139:15" - }, - "deployedBytecode": - { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": + "YulTest": { - "test": - [ + "evm": { - "length": 32, - "start": 1 + "bytecode": + { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes":"", + "sourceMap":"" + }, + "deployedBytecode": + { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": + { + "test": + [ + { + "length": 32, + "start": 1 + } + ] + }, + "linkReferences": {}, + "object": "", + "opcodes":"", + "sourceMap":"" + } } - ] - }, - "linkReferences": {}, - "object": "7f000000000000000000000000000000000000000000000000000000000000000060005260206000f3", - "opcodes": "PUSH32 0x0 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN ", - "sourceMap": "203:21:0:-:0;200:1;193:32;241:4;238:1;231:15" - } + } } - } } - }, - } +} diff --git a/test/cmdlineTests/standard_yul_invalid_object_name/output.json b/test/cmdlineTests/standard_yul_invalid_object_name/output.json index 0967ef424..2c63c0851 100644 --- a/test/cmdlineTests/standard_yul_invalid_object_name/output.json +++ b/test/cmdlineTests/standard_yul_invalid_object_name/output.json @@ -1 +1,2 @@ -{} +{ +} diff --git a/test/cmdlineTests/standard_yul_multiple_files/output.json b/test/cmdlineTests/standard_yul_multiple_files/output.json index 2f2da9310..cdef28c26 100644 --- a/test/cmdlineTests/standard_yul_multiple_files/output.json +++ b/test/cmdlineTests/standard_yul_multiple_files/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Yul mode only supports exactly one input file.","message":"Yul mode only supports exactly one input file.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Yul mode only supports exactly one input file.", + "message": "Yul mode only supports exactly one input file.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_yul_multiple_files_selected/output.json b/test/cmdlineTests/standard_yul_multiple_files_selected/output.json index 2f2da9310..cdef28c26 100644 --- a/test/cmdlineTests/standard_yul_multiple_files_selected/output.json +++ b/test/cmdlineTests/standard_yul_multiple_files_selected/output.json @@ -1 +1,12 @@ -{"errors":[{"component":"general","formattedMessage":"Yul mode only supports exactly one input file.","message":"Yul mode only supports exactly one input file.","severity":"error","type":"JSONError"}]} +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "Yul mode only supports exactly one input file.", + "message": "Yul mode only supports exactly one input file.", + "severity": "error", + "type": "JSONError" + } + ] +} diff --git a/test/cmdlineTests/standard_yul_object/output.json b/test/cmdlineTests/standard_yul_object/output.json index 96903c452..e5a5dadac 100644 --- a/test/cmdlineTests/standard_yul_object/output.json +++ b/test/cmdlineTests/standard_yul_object/output.json @@ -1,4 +1,13 @@ -{"contracts":{"A":{"NamedObject":{"evm":{"assembly":" /* \"A\":39:61 */ +{ + "contracts": + { + "A": + { + "NamedObject": + { + "evm": + { + "assembly": " /* \"A\":39:61 */ data_4e03657aea45a94fc7d47ba826c8d667c0d1e6e33a64a036ec44f58fa12d6c45 /* \"A\":80:81 */ 0x00 @@ -14,18 +23,34 @@ pop stop data_4e03657aea45a94fc7d47ba826c8d667c0d1e6e33a64a036ec44f58fa12d6c45 616263 -","bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""}},"ir":"object \"NamedObject\" { +", + "bytecode": + { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes":"", + "sourceMap":"" + } + }, + "ir": "object \"NamedObject\" { code { let x := dataoffset(\"DataName\") sstore(add(x, 0), 0) } data \"DataName\" hex\"616263\" } -","irOptimized":"object \"NamedObject\" { +", + "irOptimized": "object \"NamedObject\" { code { let x := dataoffset(\"DataName\") sstore(add(x, 0), 0) } data \"DataName\" hex\"616263\" } -"}}},} +" + } + } + } +} diff --git a/test/cmdlineTests/standard_yul_object_invalid_sub/output.json b/test/cmdlineTests/standard_yul_object_invalid_sub/output.json index 44e04ecd8..98522145a 100644 --- a/test/cmdlineTests/standard_yul_object_invalid_sub/output.json +++ b/test/cmdlineTests/standard_yul_object_invalid_sub/output.json @@ -1,7 +1,24 @@ -{"errors":[{"component":"general","formattedMessage":"TypeError: Unknown data object \"NamedObject.\". +{ + "errors": + [ + { + "component": "general", + "formattedMessage": "TypeError: Unknown data object \"NamedObject.\". --> A:1:51: | 1 | object \"NamedObject\" { code { let x := dataoffset(\"NamedObject.\") sstore(add(x, 0), 0) } object \"OtherObject\" { code { revert(0, 0) } } } | ^^^^^^^^^^^^^^ -","message":"Unknown data object \"NamedObject.\".","severity":"error","sourceLocation":{"end":64,"file":"A","start":50},"type":"TypeError"}]} +", + "message": "Unknown data object \"NamedObject.\".", + "severity": "error", + "sourceLocation": + { + "end": 64, + "file": "A", + "start": 50 + }, + "type": "TypeError" + } + ] +} diff --git a/test/cmdlineTests/standard_yul_object_name/output.json b/test/cmdlineTests/standard_yul_object_name/output.json index b4a9e3685..57c7ce709 100644 --- a/test/cmdlineTests/standard_yul_object_name/output.json +++ b/test/cmdlineTests/standard_yul_object_name/output.json @@ -1,4 +1,13 @@ -{"contracts":{"A":{"NamedObject":{"evm":{"assembly":" /* \"A\":39:61 */ +{ + "contracts": + { + "A": + { + "NamedObject": + { + "evm": + { + "assembly": " /* \"A\":39:61 */ data_4e03657aea45a94fc7d47ba826c8d667c0d1e6e33a64a036ec44f58fa12d6c45 /* \"A\":80:81 */ 0x00 @@ -23,7 +32,28 @@ sub_0: assembly { /* \"A\":137:149 */ revert } -","bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""}},"ir":"object \"NamedObject\" { +", + "bytecode": + { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes":"", + "sourceMap":"" + }, + "deployedBytecode": + { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes":"", + "sourceMap":"" + } + }, + "ir": "object \"NamedObject\" { code { let x := dataoffset(\"DataName\") sstore(add(x, 0), 0) @@ -33,7 +63,8 @@ sub_0: assembly { code { revert(0, 0) } } } -","irOptimized":"object \"NamedObject\" { +", + "irOptimized": "object \"NamedObject\" { code { let x := dataoffset(\"DataName\") sstore(add(x, 0), 0) @@ -43,4 +74,8 @@ sub_0: assembly { code { revert(0, 0) } } } -"}}},} +" + } + } + } +} diff --git a/test/cmdlineTests/standard_yul_optimiserSteps/output.json b/test/cmdlineTests/standard_yul_optimiserSteps/output.json index c4b5f6e0e..7df2f7695 100644 --- a/test/cmdlineTests/standard_yul_optimiserSteps/output.json +++ b/test/cmdlineTests/standard_yul_optimiserSteps/output.json @@ -1,4 +1,13 @@ -{"contracts":{"A":{"object":{"evm":{"assembly":" /* \"A\":38:39 */ +{ + "contracts": + { + "A": + { + "object": + { + "evm": + { + "assembly": " /* \"A\":38:39 */ 0x00 /* \"A\":11:19 */ dup1 @@ -7,13 +16,25 @@ sstore /* \"A\":0:42 */ stop -","bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""}},"ir":"object \"object\" { +", + "bytecode": + { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes":"", + "sourceMap":"" + } + }, + "ir": "object \"object\" { code { let x := mload(0) sstore(add(x, 0), 0) } } -","irOptimized":"object \"object\" { +", + "irOptimized": "object \"object\" { code { { let x := mload(0) @@ -21,4 +42,8 @@ } } } -"}}},} +" + } + } + } +} diff --git a/test/cmdlineTests/standard_yul_optimized/output.json b/test/cmdlineTests/standard_yul_optimized/output.json index 40fd18d2b..f5524c6df 100644 --- a/test/cmdlineTests/standard_yul_optimized/output.json +++ b/test/cmdlineTests/standard_yul_optimized/output.json @@ -1,4 +1,13 @@ -{"contracts":{"A":{"object":{"evm":{"assembly":" /* \"A\":17:18 */ +{ + "contracts": + { + "A": + { + "object": + { + "evm": + { + "assembly": " /* \"A\":17:18 */ 0x00 /* \"A\":11:19 */ dup1 @@ -7,13 +16,29 @@ sstore /* \"A\":0:42 */ stop -","bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""}},"ir":"object \"object\" { +", + "bytecode": + { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes":"", + "sourceMap":"" + } + }, + "ir": "object \"object\" { code { let x := mload(0) sstore(add(x, 0), 0) } } -","irOptimized":"object \"object\" { +", + "irOptimized": "object \"object\" { code { { sstore(mload(0), 0) } } } -"}}},} +" + } + } + } +} diff --git a/test/cmdlineTests/standard_yul_single_file_via_urls/args b/test/cmdlineTests/standard_yul_single_file_via_urls/args index 24d48faf2..18532c5a6 100644 --- a/test/cmdlineTests/standard_yul_single_file_via_urls/args +++ b/test/cmdlineTests/standard_yul_single_file_via_urls/args @@ -1 +1 @@ ---pretty-json --json-indent 4 --allow-paths . +--allow-paths . diff --git a/test/cmdlineTests/standard_yul_stack_opt/output.json b/test/cmdlineTests/standard_yul_stack_opt/output.json index 1bc924d95..e10ef0c17 100644 --- a/test/cmdlineTests/standard_yul_stack_opt/output.json +++ b/test/cmdlineTests/standard_yul_stack_opt/output.json @@ -1,4 +1,13 @@ -{"contracts":{"A":{"object":{"evm":{"assembly":" /* \"A\":16:17 */ +{ + "contracts": + { + "A": + { + "object": + { + "evm": + { + "assembly": " /* \"A\":16:17 */ 0x01 /* \"A\":27:28 */ 0x00 @@ -12,4 +21,9 @@ sstore /* \"A\":0:72 */ stop -"}}}},} +" + } + } + } + } +} diff --git a/test/cmdlineTests/standard_yul_stack_opt_disabled/output.json b/test/cmdlineTests/standard_yul_stack_opt_disabled/output.json index 8fa9f92ce..c381936ef 100644 --- a/test/cmdlineTests/standard_yul_stack_opt_disabled/output.json +++ b/test/cmdlineTests/standard_yul_stack_opt_disabled/output.json @@ -1,4 +1,13 @@ -{"contracts":{"A":{"object":{"evm":{"assembly":" /* \"A\":16:17 */ +{ + "contracts": + { + "A": + { + "object": + { + "evm": + { + "assembly": " /* \"A\":16:17 */ 0x01 dup1 /* \"A\":27:28 */ @@ -15,4 +24,9 @@ /* \"A\":0:72 */ pop pop -"}}}},} +" + } + } + } + } +} diff --git a/test/cmdlineTests/storage_layout_bytes/output.json b/test/cmdlineTests/storage_layout_bytes/output.json index b589a486f..c2ca7813c 100644 --- a/test/cmdlineTests/storage_layout_bytes/output.json +++ b/test/cmdlineTests/storage_layout_bytes/output.json @@ -1 +1,49 @@ -{"contracts":{"fileA":{"A":{"storageLayout":{"storage":[{"astId":4,"contract":"fileA:A","label":"s1","offset":0,"slot":"0","type":"t_bytes_storage"},{"astId":6,"contract":"fileA:A","label":"s2","offset":0,"slot":"1","type":"t_bytes_storage"}],"types":{"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"}}}}}},"sources":{"fileA":{"id":0}}} +{ + "contracts": + { + "fileA": + { + "A": + { + "storageLayout": + { + "storage": + [ + { + "astId": 4, + "contract": "fileA:A", + "label": "s1", + "offset": 0, + "slot": "0", + "type": "t_bytes_storage" + }, + { + "astId": 6, + "contract": "fileA:A", + "label": "s2", + "offset": 0, + "slot": "1", + "type": "t_bytes_storage" + } + ], + "types": + { + "t_bytes_storage": + { + "encoding": "bytes", + "label": "bytes", + "numberOfBytes": "32" + } + } + } + } + } + }, + "sources": + { + "fileA": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/storage_layout_dyn_array/output.json b/test/cmdlineTests/storage_layout_dyn_array/output.json index 58e129ae7..fa7ed04ba 100644 --- a/test/cmdlineTests/storage_layout_dyn_array/output.json +++ b/test/cmdlineTests/storage_layout_dyn_array/output.json @@ -1 +1,69 @@ -{"contracts":{"fileA":{"A":{"storageLayout":{"storage":[{"astId":4,"contract":"fileA:A","label":"array1","offset":0,"slot":"0","type":"t_array(t_uint256)dyn_storage"},{"astId":7,"contract":"fileA:A","label":"array2","offset":0,"slot":"1","type":"t_array(t_bool)dyn_storage"}],"types":{"t_array(t_bool)dyn_storage":{"base":"t_bool","encoding":"dynamic_array","label":"bool[]","numberOfBytes":"32"},"t_array(t_uint256)dyn_storage":{"base":"t_uint256","encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}}}},"sources":{"fileA":{"id":0}}} +{ + "contracts": + { + "fileA": + { + "A": + { + "storageLayout": + { + "storage": + [ + { + "astId": 4, + "contract": "fileA:A", + "label": "array1", + "offset": 0, + "slot": "0", + "type": "t_array(t_uint256)dyn_storage" + }, + { + "astId": 7, + "contract": "fileA:A", + "label": "array2", + "offset": 0, + "slot": "1", + "type": "t_array(t_bool)dyn_storage" + } + ], + "types": + { + "t_array(t_bool)dyn_storage": + { + "base": "t_bool", + "encoding": "dynamic_array", + "label": "bool[]", + "numberOfBytes": "32" + }, + "t_array(t_uint256)dyn_storage": + { + "base": "t_uint256", + "encoding": "dynamic_array", + "label": "uint256[]", + "numberOfBytes": "32" + }, + "t_bool": + { + "encoding": "inplace", + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": + { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + } + } + } + } + } + }, + "sources": + { + "fileA": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/storage_layout_many/output.json b/test/cmdlineTests/storage_layout_many/output.json index 33c3005d0..68cb00682 100644 --- a/test/cmdlineTests/storage_layout_many/output.json +++ b/test/cmdlineTests/storage_layout_many/output.json @@ -1 +1,198 @@ -{"contracts":{"fileA":{"A":{"storageLayout":{"storage":[{"astId":15,"contract":"fileA:A","label":"x","offset":0,"slot":"0","type":"t_uint256"},{"astId":17,"contract":"fileA:A","label":"y","offset":0,"slot":"1","type":"t_uint256"},{"astId":20,"contract":"fileA:A","label":"s","offset":0,"slot":"2","type":"t_struct(S)13_storage"},{"astId":22,"contract":"fileA:A","label":"addr","offset":0,"slot":"6","type":"t_address"},{"astId":28,"contract":"fileA:A","label":"map","offset":0,"slot":"7","type":"t_mapping(t_uint256,t_mapping(t_address,t_bool))"},{"astId":31,"contract":"fileA:A","label":"array","offset":0,"slot":"8","type":"t_array(t_uint256)dyn_storage"},{"astId":33,"contract":"fileA:A","label":"s1","offset":0,"slot":"9","type":"t_string_storage"},{"astId":35,"contract":"fileA:A","label":"b1","offset":0,"slot":"10","type":"t_bytes_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)2_storage":{"base":"t_uint256","encoding":"inplace","label":"uint256[2]","numberOfBytes":"64"},"t_array(t_uint256)dyn_storage":{"base":"t_uint256","encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_uint256,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(S)13_storage":{"encoding":"inplace","label":"struct A.S","members":[{"astId":3,"contract":"fileA:A","label":"a","offset":0,"slot":"0","type":"t_uint128"},{"astId":5,"contract":"fileA:A","label":"b","offset":16,"slot":"0","type":"t_uint128"},{"astId":9,"contract":"fileA:A","label":"staticArray","offset":0,"slot":"1","type":"t_array(t_uint256)2_storage"},{"astId":12,"contract":"fileA:A","label":"dynArray","offset":0,"slot":"3","type":"t_array(t_uint256)dyn_storage"}],"numberOfBytes":"128"},"t_uint128":{"encoding":"inplace","label":"uint128","numberOfBytes":"16"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}}}},"sources":{"fileA":{"id":0}}} +{ + "contracts": + { + "fileA": + { + "A": + { + "storageLayout": + { + "storage": + [ + { + "astId": 15, + "contract": "fileA:A", + "label": "x", + "offset": 0, + "slot": "0", + "type": "t_uint256" + }, + { + "astId": 17, + "contract": "fileA:A", + "label": "y", + "offset": 0, + "slot": "1", + "type": "t_uint256" + }, + { + "astId": 20, + "contract": "fileA:A", + "label": "s", + "offset": 0, + "slot": "2", + "type": "t_struct(S)13_storage" + }, + { + "astId": 22, + "contract": "fileA:A", + "label": "addr", + "offset": 0, + "slot": "6", + "type": "t_address" + }, + { + "astId": 28, + "contract": "fileA:A", + "label": "map", + "offset": 0, + "slot": "7", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_bool))" + }, + { + "astId": 31, + "contract": "fileA:A", + "label": "array", + "offset": 0, + "slot": "8", + "type": "t_array(t_uint256)dyn_storage" + }, + { + "astId": 33, + "contract": "fileA:A", + "label": "s1", + "offset": 0, + "slot": "9", + "type": "t_string_storage" + }, + { + "astId": 35, + "contract": "fileA:A", + "label": "b1", + "offset": 0, + "slot": "10", + "type": "t_bytes_storage" + } + ], + "types": + { + "t_address": + { + "encoding": "inplace", + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)2_storage": + { + "base": "t_uint256", + "encoding": "inplace", + "label": "uint256[2]", + "numberOfBytes": "64" + }, + "t_array(t_uint256)dyn_storage": + { + "base": "t_uint256", + "encoding": "dynamic_array", + "label": "uint256[]", + "numberOfBytes": "32" + }, + "t_bool": + { + "encoding": "inplace", + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes_storage": + { + "encoding": "bytes", + "label": "bytes", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": + { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => bool)", + "numberOfBytes": "32", + "value": "t_bool" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_bool))": + { + "encoding": "mapping", + "key": "t_uint256", + "label": "mapping(uint256 => mapping(address => bool))", + "numberOfBytes": "32", + "value": "t_mapping(t_address,t_bool)" + }, + "t_string_storage": + { + "encoding": "bytes", + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(S)13_storage": + { + "encoding": "inplace", + "label": "struct A.S", + "members": + [ + { + "astId": 3, + "contract": "fileA:A", + "label": "a", + "offset": 0, + "slot": "0", + "type": "t_uint128" + }, + { + "astId": 5, + "contract": "fileA:A", + "label": "b", + "offset": 16, + "slot": "0", + "type": "t_uint128" + }, + { + "astId": 9, + "contract": "fileA:A", + "label": "staticArray", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)2_storage" + }, + { + "astId": 12, + "contract": "fileA:A", + "label": "dynArray", + "offset": 0, + "slot": "3", + "type": "t_array(t_uint256)dyn_storage" + } + ], + "numberOfBytes": "128" + }, + "t_uint128": + { + "encoding": "inplace", + "label": "uint128", + "numberOfBytes": "16" + }, + "t_uint256": + { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + } + } + } + } + } + }, + "sources": + { + "fileA": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/storage_layout_mapping/output.json b/test/cmdlineTests/storage_layout_mapping/output.json index e87ec77f1..8d13fb34b 100644 --- a/test/cmdlineTests/storage_layout_mapping/output.json +++ b/test/cmdlineTests/storage_layout_mapping/output.json @@ -1 +1,85 @@ -{"contracts":{"fileA":{"A":{"storageLayout":{"storage":[{"astId":3,"contract":"fileA:A","label":"x","offset":0,"slot":"0","type":"t_uint256"},{"astId":5,"contract":"fileA:A","label":"y","offset":0,"slot":"1","type":"t_uint256"},{"astId":11,"contract":"fileA:A","label":"map","offset":0,"slot":"2","type":"t_mapping(t_uint256,t_mapping(t_address,t_bool))"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_uint256,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}}}},"sources":{"fileA":{"id":0}}} +{ + "contracts": + { + "fileA": + { + "A": + { + "storageLayout": + { + "storage": + [ + { + "astId": 3, + "contract": "fileA:A", + "label": "x", + "offset": 0, + "slot": "0", + "type": "t_uint256" + }, + { + "astId": 5, + "contract": "fileA:A", + "label": "y", + "offset": 0, + "slot": "1", + "type": "t_uint256" + }, + { + "astId": 11, + "contract": "fileA:A", + "label": "map", + "offset": 0, + "slot": "2", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_bool))" + } + ], + "types": + { + "t_address": + { + "encoding": "inplace", + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": + { + "encoding": "inplace", + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": + { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => bool)", + "numberOfBytes": "32", + "value": "t_bool" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_bool))": + { + "encoding": "mapping", + "key": "t_uint256", + "label": "mapping(uint256 => mapping(address => bool))", + "numberOfBytes": "32", + "value": "t_mapping(t_address,t_bool)" + }, + "t_uint256": + { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + } + } + } + } + } + }, + "sources": + { + "fileA": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/storage_layout_smoke/output.json b/test/cmdlineTests/storage_layout_smoke/output.json index 519cb1f04..9fe46bb67 100644 --- a/test/cmdlineTests/storage_layout_smoke/output.json +++ b/test/cmdlineTests/storage_layout_smoke/output.json @@ -1 +1,23 @@ -{"contracts":{"fileA":{"A":{"storageLayout":{"storage":[],"types":null}}}},"sources":{"fileA":{"id":0}}} +{ + "contracts": + { + "fileA": + { + "A": + { + "storageLayout": + { + "storage": [], + "types": null + } + } + } + }, + "sources": + { + "fileA": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/storage_layout_smoke_two_contracts/output.json b/test/cmdlineTests/storage_layout_smoke_two_contracts/output.json index c94f92eb8..fc4e422a5 100644 --- a/test/cmdlineTests/storage_layout_smoke_two_contracts/output.json +++ b/test/cmdlineTests/storage_layout_smoke_two_contracts/output.json @@ -1 +1,27 @@ -{"contracts":{"fileA":{"A":{"storageLayout":{"storage":[],"types":null}}}},"sources":{"fileA":{"id":0},"fileB":{"id":1}}} +{ + "contracts": + { + "fileA": + { + "A": + { + "storageLayout": + { + "storage": [], + "types": null + } + } + } + }, + "sources": + { + "fileA": + { + "id": 0 + }, + "fileB": + { + "id": 1 + } + } +} diff --git a/test/cmdlineTests/storage_layout_string/output.json b/test/cmdlineTests/storage_layout_string/output.json index a83f5a513..20c6f64cc 100644 --- a/test/cmdlineTests/storage_layout_string/output.json +++ b/test/cmdlineTests/storage_layout_string/output.json @@ -1 +1,49 @@ -{"contracts":{"fileA":{"A":{"storageLayout":{"storage":[{"astId":4,"contract":"fileA:A","label":"s1","offset":0,"slot":"0","type":"t_string_storage"},{"astId":6,"contract":"fileA:A","label":"s2","offset":0,"slot":"1","type":"t_string_storage"}],"types":{"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"}}}}}},"sources":{"fileA":{"id":0}}} +{ + "contracts": + { + "fileA": + { + "A": + { + "storageLayout": + { + "storage": + [ + { + "astId": 4, + "contract": "fileA:A", + "label": "s1", + "offset": 0, + "slot": "0", + "type": "t_string_storage" + }, + { + "astId": 6, + "contract": "fileA:A", + "label": "s2", + "offset": 0, + "slot": "1", + "type": "t_string_storage" + } + ], + "types": + { + "t_string_storage": + { + "encoding": "bytes", + "label": "string", + "numberOfBytes": "32" + } + } + } + } + } + }, + "sources": + { + "fileA": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/storage_layout_struct/output.json b/test/cmdlineTests/storage_layout_struct/output.json index fed30fd36..f682d9634 100644 --- a/test/cmdlineTests/storage_layout_struct/output.json +++ b/test/cmdlineTests/storage_layout_struct/output.json @@ -1 +1,126 @@ -{"contracts":{"fileA":{"A":{"storageLayout":{"storage":[{"astId":15,"contract":"fileA:A","label":"x","offset":0,"slot":"0","type":"t_uint256"},{"astId":17,"contract":"fileA:A","label":"y","offset":0,"slot":"1","type":"t_uint256"},{"astId":20,"contract":"fileA:A","label":"s","offset":0,"slot":"2","type":"t_struct(S)13_storage"},{"astId":22,"contract":"fileA:A","label":"addr","offset":0,"slot":"7","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)2_storage":{"base":"t_uint256","encoding":"inplace","label":"uint256[2]","numberOfBytes":"64"},"t_array(t_uint256)dyn_storage":{"base":"t_uint256","encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32"},"t_struct(S)13_storage":{"encoding":"inplace","label":"struct A.S","members":[{"astId":3,"contract":"fileA:A","label":"a","offset":0,"slot":"0","type":"t_uint256"},{"astId":5,"contract":"fileA:A","label":"b","offset":0,"slot":"1","type":"t_uint256"},{"astId":9,"contract":"fileA:A","label":"staticArray","offset":0,"slot":"2","type":"t_array(t_uint256)2_storage"},{"astId":12,"contract":"fileA:A","label":"dynArray","offset":0,"slot":"4","type":"t_array(t_uint256)dyn_storage"}],"numberOfBytes":"160"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}}}},"sources":{"fileA":{"id":0}}} +{ + "contracts": + { + "fileA": + { + "A": + { + "storageLayout": + { + "storage": + [ + { + "astId": 15, + "contract": "fileA:A", + "label": "x", + "offset": 0, + "slot": "0", + "type": "t_uint256" + }, + { + "astId": 17, + "contract": "fileA:A", + "label": "y", + "offset": 0, + "slot": "1", + "type": "t_uint256" + }, + { + "astId": 20, + "contract": "fileA:A", + "label": "s", + "offset": 0, + "slot": "2", + "type": "t_struct(S)13_storage" + }, + { + "astId": 22, + "contract": "fileA:A", + "label": "addr", + "offset": 0, + "slot": "7", + "type": "t_address" + } + ], + "types": + { + "t_address": + { + "encoding": "inplace", + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)2_storage": + { + "base": "t_uint256", + "encoding": "inplace", + "label": "uint256[2]", + "numberOfBytes": "64" + }, + "t_array(t_uint256)dyn_storage": + { + "base": "t_uint256", + "encoding": "dynamic_array", + "label": "uint256[]", + "numberOfBytes": "32" + }, + "t_struct(S)13_storage": + { + "encoding": "inplace", + "label": "struct A.S", + "members": + [ + { + "astId": 3, + "contract": "fileA:A", + "label": "a", + "offset": 0, + "slot": "0", + "type": "t_uint256" + }, + { + "astId": 5, + "contract": "fileA:A", + "label": "b", + "offset": 0, + "slot": "1", + "type": "t_uint256" + }, + { + "astId": 9, + "contract": "fileA:A", + "label": "staticArray", + "offset": 0, + "slot": "2", + "type": "t_array(t_uint256)2_storage" + }, + { + "astId": 12, + "contract": "fileA:A", + "label": "dynArray", + "offset": 0, + "slot": "4", + "type": "t_array(t_uint256)dyn_storage" + } + ], + "numberOfBytes": "160" + }, + "t_uint256": + { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + } + } + } + } + } + }, + "sources": + { + "fileA": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/storage_layout_struct_packed/output.json b/test/cmdlineTests/storage_layout_struct_packed/output.json index 5f610719c..7731bd223 100644 --- a/test/cmdlineTests/storage_layout_struct_packed/output.json +++ b/test/cmdlineTests/storage_layout_struct_packed/output.json @@ -1 +1,132 @@ -{"contracts":{"fileA":{"A":{"storageLayout":{"storage":[{"astId":15,"contract":"fileA:A","label":"x","offset":0,"slot":"0","type":"t_uint256"},{"astId":17,"contract":"fileA:A","label":"y","offset":0,"slot":"1","type":"t_uint256"},{"astId":20,"contract":"fileA:A","label":"s","offset":0,"slot":"2","type":"t_struct(S)13_storage"},{"astId":22,"contract":"fileA:A","label":"addr","offset":0,"slot":"6","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)2_storage":{"base":"t_uint256","encoding":"inplace","label":"uint256[2]","numberOfBytes":"64"},"t_array(t_uint256)dyn_storage":{"base":"t_uint256","encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32"},"t_struct(S)13_storage":{"encoding":"inplace","label":"struct A.S","members":[{"astId":3,"contract":"fileA:A","label":"a","offset":0,"slot":"0","type":"t_uint128"},{"astId":5,"contract":"fileA:A","label":"b","offset":16,"slot":"0","type":"t_uint128"},{"astId":9,"contract":"fileA:A","label":"staticArray","offset":0,"slot":"1","type":"t_array(t_uint256)2_storage"},{"astId":12,"contract":"fileA:A","label":"dynArray","offset":0,"slot":"3","type":"t_array(t_uint256)dyn_storage"}],"numberOfBytes":"128"},"t_uint128":{"encoding":"inplace","label":"uint128","numberOfBytes":"16"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}}}},"sources":{"fileA":{"id":0}}} +{ + "contracts": + { + "fileA": + { + "A": + { + "storageLayout": + { + "storage": + [ + { + "astId": 15, + "contract": "fileA:A", + "label": "x", + "offset": 0, + "slot": "0", + "type": "t_uint256" + }, + { + "astId": 17, + "contract": "fileA:A", + "label": "y", + "offset": 0, + "slot": "1", + "type": "t_uint256" + }, + { + "astId": 20, + "contract": "fileA:A", + "label": "s", + "offset": 0, + "slot": "2", + "type": "t_struct(S)13_storage" + }, + { + "astId": 22, + "contract": "fileA:A", + "label": "addr", + "offset": 0, + "slot": "6", + "type": "t_address" + } + ], + "types": + { + "t_address": + { + "encoding": "inplace", + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)2_storage": + { + "base": "t_uint256", + "encoding": "inplace", + "label": "uint256[2]", + "numberOfBytes": "64" + }, + "t_array(t_uint256)dyn_storage": + { + "base": "t_uint256", + "encoding": "dynamic_array", + "label": "uint256[]", + "numberOfBytes": "32" + }, + "t_struct(S)13_storage": + { + "encoding": "inplace", + "label": "struct A.S", + "members": + [ + { + "astId": 3, + "contract": "fileA:A", + "label": "a", + "offset": 0, + "slot": "0", + "type": "t_uint128" + }, + { + "astId": 5, + "contract": "fileA:A", + "label": "b", + "offset": 16, + "slot": "0", + "type": "t_uint128" + }, + { + "astId": 9, + "contract": "fileA:A", + "label": "staticArray", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)2_storage" + }, + { + "astId": 12, + "contract": "fileA:A", + "label": "dynArray", + "offset": 0, + "slot": "3", + "type": "t_array(t_uint256)dyn_storage" + } + ], + "numberOfBytes": "128" + }, + "t_uint128": + { + "encoding": "inplace", + "label": "uint128", + "numberOfBytes": "16" + }, + "t_uint256": + { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + } + } + } + } + } + }, + "sources": + { + "fileA": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/storage_layout_value_types/output.json b/test/cmdlineTests/storage_layout_value_types/output.json index db690733e..10fbd762b 100644 --- a/test/cmdlineTests/storage_layout_value_types/output.json +++ b/test/cmdlineTests/storage_layout_value_types/output.json @@ -1 +1,78 @@ -{"contracts":{"fileA":{"A":{"storageLayout":{"storage":[{"astId":3,"contract":"fileA:A","label":"x","offset":0,"slot":"0","type":"t_uint256"},{"astId":5,"contract":"fileA:A","label":"y","offset":0,"slot":"1","type":"t_uint256"},{"astId":7,"contract":"fileA:A","label":"addr","offset":0,"slot":"2","type":"t_address"},{"astId":11,"contract":"fileA:A","label":"array","offset":0,"slot":"3","type":"t_array(t_uint256)2_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)2_storage":{"base":"t_uint256","encoding":"inplace","label":"uint256[2]","numberOfBytes":"64"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}}}},"sources":{"fileA":{"id":0}}} +{ + "contracts": + { + "fileA": + { + "A": + { + "storageLayout": + { + "storage": + [ + { + "astId": 3, + "contract": "fileA:A", + "label": "x", + "offset": 0, + "slot": "0", + "type": "t_uint256" + }, + { + "astId": 5, + "contract": "fileA:A", + "label": "y", + "offset": 0, + "slot": "1", + "type": "t_uint256" + }, + { + "astId": 7, + "contract": "fileA:A", + "label": "addr", + "offset": 0, + "slot": "2", + "type": "t_address" + }, + { + "astId": 11, + "contract": "fileA:A", + "label": "array", + "offset": 0, + "slot": "3", + "type": "t_array(t_uint256)2_storage" + } + ], + "types": + { + "t_address": + { + "encoding": "inplace", + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)2_storage": + { + "base": "t_uint256", + "encoding": "inplace", + "label": "uint256[2]", + "numberOfBytes": "64" + }, + "t_uint256": + { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + } + } + } + } + } + }, + "sources": + { + "fileA": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/storage_layout_value_types_packed/output.json b/test/cmdlineTests/storage_layout_value_types_packed/output.json index 1b01899a5..eefb69e66 100644 --- a/test/cmdlineTests/storage_layout_value_types_packed/output.json +++ b/test/cmdlineTests/storage_layout_value_types_packed/output.json @@ -1 +1,98 @@ -{"contracts":{"fileA":{"A":{"storageLayout":{"storage":[{"astId":3,"contract":"fileA:A","label":"x","offset":0,"slot":"0","type":"t_uint64"},{"astId":5,"contract":"fileA:A","label":"y","offset":8,"slot":"0","type":"t_uint128"},{"astId":7,"contract":"fileA:A","label":"z","offset":0,"slot":"1","type":"t_uint128"},{"astId":9,"contract":"fileA:A","label":"addr","offset":0,"slot":"2","type":"t_address"},{"astId":13,"contract":"fileA:A","label":"array","offset":0,"slot":"3","type":"t_array(t_uint256)2_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)2_storage":{"base":"t_uint256","encoding":"inplace","label":"uint256[2]","numberOfBytes":"64"},"t_uint128":{"encoding":"inplace","label":"uint128","numberOfBytes":"16"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint64":{"encoding":"inplace","label":"uint64","numberOfBytes":"8"}}}}}},"sources":{"fileA":{"id":0}}} +{ + "contracts": + { + "fileA": + { + "A": + { + "storageLayout": + { + "storage": + [ + { + "astId": 3, + "contract": "fileA:A", + "label": "x", + "offset": 0, + "slot": "0", + "type": "t_uint64" + }, + { + "astId": 5, + "contract": "fileA:A", + "label": "y", + "offset": 8, + "slot": "0", + "type": "t_uint128" + }, + { + "astId": 7, + "contract": "fileA:A", + "label": "z", + "offset": 0, + "slot": "1", + "type": "t_uint128" + }, + { + "astId": 9, + "contract": "fileA:A", + "label": "addr", + "offset": 0, + "slot": "2", + "type": "t_address" + }, + { + "astId": 13, + "contract": "fileA:A", + "label": "array", + "offset": 0, + "slot": "3", + "type": "t_array(t_uint256)2_storage" + } + ], + "types": + { + "t_address": + { + "encoding": "inplace", + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)2_storage": + { + "base": "t_uint256", + "encoding": "inplace", + "label": "uint256[2]", + "numberOfBytes": "64" + }, + "t_uint128": + { + "encoding": "inplace", + "label": "uint128", + "numberOfBytes": "16" + }, + "t_uint256": + { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint64": + { + "encoding": "inplace", + "label": "uint64", + "numberOfBytes": "8" + } + } + } + } + } + }, + "sources": + { + "fileA": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/yul_string_format_ascii/output.json b/test/cmdlineTests/yul_string_format_ascii/output.json index 4bc66584c..aa830d1ab 100644 --- a/test/cmdlineTests/yul_string_format_ascii/output.json +++ b/test/cmdlineTests/yul_string_format_ascii/output.json @@ -1,4 +1,11 @@ -{"contracts":{"A":{"C":{"ir":" +{ + "contracts": + { + "A": + { + "C": + { + "ir": " /// @use-src 0:\"A\" object \"C_11\" { code { @@ -208,4 +215,15 @@ object \"C_11\" { } -"}}},"sources":{"A":{"id":0}}} +" + } + } + }, + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/yul_string_format_ascii_bytes32/output.json b/test/cmdlineTests/yul_string_format_ascii_bytes32/output.json index a5aaa8633..bfe775ca4 100644 --- a/test/cmdlineTests/yul_string_format_ascii_bytes32/output.json +++ b/test/cmdlineTests/yul_string_format_ascii_bytes32/output.json @@ -1,4 +1,11 @@ -{"contracts":{"A":{"C":{"ir":" +{ + "contracts": + { + "A": + { + "C": + { + "ir": " /// @use-src 0:\"A\" object \"C_11\" { code { @@ -136,4 +143,15 @@ object \"C_11\" { } -"}}},"sources":{"A":{"id":0}}} +" + } + } + }, + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/yul_string_format_ascii_bytes32_from_number/output.json b/test/cmdlineTests/yul_string_format_ascii_bytes32_from_number/output.json index 4cb4408ca..f4b14aadc 100644 --- a/test/cmdlineTests/yul_string_format_ascii_bytes32_from_number/output.json +++ b/test/cmdlineTests/yul_string_format_ascii_bytes32_from_number/output.json @@ -1,4 +1,11 @@ -{"contracts":{"A":{"C":{"ir":" +{ + "contracts": + { + "A": + { + "C": + { + "ir": " /// @use-src 0:\"A\" object \"C_11\" { code { @@ -149,4 +156,15 @@ object \"C_11\" { } -"}}},"sources":{"A":{"id":0}}} +" + } + } + }, + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/yul_string_format_ascii_long/output.json b/test/cmdlineTests/yul_string_format_ascii_long/output.json index 68f033773..348e5a0b5 100644 --- a/test/cmdlineTests/yul_string_format_ascii_long/output.json +++ b/test/cmdlineTests/yul_string_format_ascii_long/output.json @@ -1,4 +1,11 @@ -{"contracts":{"A":{"C":{"ir":" +{ + "contracts": + { + "A": + { + "C": + { + "ir": " /// @use-src 0:\"A\" object \"C_11\" { code { @@ -212,4 +219,15 @@ object \"C_11\" { } -"}}},"sources":{"A":{"id":0}}} +" + } + } + }, + "sources": + { + "A": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/yul_string_format_hex/output.json b/test/cmdlineTests/yul_string_format_hex/output.json index a4e1b1463..5568fc7a0 100644 --- a/test/cmdlineTests/yul_string_format_hex/output.json +++ b/test/cmdlineTests/yul_string_format_hex/output.json @@ -1,4 +1,11 @@ -{"contracts":{"A":{"C":{"ir":" +{ + "contracts": + { + "A": + { + "C": + { + "ir": " /// @use-src 0:\"A\" object \"C_11\" { code { @@ -149,4 +156,15 @@ object \"C_11\" { } -"}}},"sources":{"A":{"id":0}}} +" + } + } + }, + "sources": + { + "A": + { + "id": 0 + } + } +} From b0a729aab8e7a2a2b2d5819dbadd5ef2ce33ddb6 Mon Sep 17 00:00:00 2001 From: George Plotnikov Date: Wed, 26 Oct 2022 15:14:05 +0500 Subject: [PATCH 3/3] adding a point about expectations to checklist --- ReviewChecklist.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ReviewChecklist.md b/ReviewChecklist.md index 1c572cd0d..2f4860fb8 100644 --- a/ReviewChecklist.md +++ b/ReviewChecklist.md @@ -26,6 +26,13 @@ It is also meant to serve as a final checklist for reviewers to go through befor - [ ] Avoid basing PRs from forks on branches other than `develop` or `breaking` because GitHub closes them when the base branch gets merged. Do this only for PRs created directly in the main repo. +- [ ] **Does the PR update test expectations to match the modified code?** If not, your PR will not pass some of the `_soltest_`, jobs in CI. + In many cases the expectations can be updated automatically: + - `cmdlineTests.sh --update` for command-line tests. + - `isoltest --enforce-gas-cost --accept-updates` for soltest-based tests. + - If your PR affects gas costs, an extra run of `isoltest --enforce-gas-cost --optimize --accept-updates` is needed to update gas expectations with optimizer enabled. + - Review updated files before committing them. + **Are expectations correct and do updated tests still serve their purpose?** ## Coding Style and Good Practices - [ ] Does the PR follow our [coding style](CODING_STYLE.md)? @@ -127,8 +134,6 @@ The following points are all covered by the coding style but come up so often th - [ ] **Do not include version pragma and the SPDX comment in semantic and syntax test cases**. In other test types include them if necessary to suppress warnings. - [ ] **If you have to use a version pragma, avoid hard-coding version.** Use `pragma solidity *`. -- [ ] **Add `--pretty-print --pretty-json 4` to the `args` file of in command-line tests** to get - readable, indented output. - [ ] **When writing StandardJSON command-line tests, use `urls` instead of `content`** and put the Solidity or Yul code in a separate file.