mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
128 lines
31 KiB
JSON
128 lines
31 KiB
JSON
{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"object":"<BYTECODE REMOVED>"},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:4001: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:620: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:17:1","value":{"name":"offset","nodeType":"YulIdentifier","src":"2297:6:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"2290:3:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"2352:103:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"2366:77:1"},"nodeType":"YulFunctionCall","src":"2366:79:1"},"nodeType":"YulExpressionStatement","src":"2366:79:1"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2322:3:1"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2331:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2339:4:1","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2327:3:1"},"nodeType":"YulFunctionCall","src":"2327:17:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2318:3:1"},"nodeType":"YulFunctionCall","src":"2318:27:1"},{"name":"end","nodeType":"YulIdentifier","src":"2347:3:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2315:2:1"},"nodeType":"YulFunctionCall","src":"2315:36:1"},"nodeType":"YulIf","src":"2312:143:1"},{"body":{"nodeType":"YulBlock","src":"2524:178:1","statements":[{"nodeType":"YulVariableDeclaration","src":"2539:21:1","value":{"name":"src","nodeType":"YulIdentifier","src":"2557:3:1"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"2543:10:1","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2581:3:1"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"2607:10:1"},{"name":"end","nodeType":"YulIdentifier","src":"2619:3:1"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2586:20:1"},"nodeType":"YulFunctionCall","src":"2586:37:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2574:6:1"},"nodeType":"YulFunctionCall","src":"2574:50:1"},"nodeType":"YulExpressionStatement","src":"2574:50:1"},{"nodeType":"YulAssignment","src":"2637:21:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2648:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"2653:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2644:3:1"},"nodeType":"YulFunctionCall","src":"2644:14:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2637:3:1"}]},{"nodeType":"YulAssignment","src":"2671:21:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2682:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"2687:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2678:3:1"},"nodeType":"YulFunctionCall","src":"2678:14:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"2671:3:1"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2486:1:1"},{"name":"length","nodeType":"YulIdentifier","src":"2489:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2483:2:1"},"nodeType":"YulFunctionCall","src":"2483:13:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2497:18:1","statements":[{"nodeType":"YulAssignment","src":"2499:14:1","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2508:1:1"},{"kind":"number","nodeType":"YulLiteral","src":"2511:1:1","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2504:3:1"},"nodeType":"YulFunctionCall","src":"2504:9:1"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"2499:1:1"}]}]},"pre":{"nodeType":"YulBlock","src":"2468:14:1","statements":[{"nodeType":"YulVariableDeclaration","src":"2470:10:1","value":{"kind":"number","nodeType":"YulLiteral","src":"2479:1:1","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"2474:1:1","type":""}]}]},"src":"2464:238: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:722:1"},{"body":{"nodeType":"YulBlock","src":"2808:293:1","statements":[{"body":{"nodeType":"YulBlock","src":"2857:83:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"2859:77:1"},"nodeType":"YulFunctionCall","src":"2859:79:1"},"nodeType":"YulExpressionStatement","src":"2859:79:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2836:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2844:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2832:3:1"},"nodeType":"YulFunctionCall","src":"2832:17:1"},{"name":"end","nodeType":"YulIdentifier","src":"2851:3:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2828:3:1"},"nodeType":"YulFunctionCall","src":"2828:27:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2821:6:1"},"nodeType":"YulFunctionCall","src":"2821:35:1"},"nodeType":"YulIf","src":"2818:122:1"},{"nodeType":"YulVariableDeclaration","src":"2949:34:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2976:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2963:12:1"},"nodeType":"YulFunctionCall","src":"2963:20:1"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2953:6:1","type":""}]},{"nodeType":"YulAssignment","src":"2992:103:1","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3068:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"3076:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3064:3:1"},"nodeType":"YulFunctionCall","src":"3064:17:1"},{"name":"length","nodeType":"YulIdentifier","src":"3083:6:1"},{"name":"end","nodeType":"YulIdentifier","src":"3091:3:1"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"3001:62:1"},"nodeType":"YulFunctionCall","src":"3001:94:1"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2992:5:1"}]}]},"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2786:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"2794:3:1","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2802:5:1","type":""}],"src":"2731:370:1"},{"body":{"nodeType":"YulBlock","src":"3198:448:1","statements":[{"body":{"nodeType":"YulBlock","src":"3244:83:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"3246:77:1"},"nodeType":"YulFunctionCall","src":"3246:79:1"},"nodeType":"YulExpressionStatement","src":"3246:79:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3219:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"3228:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3215:3:1"},"nodeType":"YulFunctionCall","src":"3215:23:1"},{"kind":"number","nodeType":"YulLiteral","src":"3240:2:1","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3211:3:1"},"nodeType":"YulFunctionCall","src":"3211:32:1"},"nodeType":"YulIf","src":"3208:119:1"},{"nodeType":"YulBlock","src":"3337:302:1","statements":[{"nodeType":"YulVariableDeclaration","src":"3352:45:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3383:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"3394:1:1","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3379:3:1"},"nodeType":"YulFunctionCall","src":"3379:17:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3366:12:1"},"nodeType":"YulFunctionCall","src":"3366:31:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3356:6:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"3444:83:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"3446:77:1"},"nodeType":"YulFunctionCall","src":"3446:79:1"},"nodeType":"YulExpressionStatement","src":"3446:79:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3416:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"3424:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3413:2:1"},"nodeType":"YulFunctionCall","src":"3413:30:1"},"nodeType":"YulIf","src":"3410:117:1"},{"nodeType":"YulAssignment","src":"3541:88:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3601:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"3612:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3597:3:1"},"nodeType":"YulFunctionCall","src":"3597:22:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3621:7:1"}],"functionName":{"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"3551:45:1"},"nodeType":"YulFunctionCall","src":"3551:78:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3541:6:1"}]}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3168:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3179:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3191:6:1","type":""}],"src":"3107:539:1"},{"body":{"nodeType":"YulBlock","src":"3717:53:1","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3734:3:1"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3757:5:1"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"3739:17:1"},"nodeType":"YulFunctionCall","src":"3739:24:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3727:6:1"},"nodeType":"YulFunctionCall","src":"3727:37:1"},"nodeType":"YulExpressionStatement","src":"3727:37:1"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3705:5:1","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3712:3:1","type":""}],"src":"3652:118:1"},{"body":{"nodeType":"YulBlock","src":"3874:124:1","statements":[{"nodeType":"YulAssignment","src":"3884:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3896:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"3907:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3892:3:1"},"nodeType":"YulFunctionCall","src":"3892:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3884:4:1"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3964:6:1"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3977:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"3988:1:1","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3973:3:1"},"nodeType":"YulFunctionCall","src":"3973:17:1"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"3920:43:1"},"nodeType":"YulFunctionCall","src":"3920:71:1"},"nodeType":"YulExpressionStatement","src":"3920:71:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3846:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3858:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3869:4:1","type":""}],"src":"3776:222:1"}]},"contents":"{
|
|
|
|
function allocate_unbounded() -> memPtr {
|
|
memPtr := mload(64)
|
|
}
|
|
|
|
function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {
|
|
revert(0, 0)
|
|
}
|
|
|
|
function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {
|
|
revert(0, 0)
|
|
}
|
|
|
|
function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {
|
|
revert(0, 0)
|
|
}
|
|
|
|
function round_up_to_mul_of_32(value) -> result {
|
|
result := and(add(value, 31), not(31))
|
|
}
|
|
|
|
function panic_error_0x41() {
|
|
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
|
mstore(4, 0x41)
|
|
revert(0, 0x24)
|
|
}
|
|
|
|
function finalize_allocation(memPtr, size) {
|
|
let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))
|
|
// protect against overflow
|
|
if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }
|
|
mstore(64, newFreePtr)
|
|
}
|
|
|
|
function allocate_memory(size) -> memPtr {
|
|
memPtr := allocate_unbounded()
|
|
finalize_allocation(memPtr, size)
|
|
}
|
|
|
|
function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {
|
|
// Make sure we can allocate memory without overflow
|
|
if gt(length, 0xffffffffffffffff) { panic_error_0x41() }
|
|
|
|
size := mul(length, 0x20)
|
|
|
|
// add length slot
|
|
size := add(size, 0x20)
|
|
|
|
}
|
|
|
|
function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {
|
|
revert(0, 0)
|
|
}
|
|
|
|
function cleanup_t_uint256(value) -> cleaned {
|
|
cleaned := value
|
|
}
|
|
|
|
function validator_revert_t_uint256(value) {
|
|
if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }
|
|
}
|
|
|
|
function abi_decode_t_uint256(offset, end) -> value {
|
|
value := calldataload(offset)
|
|
validator_revert_t_uint256(value)
|
|
}
|
|
|
|
// uint256[]
|
|
function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array {
|
|
array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))
|
|
let dst := array
|
|
|
|
mstore(array, length)
|
|
dst := add(array, 0x20)
|
|
|
|
let src := offset
|
|
if gt(add(src, mul(length, 0x20)), end) {
|
|
revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()
|
|
}
|
|
for { let i := 0 } lt(i, length) { i := add(i, 1) }
|
|
{
|
|
|
|
let elementPos := src
|
|
|
|
mstore(dst, abi_decode_t_uint256(elementPos, end))
|
|
dst := add(dst, 0x20)
|
|
src := add(src, 0x20)
|
|
}
|
|
}
|
|
|
|
// uint256[]
|
|
function abi_decode_t_array$_t_uint256_$dyn_memory_ptr(offset, end) -> array {
|
|
if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }
|
|
let length := calldataload(offset)
|
|
array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end)
|
|
}
|
|
|
|
function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0 {
|
|
if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }
|
|
|
|
{
|
|
|
|
let offset := calldataload(add(headStart, 0))
|
|
if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }
|
|
|
|
value0 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)
|
|
}
|
|
|
|
}
|
|
|
|
function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {
|
|
mstore(pos, cleanup_t_uint256(value))
|
|
}
|
|
|
|
function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {
|
|
tail := add(headStart, 32)
|
|
|
|
abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))
|
|
|
|
}
|
|
|
|
}
|
|
","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}}}
|