Skip to content

Instantly share code, notes, and snippets.

@Dustin4444
Created August 9, 2025 06:41
Show Gist options
  • Save Dustin4444/de5e132be76190e1243c551c21fed654 to your computer and use it in GitHub Desktop.
Save Dustin4444/de5e132be76190e1243c551c21fed654 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.19+commit.7dd6d404.js&optimize=false&runs=NaN&gist=
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610207806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633120d4341461003b578063b3de648b1461006b575b600080fd5b610055600480360381019061005091906100ed565b61009b565b6040516100629190610129565b60405180910390f35b6100856004803603810190610080919061017a565b6100a5565b60405161009291906101b6565b60405180910390f35b6000819050919050565b6000819050919050565b600080fd5b600060ff82169050919050565b6100ca816100b4565b81146100d557600080fd5b50565b6000813590506100e7816100c1565b92915050565b600060208284031215610103576101026100af565b5b6000610111848285016100d8565b91505092915050565b610123816100b4565b82525050565b600060208201905061013e600083018461011a565b92915050565b6000819050919050565b61015781610144565b811461016257600080fd5b50565b6000813590506101748161014e565b92915050565b6000602082840312156101905761018f6100af565b5b600061019e84828501610165565b91505092915050565b6101b081610144565b82525050565b60006020820190506101cb60008301846101a7565b9291505056fea2646970667358221220a3aa91ffcdb05559b50d8d844d495e68e5991eb195dde1d6b96f20833a5b6dc864736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x207 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3120D434 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xB3DE648B EQ PUSH2 0x6B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xED JUMP JUMPDEST PUSH2 0x9B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x62 SWAP2 SWAP1 PUSH2 0x129 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x85 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x80 SWAP2 SWAP1 PUSH2 0x17A JUMP JUMPDEST PUSH2 0xA5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x92 SWAP2 SWAP1 PUSH2 0x1B6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xCA DUP2 PUSH2 0xB4 JUMP JUMPDEST DUP2 EQ PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE7 DUP2 PUSH2 0xC1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x103 JUMPI PUSH2 0x102 PUSH2 0xAF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x111 DUP5 DUP3 DUP6 ADD PUSH2 0xD8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x123 DUP2 PUSH2 0xB4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x11A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x157 DUP2 PUSH2 0x144 JUMP JUMPDEST DUP2 EQ PUSH2 0x162 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x174 DUP2 PUSH2 0x14E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x190 JUMPI PUSH2 0x18F PUSH2 0xAF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x19E DUP5 DUP3 DUP6 ADD PUSH2 0x165 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1B0 DUP2 PUSH2 0x144 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1CB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1A7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG3 0xAA SWAP2 SELFDESTRUCT 0xCD 0xB0 SSTORE MSIZE 0xB5 0xD DUP14 DUP5 0x4D 0x49 0x5E PUSH9 0xE5991EB195DDE1D6B9 PUSH16 0x20833A5B6DC864736F6C634300081300 CALLER ",
"sourceMap": "70:189:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@f_13": {
"entryPoint": 155,
"id": 13,
"parameterSlots": 1,
"returnSlots": 1
},
"@f_25": {
"entryPoint": 165,
"id": 25,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 357,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint8": {
"entryPoint": 216,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 378,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint8": {
"entryPoint": 237,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 423,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint8_to_t_uint8_fromStack": {
"entryPoint": 282,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 438,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": {
"entryPoint": 297,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 324,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 180,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 175,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 334,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint8": {
"entryPoint": 193,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2400: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": "377:43:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "387:27:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "402:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "409:4:1",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "398:3:1"
},
"nodeType": "YulFunctionCall",
"src": "398:16:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "387:7:1"
}
]
}
]
},
"name": "cleanup_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "359:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "369:7:1",
"type": ""
}
],
"src": "334:86:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "467:77:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "522:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "531:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "534:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "524:6:1"
},
"nodeType": "YulFunctionCall",
"src": "524:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "524:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "490:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "513:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nodeType": "YulIdentifier",
"src": "497:15:1"
},
"nodeType": "YulFunctionCall",
"src": "497:22:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "487:2:1"
},
"nodeType": "YulFunctionCall",
"src": "487:33:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "480:6:1"
},
"nodeType": "YulFunctionCall",
"src": "480:41:1"
},
"nodeType": "YulIf",
"src": "477:61:1"
}
]
},
"name": "validator_revert_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "460:5:1",
"type": ""
}
],
"src": "426:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "600:85:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "610:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "632:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "619:12:1"
},
"nodeType": "YulFunctionCall",
"src": "619:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "610:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "673:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint8",
"nodeType": "YulIdentifier",
"src": "648:24:1"
},
"nodeType": "YulFunctionCall",
"src": "648:31:1"
},
"nodeType": "YulExpressionStatement",
"src": "648:31:1"
}
]
},
"name": "abi_decode_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "578:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "586:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "594:5:1",
"type": ""
}
],
"src": "550:135:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "755:261:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "801:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "803:77:1"
},
"nodeType": "YulFunctionCall",
"src": "803:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "803:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "776:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "785:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "772:3:1"
},
"nodeType": "YulFunctionCall",
"src": "772:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "797:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "768:3:1"
},
"nodeType": "YulFunctionCall",
"src": "768:32:1"
},
"nodeType": "YulIf",
"src": "765:119:1"
},
{
"nodeType": "YulBlock",
"src": "894:115:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "909:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "923:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "913:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "938:61:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "971:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "982:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "967:3:1"
},
"nodeType": "YulFunctionCall",
"src": "967:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "991:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint8",
"nodeType": "YulIdentifier",
"src": "948:18:1"
},
"nodeType": "YulFunctionCall",
"src": "948:51:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "938:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "725:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "736:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "748:6:1",
"type": ""
}
],
"src": "691:325:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1083:51:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1100:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1121:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nodeType": "YulIdentifier",
"src": "1105:15:1"
},
"nodeType": "YulFunctionCall",
"src": "1105:22:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1093:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1093:35:1"
},
"nodeType": "YulExpressionStatement",
"src": "1093:35:1"
}
]
},
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1071:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1078:3:1",
"type": ""
}
],
"src": "1022:112:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1234:120:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1244:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1256:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1267:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1252:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1252:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1244:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1320:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1333:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1344:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1329:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1329:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulIdentifier",
"src": "1280:39:1"
},
"nodeType": "YulFunctionCall",
"src": "1280:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "1280:67:1"
}
]
},
"name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1206:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1218:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1229:4:1",
"type": ""
}
],
"src": "1140:214:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1405:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1415:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1426:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1415:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1387:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1397:7:1",
"type": ""
}
],
"src": "1360:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1486:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1543:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1552:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1555:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1545:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1545:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1545:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1509:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1534:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1516:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1516:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1506:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1506:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1499:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1499:43:1"
},
"nodeType": "YulIf",
"src": "1496:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1479:5:1",
"type": ""
}
],
"src": "1443:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1623:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1633:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1655:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1642:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1642:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1633:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1698:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "1671:26:1"
},
"nodeType": "YulFunctionCall",
"src": "1671:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1671:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1601:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1609:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1617:5:1",
"type": ""
}
],
"src": "1571:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1782:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1828:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1830:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1830:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1830:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1803:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1812:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1799:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1799:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1824:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1795:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1795:32:1"
},
"nodeType": "YulIf",
"src": "1792:119:1"
},
{
"nodeType": "YulBlock",
"src": "1921:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1936:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1950:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1940:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1965:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2000:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2011:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1996:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1996:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2020:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1975:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1975:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1965:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1752:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1763:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1775:6:1",
"type": ""
}
],
"src": "1716:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2116:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2133:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2156:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2138:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2138:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2126:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2126:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2126:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2104:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2111:3:1",
"type": ""
}
],
"src": "2051:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2273:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2283:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2295:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2306:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2291:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2291:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2283:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2363:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2376:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2387:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2372:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2372:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2319:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2319:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2319:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2245:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2257:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2268:4:1",
"type": ""
}
],
"src": "2175:222: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 cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c80633120d4341461003b578063b3de648b1461006b575b600080fd5b610055600480360381019061005091906100ed565b61009b565b6040516100629190610129565b60405180910390f35b6100856004803603810190610080919061017a565b6100a5565b60405161009291906101b6565b60405180910390f35b6000819050919050565b6000819050919050565b600080fd5b600060ff82169050919050565b6100ca816100b4565b81146100d557600080fd5b50565b6000813590506100e7816100c1565b92915050565b600060208284031215610103576101026100af565b5b6000610111848285016100d8565b91505092915050565b610123816100b4565b82525050565b600060208201905061013e600083018461011a565b92915050565b6000819050919050565b61015781610144565b811461016257600080fd5b50565b6000813590506101748161014e565b92915050565b6000602082840312156101905761018f6100af565b5b600061019e84828501610165565b91505092915050565b6101b081610144565b82525050565b60006020820190506101cb60008301846101a7565b9291505056fea2646970667358221220a3aa91ffcdb05559b50d8d844d495e68e5991eb195dde1d6b96f20833a5b6dc864736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3120D434 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xB3DE648B EQ PUSH2 0x6B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xED JUMP JUMPDEST PUSH2 0x9B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x62 SWAP2 SWAP1 PUSH2 0x129 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x85 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x80 SWAP2 SWAP1 PUSH2 0x17A JUMP JUMPDEST PUSH2 0xA5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x92 SWAP2 SWAP1 PUSH2 0x1B6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xCA DUP2 PUSH2 0xB4 JUMP JUMPDEST DUP2 EQ PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE7 DUP2 PUSH2 0xC1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x103 JUMPI PUSH2 0x102 PUSH2 0xAF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x111 DUP5 DUP3 DUP6 ADD PUSH2 0xD8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x123 DUP2 PUSH2 0xB4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x11A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x157 DUP2 PUSH2 0x144 JUMP JUMPDEST DUP2 EQ PUSH2 0x162 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x174 DUP2 PUSH2 0x14E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x190 JUMPI PUSH2 0x18F PUSH2 0xAF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x19E DUP5 DUP3 DUP6 ADD PUSH2 0x165 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1B0 DUP2 PUSH2 0x144 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1CB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1A7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG3 0xAA SWAP2 SELFDESTRUCT 0xCD 0xB0 SSTORE MSIZE 0xB5 0xD DUP14 DUP5 0x4D 0x49 0x5E PUSH9 0xE5991EB195DDE1D6B9 PUSH16 0x20833A5B6DC864736F6C634300081300 CALLER ",
"sourceMap": "70:189:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;87:80;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;173:84;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;87:80;130:9;157:3;151:9;;87:80;;;:::o;173:84::-;218:11;247:3;241:9;;173:84;;;:::o;88:117:1:-;197:1;194;187:12;334:86;369:7;409:4;402:5;398:16;387:27;;334:86;;;:::o;426:118::-;497:22;513:5;497:22;:::i;:::-;490:5;487:33;477:61;;534:1;531;524:12;477:61;426:118;:::o;550:135::-;594:5;632:6;619:20;610:29;;648:31;673:5;648:31;:::i;:::-;550:135;;;;:::o;691:325::-;748:6;797:2;785:9;776:7;772:23;768:32;765:119;;;803:79;;:::i;:::-;765:119;923:1;948:51;991:7;982:6;971:9;967:22;948:51;:::i;:::-;938:61;;894:115;691:325;;;;:::o;1022:112::-;1105:22;1121:5;1105:22;:::i;:::-;1100:3;1093:35;1022:112;;:::o;1140:214::-;1229:4;1267:2;1256:9;1252:18;1244:26;;1280:67;1344:1;1333:9;1329:17;1320:6;1280:67;:::i;:::-;1140:214;;;;:::o;1360:77::-;1397:7;1426:5;1415:16;;1360:77;;;:::o;1443:122::-;1516:24;1534:5;1516:24;:::i;:::-;1509:5;1506:35;1496:63;;1555:1;1552;1545:12;1496:63;1443:122;:::o;1571:139::-;1617:5;1655:6;1642:20;1633:29;;1671:33;1698:5;1671:33;:::i;:::-;1571:139;;;;:::o;1716:329::-;1775:6;1824:2;1812:9;1803:7;1799:23;1795:32;1792:119;;;1830:79;;:::i;:::-;1792:119;1950:1;1975:53;2020:7;2011:6;2000:9;1996:22;1975:53;:::i;:::-;1965:63;;1921:117;1716:329;;;;:::o;2051:118::-;2138:24;2156:5;2138:24;:::i;:::-;2133:3;2126:37;2051:118;;:::o;2175:222::-;2268:4;2306:2;2295:9;2291:18;2283:26;;2319:71;2387:1;2376:9;2372:17;2363:6;2319:71;:::i;:::-;2175:222;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "103800",
"executionCost": "153",
"totalCost": "103953"
},
"external": {
"f(uint256)": "infinite",
"f(uint8)": "infinite"
}
},
"methodIdentifiers": {
"f(uint256)": "b3de648b",
"f(uint8)": "3120d434"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint8",
"name": "val",
"type": "uint8"
}
],
"name": "f",
"outputs": [
{
"internalType": "uint8",
"name": "out",
"type": "uint8"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "val",
"type": "uint256"
}
],
"name": "f",
"outputs": [
{
"internalType": "uint256",
"name": "out",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint8",
"name": "val",
"type": "uint8"
}
],
"name": "f",
"outputs": [
{
"internalType": "uint8",
"name": "out",
"type": "uint8"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "val",
"type": "uint256"
}
],
"name": "f",
"outputs": [
{
"internalType": "uint256",
"name": "out",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contract-058b9b3a29.sol": "A"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contract-058b9b3a29.sol": {
"keccak256": "0x55bad5b3dcedea2efc98b759e74e1b63e6aeb9b230ccec92824bcfd790d0c8a2",
"license": "GPL-3.0",
"urls": [
"bzz-raw://3dd2e3a23ced77ad892c688eb90c7423b0d01ae04290cb22f656247e133bda7a",
"dweb:/ipfs/QmeTq1U3evLCuzy9yyoFvABgMTkPcMfinsAGzLJSpJhGcZ"
]
}
},
"version": 1
}
{
"id": "1c0f8df5d0186489a66b92c597add43c",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.19",
"solcLongVersion": "0.8.19+commit.7dd6d404",
"input": {
"language": "Solidity",
"sources": {
"contract-058b9b3a29.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.4.16 <0.9.0;\n\ncontract A {\n function f(uint8 val) public pure returns (uint8 out) {\n out = val;\n }\n\n function f(uint256 val) public pure returns (uint256 out) {\n out = val;\n }\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
},
"remappings": []
}
},
"output": {
"contracts": {
"contract-058b9b3a29.sol": {
"A": {
"abi": [
{
"inputs": [
{
"internalType": "uint8",
"name": "val",
"type": "uint8"
}
],
"name": "f",
"outputs": [
{
"internalType": "uint8",
"name": "out",
"type": "uint8"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "val",
"type": "uint256"
}
],
"name": "f",
"outputs": [
{
"internalType": "uint256",
"name": "out",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contract-058b9b3a29.sol\":70:259 contract A {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contract-058b9b3a29.sol\":70:259 contract A {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x3120d434\n eq\n tag_3\n jumpi\n dup1\n 0xb3de648b\n eq\n tag_4\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contract-058b9b3a29.sol\":87:167 function f(uint8 val) public pure returns (uint8 out) {... */\n tag_3:\n tag_5\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_6\n swap2\n swap1\n tag_7\n jump\t// in\n tag_6:\n tag_8\n jump\t// in\n tag_5:\n mload(0x40)\n tag_9\n swap2\n swap1\n tag_10\n jump\t// in\n tag_9:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-058b9b3a29.sol\":173:257 function f(uint256 val) public pure returns (uint256 out) {... */\n tag_4:\n tag_11\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_12\n swap2\n swap1\n tag_13\n jump\t// in\n tag_12:\n tag_14\n jump\t// in\n tag_11:\n mload(0x40)\n tag_15\n swap2\n swap1\n tag_16\n jump\t// in\n tag_15:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contract-058b9b3a29.sol\":87:167 function f(uint8 val) public pure returns (uint8 out) {... */\n tag_8:\n /* \"contract-058b9b3a29.sol\":130:139 uint8 out */\n 0x00\n /* \"contract-058b9b3a29.sol\":157:160 val */\n dup2\n /* \"contract-058b9b3a29.sol\":151:160 out = val */\n swap1\n pop\n /* \"contract-058b9b3a29.sol\":87:167 function f(uint8 val) public pure returns (uint8 out) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"contract-058b9b3a29.sol\":173:257 function f(uint256 val) public pure returns (uint256 out) {... */\n tag_14:\n /* \"contract-058b9b3a29.sol\":218:229 uint256 out */\n 0x00\n /* \"contract-058b9b3a29.sol\":247:250 val */\n dup2\n /* \"contract-058b9b3a29.sol\":241:250 out = val */\n swap1\n pop\n /* \"contract-058b9b3a29.sol\":173:257 function f(uint256 val) public pure returns (uint256 out) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_20:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:420 */\n tag_22:\n /* \"#utility.yul\":369:376 */\n 0x00\n /* \"#utility.yul\":409:413 */\n 0xff\n /* \"#utility.yul\":402:407 */\n dup3\n /* \"#utility.yul\":398:414 */\n and\n /* \"#utility.yul\":387:414 */\n swap1\n pop\n /* \"#utility.yul\":334:420 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":426:544 */\n tag_23:\n /* \"#utility.yul\":497:519 */\n tag_36\n /* \"#utility.yul\":513:518 */\n dup2\n /* \"#utility.yul\":497:519 */\n tag_22\n jump\t// in\n tag_36:\n /* \"#utility.yul\":490:495 */\n dup2\n /* \"#utility.yul\":487:520 */\n eq\n /* \"#utility.yul\":477:538 */\n tag_37\n jumpi\n /* \"#utility.yul\":534:535 */\n 0x00\n /* \"#utility.yul\":531:532 */\n dup1\n /* \"#utility.yul\":524:536 */\n revert\n /* \"#utility.yul\":477:538 */\n tag_37:\n /* \"#utility.yul\":426:544 */\n pop\n jump\t// out\n /* \"#utility.yul\":550:685 */\n tag_24:\n /* \"#utility.yul\":594:599 */\n 0x00\n /* \"#utility.yul\":632:638 */\n dup2\n /* \"#utility.yul\":619:639 */\n calldataload\n /* \"#utility.yul\":610:639 */\n swap1\n pop\n /* \"#utility.yul\":648:679 */\n tag_39\n /* \"#utility.yul\":673:678 */\n dup2\n /* \"#utility.yul\":648:679 */\n tag_23\n jump\t// in\n tag_39:\n /* \"#utility.yul\":550:685 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":691:1016 */\n tag_7:\n /* \"#utility.yul\":748:754 */\n 0x00\n /* \"#utility.yul\":797:799 */\n 0x20\n /* \"#utility.yul\":785:794 */\n dup3\n /* \"#utility.yul\":776:783 */\n dup5\n /* \"#utility.yul\":772:795 */\n sub\n /* \"#utility.yul\":768:800 */\n slt\n /* \"#utility.yul\":765:884 */\n iszero\n tag_41\n jumpi\n /* \"#utility.yul\":803:882 */\n tag_42\n tag_20\n jump\t// in\n tag_42:\n /* \"#utility.yul\":765:884 */\n tag_41:\n /* \"#utility.yul\":923:924 */\n 0x00\n /* \"#utility.yul\":948:999 */\n tag_43\n /* \"#utility.yul\":991:998 */\n dup5\n /* \"#utility.yul\":982:988 */\n dup3\n /* \"#utility.yul\":971:980 */\n dup6\n /* \"#utility.yul\":967:989 */\n add\n /* \"#utility.yul\":948:999 */\n tag_24\n jump\t// in\n tag_43:\n /* \"#utility.yul\":938:999 */\n swap2\n pop\n /* \"#utility.yul\":894:1009 */\n pop\n /* \"#utility.yul\":691:1016 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1022:1134 */\n tag_25:\n /* \"#utility.yul\":1105:1127 */\n tag_45\n /* \"#utility.yul\":1121:1126 */\n dup2\n /* \"#utility.yul\":1105:1127 */\n tag_22\n jump\t// in\n tag_45:\n /* \"#utility.yul\":1100:1103 */\n dup3\n /* \"#utility.yul\":1093:1128 */\n mstore\n /* \"#utility.yul\":1022:1134 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1140:1354 */\n tag_10:\n /* \"#utility.yul\":1229:1233 */\n 0x00\n /* \"#utility.yul\":1267:1269 */\n 0x20\n /* \"#utility.yul\":1256:1265 */\n dup3\n /* \"#utility.yul\":1252:1270 */\n add\n /* \"#utility.yul\":1244:1270 */\n swap1\n pop\n /* \"#utility.yul\":1280:1347 */\n tag_47\n /* \"#utility.yul\":1344:1345 */\n 0x00\n /* \"#utility.yul\":1333:1342 */\n dup4\n /* \"#utility.yul\":1329:1346 */\n add\n /* \"#utility.yul\":1320:1326 */\n dup5\n /* \"#utility.yul\":1280:1347 */\n tag_25\n jump\t// in\n tag_47:\n /* \"#utility.yul\":1140:1354 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1360:1437 */\n tag_26:\n /* \"#utility.yul\":1397:1404 */\n 0x00\n /* \"#utility.yul\":1426:1431 */\n dup2\n /* \"#utility.yul\":1415:1431 */\n swap1\n pop\n /* \"#utility.yul\":1360:1437 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1443:1565 */\n tag_27:\n /* \"#utility.yul\":1516:1540 */\n tag_50\n /* \"#utility.yul\":1534:1539 */\n dup2\n /* \"#utility.yul\":1516:1540 */\n tag_26\n jump\t// in\n tag_50:\n /* \"#utility.yul\":1509:1514 */\n dup2\n /* \"#utility.yul\":1506:1541 */\n eq\n /* \"#utility.yul\":1496:1559 */\n tag_51\n jumpi\n /* \"#utility.yul\":1555:1556 */\n 0x00\n /* \"#utility.yul\":1552:1553 */\n dup1\n /* \"#utility.yul\":1545:1557 */\n revert\n /* \"#utility.yul\":1496:1559 */\n tag_51:\n /* \"#utility.yul\":1443:1565 */\n pop\n jump\t// out\n /* \"#utility.yul\":1571:1710 */\n tag_28:\n /* \"#utility.yul\":1617:1622 */\n 0x00\n /* \"#utility.yul\":1655:1661 */\n dup2\n /* \"#utility.yul\":1642:1662 */\n calldataload\n /* \"#utility.yul\":1633:1662 */\n swap1\n pop\n /* \"#utility.yul\":1671:1704 */\n tag_53\n /* \"#utility.yul\":1698:1703 */\n dup2\n /* \"#utility.yul\":1671:1704 */\n tag_27\n jump\t// in\n tag_53:\n /* \"#utility.yul\":1571:1710 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1716:2045 */\n tag_13:\n /* \"#utility.yul\":1775:1781 */\n 0x00\n /* \"#utility.yul\":1824:1826 */\n 0x20\n /* \"#utility.yul\":1812:1821 */\n dup3\n /* \"#utility.yul\":1803:1810 */\n dup5\n /* \"#utility.yul\":1799:1822 */\n sub\n /* \"#utility.yul\":1795:1827 */\n slt\n /* \"#utility.yul\":1792:1911 */\n iszero\n tag_55\n jumpi\n /* \"#utility.yul\":1830:1909 */\n tag_56\n tag_20\n jump\t// in\n tag_56:\n /* \"#utility.yul\":1792:1911 */\n tag_55:\n /* \"#utility.yul\":1950:1951 */\n 0x00\n /* \"#utility.yul\":1975:2028 */\n tag_57\n /* \"#utility.yul\":2020:2027 */\n dup5\n /* \"#utility.yul\":2011:2017 */\n dup3\n /* \"#utility.yul\":2000:2009 */\n dup6\n /* \"#utility.yul\":1996:2018 */\n add\n /* \"#utility.yul\":1975:2028 */\n tag_28\n jump\t// in\n tag_57:\n /* \"#utility.yul\":1965:2028 */\n swap2\n pop\n /* \"#utility.yul\":1921:2038 */\n pop\n /* \"#utility.yul\":1716:2045 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2051:2169 */\n tag_29:\n /* \"#utility.yul\":2138:2162 */\n tag_59\n /* \"#utility.yul\":2156:2161 */\n dup2\n /* \"#utility.yul\":2138:2162 */\n tag_26\n jump\t// in\n tag_59:\n /* \"#utility.yul\":2133:2136 */\n dup3\n /* \"#utility.yul\":2126:2163 */\n mstore\n /* \"#utility.yul\":2051:2169 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2175:2397 */\n tag_16:\n /* \"#utility.yul\":2268:2272 */\n 0x00\n /* \"#utility.yul\":2306:2308 */\n 0x20\n /* \"#utility.yul\":2295:2304 */\n dup3\n /* \"#utility.yul\":2291:2309 */\n add\n /* \"#utility.yul\":2283:2309 */\n swap1\n pop\n /* \"#utility.yul\":2319:2390 */\n tag_61\n /* \"#utility.yul\":2387:2388 */\n 0x00\n /* \"#utility.yul\":2376:2385 */\n dup4\n /* \"#utility.yul\":2372:2389 */\n add\n /* \"#utility.yul\":2363:2369 */\n dup5\n /* \"#utility.yul\":2319:2390 */\n tag_29\n jump\t// in\n tag_61:\n /* \"#utility.yul\":2175:2397 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220a3aa91ffcdb05559b50d8d844d495e68e5991eb195dde1d6b96f20833a5b6dc864736f6c63430008130033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610207806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633120d4341461003b578063b3de648b1461006b575b600080fd5b610055600480360381019061005091906100ed565b61009b565b6040516100629190610129565b60405180910390f35b6100856004803603810190610080919061017a565b6100a5565b60405161009291906101b6565b60405180910390f35b6000819050919050565b6000819050919050565b600080fd5b600060ff82169050919050565b6100ca816100b4565b81146100d557600080fd5b50565b6000813590506100e7816100c1565b92915050565b600060208284031215610103576101026100af565b5b6000610111848285016100d8565b91505092915050565b610123816100b4565b82525050565b600060208201905061013e600083018461011a565b92915050565b6000819050919050565b61015781610144565b811461016257600080fd5b50565b6000813590506101748161014e565b92915050565b6000602082840312156101905761018f6100af565b5b600061019e84828501610165565b91505092915050565b6101b081610144565b82525050565b60006020820190506101cb60008301846101a7565b9291505056fea2646970667358221220a3aa91ffcdb05559b50d8d844d495e68e5991eb195dde1d6b96f20833a5b6dc864736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x207 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3120D434 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xB3DE648B EQ PUSH2 0x6B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xED JUMP JUMPDEST PUSH2 0x9B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x62 SWAP2 SWAP1 PUSH2 0x129 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x85 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x80 SWAP2 SWAP1 PUSH2 0x17A JUMP JUMPDEST PUSH2 0xA5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x92 SWAP2 SWAP1 PUSH2 0x1B6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xCA DUP2 PUSH2 0xB4 JUMP JUMPDEST DUP2 EQ PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE7 DUP2 PUSH2 0xC1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x103 JUMPI PUSH2 0x102 PUSH2 0xAF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x111 DUP5 DUP3 DUP6 ADD PUSH2 0xD8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x123 DUP2 PUSH2 0xB4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x11A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x157 DUP2 PUSH2 0x144 JUMP JUMPDEST DUP2 EQ PUSH2 0x162 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x174 DUP2 PUSH2 0x14E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x190 JUMPI PUSH2 0x18F PUSH2 0xAF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x19E DUP5 DUP3 DUP6 ADD PUSH2 0x165 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1B0 DUP2 PUSH2 0x144 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1CB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1A7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG3 0xAA SWAP2 SELFDESTRUCT 0xCD 0xB0 SSTORE MSIZE 0xB5 0xD DUP14 DUP5 0x4D 0x49 0x5E PUSH9 0xE5991EB195DDE1D6B9 PUSH16 0x20833A5B6DC864736F6C634300081300 CALLER ",
"sourceMap": "70:189:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@f_13": {
"entryPoint": 155,
"id": 13,
"parameterSlots": 1,
"returnSlots": 1
},
"@f_25": {
"entryPoint": 165,
"id": 25,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 357,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint8": {
"entryPoint": 216,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 378,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint8": {
"entryPoint": 237,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 423,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint8_to_t_uint8_fromStack": {
"entryPoint": 282,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 438,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": {
"entryPoint": 297,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 324,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 180,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 175,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 334,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint8": {
"entryPoint": 193,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2400: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": "377:43:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "387:27:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "402:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "409:4:1",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "398:3:1"
},
"nodeType": "YulFunctionCall",
"src": "398:16:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "387:7:1"
}
]
}
]
},
"name": "cleanup_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "359:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "369:7:1",
"type": ""
}
],
"src": "334:86:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "467:77:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "522:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "531:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "534:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "524:6:1"
},
"nodeType": "YulFunctionCall",
"src": "524:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "524:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "490:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "513:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nodeType": "YulIdentifier",
"src": "497:15:1"
},
"nodeType": "YulFunctionCall",
"src": "497:22:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "487:2:1"
},
"nodeType": "YulFunctionCall",
"src": "487:33:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "480:6:1"
},
"nodeType": "YulFunctionCall",
"src": "480:41:1"
},
"nodeType": "YulIf",
"src": "477:61:1"
}
]
},
"name": "validator_revert_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "460:5:1",
"type": ""
}
],
"src": "426:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "600:85:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "610:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "632:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "619:12:1"
},
"nodeType": "YulFunctionCall",
"src": "619:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "610:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "673:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint8",
"nodeType": "YulIdentifier",
"src": "648:24:1"
},
"nodeType": "YulFunctionCall",
"src": "648:31:1"
},
"nodeType": "YulExpressionStatement",
"src": "648:31:1"
}
]
},
"name": "abi_decode_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "578:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "586:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "594:5:1",
"type": ""
}
],
"src": "550:135:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "755:261:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "801:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "803:77:1"
},
"nodeType": "YulFunctionCall",
"src": "803:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "803:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "776:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "785:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "772:3:1"
},
"nodeType": "YulFunctionCall",
"src": "772:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "797:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "768:3:1"
},
"nodeType": "YulFunctionCall",
"src": "768:32:1"
},
"nodeType": "YulIf",
"src": "765:119:1"
},
{
"nodeType": "YulBlock",
"src": "894:115:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "909:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "923:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "913:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "938:61:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "971:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "982:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "967:3:1"
},
"nodeType": "YulFunctionCall",
"src": "967:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "991:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint8",
"nodeType": "YulIdentifier",
"src": "948:18:1"
},
"nodeType": "YulFunctionCall",
"src": "948:51:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "938:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "725:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "736:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "748:6:1",
"type": ""
}
],
"src": "691:325:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1083:51:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1100:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1121:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nodeType": "YulIdentifier",
"src": "1105:15:1"
},
"nodeType": "YulFunctionCall",
"src": "1105:22:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1093:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1093:35:1"
},
"nodeType": "YulExpressionStatement",
"src": "1093:35:1"
}
]
},
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1071:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1078:3:1",
"type": ""
}
],
"src": "1022:112:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1234:120:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1244:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1256:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1267:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1252:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1252:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1244:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1320:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1333:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1344:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1329:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1329:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulIdentifier",
"src": "1280:39:1"
},
"nodeType": "YulFunctionCall",
"src": "1280:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "1280:67:1"
}
]
},
"name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1206:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1218:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1229:4:1",
"type": ""
}
],
"src": "1140:214:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1405:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1415:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1426:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1415:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1387:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1397:7:1",
"type": ""
}
],
"src": "1360:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1486:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1543:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1552:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1555:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1545:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1545:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1545:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1509:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1534:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1516:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1516:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1506:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1506:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1499:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1499:43:1"
},
"nodeType": "YulIf",
"src": "1496:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1479:5:1",
"type": ""
}
],
"src": "1443:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1623:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1633:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1655:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1642:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1642:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1633:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1698:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "1671:26:1"
},
"nodeType": "YulFunctionCall",
"src": "1671:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1671:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1601:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1609:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1617:5:1",
"type": ""
}
],
"src": "1571:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1782:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1828:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1830:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1830:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1830:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1803:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1812:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1799:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1799:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1824:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1795:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1795:32:1"
},
"nodeType": "YulIf",
"src": "1792:119:1"
},
{
"nodeType": "YulBlock",
"src": "1921:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1936:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1950:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1940:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1965:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2000:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2011:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1996:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1996:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2020:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1975:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1975:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1965:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1752:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1763:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1775:6:1",
"type": ""
}
],
"src": "1716:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2116:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2133:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2156:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2138:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2138:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2126:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2126:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2126:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2104:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2111:3:1",
"type": ""
}
],
"src": "2051:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2273:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2283:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2295:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2306:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2291:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2291:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2283:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2363:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2376:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2387:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2372:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2372:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2319:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2319:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2319:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2245:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2257:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2268:4:1",
"type": ""
}
],
"src": "2175:222: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 cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c80633120d4341461003b578063b3de648b1461006b575b600080fd5b610055600480360381019061005091906100ed565b61009b565b6040516100629190610129565b60405180910390f35b6100856004803603810190610080919061017a565b6100a5565b60405161009291906101b6565b60405180910390f35b6000819050919050565b6000819050919050565b600080fd5b600060ff82169050919050565b6100ca816100b4565b81146100d557600080fd5b50565b6000813590506100e7816100c1565b92915050565b600060208284031215610103576101026100af565b5b6000610111848285016100d8565b91505092915050565b610123816100b4565b82525050565b600060208201905061013e600083018461011a565b92915050565b6000819050919050565b61015781610144565b811461016257600080fd5b50565b6000813590506101748161014e565b92915050565b6000602082840312156101905761018f6100af565b5b600061019e84828501610165565b91505092915050565b6101b081610144565b82525050565b60006020820190506101cb60008301846101a7565b9291505056fea2646970667358221220a3aa91ffcdb05559b50d8d844d495e68e5991eb195dde1d6b96f20833a5b6dc864736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3120D434 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xB3DE648B EQ PUSH2 0x6B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xED JUMP JUMPDEST PUSH2 0x9B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x62 SWAP2 SWAP1 PUSH2 0x129 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x85 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x80 SWAP2 SWAP1 PUSH2 0x17A JUMP JUMPDEST PUSH2 0xA5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x92 SWAP2 SWAP1 PUSH2 0x1B6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xCA DUP2 PUSH2 0xB4 JUMP JUMPDEST DUP2 EQ PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE7 DUP2 PUSH2 0xC1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x103 JUMPI PUSH2 0x102 PUSH2 0xAF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x111 DUP5 DUP3 DUP6 ADD PUSH2 0xD8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x123 DUP2 PUSH2 0xB4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x11A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x157 DUP2 PUSH2 0x144 JUMP JUMPDEST DUP2 EQ PUSH2 0x162 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x174 DUP2 PUSH2 0x14E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x190 JUMPI PUSH2 0x18F PUSH2 0xAF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x19E DUP5 DUP3 DUP6 ADD PUSH2 0x165 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1B0 DUP2 PUSH2 0x144 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1CB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1A7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG3 0xAA SWAP2 SELFDESTRUCT 0xCD 0xB0 SSTORE MSIZE 0xB5 0xD DUP14 DUP5 0x4D 0x49 0x5E PUSH9 0xE5991EB195DDE1D6B9 PUSH16 0x20833A5B6DC864736F6C634300081300 CALLER ",
"sourceMap": "70:189:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;87:80;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;173:84;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;87:80;130:9;157:3;151:9;;87:80;;;:::o;173:84::-;218:11;247:3;241:9;;173:84;;;:::o;88:117:1:-;197:1;194;187:12;334:86;369:7;409:4;402:5;398:16;387:27;;334:86;;;:::o;426:118::-;497:22;513:5;497:22;:::i;:::-;490:5;487:33;477:61;;534:1;531;524:12;477:61;426:118;:::o;550:135::-;594:5;632:6;619:20;610:29;;648:31;673:5;648:31;:::i;:::-;550:135;;;;:::o;691:325::-;748:6;797:2;785:9;776:7;772:23;768:32;765:119;;;803:79;;:::i;:::-;765:119;923:1;948:51;991:7;982:6;971:9;967:22;948:51;:::i;:::-;938:61;;894:115;691:325;;;;:::o;1022:112::-;1105:22;1121:5;1105:22;:::i;:::-;1100:3;1093:35;1022:112;;:::o;1140:214::-;1229:4;1267:2;1256:9;1252:18;1244:26;;1280:67;1344:1;1333:9;1329:17;1320:6;1280:67;:::i;:::-;1140:214;;;;:::o;1360:77::-;1397:7;1426:5;1415:16;;1360:77;;;:::o;1443:122::-;1516:24;1534:5;1516:24;:::i;:::-;1509:5;1506:35;1496:63;;1555:1;1552;1545:12;1496:63;1443:122;:::o;1571:139::-;1617:5;1655:6;1642:20;1633:29;;1671:33;1698:5;1671:33;:::i;:::-;1571:139;;;;:::o;1716:329::-;1775:6;1824:2;1812:9;1803:7;1799:23;1795:32;1792:119;;;1830:79;;:::i;:::-;1792:119;1950:1;1975:53;2020:7;2011:6;2000:9;1996:22;1975:53;:::i;:::-;1965:63;;1921:117;1716:329;;;;:::o;2051:118::-;2138:24;2156:5;2138:24;:::i;:::-;2133:3;2126:37;2051:118;;:::o;2175:222::-;2268:4;2306:2;2295:9;2291:18;2283:26;;2319:71;2387:1;2376:9;2372:17;2363:6;2319:71;:::i;:::-;2175:222;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "103800",
"executionCost": "153",
"totalCost": "103953"
},
"external": {
"f(uint256)": "infinite",
"f(uint8)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 70,
"end": 259,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 70,
"end": 259,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 70,
"end": 259,
"name": "MSTORE",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "ISZERO",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 259,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 259,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "REVERT",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 259,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "POP",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 70,
"end": 259,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 70,
"end": 259,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 259,
"name": "CODECOPY",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 259,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220a3aa91ffcdb05559b50d8d844d495e68e5991eb195dde1d6b96f20833a5b6dc864736f6c63430008130033",
".code": [
{
"begin": 70,
"end": 259,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 70,
"end": 259,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 70,
"end": 259,
"name": "MSTORE",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "ISZERO",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 259,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 259,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "REVERT",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 259,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "POP",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 70,
"end": 259,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "LT",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 70,
"end": 259,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 259,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 70,
"end": 259,
"name": "SHR",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "PUSH",
"source": 0,
"value": "3120D434"
},
{
"begin": 70,
"end": 259,
"name": "EQ",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 70,
"end": 259,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "PUSH",
"source": 0,
"value": "B3DE648B"
},
{
"begin": 70,
"end": 259,
"name": "EQ",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 70,
"end": 259,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 70,
"end": 259,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 259,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 259,
"name": "REVERT",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 87,
"end": 167,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 87,
"end": 167,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 87,
"end": 167,
"name": "DUP1",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "SUB",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "DUP2",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "ADD",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "SWAP1",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 87,
"end": 167,
"name": "SWAP2",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "SWAP1",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 87,
"end": 167,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 87,
"end": 167,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 87,
"end": 167,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 87,
"end": 167,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 87,
"end": 167,
"name": "MLOAD",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 87,
"end": 167,
"name": "SWAP2",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "SWAP1",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 87,
"end": 167,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 87,
"end": 167,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 87,
"end": 167,
"name": "MLOAD",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "DUP1",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "SWAP2",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "SUB",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "SWAP1",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "RETURN",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 173,
"end": 257,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 173,
"end": 257,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 173,
"end": 257,
"name": "DUP1",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "SUB",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "DUP2",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "ADD",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "SWAP1",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 173,
"end": 257,
"name": "SWAP2",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "SWAP1",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 173,
"end": 257,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 173,
"end": 257,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 173,
"end": 257,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 173,
"end": 257,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 173,
"end": 257,
"name": "MLOAD",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 173,
"end": 257,
"name": "SWAP2",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "SWAP1",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 173,
"end": 257,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 173,
"end": 257,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 173,
"end": 257,
"name": "MLOAD",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "DUP1",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "SWAP2",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "SUB",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "SWAP1",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "RETURN",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 87,
"end": 167,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 130,
"end": 139,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 157,
"end": 160,
"name": "DUP2",
"source": 0
},
{
"begin": 151,
"end": 160,
"name": "SWAP1",
"source": 0
},
{
"begin": 151,
"end": 160,
"name": "POP",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "SWAP2",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "SWAP1",
"source": 0
},
{
"begin": 87,
"end": 167,
"name": "POP",
"source": 0
},
{
"begin": 87,
"end": 167,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 173,
"end": 257,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 218,
"end": 229,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 247,
"end": 250,
"name": "DUP2",
"source": 0
},
{
"begin": 241,
"end": 250,
"name": "SWAP1",
"source": 0
},
{
"begin": 241,
"end": 250,
"name": "POP",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "SWAP2",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "SWAP1",
"source": 0
},
{
"begin": 173,
"end": 257,
"name": "POP",
"source": 0
},
{
"begin": 173,
"end": 257,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 88,
"end": 205,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 197,
"end": 198,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 194,
"end": 195,
"name": "DUP1",
"source": 1
},
{
"begin": 187,
"end": 199,
"name": "REVERT",
"source": 1
},
{
"begin": 334,
"end": 420,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 334,
"end": 420,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 369,
"end": 376,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 409,
"end": 413,
"name": "PUSH",
"source": 1,
"value": "FF"
},
{
"begin": 402,
"end": 407,
"name": "DUP3",
"source": 1
},
{
"begin": 398,
"end": 414,
"name": "AND",
"source": 1
},
{
"begin": 387,
"end": 414,
"name": "SWAP1",
"source": 1
},
{
"begin": 387,
"end": 414,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 420,
"name": "SWAP2",
"source": 1
},
{
"begin": 334,
"end": 420,
"name": "SWAP1",
"source": 1
},
{
"begin": 334,
"end": 420,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 420,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 426,
"end": 544,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 426,
"end": 544,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 497,
"end": 519,
"name": "PUSH [tag]",
"source": 1,
"value": "36"
},
{
"begin": 513,
"end": 518,
"name": "DUP2",
"source": 1
},
{
"begin": 497,
"end": 519,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 497,
"end": 519,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 497,
"end": 519,
"name": "tag",
"source": 1,
"value": "36"
},
{
"begin": 497,
"end": 519,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 490,
"end": 495,
"name": "DUP2",
"source": 1
},
{
"begin": 487,
"end": 520,
"name": "EQ",
"source": 1
},
{
"begin": 477,
"end": 538,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 477,
"end": 538,
"name": "JUMPI",
"source": 1
},
{
"begin": 534,
"end": 535,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 531,
"end": 532,
"name": "DUP1",
"source": 1
},
{
"begin": 524,
"end": 536,
"name": "REVERT",
"source": 1
},
{
"begin": 477,
"end": 538,
"name": "tag",
"source": 1,
"value": "37"
},
{
"begin": 477,
"end": 538,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 426,
"end": 544,
"name": "POP",
"source": 1
},
{
"begin": 426,
"end": 544,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 550,
"end": 685,
"name": "tag",
"source": 1,
"value": "24"
},
{
"begin": 550,
"end": 685,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 594,
"end": 599,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 632,
"end": 638,
"name": "DUP2",
"source": 1
},
{
"begin": 619,
"end": 639,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 610,
"end": 639,
"name": "SWAP1",
"source": 1
},
{
"begin": 610,
"end": 639,
"name": "POP",
"source": 1
},
{
"begin": 648,
"end": 679,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 673,
"end": 678,
"name": "DUP2",
"source": 1
},
{
"begin": 648,
"end": 679,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 648,
"end": 679,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 648,
"end": 679,
"name": "tag",
"source": 1,
"value": "39"
},
{
"begin": 648,
"end": 679,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 550,
"end": 685,
"name": "SWAP3",
"source": 1
},
{
"begin": 550,
"end": 685,
"name": "SWAP2",
"source": 1
},
{
"begin": 550,
"end": 685,
"name": "POP",
"source": 1
},
{
"begin": 550,
"end": 685,
"name": "POP",
"source": 1
},
{
"begin": 550,
"end": 685,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 691,
"end": 1016,
"name": "tag",
"source": 1,
"value": "7"
},
{
"begin": 691,
"end": 1016,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 748,
"end": 754,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 797,
"end": 799,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 785,
"end": 794,
"name": "DUP3",
"source": 1
},
{
"begin": 776,
"end": 783,
"name": "DUP5",
"source": 1
},
{
"begin": 772,
"end": 795,
"name": "SUB",
"source": 1
},
{
"begin": 768,
"end": 800,
"name": "SLT",
"source": 1
},
{
"begin": 765,
"end": 884,
"name": "ISZERO",
"source": 1
},
{
"begin": 765,
"end": 884,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 765,
"end": 884,
"name": "JUMPI",
"source": 1
},
{
"begin": 803,
"end": 882,
"name": "PUSH [tag]",
"source": 1,
"value": "42"
},
{
"begin": 803,
"end": 882,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 803,
"end": 882,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 803,
"end": 882,
"name": "tag",
"source": 1,
"value": "42"
},
{
"begin": 803,
"end": 882,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 765,
"end": 884,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 765,
"end": 884,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 923,
"end": 924,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 948,
"end": 999,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 991,
"end": 998,
"name": "DUP5",
"source": 1
},
{
"begin": 982,
"end": 988,
"name": "DUP3",
"source": 1
},
{
"begin": 971,
"end": 980,
"name": "DUP6",
"source": 1
},
{
"begin": 967,
"end": 989,
"name": "ADD",
"source": 1
},
{
"begin": 948,
"end": 999,
"name": "PUSH [tag]",
"source": 1,
"value": "24"
},
{
"begin": 948,
"end": 999,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 948,
"end": 999,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 948,
"end": 999,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 938,
"end": 999,
"name": "SWAP2",
"source": 1
},
{
"begin": 938,
"end": 999,
"name": "POP",
"source": 1
},
{
"begin": 894,
"end": 1009,
"name": "POP",
"source": 1
},
{
"begin": 691,
"end": 1016,
"name": "SWAP3",
"source": 1
},
{
"begin": 691,
"end": 1016,
"name": "SWAP2",
"source": 1
},
{
"begin": 691,
"end": 1016,
"name": "POP",
"source": 1
},
{
"begin": 691,
"end": 1016,
"name": "POP",
"source": 1
},
{
"begin": 691,
"end": 1016,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1022,
"end": 1134,
"name": "tag",
"source": 1,
"value": "25"
},
{
"begin": 1022,
"end": 1134,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1105,
"end": 1127,
"name": "PUSH [tag]",
"source": 1,
"value": "45"
},
{
"begin": 1121,
"end": 1126,
"name": "DUP2",
"source": 1
},
{
"begin": 1105,
"end": 1127,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 1105,
"end": 1127,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1105,
"end": 1127,
"name": "tag",
"source": 1,
"value": "45"
},
{
"begin": 1105,
"end": 1127,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1100,
"end": 1103,
"name": "DUP3",
"source": 1
},
{
"begin": 1093,
"end": 1128,
"name": "MSTORE",
"source": 1
},
{
"begin": 1022,
"end": 1134,
"name": "POP",
"source": 1
},
{
"begin": 1022,
"end": 1134,
"name": "POP",
"source": 1
},
{
"begin": 1022,
"end": 1134,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1140,
"end": 1354,
"name": "tag",
"source": 1,
"value": "10"
},
{
"begin": 1140,
"end": 1354,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1229,
"end": 1233,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1267,
"end": 1269,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1256,
"end": 1265,
"name": "DUP3",
"source": 1
},
{
"begin": 1252,
"end": 1270,
"name": "ADD",
"source": 1
},
{
"begin": 1244,
"end": 1270,
"name": "SWAP1",
"source": 1
},
{
"begin": 1244,
"end": 1270,
"name": "POP",
"source": 1
},
{
"begin": 1280,
"end": 1347,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 1344,
"end": 1345,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1333,
"end": 1342,
"name": "DUP4",
"source": 1
},
{
"begin": 1329,
"end": 1346,
"name": "ADD",
"source": 1
},
{
"begin": 1320,
"end": 1326,
"name": "DUP5",
"source": 1
},
{
"begin": 1280,
"end": 1347,
"name": "PUSH [tag]",
"source": 1,
"value": "25"
},
{
"begin": 1280,
"end": 1347,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1280,
"end": 1347,
"name": "tag",
"source": 1,
"value": "47"
},
{
"begin": 1280,
"end": 1347,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1140,
"end": 1354,
"name": "SWAP3",
"source": 1
},
{
"begin": 1140,
"end": 1354,
"name": "SWAP2",
"source": 1
},
{
"begin": 1140,
"end": 1354,
"name": "POP",
"source": 1
},
{
"begin": 1140,
"end": 1354,
"name": "POP",
"source": 1
},
{
"begin": 1140,
"end": 1354,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1360,
"end": 1437,
"name": "tag",
"source": 1,
"value": "26"
},
{
"begin": 1360,
"end": 1437,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1397,
"end": 1404,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1426,
"end": 1431,
"name": "DUP2",
"source": 1
},
{
"begin": 1415,
"end": 1431,
"name": "SWAP1",
"source": 1
},
{
"begin": 1415,
"end": 1431,
"name": "POP",
"source": 1
},
{
"begin": 1360,
"end": 1437,
"name": "SWAP2",
"source": 1
},
{
"begin": 1360,
"end": 1437,
"name": "SWAP1",
"source": 1
},
{
"begin": 1360,
"end": 1437,
"name": "POP",
"source": 1
},
{
"begin": 1360,
"end": 1437,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1443,
"end": 1565,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 1443,
"end": 1565,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1516,
"end": 1540,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 1534,
"end": 1539,
"name": "DUP2",
"source": 1
},
{
"begin": 1516,
"end": 1540,
"name": "PUSH [tag]",
"source": 1,
"value": "26"
},
{
"begin": 1516,
"end": 1540,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1516,
"end": 1540,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 1516,
"end": 1540,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1509,
"end": 1514,
"name": "DUP2",
"source": 1
},
{
"begin": 1506,
"end": 1541,
"name": "EQ",
"source": 1
},
{
"begin": 1496,
"end": 1559,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 1496,
"end": 1559,
"name": "JUMPI",
"source": 1
},
{
"begin": 1555,
"end": 1556,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1552,
"end": 1553,
"name": "DUP1",
"source": 1
},
{
"begin": 1545,
"end": 1557,
"name": "REVERT",
"source": 1
},
{
"begin": 1496,
"end": 1559,
"name": "tag",
"source": 1,
"value": "51"
},
{
"begin": 1496,
"end": 1559,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1443,
"end": 1565,
"name": "POP",
"source": 1
},
{
"begin": 1443,
"end": 1565,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1571,
"end": 1710,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 1571,
"end": 1710,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1617,
"end": 1622,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1655,
"end": 1661,
"name": "DUP2",
"source": 1
},
{
"begin": 1642,
"end": 1662,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 1633,
"end": 1662,
"name": "SWAP1",
"source": 1
},
{
"begin": 1633,
"end": 1662,
"name": "POP",
"source": 1
},
{
"begin": 1671,
"end": 1704,
"name": "PUSH [tag]",
"source": 1,
"value": "53"
},
{
"begin": 1698,
"end": 1703,
"name": "DUP2",
"source": 1
},
{
"begin": 1671,
"end": 1704,
"name": "PUSH [tag]",
"source": 1,
"value": "27"
},
{
"begin": 1671,
"end": 1704,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1671,
"end": 1704,
"name": "tag",
"source": 1,
"value": "53"
},
{
"begin": 1671,
"end": 1704,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1571,
"end": 1710,
"name": "SWAP3",
"source": 1
},
{
"begin": 1571,
"end": 1710,
"name": "SWAP2",
"source": 1
},
{
"begin": 1571,
"end": 1710,
"name": "POP",
"source": 1
},
{
"begin": 1571,
"end": 1710,
"name": "POP",
"source": 1
},
{
"begin": 1571,
"end": 1710,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1716,
"end": 2045,
"name": "tag",
"source": 1,
"value": "13"
},
{
"begin": 1716,
"end": 2045,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1775,
"end": 1781,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1824,
"end": 1826,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1812,
"end": 1821,
"name": "DUP3",
"source": 1
},
{
"begin": 1803,
"end": 1810,
"name": "DUP5",
"source": 1
},
{
"begin": 1799,
"end": 1822,
"name": "SUB",
"source": 1
},
{
"begin": 1795,
"end": 1827,
"name": "SLT",
"source": 1
},
{
"begin": 1792,
"end": 1911,
"name": "ISZERO",
"source": 1
},
{
"begin": 1792,
"end": 1911,
"name": "PUSH [tag]",
"source": 1,
"value": "55"
},
{
"begin": 1792,
"end": 1911,
"name": "JUMPI",
"source": 1
},
{
"begin": 1830,
"end": 1909,
"name": "PUSH [tag]",
"source": 1,
"value": "56"
},
{
"begin": 1830,
"end": 1909,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 1830,
"end": 1909,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1830,
"end": 1909,
"name": "tag",
"source": 1,
"value": "56"
},
{
"begin": 1830,
"end": 1909,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1792,
"end": 1911,
"name": "tag",
"source": 1,
"value": "55"
},
{
"begin": 1792,
"end": 1911,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1950,
"end": 1951,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1975,
"end": 2028,
"name": "PUSH [tag]",
"source": 1,
"value": "57"
},
{
"begin": 2020,
"end": 2027,
"name": "DUP5",
"source": 1
},
{
"begin": 2011,
"end": 2017,
"name": "DUP3",
"source": 1
},
{
"begin": 2000,
"end": 2009,
"name": "DUP6",
"source": 1
},
{
"begin": 1996,
"end": 2018,
"name": "ADD",
"source": 1
},
{
"begin": 1975,
"end": 2028,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 1975,
"end": 2028,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1975,
"end": 2028,
"name": "tag",
"source": 1,
"value": "57"
},
{
"begin": 1975,
"end": 2028,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1965,
"end": 2028,
"name": "SWAP2",
"source": 1
},
{
"begin": 1965,
"end": 2028,
"name": "POP",
"source": 1
},
{
"begin": 1921,
"end": 2038,
"name": "POP",
"source": 1
},
{
"begin": 1716,
"end": 2045,
"name": "SWAP3",
"source": 1
},
{
"begin": 1716,
"end": 2045,
"name": "SWAP2",
"source": 1
},
{
"begin": 1716,
"end": 2045,
"name": "POP",
"source": 1
},
{
"begin": 1716,
"end": 2045,
"name": "POP",
"source": 1
},
{
"begin": 1716,
"end": 2045,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2051,
"end": 2169,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 2051,
"end": 2169,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2138,
"end": 2162,
"name": "PUSH [tag]",
"source": 1,
"value": "59"
},
{
"begin": 2156,
"end": 2161,
"name": "DUP2",
"source": 1
},
{
"begin": 2138,
"end": 2162,
"name": "PUSH [tag]",
"source": 1,
"value": "26"
},
{
"begin": 2138,
"end": 2162,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2138,
"end": 2162,
"name": "tag",
"source": 1,
"value": "59"
},
{
"begin": 2138,
"end": 2162,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2133,
"end": 2136,
"name": "DUP3",
"source": 1
},
{
"begin": 2126,
"end": 2163,
"name": "MSTORE",
"source": 1
},
{
"begin": 2051,
"end": 2169,
"name": "POP",
"source": 1
},
{
"begin": 2051,
"end": 2169,
"name": "POP",
"source": 1
},
{
"begin": 2051,
"end": 2169,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2175,
"end": 2397,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 2175,
"end": 2397,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2268,
"end": 2272,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2306,
"end": 2308,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2295,
"end": 2304,
"name": "DUP3",
"source": 1
},
{
"begin": 2291,
"end": 2309,
"name": "ADD",
"source": 1
},
{
"begin": 2283,
"end": 2309,
"name": "SWAP1",
"source": 1
},
{
"begin": 2283,
"end": 2309,
"name": "POP",
"source": 1
},
{
"begin": 2319,
"end": 2390,
"name": "PUSH [tag]",
"source": 1,
"value": "61"
},
{
"begin": 2387,
"end": 2388,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2376,
"end": 2385,
"name": "DUP4",
"source": 1
},
{
"begin": 2372,
"end": 2389,
"name": "ADD",
"source": 1
},
{
"begin": 2363,
"end": 2369,
"name": "DUP5",
"source": 1
},
{
"begin": 2319,
"end": 2390,
"name": "PUSH [tag]",
"source": 1,
"value": "29"
},
{
"begin": 2319,
"end": 2390,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2319,
"end": 2390,
"name": "tag",
"source": 1,
"value": "61"
},
{
"begin": 2319,
"end": 2390,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2175,
"end": 2397,
"name": "SWAP3",
"source": 1
},
{
"begin": 2175,
"end": 2397,
"name": "SWAP2",
"source": 1
},
{
"begin": 2175,
"end": 2397,
"name": "POP",
"source": 1
},
{
"begin": 2175,
"end": 2397,
"name": "POP",
"source": 1
},
{
"begin": 2175,
"end": 2397,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
}
]
}
},
"sourceList": [
"contract-058b9b3a29.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"f(uint256)": "b3de648b",
"f(uint8)": "3120d434"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"val\",\"type\":\"uint8\"}],\"name\":\"f\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"out\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"f\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"out\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contract-058b9b3a29.sol\":\"A\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contract-058b9b3a29.sol\":{\"keccak256\":\"0x55bad5b3dcedea2efc98b759e74e1b63e6aeb9b230ccec92824bcfd790d0c8a2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3dd2e3a23ced77ad892c688eb90c7423b0d01ae04290cb22f656247e133bda7a\",\"dweb:/ipfs/QmeTq1U3evLCuzy9yyoFvABgMTkPcMfinsAGzLJSpJhGcZ\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contract-058b9b3a29.sol": {
"ast": {
"absolutePath": "contract-058b9b3a29.sol",
"exportedSymbols": {
"A": [
26
]
},
"id": 27,
"license": "GPL-3.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
">=",
"0.4",
".16",
"<",
"0.9",
".0"
],
"nodeType": "PragmaDirective",
"src": "36:32:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "A",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 26,
"linearizedBaseContracts": [
26
],
"name": "A",
"nameLocation": "79:1:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 12,
"nodeType": "Block",
"src": "141:26:0",
"statements": [
{
"expression": {
"id": 10,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 8,
"name": "out",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6,
"src": "151:3:0",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 9,
"name": "val",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "157:3:0",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"src": "151:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"id": 11,
"nodeType": "ExpressionStatement",
"src": "151:9:0"
}
]
},
"functionSelector": "3120d434",
"id": 13,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "f",
"nameLocation": "96:1:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3,
"mutability": "mutable",
"name": "val",
"nameLocation": "104:3:0",
"nodeType": "VariableDeclaration",
"scope": 13,
"src": "98:9:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 2,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "98:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"visibility": "internal"
}
],
"src": "97:11:0"
},
"returnParameters": {
"id": 7,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6,
"mutability": "mutable",
"name": "out",
"nameLocation": "136:3:0",
"nodeType": "VariableDeclaration",
"scope": 13,
"src": "130:9:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 5,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "130:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"visibility": "internal"
}
],
"src": "129:11:0"
},
"scope": 26,
"src": "87:80:0",
"stateMutability": "pure",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 24,
"nodeType": "Block",
"src": "231:26:0",
"statements": [
{
"expression": {
"id": 22,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 20,
"name": "out",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 18,
"src": "241:3:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 21,
"name": "val",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15,
"src": "247:3:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "241:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 23,
"nodeType": "ExpressionStatement",
"src": "241:9:0"
}
]
},
"functionSelector": "b3de648b",
"id": 25,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "f",
"nameLocation": "182:1:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 16,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 15,
"mutability": "mutable",
"name": "val",
"nameLocation": "192:3:0",
"nodeType": "VariableDeclaration",
"scope": 25,
"src": "184:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 14,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "184:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "183:13:0"
},
"returnParameters": {
"id": 19,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 18,
"mutability": "mutable",
"name": "out",
"nameLocation": "226:3:0",
"nodeType": "VariableDeclaration",
"scope": 25,
"src": "218:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 17,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "218:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "217:13:0"
},
"scope": 26,
"src": "173:84:0",
"stateMutability": "pure",
"virtual": false,
"visibility": "public"
}
],
"scope": 27,
"src": "70:189:0",
"usedErrors": []
}
],
"src": "36:223:0"
},
"id": 0
}
}
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.16 <0.9.0;
contract A {
function f(uint8 val) public pure returns (uint8 out) {
out = val;
}
function f(uint256 val) public pure returns (uint256 out) {
out = val;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment