diff --git a/test/cmdlineTests/standard_generatedSources/args b/test/cmdlineTests/standard_generatedSources/args new file mode 100644 index 000000000..24d48faf2 --- /dev/null +++ b/test/cmdlineTests/standard_generatedSources/args @@ -0,0 +1 @@ +--pretty-json --json-indent 4 --allow-paths . diff --git a/test/cmdlineTests/standard_generatedSources/in.sol b/test/cmdlineTests/standard_generatedSources/in.sol new file mode 100644 index 000000000..3ba5dce22 --- /dev/null +++ b/test/cmdlineTests/standard_generatedSources/in.sol @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: GPL-3.0 +pragma solidity >=0.0; +pragma abicoder v2; + +contract A { + function f(uint[] memory) public view returns (uint256) {} +} diff --git a/test/cmdlineTests/standard_generatedSources/input.json b/test/cmdlineTests/standard_generatedSources/input.json index a179db435..fdb2a70e0 100644 --- a/test/cmdlineTests/standard_generatedSources/input.json +++ b/test/cmdlineTests/standard_generatedSources/input.json @@ -1,20 +1,18 @@ { - "language": "Solidity", - "sources": { - "a.sol": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma abicoder v2; contract A { function f(uint[] memory) public view returns (uint256) { } }" - } - }, - "settings": { - "evmVersion": "petersburg", - "outputSelection": { - "*": { - "A": [ - "evm.bytecode.object", - "evm.deployedBytecode.generatedSources", - "evm.bytecode.generatedSources" - ] - } - } - } + "language": "Solidity", + "sources": { + "a.sol": {"urls": ["standard_generatedSources/in.sol"]} + }, + "settings": { + "evmVersion": "petersburg", + "outputSelection": { + "*": { + "A": [ + "evm.bytecode.object", + "evm.deployedBytecode.generatedSources", + "evm.bytecode.generatedSources" + ] + } + } + } } diff --git a/test/cmdlineTests/standard_generatedSources/output.json b/test/cmdlineTests/standard_generatedSources/output.json index 05405ceab..fff0a16cd 100644 --- a/test/cmdlineTests/standard_generatedSources/output.json +++ b/test/cmdlineTests/standard_generatedSources/output.json @@ -1,4 +1,2351 @@ -{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3989:1","statements":[{"body":{"nodeType":"YulBlock","src":"47:35:1","statements":[{"nodeType":"YulAssignment","src":"57:19:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"73:2:1","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"67:5:1"},"nodeType":"YulFunctionCall","src":"67:9:1"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"57:6:1"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"40:6:1","type":""}],"src":"7:75:1"},{"body":{"nodeType":"YulBlock","src":"177:28:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"194:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"197:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"187:6:1"},"nodeType":"YulFunctionCall","src":"187:12:1"},"nodeType":"YulExpressionStatement","src":"187:12:1"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"88:117:1"},{"body":{"nodeType":"YulBlock","src":"300:28:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:1"},"nodeType":"YulFunctionCall","src":"310:12:1"},"nodeType":"YulExpressionStatement","src":"310:12:1"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"211:117:1"},{"body":{"nodeType":"YulBlock","src":"423:28:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"440:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"443:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"433:6:1"},"nodeType":"YulFunctionCall","src":"433:12:1"},"nodeType":"YulExpressionStatement","src":"433:12:1"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"334:117:1"},{"body":{"nodeType":"YulBlock","src":"505:54:1","statements":[{"nodeType":"YulAssignment","src":"515:38:1","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"533:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"540:2:1","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"529:3:1"},"nodeType":"YulFunctionCall","src":"529:14:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"549:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"545:3:1"},"nodeType":"YulFunctionCall","src":"545:7:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"525:3:1"},"nodeType":"YulFunctionCall","src":"525:28:1"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"515:6:1"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"488:5:1","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"498:6:1","type":""}],"src":"457:102:1"},{"body":{"nodeType":"YulBlock","src":"593:152:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"610:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"613:77:1","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"603:6:1"},"nodeType":"YulFunctionCall","src":"603:88:1"},"nodeType":"YulExpressionStatement","src":"603:88:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"707:1:1","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"710:4:1","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"700:6:1"},"nodeType":"YulFunctionCall","src":"700:15:1"},"nodeType":"YulExpressionStatement","src":"700:15:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"731:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"734:4:1","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"724:6:1"},"nodeType":"YulFunctionCall","src":"724:15:1"},"nodeType":"YulExpressionStatement","src":"724:15:1"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"565:180:1"},{"body":{"nodeType":"YulBlock","src":"794:238:1","statements":[{"nodeType":"YulVariableDeclaration","src":"804:58:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"826:6:1"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"856:4:1"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"834:21:1"},"nodeType":"YulFunctionCall","src":"834:27:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"822:3:1"},"nodeType":"YulFunctionCall","src":"822:40:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"808:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"973:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"975:16:1"},"nodeType":"YulFunctionCall","src":"975:18:1"},"nodeType":"YulExpressionStatement","src":"975:18:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"916:10:1"},{"kind":"number","nodeType":"YulLiteral","src":"928:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"913:2:1"},"nodeType":"YulFunctionCall","src":"913:34:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"952:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"964:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"949:2:1"},"nodeType":"YulFunctionCall","src":"949:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"910:2:1"},"nodeType":"YulFunctionCall","src":"910:62:1"},"nodeType":"YulIf","src":"907:88:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1011:2:1","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1015:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1004:6:1"},"nodeType":"YulFunctionCall","src":"1004:22:1"},"nodeType":"YulExpressionStatement","src":"1004:22:1"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"780:6:1","type":""},{"name":"size","nodeType":"YulTypedName","src":"788:4:1","type":""}],"src":"751:281:1"},{"body":{"nodeType":"YulBlock","src":"1079:88:1","statements":[{"nodeType":"YulAssignment","src":"1089:30:1","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"1099:18:1"},"nodeType":"YulFunctionCall","src":"1099:20:1"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1089:6:1"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1148:6:1"},{"name":"size","nodeType":"YulIdentifier","src":"1156:4:1"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"1128:19:1"},"nodeType":"YulFunctionCall","src":"1128:33:1"},"nodeType":"YulExpressionStatement","src":"1128:33:1"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"1063:4:1","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1072:6:1","type":""}],"src":"1038:129:1"},{"body":{"nodeType":"YulBlock","src":"1255:229:1","statements":[{"body":{"nodeType":"YulBlock","src":"1360:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1362:16:1"},"nodeType":"YulFunctionCall","src":"1362:18:1"},"nodeType":"YulExpressionStatement","src":"1362:18:1"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1332:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"1340:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1329:2:1"},"nodeType":"YulFunctionCall","src":"1329:30:1"},"nodeType":"YulIf","src":"1326:56:1"},{"nodeType":"YulAssignment","src":"1392:25:1","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1404:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"1412:4:1","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"1400:3:1"},"nodeType":"YulFunctionCall","src":"1400:17:1"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"1392:4:1"}]},{"nodeType":"YulAssignment","src":"1454:23:1","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"1466:4:1"},{"kind":"number","nodeType":"YulLiteral","src":"1472:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1462:3:1"},"nodeType":"YulFunctionCall","src":"1462:15:1"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"1454:4:1"}]}]},"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"1239:6:1","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"1250:4:1","type":""}],"src":"1173:311:1"},{"body":{"nodeType":"YulBlock","src":"1579:28:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1596:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1599:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1589:6:1"},"nodeType":"YulFunctionCall","src":"1589:12:1"},"nodeType":"YulExpressionStatement","src":"1589:12:1"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"1490:117:1"},{"body":{"nodeType":"YulBlock","src":"1658:32:1","statements":[{"nodeType":"YulAssignment","src":"1668:16:1","value":{"name":"value","nodeType":"YulIdentifier","src":"1679:5:1"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1668:7:1"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1640:5:1","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1650:7:1","type":""}],"src":"1613:77:1"},{"body":{"nodeType":"YulBlock","src":"1739:79:1","statements":[{"body":{"nodeType":"YulBlock","src":"1796:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1805:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1808:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1798:6:1"},"nodeType":"YulFunctionCall","src":"1798:12:1"},"nodeType":"YulExpressionStatement","src":"1798:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1762:5:1"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1787:5:1"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"1769:17:1"},"nodeType":"YulFunctionCall","src":"1769:24:1"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1759:2:1"},"nodeType":"YulFunctionCall","src":"1759:35:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1752:6:1"},"nodeType":"YulFunctionCall","src":"1752:43:1"},"nodeType":"YulIf","src":"1749:63:1"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1732:5:1","type":""}],"src":"1696:122:1"},{"body":{"nodeType":"YulBlock","src":"1876:87:1","statements":[{"nodeType":"YulAssignment","src":"1886:29:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1908:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1895:12:1"},"nodeType":"YulFunctionCall","src":"1895:20:1"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1886:5:1"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1951:5:1"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1924:26:1"},"nodeType":"YulFunctionCall","src":"1924:33:1"},"nodeType":"YulExpressionStatement","src":"1924:33:1"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1854:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"1862:3:1","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1870:5:1","type":""}],"src":"1824:139:1"},{"body":{"nodeType":"YulBlock","src":"2088:608:1","statements":[{"nodeType":"YulAssignment","src":"2098:90:1","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2180:6:1"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"2123:56:1"},"nodeType":"YulFunctionCall","src":"2123:64:1"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2107:15:1"},"nodeType":"YulFunctionCall","src":"2107:81:1"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2098:5:1"}]},{"nodeType":"YulVariableDeclaration","src":"2197:16:1","value":{"name":"array","nodeType":"YulIdentifier","src":"2208:5:1"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"2201:3:1","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"2230:5:1"},{"name":"length","nodeType":"YulIdentifier","src":"2237:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2223:6:1"},"nodeType":"YulFunctionCall","src":"2223:21:1"},"nodeType":"YulExpressionStatement","src":"2223:21:1"},{"nodeType":"YulAssignment","src":"2253:23:1","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"2264:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"2271:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2260:3:1"},"nodeType":"YulFunctionCall","src":"2260:16:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2253:3:1"}]},{"nodeType":"YulVariableDeclaration","src":"2286:44:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2304:6:1"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2316:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2324:4:1","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2312:3:1"},"nodeType":"YulFunctionCall","src":"2312:17:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2300:3:1"},"nodeType":"YulFunctionCall","src":"2300:30:1"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"2290:6:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"2358:103:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"2372:77:1"},"nodeType":"YulFunctionCall","src":"2372:79:1"},"nodeType":"YulExpressionStatement","src":"2372:79:1"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"2345:6:1"},{"name":"end","nodeType":"YulIdentifier","src":"2353:3:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2342:2:1"},"nodeType":"YulFunctionCall","src":"2342:15:1"},"nodeType":"YulIf","src":"2339:122:1"},{"body":{"nodeType":"YulBlock","src":"2546:144:1","statements":[{"nodeType":"YulVariableDeclaration","src":"2561:21:1","value":{"name":"src","nodeType":"YulIdentifier","src":"2579:3:1"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"2565:10:1","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2603:3:1"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"2629:10:1"},{"name":"end","nodeType":"YulIdentifier","src":"2641:3:1"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2608:20:1"},"nodeType":"YulFunctionCall","src":"2608:37:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2596:6:1"},"nodeType":"YulFunctionCall","src":"2596:50:1"},"nodeType":"YulExpressionStatement","src":"2596:50:1"},{"nodeType":"YulAssignment","src":"2659:21:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2670:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"2675:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2666:3:1"},"nodeType":"YulFunctionCall","src":"2666:14:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2659:3:1"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2499:3:1"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"2504:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2496:2:1"},"nodeType":"YulFunctionCall","src":"2496:15:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2512:25:1","statements":[{"nodeType":"YulAssignment","src":"2514:21:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2525:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"2530:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2521:3:1"},"nodeType":"YulFunctionCall","src":"2521:14:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"2514:3:1"}]}]},"pre":{"nodeType":"YulBlock","src":"2474:21:1","statements":[{"nodeType":"YulVariableDeclaration","src":"2476:17:1","value":{"name":"offset","nodeType":"YulIdentifier","src":"2487:6:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"2480:3:1","type":""}]}]},"src":"2470:220:1"}]},"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2058:6:1","type":""},{"name":"length","nodeType":"YulTypedName","src":"2066:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"2074:3:1","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2082:5:1","type":""}],"src":"1986:710:1"},{"body":{"nodeType":"YulBlock","src":"2796:293:1","statements":[{"body":{"nodeType":"YulBlock","src":"2845:83:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"2847:77:1"},"nodeType":"YulFunctionCall","src":"2847:79:1"},"nodeType":"YulExpressionStatement","src":"2847:79:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2824:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2832:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2820:3:1"},"nodeType":"YulFunctionCall","src":"2820:17:1"},{"name":"end","nodeType":"YulIdentifier","src":"2839:3:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2816:3:1"},"nodeType":"YulFunctionCall","src":"2816:27:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2809:6:1"},"nodeType":"YulFunctionCall","src":"2809:35:1"},"nodeType":"YulIf","src":"2806:122:1"},{"nodeType":"YulVariableDeclaration","src":"2937:34:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2964:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2951:12:1"},"nodeType":"YulFunctionCall","src":"2951:20:1"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2941:6:1","type":""}]},{"nodeType":"YulAssignment","src":"2980:103:1","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3056:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"3064:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3052:3:1"},"nodeType":"YulFunctionCall","src":"3052:17:1"},{"name":"length","nodeType":"YulIdentifier","src":"3071:6:1"},{"name":"end","nodeType":"YulIdentifier","src":"3079:3:1"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"2989:62:1"},"nodeType":"YulFunctionCall","src":"2989:94:1"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2980:5:1"}]}]},"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2774:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"2782:3:1","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2790:5:1","type":""}],"src":"2719:370:1"},{"body":{"nodeType":"YulBlock","src":"3186:448:1","statements":[{"body":{"nodeType":"YulBlock","src":"3232:83:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"3234:77:1"},"nodeType":"YulFunctionCall","src":"3234:79:1"},"nodeType":"YulExpressionStatement","src":"3234:79:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3207:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"3216:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3203:3:1"},"nodeType":"YulFunctionCall","src":"3203:23:1"},{"kind":"number","nodeType":"YulLiteral","src":"3228:2:1","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3199:3:1"},"nodeType":"YulFunctionCall","src":"3199:32:1"},"nodeType":"YulIf","src":"3196:119:1"},{"nodeType":"YulBlock","src":"3325:302:1","statements":[{"nodeType":"YulVariableDeclaration","src":"3340:45:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3371:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"3382:1:1","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3367:3:1"},"nodeType":"YulFunctionCall","src":"3367:17:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3354:12:1"},"nodeType":"YulFunctionCall","src":"3354:31:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3344:6:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"3432:83:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"3434:77:1"},"nodeType":"YulFunctionCall","src":"3434:79:1"},"nodeType":"YulExpressionStatement","src":"3434:79:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3404:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"3412:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3401:2:1"},"nodeType":"YulFunctionCall","src":"3401:30:1"},"nodeType":"YulIf","src":"3398:117:1"},{"nodeType":"YulAssignment","src":"3529:88:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3589:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"3600:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3585:3:1"},"nodeType":"YulFunctionCall","src":"3585:22:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3609:7:1"}],"functionName":{"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"3539:45:1"},"nodeType":"YulFunctionCall","src":"3539:78:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3529:6:1"}]}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3156:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3167:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3179:6:1","type":""}],"src":"3095:539:1"},{"body":{"nodeType":"YulBlock","src":"3705:53:1","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3722:3:1"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3745:5:1"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"3727:17:1"},"nodeType":"YulFunctionCall","src":"3727:24:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3715:6:1"},"nodeType":"YulFunctionCall","src":"3715:37:1"},"nodeType":"YulExpressionStatement","src":"3715:37:1"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3693:5:1","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3700:3:1","type":""}],"src":"3640:118:1"},{"body":{"nodeType":"YulBlock","src":"3862:124:1","statements":[{"nodeType":"YulAssignment","src":"3872:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3884:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"3895:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3880:3:1"},"nodeType":"YulFunctionCall","src":"3880:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3872:4:1"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3952:6:1"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3965:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"3976:1:1","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3961:3:1"},"nodeType":"YulFunctionCall","src":"3961:17:1"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"3908:43:1"},"nodeType":"YulFunctionCall","src":"3908:71:1"},"nodeType":"YulExpressionStatement","src":"3908:71:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3834:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3846:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3857:4:1","type":""}],"src":"3764:222:1"}]},"contents":"{ +{ + "contracts": + { + "a.sol": + { + "A": + { + "evm": + { + "bytecode": + { + "generatedSources": [], + "object": "" + }, + "deployedBytecode": + { + "generatedSources": + [ + { + "ast": + { + "nodeType": "YulBlock", + "src": "0:3989:1", + "statements": + [ + { + "body": + { + "nodeType": "YulBlock", + "src": "47:35:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "57:19:1", + "value": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:1", + "type": "", + "value": "64" + } + ], + "functionName": + { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:1" + }, + "variableNames": + [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:1" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": + [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:1", + "type": "" + } + ], + "src": "7:75:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "177:28:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:1" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "300:28:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:1" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "423:28:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "440:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "443:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "433:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "433:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "433:12:1" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "334:117:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "505:54:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "515:38:1", + "value": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "533:5:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "540:2:1", + "type": "", + "value": "31" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "529:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "529:14:1" + }, + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "549:2:1", + "type": "", + "value": "31" + } + ], + "functionName": + { + "name": "not", + "nodeType": "YulIdentifier", + "src": "545:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "545:7:1" + } + ], + "functionName": + { + "name": "and", + "nodeType": "YulIdentifier", + "src": "525:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "525:28:1" + }, + "variableNames": + [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "515:6:1" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "488:5:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "498:6:1", + "type": "" + } + ], + "src": "457:102:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "593:152:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "610:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "613:77:1", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "603:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "603:88:1" + }, + "nodeType": "YulExpressionStatement", + "src": "603:88:1" + }, + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "707:1:1", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "710:4:1", + "type": "", + "value": "0x41" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "700:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "700:15:1" + }, + "nodeType": "YulExpressionStatement", + "src": "700:15:1" + }, + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "731:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "734:4:1", + "type": "", + "value": "0x24" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "724:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "724:15:1" + }, + "nodeType": "YulExpressionStatement", + "src": "724:15:1" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "565:180:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "794:238:1", + "statements": + [ + { + "nodeType": "YulVariableDeclaration", + "src": "804:58:1", + "value": + { + "arguments": + [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "826:6:1" + }, + { + "arguments": + [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "856:4:1" + } + ], + "functionName": + { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "834:21:1" + }, + "nodeType": "YulFunctionCall", + "src": "834:27:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "822:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "822:40:1" + }, + "variables": + [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "808:10:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "973:22:1", + "statements": + [ + { + "expression": + { + "arguments": [], + "functionName": + { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "975:16:1" + }, + "nodeType": "YulFunctionCall", + "src": "975:18:1" + }, + "nodeType": "YulExpressionStatement", + "src": "975:18:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "916:10:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "928:18:1", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": + { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "913:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "913:34:1" + }, + { + "arguments": + [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "952:10:1" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "964:6:1" + } + ], + "functionName": + { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "949:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "949:22:1" + } + ], + "functionName": + { + "name": "or", + "nodeType": "YulIdentifier", + "src": "910:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "910:62:1" + }, + "nodeType": "YulIf", + "src": "907:88:1" + }, + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1011:2:1", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1015:10:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1004:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1004:22:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1004:22:1" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "780:6:1", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "788:4:1", + "type": "" + } + ], + "src": "751:281:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1079:88:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "1089:30:1", + "value": + { + "arguments": [], + "functionName": + { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "1099:18:1" + }, + "nodeType": "YulFunctionCall", + "src": "1099:20:1" + }, + "variableNames": + [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1089:6:1" + } + ] + }, + { + "expression": + { + "arguments": + [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1148:6:1" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1156:4:1" + } + ], + "functionName": + { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "1128:19:1" + }, + "nodeType": "YulFunctionCall", + "src": "1128:33:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1128:33:1" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1063:4:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1072:6:1", + "type": "" + } + ], + "src": "1038:129:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1255:229:1", + "statements": + [ + { + "body": + { + "nodeType": "YulBlock", + "src": "1360:22:1", + "statements": + [ + { + "expression": + { + "arguments": [], + "functionName": + { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1362:16:1" + }, + "nodeType": "YulFunctionCall", + "src": "1362:18:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1362:18:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1332:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1340:18:1", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": + { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1329:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "1329:30:1" + }, + "nodeType": "YulIf", + "src": "1326:56:1" + }, + { + "nodeType": "YulAssignment", + "src": "1392:25:1", + "value": + { + "arguments": + [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1404:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1412:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": + { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "1400:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1400:17:1" + }, + "variableNames": + [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1392:4:1" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1454:23:1", + "value": + { + "arguments": + [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1466:4:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1472:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1462:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1462:15:1" + }, + "variableNames": + [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1454:4:1" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1239:6:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1250:4:1", + "type": "" + } + ], + "src": "1173:311:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1579:28:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1596:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1599:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1589:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1589:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1589:12:1" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulFunctionDefinition", + "src": "1490:117:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1658:32:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "1668:16:1", + "value": + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1679:5:1" + }, + "variableNames": + [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1668:7:1" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1640:5:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1650:7:1", + "type": "" + } + ], + "src": "1613:77:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1739:79:1", + "statements": + [ + { + "body": + { + "nodeType": "YulBlock", + "src": "1796:16:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1805:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1808:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1798:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1798:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1798:12:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1762:5:1" + }, + { + "arguments": + [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1787:5:1" + } + ], + "functionName": + { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "1769:17:1" + }, + "nodeType": "YulFunctionCall", + "src": "1769:24:1" + } + ], + "functionName": + { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "1759:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "1759:35:1" + } + ], + "functionName": + { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1752:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1752:43:1" + }, + "nodeType": "YulIf", + "src": "1749:63:1" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1732:5:1", + "type": "" + } + ], + "src": "1696:122:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1876:87:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "1886:29:1", + "value": + { + "arguments": + [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1908:6:1" + } + ], + "functionName": + { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1895:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "1895:20:1" + }, + "variableNames": + [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1886:5:1" + } + ] + }, + { + "expression": + { + "arguments": + [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1951:5:1" + } + ], + "functionName": + { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "1924:26:1" + }, + "nodeType": "YulFunctionCall", + "src": "1924:33:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1924:33:1" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1854:6:1", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1862:3:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1870:5:1", + "type": "" + } + ], + "src": "1824:139:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "2088:608:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "2098:90:1", + "value": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2180:6:1" + } + ], + "functionName": + { + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2123:56:1" + }, + "nodeType": "YulFunctionCall", + "src": "2123:64:1" + } + ], + "functionName": + { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "2107:15:1" + }, + "nodeType": "YulFunctionCall", + "src": "2107:81:1" + }, + "variableNames": + [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2098:5:1" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2197:16:1", + "value": + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2208:5:1" + }, + "variables": + [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2201:3:1", + "type": "" + } + ] + }, + { + "expression": + { + "arguments": + [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2230:5:1" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2237:6:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2223:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "2223:21:1" + }, + "nodeType": "YulExpressionStatement", + "src": "2223:21:1" + }, + { + "nodeType": "YulAssignment", + "src": "2253:23:1", + "value": + { + "arguments": + [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2264:5:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2271:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2260:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2260:16:1" + }, + "variableNames": + [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2253:3:1" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2286:44:1", + "value": + { + "arguments": + [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2304:6:1" + }, + { + "arguments": + [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2316:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2324:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": + { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "2312:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2312:17:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2300:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2300:30:1" + }, + "variables": + [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "2290:6:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "2358:103:1", + "statements": + [ + { + "expression": + { + "arguments": [], + "functionName": + { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "2372:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "2372:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "2372:79:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "2345:6:1" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2353:3:1" + } + ], + "functionName": + { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2342:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "2342:15:1" + }, + "nodeType": "YulIf", + "src": "2339:122:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "2546:144:1", + "statements": + [ + { + "nodeType": "YulVariableDeclaration", + "src": "2561:21:1", + "value": + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2579:3:1" + }, + "variables": + [ + { + "name": "elementPos", + "nodeType": "YulTypedName", + "src": "2565:10:1", + "type": "" + } + ] + }, + { + "expression": + { + "arguments": + [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2603:3:1" + }, + { + "arguments": + [ + { + "name": "elementPos", + "nodeType": "YulIdentifier", + "src": "2629:10:1" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2641:3:1" + } + ], + "functionName": + { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "2608:20:1" + }, + "nodeType": "YulFunctionCall", + "src": "2608:37:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2596:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "2596:50:1" + }, + "nodeType": "YulExpressionStatement", + "src": "2596:50:1" + }, + { + "nodeType": "YulAssignment", + "src": "2659:21:1", + "value": + { + "arguments": + [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2670:3:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2675:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2666:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2666:14:1" + }, + "variableNames": + [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2659:3:1" + } + ] + } + ] + }, + "condition": + { + "arguments": + [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2499:3:1" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "2504:6:1" + } + ], + "functionName": + { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "2496:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "2496:15:1" + }, + "nodeType": "YulForLoop", + "post": + { + "nodeType": "YulBlock", + "src": "2512:25:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "2514:21:1", + "value": + { + "arguments": + [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2525:3:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2530:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2521:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2521:14:1" + }, + "variableNames": + [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2514:3:1" + } + ] + } + ] + }, + "pre": + { + "nodeType": "YulBlock", + "src": "2474:21:1", + "statements": + [ + { + "nodeType": "YulVariableDeclaration", + "src": "2476:17:1", + "value": + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2487:6:1" + }, + "variables": + [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "2480:3:1", + "type": "" + } + ] + } + ] + }, + "src": "2470:220:1" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2058:6:1", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2066:6:1", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2074:3:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2082:5:1", + "type": "" + } + ], + "src": "1986:710:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "2796:293:1", + "statements": + [ + { + "body": + { + "nodeType": "YulBlock", + "src": "2845:83:1", + "statements": + [ + { + "expression": + { + "arguments": [], + "functionName": + { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "2847:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "2847:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "2847:79:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "arguments": + [ + { + "arguments": + [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2824:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2832:4:1", + "type": "", + "value": "0x1f" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2820:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2820:17:1" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2839:3:1" + } + ], + "functionName": + { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2816:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2816:27:1" + } + ], + "functionName": + { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2809:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "2809:35:1" + }, + "nodeType": "YulIf", + "src": "2806:122:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2937:34:1", + "value": + { + "arguments": + [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2964:6:1" + } + ], + "functionName": + { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2951:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "2951:20:1" + }, + "variables": + [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2941:6:1", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2980:103:1", + "value": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3056:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3064:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3052:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3052:17:1" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3071:6:1" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3079:3:1" + } + ], + "functionName": + { + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2989:62:1" + }, + "nodeType": "YulFunctionCall", + "src": "2989:94:1" + }, + "variableNames": + [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2980:5:1" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2774:6:1", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2782:3:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2790:5:1", + "type": "" + } + ], + "src": "2719:370:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "3186:448:1", + "statements": + [ + { + "body": + { + "nodeType": "YulBlock", + "src": "3232:83:1", + "statements": + [ + { + "expression": + { + "arguments": [], + "functionName": + { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3234:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "3234:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "3234:79:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3207:7:1" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3216:9:1" + } + ], + "functionName": + { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3203:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3203:23:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3228:2:1", + "type": "", + "value": "32" + } + ], + "functionName": + { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3199:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3199:32:1" + }, + "nodeType": "YulIf", + "src": "3196:119:1" + }, + { + "nodeType": "YulBlock", + "src": "3325:302:1", + "statements": + [ + { + "nodeType": "YulVariableDeclaration", + "src": "3340:45:1", + "value": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3371:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3382:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3367:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3367:17:1" + } + ], + "functionName": + { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3354:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "3354:31:1" + }, + "variables": + [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3344:6:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "3432:83:1", + "statements": + [ + { + "expression": + { + "arguments": [], + "functionName": + { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "3434:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "3434:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "3434:79:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3404:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3412:18:1", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": + { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3401:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "3401:30:1" + }, + "nodeType": "YulIf", + "src": "3398:117:1" + }, + { + "nodeType": "YulAssignment", + "src": "3529:88:1", + "value": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3589:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3600:6:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3585:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3585:22:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3609:7:1" + } + ], + "functionName": + { + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "3539:45:1" + }, + "nodeType": "YulFunctionCall", + "src": "3539:78:1" + }, + "variableNames": + [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3529:6:1" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3156:9:1", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3167:7:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3179:6:1", + "type": "" + } + ], + "src": "3095:539:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "3705:53:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3722:3:1" + }, + { + "arguments": + [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3745:5:1" + } + ], + "functionName": + { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "3727:17:1" + }, + "nodeType": "YulFunctionCall", + "src": "3727:24:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3715:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "3715:37:1" + }, + "nodeType": "YulExpressionStatement", + "src": "3715:37:1" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3693:5:1", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3700:3:1", + "type": "" + } + ], + "src": "3640:118:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "3862:124:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "3872:26:1", + "value": + { + "arguments": + [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3884:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3895:2:1", + "type": "", + "value": "32" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3880:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3880:18:1" + }, + "variableNames": + [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3872:4:1" + } + ] + }, + { + "expression": + { + "arguments": + [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3952:6:1" + }, + { + "arguments": + [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3965:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3976:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3961:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3961:17:1" + } + ], + "functionName": + { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "3908:43:1" + }, + "nodeType": "YulFunctionCall", + "src": "3908:71:1" + }, + "nodeType": "YulExpressionStatement", + "src": "3908:71:1" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3834:9:1", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3846:6:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3857:4:1", + "type": "" + } + ], + "src": "3764:222:1" + } + ] + }, + "contents": "{ function allocate_unbounded() -> memPtr { memPtr := mload(64) @@ -120,7 +2467,22 @@ } } -","id":1,"language":"Yul","name":"#utility.yul"}]}}}}},"errors":[{"component":"general","errorCode":"3420","formattedMessage":"Warning: Source file does not specify required compiler version! ---> a.sol - -","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":-1,"file":"a.sol","start":-1},"type":"Warning"}],"sources":{"a.sol":{"id":0}}} +", + "id": 1, + "language": "Yul", + "name": "#utility.yul" + } + ] + } + } + } + } + }, + "sources": + { + "a.sol": + { + "id": 0 + } + } +} diff --git a/test/cmdlineTests/standard_optimizer_generatedSources/args b/test/cmdlineTests/standard_optimizer_generatedSources/args new file mode 100644 index 000000000..24d48faf2 --- /dev/null +++ b/test/cmdlineTests/standard_optimizer_generatedSources/args @@ -0,0 +1 @@ +--pretty-json --json-indent 4 --allow-paths . diff --git a/test/cmdlineTests/standard_optimizer_generatedSources/in.sol b/test/cmdlineTests/standard_optimizer_generatedSources/in.sol new file mode 100644 index 000000000..3ba5dce22 --- /dev/null +++ b/test/cmdlineTests/standard_optimizer_generatedSources/in.sol @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: GPL-3.0 +pragma solidity >=0.0; +pragma abicoder v2; + +contract A { + function f(uint[] memory) public view returns (uint256) {} +} diff --git a/test/cmdlineTests/standard_optimizer_generatedSources/input.json b/test/cmdlineTests/standard_optimizer_generatedSources/input.json index b38114fad..8ad3bcaa3 100644 --- a/test/cmdlineTests/standard_optimizer_generatedSources/input.json +++ b/test/cmdlineTests/standard_optimizer_generatedSources/input.json @@ -1,21 +1,19 @@ { - "language": "Solidity", - "sources": { - "a.sol": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma abicoder v2; contract A { function f(uint[] memory) public view returns (uint256) { } }" - } - }, - "settings": { - "evmVersion": "petersburg", - "optimizer": { "enabled": true }, - "outputSelection": { - "*": { - "A": [ - "evm.bytecode.object", - "evm.deployedBytecode.generatedSources", - "evm.bytecode.generatedSources" - ] - } - } - } + "language": "Solidity", + "sources": { + "a.sol": {"urls": ["standard_optimizer_generatedSources/in.sol"]} + }, + "settings": { + "evmVersion": "petersburg", + "optimizer": {"enabled": true}, + "outputSelection": { + "*": { + "A": [ + "evm.bytecode.object", + "evm.deployedBytecode.generatedSources", + "evm.bytecode.generatedSources" + ] + } + } + } } diff --git a/test/cmdlineTests/standard_optimizer_generatedSources/output.json b/test/cmdlineTests/standard_optimizer_generatedSources/output.json index 940450827..264241d03 100644 --- a/test/cmdlineTests/standard_optimizer_generatedSources/output.json +++ b/test/cmdlineTests/standard_optimizer_generatedSources/output.json @@ -1,4 +1,1460 @@ -{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1445:1","statements":[{"nodeType":"YulBlock","src":"6:3:1","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:1","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:1","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:1","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:1"},"nodeType":"YulFunctionCall","src":"66:20:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:1"},"nodeType":"YulFunctionCall","src":"56:31:1"},"nodeType":"YulExpressionStatement","src":"56:31:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:1","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:1","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:1"},"nodeType":"YulFunctionCall","src":"96:15:1"},"nodeType":"YulExpressionStatement","src":"96:15:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:1","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:1"},"nodeType":"YulFunctionCall","src":"120:15:1"},"nodeType":"YulExpressionStatement","src":"120:15:1"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:1"},{"body":{"nodeType":"YulBlock","src":"241:1020:1","statements":[{"nodeType":"YulVariableDeclaration","src":"251:12:1","value":{"kind":"number","nodeType":"YulLiteral","src":"261:2:1","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"255:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"308:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:1"},"nodeType":"YulFunctionCall","src":"310:12:1"},"nodeType":"YulExpressionStatement","src":"310:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"283:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"292:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"279:3:1"},"nodeType":"YulFunctionCall","src":"279:23:1"},{"name":"_1","nodeType":"YulIdentifier","src":"304:2:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"275:3:1"},"nodeType":"YulFunctionCall","src":"275:32:1"},"nodeType":"YulIf","src":"272:52:1"},{"nodeType":"YulVariableDeclaration","src":"333:37:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"360:9:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"347:12:1"},"nodeType":"YulFunctionCall","src":"347:23:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"337:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"379:28:1","value":{"kind":"number","nodeType":"YulLiteral","src":"389:18:1","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"383:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"434:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"443:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"446:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"436:6:1"},"nodeType":"YulFunctionCall","src":"436:12:1"},"nodeType":"YulExpressionStatement","src":"436:12:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"422:6:1"},{"name":"_2","nodeType":"YulIdentifier","src":"430:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"419:2:1"},"nodeType":"YulFunctionCall","src":"419:14:1"},"nodeType":"YulIf","src":"416:34:1"},{"nodeType":"YulVariableDeclaration","src":"459:32:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"473:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"484:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"469:3:1"},"nodeType":"YulFunctionCall","src":"469:22:1"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"463:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"539:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"548:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"551:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"541:6:1"},"nodeType":"YulFunctionCall","src":"541:12:1"},"nodeType":"YulExpressionStatement","src":"541:12:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"518:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"522:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"514:3:1"},"nodeType":"YulFunctionCall","src":"514:13:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"529:7:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"510:3:1"},"nodeType":"YulFunctionCall","src":"510:27:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"503:6:1"},"nodeType":"YulFunctionCall","src":"503:35:1"},"nodeType":"YulIf","src":"500:55:1"},{"nodeType":"YulVariableDeclaration","src":"564:26:1","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"587:2:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"574:12:1"},"nodeType":"YulFunctionCall","src":"574:16:1"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"568:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"613:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"615:16:1"},"nodeType":"YulFunctionCall","src":"615:18:1"},"nodeType":"YulExpressionStatement","src":"615:18:1"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"605:2:1"},{"name":"_2","nodeType":"YulIdentifier","src":"609:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"602:2:1"},"nodeType":"YulFunctionCall","src":"602:10:1"},"nodeType":"YulIf","src":"599:36:1"},{"nodeType":"YulVariableDeclaration","src":"644:20:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"658:1:1","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"661:2:1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"654:3:1"},"nodeType":"YulFunctionCall","src":"654:10:1"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"648:2:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"673:23:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"693:2:1","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"687:5:1"},"nodeType":"YulFunctionCall","src":"687:9:1"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"677:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"705:56:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"727:6:1"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"743:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"747:2:1","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"739:3:1"},"nodeType":"YulFunctionCall","src":"739:11:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"756:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"752:3:1"},"nodeType":"YulFunctionCall","src":"752:7:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"735:3:1"},"nodeType":"YulFunctionCall","src":"735:25:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"723:3:1"},"nodeType":"YulFunctionCall","src":"723:38:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"709:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"820:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"822:16:1"},"nodeType":"YulFunctionCall","src":"822:18:1"},"nodeType":"YulExpressionStatement","src":"822:18:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"779:10:1"},{"name":"_2","nodeType":"YulIdentifier","src":"791:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"776:2:1"},"nodeType":"YulFunctionCall","src":"776:18:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"799:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"811:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"796:2:1"},"nodeType":"YulFunctionCall","src":"796:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"773:2:1"},"nodeType":"YulFunctionCall","src":"773:46:1"},"nodeType":"YulIf","src":"770:72:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"858:2:1","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"862:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"851:6:1"},"nodeType":"YulFunctionCall","src":"851:22:1"},"nodeType":"YulExpressionStatement","src":"851:22:1"},{"nodeType":"YulVariableDeclaration","src":"882:17:1","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"893:6:1"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"886:3:1","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"915:6:1"},{"name":"_4","nodeType":"YulIdentifier","src":"923:2:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"908:6:1"},"nodeType":"YulFunctionCall","src":"908:18:1"},"nodeType":"YulExpressionStatement","src":"908:18:1"},{"nodeType":"YulAssignment","src":"935:22:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"946:6:1"},{"name":"_1","nodeType":"YulIdentifier","src":"954:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"942:3:1"},"nodeType":"YulFunctionCall","src":"942:15:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"935:3:1"}]},{"nodeType":"YulVariableDeclaration","src":"966:34:1","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"988:2:1"},{"name":"_5","nodeType":"YulIdentifier","src":"992:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"984:3:1"},"nodeType":"YulFunctionCall","src":"984:11:1"},{"name":"_1","nodeType":"YulIdentifier","src":"997:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"980:3:1"},"nodeType":"YulFunctionCall","src":"980:20:1"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"970:6:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1032:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1041:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1044:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1034:6:1"},"nodeType":"YulFunctionCall","src":"1034:12:1"},"nodeType":"YulExpressionStatement","src":"1034:12:1"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1015:6:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1023:7:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1012:2:1"},"nodeType":"YulFunctionCall","src":"1012:19:1"},"nodeType":"YulIf","src":"1009:39:1"},{"nodeType":"YulVariableDeclaration","src":"1057:22:1","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1072:2:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1076:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1068:3:1"},"nodeType":"YulFunctionCall","src":"1068:11:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1061:3:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1144:86:1","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1165:3:1"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1183:3:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1170:12:1"},"nodeType":"YulFunctionCall","src":"1170:17:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1158:6:1"},"nodeType":"YulFunctionCall","src":"1158:30:1"},"nodeType":"YulExpressionStatement","src":"1158:30:1"},{"nodeType":"YulAssignment","src":"1201:19:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1212:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1217:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1208:3:1"},"nodeType":"YulFunctionCall","src":"1208:12:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1201:3:1"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1099:3:1"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1104:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1096:2:1"},"nodeType":"YulFunctionCall","src":"1096:15:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1112:23:1","statements":[{"nodeType":"YulAssignment","src":"1114:19:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1125:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1130:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1121:3:1"},"nodeType":"YulFunctionCall","src":"1121:12:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1114:3:1"}]}]},"pre":{"nodeType":"YulBlock","src":"1092:3:1","statements":[]},"src":"1088:142:1"},{"nodeType":"YulAssignment","src":"1239:16:1","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1249:6:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1239:6:1"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"207:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"218:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"230:6:1","type":""}],"src":"146:1115:1"},{"body":{"nodeType":"YulBlock","src":"1367:76:1","statements":[{"nodeType":"YulAssignment","src":"1377:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1389:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1400:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1385:3:1"},"nodeType":"YulFunctionCall","src":"1385:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1377:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1419:9:1"},{"name":"value0","nodeType":"YulIdentifier","src":"1430:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1412:6:1"},"nodeType":"YulFunctionCall","src":"1412:25:1"},"nodeType":"YulExpressionStatement","src":"1412:25:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1336:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1347:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1358:4:1","type":""}],"src":"1266:177:1"}]},"contents":"{ +{ + "contracts": + { + "a.sol": + { + "A": + { + "evm": + { + "bytecode": + { + "generatedSources": [], + "object": "" + }, + "deployedBytecode": + { + "generatedSources": + [ + { + "ast": + { + "nodeType": "YulBlock", + "src": "0:1445:1", + "statements": + [ + { + "nodeType": "YulBlock", + "src": "6:3:1", + "statements": [] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "46:95:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63:1:1", + "type": "", + "value": "0" + }, + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "70:3:1", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "75:10:1", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": + { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "66:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "66:20:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "56:31:1" + }, + "nodeType": "YulExpressionStatement", + "src": "56:31:1" + }, + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "103:1:1", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "106:4:1", + "type": "", + "value": "0x41" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "96:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "96:15:1" + }, + "nodeType": "YulExpressionStatement", + "src": "96:15:1" + }, + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "127:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "130:4:1", + "type": "", + "value": "0x24" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "120:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "120:15:1" + }, + "nodeType": "YulExpressionStatement", + "src": "120:15:1" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "14:127:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "241:1020:1", + "statements": + [ + { + "nodeType": "YulVariableDeclaration", + "src": "251:12:1", + "value": + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "261:2:1", + "type": "", + "value": "32" + }, + "variables": + [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "255:2:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "308:16:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "283:7:1" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "292:9:1" + } + ], + "functionName": + { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "279:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "279:23:1" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "304:2:1" + } + ], + "functionName": + { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "275:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "275:32:1" + }, + "nodeType": "YulIf", + "src": "272:52:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "333:37:1", + "value": + { + "arguments": + [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "360:9:1" + } + ], + "functionName": + { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "347:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "347:23:1" + }, + "variables": + [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "337:6:1", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "379:28:1", + "value": + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "389:18:1", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": + [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "383:2:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "434:16:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "443:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "446:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "436:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "436:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "436:12:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "422:6:1" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "430:2:1" + } + ], + "functionName": + { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "419:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "419:14:1" + }, + "nodeType": "YulIf", + "src": "416:34:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "459:32:1", + "value": + { + "arguments": + [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "473:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "484:6:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "469:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "469:22:1" + }, + "variables": + [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "463:2:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "539:16:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "548:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "551:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "541:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "541:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "541:12:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "arguments": + [ + { + "arguments": + [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "518:2:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "522:4:1", + "type": "", + "value": "0x1f" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "514:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "514:13:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "529:7:1" + } + ], + "functionName": + { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "510:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "510:27:1" + } + ], + "functionName": + { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "503:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "503:35:1" + }, + "nodeType": "YulIf", + "src": "500:55:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "564:26:1", + "value": + { + "arguments": + [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "587:2:1" + } + ], + "functionName": + { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "574:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "574:16:1" + }, + "variables": + [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "568:2:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "613:22:1", + "statements": + [ + { + "expression": + { + "arguments": [], + "functionName": + { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "615:16:1" + }, + "nodeType": "YulFunctionCall", + "src": "615:18:1" + }, + "nodeType": "YulExpressionStatement", + "src": "615:18:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "605:2:1" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "609:2:1" + } + ], + "functionName": + { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "602:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "602:10:1" + }, + "nodeType": "YulIf", + "src": "599:36:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "644:20:1", + "value": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "658:1:1", + "type": "", + "value": "5" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "661:2:1" + } + ], + "functionName": + { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "654:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "654:10:1" + }, + "variables": + [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "648:2:1", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "673:23:1", + "value": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "693:2:1", + "type": "", + "value": "64" + } + ], + "functionName": + { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "687:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "687:9:1" + }, + "variables": + [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "677:6:1", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "705:56:1", + "value": + { + "arguments": + [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "727:6:1" + }, + { + "arguments": + [ + { + "arguments": + [ + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "743:2:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "747:2:1", + "type": "", + "value": "63" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "739:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "739:11:1" + }, + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "756:2:1", + "type": "", + "value": "31" + } + ], + "functionName": + { + "name": "not", + "nodeType": "YulIdentifier", + "src": "752:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "752:7:1" + } + ], + "functionName": + { + "name": "and", + "nodeType": "YulIdentifier", + "src": "735:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "735:25:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "723:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "723:38:1" + }, + "variables": + [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "709:10:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "820:22:1", + "statements": + [ + { + "expression": + { + "arguments": [], + "functionName": + { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "822:16:1" + }, + "nodeType": "YulFunctionCall", + "src": "822:18:1" + }, + "nodeType": "YulExpressionStatement", + "src": "822:18:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "779:10:1" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "791:2:1" + } + ], + "functionName": + { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "776:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "776:18:1" + }, + { + "arguments": + [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "799:10:1" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "811:6:1" + } + ], + "functionName": + { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "796:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "796:22:1" + } + ], + "functionName": + { + "name": "or", + "nodeType": "YulIdentifier", + "src": "773:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "773:46:1" + }, + "nodeType": "YulIf", + "src": "770:72:1" + }, + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "858:2:1", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "862:10:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "851:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "851:22:1" + }, + "nodeType": "YulExpressionStatement", + "src": "851:22:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "882:17:1", + "value": + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "893:6:1" + }, + "variables": + [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "886:3:1", + "type": "" + } + ] + }, + { + "expression": + { + "arguments": + [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "915:6:1" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "923:2:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "908:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "908:18:1" + }, + "nodeType": "YulExpressionStatement", + "src": "908:18:1" + }, + { + "nodeType": "YulAssignment", + "src": "935:22:1", + "value": + { + "arguments": + [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "946:6:1" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "954:2:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "942:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "942:15:1" + }, + "variableNames": + [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "935:3:1" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "966:34:1", + "value": + { + "arguments": + [ + { + "arguments": + [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "988:2:1" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "992:2:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "984:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "984:11:1" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "997:2:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "980:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "980:20:1" + }, + "variables": + [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "970:6:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1032:16:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1041:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1044:1:1", + "type": "", + "value": "0" + } + ], + "functionName": + { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1034:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1034:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1034:12:1" + } + ] + }, + "condition": + { + "arguments": + [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "1015:6:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1023:7:1" + } + ], + "functionName": + { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1012:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "1012:19:1" + }, + "nodeType": "YulIf", + "src": "1009:39:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1057:22:1", + "value": + { + "arguments": + [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1072:2:1" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1076:2:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1068:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1068:11:1" + }, + "variables": + [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1061:3:1", + "type": "" + } + ] + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1144:86:1", + "statements": + [ + { + "expression": + { + "arguments": + [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1165:3:1" + }, + { + "arguments": + [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1183:3:1" + } + ], + "functionName": + { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1170:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "1170:17:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1158:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1158:30:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1158:30:1" + }, + { + "nodeType": "YulAssignment", + "src": "1201:19:1", + "value": + { + "arguments": + [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1212:3:1" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1217:2:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1208:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1208:12:1" + }, + "variableNames": + [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1201:3:1" + } + ] + } + ] + }, + "condition": + { + "arguments": + [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1099:3:1" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "1104:6:1" + } + ], + "functionName": + { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1096:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "1096:15:1" + }, + "nodeType": "YulForLoop", + "post": + { + "nodeType": "YulBlock", + "src": "1112:23:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "1114:19:1", + "value": + { + "arguments": + [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1125:3:1" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1130:2:1" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1121:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1121:12:1" + }, + "variableNames": + [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1114:3:1" + } + ] + } + ] + }, + "pre": + { + "nodeType": "YulBlock", + "src": "1092:3:1", + "statements": [] + }, + "src": "1088:142:1" + }, + { + "nodeType": "YulAssignment", + "src": "1239:16:1", + "value": + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1249:6:1" + }, + "variableNames": + [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1239:6:1" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "207:9:1", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "218:7:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "230:6:1", + "type": "" + } + ], + "src": "146:1115:1" + }, + { + "body": + { + "nodeType": "YulBlock", + "src": "1367:76:1", + "statements": + [ + { + "nodeType": "YulAssignment", + "src": "1377:26:1", + "value": + { + "arguments": + [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1389:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1400:2:1", + "type": "", + "value": "32" + } + ], + "functionName": + { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1385:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1385:18:1" + }, + "variableNames": + [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1377:4:1" + } + ] + }, + { + "expression": + { + "arguments": + [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1419:9:1" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1430:6:1" + } + ], + "functionName": + { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1412:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1412:25:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1412:25:1" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": + [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1336:9:1", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1347:6:1", + "type": "" + } + ], + "returnVariables": + [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1358:4:1", + "type": "" + } + ], + "src": "1266:177:1" + } + ] + }, + "contents": "{ { } function panic_error_0x41() { @@ -40,4 +1496,22 @@ tail := add(headStart, 32) mstore(headStart, value0) } -}","id":1,"language":"Yul","name":"#utility.yul"}]}}}}},"sources":{"a.sol":{"id":0}}} +}", + "id": 1, + "language": "Yul", + "name": "#utility.yul" + } + ] + } + } + } + } + }, + "sources": + { + "a.sol": + { + "id": 0 + } + } +}