mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			936 lines
		
	
	
		
			37 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			936 lines
		
	
	
		
			37 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {
 | |
|   "contracts":
 | |
|   {
 | |
|     "combined_json_generated_sources/input.sol:C":
 | |
|     {
 | |
|       "generated-sources": [],
 | |
|       "generated-sources-runtime":
 | |
|       [
 | |
|         {
 | |
|           "ast":
 | |
|           {
 | |
|             "nodeType": "YulBlock",
 | |
|             "src": "0:1856: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": "546:28:1",
 | |
|                   "statements":
 | |
|                   [
 | |
|                     {
 | |
|                       "expression":
 | |
|                       {
 | |
|                         "arguments":
 | |
|                         [
 | |
|                           {
 | |
|                             "kind": "number",
 | |
|                             "nodeType": "YulLiteral",
 | |
|                             "src": "563:1:1",
 | |
|                             "type": "",
 | |
|                             "value": "0"
 | |
|                           },
 | |
|                           {
 | |
|                             "kind": "number",
 | |
|                             "nodeType": "YulLiteral",
 | |
|                             "src": "566:1:1",
 | |
|                             "type": "",
 | |
|                             "value": "0"
 | |
|                           }
 | |
|                         ],
 | |
|                         "functionName":
 | |
|                         {
 | |
|                           "name": "revert",
 | |
|                           "nodeType": "YulIdentifier",
 | |
|                           "src": "556:6:1"
 | |
|                         },
 | |
|                         "nodeType": "YulFunctionCall",
 | |
|                         "src": "556:12:1"
 | |
|                       },
 | |
|                       "nodeType": "YulExpressionStatement",
 | |
|                       "src": "556:12:1"
 | |
|                     }
 | |
|                   ]
 | |
|                 },
 | |
|                 "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
 | |
|                 "nodeType": "YulFunctionDefinition",
 | |
|                 "src": "457:117:1"
 | |
|               },
 | |
|               {
 | |
|                 "body":
 | |
|                 {
 | |
|                   "nodeType": "YulBlock",
 | |
|                   "src": "669:28:1",
 | |
|                   "statements":
 | |
|                   [
 | |
|                     {
 | |
|                       "expression":
 | |
|                       {
 | |
|                         "arguments":
 | |
|                         [
 | |
|                           {
 | |
|                             "kind": "number",
 | |
|                             "nodeType": "YulLiteral",
 | |
|                             "src": "686:1:1",
 | |
|                             "type": "",
 | |
|                             "value": "0"
 | |
|                           },
 | |
|                           {
 | |
|                             "kind": "number",
 | |
|                             "nodeType": "YulLiteral",
 | |
|                             "src": "689:1:1",
 | |
|                             "type": "",
 | |
|                             "value": "0"
 | |
|                           }
 | |
|                         ],
 | |
|                         "functionName":
 | |
|                         {
 | |
|                           "name": "revert",
 | |
|                           "nodeType": "YulIdentifier",
 | |
|                           "src": "679:6:1"
 | |
|                         },
 | |
|                         "nodeType": "YulFunctionCall",
 | |
|                         "src": "679:12:1"
 | |
|                       },
 | |
|                       "nodeType": "YulExpressionStatement",
 | |
|                       "src": "679:12:1"
 | |
|                     }
 | |
|                   ]
 | |
|                 },
 | |
|                 "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
 | |
|                 "nodeType": "YulFunctionDefinition",
 | |
|                 "src": "580:117:1"
 | |
|               },
 | |
|               {
 | |
|                 "body":
 | |
|                 {
 | |
|                   "nodeType": "YulBlock",
 | |
|                   "src": "810:478:1",
 | |
|                   "statements":
 | |
|                   [
 | |
|                     {
 | |
|                       "body":
 | |
|                       {
 | |
|                         "nodeType": "YulBlock",
 | |
|                         "src": "859:83:1",
 | |
|                         "statements":
 | |
|                         [
 | |
|                           {
 | |
|                             "expression":
 | |
|                             {
 | |
|                               "arguments": [],
 | |
|                               "functionName":
 | |
|                               {
 | |
|                                 "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
 | |
|                                 "nodeType": "YulIdentifier",
 | |
|                                 "src": "861:77:1"
 | |
|                               },
 | |
|                               "nodeType": "YulFunctionCall",
 | |
|                               "src": "861:79:1"
 | |
|                             },
 | |
|                             "nodeType": "YulExpressionStatement",
 | |
|                             "src": "861:79:1"
 | |
|                           }
 | |
|                         ]
 | |
|                       },
 | |
|                       "condition":
 | |
|                       {
 | |
|                         "arguments":
 | |
|                         [
 | |
|                           {
 | |
|                             "arguments":
 | |
|                             [
 | |
|                               {
 | |
|                                 "arguments":
 | |
|                                 [
 | |
|                                   {
 | |
|                                     "name": "offset",
 | |
|                                     "nodeType": "YulIdentifier",
 | |
|                                     "src": "838:6:1"
 | |
|                                   },
 | |
|                                   {
 | |
|                                     "kind": "number",
 | |
|                                     "nodeType": "YulLiteral",
 | |
|                                     "src": "846:4:1",
 | |
|                                     "type": "",
 | |
|                                     "value": "0x1f"
 | |
|                                   }
 | |
|                                 ],
 | |
|                                 "functionName":
 | |
|                                 {
 | |
|                                   "name": "add",
 | |
|                                   "nodeType": "YulIdentifier",
 | |
|                                   "src": "834:3:1"
 | |
|                                 },
 | |
|                                 "nodeType": "YulFunctionCall",
 | |
|                                 "src": "834:17:1"
 | |
|                               },
 | |
|                               {
 | |
|                                 "name": "end",
 | |
|                                 "nodeType": "YulIdentifier",
 | |
|                                 "src": "853:3:1"
 | |
|                               }
 | |
|                             ],
 | |
|                             "functionName":
 | |
|                             {
 | |
|                               "name": "slt",
 | |
|                               "nodeType": "YulIdentifier",
 | |
|                               "src": "830:3:1"
 | |
|                             },
 | |
|                             "nodeType": "YulFunctionCall",
 | |
|                             "src": "830:27:1"
 | |
|                           }
 | |
|                         ],
 | |
|                         "functionName":
 | |
|                         {
 | |
|                           "name": "iszero",
 | |
|                           "nodeType": "YulIdentifier",
 | |
|                           "src": "823:6:1"
 | |
|                         },
 | |
|                         "nodeType": "YulFunctionCall",
 | |
|                         "src": "823:35:1"
 | |
|                       },
 | |
|                       "nodeType": "YulIf",
 | |
|                       "src": "820:122:1"
 | |
|                     },
 | |
|                     {
 | |
|                       "nodeType": "YulAssignment",
 | |
|                       "src": "951:30:1",
 | |
|                       "value":
 | |
|                       {
 | |
|                         "arguments":
 | |
|                         [
 | |
|                           {
 | |
|                             "name": "offset",
 | |
|                             "nodeType": "YulIdentifier",
 | |
|                             "src": "974:6:1"
 | |
|                           }
 | |
|                         ],
 | |
|                         "functionName":
 | |
|                         {
 | |
|                           "name": "calldataload",
 | |
|                           "nodeType": "YulIdentifier",
 | |
|                           "src": "961:12:1"
 | |
|                         },
 | |
|                         "nodeType": "YulFunctionCall",
 | |
|                         "src": "961:20:1"
 | |
|                       },
 | |
|                       "variableNames":
 | |
|                       [
 | |
|                         {
 | |
|                           "name": "length",
 | |
|                           "nodeType": "YulIdentifier",
 | |
|                           "src": "951:6:1"
 | |
|                         }
 | |
|                       ]
 | |
|                     },
 | |
|                     {
 | |
|                       "body":
 | |
|                       {
 | |
|                         "nodeType": "YulBlock",
 | |
|                         "src": "1024:83:1",
 | |
|                         "statements":
 | |
|                         [
 | |
|                           {
 | |
|                             "expression":
 | |
|                             {
 | |
|                               "arguments": [],
 | |
|                               "functionName":
 | |
|                               {
 | |
|                                 "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
 | |
|                                 "nodeType": "YulIdentifier",
 | |
|                                 "src": "1026:77:1"
 | |
|                               },
 | |
|                               "nodeType": "YulFunctionCall",
 | |
|                               "src": "1026:79:1"
 | |
|                             },
 | |
|                             "nodeType": "YulExpressionStatement",
 | |
|                             "src": "1026:79:1"
 | |
|                           }
 | |
|                         ]
 | |
|                       },
 | |
|                       "condition":
 | |
|                       {
 | |
|                         "arguments":
 | |
|                         [
 | |
|                           {
 | |
|                             "name": "length",
 | |
|                             "nodeType": "YulIdentifier",
 | |
|                             "src": "996:6:1"
 | |
|                           },
 | |
|                           {
 | |
|                             "kind": "number",
 | |
|                             "nodeType": "YulLiteral",
 | |
|                             "src": "1004:18:1",
 | |
|                             "type": "",
 | |
|                             "value": "0xffffffffffffffff"
 | |
|                           }
 | |
|                         ],
 | |
|                         "functionName":
 | |
|                         {
 | |
|                           "name": "gt",
 | |
|                           "nodeType": "YulIdentifier",
 | |
|                           "src": "993:2:1"
 | |
|                         },
 | |
|                         "nodeType": "YulFunctionCall",
 | |
|                         "src": "993:30:1"
 | |
|                       },
 | |
|                       "nodeType": "YulIf",
 | |
|                       "src": "990:117:1"
 | |
|                     },
 | |
|                     {
 | |
|                       "nodeType": "YulAssignment",
 | |
|                       "src": "1116:29:1",
 | |
|                       "value":
 | |
|                       {
 | |
|                         "arguments":
 | |
|                         [
 | |
|                           {
 | |
|                             "name": "offset",
 | |
|                             "nodeType": "YulIdentifier",
 | |
|                             "src": "1132:6:1"
 | |
|                           },
 | |
|                           {
 | |
|                             "kind": "number",
 | |
|                             "nodeType": "YulLiteral",
 | |
|                             "src": "1140:4:1",
 | |
|                             "type": "",
 | |
|                             "value": "0x20"
 | |
|                           }
 | |
|                         ],
 | |
|                         "functionName":
 | |
|                         {
 | |
|                           "name": "add",
 | |
|                           "nodeType": "YulIdentifier",
 | |
|                           "src": "1128:3:1"
 | |
|                         },
 | |
|                         "nodeType": "YulFunctionCall",
 | |
|                         "src": "1128:17:1"
 | |
|                       },
 | |
|                       "variableNames":
 | |
|                       [
 | |
|                         {
 | |
|                           "name": "arrayPos",
 | |
|                           "nodeType": "YulIdentifier",
 | |
|                           "src": "1116:8:1"
 | |
|                         }
 | |
|                       ]
 | |
|                     },
 | |
|                     {
 | |
|                       "body":
 | |
|                       {
 | |
|                         "nodeType": "YulBlock",
 | |
|                         "src": "1199:83:1",
 | |
|                         "statements":
 | |
|                         [
 | |
|                           {
 | |
|                             "expression":
 | |
|                             {
 | |
|                               "arguments": [],
 | |
|                               "functionName":
 | |
|                               {
 | |
|                                 "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
 | |
|                                 "nodeType": "YulIdentifier",
 | |
|                                 "src": "1201:77:1"
 | |
|                               },
 | |
|                               "nodeType": "YulFunctionCall",
 | |
|                               "src": "1201:79:1"
 | |
|                             },
 | |
|                             "nodeType": "YulExpressionStatement",
 | |
|                             "src": "1201:79:1"
 | |
|                           }
 | |
|                         ]
 | |
|                       },
 | |
|                       "condition":
 | |
|                       {
 | |
|                         "arguments":
 | |
|                         [
 | |
|                           {
 | |
|                             "arguments":
 | |
|                             [
 | |
|                               {
 | |
|                                 "name": "arrayPos",
 | |
|                                 "nodeType": "YulIdentifier",
 | |
|                                 "src": "1164:8:1"
 | |
|                               },
 | |
|                               {
 | |
|                                 "arguments":
 | |
|                                 [
 | |
|                                   {
 | |
|                                     "name": "length",
 | |
|                                     "nodeType": "YulIdentifier",
 | |
|                                     "src": "1178:6:1"
 | |
|                                   },
 | |
|                                   {
 | |
|                                     "kind": "number",
 | |
|                                     "nodeType": "YulLiteral",
 | |
|                                     "src": "1186:4:1",
 | |
|                                     "type": "",
 | |
|                                     "value": "0x20"
 | |
|                                   }
 | |
|                                 ],
 | |
|                                 "functionName":
 | |
|                                 {
 | |
|                                   "name": "mul",
 | |
|                                   "nodeType": "YulIdentifier",
 | |
|                                   "src": "1174:3:1"
 | |
|                                 },
 | |
|                                 "nodeType": "YulFunctionCall",
 | |
|                                 "src": "1174:17:1"
 | |
|                               }
 | |
|                             ],
 | |
|                             "functionName":
 | |
|                             {
 | |
|                               "name": "add",
 | |
|                               "nodeType": "YulIdentifier",
 | |
|                               "src": "1160:3:1"
 | |
|                             },
 | |
|                             "nodeType": "YulFunctionCall",
 | |
|                             "src": "1160:32:1"
 | |
|                           },
 | |
|                           {
 | |
|                             "name": "end",
 | |
|                             "nodeType": "YulIdentifier",
 | |
|                             "src": "1194:3:1"
 | |
|                           }
 | |
|                         ],
 | |
|                         "functionName":
 | |
|                         {
 | |
|                           "name": "gt",
 | |
|                           "nodeType": "YulIdentifier",
 | |
|                           "src": "1157:2:1"
 | |
|                         },
 | |
|                         "nodeType": "YulFunctionCall",
 | |
|                         "src": "1157:41:1"
 | |
|                       },
 | |
|                       "nodeType": "YulIf",
 | |
|                       "src": "1154:128:1"
 | |
|                     }
 | |
|                   ]
 | |
|                 },
 | |
|                 "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr",
 | |
|                 "nodeType": "YulFunctionDefinition",
 | |
|                 "parameters":
 | |
|                 [
 | |
|                   {
 | |
|                     "name": "offset",
 | |
|                     "nodeType": "YulTypedName",
 | |
|                     "src": "777:6:1",
 | |
|                     "type": ""
 | |
|                   },
 | |
|                   {
 | |
|                     "name": "end",
 | |
|                     "nodeType": "YulTypedName",
 | |
|                     "src": "785:3:1",
 | |
|                     "type": ""
 | |
|                   }
 | |
|                 ],
 | |
|                 "returnVariables":
 | |
|                 [
 | |
|                   {
 | |
|                     "name": "arrayPos",
 | |
|                     "nodeType": "YulTypedName",
 | |
|                     "src": "793:8:1",
 | |
|                     "type": ""
 | |
|                   },
 | |
|                   {
 | |
|                     "name": "length",
 | |
|                     "nodeType": "YulTypedName",
 | |
|                     "src": "803:6:1",
 | |
|                     "type": ""
 | |
|                   }
 | |
|                 ],
 | |
|                 "src": "720:568:1"
 | |
|               },
 | |
|               {
 | |
|                 "body":
 | |
|                 {
 | |
|                   "nodeType": "YulBlock",
 | |
|                   "src": "1395:458:1",
 | |
|                   "statements":
 | |
|                   [
 | |
|                     {
 | |
|                       "body":
 | |
|                       {
 | |
|                         "nodeType": "YulBlock",
 | |
|                         "src": "1441:83:1",
 | |
|                         "statements":
 | |
|                         [
 | |
|                           {
 | |
|                             "expression":
 | |
|                             {
 | |
|                               "arguments": [],
 | |
|                               "functionName":
 | |
|                               {
 | |
|                                 "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
 | |
|                                 "nodeType": "YulIdentifier",
 | |
|                                 "src": "1443:77:1"
 | |
|                               },
 | |
|                               "nodeType": "YulFunctionCall",
 | |
|                               "src": "1443:79:1"
 | |
|                             },
 | |
|                             "nodeType": "YulExpressionStatement",
 | |
|                             "src": "1443:79:1"
 | |
|                           }
 | |
|                         ]
 | |
|                       },
 | |
|                       "condition":
 | |
|                       {
 | |
|                         "arguments":
 | |
|                         [
 | |
|                           {
 | |
|                             "arguments":
 | |
|                             [
 | |
|                               {
 | |
|                                 "name": "dataEnd",
 | |
|                                 "nodeType": "YulIdentifier",
 | |
|                                 "src": "1416:7:1"
 | |
|                               },
 | |
|                               {
 | |
|                                 "name": "headStart",
 | |
|                                 "nodeType": "YulIdentifier",
 | |
|                                 "src": "1425:9:1"
 | |
|                               }
 | |
|                             ],
 | |
|                             "functionName":
 | |
|                             {
 | |
|                               "name": "sub",
 | |
|                               "nodeType": "YulIdentifier",
 | |
|                               "src": "1412:3:1"
 | |
|                             },
 | |
|                             "nodeType": "YulFunctionCall",
 | |
|                             "src": "1412:23:1"
 | |
|                           },
 | |
|                           {
 | |
|                             "kind": "number",
 | |
|                             "nodeType": "YulLiteral",
 | |
|                             "src": "1437:2:1",
 | |
|                             "type": "",
 | |
|                             "value": "32"
 | |
|                           }
 | |
|                         ],
 | |
|                         "functionName":
 | |
|                         {
 | |
|                           "name": "slt",
 | |
|                           "nodeType": "YulIdentifier",
 | |
|                           "src": "1408:3:1"
 | |
|                         },
 | |
|                         "nodeType": "YulFunctionCall",
 | |
|                         "src": "1408:32:1"
 | |
|                       },
 | |
|                       "nodeType": "YulIf",
 | |
|                       "src": "1405:119:1"
 | |
|                     },
 | |
|                     {
 | |
|                       "nodeType": "YulBlock",
 | |
|                       "src": "1534:312:1",
 | |
|                       "statements":
 | |
|                       [
 | |
|                         {
 | |
|                           "nodeType": "YulVariableDeclaration",
 | |
|                           "src": "1549:45:1",
 | |
|                           "value":
 | |
|                           {
 | |
|                             "arguments":
 | |
|                             [
 | |
|                               {
 | |
|                                 "arguments":
 | |
|                                 [
 | |
|                                   {
 | |
|                                     "name": "headStart",
 | |
|                                     "nodeType": "YulIdentifier",
 | |
|                                     "src": "1580:9:1"
 | |
|                                   },
 | |
|                                   {
 | |
|                                     "kind": "number",
 | |
|                                     "nodeType": "YulLiteral",
 | |
|                                     "src": "1591:1:1",
 | |
|                                     "type": "",
 | |
|                                     "value": "0"
 | |
|                                   }
 | |
|                                 ],
 | |
|                                 "functionName":
 | |
|                                 {
 | |
|                                   "name": "add",
 | |
|                                   "nodeType": "YulIdentifier",
 | |
|                                   "src": "1576:3:1"
 | |
|                                 },
 | |
|                                 "nodeType": "YulFunctionCall",
 | |
|                                 "src": "1576:17:1"
 | |
|                               }
 | |
|                             ],
 | |
|                             "functionName":
 | |
|                             {
 | |
|                               "name": "calldataload",
 | |
|                               "nodeType": "YulIdentifier",
 | |
|                               "src": "1563:12:1"
 | |
|                             },
 | |
|                             "nodeType": "YulFunctionCall",
 | |
|                             "src": "1563:31:1"
 | |
|                           },
 | |
|                           "variables":
 | |
|                           [
 | |
|                             {
 | |
|                               "name": "offset",
 | |
|                               "nodeType": "YulTypedName",
 | |
|                               "src": "1553:6:1",
 | |
|                               "type": ""
 | |
|                             }
 | |
|                           ]
 | |
|                         },
 | |
|                         {
 | |
|                           "body":
 | |
|                           {
 | |
|                             "nodeType": "YulBlock",
 | |
|                             "src": "1641:83:1",
 | |
|                             "statements":
 | |
|                             [
 | |
|                               {
 | |
|                                 "expression":
 | |
|                                 {
 | |
|                                   "arguments": [],
 | |
|                                   "functionName":
 | |
|                                   {
 | |
|                                     "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
 | |
|                                     "nodeType": "YulIdentifier",
 | |
|                                     "src": "1643:77:1"
 | |
|                                   },
 | |
|                                   "nodeType": "YulFunctionCall",
 | |
|                                   "src": "1643:79:1"
 | |
|                                 },
 | |
|                                 "nodeType": "YulExpressionStatement",
 | |
|                                 "src": "1643:79:1"
 | |
|                               }
 | |
|                             ]
 | |
|                           },
 | |
|                           "condition":
 | |
|                           {
 | |
|                             "arguments":
 | |
|                             [
 | |
|                               {
 | |
|                                 "name": "offset",
 | |
|                                 "nodeType": "YulIdentifier",
 | |
|                                 "src": "1613:6:1"
 | |
|                               },
 | |
|                               {
 | |
|                                 "kind": "number",
 | |
|                                 "nodeType": "YulLiteral",
 | |
|                                 "src": "1621:18:1",
 | |
|                                 "type": "",
 | |
|                                 "value": "0xffffffffffffffff"
 | |
|                               }
 | |
|                             ],
 | |
|                             "functionName":
 | |
|                             {
 | |
|                               "name": "gt",
 | |
|                               "nodeType": "YulIdentifier",
 | |
|                               "src": "1610:2:1"
 | |
|                             },
 | |
|                             "nodeType": "YulFunctionCall",
 | |
|                             "src": "1610:30:1"
 | |
|                           },
 | |
|                           "nodeType": "YulIf",
 | |
|                           "src": "1607:117:1"
 | |
|                         },
 | |
|                         {
 | |
|                           "nodeType": "YulAssignment",
 | |
|                           "src": "1738:98:1",
 | |
|                           "value":
 | |
|                           {
 | |
|                             "arguments":
 | |
|                             [
 | |
|                               {
 | |
|                                 "arguments":
 | |
|                                 [
 | |
|                                   {
 | |
|                                     "name": "headStart",
 | |
|                                     "nodeType": "YulIdentifier",
 | |
|                                     "src": "1808:9:1"
 | |
|                                   },
 | |
|                                   {
 | |
|                                     "name": "offset",
 | |
|                                     "nodeType": "YulIdentifier",
 | |
|                                     "src": "1819:6:1"
 | |
|                                   }
 | |
|                                 ],
 | |
|                                 "functionName":
 | |
|                                 {
 | |
|                                   "name": "add",
 | |
|                                   "nodeType": "YulIdentifier",
 | |
|                                   "src": "1804:3:1"
 | |
|                                 },
 | |
|                                 "nodeType": "YulFunctionCall",
 | |
|                                 "src": "1804:22:1"
 | |
|                               },
 | |
|                               {
 | |
|                                 "name": "dataEnd",
 | |
|                                 "nodeType": "YulIdentifier",
 | |
|                                 "src": "1828:7:1"
 | |
|                               }
 | |
|                             ],
 | |
|                             "functionName":
 | |
|                             {
 | |
|                               "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr",
 | |
|                               "nodeType": "YulIdentifier",
 | |
|                               "src": "1756:47:1"
 | |
|                             },
 | |
|                             "nodeType": "YulFunctionCall",
 | |
|                             "src": "1756:80:1"
 | |
|                           },
 | |
|                           "variableNames":
 | |
|                           [
 | |
|                             {
 | |
|                               "name": "value0",
 | |
|                               "nodeType": "YulIdentifier",
 | |
|                               "src": "1738:6:1"
 | |
|                             },
 | |
|                             {
 | |
|                               "name": "value1",
 | |
|                               "nodeType": "YulIdentifier",
 | |
|                               "src": "1746:6:1"
 | |
|                             }
 | |
|                           ]
 | |
|                         }
 | |
|                       ]
 | |
|                     }
 | |
|                   ]
 | |
|                 },
 | |
|                 "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr",
 | |
|                 "nodeType": "YulFunctionDefinition",
 | |
|                 "parameters":
 | |
|                 [
 | |
|                   {
 | |
|                     "name": "headStart",
 | |
|                     "nodeType": "YulTypedName",
 | |
|                     "src": "1357:9:1",
 | |
|                     "type": ""
 | |
|                   },
 | |
|                   {
 | |
|                     "name": "dataEnd",
 | |
|                     "nodeType": "YulTypedName",
 | |
|                     "src": "1368:7:1",
 | |
|                     "type": ""
 | |
|                   }
 | |
|                 ],
 | |
|                 "returnVariables":
 | |
|                 [
 | |
|                   {
 | |
|                     "name": "value0",
 | |
|                     "nodeType": "YulTypedName",
 | |
|                     "src": "1380:6:1",
 | |
|                     "type": ""
 | |
|                   },
 | |
|                   {
 | |
|                     "name": "value1",
 | |
|                     "nodeType": "YulTypedName",
 | |
|                     "src": "1388:6:1",
 | |
|                     "type": ""
 | |
|                   }
 | |
|                 ],
 | |
|                 "src": "1294:559:1"
 | |
|               }
 | |
|             ]
 | |
|           },
 | |
|           "contents": "{\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n        revert(0, 0)\n    }\n\n    function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n        revert(0, 0)\n    }\n\n    function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n        revert(0, 0)\n    }\n\n    // uint256[]\n    function abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        length := calldataload(offset)\n        if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n        arrayPos := add(offset, 0x20)\n        if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n    }\n\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value0, value1 := abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n}\n",
 | |
|           "id": 1,
 | |
|           "language": "Yul",
 | |
|           "name": "#utility.yul"
 | |
|         }
 | |
|       ]
 | |
|     }
 | |
|   },
 | |
|   "version": "<VERSION REMOVED>"
 | |
| }
 |