2020-05-28 12:01:07 +00:00
|
|
|
{
|
|
|
|
"contracts":
|
|
|
|
{
|
|
|
|
"combined_json_generated_sources/input.sol:C":
|
|
|
|
{
|
|
|
|
"generated-sources": [],
|
|
|
|
"generated-sources-runtime":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"ast":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
|
|
|
"src": "0:823:1",
|
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
|
|
|
"src": "114:277:1",
|
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
|
|
|
"src": "163:16:1",
|
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"expression":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "172:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "175:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "revert",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "165:6:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "165:12:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
|
|
|
"src": "165:12:1"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"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",
|
|
|
|
"src": "124:2:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"nodeType": "YulAssignment",
|
|
|
|
"src": "188:30:1",
|
|
|
|
"value":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "211:6:1"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "calldataload",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "198:12:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "198:20:1"
|
|
|
|
},
|
|
|
|
"variableNames":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "length",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "188:6:1"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
|
|
|
"src": "261:16:1",
|
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"expression":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "270:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "273:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "revert",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "263:6:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "263:12:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
|
|
|
"src": "263:12:1"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"condition":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "length",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "233:6:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "241:18:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0xffffffffffffffff"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "gt",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "230:2:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "230:30:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulIf",
|
|
|
|
"src": "227:2:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"nodeType": "YulAssignment",
|
|
|
|
"src": "286:29:1",
|
|
|
|
"value":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "302:6:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "310:4:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0x20"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "add",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "298:3:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "298:17:1"
|
|
|
|
},
|
|
|
|
"variableNames":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "arrayPos",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "286:8:1"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
|
|
|
"src": "369:16:1",
|
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"expression":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "378:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "381:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "revert",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "371:6:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "371:12:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
|
|
|
"src": "371:12:1"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"condition":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "arrayPos",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "334:8:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "length",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "348:6:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "356:4:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0x20"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "mul",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "344:3:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "344:17:1"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "add",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "330:3:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "330:32:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "end",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "364:3:1"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "gt",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "327:2:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "327:41:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulIf",
|
|
|
|
"src": "324:2:1"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"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": ""
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"src": "24:367:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
|
|
|
"src": "498:322:1",
|
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
|
|
|
"src": "544:16:1",
|
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"expression":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "553:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "556:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "revert",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "546:6:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "546:12:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
|
|
|
"src": "546:12:1"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"condition":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "dataEnd",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "519:7:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "headStart",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "528:9:1"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "sub",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "515:3:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "515:23:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "540:2:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "32"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "slt",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "511:3:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "511:32:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulIf",
|
|
|
|
"src": "508:2:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
|
|
|
"src": "570:243:1",
|
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"nodeType": "YulVariableDeclaration",
|
|
|
|
"src": "584:45:1",
|
|
|
|
"value":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "headStart",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "615:9:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "626:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "add",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "611:3:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "611:17:1"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "calldataload",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "598:12:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "598:31:1"
|
|
|
|
},
|
|
|
|
"variables":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulTypedName",
|
|
|
|
"src": "588:6:1",
|
|
|
|
"type": ""
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"body":
|
|
|
|
{
|
|
|
|
"nodeType": "YulBlock",
|
|
|
|
"src": "676:16:1",
|
|
|
|
"statements":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"expression":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "685:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "688:1:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "revert",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "678:6:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "678:12:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulExpressionStatement",
|
|
|
|
"src": "678:12:1"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"condition":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "648:6:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind": "number",
|
|
|
|
"nodeType": "YulLiteral",
|
|
|
|
"src": "656:18:1",
|
|
|
|
"type": "",
|
|
|
|
"value": "0xffffffffffffffff"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "gt",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "645:2:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "645:30:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulIf",
|
|
|
|
"src": "642:2:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"nodeType": "YulAssignment",
|
|
|
|
"src": "705:98:1",
|
|
|
|
"value":
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"arguments":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "headStart",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "775:9:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "offset",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "786:6:1"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "add",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "771:3:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "771:22:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "dataEnd",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "795:7:1"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"functionName":
|
|
|
|
{
|
|
|
|
"name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "723:47:1"
|
|
|
|
},
|
|
|
|
"nodeType": "YulFunctionCall",
|
|
|
|
"src": "723:80:1"
|
|
|
|
},
|
|
|
|
"variableNames":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "value0",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "705:6:1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "value1",
|
|
|
|
"nodeType": "YulIdentifier",
|
|
|
|
"src": "713:6:1"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"name": "abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr",
|
|
|
|
"nodeType": "YulFunctionDefinition",
|
|
|
|
"parameters":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "headStart",
|
|
|
|
"nodeType": "YulTypedName",
|
|
|
|
"src": "460:9:1",
|
|
|
|
"type": ""
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "dataEnd",
|
|
|
|
"nodeType": "YulTypedName",
|
|
|
|
"src": "471:7:1",
|
|
|
|
"type": ""
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"returnVariables":
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "value0",
|
|
|
|
"nodeType": "YulTypedName",
|
|
|
|
"src": "483:6:1",
|
|
|
|
"type": ""
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "value1",
|
|
|
|
"nodeType": "YulTypedName",
|
|
|
|
"src": "491:6:1",
|
|
|
|
"type": ""
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"src": "397:423:1"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"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(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert(0, 0) }\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(0, 0) }\n\n {\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\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"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
2020-11-05 16:57:46 +00:00
|
|
|
"version": "<VERSION REMOVED>"
|
2020-05-28 12:01:07 +00:00
|
|
|
}
|