Skip to content

Instantly share code, notes, and snippets.

@schesnowitz
Created February 11, 2023 23:30
Show Gist options
  • Save schesnowitz/f27983ddccd2fcc04d8f1061ea9aa6c4 to your computer and use it in GitHub Desktop.
Save schesnowitz/f27983ddccd2fcc04d8f1061ea9aa6c4 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.17+commit.8df45f5f.js&optimize=false&runs=200&gist=
{
"id": "0b6218f241a2461ff1112ae64bd624ce",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.17",
"solcLongVersion": "0.8.17+commit.8df45f5f",
"input": {
"language": "Solidity",
"sources": {
"contracts/HelloWorld.sol": {
"content": "// SPDX-License-Identifier: MIT\r\npragma solidity >= 0.7.0 < 0.9.0;\r\n\r\ncontract HelloWorld {\r\n uint256 number;\r\n\r\n function store(uint256 num) public {\r\n number = num;\r\n }\r\n\r\n function get() public view returns (uint256) {\r\n return number;\r\n }\r\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"
]
}
}
}
},
"output": {
"contracts": {
"contracts/HelloWorld.sol": {
"HelloWorld": {
"abi": [
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/HelloWorld.sol\":70:274 contract HelloWorld {... */\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 /* \"contracts/HelloWorld.sol\":70:274 contract HelloWorld {... */\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 0x6057361d\n eq\n tag_3\n jumpi\n dup1\n 0x6d4ce63c\n eq\n tag_4\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/HelloWorld.sol\":120:186 function store(uint256 num) public {... */\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 stop\n /* \"contracts/HelloWorld.sol\":194:271 function get() public view returns (uint256) {... */\n tag_4:\n tag_9\n tag_10\n jump\t// in\n tag_9:\n mload(0x40)\n tag_11\n swap2\n swap1\n tag_12\n jump\t// in\n tag_11:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/HelloWorld.sol\":120:186 function store(uint256 num) public {... */\n tag_8:\n /* \"contracts/HelloWorld.sol\":175:178 num */\n dup1\n /* \"contracts/HelloWorld.sol\":166:172 number */\n 0x00\n /* \"contracts/HelloWorld.sol\":166:178 number = num */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/HelloWorld.sol\":120:186 function store(uint256 num) public {... */\n pop\n jump\t// out\n /* \"contracts/HelloWorld.sol\":194:271 function get() public view returns (uint256) {... */\n tag_10:\n /* \"contracts/HelloWorld.sol\":230:237 uint256 */\n 0x00\n /* \"contracts/HelloWorld.sol\":257:263 number */\n dup1\n sload\n /* \"contracts/HelloWorld.sol\":250:263 return number */\n swap1\n pop\n /* \"contracts/HelloWorld.sol\":194:271 function get() public view returns (uint256) {... */\n swap1\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_16:\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:411 */\n tag_18:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":400:405 */\n dup2\n /* \"#utility.yul\":389:405 */\n swap1\n pop\n /* \"#utility.yul\":334:411 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":417:539 */\n tag_19:\n /* \"#utility.yul\":490:514 */\n tag_28\n /* \"#utility.yul\":508:513 */\n dup2\n /* \"#utility.yul\":490:514 */\n tag_18\n jump\t// in\n tag_28:\n /* \"#utility.yul\":483:488 */\n dup2\n /* \"#utility.yul\":480:515 */\n eq\n /* \"#utility.yul\":470:533 */\n tag_29\n jumpi\n /* \"#utility.yul\":529:530 */\n 0x00\n /* \"#utility.yul\":526:527 */\n dup1\n /* \"#utility.yul\":519:531 */\n revert\n /* \"#utility.yul\":470:533 */\n tag_29:\n /* \"#utility.yul\":417:539 */\n pop\n jump\t// out\n /* \"#utility.yul\":545:684 */\n tag_20:\n /* \"#utility.yul\":591:596 */\n 0x00\n /* \"#utility.yul\":629:635 */\n dup2\n /* \"#utility.yul\":616:636 */\n calldataload\n /* \"#utility.yul\":607:636 */\n swap1\n pop\n /* \"#utility.yul\":645:678 */\n tag_31\n /* \"#utility.yul\":672:677 */\n dup2\n /* \"#utility.yul\":645:678 */\n tag_19\n jump\t// in\n tag_31:\n /* \"#utility.yul\":545:684 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":690:1019 */\n tag_7:\n /* \"#utility.yul\":749:755 */\n 0x00\n /* \"#utility.yul\":798:800 */\n 0x20\n /* \"#utility.yul\":786:795 */\n dup3\n /* \"#utility.yul\":777:784 */\n dup5\n /* \"#utility.yul\":773:796 */\n sub\n /* \"#utility.yul\":769:801 */\n slt\n /* \"#utility.yul\":766:885 */\n iszero\n tag_33\n jumpi\n /* \"#utility.yul\":804:883 */\n tag_34\n tag_16\n jump\t// in\n tag_34:\n /* \"#utility.yul\":766:885 */\n tag_33:\n /* \"#utility.yul\":924:925 */\n 0x00\n /* \"#utility.yul\":949:1002 */\n tag_35\n /* \"#utility.yul\":994:1001 */\n dup5\n /* \"#utility.yul\":985:991 */\n dup3\n /* \"#utility.yul\":974:983 */\n dup6\n /* \"#utility.yul\":970:992 */\n add\n /* \"#utility.yul\":949:1002 */\n tag_20\n jump\t// in\n tag_35:\n /* \"#utility.yul\":939:1002 */\n swap2\n pop\n /* \"#utility.yul\":895:1012 */\n pop\n /* \"#utility.yul\":690:1019 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1025:1143 */\n tag_21:\n /* \"#utility.yul\":1112:1136 */\n tag_37\n /* \"#utility.yul\":1130:1135 */\n dup2\n /* \"#utility.yul\":1112:1136 */\n tag_18\n jump\t// in\n tag_37:\n /* \"#utility.yul\":1107:1110 */\n dup3\n /* \"#utility.yul\":1100:1137 */\n mstore\n /* \"#utility.yul\":1025:1143 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1149:1371 */\n tag_12:\n /* \"#utility.yul\":1242:1246 */\n 0x00\n /* \"#utility.yul\":1280:1282 */\n 0x20\n /* \"#utility.yul\":1269:1278 */\n dup3\n /* \"#utility.yul\":1265:1283 */\n add\n /* \"#utility.yul\":1257:1283 */\n swap1\n pop\n /* \"#utility.yul\":1293:1364 */\n tag_39\n /* \"#utility.yul\":1361:1362 */\n 0x00\n /* \"#utility.yul\":1350:1359 */\n dup4\n /* \"#utility.yul\":1346:1363 */\n add\n /* \"#utility.yul\":1337:1343 */\n dup5\n /* \"#utility.yul\":1293:1364 */\n tag_21\n jump\t// in\n tag_39:\n /* \"#utility.yul\":1149:1371 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220150f26c6dede0d22274f41227c3ec7a61a5c1b63f59c945b46f155daecb5dbcc64736f6c63430008110033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80636057361d1461003b5780636d4ce63c14610057575b600080fd5b610055600480360381019061005091906100c3565b610075565b005b61005f61007f565b60405161006c91906100ff565b60405180910390f35b8060008190555050565b60008054905090565b600080fd5b6000819050919050565b6100a08161008d565b81146100ab57600080fd5b50565b6000813590506100bd81610097565b92915050565b6000602082840312156100d9576100d8610088565b5b60006100e7848285016100ae565b91505092915050565b6100f98161008d565b82525050565b600060208201905061011460008301846100f0565b9291505056fea2646970667358221220150f26c6dede0d22274f41227c3ec7a61a5c1b63f59c945b46f155daecb5dbcc64736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x150 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 0x6057361D EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x57 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xC3 JUMP JUMPDEST PUSH2 0x75 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5F PUSH2 0x7F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6C SWAP2 SWAP1 PUSH2 0xFF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA0 DUP2 PUSH2 0x8D JUMP JUMPDEST DUP2 EQ PUSH2 0xAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xBD DUP2 PUSH2 0x97 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD9 JUMPI PUSH2 0xD8 PUSH2 0x88 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE7 DUP5 DUP3 DUP6 ADD PUSH2 0xAE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF9 DUP2 PUSH2 0x8D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x114 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ISZERO 0xF 0x26 0xC6 0xDE 0xDE 0xD 0x22 0x27 0x4F COINBASE 0x22 PUSH29 0x3EC7A61A5C1B63F59C945B46F155DAECB5DBCC64736F6C634300081100 CALLER ",
"sourceMap": "70:204:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@get_21": {
"entryPoint": 127,
"id": 21,
"parameterSlots": 0,
"returnSlots": 1
},
"@store_13": {
"entryPoint": 117,
"id": 13,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 174,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 195,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 240,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 255,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 141,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 136,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 151,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1374: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": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1090:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1107:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1130:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1112:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1112:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1100:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1100:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1100:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1078:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1085:3:1",
"type": ""
}
],
"src": "1025:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1247:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1257:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1269:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1280:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1265:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1265:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1257:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1350:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1361:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1346:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1346:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1293:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1293:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1293:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1219:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1231:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1242:4:1",
"type": ""
}
],
"src": "1149: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_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": "608060405234801561001057600080fd5b50600436106100365760003560e01c80636057361d1461003b5780636d4ce63c14610057575b600080fd5b610055600480360381019061005091906100c3565b610075565b005b61005f61007f565b60405161006c91906100ff565b60405180910390f35b8060008190555050565b60008054905090565b600080fd5b6000819050919050565b6100a08161008d565b81146100ab57600080fd5b50565b6000813590506100bd81610097565b92915050565b6000602082840312156100d9576100d8610088565b5b60006100e7848285016100ae565b91505092915050565b6100f98161008d565b82525050565b600060208201905061011460008301846100f0565b9291505056fea2646970667358221220150f26c6dede0d22274f41227c3ec7a61a5c1b63f59c945b46f155daecb5dbcc64736f6c63430008110033",
"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 0x6057361D EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x57 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xC3 JUMP JUMPDEST PUSH2 0x75 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5F PUSH2 0x7F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6C SWAP2 SWAP1 PUSH2 0xFF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA0 DUP2 PUSH2 0x8D JUMP JUMPDEST DUP2 EQ PUSH2 0xAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xBD DUP2 PUSH2 0x97 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD9 JUMPI PUSH2 0xD8 PUSH2 0x88 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE7 DUP5 DUP3 DUP6 ADD PUSH2 0xAE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF9 DUP2 PUSH2 0x8D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x114 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ISZERO 0xF 0x26 0xC6 0xDE 0xDE 0xD 0x22 0x27 0x4F COINBASE 0x22 PUSH29 0x3EC7A61A5C1B63F59C945B46F155DAECB5DBCC64736F6C634300081100 CALLER ",
"sourceMap": "70:204:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;120:66;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;194:77;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;120:66;175:3;166:6;:12;;;;120:66;:::o;194:77::-;230:7;257:6;;250:13;;194:77;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:118::-;1112:24;1130:5;1112:24;:::i;:::-;1107:3;1100:37;1025:118;;:::o;1149:222::-;1242:4;1280:2;1269:9;1265:18;1257:26;;1293:71;1361:1;1350:9;1346:17;1337:6;1293:71;:::i;:::-;1149:222;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "67200",
"executionCost": "117",
"totalCost": "67317"
},
"external": {
"get()": "2437",
"store(uint256)": "22498"
}
},
"legacyAssembly": {
".code": [
{
"begin": 70,
"end": 274,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 70,
"end": 274,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 70,
"end": 274,
"name": "MSTORE",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "ISZERO",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 274,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 274,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "REVERT",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 274,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "POP",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 70,
"end": 274,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 70,
"end": 274,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 274,
"name": "CODECOPY",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 274,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220150f26c6dede0d22274f41227c3ec7a61a5c1b63f59c945b46f155daecb5dbcc64736f6c63430008110033",
".code": [
{
"begin": 70,
"end": 274,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 70,
"end": 274,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 70,
"end": 274,
"name": "MSTORE",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "ISZERO",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 274,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 274,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "REVERT",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 274,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "POP",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 70,
"end": 274,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "LT",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 70,
"end": 274,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 274,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 70,
"end": 274,
"name": "SHR",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "PUSH",
"source": 0,
"value": "6057361D"
},
{
"begin": 70,
"end": 274,
"name": "EQ",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 70,
"end": 274,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "PUSH",
"source": 0,
"value": "6D4CE63C"
},
{
"begin": 70,
"end": 274,
"name": "EQ",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 70,
"end": 274,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 70,
"end": 274,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 274,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 274,
"name": "REVERT",
"source": 0
},
{
"begin": 120,
"end": 186,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 120,
"end": 186,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 120,
"end": 186,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 120,
"end": 186,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 120,
"end": 186,
"name": "DUP1",
"source": 0
},
{
"begin": 120,
"end": 186,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 120,
"end": 186,
"name": "SUB",
"source": 0
},
{
"begin": 120,
"end": 186,
"name": "DUP2",
"source": 0
},
{
"begin": 120,
"end": 186,
"name": "ADD",
"source": 0
},
{
"begin": 120,
"end": 186,
"name": "SWAP1",
"source": 0
},
{
"begin": 120,
"end": 186,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 120,
"end": 186,
"name": "SWAP2",
"source": 0
},
{
"begin": 120,
"end": 186,
"name": "SWAP1",
"source": 0
},
{
"begin": 120,
"end": 186,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 120,
"end": 186,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 120,
"end": 186,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 120,
"end": 186,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 120,
"end": 186,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 120,
"end": 186,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 120,
"end": 186,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 120,
"end": 186,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 120,
"end": 186,
"name": "STOP",
"source": 0
},
{
"begin": 194,
"end": 271,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 194,
"end": 271,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 194,
"end": 271,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 194,
"end": 271,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 194,
"end": 271,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 194,
"end": 271,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 194,
"end": 271,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 194,
"end": 271,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 194,
"end": 271,
"name": "MLOAD",
"source": 0
},
{
"begin": 194,
"end": 271,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 194,
"end": 271,
"name": "SWAP2",
"source": 0
},
{
"begin": 194,
"end": 271,
"name": "SWAP1",
"source": 0
},
{
"begin": 194,
"end": 271,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 194,
"end": 271,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 194,
"end": 271,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 194,
"end": 271,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 194,
"end": 271,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 194,
"end": 271,
"name": "MLOAD",
"source": 0
},
{
"begin": 194,
"end": 271,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 271,
"name": "SWAP2",
"source": 0
},
{
"begin": 194,
"end": 271,
"name": "SUB",
"source": 0
},
{
"begin": 194,
"end": 271,
"name": "SWAP1",
"source": 0
},
{
"begin": 194,
"end": 271,
"name": "RETURN",
"source": 0
},
{
"begin": 120,
"end": 186,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 120,
"end": 186,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 175,
"end": 178,
"name": "DUP1",
"source": 0
},
{
"begin": 166,
"end": 172,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 166,
"end": 178,
"name": "DUP2",
"source": 0
},
{
"begin": 166,
"end": 178,
"name": "SWAP1",
"source": 0
},
{
"begin": 166,
"end": 178,
"name": "SSTORE",
"source": 0
},
{
"begin": 166,
"end": 178,
"name": "POP",
"source": 0
},
{
"begin": 120,
"end": 186,
"name": "POP",
"source": 0
},
{
"begin": 120,
"end": 186,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 194,
"end": 271,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 194,
"end": 271,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 230,
"end": 237,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 257,
"end": 263,
"name": "DUP1",
"source": 0
},
{
"begin": 257,
"end": 263,
"name": "SLOAD",
"source": 0
},
{
"begin": 250,
"end": 263,
"name": "SWAP1",
"source": 0
},
{
"begin": 250,
"end": 263,
"name": "POP",
"source": 0
},
{
"begin": 194,
"end": 271,
"name": "SWAP1",
"source": 0
},
{
"begin": 194,
"end": 271,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 1,
"value": "16"
},
{
"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": 411,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 334,
"end": 411,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 371,
"end": 378,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 400,
"end": 405,
"name": "DUP2",
"source": 1
},
{
"begin": 389,
"end": 405,
"name": "SWAP1",
"source": 1
},
{
"begin": 389,
"end": 405,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "SWAP2",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "SWAP1",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 411,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 417,
"end": 539,
"name": "tag",
"source": 1,
"value": "19"
},
{
"begin": 417,
"end": 539,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 490,
"end": 514,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 508,
"end": 513,
"name": "DUP2",
"source": 1
},
{
"begin": 490,
"end": 514,
"name": "PUSH [tag]",
"source": 1,
"value": "18"
},
{
"begin": 490,
"end": 514,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 490,
"end": 514,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 490,
"end": 514,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 483,
"end": 488,
"name": "DUP2",
"source": 1
},
{
"begin": 480,
"end": 515,
"name": "EQ",
"source": 1
},
{
"begin": 470,
"end": 533,
"name": "PUSH [tag]",
"source": 1,
"value": "29"
},
{
"begin": 470,
"end": 533,
"name": "JUMPI",
"source": 1
},
{
"begin": 529,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 526,
"end": 527,
"name": "DUP1",
"source": 1
},
{
"begin": 519,
"end": 531,
"name": "REVERT",
"source": 1
},
{
"begin": 470,
"end": 533,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 470,
"end": 533,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 417,
"end": 539,
"name": "POP",
"source": 1
},
{
"begin": 417,
"end": 539,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 545,
"end": 684,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 591,
"end": 596,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 629,
"end": 635,
"name": "DUP2",
"source": 1
},
{
"begin": 616,
"end": 636,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 607,
"end": 636,
"name": "SWAP1",
"source": 1
},
{
"begin": 607,
"end": 636,
"name": "POP",
"source": 1
},
{
"begin": 645,
"end": 678,
"name": "PUSH [tag]",
"source": 1,
"value": "31"
},
{
"begin": 672,
"end": 677,
"name": "DUP2",
"source": 1
},
{
"begin": 645,
"end": 678,
"name": "PUSH [tag]",
"source": 1,
"value": "19"
},
{
"begin": 645,
"end": 678,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 645,
"end": 678,
"name": "tag",
"source": 1,
"value": "31"
},
{
"begin": 645,
"end": 678,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "SWAP3",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "SWAP2",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "POP",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "POP",
"source": 1
},
{
"begin": 545,
"end": 684,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "tag",
"source": 1,
"value": "7"
},
{
"begin": 690,
"end": 1019,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 749,
"end": 755,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 798,
"end": 800,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 786,
"end": 795,
"name": "DUP3",
"source": 1
},
{
"begin": 777,
"end": 784,
"name": "DUP5",
"source": 1
},
{
"begin": 773,
"end": 796,
"name": "SUB",
"source": 1
},
{
"begin": 769,
"end": 801,
"name": "SLT",
"source": 1
},
{
"begin": 766,
"end": 885,
"name": "ISZERO",
"source": 1
},
{
"begin": 766,
"end": 885,
"name": "PUSH [tag]",
"source": 1,
"value": "33"
},
{
"begin": 766,
"end": 885,
"name": "JUMPI",
"source": 1
},
{
"begin": 804,
"end": 883,
"name": "PUSH [tag]",
"source": 1,
"value": "34"
},
{
"begin": 804,
"end": 883,
"name": "PUSH [tag]",
"source": 1,
"value": "16"
},
{
"begin": 804,
"end": 883,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 804,
"end": 883,
"name": "tag",
"source": 1,
"value": "34"
},
{
"begin": 804,
"end": 883,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 766,
"end": 885,
"name": "tag",
"source": 1,
"value": "33"
},
{
"begin": 766,
"end": 885,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 924,
"end": 925,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 949,
"end": 1002,
"name": "PUSH [tag]",
"source": 1,
"value": "35"
},
{
"begin": 994,
"end": 1001,
"name": "DUP5",
"source": 1
},
{
"begin": 985,
"end": 991,
"name": "DUP3",
"source": 1
},
{
"begin": 974,
"end": 983,
"name": "DUP6",
"source": 1
},
{
"begin": 970,
"end": 992,
"name": "ADD",
"source": 1
},
{
"begin": 949,
"end": 1002,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 949,
"end": 1002,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 949,
"end": 1002,
"name": "tag",
"source": 1,
"value": "35"
},
{
"begin": 949,
"end": 1002,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 939,
"end": 1002,
"name": "SWAP2",
"source": 1
},
{
"begin": 939,
"end": 1002,
"name": "POP",
"source": 1
},
{
"begin": 895,
"end": 1012,
"name": "POP",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "SWAP3",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "SWAP2",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "POP",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "POP",
"source": 1
},
{
"begin": 690,
"end": 1019,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1025,
"end": 1143,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 1025,
"end": 1143,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1112,
"end": 1136,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 1130,
"end": 1135,
"name": "DUP2",
"source": 1
},
{
"begin": 1112,
"end": 1136,
"name": "PUSH [tag]",
"source": 1,
"value": "18"
},
{
"begin": 1112,
"end": 1136,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1112,
"end": 1136,
"name": "tag",
"source": 1,
"value": "37"
},
{
"begin": 1112,
"end": 1136,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1107,
"end": 1110,
"name": "DUP3",
"source": 1
},
{
"begin": 1100,
"end": 1137,
"name": "MSTORE",
"source": 1
},
{
"begin": 1025,
"end": 1143,
"name": "POP",
"source": 1
},
{
"begin": 1025,
"end": 1143,
"name": "POP",
"source": 1
},
{
"begin": 1025,
"end": 1143,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 1149,
"end": 1371,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1242,
"end": 1246,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1280,
"end": 1282,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1269,
"end": 1278,
"name": "DUP3",
"source": 1
},
{
"begin": 1265,
"end": 1283,
"name": "ADD",
"source": 1
},
{
"begin": 1257,
"end": 1283,
"name": "SWAP1",
"source": 1
},
{
"begin": 1257,
"end": 1283,
"name": "POP",
"source": 1
},
{
"begin": 1293,
"end": 1364,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 1361,
"end": 1362,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1350,
"end": 1359,
"name": "DUP4",
"source": 1
},
{
"begin": 1346,
"end": 1363,
"name": "ADD",
"source": 1
},
{
"begin": 1337,
"end": 1343,
"name": "DUP5",
"source": 1
},
{
"begin": 1293,
"end": 1364,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 1293,
"end": 1364,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1293,
"end": 1364,
"name": "tag",
"source": 1,
"value": "39"
},
{
"begin": 1293,
"end": 1364,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "SWAP3",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "SWAP2",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "POP",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "POP",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
}
]
}
},
"sourceList": [
"contracts/HelloWorld.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"get()": "6d4ce63c",
"store(uint256)": "6057361d"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"get\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"num\",\"type\":\"uint256\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/HelloWorld.sol\":\"HelloWorld\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/HelloWorld.sol\":{\"keccak256\":\"0x0d3f0f1065d7db7115b7cb52b7fd963fc5f05a5d94715811bd9981775f1e86ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://686c42fb7ed603a521d53f545ed143a13a7422fab0bb3ae969f4871629b81516\",\"dweb:/ipfs/QmVxr2Rd3J4fUKYHrcH8NQDA16gfQJJy2tyCmKvKLev4Mp\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "contracts/HelloWorld.sol:HelloWorld",
"label": "number",
"offset": 0,
"slot": "0",
"type": "t_uint256"
}
],
"types": {
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contracts/HelloWorld.sol": {
"ast": {
"absolutePath": "contracts/HelloWorld.sol",
"exportedSymbols": {
"HelloWorld": [
22
]
},
"id": 23,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
">=",
"0.7",
".0",
"<",
"0.9",
".0"
],
"nodeType": "PragmaDirective",
"src": "33:33:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "HelloWorld",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 22,
"linearizedBaseContracts": [
22
],
"name": "HelloWorld",
"nameLocation": "79:10:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 3,
"mutability": "mutable",
"name": "number",
"nameLocation": "105:6:0",
"nodeType": "VariableDeclaration",
"scope": 22,
"src": "97:14:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "97:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"body": {
"id": 12,
"nodeType": "Block",
"src": "155:31:0",
"statements": [
{
"expression": {
"id": 10,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 8,
"name": "number",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "166:6:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 9,
"name": "num",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "175:3:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "166:12:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 11,
"nodeType": "ExpressionStatement",
"src": "166:12:0"
}
]
},
"functionSelector": "6057361d",
"id": 13,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "store",
"nameLocation": "129:5:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 6,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5,
"mutability": "mutable",
"name": "num",
"nameLocation": "143:3:0",
"nodeType": "VariableDeclaration",
"scope": 13,
"src": "135:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "135:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "134:13:0"
},
"returnParameters": {
"id": 7,
"nodeType": "ParameterList",
"parameters": [],
"src": "155:0:0"
},
"scope": 22,
"src": "120:66:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 20,
"nodeType": "Block",
"src": "239:32:0",
"statements": [
{
"expression": {
"id": 18,
"name": "number",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "257:6:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 17,
"id": 19,
"nodeType": "Return",
"src": "250:13:0"
}
]
},
"functionSelector": "6d4ce63c",
"id": 21,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "get",
"nameLocation": "203:3:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 14,
"nodeType": "ParameterList",
"parameters": [],
"src": "206:2:0"
},
"returnParameters": {
"id": 17,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 16,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 21,
"src": "230:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 15,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "230:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "229:9:0"
},
"scope": 22,
"src": "194:77:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
}
],
"scope": 23,
"src": "70:204:0",
"usedErrors": []
}
],
"src": "33:241:0"
},
"id": 0
}
}
}
}
{
"id": "3253d3c583742503e88ffa7195104993",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.17",
"solcLongVersion": "0.8.17+commit.8df45f5f",
"input": {
"language": "Solidity",
"sources": {
"contracts/SimpleStorage.sol": {
"content": "// SPDX-License-Identifier: MIT\r\npragma solidity ^0.8.8;\r\n\r\ncontract SimpleStorage {\r\n uint256 public someNumber;\r\n\r\n function store(uint256 _someNumber) public {\r\n someNumber = _someNumber;\r\n someNumber++;\r\n }\r\n\r\n function getSomeNumber() public view returns(uint256) {\r\n return someNumber;\r\n }\r\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"
]
}
}
}
},
"output": {
"contracts": {
"contracts/SimpleStorage.sol": {
"SimpleStorage": {
"abi": [
{
"inputs": [],
"name": "getSomeNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "someNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_someNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/SimpleStorage.sol\":60:334 contract SimpleStorage {... */\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 /* \"contracts/SimpleStorage.sol\":60:334 contract SimpleStorage {... */\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 0x6057361d\n eq\n tag_3\n jumpi\n dup1\n 0x931c9b99\n eq\n tag_4\n jumpi\n dup1\n 0xd74bf202\n eq\n tag_5\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/SimpleStorage.sol\":124:233 function store(uint256 _someNumber) public {... */\n tag_3:\n tag_6\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n tag_9\n jump\t// in\n tag_6:\n stop\n /* \"contracts/SimpleStorage.sol\":90:115 uint256 public someNumber */\n tag_4:\n tag_10\n tag_11\n jump\t// in\n tag_10:\n mload(0x40)\n tag_12\n swap2\n swap1\n tag_13\n jump\t// in\n tag_12:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/SimpleStorage.sol\":241:331 function getSomeNumber() public view returns(uint256) {... */\n tag_5:\n tag_14\n tag_15\n jump\t// in\n tag_14:\n mload(0x40)\n tag_16\n swap2\n swap1\n tag_13\n jump\t// in\n tag_16:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/SimpleStorage.sol\":124:233 function store(uint256 _someNumber) public {... */\n tag_9:\n /* \"contracts/SimpleStorage.sol\":191:202 _someNumber */\n dup1\n /* \"contracts/SimpleStorage.sol\":178:188 someNumber */\n 0x00\n /* \"contracts/SimpleStorage.sol\":178:202 someNumber = _someNumber */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/SimpleStorage.sol\":213:223 someNumber */\n 0x00\n dup1\n /* \"contracts/SimpleStorage.sol\":213:225 someNumber++ */\n dup2\n sload\n dup1\n swap3\n swap2\n swap1\n tag_18\n swap1\n tag_19\n jump\t// in\n tag_18:\n swap2\n swap1\n pop\n sstore\n pop\n /* \"contracts/SimpleStorage.sol\":124:233 function store(uint256 _someNumber) public {... */\n pop\n jump\t// out\n /* \"contracts/SimpleStorage.sol\":90:115 uint256 public someNumber */\n tag_11:\n sload(0x00)\n dup2\n jump\t// out\n /* \"contracts/SimpleStorage.sol\":241:331 function getSomeNumber() public view returns(uint256) {... */\n tag_15:\n /* \"contracts/SimpleStorage.sol\":286:293 uint256 */\n 0x00\n /* \"contracts/SimpleStorage.sol\":313:323 someNumber */\n dup1\n sload\n /* \"contracts/SimpleStorage.sol\":306:323 return someNumber */\n swap1\n pop\n /* \"contracts/SimpleStorage.sol\":241:331 function getSomeNumber() public view returns(uint256) {... */\n swap1\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_22:\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:411 */\n tag_24:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":400:405 */\n dup2\n /* \"#utility.yul\":389:405 */\n swap1\n pop\n /* \"#utility.yul\":334:411 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":417:539 */\n tag_25:\n /* \"#utility.yul\":490:514 */\n tag_35\n /* \"#utility.yul\":508:513 */\n dup2\n /* \"#utility.yul\":490:514 */\n tag_24\n jump\t// in\n tag_35:\n /* \"#utility.yul\":483:488 */\n dup2\n /* \"#utility.yul\":480:515 */\n eq\n /* \"#utility.yul\":470:533 */\n tag_36\n jumpi\n /* \"#utility.yul\":529:530 */\n 0x00\n /* \"#utility.yul\":526:527 */\n dup1\n /* \"#utility.yul\":519:531 */\n revert\n /* \"#utility.yul\":470:533 */\n tag_36:\n /* \"#utility.yul\":417:539 */\n pop\n jump\t// out\n /* \"#utility.yul\":545:684 */\n tag_26:\n /* \"#utility.yul\":591:596 */\n 0x00\n /* \"#utility.yul\":629:635 */\n dup2\n /* \"#utility.yul\":616:636 */\n calldataload\n /* \"#utility.yul\":607:636 */\n swap1\n pop\n /* \"#utility.yul\":645:678 */\n tag_38\n /* \"#utility.yul\":672:677 */\n dup2\n /* \"#utility.yul\":645:678 */\n tag_25\n jump\t// in\n tag_38:\n /* \"#utility.yul\":545:684 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":690:1019 */\n tag_8:\n /* \"#utility.yul\":749:755 */\n 0x00\n /* \"#utility.yul\":798:800 */\n 0x20\n /* \"#utility.yul\":786:795 */\n dup3\n /* \"#utility.yul\":777:784 */\n dup5\n /* \"#utility.yul\":773:796 */\n sub\n /* \"#utility.yul\":769:801 */\n slt\n /* \"#utility.yul\":766:885 */\n iszero\n tag_40\n jumpi\n /* \"#utility.yul\":804:883 */\n tag_41\n tag_22\n jump\t// in\n tag_41:\n /* \"#utility.yul\":766:885 */\n tag_40:\n /* \"#utility.yul\":924:925 */\n 0x00\n /* \"#utility.yul\":949:1002 */\n tag_42\n /* \"#utility.yul\":994:1001 */\n dup5\n /* \"#utility.yul\":985:991 */\n dup3\n /* \"#utility.yul\":974:983 */\n dup6\n /* \"#utility.yul\":970:992 */\n add\n /* \"#utility.yul\":949:1002 */\n tag_26\n jump\t// in\n tag_42:\n /* \"#utility.yul\":939:1002 */\n swap2\n pop\n /* \"#utility.yul\":895:1012 */\n pop\n /* \"#utility.yul\":690:1019 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1025:1143 */\n tag_27:\n /* \"#utility.yul\":1112:1136 */\n tag_44\n /* \"#utility.yul\":1130:1135 */\n dup2\n /* \"#utility.yul\":1112:1136 */\n tag_24\n jump\t// in\n tag_44:\n /* \"#utility.yul\":1107:1110 */\n dup3\n /* \"#utility.yul\":1100:1137 */\n mstore\n /* \"#utility.yul\":1025:1143 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1149:1371 */\n tag_13:\n /* \"#utility.yul\":1242:1246 */\n 0x00\n /* \"#utility.yul\":1280:1282 */\n 0x20\n /* \"#utility.yul\":1269:1278 */\n dup3\n /* \"#utility.yul\":1265:1283 */\n add\n /* \"#utility.yul\":1257:1283 */\n swap1\n pop\n /* \"#utility.yul\":1293:1364 */\n tag_46\n /* \"#utility.yul\":1361:1362 */\n 0x00\n /* \"#utility.yul\":1350:1359 */\n dup4\n /* \"#utility.yul\":1346:1363 */\n add\n /* \"#utility.yul\":1337:1343 */\n dup5\n /* \"#utility.yul\":1293:1364 */\n tag_27\n jump\t// in\n tag_46:\n /* \"#utility.yul\":1149:1371 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1377:1557 */\n tag_28:\n /* \"#utility.yul\":1425:1502 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":1422:1423 */\n 0x00\n /* \"#utility.yul\":1415:1503 */\n mstore\n /* \"#utility.yul\":1522:1526 */\n 0x11\n /* \"#utility.yul\":1519:1520 */\n 0x04\n /* \"#utility.yul\":1512:1527 */\n mstore\n /* \"#utility.yul\":1546:1550 */\n 0x24\n /* \"#utility.yul\":1543:1544 */\n 0x00\n /* \"#utility.yul\":1536:1551 */\n revert\n /* \"#utility.yul\":1563:1796 */\n tag_19:\n /* \"#utility.yul\":1602:1605 */\n 0x00\n /* \"#utility.yul\":1625:1649 */\n tag_49\n /* \"#utility.yul\":1643:1648 */\n dup3\n /* \"#utility.yul\":1625:1649 */\n tag_24\n jump\t// in\n tag_49:\n /* \"#utility.yul\":1616:1649 */\n swap2\n pop\n /* \"#utility.yul\":1671:1737 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1664:1669 */\n dup3\n /* \"#utility.yul\":1661:1738 */\n sub\n /* \"#utility.yul\":1658:1761 */\n tag_50\n jumpi\n /* \"#utility.yul\":1741:1759 */\n tag_51\n tag_28\n jump\t// in\n tag_51:\n /* \"#utility.yul\":1658:1761 */\n tag_50:\n /* \"#utility.yul\":1788:1789 */\n 0x01\n /* \"#utility.yul\":1781:1786 */\n dup3\n /* \"#utility.yul\":1777:1790 */\n add\n /* \"#utility.yul\":1770:1790 */\n swap1\n pop\n /* \"#utility.yul\":1563:1796 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122074f57bb95c1196ddec36d2f33f381b63a11cafea0893af5033c09956b6bdf08564736f6c63430008110033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5061020d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636057361d14610046578063931c9b9914610062578063d74bf20214610080575b600080fd5b610060600480360381019061005b9190610109565b61009e565b005b61006a6100bf565b6040516100779190610145565b60405180910390f35b6100886100c5565b6040516100959190610145565b60405180910390f35b806000819055506000808154809291906100b79061018f565b919050555050565b60005481565b60008054905090565b600080fd5b6000819050919050565b6100e6816100d3565b81146100f157600080fd5b50565b600081359050610103816100dd565b92915050565b60006020828403121561011f5761011e6100ce565b5b600061012d848285016100f4565b91505092915050565b61013f816100d3565b82525050565b600060208201905061015a6000830184610136565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061019a826100d3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036101cc576101cb610160565b5b60018201905091905056fea264697066735822122074f57bb95c1196ddec36d2f33f381b63a11cafea0893af5033c09956b6bdf08564736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20D 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 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6057361D EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x931C9B99 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0xD74BF202 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x109 JUMP JUMPDEST PUSH2 0x9E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0xBF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x145 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x88 PUSH2 0xC5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x145 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xB7 SWAP1 PUSH2 0x18F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE6 DUP2 PUSH2 0xD3 JUMP JUMPDEST DUP2 EQ PUSH2 0xF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x103 DUP2 PUSH2 0xDD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11F JUMPI PUSH2 0x11E PUSH2 0xCE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12D DUP5 DUP3 DUP6 ADD PUSH2 0xF4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13F DUP2 PUSH2 0xD3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x136 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x19A DUP3 PUSH2 0xD3 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1CC JUMPI PUSH2 0x1CB PUSH2 0x160 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH21 0xF57BB95C1196DDEC36D2F33F381B63A11CAFEA0893 0xAF POP CALLER 0xC0 SWAP10 JUMP 0xB6 0xBD CREATE DUP6 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ",
"sourceMap": "60:274:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getSomeNumber_24": {
"entryPoint": 197,
"id": 24,
"parameterSlots": 0,
"returnSlots": 1
},
"@someNumber_3": {
"entryPoint": 191,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@store_16": {
"entryPoint": 158,
"id": 16,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 244,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 265,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 310,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 325,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 211,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 399,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 352,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 206,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 221,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1799: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": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1090:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1107:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1130:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1112:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1112:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1100:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1100:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1100:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1078:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1085:3:1",
"type": ""
}
],
"src": "1025:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1247:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1257:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1269:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1280:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1265:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1265:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1257:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1350:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1361:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1346:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1346:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1293:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1293:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1293:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1219:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1231:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1242:4:1",
"type": ""
}
],
"src": "1149:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1405:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1422:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1425:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1415:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1415:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1415:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1519:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1522:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1512:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1512:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1512:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1543:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1546:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1536:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1536:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1536:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "1377:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1606:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1616:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1643:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1625:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1625:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1616:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1739:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1741:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1741:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1741:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1664:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1671:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1661:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1661:77:1"
},
"nodeType": "YulIf",
"src": "1658:103:1"
},
{
"nodeType": "YulAssignment",
"src": "1770:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1781:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1788:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1777:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1777:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1770:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1592:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1602:3:1",
"type": ""
}
],
"src": "1563:233: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_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 function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c80636057361d14610046578063931c9b9914610062578063d74bf20214610080575b600080fd5b610060600480360381019061005b9190610109565b61009e565b005b61006a6100bf565b6040516100779190610145565b60405180910390f35b6100886100c5565b6040516100959190610145565b60405180910390f35b806000819055506000808154809291906100b79061018f565b919050555050565b60005481565b60008054905090565b600080fd5b6000819050919050565b6100e6816100d3565b81146100f157600080fd5b50565b600081359050610103816100dd565b92915050565b60006020828403121561011f5761011e6100ce565b5b600061012d848285016100f4565b91505092915050565b61013f816100d3565b82525050565b600060208201905061015a6000830184610136565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061019a826100d3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036101cc576101cb610160565b5b60018201905091905056fea264697066735822122074f57bb95c1196ddec36d2f33f381b63a11cafea0893af5033c09956b6bdf08564736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6057361D EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x931C9B99 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0xD74BF202 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x109 JUMP JUMPDEST PUSH2 0x9E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0xBF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x145 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x88 PUSH2 0xC5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x145 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xB7 SWAP1 PUSH2 0x18F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE6 DUP2 PUSH2 0xD3 JUMP JUMPDEST DUP2 EQ PUSH2 0xF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x103 DUP2 PUSH2 0xDD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11F JUMPI PUSH2 0x11E PUSH2 0xCE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12D DUP5 DUP3 DUP6 ADD PUSH2 0xF4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13F DUP2 PUSH2 0xD3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x136 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x19A DUP3 PUSH2 0xD3 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1CC JUMPI PUSH2 0x1CB PUSH2 0x160 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH21 0xF57BB95C1196DDEC36D2F33F381B63A11CAFEA0893 0xAF POP CALLER 0xC0 SWAP10 JUMP 0xB6 0xBD CREATE DUP6 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ",
"sourceMap": "60:274:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;124:109;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;90:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;241:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;124:109;191:11;178:10;:24;;;;213:10;;:12;;;;;;;;;:::i;:::-;;;;;;124:109;:::o;90:25::-;;;;:::o;241:90::-;286:7;313:10;;306:17;;241:90;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:118::-;1112:24;1130:5;1112:24;:::i;:::-;1107:3;1100:37;1025:118;;:::o;1149:222::-;1242:4;1280:2;1269:9;1265:18;1257:26;;1293:71;1361:1;1350:9;1346:17;1337:6;1293:71;:::i;:::-;1149:222;;;;:::o;1377:180::-;1425:77;1422:1;1415:88;1522:4;1519:1;1512:15;1546:4;1543:1;1536:15;1563:233;1602:3;1625:24;1643:5;1625:24;:::i;:::-;1616:33;;1671:66;1664:5;1661:77;1658:103;;1741:18;;:::i;:::-;1658:103;1788:1;1781:5;1777:13;1770:20;;1563:233;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "105000",
"executionCost": "153",
"totalCost": "105153"
},
"external": {
"getSomeNumber()": "2459",
"someNumber()": "2429",
"store(uint256)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 60,
"end": 334,
"name": "MSTORE",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "ISZERO",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 60,
"end": 334,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "REVERT",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 60,
"end": 334,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "POP",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 334,
"name": "CODECOPY",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 334,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a264697066735822122074f57bb95c1196ddec36d2f33f381b63a11cafea0893af5033c09956b6bdf08564736f6c63430008110033",
".code": [
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 60,
"end": 334,
"name": "MSTORE",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "ISZERO",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 60,
"end": 334,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "REVERT",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 60,
"end": 334,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "POP",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 60,
"end": 334,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "LT",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 60,
"end": 334,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 334,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 60,
"end": 334,
"name": "SHR",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "6057361D"
},
{
"begin": 60,
"end": 334,
"name": "EQ",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 60,
"end": 334,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "931C9B99"
},
{
"begin": 60,
"end": 334,
"name": "EQ",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 60,
"end": 334,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "D74BF202"
},
{
"begin": 60,
"end": 334,
"name": "EQ",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 60,
"end": 334,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 60,
"end": 334,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "REVERT",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 124,
"end": 233,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 124,
"end": 233,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 124,
"end": 233,
"name": "DUP1",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "SUB",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "DUP2",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "ADD",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "SWAP1",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 124,
"end": 233,
"name": "SWAP2",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "SWAP1",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 124,
"end": 233,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 124,
"end": 233,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 124,
"end": 233,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 124,
"end": 233,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "STOP",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 90,
"end": 115,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 90,
"end": 115,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 90,
"end": 115,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 90,
"end": 115,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 90,
"end": 115,
"name": "MLOAD",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 90,
"end": 115,
"name": "SWAP2",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 90,
"end": 115,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 90,
"end": 115,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 90,
"end": 115,
"name": "MLOAD",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "DUP1",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "SWAP2",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "SUB",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "RETURN",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 241,
"end": 331,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 241,
"end": 331,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 241,
"end": 331,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 241,
"end": 331,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 241,
"end": 331,
"name": "MLOAD",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 241,
"end": 331,
"name": "SWAP2",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "SWAP1",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 241,
"end": 331,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 241,
"end": 331,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 241,
"end": 331,
"name": "MLOAD",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "DUP1",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "SWAP2",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "SUB",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "SWAP1",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "RETURN",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 124,
"end": 233,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 191,
"end": 202,
"name": "DUP1",
"source": 0
},
{
"begin": 178,
"end": 188,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 178,
"end": 202,
"name": "DUP2",
"source": 0
},
{
"begin": 178,
"end": 202,
"name": "SWAP1",
"source": 0
},
{
"begin": 178,
"end": 202,
"name": "SSTORE",
"source": 0
},
{
"begin": 178,
"end": 202,
"name": "POP",
"source": 0
},
{
"begin": 213,
"end": 223,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 213,
"end": 223,
"name": "DUP1",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "DUP2",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "SLOAD",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "SWAP3",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "SWAP2",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "SWAP1",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 213,
"end": 225,
"name": "SWAP1",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 213,
"end": 225,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "tag",
"source": 0,
"value": "18"
},
{
"begin": 213,
"end": 225,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "SWAP2",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "SWAP1",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "POP",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "SSTORE",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "POP",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "POP",
"source": 0
},
{
"begin": 124,
"end": 233,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 90,
"end": 115,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 90,
"end": 115,
"name": "SLOAD",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "DUP2",
"source": 0
},
{
"begin": 90,
"end": 115,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 241,
"end": 331,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 286,
"end": 293,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 313,
"end": 323,
"name": "DUP1",
"source": 0
},
{
"begin": 313,
"end": 323,
"name": "SLOAD",
"source": 0
},
{
"begin": 306,
"end": 323,
"name": "SWAP1",
"source": 0
},
{
"begin": 306,
"end": 323,
"name": "POP",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "SWAP1",
"source": 0
},
{
"begin": 241,
"end": 331,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 1,
"value": "22"
},
{
"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": 411,
"name": "tag",
"source": 1,
"value": "24"
},
{
"begin": 334,
"end": 411,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 371,
"end": 378,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 400,
"end": 405,
"name": "DUP2",
"source": 1
},
{
"begin": 389,
"end": 405,
"name": "SWAP1",
"source": 1
},
{
"begin": 389,
"end": 405,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "SWAP2",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "SWAP1",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 411,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 417,
"end": 539,
"name": "tag",
"source": 1,
"value": "25"
},
{
"begin": 417,
"end": 539,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 490,
"end": 514,
"name": "PUSH [tag]",
"source": 1,
"value": "35"
},
{
"begin": 508,
"end": 513,
"name": "DUP2",
"source": 1
},
{
"begin": 490,
"end": 514,
"name": "PUSH [tag]",
"source": 1,
"value": "24"
},
{
"begin": 490,
"end": 514,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 490,
"end": 514,
"name": "tag",
"source": 1,
"value": "35"
},
{
"begin": 490,
"end": 514,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 483,
"end": 488,
"name": "DUP2",
"source": 1
},
{
"begin": 480,
"end": 515,
"name": "EQ",
"source": 1
},
{
"begin": 470,
"end": 533,
"name": "PUSH [tag]",
"source": 1,
"value": "36"
},
{
"begin": 470,
"end": 533,
"name": "JUMPI",
"source": 1
},
{
"begin": 529,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 526,
"end": 527,
"name": "DUP1",
"source": 1
},
{
"begin": 519,
"end": 531,
"name": "REVERT",
"source": 1
},
{
"begin": 470,
"end": 533,
"name": "tag",
"source": 1,
"value": "36"
},
{
"begin": 470,
"end": 533,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 417,
"end": 539,
"name": "POP",
"source": 1
},
{
"begin": 417,
"end": 539,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "tag",
"source": 1,
"value": "26"
},
{
"begin": 545,
"end": 684,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 591,
"end": 596,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 629,
"end": 635,
"name": "DUP2",
"source": 1
},
{
"begin": 616,
"end": 636,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 607,
"end": 636,
"name": "SWAP1",
"source": 1
},
{
"begin": 607,
"end": 636,
"name": "POP",
"source": 1
},
{
"begin": 645,
"end": 678,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 672,
"end": 677,
"name": "DUP2",
"source": 1
},
{
"begin": 645,
"end": 678,
"name": "PUSH [tag]",
"source": 1,
"value": "25"
},
{
"begin": 645,
"end": 678,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 645,
"end": 678,
"name": "tag",
"source": 1,
"value": "38"
},
{
"begin": 645,
"end": 678,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "SWAP3",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "SWAP2",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "POP",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "POP",
"source": 1
},
{
"begin": 545,
"end": 684,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 690,
"end": 1019,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 749,
"end": 755,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 798,
"end": 800,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 786,
"end": 795,
"name": "DUP3",
"source": 1
},
{
"begin": 777,
"end": 784,
"name": "DUP5",
"source": 1
},
{
"begin": 773,
"end": 796,
"name": "SUB",
"source": 1
},
{
"begin": 769,
"end": 801,
"name": "SLT",
"source": 1
},
{
"begin": 766,
"end": 885,
"name": "ISZERO",
"source": 1
},
{
"begin": 766,
"end": 885,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 766,
"end": 885,
"name": "JUMPI",
"source": 1
},
{
"begin": 804,
"end": 883,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 804,
"end": 883,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 804,
"end": 883,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 804,
"end": 883,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 804,
"end": 883,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 766,
"end": 885,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 766,
"end": 885,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 924,
"end": 925,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 949,
"end": 1002,
"name": "PUSH [tag]",
"source": 1,
"value": "42"
},
{
"begin": 994,
"end": 1001,
"name": "DUP5",
"source": 1
},
{
"begin": 985,
"end": 991,
"name": "DUP3",
"source": 1
},
{
"begin": 974,
"end": 983,
"name": "DUP6",
"source": 1
},
{
"begin": 970,
"end": 992,
"name": "ADD",
"source": 1
},
{
"begin": 949,
"end": 1002,
"name": "PUSH [tag]",
"source": 1,
"value": "26"
},
{
"begin": 949,
"end": 1002,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 949,
"end": 1002,
"name": "tag",
"source": 1,
"value": "42"
},
{
"begin": 949,
"end": 1002,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 939,
"end": 1002,
"name": "SWAP2",
"source": 1
},
{
"begin": 939,
"end": 1002,
"name": "POP",
"source": 1
},
{
"begin": 895,
"end": 1012,
"name": "POP",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "SWAP3",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "SWAP2",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "POP",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "POP",
"source": 1
},
{
"begin": 690,
"end": 1019,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1025,
"end": 1143,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 1025,
"end": 1143,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1112,
"end": 1136,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 1130,
"end": 1135,
"name": "DUP2",
"source": 1
},
{
"begin": 1112,
"end": 1136,
"name": "PUSH [tag]",
"source": 1,
"value": "24"
},
{
"begin": 1112,
"end": 1136,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1112,
"end": 1136,
"name": "tag",
"source": 1,
"value": "44"
},
{
"begin": 1112,
"end": 1136,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1107,
"end": 1110,
"name": "DUP3",
"source": 1
},
{
"begin": 1100,
"end": 1137,
"name": "MSTORE",
"source": 1
},
{
"begin": 1025,
"end": 1143,
"name": "POP",
"source": 1
},
{
"begin": 1025,
"end": 1143,
"name": "POP",
"source": 1
},
{
"begin": 1025,
"end": 1143,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "tag",
"source": 1,
"value": "13"
},
{
"begin": 1149,
"end": 1371,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1242,
"end": 1246,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1280,
"end": 1282,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1269,
"end": 1278,
"name": "DUP3",
"source": 1
},
{
"begin": 1265,
"end": 1283,
"name": "ADD",
"source": 1
},
{
"begin": 1257,
"end": 1283,
"name": "SWAP1",
"source": 1
},
{
"begin": 1257,
"end": 1283,
"name": "POP",
"source": 1
},
{
"begin": 1293,
"end": 1364,
"name": "PUSH [tag]",
"source": 1,
"value": "46"
},
{
"begin": 1361,
"end": 1362,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1350,
"end": 1359,
"name": "DUP4",
"source": 1
},
{
"begin": 1346,
"end": 1363,
"name": "ADD",
"source": 1
},
{
"begin": 1337,
"end": 1343,
"name": "DUP5",
"source": 1
},
{
"begin": 1293,
"end": 1364,
"name": "PUSH [tag]",
"source": 1,
"value": "27"
},
{
"begin": 1293,
"end": 1364,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1293,
"end": 1364,
"name": "tag",
"source": 1,
"value": "46"
},
{
"begin": 1293,
"end": 1364,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "SWAP3",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "SWAP2",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "POP",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "POP",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1377,
"end": 1557,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 1377,
"end": 1557,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1425,
"end": 1502,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1422,
"end": 1423,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1415,
"end": 1503,
"name": "MSTORE",
"source": 1
},
{
"begin": 1522,
"end": 1526,
"name": "PUSH",
"source": 1,
"value": "11"
},
{
"begin": 1519,
"end": 1520,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 1512,
"end": 1527,
"name": "MSTORE",
"source": 1
},
{
"begin": 1546,
"end": 1550,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 1543,
"end": 1544,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1536,
"end": 1551,
"name": "REVERT",
"source": 1
},
{
"begin": 1563,
"end": 1796,
"name": "tag",
"source": 1,
"value": "19"
},
{
"begin": 1563,
"end": 1796,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1602,
"end": 1605,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1625,
"end": 1649,
"name": "PUSH [tag]",
"source": 1,
"value": "49"
},
{
"begin": 1643,
"end": 1648,
"name": "DUP3",
"source": 1
},
{
"begin": 1625,
"end": 1649,
"name": "PUSH [tag]",
"source": 1,
"value": "24"
},
{
"begin": 1625,
"end": 1649,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1625,
"end": 1649,
"name": "tag",
"source": 1,
"value": "49"
},
{
"begin": 1625,
"end": 1649,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1616,
"end": 1649,
"name": "SWAP2",
"source": 1
},
{
"begin": 1616,
"end": 1649,
"name": "POP",
"source": 1
},
{
"begin": 1671,
"end": 1737,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1664,
"end": 1669,
"name": "DUP3",
"source": 1
},
{
"begin": 1661,
"end": 1738,
"name": "SUB",
"source": 1
},
{
"begin": 1658,
"end": 1761,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 1658,
"end": 1761,
"name": "JUMPI",
"source": 1
},
{
"begin": 1741,
"end": 1759,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 1741,
"end": 1759,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 1741,
"end": 1759,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1741,
"end": 1759,
"name": "tag",
"source": 1,
"value": "51"
},
{
"begin": 1741,
"end": 1759,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1658,
"end": 1761,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 1658,
"end": 1761,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1788,
"end": 1789,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 1781,
"end": 1786,
"name": "DUP3",
"source": 1
},
{
"begin": 1777,
"end": 1790,
"name": "ADD",
"source": 1
},
{
"begin": 1770,
"end": 1790,
"name": "SWAP1",
"source": 1
},
{
"begin": 1770,
"end": 1790,
"name": "POP",
"source": 1
},
{
"begin": 1563,
"end": 1796,
"name": "SWAP2",
"source": 1
},
{
"begin": 1563,
"end": 1796,
"name": "SWAP1",
"source": 1
},
{
"begin": 1563,
"end": 1796,
"name": "POP",
"source": 1
},
{
"begin": 1563,
"end": 1796,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
}
]
}
},
"sourceList": [
"contracts/SimpleStorage.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"getSomeNumber()": "d74bf202",
"someNumber()": "931c9b99",
"store(uint256)": "6057361d"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getSomeNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"someNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_someNumber\",\"type\":\"uint256\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/SimpleStorage.sol\":\"SimpleStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/SimpleStorage.sol\":{\"keccak256\":\"0x3b99bfea27c8269eeddd18a806a143def5e585ce46d78e21ee3cf661e7b1ac06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bca5a2cc66dc49852d224e66c0726e3dbab6e09c70c68556ddf8ad2645bc948b\",\"dweb:/ipfs/QmXaQzJXfMeMuQ1D8utrvjh97ebAq8aeaKDtCajtgVrq39\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "contracts/SimpleStorage.sol:SimpleStorage",
"label": "someNumber",
"offset": 0,
"slot": "0",
"type": "t_uint256"
}
],
"types": {
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contracts/SimpleStorage.sol": {
"ast": {
"absolutePath": "contracts/SimpleStorage.sol",
"exportedSymbols": {
"SimpleStorage": [
25
]
},
"id": 26,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".8"
],
"nodeType": "PragmaDirective",
"src": "33:23:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "SimpleStorage",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 25,
"linearizedBaseContracts": [
25
],
"name": "SimpleStorage",
"nameLocation": "69:13:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "931c9b99",
"id": 3,
"mutability": "mutable",
"name": "someNumber",
"nameLocation": "105:10:0",
"nodeType": "VariableDeclaration",
"scope": 25,
"src": "90:25:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "90:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "public"
},
{
"body": {
"id": 15,
"nodeType": "Block",
"src": "167:66:0",
"statements": [
{
"expression": {
"id": 10,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 8,
"name": "someNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "178:10:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 9,
"name": "_someNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "191:11:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "178:24:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 11,
"nodeType": "ExpressionStatement",
"src": "178:24:0"
},
{
"expression": {
"id": 13,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "213:12:0",
"subExpression": {
"id": 12,
"name": "someNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "213:10:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 14,
"nodeType": "ExpressionStatement",
"src": "213:12:0"
}
]
},
"functionSelector": "6057361d",
"id": 16,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "store",
"nameLocation": "133:5:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 6,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5,
"mutability": "mutable",
"name": "_someNumber",
"nameLocation": "147:11:0",
"nodeType": "VariableDeclaration",
"scope": 16,
"src": "139:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "139:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "138:21:0"
},
"returnParameters": {
"id": 7,
"nodeType": "ParameterList",
"parameters": [],
"src": "167:0:0"
},
"scope": 25,
"src": "124:109:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 23,
"nodeType": "Block",
"src": "295:36:0",
"statements": [
{
"expression": {
"id": 21,
"name": "someNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "313:10:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 20,
"id": 22,
"nodeType": "Return",
"src": "306:17:0"
}
]
},
"functionSelector": "d74bf202",
"id": 24,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getSomeNumber",
"nameLocation": "250:13:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 17,
"nodeType": "ParameterList",
"parameters": [],
"src": "263:2:0"
},
"returnParameters": {
"id": 20,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 19,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 24,
"src": "286:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 18,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "286:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "285:9:0"
},
"scope": 25,
"src": "241:90:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
}
],
"scope": 26,
"src": "60:274:0",
"usedErrors": []
}
],
"src": "33:301:0"
},
"id": 0
}
}
}
}
{
"id": "3eedc2aee5ffb74d8b844f53a89bdae9",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.17",
"solcLongVersion": "0.8.17+commit.8df45f5f",
"input": {
"language": "Solidity",
"sources": {
"contracts/SimpleStorage1.sol": {
"content": "// SPDX-License-Identifier: MIT\r\npragma solidity ^0.8.8;\r\n\r\ncontract SimpleStorage {\r\n uint256 public someNumber;\r\n\r\n function store(uint256 _someNumber) public {\r\n someNumber = _someNumber;\r\n someNumber++;\r\n }\r\n\r\n function getSomeNumber() public view returns(uint256) {\r\n return someNumber;\r\n }\r\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"
]
}
}
}
},
"output": {
"contracts": {
"contracts/SimpleStorage1.sol": {
"SimpleStorage": {
"abi": [
{
"inputs": [],
"name": "getSomeNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "someNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_someNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/SimpleStorage1.sol\":60:334 contract SimpleStorage {... */\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 /* \"contracts/SimpleStorage1.sol\":60:334 contract SimpleStorage {... */\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 0x6057361d\n eq\n tag_3\n jumpi\n dup1\n 0x931c9b99\n eq\n tag_4\n jumpi\n dup1\n 0xd74bf202\n eq\n tag_5\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/SimpleStorage1.sol\":124:233 function store(uint256 _someNumber) public {... */\n tag_3:\n tag_6\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n tag_9\n jump\t// in\n tag_6:\n stop\n /* \"contracts/SimpleStorage1.sol\":90:115 uint256 public someNumber */\n tag_4:\n tag_10\n tag_11\n jump\t// in\n tag_10:\n mload(0x40)\n tag_12\n swap2\n swap1\n tag_13\n jump\t// in\n tag_12:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/SimpleStorage1.sol\":241:331 function getSomeNumber() public view returns(uint256) {... */\n tag_5:\n tag_14\n tag_15\n jump\t// in\n tag_14:\n mload(0x40)\n tag_16\n swap2\n swap1\n tag_13\n jump\t// in\n tag_16:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/SimpleStorage1.sol\":124:233 function store(uint256 _someNumber) public {... */\n tag_9:\n /* \"contracts/SimpleStorage1.sol\":191:202 _someNumber */\n dup1\n /* \"contracts/SimpleStorage1.sol\":178:188 someNumber */\n 0x00\n /* \"contracts/SimpleStorage1.sol\":178:202 someNumber = _someNumber */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/SimpleStorage1.sol\":213:223 someNumber */\n 0x00\n dup1\n /* \"contracts/SimpleStorage1.sol\":213:225 someNumber++ */\n dup2\n sload\n dup1\n swap3\n swap2\n swap1\n tag_18\n swap1\n tag_19\n jump\t// in\n tag_18:\n swap2\n swap1\n pop\n sstore\n pop\n /* \"contracts/SimpleStorage1.sol\":124:233 function store(uint256 _someNumber) public {... */\n pop\n jump\t// out\n /* \"contracts/SimpleStorage1.sol\":90:115 uint256 public someNumber */\n tag_11:\n sload(0x00)\n dup2\n jump\t// out\n /* \"contracts/SimpleStorage1.sol\":241:331 function getSomeNumber() public view returns(uint256) {... */\n tag_15:\n /* \"contracts/SimpleStorage1.sol\":286:293 uint256 */\n 0x00\n /* \"contracts/SimpleStorage1.sol\":313:323 someNumber */\n dup1\n sload\n /* \"contracts/SimpleStorage1.sol\":306:323 return someNumber */\n swap1\n pop\n /* \"contracts/SimpleStorage1.sol\":241:331 function getSomeNumber() public view returns(uint256) {... */\n swap1\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_22:\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:411 */\n tag_24:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":400:405 */\n dup2\n /* \"#utility.yul\":389:405 */\n swap1\n pop\n /* \"#utility.yul\":334:411 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":417:539 */\n tag_25:\n /* \"#utility.yul\":490:514 */\n tag_35\n /* \"#utility.yul\":508:513 */\n dup2\n /* \"#utility.yul\":490:514 */\n tag_24\n jump\t// in\n tag_35:\n /* \"#utility.yul\":483:488 */\n dup2\n /* \"#utility.yul\":480:515 */\n eq\n /* \"#utility.yul\":470:533 */\n tag_36\n jumpi\n /* \"#utility.yul\":529:530 */\n 0x00\n /* \"#utility.yul\":526:527 */\n dup1\n /* \"#utility.yul\":519:531 */\n revert\n /* \"#utility.yul\":470:533 */\n tag_36:\n /* \"#utility.yul\":417:539 */\n pop\n jump\t// out\n /* \"#utility.yul\":545:684 */\n tag_26:\n /* \"#utility.yul\":591:596 */\n 0x00\n /* \"#utility.yul\":629:635 */\n dup2\n /* \"#utility.yul\":616:636 */\n calldataload\n /* \"#utility.yul\":607:636 */\n swap1\n pop\n /* \"#utility.yul\":645:678 */\n tag_38\n /* \"#utility.yul\":672:677 */\n dup2\n /* \"#utility.yul\":645:678 */\n tag_25\n jump\t// in\n tag_38:\n /* \"#utility.yul\":545:684 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":690:1019 */\n tag_8:\n /* \"#utility.yul\":749:755 */\n 0x00\n /* \"#utility.yul\":798:800 */\n 0x20\n /* \"#utility.yul\":786:795 */\n dup3\n /* \"#utility.yul\":777:784 */\n dup5\n /* \"#utility.yul\":773:796 */\n sub\n /* \"#utility.yul\":769:801 */\n slt\n /* \"#utility.yul\":766:885 */\n iszero\n tag_40\n jumpi\n /* \"#utility.yul\":804:883 */\n tag_41\n tag_22\n jump\t// in\n tag_41:\n /* \"#utility.yul\":766:885 */\n tag_40:\n /* \"#utility.yul\":924:925 */\n 0x00\n /* \"#utility.yul\":949:1002 */\n tag_42\n /* \"#utility.yul\":994:1001 */\n dup5\n /* \"#utility.yul\":985:991 */\n dup3\n /* \"#utility.yul\":974:983 */\n dup6\n /* \"#utility.yul\":970:992 */\n add\n /* \"#utility.yul\":949:1002 */\n tag_26\n jump\t// in\n tag_42:\n /* \"#utility.yul\":939:1002 */\n swap2\n pop\n /* \"#utility.yul\":895:1012 */\n pop\n /* \"#utility.yul\":690:1019 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1025:1143 */\n tag_27:\n /* \"#utility.yul\":1112:1136 */\n tag_44\n /* \"#utility.yul\":1130:1135 */\n dup2\n /* \"#utility.yul\":1112:1136 */\n tag_24\n jump\t// in\n tag_44:\n /* \"#utility.yul\":1107:1110 */\n dup3\n /* \"#utility.yul\":1100:1137 */\n mstore\n /* \"#utility.yul\":1025:1143 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1149:1371 */\n tag_13:\n /* \"#utility.yul\":1242:1246 */\n 0x00\n /* \"#utility.yul\":1280:1282 */\n 0x20\n /* \"#utility.yul\":1269:1278 */\n dup3\n /* \"#utility.yul\":1265:1283 */\n add\n /* \"#utility.yul\":1257:1283 */\n swap1\n pop\n /* \"#utility.yul\":1293:1364 */\n tag_46\n /* \"#utility.yul\":1361:1362 */\n 0x00\n /* \"#utility.yul\":1350:1359 */\n dup4\n /* \"#utility.yul\":1346:1363 */\n add\n /* \"#utility.yul\":1337:1343 */\n dup5\n /* \"#utility.yul\":1293:1364 */\n tag_27\n jump\t// in\n tag_46:\n /* \"#utility.yul\":1149:1371 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1377:1557 */\n tag_28:\n /* \"#utility.yul\":1425:1502 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":1422:1423 */\n 0x00\n /* \"#utility.yul\":1415:1503 */\n mstore\n /* \"#utility.yul\":1522:1526 */\n 0x11\n /* \"#utility.yul\":1519:1520 */\n 0x04\n /* \"#utility.yul\":1512:1527 */\n mstore\n /* \"#utility.yul\":1546:1550 */\n 0x24\n /* \"#utility.yul\":1543:1544 */\n 0x00\n /* \"#utility.yul\":1536:1551 */\n revert\n /* \"#utility.yul\":1563:1796 */\n tag_19:\n /* \"#utility.yul\":1602:1605 */\n 0x00\n /* \"#utility.yul\":1625:1649 */\n tag_49\n /* \"#utility.yul\":1643:1648 */\n dup3\n /* \"#utility.yul\":1625:1649 */\n tag_24\n jump\t// in\n tag_49:\n /* \"#utility.yul\":1616:1649 */\n swap2\n pop\n /* \"#utility.yul\":1671:1737 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1664:1669 */\n dup3\n /* \"#utility.yul\":1661:1738 */\n sub\n /* \"#utility.yul\":1658:1761 */\n tag_50\n jumpi\n /* \"#utility.yul\":1741:1759 */\n tag_51\n tag_28\n jump\t// in\n tag_51:\n /* \"#utility.yul\":1658:1761 */\n tag_50:\n /* \"#utility.yul\":1788:1789 */\n 0x01\n /* \"#utility.yul\":1781:1786 */\n dup3\n /* \"#utility.yul\":1777:1790 */\n add\n /* \"#utility.yul\":1770:1790 */\n swap1\n pop\n /* \"#utility.yul\":1563:1796 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa26469706673582212200c46542ebe2926ccc9ff05ed5904bec343fe17373dcee52b80206aa138d2728864736f6c63430008110033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5061020d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636057361d14610046578063931c9b9914610062578063d74bf20214610080575b600080fd5b610060600480360381019061005b9190610109565b61009e565b005b61006a6100bf565b6040516100779190610145565b60405180910390f35b6100886100c5565b6040516100959190610145565b60405180910390f35b806000819055506000808154809291906100b79061018f565b919050555050565b60005481565b60008054905090565b600080fd5b6000819050919050565b6100e6816100d3565b81146100f157600080fd5b50565b600081359050610103816100dd565b92915050565b60006020828403121561011f5761011e6100ce565b5b600061012d848285016100f4565b91505092915050565b61013f816100d3565b82525050565b600060208201905061015a6000830184610136565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061019a826100d3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036101cc576101cb610160565b5b60018201905091905056fea26469706673582212200c46542ebe2926ccc9ff05ed5904bec343fe17373dcee52b80206aa138d2728864736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20D 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 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6057361D EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x931C9B99 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0xD74BF202 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x109 JUMP JUMPDEST PUSH2 0x9E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0xBF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x145 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x88 PUSH2 0xC5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x145 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xB7 SWAP1 PUSH2 0x18F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE6 DUP2 PUSH2 0xD3 JUMP JUMPDEST DUP2 EQ PUSH2 0xF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x103 DUP2 PUSH2 0xDD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11F JUMPI PUSH2 0x11E PUSH2 0xCE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12D DUP5 DUP3 DUP6 ADD PUSH2 0xF4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13F DUP2 PUSH2 0xD3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x136 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x19A DUP3 PUSH2 0xD3 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1CC JUMPI PUSH2 0x1CB PUSH2 0x160 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC CHAINID SLOAD 0x2E 0xBE 0x29 0x26 0xCC 0xC9 SELFDESTRUCT SDIV 0xED MSIZE DIV 0xBE 0xC3 NUMBER INVALID OR CALLDATACOPY RETURNDATASIZE 0xCE 0xE5 0x2B DUP1 KECCAK256 PUSH11 0xA138D2728864736F6C6343 STOP ADDMOD GT STOP CALLER ",
"sourceMap": "60:274:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getSomeNumber_24": {
"entryPoint": 197,
"id": 24,
"parameterSlots": 0,
"returnSlots": 1
},
"@someNumber_3": {
"entryPoint": 191,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@store_16": {
"entryPoint": 158,
"id": 16,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 244,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 265,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 310,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 325,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 211,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 399,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 352,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 206,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 221,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1799: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": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1090:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1107:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1130:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1112:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1112:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1100:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1100:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1100:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1078:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1085:3:1",
"type": ""
}
],
"src": "1025:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1247:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1257:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1269:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1280:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1265:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1265:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1257:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1350:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1361:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1346:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1346:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1293:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1293:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1293:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1219:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1231:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1242:4:1",
"type": ""
}
],
"src": "1149:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1405:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1422:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1425:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1415:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1415:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1415:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1519:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1522:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1512:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1512:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1512:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1543:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1546:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1536:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1536:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1536:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "1377:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1606:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1616:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1643:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1625:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1625:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1616:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1739:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1741:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1741:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1741:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1664:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1671:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1661:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1661:77:1"
},
"nodeType": "YulIf",
"src": "1658:103:1"
},
{
"nodeType": "YulAssignment",
"src": "1770:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1781:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1788:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1777:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1777:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1770:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1592:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1602:3:1",
"type": ""
}
],
"src": "1563:233: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_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 function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c80636057361d14610046578063931c9b9914610062578063d74bf20214610080575b600080fd5b610060600480360381019061005b9190610109565b61009e565b005b61006a6100bf565b6040516100779190610145565b60405180910390f35b6100886100c5565b6040516100959190610145565b60405180910390f35b806000819055506000808154809291906100b79061018f565b919050555050565b60005481565b60008054905090565b600080fd5b6000819050919050565b6100e6816100d3565b81146100f157600080fd5b50565b600081359050610103816100dd565b92915050565b60006020828403121561011f5761011e6100ce565b5b600061012d848285016100f4565b91505092915050565b61013f816100d3565b82525050565b600060208201905061015a6000830184610136565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061019a826100d3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036101cc576101cb610160565b5b60018201905091905056fea26469706673582212200c46542ebe2926ccc9ff05ed5904bec343fe17373dcee52b80206aa138d2728864736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6057361D EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x931C9B99 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0xD74BF202 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x109 JUMP JUMPDEST PUSH2 0x9E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0xBF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x145 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x88 PUSH2 0xC5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x145 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xB7 SWAP1 PUSH2 0x18F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE6 DUP2 PUSH2 0xD3 JUMP JUMPDEST DUP2 EQ PUSH2 0xF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x103 DUP2 PUSH2 0xDD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11F JUMPI PUSH2 0x11E PUSH2 0xCE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12D DUP5 DUP3 DUP6 ADD PUSH2 0xF4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13F DUP2 PUSH2 0xD3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x136 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x19A DUP3 PUSH2 0xD3 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1CC JUMPI PUSH2 0x1CB PUSH2 0x160 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC CHAINID SLOAD 0x2E 0xBE 0x29 0x26 0xCC 0xC9 SELFDESTRUCT SDIV 0xED MSIZE DIV 0xBE 0xC3 NUMBER INVALID OR CALLDATACOPY RETURNDATASIZE 0xCE 0xE5 0x2B DUP1 KECCAK256 PUSH11 0xA138D2728864736F6C6343 STOP ADDMOD GT STOP CALLER ",
"sourceMap": "60:274:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;124:109;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;90:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;241:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;124:109;191:11;178:10;:24;;;;213:10;;:12;;;;;;;;;:::i;:::-;;;;;;124:109;:::o;90:25::-;;;;:::o;241:90::-;286:7;313:10;;306:17;;241:90;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:118::-;1112:24;1130:5;1112:24;:::i;:::-;1107:3;1100:37;1025:118;;:::o;1149:222::-;1242:4;1280:2;1269:9;1265:18;1257:26;;1293:71;1361:1;1350:9;1346:17;1337:6;1293:71;:::i;:::-;1149:222;;;;:::o;1377:180::-;1425:77;1422:1;1415:88;1522:4;1519:1;1512:15;1546:4;1543:1;1536:15;1563:233;1602:3;1625:24;1643:5;1625:24;:::i;:::-;1616:33;;1671:66;1664:5;1661:77;1658:103;;1741:18;;:::i;:::-;1658:103;1788:1;1781:5;1777:13;1770:20;;1563:233;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "105000",
"executionCost": "153",
"totalCost": "105153"
},
"external": {
"getSomeNumber()": "2459",
"someNumber()": "2429",
"store(uint256)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 60,
"end": 334,
"name": "MSTORE",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "ISZERO",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 60,
"end": 334,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "REVERT",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 60,
"end": 334,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "POP",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 334,
"name": "CODECOPY",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 334,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a26469706673582212200c46542ebe2926ccc9ff05ed5904bec343fe17373dcee52b80206aa138d2728864736f6c63430008110033",
".code": [
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 60,
"end": 334,
"name": "MSTORE",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "ISZERO",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 60,
"end": 334,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "REVERT",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 60,
"end": 334,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "POP",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 60,
"end": 334,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "LT",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 60,
"end": 334,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 334,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 60,
"end": 334,
"name": "SHR",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "6057361D"
},
{
"begin": 60,
"end": 334,
"name": "EQ",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 60,
"end": 334,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "931C9B99"
},
{
"begin": 60,
"end": 334,
"name": "EQ",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 60,
"end": 334,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "D74BF202"
},
{
"begin": 60,
"end": 334,
"name": "EQ",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 60,
"end": 334,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 60,
"end": 334,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 334,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 334,
"name": "REVERT",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 124,
"end": 233,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 124,
"end": 233,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 124,
"end": 233,
"name": "DUP1",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "SUB",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "DUP2",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "ADD",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "SWAP1",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 124,
"end": 233,
"name": "SWAP2",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "SWAP1",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 124,
"end": 233,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 124,
"end": 233,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 124,
"end": 233,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 124,
"end": 233,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "STOP",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 90,
"end": 115,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 90,
"end": 115,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 90,
"end": 115,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 90,
"end": 115,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 90,
"end": 115,
"name": "MLOAD",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 90,
"end": 115,
"name": "SWAP2",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 90,
"end": 115,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 90,
"end": 115,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 90,
"end": 115,
"name": "MLOAD",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "DUP1",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "SWAP2",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "SUB",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "RETURN",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 241,
"end": 331,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 241,
"end": 331,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 241,
"end": 331,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 241,
"end": 331,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 241,
"end": 331,
"name": "MLOAD",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 241,
"end": 331,
"name": "SWAP2",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "SWAP1",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 241,
"end": 331,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 241,
"end": 331,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 241,
"end": 331,
"name": "MLOAD",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "DUP1",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "SWAP2",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "SUB",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "SWAP1",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "RETURN",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 124,
"end": 233,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 191,
"end": 202,
"name": "DUP1",
"source": 0
},
{
"begin": 178,
"end": 188,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 178,
"end": 202,
"name": "DUP2",
"source": 0
},
{
"begin": 178,
"end": 202,
"name": "SWAP1",
"source": 0
},
{
"begin": 178,
"end": 202,
"name": "SSTORE",
"source": 0
},
{
"begin": 178,
"end": 202,
"name": "POP",
"source": 0
},
{
"begin": 213,
"end": 223,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 213,
"end": 223,
"name": "DUP1",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "DUP2",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "SLOAD",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "DUP1",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "SWAP3",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "SWAP2",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "SWAP1",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 213,
"end": 225,
"name": "SWAP1",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 213,
"end": 225,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "tag",
"source": 0,
"value": "18"
},
{
"begin": 213,
"end": 225,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "SWAP2",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "SWAP1",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "POP",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "SSTORE",
"source": 0
},
{
"begin": 213,
"end": 225,
"name": "POP",
"source": 0
},
{
"begin": 124,
"end": 233,
"name": "POP",
"source": 0
},
{
"begin": 124,
"end": 233,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 90,
"end": 115,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 90,
"end": 115,
"name": "SLOAD",
"source": 0
},
{
"begin": 90,
"end": 115,
"name": "DUP2",
"source": 0
},
{
"begin": 90,
"end": 115,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 241,
"end": 331,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 286,
"end": 293,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 313,
"end": 323,
"name": "DUP1",
"source": 0
},
{
"begin": 313,
"end": 323,
"name": "SLOAD",
"source": 0
},
{
"begin": 306,
"end": 323,
"name": "SWAP1",
"source": 0
},
{
"begin": 306,
"end": 323,
"name": "POP",
"source": 0
},
{
"begin": 241,
"end": 331,
"name": "SWAP1",
"source": 0
},
{
"begin": 241,
"end": 331,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 1,
"value": "22"
},
{
"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": 411,
"name": "tag",
"source": 1,
"value": "24"
},
{
"begin": 334,
"end": 411,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 371,
"end": 378,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 400,
"end": 405,
"name": "DUP2",
"source": 1
},
{
"begin": 389,
"end": 405,
"name": "SWAP1",
"source": 1
},
{
"begin": 389,
"end": 405,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "SWAP2",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "SWAP1",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 411,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 417,
"end": 539,
"name": "tag",
"source": 1,
"value": "25"
},
{
"begin": 417,
"end": 539,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 490,
"end": 514,
"name": "PUSH [tag]",
"source": 1,
"value": "35"
},
{
"begin": 508,
"end": 513,
"name": "DUP2",
"source": 1
},
{
"begin": 490,
"end": 514,
"name": "PUSH [tag]",
"source": 1,
"value": "24"
},
{
"begin": 490,
"end": 514,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 490,
"end": 514,
"name": "tag",
"source": 1,
"value": "35"
},
{
"begin": 490,
"end": 514,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 483,
"end": 488,
"name": "DUP2",
"source": 1
},
{
"begin": 480,
"end": 515,
"name": "EQ",
"source": 1
},
{
"begin": 470,
"end": 533,
"name": "PUSH [tag]",
"source": 1,
"value": "36"
},
{
"begin": 470,
"end": 533,
"name": "JUMPI",
"source": 1
},
{
"begin": 529,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 526,
"end": 527,
"name": "DUP1",
"source": 1
},
{
"begin": 519,
"end": 531,
"name": "REVERT",
"source": 1
},
{
"begin": 470,
"end": 533,
"name": "tag",
"source": 1,
"value": "36"
},
{
"begin": 470,
"end": 533,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 417,
"end": 539,
"name": "POP",
"source": 1
},
{
"begin": 417,
"end": 539,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "tag",
"source": 1,
"value": "26"
},
{
"begin": 545,
"end": 684,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 591,
"end": 596,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 629,
"end": 635,
"name": "DUP2",
"source": 1
},
{
"begin": 616,
"end": 636,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 607,
"end": 636,
"name": "SWAP1",
"source": 1
},
{
"begin": 607,
"end": 636,
"name": "POP",
"source": 1
},
{
"begin": 645,
"end": 678,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 672,
"end": 677,
"name": "DUP2",
"source": 1
},
{
"begin": 645,
"end": 678,
"name": "PUSH [tag]",
"source": 1,
"value": "25"
},
{
"begin": 645,
"end": 678,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 645,
"end": 678,
"name": "tag",
"source": 1,
"value": "38"
},
{
"begin": 645,
"end": 678,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "SWAP3",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "SWAP2",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "POP",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "POP",
"source": 1
},
{
"begin": 545,
"end": 684,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 690,
"end": 1019,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 749,
"end": 755,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 798,
"end": 800,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 786,
"end": 795,
"name": "DUP3",
"source": 1
},
{
"begin": 777,
"end": 784,
"name": "DUP5",
"source": 1
},
{
"begin": 773,
"end": 796,
"name": "SUB",
"source": 1
},
{
"begin": 769,
"end": 801,
"name": "SLT",
"source": 1
},
{
"begin": 766,
"end": 885,
"name": "ISZERO",
"source": 1
},
{
"begin": 766,
"end": 885,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 766,
"end": 885,
"name": "JUMPI",
"source": 1
},
{
"begin": 804,
"end": 883,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 804,
"end": 883,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 804,
"end": 883,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 804,
"end": 883,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 804,
"end": 883,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 766,
"end": 885,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 766,
"end": 885,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 924,
"end": 925,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 949,
"end": 1002,
"name": "PUSH [tag]",
"source": 1,
"value": "42"
},
{
"begin": 994,
"end": 1001,
"name": "DUP5",
"source": 1
},
{
"begin": 985,
"end": 991,
"name": "DUP3",
"source": 1
},
{
"begin": 974,
"end": 983,
"name": "DUP6",
"source": 1
},
{
"begin": 970,
"end": 992,
"name": "ADD",
"source": 1
},
{
"begin": 949,
"end": 1002,
"name": "PUSH [tag]",
"source": 1,
"value": "26"
},
{
"begin": 949,
"end": 1002,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 949,
"end": 1002,
"name": "tag",
"source": 1,
"value": "42"
},
{
"begin": 949,
"end": 1002,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 939,
"end": 1002,
"name": "SWAP2",
"source": 1
},
{
"begin": 939,
"end": 1002,
"name": "POP",
"source": 1
},
{
"begin": 895,
"end": 1012,
"name": "POP",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "SWAP3",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "SWAP2",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "POP",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "POP",
"source": 1
},
{
"begin": 690,
"end": 1019,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1025,
"end": 1143,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 1025,
"end": 1143,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1112,
"end": 1136,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 1130,
"end": 1135,
"name": "DUP2",
"source": 1
},
{
"begin": 1112,
"end": 1136,
"name": "PUSH [tag]",
"source": 1,
"value": "24"
},
{
"begin": 1112,
"end": 1136,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1112,
"end": 1136,
"name": "tag",
"source": 1,
"value": "44"
},
{
"begin": 1112,
"end": 1136,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1107,
"end": 1110,
"name": "DUP3",
"source": 1
},
{
"begin": 1100,
"end": 1137,
"name": "MSTORE",
"source": 1
},
{
"begin": 1025,
"end": 1143,
"name": "POP",
"source": 1
},
{
"begin": 1025,
"end": 1143,
"name": "POP",
"source": 1
},
{
"begin": 1025,
"end": 1143,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "tag",
"source": 1,
"value": "13"
},
{
"begin": 1149,
"end": 1371,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1242,
"end": 1246,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1280,
"end": 1282,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1269,
"end": 1278,
"name": "DUP3",
"source": 1
},
{
"begin": 1265,
"end": 1283,
"name": "ADD",
"source": 1
},
{
"begin": 1257,
"end": 1283,
"name": "SWAP1",
"source": 1
},
{
"begin": 1257,
"end": 1283,
"name": "POP",
"source": 1
},
{
"begin": 1293,
"end": 1364,
"name": "PUSH [tag]",
"source": 1,
"value": "46"
},
{
"begin": 1361,
"end": 1362,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1350,
"end": 1359,
"name": "DUP4",
"source": 1
},
{
"begin": 1346,
"end": 1363,
"name": "ADD",
"source": 1
},
{
"begin": 1337,
"end": 1343,
"name": "DUP5",
"source": 1
},
{
"begin": 1293,
"end": 1364,
"name": "PUSH [tag]",
"source": 1,
"value": "27"
},
{
"begin": 1293,
"end": 1364,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1293,
"end": 1364,
"name": "tag",
"source": 1,
"value": "46"
},
{
"begin": 1293,
"end": 1364,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "SWAP3",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "SWAP2",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "POP",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "POP",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1377,
"end": 1557,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 1377,
"end": 1557,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1425,
"end": 1502,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1422,
"end": 1423,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1415,
"end": 1503,
"name": "MSTORE",
"source": 1
},
{
"begin": 1522,
"end": 1526,
"name": "PUSH",
"source": 1,
"value": "11"
},
{
"begin": 1519,
"end": 1520,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 1512,
"end": 1527,
"name": "MSTORE",
"source": 1
},
{
"begin": 1546,
"end": 1550,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 1543,
"end": 1544,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1536,
"end": 1551,
"name": "REVERT",
"source": 1
},
{
"begin": 1563,
"end": 1796,
"name": "tag",
"source": 1,
"value": "19"
},
{
"begin": 1563,
"end": 1796,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1602,
"end": 1605,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1625,
"end": 1649,
"name": "PUSH [tag]",
"source": 1,
"value": "49"
},
{
"begin": 1643,
"end": 1648,
"name": "DUP3",
"source": 1
},
{
"begin": 1625,
"end": 1649,
"name": "PUSH [tag]",
"source": 1,
"value": "24"
},
{
"begin": 1625,
"end": 1649,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1625,
"end": 1649,
"name": "tag",
"source": 1,
"value": "49"
},
{
"begin": 1625,
"end": 1649,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1616,
"end": 1649,
"name": "SWAP2",
"source": 1
},
{
"begin": 1616,
"end": 1649,
"name": "POP",
"source": 1
},
{
"begin": 1671,
"end": 1737,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1664,
"end": 1669,
"name": "DUP3",
"source": 1
},
{
"begin": 1661,
"end": 1738,
"name": "SUB",
"source": 1
},
{
"begin": 1658,
"end": 1761,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 1658,
"end": 1761,
"name": "JUMPI",
"source": 1
},
{
"begin": 1741,
"end": 1759,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 1741,
"end": 1759,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 1741,
"end": 1759,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1741,
"end": 1759,
"name": "tag",
"source": 1,
"value": "51"
},
{
"begin": 1741,
"end": 1759,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1658,
"end": 1761,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 1658,
"end": 1761,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1788,
"end": 1789,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 1781,
"end": 1786,
"name": "DUP3",
"source": 1
},
{
"begin": 1777,
"end": 1790,
"name": "ADD",
"source": 1
},
{
"begin": 1770,
"end": 1790,
"name": "SWAP1",
"source": 1
},
{
"begin": 1770,
"end": 1790,
"name": "POP",
"source": 1
},
{
"begin": 1563,
"end": 1796,
"name": "SWAP2",
"source": 1
},
{
"begin": 1563,
"end": 1796,
"name": "SWAP1",
"source": 1
},
{
"begin": 1563,
"end": 1796,
"name": "POP",
"source": 1
},
{
"begin": 1563,
"end": 1796,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
}
]
}
},
"sourceList": [
"contracts/SimpleStorage1.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"getSomeNumber()": "d74bf202",
"someNumber()": "931c9b99",
"store(uint256)": "6057361d"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getSomeNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"someNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_someNumber\",\"type\":\"uint256\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/SimpleStorage1.sol\":\"SimpleStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/SimpleStorage1.sol\":{\"keccak256\":\"0x3b99bfea27c8269eeddd18a806a143def5e585ce46d78e21ee3cf661e7b1ac06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bca5a2cc66dc49852d224e66c0726e3dbab6e09c70c68556ddf8ad2645bc948b\",\"dweb:/ipfs/QmXaQzJXfMeMuQ1D8utrvjh97ebAq8aeaKDtCajtgVrq39\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "contracts/SimpleStorage1.sol:SimpleStorage",
"label": "someNumber",
"offset": 0,
"slot": "0",
"type": "t_uint256"
}
],
"types": {
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contracts/SimpleStorage1.sol": {
"ast": {
"absolutePath": "contracts/SimpleStorage1.sol",
"exportedSymbols": {
"SimpleStorage": [
25
]
},
"id": 26,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".8"
],
"nodeType": "PragmaDirective",
"src": "33:23:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "SimpleStorage",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 25,
"linearizedBaseContracts": [
25
],
"name": "SimpleStorage",
"nameLocation": "69:13:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "931c9b99",
"id": 3,
"mutability": "mutable",
"name": "someNumber",
"nameLocation": "105:10:0",
"nodeType": "VariableDeclaration",
"scope": 25,
"src": "90:25:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "90:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "public"
},
{
"body": {
"id": 15,
"nodeType": "Block",
"src": "167:66:0",
"statements": [
{
"expression": {
"id": 10,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 8,
"name": "someNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "178:10:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 9,
"name": "_someNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "191:11:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "178:24:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 11,
"nodeType": "ExpressionStatement",
"src": "178:24:0"
},
{
"expression": {
"id": 13,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "213:12:0",
"subExpression": {
"id": 12,
"name": "someNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "213:10:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 14,
"nodeType": "ExpressionStatement",
"src": "213:12:0"
}
]
},
"functionSelector": "6057361d",
"id": 16,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "store",
"nameLocation": "133:5:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 6,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5,
"mutability": "mutable",
"name": "_someNumber",
"nameLocation": "147:11:0",
"nodeType": "VariableDeclaration",
"scope": 16,
"src": "139:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "139:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "138:21:0"
},
"returnParameters": {
"id": 7,
"nodeType": "ParameterList",
"parameters": [],
"src": "167:0:0"
},
"scope": 25,
"src": "124:109:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 23,
"nodeType": "Block",
"src": "295:36:0",
"statements": [
{
"expression": {
"id": 21,
"name": "someNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "313:10:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 20,
"id": 22,
"nodeType": "Return",
"src": "306:17:0"
}
]
},
"functionSelector": "d74bf202",
"id": 24,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getSomeNumber",
"nameLocation": "250:13:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 17,
"nodeType": "ParameterList",
"parameters": [],
"src": "263:2:0"
},
"returnParameters": {
"id": 20,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 19,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 24,
"src": "286:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 18,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "286:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "285:9:0"
},
"scope": 25,
"src": "241:90:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
}
],
"scope": 26,
"src": "60:274:0",
"usedErrors": []
}
],
"src": "33:301:0"
},
"id": 0
}
}
}
}
{
"id": "8cdbc4f04e82ed99ad5dd60cad4767df",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.17",
"solcLongVersion": "0.8.17+commit.8df45f5f",
"input": {
"language": "Solidity",
"sources": {
"contracts/operators.sol": {
"content": "// SPDX-License-Identifier: MIT\r\npragma solidity >= 0.7.0 < 0.9.0;\r\n\r\ncontract operators {\r\n int y = 10;\r\n uint x = 7;\r\n function operation() public {\r\n x = x + 7;\r\n x = x / 7;\r\n x = x * 7;\r\n x = x - 7;\r\n x = x -- ;\r\n x = x ++ ;\r\n x = x % 7;\r\n }\r\n}\r\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"
]
}
}
}
},
"output": {
"contracts": {
"contracts/operators.sol": {
"operators": {
"abi": [
{
"inputs": [],
"name": "operation",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/operators.sol\":70:309 contract operators {... */\n mstore(0x40, 0x80)\n /* \"contracts/operators.sol\":104:106 10 */\n 0x0a\n /* \"contracts/operators.sol\":96:106 int y = 10 */\n 0x00\n sstore\n /* \"contracts/operators.sol\":122:123 7 */\n 0x07\n /* \"contracts/operators.sol\":113:123 uint x = 7 */\n 0x01\n sstore\n /* \"contracts/operators.sol\":70:309 contract operators {... */\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 /* \"contracts/operators.sol\":70:309 contract operators {... */\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 0x775fc127\n eq\n tag_3\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/operators.sol\":130:306 function operation() public {... */\n tag_3:\n tag_4\n tag_5\n jump\t// in\n tag_4:\n stop\n tag_5:\n /* \"contracts/operators.sol\":177:178 7 */\n 0x07\n /* \"contracts/operators.sol\":173:174 x */\n sload(0x01)\n /* \"contracts/operators.sol\":173:178 x + 7 */\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n /* \"contracts/operators.sol\":169:170 x */\n 0x01\n /* \"contracts/operators.sol\":169:178 x = x + 7 */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/operators.sol\":197:198 7 */\n 0x07\n /* \"contracts/operators.sol\":193:194 x */\n sload(0x01)\n /* \"contracts/operators.sol\":193:198 x / 7 */\n tag_9\n swap2\n swap1\n tag_10\n jump\t// in\n tag_9:\n /* \"contracts/operators.sol\":189:190 x */\n 0x01\n /* \"contracts/operators.sol\":189:198 x = x / 7 */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/operators.sol\":217:218 7 */\n 0x07\n /* \"contracts/operators.sol\":213:214 x */\n sload(0x01)\n /* \"contracts/operators.sol\":213:218 x * 7 */\n tag_11\n swap2\n swap1\n tag_12\n jump\t// in\n tag_11:\n /* \"contracts/operators.sol\":209:210 x */\n 0x01\n /* \"contracts/operators.sol\":209:218 x = x * 7 */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/operators.sol\":237:238 7 */\n 0x07\n /* \"contracts/operators.sol\":233:234 x */\n sload(0x01)\n /* \"contracts/operators.sol\":233:238 x - 7 */\n tag_13\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n /* \"contracts/operators.sol\":229:230 x */\n 0x01\n /* \"contracts/operators.sol\":229:238 x = x - 7 */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/operators.sol\":253:254 x */\n 0x01\n 0x00\n /* \"contracts/operators.sol\":253:257 x -- */\n dup2\n sload\n dup1\n swap3\n swap2\n swap1\n tag_15\n swap1\n tag_16\n jump\t// in\n tag_15:\n swap2\n swap1\n pop\n sstore\n /* \"contracts/operators.sol\":249:250 x */\n 0x01\n /* \"contracts/operators.sol\":249:257 x = x -- */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/operators.sol\":273:274 x */\n 0x01\n 0x00\n /* \"contracts/operators.sol\":273:277 x ++ */\n dup2\n sload\n dup1\n swap3\n swap2\n swap1\n tag_17\n swap1\n tag_18\n jump\t// in\n tag_17:\n swap2\n swap1\n pop\n sstore\n /* \"contracts/operators.sol\":269:270 x */\n 0x01\n /* \"contracts/operators.sol\":269:277 x = x ++ */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/operators.sol\":297:298 7 */\n 0x07\n /* \"contracts/operators.sol\":293:294 x */\n sload(0x01)\n /* \"contracts/operators.sol\":293:298 x % 7 */\n tag_19\n swap2\n swap1\n tag_20\n jump\t// in\n tag_19:\n /* \"contracts/operators.sol\":289:290 x */\n 0x01\n /* \"contracts/operators.sol\":289:298 x = x % 7 */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/operators.sol\":130:306 function operation() public {... */\n jump\t// out\n /* \"#utility.yul\":7:84 */\n tag_21:\n /* \"#utility.yul\":44:51 */\n 0x00\n /* \"#utility.yul\":73:78 */\n dup2\n /* \"#utility.yul\":62:78 */\n swap1\n pop\n /* \"#utility.yul\":7:84 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":90:270 */\n tag_22:\n /* \"#utility.yul\":138:215 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":135:136 */\n 0x00\n /* \"#utility.yul\":128:216 */\n mstore\n /* \"#utility.yul\":235:239 */\n 0x11\n /* \"#utility.yul\":232:233 */\n 0x04\n /* \"#utility.yul\":225:240 */\n mstore\n /* \"#utility.yul\":259:263 */\n 0x24\n /* \"#utility.yul\":256:257 */\n 0x00\n /* \"#utility.yul\":249:264 */\n revert\n /* \"#utility.yul\":276:467 */\n tag_8:\n /* \"#utility.yul\":316:319 */\n 0x00\n /* \"#utility.yul\":335:355 */\n tag_28\n /* \"#utility.yul\":353:354 */\n dup3\n /* \"#utility.yul\":335:355 */\n tag_21\n jump\t// in\n tag_28:\n /* \"#utility.yul\":330:355 */\n swap2\n pop\n /* \"#utility.yul\":369:389 */\n tag_29\n /* \"#utility.yul\":387:388 */\n dup4\n /* \"#utility.yul\":369:389 */\n tag_21\n jump\t// in\n tag_29:\n /* \"#utility.yul\":364:389 */\n swap3\n pop\n /* \"#utility.yul\":412:413 */\n dup3\n /* \"#utility.yul\":409:410 */\n dup3\n /* \"#utility.yul\":405:414 */\n add\n /* \"#utility.yul\":398:414 */\n swap1\n pop\n /* \"#utility.yul\":433:436 */\n dup1\n /* \"#utility.yul\":430:431 */\n dup3\n /* \"#utility.yul\":427:437 */\n gt\n /* \"#utility.yul\":424:460 */\n iszero\n tag_30\n jumpi\n /* \"#utility.yul\":440:458 */\n tag_31\n tag_22\n jump\t// in\n tag_31:\n /* \"#utility.yul\":424:460 */\n tag_30:\n /* \"#utility.yul\":276:467 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":473:653 */\n tag_23:\n /* \"#utility.yul\":521:598 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":518:519 */\n 0x00\n /* \"#utility.yul\":511:599 */\n mstore\n /* \"#utility.yul\":618:622 */\n 0x12\n /* \"#utility.yul\":615:616 */\n 0x04\n /* \"#utility.yul\":608:623 */\n mstore\n /* \"#utility.yul\":642:646 */\n 0x24\n /* \"#utility.yul\":639:640 */\n 0x00\n /* \"#utility.yul\":632:647 */\n revert\n /* \"#utility.yul\":659:844 */\n tag_10:\n /* \"#utility.yul\":699:700 */\n 0x00\n /* \"#utility.yul\":716:736 */\n tag_34\n /* \"#utility.yul\":734:735 */\n dup3\n /* \"#utility.yul\":716:736 */\n tag_21\n jump\t// in\n tag_34:\n /* \"#utility.yul\":711:736 */\n swap2\n pop\n /* \"#utility.yul\":750:770 */\n tag_35\n /* \"#utility.yul\":768:769 */\n dup4\n /* \"#utility.yul\":750:770 */\n tag_21\n jump\t// in\n tag_35:\n /* \"#utility.yul\":745:770 */\n swap3\n pop\n /* \"#utility.yul\":789:790 */\n dup3\n /* \"#utility.yul\":779:814 */\n tag_36\n jumpi\n /* \"#utility.yul\":794:812 */\n tag_37\n tag_23\n jump\t// in\n tag_37:\n /* \"#utility.yul\":779:814 */\n tag_36:\n /* \"#utility.yul\":836:837 */\n dup3\n /* \"#utility.yul\":833:834 */\n dup3\n /* \"#utility.yul\":829:838 */\n div\n /* \"#utility.yul\":824:838 */\n swap1\n pop\n /* \"#utility.yul\":659:844 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":850:1260 */\n tag_12:\n /* \"#utility.yul\":890:897 */\n 0x00\n /* \"#utility.yul\":913:933 */\n tag_39\n /* \"#utility.yul\":931:932 */\n dup3\n /* \"#utility.yul\":913:933 */\n tag_21\n jump\t// in\n tag_39:\n /* \"#utility.yul\":908:933 */\n swap2\n pop\n /* \"#utility.yul\":947:967 */\n tag_40\n /* \"#utility.yul\":965:966 */\n dup4\n /* \"#utility.yul\":947:967 */\n tag_21\n jump\t// in\n tag_40:\n /* \"#utility.yul\":942:967 */\n swap3\n pop\n /* \"#utility.yul\":1002:1003 */\n dup3\n /* \"#utility.yul\":999:1000 */\n dup3\n /* \"#utility.yul\":995:1004 */\n mul\n /* \"#utility.yul\":1024:1054 */\n tag_41\n /* \"#utility.yul\":1042:1053 */\n dup2\n /* \"#utility.yul\":1024:1054 */\n tag_21\n jump\t// in\n tag_41:\n /* \"#utility.yul\":1013:1054 */\n swap2\n pop\n /* \"#utility.yul\":1203:1204 */\n dup3\n /* \"#utility.yul\":1194:1201 */\n dup3\n /* \"#utility.yul\":1190:1205 */\n div\n /* \"#utility.yul\":1187:1188 */\n dup5\n /* \"#utility.yul\":1184:1206 */\n eq\n /* \"#utility.yul\":1164:1165 */\n dup4\n /* \"#utility.yul\":1157:1166 */\n iszero\n /* \"#utility.yul\":1137:1220 */\n or\n /* \"#utility.yul\":1114:1253 */\n tag_42\n jumpi\n /* \"#utility.yul\":1233:1251 */\n tag_43\n tag_22\n jump\t// in\n tag_43:\n /* \"#utility.yul\":1114:1253 */\n tag_42:\n /* \"#utility.yul\":898:1260 */\n pop\n /* \"#utility.yul\":850:1260 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1266:1460 */\n tag_14:\n /* \"#utility.yul\":1306:1310 */\n 0x00\n /* \"#utility.yul\":1326:1346 */\n tag_45\n /* \"#utility.yul\":1344:1345 */\n dup3\n /* \"#utility.yul\":1326:1346 */\n tag_21\n jump\t// in\n tag_45:\n /* \"#utility.yul\":1321:1346 */\n swap2\n pop\n /* \"#utility.yul\":1360:1380 */\n tag_46\n /* \"#utility.yul\":1378:1379 */\n dup4\n /* \"#utility.yul\":1360:1380 */\n tag_21\n jump\t// in\n tag_46:\n /* \"#utility.yul\":1355:1380 */\n swap3\n pop\n /* \"#utility.yul\":1404:1405 */\n dup3\n /* \"#utility.yul\":1401:1402 */\n dup3\n /* \"#utility.yul\":1397:1406 */\n sub\n /* \"#utility.yul\":1389:1406 */\n swap1\n pop\n /* \"#utility.yul\":1428:1429 */\n dup2\n /* \"#utility.yul\":1422:1426 */\n dup2\n /* \"#utility.yul\":1419:1430 */\n gt\n /* \"#utility.yul\":1416:1453 */\n iszero\n tag_47\n jumpi\n /* \"#utility.yul\":1433:1451 */\n tag_48\n tag_22\n jump\t// in\n tag_48:\n /* \"#utility.yul\":1416:1453 */\n tag_47:\n /* \"#utility.yul\":1266:1460 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1466:1637 */\n tag_16:\n /* \"#utility.yul\":1505:1508 */\n 0x00\n /* \"#utility.yul\":1528:1552 */\n tag_50\n /* \"#utility.yul\":1546:1551 */\n dup3\n /* \"#utility.yul\":1528:1552 */\n tag_21\n jump\t// in\n tag_50:\n /* \"#utility.yul\":1519:1552 */\n swap2\n pop\n /* \"#utility.yul\":1574:1578 */\n 0x00\n /* \"#utility.yul\":1567:1572 */\n dup3\n /* \"#utility.yul\":1564:1579 */\n sub\n /* \"#utility.yul\":1561:1602 */\n tag_51\n jumpi\n /* \"#utility.yul\":1582:1600 */\n tag_52\n tag_22\n jump\t// in\n tag_52:\n /* \"#utility.yul\":1561:1602 */\n tag_51:\n /* \"#utility.yul\":1629:1630 */\n 0x01\n /* \"#utility.yul\":1622:1627 */\n dup3\n /* \"#utility.yul\":1618:1631 */\n sub\n /* \"#utility.yul\":1611:1631 */\n swap1\n pop\n /* \"#utility.yul\":1466:1637 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1643:1876 */\n tag_18:\n /* \"#utility.yul\":1682:1685 */\n 0x00\n /* \"#utility.yul\":1705:1729 */\n tag_54\n /* \"#utility.yul\":1723:1728 */\n dup3\n /* \"#utility.yul\":1705:1729 */\n tag_21\n jump\t// in\n tag_54:\n /* \"#utility.yul\":1696:1729 */\n swap2\n pop\n /* \"#utility.yul\":1751:1817 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1744:1749 */\n dup3\n /* \"#utility.yul\":1741:1818 */\n sub\n /* \"#utility.yul\":1738:1841 */\n tag_55\n jumpi\n /* \"#utility.yul\":1821:1839 */\n tag_56\n tag_22\n jump\t// in\n tag_56:\n /* \"#utility.yul\":1738:1841 */\n tag_55:\n /* \"#utility.yul\":1868:1869 */\n 0x01\n /* \"#utility.yul\":1861:1866 */\n dup3\n /* \"#utility.yul\":1857:1870 */\n add\n /* \"#utility.yul\":1850:1870 */\n swap1\n pop\n /* \"#utility.yul\":1643:1876 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1882:2058 */\n tag_20:\n /* \"#utility.yul\":1914:1915 */\n 0x00\n /* \"#utility.yul\":1931:1951 */\n tag_58\n /* \"#utility.yul\":1949:1950 */\n dup3\n /* \"#utility.yul\":1931:1951 */\n tag_21\n jump\t// in\n tag_58:\n /* \"#utility.yul\":1926:1951 */\n swap2\n pop\n /* \"#utility.yul\":1965:1985 */\n tag_59\n /* \"#utility.yul\":1983:1984 */\n dup4\n /* \"#utility.yul\":1965:1985 */\n tag_21\n jump\t// in\n tag_59:\n /* \"#utility.yul\":1960:1985 */\n swap3\n pop\n /* \"#utility.yul\":2004:2005 */\n dup3\n /* \"#utility.yul\":1994:2029 */\n tag_60\n jumpi\n /* \"#utility.yul\":2009:2027 */\n tag_61\n tag_23\n jump\t// in\n tag_61:\n /* \"#utility.yul\":1994:2029 */\n tag_60:\n /* \"#utility.yul\":2050:2051 */\n dup3\n /* \"#utility.yul\":2047:2048 */\n dup3\n /* \"#utility.yul\":2043:2052 */\n mod\n /* \"#utility.yul\":2038:2052 */\n swap1\n pop\n /* \"#utility.yul\":1882:2058 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220973181ef92c19de7728f12845b0ce95a874a8a2283d16c01aac68f02de9eb5b264736f6c63430008110033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052600a600055600760015534801561001a57600080fd5b506102fa8061002a6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063775fc12714610030575b600080fd5b61003861003a565b005b60076001546100499190610118565b600181905550600760015461005e919061017b565b600181905550600760015461007391906101ac565b600181905550600760015461008891906101ee565b600181905550600160008154809291906100a190610222565b91905055600181905550600160008154809291906100be9061024b565b9190505560018190555060076001546100d79190610293565b600181905550565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610123826100df565b915061012e836100df565b9250828201905080821115610146576101456100e9565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610186826100df565b9150610191836100df565b9250826101a1576101a061014c565b5b828204905092915050565b60006101b7826100df565b91506101c2836100df565b92508282026101d0816100df565b915082820484148315176101e7576101e66100e9565b5b5092915050565b60006101f9826100df565b9150610204836100df565b925082820390508181111561021c5761021b6100e9565b5b92915050565b600061022d826100df565b9150600082036102405761023f6100e9565b5b600182039050919050565b6000610256826100df565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610288576102876100e9565b5b600182019050919050565b600061029e826100df565b91506102a9836100df565b9250826102b9576102b861014c565b5b82820690509291505056fea2646970667358221220973181ef92c19de7728f12845b0ce95a874a8a2283d16c01aac68f02de9eb5b264736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0xA PUSH1 0x0 SSTORE PUSH1 0x7 PUSH1 0x1 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x1A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2FA DUP1 PUSH2 0x2A 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 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x775FC127 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0x3A JUMP JUMPDEST STOP JUMPDEST PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0x49 SWAP2 SWAP1 PUSH2 0x118 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0x5E SWAP2 SWAP1 PUSH2 0x17B JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0x73 SWAP2 SWAP1 PUSH2 0x1AC JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0x88 SWAP2 SWAP1 PUSH2 0x1EE JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xA1 SWAP1 PUSH2 0x222 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xBE SWAP1 PUSH2 0x24B JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0xD7 SWAP2 SWAP1 PUSH2 0x293 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x123 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x12E DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x146 JUMPI PUSH2 0x145 PUSH2 0xE9 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x186 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x191 DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1A1 JUMPI PUSH2 0x1A0 PUSH2 0x14C JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B7 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x1C2 DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x1D0 DUP2 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x1E7 JUMPI PUSH2 0x1E6 PUSH2 0xE9 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F9 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x204 DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x21C JUMPI PUSH2 0x21B PUSH2 0xE9 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22D DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH1 0x0 DUP3 SUB PUSH2 0x240 JUMPI PUSH2 0x23F PUSH2 0xE9 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x256 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x288 JUMPI PUSH2 0x287 PUSH2 0xE9 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x29E DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x2A9 DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x2B9 JUMPI PUSH2 0x2B8 PUSH2 0x14C JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP8 BALANCE DUP2 0xEF SWAP3 0xC1 SWAP14 0xE7 PUSH19 0x8F12845B0CE95A874A8A2283D16C01AAC68F02 0xDE SWAP15 0xB5 0xB2 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ",
"sourceMap": "70:239:0:-:0;;;104:2;96:10;;122:1;113:10;;70:239;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@operation_51": {
"entryPoint": 58,
"id": 51,
"parameterSlots": 0,
"returnSlots": 0
},
"checked_add_t_uint256": {
"entryPoint": 280,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_div_t_uint256": {
"entryPoint": 379,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_mul_t_uint256": {
"entryPoint": 428,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 494,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 223,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"decrement_t_uint256": {
"entryPoint": 546,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 587,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mod_t_uint256": {
"entryPoint": 659,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 233,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x12": {
"entryPoint": 332,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2061:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "118:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "135:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "138:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "128:6:1"
},
"nodeType": "YulFunctionCall",
"src": "128:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "128:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "232:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "235:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "225:6:1"
},
"nodeType": "YulFunctionCall",
"src": "225:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "225:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "256:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "259:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "249:6:1"
},
"nodeType": "YulFunctionCall",
"src": "249:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "249:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "90:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "320:147:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "330:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "353:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "335:17:1"
},
"nodeType": "YulFunctionCall",
"src": "335:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "330:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "364:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "387:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "369:17:1"
},
"nodeType": "YulFunctionCall",
"src": "369:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "364:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "398:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "409:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "412:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "405:3:1"
},
"nodeType": "YulFunctionCall",
"src": "405:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "398:3:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "438:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "440:16:1"
},
"nodeType": "YulFunctionCall",
"src": "440:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "440:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "430:1:1"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "433:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "427:2:1"
},
"nodeType": "YulFunctionCall",
"src": "427:10:1"
},
"nodeType": "YulIf",
"src": "424:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "307:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "310:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "316:3:1",
"type": ""
}
],
"src": "276:191:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "501:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "518:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "521:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "511:6:1"
},
"nodeType": "YulFunctionCall",
"src": "511:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "511:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "615:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "618:4:1",
"type": "",
"value": "0x12"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "608:6:1"
},
"nodeType": "YulFunctionCall",
"src": "608:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "608:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "639:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "642:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "632:6:1"
},
"nodeType": "YulFunctionCall",
"src": "632:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "632:15:1"
}
]
},
"name": "panic_error_0x12",
"nodeType": "YulFunctionDefinition",
"src": "473:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "701:143:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "711:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "734:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "716:17:1"
},
"nodeType": "YulFunctionCall",
"src": "716:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "711:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "745:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "768:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "750:17:1"
},
"nodeType": "YulFunctionCall",
"src": "750:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "745:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "792:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x12",
"nodeType": "YulIdentifier",
"src": "794:16:1"
},
"nodeType": "YulFunctionCall",
"src": "794:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "794:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "789:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "782:6:1"
},
"nodeType": "YulFunctionCall",
"src": "782:9:1"
},
"nodeType": "YulIf",
"src": "779:35:1"
},
{
"nodeType": "YulAssignment",
"src": "824:14:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "833:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "836:1:1"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "829:3:1"
},
"nodeType": "YulFunctionCall",
"src": "829:9:1"
},
"variableNames": [
{
"name": "r",
"nodeType": "YulIdentifier",
"src": "824:1:1"
}
]
}
]
},
"name": "checked_div_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "690:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "693:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "r",
"nodeType": "YulTypedName",
"src": "699:1:1",
"type": ""
}
],
"src": "659:185:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "898:362:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "908:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "931:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "913:17:1"
},
"nodeType": "YulFunctionCall",
"src": "913:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "908:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "942:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "965:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "947:17:1"
},
"nodeType": "YulFunctionCall",
"src": "947:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "942:1:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "976:28:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "999:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1002:1:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "995:3:1"
},
"nodeType": "YulFunctionCall",
"src": "995:9:1"
},
"variables": [
{
"name": "product_raw",
"nodeType": "YulTypedName",
"src": "980:11:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1013:41:1",
"value": {
"arguments": [
{
"name": "product_raw",
"nodeType": "YulIdentifier",
"src": "1042:11:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1024:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1024:30:1"
},
"variableNames": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "1013:7:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1231:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1233:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1233:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1233:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1164:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1157:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1157:9:1"
},
{
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1187:1:1"
},
{
"arguments": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "1194:7:1"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1203:1:1"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1190:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1190:15:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1184:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1184:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "1137:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1137:83:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1117:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1117:113:1"
},
"nodeType": "YulIf",
"src": "1114:139:1"
}
]
},
"name": "checked_mul_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "881:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "884:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nodeType": "YulTypedName",
"src": "890:7:1",
"type": ""
}
],
"src": "850:410:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1311:149:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1321:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1344:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1326:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1326:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1321:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1355:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1378:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1360:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1360:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1355:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1389:17:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1401:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1404:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1397:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1397:9:1"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "1389:4:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1431:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1433:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1433:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1433:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "1422:4:1"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1428:1:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1419:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1419:11:1"
},
"nodeType": "YulIf",
"src": "1416:37:1"
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1297:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1300:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "1306:4:1",
"type": ""
}
],
"src": "1266:194:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1509:128:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1519:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1546:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1528:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1528:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1519:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1580:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1582:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1582:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1582:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1567:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1574:4:1",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1564:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1564:15:1"
},
"nodeType": "YulIf",
"src": "1561:41:1"
},
{
"nodeType": "YulAssignment",
"src": "1611:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1622:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1629:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1618:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1618:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1611:3:1"
}
]
}
]
},
"name": "decrement_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1495:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1505:3:1",
"type": ""
}
],
"src": "1466:171:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1686:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1696:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1723:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1705:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1705:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1696:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1819:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1821:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1821:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1821:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1744:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1751:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1741:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1741:77:1"
},
"nodeType": "YulIf",
"src": "1738:103:1"
},
{
"nodeType": "YulAssignment",
"src": "1850:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1861:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1868:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1857:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1857:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1850:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1672:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1682:3:1",
"type": ""
}
],
"src": "1643:233:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1916:142:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1926:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1949:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1931:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1931:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1926:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1960:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1983:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1965:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1965:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1960:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2007:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x12",
"nodeType": "YulIdentifier",
"src": "2009:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2009:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "2009:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2004:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1997:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1997:9:1"
},
"nodeType": "YulIf",
"src": "1994:35:1"
},
{
"nodeType": "YulAssignment",
"src": "2038:14:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2047:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2050:1:1"
}
],
"functionName": {
"name": "mod",
"nodeType": "YulIdentifier",
"src": "2043:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2043:9:1"
},
"variableNames": [
{
"name": "r",
"nodeType": "YulIdentifier",
"src": "2038:1:1"
}
]
}
]
},
"name": "mod_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1905:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1908:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "r",
"nodeType": "YulTypedName",
"src": "1914:1:1",
"type": ""
}
],
"src": "1882:176:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function decrement_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0x00) { panic_error_0x11() }\n ret := sub(value, 1)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function mod_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063775fc12714610030575b600080fd5b61003861003a565b005b60076001546100499190610118565b600181905550600760015461005e919061017b565b600181905550600760015461007391906101ac565b600181905550600760015461008891906101ee565b600181905550600160008154809291906100a190610222565b91905055600181905550600160008154809291906100be9061024b565b9190505560018190555060076001546100d79190610293565b600181905550565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610123826100df565b915061012e836100df565b9250828201905080821115610146576101456100e9565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610186826100df565b9150610191836100df565b9250826101a1576101a061014c565b5b828204905092915050565b60006101b7826100df565b91506101c2836100df565b92508282026101d0816100df565b915082820484148315176101e7576101e66100e9565b5b5092915050565b60006101f9826100df565b9150610204836100df565b925082820390508181111561021c5761021b6100e9565b5b92915050565b600061022d826100df565b9150600082036102405761023f6100e9565b5b600182039050919050565b6000610256826100df565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610288576102876100e9565b5b600182019050919050565b600061029e826100df565b91506102a9836100df565b9250826102b9576102b861014c565b5b82820690509291505056fea2646970667358221220973181ef92c19de7728f12845b0ce95a874a8a2283d16c01aac68f02de9eb5b264736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x775FC127 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0x3A JUMP JUMPDEST STOP JUMPDEST PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0x49 SWAP2 SWAP1 PUSH2 0x118 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0x5E SWAP2 SWAP1 PUSH2 0x17B JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0x73 SWAP2 SWAP1 PUSH2 0x1AC JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0x88 SWAP2 SWAP1 PUSH2 0x1EE JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xA1 SWAP1 PUSH2 0x222 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xBE SWAP1 PUSH2 0x24B JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0xD7 SWAP2 SWAP1 PUSH2 0x293 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x123 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x12E DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x146 JUMPI PUSH2 0x145 PUSH2 0xE9 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x186 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x191 DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1A1 JUMPI PUSH2 0x1A0 PUSH2 0x14C JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B7 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x1C2 DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x1D0 DUP2 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x1E7 JUMPI PUSH2 0x1E6 PUSH2 0xE9 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F9 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x204 DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x21C JUMPI PUSH2 0x21B PUSH2 0xE9 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22D DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH1 0x0 DUP3 SUB PUSH2 0x240 JUMPI PUSH2 0x23F PUSH2 0xE9 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x256 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x288 JUMPI PUSH2 0x287 PUSH2 0xE9 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x29E DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x2A9 DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x2B9 JUMPI PUSH2 0x2B8 PUSH2 0x14C JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP8 BALANCE DUP2 0xEF SWAP3 0xC1 SWAP14 0xE7 PUSH19 0x8F12845B0CE95A874A8A2283D16C01AAC68F02 0xDE SWAP15 0xB5 0xB2 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ",
"sourceMap": "70:239:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;130:176;;;:::i;:::-;;;177:1;173;;:5;;;;:::i;:::-;169:1;:9;;;;197:1;193;;:5;;;;:::i;:::-;189:1;:9;;;;217:1;213;;:5;;;;:::i;:::-;209:1;:9;;;;237:1;233;;:5;;;;:::i;:::-;229:1;:9;;;;253:1;;:4;;;;;;;;;:::i;:::-;;;;;249:1;:8;;;;273:1;;:4;;;;;;;;;:::i;:::-;;;;;269:1;:8;;;;297:1;293;;:5;;;;:::i;:::-;289:1;:9;;;;130:176::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:180::-;138:77;135:1;128:88;235:4;232:1;225:15;259:4;256:1;249:15;276:191;316:3;335:20;353:1;335:20;:::i;:::-;330:25;;369:20;387:1;369:20;:::i;:::-;364:25;;412:1;409;405:9;398:16;;433:3;430:1;427:10;424:36;;;440:18;;:::i;:::-;424:36;276:191;;;;:::o;473:180::-;521:77;518:1;511:88;618:4;615:1;608:15;642:4;639:1;632:15;659:185;699:1;716:20;734:1;716:20;:::i;:::-;711:25;;750:20;768:1;750:20;:::i;:::-;745:25;;789:1;779:35;;794:18;;:::i;:::-;779:35;836:1;833;829:9;824:14;;659:185;;;;:::o;850:410::-;890:7;913:20;931:1;913:20;:::i;:::-;908:25;;947:20;965:1;947:20;:::i;:::-;942:25;;1002:1;999;995:9;1024:30;1042:11;1024:30;:::i;:::-;1013:41;;1203:1;1194:7;1190:15;1187:1;1184:22;1164:1;1157:9;1137:83;1114:139;;1233:18;;:::i;:::-;1114:139;898:362;850:410;;;;:::o;1266:194::-;1306:4;1326:20;1344:1;1326:20;:::i;:::-;1321:25;;1360:20;1378:1;1360:20;:::i;:::-;1355:25;;1404:1;1401;1397:9;1389:17;;1428:1;1422:4;1419:11;1416:37;;;1433:18;;:::i;:::-;1416:37;1266:194;;;;:::o;1466:171::-;1505:3;1528:24;1546:5;1528:24;:::i;:::-;1519:33;;1574:4;1567:5;1564:15;1561:41;;1582:18;;:::i;:::-;1561:41;1629:1;1622:5;1618:13;1611:20;;1466:171;;;:::o;1643:233::-;1682:3;1705:24;1723:5;1705:24;:::i;:::-;1696:33;;1751:66;1744:5;1741:77;1738:103;;1821:18;;:::i;:::-;1738:103;1868:1;1861:5;1857:13;1850:20;;1643:233;;;:::o;1882:176::-;1914:1;1931:20;1949:1;1931:20;:::i;:::-;1926:25;;1965:20;1983:1;1965:20;:::i;:::-;1960:25;;2004:1;1994:35;;2009:18;;:::i;:::-;1994:35;2050:1;2047;2043:9;2038:14;;1882:176;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "152400",
"executionCost": "44408",
"totalCost": "196808"
},
"external": {
"operation()": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 70,
"end": 309,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 70,
"end": 309,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 70,
"end": 309,
"name": "MSTORE",
"source": 0
},
{
"begin": 104,
"end": 106,
"name": "PUSH",
"source": 0,
"value": "A"
},
{
"begin": 96,
"end": 106,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 96,
"end": 106,
"name": "SSTORE",
"source": 0
},
{
"begin": 122,
"end": 123,
"name": "PUSH",
"source": 0,
"value": "7"
},
{
"begin": 113,
"end": 123,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 113,
"end": 123,
"name": "SSTORE",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "ISZERO",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 309,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 309,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "REVERT",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 309,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "POP",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 70,
"end": 309,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 70,
"end": 309,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 309,
"name": "CODECOPY",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 309,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220973181ef92c19de7728f12845b0ce95a874a8a2283d16c01aac68f02de9eb5b264736f6c63430008110033",
".code": [
{
"begin": 70,
"end": 309,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 70,
"end": 309,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 70,
"end": 309,
"name": "MSTORE",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "ISZERO",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 309,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 309,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "REVERT",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 309,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "POP",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 70,
"end": 309,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "LT",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 70,
"end": 309,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 309,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 70,
"end": 309,
"name": "SHR",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "PUSH",
"source": 0,
"value": "775FC127"
},
{
"begin": 70,
"end": 309,
"name": "EQ",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 70,
"end": 309,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 70,
"end": 309,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 309,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 309,
"name": "REVERT",
"source": 0
},
{
"begin": 130,
"end": 306,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 130,
"end": 306,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 130,
"end": 306,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 130,
"end": 306,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 130,
"end": 306,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 130,
"end": 306,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 130,
"end": 306,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 130,
"end": 306,
"name": "STOP",
"source": 0
},
{
"begin": 130,
"end": 306,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 130,
"end": 306,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 177,
"end": 178,
"name": "PUSH",
"source": 0,
"value": "7"
},
{
"begin": 173,
"end": 174,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 173,
"end": 174,
"name": "SLOAD",
"source": 0
},
{
"begin": 173,
"end": 178,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 173,
"end": 178,
"name": "SWAP2",
"source": 0
},
{
"begin": 173,
"end": 178,
"name": "SWAP1",
"source": 0
},
{
"begin": 173,
"end": 178,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 173,
"end": 178,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 173,
"end": 178,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 173,
"end": 178,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 169,
"end": 170,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 169,
"end": 178,
"name": "DUP2",
"source": 0
},
{
"begin": 169,
"end": 178,
"name": "SWAP1",
"source": 0
},
{
"begin": 169,
"end": 178,
"name": "SSTORE",
"source": 0
},
{
"begin": 169,
"end": 178,
"name": "POP",
"source": 0
},
{
"begin": 197,
"end": 198,
"name": "PUSH",
"source": 0,
"value": "7"
},
{
"begin": 193,
"end": 194,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 193,
"end": 194,
"name": "SLOAD",
"source": 0
},
{
"begin": 193,
"end": 198,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 193,
"end": 198,
"name": "SWAP2",
"source": 0
},
{
"begin": 193,
"end": 198,
"name": "SWAP1",
"source": 0
},
{
"begin": 193,
"end": 198,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 193,
"end": 198,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 193,
"end": 198,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 193,
"end": 198,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 189,
"end": 190,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 189,
"end": 198,
"name": "DUP2",
"source": 0
},
{
"begin": 189,
"end": 198,
"name": "SWAP1",
"source": 0
},
{
"begin": 189,
"end": 198,
"name": "SSTORE",
"source": 0
},
{
"begin": 189,
"end": 198,
"name": "POP",
"source": 0
},
{
"begin": 217,
"end": 218,
"name": "PUSH",
"source": 0,
"value": "7"
},
{
"begin": 213,
"end": 214,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 213,
"end": 214,
"name": "SLOAD",
"source": 0
},
{
"begin": 213,
"end": 218,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 213,
"end": 218,
"name": "SWAP2",
"source": 0
},
{
"begin": 213,
"end": 218,
"name": "SWAP1",
"source": 0
},
{
"begin": 213,
"end": 218,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 213,
"end": 218,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 213,
"end": 218,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 213,
"end": 218,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 209,
"end": 210,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 209,
"end": 218,
"name": "DUP2",
"source": 0
},
{
"begin": 209,
"end": 218,
"name": "SWAP1",
"source": 0
},
{
"begin": 209,
"end": 218,
"name": "SSTORE",
"source": 0
},
{
"begin": 209,
"end": 218,
"name": "POP",
"source": 0
},
{
"begin": 237,
"end": 238,
"name": "PUSH",
"source": 0,
"value": "7"
},
{
"begin": 233,
"end": 234,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 233,
"end": 234,
"name": "SLOAD",
"source": 0
},
{
"begin": 233,
"end": 238,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 233,
"end": 238,
"name": "SWAP2",
"source": 0
},
{
"begin": 233,
"end": 238,
"name": "SWAP1",
"source": 0
},
{
"begin": 233,
"end": 238,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 233,
"end": 238,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 233,
"end": 238,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 233,
"end": 238,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 229,
"end": 230,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 229,
"end": 238,
"name": "DUP2",
"source": 0
},
{
"begin": 229,
"end": 238,
"name": "SWAP1",
"source": 0
},
{
"begin": 229,
"end": 238,
"name": "SSTORE",
"source": 0
},
{
"begin": 229,
"end": 238,
"name": "POP",
"source": 0
},
{
"begin": 253,
"end": 254,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 253,
"end": 254,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 253,
"end": 257,
"name": "DUP2",
"source": 0
},
{
"begin": 253,
"end": 257,
"name": "SLOAD",
"source": 0
},
{
"begin": 253,
"end": 257,
"name": "DUP1",
"source": 0
},
{
"begin": 253,
"end": 257,
"name": "SWAP3",
"source": 0
},
{
"begin": 253,
"end": 257,
"name": "SWAP2",
"source": 0
},
{
"begin": 253,
"end": 257,
"name": "SWAP1",
"source": 0
},
{
"begin": 253,
"end": 257,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 253,
"end": 257,
"name": "SWAP1",
"source": 0
},
{
"begin": 253,
"end": 257,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 253,
"end": 257,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 253,
"end": 257,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 253,
"end": 257,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 253,
"end": 257,
"name": "SWAP2",
"source": 0
},
{
"begin": 253,
"end": 257,
"name": "SWAP1",
"source": 0
},
{
"begin": 253,
"end": 257,
"name": "POP",
"source": 0
},
{
"begin": 253,
"end": 257,
"name": "SSTORE",
"source": 0
},
{
"begin": 249,
"end": 250,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 249,
"end": 257,
"name": "DUP2",
"source": 0
},
{
"begin": 249,
"end": 257,
"name": "SWAP1",
"source": 0
},
{
"begin": 249,
"end": 257,
"name": "SSTORE",
"source": 0
},
{
"begin": 249,
"end": 257,
"name": "POP",
"source": 0
},
{
"begin": 273,
"end": 274,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 273,
"end": 274,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 273,
"end": 277,
"name": "DUP2",
"source": 0
},
{
"begin": 273,
"end": 277,
"name": "SLOAD",
"source": 0
},
{
"begin": 273,
"end": 277,
"name": "DUP1",
"source": 0
},
{
"begin": 273,
"end": 277,
"name": "SWAP3",
"source": 0
},
{
"begin": 273,
"end": 277,
"name": "SWAP2",
"source": 0
},
{
"begin": 273,
"end": 277,
"name": "SWAP1",
"source": 0
},
{
"begin": 273,
"end": 277,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 273,
"end": 277,
"name": "SWAP1",
"source": 0
},
{
"begin": 273,
"end": 277,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 273,
"end": 277,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 273,
"end": 277,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 273,
"end": 277,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 273,
"end": 277,
"name": "SWAP2",
"source": 0
},
{
"begin": 273,
"end": 277,
"name": "SWAP1",
"source": 0
},
{
"begin": 273,
"end": 277,
"name": "POP",
"source": 0
},
{
"begin": 273,
"end": 277,
"name": "SSTORE",
"source": 0
},
{
"begin": 269,
"end": 270,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 269,
"end": 277,
"name": "DUP2",
"source": 0
},
{
"begin": 269,
"end": 277,
"name": "SWAP1",
"source": 0
},
{
"begin": 269,
"end": 277,
"name": "SSTORE",
"source": 0
},
{
"begin": 269,
"end": 277,
"name": "POP",
"source": 0
},
{
"begin": 297,
"end": 298,
"name": "PUSH",
"source": 0,
"value": "7"
},
{
"begin": 293,
"end": 294,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 293,
"end": 294,
"name": "SLOAD",
"source": 0
},
{
"begin": 293,
"end": 298,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 293,
"end": 298,
"name": "SWAP2",
"source": 0
},
{
"begin": 293,
"end": 298,
"name": "SWAP1",
"source": 0
},
{
"begin": 293,
"end": 298,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 293,
"end": 298,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 293,
"end": 298,
"name": "tag",
"source": 0,
"value": "19"
},
{
"begin": 293,
"end": 298,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 289,
"end": 290,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 289,
"end": 298,
"name": "DUP2",
"source": 0
},
{
"begin": 289,
"end": 298,
"name": "SWAP1",
"source": 0
},
{
"begin": 289,
"end": 298,
"name": "SSTORE",
"source": 0
},
{
"begin": 289,
"end": 298,
"name": "POP",
"source": 0
},
{
"begin": 130,
"end": 306,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 7,
"end": 84,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 7,
"end": 84,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 44,
"end": 51,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 73,
"end": 78,
"name": "DUP2",
"source": 1
},
{
"begin": 62,
"end": 78,
"name": "SWAP1",
"source": 1
},
{
"begin": 62,
"end": 78,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "SWAP1",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 84,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 90,
"end": 270,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 90,
"end": 270,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 138,
"end": 215,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 135,
"end": 136,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 128,
"end": 216,
"name": "MSTORE",
"source": 1
},
{
"begin": 235,
"end": 239,
"name": "PUSH",
"source": 1,
"value": "11"
},
{
"begin": 232,
"end": 233,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 225,
"end": 240,
"name": "MSTORE",
"source": 1
},
{
"begin": 259,
"end": 263,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 256,
"end": 257,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 249,
"end": 264,
"name": "REVERT",
"source": 1
},
{
"begin": 276,
"end": 467,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 276,
"end": 467,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 316,
"end": 319,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 335,
"end": 355,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 353,
"end": 354,
"name": "DUP3",
"source": 1
},
{
"begin": 335,
"end": 355,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 335,
"end": 355,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 335,
"end": 355,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 335,
"end": 355,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 330,
"end": 355,
"name": "SWAP2",
"source": 1
},
{
"begin": 330,
"end": 355,
"name": "POP",
"source": 1
},
{
"begin": 369,
"end": 389,
"name": "PUSH [tag]",
"source": 1,
"value": "29"
},
{
"begin": 387,
"end": 388,
"name": "DUP4",
"source": 1
},
{
"begin": 369,
"end": 389,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 369,
"end": 389,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 369,
"end": 389,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 369,
"end": 389,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 364,
"end": 389,
"name": "SWAP3",
"source": 1
},
{
"begin": 364,
"end": 389,
"name": "POP",
"source": 1
},
{
"begin": 412,
"end": 413,
"name": "DUP3",
"source": 1
},
{
"begin": 409,
"end": 410,
"name": "DUP3",
"source": 1
},
{
"begin": 405,
"end": 414,
"name": "ADD",
"source": 1
},
{
"begin": 398,
"end": 414,
"name": "SWAP1",
"source": 1
},
{
"begin": 398,
"end": 414,
"name": "POP",
"source": 1
},
{
"begin": 433,
"end": 436,
"name": "DUP1",
"source": 1
},
{
"begin": 430,
"end": 431,
"name": "DUP3",
"source": 1
},
{
"begin": 427,
"end": 437,
"name": "GT",
"source": 1
},
{
"begin": 424,
"end": 460,
"name": "ISZERO",
"source": 1
},
{
"begin": 424,
"end": 460,
"name": "PUSH [tag]",
"source": 1,
"value": "30"
},
{
"begin": 424,
"end": 460,
"name": "JUMPI",
"source": 1
},
{
"begin": 440,
"end": 458,
"name": "PUSH [tag]",
"source": 1,
"value": "31"
},
{
"begin": 440,
"end": 458,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 440,
"end": 458,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 440,
"end": 458,
"name": "tag",
"source": 1,
"value": "31"
},
{
"begin": 440,
"end": 458,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 424,
"end": 460,
"name": "tag",
"source": 1,
"value": "30"
},
{
"begin": 424,
"end": 460,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 276,
"end": 467,
"name": "SWAP3",
"source": 1
},
{
"begin": 276,
"end": 467,
"name": "SWAP2",
"source": 1
},
{
"begin": 276,
"end": 467,
"name": "POP",
"source": 1
},
{
"begin": 276,
"end": 467,
"name": "POP",
"source": 1
},
{
"begin": 276,
"end": 467,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 473,
"end": 653,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 473,
"end": 653,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 521,
"end": 598,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 518,
"end": 519,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 511,
"end": 599,
"name": "MSTORE",
"source": 1
},
{
"begin": 618,
"end": 622,
"name": "PUSH",
"source": 1,
"value": "12"
},
{
"begin": 615,
"end": 616,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 608,
"end": 623,
"name": "MSTORE",
"source": 1
},
{
"begin": 642,
"end": 646,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 639,
"end": 640,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 632,
"end": 647,
"name": "REVERT",
"source": 1
},
{
"begin": 659,
"end": 844,
"name": "tag",
"source": 1,
"value": "10"
},
{
"begin": 659,
"end": 844,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 699,
"end": 700,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 716,
"end": 736,
"name": "PUSH [tag]",
"source": 1,
"value": "34"
},
{
"begin": 734,
"end": 735,
"name": "DUP3",
"source": 1
},
{
"begin": 716,
"end": 736,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 716,
"end": 736,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 716,
"end": 736,
"name": "tag",
"source": 1,
"value": "34"
},
{
"begin": 716,
"end": 736,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 711,
"end": 736,
"name": "SWAP2",
"source": 1
},
{
"begin": 711,
"end": 736,
"name": "POP",
"source": 1
},
{
"begin": 750,
"end": 770,
"name": "PUSH [tag]",
"source": 1,
"value": "35"
},
{
"begin": 768,
"end": 769,
"name": "DUP4",
"source": 1
},
{
"begin": 750,
"end": 770,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 750,
"end": 770,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 750,
"end": 770,
"name": "tag",
"source": 1,
"value": "35"
},
{
"begin": 750,
"end": 770,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 745,
"end": 770,
"name": "SWAP3",
"source": 1
},
{
"begin": 745,
"end": 770,
"name": "POP",
"source": 1
},
{
"begin": 789,
"end": 790,
"name": "DUP3",
"source": 1
},
{
"begin": 779,
"end": 814,
"name": "PUSH [tag]",
"source": 1,
"value": "36"
},
{
"begin": 779,
"end": 814,
"name": "JUMPI",
"source": 1
},
{
"begin": 794,
"end": 812,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 794,
"end": 812,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 794,
"end": 812,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 794,
"end": 812,
"name": "tag",
"source": 1,
"value": "37"
},
{
"begin": 794,
"end": 812,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 779,
"end": 814,
"name": "tag",
"source": 1,
"value": "36"
},
{
"begin": 779,
"end": 814,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 836,
"end": 837,
"name": "DUP3",
"source": 1
},
{
"begin": 833,
"end": 834,
"name": "DUP3",
"source": 1
},
{
"begin": 829,
"end": 838,
"name": "DIV",
"source": 1
},
{
"begin": 824,
"end": 838,
"name": "SWAP1",
"source": 1
},
{
"begin": 824,
"end": 838,
"name": "POP",
"source": 1
},
{
"begin": 659,
"end": 844,
"name": "SWAP3",
"source": 1
},
{
"begin": 659,
"end": 844,
"name": "SWAP2",
"source": 1
},
{
"begin": 659,
"end": 844,
"name": "POP",
"source": 1
},
{
"begin": 659,
"end": 844,
"name": "POP",
"source": 1
},
{
"begin": 659,
"end": 844,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 850,
"end": 1260,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 850,
"end": 1260,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 890,
"end": 897,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 913,
"end": 933,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 931,
"end": 932,
"name": "DUP3",
"source": 1
},
{
"begin": 913,
"end": 933,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 913,
"end": 933,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 913,
"end": 933,
"name": "tag",
"source": 1,
"value": "39"
},
{
"begin": 913,
"end": 933,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 908,
"end": 933,
"name": "SWAP2",
"source": 1
},
{
"begin": 908,
"end": 933,
"name": "POP",
"source": 1
},
{
"begin": 947,
"end": 967,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 965,
"end": 966,
"name": "DUP4",
"source": 1
},
{
"begin": 947,
"end": 967,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 947,
"end": 967,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 947,
"end": 967,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 947,
"end": 967,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 942,
"end": 967,
"name": "SWAP3",
"source": 1
},
{
"begin": 942,
"end": 967,
"name": "POP",
"source": 1
},
{
"begin": 1002,
"end": 1003,
"name": "DUP3",
"source": 1
},
{
"begin": 999,
"end": 1000,
"name": "DUP3",
"source": 1
},
{
"begin": 995,
"end": 1004,
"name": "MUL",
"source": 1
},
{
"begin": 1024,
"end": 1054,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 1042,
"end": 1053,
"name": "DUP2",
"source": 1
},
{
"begin": 1024,
"end": 1054,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 1024,
"end": 1054,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1024,
"end": 1054,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 1024,
"end": 1054,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1013,
"end": 1054,
"name": "SWAP2",
"source": 1
},
{
"begin": 1013,
"end": 1054,
"name": "POP",
"source": 1
},
{
"begin": 1203,
"end": 1204,
"name": "DUP3",
"source": 1
},
{
"begin": 1194,
"end": 1201,
"name": "DUP3",
"source": 1
},
{
"begin": 1190,
"end": 1205,
"name": "DIV",
"source": 1
},
{
"begin": 1187,
"end": 1188,
"name": "DUP5",
"source": 1
},
{
"begin": 1184,
"end": 1206,
"name": "EQ",
"source": 1
},
{
"begin": 1164,
"end": 1165,
"name": "DUP4",
"source": 1
},
{
"begin": 1157,
"end": 1166,
"name": "ISZERO",
"source": 1
},
{
"begin": 1137,
"end": 1220,
"name": "OR",
"source": 1
},
{
"begin": 1114,
"end": 1253,
"name": "PUSH [tag]",
"source": 1,
"value": "42"
},
{
"begin": 1114,
"end": 1253,
"name": "JUMPI",
"source": 1
},
{
"begin": 1233,
"end": 1251,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 1233,
"end": 1251,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 1233,
"end": 1251,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1233,
"end": 1251,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 1233,
"end": 1251,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1114,
"end": 1253,
"name": "tag",
"source": 1,
"value": "42"
},
{
"begin": 1114,
"end": 1253,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 898,
"end": 1260,
"name": "POP",
"source": 1
},
{
"begin": 850,
"end": 1260,
"name": "SWAP3",
"source": 1
},
{
"begin": 850,
"end": 1260,
"name": "SWAP2",
"source": 1
},
{
"begin": 850,
"end": 1260,
"name": "POP",
"source": 1
},
{
"begin": 850,
"end": 1260,
"name": "POP",
"source": 1
},
{
"begin": 850,
"end": 1260,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1266,
"end": 1460,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 1266,
"end": 1460,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1306,
"end": 1310,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1326,
"end": 1346,
"name": "PUSH [tag]",
"source": 1,
"value": "45"
},
{
"begin": 1344,
"end": 1345,
"name": "DUP3",
"source": 1
},
{
"begin": 1326,
"end": 1346,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 1326,
"end": 1346,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1326,
"end": 1346,
"name": "tag",
"source": 1,
"value": "45"
},
{
"begin": 1326,
"end": 1346,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1321,
"end": 1346,
"name": "SWAP2",
"source": 1
},
{
"begin": 1321,
"end": 1346,
"name": "POP",
"source": 1
},
{
"begin": 1360,
"end": 1380,
"name": "PUSH [tag]",
"source": 1,
"value": "46"
},
{
"begin": 1378,
"end": 1379,
"name": "DUP4",
"source": 1
},
{
"begin": 1360,
"end": 1380,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 1360,
"end": 1380,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1360,
"end": 1380,
"name": "tag",
"source": 1,
"value": "46"
},
{
"begin": 1360,
"end": 1380,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1355,
"end": 1380,
"name": "SWAP3",
"source": 1
},
{
"begin": 1355,
"end": 1380,
"name": "POP",
"source": 1
},
{
"begin": 1404,
"end": 1405,
"name": "DUP3",
"source": 1
},
{
"begin": 1401,
"end": 1402,
"name": "DUP3",
"source": 1
},
{
"begin": 1397,
"end": 1406,
"name": "SUB",
"source": 1
},
{
"begin": 1389,
"end": 1406,
"name": "SWAP1",
"source": 1
},
{
"begin": 1389,
"end": 1406,
"name": "POP",
"source": 1
},
{
"begin": 1428,
"end": 1429,
"name": "DUP2",
"source": 1
},
{
"begin": 1422,
"end": 1426,
"name": "DUP2",
"source": 1
},
{
"begin": 1419,
"end": 1430,
"name": "GT",
"source": 1
},
{
"begin": 1416,
"end": 1453,
"name": "ISZERO",
"source": 1
},
{
"begin": 1416,
"end": 1453,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 1416,
"end": 1453,
"name": "JUMPI",
"source": 1
},
{
"begin": 1433,
"end": 1451,
"name": "PUSH [tag]",
"source": 1,
"value": "48"
},
{
"begin": 1433,
"end": 1451,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 1433,
"end": 1451,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1433,
"end": 1451,
"name": "tag",
"source": 1,
"value": "48"
},
{
"begin": 1433,
"end": 1451,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1416,
"end": 1453,
"name": "tag",
"source": 1,
"value": "47"
},
{
"begin": 1416,
"end": 1453,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1266,
"end": 1460,
"name": "SWAP3",
"source": 1
},
{
"begin": 1266,
"end": 1460,
"name": "SWAP2",
"source": 1
},
{
"begin": 1266,
"end": 1460,
"name": "POP",
"source": 1
},
{
"begin": 1266,
"end": 1460,
"name": "POP",
"source": 1
},
{
"begin": 1266,
"end": 1460,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1466,
"end": 1637,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 1466,
"end": 1637,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1505,
"end": 1508,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1528,
"end": 1552,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 1546,
"end": 1551,
"name": "DUP3",
"source": 1
},
{
"begin": 1528,
"end": 1552,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 1528,
"end": 1552,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1528,
"end": 1552,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 1528,
"end": 1552,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1519,
"end": 1552,
"name": "SWAP2",
"source": 1
},
{
"begin": 1519,
"end": 1552,
"name": "POP",
"source": 1
},
{
"begin": 1574,
"end": 1578,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1567,
"end": 1572,
"name": "DUP3",
"source": 1
},
{
"begin": 1564,
"end": 1579,
"name": "SUB",
"source": 1
},
{
"begin": 1561,
"end": 1602,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 1561,
"end": 1602,
"name": "JUMPI",
"source": 1
},
{
"begin": 1582,
"end": 1600,
"name": "PUSH [tag]",
"source": 1,
"value": "52"
},
{
"begin": 1582,
"end": 1600,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 1582,
"end": 1600,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1582,
"end": 1600,
"name": "tag",
"source": 1,
"value": "52"
},
{
"begin": 1582,
"end": 1600,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1561,
"end": 1602,
"name": "tag",
"source": 1,
"value": "51"
},
{
"begin": 1561,
"end": 1602,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1629,
"end": 1630,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 1622,
"end": 1627,
"name": "DUP3",
"source": 1
},
{
"begin": 1618,
"end": 1631,
"name": "SUB",
"source": 1
},
{
"begin": 1611,
"end": 1631,
"name": "SWAP1",
"source": 1
},
{
"begin": 1611,
"end": 1631,
"name": "POP",
"source": 1
},
{
"begin": 1466,
"end": 1637,
"name": "SWAP2",
"source": 1
},
{
"begin": 1466,
"end": 1637,
"name": "SWAP1",
"source": 1
},
{
"begin": 1466,
"end": 1637,
"name": "POP",
"source": 1
},
{
"begin": 1466,
"end": 1637,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1643,
"end": 1876,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 1643,
"end": 1876,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1682,
"end": 1685,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1705,
"end": 1729,
"name": "PUSH [tag]",
"source": 1,
"value": "54"
},
{
"begin": 1723,
"end": 1728,
"name": "DUP3",
"source": 1
},
{
"begin": 1705,
"end": 1729,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 1705,
"end": 1729,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1705,
"end": 1729,
"name": "tag",
"source": 1,
"value": "54"
},
{
"begin": 1705,
"end": 1729,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1696,
"end": 1729,
"name": "SWAP2",
"source": 1
},
{
"begin": 1696,
"end": 1729,
"name": "POP",
"source": 1
},
{
"begin": 1751,
"end": 1817,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1744,
"end": 1749,
"name": "DUP3",
"source": 1
},
{
"begin": 1741,
"end": 1818,
"name": "SUB",
"source": 1
},
{
"begin": 1738,
"end": 1841,
"name": "PUSH [tag]",
"source": 1,
"value": "55"
},
{
"begin": 1738,
"end": 1841,
"name": "JUMPI",
"source": 1
},
{
"begin": 1821,
"end": 1839,
"name": "PUSH [tag]",
"source": 1,
"value": "56"
},
{
"begin": 1821,
"end": 1839,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 1821,
"end": 1839,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1821,
"end": 1839,
"name": "tag",
"source": 1,
"value": "56"
},
{
"begin": 1821,
"end": 1839,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1738,
"end": 1841,
"name": "tag",
"source": 1,
"value": "55"
},
{
"begin": 1738,
"end": 1841,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1868,
"end": 1869,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 1861,
"end": 1866,
"name": "DUP3",
"source": 1
},
{
"begin": 1857,
"end": 1870,
"name": "ADD",
"source": 1
},
{
"begin": 1850,
"end": 1870,
"name": "SWAP1",
"source": 1
},
{
"begin": 1850,
"end": 1870,
"name": "POP",
"source": 1
},
{
"begin": 1643,
"end": 1876,
"name": "SWAP2",
"source": 1
},
{
"begin": 1643,
"end": 1876,
"name": "SWAP1",
"source": 1
},
{
"begin": 1643,
"end": 1876,
"name": "POP",
"source": 1
},
{
"begin": 1643,
"end": 1876,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1882,
"end": 2058,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 1882,
"end": 2058,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1914,
"end": 1915,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1931,
"end": 1951,
"name": "PUSH [tag]",
"source": 1,
"value": "58"
},
{
"begin": 1949,
"end": 1950,
"name": "DUP3",
"source": 1
},
{
"begin": 1931,
"end": 1951,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 1931,
"end": 1951,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1931,
"end": 1951,
"name": "tag",
"source": 1,
"value": "58"
},
{
"begin": 1931,
"end": 1951,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1926,
"end": 1951,
"name": "SWAP2",
"source": 1
},
{
"begin": 1926,
"end": 1951,
"name": "POP",
"source": 1
},
{
"begin": 1965,
"end": 1985,
"name": "PUSH [tag]",
"source": 1,
"value": "59"
},
{
"begin": 1983,
"end": 1984,
"name": "DUP4",
"source": 1
},
{
"begin": 1965,
"end": 1985,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 1965,
"end": 1985,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1965,
"end": 1985,
"name": "tag",
"source": 1,
"value": "59"
},
{
"begin": 1965,
"end": 1985,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1960,
"end": 1985,
"name": "SWAP3",
"source": 1
},
{
"begin": 1960,
"end": 1985,
"name": "POP",
"source": 1
},
{
"begin": 2004,
"end": 2005,
"name": "DUP3",
"source": 1
},
{
"begin": 1994,
"end": 2029,
"name": "PUSH [tag]",
"source": 1,
"value": "60"
},
{
"begin": 1994,
"end": 2029,
"name": "JUMPI",
"source": 1
},
{
"begin": 2009,
"end": 2027,
"name": "PUSH [tag]",
"source": 1,
"value": "61"
},
{
"begin": 2009,
"end": 2027,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 2009,
"end": 2027,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2009,
"end": 2027,
"name": "tag",
"source": 1,
"value": "61"
},
{
"begin": 2009,
"end": 2027,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1994,
"end": 2029,
"name": "tag",
"source": 1,
"value": "60"
},
{
"begin": 1994,
"end": 2029,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2050,
"end": 2051,
"name": "DUP3",
"source": 1
},
{
"begin": 2047,
"end": 2048,
"name": "DUP3",
"source": 1
},
{
"begin": 2043,
"end": 2052,
"name": "MOD",
"source": 1
},
{
"begin": 2038,
"end": 2052,
"name": "SWAP1",
"source": 1
},
{
"begin": 2038,
"end": 2052,
"name": "POP",
"source": 1
},
{
"begin": 1882,
"end": 2058,
"name": "SWAP3",
"source": 1
},
{
"begin": 1882,
"end": 2058,
"name": "SWAP2",
"source": 1
},
{
"begin": 1882,
"end": 2058,
"name": "POP",
"source": 1
},
{
"begin": 1882,
"end": 2058,
"name": "POP",
"source": 1
},
{
"begin": 1882,
"end": 2058,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
}
]
}
},
"sourceList": [
"contracts/operators.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"operation()": "775fc127"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"operation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/operators.sol\":\"operators\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/operators.sol\":{\"keccak256\":\"0xd247f446d7a423115b73c7d9a12e010b879e321173e35a93f2ea430b63439d1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a09b8a3e5944dd49c8332d772065f73ebb3dc516e80c1f86eeceed12007e3335\",\"dweb:/ipfs/QmdPttMrnXm67uk8WcZz5mXXVQtcF8TidM7qHwjwNkZHYL\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 4,
"contract": "contracts/operators.sol:operators",
"label": "y",
"offset": 0,
"slot": "0",
"type": "t_int256"
},
{
"astId": 7,
"contract": "contracts/operators.sol:operators",
"label": "x",
"offset": 0,
"slot": "1",
"type": "t_uint256"
}
],
"types": {
"t_int256": {
"encoding": "inplace",
"label": "int256",
"numberOfBytes": "32"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contracts/operators.sol": {
"ast": {
"absolutePath": "contracts/operators.sol",
"exportedSymbols": {
"operators": [
52
]
},
"id": 53,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
">=",
"0.7",
".0",
"<",
"0.9",
".0"
],
"nodeType": "PragmaDirective",
"src": "33:33:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "operators",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 52,
"linearizedBaseContracts": [
52
],
"name": "operators",
"nameLocation": "79:9:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 4,
"mutability": "mutable",
"name": "y",
"nameLocation": "100:1:0",
"nodeType": "VariableDeclaration",
"scope": 52,
"src": "96:10:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 2,
"name": "int",
"nodeType": "ElementaryTypeName",
"src": "96:3:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"value": {
"hexValue": "3130",
"id": 3,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "104:2:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"visibility": "internal"
},
{
"constant": false,
"id": 7,
"mutability": "mutable",
"name": "x",
"nameLocation": "118:1:0",
"nodeType": "VariableDeclaration",
"scope": 52,
"src": "113:10:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 5,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "113:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": {
"hexValue": "37",
"id": 6,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "122:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_7_by_1",
"typeString": "int_const 7"
},
"value": "7"
},
"visibility": "internal"
},
{
"body": {
"id": 50,
"nodeType": "Block",
"src": "158:148:0",
"statements": [
{
"expression": {
"id": 14,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 10,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "169:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 13,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 11,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "173:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"hexValue": "37",
"id": 12,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "177:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_7_by_1",
"typeString": "int_const 7"
},
"value": "7"
},
"src": "173:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "169:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 15,
"nodeType": "ExpressionStatement",
"src": "169:9:0"
},
{
"expression": {
"id": 20,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 16,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "189:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 19,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 17,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "193:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "/",
"rightExpression": {
"hexValue": "37",
"id": 18,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "197:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_7_by_1",
"typeString": "int_const 7"
},
"value": "7"
},
"src": "193:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "189:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 21,
"nodeType": "ExpressionStatement",
"src": "189:9:0"
},
{
"expression": {
"id": 26,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 22,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "209:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 25,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 23,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "213:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"hexValue": "37",
"id": 24,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "217:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_7_by_1",
"typeString": "int_const 7"
},
"value": "7"
},
"src": "213:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "209:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 27,
"nodeType": "ExpressionStatement",
"src": "209:9:0"
},
{
"expression": {
"id": 32,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 28,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "229:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 31,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 29,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "233:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"hexValue": "37",
"id": 30,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "237:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_7_by_1",
"typeString": "int_const 7"
},
"value": "7"
},
"src": "233:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "229:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 33,
"nodeType": "ExpressionStatement",
"src": "229:9:0"
},
{
"expression": {
"id": 37,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 34,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "249:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 36,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "--",
"prefix": false,
"src": "253:4:0",
"subExpression": {
"id": 35,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "253:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "249:8:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 38,
"nodeType": "ExpressionStatement",
"src": "249:8:0"
},
{
"expression": {
"id": 42,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 39,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "269:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 41,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "273:4:0",
"subExpression": {
"id": 40,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "273:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "269:8:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 43,
"nodeType": "ExpressionStatement",
"src": "269:8:0"
},
{
"expression": {
"id": 48,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 44,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "289:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 47,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 45,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 7,
"src": "293:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "%",
"rightExpression": {
"hexValue": "37",
"id": 46,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "297:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_7_by_1",
"typeString": "int_const 7"
},
"value": "7"
},
"src": "293:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "289:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 49,
"nodeType": "ExpressionStatement",
"src": "289:9:0"
}
]
},
"functionSelector": "775fc127",
"id": 51,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "operation",
"nameLocation": "139:9:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 8,
"nodeType": "ParameterList",
"parameters": [],
"src": "148:2:0"
},
"returnParameters": {
"id": 9,
"nodeType": "ParameterList",
"parameters": [],
"src": "158:0:0"
},
"scope": 52,
"src": "130:176:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 53,
"src": "70:239:0",
"usedErrors": []
}
],
"src": "33:278:0"
},
"id": 0
}
}
}
}
{
"id": "9873ff377b686676861caaab3b4dd218",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.17",
"solcLongVersion": "0.8.17+commit.8df45f5f",
"input": {
"language": "Solidity",
"sources": {
"contracts/Counter.sol": {
"content": "// SPDX-License-Identifier: MIT\r\npragma solidity >= 0.7.0 < 0.9.0;\r\n\r\ncontract Counter {\r\n uint count;\r\n\r\n constructor() public {\r\n count = 0;\r\n }\r\n\r\n\r\n// visibility pub, internal.. declare fuction type view and what it returns\r\n function getCount() public view returns(uint) {\r\n return count;\r\n }\r\n// pay gas as we are writing to contract we are changing the val of the count inside contract\r\n function incrimentCount() public {\r\n count = count + 1;\r\n }\r\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"
]
}
}
}
},
"output": {
"contracts": {
"contracts/Counter.sol": {
"Counter": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "incrimentCount",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/Counter.sol\":70:499 contract Counter {... */\n mstore(0x40, 0x80)\n /* \"contracts/Counter.sol\":113:162 constructor() public {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"contracts/Counter.sol\":153:154 0 */\n 0x00\n /* \"contracts/Counter.sol\":145:150 count */\n dup1\n /* \"contracts/Counter.sol\":145:154 count = 0 */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/Counter.sol\":70:499 contract Counter {... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/Counter.sol\":70:499 contract Counter {... */\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 0xa87d942c\n eq\n tag_3\n jumpi\n dup1\n 0xff5d4e59\n eq\n tag_4\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/Counter.sol\":249:326 function getCount() public view returns(uint) {... */\n tag_3:\n tag_5\n tag_6\n jump\t// in\n tag_5:\n mload(0x40)\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/Counter.sol\":427:496 function incrimentCount() public {... */\n tag_4:\n tag_9\n tag_10\n jump\t// in\n tag_9:\n stop\n /* \"contracts/Counter.sol\":249:326 function getCount() public view returns(uint) {... */\n tag_6:\n /* \"contracts/Counter.sol\":289:293 uint */\n 0x00\n /* \"contracts/Counter.sol\":313:318 count */\n dup1\n sload\n /* \"contracts/Counter.sol\":306:318 return count */\n swap1\n pop\n /* \"contracts/Counter.sol\":249:326 function getCount() public view returns(uint) {... */\n swap1\n jump\t// out\n /* \"contracts/Counter.sol\":427:496 function incrimentCount() public {... */\n tag_10:\n /* \"contracts/Counter.sol\":487:488 1 */\n 0x01\n /* \"contracts/Counter.sol\":479:484 count */\n sload(0x00)\n /* \"contracts/Counter.sol\":479:488 count + 1 */\n tag_13\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n /* \"contracts/Counter.sol\":471:476 count */\n 0x00\n /* \"contracts/Counter.sol\":471:488 count = count + 1 */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/Counter.sol\":427:496 function incrimentCount() public {... */\n jump\t// out\n /* \"#utility.yul\":7:84 */\n tag_15:\n /* \"#utility.yul\":44:51 */\n 0x00\n /* \"#utility.yul\":73:78 */\n dup2\n /* \"#utility.yul\":62:78 */\n swap1\n pop\n /* \"#utility.yul\":7:84 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":90:208 */\n tag_16:\n /* \"#utility.yul\":177:201 */\n tag_21\n /* \"#utility.yul\":195:200 */\n dup2\n /* \"#utility.yul\":177:201 */\n tag_15\n jump\t// in\n tag_21:\n /* \"#utility.yul\":172:175 */\n dup3\n /* \"#utility.yul\":165:202 */\n mstore\n /* \"#utility.yul\":90:208 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":214:436 */\n tag_8:\n /* \"#utility.yul\":307:311 */\n 0x00\n /* \"#utility.yul\":345:347 */\n 0x20\n /* \"#utility.yul\":334:343 */\n dup3\n /* \"#utility.yul\":330:348 */\n add\n /* \"#utility.yul\":322:348 */\n swap1\n pop\n /* \"#utility.yul\":358:429 */\n tag_23\n /* \"#utility.yul\":426:427 */\n 0x00\n /* \"#utility.yul\":415:424 */\n dup4\n /* \"#utility.yul\":411:428 */\n add\n /* \"#utility.yul\":402:408 */\n dup5\n /* \"#utility.yul\":358:429 */\n tag_16\n jump\t// in\n tag_23:\n /* \"#utility.yul\":214:436 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":442:622 */\n tag_17:\n /* \"#utility.yul\":490:567 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":487:488 */\n 0x00\n /* \"#utility.yul\":480:568 */\n mstore\n /* \"#utility.yul\":587:591 */\n 0x11\n /* \"#utility.yul\":584:585 */\n 0x04\n /* \"#utility.yul\":577:592 */\n mstore\n /* \"#utility.yul\":611:615 */\n 0x24\n /* \"#utility.yul\":608:609 */\n 0x00\n /* \"#utility.yul\":601:616 */\n revert\n /* \"#utility.yul\":628:819 */\n tag_14:\n /* \"#utility.yul\":668:671 */\n 0x00\n /* \"#utility.yul\":687:707 */\n tag_26\n /* \"#utility.yul\":705:706 */\n dup3\n /* \"#utility.yul\":687:707 */\n tag_15\n jump\t// in\n tag_26:\n /* \"#utility.yul\":682:707 */\n swap2\n pop\n /* \"#utility.yul\":721:741 */\n tag_27\n /* \"#utility.yul\":739:740 */\n dup4\n /* \"#utility.yul\":721:741 */\n tag_15\n jump\t// in\n tag_27:\n /* \"#utility.yul\":716:741 */\n swap3\n pop\n /* \"#utility.yul\":764:765 */\n dup3\n /* \"#utility.yul\":761:762 */\n dup3\n /* \"#utility.yul\":757:766 */\n add\n /* \"#utility.yul\":750:766 */\n swap1\n pop\n /* \"#utility.yul\":785:788 */\n dup1\n /* \"#utility.yul\":782:783 */\n dup3\n /* \"#utility.yul\":779:789 */\n gt\n /* \"#utility.yul\":776:812 */\n iszero\n tag_28\n jumpi\n /* \"#utility.yul\":792:810 */\n tag_29\n tag_17\n jump\t// in\n tag_29:\n /* \"#utility.yul\":776:812 */\n tag_28:\n /* \"#utility.yul\":628:819 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220c735d7ef3aa436c387b7c48e7c777b8c4d4e7965e382e233cdc6c4378506170464736f6c63430008110033\n}\n",
"bytecode": {
"functionDebugData": {
"@_11": {
"entryPoint": null,
"id": 11,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5060008081905550610150806100276000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a87d942c1461003b578063ff5d4e5914610059575b600080fd5b610043610063565b604051610050919061009c565b60405180910390f35b61006161006c565b005b60008054905090565b600160005461007b91906100e6565b600081905550565b6000819050919050565b61009681610083565b82525050565b60006020820190506100b1600083018461008d565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100f182610083565b91506100fc83610083565b9250828201905080821115610114576101136100b7565b5b9291505056fea2646970667358221220c735d7ef3aa436c387b7c48e7c777b8c4d4e7965e382e233cdc6c4378506170464736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 DUP2 SWAP1 SSTORE POP PUSH2 0x150 DUP1 PUSH2 0x27 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 0xA87D942C EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xFF5D4E59 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x9C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x6C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SLOAD PUSH2 0x7B SWAP2 SWAP1 PUSH2 0xE6 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x96 DUP2 PUSH2 0x83 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x8D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF1 DUP3 PUSH2 0x83 JUMP JUMPDEST SWAP2 POP PUSH2 0xFC DUP4 PUSH2 0x83 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x114 JUMPI PUSH2 0x113 PUSH2 0xB7 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 CALLDATALOAD 0xD7 0xEF GASPRICE LOG4 CALLDATASIZE 0xC3 DUP8 0xB7 0xC4 DUP15 PUSH29 0x777B8C4D4E7965E382E233CDC6C4378506170464736F6C634300081100 CALLER ",
"sourceMap": "70:429:0:-:0;;;113:49;;;;;;;;;;153:1;145:5;:9;;;;70:429;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getCount_19": {
"entryPoint": 99,
"id": 19,
"parameterSlots": 0,
"returnSlots": 1
},
"@incrimentCount_29": {
"entryPoint": 108,
"id": 29,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 141,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 156,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 230,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 131,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 183,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:822:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "470:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "487:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "490:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "480:6:1"
},
"nodeType": "YulFunctionCall",
"src": "480:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "480:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "584:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "587:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "577:6:1"
},
"nodeType": "YulFunctionCall",
"src": "577:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "577:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "608:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "611:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "601:6:1"
},
"nodeType": "YulFunctionCall",
"src": "601:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "601:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "442:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "672:147:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "682:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "705:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "687:17:1"
},
"nodeType": "YulFunctionCall",
"src": "687:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "682:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "716:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "739:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "721:17:1"
},
"nodeType": "YulFunctionCall",
"src": "721:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "716:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "750:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "761:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "764:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "757:3:1"
},
"nodeType": "YulFunctionCall",
"src": "757:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "750:3:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "790:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "792:16:1"
},
"nodeType": "YulFunctionCall",
"src": "792:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "792:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "782:1:1"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "785:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "779:2:1"
},
"nodeType": "YulFunctionCall",
"src": "779:10:1"
},
"nodeType": "YulIf",
"src": "776:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "659:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "662:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "668:3:1",
"type": ""
}
],
"src": "628:191:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\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 function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063a87d942c1461003b578063ff5d4e5914610059575b600080fd5b610043610063565b604051610050919061009c565b60405180910390f35b61006161006c565b005b60008054905090565b600160005461007b91906100e6565b600081905550565b6000819050919050565b61009681610083565b82525050565b60006020820190506100b1600083018461008d565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100f182610083565b91506100fc83610083565b9250828201905080821115610114576101136100b7565b5b9291505056fea2646970667358221220c735d7ef3aa436c387b7c48e7c777b8c4d4e7965e382e233cdc6c4378506170464736f6c63430008110033",
"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 0xA87D942C EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xFF5D4E59 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x9C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x6C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SLOAD PUSH2 0x7B SWAP2 SWAP1 PUSH2 0xE6 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x96 DUP2 PUSH2 0x83 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x8D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF1 DUP3 PUSH2 0x83 JUMP JUMPDEST SWAP2 POP PUSH2 0xFC DUP4 PUSH2 0x83 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x114 JUMPI PUSH2 0x113 PUSH2 0xB7 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 CALLDATALOAD 0xD7 0xEF GASPRICE LOG4 CALLDATASIZE 0xC3 DUP8 0xB7 0xC4 DUP15 PUSH29 0x777B8C4D4E7965E382E233CDC6C4378506170464736F6C634300081100 CALLER ",
"sourceMap": "70:429:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;249:77;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;427:69;;;:::i;:::-;;249:77;289:4;313:5;;306:12;;249:77;:::o;427:69::-;487:1;479:5;;:9;;;;:::i;:::-;471:5;:17;;;;427:69::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:180::-;490:77;487:1;480:88;587:4;584:1;577:15;611:4;608:1;601:15;628:191;668:3;687:20;705:1;687:20;:::i;:::-;682:25;;721:20;739:1;721:20;:::i;:::-;716:25;;764:1;761;757:9;750:16;;785:3;782:1;779:10;776:36;;;792:18;;:::i;:::-;776:36;628:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "67200",
"executionCost": "5131",
"totalCost": "72331"
},
"external": {
"getCount()": "2415",
"incrimentCount()": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 70,
"end": 499,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 70,
"end": 499,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 70,
"end": 499,
"name": "MSTORE",
"source": 0
},
{
"begin": 113,
"end": 162,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 113,
"end": 162,
"name": "DUP1",
"source": 0
},
{
"begin": 113,
"end": 162,
"name": "ISZERO",
"source": 0
},
{
"begin": 113,
"end": 162,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 113,
"end": 162,
"name": "JUMPI",
"source": 0
},
{
"begin": 113,
"end": 162,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 113,
"end": 162,
"name": "DUP1",
"source": 0
},
{
"begin": 113,
"end": 162,
"name": "REVERT",
"source": 0
},
{
"begin": 113,
"end": 162,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 113,
"end": 162,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 113,
"end": 162,
"name": "POP",
"source": 0
},
{
"begin": 153,
"end": 154,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 145,
"end": 150,
"name": "DUP1",
"source": 0
},
{
"begin": 145,
"end": 154,
"name": "DUP2",
"source": 0
},
{
"begin": 145,
"end": 154,
"name": "SWAP1",
"source": 0
},
{
"begin": 145,
"end": 154,
"name": "SSTORE",
"source": 0
},
{
"begin": 145,
"end": 154,
"name": "POP",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 70,
"end": 499,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 70,
"end": 499,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 499,
"name": "CODECOPY",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 499,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220c735d7ef3aa436c387b7c48e7c777b8c4d4e7965e382e233cdc6c4378506170464736f6c63430008110033",
".code": [
{
"begin": 70,
"end": 499,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 70,
"end": 499,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 70,
"end": 499,
"name": "MSTORE",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "ISZERO",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 499,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 499,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "REVERT",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 499,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "POP",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 70,
"end": 499,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "LT",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 70,
"end": 499,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 499,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 70,
"end": 499,
"name": "SHR",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "PUSH",
"source": 0,
"value": "A87D942C"
},
{
"begin": 70,
"end": 499,
"name": "EQ",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 70,
"end": 499,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "PUSH",
"source": 0,
"value": "FF5D4E59"
},
{
"begin": 70,
"end": 499,
"name": "EQ",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 70,
"end": 499,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 70,
"end": 499,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 499,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 499,
"name": "REVERT",
"source": 0
},
{
"begin": 249,
"end": 326,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 249,
"end": 326,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 249,
"end": 326,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 249,
"end": 326,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 249,
"end": 326,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 249,
"end": 326,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 249,
"end": 326,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 249,
"end": 326,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 249,
"end": 326,
"name": "MLOAD",
"source": 0
},
{
"begin": 249,
"end": 326,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 249,
"end": 326,
"name": "SWAP2",
"source": 0
},
{
"begin": 249,
"end": 326,
"name": "SWAP1",
"source": 0
},
{
"begin": 249,
"end": 326,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 249,
"end": 326,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 249,
"end": 326,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 249,
"end": 326,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 249,
"end": 326,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 249,
"end": 326,
"name": "MLOAD",
"source": 0
},
{
"begin": 249,
"end": 326,
"name": "DUP1",
"source": 0
},
{
"begin": 249,
"end": 326,
"name": "SWAP2",
"source": 0
},
{
"begin": 249,
"end": 326,
"name": "SUB",
"source": 0
},
{
"begin": 249,
"end": 326,
"name": "SWAP1",
"source": 0
},
{
"begin": 249,
"end": 326,
"name": "RETURN",
"source": 0
},
{
"begin": 427,
"end": 496,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 427,
"end": 496,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 427,
"end": 496,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 427,
"end": 496,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 427,
"end": 496,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 427,
"end": 496,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 427,
"end": 496,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 427,
"end": 496,
"name": "STOP",
"source": 0
},
{
"begin": 249,
"end": 326,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 249,
"end": 326,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 289,
"end": 293,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 313,
"end": 318,
"name": "DUP1",
"source": 0
},
{
"begin": 313,
"end": 318,
"name": "SLOAD",
"source": 0
},
{
"begin": 306,
"end": 318,
"name": "SWAP1",
"source": 0
},
{
"begin": 306,
"end": 318,
"name": "POP",
"source": 0
},
{
"begin": 249,
"end": 326,
"name": "SWAP1",
"source": 0
},
{
"begin": 249,
"end": 326,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 427,
"end": 496,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 427,
"end": 496,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 487,
"end": 488,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 479,
"end": 484,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 479,
"end": 484,
"name": "SLOAD",
"source": 0
},
{
"begin": 479,
"end": 488,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 479,
"end": 488,
"name": "SWAP2",
"source": 0
},
{
"begin": 479,
"end": 488,
"name": "SWAP1",
"source": 0
},
{
"begin": 479,
"end": 488,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 479,
"end": 488,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 479,
"end": 488,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 479,
"end": 488,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 471,
"end": 476,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 471,
"end": 488,
"name": "DUP2",
"source": 0
},
{
"begin": 471,
"end": 488,
"name": "SWAP1",
"source": 0
},
{
"begin": 471,
"end": 488,
"name": "SSTORE",
"source": 0
},
{
"begin": 471,
"end": 488,
"name": "POP",
"source": 0
},
{
"begin": 427,
"end": 496,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 7,
"end": 84,
"name": "tag",
"source": 1,
"value": "15"
},
{
"begin": 7,
"end": 84,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 44,
"end": 51,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 73,
"end": 78,
"name": "DUP2",
"source": 1
},
{
"begin": 62,
"end": 78,
"name": "SWAP1",
"source": 1
},
{
"begin": 62,
"end": 78,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "SWAP1",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 84,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 90,
"end": 208,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 195,
"end": 200,
"name": "DUP2",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 177,
"end": 201,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 177,
"end": 201,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 172,
"end": 175,
"name": "DUP3",
"source": 1
},
{
"begin": 165,
"end": 202,
"name": "MSTORE",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "POP",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "POP",
"source": 1
},
{
"begin": 90,
"end": 208,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 214,
"end": 436,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 307,
"end": 311,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 345,
"end": 347,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 334,
"end": 343,
"name": "DUP3",
"source": 1
},
{
"begin": 330,
"end": 348,
"name": "ADD",
"source": 1
},
{
"begin": 322,
"end": 348,
"name": "SWAP1",
"source": 1
},
{
"begin": 322,
"end": 348,
"name": "POP",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 426,
"end": 427,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 415,
"end": 424,
"name": "DUP4",
"source": 1
},
{
"begin": 411,
"end": 428,
"name": "ADD",
"source": 1
},
{
"begin": 402,
"end": 408,
"name": "DUP5",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "PUSH [tag]",
"source": 1,
"value": "16"
},
{
"begin": 358,
"end": 429,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 358,
"end": 429,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "SWAP3",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "SWAP2",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "POP",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "POP",
"source": 1
},
{
"begin": 214,
"end": 436,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 442,
"end": 622,
"name": "tag",
"source": 1,
"value": "17"
},
{
"begin": 442,
"end": 622,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 490,
"end": 567,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 487,
"end": 488,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 480,
"end": 568,
"name": "MSTORE",
"source": 1
},
{
"begin": 587,
"end": 591,
"name": "PUSH",
"source": 1,
"value": "11"
},
{
"begin": 584,
"end": 585,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 577,
"end": 592,
"name": "MSTORE",
"source": 1
},
{
"begin": 611,
"end": 615,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 608,
"end": 609,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 601,
"end": 616,
"name": "REVERT",
"source": 1
},
{
"begin": 628,
"end": 819,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 628,
"end": 819,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 668,
"end": 671,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 687,
"end": 707,
"name": "PUSH [tag]",
"source": 1,
"value": "26"
},
{
"begin": 705,
"end": 706,
"name": "DUP3",
"source": 1
},
{
"begin": 687,
"end": 707,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 687,
"end": 707,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 687,
"end": 707,
"name": "tag",
"source": 1,
"value": "26"
},
{
"begin": 687,
"end": 707,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 682,
"end": 707,
"name": "SWAP2",
"source": 1
},
{
"begin": 682,
"end": 707,
"name": "POP",
"source": 1
},
{
"begin": 721,
"end": 741,
"name": "PUSH [tag]",
"source": 1,
"value": "27"
},
{
"begin": 739,
"end": 740,
"name": "DUP4",
"source": 1
},
{
"begin": 721,
"end": 741,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 721,
"end": 741,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 721,
"end": 741,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 721,
"end": 741,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 716,
"end": 741,
"name": "SWAP3",
"source": 1
},
{
"begin": 716,
"end": 741,
"name": "POP",
"source": 1
},
{
"begin": 764,
"end": 765,
"name": "DUP3",
"source": 1
},
{
"begin": 761,
"end": 762,
"name": "DUP3",
"source": 1
},
{
"begin": 757,
"end": 766,
"name": "ADD",
"source": 1
},
{
"begin": 750,
"end": 766,
"name": "SWAP1",
"source": 1
},
{
"begin": 750,
"end": 766,
"name": "POP",
"source": 1
},
{
"begin": 785,
"end": 788,
"name": "DUP1",
"source": 1
},
{
"begin": 782,
"end": 783,
"name": "DUP3",
"source": 1
},
{
"begin": 779,
"end": 789,
"name": "GT",
"source": 1
},
{
"begin": 776,
"end": 812,
"name": "ISZERO",
"source": 1
},
{
"begin": 776,
"end": 812,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 776,
"end": 812,
"name": "JUMPI",
"source": 1
},
{
"begin": 792,
"end": 810,
"name": "PUSH [tag]",
"source": 1,
"value": "29"
},
{
"begin": 792,
"end": 810,
"name": "PUSH [tag]",
"source": 1,
"value": "17"
},
{
"begin": 792,
"end": 810,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 792,
"end": 810,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 792,
"end": 810,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 776,
"end": 812,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 776,
"end": 812,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 628,
"end": 819,
"name": "SWAP3",
"source": 1
},
{
"begin": 628,
"end": 819,
"name": "SWAP2",
"source": 1
},
{
"begin": 628,
"end": 819,
"name": "POP",
"source": 1
},
{
"begin": 628,
"end": 819,
"name": "POP",
"source": 1
},
{
"begin": 628,
"end": 819,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
}
]
}
},
"sourceList": [
"contracts/Counter.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"getCount()": "a87d942c",
"incrimentCount()": "ff5d4e59"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"incrimentCount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Counter.sol\":\"Counter\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Counter.sol\":{\"keccak256\":\"0x4bfb418863d3db64629951e654c45062eb4a536e5b84a0e8697a991fd8317f91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b466274cd2d4928d22596ea2e59f9021b424255081692ecd76cf66104989232\",\"dweb:/ipfs/QmSbonhkdHc2GuSTK25TqKxsRGdLW3T7u9eAssYYhp3Tws\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "contracts/Counter.sol:Counter",
"label": "count",
"offset": 0,
"slot": "0",
"type": "t_uint256"
}
],
"types": {
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"errors": [
{
"component": "general",
"errorCode": "2462",
"formattedMessage": "Warning: Visibility for constructor is ignored. If you want the contract to be non-deployable, making it \"abstract\" is sufficient.\n --> contracts/Counter.sol:7:5:\n |\n7 | constructor() public {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n",
"message": "Visibility for constructor is ignored. If you want the contract to be non-deployable, making it \"abstract\" is sufficient.",
"severity": "warning",
"sourceLocation": {
"end": 162,
"file": "contracts/Counter.sol",
"start": 113
},
"type": "Warning"
}
],
"sources": {
"contracts/Counter.sol": {
"ast": {
"absolutePath": "contracts/Counter.sol",
"exportedSymbols": {
"Counter": [
30
]
},
"id": 31,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
">=",
"0.7",
".0",
"<",
"0.9",
".0"
],
"nodeType": "PragmaDirective",
"src": "33:33:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "Counter",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 30,
"linearizedBaseContracts": [
30
],
"name": "Counter",
"nameLocation": "79:7:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 3,
"mutability": "mutable",
"name": "count",
"nameLocation": "99:5:0",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "94:10:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "94:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"body": {
"id": 10,
"nodeType": "Block",
"src": "134:28:0",
"statements": [
{
"expression": {
"id": 8,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 6,
"name": "count",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "145:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"hexValue": "30",
"id": 7,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "153:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "145:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 9,
"nodeType": "ExpressionStatement",
"src": "145:9:0"
}
]
},
"id": 11,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4,
"nodeType": "ParameterList",
"parameters": [],
"src": "124:2:0"
},
"returnParameters": {
"id": 5,
"nodeType": "ParameterList",
"parameters": [],
"src": "134:0:0"
},
"scope": 30,
"src": "113:49:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 18,
"nodeType": "Block",
"src": "295:31:0",
"statements": [
{
"expression": {
"id": 16,
"name": "count",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "313:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 15,
"id": 17,
"nodeType": "Return",
"src": "306:12:0"
}
]
},
"functionSelector": "a87d942c",
"id": 19,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getCount",
"nameLocation": "258:8:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 12,
"nodeType": "ParameterList",
"parameters": [],
"src": "266:2:0"
},
"returnParameters": {
"id": 15,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 14,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 19,
"src": "289:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 13,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "289:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "288:6:0"
},
"scope": 30,
"src": "249:77:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 28,
"nodeType": "Block",
"src": "460:36:0",
"statements": [
{
"expression": {
"id": 26,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 22,
"name": "count",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "471:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 25,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 23,
"name": "count",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "479:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"hexValue": "31",
"id": 24,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "487:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"src": "479:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "471:17:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 27,
"nodeType": "ExpressionStatement",
"src": "471:17:0"
}
]
},
"functionSelector": "ff5d4e59",
"id": 29,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "incrimentCount",
"nameLocation": "436:14:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 20,
"nodeType": "ParameterList",
"parameters": [],
"src": "450:2:0"
},
"returnParameters": {
"id": 21,
"nodeType": "ParameterList",
"parameters": [],
"src": "460:0:0"
},
"scope": 30,
"src": "427:69:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 31,
"src": "70:429:0",
"usedErrors": []
}
],
"src": "33:466:0"
},
"id": 0
}
}
}
}
{
"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": {
"@_11": {
"entryPoint": null,
"id": 11,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5060008081905550610150806100276000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a87d942c1461003b578063ff5d4e5914610059575b600080fd5b610043610063565b604051610050919061009c565b60405180910390f35b61006161006c565b005b60008054905090565b600160005461007b91906100e6565b600081905550565b6000819050919050565b61009681610083565b82525050565b60006020820190506100b1600083018461008d565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100f182610083565b91506100fc83610083565b9250828201905080821115610114576101136100b7565b5b9291505056fea2646970667358221220c735d7ef3aa436c387b7c48e7c777b8c4d4e7965e382e233cdc6c4378506170464736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 DUP2 SWAP1 SSTORE POP PUSH2 0x150 DUP1 PUSH2 0x27 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 0xA87D942C EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xFF5D4E59 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x9C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x6C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SLOAD PUSH2 0x7B SWAP2 SWAP1 PUSH2 0xE6 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x96 DUP2 PUSH2 0x83 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x8D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF1 DUP3 PUSH2 0x83 JUMP JUMPDEST SWAP2 POP PUSH2 0xFC DUP4 PUSH2 0x83 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x114 JUMPI PUSH2 0x113 PUSH2 0xB7 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 CALLDATALOAD 0xD7 0xEF GASPRICE LOG4 CALLDATASIZE 0xC3 DUP8 0xB7 0xC4 DUP15 PUSH29 0x777B8C4D4E7965E382E233CDC6C4378506170464736F6C634300081100 CALLER ",
"sourceMap": "70:429:0:-:0;;;113:49;;;;;;;;;;153:1;145:5;:9;;;;70:429;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getCount_19": {
"entryPoint": 99,
"id": 19,
"parameterSlots": 0,
"returnSlots": 1
},
"@incrimentCount_29": {
"entryPoint": 108,
"id": 29,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 141,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 156,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 230,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 131,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 183,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:822:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "470:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "487:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "490:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "480:6:1"
},
"nodeType": "YulFunctionCall",
"src": "480:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "480:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "584:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "587:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "577:6:1"
},
"nodeType": "YulFunctionCall",
"src": "577:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "577:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "608:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "611:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "601:6:1"
},
"nodeType": "YulFunctionCall",
"src": "601:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "601:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "442:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "672:147:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "682:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "705:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "687:17:1"
},
"nodeType": "YulFunctionCall",
"src": "687:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "682:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "716:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "739:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "721:17:1"
},
"nodeType": "YulFunctionCall",
"src": "721:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "716:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "750:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "761:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "764:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "757:3:1"
},
"nodeType": "YulFunctionCall",
"src": "757:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "750:3:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "790:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "792:16:1"
},
"nodeType": "YulFunctionCall",
"src": "792:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "792:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "782:1:1"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "785:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "779:2:1"
},
"nodeType": "YulFunctionCall",
"src": "779:10:1"
},
"nodeType": "YulIf",
"src": "776:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "659:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "662:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "668:3:1",
"type": ""
}
],
"src": "628:191:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\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 function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063a87d942c1461003b578063ff5d4e5914610059575b600080fd5b610043610063565b604051610050919061009c565b60405180910390f35b61006161006c565b005b60008054905090565b600160005461007b91906100e6565b600081905550565b6000819050919050565b61009681610083565b82525050565b60006020820190506100b1600083018461008d565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100f182610083565b91506100fc83610083565b9250828201905080821115610114576101136100b7565b5b9291505056fea2646970667358221220c735d7ef3aa436c387b7c48e7c777b8c4d4e7965e382e233cdc6c4378506170464736f6c63430008110033",
"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 0xA87D942C EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xFF5D4E59 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x9C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x6C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SLOAD PUSH2 0x7B SWAP2 SWAP1 PUSH2 0xE6 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x96 DUP2 PUSH2 0x83 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x8D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF1 DUP3 PUSH2 0x83 JUMP JUMPDEST SWAP2 POP PUSH2 0xFC DUP4 PUSH2 0x83 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x114 JUMPI PUSH2 0x113 PUSH2 0xB7 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 CALLDATALOAD 0xD7 0xEF GASPRICE LOG4 CALLDATASIZE 0xC3 DUP8 0xB7 0xC4 DUP15 PUSH29 0x777B8C4D4E7965E382E233CDC6C4378506170464736F6C634300081100 CALLER ",
"sourceMap": "70:429:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;249:77;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;427:69;;;:::i;:::-;;249:77;289:4;313:5;;306:12;;249:77;:::o;427:69::-;487:1;479:5;;:9;;;;:::i;:::-;471:5;:17;;;;427:69::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:180::-;490:77;487:1;480:88;587:4;584:1;577:15;611:4;608:1;601:15;628:191;668:3;687:20;705:1;687:20;:::i;:::-;682:25;;721:20;739:1;721:20;:::i;:::-;716:25;;764:1;761;757:9;750:16;;785:3;782:1;779:10;776:36;;;792:18;;:::i;:::-;776:36;628:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "67200",
"executionCost": "5131",
"totalCost": "72331"
},
"external": {
"getCount()": "2415",
"incrimentCount()": "infinite"
}
},
"methodIdentifiers": {
"getCount()": "a87d942c",
"incrimentCount()": "ff5d4e59"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "incrimentCount",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.17+commit.8df45f5f"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "incrimentCount",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/Counter.sol": "Counter"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/Counter.sol": {
"keccak256": "0x4bfb418863d3db64629951e654c45062eb4a536e5b84a0e8697a991fd8317f91",
"license": "MIT",
"urls": [
"bzz-raw://9b466274cd2d4928d22596ea2e59f9021b424255081692ecd76cf66104989232",
"dweb:/ipfs/QmSbonhkdHc2GuSTK25TqKxsRGdLW3T7u9eAssYYhp3Tws"
]
}
},
"version": 1
}
{
"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": "608060405234801561001057600080fd5b50610150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80636057361d1461003b5780636d4ce63c14610057575b600080fd5b610055600480360381019061005091906100c3565b610075565b005b61005f61007f565b60405161006c91906100ff565b60405180910390f35b8060008190555050565b60008054905090565b600080fd5b6000819050919050565b6100a08161008d565b81146100ab57600080fd5b50565b6000813590506100bd81610097565b92915050565b6000602082840312156100d9576100d8610088565b5b60006100e7848285016100ae565b91505092915050565b6100f98161008d565b82525050565b600060208201905061011460008301846100f0565b9291505056fea2646970667358221220150f26c6dede0d22274f41227c3ec7a61a5c1b63f59c945b46f155daecb5dbcc64736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x150 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 0x6057361D EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x57 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xC3 JUMP JUMPDEST PUSH2 0x75 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5F PUSH2 0x7F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6C SWAP2 SWAP1 PUSH2 0xFF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA0 DUP2 PUSH2 0x8D JUMP JUMPDEST DUP2 EQ PUSH2 0xAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xBD DUP2 PUSH2 0x97 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD9 JUMPI PUSH2 0xD8 PUSH2 0x88 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE7 DUP5 DUP3 DUP6 ADD PUSH2 0xAE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF9 DUP2 PUSH2 0x8D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x114 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ISZERO 0xF 0x26 0xC6 0xDE 0xDE 0xD 0x22 0x27 0x4F COINBASE 0x22 PUSH29 0x3EC7A61A5C1B63F59C945B46F155DAECB5DBCC64736F6C634300081100 CALLER ",
"sourceMap": "70:204:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@get_21": {
"entryPoint": 127,
"id": 21,
"parameterSlots": 0,
"returnSlots": 1
},
"@store_13": {
"entryPoint": 117,
"id": 13,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 174,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 195,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 240,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 255,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 141,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 136,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 151,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1374: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": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1090:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1107:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1130:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1112:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1112:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1100:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1100:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1100:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1078:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1085:3:1",
"type": ""
}
],
"src": "1025:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1247:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1257:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1269:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1280:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1265:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1265:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1257:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1350:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1361:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1346:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1346:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1293:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1293:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1293:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1219:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1231:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1242:4:1",
"type": ""
}
],
"src": "1149: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_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": "608060405234801561001057600080fd5b50600436106100365760003560e01c80636057361d1461003b5780636d4ce63c14610057575b600080fd5b610055600480360381019061005091906100c3565b610075565b005b61005f61007f565b60405161006c91906100ff565b60405180910390f35b8060008190555050565b60008054905090565b600080fd5b6000819050919050565b6100a08161008d565b81146100ab57600080fd5b50565b6000813590506100bd81610097565b92915050565b6000602082840312156100d9576100d8610088565b5b60006100e7848285016100ae565b91505092915050565b6100f98161008d565b82525050565b600060208201905061011460008301846100f0565b9291505056fea2646970667358221220150f26c6dede0d22274f41227c3ec7a61a5c1b63f59c945b46f155daecb5dbcc64736f6c63430008110033",
"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 0x6057361D EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x57 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xC3 JUMP JUMPDEST PUSH2 0x75 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5F PUSH2 0x7F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6C SWAP2 SWAP1 PUSH2 0xFF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA0 DUP2 PUSH2 0x8D JUMP JUMPDEST DUP2 EQ PUSH2 0xAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xBD DUP2 PUSH2 0x97 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD9 JUMPI PUSH2 0xD8 PUSH2 0x88 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE7 DUP5 DUP3 DUP6 ADD PUSH2 0xAE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF9 DUP2 PUSH2 0x8D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x114 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ISZERO 0xF 0x26 0xC6 0xDE 0xDE 0xD 0x22 0x27 0x4F COINBASE 0x22 PUSH29 0x3EC7A61A5C1B63F59C945B46F155DAECB5DBCC64736F6C634300081100 CALLER ",
"sourceMap": "70:204:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;120:66;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;194:77;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;120:66;175:3;166:6;:12;;;;120:66;:::o;194:77::-;230:7;257:6;;250:13;;194:77;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:118::-;1112:24;1130:5;1112:24;:::i;:::-;1107:3;1100:37;1025:118;;:::o;1149:222::-;1242:4;1280:2;1269:9;1265:18;1257:26;;1293:71;1361:1;1350:9;1346:17;1337:6;1293:71;:::i;:::-;1149:222;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "67200",
"executionCost": "117",
"totalCost": "67317"
},
"external": {
"get()": "2437",
"store(uint256)": "22498"
}
},
"methodIdentifiers": {
"get()": "6d4ce63c",
"store(uint256)": "6057361d"
}
},
"abi": [
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.17+commit.8df45f5f"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/HelloWorld.sol": "HelloWorld"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/HelloWorld.sol": {
"keccak256": "0x0d3f0f1065d7db7115b7cb52b7fd963fc5f05a5d94715811bd9981775f1e86ca",
"license": "MIT",
"urls": [
"bzz-raw://686c42fb7ed603a521d53f545ed143a13a7422fab0bb3ae969f4871629b81516",
"dweb:/ipfs/QmVxr2Rd3J4fUKYHrcH8NQDA16gfQJJy2tyCmKvKLev4Mp"
]
}
},
"version": 1
}
{
"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": "6080604052600a600055600760015534801561001a57600080fd5b506102fa8061002a6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063775fc12714610030575b600080fd5b61003861003a565b005b60076001546100499190610118565b600181905550600760015461005e919061017b565b600181905550600760015461007391906101ac565b600181905550600760015461008891906101ee565b600181905550600160008154809291906100a190610222565b91905055600181905550600160008154809291906100be9061024b565b9190505560018190555060076001546100d79190610293565b600181905550565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610123826100df565b915061012e836100df565b9250828201905080821115610146576101456100e9565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610186826100df565b9150610191836100df565b9250826101a1576101a061014c565b5b828204905092915050565b60006101b7826100df565b91506101c2836100df565b92508282026101d0816100df565b915082820484148315176101e7576101e66100e9565b5b5092915050565b60006101f9826100df565b9150610204836100df565b925082820390508181111561021c5761021b6100e9565b5b92915050565b600061022d826100df565b9150600082036102405761023f6100e9565b5b600182039050919050565b6000610256826100df565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610288576102876100e9565b5b600182019050919050565b600061029e826100df565b91506102a9836100df565b9250826102b9576102b861014c565b5b82820690509291505056fea2646970667358221220973181ef92c19de7728f12845b0ce95a874a8a2283d16c01aac68f02de9eb5b264736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0xA PUSH1 0x0 SSTORE PUSH1 0x7 PUSH1 0x1 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x1A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2FA DUP1 PUSH2 0x2A 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 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x775FC127 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0x3A JUMP JUMPDEST STOP JUMPDEST PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0x49 SWAP2 SWAP1 PUSH2 0x118 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0x5E SWAP2 SWAP1 PUSH2 0x17B JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0x73 SWAP2 SWAP1 PUSH2 0x1AC JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0x88 SWAP2 SWAP1 PUSH2 0x1EE JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xA1 SWAP1 PUSH2 0x222 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xBE SWAP1 PUSH2 0x24B JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0xD7 SWAP2 SWAP1 PUSH2 0x293 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x123 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x12E DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x146 JUMPI PUSH2 0x145 PUSH2 0xE9 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x186 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x191 DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1A1 JUMPI PUSH2 0x1A0 PUSH2 0x14C JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B7 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x1C2 DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x1D0 DUP2 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x1E7 JUMPI PUSH2 0x1E6 PUSH2 0xE9 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F9 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x204 DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x21C JUMPI PUSH2 0x21B PUSH2 0xE9 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22D DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH1 0x0 DUP3 SUB PUSH2 0x240 JUMPI PUSH2 0x23F PUSH2 0xE9 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x256 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x288 JUMPI PUSH2 0x287 PUSH2 0xE9 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x29E DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x2A9 DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x2B9 JUMPI PUSH2 0x2B8 PUSH2 0x14C JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP8 BALANCE DUP2 0xEF SWAP3 0xC1 SWAP14 0xE7 PUSH19 0x8F12845B0CE95A874A8A2283D16C01AAC68F02 0xDE SWAP15 0xB5 0xB2 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ",
"sourceMap": "70:239:0:-:0;;;104:2;96:10;;122:1;113:10;;70:239;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@operation_51": {
"entryPoint": 58,
"id": 51,
"parameterSlots": 0,
"returnSlots": 0
},
"checked_add_t_uint256": {
"entryPoint": 280,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_div_t_uint256": {
"entryPoint": 379,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_mul_t_uint256": {
"entryPoint": 428,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 494,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 223,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"decrement_t_uint256": {
"entryPoint": 546,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 587,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mod_t_uint256": {
"entryPoint": 659,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 233,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x12": {
"entryPoint": 332,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2061:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "118:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "135:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "138:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "128:6:1"
},
"nodeType": "YulFunctionCall",
"src": "128:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "128:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "232:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "235:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "225:6:1"
},
"nodeType": "YulFunctionCall",
"src": "225:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "225:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "256:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "259:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "249:6:1"
},
"nodeType": "YulFunctionCall",
"src": "249:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "249:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "90:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "320:147:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "330:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "353:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "335:17:1"
},
"nodeType": "YulFunctionCall",
"src": "335:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "330:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "364:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "387:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "369:17:1"
},
"nodeType": "YulFunctionCall",
"src": "369:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "364:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "398:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "409:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "412:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "405:3:1"
},
"nodeType": "YulFunctionCall",
"src": "405:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "398:3:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "438:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "440:16:1"
},
"nodeType": "YulFunctionCall",
"src": "440:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "440:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "430:1:1"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "433:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "427:2:1"
},
"nodeType": "YulFunctionCall",
"src": "427:10:1"
},
"nodeType": "YulIf",
"src": "424:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "307:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "310:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "316:3:1",
"type": ""
}
],
"src": "276:191:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "501:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "518:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "521:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "511:6:1"
},
"nodeType": "YulFunctionCall",
"src": "511:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "511:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "615:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "618:4:1",
"type": "",
"value": "0x12"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "608:6:1"
},
"nodeType": "YulFunctionCall",
"src": "608:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "608:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "639:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "642:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "632:6:1"
},
"nodeType": "YulFunctionCall",
"src": "632:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "632:15:1"
}
]
},
"name": "panic_error_0x12",
"nodeType": "YulFunctionDefinition",
"src": "473:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "701:143:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "711:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "734:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "716:17:1"
},
"nodeType": "YulFunctionCall",
"src": "716:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "711:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "745:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "768:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "750:17:1"
},
"nodeType": "YulFunctionCall",
"src": "750:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "745:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "792:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x12",
"nodeType": "YulIdentifier",
"src": "794:16:1"
},
"nodeType": "YulFunctionCall",
"src": "794:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "794:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "789:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "782:6:1"
},
"nodeType": "YulFunctionCall",
"src": "782:9:1"
},
"nodeType": "YulIf",
"src": "779:35:1"
},
{
"nodeType": "YulAssignment",
"src": "824:14:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "833:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "836:1:1"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "829:3:1"
},
"nodeType": "YulFunctionCall",
"src": "829:9:1"
},
"variableNames": [
{
"name": "r",
"nodeType": "YulIdentifier",
"src": "824:1:1"
}
]
}
]
},
"name": "checked_div_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "690:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "693:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "r",
"nodeType": "YulTypedName",
"src": "699:1:1",
"type": ""
}
],
"src": "659:185:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "898:362:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "908:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "931:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "913:17:1"
},
"nodeType": "YulFunctionCall",
"src": "913:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "908:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "942:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "965:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "947:17:1"
},
"nodeType": "YulFunctionCall",
"src": "947:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "942:1:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "976:28:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "999:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1002:1:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "995:3:1"
},
"nodeType": "YulFunctionCall",
"src": "995:9:1"
},
"variables": [
{
"name": "product_raw",
"nodeType": "YulTypedName",
"src": "980:11:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1013:41:1",
"value": {
"arguments": [
{
"name": "product_raw",
"nodeType": "YulIdentifier",
"src": "1042:11:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1024:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1024:30:1"
},
"variableNames": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "1013:7:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1231:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1233:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1233:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1233:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1164:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1157:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1157:9:1"
},
{
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1187:1:1"
},
{
"arguments": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "1194:7:1"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1203:1:1"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1190:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1190:15:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1184:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1184:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "1137:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1137:83:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1117:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1117:113:1"
},
"nodeType": "YulIf",
"src": "1114:139:1"
}
]
},
"name": "checked_mul_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "881:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "884:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nodeType": "YulTypedName",
"src": "890:7:1",
"type": ""
}
],
"src": "850:410:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1311:149:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1321:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1344:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1326:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1326:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1321:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1355:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1378:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1360:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1360:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1355:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1389:17:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1401:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1404:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1397:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1397:9:1"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "1389:4:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1431:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1433:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1433:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1433:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "1422:4:1"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1428:1:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1419:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1419:11:1"
},
"nodeType": "YulIf",
"src": "1416:37:1"
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1297:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1300:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "1306:4:1",
"type": ""
}
],
"src": "1266:194:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1509:128:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1519:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1546:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1528:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1528:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1519:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1580:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1582:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1582:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1582:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1567:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1574:4:1",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1564:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1564:15:1"
},
"nodeType": "YulIf",
"src": "1561:41:1"
},
{
"nodeType": "YulAssignment",
"src": "1611:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1622:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1629:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1618:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1618:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1611:3:1"
}
]
}
]
},
"name": "decrement_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1495:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1505:3:1",
"type": ""
}
],
"src": "1466:171:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1686:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1696:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1723:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1705:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1705:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1696:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1819:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1821:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1821:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1821:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1744:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1751:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1741:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1741:77:1"
},
"nodeType": "YulIf",
"src": "1738:103:1"
},
{
"nodeType": "YulAssignment",
"src": "1850:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1861:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1868:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1857:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1857:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1850:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1672:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1682:3:1",
"type": ""
}
],
"src": "1643:233:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1916:142:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1926:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1949:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1931:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1931:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1926:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1960:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1983:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1965:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1965:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1960:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2007:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x12",
"nodeType": "YulIdentifier",
"src": "2009:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2009:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "2009:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2004:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1997:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1997:9:1"
},
"nodeType": "YulIf",
"src": "1994:35:1"
},
{
"nodeType": "YulAssignment",
"src": "2038:14:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2047:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2050:1:1"
}
],
"functionName": {
"name": "mod",
"nodeType": "YulIdentifier",
"src": "2043:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2043:9:1"
},
"variableNames": [
{
"name": "r",
"nodeType": "YulIdentifier",
"src": "2038:1:1"
}
]
}
]
},
"name": "mod_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1905:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1908:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "r",
"nodeType": "YulTypedName",
"src": "1914:1:1",
"type": ""
}
],
"src": "1882:176:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function decrement_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0x00) { panic_error_0x11() }\n ret := sub(value, 1)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function mod_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063775fc12714610030575b600080fd5b61003861003a565b005b60076001546100499190610118565b600181905550600760015461005e919061017b565b600181905550600760015461007391906101ac565b600181905550600760015461008891906101ee565b600181905550600160008154809291906100a190610222565b91905055600181905550600160008154809291906100be9061024b565b9190505560018190555060076001546100d79190610293565b600181905550565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610123826100df565b915061012e836100df565b9250828201905080821115610146576101456100e9565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610186826100df565b9150610191836100df565b9250826101a1576101a061014c565b5b828204905092915050565b60006101b7826100df565b91506101c2836100df565b92508282026101d0816100df565b915082820484148315176101e7576101e66100e9565b5b5092915050565b60006101f9826100df565b9150610204836100df565b925082820390508181111561021c5761021b6100e9565b5b92915050565b600061022d826100df565b9150600082036102405761023f6100e9565b5b600182039050919050565b6000610256826100df565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610288576102876100e9565b5b600182019050919050565b600061029e826100df565b91506102a9836100df565b9250826102b9576102b861014c565b5b82820690509291505056fea2646970667358221220973181ef92c19de7728f12845b0ce95a874a8a2283d16c01aac68f02de9eb5b264736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x775FC127 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0x3A JUMP JUMPDEST STOP JUMPDEST PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0x49 SWAP2 SWAP1 PUSH2 0x118 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0x5E SWAP2 SWAP1 PUSH2 0x17B JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0x73 SWAP2 SWAP1 PUSH2 0x1AC JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0x88 SWAP2 SWAP1 PUSH2 0x1EE JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xA1 SWAP1 PUSH2 0x222 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xBE SWAP1 PUSH2 0x24B JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x1 SLOAD PUSH2 0xD7 SWAP2 SWAP1 PUSH2 0x293 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x123 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x12E DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x146 JUMPI PUSH2 0x145 PUSH2 0xE9 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x186 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x191 DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1A1 JUMPI PUSH2 0x1A0 PUSH2 0x14C JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B7 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x1C2 DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x1D0 DUP2 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x1E7 JUMPI PUSH2 0x1E6 PUSH2 0xE9 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F9 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x204 DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x21C JUMPI PUSH2 0x21B PUSH2 0xE9 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22D DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH1 0x0 DUP3 SUB PUSH2 0x240 JUMPI PUSH2 0x23F PUSH2 0xE9 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x256 DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x288 JUMPI PUSH2 0x287 PUSH2 0xE9 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x29E DUP3 PUSH2 0xDF JUMP JUMPDEST SWAP2 POP PUSH2 0x2A9 DUP4 PUSH2 0xDF JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x2B9 JUMPI PUSH2 0x2B8 PUSH2 0x14C JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP8 BALANCE DUP2 0xEF SWAP3 0xC1 SWAP14 0xE7 PUSH19 0x8F12845B0CE95A874A8A2283D16C01AAC68F02 0xDE SWAP15 0xB5 0xB2 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ",
"sourceMap": "70:239:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;130:176;;;:::i;:::-;;;177:1;173;;:5;;;;:::i;:::-;169:1;:9;;;;197:1;193;;:5;;;;:::i;:::-;189:1;:9;;;;217:1;213;;:5;;;;:::i;:::-;209:1;:9;;;;237:1;233;;:5;;;;:::i;:::-;229:1;:9;;;;253:1;;:4;;;;;;;;;:::i;:::-;;;;;249:1;:8;;;;273:1;;:4;;;;;;;;;:::i;:::-;;;;;269:1;:8;;;;297:1;293;;:5;;;;:::i;:::-;289:1;:9;;;;130:176::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:180::-;138:77;135:1;128:88;235:4;232:1;225:15;259:4;256:1;249:15;276:191;316:3;335:20;353:1;335:20;:::i;:::-;330:25;;369:20;387:1;369:20;:::i;:::-;364:25;;412:1;409;405:9;398:16;;433:3;430:1;427:10;424:36;;;440:18;;:::i;:::-;424:36;276:191;;;;:::o;473:180::-;521:77;518:1;511:88;618:4;615:1;608:15;642:4;639:1;632:15;659:185;699:1;716:20;734:1;716:20;:::i;:::-;711:25;;750:20;768:1;750:20;:::i;:::-;745:25;;789:1;779:35;;794:18;;:::i;:::-;779:35;836:1;833;829:9;824:14;;659:185;;;;:::o;850:410::-;890:7;913:20;931:1;913:20;:::i;:::-;908:25;;947:20;965:1;947:20;:::i;:::-;942:25;;1002:1;999;995:9;1024:30;1042:11;1024:30;:::i;:::-;1013:41;;1203:1;1194:7;1190:15;1187:1;1184:22;1164:1;1157:9;1137:83;1114:139;;1233:18;;:::i;:::-;1114:139;898:362;850:410;;;;:::o;1266:194::-;1306:4;1326:20;1344:1;1326:20;:::i;:::-;1321:25;;1360:20;1378:1;1360:20;:::i;:::-;1355:25;;1404:1;1401;1397:9;1389:17;;1428:1;1422:4;1419:11;1416:37;;;1433:18;;:::i;:::-;1416:37;1266:194;;;;:::o;1466:171::-;1505:3;1528:24;1546:5;1528:24;:::i;:::-;1519:33;;1574:4;1567:5;1564:15;1561:41;;1582:18;;:::i;:::-;1561:41;1629:1;1622:5;1618:13;1611:20;;1466:171;;;:::o;1643:233::-;1682:3;1705:24;1723:5;1705:24;:::i;:::-;1696:33;;1751:66;1744:5;1741:77;1738:103;;1821:18;;:::i;:::-;1738:103;1868:1;1861:5;1857:13;1850:20;;1643:233;;;:::o;1882:176::-;1914:1;1931:20;1949:1;1931:20;:::i;:::-;1926:25;;1965:20;1983:1;1965:20;:::i;:::-;1960:25;;2004:1;1994:35;;2009:18;;:::i;:::-;1994:35;2050:1;2047;2043:9;2038:14;;1882:176;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "152400",
"executionCost": "44408",
"totalCost": "196808"
},
"external": {
"operation()": "infinite"
}
},
"methodIdentifiers": {
"operation()": "775fc127"
}
},
"abi": [
{
"inputs": [],
"name": "operation",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.17+commit.8df45f5f"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "operation",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/operators.sol": "operators"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/operators.sol": {
"keccak256": "0xd247f446d7a423115b73c7d9a12e010b879e321173e35a93f2ea430b63439d1b",
"license": "MIT",
"urls": [
"bzz-raw://a09b8a3e5944dd49c8332d772065f73ebb3dc516e80c1f86eeceed12007e3335",
"dweb:/ipfs/QmdPttMrnXm67uk8WcZz5mXXVQtcF8TidM7qHwjwNkZHYL"
]
}
},
"version": 1
}
{
"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": "608060405234801561001057600080fd5b5061020d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636057361d14610046578063931c9b9914610062578063d74bf20214610080575b600080fd5b610060600480360381019061005b9190610109565b61009e565b005b61006a6100bf565b6040516100779190610145565b60405180910390f35b6100886100c5565b6040516100959190610145565b60405180910390f35b806000819055506000808154809291906100b79061018f565b919050555050565b60005481565b60008054905090565b600080fd5b6000819050919050565b6100e6816100d3565b81146100f157600080fd5b50565b600081359050610103816100dd565b92915050565b60006020828403121561011f5761011e6100ce565b5b600061012d848285016100f4565b91505092915050565b61013f816100d3565b82525050565b600060208201905061015a6000830184610136565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061019a826100d3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036101cc576101cb610160565b5b60018201905091905056fea26469706673582212200c46542ebe2926ccc9ff05ed5904bec343fe17373dcee52b80206aa138d2728864736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20D 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 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6057361D EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x931C9B99 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0xD74BF202 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x109 JUMP JUMPDEST PUSH2 0x9E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0xBF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x145 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x88 PUSH2 0xC5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x145 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xB7 SWAP1 PUSH2 0x18F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE6 DUP2 PUSH2 0xD3 JUMP JUMPDEST DUP2 EQ PUSH2 0xF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x103 DUP2 PUSH2 0xDD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11F JUMPI PUSH2 0x11E PUSH2 0xCE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12D DUP5 DUP3 DUP6 ADD PUSH2 0xF4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13F DUP2 PUSH2 0xD3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x136 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x19A DUP3 PUSH2 0xD3 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1CC JUMPI PUSH2 0x1CB PUSH2 0x160 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC CHAINID SLOAD 0x2E 0xBE 0x29 0x26 0xCC 0xC9 SELFDESTRUCT SDIV 0xED MSIZE DIV 0xBE 0xC3 NUMBER INVALID OR CALLDATACOPY RETURNDATASIZE 0xCE 0xE5 0x2B DUP1 KECCAK256 PUSH11 0xA138D2728864736F6C6343 STOP ADDMOD GT STOP CALLER ",
"sourceMap": "60:274:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getSomeNumber_24": {
"entryPoint": 197,
"id": 24,
"parameterSlots": 0,
"returnSlots": 1
},
"@someNumber_3": {
"entryPoint": 191,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@store_16": {
"entryPoint": 158,
"id": 16,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 244,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 265,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 310,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 325,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 211,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 399,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 352,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 206,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 221,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1799: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": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1090:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1107:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1130:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1112:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1112:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1100:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1100:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1100:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1078:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1085:3:1",
"type": ""
}
],
"src": "1025:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1247:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1257:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1269:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1280:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1265:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1265:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1257:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1350:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1361:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1346:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1346:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1293:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1293:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1293:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1219:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1231:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1242:4:1",
"type": ""
}
],
"src": "1149:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1405:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1422:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1425:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1415:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1415:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1415:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1519:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1522:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1512:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1512:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1512:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1543:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1546:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1536:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1536:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1536:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "1377:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1606:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1616:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1643:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1625:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1625:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1616:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1739:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1741:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1741:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1741:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1664:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1671:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1661:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1661:77:1"
},
"nodeType": "YulIf",
"src": "1658:103:1"
},
{
"nodeType": "YulAssignment",
"src": "1770:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1781:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1788:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1777:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1777:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1770:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1592:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1602:3:1",
"type": ""
}
],
"src": "1563:233: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_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 function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c80636057361d14610046578063931c9b9914610062578063d74bf20214610080575b600080fd5b610060600480360381019061005b9190610109565b61009e565b005b61006a6100bf565b6040516100779190610145565b60405180910390f35b6100886100c5565b6040516100959190610145565b60405180910390f35b806000819055506000808154809291906100b79061018f565b919050555050565b60005481565b60008054905090565b600080fd5b6000819050919050565b6100e6816100d3565b81146100f157600080fd5b50565b600081359050610103816100dd565b92915050565b60006020828403121561011f5761011e6100ce565b5b600061012d848285016100f4565b91505092915050565b61013f816100d3565b82525050565b600060208201905061015a6000830184610136565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061019a826100d3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036101cc576101cb610160565b5b60018201905091905056fea26469706673582212200c46542ebe2926ccc9ff05ed5904bec343fe17373dcee52b80206aa138d2728864736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6057361D EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x931C9B99 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0xD74BF202 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x109 JUMP JUMPDEST PUSH2 0x9E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0xBF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x145 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x88 PUSH2 0xC5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x145 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xB7 SWAP1 PUSH2 0x18F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE6 DUP2 PUSH2 0xD3 JUMP JUMPDEST DUP2 EQ PUSH2 0xF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x103 DUP2 PUSH2 0xDD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11F JUMPI PUSH2 0x11E PUSH2 0xCE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12D DUP5 DUP3 DUP6 ADD PUSH2 0xF4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13F DUP2 PUSH2 0xD3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x136 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x19A DUP3 PUSH2 0xD3 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1CC JUMPI PUSH2 0x1CB PUSH2 0x160 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC CHAINID SLOAD 0x2E 0xBE 0x29 0x26 0xCC 0xC9 SELFDESTRUCT SDIV 0xED MSIZE DIV 0xBE 0xC3 NUMBER INVALID OR CALLDATACOPY RETURNDATASIZE 0xCE 0xE5 0x2B DUP1 KECCAK256 PUSH11 0xA138D2728864736F6C6343 STOP ADDMOD GT STOP CALLER ",
"sourceMap": "60:274:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;124:109;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;90:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;241:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;124:109;191:11;178:10;:24;;;;213:10;;:12;;;;;;;;;:::i;:::-;;;;;;124:109;:::o;90:25::-;;;;:::o;241:90::-;286:7;313:10;;306:17;;241:90;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:118::-;1112:24;1130:5;1112:24;:::i;:::-;1107:3;1100:37;1025:118;;:::o;1149:222::-;1242:4;1280:2;1269:9;1265:18;1257:26;;1293:71;1361:1;1350:9;1346:17;1337:6;1293:71;:::i;:::-;1149:222;;;;:::o;1377:180::-;1425:77;1422:1;1415:88;1522:4;1519:1;1512:15;1546:4;1543:1;1536:15;1563:233;1602:3;1625:24;1643:5;1625:24;:::i;:::-;1616:33;;1671:66;1664:5;1661:77;1658:103;;1741:18;;:::i;:::-;1658:103;1788:1;1781:5;1777:13;1770:20;;1563:233;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "105000",
"executionCost": "153",
"totalCost": "105153"
},
"external": {
"getSomeNumber()": "2459",
"someNumber()": "2429",
"store(uint256)": "infinite"
}
},
"methodIdentifiers": {
"getSomeNumber()": "d74bf202",
"someNumber()": "931c9b99",
"store(uint256)": "6057361d"
}
},
"abi": [
{
"inputs": [],
"name": "getSomeNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "someNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_someNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.17+commit.8df45f5f"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "getSomeNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "someNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_someNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/SimpleStorage1.sol": "SimpleStorage"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/SimpleStorage1.sol": {
"keccak256": "0x3b99bfea27c8269eeddd18a806a143def5e585ce46d78e21ee3cf661e7b1ac06",
"license": "MIT",
"urls": [
"bzz-raw://bca5a2cc66dc49852d224e66c0726e3dbab6e09c70c68556ddf8ad2645bc948b",
"dweb:/ipfs/QmXaQzJXfMeMuQ1D8utrvjh97ebAq8aeaKDtCajtgVrq39"
]
}
},
"version": 1
}
// SPDX-License-Identifier: MIT
pragma solidity >= 0.7.0 < 0.9.0;
contract Counter {
uint count;
constructor() public {
count = 0;
}
// visibility pub, internal.. declare fuction type view and what it returns
function getCount() public view returns(uint) {
return count;
}
// pay gas as we are writing to contract we are changing the val of the count inside contract
function incrimentCount() public {
count = count + 1;
}
}
// SPDX-License-Identifier: MIT
pragma solidity >= 0.7.0 < 0.9.0;
contract Counter {
uint public count = 0;
// pay gas as we are writing to contract we are changing the val of the count inside contract
function incrimentCount() public {
count++;
}
}
// SPDX-License-Identifier: MIT
pragma solidity >= 0.4.22 <= 0.8.17;
contract DataTypes {
uint8 public smallNumber = 9;
int8 public negativeNumber = -7;
address public zeroAddress;
bool public canEditMe = true;
}
// SPDX-License-Identifier: MIT
pragma solidity >= 0.7.0 < 0.9.0;
contract HelloWorld {
uint256 number;
function store(uint256 num) public {
number = num;
}
function get() public view returns (uint256) {
return number;
}
}
// SPDX-License-Identifier: MIT
pragma solidity >= 0.7.0 < 0.9.0;
contract MyContract {
// state variables
int256 public MyInt = 1;
uint myUint = 1;
string public myString = "some string";
}
// SPDX-License-Identifier: MIT
pragma solidity >= 0.7.0 < 0.9.0;
contract operators {
int y = 10;
uint x = 7;
function operation() public {
x = x + 7;
x = x / 7;
x = x * 7;
x = x - 7;
x = x -- ;
x = x ++ ;
x = x % 7;
}
}
{
"accounts": {
"account{0}": "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4"
},
"linkReferences": {},
"transactions": [
{
"timestamp": 1676095350729,
"record": {
"value": "0",
"inputs": "()",
"parameters": [],
"name": "",
"type": "constructor",
"abi": "0x9f4b4b98eb695f75ad957b2da73c00730c6c5f8fe436c90b39c7c2f2a260b2b0",
"contractName": "SimpleStorage",
"bytecode": "608060405234801561001057600080fd5b5060e38061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80636057361d14602d575b600080fd5b60436004803603810190603f91906085565b6045565b005b8060008190555050565b600080fd5b6000819050919050565b6065816054565b8114606f57600080fd5b50565b600081359050607f81605e565b92915050565b6000602082840312156098576097604f565b5b600060a4848285016072565b9150509291505056fea2646970667358221220dac523593533f393f42e739cada8199e213194b348b707348da4344ef076aff764736f6c63430008110033",
"linkReferences": {},
"from": "account{0}"
}
},
{
"timestamp": 1676095388807,
"record": {
"value": "0",
"inputs": "()",
"parameters": [],
"name": "",
"type": "constructor",
"abi": "0x9f4b4b98eb695f75ad957b2da73c00730c6c5f8fe436c90b39c7c2f2a260b2b0",
"contractName": "SimpleStorage",
"bytecode": "608060405234801561001057600080fd5b5060e38061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80636057361d14602d575b600080fd5b60436004803603810190603f91906085565b6045565b005b8060008190555050565b600080fd5b6000819050919050565b6065816054565b8114606f57600080fd5b50565b600081359050607f81605e565b92915050565b6000602082840312156098576097604f565b5b600060a4848285016072565b9150509291505056fea2646970667358221220dac523593533f393f42e739cada8199e213194b348b707348da4344ef076aff764736f6c63430008110033",
"linkReferences": {},
"from": "account{0}"
}
},
{
"timestamp": 1676095421004,
"record": {
"value": "0",
"inputs": "(uint256)",
"parameters": [
"111"
],
"name": "store",
"type": "function",
"to": "created{1676095350729}",
"abi": "0x9f4b4b98eb695f75ad957b2da73c00730c6c5f8fe436c90b39c7c2f2a260b2b0",
"from": "account{0}"
}
},
{
"timestamp": 1676095492654,
"record": {
"value": "0",
"inputs": "()",
"parameters": [],
"name": "",
"type": "constructor",
"abi": "0x9f4b4b98eb695f75ad957b2da73c00730c6c5f8fe436c90b39c7c2f2a260b2b0",
"contractName": "SimpleStorage",
"bytecode": "608060405234801561001057600080fd5b5060e38061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80636057361d14602d575b600080fd5b60436004803603810190603f91906085565b6045565b005b8060008190555050565b600080fd5b6000819050919050565b6065816054565b8114606f57600080fd5b50565b600081359050607f81605e565b92915050565b6000602082840312156098576097604f565b5b600060a4848285016072565b9150509291505056fea2646970667358221220dac523593533f393f42e739cada8199e213194b348b707348da4344ef076aff764736f6c63430008110033",
"linkReferences": {},
"from": "account{0}"
}
},
{
"timestamp": 1676095494820,
"record": {
"value": "0",
"inputs": "(uint256)",
"parameters": [
"111"
],
"name": "store",
"type": "function",
"to": "created{1676095350729}",
"abi": "0x9f4b4b98eb695f75ad957b2da73c00730c6c5f8fe436c90b39c7c2f2a260b2b0",
"from": "account{0}"
}
},
{
"timestamp": 1676095500438,
"record": {
"value": "0",
"inputs": "(uint256)",
"parameters": [
"111"
],
"name": "store",
"type": "function",
"to": "created{1676095350729}",
"abi": "0x9f4b4b98eb695f75ad957b2da73c00730c6c5f8fe436c90b39c7c2f2a260b2b0",
"from": "account{0}"
}
},
{
"timestamp": 1676095533945,
"record": {
"value": "0",
"inputs": "()",
"parameters": [],
"name": "",
"type": "constructor",
"abi": "0x3aab2b58ca1e1259b905a6c308e206faf866a32af3725cd9aa422305adcd6159",
"contractName": "SimpleStorage",
"bytecode": "608060405234801561001057600080fd5b50610133806100206000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80636057361d146037578063931c9b9914604f575b600080fd5b604d60048036038101906049919060af565b6069565b005b60556073565b6040516060919060e4565b60405180910390f35b8060008190555050565b60005481565b600080fd5b6000819050919050565b608f81607e565b8114609957600080fd5b50565b60008135905060a9816088565b92915050565b60006020828403121560c25760c16079565b5b600060ce84828501609c565b91505092915050565b60de81607e565b82525050565b600060208201905060f7600083018460d7565b9291505056fea2646970667358221220f0c7dc846462099fa361630a99e12bf378b0a085b486dedc4925e7aa560f262b64736f6c63430008110033",
"linkReferences": {},
"from": "account{0}"
}
}
],
"abis": {
"0x9f4b4b98eb695f75ad957b2da73c00730c6c5f8fe436c90b39c7c2f2a260b2b0": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_someNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"0x3aab2b58ca1e1259b905a6c308e206faf866a32af3725cd9aa422305adcd6159": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_someNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "someNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
contract SimpleStorage {
uint256 public someNumber;
function store(uint256 _someNumber) public {
someNumber = _someNumber;
someNumber++;
}
function getSomeNumber() public view returns(uint256) {
return someNumber;
}
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
contract SimpleStorage {
uint256 public someNumber;
function store(uint256 _someNumber) public {
someNumber = _someNumber;
someNumber++;
}
function getSomeNumber() public view returns(uint256) {
return someNumber;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment