2020-05-28 12:01:07 +00:00
|
|
|
{
|
|
|
|
"contracts":
|
|
|
|
{
|
|
|
|
"combined_json_generated_sources/input.sol:C":
|
|
|
|
{
|
|
|
|
"generated-sources": [],
|
|
|
|
"generated-sources-runtime":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"ast":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "0:1856:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "114:478:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "163:83:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"expression":
|
|
|
|
{
|
2021-04-29 14:26:21 +00:00
|
|
|
"arguments": [],
|
2020-05-28 12:01:07 +00:00
|
|
|
"functionName":
|
|
|
|
{
|
2021-04-29 14:26:21 +00:00
|
|
|
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
|
2020-05-28 12:01:07 +00:00
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "165:77:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "165:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "165:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"condition":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "142:6:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "150:4:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0x1f"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "add",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "138:3:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "138:17:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "end",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "157:3:1"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "slt",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "134:3:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "134:27:1"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "iszero",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "127:6:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "127:35:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulIf",
|
2021-06-16 10:38:34 +00:00
|
|
|
"src": "124:122:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"nodeType": "YulAssignment",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "255:30:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"value":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "278:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "calldataload",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "265:12:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "265:20:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"variableNames":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "length",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "255:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "328:83:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"expression":
|
|
|
|
{
|
2021-04-29 14:26:21 +00:00
|
|
|
"arguments": [],
|
2020-05-28 12:01:07 +00:00
|
|
|
"functionName":
|
|
|
|
{
|
2021-04-29 14:26:21 +00:00
|
|
|
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
|
2020-05-28 12:01:07 +00:00
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "330:77:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "330:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "330:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"condition":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "length",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "300:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "308:18:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": "",
|
|
|
|
"value": "0xffffffffffffffff"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "gt",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "297:2:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "297:30:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulIf",
|
2021-06-16 10:38:34 +00:00
|
|
|
"src": "294:117:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"nodeType": "YulAssignment",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "420:29:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"value":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "436:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "444:4:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": "",
|
|
|
|
"value": "0x20"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "add",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "432:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "432:17:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"variableNames":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "arrayPos",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "420:8:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "503:83:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"expression":
|
|
|
|
{
|
2021-04-29 14:26:21 +00:00
|
|
|
"arguments": [],
|
2020-05-28 12:01:07 +00:00
|
|
|
"functionName":
|
|
|
|
{
|
2021-04-29 14:26:21 +00:00
|
|
|
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
|
2020-05-28 12:01:07 +00:00
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "505:77:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "505:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "505:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"condition":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "arrayPos",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "468:8:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "length",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "482:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "490:4:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": "",
|
|
|
|
"value": "0x20"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "mul",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "478:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "478:17:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "add",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "464:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "464:32:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "end",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "498:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "gt",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "461:2:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "461:41:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulIf",
|
2021-06-16 10:38:34 +00:00
|
|
|
"src": "458:128:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr",
|
|
|
|
"nodeType": "YulFunctionDefinition",
|
|
|
|
"parameters":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulTypedName",
|
|
|
|
"src": "81:6:1",
|
|
|
|
"type": ""
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "end",
|
|
|
|
"nodeType": "YulTypedName",
|
|
|
|
"src": "89:3:1",
|
|
|
|
"type": ""
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"returnVariables":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "arrayPos",
|
|
|
|
"nodeType": "YulTypedName",
|
|
|
|
"src": "97:8:1",
|
|
|
|
"type": ""
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "length",
|
|
|
|
"nodeType": "YulTypedName",
|
|
|
|
"src": "107:6:1",
|
|
|
|
"type": ""
|
|
|
|
}
|
|
|
|
],
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "24:568:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "699:458:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "745:83:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"expression":
|
|
|
|
{
|
2021-04-29 14:26:21 +00:00
|
|
|
"arguments": [],
|
2020-05-28 12:01:07 +00:00
|
|
|
"functionName":
|
|
|
|
{
|
2021-04-29 14:26:21 +00:00
|
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
2020-05-28 12:01:07 +00:00
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "747:77:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "747:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "747:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"condition":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "dataEnd",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "720:7:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "headStart",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "729:9:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "sub",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "716:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "716:23:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "741:2:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": "",
|
|
|
|
"value": "32"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "slt",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "712:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "712:32:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulIf",
|
2021-06-16 10:38:34 +00:00
|
|
|
"src": "709:119:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "838:312:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"nodeType": "YulVariableDeclaration",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "853:45:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"value":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "headStart",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "884:9:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "895:1:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "add",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "880:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "880:17:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "calldataload",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "867:12:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "867:31:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"variables":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulTypedName",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "857:6:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": ""
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "945:83:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"expression":
|
|
|
|
{
|
2021-04-29 14:26:21 +00:00
|
|
|
"arguments": [],
|
2020-05-28 12:01:07 +00:00
|
|
|
"functionName":
|
|
|
|
{
|
2021-04-29 14:26:21 +00:00
|
|
|
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
|
2020-05-28 12:01:07 +00:00
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "947:77:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "947:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "947:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"condition":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "917:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "925:18:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": "",
|
|
|
|
"value": "0xffffffffffffffff"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "gt",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "914:2:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "914:30:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulIf",
|
2021-06-16 10:38:34 +00:00
|
|
|
"src": "911:117:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"nodeType": "YulAssignment",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "1042:98:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"value":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "headStart",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "1112:9:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "1123:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "add",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "1108:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "1108:22:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "dataEnd",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "1132:7:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "1060:47:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "1060:80:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"variableNames":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "value0",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "1042:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "value1",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "1050:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"name": "abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr",
|
|
|
|
"nodeType": "YulFunctionDefinition",
|
|
|
|
"parameters":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "headStart",
|
|
|
|
"nodeType": "YulTypedName",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "661:9:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": ""
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "dataEnd",
|
|
|
|
"nodeType": "YulTypedName",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "672:7:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": ""
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"returnVariables":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "value0",
|
|
|
|
"nodeType": "YulTypedName",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "684:6:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": ""
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "value1",
|
|
|
|
"nodeType": "YulTypedName",
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "692:6:1",
|
|
|
|
"type": ""
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"src": "598:559:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
|
|
|
"src": "1203:35:1",
|
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"nodeType": "YulAssignment",
|
|
|
|
"src": "1213:19:1",
|
|
|
|
"value":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "1229:2:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "64"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "mload",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "1223:5:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "1223:9:1"
|
|
|
|
},
|
|
|
|
"variableNames":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "memPtr",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "1213:6:1"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"name": "allocate_unbounded",
|
|
|
|
"nodeType": "YulFunctionDefinition",
|
|
|
|
"returnVariables":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "memPtr",
|
|
|
|
"nodeType": "YulTypedName",
|
|
|
|
"src": "1196:6:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": ""
|
|
|
|
}
|
|
|
|
],
|
2021-04-29 14:26:21 +00:00
|
|
|
"src": "1163:75:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
|
|
|
"src": "1333:28:1",
|
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"expression":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "1350:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "1353:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "revert",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "1343:6:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "1343:12:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
|
|
|
"src": "1343:12:1"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
|
|
|
|
"nodeType": "YulFunctionDefinition",
|
|
|
|
"src": "1244:117:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
|
|
|
"src": "1456:28:1",
|
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"expression":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "1473:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "1476:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "revert",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "1466:6:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "1466:12:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
|
|
|
"src": "1466:12:1"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
|
|
|
|
"nodeType": "YulFunctionDefinition",
|
|
|
|
"src": "1367:117: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": "1702:28:1",
|
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"expression":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "1719:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "1722:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "revert",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "1712:6:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "1712:12:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
|
|
|
"src": "1712:12:1"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
|
|
|
|
"nodeType": "YulFunctionDefinition",
|
|
|
|
"src": "1613:117:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
|
|
|
"src": "1825:28:1",
|
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"expression":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "1842:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "1845:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "revert",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "1835:6:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "1835:12:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
|
|
|
"src": "1835:12:1"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
|
|
"nodeType": "YulFunctionDefinition",
|
|
|
|
"src": "1736:117:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
2021-04-29 14:26:21 +00:00
|
|
|
"contents": "{\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 function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n}\n",
|
2020-05-28 12:01:07 +00:00
|
|
|
"id": 1,
|
|
|
|
"language": "Yul",
|
|
|
|
"name": "#utility.yul"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
2020-11-05 16:57:46 +00:00
|
|
|
"version": "<VERSION REMOVED>"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|