From d89e9b9c7fceb4af25e6a4b6612a0bef621f6ce9 Mon Sep 17 00:00:00 2001 From: Djordje Mijovic Date: Tue, 30 Mar 2021 15:54:14 +0200 Subject: [PATCH] Updating cmdline tests to include origin source locations. --- .../combined_json_generated_sources/output | 48 +++++++++---------- test/cmdlineTests/exp_base_literal/output | 42 ++++++++++++++++ .../standard_generatedSources/output.json | 2 +- .../output.json | 2 +- .../standard_viair_requested/output.json | 1 + test/cmdlineTests/strict_asm_jump/err | 2 +- test/cmdlineTests/viair_abicoder_v1/output | 1 + .../output.json | 1 + .../yul_string_format_hex/output.json | 1 + 9 files changed, 73 insertions(+), 27 deletions(-) diff --git a/test/cmdlineTests/combined_json_generated_sources/output b/test/cmdlineTests/combined_json_generated_sources/output index cd8272f8e..d65ba3935 100644 --- a/test/cmdlineTests/combined_json_generated_sources/output +++ b/test/cmdlineTests/combined_json_generated_sources/output @@ -51,7 +51,7 @@ { "name": "revert", "nodeType": "YulIdentifier", - "src": "165:6:1" + "src": "165:12:1" }, "nodeType": "YulFunctionCall", "src": "165:12:1" @@ -88,7 +88,7 @@ { "name": "add", "nodeType": "YulIdentifier", - "src": "138:3:1" + "src": "138:17:1" }, "nodeType": "YulFunctionCall", "src": "138:17:1" @@ -103,7 +103,7 @@ { "name": "slt", "nodeType": "YulIdentifier", - "src": "134:3:1" + "src": "134:27:1" }, "nodeType": "YulFunctionCall", "src": "134:27:1" @@ -113,7 +113,7 @@ { "name": "iszero", "nodeType": "YulIdentifier", - "src": "127:6:1" + "src": "127:35:1" }, "nodeType": "YulFunctionCall", "src": "127:35:1" @@ -138,7 +138,7 @@ { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "198:12:1" + "src": "198:20:1" }, "nodeType": "YulFunctionCall", "src": "198:20:1" @@ -148,7 +148,7 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "188:6:1" + "src": "188:30:1" } ] }, @@ -183,7 +183,7 @@ { "name": "revert", "nodeType": "YulIdentifier", - "src": "263:6:1" + "src": "263:12:1" }, "nodeType": "YulFunctionCall", "src": "263:12:1" @@ -214,7 +214,7 @@ { "name": "gt", "nodeType": "YulIdentifier", - "src": "230:2:1" + "src": "230:30:1" }, "nodeType": "YulFunctionCall", "src": "230:30:1" @@ -246,7 +246,7 @@ { "name": "add", "nodeType": "YulIdentifier", - "src": "298:3:1" + "src": "298:17:1" }, "nodeType": "YulFunctionCall", "src": "298:17:1" @@ -256,7 +256,7 @@ { "name": "arrayPos", "nodeType": "YulIdentifier", - "src": "286:8:1" + "src": "286:29:1" } ] }, @@ -291,7 +291,7 @@ { "name": "revert", "nodeType": "YulIdentifier", - "src": "371:6:1" + "src": "371:12:1" }, "nodeType": "YulFunctionCall", "src": "371:12:1" @@ -333,7 +333,7 @@ { "name": "mul", "nodeType": "YulIdentifier", - "src": "344:3:1" + "src": "344:17:1" }, "nodeType": "YulFunctionCall", "src": "344:17:1" @@ -343,7 +343,7 @@ { "name": "add", "nodeType": "YulIdentifier", - "src": "330:3:1" + "src": "330:32:1" }, "nodeType": "YulFunctionCall", "src": "330:32:1" @@ -358,7 +358,7 @@ { "name": "gt", "nodeType": "YulIdentifier", - "src": "327:2:1" + "src": "327:41:1" }, "nodeType": "YulFunctionCall", "src": "327:41:1" @@ -440,7 +440,7 @@ { "name": "revert", "nodeType": "YulIdentifier", - "src": "546:6:1" + "src": "546:12:1" }, "nodeType": "YulFunctionCall", "src": "546:12:1" @@ -472,7 +472,7 @@ { "name": "sub", "nodeType": "YulIdentifier", - "src": "515:3:1" + "src": "515:23:1" }, "nodeType": "YulFunctionCall", "src": "515:23:1" @@ -489,7 +489,7 @@ { "name": "slt", "nodeType": "YulIdentifier", - "src": "511:3:1" + "src": "511:32:1" }, "nodeType": "YulFunctionCall", "src": "511:32:1" @@ -529,7 +529,7 @@ { "name": "add", "nodeType": "YulIdentifier", - "src": "612:3:1" + "src": "612:17:1" }, "nodeType": "YulFunctionCall", "src": "612:17:1" @@ -539,7 +539,7 @@ { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "599:12:1" + "src": "599:31:1" }, "nodeType": "YulFunctionCall", "src": "599:31:1" @@ -585,7 +585,7 @@ { "name": "revert", "nodeType": "YulIdentifier", - "src": "679:6:1" + "src": "679:12:1" }, "nodeType": "YulFunctionCall", "src": "679:12:1" @@ -616,7 +616,7 @@ { "name": "gt", "nodeType": "YulIdentifier", - "src": "646:2:1" + "src": "646:30:1" }, "nodeType": "YulFunctionCall", "src": "646:30:1" @@ -649,7 +649,7 @@ { "name": "add", "nodeType": "YulIdentifier", - "src": "773:3:1" + "src": "773:22:1" }, "nodeType": "YulFunctionCall", "src": "773:22:1" @@ -664,7 +664,7 @@ { "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", "nodeType": "YulIdentifier", - "src": "725:47:1" + "src": "725:80:1" }, "nodeType": "YulFunctionCall", "src": "725:80:1" @@ -674,7 +674,7 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "707:6:1" + "src": "707:98:1" }, { "name": "value1", diff --git a/test/cmdlineTests/exp_base_literal/output b/test/cmdlineTests/exp_base_literal/output index d75851fd4..df5e2df2c 100644 --- a/test/cmdlineTests/exp_base_literal/output +++ b/test/cmdlineTests/exp_base_literal/output @@ -209,68 +209,110 @@ object "C_81" { var__19 := zero_t_uint256_4 let expr_23 := 0x02 + /// @origin exp_base_literal/input.sol:199,200 let _5 := var_a_4 let expr_24 := _5 + /// @origin exp_base_literal/input.sol:196,200 let _6 := convert_t_rational_2_by_1_to_t_uint256(expr_23) let expr_25 := checked_exp_t_rational_2_by_1_t_uint256(expr_24) + /// @origin exp_base_literal/input.sol:187,200 let var_w_22 := expr_25 + /// @origin exp_base_literal/input.sol:212,219 let expr_29 := 0x02 + /// @origin exp_base_literal/input.sol:213,215 let expr_30 := 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe + /// @origin exp_base_literal/input.sol:212,216 let expr_31 := expr_30 + /// @origin exp_base_literal/input.sol:218,219 let _7 := var_b_6 let expr_32 := _7 + /// @origin exp_base_literal/input.sol:212,219 let _8 := convert_t_rational_minus_2_by_1_to_t_int256(expr_31) let expr_33 := checked_exp_t_rational_minus_2_by_1_t_uint256(expr_32) + /// @origin exp_base_literal/input.sol:204,219 let var_x_28 := expr_33 + /// @origin exp_base_literal/input.sol:232,237 let expr_37 := 0x0a + /// @origin exp_base_literal/input.sol:236,237 let _9 := var_c_8 let expr_38 := _9 + /// @origin exp_base_literal/input.sol:232,237 let _10 := convert_t_rational_10_by_1_to_t_uint256(expr_37) let expr_39 := checked_exp_t_rational_10_by_1_t_uint256(expr_38) + /// @origin exp_base_literal/input.sol:223,237 let var_y_36 := expr_39 + /// @origin exp_base_literal/input.sol:250,265 let expr_47 := 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + /// @origin exp_base_literal/input.sol:250,262 let expr_48 := expr_47 + /// @origin exp_base_literal/input.sol:264,265 let _11 := var_d_10 let expr_49 := _11 + /// @origin exp_base_literal/input.sol:250,265 let _12 := convert_t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1_to_t_uint256(expr_48) let expr_50 := checked_exp_t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1_t_uint256(expr_49) + /// @origin exp_base_literal/input.sol:241,265 let var_z_42 := expr_50 + /// @origin exp_base_literal/input.sol:307,313 let expr_53 := 0x00 + /// @origin exp_base_literal/input.sol:307,310 let expr_54 := expr_53 + /// @origin exp_base_literal/input.sol:312,313 let _13 := var_a_4 let expr_55 := _13 + /// @origin exp_base_literal/input.sol:307,313 let _14 := convert_t_rational_0_by_1_to_t_uint256(expr_54) let expr_56 := checked_exp_t_rational_0_by_1_t_uint256(expr_55) + /// @origin exp_base_literal/input.sol:303,313 var_w_22 := expr_56 let expr_57 := expr_56 + /// @origin exp_base_literal/input.sol:321,328 let expr_60 := 0x01 + /// @origin exp_base_literal/input.sol:322,324 let expr_61 := 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + /// @origin exp_base_literal/input.sol:321,325 let expr_62 := expr_61 + /// @origin exp_base_literal/input.sol:327,328 let _15 := var_b_6 let expr_63 := _15 + /// @origin exp_base_literal/input.sol:321,328 let _16 := convert_t_rational_minus_1_by_1_to_t_int256(expr_62) let expr_64 := checked_exp_t_rational_minus_1_by_1_t_uint256(expr_63) + /// @origin exp_base_literal/input.sol:317,328 var_x_28 := expr_64 let expr_65 := expr_64 + /// @origin exp_base_literal/input.sol:336,340 let expr_68 := 0x01 + /// @origin exp_base_literal/input.sol:339,340 let _17 := var_c_8 let expr_69 := _17 + /// @origin exp_base_literal/input.sol:336,340 let _18 := convert_t_rational_1_by_1_to_t_uint256(expr_68) let expr_70 := checked_exp_t_rational_1_by_1_t_uint256(expr_69) + /// @origin exp_base_literal/input.sol:332,340 var_y_36 := expr_70 let expr_71 := expr_70 + /// @origin exp_base_literal/input.sol:352,364 let _19 := var_w_22 let expr_73 := _19 + /// @origin exp_base_literal/input.sol:352,364 let expr_77_component_1 := expr_73 + /// @origin exp_base_literal/input.sol:356,357 let _20 := var_x_28 let expr_74 := _20 + /// @origin exp_base_literal/input.sol:352,364 let expr_77_component_2 := expr_74 + /// @origin exp_base_literal/input.sol:359,360 let _21 := var_y_36 let expr_75 := _21 + /// @origin exp_base_literal/input.sol:352,364 let expr_77_component_3 := expr_75 + /// @origin exp_base_literal/input.sol:362,363 let _22 := var_z_42 let expr_76 := _22 + /// @origin exp_base_literal/input.sol:352,364 let expr_77_component_4 := expr_76 + /// @origin exp_base_literal/input.sol:345,364 var__13 := expr_77_component_1 var__15 := expr_77_component_2 var__17 := expr_77_component_3 diff --git a/test/cmdlineTests/standard_generatedSources/output.json b/test/cmdlineTests/standard_generatedSources/output.json index 0a9f12669..4986c1f0e 100644 --- a/test/cmdlineTests/standard_generatedSources/output.json +++ b/test/cmdlineTests/standard_generatedSources/output.json @@ -1,4 +1,4 @@ -{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3241:1","statements":[{"body":{"nodeType":"YulBlock","src":"126:553:1","statements":[{"nodeType":"YulAssignment","src":"136:90:1","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"218:6:1"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"161:56:1"},"nodeType":"YulFunctionCall","src":"161:64:1"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"145:15:1"},"nodeType":"YulFunctionCall","src":"145:81:1"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"136:5:1"}]},{"nodeType":"YulVariableDeclaration","src":"235:16:1","value":{"name":"array","nodeType":"YulIdentifier","src":"246:5:1"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"239:3:1","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"268:5:1"},{"name":"length","nodeType":"YulIdentifier","src":"275:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"261:6:1"},"nodeType":"YulFunctionCall","src":"261:21:1"},"nodeType":"YulExpressionStatement","src":"261:21:1"},{"nodeType":"YulAssignment","src":"291:23:1","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"302:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"309:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"298:3:1"},"nodeType":"YulFunctionCall","src":"298:16:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"291:3:1"}]},{"nodeType":"YulVariableDeclaration","src":"324:17:1","value":{"name":"offset","nodeType":"YulIdentifier","src":"335:6:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"328:3:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"390:36:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"411:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"414:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"404:6:1"},"nodeType":"YulFunctionCall","src":"404:12:1"},"nodeType":"YulExpressionStatement","src":"404:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"360:3:1"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"369:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"377:4:1","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"365:3:1"},"nodeType":"YulFunctionCall","src":"365:17:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"356:3:1"},"nodeType":"YulFunctionCall","src":"356:27:1"},{"name":"end","nodeType":"YulIdentifier","src":"385:3:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"353:2:1"},"nodeType":"YulFunctionCall","src":"353:36:1"},"nodeType":"YulIf","src":"350:2:1"},{"body":{"nodeType":"YulBlock","src":"495:178:1","statements":[{"nodeType":"YulVariableDeclaration","src":"510:21:1","value":{"name":"src","nodeType":"YulIdentifier","src":"528:3:1"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"514:10:1","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"552:3:1"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"578:10:1"},{"name":"end","nodeType":"YulIdentifier","src":"590:3:1"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"557:20:1"},"nodeType":"YulFunctionCall","src":"557:37:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"545:6:1"},"nodeType":"YulFunctionCall","src":"545:50:1"},"nodeType":"YulExpressionStatement","src":"545:50:1"},{"nodeType":"YulAssignment","src":"608:21:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"619:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"624:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"615:3:1"},"nodeType":"YulFunctionCall","src":"615:14:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"608:3:1"}]},{"nodeType":"YulAssignment","src":"642:21:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"653:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"658:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"649:3:1"},"nodeType":"YulFunctionCall","src":"649:14:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"642:3:1"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"457:1:1"},{"name":"length","nodeType":"YulIdentifier","src":"460:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"454:2:1"},"nodeType":"YulFunctionCall","src":"454:13:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"468:18:1","statements":[{"nodeType":"YulAssignment","src":"470:14:1","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"479:1:1"},{"kind":"number","nodeType":"YulLiteral","src":"482:1:1","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"475:3:1"},"nodeType":"YulFunctionCall","src":"475:9:1"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"470:1:1"}]}]},"pre":{"nodeType":"YulBlock","src":"439:14:1","statements":[{"nodeType":"YulVariableDeclaration","src":"441:10:1","value":{"kind":"number","nodeType":"YulLiteral","src":"450:1:1","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"445:1:1","type":""}]}]},"src":"435:238:1"}]},"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"96:6:1","type":""},{"name":"length","nodeType":"YulTypedName","src":"104:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"112:3:1","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"120:5:1","type":""}],"src":"24:655:1"},{"body":{"nodeType":"YulBlock","src":"779:226:1","statements":[{"body":{"nodeType":"YulBlock","src":"828:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"837:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"840:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"830:6:1"},"nodeType":"YulFunctionCall","src":"830:12:1"},"nodeType":"YulExpressionStatement","src":"830:12:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"807:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"815:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"803:3:1"},"nodeType":"YulFunctionCall","src":"803:17:1"},{"name":"end","nodeType":"YulIdentifier","src":"822:3:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"799:3:1"},"nodeType":"YulFunctionCall","src":"799:27:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"792:6:1"},"nodeType":"YulFunctionCall","src":"792:35:1"},"nodeType":"YulIf","src":"789:2:1"},{"nodeType":"YulVariableDeclaration","src":"853:34:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"880:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"867:12:1"},"nodeType":"YulFunctionCall","src":"867:20:1"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"857:6:1","type":""}]},{"nodeType":"YulAssignment","src":"896:103:1","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"972:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"980:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"968:3:1"},"nodeType":"YulFunctionCall","src":"968:17:1"},{"name":"length","nodeType":"YulIdentifier","src":"987:6:1"},{"name":"end","nodeType":"YulIdentifier","src":"995:3:1"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"905:62:1"},"nodeType":"YulFunctionCall","src":"905:94:1"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"896:5:1"}]}]},"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"757:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"765:3:1","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"773:5:1","type":""}],"src":"702:303:1"},{"body":{"nodeType":"YulBlock","src":"1063:87:1","statements":[{"nodeType":"YulAssignment","src":"1073:29:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1095:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1082:12:1"},"nodeType":"YulFunctionCall","src":"1082:20:1"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1073:5:1"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1138:5:1"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1111:26:1"},"nodeType":"YulFunctionCall","src":"1111:33:1"},"nodeType":"YulExpressionStatement","src":"1111:33:1"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1041:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"1049:3:1","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1057:5:1","type":""}],"src":"1011:139:1"},{"body":{"nodeType":"YulBlock","src":"1247:314:1","statements":[{"body":{"nodeType":"YulBlock","src":"1293:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1302:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1305:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1295:6:1"},"nodeType":"YulFunctionCall","src":"1295:12:1"},"nodeType":"YulExpressionStatement","src":"1295:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1268:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"1277:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1264:3:1"},"nodeType":"YulFunctionCall","src":"1264:23:1"},{"kind":"number","nodeType":"YulLiteral","src":"1289:2:1","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1260:3:1"},"nodeType":"YulFunctionCall","src":"1260:32:1"},"nodeType":"YulIf","src":"1257:2:1"},{"nodeType":"YulBlock","src":"1319:235:1","statements":[{"nodeType":"YulVariableDeclaration","src":"1334:45:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1365:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1376:1:1","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1361:3:1"},"nodeType":"YulFunctionCall","src":"1361:17:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1348:12:1"},"nodeType":"YulFunctionCall","src":"1348:31:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1338:6:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1426:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1435:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1438:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1428:6:1"},"nodeType":"YulFunctionCall","src":"1428:12:1"},"nodeType":"YulExpressionStatement","src":"1428:12:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1398:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"1406:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1395:2:1"},"nodeType":"YulFunctionCall","src":"1395:30:1"},"nodeType":"YulIf","src":"1392:2:1"},{"nodeType":"YulAssignment","src":"1456:88:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1516:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"1527:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1512:3:1"},"nodeType":"YulFunctionCall","src":"1512:22:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1536:7:1"}],"functionName":{"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"1466:45:1"},"nodeType":"YulFunctionCall","src":"1466:78:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1456:6:1"}]}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1217:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1228:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1240:6:1","type":""}],"src":"1156:405:1"},{"body":{"nodeType":"YulBlock","src":"1632:53:1","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1649:3:1"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1672:5:1"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"1654:17:1"},"nodeType":"YulFunctionCall","src":"1654:24:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1642:6:1"},"nodeType":"YulFunctionCall","src":"1642:37:1"},"nodeType":"YulExpressionStatement","src":"1642:37:1"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1620:5:1","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1627:3:1","type":""}],"src":"1567:118:1"},{"body":{"nodeType":"YulBlock","src":"1789:124:1","statements":[{"nodeType":"YulAssignment","src":"1799:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1811:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1822:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1807:3:1"},"nodeType":"YulFunctionCall","src":"1807:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1799:4:1"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1879:6:1"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1892:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1903:1:1","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1888:3:1"},"nodeType":"YulFunctionCall","src":"1888:17:1"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"1835:43:1"},"nodeType":"YulFunctionCall","src":"1835:71:1"},"nodeType":"YulExpressionStatement","src":"1835:71:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1761:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1773:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1784:4:1","type":""}],"src":"1691:222:1"},{"body":{"nodeType":"YulBlock","src":"1960:88:1","statements":[{"nodeType":"YulAssignment","src":"1970:30:1","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"1980:18:1"},"nodeType":"YulFunctionCall","src":"1980:20:1"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1970:6:1"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2029:6:1"},{"name":"size","nodeType":"YulIdentifier","src":"2037:4:1"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"2009:19:1"},"nodeType":"YulFunctionCall","src":"2009:33:1"},"nodeType":"YulExpressionStatement","src":"2009:33:1"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"1944:4:1","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1953:6:1","type":""}],"src":"1919:129:1"},{"body":{"nodeType":"YulBlock","src":"2094:35:1","statements":[{"nodeType":"YulAssignment","src":"2104:19:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2120:2:1","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2114:5:1"},"nodeType":"YulFunctionCall","src":"2114:9:1"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2104:6:1"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2087:6:1","type":""}],"src":"2054:75:1"},{"body":{"nodeType":"YulBlock","src":"2217:229:1","statements":[{"body":{"nodeType":"YulBlock","src":"2322:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2324:16:1"},"nodeType":"YulFunctionCall","src":"2324:18:1"},"nodeType":"YulExpressionStatement","src":"2324:18:1"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2294:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2302:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2291:2:1"},"nodeType":"YulFunctionCall","src":"2291:30:1"},"nodeType":"YulIf","src":"2288:2:1"},{"nodeType":"YulAssignment","src":"2354:25:1","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2366:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2374:4:1","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2362:3:1"},"nodeType":"YulFunctionCall","src":"2362:17:1"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"2354:4:1"}]},{"nodeType":"YulAssignment","src":"2416:23:1","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"2428:4:1"},{"kind":"number","nodeType":"YulLiteral","src":"2434:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2424:3:1"},"nodeType":"YulFunctionCall","src":"2424:15:1"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"2416:4:1"}]}]},"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"2201:6:1","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"2212:4:1","type":""}],"src":"2135:311:1"},{"body":{"nodeType":"YulBlock","src":"2497:32:1","statements":[{"nodeType":"YulAssignment","src":"2507:16:1","value":{"name":"value","nodeType":"YulIdentifier","src":"2518:5:1"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2507:7:1"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2479:5:1","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2489:7:1","type":""}],"src":"2452:77:1"},{"body":{"nodeType":"YulBlock","src":"2578:238:1","statements":[{"nodeType":"YulVariableDeclaration","src":"2588:58:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2610:6:1"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"2640:4:1"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"2618:21:1"},"nodeType":"YulFunctionCall","src":"2618:27:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2606:3:1"},"nodeType":"YulFunctionCall","src":"2606:40:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"2592:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"2757:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2759:16:1"},"nodeType":"YulFunctionCall","src":"2759:18:1"},"nodeType":"YulExpressionStatement","src":"2759:18:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2700:10:1"},{"kind":"number","nodeType":"YulLiteral","src":"2712:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2697:2:1"},"nodeType":"YulFunctionCall","src":"2697:34:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2736:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"2748:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2733:2:1"},"nodeType":"YulFunctionCall","src":"2733:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2694:2:1"},"nodeType":"YulFunctionCall","src":"2694:62:1"},"nodeType":"YulIf","src":"2691:2:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2795:2:1","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2799:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2788:6:1"},"nodeType":"YulFunctionCall","src":"2788:22:1"},"nodeType":"YulExpressionStatement","src":"2788:22:1"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"2564:6:1","type":""},{"name":"size","nodeType":"YulTypedName","src":"2572:4:1","type":""}],"src":"2535:281:1"},{"body":{"nodeType":"YulBlock","src":"2850:152:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2867:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2870:77:1","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2860:6:1"},"nodeType":"YulFunctionCall","src":"2860:88:1"},"nodeType":"YulExpressionStatement","src":"2860:88:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2964:1:1","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2967:4:1","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2957:6:1"},"nodeType":"YulFunctionCall","src":"2957:15:1"},"nodeType":"YulExpressionStatement","src":"2957:15:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2988:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2991:4:1","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2981:6:1"},"nodeType":"YulFunctionCall","src":"2981:15:1"},"nodeType":"YulExpressionStatement","src":"2981:15:1"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"2822:180:1"},{"body":{"nodeType":"YulBlock","src":"3056:54:1","statements":[{"nodeType":"YulAssignment","src":"3066:38:1","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3084:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"3091:2:1","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3080:3:1"},"nodeType":"YulFunctionCall","src":"3080:14:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3100:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3096:3:1"},"nodeType":"YulFunctionCall","src":"3096:7:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3076:3:1"},"nodeType":"YulFunctionCall","src":"3076:28:1"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"3066:6:1"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3039:5:1","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"3049:6:1","type":""}],"src":"3008:102:1"},{"body":{"nodeType":"YulBlock","src":"3159:79:1","statements":[{"body":{"nodeType":"YulBlock","src":"3216:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3225:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3228:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3218:6:1"},"nodeType":"YulFunctionCall","src":"3218:12:1"},"nodeType":"YulExpressionStatement","src":"3218:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3182:5:1"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3207:5:1"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"3189:17:1"},"nodeType":"YulFunctionCall","src":"3189:24:1"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3179:2:1"},"nodeType":"YulFunctionCall","src":"3179:35:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3172:6:1"},"nodeType":"YulFunctionCall","src":"3172:43:1"},"nodeType":"YulIf","src":"3169:2:1"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3152:5:1","type":""}],"src":"3116:122:1"}]},"contents":"{ +{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3241:1","statements":[{"body":{"nodeType":"YulBlock","src":"126:553:1","statements":[{"nodeType":"YulAssignment","src":"136:90:1","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"218:6:1"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"161:64:1"},"nodeType":"YulFunctionCall","src":"161:64:1"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"145:81:1"},"nodeType":"YulFunctionCall","src":"145:81:1"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"136:90:1"}]},{"nodeType":"YulVariableDeclaration","src":"235:16:1","value":{"name":"array","nodeType":"YulIdentifier","src":"246:5:1"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"239:3:1","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"268:5:1"},{"name":"length","nodeType":"YulIdentifier","src":"275:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"261:21:1"},"nodeType":"YulFunctionCall","src":"261:21:1"},"nodeType":"YulExpressionStatement","src":"261:21:1"},{"nodeType":"YulAssignment","src":"291:23:1","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"302:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"309:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"298:16:1"},"nodeType":"YulFunctionCall","src":"298:16:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"291:23:1"}]},{"nodeType":"YulVariableDeclaration","src":"324:17:1","value":{"name":"offset","nodeType":"YulIdentifier","src":"335:6:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"328:3:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"390:36:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"411:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"414:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"404:12:1"},"nodeType":"YulFunctionCall","src":"404:12:1"},"nodeType":"YulExpressionStatement","src":"404:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"360:3:1"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"369:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"377:4:1","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"365:17:1"},"nodeType":"YulFunctionCall","src":"365:17:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"356:27:1"},"nodeType":"YulFunctionCall","src":"356:27:1"},{"name":"end","nodeType":"YulIdentifier","src":"385:3:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"353:36:1"},"nodeType":"YulFunctionCall","src":"353:36:1"},"nodeType":"YulIf","src":"350:2:1"},{"body":{"nodeType":"YulBlock","src":"495:178:1","statements":[{"nodeType":"YulVariableDeclaration","src":"510:21:1","value":{"name":"src","nodeType":"YulIdentifier","src":"528:3:1"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"514:10:1","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"552:3:1"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"578:10:1"},{"name":"end","nodeType":"YulIdentifier","src":"590:3:1"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"557:37:1"},"nodeType":"YulFunctionCall","src":"557:37:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"545:50:1"},"nodeType":"YulFunctionCall","src":"545:50:1"},"nodeType":"YulExpressionStatement","src":"545:50:1"},{"nodeType":"YulAssignment","src":"608:21:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"619:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"624:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"615:14:1"},"nodeType":"YulFunctionCall","src":"615:14:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"608:21:1"}]},{"nodeType":"YulAssignment","src":"642:21:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"653:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"658:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"649:14:1"},"nodeType":"YulFunctionCall","src":"649:14:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"642:21:1"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"457:1:1"},{"name":"length","nodeType":"YulIdentifier","src":"460:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"454:13:1"},"nodeType":"YulFunctionCall","src":"454:13:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"468:18:1","statements":[{"nodeType":"YulAssignment","src":"470:14:1","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"479:1:1"},{"kind":"number","nodeType":"YulLiteral","src":"482:1:1","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"475:9:1"},"nodeType":"YulFunctionCall","src":"475:9:1"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"470:14:1"}]}]},"pre":{"nodeType":"YulBlock","src":"439:14:1","statements":[{"nodeType":"YulVariableDeclaration","src":"441:10:1","value":{"kind":"number","nodeType":"YulLiteral","src":"450:1:1","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"445:1:1","type":""}]}]},"src":"435:238:1"}]},"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"96:6:1","type":""},{"name":"length","nodeType":"YulTypedName","src":"104:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"112:3:1","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"120:5:1","type":""}],"src":"24:655:1"},{"body":{"nodeType":"YulBlock","src":"779:226:1","statements":[{"body":{"nodeType":"YulBlock","src":"828:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"837:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"840:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"830:12:1"},"nodeType":"YulFunctionCall","src":"830:12:1"},"nodeType":"YulExpressionStatement","src":"830:12:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"807:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"815:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"803:17:1"},"nodeType":"YulFunctionCall","src":"803:17:1"},{"name":"end","nodeType":"YulIdentifier","src":"822:3:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"799:27:1"},"nodeType":"YulFunctionCall","src":"799:27:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"792:35:1"},"nodeType":"YulFunctionCall","src":"792:35:1"},"nodeType":"YulIf","src":"789:2:1"},{"nodeType":"YulVariableDeclaration","src":"853:34:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"880:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"867:20:1"},"nodeType":"YulFunctionCall","src":"867:20:1"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"857:6:1","type":""}]},{"nodeType":"YulAssignment","src":"896:103:1","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"972:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"980:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"968:17:1"},"nodeType":"YulFunctionCall","src":"968:17:1"},{"name":"length","nodeType":"YulIdentifier","src":"987:6:1"},{"name":"end","nodeType":"YulIdentifier","src":"995:3:1"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"905:94:1"},"nodeType":"YulFunctionCall","src":"905:94:1"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"896:103:1"}]}]},"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"757:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"765:3:1","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"773:5:1","type":""}],"src":"702:303:1"},{"body":{"nodeType":"YulBlock","src":"1063:87:1","statements":[{"nodeType":"YulAssignment","src":"1073:29:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1095:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1082:20:1"},"nodeType":"YulFunctionCall","src":"1082:20:1"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1073:29:1"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1138:5:1"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1111:33:1"},"nodeType":"YulFunctionCall","src":"1111:33:1"},"nodeType":"YulExpressionStatement","src":"1111:33:1"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1041:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"1049:3:1","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1057:5:1","type":""}],"src":"1011:139:1"},{"body":{"nodeType":"YulBlock","src":"1247:314:1","statements":[{"body":{"nodeType":"YulBlock","src":"1293:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1302:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1305:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1295:12:1"},"nodeType":"YulFunctionCall","src":"1295:12:1"},"nodeType":"YulExpressionStatement","src":"1295:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1268:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"1277:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1264:23:1"},"nodeType":"YulFunctionCall","src":"1264:23:1"},{"kind":"number","nodeType":"YulLiteral","src":"1289:2:1","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1260:32:1"},"nodeType":"YulFunctionCall","src":"1260:32:1"},"nodeType":"YulIf","src":"1257:2:1"},{"nodeType":"YulBlock","src":"1319:235:1","statements":[{"nodeType":"YulVariableDeclaration","src":"1334:45:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1365:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1376:1:1","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1361:17:1"},"nodeType":"YulFunctionCall","src":"1361:17:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1348:31:1"},"nodeType":"YulFunctionCall","src":"1348:31:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1338:6:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1426:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1435:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1438:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1428:12:1"},"nodeType":"YulFunctionCall","src":"1428:12:1"},"nodeType":"YulExpressionStatement","src":"1428:12:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1398:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"1406:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1395:30:1"},"nodeType":"YulFunctionCall","src":"1395:30:1"},"nodeType":"YulIf","src":"1392:2:1"},{"nodeType":"YulAssignment","src":"1456:88:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1516:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"1527:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1512:22:1"},"nodeType":"YulFunctionCall","src":"1512:22:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1536:7:1"}],"functionName":{"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"1466:78:1"},"nodeType":"YulFunctionCall","src":"1466:78:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1456:88:1"}]}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1217:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1228:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1240:6:1","type":""}],"src":"1156:405:1"},{"body":{"nodeType":"YulBlock","src":"1632:53:1","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1649:3:1"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1672:5:1"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"1654:24:1"},"nodeType":"YulFunctionCall","src":"1654:24:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1642:37:1"},"nodeType":"YulFunctionCall","src":"1642:37:1"},"nodeType":"YulExpressionStatement","src":"1642:37:1"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1620:5:1","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1627:3:1","type":""}],"src":"1567:118:1"},{"body":{"nodeType":"YulBlock","src":"1789:124:1","statements":[{"nodeType":"YulAssignment","src":"1799:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1811:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1822:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1807:18:1"},"nodeType":"YulFunctionCall","src":"1807:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1799:26:1"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1879:6:1"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1892:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1903:1:1","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1888:17:1"},"nodeType":"YulFunctionCall","src":"1888:17:1"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"1835:71:1"},"nodeType":"YulFunctionCall","src":"1835:71:1"},"nodeType":"YulExpressionStatement","src":"1835:71:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1761:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1773:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1784:4:1","type":""}],"src":"1691:222:1"},{"body":{"nodeType":"YulBlock","src":"1960:88:1","statements":[{"nodeType":"YulAssignment","src":"1970:30:1","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"1980:20:1"},"nodeType":"YulFunctionCall","src":"1980:20:1"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1970:30:1"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2029:6:1"},{"name":"size","nodeType":"YulIdentifier","src":"2037:4:1"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"2009:33:1"},"nodeType":"YulFunctionCall","src":"2009:33:1"},"nodeType":"YulExpressionStatement","src":"2009:33:1"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"1944:4:1","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1953:6:1","type":""}],"src":"1919:129:1"},{"body":{"nodeType":"YulBlock","src":"2094:35:1","statements":[{"nodeType":"YulAssignment","src":"2104:19:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2120:2:1","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2114:9:1"},"nodeType":"YulFunctionCall","src":"2114:9:1"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2104:19:1"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2087:6:1","type":""}],"src":"2054:75:1"},{"body":{"nodeType":"YulBlock","src":"2217:229:1","statements":[{"body":{"nodeType":"YulBlock","src":"2322:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2324:18:1"},"nodeType":"YulFunctionCall","src":"2324:18:1"},"nodeType":"YulExpressionStatement","src":"2324:18:1"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2294:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2302:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2291:30:1"},"nodeType":"YulFunctionCall","src":"2291:30:1"},"nodeType":"YulIf","src":"2288:2:1"},{"nodeType":"YulAssignment","src":"2354:25:1","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2366:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2374:4:1","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2362:17:1"},"nodeType":"YulFunctionCall","src":"2362:17:1"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"2354:25:1"}]},{"nodeType":"YulAssignment","src":"2416:23:1","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"2428:4:1"},{"kind":"number","nodeType":"YulLiteral","src":"2434:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2424:15:1"},"nodeType":"YulFunctionCall","src":"2424:15:1"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"2416:23:1"}]}]},"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"2201:6:1","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"2212:4:1","type":""}],"src":"2135:311:1"},{"body":{"nodeType":"YulBlock","src":"2497:32:1","statements":[{"nodeType":"YulAssignment","src":"2507:16:1","value":{"name":"value","nodeType":"YulIdentifier","src":"2518:5:1"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2507:16:1"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2479:5:1","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2489:7:1","type":""}],"src":"2452:77:1"},{"body":{"nodeType":"YulBlock","src":"2578:238:1","statements":[{"nodeType":"YulVariableDeclaration","src":"2588:58:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2610:6:1"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"2640:4:1"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"2618:27:1"},"nodeType":"YulFunctionCall","src":"2618:27:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2606:40:1"},"nodeType":"YulFunctionCall","src":"2606:40:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"2592:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"2757:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2759:18:1"},"nodeType":"YulFunctionCall","src":"2759:18:1"},"nodeType":"YulExpressionStatement","src":"2759:18:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2700:10:1"},{"kind":"number","nodeType":"YulLiteral","src":"2712:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2697:34:1"},"nodeType":"YulFunctionCall","src":"2697:34:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2736:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"2748:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2733:22:1"},"nodeType":"YulFunctionCall","src":"2733:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2694:62:1"},"nodeType":"YulFunctionCall","src":"2694:62:1"},"nodeType":"YulIf","src":"2691:2:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2795:2:1","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2799:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2788:22:1"},"nodeType":"YulFunctionCall","src":"2788:22:1"},"nodeType":"YulExpressionStatement","src":"2788:22:1"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"2564:6:1","type":""},{"name":"size","nodeType":"YulTypedName","src":"2572:4:1","type":""}],"src":"2535:281:1"},{"body":{"nodeType":"YulBlock","src":"2850:152:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2867:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2870:77:1","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2860:88:1"},"nodeType":"YulFunctionCall","src":"2860:88:1"},"nodeType":"YulExpressionStatement","src":"2860:88:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2964:1:1","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2967:4:1","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2957:15:1"},"nodeType":"YulFunctionCall","src":"2957:15:1"},"nodeType":"YulExpressionStatement","src":"2957:15:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2988:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2991:4:1","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2981:15:1"},"nodeType":"YulFunctionCall","src":"2981:15:1"},"nodeType":"YulExpressionStatement","src":"2981:15:1"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"2822:180:1"},{"body":{"nodeType":"YulBlock","src":"3056:54:1","statements":[{"nodeType":"YulAssignment","src":"3066:38:1","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3084:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"3091:2:1","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3080:14:1"},"nodeType":"YulFunctionCall","src":"3080:14:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3100:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3096:7:1"},"nodeType":"YulFunctionCall","src":"3096:7:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3076:28:1"},"nodeType":"YulFunctionCall","src":"3076:28:1"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"3066:38:1"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3039:5:1","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"3049:6:1","type":""}],"src":"3008:102:1"},{"body":{"nodeType":"YulBlock","src":"3159:79:1","statements":[{"body":{"nodeType":"YulBlock","src":"3216:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3225:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3228:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3218:12:1"},"nodeType":"YulFunctionCall","src":"3218:12:1"},"nodeType":"YulExpressionStatement","src":"3218:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3182:5:1"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3207:5:1"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"3189:24:1"},"nodeType":"YulFunctionCall","src":"3189:24:1"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3179:35:1"},"nodeType":"YulFunctionCall","src":"3179:35:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3172:43:1"},"nodeType":"YulFunctionCall","src":"3172:43:1"},"nodeType":"YulIf","src":"3169:2:1"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3152:5:1","type":""}],"src":"3116:122:1"}]},"contents":"{ // uint256[] function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array { diff --git a/test/cmdlineTests/standard_optimizer_generatedSources/output.json b/test/cmdlineTests/standard_optimizer_generatedSources/output.json index dd61856f7..a583de291 100644 --- a/test/cmdlineTests/standard_optimizer_generatedSources/output.json +++ b/test/cmdlineTests/standard_optimizer_generatedSources/output.json @@ -1,4 +1,4 @@ -{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1501:1","statements":[{"nodeType":"YulBlock","src":"6:3:1","statements":[]},{"body":{"nodeType":"YulBlock","src":"109:1076:1","statements":[{"nodeType":"YulVariableDeclaration","src":"119:12:1","value":{"kind":"number","nodeType":"YulLiteral","src":"129:2:1","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"123:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"176:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"185:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"193:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"178:6:1"},"nodeType":"YulFunctionCall","src":"178:22:1"},"nodeType":"YulExpressionStatement","src":"178:22:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"151:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"160:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"147:3:1"},"nodeType":"YulFunctionCall","src":"147:23:1"},{"name":"_1","nodeType":"YulIdentifier","src":"172:2:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"143:3:1"},"nodeType":"YulFunctionCall","src":"143:32:1"},"nodeType":"YulIf","src":"140:2:1"},{"nodeType":"YulVariableDeclaration","src":"211:37:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"238:9:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"225:12:1"},"nodeType":"YulFunctionCall","src":"225:23:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"215:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"257:28:1","value":{"kind":"number","nodeType":"YulLiteral","src":"267:18:1","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"261:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"312:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"321:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"329:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"314:6:1"},"nodeType":"YulFunctionCall","src":"314:22:1"},"nodeType":"YulExpressionStatement","src":"314:22:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"300:6:1"},{"name":"_2","nodeType":"YulIdentifier","src":"308:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"297:2:1"},"nodeType":"YulFunctionCall","src":"297:14:1"},"nodeType":"YulIf","src":"294:2:1"},{"nodeType":"YulVariableDeclaration","src":"347:32:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"361:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"372:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"357:3:1"},"nodeType":"YulFunctionCall","src":"357:22:1"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"351:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"427:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"436:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"444:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"429:6:1"},"nodeType":"YulFunctionCall","src":"429:22:1"},"nodeType":"YulExpressionStatement","src":"429:22:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"406:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"410:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"402:3:1"},"nodeType":"YulFunctionCall","src":"402:13:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"417:7:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"398:3:1"},"nodeType":"YulFunctionCall","src":"398:27:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"391:6:1"},"nodeType":"YulFunctionCall","src":"391:35:1"},"nodeType":"YulIf","src":"388:2:1"},{"nodeType":"YulVariableDeclaration","src":"462:26:1","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"485:2:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"472:12:1"},"nodeType":"YulFunctionCall","src":"472:16:1"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"466:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"511:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"513:16:1"},"nodeType":"YulFunctionCall","src":"513:18:1"},"nodeType":"YulExpressionStatement","src":"513:18:1"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"503:2:1"},{"name":"_2","nodeType":"YulIdentifier","src":"507:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"500:2:1"},"nodeType":"YulFunctionCall","src":"500:10:1"},"nodeType":"YulIf","src":"497:2:1"},{"nodeType":"YulVariableDeclaration","src":"542:20:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"556:1:1","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"559:2:1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"552:3:1"},"nodeType":"YulFunctionCall","src":"552:10:1"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"546:2:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"571:23:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"591:2:1","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"585:5:1"},"nodeType":"YulFunctionCall","src":"585:9:1"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"575:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"603:56:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"625:6:1"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"641:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"645:2:1","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"637:3:1"},"nodeType":"YulFunctionCall","src":"637:11:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"654:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"650:3:1"},"nodeType":"YulFunctionCall","src":"650:7:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"633:3:1"},"nodeType":"YulFunctionCall","src":"633:25:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"621:3:1"},"nodeType":"YulFunctionCall","src":"621:38:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"607:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"718:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"720:16:1"},"nodeType":"YulFunctionCall","src":"720:18:1"},"nodeType":"YulExpressionStatement","src":"720:18:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"677:10:1"},{"name":"_2","nodeType":"YulIdentifier","src":"689:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"674:2:1"},"nodeType":"YulFunctionCall","src":"674:18:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"697:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"709:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"694:2:1"},"nodeType":"YulFunctionCall","src":"694:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"671:2:1"},"nodeType":"YulFunctionCall","src":"671:46:1"},"nodeType":"YulIf","src":"668:2:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"756:2:1","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"760:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"749:6:1"},"nodeType":"YulFunctionCall","src":"749:22:1"},"nodeType":"YulExpressionStatement","src":"749:22:1"},{"nodeType":"YulVariableDeclaration","src":"780:17:1","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"791:6:1"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"784:3:1","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"813:6:1"},{"name":"_4","nodeType":"YulIdentifier","src":"821:2:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"806:6:1"},"nodeType":"YulFunctionCall","src":"806:18:1"},"nodeType":"YulExpressionStatement","src":"806:18:1"},{"nodeType":"YulAssignment","src":"833:22:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"844:6:1"},{"name":"_1","nodeType":"YulIdentifier","src":"852:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"840:3:1"},"nodeType":"YulFunctionCall","src":"840:15:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"833:3:1"}]},{"nodeType":"YulVariableDeclaration","src":"864:22:1","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"879:2:1"},{"name":"_1","nodeType":"YulIdentifier","src":"883:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"875:3:1"},"nodeType":"YulFunctionCall","src":"875:11:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"868:3:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"932:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"941:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"949:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"934:6:1"},"nodeType":"YulFunctionCall","src":"934:22:1"},"nodeType":"YulExpressionStatement","src":"934:22:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"909:2:1"},{"name":"_5","nodeType":"YulIdentifier","src":"913:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"905:3:1"},"nodeType":"YulFunctionCall","src":"905:11:1"},{"name":"_1","nodeType":"YulIdentifier","src":"918:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"901:3:1"},"nodeType":"YulFunctionCall","src":"901:20:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"923:7:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"898:2:1"},"nodeType":"YulFunctionCall","src":"898:33:1"},"nodeType":"YulIf","src":"895:2:1"},{"nodeType":"YulVariableDeclaration","src":"967:15:1","value":{"name":"value0","nodeType":"YulIdentifier","src":"976:6:1"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"971:1:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1036:118:1","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1057:3:1"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1075:3:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1062:12:1"},"nodeType":"YulFunctionCall","src":"1062:17:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1050:6:1"},"nodeType":"YulFunctionCall","src":"1050:30:1"},"nodeType":"YulExpressionStatement","src":"1050:30:1"},{"nodeType":"YulAssignment","src":"1093:19:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1104:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1109:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1100:3:1"},"nodeType":"YulFunctionCall","src":"1100:12:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1093:3:1"}]},{"nodeType":"YulAssignment","src":"1125:19:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1136:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1141:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1132:3:1"},"nodeType":"YulFunctionCall","src":"1132:12:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1125:3:1"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1002:1:1"},{"name":"_4","nodeType":"YulIdentifier","src":"1005:2:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"999:2:1"},"nodeType":"YulFunctionCall","src":"999:9:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1009:18:1","statements":[{"nodeType":"YulAssignment","src":"1011:14:1","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1020:1:1"},{"kind":"number","nodeType":"YulLiteral","src":"1023:1:1","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1016:3:1"},"nodeType":"YulFunctionCall","src":"1016:9:1"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1011:1:1"}]}]},"pre":{"nodeType":"YulBlock","src":"995:3:1","statements":[]},"src":"991:163:1"},{"nodeType":"YulAssignment","src":"1163:16:1","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1173:6:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1163:6:1"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"75:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"86:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"98:6:1","type":""}],"src":"14:1171:1"},{"body":{"nodeType":"YulBlock","src":"1291:76:1","statements":[{"nodeType":"YulAssignment","src":"1301:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1313:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1324:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1309:3:1"},"nodeType":"YulFunctionCall","src":"1309:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1301:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1343:9:1"},{"name":"value0","nodeType":"YulIdentifier","src":"1354:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1336:6:1"},"nodeType":"YulFunctionCall","src":"1336:25:1"},"nodeType":"YulExpressionStatement","src":"1336:25:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1260:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1271:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1282:4:1","type":""}],"src":"1190:177:1"},{"body":{"nodeType":"YulBlock","src":"1404:95:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1421:1:1","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1428:3:1","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1433:10:1","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1424:3:1"},"nodeType":"YulFunctionCall","src":"1424:20:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1414:6:1"},"nodeType":"YulFunctionCall","src":"1414:31:1"},"nodeType":"YulExpressionStatement","src":"1414:31:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1461:1:1","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1464:4:1","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1454:6:1"},"nodeType":"YulFunctionCall","src":"1454:15:1"},"nodeType":"YulExpressionStatement","src":"1454:15:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1485:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1488:4:1","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1478:6:1"},"nodeType":"YulFunctionCall","src":"1478:15:1"},"nodeType":"YulExpressionStatement","src":"1478:15:1"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"1372:127:1"}]},"contents":"{ +{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1501:1","statements":[{"nodeType":"YulBlock","src":"6:3:1","statements":[]},{"body":{"nodeType":"YulBlock","src":"109:1076:1","statements":[{"nodeType":"YulVariableDeclaration","src":"119:12:1","value":{"kind":"number","nodeType":"YulLiteral","src":"129:2:1","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"123:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"176:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"185:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"193:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"178:22:1"},"nodeType":"YulFunctionCall","src":"178:22:1"},"nodeType":"YulExpressionStatement","src":"178:22:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"151:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"160:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"147:23:1"},"nodeType":"YulFunctionCall","src":"147:23:1"},{"name":"_1","nodeType":"YulIdentifier","src":"172:2:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"143:32:1"},"nodeType":"YulFunctionCall","src":"143:32:1"},"nodeType":"YulIf","src":"140:2:1"},{"nodeType":"YulVariableDeclaration","src":"211:37:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"238:9:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"225:23:1"},"nodeType":"YulFunctionCall","src":"225:23:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"215:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"257:28:1","value":{"kind":"number","nodeType":"YulLiteral","src":"267:18:1","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"261:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"312:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"321:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"329:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"314:22:1"},"nodeType":"YulFunctionCall","src":"314:22:1"},"nodeType":"YulExpressionStatement","src":"314:22:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"300:6:1"},{"name":"_2","nodeType":"YulIdentifier","src":"308:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"297:14:1"},"nodeType":"YulFunctionCall","src":"297:14:1"},"nodeType":"YulIf","src":"294:2:1"},{"nodeType":"YulVariableDeclaration","src":"347:32:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"361:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"372:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"357:22:1"},"nodeType":"YulFunctionCall","src":"357:22:1"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"351:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"427:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"436:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"444:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"429:22:1"},"nodeType":"YulFunctionCall","src":"429:22:1"},"nodeType":"YulExpressionStatement","src":"429:22:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"406:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"410:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"402:13:1"},"nodeType":"YulFunctionCall","src":"402:13:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"417:7:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"398:27:1"},"nodeType":"YulFunctionCall","src":"398:27:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"391:35:1"},"nodeType":"YulFunctionCall","src":"391:35:1"},"nodeType":"YulIf","src":"388:2:1"},{"nodeType":"YulVariableDeclaration","src":"462:26:1","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"485:2:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"472:16:1"},"nodeType":"YulFunctionCall","src":"472:16:1"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"466:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"511:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"513:18:1"},"nodeType":"YulFunctionCall","src":"513:18:1"},"nodeType":"YulExpressionStatement","src":"513:18:1"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"503:2:1"},{"name":"_2","nodeType":"YulIdentifier","src":"507:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"500:10:1"},"nodeType":"YulFunctionCall","src":"500:10:1"},"nodeType":"YulIf","src":"497:2:1"},{"nodeType":"YulVariableDeclaration","src":"542:20:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"556:1:1","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"559:2:1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"552:10:1"},"nodeType":"YulFunctionCall","src":"552:10:1"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"546:2:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"571:23:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"591:2:1","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"585:9:1"},"nodeType":"YulFunctionCall","src":"585:9:1"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"575:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"603:56:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"625:6:1"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"641:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"645:2:1","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"637:11:1"},"nodeType":"YulFunctionCall","src":"637:11:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"654:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"650:7:1"},"nodeType":"YulFunctionCall","src":"650:7:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"633:25:1"},"nodeType":"YulFunctionCall","src":"633:25:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"621:38:1"},"nodeType":"YulFunctionCall","src":"621:38:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"607:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"718:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"720:18:1"},"nodeType":"YulFunctionCall","src":"720:18:1"},"nodeType":"YulExpressionStatement","src":"720:18:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"677:10:1"},{"name":"_2","nodeType":"YulIdentifier","src":"689:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"674:18:1"},"nodeType":"YulFunctionCall","src":"674:18:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"697:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"709:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"694:22:1"},"nodeType":"YulFunctionCall","src":"694:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"671:46:1"},"nodeType":"YulFunctionCall","src":"671:46:1"},"nodeType":"YulIf","src":"668:2:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"756:2:1","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"760:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"749:22:1"},"nodeType":"YulFunctionCall","src":"749:22:1"},"nodeType":"YulExpressionStatement","src":"749:22:1"},{"nodeType":"YulVariableDeclaration","src":"780:17:1","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"791:6:1"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"784:3:1","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"813:6:1"},{"name":"_4","nodeType":"YulIdentifier","src":"821:2:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"806:18:1"},"nodeType":"YulFunctionCall","src":"806:18:1"},"nodeType":"YulExpressionStatement","src":"806:18:1"},{"nodeType":"YulAssignment","src":"833:22:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"844:6:1"},{"name":"_1","nodeType":"YulIdentifier","src":"852:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"840:15:1"},"nodeType":"YulFunctionCall","src":"840:15:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"833:22:1"}]},{"nodeType":"YulVariableDeclaration","src":"864:22:1","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"879:2:1"},{"name":"_1","nodeType":"YulIdentifier","src":"883:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"875:11:1"},"nodeType":"YulFunctionCall","src":"875:11:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"868:3:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"932:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"941:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"949:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"934:22:1"},"nodeType":"YulFunctionCall","src":"934:22:1"},"nodeType":"YulExpressionStatement","src":"934:22:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"909:2:1"},{"name":"_5","nodeType":"YulIdentifier","src":"913:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"905:11:1"},"nodeType":"YulFunctionCall","src":"905:11:1"},{"name":"_1","nodeType":"YulIdentifier","src":"918:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"901:20:1"},"nodeType":"YulFunctionCall","src":"901:20:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"923:7:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"898:33:1"},"nodeType":"YulFunctionCall","src":"898:33:1"},"nodeType":"YulIf","src":"895:2:1"},{"nodeType":"YulVariableDeclaration","src":"967:15:1","value":{"name":"value0","nodeType":"YulIdentifier","src":"976:6:1"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"971:1:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1036:118:1","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1057:3:1"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1075:3:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1062:17:1"},"nodeType":"YulFunctionCall","src":"1062:17:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1050:30:1"},"nodeType":"YulFunctionCall","src":"1050:30:1"},"nodeType":"YulExpressionStatement","src":"1050:30:1"},{"nodeType":"YulAssignment","src":"1093:19:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1104:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1109:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1100:12:1"},"nodeType":"YulFunctionCall","src":"1100:12:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1093:19:1"}]},{"nodeType":"YulAssignment","src":"1125:19:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1136:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1141:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1132:12:1"},"nodeType":"YulFunctionCall","src":"1132:12:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1125:19:1"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1002:1:1"},{"name":"_4","nodeType":"YulIdentifier","src":"1005:2:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"999:9:1"},"nodeType":"YulFunctionCall","src":"999:9:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1009:18:1","statements":[{"nodeType":"YulAssignment","src":"1011:14:1","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1020:1:1"},{"kind":"number","nodeType":"YulLiteral","src":"1023:1:1","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1016:9:1"},"nodeType":"YulFunctionCall","src":"1016:9:1"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1011:14:1"}]}]},"pre":{"nodeType":"YulBlock","src":"995:3:1","statements":[]},"src":"991:163:1"},{"nodeType":"YulAssignment","src":"1163:16:1","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1173:6:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1163:16:1"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"75:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"86:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"98:6:1","type":""}],"src":"14:1171:1"},{"body":{"nodeType":"YulBlock","src":"1291:76:1","statements":[{"nodeType":"YulAssignment","src":"1301:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1313:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1324:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1309:18:1"},"nodeType":"YulFunctionCall","src":"1309:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1301:26:1"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1343:9:1"},{"name":"value0","nodeType":"YulIdentifier","src":"1354:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1336:25:1"},"nodeType":"YulFunctionCall","src":"1336:25:1"},"nodeType":"YulExpressionStatement","src":"1336:25:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1260:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1271:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1282:4:1","type":""}],"src":"1190:177:1"},{"body":{"nodeType":"YulBlock","src":"1404:95:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1421:1:1","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1428:3:1","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1433:10:1","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1424:20:1"},"nodeType":"YulFunctionCall","src":"1424:20:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1414:31:1"},"nodeType":"YulFunctionCall","src":"1414:31:1"},"nodeType":"YulExpressionStatement","src":"1414:31:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1461:1:1","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1464:4:1","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1454:15:1"},"nodeType":"YulFunctionCall","src":"1454:15:1"},"nodeType":"YulExpressionStatement","src":"1454:15:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1485:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1488:4:1","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1478:15:1"},"nodeType":"YulFunctionCall","src":"1478:15:1"},"nodeType":"YulExpressionStatement","src":"1478:15:1"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"1372:127:1"}]},"contents":"{ { } function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0 { diff --git a/test/cmdlineTests/standard_viair_requested/output.json b/test/cmdlineTests/standard_viair_requested/output.json index 6972dd5b2..7ba5022a4 100644 --- a/test/cmdlineTests/standard_viair_requested/output.json +++ b/test/cmdlineTests/standard_viair_requested/output.json @@ -125,6 +125,7 @@ object \"D_16\" { if iszero(expr_12_address) { revert_forward_1() } + /// @origin A:128,141 let var_c_8_address := expr_12_address } diff --git a/test/cmdlineTests/strict_asm_jump/err b/test/cmdlineTests/strict_asm_jump/err index 866361af4..1d329075c 100644 --- a/test/cmdlineTests/strict_asm_jump/err +++ b/test/cmdlineTests/strict_asm_jump/err @@ -3,4 +3,4 @@ Error: Function "jump" not found. --> strict_asm_jump/input.yul:1:3: | 1 | { jump(1) } - | ^^^^ + | ^^^^^^^ diff --git a/test/cmdlineTests/viair_abicoder_v1/output b/test/cmdlineTests/viair_abicoder_v1/output index af0c29b36..ae2935610 100644 --- a/test/cmdlineTests/viair_abicoder_v1/output +++ b/test/cmdlineTests/viair_abicoder_v1/output @@ -78,6 +78,7 @@ object "test_11" { var__5 := zero_t_bool_1 let expr_7 := 0x01 + /// @origin viair_abicoder_v1/input.sol:149,160 var__5 := expr_7 leave 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 a72e4db51..e4af855e3 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 @@ -85,6 +85,7 @@ object \"C_11\" { var__5 := zero_t_bytes4_1 let expr_7 := 0x61626364 + /// @origin A:137,154 var__5 := convert_t_rational_1633837924_by_1_to_t_bytes4(expr_7) leave diff --git a/test/cmdlineTests/yul_string_format_hex/output.json b/test/cmdlineTests/yul_string_format_hex/output.json index aa0d349ba..0b256a8af 100644 --- a/test/cmdlineTests/yul_string_format_hex/output.json +++ b/test/cmdlineTests/yul_string_format_hex/output.json @@ -85,6 +85,7 @@ object \"C_11\" { var__5 := zero_t_bytes4_1 let expr_7 := 0xaabbccdd + /// @origin A:137,154 var__5 := convert_t_rational_2864434397_by_1_to_t_bytes4(expr_7) leave