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-09-07 16:00:20 +00:00
|
|
|
"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",
|
2020-05-28 12:01:07 +00:00
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "859: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-09-07 16:00:20 +00:00
|
|
|
"src": "861:77:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "861:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "861:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"condition":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "838:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "846:4:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": "",
|
|
|
|
"value": "0x1f"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "add",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "834:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "834:17:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "end",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "853:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "slt",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "830:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "830:27:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "iszero",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "823:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "823:35:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulIf",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "820:122:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"nodeType": "YulAssignment",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "951:30:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"value":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "974:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "calldataload",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "961:12:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "961:20:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"variableNames":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "length",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "951:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1024: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-09-07 16:00:20 +00:00
|
|
|
"src": "1026:77:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1026:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1026:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"condition":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "length",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "996:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1004:18:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": "",
|
|
|
|
"value": "0xffffffffffffffff"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "gt",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "993:2:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "993:30:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulIf",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "990:117:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"nodeType": "YulAssignment",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1116:29:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"value":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1132:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1140:4:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": "",
|
|
|
|
"value": "0x20"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "add",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1128:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1128:17:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"variableNames":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "arrayPos",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1116:8:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1199: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-09-07 16:00:20 +00:00
|
|
|
"src": "1201:77:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1201:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1201:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"condition":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "arrayPos",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1164:8:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "length",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1178:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1186:4:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": "",
|
|
|
|
"value": "0x20"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "mul",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1174:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1174:17:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "add",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1160:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1160:32:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "end",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1194:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "gt",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1157:2:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1157:41:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulIf",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1154: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",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "777:6:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": ""
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "end",
|
|
|
|
"nodeType": "YulTypedName",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "785:3:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": ""
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"returnVariables":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "arrayPos",
|
|
|
|
"nodeType": "YulTypedName",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "793:8:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": ""
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "length",
|
|
|
|
"nodeType": "YulTypedName",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "803:6:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": ""
|
|
|
|
}
|
|
|
|
],
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "720:568:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1395:458:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1441: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-09-07 16:00:20 +00:00
|
|
|
"src": "1443:77:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1443:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1443:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"condition":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "dataEnd",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1416:7:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "headStart",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1425:9:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "sub",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1412:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1412:23:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1437:2:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": "",
|
|
|
|
"value": "32"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "slt",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1408:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1408:32:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulIf",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1405:119:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1534:312:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"nodeType": "YulVariableDeclaration",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1549:45:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"value":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "headStart",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1580:9:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1591:1:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "add",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1576:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1576:17:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "calldataload",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1563:12:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1563:31:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"variables":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulTypedName",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1553:6:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": ""
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1641: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-09-07 16:00:20 +00:00
|
|
|
"src": "1643:77:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1643:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1643:79:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"condition":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1613:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1621:18:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": "",
|
|
|
|
"value": "0xffffffffffffffff"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "gt",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1610:2:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1610:30:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulIf",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1607:117:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"nodeType": "YulAssignment",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1738:98:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"value":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "headStart",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1808:9:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1819:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "add",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1804:3:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1804:22:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "dataEnd",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1828:7:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1756:47:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1756:80:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
"variableNames":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "value0",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1738:6:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "value1",
|
|
|
|
"nodeType": "YulIdentifier",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1746: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-09-07 16:00:20 +00:00
|
|
|
"src": "1357:9:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": ""
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "dataEnd",
|
|
|
|
"nodeType": "YulTypedName",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1368:7:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": ""
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"returnVariables":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "value0",
|
|
|
|
"nodeType": "YulTypedName",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1380:6:1",
|
2020-05-28 12:01:07 +00:00
|
|
|
"type": ""
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "value1",
|
|
|
|
"nodeType": "YulTypedName",
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1388:6:1",
|
2021-04-29 14:26:21 +00:00
|
|
|
"type": ""
|
|
|
|
}
|
|
|
|
],
|
2021-09-07 16:00:20 +00:00
|
|
|
"src": "1294:559:1"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
2021-09-07 16:00:20 +00:00
|
|
|
"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",
|
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
|
|
|
}
|